/**
 * Alovia — estilos complementarios.
 * Los tokens (colores, fuentes, tamaños, espaciado, sombras, radios) viven en theme.json.
 * Acá va solo lo que theme.json no cubre. Mobile first.
 *
 * 01. Base y accesibilidad
 * 02. Layout de secciones
 * 03. Header sticky y navegación
 * 04. Botones
 * 05. Etiquetas y encabezados de sección
 * 06. Hero
 * 07. Grillas y tarjetas
 * 08. Problema y Para quién
 * 09. Ficha técnica (tabla)
 * 10. Proceso
 * 11. Galería
 * 12. Preguntas frecuentes (acordeón)
 * 13. Lista de espera + MailPoet
 * 14. Footer
 * 15. Páginas internas
 * 16. Movimiento reducido
 */

/* 01. Base y accesibilidad ------------------------------------------------ */
html {
	scroll-padding-top: calc(var(--wp--custom--header-height) + 1rem);
}
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
:where(.wp-site-blocks) > * { margin-block-start: 0; }
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }
::selection { background: var(--wp--preset--color--niebla); color: var(--wp--preset--color--petroleo); }

a:where(:not(.wp-element-button)) {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	transition: text-decoration-color var(--wp--custom--transition), color var(--wp--custom--transition);
}
a:where(:not(.wp-element-button)):hover { text-decoration-color: var(--wp--preset--color--durazno); }

:focus-visible {
	outline: 2px solid var(--wp--preset--color--petroleo);
	outline-offset: 3px;
	border-radius: 6px;
}
.has-petroleo-background-color :focus-visible { outline-color: var(--wp--preset--color--marfil); }

/* 02. Layout de secciones ------------------------------------------------- */
body .alovia-main > * { margin-block: 0; }
.alovia-section {
	padding-block: var(--wp--preset--spacing--70);
	padding-inline: var(--wp--preset--spacing--40);
}
@media (min-width: 782px) {
	.alovia-section { padding-block: var(--wp--preset--spacing--80); }
}
.is-layout-constrained > .alovia-prose,
.alovia-prose { max-width: 760px; }

/* 03. Header sticky y navegación ------------------------------------------ */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; }
}
.alovia-header {
	padding-inline: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--marfil);
	background: color-mix(in srgb, var(--wp--preset--color--marfil) 92%, transparent);
	-webkit-backdrop-filter: saturate(1.2) blur(12px);
	backdrop-filter: saturate(1.2) blur(12px);
	border-bottom: 1px solid rgba(36, 74, 77, 0.08);
}
.alovia-header__bar { min-height: var(--wp--custom--header-height); gap: 1rem; }
.alovia-header__actions { gap: 0.75rem; }
@media (min-width: 782px) {
	.alovia-header__actions { gap: 2rem; }
}
.alovia-brand { gap: 0.5rem; }
.alovia-logo img { height: 28px; width: auto; }
/* Logo: el tema trae los SVG oficiales (assets/logo). Si se carga un Logo del sitio en el header, reemplaza al del tema. */
.wp-block-site-logo + .alovia-wordmark { display: none; }
.alovia-wordmark { margin: 0; line-height: 0; }
.alovia-wordmark a { display: inline-block; }
.alovia-wordmark img { height: 30px; width: auto; border-radius: 0; }
.alovia-footer .alovia-wordmark img { height: 36px; }

.alovia-nav a { text-decoration: none; }
.alovia-nav .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--durazno);
	text-underline-offset: 0.35em;
}
.alovia-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--40);
}
.alovia-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: var(--wp--preset--font-size--x-large);
	padding-block: 0.5rem;
}

/* 04. Botones ------------------------------------------------------------- */
.wp-block-button__link {
	transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition),
		box-shadow var(--wp--custom--transition), transform var(--wp--custom--transition), border-color var(--wp--custom--transition);
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	box-shadow: var(--wp--preset--shadow--elevada);
	transform: translateY(-1px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--petroleo);
	color: var(--wp--preset--color--marfil);
}
.alovia-buttons { gap: 0.75rem; margin-top: var(--wp--preset--spacing--40); }
.alovia-buttons--center { justify-content: center; }
.alovia-header__cta .wp-block-button__link {
	padding: 0.625rem 1.125rem;
	font-size: var(--wp--preset--font-size--small);
}
@media (max-width: 781px) {
	.alovia-buttons { flex-direction: column; align-items: stretch; }
	.alovia-buttons > .wp-block-button,
	.alovia-buttons .wp-block-button__link { width: 100%; }
}

