/* Helpers for the public pages that are built in Elementor (layout itself lives in the widgets). */

.mr-el-page {
	display: block;
}

.mrx-mr-mobile-only {
	display: none;
}

@media (max-width: 640px) {
	.mrx-mr-desktop-only {
		display: none;
	}

	.mrx-mr-mobile-only {
		display: inline;
	}
}

.mr-el .elementor-widget-text-editor p {
	margin: 0;
}

.mr-el .elementor-widget-text-editor p + p {
	margin-top: 1em;
}

/* Elementor's native "Fade In Up" entrance, softened to the site's own reveal motion. */
.mr-el .elementor-element.animated.fadeInUp {
	animation-name: mr-el-rise;
	animation-duration: 0.6s;
	animation-timing-function: var(--mr-ease, cubic-bezier(0.22, 1, 0.36, 1));
}

@keyframes mr-el-rise {
	from {
		opacity: 0;
		transform: translateY(16px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mr-el .elementor-element.animated {
		animation: none !important;
	}

	.mr-el .elementor-invisible {
		visibility: visible;
	}
}

/* Recipe library shortcode: the Elementor widget carries the outer spacing. */
.mr-el .mr-rx-library > :first-child {
	margin-block-start: 0;
}

.mr-el .mr-rx-library > :last-child {
	margin-block-end: 0;
}

/* Invite card shortcodes: the widget carries the outer spacing. */
.mr-el .mr-el-invite > .mr-ob__card {
	margin-block: 0;
}

/* Hover states that reach into a child (the converter only carries an element's own :hover). */
.mr-el .mrx-mr-quiet__icon {
	transition: background-color 0.25s var(--mr-ease, ease);
}

.mr-el .mrx-mr-quiet__card:hover .mrx-mr-quiet__icon {
	background-color: var(--mr-sage-soft) !important;
}
