/* ==========================================================================
   Academia Descubre — styles.css
   Todos los estilos del tema. Los colores, tipografías y tamaños base
   se definen en theme.json y se usan aquí como variables de WordPress.

   Índice
   01. Tokens
   02. Base y accesibilidad
   03. Utilidades de sección (encabezados, rejillas, tarjetas, iconos)
   04. Botones
   05. Cabecera y navegación
   06. Hero
   07. Servicios
   08. Beneficios
   09. Proceso
   10. Galería
   11. Testimonios
   12. Preguntas frecuentes (acordeón)
   13. Llamado a la acción final
   14. Pie de página
   15. Páginas internas y blog
   16. Responsive: tablet
   17. Responsive: móvil
   18. Movimiento reducido
   ========================================================================== */


/* ==========================================================================
   01. Tokens
   ========================================================================== */

:root {
	--ad-ink: var(--wp--preset--color--contrast);
	--ad-muted: var(--wp--preset--color--muted);
	--ad-primary: var(--wp--preset--color--primary);
	--ad-primary-strong: var(--wp--preset--color--primary-strong);
	--ad-border: var(--wp--preset--color--border);
	--ad-border-strong: #CBD5DC;
	--ad-radius-sm: 14px;
	--ad-radius: 22px;
	--ad-radius-lg: 32px;
	--ad-shadow: var(--wp--preset--shadow--suave);
	--ad-shadow-lg: var(--wp--preset--shadow--elevada);
	--ad-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--ad-section-space: clamp(4.5rem, 9vw, 7.5rem);
	--ad-head-space: clamp(2.5rem, 5vw, 4rem);
	--ad-gap: clamp(1rem, 2vw, 1.5rem);
	--ad-header-h: 76px;
	--ad-icon-whatsapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M 12.01 2 C 6.50 2 2.02 6.47 2.02 11.98 C 2.02 13.74 2.48 15.46 3.35 16.97 L 2 22 L 7.23 20.76 C 8.69 21.55 10.33 21.97 12.00 21.97 L 12.00 21.97 C 17.51 21.97 21.99 17.49 21.99 11.99 C 22.00 9.32 20.96 6.81 19.07 4.92 C 17.19 3.04 14.68 2.00 12.01 2 z M 12.00 4 C 14.14 4.00 16.15 4.83 17.66 6.34 C 19.17 7.85 20.00 9.85 19.99 11.99 C 19.99 16.39 16.41 19.97 12.00 19.97 C 10.67 19.97 9.35 19.64 8.19 19.00 L 7.51 18.64 L 6.77 18.81 L 4.80 19.28 L 5.28 17.49 L 5.50 16.69 L 5.08 15.97 C 4.38 14.76 4.02 13.38 4.02 11.98 C 4.02 7.58 7.60 4 12.00 4 z M 8.47 7.37 C 8.30 7.37 8.03 7.43 7.81 7.68 C 7.58 7.93 6.93 8.53 6.93 9.76 C 6.93 10.99 7.83 12.18 7.95 12.34 C 8.07 12.51 9.68 15.11 12.21 16.11 C 14.32 16.94 14.75 16.78 15.21 16.74 C 15.67 16.69 16.69 16.13 16.89 15.55 C 17.10 14.97 17.10 14.47 17.04 14.36 C 16.98 14.26 16.81 14.20 16.56 14.07 C 16.31 13.95 15.09 13.34 14.86 13.26 C 14.63 13.18 14.46 13.14 14.29 13.39 C 14.13 13.64 13.65 14.20 13.50 14.36 C 13.36 14.53 13.21 14.55 12.96 14.43 C 12.71 14.30 11.91 14.04 10.96 13.19 C 10.21 12.53 9.71 11.71 9.57 11.46 C 9.42 11.21 9.55 11.07 9.68 10.95 C 9.79 10.84 9.93 10.66 10.05 10.51 C 10.18 10.37 10.22 10.26 10.30 10.10 C 10.38 9.93 10.34 9.78 10.28 9.66 C 10.22 9.53 9.73 8.30 9.51 7.81 C 9.32 7.39 9.13 7.38 8.95 7.38 C 8.80 7.37 8.64 7.37 8.47 7.37 z'/%3E%3C/svg%3E");
}


/* ==========================================================================
   02. Base y accesibilidad
   ========================================================================== */

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--ad-header-h) + 16px);
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