/* 05. Etiquetas y encabezados de sección ---------------------------------- */
.alovia-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.alovia-eyebrow::before {
	content: "";
	width: 28px;
	height: 1.5px;
	background: var(--wp--preset--color--durazno);
	flex: none;
}
.alovia-section-head { margin-bottom: var(--wp--preset--spacing--50); }
.alovia-section-head > * { max-width: 760px; }
.alovia-section-head > * + * { margin-block-start: 1rem; }
.alovia-section-head h2 { margin: 0; }
.alovia-lead { max-width: 36em; }

/* 06. Hero ---------------------------------------------------------------- */
.alovia-hero { padding-top: var(--wp--preset--spacing--50); }
.alovia-hero__cols { gap: var(--wp--preset--spacing--50); }
.alovia-pill {
	display: inline-block;
	margin: 0;
	padding: 0.375rem 0.875rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--petroleo);
	color: var(--wp--preset--color--marfil);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.3;
}
.alovia-pill__key { background: none; color: var(--wp--preset--color--durazno); }
body .alovia-hero__title {
	margin-block: 1rem 0;
	font-size: clamp(2.125rem, 3.5vw, 2.875rem);
	line-height: 1.08;
}
.alovia-form-note { margin-top: 0.75rem; font-size: var(--wp--preset--font-size--small); }
.alovia-hero__img { margin: 0; }
.alovia-hero__img img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
}
.alovia-hero__media { position: relative; }
.alovia-hero__media > .alovia-hero__video { margin-block-start: 0 !important; }
.alovia-hero__video > summary {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	max-width: calc(100% - 2rem);
	padding: 0.7rem 1rem;
	border: 1px solid rgba(36, 74, 77, 0.15);
	border-radius: var(--wp--custom--radius--pill);
	background: rgba(246, 243, 236, 0.96);
	color: var(--wp--preset--color--petroleo);
	box-shadow: 0 4px 18px rgba(36, 74, 77, 0.12);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
}
.alovia-hero__video > summary::marker { content: ""; }
.alovia-hero__video > summary::-webkit-details-marker { display: none; }
.alovia-hero__video > summary:focus-visible { outline: 3px solid var(--wp--preset--color--durazno); outline-offset: 3px; }
.alovia-hero__video > summary span { font-size: 0.8rem; }
.alovia-hero__video video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	margin-top: 0.75rem;
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--petroleo);
}
.alovia-mobile-only { display: none !important; }
.alovia-hero .alovia-col-55 > .alovia-hero__media { margin-top: 1.25rem; }
@media (max-width: 781px) {
	.alovia-desktop-only { display: none !important; }
	.alovia-mobile-only { display: block !important; }
	.alovia-hero__img img { aspect-ratio: 1 / 1; }
}
@media (min-width: 782px) {
	body .wp-block-columns > .wp-block-column.alovia-col-55 { flex: 55 1 0; }
	body .wp-block-columns > .wp-block-column.alovia-col-45 { flex: 45 1 0; }
	body .wp-block-columns > .wp-block-column.alovia-col-33 { flex: 1 1 0; }
	body .alovia-hero__cols > .wp-block-column.alovia-col-55 { flex: 60 1 0; }
	body .alovia-hero__cols > .wp-block-column.alovia-col-45 { flex: 40 1 0; }
	.alovia-hero__title .alovia-line { display: block; text-wrap: balance; }
	body .wp-block-columns > .wp-block-column.alovia-col-67 { flex: 2 1 0; }
}

