/*
Theme Name: ANSA - Somos de Campo
Theme URI: https://ansa.ag
Description: Tema hijo de Hello Elementor para ANSA - Agroservicios Nacionales. Tema oscuro cinematografico con colores institucionales configurables.
Author: Techdesk
Author URI: https://techdesk.mx
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: ansa-theme
*/

/* ============================================
   ANSA Theme - Variables Globales de Marca
   Estas variables se pueden sobrescribir desde
   Elementor > Site Settings > Custom CSS
   para variaciones de tema.
   ============================================ */

:root {
  /* === Paleta Institucional ANSA (Pantone confirmado junio 2026) === */
  --ansa-azul: #3A5DAE;           /* PANTONE 7455 C */
  --ansa-azul-ui: #2B6FC2;
  --ansa-verde: #509E2F;           /* PANTONE 362 C */
  --ansa-azul-dondron: #119AD7;
  --ansa-turquesa: #199DCB;
  --ansa-verde-azulado: #299A8C;

  /* === Variantes accesibles === */
  --ansa-azul-texto: #3A5DAE;
  --ansa-verde-hover: #408024;
  --ansa-azul-hover: #4A7AC4;
  /* Verde accesible WCAG AA: texto/UI sobre fondos claros (5.04:1 sobre #fff).
     Reservar --ansa-verde (#509E2F) para fondos/acentos decorativos. */
  --ansa-verde-texto: #3E7D24;
  /* Verde para fondos de boton con texto blanco (5.16:1) */
  --ansa-verde-btn: #2E7D1E;
  --ansa-verde-btn-hover: #25661A;
  /* WhatsApp accesible con texto blanco (5.41:1); --ansa-wa solo decorativo */
  --ansa-wa-btn: #157A3E;
  --ansa-wa-btn-hover: #0F6332;

  /* === Tema claro (default — elegido por cliente) === */
  --ansa-dark: #F7F9FB;
  --ansa-dark2: #EDF1F5;
  --ansa-texto: #2D3748;
  --ansa-texto-sec: #4A5568;

  /* === Colores adicionales === */
  --ansa-wa-hover: #1EBE5A;
  --ansa-meli: #FFD600;
  --ansa-fb: #1877F2;
  --ansa-li: #0A66C2;

  /* === Overlays (derivados de marca) === */
  --ansa-overlay-blue: rgba(26,42,74,.8);
  --ansa-overlay-green-start: rgba(26,92,58,.88);
  --ansa-overlay-green-end: rgba(31,107,66,.7);

  /* === UI === */
  --ansa-radius: 16px;
  --ansa-radius-sm: 8px;
  --ansa-radius-pill: 50px;
  --ansa-shadow: 0 4px 24px rgba(0,0,0,.25);
  --ansa-wa: #25D366;

  /* === Tipografia (display: Inter, alternativa libre estilo Acumin; cuerpo: Source Sans 3) === */
  --ansa-font-display: 'Inter', 'Source Sans 3', sans-serif;
  --ansa-font-heading: 'Source Sans 3', 'Source Sans Pro', sans-serif;
  --ansa-font-body: 'Source Sans 3', 'Source Sans Pro', sans-serif;
  --ansa-font-slogan: 'Dancing Script', cursive;

  /* === Escala tipografica modular (F4) === */
  --ansa-fs-display: clamp(44px, 6.5vw, 76px);  /* hero home */
  --ansa-fs-h1: clamp(34px, 4.6vw, 52px);       /* hero de pagina */
  --ansa-fs-h2: clamp(28px, 3.2vw, 40px);       /* titulos de seccion */
  --ansa-fs-h3: clamp(18px, 2vw, 22px);         /* tarjetas */
}

/* === RESET BASE === */
body {
  font-family: var(--ansa-font-body);
  color: var(--ansa-texto);
  background: var(--ansa-dark);
  overflow-x: hidden;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ansa-font-heading);
  line-height: 1.2;
  color: var(--ansa-azul);
}
/* Display font con caracter para los dos niveles principales (F4) */
h1, h2 {
  font-family: var(--ansa-font-display);
  letter-spacing: -.02em;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all .3s ease;
}

