/* ═══════════════════════════════════════════════════════════════════════════
 * 02-az-base.css · hoja base del Centro
 *
 * Nace el 28-sep-2026 al unir cinco hojas que se habían ido acumulando desde
 * la época de Elementor, y al quitar de ellas todo lo que ya no pintaba nada.
 *
 * QUÉ PASÓ, EN NÚMEROS
 *   Ocho hojas del tema sumaban 258,2 KB y 797 reglas. Se probaron TODOS sus
 *   selectores contra las 99 URL publicadas que responden, cinco tipos de
 *   archivo (búsqueda, paginación del blog, etiqueta, categoría) y doce
 *   páginas renderizadas CON JavaScript, más los estados que solo existen un
 *   instante o tras una interacción: scroll, menú abierto, `no-fouc`,
 *   `az-ready`, `admin-bar`. Casaron 167 reglas. Las otras 630 no tocaban ni
 *   un elemento en ninguna parte: apuntaban al marcado de Elementor, que ya
 *   no existe en ninguna página.
 *
 *   Resultado: 258,2 KB → 44,6 KB.
 *
 * DOS COSAS QUE NO ERAN CSS MUERTO Y CONVIENE RECORDAR
 *   · Dos reglas de la hoja del personalizador llevaban `&gt;` en vez de `>`.
 *     Un analizador de CSS descarta la regla ENTERA cuando un selector de la
 *     lista es inválido, así que llevaban tiempo sin hacer nada. Una pretendía
 *     ocultar «Consigue tu guía» del menú. Se han ido con las demás porque
 *     además apuntaban a `.elementor-location-header`, que ya no existe.
 *   · `html.no-fouc body` y `body.az-menu-open` PARECÍAN muertas: sus clases
 *     las pone y las quita el JavaScript. Están vivas y aquí siguen.
 *
 * CÓMO SE COMPRUEBA SI ESTO SE VUELVE A TOCAR
 *   No vale contar reglas ni buscar nombres de clase: una regla puede nombrar
 *   el selector bueno y estar muerta. Hay que medir por el efecto —cargar las
 *   páginas de verdad y preguntar al DOM si el selector casa— y comparar el
 *   estilo calculado de todos los elementos antes y después.
 *
 * ORDEN: esto va antes de 10-az-sistema.css, que es el sistema de diseño
 * nuevo (`azs-`) y debe poder ganar sin `!important`.
 * ═══════════════════════════════════════════════════════════════════════════ */


/* ───────────────────────────────────────────────────────────────────────────
 * CUSTOMIZER HEREDADO (era prioridad 21)
 *   Lo que quedaba del CSS del personalizador de WordPress. De 107 reglas
 *   sobrevivieron 11: las que visten la cabecera propia y el pie.
 * ─────────────────────────────────────────────────────────────────────────── */

/**
 * 00-customizer-legacy.css
 *
 * Migrado desde wp-custom-css del Customizer (post 3305, 'hello-elementor')
 * Fecha: 2026-04-26T23:05:20+00:00
 * Tamano original: 47341 bytes
 *
 * Este archivo conserva todos los overrides historicos del Customizer.
 * Sera refactorizado en archivos modulares (01-base, 02-layout, etc) en FASE 5.x.
 */

/* === OCULTAR PAGE-HEADER EN PÁGINAS ELEMENTOR === */
body.page .page-header {
    display: none !important;
}

/* === FIX: ELIMINAR PADDING-TOP DE 95PX EN PÁGINAS DE TERAPIAS === */
/* Estas páginas tienen su propio hero oscuro que maneja el offset del header */
body.page-id-3642 .site-main,
body.page-id-3646 .site-main,
body.page-id-3644 .site-main,
body.page-id-3645 .site-main,
body.page-id-3643 .site-main,
body.page-id-4403 .site-main,
body.page-id-4444 .site-main,
body.page-id-4445 .site-main,
body.page-id-4446 .site-main,
body.page-id-4447 .site-main,
body.page-id-4448 .site-main,
body.page-id-4449 .site-main,
body.page-id-3648 .site-main,
body.page-id-3647 .site-main,
body.page-id-24 .site-main,
body.page-id-4136 .site-main,
body.page-id-4031 .site-main,
body.page-id-4034 .site-main,
body.page-id-3321 .site-main {
    padding-top: 0 !important;
}

/* Mobile: header más pequeño (topbar oculto, navbar ~64px) */


/* === LIMITAR TAMAÑO FOTO JAVIER EN ESCRITORIO === */


/* 3) Reducir el parpadeo inicial: fondo oscuro por defecto en el body/main de esas páginas
      para que no haya salto crema-oscuro al cargar Elementor */
body.page-id-24,
body.page-id-4136,
body.page-id-24 .site-main,
body.page-id-4136 .site-main {
    background-color: #1E2419 !important;
}

/* === FIN FIX PÁGINAS INTERNAS === */


/* === FIX PÁGINAS INTERNAS EXTENDIDO: Sobre Zentro, Contacto, Blog, TNAI === */
/* Estética Terapias: hero detrás del header */

/* Fondo oscuro SOLO en html y body de páginas con fondo oscuro continuo.
   TNAI (4136) no incluye body dark porque su contenido bajo el hero es claro. */
html:has(body.page-id-3321),
html:has(body.page-id-2640),
html:has(body.blog) {
    background-color: #1E2419 !important;
}
html body.page-id-3321,
html body.page-id-2640,
html body.blog {
    background-color: #1E2419 !important;
}


/* === FIN FIX PÁGINAS INTERNAS EXTENDIDO === */