/* 07. Grillas y tarjetas -------------------------------------------------- */
.alovia-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
}
body .alovia-grid > * { margin-block: 0; }
@media (min-width: 600px) {
	.alovia-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 782px) {
	.alovia-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.alovia-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.alovia-cmp__media { margin: 0 0 clamp(1.5rem, 5vw, 3rem); }
.alovia-cmp__media img { width: 100%; aspect-ratio: 16 / 9; max-height: 460px; object-fit: cover; border-radius: 24px; display: block; }
.alovia-cmp__media figcaption { margin: 0.75rem 0 0; font-family: var(--wp--preset--font-family--figtree, Figtree, system-ui, sans-serif); font-size: 13px; line-height: 1.4; color: rgba(36, 74, 77, 0.7); }
@media (max-width: 781px) { .alovia-cmp__media img { aspect-ratio: 1 / 1; max-height: none; } }
.alovia-cmp { border-top: 1px solid rgba(36, 74, 77, 0.2); }
.alovia-cmp__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem clamp(1.5rem, 5vw, 4rem);
	align-items: start;
	padding: 1.5rem 0;
	border-bottom: 1px solid rgba(36, 74, 77, 0.2);
}
.alovia-cmp__row p { margin: 0; font-size: 1.0625rem; line-height: 1.5; }
body .alovia-cmp__label {
	display: flex;
	gap: 0.5rem;
	margin: 0 0 0.625rem;
	font-family: var(--wp--preset--font-family--figtree, Figtree, system-ui, sans-serif);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--wp--preset--color--petroleo);
}
body .alovia-cmp__label--hoy { color: rgba(36, 74, 77, 0.6); }
.alovia-cmp__arrow { display: none; }
.alovia-cmp__check {
	display: flex;
	gap: 0.875rem;
	align-items: flex-start;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	cursor: pointer;
	color: var(--wp--preset--color--petroleo);
	font: inherit;
	font-size: 1.0625rem;
	line-height: 1.5;
}
.alovia-cmp__box {
	flex: none;
	position: relative;
	width: 24px;
	height: 24px;
	margin-top: 1px;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--petroleo);
	border-radius: 6px;
	background: var(--wp--preset--color--marfil);
	transition: background 0.15s ease;
}
.alovia-cmp__box::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 3px;
	width: 6px;
	height: 11px;
	border-right: 2px solid var(--wp--preset--color--marfil);
	border-bottom: 2px solid var(--wp--preset--color--marfil);
	transform: rotate(45deg);
	opacity: 0;
}
.alovia-cmp__check[aria-checked="true"] .alovia-cmp__box { background: var(--wp--preset--color--petroleo); }
.alovia-cmp__check[aria-checked="true"] .alovia-cmp__box::after { opacity: 1; }
.alovia-cmp__check:focus { outline: none; }
.alovia-cmp__check:focus-visible .alovia-cmp__box { box-shadow: 0 0 0 3px var(--wp--preset--color--durazno); }
body .alovia-cmp__verdict {
	margin: clamp(1.5rem, 4vw, 2rem) 0 0;
	font-family: var(--wp--preset--font-family--newsreader, Newsreader, Georgia, serif);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.2;
	letter-spacing: -0.02em;
}
.alovia-cmp__test {
	max-width: 720px;
	margin-top: 1.5rem;
	padding: 1.25rem 1.5rem;
	background: var(--wp--preset--color--marfil);
	border: 1px solid var(--wp--preset--color--niebla);
	border-radius: 16px;
}
.alovia-cmp__test p { margin: 0; }
.alovia-cmp__buttons { margin-top: 1.5rem; }
.alovia-point__how { font-size: 1rem; line-height: 1.5; }
.alovia-point__how strong { font-weight: 600; color: var(--wp--preset--color--petroleo); }
@media (min-width: 1080px) {
	.alovia-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.alovia-card {
	padding: clamp(1.5rem, 3vw, 2rem);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--suave);
	transition: box-shadow var(--wp--custom--transition), transform var(--wp--custom--transition);
}
.alovia-card:hover { box-shadow: var(--wp--preset--shadow--elevada); transform: translateY(-2px); }
.alovia-card > * { margin-block: 0; }
.alovia-card > * + * { margin-block-start: 0.75rem; }
.alovia-card h3 { font-size: var(--wp--preset--font-size--x-large); }
.alovia-icon { margin: 0 0 1rem; }
.alovia-icon img { width: 32px; height: 32px; border-radius: 0; }
.alovia-card p,
.alovia-who p,
.alovia-proceso .alovia-point p:not(.alovia-num) { font-size: 1rem; line-height: 1.5; }
.alovia-card h3 { font-weight: 500; }