::selection {
	background: var(--wp--preset--color--primary-light);
	color: var(--ad-ink);
}

img {
	max-width: 100%;
	height: auto;
}

/* Elimina el espacio vertical entre cabecera, contenido y pie. */
body .wp-site-blocks > * {
	margin-block: 0;
}

/* Las secciones de la landing se apilan sin huecos. */
.wp-block-post-content.ad-landing > * {
	margin-block: 0;
}

/* Palabras destacadas en titulares. */
h1 em,
h2 em,
h3 em {
	font-style: italic;
	font-weight: 400;
	color: var(--ad-primary);
}

/* Foco visible y consistente para teclado. */
a:focus-visible,
summary:focus-visible,
button:focus-visible {
	outline: 3px solid var(--wp--preset--color--sun);
	outline-offset: 3px;
	border-radius: 6px;
}

/* Enlace "Saltar al contenido" de WordPress. */
.skip-link.screen-reader-text:focus {
	background: var(--ad-ink);
	color: #FFFFFF;
	border-radius: 999px;
	padding: 0.75rem 1.25rem;
	font-weight: 700;
	z-index: 100000;
}


/* ==========================================================================
   03. Utilidades de sección
   ========================================================================== */

.ad-section {
	padding-block: var(--ad-section-space);
}

/* Encabezado de sección */
.ad-section .ad-section-head {
	max-width: 760px;
}

.ad-section .ad-section-head--center {
	text-align: center;
	margin-inline: auto;
}

.ad-section .ad-section-head > * {
	margin-block: 0;
}

.ad-section .ad-section-head > * + * {
	margin-block-start: 1rem;
}

.ad-section > .ad-section-head + * {
	margin-block-start: var(--ad-head-space);
}

.ad-section .ad-section-head--split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem 4rem;
	align-items: end;
	max-width: var(--wp--style--global--wide-size);
}

.ad-section .ad-section-head--split > * + * {
	margin-block-start: 0;
}

.ad-section .ad-section-head__main > * {
	margin-block: 0;
}

.ad-section .ad-section-head__main > * + * {
	margin-block-start: 1rem;
}

/* Antetítulo */
.ad-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ad-primary);
}

.ad-eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--accent);
}

.ad-eyebrow--light {
	color: #FFFFFF;
}

.ad-eyebrow--light::before {
	background: var(--wp--preset--color--sun);
}

.ad-section-title {
	font-size: var(--wp--preset--font-size--xx-large);
	text-wrap: balance;
}

.ad-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	color: var(--ad-muted);
	text-wrap: pretty;
}

.ad-note {
	text-align: center;
	color: var(--ad-muted);
}

.ad-section > .ad-note {
	margin-block-start: clamp(2rem, 4vw, 3rem);
}

.ad-note a {
	font-weight: 700;
	text-underline-offset: 4px;
}

/* Rejillas responsivas */
.ad-grid {
	display: grid;
	gap: var(--ad-gap);
}

.ad-grid > * {
	margin-block: 0;
}

.ad-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ad-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ad-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Tarjeta base */
.ad-card {
	position: relative;
	background: #FFFFFF;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
	box-shadow: var(--ad-shadow);
	transition: transform 0.4s var(--ad-ease), box-shadow 0.4s var(--ad-ease), border-color 0.4s var(--ad-ease);
}

.ad-card > * {
	margin-block: 0;
}

.ad-card > * + * {
	margin-block-start: 0.75rem;
}

.ad-card__title {
	font-size: var(--wp--preset--font-size--x-large);
}

.ad-card .ad-card__title {
	margin-block-start: 1.5rem;
}

.ad-card__text {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.65;
	color: var(--ad-muted);
}

/* Iconos (imágenes SVG del tema) */
.wp-block-image.ad-icon {
	margin: 0;
	line-height: 0;
}

.wp-block-image.ad-icon img {
	width: 56px;
	height: 56px;
}

.wp-block-image.ad-icon--small img {
	width: 48px;
	height: 48px;
}

/* Etiqueta tipo "pill" */
.ad-tag {
	display: inline-block;
	padding: 0.375rem 0.875rem;
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--ad-border);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	color: var(--ad-ink);
}

.ad-card .ad-tag {
	margin-block-start: 1.25rem;
}


/* ==========================================================================
   04. Botones
   ========================================================================== */

.wp-block-button .wp-block-button__link {
	transition: background-color 0.3s var(--ad-ease), color 0.3s var(--ad-ease), box-shadow 0.3s var(--ad-ease), transform 0.3s var(--ad-ease);
}

