/*
 * Solo lo que theme.json no cubre. El design system (color/tipografía/spacing/
 * sombras/radios) vive en theme.json como --wp--preset--* / --wp--custom--*.
 * Las @font-face las genera WP desde theme.json (fontFace). No dupliques tokens aquí.
 */

/* Acentos que no son tokens de cliente (centralizados aquí, no en el color picker). */
:root {
	--summers-sky: var(--wp--preset--color--sky);
	--summers-mist: var(--wp--preset--color--mist);
	--summers-lift: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s ease; /* hover de cards */
}

/* El hero (y todo el main) pegado al header: quita el blockGap raíz. */
.wp-site-blocks > main { margin-block-start: 0; }
/* Footer pegado al contenido: quita el blockGap raíz que dejaba una línea clara. */
.wp-site-blocks > footer { margin-block-start: 0; }
/* Secciones full-bleed con fondo propio: sin blockGap raíz, para que no quede una
   franja del fondo del body entre ellas (equipo, cta-wa, cta-final). */
.summers-team,
.summers-ctawa-band,
.summers-ctafinal { margin-block-start: 0; }

/* Header sticky: se mantiene arriba al hacer scroll. */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
	box-shadow: var(--wp--preset--shadow--card);
}

/* Ancho uniforme entre secciones: las secciones-card con padding propio pasan a
   border-box para que su ancho TOTAL sea = wideSize (1180), igual que las
   secciones sin padding (destinos, categorías, testimonios). */
.summers-trust, .summers-steps-wrap, .summers-offer, .summers-cta { box-sizing: border-box; }

/* ---------- A11y ---------- */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--navy);
	color: #fff;
	border-radius: 0 0 var(--wp--custom--radius--sm) 0;
}
.skip-link:focus { left: 0; top: 0; }

:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.sr-only {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Variantes de botón (design system) ---------- */
/* default = teal (theme.json). Estas son las del mock. */
.wp-block-button.is-style-navy > .wp-block-button__link {
	background-color: var(--wp--preset--color--navy);
	color: #fff;
	border-radius: var(--wp--custom--radius--md);
}
.wp-block-button.is-style-navy > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--navy-mid);
}
.wp-block-button.is-style-offer > .wp-block-button__link {
	background-color: var(--wp--preset--color--offer);
	color: var(--wp--preset--color--navy);
	border-radius: var(--wp--custom--radius--md);
	font-weight: 700;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	background-color: transparent;
	color: #fff;                       /* sobre fondos oscuros (hero) */
	border: 2px solid rgba(255, 255, 255, .7);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: rgba(255, 255, 255, .12);
	border-color: #fff;
}
/* Feedback de botones: relleno progresivo (wipe) izq→der con background-size + lift.
   Se usa background-size (no un ::before) para que el relleno funcione sobre cualquier
   fondo, incluidos los botones navy (evita el problema de apilamiento del z-index). */
.wp-element-button {
	--wipe: var(--wp--preset--color--navy);
	background-image: linear-gradient(var(--wipe), var(--wipe));
	background-repeat: no-repeat; background-position: left center; background-size: 0% 100%;
	background-origin: border-box;   /* el relleno cubre también el borde: sin anillo del color base */
	transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s ease, color .32s ease,
		background-size .6s cubic-bezier(.16, 1, .3, 1);
}
.wp-element-button:hover, .wp-element-button:focus-visible {
	transform: translateY(-2px); box-shadow: var(--wp--preset--shadow--hover); background-size: 100% 100%;
}
.wp-element-button:active { transform: translateY(0); transition-duration: .06s; }
/* Color del wipe por variante (garantiza contraste del texto). */
.wp-block-button.is-style-navy > .wp-block-button__link { --wipe: var(--wp--preset--color--primary-dark); }
.wp-block-button.is-style-outline > .wp-block-button__link { --wipe: rgba(255, 255, 255, .16); }
.summers-cta .summers-wa > .wp-block-button__link { --wipe: var(--wp--preset--color--navy); }
.summers-cta .summers-wa:hover > .wp-block-button__link,
.summers-cta .summers-wa:focus-within > .wp-block-button__link { color: #fff; }
/* Hero (fondo navy oscuro): el botón primario rellena BLANCO con texto navy para
   contrastar con el fondo, en vez de navy que se fundía. */
.summers-hero__buttons .summers-wa > .wp-block-button__link { --wipe: #fff; }
.summers-hero__buttons .summers-wa:hover > .wp-block-button__link,
.summers-hero__buttons .summers-wa:focus-within > .wp-block-button__link { color: var(--wp--preset--color--navy); }

/* ---------- Logo ---------- */
.summers-logo {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	text-decoration: none;
	white-space: nowrap;
}
.summers-logo__name {
	font-family: 'Pacifico', cursive;
	font-size: 26px;
	line-height: 1;
	color: var(--wp--preset--color--primary);
}
.summers-logo__sub {
	font-weight: 800;
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--offer);
	letter-spacing: .3px;
}
.summers-logo--footer .summers-logo__name { color: var(--summers-sky); }

/* Logo del header: alto fijo, ancho automático, sin tope de ancho. */
.custom-logo,
.wp-block-site-logo img {
	height: 60px;
	width: auto;
	max-width: none;
	display: block;
}
/* Logo del footer: independiente, ~2x el del header. */
.summers-footer .wp-block-site-logo img,
.summers-footer__logo img {
	height: 120px;
	max-width: none;
}
/* Texto de marca: fallback solo cuando NO hay logo subido
   (WP añade .wp-custom-logo al <body> al haber logo). */
.wp-custom-logo .summers-brand-fallback { display: none; }

/* ---------- Switcher de idioma (Polylang) ----------
   OCULTO por ahora (solo hay español). El Site Editor lo re-agrega al header al
   guardar, así que se oculta por CSS de forma robusta. Para reactivarlo cuando
   haya contenido en inglés: cambia display:none por display:flex y descomenta
   los estilos de abajo. */
.summers-lang { display: none; }
/*
.summers-lang {
	display: flex; gap: 4px; list-style: none; margin: 0; padding: 0;
	font-size: var(--wp--preset--font-size--sm); font-weight: 600; text-transform: uppercase;
}
.summers-lang a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; color: var(--wp--preset--color--text-soft); }
.summers-lang .current-lang a { color: var(--wp--preset--color--primary); }
*/

/* ---------- Navegación: subrayado que APARECE al hover (nav + subnav) ---------- */
.wp-block-navigation .wp-block-navigation-item__content {
	position: relative;
	text-decoration: none;   /* sin subrayado de texto: evita duplicados */
	transition: color .22s ease;
}
/* Subrayado: aparece solo al hover/foco, crece de izquierda a derecha. */
.wp-block-navigation .wp-block-navigation-item__content::after {
	content: '';
	position: absolute; left: 0; right: 0; bottom: -5px; height: 2px;
	background: var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius--xs);
	transform: scaleX(0); transform-origin: left center;
	transition: transform .34s cubic-bezier(.16, 1, .3, 1);
}
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--primary);
}
.wp-block-navigation .wp-block-navigation-item__content:hover::after,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible::after {
	transform: scaleX(1);
}
/* La flecha del item con submenú rota al abrir. */
.wp-block-navigation .wp-block-navigation__submenu-icon {
	transition: transform .3s cubic-bezier(.16, 1, .3, 1);
}
.wp-block-navigation .wp-block-navigation-item.has-child:hover > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon,
.wp-block-navigation .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
	transform: rotate(180deg);
}

/* Submenú (dropdown): hereda el navy del header para que combine con la barra oscura. */
.wp-block-navigation .wp-block-navigation__submenu-container {
	border-radius: var(--wp--custom--radius--md);
	border: 1px solid rgba(255, 255, 255, .14);
	box-shadow: 0 16px 38px rgba(13, 43, 78, .4);
	padding: 6px 10px;
	min-width: 210px;
	/* !important: core fuerza #fff vía .wp-block-navigation:not(.has-background) …; esto lo vence. */
	background: var(--wp--preset--color--navy) !important;
	transform: translateY(8px);
	transition: opacity .22s ease, transform .22s cubic-bezier(.16, 1, .3, 1);
}
.wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation__submenu-container:focus-within {
	transform: translateY(0);
}
/* Items del submenú: texto claro sobre navy + padding (el hover vira a teal vía regla general). */
.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 4px;
	color: #fff;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	left: 4px; right: 4px; bottom: 3px;
}

/* ---------- Menú móvil (overlay del bloque Navigation) ----------
   El tema solo estilizaba el dropdown de desktop (card); en el overlay
   se colaba esa card y los items quedaban a la derecha. Aquí lo corregimos. */
/* Hamburguesa: target táctil accesible (WCAG 2.5.8 — el glifo de 24px queda centrado). */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	min-width: 44px; min-height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	padding: 10px;
}
/* ---------- Menú móvil: overlay premium sobre el navy de la marca ---------- */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--gradient--hero) !important;
	padding: 10px 26px 44px !important;
	align-items: stretch !important;
}
.is-menu-open .wp-block-navigation__responsive-container-content {
	width: 100% !important; text-align: left; padding-top: 8px;
	align-items: stretch !important;
	animation: summers-menu-in .3s ease both;
}
@keyframes summers-menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
/* Cerrar (X) en blanco sobre el navy. */
.is-menu-open .wp-block-navigation__responsive-container-close { color: #fff; }
.is-menu-open .wp-block-navigation__responsive-container-close svg { fill: currentColor; }
/* !important: el bloque Nav va justificado a la derecha (items-justified-right) y eso
   mete align-items:flex-end en cada contenedor flex del overlay; lo forzamos a la izquierda. */
.is-menu-open .wp-block-navigation__container,
.is-menu-open .wp-block-navigation__submenu-container,
.is-menu-open .wp-block-navigation-item,
.is-menu-open .wp-block-navigation-submenu {
	align-items: flex-start !important; justify-content: flex-start; text-align: left;
}
.is-menu-open .wp-block-navigation__container,
.is-menu-open .wp-block-navigation__submenu-container {
	flex-direction: column; gap: 0;
}
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; }

/* Ítems de primer nivel: grandes, blancos, área táctil amplia (44px). El divisor
   va pegado debajo del texto (border-bottom del ítem), no flotando en el hueco. */
.is-menu-open .wp-block-navigation-item__content {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	width: 100%; text-align: left; box-sizing: border-box;
	min-height: 44px;
	font-size: var(--wp--preset--font-size--xl); font-weight: 700; line-height: 1.15;
	color: #fff; cursor: pointer; transition: color .18s ease;
}
.is-menu-open .wp-block-navigation-item__content::after { display: none; }   /* sin el subrayado hover de desktop */
/* Padding asimétrico (mucho arriba, poco abajo) para pegar el divisor al texto.
   !important porque WP core fuerza padding:0 con una regla de 3 clases. */
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 16px 4px 6px !important;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
/* Separación entre ítems de primer nivel (el divisor ya no la marca). */
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item {
	margin-top: 6px;
}
.is-menu-open .wp-block-navigation-item__content:hover,
.is-menu-open .wp-block-navigation-item__content:focus-visible {
	color: var(--summers-sky);
}

/* Submenú desplegable (acordeón): colapsado por defecto; se expande con .is-expanded.
   Línea de acento teal + indentado, texto mist. El toggle lo maneja slider.js. */
.is-menu-open .wp-block-navigation__submenu-container {
	position: static !important; transform: none !important;
	background: transparent; box-shadow: none; min-width: 0; border: 0;
	border-left: 2px solid var(--summers-sky); margin-left: 3px;
	max-height: 0 !important; min-height: 0 !important; overflow: hidden !important; visibility: hidden;
	padding: 0 0 0 18px !important; margin-bottom: 0;
	transition: max-height .34s cubic-bezier(.4, 0, .2, 1), padding .3s ease, margin-bottom .3s ease, visibility 0s linear .34s;
}
.is-menu-open .has-child.is-expanded > .wp-block-navigation__submenu-container {
	max-height: 60vh !important; visibility: visible;
	padding: 6px 0 10px 18px !important; margin-bottom: 14px;
	transition-delay: 0s;
}
.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex; align-items: center; min-height: 44px; box-sizing: border-box;
	padding: 12px 4px; font-size: var(--wp--preset--font-size--base); font-weight: 500;
	color: var(--summers-mist); border: 0;
}
.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	color: #fff;
}
/* Chevron del submenú: blanco tenue; gira 180° al expandir. */
.is-menu-open .wp-block-navigation__submenu-icon { transform: none; transition: transform .3s ease; flex: none; }
.is-menu-open .wp-block-navigation__submenu-icon svg { fill: rgba(255, 255, 255, .6); }
.is-menu-open .has-child.is-expanded > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon { transform: rotate(180deg); }