/* 08. Problema y Para quién ----------------------------------------------- */
.alovia-point,
.alovia-who {
	padding-top: 1.25rem;
	border-top: 1.5px solid var(--wp--preset--color--durazno);
}
.alovia-point > *, .alovia-who > * { margin-block: 0; }
.alovia-point > * + *, .alovia-who > * + * { margin-block-start: 0.625rem; }
/* Numeración compartida por Problema y Proceso */
.alovia-num {
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 400;
	line-height: 1;
	color: var(--wp--preset--color--petroleo);
}

/* 09. Ficha técnica (tabla) ----------------------------------------------- */
.alovia-specs-wrap { margin-top: var(--wp--preset--spacing--60); gap: var(--wp--preset--spacing--50); }
.alovia-specs__img { margin: 0; }
.alovia-specs__img img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
}
.alovia-specs__title { margin-bottom: 1rem; }
.wp-block-table.alovia-specs { margin: 0; overflow-x: visible; }
.wp-block-table.alovia-specs table { width: 100%; border-collapse: collapse; }
.wp-block-table.alovia-specs td {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--niebla);
	padding: 1rem 0;
	vertical-align: top;
}
.wp-block-table.alovia-specs tr:first-child td { border-top: 1px solid var(--wp--preset--color--niebla); }
.wp-block-table.alovia-specs td:first-child { font-weight: 600; }
@media (max-width: 599px) {
	.wp-block-table.alovia-specs td { display: block; }
	.wp-block-table.alovia-specs td:first-child { border-bottom: 0; padding-bottom: 0.25rem; }
	.wp-block-table.alovia-specs tr:first-child td:last-child { border-top: 0; }
	.wp-block-table.alovia-specs td:last-child { padding-top: 0; }
}
@media (min-width: 600px) {
	.wp-block-table.alovia-specs td:first-child { width: 35%; padding-right: 2rem; }
	.wp-block-table.alovia-specs td:last-child { width: 65%; }
}

/* 10. Proceso ------------------------------------------------------------- */
.alovia-proceso { background: var(--wp--preset--color--marfil); border-top: 1px solid var(--wp--preset--color--niebla); }
.alovia-proceso .alovia-buttons { margin-top: var(--wp--preset--spacing--50); }

/* 11. Galería (fila deslizable) + ficha desplegable ---------------------- */
.alovia-gallery {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	padding-bottom: 0.75rem;
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--niebla) transparent;
}
body .alovia-gallery > * { margin: 0; flex: none; scroll-snap-align: start; max-width: 85%; }
.alovia-gallery img {
	display: block;
	height: clamp(240px, 70vw, 360px);
	width: auto;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
}
.alovia-gallery__item--wide img { aspect-ratio: 2 / 1; }
.alovia-specs-toggle { margin-top: clamp(1.25rem, 4vw, 2rem); max-width: 760px; border-top: 1px solid var(--wp--preset--color--niebla); }
.alovia-specs-toggle .wp-block-table.alovia-specs { margin-bottom: 1rem; }

/* Línea de pasos (debajo de Compromiso) */
body .alovia-trust__steps { margin: clamp(1.25rem, 4vw, 2rem) 0 0; font-family: var(--wp--preset--font-family--figtree); font-size: 15px; line-height: 1.5; }

/* 12. Preguntas frecuentes (acordeón) ------------------------------------- */
.alovia-faq-cols { gap: var(--wp--preset--spacing--50); }
.alovia-faq-cols .alovia-col-33 > * { margin-block: 0; }
.alovia-faq-cols .alovia-col-33 > * + * { margin-block-start: 1rem; }
body .alovia-faq > * { margin-block: 0; }
.alovia-faq__item { border-bottom: 1px solid var(--wp--preset--color--niebla); }
.alovia-faq__item:first-child { border-top: 1px solid var(--wp--preset--color--niebla); }
.alovia-faq__item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.375rem 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	line-height: 1.3;
}
.alovia-faq__item > summary::-webkit-details-marker { display: none; }
.alovia-faq__item > summary::after {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	margin-right: 4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
	transition: transform var(--wp--custom--transition);
}
.alovia-faq__item[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.alovia-faq__item > summary:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--durazno);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}
.alovia-faq__item > p { margin: 0 0 1.375rem; max-width: 64ch; }