.wp-block-button .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(10, 116, 104, 0.25);
}

/* Botón con icono de chat (WhatsApp) */
.ad-button-whatsapp .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
}

.ad-button-whatsapp .wp-block-button__link::before {
	content: "";
	flex: none;
	width: 1.2em;
	height: 1.2em;
	background-color: currentColor;
	-webkit-mask: var(--ad-icon-whatsapp) center / contain no-repeat;
	mask: var(--ad-icon-whatsapp) center / contain no-repeat;
}

/* Estilo de bloque: Secundario */
.wp-block-button.is-style-secundario .wp-block-button__link {
	background-color: #FFFFFF;
	color: var(--ad-ink);
	box-shadow: inset 0 0 0 1.5px var(--ad-border-strong);
}

.wp-block-button.is-style-secundario .wp-block-button__link:hover {
	background-color: #FFFFFF;
	color: var(--ad-ink);
	box-shadow: inset 0 0 0 1.5px var(--ad-ink), 0 10px 24px rgba(16, 33, 58, 0.08);
}

/* Estilo de bloque: Grande */
.wp-block-button.is-style-grande .wp-block-button__link {
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	padding: 1.25rem 2.5rem;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}

.wp-block-button.is-style-grande .wp-block-button__link:hover {
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
}

.wp-block-button.is-style-grande .wp-block-button__link.has-sun-background-color:hover {
	background-color: #FFC95C;
	color: var(--ad-ink);
}


/* ==========================================================================
   05. Cabecera y navegación
   ========================================================================== */

.ad-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
}

.admin-bar .ad-site-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

/* El desenfoque va en un pseudo-elemento: si se aplicara al contenedor,
   el menú móvil (position: fixed) quedaría atrapado dentro de la cabecera. */
.ad-header {
	position: relative;
	isolation: isolate;
	border-bottom: 1px solid rgba(226, 232, 236, 0.8);
}

.ad-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, 0.86);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
}

.ad-header .ad-header__inner {
	min-height: var(--ad-header-h);
	gap: 1.5rem;
}

.wp-block-image.ad-logo {
	margin: 0;
	flex: none;
	line-height: 0;
}

.wp-block-image.ad-logo img {
	width: auto;
	height: 42px;
}

.ad-nav {
	gap: 2rem;
}

.ad-nav .wp-block-navigation-item__content {
	color: var(--ad-ink);
	text-decoration: none;
	padding-block: 0.375rem;
	background-image: linear-gradient(var(--ad-primary), var(--ad-primary));
	background-size: 0% 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: color 0.3s var(--ad-ease), background-size 0.3s var(--ad-ease);
}

.ad-nav .wp-block-navigation-item__content:hover,
.ad-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--ad-primary);
	background-size: 100% 2px;
}

.ad-header .ad-header__cta {
	flex: none;
}

.ad-header .ad-header__cta .wp-block-button__link {
	font-size: var(--wp--preset--font-size--small);
	padding: 0.75rem 1.25rem;
}

/* Botones abrir / cerrar menú */
.ad-nav .wp-block-navigation__responsive-container-open,
.ad-nav .wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: var(--ad-ink);
}

.ad-nav .wp-block-navigation__responsive-container-open {
	box-shadow: inset 0 0 0 1.5px var(--ad-border-strong);
	background: #FFFFFF;
}

.ad-nav .wp-block-navigation__responsive-container-close {
	top: 0;
	right: 0;
	background: var(--wp--preset--color--surface);
}

/* Menú desplegado (móvil y tablet) */
.ad-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem clamp(1.25rem, 6vw, 3rem) 2rem;
	background: #FFFFFF;
	color: var(--ad-ink);
}

.ad-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
	padding-top: 4.5rem;
}

.ad-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0.25rem;
	width: 100%;
	align-items: stretch;
}

.ad-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--ad-border);
}

.ad-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding-block: 1rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 500;
	background-image: none;
}


/* ==========================================================================
   06. Hero
   ========================================================================== */

.ad-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3rem, 7vw, 6rem) clamp(4rem, 8vw, 7rem);
}

.ad-hero .ad-hero__grid {
	gap: clamp(2.5rem, 6vw, 5rem);
}

.ad-hero .ad-hero__content > * {
	margin-block: 0;
}

.ad-hero .ad-hero__content > * + * {
	margin-block-start: 1.5rem;
}

