/*
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 === */
  --ansa-azul: #355DA7;
  --ansa-azul-ui: #0972CE;
  --ansa-verde: #91BF20;
  --ansa-azul-dondron: #119AD7;
  --ansa-turquesa: #199DCB;
  --ansa-verde-azulado: #299A8C;

  /* === Variantes accesibles === */
  --ansa-azul-texto: #4478D9;
  --ansa-verde-hover: #7BA01A;
  --ansa-azul-hover: #0A83EC;

  /* === Tema oscuro === */
  --ansa-dark: #070b12;
  --ansa-dark2: #161c27;
  --ansa-texto: #c8cdd8;
  --ansa-texto-sec: #9ca3b4;

  /* === 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 === */
  --ansa-font-heading: 'Montserrat', sans-serif;
  --ansa-font-body: 'Open Sans', sans-serif;
  --ansa-font-slogan: 'Dancing Script', cursive;
}

/* === 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: #fff;
}

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); 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-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 { 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); color: var(--ansa-dark); border-color: var(--ansa-wa); }
[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: #095DA6;
  --ansa-azul-ui: #0972CE;
  --ansa-azul-texto: #095DA6;
  --ansa-azul-hover: #2782D1;
  --ansa-dark: #F8FAFB;
  --ansa-dark2: #EFF3F7;
  --ansa-texto: #2D3748;
  --ansa-texto-sec: #4A5568;
  --ansa-verde: #6BAE1A;
  --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: #095DA6; }

/* --- 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(9,93,166,.06); box-shadow: 0 1px 30px rgba(9,93,166,.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: #095DA6; }
[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(9,93,166,.06); background: #fff; padding-top: 60px; padding-bottom: 60px; }
[data-theme="blanco"] .ansa-stat-num { color: #095DA6; }
[data-theme="blanco"] .ansa-stat-num span { color: #095DA6; }
[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: #095DA6; }
[data-theme="blanco"] .ansa-eyebrow::before { background: linear-gradient(90deg, #6BAE1A, #095DA6); }

/* --- Cards — elevated with blue-tinted shadows --- */
[data-theme="blanco"] .ansa-card-item { background: #fff; border: 1px solid rgba(9,93,166,.06); box-shadow: 0 2px 12px rgba(9,93,166,.04); }
[data-theme="blanco"] .ansa-card-item:hover { border-color: rgba(9,93,166,.15); box-shadow: 0 20px 50px rgba(9,93,166,.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: #095DA6; font-weight: 800; }
[data-theme="blanco"] .ansa-card-link:hover { color: #6BAE1A; gap: 14px; }

/* --- Glass Cards (RSE, contacto, descargables) --- */
[data-theme="blanco"] .ansa-glass-card { background: #fff; border: 1px solid rgba(9,93,166,.06); box-shadow: 0 2px 16px rgba(9,93,166,.04); }
[data-theme="blanco"] .ansa-glass-card:hover { border-color: rgba(107,174,26,.25); box-shadow: 0 16px 48px rgba(9,93,166,.08); transform: translateY(-8px); }
[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: #095DA6; font-weight: 800; }

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

/* --- Hero Carousel — immersive dark zone, smooth exit to light --- */
[data-theme="blanco"] .ansa-hero-overlay {
  background: linear-gradient(180deg,
    rgba(7,30,55,.82) 0%, rgba(9,50,90,.75) 45%,
    rgba(9,93,166,.5) 75%, rgba(248,250,251,0) 100%);
}
[data-theme="blanco"] .ansa-hero-overlay::before {
  background: linear-gradient(90deg,
    rgba(7,20,40,.75) 0%, rgba(9,40,80,.35) 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(9,93,166,.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%, #095DA6 100%); }
[data-theme="blanco"] .ansa-dondron-content h2 { color: #fff !important; }
[data-theme="blanco"] .ansa-dondron-content p { color: rgba(255,255,255,.85); }

/* --- CTA Pre-Footer — text must be white (blue bg) --- */
[data-theme="blanco"] .ansa-cta-prefooter h2 { color: #fff; }
[data-theme="blanco"] .ansa-cta-prefooter p { color: rgba(255,255,255,.8); }
[data-theme="blanco"] .ansa-cta-prefooter .cta-overlay {
  background: linear-gradient(180deg,
    rgba(9,93,166,.05) 0%, rgba(9,93,166,.6) 18%,
    #095DA6 50%, #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 --- */
[data-theme="blanco"] .ansa-footer { background: #074A85; color: #fff; }
[data-theme="blanco"] .ansa-footer h5 { color: #6BAE1A !important; }
[data-theme="blanco"] .ansa-footer a { color: rgba(255,255,255,.65); }
[data-theme="blanco"] .ansa-footer a:hover { color: #6BAE1A; }
[data-theme="blanco"] .ansa-footer p { color: rgba(255,255,255,.55); }
[data-theme="blanco"] .ansa-ft-bottom { border-top-color: rgba(255,255,255,.1); color: rgba(255,255,255,.35); }
[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: #6BAE1A; color: #6BAE1A; background: rgba(107,174,26,.1); }

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

/* --- Marquee / Aliados --- */
[data-theme="blanco"] .ansa-marquee-section { border-top: 1px solid rgba(9,93,166,.04); border-bottom: 1px solid rgba(9,93,166,.04); background: #fff; }
[data-theme="blanco"] .ansa-m-logo { background: #fff; border-color: rgba(9,93,166,.08); box-shadow: 0 1px 6px rgba(9,93,166,.03); }
[data-theme="blanco"] .ansa-m-logo img { filter: grayscale(40%) opacity(.55); }
[data-theme="blanco"] .ansa-m-logo:hover { border-color: #6BAE1A; background: #fff; box-shadow: 0 8px 24px rgba(107,174,26,.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(9,93,166,.08); color: #2D3748; font-weight: 800; box-shadow: 0 1px 6px rgba(9,93,166,.03); }
[data-theme="blanco"] .ansa-m-logo-text:hover { border-color: #6BAE1A; color: #095DA6; box-shadow: 0 8px 24px rgba(107,174,26,.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(9,93,166,.06); }
[data-theme="blanco"] .ansa-split-text li i { color: #6BAE1A; }
[data-theme="blanco"] .ansa-chip { background: rgba(9,93,166,.04); border-color: rgba(9,93,166,.1); color: #095DA6; font-weight: 700; }
[data-theme="blanco"] .ansa-chip:hover { background: #095DA6; border-color: #095DA6; color: #fff; }

/* --- Sucursales --- */
[data-theme="blanco"] .ansa-sucursal-card { background: #fff; border-color: rgba(9,93,166,.06); box-shadow: 0 1px 8px rgba(9,93,166,.03); }
[data-theme="blanco"] .ansa-sucursal-card:hover { border-color: rgba(107,174,26,.2); box-shadow: 0 8px 24px rgba(9,93,166,.06); }
[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: #095DA6; font-weight: 700; }
[data-theme="blanco"] .ansa-sucursal-card .suc-icon { background: rgba(9,93,166,.06); color: #095DA6; }
[data-theme="blanco"] .ansa-sucursal-card .btn-wa-sm { border-color: rgba(9,93,166,.1); color: #64748B; }
[data-theme="blanco"] .ansa-filter-bar select { background: #fff; border: 2px solid rgba(9,93,166,.1); color: #2D3748; border-radius: 12px; }
[data-theme="blanco"] .ansa-filter-bar select:focus { border-color: #095DA6; box-shadow: 0 0 0 4px rgba(9,93,166,.08); }
[data-theme="blanco"] .ansa-filter-bar label { color: #0B4F8A; font-weight: 800; }
[data-theme="blanco"] .ansa-map-container { border-color: rgba(9,93,166,.12); box-shadow: 0 8px 32px rgba(9,93,166,.08); }

/* --- Cobres --- */
[data-theme="blanco"] .ansa-cobres-card { background: #fff; border-color: rgba(9,93,166,.06); box-shadow: 0 2px 16px rgba(9,93,166,.04); }
[data-theme="blanco"] .ansa-cobres-card:hover { border-color: rgba(107,174,26,.25); box-shadow: 0 20px 48px rgba(9,93,166,.08); }
[data-theme="blanco"] .ansa-cobres-card .prod-tag { background: rgba(107,174,26,.08); color: #5A9614; }
[data-theme="blanco"] .ansa-intro-list li { color: #2D3748; border-bottom-color: rgba(9,93,166,.06); }
[data-theme="blanco"] .ansa-intro-list li i { color: #6BAE1A; }
[data-theme="blanco"] .ansa-check-list li { color: #2D3748; border-bottom-color: rgba(9,93,166,.06); }
[data-theme="blanco"] .ansa-check-list li i { color: #6BAE1A; }
[data-theme="blanco"] .ansa-cultivo-chip { background: #fff; border-color: rgba(9,93,166,.06); color: #2D3748; box-shadow: 0 1px 6px rgba(9,93,166,.03); }
[data-theme="blanco"] .ansa-cultivo-chip i { color: #6BAE1A; }
[data-theme="blanco"] .ansa-cultivo-chip:hover { border-color: #6BAE1A; background: rgba(107,174,26,.04); box-shadow: 0 8px 20px rgba(107,174,26,.08); }

/* --- Empleo / Vacantes --- */
[data-theme="blanco"] .ansa-vac-card { background: #fff; border: 1px solid rgba(9,93,166,.06); box-shadow: 0 1px 8px rgba(9,93,166,.03); }
[data-theme="blanco"] .ansa-vac-card:hover { border-color: rgba(107,174,26,.2); box-shadow: 0 8px 24px rgba(9,93,166,.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: #6BAE1A; font-weight: 800; }

/* --- Contacto --- */
[data-theme="blanco"] .ansa-contacto-dato { border-bottom-color: rgba(9,93,166,.06); color: #4A5568; }
[data-theme="blanco"] .ansa-contacto-dato strong { color: #0B4F8A; }
[data-theme="blanco"] .ansa-contacto-dato .ic { background: rgba(9,93,166,.06); color: #095DA6; }
[data-theme="blanco"] .ansa-social-link { color: #fff; }
[data-theme="blanco"] .ansa-mini-map { border-color: rgba(9,93,166,.1); box-shadow: 0 4px 16px rgba(9,93,166,.06); }
[data-theme="blanco"] input,[data-theme="blanco"] textarea,
[data-theme="blanco"] select:not(.ansa-filter-bar select) { color: #2D3748; background: #fff; border-color: rgba(9,93,166,.12); }
[data-theme="blanco"] input:focus,[data-theme="blanco"] textarea:focus { border-color: #095DA6; box-shadow: 0 0 0 3px rgba(9,93,166,.08); }
[data-theme="blanco"] input::placeholder,[data-theme="blanco"] textarea::placeholder { color: #94A3B8; }
[data-theme="blanco"] label { color: #0B4F8A; }

/* --- RSE Logos --- */
[data-theme="blanco"] .ansa-rse-logo { background: #fff; border-color: rgba(9,93,166,.06); }
[data-theme="blanco"] .ansa-rse-logo:hover { border-color: rgba(107,174,26,.25); box-shadow: 0 8px 24px rgba(9,93,166,.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: #095DA6; color: #fff; box-shadow: 0 4px 16px rgba(9,93,166,.2); }
[data-theme="blanco"] ::selection { background: #095DA6; color: #fff; }
[data-theme="blanco"] #ansaPreloader { background: linear-gradient(135deg, #095DA6, #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: 36px;
  height: 36px;
  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: #095DA6; color: #095DA6; }
.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 === */
*:focus-visible {
  outline: 2px solid var(--ansa-verde);
  outline-offset: 3px;
}

/* === 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);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(7,11,18,.92);backdrop-filter:blur(20px);padding:14px 50px;border-bottom:1px solid rgba(255,255,255,.05);box-shadow:0 2px 20px rgba(0,0,0,.3)}
.ansa-nav-logo img{height:40px}
.ansa-logo-dark{display:none}
/* Blanco: show color logo only when nav is solid (scrolled), keep white logo over hero photos */
[data-theme="blanco"] .ansa-nav.solid .ansa-logo-light{display:none}
[data-theme="blanco"] .ansa-nav.solid .ansa-logo-dark{display:block}
/* When nav is transparent (over hero), keep white logo */
[data-theme="blanco"] .ansa-nav:not(.solid) .ansa-logo-light{display:block}
[data-theme="blanco"] .ansa-nav:not(.solid) .ansa-logo-dark{display:none}
/* Nav links also white over hero in blanco theme */
[data-theme="blanco"] .ansa-nav:not(.solid) .ansa-nav-links a{color:rgba(255,255,255,.7)}
[data-theme="blanco"] .ansa-nav:not(.solid) .ansa-nav-links a:hover,
[data-theme="blanco"] .ansa-nav:not(.solid) .ansa-nav-links a.active{color:#fff}
[data-theme="blanco"] .ansa-nav:not(.solid) .ansa-nav-links a::after{background:#fff}
[data-theme="blanco"] .ansa-nav:not(.solid) .ansa-theme-btn{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.6)}
.ansa-nav-links{display:flex;gap:28px;align-items:center}
.ansa-nav-links a{color:rgba(255,255,255,.6);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:#fff}
.ansa-nav-cta{background:var(--ansa-verde)!important;color:var(--ansa-dark)!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-hover)!important;transform:translateY(-2px);box-shadow:0 8px 25px rgba(145,191,32,.3)}
.ansa-nav-toggle{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;min-width:44px;min-height:44px}
.ansa-nav-close{display:none}

@media(max-width:1024px){
  .ansa-nav{padding:16px 24px}
  .ansa-nav.solid{padding:12px 24px}
  .ansa-nav-toggle{display:block}
  .ansa-nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(7,11,18,.98);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 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,.4)}
@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);
  color: var(--ansa-dark);
  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-hover);
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(145,191,32,.3);
}

.btn-ansa-wa {
  background: var(--ansa-wa);
  color: var(--ansa-dark);
  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-hover);
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(37,211,102,.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-verde);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 12px;
}
.ansa-eyebrow::before {
  content: '';
  width: 30px;
  height: 2px;
  background: var(--ansa-verde);
}

/* === CARDS ANSA === */
.ansa-card {
  background: var(--ansa-dark2);
  border-radius: var(--ansa-radius);
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
  transition: all .4s;
}
.ansa-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0,0,0,.4);
  border-color: rgba(145,191,32,.3);
}

/* === 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); }
.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%, #2a4d8a 100%);
  color: #fff;
  padding: 80px;
}
.ansa-footer h5 {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--ansa-verde);
  margin-bottom: 20px;
}
.ansa-footer a {
  color: rgba(255,255,255,.6);
  font-size: 13px;
}
.ansa-footer a:hover {
  color: var(--ansa-verde);
  transform: translateX(4px);
}

/* === CTA PRE-FOOTER === */
.ansa-cta-prefooter {
  position: relative;
  padding: 100px 80px;
  text-align: center;
  color: #fff;
  overflow: hidden;
}
.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;
}

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

/* === 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: 48px;
  font-weight: 900;
  margin-bottom: 16px;
}
.ansa-page-hero > p {
  font-size: 18px;
  color: rgba(255,255,255,.8);
  max-width: 600px;
}

/* === 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: 36px;
  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 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);
  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: 24px;
  flex-wrap: wrap;
}
.ansa-cta-prefooter h2 {
  font-size: 36px;
  font-weight: 800;
  margin-bottom: 12px;
}
.ansa-cta-prefooter p {
  color: rgba(255,255,255,.7);
  max-width: 600px;
  margin: 0 auto;
}

/* === 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: 'Open Sans', sans-serif; }
.leaflet-popup-content h6 { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 800; margin-bottom: 4px; color: var(--ansa-azul-ui); }
.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); color: var(--ansa-dark); padding: 6px 14px; border-radius: 50px; font-size: 11px; font-weight: 700; font-family: 'Montserrat', sans-serif; text-decoration: none; transition: all .3s; }
.leaflet-popup-content .popup-btn:hover { background: var(--ansa-wa-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;
}
.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 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: 36px;
  height: 36px;
  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);
  color: var(--ansa-dark);
  border-color: var(--ansa-wa);
}
.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){
  .ansa-sucursal-grid{grid-template-columns:1fr}
}

/* === 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 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);
  color: var(--ansa-dark);
  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-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);
}

.ansa-cultivos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 16px;
}
.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;
}

/* === 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-size:72px;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-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;gap:14px;background:rgba(7,11,18,.45);backdrop-filter:blur(8px);padding:10px 20px;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}
.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:42px;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:40px;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{animation-play-state:paused}
@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-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:60px;padding:8px 16px}
  .ansa-hero-scroll{bottom:16px}
}

/* --- 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}
}