/* 13. Formularios (hero y lista de espera) + MailPoet --------------------- */
.alovia-form { text-align: left; }
.alovia-form form { margin: 0; }
.alovia-form__placeholder {
	margin: 0;
	padding: 1.25rem 1.5rem;
	border: 1.5px dashed rgba(36, 74, 77, 0.35);
	border-radius: var(--wp--custom--radius--md);
	text-align: center;
	font-size: var(--wp--preset--font-size--small);
}
.alovia-form label { font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.alovia-form input[type="email"],
.alovia-form input[type="text"],
.alovia-form input[type="tel"] {
	width: 100% !important;
	min-height: 52px;
	padding: 0.875rem 1.25rem !important;
	border: 1px solid rgba(36, 74, 77, 0.28) !important;
	border-radius: var(--wp--custom--radius--pill) !important;
	background: var(--wp--preset--color--blanco) !important;
	color: var(--wp--preset--color--petroleo) !important;
	font-family: var(--wp--preset--font-family--figtree) !important;
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: 400 !important;
}
.alovia-form input::placeholder { color: rgba(36, 74, 77, 0.7); }
.alovia-form input[type="email"]:focus,
.alovia-form input[type="text"]:focus,
.alovia-form input[type="tel"]:focus {
	outline: none;
	border-color: var(--wp--preset--color--petroleo) !important;
	box-shadow: 0 0 0 3px var(--wp--preset--color--durazno);
}
.alovia-form input.parsley-error { border: 2px solid #A4482E !important; }
.alovia-form .parsley-errors-list { display: block; margin: 0.5rem 0 0 1.25rem; padding: 0; list-style: none; }
.alovia-form .parsley-errors-list > * { display: block; font-size: 0.9375rem; font-weight: 600; color: #A4482E !important; }
.alovia-form .mailpoet_message { margin-top: 0.75rem; }
.alovia-form .mailpoet_validate_success { font-weight: 600; color: inherit !important; }
.alovia-form .mailpoet_validate_error { color: #A4482E !important; }
.alovia-form-note a { text-underline-offset: 0.2em; }
.alovia-card__link { font-size: 0.9375rem; }
.alovia-card__link a { text-decoration-color: var(--wp--preset--color--durazno); text-decoration-thickness: 1.5px; text-underline-offset: 0.25em; }
.alovia-form input[type="submit"],
.alovia-form button[type="submit"] {
	width: 100% !important;
	min-height: 52px;
	padding: 1rem 1.75rem !important;
	border: 0 !important;
	border-radius: var(--wp--custom--radius--pill) !important;
	background: var(--wp--preset--color--petroleo) !important;
	color: var(--wp--preset--color--marfil) !important;
	font-family: var(--wp--preset--font-family--figtree) !important;
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	cursor: pointer;
	transition: box-shadow var(--wp--custom--transition);
}
.alovia-form input[type="submit"]:hover,
.alovia-form button[type="submit"]:hover { box-shadow: var(--wp--preset--shadow--elevada); }

/* Hero: ancho del formulario */
.alovia-form--hero { margin-top: var(--wp--preset--spacing--40); max-width: 520px; }
.alovia-textlink { margin-top: 1.25rem; font-weight: 600; }
.alovia-textlink a {
	text-decoration-color: var(--wp--preset--color--durazno);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.3em;
}
.alovia-textlink a:hover { text-decoration-color: currentColor; }

/* Lista de espera (fondo petróleo) */
.alovia-waitlist__inner { max-width: 720px; text-align: center; }
.alovia-waitlist__inner > * + * { margin-block-start: 1.25rem; }
.alovia-waitlist .alovia-lead { margin-inline: auto; }
.alovia-waitlist__title { margin-block-start: 1.25rem; }
.alovia-waitlist .alovia-eyebrow { justify-content: center; }
.alovia-waitlist a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--marfil); }
.alovia-waitlist .alovia-form {
	margin-block: var(--wp--preset--spacing--40) 0;
	padding: clamp(1.25rem, 4vw, 2rem);
	border: 1px solid rgba(246, 243, 236, 0.22);
	border-radius: var(--wp--custom--radius--lg);
	background: rgba(246, 243, 236, 0.06);
}
.alovia-waitlist .alovia-form__placeholder { border-color: rgba(246, 243, 236, 0.5); }
.alovia-waitlist .alovia-form label,
.alovia-waitlist .mailpoet_message p { color: var(--wp--preset--color--marfil) !important; }
.alovia-waitlist .alovia-form input[type="email"],
.alovia-waitlist .alovia-form input[type="text"],
.alovia-waitlist .alovia-form input[type="tel"] { border-color: transparent !important; background: var(--wp--preset--color--marfil) !important; }
.alovia-waitlist .alovia-form input[type="submit"],
.alovia-waitlist .alovia-form button[type="submit"] { background: var(--wp--preset--color--marfil) !important; color: var(--wp--preset--color--petroleo) !important; }
.alovia-waitlist .alovia-form input[type="submit"]:hover,
.alovia-waitlist .alovia-form button[type="submit"]:hover { box-shadow: 0 0 0 3px var(--wp--preset--color--durazno); }
.alovia-microcopy { font-size: var(--wp--preset--font-size--small); }
.alovia-waitlist .alovia-form-note { text-align: center; }
.alovia-waitlist .alovia-form-note a { color: var(--wp--preset--color--marfil); }
.alovia-waitlist .alovia-form input.parsley-error { border-color: var(--wp--preset--color--durazno) !important; }
.alovia-waitlist .alovia-form .parsley-errors-list > *,
.alovia-waitlist .alovia-form .mailpoet_validate_error { color: var(--wp--preset--color--durazno) !important; }
.alovia-gracias__card { max-width: 640px; margin-inline: auto; text-align: center; }
body .alovia-gracias__title { font-size: clamp(2rem, 4vw, 2.75rem); }
.alovia-gracias__buttons { justify-content: center; }
.alovia-small-link { font-size: var(--wp--preset--font-size--small); }
.alovia-small-link a { text-underline-offset: 0.25em; }

/* 14. Footer -------------------------------------------------------------- */
.alovia-footer {
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	border-top: 1px solid rgba(246, 243, 236, 0.14);
}
.alovia-footer a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--marfil); text-decoration: none; }
.alovia-footer a:where(:not(.wp-element-button)):hover,
.alovia-footer a:where(:not(.wp-element-button)):focus-visible {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--durazno);
}
.alovia-footer__tagline {
	margin-top: 1rem;
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--durazno);
}
.alovia-footer__links > * { margin-block: 0; }
.alovia-footer__links > * + * { margin-block-start: 0.5rem; }
@media (min-width: 782px) {
	.alovia-footer__links { text-align: right; }
}
.alovia-footer__bottom {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: 1.5rem;
	border-top: 1px solid rgba(246, 243, 236, 0.14);
	font-size: var(--wp--preset--font-size--small);
	gap: 0.5rem 2rem;
}
.alovia-footer__bottom > * { margin: 0; }