@media (prefers-reduced-motion: reduce) {
	.is-menu-open .wp-block-navigation__responsive-container-content { animation: none; }
	.is-menu-open .wp-block-navigation__submenu-container,
	.is-menu-open .wp-block-navigation__submenu-icon { transition: none; }
}

/* ---------- Bloque WhatsApp ---------- */
.summers-wa > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	white-space: nowrap;
}
.summers-wa__icon { width: 1.1em; height: 1.1em; flex: none; }

/* Header mobile = solo logo + hamburguesa (el FAB cubre WhatsApp). */
@media (max-width: 781px) {
	.summers-header-cta { display: none; }
}

/* ---------- Footer ---------- */
.summers-footer a { color: var(--summers-mist); text-decoration: none; transition: color .18s ease; }
.summers-footer a:hover { color: #fff; }
.summers-footer__title { margin: 0 0 .35rem; color: #fff; }
/* Logo del footer: usa el tamaño intrínseco de la imagen que suba el cliente
   (así controla el tamaño con la imagen). max-width evita que desborde la columna. */
.summers-footer__logo { width: auto; max-width: 100%; margin: 0 auto 0 0; text-align: left; }
/* Sin ancho fijado (is-default-size) → tamaño natural de la imagen, en vez del
   default de 120px de WordPress. Si el cliente fija un ancho en el editor, ese
   estado desaparece y manda su ancho. */
.summers-footer__logo.is-default-size img { width: auto !important; height: auto !important; }
.summers-footer__logo img { max-width: 100%; height: auto; display: block; }
/* Redes: área táctil ≥44px sin cambiar el tamaño del icono. */
.summers-footer .wp-block-social-link-anchor { padding: 10px; }
.summers-footer__list {
	list-style: none;
	margin: .5rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	overflow-wrap: anywhere;
}
/* Contacto: icono + texto */
.summers-contact {
	list-style: none; margin: .5rem 0 0; padding: 0;
	display: flex; flex-direction: column; gap: 12px;
	color: var(--summers-mist); overflow-wrap: anywhere;
}
.summers-contact li { display: flex; align-items: center; gap: 10px; }
.summers-contact__ico { flex: none; display: inline-flex; }
.summers-contact__ico svg { width: 18px; height: 18px; color: var(--summers-sky); }
/* Métodos de pago: chips tipo tarjeta */
.summers-pay { display: flex; gap: 8px; flex-wrap: wrap; margin-top: .5rem; }
.summers-pay__card {
	width: 46px; height: 30px; border-radius: var(--wp--custom--radius--xs); background: var(--wp--preset--color--surface);
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 800; font-size: var(--wp--preset--font-size--xs); font-style: italic; letter-spacing: .3px;
	box-shadow: 0 1px 3px rgba(0,0,0,.25);
}
.summers-pay--visa { color: #1a1f71; }
.summers-pay--amex { background: #2e77bc; color: #fff; font-style: normal; font-size: var(--wp--preset--font-size--xs); }
.summers-pay--mc { gap: 0; }
.summers-pay--mc i { width: 15px; height: 15px; border-radius: 50%; display: block; }
.summers-pay--mc i:first-child { background: #eb001b; }
.summers-pay--mc i:last-child { background: #f79e1b; margin-left: -6px; mix-blend-mode: multiply; }

/* ---------- Hero (bloque summers/hero) ---------- */
.summers-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--wp--preset--gradient--hero);
}
.summers-hero__bg { position: absolute; inset: 0; z-index: -2; }
.summers-hero__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.summers-hero__overlay {
	position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(110deg, rgba(13,43,78,.94) 0%, rgba(13,43,78,.7) 42%, rgba(13,43,78,.3) 100%);
}
/* Con foto de fondo, el degradado propio del hero tapaba la imagen (desktop se veía navy plano):
   el overlay ya aporta el contraste del texto, así que anulamos ese fondo cuando hay imagen. */
.summers-hero--overlay:has(.summers-hero__bg) { background: transparent; }
.summers-hero__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: var(--wp--custom--space--flow) var(--wp--preset--spacing--24);
	min-height: 460px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.summers-hero__eyebrow { display: inline-flex; align-items: center; gap: 14px; text-transform: uppercase; letter-spacing: 2px; font-weight: 600; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--sky-muted); margin: 0 0 16px; }
.summers-hero__eyebrow::after { content: ''; width: 34px; height: 3px; border-radius: var(--wp--custom--radius--xs); background: var(--wp--preset--color--offer); }
.summers-hero__title { font-size: var(--wp--preset--font-size--hero); font-weight: 800; color: #fff; line-height: 1.05; margin: .4rem 0 0; }
.summers-hero__cursive { font-family: 'Pacifico', cursive; font-size: var(--wp--preset--font-size--title-xl); color: var(--summers-sky); line-height: 1.2; margin: .15rem 0 0; }
.summers-hero__text { color: var(--summers-mist); max-width: 440px; margin: 1rem 0 1.5rem; }
.summers-hero__buttons { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.summers-hero__buttons .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; }
/* El botón sólido lleva borde transparente para igualar altura con el outline (borde 2px). */
.summers-hero__buttons .wp-block-button:not(.is-style-outline) > .wp-block-button__link { border: 2px solid transparent; }
/* Alineación del contenido del hero (izquierda por defecto). */
.summers-hero--align-center .summers-hero__inner { align-items: center; text-align: center; }
.summers-hero--align-center .summers-hero__text { margin-left: auto; margin-right: auto; }
.summers-hero--align-center .summers-hero__buttons { justify-content: center; }
.summers-hero--align-right .summers-hero__inner { align-items: flex-end; text-align: right; }
.summers-hero--align-right .summers-hero__text { margin-left: auto; }
.summers-hero--align-right .summers-hero__buttons { justify-content: flex-end; }
/* Overlay más oscuro del lado del texto cuando va a la derecha. */
.summers-hero--align-right .summers-hero__overlay {
	background: linear-gradient(250deg, rgba(13,43,78,.94) 0%, rgba(13,43,78,.7) 42%, rgba(13,43,78,.3) 100%);
}
/* Preview en editor: la imagen desktop va como background del bloque. */
.summers-hero--editor { background-size: cover; background-position: center; }
.summers-hero--editor .summers-hero__eyebrow { color: var(--wp--preset--color--sky-muted); }

/* Variante partida: navy sólido a la izquierda, foto a la derecha difuminada. */
.summers-hero--split { background: var(--wp--preset--color--navy); }
.summers-hero--split .summers-hero__bg { inset: 0 0 0 auto; width: 58%; z-index: 0; }
.summers-hero--split .summers-hero__bg img {
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 42%);
	        mask-image: linear-gradient(to right, transparent 0%, #000 42%);
}
.summers-hero--split .summers-hero__overlay { display: none; }
.summers-hero--split .summers-hero__inner { position: relative; z-index: 1; }
.summers-hero__sun { width: .58em; height: .58em; margin-left: .12em; vertical-align: .18em; }

@media (max-width: 781px) {
	.summers-hero__inner { min-height: 380px; }
	/* Split en mobile: foto a todo el ancho + velo navy para legibilidad. */
	.summers-hero--split .summers-hero__bg { width: 100%; }
	.summers-hero--split .summers-hero__bg img { -webkit-mask-image: none; mask-image: none; }
	.summers-hero--split .summers-hero__overlay {
		display: block; position: absolute; inset: 0; z-index: 0;
		background: linear-gradient(180deg, rgba(13,43,78,.5) 0%, rgba(13,43,78,.82) 100%),
		            linear-gradient(105deg, rgba(13,43,78,.75) 22%, rgba(13,43,78,.28) 100%);
	}
}

/* ---------- Antetítulo reutilizable (teal + guion amarillo) ---------- */
.summers-eyebrow {
	display: inline-flex; align-items: center; gap: 14px;
	text-transform: uppercase; letter-spacing: 2px; font-weight: 700; font-size: var(--wp--preset--font-size--sm);
	/* Teal profundo para AA sobre fondos claros (el sky #38c6d8 daba 1.9:1). */
	color: var(--wp--preset--color--sky-deep); margin: 0 0 16px;
}
.summers-eyebrow::after { content: ''; width: 34px; height: 3px; border-radius: var(--wp--custom--radius--xs); background: var(--wp--preset--color--offer); }

/* ---------- Intro (imagen + texto, dos columnas) ---------- */
.summers-intro {
	max-width: 1180px; margin: 0 auto; padding: var(--wp--custom--space--flow) 24px;
	display: grid; grid-template-columns: minmax(0, 460px) 1fr; gap: clamp(32px, 5vw, 72px); align-items: center;
}
.summers-intro--img-right { grid-template-columns: 1fr minmax(0, 460px); }
.summers-intro--img-right .summers-intro__media { order: 2; }
.summers-intro__media img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--wp--custom--radius--lg); display: block; }
.summers-intro__media-ph { aspect-ratio: 4 / 3; border-radius: var(--wp--custom--radius--lg); background: repeating-linear-gradient(45deg, #e3ebf2 0 14px, var(--wp--preset--color--tint-cool) 14px 28px); display: flex; align-items: center; justify-content: center; color: var(--wp--preset--color--text-soft); font-size: var(--wp--preset--font-size--sm); }
.summers-intro__title { color: var(--wp--preset--color--navy); font-weight: 800; line-height: 1.15; font-size: var(--wp--preset--font-size--h-2); margin: 0 0 20px; }
.summers-intro__body { color: var(--wp--preset--color--text-soft); line-height: 1.7; max-width: 54ch; }
.summers-intro__body p { margin: 0 0 1em; }
.summers-intro__body > :last-child { margin-bottom: 0; }
.summers-intro__body a { color: var(--wp--preset--color--primary); text-decoration: underline; text-underline-offset: 2px; }
.summers-intro__body strong { color: var(--wp--preset--color--navy); }
@media (max-width: 860px) {
	.summers-intro, .summers-intro--img-right { grid-template-columns: 1fr; gap: 28px; }
	.summers-intro--img-right .summers-intro__media { order: 0; }
}

/* ---------- Stats (números clave: icono círculo + número + etiqueta) ---------- */
.summers-stats {
	max-width: 1180px; margin: 0 auto; padding: var(--wp--custom--space--flow-xs) 24px var(--wp--custom--space--flow-lg);
	display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(24px, 3.5vw, 48px);
}
.summers-stats__item { display: flex; align-items: center; gap: 24px; }
.summers-stats__ico {
	flex: none; width: 84px; height: 84px; border-radius: 50%;
	background: var(--wp--preset--color--tint); display: flex; align-items: center; justify-content: center;
}
.summers-stats__ico svg { width: 40px; height: 40px; color: var(--summers-sky); }
.summers-stats__num { display: block; color: var(--summers-sky); font-weight: 600; font-size: var(--wp--preset--font-size--hero); line-height: 1; font-variant-numeric: tabular-nums; }
.summers-stats__label { display: block; color: var(--wp--preset--color--text-soft); font-size: var(--wp--preset--font-size--body); margin-top: 7px; line-height: 1.35; }
@media (max-width: 860px) { .summers-stats { grid-template-columns: repeat(2, 1fr); gap: 32px; } }
@media (max-width: 440px) { .summers-stats { grid-template-columns: 1fr; } }

/* ---------- Equipo (cards de miembros) ---------- */
.summers-team { background: var(--wp--preset--color--band); padding: var(--wp--custom--space--flow-lg) 24px; }
.summers-team__inner { max-width: 1180px; margin: 0 auto; }
/* Header de sección reutilizable: título a la izquierda + texto de apoyo a la derecha,
   colapsa a 1 columna en móvil. Patrón unificado (equipo, FAQ, …). */
.summers-section-head {
	display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px);
	align-items: end; margin-bottom: clamp(32px, 5vw, 52px);
}
.summers-section-head h2 { margin: 0; }
.summers-section-head .summers-section-sub { margin-bottom: 0; }
.summers-team__title { color: var(--wp--preset--color--navy); font-weight: 800; line-height: 1.15; font-size: var(--wp--preset--font-size--h-2); margin: 0; }
.summers-team__intro { color: var(--wp--preset--color--text-soft); line-height: 1.6; max-width: 48ch; margin: 0; }
.summers-team__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2.4vw, 24px); }
.summers-team__card {
	box-sizing: border-box;
	background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--lg); padding: 16px; text-align: center;
	box-shadow: var(--wp--preset--shadow--soft);
	transition: transform .25s ease, box-shadow .25s ease;
}
.summers-team__card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--hover); }
.summers-team__avatar { width: 84px; height: 84px; border-radius: 50%; overflow: hidden; margin: 0 auto 12px; }
.summers-team__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.summers-team__avatar--ph {
	background: linear-gradient(135deg, var(--summers-sky), #2196b0);
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 700; font-size: var(--wp--preset--font-size--title);
}
.summers-team__name { display: block; color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--h-3); }
.summers-team__role { display: block; color: var(--summers-sky); font-weight: 600; font-size: var(--wp--preset--font-size--base); margin-top: 3px; }
.summers-team__desc { color: var(--wp--preset--color--text-soft); font-size: var(--wp--preset--font-size--base); line-height: 1.5; margin: 14px 0 0; }
@media (max-width: 900px) {
	.summers-section-head { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 1024px) {
	/* Equipo = carrusel horizontal desde <1024px (mismo patrón que categorías/destinos). */
	.summers-team__grid {
		display: flex; grid-template-columns: none; gap: 16px;
		overflow-x: auto; scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 8px;
	}
	.summers-team__grid::-webkit-scrollbar { height: 0; }
	/* En el carrusel táctil las cards van sin sombra (solo borde). */
	.summers-team__card { flex: 0 0 70%; scroll-snap-align: start; box-shadow: none; }
	.summers-team__card:hover { transform: none; box-shadow: none; }
}
@media (max-width: 600px) {
	/* Teléfono: cards angostas de ancho fijo → a 375px entran 2 con un pequeño
	   peek de la 3ª (afordancia de scroll). Flechas/dots los monta slider.js. */
	.summers-team__grid { gap: 12px; }
	.summers-team__card { flex: 0 0 150px; padding: 16px 12px; }
	.summers-team__avatar { width: 64px; height: 64px; margin-bottom: 10px; }
	.summers-team__avatar--ph { font-size: var(--wp--preset--font-size--h-2); }
	.summers-team__name { font-size: var(--wp--preset--font-size--md); }
	.summers-team__role { font-size: var(--wp--preset--font-size--sm); }
}
@media (max-width: 781px) {
	/* Equipo: sí mostramos flechas en teléfono (el resto de sliders quedan solo con
	   dots). Van compactas y pegadas a los bordes, flotando en el padding lateral
	   de la card (la avatar va centrada, no las tapa). */
	.summers-team .summers-slider__arrow { display: flex; width: 34px; height: 34px; font-size: var(--wp--preset--font-size--h-3); }
	.summers-team .summers-slider__arrow--prev { left: -18px; }
	.summers-team .summers-slider__arrow--next { right: -18px; }
}

/* ---------- Valores (título izq + grid de valores der) ---------- */
.summers-values { max-width: 1180px; margin: 0 auto; padding: var(--wp--custom--space--flow-lg) 24px; }
/* Header arriba a todo el ancho + value props abajo: evita columnas apretadas
   (con título a la izquierda, las 4 columnas quedaban en ~150px a cualquier ancho). */
.summers-values__wrap { display: grid; grid-template-columns: 1fr; gap: clamp(32px, 4vw, 52px); }
.summers-values__head { max-width: 620px; }
.summers-values__title { color: var(--wp--preset--color--navy); font-weight: 800; line-height: 1.2; font-size: var(--wp--preset--font-size--h-2); margin: 0; }
.summers-values__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 2.4vw, 34px); }
.summers-values__item { text-align: center; }
.summers-values__ico {
	width: 64px; height: 64px; border-radius: 50%; background: var(--wp--preset--color--tint);
	display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
}
.summers-values__ico svg { width: 30px; height: 30px; color: var(--summers-sky); }
.summers-values__item-title { display: block; color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--body); }
.summers-values__desc { color: var(--wp--preset--color--text-soft); font-size: var(--wp--preset--font-size--base); line-height: 1.5; margin: 10px 0 0; }
@media (max-width: 781px) { .summers-values__grid { grid-template-columns: repeat(2, 1fr); gap: 28px; } }
@media (max-width: 460px) { .summers-values__grid { grid-template-columns: 1fr; } }