.ad-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.5rem 1rem 0.5rem 0.75rem;
	border-radius: 999px;
	background: #FFFFFF;
	border: 1px solid var(--ad-border);
	box-shadow: var(--ad-shadow);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--ad-ink);
}

.ad-pill::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ad-primary);
	box-shadow: 0 0 0 4px var(--wp--preset--color--mint);
}

.ad-hero .ad-hero__title {
	font-size: var(--wp--preset--font-size--display);
	text-wrap: balance;
	max-width: 13ch;
}

.ad-hero .ad-lead {
	max-width: 36rem;
}

.ad-hero .ad-hero__actions {
	gap: 0.75rem;
	padding-top: 0.5rem;
}

/* Cifras de confianza */
.ad-hero .ad-stats {
	display: grid;
	grid-template-columns: repeat(3, auto);
	justify-content: start;
	gap: 0 2rem;
	margin-block-start: 2.75rem;
	padding-top: 2rem;
	border-top: 1px solid var(--ad-border);
}

.ad-hero .ad-stats > *,
.ad-stat > * {
	margin: 0;
}

.ad-stat + .ad-stat {
	padding-left: 2rem;
	border-left: 1px solid var(--ad-border);
}

.ad-stat__value {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.625rem, 2.6vw, 2.125rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--ad-ink);
}

.ad-stat .ad-stat__label {
	margin-top: 0.25rem;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.4;
	color: var(--ad-muted);
}

/* Imagen principal */
.ad-hero .ad-hero__media {
	position: relative;
}

.ad-hero .ad-hero__media::before {
	content: "";
	position: absolute;
	inset: 8% -6% -5% 10%;
	border-radius: 40px;
	background: linear-gradient(140deg, var(--wp--preset--color--lilac), var(--wp--preset--color--mint));
	transform: rotate(3deg);
}

.wp-block-image.ad-hero__image {
	position: relative;
	margin: 0;
}

.wp-block-image.ad-hero__image img {
	display: block;
	width: 100%;
	aspect-ratio: 6 / 7;
	object-fit: cover;
	border-radius: var(--ad-radius-lg);
	box-shadow: var(--ad-shadow-lg);
}

/* Tarjeta flotante */
.ad-hero .ad-hero__badge {
	position: absolute;
	left: -2rem;
	bottom: 2.5rem;
	gap: 0.875rem;
	max-width: 340px;
	margin: 0;
	padding: 1rem 1.25rem 1rem 1rem;
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 20px;
	box-shadow: var(--ad-shadow-lg);
}

.wp-block-image.ad-hero__badge-icon {
	flex: none;
	margin: 0;
	line-height: 0;
}

.wp-block-image.ad-hero__badge-icon img {
	width: 44px;
	height: 44px;
}

.ad-hero__badge-text {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.45;
	color: var(--ad-muted);
}

.ad-hero__badge-text strong {
	font-size: var(--wp--preset--font-size--small);
	color: var(--ad-ink);
}


/* ==========================================================================
   07. Servicios
   ========================================================================== */

.ad-service {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.ad-service .ad-card__text {
	flex-grow: 1;
}

.ad-service:hover {
	transform: translateY(-6px);
	box-shadow: var(--ad-shadow-lg);
	border-color: var(--ad-border-strong);
}


/* ==========================================================================
   08. Beneficios
   ========================================================================== */

.ad-benefits .ad-benefits__grid {
	gap: clamp(2.5rem, 6vw, 5rem);
}

.ad-benefits .ad-benefits__intro > * {
	margin-block: 0;
}

.ad-benefits .ad-benefits__intro > * + * {
	margin-block-start: 1rem;
}

.wp-block-image.ad-benefits__image {
	margin-block-start: 2.5rem;
}

.ad-benefits .wp-block-image.ad-benefits__image {
	margin-block-start: 2.5rem;
}

.wp-block-image.ad-benefits__image img {
	display: block;
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border-radius: var(--ad-radius-lg);
	box-shadow: var(--ad-shadow);
}

.ad-benefit {
	background: #FFFFFF;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	padding: clamp(1.5rem, 2.4vw, 2rem);
	transition: border-color 0.3s var(--ad-ease), box-shadow 0.3s var(--ad-ease);
}

.ad-benefit:hover {
	border-color: var(--wp--preset--color--primary-light);
	box-shadow: var(--ad-shadow);
}

.ad-benefit > * {
	margin-block: 0;
}

.ad-benefit > * + * {
	margin-block-start: 0.5rem;
}

.ad-benefit .ad-benefit__title {
	margin-block-start: 1.25rem;
	font-size: var(--wp--preset--font-size--large);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.3;
}


/* ==========================================================================
   09. Proceso
   ========================================================================== */

.ad-steps {
	counter-reset: none;
}

.ad-step {
	position: relative;
	padding: clamp(1.5rem, 2.4vw, 2rem);
	border-radius: var(--ad-radius);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--ad-border);
}