/* === MENÚ MÓVIL FULLSCREEN (adaptable al alto/ancho del dispositivo, items repartidos) === */


/* === HOME PREMIUM FIXES (v1 · 2026-04-26) === */
/* ============================================================
   HOME_PREMIUM_FIXES_20260426.css
   ------------------------------------------------------------
   Centro Natural Área Zentro · Home (page-id 2036)
   Snippet de correcciones premium scoped a body.home / body.page-id-2036.
   NO afecta a otras páginas. NO usa wildcards genéricos ni [style*=...].
   Pega este bloque como Custom CSS del Customizer (Apariencia → Personalizar →
   CSS adicional) o como Code Snippet de tipo CSS.
   ------------------------------------------------------------
   Bloques:
   1. Variables locales (no globalizan, sólo en home)
   2. Garantía de legibilidad de CTAs primarias (terracota/oro sobre crema)
   3. Bloque hero c2da8d4 con doble defensa (gradient overlay + fallback)
   4. Eyebrows uniformes (gold-oscuro sobre crema, gold-claro sobre verde)
   5. H3 "Formación y credenciales profesionales" — refuerzo de contraste
   6. Variantes mobile (max-width: 768px)
   7. Anti-FOUC defensivo en CTAs (estilo neutro mientras carga)
   ============================================================ */

/* -----------------------------------------------------------
   1) VARIABLES LOCALES SOLO PARA HOME
   ----------------------------------------------------------- */
body.home,
body.page-id-2036 {
  --home-cta-bg-start: #A88141;     /* gold-oscuro */
  --home-cta-bg-end:   #8B6B32;     /* gold-más-oscuro (contraste 5.2:1 con #FFF) */
  --home-cta-text:     #FFFFFF;
  --home-cta-bg-hover-start: #37412F; /* verde bosque */
  --home-cta-bg-hover-end:   #2A3124; /* verde profundo */
  --home-text-on-cream:      #2A3124; /* fallback texto sobre crema */
  --home-eyebrow-on-cream:   #8B6B32; /* gold oscuro AA sobre crema */
  --home-eyebrow-on-dark:    #E3C590; /* gold claro sobre verde */
  --home-cream:              #F5EFE7;
  --home-cream-soft:         #F8F4EE;
}

/* -----------------------------------------------------------
   6) MOBILE — variantes (max-width: 768px)
      a) CTAs: padding más compacto + asegurar tap target ≥ 44px
      b) Hero: comprimir text-shadow para no saturar pantallas pequeñas
      c) H3 badges: reducir tamaño y mantener centrado
   ----------------------------------------------------------- */

/* === FIN FIX FULL-WIDTH ELEMENTOR PAGES === */


/* === TRUSTINDEX · sustitución «A base de 156 reseñas» (2026-04-26) === */
.ti-widget .ti-rating-text .nowrap,
.ti-rating-text .nowrap {
  font-size: 0 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}
.ti-widget .ti-rating-text .nowrap::after,
.ti-rating-text .nowrap::after {
  content: "Reseñas publicadas en Google";
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  color: inherit;
  display: inline-block;
}
.ti-widget .ti-rating-text .nowrap > * {
  display: none !important;
}
/* === FIN TRUSTINDEX patch === */

/* === HOME MOBILE-FIRST PREMIUM v2 · 2026-04-26 === */
/* Scoped 100% a body.page-id-2036 (home areazentro.com).
   Mobile-first + ajustes tipograficos premium.
   No toca header, menu, formularios, Square, footer, instituto. */