/* ---------- CTA final (banda navy + foto + estela de avión) ---------- */
.summers-ctafinal {
	position: relative; overflow: hidden;
	background: var(--wp--preset--color--navy);
	padding: clamp(30px, 3.2vw, 44px) 0;
}
/* Foto a todo el ancho por debajo (mismo enfoque que el hero overlay). */
.summers-ctafinal__bg {
	position: absolute; inset: 0; z-index: 0;
	width: 100%; height: 100%; object-fit: cover;
}
/* Overlay diagonal navy: oscuro a la izquierda (texto) y velado a la derecha:
   deja ver la foto pero mantiene legible el botón, que va sobre ese lado. */
.summers-ctafinal::before {
	content: ''; position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(105deg, rgba(13,43,78,.94) 0%, rgba(13,43,78,.74) 46%, rgba(13,43,78,.46) 100%);
}
.summers-ctafinal__inner {
	position: relative; z-index: 2; max-width: 1180px; margin: 0 auto; box-sizing: border-box;
	padding-left: clamp(24px, 4vw, 40px); padding-right: clamp(24px, 4vw, 40px);
	display: flex; align-items: center; justify-content: space-between; gap: clamp(20px, 3vw, 44px);
}
.summers-ctafinal__copy { flex: 1 1 auto; min-width: 0; }
.summers-ctafinal__title { color: #fff; font-weight: 800; line-height: 1.12; font-size: var(--wp--preset--font-size--h-2); margin: 0; }
.summers-ctafinal__script { display: block; font-family: 'Pacifico', cursive; font-weight: 400; color: var(--summers-sky); font-size: .92em; margin-top: .08em; }
.summers-ctafinal__sun { width: .56em; height: .56em; margin-left: .14em; vertical-align: .16em; }
.summers-ctafinal__sub { color: var(--summers-mist); margin: 14px 0 0; line-height: 1.55; font-size: var(--wp--preset--font-size--md); }
/* Estela ENCIMA del botón (mismo eje vertical), agrupadas a la derecha. */
.summers-ctafinal__cluster { flex: none; display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 1.4vw, 18px); }
.summers-ctafinal__trail { flex: none; width: clamp(120px, 14vw, 168px); color: rgba(255, 255, 255, .5); line-height: 0; pointer-events: none; }
.summers-ctafinal__trail svg { width: 100%; height: auto; display: block; }
.summers-ctafinal__btn { flex: none; margin: 0; }
@media (max-width: 860px) {
	.summers-ctafinal__inner { flex-direction: column; align-items: flex-start; gap: 22px; }
	/* En móvil el layout se apila: velo vertical para legibilidad de todo el bloque. */
	.summers-ctafinal::before {
		background: linear-gradient(180deg, rgba(13,43,78,.9) 0%, rgba(13,43,78,.82) 52%, rgba(13,43,78,.94) 100%);
	}
	.summers-ctafinal__copy { max-width: none; }
	.summers-ctafinal__trail { display: none; }
}

/* ---------- CTA WhatsApp (banda mint reutilizable) ---------- */
.summers-ctawa-band { background: var(--wp--preset--color--surface); padding: var(--wp--custom--space--flow-sm) 24px; }
.summers-ctawa {
	max-width: 1180px; margin: 0 auto; box-sizing: border-box;
	background: linear-gradient(120deg, #e9f7fa 0%, #dff1f5 100%);
	border-radius: var(--wp--custom--radius--xl); padding: clamp(26px, 3.5vw, 40px) clamp(28px, 4vw, 48px);
	display: flex; align-items: center; gap: clamp(18px, 3vw, 32px);
}
.summers-ctawa__badge {
	flex: none; width: 66px; height: 66px; border-radius: 50%;
	background: var(--wp--preset--color--whatsapp, var(--wp--preset--color--whatsapp)); color: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 8px 20px rgba(37, 211, 102, .28);
}
.summers-ctawa__badge svg { width: 34px; height: 34px; }
.summers-ctawa__copy { flex: 1 1 auto; }
.summers-ctawa__title { color: var(--wp--preset--color--navy); font-weight: 800; font-size: var(--wp--preset--font-size--subhead); margin: 0; }
.summers-ctawa__text { color: var(--wp--preset--color--text-soft); margin: 6px 0 0; font-size: var(--wp--preset--font-size--body); max-width: 62ch; }
.summers-ctawa__btn { flex: none; margin: 0; }
@media (max-width: 820px) {
	.summers-ctawa { flex-direction: column; text-align: center; gap: 18px; }
	.summers-ctawa__text { max-width: none; }
}

/* ---------- Trust bar (tarjeta flotante con divisores + iconos line-art) ---------- */
.summers-trust {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--xl) !important;
	padding: 26px 14px !important;
	box-shadow: var(--wp--preset--shadow--elevated) !important;
	position: relative;
	z-index: 2;
	overflow: hidden;   /* recorta el marquee en mobile */
}
.summers-trust__track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: start;   /* celdas alineadas al top, no al fondo */
}
.summers-trust__track .summers-trust__item--dup { display: none; }   /* copia solo para el marquee mobile */
@media (min-width: 782px) {
	.summers-trust { margin-top: -44px; }   /* flota sobre el hero */
}
.summers-trust__item {
	display: flex;
	gap: 14px;
	align-items: flex-start;   /* todos los títulos/iconos alineados al top */
	padding: 6px 22px;
	margin: 0 !important;       /* anula el blockGap que WP mete a los items 2-4 */
}
.summers-trust__item:not(:first-child) { border-left: 1px solid #eef2f5; }
.summers-trust__icon { width: 44px; height: 44px; flex: none; }
.summers-trust__icon svg { width: 100%; height: 100%; display: block; color: var(--wp--preset--color--navy); }
.summers-trust__title { display: block; font-size: var(--wp--preset--font-size--md); font-weight: 700; }
.summers-trust__desc { display: block; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-soft); line-height: 1.4; margin-top: 2px; }

/* ---------- Cards de destino ---------- */
.wp-block-post-template.summers-cards-grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.summers-cards-grid > li { margin: 0; }
/* Card estilo iPhone: imagen a toda la card + panel translúcido (glassmorphism). */
.summers-card {
	position: relative;
	border-radius: var(--wp--custom--radius--xl);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-shadow: var(--wp--preset--shadow--elevated);
	min-height: 380px;   /* crece si el título ocupa 2 líneas, sin recortar */
}
.summers-card__media {
	position: absolute; inset: 0; z-index: 0;
	background: repeating-linear-gradient(45deg, #dfe6ec 0 12px, #e9eef3 12px 24px);
}
.summers-card__media a { display: block; height: 100%; }
.summers-card__media img,
.summers-card__ph {
	display: block; width: 100%; height: 100%; object-fit: cover;
}
.summers-card__badge {
	position: absolute; top: 14px; left: 14px; z-index: 2;
	color: #fff; font-size: var(--wp--preset--font-size--xs); font-weight: 600; padding: 5px 12px; border-radius: var(--wp--custom--radius--pill);
	box-shadow: 0 2px 8px rgba(13, 43, 78, .25);
}
.summers-card__body {
	position: relative; z-index: 1;
	margin: 12px;
	padding: 14px 16px 16px;
	border-radius: var(--wp--custom--radius--lg);
	background: rgba(255, 255, 255, .72);
	-webkit-backdrop-filter: blur(14px) saturate(1.4);
	backdrop-filter: blur(14px) saturate(1.4);
	border: 1px solid rgba(255, 255, 255, .55);
	box-shadow: var(--wp--preset--shadow--hover);
	display: flex; flex-direction: column; gap: 8px;
}
/* Sin backdrop-filter (Android viejo): fondo más opaco para no perder contraste. */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.summers-card__body { background: rgba(255, 255, 255, .93); }
}
.summers-card__row { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.summers-card__title {
	font-size: var(--wp--preset--font-size--h-3); font-weight: 700; margin: 0; line-height: 1.15;
	min-height: 2.3em;   /* reserva 2 líneas: la card interna queda igual con títulos de 1 o 2 líneas */
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.summers-card__title a { color: inherit; }
.summers-card__nights { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--text-soft); white-space: nowrap; }
.summers-card__from { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--text-soft); }
.summers-card__price { font-weight: 800; font-size: var(--wp--preset--font-size--h-3); }
.summers-card__price span { color: var(--wp--preset--color--primary); font-size: var(--wp--preset--font-size--sm); }
/* CTA de la card: navy full-width con icono WhatsApp en círculo a la derecha. */
.summers-card__cta {
	margin-top: auto;
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	background-color: var(--wp--preset--color--navy);
	background-image: linear-gradient(var(--wp--preset--color--primary-dark), var(--wp--preset--color--primary-dark));
	background-repeat: no-repeat; background-position: left center; background-size: 0% 100%;
	color: #fff;
	border-radius: var(--wp--custom--radius--md);
	padding: 10px 12px 10px 16px;
	font-weight: 600; font-size: var(--wp--preset--font-size--sm);
	text-decoration: none;
	transition: background-size .6s cubic-bezier(.16, 1, .3, 1);
}
.summers-card__cta:hover,
.summers-card:focus-within .summers-card__cta { background-size: 100% 100%; }
.summers-card__cta-icon {
	width: 26px; height: 26px; flex: none; border-radius: 50%;
	background: var(--wp--preset--color--surface); color: var(--wp--preset--color--whatsapp);
	display: inline-flex; align-items: center; justify-content: center;
}
.summers-card__cta-icon svg { width: 15px; height: 15px; }
/* Placeholders en el editor: se leen como auto-generados. */
.summers-card--ph, .summers-testi--ph { outline: 1px dashed #c3ccd6; outline-offset: -1px; }
.summers-card__ph-note { margin-top: auto; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-muted); font-style: italic; }

