/*
 * AdventureApp Tours — detalles que theme.json no alcanza a decir.
 * Colores y tipografías salen de las variables de theme.json (--wp--preset--*):
 * si Medardo cambia la paleta en Apariencia → Editor → Estilos, todo esto la sigue.
 */

/* ── Encabezado fijo ───────────────────────────────────────────────────────
 * El <header> completo es sticky con un "top" negativo igual a la franja
 * superior: al bajar, la franja (dólar, WhatsApp, idioma) se va y la barra con
 * logo, menú y "Reservar" se queda pegada arriba. Para quitarlo, en el editor
 * se borra la clase "aat-cabecera" del grupo del encabezado.
 */
header.wp-block-template-part:has(.aat-cabecera) {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--aat-franja, 44px));
	z-index: 900;
}
.aat-cabecera > * { margin-block: 0 !important; }
/* Sin alto mínimo: la franja mide lo que mide su contenido y el script del pie
 * copia esa altura a --aat-franja (si la franja dependiera de la variable, la
 * medida solo podría crecer y dejaría una raya blanca debajo). */
.aat-franja { box-sizing: border-box; }
.aat-franja > .wp-block-group { min-height: 26px; align-items: center; }
.aat-franja p { margin: 0; }
/* La barra de anuncios ocupa el espacio libre de la franja (lado izquierdo). */
.aat-franja > .wp-block-group > .wp-block-group:has(.aa-anuncios) { flex: 1 1 auto; min-width: 0; margin-right: 1.25rem; }
.aat-franja > .wp-block-group > .wp-block-group:last-child { flex: none; white-space: nowrap; }
.aat-franja a { text-decoration: none; font-weight: 600; }
.aat-franja a:hover { text-decoration: underline; }
.aat-sello-oficial { opacity: .85; letter-spacing: .01em; }
.aat-franja .aa-tc { background: rgba(255, 255, 255, .1); color: inherit; }
.aat-barra { position: relative; }
/* Una "Animación" en capa decorativa nada por detrás del menú, sin taparlo. */
.aat-barra > .wp-block-group { position: relative; z-index: 1; }
.aat-barra .aa-anim--capa { z-index: 0; bottom: 2px; }
.aat-barra { box-shadow: 0 1px 0 var(--wp--preset--color--linea), 0 10px 30px -24px rgba(10, 31, 51, .45); }
.aat-logo img { height: auto; max-height: 54px; width: auto; }
.aat-barra .wp-block-navigation a { padding: .35rem 0; position: relative; }
.aat-barra .wp-block-navigation .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px;
	background: var(--wp--preset--color--sol); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.aat-barra .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.aat-barra .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.aat-barra .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--linea) !important; border-radius: 14px; padding: .4rem !important;
	box-shadow: 0 18px 40px -20px rgba(10, 31, 51, .35); min-width: 220px !important;
}
.aat-barra .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem .8rem !important; border-radius: 9px; }
.aat-barra .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--espuma); }
.aat-barra .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }

/* En celular la barra de administrador NO es fija: no se descuenta. */
@media (max-width: 600px) {
	header.wp-block-template-part:has(.aat-cabecera) { top: calc(0px - var(--aat-franja, 44px)); }
}
@media (max-width: 781px) {
	.aat-solo-escritorio { display: none !important; }
	.aat-franja .aa-tc { font-size: .74rem; white-space: nowrap; padding: 3px 9px; }
	.aat-franja .aa-idioma-item { min-width: 32px; height: 26px; font-size: .74rem; }
	.aat-logo img { max-height: 42px; }
	.aat-cta-cabecera .wp-block-button__link { padding: .55rem 1rem !important; font-size: .9rem; }
	.aat-barra .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
	.aat-barra .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; font-size: 1.25rem; }
}