/* 15. Páginas internas ---------------------------------------------------- */
.alovia-page { min-height: 50vh; }
.alovia-404 .alovia-eyebrow { margin-bottom: 1rem; }

/* 16. Mobile (390 px) ---------------------------------------------------- */
.alovia-mbar { display: none; transition: transform 0.25s ease, opacity 0.25s ease; }
.alovia-mbar.is-off { transform: translateY(110%); opacity: 0; pointer-events: none; }
.alovia-lead__short { display: none; }
.alovia-card h3 { text-wrap: wrap; }
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.alovia-faq__item > summary { min-height: 48px; box-sizing: border-box; }
@media (max-width: 600px) {
	body { line-height: 1.5; }
	.alovia-header { padding-inline: 1.25rem; }
	.alovia-header__bar { min-height: 60px; }
	.alovia-nav__detalles,
	.alovia-para-quien,
	.alovia-specs__img,
	.alovia-proceso .alovia-buttons { display: none !important; }
	.alovia-specs-wrap > .alovia-col-45 { display: none; }
	.alovia-lead__long { display: none; }
	.alovia-lead__short { display: inline; }
	.alovia-point h3,
	.alovia-who h3 { font-size: 1.375rem; }
	.alovia-cmp__row { grid-template-columns: minmax(0, 1fr); }
	.alovia-cmp__arrow { display: inline; }
	.alovia-section { padding-block: 2.625rem; padding-inline: 1.25rem; }
	.alovia-waitlist { padding-block: 3rem; }
	.alovia-hero { padding-top: 1.25rem; }
	body .alovia-hero__title { font-size: 2.125rem; }
	.alovia-hero .alovia-lead { margin-top: 1rem; font-size: var(--wp--preset--font-size--medium) !important; }
	.alovia-form--hero { margin-top: 1.5rem; }
	.alovia-form input[type="email"],
	.alovia-form input[type="text"],
	.alovia-form input[type="tel"] { font-size: 16px !important; }
	.alovia-card {
		display: grid;
		grid-template-columns: 32px minmax(0, 1fr);
		column-gap: 1rem;
		align-items: start;
		padding: 1.25rem;
	}
	.alovia-card > .alovia-icon { grid-row: span 2; margin: 0; }
	.alovia-card > h3 { margin: 0; }
	.alovia-card > * + p { margin-block-start: 0.375rem; }
	.alovia-gallery > :nth-child(4) { grid-column: auto; }
	.alovia-gallery > :nth-child(4) img { aspect-ratio: 1 / 1; }
	.alovia-footer { padding-bottom: 6.5rem; }
	.alovia-footer__cols { flex-direction: column; }
	.alovia-footer__links { text-align: left; }
	.alovia-mbar {
		display: block;
		position: fixed;
		inset: auto 0 0 0;
		z-index: 90;
		margin: 0 !important;
		padding: 0.75rem 1.25rem calc(0.75rem + env(safe-area-inset-bottom));
		background: color-mix(in srgb, var(--wp--preset--color--marfil) 94%, transparent);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		border-top: 1px solid rgba(36, 74, 77, 0.1);
	}
	.alovia-mbar .wp-block-button__link { width: 100%; min-height: 52px; }
}