/* Palabra destacada en teal dentro de encabezados. */
.summers-hl { color: var(--wp--preset--color--primary); }

/* Icono de sol para títulos de sección (SVG, on-brand, igual en todo dispositivo). */
.summers-sun {
	display: inline-block;
	width: 1em; height: 1em;
	vertical-align: -0.12em;
	margin-right: .25em;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="4.6" fill="%23f4c020"/><g stroke="%23f4c020" stroke-width="2.1" stroke-linecap="round"><line x1="12" y1="2.5" x2="12" y2="4.6"/><line x1="12" y1="19.4" x2="12" y2="21.5"/><line x1="2.5" y1="12" x2="4.6" y2="12"/><line x1="19.4" y1="12" x2="21.5" y2="12"/><line x1="5.4" y1="5.4" x2="6.9" y2="6.9"/><line x1="17.1" y1="17.1" x2="18.6" y2="18.6"/><line x1="5.4" y1="18.6" x2="6.9" y2="17.1"/><line x1="17.1" y1="6.9" x2="18.6" y2="5.4"/></g></svg>') no-repeat center / contain;
}

/* ---------- Pasos (Cómo reservar): horizontal, icono en anillo + badge + flechas ---------- */
.summers-steps-wrap { background: var(--wp--preset--color--tint); }
.summers-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 44px; }
.summers-steps__item { display: flex; align-items: flex-start; gap: 16px; position: relative; }
.summers-steps__icon {
	position: relative; flex: none;
	width: 72px; height: 72px; border-radius: 50%; border: 2px solid #cfe9ef; background: var(--wp--preset--color--surface);
	display: flex; align-items: center; justify-content: center;
}
.summers-steps__icon svg { width: 34px; height: 34px; color: var(--wp--preset--color--primary); }
.summers-steps__num {
	position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%);
	width: 22px; height: 22px; border-radius: 50%; background: var(--wp--preset--color--surface);
	border: 2px solid var(--wp--preset--color--primary); color: var(--wp--preset--color--primary);
	font-weight: 800; font-size: var(--wp--preset--font-size--xs); display: flex; align-items: center; justify-content: center;
}
.summers-steps__text { display: flex; flex-direction: column; }
.summers-steps__title { font-weight: 700; font-size: var(--wp--preset--font-size--body); color: var(--wp--preset--color--navy); margin: 2px 0 6px; }
.summers-steps__desc { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-soft); line-height: 1.5; }
/* Flecha punteada entre pasos (llena el gap; SVG a tamaño fijo, sin distorsión). */
.summers-steps__item:not(:last-child)::after {
	content: ''; position: absolute; top: 30px; right: -44px; width: 44px; height: 12px; pointer-events: none;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 12" fill="none"><path d="M1 6 H31" stroke="%239fd4de" stroke-width="2" stroke-dasharray="2 5" stroke-linecap="round"/><path d="M32 2 L39 6 L32 10" stroke="%239fd4de" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center / contain;
}

/* ---------- ¿Por qué elegir? (confianza + imagen lateral) ---------- */
.summers-why {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	align-items: stretch;
	background: linear-gradient(155deg, #f4fbfd 0%, #e8f3f9 100%);
	overflow: hidden;
	border-radius: var(--wp--custom--radius--lg);
}
.summers-why__content {
	display: flex; flex-direction: column; justify-content: center;
	padding: clamp(48px, 6vw, 80px) clamp(28px, 3.5vw, 52px);
}
.summers-why__title {
	color: var(--wp--preset--color--navy); font-weight: 800; line-height: 1.08;
	font-size: var(--wp--preset--font-size--title-xl);
	margin: 0 0 clamp(28px, 4vw, 48px);
}
.summers-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 22px; }
.summers-why__item { text-align: center; }
.summers-why__icon {
	width: 64px; height: 64px; border-radius: 50%;
	border: 2px solid #bfe3ec; background: rgba(255, 255, 255, .6);
	display: inline-flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
}
.summers-why__icon svg { width: 28px; height: 28px; color: var(--wp--preset--color--primary); }
.summers-why__icon--img { border: 0; background: none; overflow: hidden; padding: 0; }
.summers-why__icon--img img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.summers-why__item-title { display: block; color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--body); margin-bottom: 6px; }
.summers-why__desc { display: block; color: var(--wp--preset--color--text-soft); font-size: var(--wp--preset--font-size--base); line-height: 1.5; }
.summers-why__media { position: relative; min-height: 460px; }
.summers-why__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.summers-why__img--ph { background: linear-gradient(135deg, #cfe6ef 0%, #a7cdd9 100%); }

/* ---------- Viaja con confianza (stats + cards de opciones) ---------- */
.summers-confianza__title {
	color: var(--wp--preset--color--navy); font-weight: 800; line-height: 1.1;
	font-size: var(--wp--preset--font-size--title-xl); margin: 0 0 14px; max-width: 22ch;
}
.summers-confianza__sub { color: var(--wp--preset--color--text-soft); max-width: 46ch; margin: 0; font-size: var(--wp--preset--font-size--body); line-height: 1.5; }
/* Stats */
.summers-confianza__stats {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--wp--preset--spacing--24);
	margin: var(--wp--custom--space--flow-sm) 0;
}
.summers-confianza__num {
	display: block; color: var(--wp--preset--color--navy); font-weight: 800;
	font-size: var(--wp--preset--font-size--hero); line-height: 1;
}
.summers-confianza__stat-label { display: block; color: var(--wp--preset--color--text-soft); font-size: var(--wp--preset--font-size--md); margin-top: 8px; }
/* Cards de opciones */
.summers-confianza__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--wp--preset--spacing--24); }
.summers-confianza__card {
	background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--lg); padding: var(--wp--preset--spacing--24);
	box-shadow: var(--wp--preset--shadow--soft);
	display: flex; flex-direction: column;
	transition: var(--summers-lift);
}
.summers-confianza__card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--hover); }
.summers-confianza__ico {
	width: 52px; height: 52px; border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--tint-cool);
	display: inline-flex; align-items: center; justify-content: center; margin-bottom: var(--wp--preset--spacing--16); }
.summers-confianza__ico svg { width: 26px; height: 26px; color: var(--wp--preset--color--navy); }
.summers-confianza__card-title { display: block; color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--h-3); margin-bottom: var(--wp--preset--spacing--8); }
.summers-confianza__card-desc { display: block; color: var(--wp--preset--color--text-soft); line-height: 1.55; font-size: var(--wp--preset--font-size--md); margin-bottom: var(--wp--preset--spacing--16); }
.summers-confianza__pill {
	align-self: flex-start; margin-top: auto;
	padding: 7px 14px; border-radius: var(--wp--custom--radius--pill); font-weight: 700; font-size: var(--wp--preset--font-size--sm);
}
.summers-confianza__pill--green { background: #e6f6ec; color: #1a7f45; }
.summers-confianza__pill--orange { background: #fcecdf; color: #c26a16; }
.summers-confianza__pill--teal { background: #e2f2f5; color: var(--wp--preset--color--primary-dark); }

/* Subtítulo de sección (reutilizable: destinos, categorías, testimonios).
   El layout "constrained" de WP centra los hijos angostos con margin:auto;
   forzamos alineación a la izquierda para que quede bajo el título. */
.summers-section-sub {
	color: var(--wp--preset--color--text-soft);
	font-size: var(--wp--preset--font-size--body); line-height: 1.5; max-width: 54ch;
	margin-top: 0; margin-bottom: clamp(20px, 3vw, 32px);
	margin-left: 0 !important; margin-right: auto !important;
}

/* ---------- FAQ (acordeón nativo <details>, cero JS) ---------- */
.summers-faq__title {
	color: var(--wp--preset--color--navy); font-weight: 800; line-height: 1.1;
	font-size: var(--wp--preset--font-size--title-xl); margin: 0 0 14px;
}
.summers-faq__list { display: flex; flex-direction: column; gap: 14px; margin-top: clamp(20px, 3vw, 32px); }
.summers-faq__item {
	background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--preset--shadow--soft);
	transition: border-color .2s ease;
}
.summers-faq__item:hover { border-color: #cfe3ea; }
.summers-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 20px 22px; cursor: pointer; list-style: none;
	color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--body);
}
.summers-faq__q::-webkit-details-marker { display: none; }
/* Chevron con pseudo-elemento (rota de forma fiable). */
.summers-faq__q::after {
	content: ''; flex: none; width: 10px; height: 10px; margin-right: 6px;
	border-right: 2.5px solid var(--wp--preset--color--primary);
	border-bottom: 2.5px solid var(--wp--preset--color--primary);
	border-radius: 0 0 2px 0;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .3s cubic-bezier(.16, 1, .3, 1);
}
.summers-faq__item[open] .summers-faq__q::after { transform: rotate(-135deg) translateY(-2px); }
.summers-faq__a { padding: 0 22px 20px; color: var(--wp--preset--color--text-soft); line-height: 1.6; }
.summers-faq__a p { margin: 0; }

/* ---------- Categorías ---------- */
.summers-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--wp--preset--spacing--16); }
.summers-cat {
	position: relative;
	background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--lg); overflow: hidden;
	box-shadow: var(--wp--preset--shadow--card); text-decoration: none; color: inherit; display: block;
}
.summers-cat__media { display: block; width: 100%; height: 160px; object-fit: cover; }
.summers-cat__media--ph { background: repeating-linear-gradient(45deg, #dfe6ec 0 12px, #e9eef3 12px 24px); }
.summers-cat__icon {
	position: absolute; top: 132px; left: 16px; z-index: 2;
	width: 56px; height: 56px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; color: #fff;
	box-shadow: 0 3px 8px rgba(13, 43, 78, .25);
}
.summers-cat__icon svg { width: 30px; height: 30px; }
.summers-cat__body { display: flex; align-items: center; min-height: 44px; padding: 0 14px 0 84px; }
.summers-cat__name { font-weight: 600; font-size: var(--wp--preset--font-size--base); line-height: 1.2; }

/* ---------- Oferta ---------- */
.summers-offer {
	position: relative;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--lg);
	padding: var(--wp--preset--spacing--24) var(--wp--preset--spacing--48);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--24);
}
.summers-offer__left { display: flex; align-items: center; gap: var(--wp--preset--spacing--32); flex-wrap: wrap; position: relative; z-index: 1; }
.summers-offer__img { height: 180px; width: auto; display: block; }
.summers-offer__icon {
	width: 110px; height: 110px; border-radius: var(--wp--custom--radius--lg); background: rgba(255, 255, 255, .35);
	display: flex; align-items: center; justify-content: center; font-size: 52px;
}
.summers-offer__title { font-size: var(--wp--preset--font-size--title-xl); line-height: 1.02; margin: 0; }
.summers-offer__script { font-family: 'Pacifico', cursive; font-weight: 400; }
.summers-offer__sub { margin-top: var(--wp--preset--spacing--12); font-size: var(--wp--preset--font-size--body); color: var(--wp--preset--color--navy); opacity: .82; }
.summers-offer__cta { position: relative; z-index: 1; }
.summers-offer__cta .wp-block-button__link { font-size: var(--wp--preset--font-size--body); font-weight: 700; padding: 1.05rem 2.4rem; border-radius: var(--wp--custom--radius--md); }
.summers-offer__plane { position: absolute; left: 47%; top: 22%; width: 128px; pointer-events: none; }
.summers-offer__plane svg { width: 100%; height: auto; display: block; }

