/* ============================================================
   EncuentraCanchas — theme deportivo (identidad propia)
   "Cancha de noche": verde césped + lima eléctrico + Anton.
   Cargado al final del <head> para ganar al CSS heredado de EI.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo:wght@400;500;600;700;800&display=swap');

:root{
  --grass-900:#052e16;--grass-800:#0a3a20;--grass-700:#15803d;--grass-600:#16a34a;--grass-500:#22c55e;
  --lime:#a3e635;--lime-2:#bef264;--chalk:#f6f8f3;--ink:#0a1f17;--ink-soft:#4b5d54;--line:#e3e9e1;--card:#fff;
  /* remap de la paleta azul/dorada heredada de EI → verde EC (cascada global:
     ficha /cancha, heros, iconos, links, botones que usan estas vars) */
  --primary-blue:#0a3a20;--primary-blue-2:#15803d;--secondary-blue:#16a34a;--dark-blue:#052e16;
  --gold:#15803d;--accent-gold:#16a34a;
}

/* ---------- base ---------- */
/* header es position:fixed (70px desktop / 68px móvil) → offset para que el hero no quede cortado debajo */
body{background:var(--chalk)!important;font-family:'Archivo',system-ui,-apple-system,sans-serif;color:var(--ink);padding-top:72px!important;}
@media(max-width:768px){body{padding-top:66px!important;}}
h1,h2,h3{color:var(--ink);}
a{color:var(--grass-700);}