.ad-step > * {
	margin-block: 0;
}

.ad-step > * + * {
	margin-block-start: 0.625rem;
}

.ad-step .ad-step__top {
	margin-block-end: 1.5rem;
}

.ad-step__number {
	margin: 0;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	background: #FFFFFF;
	border: 1px solid var(--ad-border);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ad-primary);
}

.ad-step .ad-step__title {
	margin-block-start: 0;
	font-size: var(--wp--preset--font-size--large);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

/* Línea guía entre pasos (escritorio) */
.ad-steps .ad-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: calc(clamp(1.5rem, 2.4vw, 2rem) + 24px);
	right: calc(var(--ad-gap) * -1);
	width: var(--ad-gap);
	height: 2px;
	background: var(--wp--preset--color--primary-light);
}


/* ==========================================================================
   10. Galería
   ========================================================================== */

.ad-gallery-section .ad-section-head--split .ad-lead {
	margin: 0;
}

.wp-block-gallery.ad-gallery {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: clamp(130px, 14vw, 200px);
	gap: var(--ad-gap);
}

.wp-block-gallery.has-nested-images.ad-gallery figure.wp-block-image:not(#individual-image) {
	width: auto;
	height: 100%;
	margin: 0;
	border-radius: var(--ad-radius);
	overflow: hidden;
}

.wp-block-gallery.has-nested-images.ad-gallery figure.wp-block-image:not(#individual-image) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--ad-ease);
}

.wp-block-gallery.has-nested-images.ad-gallery figure.wp-block-image:hover img {
	transform: scale(1.04);
}

/* Mosaico: 5 imágenes en 12 columnas x 4 filas */
.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(1) {
	grid-column: 1 / span 7;
	grid-row: 1 / span 2;
}

.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(2) {
	grid-column: 8 / span 5;
	grid-row: 1 / span 3;
}

.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(3) {
	grid-column: 1 / span 4;
	grid-row: 3 / span 2;
}

.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(4) {
	grid-column: 5 / span 3;
	grid-row: 3 / span 2;
}

.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(5) {
	grid-column: 8 / span 5;
	grid-row: 4 / span 1;
}

/* Pie de foto como etiqueta */
.wp-block-gallery.has-nested-images.ad-gallery figure.wp-block-image figcaption.wp-element-caption {
	inset: auto auto 1rem 1rem;
	width: auto;
	max-height: none;
	overflow: visible;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--ad-ink);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	white-space: nowrap;
	text-shadow: none;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.wp-block-gallery.has-nested-images.ad-gallery figure.wp-block-image figcaption.wp-element-caption::before {
	display: none;
}


/* ==========================================================================
   11. Testimonios
   ========================================================================== */

.ad-testimonial {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.ad-testimonial::before {
	content: "\201C";
	position: absolute;
	top: -1.25rem;
	right: 1.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 9rem;
	line-height: 1;
	color: var(--wp--preset--color--mint);
	pointer-events: none;
}

.wp-block-image.ad-stars {
	position: relative;
	margin: 0;
	line-height: 0;
}

.wp-block-image.ad-stars img {
	width: 108px;
	height: 20px;
}

.ad-testimonial .ad-testimonial__quote {
	position: relative;
	flex-grow: 1;
	margin: 1.25rem 0 0;
	padding: 0;
}

.ad-testimonial__quote p {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.7;
	color: var(--ad-ink);
}

.ad-testimonial .ad-person {
	gap: 0.875rem;
	margin-block-start: 1.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ad-border);
}

.wp-block-image.ad-person__avatar {
	flex: none;
	margin: 0;
	line-height: 0;
}

.wp-block-image.ad-person__avatar img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

.ad-person__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.5;
	color: var(--ad-muted);
}

.ad-person__text strong {
	font-size: var(--wp--preset--font-size--small);
	color: var(--ad-ink);
}