@media (max-width: 768px) {
  body.page-id-2036 .ti-widget {
    margin-block: 14px !important;
  }
  body.page-id-2036 .cta-sticky-mobile { z-index: 9999 !important; }
  body.page-id-2036 { padding-bottom: 56px !important; }
  body.page-id-2036 footer p,
  body.page-id-2036 footer li,
  body.page-id-2036 footer a {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
}


/* === FIN HOME MOBILE-FIRST PREMIUM v2 === */


/* === FIX BUGS HOME 2026-04-26 v4 === */
/* Decisión user: el header con caja flotante al scroll se queda — gusta el estilo.
   En v4 NO hay reset al navbar mobile (el bloque B.2 v3 fue eliminado).
   Solo se compactan EL CENTRO y TNAI cards y se sube el WhatsApp. */

/* B.3 v4 — EL CENTRO (.elementor-element-9dd6b00) más compacto en mobile */


/* B.4 v4 — TNAI cards b1..b4 con menos blanco */


/* B.6 v4 — WhatsApp/Chaty offset (no quedar fuera de la pantalla) */
@media (max-width: 768px) {
  /* Reducir padding-bottom del body home para que no haya tanto blanco al fondo */
  body.page-id-2036 {
    padding-bottom: 50px !important;
  }
}

/* === FIN FIX BUGS HOME v4 === */


/* ───────────────────────────────────────────────────────────────────────────
 * BASE DEL TEMA (era prioridad 22, 02-az-final.css)
 *   El grueso del diseño anterior. De 513 reglas quedan 93 enteras y 22 con
 *   la lista de selectores recortada. Aquí viven los tokens `--az-*`, la
 *   tipografía Cormorant de los titulares y la familia `.az-dark-auto`.
 * ─────────────────────────────────────────────────────────────────────────── */

/**
 * az-final.css - migrado desde snippet 5 en 2026-04-26T23:08:44+00:00
 */


/* ========================================================================
 * AZ Sistema de Diseño Premium - UNIFICADO (FASE 2-A . 2026-04-26)
 * 1 solo bloque consolidando 7 bloques historicos
 * Bloques fusionados: az-premium-v5/v13/v15/v19, az-v23-noop, az-z9-logo-final, az-v25-libros-menu-fix
 * Orden cronologico preservado (cascade equivalente al original)
 * ======================================================================== */

/* SECCION 01 — Sistema base de diseño (variables, tipografía, header genérico, botones) */
/* ========================================================================
   AZ — SISTEMA DE DISEÑO PREMIUM V5
   Paleta diferenciada: verde bosque + gold cobre + crema cálida
   Tipografía: Cormorant Garamond (display) + Alexandria (body)
   ======================================================================== */

:root {
  --az-verde-bosque: #37412F;
  --az-verde-profundo: #2A3124;
  --az-gold: #C49B57;
  --az-gold-oscuro: #A88141;
  --az-gold-claro: #E3C590;
  --az-crema-base: #F5EFE7;
  --az-crema-suave: #FAF5EC;
  --az-tierra: #5B4A3A;
  --az-tierra-suave: #8B7862;
  --az-blanco-calido: #FDFBF5;
  --az-overlay: rgba(42, 49, 36, 0.72);
  --az-overlay-suave: rgba(42, 49, 36, 0.55);
}

/* ============ TIPOGRAFÍA GLOBAL ============ */
body, body.home, body.page {
  font-family: "Alexandria", "Inter", -apple-system, system-ui, sans-serif !important;
  color: var(--az-tierra) !important;
  background-color: var(--az-crema-base) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
  color: var(--az-verde-bosque) !important;
  letter-spacing: -0.01em;
  line-height: 1.15;
  font-weight: 600;
}

p, li, blockquote, span:not([class*="elementor-icon"]) {
  color: var(--az-tierra);
}

/* ============ BOTONES PREMIUM (contraste AA) ============ */
/* Gold primario — fondo gold-oscuro #A88141 sobre crema → contraste 4.65 AA */
.wp-block-button__link,
button[type="submit"] {
  background: var(--az-gold-oscuro) !important;
  background-image: linear-gradient(135deg, #B08A45 0%, #A88141 100%) !important;
  color: #FFFFFF !important;
  font-family: "Alexandria", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 0.875rem 2rem !important;
  box-shadow: 0 2px 12px rgba(168, 129, 65, 0.25) !important;
  transition: all 0.3s ease !important;
}
.wp-block-button__link:hover,
button[type="submit"]:hover {
  background: var(--az-verde-bosque) !important;
  background-image: linear-gradient(135deg, #37412F 0%, #2A3124 100%) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 18px rgba(55, 65, 47, 0.3) !important;
}

/* ============ FORMULARIOS ============ */
input[type="text"],
input[type="email"],
textarea,
select {
  background: #FFFFFF !important;
  border: 1.5px solid #D4C9B8 !important;
  border-radius: 4px !important;
  padding: 0.75rem 1rem !important;
  font-family: "Alexandria", sans-serif !important;
  color: var(--az-tierra) !important;
  font-size: 0.95rem !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: var(--az-gold) !important;
  box-shadow: 0 0 0 3px rgba(196, 155, 87, 0.18) !important;
}
label {
  color: var(--az-verde-bosque) !important;
  font-weight: 500 !important;
  font-family: "Alexandria", sans-serif !important;
  letter-spacing: 0.02em;
}

/* ============ FOOTER ============ */
footer {
  background: var(--az-verde-profundo) !important;
}
footer * {
  color: rgba(245, 239, 231, 0.85) !important;
}
footer a:hover {
  color: var(--az-gold-claro) !important;
}

/* ============ LINKS INLINE ============ */
main a, article a {
  color: var(--az-gold-oscuro);
  text-decoration-color: rgba(168, 129, 65, 0.4);
  text-underline-offset: 3px;
  transition: color 0.25s ease;
}
main a:hover, article a:hover {
  color: var(--az-verde-bosque);
  text-decoration-color: var(--az-verde-bosque);
}

/* ============ CITAS Y BLOCKQUOTES ============ */
blockquote {
  border-left: 3px solid var(--az-gold) !important;
  padding-left: 1.5rem !important;
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  font-size: 1.25rem;
  color: var(--az-verde-bosque);
}

/* ============ RESPONSIVE FINE-TUNING ============ */
@media (max-width: 767px) {
  h1 {
    font-size: clamp(2rem, 7vw, 2.75rem) !important;
  }
}

/* ============ SECCIONES CON FONDO OSCURO (global fix) ============ */
/* Cualquier .e-con con fondo verde bosque/profundo → textos claros */
.e-con[style*="background-color:#37412F"],
.e-con[style*="background-color: #37412F"],
.e-con[style*="background-color:#2A3124"],
.e-con[style*="background-color: #2A3124"],
.e-con[style*="background-color:rgb(55, 65, 47)"],
.e-con[style*="background-color:rgb(42, 49, 36)"],
.elementor-element.elementor-element-d78ad8d,
.elementor-element.elementor-element-d78ad8d *,
#metodo-tnai,
#metodo-tnai *,
[id*="metodo"] [class*="heading-title"],
[class*="-bg-verde"] *,
[class*="-bg-dark"] * {
  color: var(--az-crema-base) !important;
}

/* ============ FIX TEMPLATE DEFAULT (páginas sin Elementor wrapper) ============ */
html body,
body.page,
body.page-template-default,
body.wp-singular,
body.page-id-3646,
body.page-id-3647,
body.page-id-3648 {
  background-color: var(--az-crema-base) !important;
}

/* Entry-title (páginas default) */
body.page-template-default .entry-title,
body.page .entry-title,
.page-header .entry-title {
  color: var(--az-verde-bosque) !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 1.5rem;
}

/* Páginas sin hero premium → añadir espaciado */
body.page-template-default .page-header,
body.page .page-header {
  padding: 4rem 2rem 2rem !important;
  background: var(--az-crema-suave) !important;
  border-bottom: 1px solid rgba(196, 155, 87, 0.2);
  margin-bottom: 2rem;
}

/* Contenedor principal */
body.page-template-default .site-main,
body.page .site-main,
body.page-template-default main,
body.page main {
  background: var(--az-crema-base) !important;
  padding: 0 !important;
}

/* ============ HEROES POR DETECCIÓN JS RUNTIME (V13) ============ */
/* Script runtime que marca automáticamente heroes con bg-image como .az-hero */

/* ============ FIX PAGINAS SIN ELEMENTOR (.page-content) ============ */
/* Aplica los mismos estilos de .entry-content a .page-content */
/* para paginas Gutenberg/classic como Libros que usan .page-content */
body.page-template-default .page-content,
body.page .page-content {
  max-width: 780px;
  margin: 0 auto;
  padding: 2rem;
  color: var(--az-tierra) !important;
  font-family: "Alexandria", sans-serif !important;
  line-height: 1.7;
}
body.page-template-default .page-content p,
body.page .page-content p {
  color: var(--az-tierra) !important;
  margin-bottom: 1.25rem;
}
body.page-template-default .page-content h2,
body.page .page-content h2,
body.page-template-default .page-content h3,
body.page .page-content h3 {
  color: var(--az-verde-bosque) !important;
  font-family: "Cormorant Garamond", serif !important;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
body.page-template-default .page-content img,
body.page .page-content img {
  max-width: 100%;
  height: auto;
}
body.page-template-default .page-content hr,
body.page .page-content hr {
  margin: 2.5rem 0;
  border: 0;
  border-top: 1px solid rgba(196, 155, 87, 0.3);
}

/* Aplicar estilos a secciones oscuras auto-detectadas */
.az-dark-auto h1,
.az-dark-auto h2,
.az-dark-auto h3,
.az-dark-auto h4 {
  color: var(--az-crema-base) !important;
  font-family: "Cormorant Garamond", serif !important;
}
.az-dark-auto p {
  color: rgba(245, 239, 231, 0.9) !important;
}
.az-dark-auto a {
  color: var(--az-gold-claro) !important;
}

/* ============ FIX PÁGINAS CON BODY VERDE OSCURO (V14) ============ */
/* Cuando el body tiene bg verde oscuro, los headings en primera pantalla → crema */
body[style*="background: rgb(30, 36, 23)"],
body[style*="background-color: rgb(30, 36, 23)"],
body.elementor-page {
  background-color: var(--az-crema-base) !important;
}

/* Si body es oscuro, forzar headings visibles */
body[style*="rgb(30, 36, 23)"] h1,
body[style*="rgb(30, 36, 23)"] h2,
body[style*="rgb(30, 36, 23)"] .elementor-heading-title {
  color: var(--az-crema-base) !important;
}

/* 2) PERFORMANCE: imagen de Javier reducir carga */
/* Fuerza el navegador a usar una variante más pequeña del srcset */
img[src*="JavierZentro"] {
  max-width: 100%;
  height: auto;
  aspect-ratio: 999 / 1406;
}

/* 3) BOTONES: sistema de contraste AA unificado */
/* Botón primario (gold) — texto BLANCO sobre gold oscuro (contraste 5.2:1) */
.wp-block-button__link,
button[type="submit"]:not([class*="ff-"]) {
  background: #8B6B32 !important;
  background-image: linear-gradient(135deg, #A88141 0%, #8B6B32 100%) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
  border: none !important;
  border-radius: 4px !important;
  padding: 0.875rem 2rem !important;
  box-shadow: 0 2px 12px rgba(139, 107, 50, 0.25) !important;
  transition: all 0.3s ease !important;
}
.wp-block-button__link:hover {
  background: #37412F !important;
  background-image: linear-gradient(135deg, #37412F 0%, #2A3124 100%) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 18px rgba(55, 65, 47, 0.35) !important;
}

/* ============ FIX V19 — PERFORMANCE & FOUC ============ */

/* Evitar FOUC: ocultar body hasta que DOMContentLoaded (con fallback) */
html.no-fouc body { opacity: 0.01; transition: opacity 0.3s ease; }
html.fouc-ready body { opacity: 1; }


/* ===== COMPENSACIÓN LAYOUT ===== */
/* HOME: hero pegado arriba del todo, header flota ENCIMA */
body.home main,
body.home #content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* INTERIORES: main compensa con padding-top del header */
body:not(.home) main.site-main {
  padding-top: 110px !important;
  position: relative;
  z-index: 1;
}


/* Bloquear scroll del body cuando overlay abierto */
body.az-menu-open {
  overflow: hidden !important;
}

/* Padding lateral en interiores */


/* Fallback sin backdrop-filter */


/* En pantallas <1280px reducir más el font o cambiar layout */

/* Desktop */

/* Tablet */

/* Movil */


/* ==== TOGGLE HAMBURGUESA / X visible ==== */


/* ==== MENU OFFCANVAS: pantalla completa + items iluminados ==== */


/* Desktop hover de menu (sutil) */


/* Toggle hamburguesa visible en movil + espacio al contenido */


/* Menu off-canvas a pantalla completa cuando esta abierto */


/* Hover de fila completa en menu desktop */


/* Fix submenú móvil: evitar que el UL padre atenúe al submenú activo */


/* SECCION 07 — V25 fix menú "libros" + mobile fullscreen */
/* ===== 1) Imagen libro en movil: quitar float y centrar ===== */
@media (max-width: 768px) {
  .page-content p img[alt*="Cupido" i],
  .page-content p img[style*="float"] {
    float: none !important;
    display: block !important;
    margin: 16px auto !important;
    max-width: 220px !important;
  }
  .page-content p:has(> img[style*="float"]),
  .page-content p:has(> img[alt*="Cupido" i]) {
    text-align: center !important;
    margin: 16px 0 !important;
  }
}

/* ===== 2) Menu movil a pantalla completa tambien al hacer scroll ===== */
@media (max-width: 1024px) {
  html body.az-menu-open {
    overflow: hidden !important;
  }
}

/* BUG FIX 2: font-weight bold textual → 700 numérico */
.cta-sticky-mobile a,
.guia-banner-cta {
    font-weight: 700 !important;
}

/* 2) Containers con fondo verde oscuro inline: redefine --az-tierra */
.az-dark-auto {
    --az-tierra: #F5EFE7 !important;
    --az-gold-claro: #F5EFE7 !important;
    --az-gold: #F5EFE7 !important;
    --az-amber: #F5EFE7 !important;
    --az-dorado: #F5EFE7 !important;
}

/* 6) Inline styles cálidos directos → beige */
[style*="color:#5B4A3A"], [style*="color: #5B4A3A"], [style*="color:#5b4a3a"], [style*="color: #5b4a3a"],
[style*="color:rgb(91, 74, 58)"], [style*="color: rgb(91, 74, 58)"],
[style*="color:rgb(91,74,58)"] {
    color: #F5EFE7 !important;
}

/* ============================================================
 * Fin AZ Polish v1
 * ============================================================ */


/* ============================================================
 * FIX MENU MOBILE FULLSCREEN EN SCROLL (2026-04-27)
 * ============================================================
 * Causa: cuando body.az-scrolled, el JS aplica:
 *   navbar: top:10, left:16, right:16, border-radius:16 (caja flotante)
 *   menu widget 937f571: transform: scale(0.85)
 * El transform crea nuevo containing block → position:fixed del dropdown
 * deja de ser relativo al viewport y NO llega a pantalla completa.
 *
 * Solución: cuando AMBAS clases (az-scrolled + az-menu-open) en body:
 *   1) Quitar transform del menu widget
 *   2) Reset navbar a top:0/left:0/right:0/border-radius:0 (full width)
 *   3) Forzar el dropdown a 100vw/100vh (defensivo, ya cubierto en otras reglas)
 * ------------------------------------------------------------ */


/* ============================================================
 * Fin FIX MENU MOBILE FULLSCREEN EN SCROLL
 * ============================================================ */


/* ============ AZ DISCLAIMER GLOBAL v1 ============
 * Estilo del bloque disclaimer inyectado por MU-plugin az-disclaimer.php
 * en paginas de terapias / TNAI / cupido. Crema sutil con borde gold.
 * ====================================================================== */

.az-disclaimer-block {
    max-width: 920px;
    margin: 60px auto 40px;
    padding: 26px 32px;
    background: rgba(245, 239, 231, 0.55);
    border: 1px solid rgba(196, 155, 87, 0.22);
    border-left: 3px solid #C49B57;
    border-radius: 14px;
    font-family: 'Alexandria', sans-serif;
    font-size: 0.92rem;
    line-height: 1.7;
    color: #4A4A41;
}
.az-disclaimer-block p {
    margin: 0 0 12px 0;
}
.az-disclaimer-block p:last-child {
    margin-bottom: 0;
}
.az-disclaimer-block .az-disclaimer-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.05rem;
    color: #2A3124;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
}
@media (max-width: 768px) {
    .az-disclaimer-block {
        margin: 40px 20px 30px;
        padding: 22px 22px;
        font-size: 0.88rem;
    }
}


/* ============ AZ AUTHORITY BLOCK v1 ============ */
.az-authority-block {
    background: linear-gradient(180deg, #F5EFE7 0%, #FAF6EE 100%);
    padding: 80px 24px;
    margin: 0;
    border-top: 1px solid rgba(196, 155, 87, 0.18);
}
.az-authority-inner {
    max-width: 1180px;
    margin: 0 auto;
    text-align: center;
}
.az-authority-eyebrow {
    font-family: 'Alexandria', sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #C49B57;
    font-weight: 600;
    margin: 0 0 14px 0;
}
.az-authority-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: #2A3124;
    line-height: 1.25;
    font-weight: 600;
    max-width: 760px;
    margin: 0 auto 50px;
    letter-spacing: 0.005em;
}
.az-authority-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    margin: 0 auto;
}
.az-authority-card {
    background: #FFFFFF;
    border: 1px solid rgba(196, 155, 87, 0.20);
    border-radius: 14px;
    padding: 28px 18px;
    text-decoration: none;
    color: #2A3124;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}
.az-authority-card.az-authority-card-static {
    cursor: default;
}
.az-authority-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(30, 36, 25, 0.10);
    border-color: rgba(196, 155, 87, 0.45);
}
.az-authority-icon {
    color: #C49B57;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.az-authority-num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    color: #2A3124;
    font-weight: 600;
    line-height: 1.1;
}
.az-authority-label {
    font-family: 'Alexandria', sans-serif;
    font-size: 0.82rem;
    color: #5A5A52;
    line-height: 1.4;
    text-align: center;
}
.az-authority-foot {
    font-family: 'Alexandria', sans-serif;
    font-size: 0.78rem;
    color: #6F6A60;
    margin: 36px auto 0;
    max-width: 720px;
    line-height: 1.6;
    font-style: italic;
}
@media (max-width: 1024px) {
    .az-authority-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
    .az-authority-block { padding: 56px 16px; }
    .az-authority-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .az-authority-card { padding: 22px 12px; }
    .az-authority-num { font-size: 1.15rem; }
    .az-authority-label { font-size: 0.76rem; }
}


/* ============ AZ AUTHORITY BLOCK v2 - 6 cols ============ */
.az-authority-grid { grid-template-columns: repeat(6, 1fr) !important; gap: 14px !important; }
.az-authority-card { padding: 24px 12px !important; min-height: 145px !important; }
.az-authority-num { font-size: 1.18rem !important; line-height: 1.15 !important; }
.az-authority-label { font-size: 0.78rem !important; line-height: 1.4 !important; }
.az-card-tv:hover { background: linear-gradient(180deg, #FFFFFF 0%, #FAF6EE 100%) !important; }
@media (max-width: 1024px) {
    .az-authority-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
    .az-authority-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .az-authority-card { padding: 20px 10px !important; min-height: 130px !important; }
    .az-authority-num { font-size: 1rem !important; }
    .az-authority-label { font-size: 0.72rem !important; }
}


/* ============ AZ RELATED LINKS BLOCK v1 ============ */
.az-related-block {
    background: rgba(245, 239, 231, 0.4);
    padding: 60px 24px;
    margin: 0;
    border-top: 1px solid rgba(196, 155, 87, 0.18);
}
.az-related-inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}
.az-related-eyebrow {
    font-family: 'Alexandria', sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #C49B57;
    font-weight: 600;
    margin: 0 0 12px 0;
}
.az-related-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.4rem, 2.6vw, 1.85rem);
    color: #2A3124;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 32px 0;
}
.az-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    text-align: left;
}
.az-related-card {
    background: #FFFFFF;
    border: 1px solid rgba(196, 155, 87, 0.20);
    border-radius: 14px;
    padding: 20px 22px;
    text-decoration: none;
    color: #2A3124;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.az-related-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(30, 36, 25, 0.10);
    border-color: rgba(196, 155, 87, 0.50);
}
.az-related-card-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.18rem;
    font-weight: 600;
    color: #2A3124;
    line-height: 1.25;
}
.az-related-card-sub {
    font-family: 'Alexandria', sans-serif;
    font-size: 0.85rem;
    color: #5A5A52;
    line-height: 1.5;
}
.az-related-card-arrow {
    position: absolute;
    top: 22px;
    right: 18px;
    color: #C49B57;
    transition: transform 0.2s ease;
}
.az-related-card:hover .az-related-card-arrow { transform: translateX(3px); }
@media (max-width: 768px) {
    .az-related-block { padding: 44px 18px; }
    .az-related-grid { grid-template-columns: 1fr; gap: 10px; }
}


/* ============ AZ AUTHORITY ICON LOGO v1 ============ */
.az-authority-icon.az-icon-logo {
    width: 40px; height: 40px;
    border-radius: 8px;
    background: rgba(255,255,255,0.95);
    padding: 4px;
    box-shadow: 0 2px 6px rgba(30,36,25,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 8px;
}
.az-authority-icon.az-icon-logo img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: block;
}


/* ============ AZ AUTHORITY BLOCK v4 - 9 cards 3x3 ============ */
.az-authority-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; }
.az-authority-card { padding: 28px 18px !important; min-height: 165px !important; }
.az-authority-num { font-size: 1.22rem !important; line-height: 1.18 !important; }
.az-authority-label { font-size: 0.82rem !important; line-height: 1.45 !important; }
.az-authority-eyebrow { font-size: .76rem !important; }
.az-card-tv:hover { background: linear-gradient(180deg, #FFFFFF 0%, #FAF6EE 100%) !important; }
@media (max-width: 1024px) {
    .az-authority-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    .az-authority-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .az-authority-card { padding: 20px 12px !important; min-height: 140px !important; }
    .az-authority-num { font-size: 1rem !important; }
    .az-authority-label { font-size: 0.74rem !important; }
}


/* ============ AZ AUTHORITY BLOCK v5 - 10 cards 5x2 ============ */
.az-authority-grid { grid-template-columns: repeat(5, 1fr) !important; gap: 14px !important; }
.az-authority-card { padding: 24px 14px !important; min-height: 160px !important; }
.az-authority-num { font-size: 1.05rem !important; line-height: 1.18 !important; }
.az-authority-label { font-size: 0.76rem !important; line-height: 1.4 !important; }
@media (max-width: 1200px) {
    .az-authority-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
    .az-authority-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .az-authority-card { padding: 20px 10px !important; min-height: 130px !important; }
    .az-authority-num { font-size: 0.92rem !important; }
    .az-authority-label { font-size: 0.7rem !important; }
}


/* === AZ HAMBURGER WHITE FINAL === */

@keyframes az-marquee-f4771ad {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

/* Reduce motion fallback */

/* === AZ BANNER F4771AD END === */


/* === AZ COOKIES GUIDE Z-INDEX FIX === */
/* Cookies Moove encima de TODO mientras visibles */
html body #moove_gdpr_cookie_info_bar,
html body #moove_gdpr_cookie_modal {
    z-index: 999999999 !important;
}
/* === AZ HAMBURGER NUCLEAR END === */


/* ============================================================
   AZ HAMBURGER FINAL — pure CSS, max specificity
   ============================================================ */


/* ============================================================
   AZ HAMBURGER FINAL — pure CSS, max specificity
   ============================================================ */


/* === Hamburger sin borde — solo las 3 barras === */


/* === Hamburger sin borde — solo las 3 barras === */


/* === Hamburger FINAL — sin caja, barras grandes === */


/* === Hamburger FINAL — sin caja, barras grandes === */


/* ============================================================
   7-ago-2026 · ARREGLO · titulares invisibles dentro de cajas oscuras
   Síntoma: en /test-5-heridas/ el titular salía verde bosque sobre caja verde
   bosque (ilegible); en el editor se veía bien porque esta hoja no se aplica allí.
   Causa medida: tres reglas con !important compitiendo en ESTA MISMA hoja —
     h1,h2,h3…                     verde  (0-0-1)
     .az-dark-auto h1,h2…          crema  (0-1-1)  ← la excepción de secciones oscuras
     body.page .page-content h2…   verde  (0-2-2)  ← ganaba esta
   La excepción pesaba menos que la regla de página. Se le sube el peso.
   ============================================================ */
body .page-content .az-dark-auto h1,
body .page-content .az-dark-auto h2,
body .page-content .az-dark-auto h3,
body .page-content .az-dark-auto h4,
body.page .page-content .az-dark-auto h1,
body.page .page-content .az-dark-auto h2,
body.page .page-content .az-dark-auto h3,
body.page .page-content .az-dark-auto h4,
body.page-template-default .page-content .az-dark-auto h1,
body.page-template-default .page-content .az-dark-auto h2,
body.page-template-default .page-content .az-dark-auto h3,
body.page-template-default .page-content .az-dark-auto h4 {
  color: var(--az-crema-base) !important;
}


/* ───────────────────────────────────────────────────────────────────────────
 * ANTI-SALTOS DE MAQUETA (era prioridad 24)
 *   Reserva de espacio para que la página no baile al cargar.
 * ─────────────────────────────────────────────────────────────────────────── */

/**
 * 03-cls-fixes.css - Reservaciones de espacio para evitar CLS.
 * Creado 2026-04-27T08:25:58+00:00
 */

/* === FIX 1: Imagen Javier - aspect ratio fallback ===
 * Si el atributo width/height del HTML aun no se actualizo,
 * el aspect ratio CSS evita el shift al cargar */
img[src*="JavierZentro"] {
  aspect-ratio: 800 / 1126 !important;
  height: auto !important;
}


/* === FIX 4 BONUS: aspect-ratio para todas las imagenes con loading=lazy ===
 * Las lazy-loaded sin width/height son grandes generadores de CLS */
img[loading="lazy"]:not([width]):not([height]) {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}

/* === FIX 5: Banner Guia gratuita - reservar padding del body ===
 * Ya esta definido pero refuerzo */
@media (min-width: 769px) {
  body { padding-bottom: 60px !important; }
}
@media (max-width: 768px) {
  body { padding-bottom: 56px !important; }
}


/* Reserva fija para paginas sin pull-up: body padding-top global */
body:not(.page-id-3642):not(.page-id-3643):not(.page-id-3644):not(.page-id-3645):not(.page-id-3646):not(.page-id-3648):not(.page-id-4403):not(.page-id-2036) .site-main {
    /* el ancla del header fixed = 142px desktop / 124 tablet / 64 mobile */
    /* respetamos la regla original del tema, solo defendemos contra colapso */
    contain: layout;
}

@media (max-width: 768px) {
    /* Asegurar que la sticky CTA no monte el chaty */
    .cta-sticky-mobile {
        z-index: 9990 !important;
    }
}


/* ───────────────────────────────────────────────────────────────────────────
 * TIPOGRAFÍA Y HERO (era prioridad 26)
 *   Tipografía de las entradas del blog y los ajustes de `.site-main` por
 *   página. Aquí vive el espacio que deja libre la cabecera fija.
 * ─────────────────────────────────────────────────────────────────────────── */

/**
 * 05-hero-typography.css v5 - LIMPIO
 * - H1+H2+body centrados (excluyendo eyebrow)
 * - Eyebrow IZQUIERDA + 11px estilo pie de foto
 * - Frase emocional via ::after del hero (sin full-bleed)
 * - Pills hidden
 * - Pseudo de la franja DESACTIVADO
 */

/* ============ TIPOGRAFIA HERO DESKTOP ============ */


/* ============ TIPOGRAFIA HERO MOBILE ============ */


/* ============ HERO PADDING-TOP DESKTOP (no quede bajo header fixed) ============ */


/* ============ WHATSAPP/CHATY MOBILE - FORZAR DERECHA ============ */


/* ============ HERO PADDING-TOP HARDENED (specificity 0,5,2) ============ */


/* ============ MOBILE - REVERTIR display:none (texto + mapa) ============ */


/* ============ HAMBURGER ICON THICKER (v3 - sin romper open/close) ============ */


/* ============ MOBILE - REVERTIR display:none (texto + mapa) ============ */


/* ============ HAMBURGER BORDER EXTERNO ============ */


/* ============ MOBILE OVERFLOW FIX (descolocado) ============ */
@media (max-width: 768px) {
    /* Forzar no-overflow en HTML/body */
    html, body {
        max-width: 100vw !important;
        width: 100% !important;
    }
    html { overflow-x: hidden !important; }
    /* 28-sep-2026 · `hidden` TAMBIÉN en body lo convertía en contenedor de scroll, y
       las `animation-timeline: view()` de 10-az-sistema.css resolvían contra body,
       que no desplaza: cero aparición en móvil. `clip` recorta igual sin crear
       scroller; `hidden` queda de reserva para motores sin `clip`. */
    body { overflow-x: hidden !important; overflow-x: clip !important; }

    /* Imagenes responsive */
    body.page-id-2036 img {
        max-width: 100% !important;
        height: auto !important;
    }
}


/* Mobile: blur algo menor para performance */


/* ============ AESTHETIC FIXES BLOG + FLORAL ============ */

/* --- BLOG SINGLE POST: ancho de lectura + tipografia AZ --- */
body.single-post .site-main {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 130px 32px 80px !important;
}
body.single-post .page-header {
    text-align: center !important;
    margin-bottom: 36px !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid rgba(196, 155, 87, 0.25) !important;
}
body.single-post .page-header .entry-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: clamp(1.85rem, 3.5vw, 2.4rem) !important;
    color: #2A3124 !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}
body.single-post .page-content {
    font-family: 'Alexandria', sans-serif !important;
    font-size: 1.02rem !important;
    line-height: 1.78 !important;
    color: #3A3A33 !important;
}
body.single-post .page-content h2 {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.6rem !important;
    color: #2A3124 !important;
    margin-top: 40px !important;
    margin-bottom: 14px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}
body.single-post .page-content h3 {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.28rem !important;
    color: #2A3124 !important;
    margin-top: 28px !important;
    margin-bottom: 10px !important;
    font-weight: 600 !important;
}
body.single-post .page-content p {
    margin: 0 0 16px 0 !important;
}
body.single-post .page-content ul,
body.single-post .page-content ol {
    margin: 16px 0 18px 28px !important;
    line-height: 1.78 !important;
}
body.single-post .page-content li {
    margin-bottom: 8px !important;
}
body.single-post .page-content a {
    color: #B58A4A !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-color: rgba(196, 155, 87, 0.45) !important;
}
body.single-post .page-content a:hover {
    color: #2A3124 !important;
    text-decoration-color: #2A3124 !important;
}
body.single-post .page-content strong {
    color: #2A3124 !important;
}
body.single-post .page-content blockquote {
    border-left: 3px solid #C49B57 !important;
    margin: 28px 0 !important;
    padding: 14px 26px !important;
    background: rgba(245, 239, 231, 0.5) !important;
    font-style: italic !important;
    border-radius: 0 14px 14px 0 !important;
}
body.single-post .page-content hr {
    border: none !important;
    border-top: 1px solid rgba(196, 155, 87, 0.30) !important;
    margin: 40px auto !important;
    width: 60% !important;
}
@media (max-width: 768px) {
    body.single-post .site-main {
        padding: 90px 22px 50px !important;
    }
    body.single-post .page-content {
        font-size: 1rem !important;
    }
    body.single-post .page-content h2 {
        font-size: 1.4rem !important;
    }
}

/* --- TERAPIA FLORAL: alineacion paleta + tipografia AZ --- */
body.page-id-4403 .site-main {
    padding-top: 130px !important;
    background: linear-gradient(180deg, #2A3124 0px, #2A3124 280px, #FFFFFF 280px) !important;
}
@media (max-width: 768px) {
    body.page-id-4403 .site-main {
        background: linear-gradient(180deg, #2A3124 0px, #2A3124 220px, #FFFFFF 220px) !important;
        padding-top: 100px !important;
    }
}


/* ============ HEADER CLEARANCE OVERRIDE v1 ============
 * Sube padding-top para clearance del header fijo de 2 tiempos (topbar + navbar).
 * Floral: quita hero verde alto porque page-header H1 no es visible.
 * ====================================================================== */

body.single-post .site-main {
    padding-top: 200px !important;
}
@media (max-width: 768px) {
    body.single-post .site-main {
        padding-top: 110px !important;
    }
}

body.page-id-4403 .site-main {
    padding-top: 200px !important;
    background: #FFFFFF !important;
}
@media (max-width: 768px) {
    body.page-id-4403 .site-main {
        padding-top: 110px !important;
    }
}


/* FLORAL ELEMENTOR MIGRATION OVERRIDE - cancela rules previas anti-overlap del header
     * porque ahora la 4403 usa el dark hero estandar de las terapias (pull-up).
     */
body.page-id-4403 .site-main {
    padding-top: 0 !important;
    background: transparent !important;
}


/* ───────────────────────────────────────────────────────────────────────────
 * RESEÑAS TRUSTINDEX (era prioridad 27)
 *   Las 3 reglas estaban vivas: se conservan enteras.
 * ─────────────────────────────────────────────────────────────────────────── */

/**
 * 08-trustindex-override.css
 * Oculta el contador de reseñas del widget TrustIndex,
 * deja visible las estrellas y el logo de Google.
 */

/* Ocultar 'EXCELENTE' + 'A base de 156 reseñas' (texto numérico) */
.ti-widget .ti-rating-text {
    display: none !important;
}

/* Después del header del widget, mostrar nuestro texto compliance */
.ti-widget .ti-header-grid .ti-fade-container::after {
    content: 'Reseñas publicadas en Google';
    display: block !important;
    font-family: 'Alexandria', 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #2A3124 !important;
    letter-spacing: 0.04em !important;
    margin: 8px 0 4px 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

@media (max-width: 768px) {
    .ti-widget .ti-header-grid .ti-fade-container::after {
        font-size: 12px !important;
    }
}