/* ---------- header (reskin .ei-navbar heredado) ---------- */
.ei-navbar{background:var(--grass-900)!important;box-shadow:0 1px 0 rgba(163,230,53,.18)!important;border:0!important;}
.ei-navbar a,.ei-navbar .head_left a,.ei-navbar button{color:var(--chalk)!important;}
.ei-navbar .ec-brand{color:#fff!important;font-family:'Archivo',sans-serif;font-weight:800;letter-spacing:-.01em;}
.ei-navbar .ec-brand strong{color:var(--lime)!important;}
.ei-navbar a:hover{color:var(--lime)!important;}
/* dropdown Deportes: fondo blanco → texto oscuro legible + iconos verdes
   (el reskin .ei-navbar a→chalk de arriba los volvía casi invisibles) */
.ei-navbar .ec-nav-dropdown > ul{background:#fff!important;border:1px solid var(--line)!important;}
.ei-navbar .ec-nav-dropdown > ul li a{color:var(--ink)!important;}
.ei-navbar .ec-nav-dropdown > ul li a:hover{color:var(--grass-700)!important;background:#f3faf5!important;}
.ei-navbar .ec-nav-dropdown > ul li a i{color:var(--grass-600)!important;width:18px;text-align:center;}
/* matar el separador naranja heredado de EI tras cada item del dropdown */
.ei-navbar .ec-nav-dropdown > ul li a::after,
.ei-navbar .ec-nav-dropdown > ul li::after{content:none!important;display:none!important;border:0!important;}
/* nav: matar acentos naranja heredados de EI (Buscar + separadores) */
.ei-navbar .ei-nav-search{color:var(--chalk)!important;}
.ei-navbar .ei-nav-menu > li:not(:last-child)::after,
.ei-navbar .ei-nav-menu > li + li::before{color:rgba(163,230,53,.35)!important;border-color:rgba(163,230,53,.25)!important;}

/* ---------- footer (reskin .site-footer) ---------- */
.site-footer{background:var(--grass-900)!important;color:#cfe6d6;}
.site-footer a{color:#cfe6d6!important;}
.site-footer a:hover{color:var(--lime)!important;}
.site-footer .ec-brand{color:#fff!important;}
.site-footer .ec-brand strong{color:var(--lime)!important;}
.site-footer h3,.site-footer h4{color:#fff!important;}

/* ---------- hero (hub + home) ---------- */
.ec-hero{position:relative;overflow:hidden;background:var(--grass-900);color:var(--chalk);
  border-radius:24px;margin:22px auto;padding:48px 40px 40px;max-width:1080px;}
.ec-hero::before{content:"";position:absolute;inset:0;opacity:.16;
  background:repeating-linear-gradient(90deg,transparent 0 78px,rgba(255,255,255,.5) 78px 80px),
   radial-gradient(circle at 50% 120%,rgba(163,230,53,.5),transparent 60%);}
.ec-hero>*{position:relative;}
.ec-crumb{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);font-weight:600;}
.ec-crumb a{color:var(--lime);text-decoration:none;opacity:.85;}
.ec-h1{font-family:'Anton',sans-serif;font-weight:400;line-height:.98;letter-spacing:.01em;
  font-size:clamp(40px,7vw,84px);margin:10px 0 6px;padding-top:.06em;text-transform:uppercase;color:#fff;}
.ec-h1 em{font-style:normal;color:var(--lime);}
/* Solo tipografía: el color claro es del hero (fondo verde oscuro) y vive en
   .ec-hero .ec-sub, para que un .ec-sub fuera del hero no salga ilegible. */
.ec-sub{font-size:17px;max-width:62ch;margin:0 0 26px;}
.ec-hero .ec-sub{color:#cfe6d6;}
.ec-score{display:flex;flex-wrap:wrap;gap:14px;}
.ec-stat{background:rgba(255,255,255,.06);border:1px solid rgba(163,230,53,.25);border-radius:14px;padding:14px 20px;min-width:104px;}
.ec-stat b{font-family:'Anton',sans-serif;font-weight:400;font-size:38px;line-height:1;color:var(--lime);display:block;}
.ec-stat span{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:#bcd3c4;}

/* ---------- secciones ---------- */
.ec-wrap{max-width:1080px;margin:0 auto;padding:0 20px;}
.ec-section-h{display:flex;align-items:baseline;gap:12px;margin:38px 0 18px;}
.ec-section-h h2{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:26px;margin:0;color:var(--ink);}
.ec-section-h .tag{font-size:13px;font-weight:600;color:var(--grass-700);background:#e9f6ec;border-radius:999px;padding:4px 12px;}

/* ---------- cards de cancha ---------- */
.ec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;}
.ec-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;}
.ec-card:hover{transform:translateY(-3px);border-color:var(--grass-500);box-shadow:0 10px 30px -16px rgba(5,46,22,.45);}
.ec-card h3{font-size:17px;font-weight:700;margin:0 0 4px;line-height:1.25;}
.ec-card h3 a{color:var(--ink);text-decoration:none;}
.ec-card h3 a:hover{color:var(--grass-700);}
.ec-zone{font-size:13px;color:var(--ink-soft);margin:0 0 12px;display:flex;align-items:center;gap:6px;}
.ec-badges{display:flex;flex-wrap:wrap;gap:7px;}
.ec-badge{font-size:12.5px;font-weight:600;border-radius:999px;padding:5px 11px;display:inline-flex;align-items:center;gap:5px;}
.b-surf{background:#e9f6ec;color:var(--grass-700);}
.b-cov{background:#eef2ff;color:#4338ca;}
.b-lit{background:#fef9c3;color:#854d0e;}
.b-tel{background:#f1f5f9;color:#334155;}
/* best-of: tarjeta destacada + badge + precio */
.ec-card-top{border-color:var(--grass-500);box-shadow:0 6px 22px -14px rgba(5,46,22,.5);}
.ec-top-badge{display:inline-flex;align-items:center;gap:5px;background:var(--lime);color:var(--grass-900);
  font-size:11.5px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:3px 10px;border-radius:999px;margin-bottom:8px;}
.ec-top-badge i{font-size:.85em;}
.ec-price{font-size:14px;color:var(--ink);margin:2px 0 10px;}
.ec-price i{color:var(--grass-600);margin-right:5px;}
.ec-price b{color:var(--grass-700);font-weight:800;}
.ec-card .ec-tel{margin-top:12px;font-size:13.5px;}
.ec-card .ec-tel a{color:var(--grass-700);text-decoration:none;font-weight:600;}

/* ---------- faq ---------- */
.ec-faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:2px 18px;}
.ec-faq summary{font-weight:700;cursor:pointer;padding:14px 0;list-style:none;font-size:15.5px;}
.ec-faq summary::-webkit-details-marker{display:none;}
.ec-faq summary::after{content:"+";float:right;color:var(--grass-600);font-size:20px;line-height:1;}
.ec-faq details[open] summary::after{content:"\2013";}
.ec-faq p{margin:0 0 16px;color:var(--ink-soft);line-height:1.6;}

/* ---------- cta + botones ---------- */
.ec-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--grass-900);color:var(--chalk);border-radius:18px;padding:22px 26px;margin:32px 0;}
.ec-cta p{margin:0;font-weight:600;font-size:16px;flex:1;min-width:220px;}
.ec-btn{background:var(--lime);color:var(--grass-900)!important;font-weight:700;text-decoration:none;border-radius:999px;padding:12px 22px;display:inline-flex;align-items:center;gap:8px;font-size:15px;}
.ec-btn:hover{background:var(--lime-2);}
.ec-attr{color:var(--ink-soft);font-size:12.5px;text-align:center;margin:30px 0 10px;}
.ec-attr a{color:var(--grass-700);}
.ec-prose{font-size:1.02rem;line-height:1.75;color:#243b2e;margin:0 0 16px;max-width:72ch;}
.ec-prose strong{color:#14532d;}
.ec-note{font-size:.95rem;line-height:1.6;color:var(--ink-soft);margin:14px 0 4px;max-width:72ch;}

/* ---------- home: hero + stats + tiles ---------- */
.ec-home-hero{text-align:center;padding:54px 20px 30px;}
.ec-home-hero h1{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(34px,6vw,64px);line-height:.95;margin:0 0 12px;}
.ec-home-hero h1 em{font-style:normal;color:var(--grass-600);}
.ec-home-hero p.lead{font-size:18px;color:var(--ink-soft);max-width:620px;margin:0 auto 22px;}
.ec-statline{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;margin:8px 0 4px;}
.ec-statline .s b{font-family:'Anton',sans-serif;font-weight:400;font-size:34px;color:var(--grass-700);display:block;line-height:1;}
.ec-statline .s span{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.ec-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:14px;}
.ec-tile{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:600;transition:border-color .14s,transform .14s;}
.ec-tile:hover{border-color:var(--grass-500);transform:translateY(-2px);}
.ec-tile .n{color:var(--ink-soft);font-weight:600;font-size:13px;}

/* ---------- sistema de botones: override gold/azul heredado de EI ---------- */
.btn--gold,.btn-primary,.search-submit-btn,.cta-row .btn--gold,.result-card .btn-primary{
  background:var(--grass-700)!important;background-image:none!important;
  color:#fff!important;border:0!important;border-radius:999px!important;font-weight:700!important;
  box-shadow:0 2px 10px -4px rgba(5,46,22,.5)!important;transition:background .15s ease,transform .15s ease!important;}
.btn--gold:hover,.btn-primary:hover,.search-submit-btn:hover,.cta-row .btn--gold:hover{
  background:var(--grass-600)!important;transform:translateY(-1px);}
.btn--gold:active,.btn-primary:active{transform:translateY(0);}
/* botón lima de acento (cerca de mí, CTAs deportivos) ya cubierto por .ec-btn */

/* ---------- cookie consent (ei-cc-*) ---------- */
.ei-cc-banner{border-top:3px solid var(--lime)!important;}
.ei-cc-btn-primary{background:var(--grass-700)!important;color:#fff!important;border-radius:999px!important;
  font-weight:700!important;border:0!important;}
.ei-cc-btn-primary:hover{background:var(--grass-600)!important;}
.ei-cc-link,.ei-cc-settings-link{color:var(--grass-700)!important;}
.ei-cc-float-btn{background:var(--grass-700)!important;}
.ei-cc-title{color:var(--ink)!important;}

/* ---------- search bar: input limpio en hero oscuro ---------- */
.ec-hero .search-form,.ec-hero form[role="search"]{box-shadow:0 8px 30px -12px rgba(0,0,0,.5);border-radius:999px;}

/* ---------- páginas directorio (deporte/estado/país): hero-estado azul EI → verde ---------- */
.hero-estado{background:linear-gradient(180deg,var(--grass-800) 0%,var(--grass-900) 100%)!important;color:var(--chalk)!important;padding:64px 0 56px!important;}
.hero-estado h1{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.01em;
  color:#fff!important;font-size:clamp(34px,5.5vw,60px)!important;line-height:1.02!important;margin:8px 0 10px!important;}
.hero-estado p{color:#cfe6d6!important;}
.hero-estado .breadcrumb a,.hero-estado .breadcrumb a[style],.hero-estado .breadcrumb span,.hero-estado .breadcrumb span[style]{color:var(--lime)!important;}
.stats-section{background:var(--grass-900)!important;color:var(--chalk)!important;}
.stat-number{color:var(--lime)!important;font-family:'Anton',sans-serif;font-weight:400!important;}
.stat-label{color:#bcd3c4!important;}
/* faceta país: chips deportivos (override inline azul EI) */
.ec-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;
  font-size:.9rem;text-decoration:none;color:var(--grass-700);font-weight:600;background:#fff;transition:border-color .14s,background .14s;}
.ec-chip:hover{border-color:var(--grass-500);background:#f3faf5;}
.ec-chip.is-active{background:#e9f6ec;border-color:var(--grass-500);}
.ec-chip .n{color:var(--ink-soft);font-weight:500;}

/* ---------- ficha /cancha: consistencia con el resto (hereda church_hero EI) ---------- */
.church_hero h1{font-family:'Anton',sans-serif!important;font-weight:400!important;text-transform:uppercase;
  letter-spacing:.01em;line-height:1.02;}
.church_hero_overlay{background:linear-gradient(180deg,rgba(5,46,22,.42) 0%,rgba(5,46,22,.72) 100%)!important;}
/* iconos circulares de info (Dirección, teléfono, etc.) → verde */
.info_icon{background:var(--grass-700)!important;color:#fff!important;}
/* placeholder de foto (bg tras blur) → verde en vez de navy EI */
.cancha_photo_card{background:var(--grass-900)!important;}
/* botón secundario (Waze/“Abrir en Maps”) heredado dorado → outline verde */
.btn-secondary{background:#fff!important;color:var(--grass-700)!important;border:1.5px solid var(--grass-500)!important;
  border-radius:999px!important;font-weight:700!important;}
.btn-secondary:hover{background:#f3faf5!important;}
/* acentos/borde superior de tarjetas info que usaban azul EI */
.cancha_contact_card,.info_card{border-top-color:var(--grass-600)!important;}

/* ---------- listas editoriales (factores / tips) ---------- */
.ec-list{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:10px;}
.ec-list li{position:relative;padding:12px 16px 12px 42px;background:var(--card);border:1px solid var(--line);border-radius:12px;font-size:15.5px;color:var(--ink);line-height:1.5;}
.ec-list li::before{content:"\2713";position:absolute;left:14px;top:12px;color:var(--grass-600);font-weight:800;}

/* ---------- sección de costos (¿cuánto cuesta?) ---------- */
.ec-cost{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:6px 22px 18px;}
.ec-cost-table{width:100%;border-collapse:collapse;}
.ec-cost-table th,.ec-cost-table td{text-align:left;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px;}
.ec-cost-table th{font-weight:600;color:var(--ink);}
.ec-cost-table td{text-align:right;font-weight:800;color:var(--grass-700);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ec-cost-table tr:last-child th,.ec-cost-table tr:last-child td{border-bottom:0;}
.ec-cost-note{color:var(--ink-soft);font-size:14.5px;line-height:1.6;margin:14px 0 4px;}
.ec-cost-src{color:var(--ink-soft);font-size:12.5px;opacity:.8;margin:0;}

@media(max-width:560px){.ec-hero{padding:34px 22px;border-radius:18px;margin:14px;}.ec-grid,.ec-tiles{grid-template-columns:1fr;}}

/* 📱 Hero + stats compactos en móvil — evita huecos enormes vacíos en hubs
   de deporte/estado (se veían ~1.5 pantallas de verde vacío en 375px). */
@media (max-width: 640px) {
  .hero-estado { padding: 30px 0 16px !important; }
  .hero-estado h1 { font-size: 2rem !important; line-height: 1.08; }
  .stats-section { padding: 16px 0 20px !important; }
  .stats-grid { gap: 24px !important; }
  .stat-number { font-size: 2rem !important; }
  /* Ficha: hero de 400px deja banda verde vacía arriba en móvil */
  .church_hero { min-height: 240px !important; }
}

/* Hub ciudad: intro editorial + listas de interlinking (opción C) */
.ec-intro{margin:0 0 18px;font-size:1.02rem;line-height:1.7;color:#243b2e;}
.ec-intro strong{color:#14532d;}
.ec-linklist{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:8px;}
.ec-linklist .ec-chip .n{color:#6b7280;font-weight:600;font-size:.85em;}

/* 🏟️ Hero de deporte con foto de fondo + overlay verde (legibilidad + marca).
   Vence al background!important de .hero-estado usando la var --hero-img inline. */
.hero-estado--img{
  background:linear-gradient(180deg,rgba(5,46,22,.55) 0%,rgba(5,46,22,.86) 78%,var(--grass-900) 100%),var(--hero-img) center/cover no-repeat !important;
}

/* ✨ Animaciones ligeras (entrada suave). Respetan prefers-reduced-motion. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes ecFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
  /* Hero: título/subtítulo/stats entran escalonados */
  .ec-hero > *:not(img):not(span), .hero-estado .container > * { animation: ecFadeUp .55s cubic-bezier(.16,.84,.44,1) both; }
  .ec-hero .ec-h1, .hero-estado h1 { animation-delay: .06s; }
  .ec-hero .ec-sub, .ec-hero .ec-score, .stats-section .stats-grid { animation-delay: .12s; }
  /* Cards e intro entran al cargar */
  .ec-intro, .ec-grid > .ec-card { animation: ecFadeUp .5s ease both; }
  .ec-grid > .ec-card:nth-child(2){animation-delay:.04s}
  .ec-grid > .ec-card:nth-child(3){animation-delay:.08s}
  .ec-grid > .ec-card:nth-child(4){animation-delay:.12s}
  .ec-grid > .ec-card:nth-child(n+5){animation-delay:.16s}
  /* Micro-interacción: chips y botón principal */
  .ec-chip{transition:transform .12s ease,border-color .12s ease,background .12s ease;}
  .ec-chip:hover{transform:translateY(-2px);border-color:var(--grass-500);background:#f3faf5;}
  .ec-btn{transition:transform .12s ease,box-shadow .12s ease,background .15s ease;}
  .ec-btn:hover{transform:translateY(-2px);}
}

/* 🖼️ Cards de deporte con foto (home "Explora por deporte") */
.ec-sport-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:16px;}
.ec-sport-card{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:16/10;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;text-decoration:none;color:#fff;box-shadow:0 4px 14px -8px rgba(5,46,22,.4);}
.ec-sport-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .35s ease;}
.ec-sport-fallback{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;font-size:3rem;color:rgba(163,230,53,.5);background:linear-gradient(135deg,var(--grass-800),var(--grass-900));}
.ec-sport-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,46,22,.10) 0%,rgba(5,46,22,.5) 52%,rgba(5,46,22,.92) 100%);}
.ec-sport-name{position:relative;z-index:2;font-family:'Anton',sans-serif;font-weight:400;font-size:1.32rem;text-transform:uppercase;letter-spacing:.02em;line-height:1.02;}
.ec-sport-n{position:relative;z-index:2;font-size:.8rem;color:var(--lime);font-weight:700;margin-top:3px;}
@media (prefers-reduced-motion: no-preference){
  .ec-sport-card{transition:transform .16s ease,box-shadow .16s ease;}
  .ec-sport-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px -16px rgba(5,46,22,.6);}
  .ec-sport-card:hover img{transform:scale(1.07);}
  .ec-sport-card{animation:ecFadeUp .5s ease both;}
}
@media(max-width:560px){.ec-sport-grid{grid-template-columns:1fr 1fr;gap:10px;}.ec-sport-name{font-size:1.1rem;}}

/* 🌎 Cards de país (home "Explora por país") */
.ec-country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:16px;}
.ec-country-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 16px;text-decoration:none;color:var(--ink);}
.ec-country-flag{font-size:2rem;line-height:1;flex-shrink:0;}
.ec-country-info{display:flex;flex-direction:column;min-width:0;}
.ec-country-name{font-weight:700;font-size:15px;line-height:1.2;}
.ec-country-n{font-size:12.5px;color:var(--grass-700);font-weight:700;}
@media (prefers-reduced-motion: no-preference){
  .ec-country-card{transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;animation:ecFadeUp .5s ease both;}
  .ec-country-card:hover{transform:translateY(-3px);border-color:var(--grass-500);box-shadow:0 10px 26px -16px rgba(5,46,22,.4);}
}

/* ============================================================
   🎨 PASE DE PULIDO VISUAL (auditoría de diseño)
   ============================================================ */
/* Profundidad/elevación en cards (P1.2) */
.ec-sport-card{box-shadow:0 6px 20px -10px rgba(5,46,22,.40)!important;}
.ec-country-card{box-shadow:0 3px 12px -7px rgba(5,46,22,.20);}
.ec-card{box-shadow:0 2px 10px -5px rgba(5,46,22,.12);}
/* Hero subtítulo + legibilidad (P1.1).
   Acotado a .ec-hero: el !important global pintaba de verde claro TODOS los .ec-sub,
   incluido el de /aprende, que va sobre fondo claro → 1.07:1 de contraste, es decir
   la propuesta de valor de la sección editorial era invisible. /aprende es la única
   vista con .ec-sub fuera del hero. */
.ec-hero .ec-sub{color:#e8f2ea!important;}
/* Acento editorial en encabezados de sección (P1.3 ritmo) */
.ec-section-h h2{border-left:4px solid var(--lime);padding-left:14px;}
.ec-section-h{margin:46px 0 18px;}
/* Cuerpo: más contraste + ritmo de lectura (P1.3) */
.ec-faq p{color:#28382e;line-height:1.7;}
.ec-intro{line-height:1.75;color:#1f2e25;}
/* Cookie banner: borde lima más sutil (P2.7) */
.ei-cc-banner{border-top:2px solid rgba(163,230,53,.5)!important;}

/* ============================================================
   🧭 NAV HORIZONTAL EN LAPTOP/DESKTOP (P3.9 auditoría)
   EC tiene 6 items compactos → no necesita el breakpoint 1451px
   heredado de EI. Mostramos el nav inline desde 1024px.
   :not(.nav-collapsed) = el JS de overflow sigue mandando: si los
   items NO caben, añade .nav-collapsed y vuelve el drawer. Móvil intacto.
   ============================================================ */
@media(min-width:1024px){
  body .ei-navbar:not(.nav-collapsed) .head_left .ei-hamburger,
  body .ei-navbar:not(.nav-collapsed) .ei-hamburger,
  body .ei-navbar:not(.nav-collapsed) .hamburger-text{display:none!important;visibility:hidden!important;}
  .ei-navbar:not(.nav-collapsed) .ei-nav-menu{
    position:static!important;left:auto!important;top:auto!important;
    width:auto!important;max-width:none!important;height:auto!important;
    flex-direction:row!important;align-items:center!important;gap:2px!important;
    background:transparent!important;box-shadow:none!important;
    padding:0!important;overflow:visible!important;display:flex!important;}
  .ei-navbar:not(.nav-collapsed) .ei-nav-menu li{width:auto!important;display:flex!important;height:auto!important;border:0!important;}
  .ei-navbar:not(.nav-collapsed) .ei-nav-menu>li>a{display:flex!important;align-items:center!important;gap:6px!important;width:auto!important;padding:0 12px!important;border:0!important;font-size:.94rem!important;color:var(--chalk)!important;}
  .ei-navbar:not(.nav-collapsed) .ei-nav-menu>li>a:hover{color:var(--lime)!important;}
  .ei-navbar:not(.nav-collapsed) .ei-nav-menu .mobile-close-btn{display:none!important;}
}

/* Hero: seguro de legibilidad del título/subtítulo sobre cualquier imagen (P1.1) */
.ec-h1{text-shadow:0 2px 14px rgba(5,46,22,.55),0 1px 3px rgba(5,46,22,.4);}
.ec-hero .ec-sub{text-shadow:0 1px 8px rgba(5,46,22,.5);}

/* ============================================================
   ✨ ANIMACIONES LIGERAS (guarda reduced-motion)
   El JS añade .ec-reveal → supersede el fadeUp-on-load por
   un revelado al hacer scroll. Sin JS, nada queda oculto.
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  .ec-reveal{opacity:0;transform:translateY(18px);animation:none!important;}
  .ec-reveal.ec-in{opacity:1;transform:none;
    transition:opacity .55s ease,transform .6s cubic-bezier(.22,1,.36,1);}
  /* hero: ken-burns sutil de la foto de fondo */
  .ec-hero--home img{animation:ecKen 26s ease-in-out infinite alternate;}
  @keyframes ecKen{from{transform:scale(1.01)}to{transform:scale(1.1)}}
  /* nav: subrayado lima animado al hover */
  .ei-navbar:not(.nav-collapsed) .ei-nav-menu>li>a{position:relative;}
  .ei-navbar:not(.nav-collapsed) .ei-nav-menu>li>a::after{content:"";position:absolute;
    left:12px;right:12px;bottom:4px;height:0;background:transparent;
    transform:scaleX(0);transform-origin:left;transition:transform .25s ease;border-radius:2px;}
  .ei-navbar:not(.nav-collapsed) .ei-nav-menu>li>a:hover::after{transform:scaleX(1);}
  /* banner Mundial: leve elevación al hover */
  .ec-mundial-banner{transition:transform .2s ease,box-shadow .2s ease;}
  .ec-mundial-banner:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(5,46,22,.6);}
}

/* FIX stacking hero (home + guías + ficha + deporte + hub): el contenido (título/sub/búsqueda/stats) debe ir
   POR ENCIMA del span overlay (z-index:1). Sin esto el overlay oscurece el texto. */
.ec-hero > :not(img):not(span){position:relative;z-index:2;}

/* Banderas SVG auto-hospedadas (renderiza en todos los SO; el emoji de
   bandera falla en Chrome de Windows). */
.ec-flag{display:inline-block;border-radius:3px;object-fit:cover;
  box-shadow:0 0 0 1px rgba(5,46,22,.12);vertical-align:middle;}
.ec-country-flag{font-size:0;line-height:0;flex-shrink:0;display:inline-flex;}
.ec-flag-emoji{font-size:2rem;line-height:1;}

/* Miniatura superior en cards de guía */
.ec-guide-card{overflow:hidden;}
.ec-card-thumb{width:calc(100% + 36px);height:148px;object-fit:cover;
  margin:-18px -18px 14px;display:block;}

/* Hub nacional de deporte: stats en lima + Anton (coherencia con .ec-stat) */
.hero-estado .stat-number,.stats-section .stat-number{
  color:var(--lime)!important;font-family:'Anton',sans-serif!important;font-weight:400!important;}
.stats-section .stat-label{color:#bcd3c4!important;letter-spacing:.04em;
  text-transform:uppercase;font-size:12.5px;}