img { max-width: 100%; display: block; }
ul { list-style: none; }
::selection { background: var(--ansa-verde-btn); color: #fff; }

/* ============================================
   THEME VARIANTS
   ============================================ */

/* --- Verde: verde ANSA dominante, azul como secundario --- */
[data-theme="verde"] {
  --ansa-azul: #3D7A0A;
  --ansa-azul-ui: #5A9E14;
  --ansa-verde: #A8D830;
  --ansa-verde-texto: #A8D830; /* sobre fondos oscuros del tema verde */
  --ansa-verde-hover: #91BF20;
  --ansa-azul-texto: #7CBF1A;
  --ansa-azul-hover: #6BAE10;
  --ansa-dark: #0B1208;
  --ansa-dark2: #151F10;
  --ansa-texto: #D4DFC8;
  --ansa-texto-sec: #9AAF82;
  --ansa-overlay-blue: rgba(30,70,10,.82);
  --ansa-overlay-green-start: rgba(40,90,15,.88);
  --ansa-overlay-green-end: rgba(60,120,20,.7);
}
[data-theme="verde"] .ansa-footer {
  background: linear-gradient(180deg, #2D5A0A 0%, #1E3D06 100%);
}
[data-theme="verde"] .ansa-footer h5, [data-theme="verde"] .ansa-footer h3 { color: #A8D830; }
[data-theme="verde"] .ansa-nav.solid {
  background: rgba(11,18,8,.94);
}
[data-theme="verde"] .ansa-nav-cta { background: #A8D830 !important; }
[data-theme="verde"] .ansa-nav-cta:hover { background: #91BF20 !important; box-shadow: 0 8px 25px rgba(145,191,32,.35); }
[data-theme="verde"] .ansa-hero-dot.active { background: #A8D830; border-color: #A8D830; box-shadow: 0 0 12px rgba(168,216,48,.5); }
[data-theme="verde"] .ansa-card-tag { background: #A8D830; }
[data-theme="verde"] .ansa-cta-prefooter .cta-overlay {
  background: linear-gradient(180deg, var(--ansa-dark) 0%, rgba(40,90,15,.82) 40%, #2D5A0A 100%);
}
[data-theme="verde"] .ansa-stats-strip { border-top-color: rgba(145,191,32,.08); }
[data-theme="verde"] .ansa-stat-num span { color: #A8D830; }
[data-theme="verde"] .ansa-dondron-slide { background: linear-gradient(135deg, #0B1208 0%, #1A2E10 100%); }
[data-theme="verde"] .ansa-dondron-slide::before { background: radial-gradient(circle,rgba(145,191,32,.12),transparent); }
[data-theme="verde"] .ansa-marquee-section { border-top-color: rgba(145,191,32,.06); border-bottom-color: rgba(145,191,32,.06); }
[data-theme="verde"] .ansa-m-logo:hover,
[data-theme="verde"] .ansa-m-logo-text:hover { border-color: #A8D830; background: rgba(168,216,48,.06); }
[data-theme="verde"] .ansa-page-hero .hero-overlay--green {
  background: linear-gradient(180deg, rgba(40,90,15,.88) 0%, rgba(60,120,20,.7) 40%, var(--ansa-dark) 100%);
}
/* Verde: ensure eyebrow + card links stay visible */
[data-theme="verde"] .ansa-eyebrow { color: #A8D830; }
[data-theme="verde"] .ansa-eyebrow::before { background: #A8D830; }
[data-theme="verde"] .ansa-card-link { color: #A8D830; }
[data-theme="verde"] .ansa-card-link:hover { color: #C4F040; }
[data-theme="verde"] .ansa-glass-card:hover { border-color: rgba(168,216,48,.3); }
[data-theme="verde"] .ansa-card-item:hover { border-color: rgba(168,216,48,.3); }
[data-theme="verde"] .ansa-chip:hover { background: #3D7A0A; border-color: #3D7A0A; }
[data-theme="verde"] .ansa-dl-link { color: #A8D830; }
[data-theme="verde"] .ansa-cobres-card .prod-tag { background: rgba(168,216,48,.12); color: #A8D830; }
[data-theme="verde"] .ansa-cobres-card:hover { border-color: rgba(168,216,48,.3); }
[data-theme="verde"] .ansa-cultivo-chip:hover { border-color: #A8D830; background: rgba(168,216,48,.08); }
[data-theme="verde"] .ansa-cultivo-chip i { color: #A8D830; }
[data-theme="verde"] .ansa-sucursal-card:hover .suc-icon { color: #A8D830; background: rgba(168,216,48,.1); }
[data-theme="verde"] .ansa-sucursal-card:hover .btn-wa-sm { background: var(--ansa-wa-btn); color: #fff; border-color: var(--ansa-wa-btn); }
[data-theme="verde"] .ansa-vac-tag { color: #A8D830; background: rgba(168,216,48,.12); }
[data-theme="verde"] .ansa-ft-social a:hover { border-color: #A8D830; color: #A8D830; background: rgba(168,216,48,.12); }
[data-theme="verde"] .ansa-footer a:hover { color: #A8D830; }

/* ==========================================================
   BLANCO — Rediseño completo: luz, vida, confianza
   Filosofia: secciones inmersivas (hero/CTA/footer oscuros)
   + contenido airoso con sombras ricas y acentos vibrantes
   ========================================================== */
[data-theme="blanco"] {
  --ansa-azul: #3A5DAE;
  --ansa-azul-ui: #0972CE;
  --ansa-azul-texto: #3A5DAE;
  --ansa-azul-hover: #2782D1;
  --ansa-dark: #F8FAFB;
  --ansa-dark2: #EFF3F7;
  --ansa-texto: #2D3748;
  --ansa-texto-sec: #4A5568;
  --ansa-verde: #509E2F;
  --ansa-verde-hover: #5A9614;
}

/* --- Typography — azul institucional for headings, warm body --- */
[data-theme="blanco"] body { color: #2D3748; }
[data-theme="blanco"] h1,[data-theme="blanco"] h2,[data-theme="blanco"] h3,
[data-theme="blanco"] h4,[data-theme="blanco"] h5,[data-theme="blanco"] h6 { color: #3A5DAE; }

/* --- Sections — subtle blue-tinted rhythm --- */
[data-theme="blanco"] .ansa-section { background: #fff; }
[data-theme="blanco"] .ansa-section-light { background: linear-gradient(180deg, #EFF4F9 0%, #E8EEF5 100%); }

/* --- Navigation — glass morphism --- */
[data-theme="blanco"] .ansa-nav.solid { background: rgba(255,255,255,.92); backdrop-filter: blur(24px) saturate(1.6); border-bottom: 1px solid rgba(58,93,174,.06); box-shadow: 0 1px 30px rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-nav-links a { color: #475569; }
[data-theme="blanco"] .ansa-nav-links a:hover,
[data-theme="blanco"] .ansa-nav-links a.active { color: #3A5DAE; }
[data-theme="blanco"] .ansa-nav-links a::after { background: var(--ansa-verde); }

/* --- Stats Strip — blue numbers, green accent, airy --- */
[data-theme="blanco"] .ansa-stats-strip { border-top: 1px solid rgba(58,93,174,.06); background: #fff; padding-top: 60px; padding-bottom: 60px; }
[data-theme="blanco"] .ansa-stat-num { color: #3A5DAE; }
[data-theme="blanco"] .ansa-stat-num span { color: #3A5DAE; }
[data-theme="blanco"] .ansa-stat-label { color: #64748B; letter-spacing: 2.5px; }

/* --- Eyebrow — blue accent (green is too light on white) --- */
[data-theme="blanco"] .ansa-eyebrow { color: #3A5DAE; }
[data-theme="blanco"] .ansa-eyebrow::before { background: linear-gradient(90deg, #509E2F, #3A5DAE); }

/* --- Cards — elevated with blue-tinted shadows --- */
[data-theme="blanco"] .ansa-card-item { background: #fff; border: 1px solid rgba(58,93,174,.06); box-shadow: 0 2px 12px rgba(58,93,174,.04); }
[data-theme="blanco"] .ansa-card-item:hover { border-color: rgba(58,93,174,.15); box-shadow: 0 20px 50px rgba(58,93,174,.1); transform: translateY(-8px); }
[data-theme="blanco"] .ansa-card-body h3 { color: #0B4F8A; }
[data-theme="blanco"] .ansa-card-body p { color: #4A5568; line-height: 1.75; }
[data-theme="blanco"] .ansa-card-link { color: #3A5DAE; font-weight: 800; }
[data-theme="blanco"] .ansa-card-link:hover { color: var(--ansa-verde-texto); gap: 14px; }

/* --- Glass Cards (RSE, contacto, descargables) --- */
[data-theme="blanco"] .ansa-glass-card { background: #fff; border: 1px solid rgba(58,93,174,.06); box-shadow: 0 2px 16px rgba(58,93,174,.04); }
[data-theme="blanco"] .ansa-glass-card:hover { border-color: rgba(80,158,47,.25); box-shadow: 0 16px 48px rgba(58,93,174,.08); transform: translateY(-8px); }
[data-theme="blanco"] .ansa-glass-card h3, [data-theme="blanco"] .ansa-glass-card h4 { color: #0B4F8A; }
[data-theme="blanco"] .ansa-glass-card p { color: #4A5568; }
[data-theme="blanco"] .ansa-glass-icon { box-shadow: none; }
[data-theme="blanco"] .ansa-dl-link { color: #3A5DAE; font-weight: 800; }

/* --- Section Titles --- */
[data-theme="blanco"] .ansa-section-title p { color: #4A5568; }

/* --- Hero Carousel — immersive dark zone, smooth exit to light --- */
[data-theme="blanco"] .ansa-hero-overlay {
  background: linear-gradient(180deg,
    rgba(7,30,55,.5) 0%, rgba(9,50,90,.4) 45%,
    rgba(58,93,174,.28) 75%, rgba(248,250,251,0) 100%);
}
[data-theme="blanco"] .ansa-hero-overlay::before {
  background: linear-gradient(90deg,
    rgba(7,20,40,.6) 0%, rgba(9,40,80,.25) 40%, transparent 75%);
}
[data-theme="blanco"] .ansa-hero .btn-ansa-outline { border-color: rgba(255,255,255,.45); color: #fff; }
[data-theme="blanco"] .ansa-hero .btn-ansa-outline:hover { border-color: #fff; background: rgba(255,255,255,.12); }

/* --- Page Heroes (subpages) — rich blue immersion --- */
[data-theme="blanco"] .ansa-page-hero .hero-overlay--green {
  background: linear-gradient(180deg,
    rgba(7,30,55,.92) 0%, rgba(9,60,110,.85) 35%,
    rgba(58,93,174,.65) 65%, rgba(248,250,251,.3) 88%, #F8FAFB 100%);
}
[data-theme="blanco"] .ansa-page-hero h1 { color: #fff !important; text-shadow: 0 3px 20px rgba(0,0,0,.35); }
[data-theme="blanco"] .ansa-page-hero > p { color: rgba(255,255,255,.9); text-shadow: 0 1px 10px rgba(0,0,0,.2); }
[data-theme="blanco"] .ansa-page-hero .breadcrumb a { color: rgba(255,255,255,.85); }
[data-theme="blanco"] .ansa-page-hero .breadcrumb span { color: rgba(255,255,255,.55); }

/* --- DonDron Section — gradient island --- */
[data-theme="blanco"] .ansa-dondron-slide { background: linear-gradient(135deg, #074A85 0%, #2782D1 50%, #3A5DAE 100%); }
[data-theme="blanco"] .ansa-dondron-content h2 { color: #fff !important; }
[data-theme="blanco"] .ansa-dondron-content p { color: rgba(255,255,255,.85); }
/* El boton outline dentro del gradiente azul debe ser blanco, no azul (ronda 1) */
[data-theme="blanco"] .ansa-dondron-slide .btn-ansa-outline { border-color: rgba(255,255,255,.55); color: #fff; }
[data-theme="blanco"] .ansa-dondron-slide .btn-ansa-outline:hover { border-color: #fff; background: rgba(255,255,255,.12); color: #fff; }

/* --- CTA Pre-Footer — text must be white (blue bg) ---
   La foto respira arriba; el azul se consolida solo detras del texto
   y funde sin costura con el footer #074A85 (F-CTA, mejora 2026-06-09) */
[data-theme="blanco"] .ansa-cta-prefooter h2 { color: #fff; }
[data-theme="blanco"] .ansa-cta-prefooter p { color: rgba(255,255,255,.85); }
[data-theme="blanco"] .ansa-cta-prefooter .cta-overlay {
  /* opaco desde el 80%: la foto se disuelve suave, sin linea dura contra el footer */
  background: linear-gradient(180deg,
    rgba(7,30,55,.22) 0%, rgba(9,50,95,.5) 26%,
    rgba(10,54,100,.85) 50%, rgba(7,74,133,.98) 70%,
    #074A85 80%, #074A85 100%);
}
[data-theme="blanco"] .ansa-cta-prefooter .btn-ansa-outline { border-color: rgba(255,255,255,.4); color: #fff; }
[data-theme="blanco"] .ansa-cta-prefooter .btn-ansa-outline:hover { border-color: #fff; background: rgba(255,255,255,.1); }

/* --- Footer — same blue as CTA bottom, no seam ---
   Contrastes AA sobre #074A85: h3/h5 #8FD16A 4.94:1, enlaces .85 = 7:1, parrafos .7 = 5.3:1 */
[data-theme="blanco"] .ansa-footer { background: #074A85; color: #fff; }
[data-theme="blanco"] .ansa-footer h5, [data-theme="blanco"] .ansa-footer h3 { color: #8FD16A !important; }
[data-theme="blanco"] .ansa-footer a { color: rgba(255,255,255,.85); }
[data-theme="blanco"] .ansa-footer a:hover { color: #8FD16A; }
[data-theme="blanco"] .ansa-footer p { color: rgba(255,255,255,.7); }
[data-theme="blanco"] .ansa-ft-bottom { border-top-color: rgba(255,255,255,.1); color: rgba(255,255,255,.75); }
[data-theme="blanco"] .ansa-ft-logo img { filter: brightness(0) invert(1); }
[data-theme="blanco"] .ansa-ft-social a { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); }
[data-theme="blanco"] .ansa-ft-social a:hover { border-color: #8FD16A; color: #8FD16A; background: rgba(143,209,106,.1); }

/* --- Buttons on light bg --- */
[data-theme="blanco"] .btn-ansa-outline { border: 2px solid #3A5DAE; color: #3A5DAE; }
[data-theme="blanco"] .btn-ansa-outline:hover { background: #3A5DAE; color: #fff; border-color: #3A5DAE; }

/* --- Marquee / Aliados --- */
[data-theme="blanco"] .ansa-marquee-section { border-top: 1px solid rgba(58,93,174,.04); border-bottom: 1px solid rgba(58,93,174,.04); background: #fff; }
[data-theme="blanco"] .ansa-m-logo { background: #fff; border-color: rgba(58,93,174,.08); box-shadow: 0 1px 6px rgba(58,93,174,.03); }
[data-theme="blanco"] .ansa-m-logo img { filter: grayscale(20%) opacity(.8); }
[data-theme="blanco"] .ansa-m-logo:hover { border-color: #509E2F; background: #fff; box-shadow: 0 8px 24px rgba(80,158,47,.1); transform: translateY(-3px); }
[data-theme="blanco"] .ansa-m-logo:hover img { filter: none; opacity: 1; }
[data-theme="blanco"] .ansa-m-logo-text { background: #fff; border-color: rgba(58,93,174,.08); color: #2D3748; font-weight: 800; box-shadow: 0 1px 6px rgba(58,93,174,.03); }
[data-theme="blanco"] .ansa-m-logo-text:hover { border-color: #509E2F; color: #3A5DAE; box-shadow: 0 8px 24px rgba(80,158,47,.1); }

/* --- Split Section (Territorio) --- */
[data-theme="blanco"] .ansa-split-text h2 { color: #0B4F8A; }
[data-theme="blanco"] .ansa-split-text p { color: #4A5568; }
[data-theme="blanco"] .ansa-split-text li { color: #4A5568; border-bottom-color: rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-split-text li i { color: #509E2F; }
[data-theme="blanco"] .ansa-chip { background: rgba(58,93,174,.04); border-color: rgba(58,93,174,.1); color: #3A5DAE; font-weight: 700; }
[data-theme="blanco"] .ansa-chip:hover { background: #3A5DAE; border-color: #3A5DAE; color: #fff; }

/* --- Sucursales --- */
[data-theme="blanco"] .ansa-sucursal-card { background: #fff; border-color: rgba(58,93,174,.06); box-shadow: 0 1px 8px rgba(58,93,174,.03); }
[data-theme="blanco"] .ansa-sucursal-card:hover { border-color: rgba(80,158,47,.2); box-shadow: 0 8px 24px rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-sucursal-card h3, [data-theme="blanco"] .ansa-sucursal-card h5 { color: #0B4F8A; }
[data-theme="blanco"] .ansa-sucursal-card p { color: #64748B; }
[data-theme="blanco"] .ansa-sucursal-card .suc-info .estado-badge { color: #3A5DAE; font-weight: 700; }
[data-theme="blanco"] .ansa-sucursal-card .suc-icon { background: rgba(58,93,174,.06); color: #3A5DAE; }
[data-theme="blanco"] .ansa-sucursal-card .btn-wa-sm { border-color: rgba(58,93,174,.1); color: #64748B; }
[data-theme="blanco"] .ansa-filter-bar select { background: #fff; border: 2px solid #6B7FB0; color: #2D3748; border-radius: 12px; }
[data-theme="blanco"] .ansa-filter-bar select:focus { border-color: #3A5DAE; box-shadow: 0 0 0 4px rgba(58,93,174,.35); }
[data-theme="blanco"] .ansa-filter-bar label { color: #0B4F8A; font-weight: 800; }
[data-theme="blanco"] .ansa-map-container { border-color: rgba(58,93,174,.12); box-shadow: 0 8px 32px rgba(58,93,174,.08); }

/* --- Cobres --- */
[data-theme="blanco"] .ansa-cobres-card { background: #fff; border-color: rgba(58,93,174,.06); box-shadow: 0 2px 16px rgba(58,93,174,.04); }
[data-theme="blanco"] .ansa-cobres-card:hover { border-color: rgba(80,158,47,.25); box-shadow: 0 20px 48px rgba(58,93,174,.08); }
[data-theme="blanco"] .ansa-cobres-card .prod-tag { background: rgba(80,158,47,.08); color: var(--ansa-verde-texto); }
[data-theme="blanco"] .ansa-intro-list li { color: #2D3748; border-bottom-color: rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-intro-list li i { color: #509E2F; }
[data-theme="blanco"] .ansa-check-list li { color: #2D3748; border-bottom-color: rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-check-list li i { color: #509E2F; }
[data-theme="blanco"] .ansa-cultivo-chip { background: #fff; border-color: rgba(58,93,174,.06); color: #2D3748; box-shadow: 0 1px 6px rgba(58,93,174,.03); }
[data-theme="blanco"] .ansa-cultivo-chip i { color: #509E2F; }
[data-theme="blanco"] .ansa-cultivo-chip svg { fill: #509E2F; }
[data-theme="blanco"] .ansa-cultivo-chip:hover { border-color: #509E2F; background: rgba(80,158,47,.04); box-shadow: 0 8px 20px rgba(80,158,47,.08); }

/* --- Empleo / Vacantes --- */
[data-theme="blanco"] .ansa-vac-card { background: #fff; border: 1px solid rgba(58,93,174,.06); box-shadow: 0 1px 8px rgba(58,93,174,.03); }
[data-theme="blanco"] .ansa-vac-card:hover { border-color: rgba(80,158,47,.2); box-shadow: 0 8px 24px rgba(58,93,174,.06); transform: translateX(8px); }
[data-theme="blanco"] .ansa-vac-card h3 { color: #0B4F8A; }
[data-theme="blanco"] .ansa-vac-card small { color: #64748B; }
[data-theme="blanco"] .ansa-vac-tag { color: #fff; background: var(--ansa-verde-btn); font-weight: 800; }
/* Badge "Nueva" distinguible del "Activa" (1.4.1), dentro de paleta y AA (6.26:1) */
[data-theme="blanco"] .ansa-vac-tag.ansa-vac-badge-new { color: #fff; background: var(--ansa-azul); }

/* --- Contacto --- */
[data-theme="blanco"] .ansa-contacto-dato { border-bottom-color: rgba(58,93,174,.06); color: #4A5568; }
[data-theme="blanco"] .ansa-contacto-dato strong { color: #0B4F8A; }
[data-theme="blanco"] .ansa-contacto-dato .ic { background: rgba(58,93,174,.06); color: #3A5DAE; }
[data-theme="blanco"] .ansa-social-link { color: #fff; }
[data-theme="blanco"] .ansa-mini-map { border-color: rgba(58,93,174,.1); box-shadow: 0 4px 16px rgba(58,93,174,.06); }
[data-theme="blanco"] input,[data-theme="blanco"] textarea,
[data-theme="blanco"] select:not(.ansa-filter-bar select) { color: #2D3748; background: #fff; border-color: #6B7FB0; }
[data-theme="blanco"] input:focus,[data-theme="blanco"] textarea:focus { border-color: #3A5DAE; box-shadow: 0 0 0 3px rgba(58,93,174,.35); }
[data-theme="blanco"] input::placeholder,[data-theme="blanco"] textarea::placeholder { color: #6B7280; }
[data-theme="blanco"] label { color: #0B4F8A; }

/* --- RSE Logos --- */
[data-theme="blanco"] .ansa-rse-logo { background: #fff; border-color: rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-rse-logo:hover { border-color: rgba(80,158,47,.25); box-shadow: 0 8px 24px rgba(58,93,174,.06); }
[data-theme="blanco"] .ansa-rse-logo img { filter: none; opacity: .65; }
[data-theme="blanco"] .ansa-rse-logo:hover img { opacity: 1; }

/* --- Misc --- */
[data-theme="blanco"] #backTop { background: #3A5DAE; color: #fff; box-shadow: 0 4px 16px rgba(58,93,174,.2); }
[data-theme="blanco"] ::selection { background: #3A5DAE; color: #fff; }
[data-theme="blanco"] #ansaPreloader { background: linear-gradient(135deg, #3A5DAE, #2782D1); }
[data-theme="blanco"] .ansa-nav-links.open { background: rgba(7,30,55,.98); backdrop-filter: blur(20px); }
@media(max-width:1024px){
  [data-theme="blanco"] .ansa-nav-links a { color: rgba(255,255,255,.75); }
  [data-theme="blanco"] .ansa-nav-links a:hover,
  [data-theme="blanco"] .ansa-nav-links a.active { color: #fff; }
}

/* --- Theme Switcher UI --- */
.ansa-theme-switcher { position: relative; }
.ansa-theme-btn {
  background: none;
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.6);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  cursor: pointer;
  transition: all .3s;
  padding: 0;
}
.ansa-theme-btn:hover { border-color: var(--ansa-verde); color: var(--ansa-verde); }
[data-theme="blanco"] .ansa-theme-btn { border-color: rgba(0,0,0,.15); color: rgba(0,0,0,.45); }
[data-theme="blanco"] .ansa-theme-btn:hover { border-color: #3A5DAE; color: #3A5DAE; }
.ansa-theme-dropdown {
  display: none;
  position: absolute;
  top: 44px;
  right: 0;
  background: rgba(20,25,35,.96);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: 8px;
  min-width: 180px;
  box-shadow: 0 16px 40px rgba(0,0,0,.4);
  z-index: 300;
}
[data-theme="blanco"] .ansa-theme-dropdown { background: rgba(255,255,255,.98); border-color: rgba(0,0,0,.1); box-shadow: 0 16px 40px rgba(0,0,0,.12); }
.ansa-theme-dropdown.open { display: block; }
.ansa-theme-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-family: var(--ansa-font-heading);
  font-weight: 600;
  color: rgba(255,255,255,.7);
  transition: all .2s;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
}
[data-theme="blanco"] .ansa-theme-option { color: #4A5568; }
.ansa-theme-option:hover { background: rgba(255,255,255,.08); color: #fff; }
[data-theme="blanco"] .ansa-theme-option:hover { background: rgba(0,0,0,.04); color: #1A202C; }
.ansa-theme-option.active { color: var(--ansa-verde); }
.ansa-theme-swatch {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.2);
  flex-shrink: 0;
}
[data-theme="blanco"] .ansa-theme-swatch { border-color: rgba(0,0,0,.15); }
.ansa-theme-option.active .ansa-theme-swatch { border-color: var(--ansa-verde); box-shadow: 0 0 0 2px rgba(145,191,32,.3); }

/* === WCAG AA - FOCUS ===
   Azul oscuro sobre superficies claras (8.4:1); blanco sobre superficies
   oscuras y botones de color (footer, heros, CTAs) */
*:focus-visible {
  outline: 2px solid #0B4F8A;
  outline-offset: 3px;
}
.ansa-footer *:focus-visible,
.ansa-cta-prefooter *:focus-visible,
.ansa-hero *:focus-visible,
.ansa-page-hero *:focus-visible,
.ansa-dondron-slide *:focus-visible,
.ansa-nav:not(.solid) *:focus-visible,
.btn-ansa-verde:focus-visible,
.btn-ansa-wa:focus-visible,
.btn-sm-verde:focus-visible,
.ansa-nav-cta:focus-visible,
.ansa-fl:focus-visible,
#backTop:focus-visible,
.skip-link:focus-visible {
  outline-color: #fff;
  outline-offset: 2px;
}
/* El hero de Sucursales es claro: foco azul ahi */
.ansa-page-hero.ansa-territorio-hero *:focus-visible { outline-color: #0B4F8A; }

/* === Utilidad: solo lectores de pantalla === */
.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;
}

/* === WCAG AA - 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;
  }
}

/* === PRELOADER === */
#ansaPreloader{position:fixed;inset:0;background:var(--ansa-dark);z-index:9999;display:flex;align-items:center;justify-content:center}
.ansa-pre-inner{text-align:center}
.ansa-pre-logo{height:60px;margin:0 auto 16px;opacity:0;transition:opacity .8s ease}
.ansa-pre-line{width:0;height:3px;background:var(--ansa-verde);margin:0 auto;border-radius:3px;transition:width 1s ease .3s}
.ansa-pre-text{font-family:var(--ansa-font-slogan);color:var(--ansa-verde);font-size:24px;margin-top:12px;opacity:0;transition:opacity .5s ease .8s}
#ansaPreloader.active .ansa-pre-logo{opacity:1}
#ansaPreloader.active .ansa-pre-line{width:200px}
#ansaPreloader.active .ansa-pre-text{opacity:1}
#ansaPreloader.exit{opacity:0;transform:translateY(-100%);transition:opacity .4s ease,transform .6s ease}

/* === SKIP LINK === */
.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;padding:12px 24px;background:var(--ansa-verde-btn);color:#fff;font-family:var(--ansa-font-heading);font-weight:700;font-size:14px;border-radius:var(--ansa-radius-sm)}
.skip-link:focus{top:16px}

/* === NAVIGATION === */
.ansa-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 50px;display:flex;justify-content:space-between;align-items:center;transition:all .5s;background:transparent}
.ansa-nav.solid{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);padding:14px 50px;border-bottom:1px solid rgba(58,93,174,.08);box-shadow:0 2px 20px rgba(58,93,174,.06)}
.ansa-nav-logo img{height:40px}
.ansa-logo-dark{display:none}
/* Show color logo when nav is solid (scrolled), white logo over hero */
.ansa-nav.solid .ansa-logo-light{display:none}
.ansa-nav.solid .ansa-logo-dark{display:block}
.ansa-nav:not(.solid) .ansa-logo-light{display:block}
.ansa-nav:not(.solid) .ansa-logo-dark{display:none}
.ansa-nav-links{display:flex;gap:28px;align-items:center}
.ansa-nav-links a{color:rgba(0,0,0,.5);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;font-family:var(--ansa-font-heading);position:relative}
.ansa-nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--ansa-verde);transition:width .3s}
.ansa-nav-links a:hover::after,.ansa-nav-links a.active::after{width:100%}
.ansa-nav-links a:hover,.ansa-nav-links a.active{color:var(--ansa-azul)}
/* Nav links white when over hero (transparent nav) */
.ansa-nav:not(.solid) .ansa-nav-links a{color:rgba(255,255,255,.7)}
.ansa-nav:not(.solid) .ansa-nav-links a:hover,.ansa-nav:not(.solid) .ansa-nav-links a.active{color:#fff}
.ansa-nav:not(.solid) .ansa-nav-links a::after{background:#fff}
.ansa-nav-cta{background:var(--ansa-verde-btn)!important;color:#fff!important;font-weight:800!important;padding:10px 24px!important;border-radius:var(--ansa-radius-pill)!important;letter-spacing:.5px!important}
.ansa-nav-cta::after{display:none!important}
.ansa-nav-cta:hover{background:var(--ansa-verde-btn-hover)!important;transform:translateY(-2px);box-shadow:0 8px 25px rgba(46,125,30,.3)}
.ansa-nav-toggle{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;min-width:44px;min-height:44px}
/* Hamburguesa visible sobre header solido/claro (bug visual ronda 1) */
.ansa-nav.solid .ansa-nav-toggle{color:var(--ansa-azul)}
.ansa-nav-close{display:none}

@media(max-width:1024px){
  .ansa-nav{padding:16px 24px}
  .ansa-nav.solid{padding:12px 24px}
  /* FIX C1 (QA preprod): backdrop-filter convierte al nav en containing block de los
     position:fixed descendientes -> #ansaNavLinks colapsaba a la altura del header y los
     primeros links quedaban fuera de pantalla. En mobile: fondo casi opaco SIN blur. */
  .ansa-nav.solid,
  [data-theme="blanco"] .ansa-nav.solid{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.98)}
  .ansa-nav-toggle{display:block}
  .ansa-nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(58,93,174,.97);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:200}
  .ansa-nav-links.open{display:flex}
  .ansa-nav-links a{font-size:18px}
  .ansa-nav-close{display:block;position:absolute;top:20px;right:20px;font-size:28px;cursor:pointer;background:none;border:none;color:#fff;min-width:44px;min-height:44px}
}

/* === FOOTER GRID === */
.ansa-ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:50px;margin-bottom:50px}
.ansa-ft-logo img{height:36px;filter:brightness(0) invert(1);margin-bottom:8px}
.ansa-ft-social{display:flex;gap:10px;margin-top:20px}
.ansa-ft-social a{width:42px;height:42px;border-radius:var(--ansa-radius-sm);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);transition:all .3s}
.ansa-ft-social a:hover{transform:translateY(-3px);border-color:var(--ansa-verde);color:var(--ansa-verde);background:rgba(145,191,32,.1)}
.ansa-footer ul{padding:0;margin:0}
.ansa-footer ul li{margin-bottom:10px}
.ansa-ft-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:30px;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.75)}
@media(max-width:1024px){.ansa-ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.ansa-ft-grid{grid-template-columns:1fr}.ansa-ft-bottom{flex-direction:column;gap:8px;text-align:center}.ansa-footer{padding:50px 20px}}

/* === HIDE HELLO ELEMENTOR DEFAULTS === */
.site-header,.site-footer{display:none!important}

/* === ELEMENTOR OVERRIDES === */
.elementor-page {
  background: var(--ansa-dark);
  color: var(--ansa-texto);
}

.elementor-section {
  --e-global-color-primary: var(--ansa-azul);
  --e-global-color-secondary: var(--ansa-verde);
  --e-global-color-text: var(--ansa-texto);
  --e-global-color-accent: var(--ansa-verde);
}

/* === BOTONES ANSA (para uso en Elementor custom CSS) === */
.btn-ansa-verde {
  background: var(--ansa-verde-btn);
  color: #fff;
  font-weight: 800;
  padding: 16px 36px;
  border-radius: var(--ansa-radius-pill);
  font-family: var(--ansa-font-heading);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all .4s;
  border: none;
  cursor: pointer;
}
.btn-ansa-verde:hover {
  background: var(--ansa-verde-btn-hover);
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(46,125,30,.3);
}

.btn-ansa-wa {
  background: var(--ansa-wa-btn);
  color: #fff;
  font-weight: 800;
  padding: 16px 36px;
  border-radius: var(--ansa-radius-pill);
  font-family: var(--ansa-font-heading);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all .4s;
  border: none;
  cursor: pointer;
}
.btn-ansa-wa:hover {
  background: var(--ansa-wa-btn-hover);
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(21,122,62,.3);
}

.btn-ansa-outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,.2);
  color: #fff;
  padding: 16px 36px;
  border-radius: var(--ansa-radius-pill);
  font-family: var(--ansa-font-heading);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all .4s;
  cursor: pointer;
}
.btn-ansa-outline:hover {
  border-color: #fff;
  background: rgba(255,255,255,.05);
}

.btn-ansa-meli {
  background: rgba(255,214,0,.12);
  color: var(--ansa-meli);
  border: 1px solid rgba(255,214,0,.25);
  font-size: 11px;
  padding: 8px 16px;
  border-radius: var(--ansa-radius-pill);
  font-weight: 700;
  font-family: var(--ansa-font-heading);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .3s;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.btn-ansa-meli:hover {
  background: rgba(255,214,0,.2);
  border-color: rgba(255,214,0,.5);
}

/* === SLOGAN === */
.ansa-slogan {
  font-family: var(--ansa-font-slogan);
  color: var(--ansa-verde);
}

/* === EYEBROW === */
.ansa-eyebrow {
  font-family: var(--ansa-font-heading);
  font-size: 12px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--ansa-azul);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 12px;
}
.ansa-eyebrow::before {
  content: '';
  width: 30px;
  height: 2px;
  background: linear-gradient(90deg, var(--ansa-verde), var(--ansa-azul));
}

/* === CARDS ANSA === */
.ansa-card {
  background: #fff;
  border-radius: var(--ansa-radius);
  border: 1px solid rgba(58,93,174,.08);
  overflow: hidden;
  transition: all .4s;
  box-shadow: 0 2px 12px rgba(58,93,174,.04);
}
.ansa-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(58,93,174,.1);
  border-color: rgba(80,158,47,.2);
}

/* === FLOATING BUTTONS === */
.ansa-floating {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ansa-fl {
  width: 52px;
  height: 52px;
  border-radius: var(--ansa-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: all .3s;
  box-shadow: 0 8px 25px rgba(0,0,0,.2);
}
.ansa-fl:hover { transform: translateY(-4px); }
.ansa-fl-wa { background: var(--ansa-wa-btn); }
.ansa-fl-fb { background: var(--ansa-fb); }
.ansa-fl-ig { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }

/* === FOOTER ANSA === */
.ansa-footer {
  background: linear-gradient(180deg, var(--ansa-azul) 0%, #2A4580 100%);
  color: #fff;
  padding: 80px;
}
.ansa-footer h5, .ansa-footer h3 {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #8FD16A;
  margin-bottom: 20px;
}
.ansa-footer a {
  color: rgba(255,255,255,.85);
  font-size: 13px;
}
.ansa-footer a:hover {
  color: #8FD16A;
  transform: translateX(4px);
}
.ansa-footer .ansa-slogan { color: #8FD16A; }

/* === CTA PRE-FOOTER === */
.ansa-cta-prefooter {
  position: relative;
  padding: 92px 80px 68px;
  text-align: center;
  color: #fff;
  overflow: hidden;
}
/* Motivo topografico de marca en blanco, lado derecho */
.ansa-cta-prefooter::after {
  content: '';
  position: absolute;
  right: -160px;
  bottom: -180px;
  width: 560px;
  height: 560px;
  z-index: 1;
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560' fill='none'%3E%3Cg stroke='%23ffffff' stroke-opacity='.09' stroke-width='2'%3E%3Ccircle cx='280' cy='280' r='70'/%3E%3Ccircle cx='280' cy='280' r='125'/%3E%3Ccircle cx='280' cy='280' r='180'/%3E%3Ccircle cx='280' cy='280' r='235'/%3E%3Ccircle cx='280' cy='280' r='290'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
}
/* Eyebrow del CTA: verde claro centrado sobre azul */
.ansa-cta-prefooter .cta-eyebrow {
  position: relative;
  z-index: 2;
  justify-content: center;
  color: #8FD16A;
  margin-bottom: 14px;
  text-shadow: 0 1px 6px rgba(7,30,55,.75);
}
.ansa-cta-prefooter .cta-eyebrow::before { background: #8FD16A; }
/* Linea de contacto bajo los botones, con divisor sutil que la estructura */
.cta-contact-line {
  position: relative;
  z-index: 2;
  width: fit-content;
  margin: 34px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.16);
  font-size: 14px;
  color: rgba(255,255,255,.85);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
}
.cta-contact-line a { color: rgba(255,255,255,.92); font-weight: 600; }
.cta-contact-line a:hover { color: #8FD16A; }
.cta-contact-line i { color: #8FD16A; margin-right: 5px; }
.cta-contact-line .cta-sep { color: rgba(255,255,255,.45); }
@media (max-width: 600px) {
  .cta-contact-line { flex-direction: column; gap: 8px; }
  .cta-contact-line .cta-sep { display: none; }
}
.ansa-cta-prefooter .cta-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.ansa-cta-prefooter .cta-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ansa-cta-prefooter .cta-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, var(--ansa-dark) 0%, rgba(26,42,74,.8) 40%, #355DA7 100%);
}
.ansa-cta-prefooter h2,
.ansa-cta-prefooter p,
.ansa-cta-prefooter .cta-btns {
  position: relative;
  z-index: 2;
}
/* Legible aun cuando la primera linea cae sobre cielo claro (mobile) */
.ansa-cta-prefooter h2,
.ansa-cta-prefooter p {
  text-shadow: 0 1px 4px rgba(7,30,55,.5), 0 2px 16px rgba(7,30,55,.4);
}

/* === PAGE HERO WITH PHOTO === */
.ansa-page-hero {
  padding: 160px 80px 80px;
  position: relative;
  overflow: hidden;
  color: #fff;
  background: var(--ansa-dark);
}
.ansa-page-hero .hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.ansa-page-hero .hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ansa-page-hero .hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}
/* El overlay es vertical y se aclara a #F8FAFB en su tramo final para fundir con
   la pagina; los mini-stats caen justo ahi y, sobre las zonas claras de la foto,
   perdian contraste (500+ llegaba a 1.9:1). Esta capa horizontal asegura fondo
   oscuro en la columna del texto y se desvanece antes del borde inferior para no
   romper la fusion con el fondo de la pagina. La foto de la derecha queda intacta. */
.ansa-page-hero .hero-overlay::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(6,26,48,.78) 0%, rgba(6,26,48,.42) 44%, transparent 70%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 80%, transparent 96%);
          mask-image: linear-gradient(180deg, #000 0%, #000 80%, transparent 96%);
}
.ansa-page-hero .hero-overlay--green {
  background: linear-gradient(180deg, var(--ansa-overlay-green-start) 0%, var(--ansa-overlay-green-end) 40%, var(--ansa-dark) 100%);
}
.ansa-page-hero h1,
.ansa-page-hero p,
.ansa-page-hero .breadcrumb {
  position: relative;
  z-index: 2;
}

/* === TERRITORIO HERO (Sucursales) — mapa de Mexico en lugar de foto (A8) === */
.ansa-page-hero.ansa-territorio-hero {
  min-height: 0;
  height: auto;
  padding: 130px 6vw 56px;
  color: #2D3748;
  /* profundidad: gradiente claro + motivo topografico tras el mapa */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='640' viewBox='0 0 640 640' fill='none'%3E%3Cg stroke='%233A5DAE' stroke-opacity='.07' stroke-width='2'%3E%3Ccircle cx='320' cy='320' r='80'/%3E%3Ccircle cx='320' cy='320' r='145'/%3E%3Ccircle cx='320' cy='320' r='210'/%3E%3Ccircle cx='320' cy='320' r='275'/%3E%3Ccircle cx='320' cy='320' r='335'/%3E%3C/g%3E%3C/svg%3E") no-repeat right -180px top -120px / 640px 640px,
    linear-gradient(180deg, #FDFEFF 0%, #EFF4F9 78%, #F8FAFB 100%);
}
/* Mini-stats bicolor del hero (mismo lenguaje que el strip del home) */
.ansa-territorio-stats {
  display: flex;
  gap: 34px;
  margin: 22px 0 4px;
}
.ansa-territorio-stats strong {
  display: block;
  font-family: var(--ansa-font-display);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.02em;
}
.ansa-territorio-stats .t-verde { color: var(--ansa-verde-texto); }
.ansa-territorio-stats .t-azul { color: var(--ansa-azul); }
.ansa-territorio-stats span {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  color: #4A5568;
}
.ansa-territorio-ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}
/* el outline del hero claro debe ser azul (no blanco de zonas oscuras) */
.ansa-territorio-ctas .btn-ansa-outline { border-color: #3A5DAE; color: #3A5DAE; }
.ansa-territorio-ctas .btn-ansa-outline:hover { background: #3A5DAE; color: #fff; border-color: #3A5DAE; }
.ansa-page-hero.ansa-territorio-hero .hero-overlay { display: none !important; }
.ansa-territorio-inner {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 40px;
  align-items: center;
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.ansa-territorio-intro h1 { margin: 6px 0 14px; }
.ansa-territorio-intro p { max-width: 480px; }
.ansa-territorio-map img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 14px 34px rgba(58,93,174,.16));
}
.ansa-territorio-legend { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(58,93,174,.12); }
.ansa-territorio-legend .leg { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; font-size: 14px; color: #2D3748; }
.ansa-territorio-legend i { width: 16px; height: 16px; border-radius: 4px; display: inline-block; }
.ansa-territorio-legend .leg-sede i { background: #509E2F; }
.ansa-territorio-legend .leg-cob i { background: #3A5DAE; }
[data-theme="blanco"] .ansa-page-hero.ansa-territorio-hero h1 { color: #3A5DAE !important; text-shadow: none; }
[data-theme="blanco"] .ansa-page-hero.ansa-territorio-hero p { color: #4A5568; text-shadow: none; }
[data-theme="blanco"] .ansa-page-hero.ansa-territorio-hero .breadcrumb a { color: #3A5DAE; }
[data-theme="blanco"] .ansa-page-hero.ansa-territorio-hero .breadcrumb span { color: #94A3B8; }
@media (max-width: 860px) {
  .ansa-territorio-inner { grid-template-columns: 1fr; gap: 24px; text-align: center; }
  .ansa-territorio-intro p { margin-left: auto; margin-right: auto; }
  .ansa-territorio-legend { justify-content: center; }
  .ansa-page-hero.ansa-territorio-hero { padding-top: 110px; }
}

/* === HERO ESTANDARIZADO (patron Sucursales aplicado a todo el sitio) ===
   eyebrow verde claro + mini-stats bicolor + CTAs, sobre foto con overlay */
.ansa-page-hero .hero-eyebrow {
  position: relative;
  z-index: 2;
  color: #8FD16A;
  margin-bottom: 12px;
  text-shadow: 0 1px 6px rgba(7,30,55,.75);
}
.ansa-page-hero .hero-eyebrow::before { background: #8FD16A; }
.ansa-hero-meta {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
  margin-top: 26px;
}
.ansa-hero-meta strong {
  display: block;
  font-family: var(--ansa-font-display);
  font-size: clamp(26px, 2.6vw, 34px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.02em;
  color: #fff;
  text-shadow: 0 2px 12px rgba(7,30,55,.5);
}
.ansa-hero-meta .m-verde { color: #8FD16A; }
.ansa-hero-meta span {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  color: rgba(255,255,255,.8);
  text-shadow: 0 1px 6px rgba(7,30,55,.6);
}
.ansa-hero-acciones {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
/* outline blanco sobre la foto del hero (igual que el hero del home) */
.ansa-page-hero .ansa-hero-acciones .btn-ansa-outline {
  border-color: rgba(255,255,255,.5);
  color: #fff;
}
.ansa-page-hero .ansa-hero-acciones .btn-ansa-outline:hover {
  border-color: #fff;
  background: rgba(255,255,255,.12);
  color: #fff;
}
@media (max-width: 768px) {
  .ansa-hero-meta { gap: 22px; }
}

/* === PAGE HERO BREADCRUMB === */
.ansa-page-hero .breadcrumb {
  font-size: 13px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ansa-page-hero .breadcrumb a {
  color: rgba(255,255,255,.7);
}
.ansa-page-hero .breadcrumb a:hover {
  color: var(--ansa-verde);
}
.ansa-page-hero .breadcrumb span {
  color: rgba(255,255,255,.5);
}
.ansa-page-hero h1 {
  font-size: var(--ansa-fs-h1);
  font-weight: 900;
  margin-bottom: 16px;
}
.ansa-page-hero > p {
  font-size: 18px;
  color: rgba(255,255,255,.9);
  max-width: 540px;
  text-wrap: balance;
  /* legible aun sobre zonas claras de la foto (gorra, cielo) */
  text-shadow: 0 1px 4px rgba(7,30,55,.65), 0 2px 18px rgba(7,30,55,.5);
}

/* === SECTION LAYOUT === */
.ansa-section {
  padding: 100px 80px;
}
.ansa-section-light {
  padding: 100px 80px;
  background: var(--ansa-dark2);
}

/* === GRID LAYOUTS === */
.ansa-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.ansa-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.ansa-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

/* === SECTION TITLE === */
.ansa-section-title {
  margin-bottom: 50px;
}
.ansa-section-title.text-center {
  text-align: center;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.ansa-section-title.text-center .ansa-eyebrow {
  justify-content: center;
}
.ansa-section-title h2 {
  font-size: var(--ansa-fs-h2);
  font-weight: 800;
  margin-bottom: 12px;
}
.ansa-section-title p {
  color: var(--ansa-texto-sec);
  line-height: 1.7;
}

/* === GLASS CARDS === */
.ansa-glass-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--ansa-radius);
  padding: 36px;
  transition: all .4s;
}
.ansa-glass-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0,0,0,.3);
  border-color: rgba(145,191,32,.3);
}
.ansa-glass-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--ansa-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 20px;
}
.ansa-glass-card h3, .ansa-glass-card h4 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}
.ansa-glass-card p {
  font-size: 14px;
  color: var(--ansa-texto-sec);
  line-height: 1.7;
}

/* === RSE LOGO GRID === */
.ansa-rse-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 30px;
  align-items: center;
}
.ansa-rse-logo {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ansa-radius);
  padding: 30px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  transition: all .4s;
}
.ansa-rse-logo:hover {
  border-color: rgba(145,191,32,.3);
  background: rgba(255,255,255,.06);
  transform: translateY(-4px);
}
.ansa-rse-logo img {
  max-height: 80px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .7;
  transition: all .3s;
}
.ansa-rse-logo:hover img {
  opacity: 1;
  filter: none;
}

/* === CONTACTO DATA CARDS === */
.ansa-contacto-dato {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  text-decoration: none;
  color: var(--ansa-texto);
  transition: all .3s;
}
.ansa-contacto-dato:hover {
  color: var(--ansa-verde);
}
.ansa-contacto-dato .ic {
  width: 48px;
  height: 48px;
  border-radius: var(--ansa-radius-sm);
  background: rgba(53,93,167,.12);
  color: var(--ansa-azul-texto);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.ansa-contacto-dato .ic.ic-wa {
  background: rgba(37,211,102,.12);
  color: var(--ansa-wa);
}
.ansa-contacto-dato strong {
  color: #fff;
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}

/* === SOCIAL LINKS (Contacto) === */
.ansa-social-links {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}
.ansa-social-link {
  width: 48px;
  height: 48px;
  border-radius: var(--ansa-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  transition: all .3s;
  text-decoration: none;
}
.ansa-social-link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.ansa-social-link.fb { background: var(--ansa-fb); }
.ansa-social-link.li { background: var(--ansa-li); }
.ansa-social-link.ig { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }

/* === MINI MAP (Contacto) === */
.ansa-mini-map {
  width: 100%;
  height: 260px;
  border-radius: var(--ansa-radius-sm);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  margin-top: 20px;
}

/* === INTRO SECTION BULLET LIST === */
.ansa-intro-list {
  margin-bottom: 24px;
  padding: 0;
}
.ansa-intro-list li {
  padding: 10px 0;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  color: var(--ansa-texto);
}
.ansa-intro-list li:last-child {
  border-bottom: none;
}
.ansa-intro-list li i {
  color: var(--ansa-verde);
  font-size: 16px;
  width: 20px;
  flex-shrink: 0;
}

/* === DOWNLOAD CARDS === */
a.ansa-glass-card {
  text-decoration: none;
  display: block;
  cursor: pointer;
}
a.ansa-glass-card .ansa-dl-link {
  color: var(--ansa-verde-texto);
  font-size: 13px;
  font-weight: 700;
  font-family: var(--ansa-font-heading);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
}

/* === ROUNDED IMAGE === */
.ansa-img-rounded {
  border-radius: var(--ansa-radius);
  overflow: hidden;
  max-height: 480px;
}
.ansa-img-rounded img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* === CTA PREFOOTER OVERRIDES FOR PAGES === */
.ansa-cta-prefooter .cta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-top: 30px;
  flex-wrap: wrap;
}
.ansa-cta-prefooter h2 {
  font-size: var(--ansa-fs-h2);
  font-weight: 800;
  /* sin margin-top default del navegador: era el hueco eyebrow->titulo */
  margin: 0 0 14px;
}
.ansa-cta-prefooter p {
  color: rgba(255,255,255,.85);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
  text-wrap: balance;
}

/* === SUCURSALES PAGE === */
.leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.15); }
.leaflet-popup-content { margin: 16px; font-family: var(--ansa-font-body); }
.leaflet-popup-content h6 { font-family: var(--ansa-font-heading); font-size: 14px; font-weight: 800; margin-bottom: 4px; color: var(--ansa-azul); }
.leaflet-popup-content p { font-size: 12px; color: #333; margin-bottom: 8px; line-height: 1.5; }
.leaflet-popup-content .popup-btn { display: inline-flex; align-items: center; gap: 6px; background: var(--ansa-wa-btn); color: #fff; padding: 6px 14px; border-radius: 50px; font-size: 11px; font-weight: 700; font-family: var(--ansa-font-heading); text-decoration: none; transition: all .3s; }
.leaflet-popup-content .popup-btn:hover { background: var(--ansa-wa-btn-hover); }

.ansa-map-container {
  width: 100%;
  height: 500px;
  border-radius: var(--ansa-radius);
  border: 2px solid rgba(53,93,167,.3);
  box-shadow: 0 0 40px rgba(0,0,0,.4), inset 0 0 0 1px rgba(255,255,255,.06);
}

.ansa-filter-bar {
  display: flex;
  gap: 16px;
  align-items: center;
  margin: 30px 0;
  flex-wrap: wrap;
}
/* Filtro centrado sobre el mapa (Sucursales) */
.ansa-filter-bar.ansa-filter-center {
  justify-content: center;
  margin: 0 0 22px;
}
.ansa-filter-bar label {
  font-family: var(--ansa-font-heading);
  font-size: 13px;
  font-weight: 700;
  color: var(--ansa-texto-sec);
}
.ansa-filter-bar select {
  padding: 12px 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ansa-radius-sm);
  font-size: 14px;
  color: var(--ansa-texto);
  min-width: 220px;
  cursor: pointer;
  font-family: var(--ansa-font-body);
  transition: all .3s;
}
.ansa-filter-bar select:focus {
  border-color: var(--ansa-verde);
  outline: none;
  box-shadow: 0 0 0 4px rgba(145,191,32,.1);
}

.ansa-sucursal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
  margin-top: 40px;
}
.ansa-sucursal-card {
  background: var(--ansa-dark2);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--ansa-radius-sm);
  padding: 18px 20px;
  transition: all .3s;
  display: flex;
  align-items: center;
  gap: 14px;
}
.ansa-sucursal-card:hover {
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
  background: rgba(255,255,255,.02);
}
.ansa-sucursal-card .suc-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  color: var(--ansa-texto-sec);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}
.ansa-sucursal-card:hover .suc-icon {
  color: var(--ansa-verde);
  background: rgba(145,191,32,.08);
}
.ansa-sucursal-card .suc-info {
  flex: 1;
  min-width: 0;
}
.ansa-sucursal-card .suc-info .estado-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  font-family: var(--ansa-font-heading);
  color: var(--ansa-texto-sec);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 2px;
}
.ansa-sucursal-card h3, .ansa-sucursal-card h5 {
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ansa-sucursal-card p {
  font-size: 12px;
  color: var(--ansa-texto-sec);
  margin: 0;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ansa-sucursal-card .btn-wa-sm {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.1);
  color: var(--ansa-texto-sec);
  border-radius: 50%;
  font-size: 15px;
  flex-shrink: 0;
  transition: all .3s;
}
.ansa-sucursal-card:hover .btn-wa-sm {
  background: var(--ansa-wa-btn);
  color: #fff;
  border-color: var(--ansa-wa-btn);
}
.ansa-sucursal-card .btn-wa-sm:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(37,211,102,.4);
}
@media(max-width:768px){
  /* minmax(0,1fr): los textos nowrap de las cards no deben inflar el track (overflow 390px) */
  .ansa-sucursal-grid{grid-template-columns:minmax(0,1fr)}
  /* La direccion de la sede no cabe en 390px: permitir 2 lineas en mobile */
  .ansa-sucursal-card p{white-space:normal}
  .ansa-territorio-stats{gap:24px;justify-content:center}
  .ansa-territorio-ctas{justify-content:center}
}

/* Sede central destacada en el directorio */
.ansa-sucursal-card.ansa-suc-sede {
  border: 1px solid rgba(80,158,47,.35);
  background: linear-gradient(135deg, #fff 0%, #F2F8EE 100%);
  box-shadow: 0 4px 18px rgba(80,158,47,.1);
}
.ansa-sucursal-card.ansa-suc-sede .suc-icon {
  background: var(--ansa-verde-btn);
  color: #fff;
}
.ansa-sucursal-card.ansa-suc-sede .estado-badge { color: var(--ansa-verde-texto); }

/* Contacto por sucursal (tel + correo) en el directorio — agregado 29-jun */
.ansa-sucursal-card .suc-contact { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; }
.ansa-sucursal-card .suc-contact a { font-size: 11px; color: var(--ansa-texto-sec); display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; transition: color .2s; }
.ansa-sucursal-card .suc-contact a:hover { color: var(--ansa-verde); }
.ansa-sucursal-card .suc-contact i { font-size: 10px; opacity: .85; }
[data-theme="blanco"] .ansa-sucursal-card .suc-contact a { color: #64748B; }
[data-theme="blanco"] .ansa-sucursal-card .suc-contact a:hover { color: var(--ansa-verde-texto); }
/* Agroestaciones: acento azul institucional para distinguirlas de las tiendas */
.ansa-sucursal-card.ansa-suc-agro .suc-icon { background: rgba(58,93,174,.1); color: var(--ansa-azul); }
.ansa-sucursal-card.ansa-suc-agro .estado-badge { color: var(--ansa-azul); }
[data-theme="blanco"] .ansa-sucursal-card.ansa-suc-agro .suc-icon { background: rgba(58,93,174,.08); color: var(--ansa-azul); }

/* === AVISO DE PRIVACIDAD / páginas legales — agregado 29-jun === */
.ansa-legal { padding: 72px 0; }
.ansa-legal-inner { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.ansa-legal-inner h1 { font-family: var(--ansa-font-display); font-size: clamp(1.8rem, 4vw, 2.4rem); color: var(--ansa-azul); margin-bottom: 18px; }
.ansa-legal-inner h2 { font-family: var(--ansa-font-display); font-size: 1.15rem; color: var(--ansa-azul); margin: 32px 0 10px; }
.ansa-legal-inner p { font-size: 15px; line-height: 1.75; color: #2D3748; margin-bottom: 14px; }
.ansa-legal-intro { background: #F2F8EE; border-left: 4px solid var(--ansa-verde); padding: 16px 20px; border-radius: 8px; }
.ansa-legal-pdf { display: inline-block; margin-left: 6px; font-weight: 700; color: var(--ansa-verde-texto); white-space: nowrap; }
.ansa-legal-pdf:hover { text-decoration: underline; }

/* === COBRES PAGE === */
.ansa-page-hero.cobres-hero::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  top: -200px;
  right: -100px;
  z-index: 0;
}
.ansa-page-hero.cobres-hero::after {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: rgba(145,191,32,.08);
  bottom: -150px;
  left: -100px;
  z-index: 0;
}

.ansa-intro-logo {
  max-width: 280px;
  margin-bottom: 24px;
}
.ansa-intro-img {
  border-radius: var(--ansa-radius);
  overflow: hidden;
  box-shadow: var(--ansa-shadow);
}
.ansa-intro-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 400px;
}

.ansa-check-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ansa-check-list li {
  padding: 10px 0;
  font-size: 15px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  color: var(--ansa-texto);
}
.ansa-check-list li:last-child { border-bottom: none; }
.ansa-check-list li i {
  color: var(--ansa-verde);
  font-size: 16px;
  margin-top: 3px;
  flex-shrink: 0;
}

.ansa-cobres-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.ansa-cobres-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--ansa-radius);
  padding: 40px 32px;
  text-align: center;
  transition: all .4s;
}
.ansa-cobres-card:hover {
  transform: translateY(-8px);
  border-color: rgba(145,191,32,.3);
  box-shadow: 0 30px 60px rgba(0,0,0,.4);
}
.ansa-cobres-card .product-logo {
  max-height: 60px;
  margin: 0 auto 16px;
  display: block;
}
.ansa-cobres-card h3, .ansa-cobres-card h4 {
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 6px;
}
.ansa-cobres-card .subtitle {
  font-size: 13px;
  color: var(--ansa-texto-sec);
  margin-bottom: 8px;
}
.ansa-cobres-card .prod-tag {
  display: inline-block;
  background: rgba(145,191,32,.1);
  color: var(--ansa-verde);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: var(--ansa-radius-pill);
  font-family: var(--ansa-font-heading);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}
.ansa-cobres-card p {
  font-size: 14px;
  color: var(--ansa-texto-sec);
  line-height: 1.7;
}
.ansa-cobres-card .card-btns {
  margin-top: 20px;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-sm-verde {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--ansa-verde-btn);
  color: #fff;
  padding: 8px 18px;
  border-radius: var(--ansa-radius-pill);
  font-size: 12px;
  font-weight: 700;
  font-family: var(--ansa-font-heading);
  transition: all .3s;
}
.btn-sm-verde:hover {
  background: var(--ansa-verde-btn-hover);
}
.btn-sm-outline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  padding: 8px 18px;
  border-radius: var(--ansa-radius-pill);
  font-size: 12px;
  font-weight: 700;
  font-family: var(--ansa-font-heading);
  transition: all .3s;
}
.btn-sm-outline:hover {
  border-color: var(--ansa-verde);
  color: var(--ansa-verde);
}
/* CRITICO (auditoria 2026-06-09): el outline blanco era invisible sobre
   tarjetas blancas en el tema claro — override azul como .btn-ansa-outline */
[data-theme="blanco"] .btn-sm-outline {
  color: #3A5DAE;
  border-color: #3A5DAE;
}
[data-theme="blanco"] .btn-sm-outline:hover {
  background: #3A5DAE;
  color: #fff;
  border-color: #3A5DAE;
}

.ansa-cultivos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 16px;
}
/* 12 cultivos = 2 filas exactas de 6 en pantallas anchas */
@media (min-width: 1100px) {
  .ansa-cultivos-grid { grid-template-columns: repeat(6, 1fr); }
}
.ansa-cultivo-chip {
  background: var(--ansa-dark2);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--ansa-radius-sm);
  padding: 20px 16px;
  text-align: center;
  transition: all .3s;
  font-family: var(--ansa-font-heading);
  font-weight: 600;
  font-size: 14px;
  color: var(--ansa-texto);
}
.ansa-cultivo-chip:hover {
  border-color: var(--ansa-verde);
  background: rgba(145,191,32,.06);
  transform: translateY(-4px);
  box-shadow: var(--ansa-shadow);
}
.ansa-cultivo-chip i {
  display: block;
  font-size: 28px;
  color: var(--ansa-verde);
  margin-bottom: 10px;
}
/* Iconos de cultivo propios (retro 16-jul lamina 16: los de FA no coincidian) */
.ansa-cultivo-chip svg {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto 10px;
  fill: var(--ansa-verde);
}

/* === RESPONSIVE === */
@media (max-width: 1024px) {
  .ansa-footer { padding: 50px 40px; }
  .ansa-cta-prefooter { padding: 60px 40px; }
  .ansa-page-hero { padding: 140px 40px 60px; }
  .ansa-section, .ansa-section-light { padding: 60px 40px; }
  .ansa-grid-2 { gap: 40px; }
  .ansa-grid-4 { grid-template-columns: 1fr 1fr; }
  .ansa-rse-grid { grid-template-columns: repeat(3, 1fr); }
  .ansa-cobres-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .ansa-footer { padding: 50px 20px; }
  .ansa-cta-prefooter { padding: 60px 20px; }
  .ansa-page-hero { padding: 120px 20px 50px; }
  .ansa-page-hero h1 { font-size: 32px; }
  .ansa-section, .ansa-section-light { padding: 50px 20px; }
  .ansa-grid-2 { grid-template-columns: 1fr; gap: 30px; }
  .ansa-grid-3 { grid-template-columns: 1fr; }
  .ansa-grid-4 { grid-template-columns: 1fr; }
  .ansa-rse-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .ansa-section-title h2 { font-size: 28px; }
  .ansa-cultivos-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
}

/* ============================================
   HOMEPAGE-SPECIFIC SECTIONS
   ============================================ */

/* --- Hero Carousel --- */
.ansa-hero{height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--ansa-dark)}
.ansa-hero-bg{position:absolute;inset:0}
.ansa-hero-bg img{width:100%;height:100%;object-fit:cover;will-change:transform}
.ansa-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,11,18,.3) 0%,rgba(7,11,18,.65) 50%,var(--ansa-dark) 100%)}
.ansa-hero-overlay::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,18,.7) 0%,rgba(7,11,18,.3) 50%,transparent 100%)}
.ansa-hero-content{position:relative;z-index:2;padding:0 80px;max-width:850px;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.ansa-hero h1,.ansa-hero .ansa-hero-h2{font-family:var(--ansa-font-display);letter-spacing:-.02em;font-size:var(--ansa-fs-display);font-weight:900;line-height:.95;color:#fff;margin-bottom:16px;text-shadow:0 4px 30px rgba(0,0,0,.6)}
.ansa-hero h1 .ansa-slogan-inline,.ansa-hero .ansa-hero-h2 .ansa-slogan-inline{display:block;font-size:48px;font-weight:400;margin-top:8px}
.ansa-hero h1 .ansa-slogan-logo{display:block;width:100%;height:auto !important;margin-top:16px;filter:drop-shadow(0 4px 15px rgba(0,0,0,.4))}
/* El hero del Home quedo fuera del patron estandarizado: .ansa-eyebrow azul
   sobre overlay azul daba 1.12:1. Mismo tratamiento que .hero-eyebrow. */
.ansa-hero-content .ansa-eyebrow{color:#8FD16A;text-shadow:0 1px 6px rgba(7,30,55,.75)}
.ansa-hero-content .ansa-eyebrow::before{background:#8FD16A}
.ansa-hero-desc{font-size:18px;color:rgba(255,255,255,.75);max-width:550px;line-height:1.8;margin-bottom:40px}
.ansa-hero-btns{display:flex;gap:16px;flex-wrap:wrap}
.ansa-hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;display:flex;align-items:center;overflow:hidden;z-index:1}
.ansa-hero-slide.active{opacity:1;z-index:2}
.ansa-hero-slide-logo{max-width:180px;margin-bottom:20px;filter:drop-shadow(0 4px 15px rgba(0,0,0,.4))}
.ansa-hero-dots{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:14px;background:rgba(7,11,18,.45);backdrop-filter:blur(8px);padding:8px 18px;border-radius:var(--ansa-radius-pill);border:1px solid rgba(255,255,255,.1)}
.ansa-hero-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);border:2px solid rgba(255,255,255,.2);cursor:pointer;transition:all .3s;padding:0;position:relative}
/* Hit-area >=24px manteniendo el punto visual de 10px (2.5.8) */
.ansa-hero-dot::before{content:'';position:absolute;inset:-9px;border-radius:50%}
/* Boton pausa/play del carrusel (2.2.2) */
.ansa-hero-pause{background:rgba(7,11,18,.45);border:1px solid rgba(255,255,255,.3);color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .3s;margin-left:4px}
.ansa-hero-pause:hover{border-color:#fff;background:rgba(7,11,18,.7)}
.ansa-hero-dot.active{background:var(--ansa-verde);border-color:var(--ansa-verde);transform:scale(1.3);box-shadow:0 0 12px rgba(145,191,32,.5)}
.ansa-hero-dot:hover{background:rgba(255,255,255,.7);border-color:rgba(255,255,255,.5)}
.ansa-hero-scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:12;text-align:center}
.ansa-hero-scroll span{display:block;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:10px}
.ansa-scroll-line{width:1px;height:40px;background:rgba(255,255,255,.15);margin:0 auto;position:relative;overflow:hidden}
.ansa-scroll-line::after{content:'';position:absolute;top:-100%;width:100%;height:50%;background:var(--ansa-verde);animation:ansa-scroll-down 2s infinite}
@keyframes ansa-scroll-down{0%{top:-50%}100%{top:150%}}

/* --- Stats Strip --- */
.ansa-stats-strip{display:flex;justify-content:center;gap:60px;padding:80px 50px;border-top:1px solid rgba(255,255,255,.06)}
.ansa-stat-block{text-align:center}
.ansa-stat-num{font-family:var(--ansa-font-heading);font-size:52px;font-weight:900;line-height:1;color:#fff}
.ansa-stat-num span{color:var(--ansa-verde)}
.ansa-stat-label{font-size:13px;color:var(--ansa-texto-sec);margin-top:8px;text-transform:uppercase;letter-spacing:2px}

/* --- Card Items (homepage) --- */
.ansa-card-item{background:var(--ansa-dark2);border-radius:var(--ansa-radius);overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:all .4s}
.ansa-card-item:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(0,0,0,.4);border-color:rgba(145,191,32,.3)}
.ansa-card-img{height:220px;overflow:hidden;position:relative}
.ansa-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ansa-card-item:hover .ansa-card-img img{transform:scale(1.08)}
.ansa-card-tag{position:absolute;top:14px;left:14px;background:var(--ansa-verde);color:var(--ansa-dark);padding:6px 16px;border-radius:var(--ansa-radius-pill);font-size:11px;font-weight:700;text-transform:uppercase;font-family:var(--ansa-font-heading)}
.ansa-card-body{padding:28px}
.ansa-card-body h3{font-size:20px;font-weight:800;margin-bottom:8px;color:#fff}
.ansa-card-body p{font-size:14px;color:var(--ansa-texto-sec);line-height:1.7;margin-bottom:16px}
.ansa-card-link{color:var(--ansa-verde);font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px;transition:gap .3s;font-family:var(--ansa-font-heading)}
.ansa-card-link:hover{gap:14px;color:var(--ansa-verde)}

/* --- DonDron Slide --- */
.ansa-dondron-slide{position:relative;padding:100px 80px;overflow:hidden;background:linear-gradient(135deg,#0b111d 0%,#1a2437 100%)}
.ansa-dondron-slide::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(17,154,215,.15),transparent);top:-200px;right:-100px}
.ansa-dondron-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2}
.ansa-dondron-content h2{font-size:var(--ansa-fs-h2);font-weight:900;color:#fff;margin-bottom:12px}
.ansa-dondron-content p{color:var(--ansa-texto-sec);font-size:16px;line-height:1.8;margin-bottom:28px}
.ansa-dondron-logo{max-width:200px;margin-bottom:20px}
.ansa-dondron-img{border-radius:var(--ansa-radius);overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.ansa-dondron-img img{width:100%;height:400px;object-fit:cover}

/* --- Split Section --- */
.ansa-split{display:grid;grid-template-columns:1fr 1fr;min-height:80vh;align-items:center}
.ansa-split-img{height:100%;overflow:hidden;position:relative}
.ansa-split-img img{width:100%;height:100%;object-fit:cover}
.ansa-split-text{padding:80px}
.ansa-split-text h2{font-size:var(--ansa-fs-h2);font-weight:800;margin-bottom:20px;line-height:1.15}
.ansa-split-text p{font-size:16px;color:var(--ansa-texto-sec);line-height:1.8;margin-bottom:24px}
.ansa-split-text ul{margin-bottom:28px;padding:0;list-style:none}
.ansa-split-text li{padding:12px 0;font-size:14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--ansa-texto)}
.ansa-split-text li i{color:var(--ansa-verde);font-size:16px;width:20px;flex-shrink:0}

/* --- Chips --- */
.ansa-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.ansa-chip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:10px 20px;border-radius:var(--ansa-radius-pill);font-size:12px;font-weight:600;color:rgba(255,255,255,.7);transition:all .3s;font-family:var(--ansa-font-heading);display:inline-block}
.ansa-chip:hover{background:var(--ansa-azul);border-color:var(--ansa-azul);color:#fff}

/* --- Marquee Logos --- */
.ansa-marquee-section{padding:80px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.ansa-marquee-track{display:flex;gap:30px;animation:ansa-marquee 50s linear infinite}
.ansa-marquee-track:hover,.ansa-marquee-track:focus-within{animation-play-state:paused}
/* Pausa por boton (2.2.2): JS togglea .ansa-marquee-paused en la seccion */
.ansa-marquee-paused .ansa-marquee-track{animation-play-state:paused}
.ansa-marquee-pause{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid #6B7FB0;color:#3A5DAE;font-family:var(--ansa-font-heading);font-size:12px;font-weight:700;padding:10px 18px;min-height:44px;border-radius:var(--ansa-radius-pill);cursor:pointer;transition:all .3s;margin:0 auto 24px;display:flex;width:fit-content}
.ansa-marquee-pause:hover{border-color:#3A5DAE;background:rgba(58,93,174,.06)}
@keyframes ansa-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ansa-m-logo{min-width:140px;height:70px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:12px 20px;flex-shrink:0;transition:all .4s;overflow:hidden}
.ansa-m-logo img{max-height:45px;max-width:110px;object-fit:contain;filter:grayscale(30%) brightness(1.5) opacity(.7);transition:all .4s}
.ansa-m-logo:hover{border-color:var(--ansa-verde);background:rgba(145,191,32,.04);transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.2)}
.ansa-m-logo:hover img{filter:grayscale(0) brightness(1) opacity(1)}
.ansa-m-logo-text{min-width:140px;height:70px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--ansa-font-heading);font-weight:700;font-size:13px;color:rgba(255,255,255,.65);padding:16px;flex-shrink:0;transition:all .4s}
.ansa-m-logo-text:hover{border-color:var(--ansa-verde);color:#fff;background:rgba(145,191,32,.06);transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.2)}

/* --- Vacancy Preview Cards --- */
.ansa-vac-card{background:var(--ansa-dark);border:1px solid rgba(255,255,255,.06);border-radius:var(--ansa-radius);padding:24px;display:flex;justify-content:space-between;align-items:center;transition:all .3s;cursor:pointer;margin-bottom:14px}
.ansa-vac-card:hover{border-color:rgba(145,191,32,.3);box-shadow:var(--ansa-shadow);transform:translateX(8px)}
.ansa-vac-card h3{font-size:16px;font-weight:700;margin:0;color:#fff}
.ansa-vac-card small{color:var(--ansa-texto-sec);font-size:13px}
.ansa-vac-tag{font-size:11px;color:var(--ansa-verde);font-weight:700;background:rgba(145,191,32,.1);padding:6px 16px;border-radius:var(--ansa-radius-pill);font-family:var(--ansa-font-heading);flex-shrink:0}

/* --- Homepage Responsive --- */
@media(max-width:1024px){
  .ansa-split{grid-template-columns:1fr}
  .ansa-split-img{height:50vh}
  .ansa-hero h1,.ansa-hero .ansa-hero-h2{font-size:48px}
  .ansa-dondron-content{grid-template-columns:1fr}
  .ansa-split-text{padding:60px 40px}
}
@media(max-width:768px){
  .ansa-hero-content{padding:0 24px}
  .ansa-hero h1,.ansa-hero .ansa-hero-h2{font-size:36px}
  .ansa-hero h1 .ansa-slogan-inline,.ansa-hero .ansa-hero-h2 .ansa-slogan-inline{font-size:28px}
  .ansa-hero h1 .ansa-slogan-logo{max-width:220px !important}
  .ansa-stats-strip{flex-wrap:wrap;gap:30px;padding:40px 24px}
  .ansa-stat-num{font-size:36px}
  .ansa-split-text{padding:40px 20px}
  .ansa-dondron-slide{padding:60px 20px}
  .ansa-hero-dots{bottom:48px;padding:8px 16px}
  /* El indicador SCROLL chocaba con los dots+pausa en 390px */
  .ansa-hero-scroll{display:none}
}

/* --- Flotantes en mobile: solo WhatsApp (los 3 botones tapaban contenido) --- */
@media(max-width:768px){
  .ansa-fl-fb,.ansa-fl-ig{display:none !important}
  .ansa-floating{right:16px;bottom:16px}
  .ansa-fl{width:48px;height:48px;font-size:18px}
  #backTop{display:none !important}
  .ansa-footer{padding-bottom:90px}
}

/* --- WCAG Reduced Motion for Homepage --- */
@media(prefers-reduced-motion:reduce){
  .ansa-marquee-track{animation:none !important}
  .ansa-scroll-line::after{animation:none !important}
  .ansa-hero-slide{transition:none !important}
}

/* ============================================
   FIX ELEMENTOR: su reset `.elementor img{height:auto}` carga despues
   del tema y anula el height:100% de las fotos de relleno (heros, cards).
   !important justificado para ganar el empate de especificidad.
   ============================================ */
.ansa-hero-bg img,
.ansa-page-hero .hero-bg img,
.ansa-cta-prefooter .cta-bg img,
.ansa-split-img img,
.ansa-card-img img,
.ansa-img-rounded img,
.ansa-dondron-img img,
.ansa-intro-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* Mismo empate, otra propiedad: `.elementor img{max-width:100%}` (0,1,1) gana a
   la clase del tema (0,1,0) y estira los logos a todo el ancho del contenedor
   (DonDron salia a 550/610px en vez de 180/200). */
.ansa-hero-slide-logo { max-width: 180px !important; }
.ansa-dondron-logo    { max-width: 200px !important; }
.ansa-intro-logo      { max-width: 240px !important; }
.ansa-slogan-logo     { max-width: 340px !important; }

/* ============================================
   F4 — CAPA DE DISENO (auditoria 2026-06-09)
   Tipografia display, motion con intencion,
   grano + motivo topografico, momento editorial
   ============================================ */

/* --- Slogan manuscrito dentro del hero (identidad de marca) --- */
.ansa-hero h1 .ansa-slogan-inline,
.ansa-hero .ansa-hero-h2 .ansa-slogan-inline {
  font-family: var(--ansa-font-slogan);
  letter-spacing: 0;
}

/* --- Acento dentro del titular del hero (misma tipografia que la frase) ---
   "ConfiANSA" iba en Dancing Script a 48px: ilegible y desproporcionado sobre
   la foto. Se resuelve con el display del titular y el verde claro de marca
   (#8FD16A, el mismo del eyebrow, ya validado AA sobre el hero oscuro). */
.ansa-hero h1 .ansa-hero-accent,
.ansa-hero .ansa-hero-h2 .ansa-hero-accent {
  display: block;
  font-family: var(--ansa-font-display);
  font-weight: 900;
  font-size: 1em;
  letter-spacing: -.02em;
  color: #8FD16A;
  margin-top: 4px;
}

/* --- Ken Burns lento en el hero (solo sin reduced-motion) --- */
@keyframes ansa-kenburns {
  from { transform: scale(1); }
  to   { transform: scale(1.08) translateY(-1.5%); }
}
@media (prefers-reduced-motion: no-preference) {
  .ansa-hero-slide.active .ansa-hero-bg img {
    animation: ansa-kenburns 16s ease-out forwards;
  }
  .ansa-hero-slide.active .ansa-hero-bg img.ansa-img-flip {
    animation: ansa-kenburns-flip 16s ease-out forwards;
  }
}
/* imagen espejada (p.ej. avioneta DonDron: la persona pasa al lado derecho,
   fuera del texto); la variante de keyframes evita que Ken Burns pise el flip */
.ansa-img-flip { transform: scaleX(-1); }
@keyframes ansa-kenburns-flip {
  from { transform: scaleX(-1) scale(1); }
  to   { transform: scaleX(-1) scale(1.08) translateY(-1.5%); }
}

/* --- Scroll-reveal con stagger (la clase la agrega JS; sin JS no se oculta nada) --- */
.ansa-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.16, 1, .3, 1);
}
.ansa-reveal.ansa-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .ansa-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* --- Grano sutil en zonas inmersivas oscuras (3-4%) --- */
.ansa-hero-overlay::after,
.ansa-cta-prefooter .cta-overlay::after,
.ansa-dondron-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* --- Motivo topografico/surcos en secciones claras (identidad agro) --- */
[data-theme="blanco"] .ansa-section-light {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560' fill='none'%3E%3Cg stroke='%233A5DAE' stroke-opacity='.06' stroke-width='2'%3E%3Ccircle cx='280' cy='280' r='70'/%3E%3Ccircle cx='280' cy='280' r='125'/%3E%3Ccircle cx='280' cy='280' r='180'/%3E%3Ccircle cx='280' cy='280' r='235'/%3E%3Ccircle cx='280' cy='280' r='290'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(180deg, #EFF4F9 0%, #E8EEF5 100%);
  background-repeat: no-repeat, no-repeat;
  background-position: right -140px bottom -160px, center;
  background-size: 560px 560px, cover;
}

/* --- Heros de pagina: dejar respirar la fotografia (overlays mas ligeros) --- */
[data-theme="blanco"] .ansa-page-hero:not(.ansa-territorio-hero) .hero-overlay--green {
  background: linear-gradient(180deg,
    rgba(7,30,55,.84) 0%, rgba(9,60,110,.76) 35%,
    rgba(58,93,174,.55) 65%, rgba(248,250,251,.3) 88%, #F8FAFB 100%);
}

/* --- Momento editorial asimetrico "Desde 1977" (Home) --- */
.ansa-editorial {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 5vw;
  align-items: end;
  padding: 110px 80px 90px;
  background: #fff;
  overflow: hidden;
}
.ansa-editorial-num {
  font-family: var(--ansa-font-display);
  font-weight: 900;
  font-size: clamp(110px, 17vw, 230px);
  line-height: .8;
  letter-spacing: -.04em;
  color: var(--ansa-azul);
  margin: 18px 0 0 -.04em;
}
.ansa-editorial-txt h2 {
  font-size: var(--ansa-fs-h2);
  font-weight: 800;
  margin-bottom: 14px;
}
.ansa-editorial-txt p {
  color: var(--ansa-texto-sec);
  line-height: 1.8;
  max-width: 460px;
}
@media (max-width: 900px) {
  .ansa-editorial { grid-template-columns: 1fr; gap: 24px; padding: 70px 24px 60px; align-items: start; }
}

/* --- Input de archivo (CV) con boton de marca en vez del control nativo --- */
.ansa-field input[type="file"]::file-selector-button {
  background: var(--ansa-azul);
  color: #fff;
  border: none;
  border-radius: var(--ansa-radius-pill);
  padding: 10px 18px;
  margin-right: 14px;
  font-family: var(--ansa-font-heading);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background .3s;
}
.ansa-field input[type="file"]::file-selector-button:hover { background: #2A4580; }

/* --- Stats strip mobile: el 7o stat ocupa fila completa (sin huerfano lateral) --- */
@media(max-width:768px){
  .ansa-stats-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
  .ansa-stat-block:last-child{grid-column:1 / -1}
}

/* --- Territorio hero: compactar espacio muerto bajo la leyenda --- */
.ansa-page-hero.ansa-territorio-hero{padding-bottom:30px}

/* --- Diferenciacion de cards por contexto: acento superior en cobres --- */
.ansa-cobres-card { position: relative; }
.ansa-cobres-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 32px;
  right: 32px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, var(--ansa-verde), var(--ansa-azul));
}