/* ==========================================================================
   12. Preguntas frecuentes (acordeón con bloque Detalles)
   ========================================================================== */

.ad-faq .ad-faq__grid {
	gap: clamp(2.5rem, 6vw, 5rem);
}

.ad-faq .ad-faq__intro > * {
	margin-block: 0;
}

.ad-faq .ad-faq__intro > * + * {
	margin-block-start: 1rem;
}

.ad-faq .ad-faq__help {
	margin-block-start: 2rem;
}

.ad-faq__help .ad-faq__help-title {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.ad-faq__help .wp-block-buttons {
	margin-block-start: 1.25rem;
}

.ad-faq .ad-faq__list > * {
	margin-block: 0;
}

.ad-faq .ad-faq__list > * + * {
	margin-block-start: 0.75rem;
}

.wp-block-details.ad-faq__item {
	background: #FFFFFF;
	border: 1px solid var(--ad-border);
	border-radius: 18px;
	transition: border-color 0.3s var(--ad-ease), box-shadow 0.3s var(--ad-ease);
}

.wp-block-details.ad-faq__item:hover {
	border-color: var(--ad-border-strong);
}

.wp-block-details.ad-faq__item[open] {
	border-color: var(--wp--preset--color--primary-light);
	box-shadow: var(--ad-shadow);
}

.ad-faq__item summary {
	position: relative;
	display: block;
	list-style: none;
	cursor: pointer;
	padding: 1.25rem 4rem 1.25rem 1.5rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	line-height: 1.45;
	color: var(--ad-ink);
}

.ad-faq__item summary::-webkit-details-marker {
	display: none;
}

.ad-faq__item summary::marker {
	content: "";
}

/* Icono + / – */
.ad-faq__item summary::before,
.ad-faq__item summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.5rem;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background: var(--ad-primary);
	transition: transform 0.35s var(--ad-ease);
}

.ad-faq__item summary::after {
	transform: rotate(90deg);
}

.ad-faq__item[open] summary::after {
	transform: rotate(0deg);
}

.ad-faq__item summary:focus-visible {
	border-radius: 18px;
	outline-offset: -3px;
}

.ad-faq__item > p {
	margin: 0;
	padding: 0 1.5rem 1.5rem;
	color: var(--ad-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.7;
}


/* ==========================================================================
   13. Llamado a la acción final
   ========================================================================== */

.ad-cta-section {
	padding-block: clamp(3rem, 6vw, 5rem) var(--ad-section-space);
}

.ad-cta {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: clamp(24px, 3vw, 40px);
	padding: clamp(3.5rem, 8vw, 6.5rem) clamp(1.5rem, 5vw, 4rem);
	text-align: center;
	box-shadow: var(--ad-shadow-lg);
}

/* Formas decorativas */
.ad-cta::before,
.ad-cta::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
}

.ad-cta::before {
	width: 520px;
	height: 520px;
	top: -260px;
	right: -140px;
	background: radial-gradient(circle, rgba(159, 227, 211, 0.35), rgba(159, 227, 211, 0) 70%);
}

.ad-cta::after {
	width: 420px;
	height: 420px;
	bottom: -220px;
	left: -120px;
	background: radial-gradient(circle, rgba(245, 184, 61, 0.22), rgba(245, 184, 61, 0) 70%);
}

.ad-cta > * {
	margin-block: 0;
}

.ad-cta > * + * {
	margin-block-start: 1.25rem;
}

.ad-cta .ad-eyebrow {
	padding: 0.45rem 1rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
}

.ad-cta .ad-cta__title {
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	text-wrap: balance;
	max-width: 18ch;
	margin-inline: auto;
}

.ad-cta .ad-cta__title em {
	color: var(--wp--preset--color--primary-light);
}

.ad-cta__text {
	max-width: 38rem;
	margin-inline: auto;
	font-size: var(--wp--preset--font-size--large);
	color: #E6F4F1;
}

.ad-cta .ad-cta__actions {
	margin-block-start: 2.25rem;
}

.ad-cta__small {
	font-size: var(--wp--preset--font-size--small);
	color: #E6F4F1;
}


/* ==========================================================================
   14. Pie de página
   ========================================================================== */

.ad-footer {
	padding-block: clamp(4rem, 7vw, 5.5rem) 2rem;
	font-size: var(--wp--preset--font-size--small);
	color: #C9D3DE;
}

.ad-footer .ad-footer__grid {
	gap: clamp(2rem, 4vw, 4rem);
}