/* ---------- CTA final ---------- */
.summers-cta {
	position: relative; overflow: hidden; border-radius: var(--wp--custom--radius--lg);
	padding: var(--wp--preset--spacing--48);
	display: flex; justify-content: space-between; align-items: center;
	flex-wrap: wrap; gap: var(--wp--preset--spacing--24);
}
.summers-cta__bg {
	position: absolute; inset: 0 0 0 auto; height: 100%; width: 58%;
	object-fit: cover; z-index: 0; pointer-events: none;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 45%);
	        mask-image: linear-gradient(to right, transparent, #000 45%);
}
.summers-cta__inner { position: relative; z-index: 1; display: flex; align-items: center; gap: var(--wp--preset--spacing--24); }
.summers-cta__sub { margin: 6px 0 0; color: #e6f6f8; max-width: 30ch; }
.summers-cta__actions { position: relative; z-index: 1; margin: 0; }
.summers-cta__reassure { position: relative; z-index: 1; color: #e6f6f8; font-size: var(--wp--preset--font-size--sm); margin: 10px 0 0; opacity: .92; }
.summers-cta__badge {
	width: 78px; height: 78px; flex: none; border-radius: 50%; background: var(--wp--preset--color--whatsapp);
	display: flex; align-items: center; justify-content: center; color: #fff;
	box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.summers-cta__badge svg { width: 38px; height: 38px; }
.summers-cta .summers-wa > .wp-block-button__link {
	background-color: #fff; color: var(--wp--preset--color--navy);
	font-weight: 700; padding: .9rem 1.6rem; border-radius: var(--wp--custom--radius--md);
	box-shadow: 0 6px 18px rgba(0,0,0,.16);
	box-sizing: border-box;   /* que el padding no se sume al width:100% en mobile */
}
.summers-cta .summers-wa > .wp-block-button__link svg { width: 1.25em; height: 1.25em; flex: none; }

/* ---------- Testimonios (slider: avatar izq | contenido der) ---------- */
.wp-block-post-template.summers-testi-grid {
	list-style: none; margin: 0; padding: 8px 2px 18px;
	display: flex; gap: 16px;
	overflow-x: auto; scroll-snap-type: x mandatory;
	scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.summers-testi-grid::-webkit-scrollbar { height: 0; }
.summers-testi-grid > li { margin: 0; flex: 0 0 calc((100% - 32px) / 3); scroll-snap-align: start; }
.summers-testi {
	background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--lg); padding: 22px 24px; box-shadow: var(--wp--preset--shadow--card);
	box-sizing: border-box; height: 100%; display: flex; align-items: center; gap: 18px;
}
.summers-testi__avatar { width: 66px; height: 66px; flex: none; border-radius: 50%; object-fit: cover; }
.summers-testi__avatar--ph { background: repeating-linear-gradient(45deg, #dfe6ec 0 8px, #e9eef3 8px 16px); }
.summers-testi__body { display: flex; flex-direction: column; gap: 8px; }
.summers-testi__stars { color: var(--wp--preset--color--offer); font-size: var(--wp--preset--font-size--md); letter-spacing: 2px; line-height: 1; }
.summers-testi__text { font-size: var(--wp--preset--font-size--base); color: #3a4a5a; line-height: 1.5; }
.summers-testi__name { font-weight: 700; font-size: var(--wp--preset--font-size--base); }

/* Slider (flechas + puntos, montado con JS). */
.summers-slider { position: relative; }
.summers-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
	width: 42px; height: 42px; border-radius: 50%;
	background: var(--wp--preset--color--surface); border: 1.5px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; box-shadow: var(--wp--preset--shadow--soft);
	font-size: var(--wp--preset--font-size--xl); line-height: 1;
}
.summers-slider__arrow:hover { background: var(--wp--preset--color--primary); color: #fff; }
.summers-slider__arrow:disabled { opacity: .35; cursor: default; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); }
.summers-slider__arrow--prev { left: -20px; }
.summers-slider__arrow--next { right: -20px; }
.summers-slider__dots { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.summers-slider__dot {
	position: relative;
	width: 9px; height: 9px; border-radius: 50%; border: 0; padding: 0;
	background: #cdd7e0; cursor: pointer; transition: background .2s;
}
/* Área táctil ampliada sin agrandar el punto visible. */
.summers-slider__dot::before { content: ''; position: absolute; inset: -16px -8px; }
.summers-slider__dot.is-active { background: var(--wp--preset--color--primary); width: 24px; border-radius: var(--wp--custom--radius--xs); }
.summers-slider.is-single .summers-slider__arrow { display: none; }

/* ---------- Responsive: tablet ---------- */
@media (min-width: 782px) and (max-width: 1024px) {
	.wp-block-post-template.summers-cards-grid { grid-template-columns: repeat(2, 1fr); }
	.summers-testi-grid > li { flex-basis: calc((100% - 16px) / 2); }
	.summers-cats { grid-template-columns: repeat(3, 1fr); }
	.summers-why__grid { grid-template-columns: repeat(2, 1fr); }
	.summers-steps { grid-template-columns: repeat(2, 1fr); gap: 32px 28px; }
	.summers-steps__item:not(:last-child)::after { display: none; }
}

/* ---------- Responsive: mobile ---------- */
@media (max-width: 781px) {
	/* Barra de confianza = marquee horizontal (loop CSS, sin JS) */
	/* Full-bleed: sale del padding global del grupo y pierde el radio (ribbon a lo ancho). */
	.summers-trust {
		padding: 10px 0 !important;
		margin-left: -1.5rem !important; margin-right: -1.5rem !important;   /* sale del padding global (24px) del grupo */
		margin-top: 20px !important;   /* en desktop flota (-44); en mobile solo un gap chico, no 64 */
		max-width: none;
		border-radius: 0 !important;
	}
	.summers-trust__track {
		display: flex; grid-template-columns: none;
		width: max-content; align-items: center;
		animation: summers-marquee 50s linear infinite;
	}
	.summers-trust__track .summers-trust__item--dup { display: flex; }
	/* Mobile compacto: menos padding/gap e iconos y tipografía más pequeños. */
	.summers-trust__item { flex: 0 0 auto; padding: 4px 14px; gap: 8px; }
	.summers-trust__icon { width: 28px; height: 28px; }
	.summers-trust__title { font-size: var(--wp--preset--font-size--sm); }
	.summers-trust__desc { font-size: var(--wp--preset--font-size--xs); }
	/* Pasos = lista vertical (icono izq + texto der ya es el layout base); sin flechas */
	.summers-steps-wrap { padding: var(--wp--preset--spacing--32) var(--wp--preset--spacing--24) !important; }
	.summers-steps { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--32); }
	.summers-steps__item:not(:last-child)::after { display: none; }
	.summers-steps__item { gap: 14px; }
	.summers-steps__icon { width: 58px; height: 58px; }
	.summers-steps__icon svg { width: 27px; height: 27px; }
	.summers-steps__num { width: 20px; height: 20px; bottom: -8px; font-size: var(--wp--preset--font-size--xs); }
	.summers-steps-wrap .wp-block-buttons { width: 100%; justify-content: center; }
	/* Botón cómodo en teléfono, pero con tope (380) para que no se estire como
	   banner en anchos grandes; el flex del contenedor lo centra. */
	.summers-steps-wrap .summers-wa { width: 100%; max-width: 380px; }
	/* El texto es largo: que envuelva y respete el padding, en vez de desbordarlo
	   (el icono/texto quedaban pegados a los bordes). */
	.summers-steps-wrap .summers-wa > .wp-block-button__link { width: 100%; box-sizing: border-box; justify-content: center; white-space: normal; text-align: center; line-height: 1.3; }

	/* Categorías = carrusel horizontal */
	.summers-cats {
		display: flex; grid-template-columns: none; gap: var(--wp--preset--spacing--16);
		overflow-x: auto; scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: var(--wp--preset--spacing--8);
	}
	.summers-cats::-webkit-scrollbar { height: 0; }
	.summers-cats > .summers-cat { flex: 0 0 62%; scroll-snap-align: start; }

	/* ¿Por qué elegir? = imagen arriba + beneficios 2×2 */
	.summers-why { grid-template-columns: 1fr; }
	.summers-why__media { order: -1; min-height: 240px; }
	/* Funde el borde inferior de la imagen a transparente: el gradiente real de la
	   sección se ve continuo arriba/abajo (sin escalón de color). */
	.summers-why__img {
		-webkit-mask-image: linear-gradient(to bottom, #000 58%, transparent 100%);
		        mask-image: linear-gradient(to bottom, #000 58%, transparent 100%);
	}
	.summers-why__content { padding: 40px 22px 44px; }
	.summers-why__grid { grid-template-columns: 1fr 1fr; gap: 28px 14px; }
	.summers-why__icon { width: 58px; height: 58px; margin-bottom: 12px; }
	.summers-why__icon svg { width: 26px; height: 26px; }

	/* Viaja con confianza: stats 2×2, cards apiladas */
	.summers-confianza__stats { grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--32) var(--wp--preset--spacing--16); }
	.summers-confianza__cards { grid-template-columns: 1fr; }

	/* Banner de ofertas = más aire vertical */
	.summers-offer { text-align: center; justify-content: center; padding: var(--wp--preset--spacing--32) var(--wp--preset--spacing--24); }
	.summers-offer__left { justify-content: center; }
	.summers-offer__plane { display: none; }

	/* Grids que pasan a carrusel horizontal en mobile */
	.wp-block-post-template.summers-carousel-mobile {
		display: flex; grid-template-columns: none;
		overflow-x: auto; scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch; scrollbar-width: none;
		padding-bottom: 8px;
	}
	.wp-block-post-template.summers-carousel-mobile::-webkit-scrollbar { height: 0; }
	.wp-block-post-template.summers-carousel-mobile > li { flex: 0 0 76%; scroll-snap-align: start; }

	/* Testimonios = 1 card a ancho completo (gana a summers-carousel-mobile) */
	.wp-block-post-template.summers-testi-grid > li { flex: 0 0 100%; }
	.summers-slider__arrow { display: none; }

	/* CTA = columna + botón a ancho completo; el título usa todo el ancho */
	.summers-cta { flex-direction: column; align-items: flex-start; text-align: left; }
	.summers-cta__bg { display: none; }
	.summers-cta__inner { flex-direction: column; align-items: flex-start; gap: 14px; }
	.summers-cta__sub { max-width: none; }
	.summers-cta__actions, .summers-cta .summers-wa { width: 100%; }
	.summers-cta .summers-wa > .wp-block-button__link { width: 100%; justify-content: center; }

	/* Footer: links con tap targets grandes y a ancho completo (accesibilidad) */
	.summers-footer__list { gap: 0; }
	.summers-footer__list a { display: block; padding: 11px 0; font-size: var(--wp--preset--font-size--body); }
	.summers-contact { gap: 4px; font-size: var(--wp--preset--font-size--md); }
	.summers-contact li { padding: 8px 0; }
	.summers-footer .wp-block-column { margin-bottom: 8px; }
}

/* Marquee de la barra de confianza (2 copias → loop sin costura) */
@keyframes summers-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
/* Pausa el marquee cuando la sección no está en viewport (JS añade la clase). */
.summers-trust.is-offscreen .summers-trust__track { animation-play-state: paused; }
.summers-trust.is-paused .summers-trust__track { animation-play-state: paused; }
/* Control de pausa discreto (WCAG 2.2.2): pequeño, en la esquina, tinte sutil
   que se refuerza al hover/focus. Solo en mobile, donde corre el marquee. */
.summers-trust__pause {
	display: none;
	position: absolute; top: 5px; right: 6px; z-index: 4;
	width: 24px; height: 24px; border-radius: 50%; border: 0; padding: 0;
	background: rgba(13, 43, 78, .06); color: var(--wp--preset--color--navy);
	align-items: center; justify-content: center; cursor: pointer;
	transition: background .2s ease;
}
.summers-trust__pause:hover, .summers-trust__pause:focus-visible { background: rgba(13, 43, 78, .16); }
.summers-trust__ico-play { display: none; }
.summers-trust__pause[aria-pressed="true"] .summers-trust__ico-pause { display: none; }
.summers-trust__pause[aria-pressed="true"] .summers-trust__ico-play { display: inline; }
@media (max-width: 781px) { .summers-trust__pause { display: inline-flex; } }
@media (prefers-reduced-motion: reduce) and (max-width: 781px) {
	.summers-trust { overflow-x: auto; }
	.summers-trust__track { animation: none; }
	.summers-trust__item--dup { display: none; }
}

/* ---------- Carrusel horizontal (mobile) ---------- */
/* Los patterns de destinos/testimonios usan esta clase; en desktop pasan a grid. */
.summers-carousel {
	display: flex;
	gap: var(--wp--preset--spacing--16);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: var(--wp--preset--spacing--8);
}
.summers-carousel::-webkit-scrollbar { height: 0; }
.summers-carousel > * { scroll-snap-align: start; flex: 0 0 auto; }

/* ---------- FAB WhatsApp flotante ---------- */
.summers-fab {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 100;
	width: 56px; height: 56px;
	border-radius: 50%;
	background: var(--wp--preset--color--whatsapp);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 22px rgba(37, 211, 102, .5);
}
.summers-fab svg { width: 30px; height: 30px; }

/* ---------- Micro-interacciones (hover: lift + zoom de imagen, CSS puro) ---------- */
.summers-card, .summers-cat, .summers-testi { transition: var(--summers-lift); }
.summers-card:hover, .summers-card:focus-within { transform: translateY(-6px); box-shadow: var(--wp--preset--shadow--elevated); }
.summers-cat:hover, .summers-cat:focus-visible { transform: translateY(-5px); box-shadow: var(--wp--preset--shadow--elevated); }
.summers-testi:hover, .summers-testi:focus-within { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--elevated); }
.summers-card__img, .summers-cat__media { transition: transform .5s cubic-bezier(.16, 1, .3, 1); }
.summers-card:hover .summers-card__img, .summers-card:focus-within .summers-card__img,
.summers-cat:hover .summers-cat__media, .summers-cat:focus-visible .summers-cat__media { transform: scale(1.06); }
.summers-fab { transition: transform .2s cubic-bezier(.16, 1, .3, 1), box-shadow .2s ease; }
.summers-fab:hover { transform: scale(1.08); box-shadow: 0 10px 26px rgba(37, 211, 102, .6); }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	/* Sin lift/zoom decorativo (evita saltos); el estado/color cambia igual. */
	.summers-card:hover, .summers-card:focus-within,
	.summers-cat:hover, .summers-cat:focus-visible,
	.summers-testi:hover, .summers-testi:focus-within,
	.summers-confianza__card:hover,
	.wp-element-button:hover, .wp-element-button:focus-visible, .summers-fab:hover,
	.summers-card:hover .summers-card__img, .summers-card:focus-within .summers-card__img,
	.summers-cat:hover .summers-cat__media, .summers-cat:focus-visible .summers-cat__media { transform: none; }
}

/* ==========================================================================
   Página informativa (summers/info-page) — plantilla replicable
   ========================================================================== */
/* El bloque llena el main full-width de la plantilla "page-info"; el ancho de
   lectura (1180) lo dan hero-inner/body/cta por dentro. */
.summers-info { --info-max: 1180px; }
html { scroll-behavior: smooth; }

/* Hero partido: navy sólido a la izquierda, foto a la derecha con difuminado. */
.summers-info__hero {
	position: relative; overflow: hidden;
	background: var(--wp--preset--color--navy);
	padding: var(--wp--custom--space--flow-lg) 24px var(--wp--custom--space--flow-xl);
}
.summers-info__hero-bg {
	position: absolute; top: 0; right: 0; bottom: 0; z-index: 0;
	width: 58%; height: 100%; object-fit: cover;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 42%);
	        mask-image: linear-gradient(to right, transparent 0%, #000 42%);
}
.summers-info__hero-inner { position: relative; z-index: 3; max-width: var(--info-max); margin: 0 auto; }
.summers-info__crumb { color: var(--summers-mist); font-size: var(--wp--preset--font-size--base); margin: 0 0 18px; }
.summers-info__crumb a { color: var(--summers-mist); text-decoration: none; }
.summers-info__crumb a:hover { color: #fff; text-decoration: underline; }
.summers-info__crumb span { margin: 0 6px; opacity: .6; }
.summers-info__title {
	color: #fff; font-weight: 800; line-height: 1.02; margin: 0;
	font-size: var(--wp--preset--font-size--display);
}
.summers-info__script {
	display: block; font-family: 'Pacifico', cursive; font-weight: 400;
	color: var(--summers-sky); font-size: 1.1em; line-height: 1.15; margin-top: .12em;
}
.summers-info__sun { width: .62em; height: .62em; margin: 0 0 0 .18em; vertical-align: .25em; }
/* Línea acento amarilla bajo el título */
.summers-info__accent { display: block; width: 64px; height: 4px; border-radius: var(--wp--custom--radius--xs); background: var(--wp--preset--color--offer); margin: 18px 0 0; }
.summers-info__lead { color: var(--summers-mist); max-width: 52ch; margin: 20px 0 0; font-size: var(--wp--preset--font-size--body); line-height: 1.55; }

/* Cuerpo: índice sticky + contenido */
.summers-info__body {
	max-width: var(--info-max); margin: 0 auto;
	padding: var(--wp--custom--space--flow-sm) 24px;
	display: grid; grid-template-columns: 272px 1fr; gap: clamp(32px, 5vw, 64px); align-items: start;
}
/* Índice = card blanca con sombra + estado activo en teal */
.summers-info__toc {
	position: sticky; top: 90px;
	background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--soft); padding: 12px;
}
.summers-info__toc-title {
	text-transform: uppercase; letter-spacing: 2px; font-size: var(--wp--preset--font-size--sm); font-weight: 700;
	color: var(--summers-sky); margin: 6px 12px 8px;
}
.summers-info__toc ul { list-style: none; margin: 0; padding: 0; }
.summers-info__toc li + li { border-top: 1px solid #eef2f6; }
.summers-info__toc a {
	display: flex; align-items: center; gap: 12px; padding: 13px 12px; border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--navy); text-decoration: none; font-size: var(--wp--preset--font-size--md); font-weight: 600;
	transition: background-color .2s ease, color .2s ease;
}
.summers-info__toc a:hover, .summers-info__toc a:focus-visible { background: var(--wp--preset--color--tint-cool); color: var(--summers-sky); }
.summers-info__toc a.is-active {
	background: var(--summers-sky); color: #fff;
	box-shadow: 0 6px 16px rgba(56, 198, 216, .35);
}
.summers-info__toc-ico { flex: none; width: 22px; height: 22px; display: inline-flex; }
.summers-info__toc-ico svg { width: 22px; height: 22px; transition: color .2s ease; }

/* Secciones */
.summers-info__content { display: flex; flex-direction: column; }
.summers-info__sec {
	display: flex; gap: 20px; padding: clamp(24px, 3vw, 34px) 0;
	scroll-margin-top: 90px;
}
.summers-info__sec + .summers-info__sec { border-top: 1px solid var(--wp--preset--color--border); }
.summers-info__sec-ico {
	flex: none; width: 52px; height: 52px; border-radius: 50%;
	background: var(--wp--preset--color--tint); display: inline-flex; align-items: center; justify-content: center;
}
.summers-info__sec-ico svg { width: 26px; height: 26px; color: var(--summers-sky); }
.summers-info__sec:target .summers-info__sec-ico { background: var(--summers-sky); }
.summers-info__sec:target .summers-info__sec-ico svg { color: #fff; }
.summers-info__sec-title { color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--xl); margin: 4px 0 8px; }
.summers-info__sec-desc { color: var(--wp--preset--color--text-soft); line-height: 1.65; }
.summers-info__sec-desc p { margin: 0 0 .7em; }
.summers-info__sec-desc > :last-child { margin-bottom: 0; }
/* Cuerpo WYSIWYG de cada sección: enlaces, imágenes, listas. */
.summers-info__sec-desc a { color: var(--wp--preset--color--primary); text-decoration: underline; text-underline-offset: 2px; }
.summers-info__sec-desc a:hover { color: var(--wp--preset--color--primary-dark, #0d7a8a); }
.summers-info__sec-desc strong { color: var(--wp--preset--color--navy); }
.summers-info__sec-desc :where(img, .wp-block-image, video, .wp-block-video, .wp-block-embed) { margin: .8em 0; }
.summers-info__sec-desc img { max-width: 100%; height: auto; border-radius: var(--wp--custom--radius--md); }
.summers-info__sec-desc ul, .summers-info__sec-desc ol { margin: 0 0 .7em; padding-left: 1.3em; }
.summers-info__sec-desc li { margin: 0 0 .3em; }

/* Editor de secciones (padre/hijo). */
.summers-info-sections-editor > .block-editor-inner-blocks > .block-editor-block-list__layout > .wp-block { margin-bottom: 10px; }
.summers-info-section-editor { display: flex; gap: 18px; padding: 14px; border: 1px dashed #cfd8e3; border-radius: var(--wp--custom--radius--md); }
.summers-info-section-editor .summers-info__sec-title { margin-top: 0; }

/* Banda CTA clara (mint), horizontal, con estela de avión a la izquierda. */
.summers-info__cta {
	position: relative; overflow: hidden; scroll-margin-top: 90px;
	max-width: var(--info-max); margin: 0 auto var(--wp--custom--space--flow); border-radius: var(--wp--custom--radius--xl);
	background: linear-gradient(120deg, #e9f7fa 0%, #dff1f5 100%);
	padding: clamp(30px, 4vw, 44px) clamp(28px, 4vw, 48px);
	display: flex; align-items: center; gap: clamp(20px, 3vw, 40px);
}
.summers-info__cta-plane { flex: none; line-height: 0; color: var(--wp--preset--color--navy); }
.summers-info__cta-plane svg { width: clamp(120px, 14vw, 190px); height: auto; display: block; }
.summers-info__cta-copy { flex: 1 1 auto; text-align: center; }
.summers-info__cta-title { color: var(--wp--preset--color--navy); font-weight: 800; font-size: var(--wp--preset--font-size--h-2); margin: 0; }
.summers-info__cta-text { color: var(--wp--preset--color--text-soft); margin: 8px 0 0; font-size: var(--wp--preset--font-size--body); }
.summers-info__cta-btn { flex: none; margin: 0; }

@media (max-width: 900px) {
	.summers-info__body { grid-template-columns: 1fr; }
	.summers-info__toc { position: static; }
	.summers-info__toc ul { display: grid; grid-template-columns: repeat(2, 1fr); }
	.summers-info__toc li + li { border-top: none; }
	.summers-info__cta { flex-direction: column; text-align: center; gap: 18px; }
	.summers-info__cta-plane svg { width: 130px; }
}
/* Hero mobile: foto a ancho completo + velo navy para legibilidad del texto. */
@media (max-width: 782px) {
	.summers-info__hero-bg { width: 100%; -webkit-mask-image: none; mask-image: none; }
	.summers-info__hero::before {
		content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
		background: linear-gradient(180deg, rgba(13,43,78,.5) 0%, rgba(13,43,78,.82) 100%),
		            linear-gradient(105deg, rgba(13,43,78,.75) 22%, rgba(13,43,78,.28) 100%);
	}
}
@media (max-width: 560px) {
	.summers-info__toc ul { grid-template-columns: 1fr; }
	.summers-info__toc li + li { border-top: 1px solid #eef2f6; }
	.summers-info__sec { gap: 14px; }
	.summers-info__sec-ico { width: 44px; height: 44px; }
	.summers-info__sec-ico svg { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ==========================================================================
   Página legal / términos (summers/legal-page) — documento numerado
   ========================================================================== */
.summers-legal { --legal-max: 1080px; }

/* Hero partido (idéntico patrón al de info-page, sin cursiva ni sol). */
.summers-legal__hero {
	position: relative; overflow: hidden;
	background: var(--wp--preset--color--navy);
	padding: var(--wp--custom--space--flow-lg) 24px var(--wp--custom--space--flow-lg);
}
.summers-legal__hero-bg {
	position: absolute; top: 0; right: 0; bottom: 0; z-index: 0;
	width: 58%; height: 100%; object-fit: cover;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 42%);
	        mask-image: linear-gradient(to right, transparent 0%, #000 42%);
}
.summers-legal__hero-inner { position: relative; z-index: 3; max-width: var(--legal-max); margin: 0 auto; }
.summers-legal__crumb { color: var(--summers-mist); font-size: var(--wp--preset--font-size--base); margin: 0 0 18px; }
.summers-legal__crumb a { color: var(--summers-mist); text-decoration: none; }
.summers-legal__crumb a:hover { color: #fff; text-decoration: underline; }
.summers-legal__crumb span { margin: 0 6px; opacity: .6; }
.summers-legal__title {
	color: #fff; font-weight: 800; line-height: 1.05; margin: 0; max-width: 16ch;
	font-size: var(--wp--preset--font-size--display);
}
.summers-legal__accent { display: block; width: 64px; height: 4px; border-radius: var(--wp--custom--radius--xs); background: var(--wp--preset--color--offer); margin: 20px 0 0; }
.summers-legal__lead { color: var(--summers-mist); max-width: 46ch; margin: 20px 0 0; font-size: var(--wp--preset--font-size--body); line-height: 1.55; }

/* Cuerpo WYSIWYG (InnerBlocks): prosa en una columna centrada. */
.summers-legal__content {
	max-width: var(--legal-max); margin: 0 auto; padding: clamp(36px, 5vw, 64px) 24px;
	color: var(--wp--preset--color--text-soft); line-height: 1.7;
}
/* H2 = sección, con divisor superior (menos la primera). */
.summers-legal__content h2 {
	color: var(--wp--preset--color--navy); font-weight: 700;
	font-size: var(--wp--preset--font-size--subhead); line-height: 1.25;
	margin: 2.2em 0 .55em; padding-top: 1.4em; border-top: 1px solid var(--wp--preset--color--border);
}
.summers-legal__content > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.summers-legal__content h3 {
	color: var(--wp--preset--color--navy); font-weight: 700;
	font-size: var(--wp--preset--font-size--h-3); margin: 1.6em 0 .4em;
}
.summers-legal__content p { margin: 0 0 1em; }
.summers-legal__content a {
	color: var(--wp--preset--color--primary); text-decoration: underline; text-underline-offset: 2px;
}
.summers-legal__content a:hover { color: var(--wp--preset--color--primary-dark, #0d7a8a); }
.summers-legal__content strong { color: var(--wp--preset--color--navy); font-weight: 700; }
.summers-legal__content ul, .summers-legal__content ol { margin: 0 0 1em; padding-left: 1.4em; }
.summers-legal__content li { margin: 0 0 .4em; }

/* Vista del editor (InnerBlocks). */
.summers-legal-editor__hero {
	background: var(--wp--preset--color--navy); color: #fff;
	border-radius: var(--wp--custom--radius--md); padding: 26px 28px; margin-bottom: 16px;
}
.summers-legal-editor__hero h1 { color: #fff; margin: 4px 0 0; font-size: var(--wp--preset--font-size--subhead); font-weight: 800; }
.summers-legal-editor__crumb { color: var(--summers-mist); font-size: var(--wp--preset--font-size--sm); margin: 0; }
.summers-legal-editor__accent { display: block; width: 56px; height: 4px; border-radius: var(--wp--custom--radius--xs); background: var(--wp--preset--color--offer); margin: 12px 0 0; }
.summers-legal-editor__lead { color: var(--summers-mist); margin: 12px 0 0; }
.summers-legal-editor__label {
	text-transform: uppercase; letter-spacing: 1.5px; font-size: var(--wp--preset--font-size--xs); font-weight: 700;
	color: var(--wp--preset--color--text-soft); opacity: .7; margin: 18px 0 6px;
}
.summers-legal-editor__body { border: 1px dashed #cfd8e3; border-radius: var(--wp--custom--radius--md); padding: 4px 14px; }
/* Preview de la banda CTA en el editor. */
.summers-legal-editor__cta {
	display: flex; align-items: center; gap: 16px;
	background: linear-gradient(120deg, #e9f7fa 0%, #dff1f5 100%);
	border-radius: var(--wp--custom--radius--lg); padding: 20px 22px; margin-top: 6px;
}
.summers-legal-editor__cta-badge {
	flex: none; width: 48px; height: 48px; border-radius: 50%;
	background: var(--wp--preset--color--whatsapp, var(--wp--preset--color--whatsapp)); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.summers-legal-editor__cta-badge svg { width: 26px; height: 26px; }
.summers-legal-editor__cta-copy { flex: 1 1 auto; display: flex; flex-direction: column; }
.summers-legal-editor__cta-copy strong { color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--h-3); }
.summers-legal-editor__cta-copy span { color: var(--wp--preset--color--text-soft); font-size: var(--wp--preset--font-size--base); }
.summers-legal-editor__cta-btn {
	flex: none; background: var(--wp--preset--color--primary, var(--wp--preset--color--sky)); color: #fff;
	font-weight: 700; font-size: var(--wp--preset--font-size--base); padding: 10px 18px; border-radius: var(--wp--custom--radius--md);
}

/* Banda CTA clara con badge de WhatsApp. */
.summers-legal__cta {
	position: relative; overflow: hidden;
	max-width: var(--legal-max); margin: 0 auto var(--wp--custom--space--flow); border-radius: var(--wp--custom--radius--xl);
	background: linear-gradient(120deg, #e9f7fa 0%, #dff1f5 100%);
	padding: clamp(26px, 3.5vw, 38px) clamp(28px, 4vw, 48px);
	display: flex; align-items: center; gap: clamp(18px, 3vw, 32px);
}
.summers-legal__cta-badge {
	flex: none; width: 66px; height: 66px; border-radius: 50%;
	background: var(--wp--preset--color--whatsapp, var(--wp--preset--color--whatsapp)); color: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 8px 20px rgba(37, 211, 102, .28);
}
.summers-legal__cta-badge svg { width: 34px; height: 34px; }
.summers-legal__cta-copy { flex: 1 1 auto; }
.summers-legal__cta-title { color: var(--wp--preset--color--navy); font-weight: 800; font-size: var(--wp--preset--font-size--subhead); margin: 0; }
.summers-legal__cta-text { color: var(--wp--preset--color--text-soft); margin: 6px 0 0; font-size: var(--wp--preset--font-size--body); }
.summers-legal__cta-btn { flex: none; margin: 0; }

@media (max-width: 782px) {
	.summers-legal__hero-bg { width: 100%; -webkit-mask-image: none; mask-image: none; }
	.summers-legal__hero::before {
		content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
		background: linear-gradient(180deg, rgba(13,43,78,.5) 0%, rgba(13,43,78,.82) 100%),
		            linear-gradient(105deg, rgba(13,43,78,.75) 22%, rgba(13,43,78,.28) 100%);
	}
	.summers-legal__cta { flex-direction: column; text-align: center; gap: 16px; }
}

/* ==========================================================================
   Página Contacto — hero claro, métodos, formulario+info, tira de ayuda
   ========================================================================== */

/* ---------- Contacto: hero overlay full-bleed (mismo enfoque que Nosotros,
   pero en claro: foto a todo el ancho + degradado diagonal sobre el texto) ---------- */
.summers-chero { position: relative; overflow: hidden; background: var(--wp--preset--color--base); }
.summers-chero__media { position: absolute; inset: 0; width: 100%; z-index: 0; }
.summers-chero__media img,
.summers-chero__ph { width: 100%; height: 100%; object-fit: cover; display: block; }
.summers-chero__ph {
	background: var(--wp--preset--color--tint);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
}
.summers-chero__ph-ico svg { width: 48px; height: 48px; color: var(--summers-sky); }
.summers-chero__ph-cap { color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--sm); }
/* Overlay claro diagonal: opaco a la izquierda (texto navy legible) → transparente a la derecha (foto). */
.summers-chero::after {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(102deg,
		rgba(245,247,249,.99) 0%,
		rgba(245,247,249,.97) 40%,
		rgba(245,247,249,.5) 57%,
		rgba(245,247,249,0) 74%);
}
/* Caja del hero: mismas medidas que .summers-hero (home/about) para que coincidan
   —padding, min-height 460 y centrado vertical—. Solo cambia el tema (claro). */
.summers-chero__inner {
	position: relative; z-index: 2;
	max-width: 1180px; margin: 0 auto;
	padding: var(--wp--custom--space--flow) var(--wp--preset--spacing--24);
	min-height: 460px; display: flex; flex-direction: column; justify-content: center;
}
.summers-chero__copy { width: 100%; max-width: 520px; }
.summers-chero__title { color: var(--wp--preset--color--navy); font-weight: 800; line-height: 1.05; font-size: var(--wp--preset--font-size--hero); margin: 0; }
.summers-chero__cursive { font-family: 'Pacifico', cursive; color: var(--summers-sky); font-size: var(--wp--preset--font-size--title-xl); line-height: 1.2; margin: .15rem 0 0; }
.summers-chero__sun { width: .58em; height: .58em; vertical-align: .18em; margin: 0 0 0 .12em; }
.summers-chero__text { color: var(--wp--preset--color--text-soft); line-height: 1.6; max-width: 440px; margin: 1rem 0 0; }
/* Mobile: la foto NO se parte — sigue a sangre completa. El degradado claro pasa a
   vertical (foto visible arriba, velo claro abajo) y el copy se ancla al fondo. */
@media (max-width: 782px) {
	.summers-chero__media img { object-position: 62% top; }
	.summers-chero__inner { justify-content: flex-end; min-height: clamp(500px, 130vw, 660px); }
	.summers-chero::after {
		background: linear-gradient(180deg,
			rgba(245,247,249,0) 0%,
			rgba(245,247,249,.5) 40%,
			rgba(245,247,249,.94) 66%,
			rgba(245,247,249,.99) 100%);
	}
}

/* Título de sección centrado con guion amarillo (métodos + ayuda) */
.summers-cmethods__title, .summers-chelp__title {
	text-align: center; color: var(--wp--preset--color--navy); font-weight: 800;
	font-size: var(--wp--preset--font-size--h-2); margin: 0 0 clamp(28px, 4vw, 44px);
}
.summers-cmethods__title::after, .summers-chelp__title::after {
	content: ''; display: block; width: 60px; height: 3px; margin: 16px auto 0;
	border-radius: var(--wp--custom--radius--xs); background: var(--wp--preset--color--offer);
}

/* ---------- Contacto: métodos (grid de tarjetas) ---------- */
.summers-cmethods { max-width: 1180px; margin: 0 auto; padding: var(--wp--custom--space--flow) 24px; }
.summers-cmethods__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 24px); }
.summers-cmethods__card {
	background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg); box-shadow: var(--wp--preset--shadow--soft);
	padding: clamp(22px, 2.6vw, 32px) 22px; text-align: center;
	display: flex; flex-direction: column; align-items: center;
	transition: transform .25s ease, box-shadow .25s ease;
}
.summers-cmethods__card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--hover); }
.summers-cmethods__ico {
	width: 64px; height: 64px; border-radius: 50%; background: var(--wp--preset--color--tint);
	display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.summers-cmethods__ico svg { width: 28px; height: 28px; color: var(--wp--preset--color--primary); }
.summers-cmethods__card-title { color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--h-3); margin-bottom: 8px; }
.summers-cmethods__card-desc { color: var(--wp--preset--color--text-soft); line-height: 1.55; font-size: var(--wp--preset--font-size--md); margin-bottom: 20px; }
.summers-cmethods__btn {
	margin-top: auto; display: inline-flex; align-items: center; justify-content: center;
	padding: .7rem 1.35rem; border: 1.5px solid var(--wp--preset--color--primary); border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--primary-dark); font-weight: 600; font-size: var(--wp--preset--font-size--base); text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
.summers-cmethods__btn:hover { background: var(--wp--preset--color--primary); color: #fff; }
@media (max-width: 900px) { .summers-cmethods__grid { grid-template-columns: repeat(2, 1fr); } }
/* Mobile: mantener 2×2 (no 1 columna) y compactar la tarjeta para que no quede apretada. */
@media (max-width: 560px) {
	.summers-cmethods { padding-left: 16px; padding-right: 16px; }
	.summers-cmethods__grid { gap: 12px; }
	.summers-cmethods__card { padding: 20px 14px; }
	.summers-cmethods__ico { width: 48px; height: 48px; margin-bottom: 12px; }
	.summers-cmethods__ico svg { width: 22px; height: 22px; }
	.summers-cmethods__card-title { font-size: var(--wp--preset--font-size--md); margin-bottom: 6px; }
	.summers-cmethods__card-desc { font-size: var(--wp--preset--font-size--sm); line-height: 1.45; margin-bottom: 14px; }
	.summers-cmethods__btn { width: 100%; padding: .5rem .5rem; font-size: var(--wp--preset--font-size--sm); line-height: 1.25; }
}

/* ---------- Contacto: formulario + información ---------- */
.summers-cform { max-width: 1180px; margin: 0 auto; padding: 0 24px var(--wp--custom--space--flow); }
.summers-cform__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(24px, 4vw, 48px); align-items: stretch; }
.summers-cform__title, .summers-cform__info-title {
	color: var(--wp--preset--color--navy); font-weight: 800; font-size: var(--wp--preset--font-size--subhead); margin: 0 0 24px;
}
.summers-cform__title::after, .summers-cform__info-title::after {
	content: ''; display: block; width: 48px; height: 3px; margin: 14px 0 0;
	border-radius: var(--wp--custom--radius--xs); background: var(--wp--preset--color--offer);
}
.summers-cform__form {
	background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg); box-shadow: var(--wp--preset--shadow--soft);
	padding: clamp(22px, 3vw, 36px);
}
.summers-cform__privacy { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--sm); }
.summers-cform__lock svg { width: 15px; height: 15px; color: var(--wp--preset--color--offer); }
.summers-cform__info {
	--cform-info-pad: clamp(22px, 3vw, 34px); /* fuente única: lo usa el full-bleed del mapa */
	display: flex; flex-direction: column; gap: 22px;
	background: var(--wp--preset--color--tint-cool); border-radius: var(--wp--custom--radius--lg);
	padding: var(--cform-info-pad);
}
.summers-cform__item { display: flex; gap: 14px; align-items: flex-start; }
.summers-cform__ico { flex: 0 0 auto; width: 26px; display: inline-flex; margin-top: 2px; }
.summers-cform__ico svg { width: 24px; height: 24px; color: var(--wp--preset--color--primary); }
.summers-cform__label { display: block; color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--md); margin-bottom: 2px; }
.summers-cform__value { display: block; color: var(--wp--preset--color--text-soft); text-decoration: none; }
a.summers-cform__value:hover { color: var(--wp--preset--color--primary-dark); text-decoration: underline; }
.summers-cform__note { display: block; color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--sm); margin-top: 2px; line-height: 1.5; }
.summers-cform__map { margin-top: 4px; border-radius: var(--wp--custom--radius--md); overflow: hidden; position: relative; flex: 1 1 auto; min-height: 240px; }
.summers-cform__map img,
.summers-cform__map-frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; display: block; }
.summers-cform__map-ph {
	position: absolute; inset: 0; background: var(--wp--preset--color--tint-cool); border: 1px dashed var(--wp--preset--color--border);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--sm); text-align: center; padding: 12px;
}
.summers-cform__map-ico svg { width: 30px; height: 30px; color: var(--summers-mist); }
.summers-cform__map-btn {
	position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%);
	background: var(--wp--preset--color--navy); color: #fff; text-decoration: none;
	padding: .55rem 1.1rem; border-radius: var(--wp--custom--radius--md); font-weight: 600; font-size: var(--wp--preset--font-size--sm); white-space: nowrap;
}
.summers-cform__map-btn:hover { background: var(--wp--preset--color--navy-mid); }
@media (max-width: 900px) {
	.summers-cform__grid { grid-template-columns: 1fr; }
	/* En columna única el mapa ya no se estira con el form: altura cómoda y full-bleed
	   dentro del card — cancela el padding del aside (solo el mapa) y redondea solo las
	   esquinas de abajo para seguir el borde inferior del card. */
	.summers-cform__map {
		min-height: 300px;
		margin: 4px calc(-1 * var(--cform-info-pad)) calc(-1 * var(--cform-info-pad));
		border-radius: 0 0 var(--wp--custom--radius--lg) var(--wp--custom--radius--lg);
	}
}

/* CF7 dentro del formulario de contacto (autop desactivado; markup propio) */
.summers-cform .cf7-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.summers-cform .cf7-field--full { margin-bottom: 14px; }
.summers-cform .wpcf7-form-control-wrap { display: block; }
.summers-cform .cf7-submit { margin-top: 4px; }
.summers-cform .hidden-fields-container { display: none; }
.summers-cform .wpcf7-response-output { margin: 16px 0 0; border-radius: var(--wp--custom--radius--md); font-size: var(--wp--preset--font-size--base); }
.summers-cform .wpcf7 input[type="text"],
.summers-cform .wpcf7 input[type="email"],
.summers-cform .wpcf7 input[type="tel"],
.summers-cform .wpcf7 select,
.summers-cform .wpcf7 textarea {
	width: 100%; box-sizing: border-box; padding: .8rem 1rem;
	border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--md);
	font: inherit; color: var(--wp--preset--color--navy); background: var(--wp--preset--color--surface);
}
.summers-cform .wpcf7 textarea { min-height: 120px; resize: vertical; }
/* Focus: se usa el indicador del DS (:focus-visible global, outline primary). */
.summers-cform .wpcf7 select {
	appearance: none; -webkit-appearance: none;
	padding-right: 2.6rem; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b7b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 1rem center; background-size: 15px;
}
.summers-cform .wpcf7 input[type="submit"] {
	background-color: var(--wp--preset--color--primary); color: #fff; border: 0; cursor: pointer;
	padding: .85rem 1.6rem .85rem 2.7rem; border-radius: var(--wp--custom--radius--md); font-weight: 600; font-size: var(--wp--preset--font-size--md);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13'/%3E%3Cpath d='M22 2 15 22 11 13 2 9z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: 1.15rem center; background-size: 17px;
	transition: background-color .2s ease;
}
.summers-cform .wpcf7 input[type="submit"]:hover { background-color: var(--wp--preset--color--primary-dark); }
@media (max-width: 480px) { .summers-cform .cf7-grid { grid-template-columns: 1fr; } }

/* ---------- Contacto: tira de ayuda ---------- */
.summers-chelp { max-width: 1180px; margin: 0 auto; padding: var(--wp--custom--space--flow-sm) 24px var(--wp--custom--space--flow-lg); }
.summers-chelp__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.8vw, 20px); }
.summers-chelp__card {
	display: flex; align-items: center; gap: 14px; text-decoration: none;
	background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg); box-shadow: var(--wp--preset--shadow--soft);
	padding: 18px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.summers-chelp__card:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--hover); border-color: var(--wp--preset--color--primary); }