/* ── Estilos de bloque registrados por el tema ─────────────────────────── */
.wp-block-button.is-style-claro .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .85); }
.wp-block-button.is-style-claro .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--tinta); }
.wp-block-button.is-style-oceano .wp-block-button__link { background: var(--wp--preset--color--oceano); color: #fff; }
.wp-block-button.is-style-oceano .wp-block-button__link:hover { background: var(--wp--preset--color--tinta); }
.wp-block-button__link { transition: background .2s, color .2s, transform .2s, box-shadow .2s; }
.wp-block-button__link:hover { transform: translateY(-1px); }

.wp-block-group.is-style-tarjeta {
	background: #fff; border: 1px solid var(--wp--preset--color--linea); border-radius: var(--wp--custom--radio--medio);
	box-shadow: var(--wp--custom--sombra--tarjeta); padding: clamp(1.25rem, 3vw, 2rem);
}
.wp-block-group.is-style-vidrio {
	background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .25); border-radius: var(--wp--custom--radio--medio);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.wp-block-cover.is-style-redondeada, .wp-block-image.is-style-redondeada img,
.wp-block-post-featured-image.is-style-redondeada img { border-radius: var(--wp--custom--radio--grande); overflow: hidden; }
.wp-block-cover.is-style-redondeada { overflow: hidden; }

.wp-block-list.is-style-palomitas { list-style: none; padding-left: 0; display: grid; gap: .55rem; }
.wp-block-list.is-style-palomitas li { position: relative; padding-left: 1.9rem; }
.wp-block-list.is-style-palomitas li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 1.25rem; height: 1.25rem; border-radius: 999px;
	background: var(--wp--preset--color--espuma) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E8F9C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7'/%3E%3C/svg%3E") center / 70% no-repeat;
}
p.is-style-ceja {
	font-size: .8rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--laguna);
	display: inline-flex; align-items: center; gap: .6rem;
}
p.is-style-ceja::before { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
/* En un grupo "constrained" la ceja tiene que ser de bloque para tomar el mismo
 * ancho y márgenes que el título que la sigue (en línea se queda en la orilla). */
.is-layout-constrained > p.is-style-ceja { display: flex; }
.is-layout-constrained > p.is-style-ceja.has-text-align-center { justify-content: center; }
.is-layout-constrained > p.is-style-ceja.has-text-align-right { justify-content: flex-end; }
.has-blanco-color p.is-style-ceja, .wp-block-cover p.is-style-ceja { color: var(--wp--preset--color--sol); }

/* ── Portada (patrones de venta) ───────────────────────────────────────── */
/* Una portada a todo lo ancho alinea su texto con el logo del encabezado. */
.wp-block-cover.alignfull > .wp-block-cover__inner-container > .wp-block-group {
	padding-left: var(--wp--style--root--padding-left, clamp(16px, 4vw, 40px));
	padding-right: var(--wp--style--root--padding-right, clamp(16px, 4vw, 40px));
}
.aat-hero h1 { text-wrap: balance; text-shadow: 0 1px 2px rgba(0, 0, 0, .15); }
.aat-hero .aat-hero-texto { max-width: 34rem; }
.aat-chips { gap: .5rem !important; }
.aat-chips p {
	margin: 0; padding: .4rem .8rem; border-radius: 999px; font-size: .85rem; font-weight: 600;
	background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .28); backdrop-filter: blur(8px);
}
.aat-datos { position: relative; z-index: 2; margin-top: calc(-1 * var(--wp--preset--spacing--50)) !important; }
.aat-datos > .wp-block-columns { gap: 0 !important; }
.aat-datos .wp-block-column { padding: 1.4rem 1.5rem; }
.aat-datos .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--linea); }
.aat-datos p { margin: 0; }
.aat-datos .aat-dato { font-family: var(--wp--preset--font-family--titulos); font-weight: 750; font-size: 1.15rem; line-height: 1.2; }
.aat-datos .aat-dato-sub { color: var(--wp--preset--color--niebla); font-size: .9rem; }
@media (max-width: 781px) {
	.aat-datos .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid var(--wp--preset--color--linea); }
	.aat-datos .wp-block-column { padding: 1rem 1.2rem; }
}

.aat-vivencias .wp-block-cover { min-height: 300px !important; border-radius: var(--wp--custom--radio--medio); overflow: hidden; }
.aat-vivencias .wp-block-cover__image-background { transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.aat-vivencias .wp-block-cover:hover .wp-block-cover__image-background { transform: scale(1.05); }
.aat-vivencias h3 { color: #fff; margin: 0 0 .25rem; }
.aat-vivencias .wp-block-cover p { margin: 0; font-size: .95rem; opacity: .92; }

.aat-seccion-titulo { margin-bottom: var(--wp--preset--spacing--30); }
.aat-seccion-titulo > * { max-width: 46rem; }
.aat-seccion-titulo h2 { text-wrap: balance; }
.aat-seccion-titulo p:not(.is-style-ceja) { color: var(--wp--preset--color--niebla); font-size: 1.08rem; }

.aat-pasos { counter-reset: paso; list-style: none; padding: 0; display: grid; gap: 1rem; }
.aat-pasos li { counter-increment: paso; position: relative; padding-left: 3rem; }
.aat-pasos li::before {
	content: counter(paso); position: absolute; left: 0; top: -.1rem; width: 2.1rem; height: 2.1rem; border-radius: 999px;
	display: grid; place-items: center; font-weight: 800; background: var(--wp--preset--color--oceano); color: #fff; font-size: .95rem;
}

/* ── Pie ───────────────────────────────────────────────────────────────── */
/* El pie va pegado al contenido (sin la franja blanca del espacio entre bloques)
 * y, en páginas cortas, se queda abajo de la ventana. El encabezado fijo sigue
 * funcionando: un elemento "sticky" lo es igual dentro de un contenedor flex. */
.wp-site-blocks {
	display: flex; flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px));
}
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: auto; }
/* La raya del pie va de lado a lado (también en pies guardados sin "is-style-wide"). */
.aat-pie .wp-block-separator.aat-pie-sep:not(.is-style-dots) { width: auto; }
.aat-pie .aat-tenue { color: rgba(255, 255, 255, .72); }
.aat-pie .aat-pie-h { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--sol); font-family: var(--wp--preset--font-family--texto); font-weight: 750; }
.aat-pie .aat-pie-lista { list-style: none; padding: 0; display: grid; gap: .5rem; }
.aat-pie a { text-decoration: none; }
.aat-pie a:hover { text-decoration: underline; }
.aat-pie .aat-pie-sep { border-color: rgba(255, 255, 255, .14) !important; opacity: 1; }
.aat-logo-pie img { background: #fff; border-radius: 14px; padding: 8px 12px; }

/* ── Contenido heredado (páginas armadas con Spectra/Astra) ────────────── */
.aat-contenido > * + * { margin-block-start: 0; }
.aat-contenido img { max-width: 100%; height: auto; }

/* Ancla de "Reservar": que no quede debajo del encabezado fijo. */
:where([id]) { scroll-margin-top: 96px; }

@media (prefers-reduced-motion: reduce) {
	.aat-vivencias .wp-block-cover__image-background, .wp-block-button__link, .aat-barra * { transition: none !important; }
}