/* 17. Movimiento reducido ------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.alovia-card:hover,
	.wp-block-button__link:hover { transform: none !important; }
}

.alovia-cmp__media--post { max-width: 460px; }
.alovia-cmp__media--post img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; max-height: none; }

.alovia-cmp__game {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	margin: 0 0 1.25rem;
}
body .alovia-cmp__game-title {
	flex: 1 1 320px;
	min-width: 0;
	margin: 0;
	font-family: var(--wp--preset--font-family--newsreader, Newsreader, Georgia, serif);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--petroleo);
}
body .alovia-cmp__count {
	flex: none;
	margin: 0;
	font-family: var(--wp--preset--font-family--figtree, Figtree, system-ui, sans-serif);
	font-weight: 600;
	font-size: 14px;
	color: rgba(36, 74, 77, 0.7);
}
body .alovia-cmp__verdict { font-size: 22px; line-height: 1.25; color: var(--wp--preset--color--petroleo); }
.alovia-cmp__result {
	max-width: 720px;
	margin-top: clamp(1.5rem, 4vw, 2rem);
	padding: clamp(1.25rem, 4vw, 1.75rem);
	background: var(--wp--preset--color--marfil);
	border: 1px solid var(--wp--preset--color--niebla);
	border-radius: 16px;
	color: var(--wp--preset--color--petroleo);
}
.alovia-cmp__result > * { margin: 0; }
body .alovia-cmp__result .alovia-cmp__verdict { margin: 0; }
.alovia-cmp__verdict-d { margin-top: 0.5rem !important; }
.alovia-cmp__result .alovia-cmp__buttons { margin-top: 1.25rem !important; }
.alovia-cmp__key {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--durazno);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}
@keyframes aloviaPop {
	0% { opacity: 0; transform: translateY(12px) scale(0.96); }
	60% { opacity: 1; transform: translateY(0) scale(1.03); }
	100% { opacity: 1; transform: none; }
}
.alovia-cmp__buttons.is-pop .wp-block-button { animation: aloviaPop 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
@media (prefers-reduced-motion: reduce) {
	.alovia-cmp__buttons.is-pop .wp-block-button { animation: none; }
}
@media (max-width: 600px) {
	.alovia-cmp__game { flex-direction: column; align-items: flex-start; }
	body .alovia-cmp__game-title { font-size: 20px; flex-basis: auto; }
}

@media (max-width: 600px) {
	.alovia-header__actions { gap: 1rem; }
	.alovia-nav .wp-block-navigation-item__content { font-size: 0.875rem; min-height: 44px; display: inline-flex; align-items: center; }
	.alovia-header__cta .wp-block-button__link { min-height: 40px; padding: 0.5rem 0.875rem; font-size: 0.875rem; }
}

/* MailPoet: ocultar del todo los campos UTM y ajustar ancho */
.alovia-form .mailpoet_paragraph:has(input[title*="utm_"]),
.alovia-form .mailpoet_paragraph:has(input[placeholder*="utm_"]),
.alovia-form .mailpoet_paragraph:has(input[data-title*="utm_"]),
.alovia-form .mailpoet_paragraph:has(input[aria-label*="utm_"]),
.alovia-form .mailpoet_paragraph.alovia-utm {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.alovia-form .mailpoet_form,
.alovia-form form.mailpoet_form { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
.alovia-form .mailpoet_form form,
.alovia-form form.mailpoet_form { display: flex; flex-direction: column; gap: 0.75rem; }
.alovia-form .mailpoet_paragraph { width: 100% !important; max-width: none !important; margin: 0 !important; }
.alovia-form .mailpoet_paragraph input,
.alovia-form .mailpoet_paragraph .mailpoet_submit { width: 100% !important; max-width: none !important; box-sizing: border-box; }
.alovia-form form.mailpoet_form > .mailpoet_paragraph { flex: 0 0 auto; }
/* MailPoet oculta el honeypot, pero el párrafo que lo envuelve conserva margen. */
.alovia-form form.mailpoet_form > p:has(.mailpoet_hp_email_label) { display: none !important; }
.alovia-form .mailpoet_form_loading,
.alovia-form .mailpoet_message:empty,
.alovia-form .mailpoet_validate_success[style*="none"],
.alovia-form .mailpoet_validate_error[style*="none"] { display: none !important; }

/* Email y botón juntos donde entran; sin usar 240px como altura del campo. */
@media (min-width: 600px) {
	.alovia-form--hero form.mailpoet_form {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 0.5rem;
	}
	.alovia-form--hero form.mailpoet_form > .mailpoet_paragraph {
		flex: 0 0 auto;
		width: auto !important;
	}
	.alovia-form--hero form.mailpoet_form > .mailpoet_paragraph:has(input[type="email"]) { flex: 1 1 240px; }
	.alovia-form--hero form.mailpoet_form > .mailpoet_paragraph input[type="submit"] { width: auto !important; }
	.alovia-form--hero form.mailpoet_form > .mailpoet_message { flex: 0 0 100%; }
}

@media (max-width: 600px) {
	.alovia-card > .alovia-icon { grid-row: span 3; }
	.alovia-card > .alovia-card__link { grid-column: 2; margin-block-start: 0.5rem; }
}
.alovia-card__link a { white-space: normal; word-break: normal; }

/* MailPoet: quitar bloques vacíos, espaciadores y el campo anti-spam que dejan hueco */
.alovia-form .mailpoet_hp_email_label,
.alovia-form .mailpoet_spacer,
.alovia-form .mailpoet_form_image,
.alovia-form .mailpoet_form_paragraph:empty,
.alovia-form .mailpoet_paragraph:empty,
.alovia-form .mailpoet_form br,
.alovia-form .mailpoet_form > p:empty,
.alovia-form .mailpoet_paragraph:not(:has(input:not([type="hidden"]), textarea, select, button, .mailpoet_submit, label, .mailpoet_message)) {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.alovia-form .mailpoet_form,
.alovia-form .mailpoet_form form,
.alovia-form .mailpoet_form_columns,
.alovia-form .mailpoet_form_column {
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	background: none !important;
	border: 0 !important;
}
.alovia-form .mailpoet_form_columns { display: block !important; }
.alovia-form .mailpoet_form_column { width: 100% !important; flex: none !important; }