.summers-chelp__ico {
	flex: 0 0 auto; width: 44px; height: 44px; border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--tint); display: inline-flex; align-items: center; justify-content: center;
}
.summers-chelp__ico svg { width: 22px; height: 22px; color: var(--wp--preset--color--primary); }
.summers-chelp__body { flex: 1 1 auto; min-width: 0; }
.summers-chelp__card-title { display: block; color: var(--wp--preset--color--navy); font-weight: 700; font-size: var(--wp--preset--font-size--body); }
.summers-chelp__card-desc { display: block; color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--base); line-height: 1.45; margin-top: 2px; }
.summers-chelp__chev { flex: 0 0 auto; color: var(--wp--preset--color--text-muted); }
.summers-chelp__chev svg { width: 16px; height: 16px; transform: rotate(-90deg); transition: transform .25s ease; }
.summers-chelp__card:hover .summers-chelp__chev { color: var(--wp--preset--color--primary); }
.summers-chelp__card:hover .summers-chelp__chev svg { transform: rotate(-90deg) translateY(3px); }
@media (max-width: 900px) { .summers-chelp__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .summers-chelp__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Destinos destacados — ticket horizontal en slider (sección nueva)
   Reutiliza el bloque summers/destino-card. Todo scopeado a
   .summers-ticket-slider para no afectar la sección de destinos vertical.
   Card horizontal según prompt-cards-horizontales.md (propuesta 1a).
   ========================================================================== */

/* Track del slider (flechas + puntos los monta slider.js reutilizando .summers-slider).
   Margen negativo + padding: da aire a la sombra de la card para que el overflow del
   carrusel no la recorte, manteniendo la primera card alineada al borde del contenido. */
.wp-block-post-template.summers-ticket-slider {
	list-style: none; margin: 0; padding: 6px 8px 16px;
	display: flex; gap: 18px;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 8px;
	-webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.summers-ticket-slider::-webkit-scrollbar { height: 0; }
.summers-ticket-slider > li { margin: 0; flex: 0 0 calc((100% - 18px) / 2); scroll-snap-align: start; }
/* Panel glass limpio en todo el slider (sin el borde/sombra base que se ve como recuadro). */
.summers-ticket-slider .summers-card__body { border: 0; box-shadow: none; }

/* Desktop + tablet: la card pasa a horizontal (foto izq. + panel glass der.).
   Reusa tamaños de tipografía, fondo y blur de la card base (sin inventar valores);
   solo cambia la composición y aligera la sombra (token shadow--card, como pide la spec). */
@media (min-width: 782px) {
	.summers-ticket-slider .summers-card {
		min-height: 210px;
		flex-direction: row;
		justify-content: flex-start;
		box-shadow: var(--wp--preset--shadow--card);
	}
	/* Panel glass limpio como el prototipo: sin borde ni sombra propia (se ven feos
	   sobre la foto); solo lo reubica a la derecha y recompone su interior en grid. */
	.summers-ticket-slider .summers-card__body {
		width: 60%; min-width: 270px; margin: 12px 12px 12px auto;
		display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto;
		align-content: center; align-items: center; column-gap: 16px; row-gap: 12px; padding: 16px 18px;
	}
	.summers-ticket-slider .summers-card__row {
		grid-column: 1 / -1;
		flex-direction: column; align-items: flex-start; gap: 4px;
	}
	.summers-ticket-slider .summers-card__title { min-height: 0; }
	/* Precio (izq) y CTA (der) comparten la misma fila; el precio no sube. El botón
	   tiene ancho fijo → el precio nunca lo empuja, y su texto se capa a 2 líneas. */
	.summers-ticket-slider .summers-card__cta {
		flex: none; box-sizing: border-box; width: 140px; margin-top: 0; padding: 12px 12px; gap: 8px; align-self: center;
	}
	.summers-ticket-slider .summers-card__cta > span:not(.summers-card__cta-icon) {
		display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
		text-align: left; line-height: 1.25;
	}
	.summers-ticket-slider .summers-card__price { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* Tablet: 1 ticket por vista (necesita ancho para que la foto respire) */
@media (min-width: 782px) and (max-width: 1024px) {
	.summers-ticket-slider > li { flex-basis: calc(100% - 16px); }
}

/* Mobile (<782px): la card vuelve a vertical (estilo base) dentro del carrusel */
@media (max-width: 781px) {
	.summers-ticket-slider > li { flex: 0 0 100%; }
	/* 1 card por vista alineada al padding de la sección (24px, como el título):
	   quita el 8px extra del track para que quede simétrico. Sin peek (li a 100%). */
	.wp-block-post-template.summers-ticket-slider {
		padding-inline: 0; scroll-padding-inline: 0;
	}
	/* Destinos: sin el tinte base — banda blanca a lo ancho con espacios parejos. */
	#destinos {
		background: var(--wp--preset--color--surface);
		margin: 0 -1.5rem -16px !important;   /* pega al ribbon (blanco continuo); -16 deja más aire hacia la siguiente sección */
		padding: 16px 1.5rem 24px;            /* menos aire arriba (junto al ribbon), normal abajo */
	}
	/* El slider y los dots deben ir sobre el blanco de la sección, no sobre el base del body. */
	#destinos .summers-destinos-tickets,
	#destinos .summers-slider { background: var(--wp--preset--color--surface); }
	/* Sombra sutil (no la 'elevated' fuerte) para que no haga halo gris sobre el blanco. */
	#destinos .summers-card { box-shadow: var(--wp--preset--shadow--card); }
}