.ad-footer .ad-footer__brand > * {
	margin-block: 0;
}

.ad-footer .ad-footer__brand > * + * {
	margin-block-start: 1.5rem;
}

.ad-footer__about {
	max-width: 22rem;
	line-height: 1.7;
}

.ad-footer .ad-footer__col > * {
	margin-block: 0;
}

.ad-footer .ad-footer__col > * + * {
	margin-block-start: 1rem;
}

.ad-footer .ad-footer__title {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-light);
}

.ad-footer .ad-footer__col > .ad-footer__title + * {
	margin-block-start: 1.25rem;
}

.ad-footer strong {
	color: #FFFFFF;
	font-weight: 700;
}

.ad-footer a {
	color: #FFFFFF;
	text-decoration-color: rgba(255, 255, 255, 0.35);
	text-underline-offset: 4px;
	transition: text-decoration-color 0.3s var(--ad-ease), color 0.3s var(--ad-ease);
}

.ad-footer a:hover {
	color: var(--wp--preset--color--primary-light);
	text-decoration-color: currentColor;
}

.ad-footer__link a {
	font-weight: 700;
}

/* Redes sociales */
.ad-footer .ad-social.wp-block-social-links {
	gap: 0.625rem;
}

.ad-footer .ad-social.wp-block-social-links .wp-social-link {
	background-color: rgba(255, 255, 255, 0.08);
	color: #FFFFFF;
	transition: background-color 0.3s var(--ad-ease), transform 0.3s var(--ad-ease);
}

.ad-footer .ad-social.wp-block-social-links .wp-social-link:hover {
	background-color: var(--ad-primary);
	transform: translateY(-2px);
}

.ad-footer .ad-social.wp-block-social-links .wp-social-link a {
	padding: 0.625rem;
	color: #FFFFFF;
}

.ad-footer .ad-social.wp-block-social-links .wp-social-link svg {
	width: 20px;
	height: 20px;
}

.ad-footer .wp-block-separator.ad-footer__divider {
	width: 100%;
	margin-block: clamp(2.5rem, 5vw, 4rem) 1.5rem;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	opacity: 1;
}

.ad-footer .ad-footer__bottom {
	margin-block-start: 0;
	gap: 0.5rem 2rem;
	font-size: var(--wp--preset--font-size--x-small);
}

.ad-footer .ad-footer__bottom > p {
	margin: 0;
}


/* ==========================================================================
   15. Páginas internas y blog
   ========================================================================== */

.ad-page {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.ad-page .ad-page__title {
	font-size: var(--wp--preset--font-size--xx-large);
	text-wrap: balance;
}

.ad-page__meta {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ad-primary);
}

.ad-page__image img {
	border-radius: var(--ad-radius-lg);
}

.ad-posts .wp-block-post-template {
	display: grid;
	gap: var(--ad-gap);
	padding: 0;
	list-style: none;
}

.ad-posts .wp-block-post-title a {
	color: var(--ad-ink);
	text-decoration: none;
}

.ad-posts .wp-block-post-title a:hover {
	color: var(--ad-primary);
}

.ad-404 {
	text-align: center;
}

.ad-404 .wp-block-buttons {
	justify-content: center;
}


/* ==========================================================================
   16. Responsive: tablet (hasta 1080px)
   ========================================================================== */

@media (min-width: 782px) {
	.ad-hero .ad-hero__grid > .ad-hero__content {
		flex-grow: 1.1;
	}

	.ad-hero .ad-hero__grid > .ad-hero__media {
		flex-grow: 0.9;
	}

	.ad-benefits .ad-benefits__grid > .ad-benefits__intro {
		flex-grow: 0.85;
		position: sticky;
		top: calc(var(--ad-header-h) + 2rem);
		align-self: flex-start;
	}

	.ad-benefits .ad-benefits__grid > .ad-benefits__list {
		flex-grow: 1.15;
	}

	.ad-faq .ad-faq__grid > .ad-faq__intro {
		flex-grow: 0.8;
		position: sticky;
		top: calc(var(--ad-header-h) + 2rem);
		align-self: flex-start;
	}

	.ad-faq .ad-faq__grid > .ad-faq__list {
		flex-grow: 1.2;
	}

	.ad-footer .ad-footer__grid > .ad-footer__brand {
		flex-grow: 1.5;
	}

	.ad-section .ad-section-head--split {
		grid-template-columns: 1.1fr 0.9fr;
	}
}

@media (max-width: 1080px) {
	/* Menú hamburguesa también en tablet */
	.ad-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.ad-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.ad-header .ad-nav {
		order: 3;
		flex: none;
	}

	.ad-header .ad-header__cta {
		margin-left: auto;
	}

	.ad-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ad-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ad-steps .ad-step:not(:last-child)::after {
		display: none;
	}

	/* Hero apilado con imagen limitada */
	.ad-hero .ad-hero__grid.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.ad-hero .ad-hero__grid.wp-block-columns > .wp-block-column {
		flex-basis: 100%;
	}

	.ad-hero .ad-hero__title {
		max-width: 16ch;
	}

	.ad-hero .ad-hero__media {
		max-width: 560px;
		width: 100%;
		margin-inline: auto;
	}

	.wp-block-image.ad-hero__image img {
		aspect-ratio: 5 / 4;
	}

	.ad-hero .ad-hero__badge {
		left: 1rem;
		bottom: 1rem;
	}

	/* Beneficios y FAQ apilados */
	.ad-benefits .ad-benefits__grid.wp-block-columns,
	.ad-faq .ad-faq__grid.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.ad-benefits .ad-benefits__grid.wp-block-columns > .wp-block-column,
	.ad-faq .ad-faq__grid.wp-block-columns > .wp-block-column {
		flex-basis: 100%;
		position: static;
	}

	.wp-block-image.ad-benefits__image img {
		aspect-ratio: 16 / 9;
	}

	.ad-footer .ad-footer__grid.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.ad-footer .ad-footer__grid.wp-block-columns > .ad-footer__brand {
		flex-basis: 100%;
	}
}


/* ==========================================================================
   17. Responsive: móvil (hasta 600px)
   ========================================================================== */

@media (max-width: 600px) {
	:root {
		--ad-header-h: 64px;
	}

	.wp-block-image.ad-logo img {
		height: 36px;
	}

	.ad-header .ad-header__inner {
		gap: 0.625rem;
	}

	/* En móvil el botón de la cabecera muestra solo el icono (el texto sigue disponible para lectores de pantalla) */
	.ad-header .ad-header__cta .wp-block-button__link {
		width: 44px;
		height: 44px;
		padding: 0;
		gap: 0;
		font-size: 0;
	}

	.ad-header .ad-header__cta .wp-block-button__link::before {
		width: 20px;
		height: 20px;
	}

	.ad-grid--2,
	.ad-grid--3,
	.ad-grid--4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.ad-hero .ad-hero__actions .wp-block-button {
		width: 100%;
	}

	.ad-hero .ad-hero__actions .wp-block-button__link {
		width: 100%;
	}

	.ad-hero .ad-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0 1rem;
	}

	.ad-stat + .ad-stat {
		padding-left: 1rem;
	}

	.wp-block-image.ad-hero__image img {
		aspect-ratio: 4 / 5;
	}

	.ad-hero .ad-hero__badge {
		left: 0.75rem;
		right: 0.75rem;
		bottom: 0.75rem;
		max-width: none;
	}

	.ad-hero .ad-hero__media::before {
		inset: 6% -4% -4% 8%;
	}

	/* Galería en dos columnas */
	.wp-block-gallery.ad-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 150px;
		gap: 0.75rem;
	}

	.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(1) {
		grid-column: 1 / span 2;
		grid-row: auto / span 1;
	}

	.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(2) {
		grid-column: 1 / span 1;
		grid-row: auto / span 2;
	}

	.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(3),
	.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(4) {
		grid-column: 2 / span 1;
		grid-row: auto / span 1;
	}

	.wp-block-gallery.ad-gallery figure.wp-block-image:nth-child(5) {
		grid-column: 1 / span 2;
		grid-row: auto / span 1;
	}

	.ad-cta .wp-block-button.is-style-grande,
	.ad-cta .wp-block-button.is-style-grande .wp-block-button__link {
		width: 100%;
	}

	.wp-block-button.is-style-grande .wp-block-button__link {
		padding: 1.125rem 1.5rem;
	}
}


/* ==========================================================================
   18. Movimiento reducido
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}

	.ad-card:hover,
	.ad-service:hover,
	.wp-block-button .wp-block-button__link:hover,
	.wp-block-gallery.has-nested-images.ad-gallery figure.wp-block-image:hover img {
		transform: none;
	}
}
