/* =====================================================
   TuTiempo.cl — CSS Base Compartido v3.0
   Nav accesible, contraste AA, CLS optimizado
   ===================================================== */

/* Variables globales */
:root {
  --ink:#10243E; --ink-soft:#3D5068; --paper:#F4F7FA;
  --card:#FFF; --copper:#B5683A; --copper-soft:#F6E8DD;
  --line:#DDE5EE; --blue:#2F6FB0; --radius:20px; --tap:48px;
  --fd:"Bricolage Grotesque",sans-serif;
  --fb:"Inter",system-ui,sans-serif;
  --fm:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;
  --wrap-max:680px;
}

/* Reset */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:var(--fb);background:var(--paper);color:var(--ink);
  line-height:1.65;font-size:16px;overflow-x:hidden}
a{color:var(--copper)}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--copper);outline-offset:2px;border-radius:6px}

/* Skip to content (accesibilidad) */
.skip-link{
  position:absolute;top:-100%;left:1rem;
  background:var(--copper);color:#fff;padding:.6rem 1.2rem;
  border-radius:0 0 var(--radius) var(--radius);
  font-weight:700;font-size:.9rem;z-index:200;
  text-decoration:none;
}
.skip-link:focus{top:0}

/* ========== HEADER ========== */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(244,247,250,.95);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-in{
  display:flex;align-items:center;justify-content:space-between;
  gap:.75rem;padding:.6rem 1.2rem;
  max-width:var(--wrap-max);margin:0 auto;
}
.logo{
  display:flex;align-items:center;gap:.45rem;
  font-family:var(--fd);font-weight:800;font-size:1.2rem;
  color:var(--ink);text-decoration:none;white-space:nowrap;
  flex-shrink:0;
}
.logo img{width:28px;height:28px;border-radius:8px}
.logo b{color:var(--copper)}
.header-btns{display:flex;align-items:center;gap:.45rem;flex-shrink:0}
.geo-btn{
  display:flex;align-items:center;gap:.35rem;
  background:var(--ink);color:#fff;border:none;
  border-radius:999px;padding:.5rem 1.1rem;
  font-size:.85rem;font-weight:600;min-height:44px;white-space:nowrap;
}
.theme-btn{
  display:flex;align-items:center;gap:.35rem;
  background:none;border:1.5px solid var(--line);border-radius:999px;
  padding:.5rem 1rem;font-size:.85rem;font-weight:600;
  cursor:pointer;color:var(--ink);font-family:inherit;min-height:44px;white-space:nowrap;
}

/* ========== NAVEGACIÓN ACCESIBLE ========== */
.topnav{
  display:flex;gap:.35rem;padding:.4rem 1.2rem .6rem;
  max-width:var(--wrap-max);margin:0 auto;
  overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  flex-wrap:nowrap;
  position:relative;
  contain:layout style paint;overflow-y:hidden;
}
.topnav::-webkit-scrollbar{display:none}
.topnav a{
  white-space:nowrap;padding:.5rem 1rem;border-radius:999px;
  font-size:.9rem;font-weight:600;color:var(--ink-soft);
  text-decoration:none;border:1.5px solid var(--line);
  background:var(--card);min-height:44px;
  display:flex;align-items:center;gap:.35rem;
  transition:background .15s,color .15s,border-color .15s;
  flex-shrink:0;
}
.topnav a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.topnav a.active{background:var(--copper);color:#fff;border-color:var(--copper)}

/* Scroll fade indicator (right edge) */
.topnav-wrap{position:relative}
.topnav-wrap::after{
  content:"";position:absolute;right:0;top:0;bottom:0;
  width:32px;pointer-events:none;
  background:linear-gradient(to right,transparent,var(--paper));
  z-index:2;
}

/* Priority+ nav */
.nav-more-btn{
  white-space:nowrap;padding:.5rem 1rem;border-radius:999px;
  font-size:.9rem;font-weight:700;color:var(--copper);
  background:var(--copper-soft);border:1.5px solid var(--copper);
  min-height:44px;display:flex;align-items:center;gap:.3rem;
  flex-shrink:0;cursor:pointer;
}
.nav-more-btn:hover{background:var(--copper);color:#fff}
.nav-dropdown{
  display:none;position:absolute;right:1rem;top:100%;
  background:var(--card);border:1.5px solid var(--line);
  border-radius:16px;box-shadow:0 12px 32px rgba(16,36,62,.16);
  z-index:50;padding:.4rem;min-width:180px;
}
.nav-dropdown.open{display:flex;flex-direction:column}
.nav-dropdown a{
  padding:.65rem 1rem;border-radius:12px;font-size:.9rem;
  font-weight:600;color:var(--ink);text-decoration:none;
  display:flex;align-items:center;gap:.4rem;min-height:44px;
}
.nav-dropdown a:hover{background:var(--copper-soft)}
/* Nav separators + dropdown labels */
.nav-sep{display:none}
.nav-dd-label{
  display:block;padding:.4rem 1rem .2rem;font-size:.7rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink-soft);margin-top:.3rem;
}
.nav-dd-label:first-child{margin-top:0}
[data-theme="dark"] .nav-dd-label{color:#6a7a95!important}
@media(max-width:679px){.nav-overflow{display:none!important}}
@media(min-width:680px){
  .nav-overflow{display:flex!important}
  .nav-more-btn{display:none!important}
  .nav-dropdown{display:none!important}
  .nav-sep{
    display:block;width:1.5px;height:22px;
    background:var(--line);margin:0 .35rem;
    align-self:center;flex-shrink:0;border-radius:1px;
  }
}

/* ========== CONTENIDO ========== */
.wrap,.main{
  width:100%;max-width:var(--wrap-max);
  margin:0 auto;padding:0 1.2rem;
}
.wrap-full{width:100%;max-width:var(--wrap-max);margin:0 auto}
main{padding-bottom:3rem}

/* ========== FOOTER ========== */
footer{
  border-top:1px solid var(--line);
  padding:1.5rem 1.2rem 3rem;
  max-width:var(--wrap-max);margin:0 auto;
  font-size:.8rem;color:var(--ink-soft);
  display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;
  justify-content:space-between;
}
footer a{color:var(--ink-soft)}

/* ========== DESKTOP ========== */
@media(min-width:680px){
  :root{--wrap-max:1100px}
  .header-in,.topnav,.wrap,.main,.ft,footer{max-width:1100px !important}

  .topnav{
    flex-wrap:wrap !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    contain:none !important;
    padding:.4rem 1.2rem .5rem;
    gap:.35rem .35rem;
    justify-content:center !important;
  }
  .topnav a{font-size:.85rem;padding:.45rem .9rem;min-height:40px}
  .topnav a:hover{transform:translateY(-1px)}
  .topnav-wrap::after{display:none}
}

@media(min-width:1200px){
  :root{--wrap-max:1280px}
  .header-in,.topnav,.wrap,.main,.ft,footer{max-width:1280px !important}
  .topnav a{font-size:.88rem;padding:.45rem 1rem}
}

/* ========== DARK MODE ========== */
[data-theme="dark"]{
  --ink:#e8edf5;--ink-soft:#8a9ab5;--paper:#0b1221;
  --card:rgba(255,255,255,.07);--copper:#c8763a;
  --copper-soft:rgba(200,118,58,.15);--line:rgba(255,255,255,.11);
  --blue:#4a9fd4;
}
[data-theme="dark"] body{background:#0b1221!important;color:#e8edf5!important}
[data-theme="dark"] header{
  background:rgba(11,18,33,.95)!important;
  border-color:rgba(255,255,255,.11)!important;
}
[data-theme="dark"] .topnav a{
  background:transparent!important;color:#8a9ab5!important;
  border-color:rgba(255,255,255,.11)!important;
}
[data-theme="dark"] .topnav a:hover{
  background:rgba(255,255,255,.1)!important;color:#e8edf5!important;
}
[data-theme="dark"] .topnav a.active{
  background:var(--copper)!important;color:#fff!important;
  border-color:var(--copper)!important;
}
[data-theme="dark"] .geo-btn{background:var(--copper)!important;color:#fff!important}
[data-theme="dark"] .theme-btn{
  color:#e8edf5!important;border-color:rgba(255,255,255,.2)!important;
}
[data-theme="dark"] footer{
  border-color:rgba(255,255,255,.1)!important;color:#8a9ab5!important;
}
[data-theme="dark"] footer a{color:#8a9ab5!important}
[data-theme="dark"] .topnav-wrap::after{
  background:linear-gradient(to right,transparent,#0b1221)!important;
}
[data-theme="dark"] .nav-dropdown{background:#111c35!important;border-color:rgba(255,255,255,.11)!important;box-shadow:0 12px 32px rgba(0,0,0,.5)!important}
[data-theme="dark"] .nav-sep{background:rgba(255,255,255,.15)!important}
[data-theme="dark"] .nav-dropdown a{color:#e8edf5!important}
[data-theme="dark"] .nav-dropdown a:hover{background:rgba(200,118,58,.15)!important}
[data-theme="dark"] .nav-more-btn{background:rgba(200,118,58,.15)!important;color:#c8763a!important;border-color:#c8763a!important}
[data-theme="dark"] .skip-link{background:var(--copper)!important}

/* ========== UTILIDADES ========== */
h2{font-family:var(--fd);font-weight:700;font-size:1.25rem;
  margin:1.7rem 0 .7rem;display:flex;align-items:baseline;
  gap:.5rem;flex-wrap:wrap}
h2 small{font-family:var(--fm);font-size:.75rem;color:var(--ink-soft);
  font-weight:400;text-transform:uppercase;letter-spacing:.08em}
.bc{font-size:.82rem;color:var(--ink-soft);margin:.8rem 0 .4rem}
.bc a{color:var(--copper);text-decoration:none}
.ad-slot{margin:1.8rem 0;min-height:250px;display:block}
.status{padding:1.5rem;text-align:center;color:var(--ink-soft)}

/* ========== Reducir CLS ========== */
.sky-card{min-height:290px;contain:layout style}
.sky-temp{min-height:5.5rem;display:block}
.sky-meta{min-height:2rem}
.hourly{min-height:140px}
.daily{min-height:280px}

/* ========== Contraste accesible (WCAG AA) ========== */
#searchBtn,button[id="searchBtn"]{background:#7A3E22!important;color:#fff!important}
.d-name small,.h-rain{color:#1A4A7A!important;font-weight:600}
[data-theme="dark"] .d-name small,[data-theme="dark"] .h-rain{color:#93C5FD!important}
.cookie-accept{background:#10243E!important;color:#fff!important}

/* Sky card contrast overlay */
.sky-card::before{
  background:linear-gradient(to top,rgba(0,0,0,.3),transparent 65%)!important;
}


/* Alertas lluvia */
.rain-alert-wrap{background:linear-gradient(135deg,#1565C0,#42A5F5);border-radius:18px;padding:1rem 1.1rem;margin:1.2rem 0;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.rain-alert-wrap .ra-text{font-size:.88rem;font-weight:500}
.rain-alert-wrap .ra-text strong{display:block;font-size:.95rem;font-weight:700;margin-bottom:.15rem}
.ra-btn{background:rgba(255,255,255,.2);border:1.5px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;padding:.45rem 1rem;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;min-height:44px}
.ra-btn:hover{background:rgba(255,255,255,.35)}
.ra-btn:disabled{opacity:.6;cursor:default}

/* Compartir */
.share-btn{display:flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.2);border:1.5px solid rgba(255,255,255,.4);border-radius:999px;padding:.45rem 1rem;font-size:.82rem;font-weight:700;color:#fff;cursor:pointer;position:relative;z-index:2;margin-top:.8rem;width:fit-content;min-height:44px}
.share-btn:hover{background:rgba(255,255,255,.35)}

/* Dark mode extended */
[data-theme="dark"] .search-box input{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.12)!important;color:#e8edf5!important}
[data-theme="dark"] .suggestions{background:#111c35!important;border-color:rgba(255,255,255,.11)!important}
[data-theme="dark"] .suggestions button{color:#e8edf5!important}
[data-theme="dark"] .suggestions button:hover{background:rgba(200,118,58,.15)!important}
[data-theme="dark"] .hour,[data-theme="dark"] .daily,[data-theme="dark"] .day{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important;color:#e8edf5!important}
[data-theme="dark"] .city-card,[data-theme="dark"] .em-card,[data-theme="dark"] .guide-card,[data-theme="dark"] .g-card{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important;color:#e8edf5!important}
[data-theme="dark"] .quake-list,[data-theme="dark"] .quake,[data-theme="dark"] .fire-list,[data-theme="dark"] .fire-item,[data-theme="dark"] .fires{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important;color:#e8edf5!important}
[data-theme="dark"] .daily{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important}
[data-theme="dark"] .alert-chip{background:rgba(200,118,58,.18)!important;border-color:rgba(200,118,58,.4)!important;color:#e8c07a!important}
[data-theme="dark"] .alert-chip.ok{background:rgba(76,175,110,.15)!important;border-color:rgba(76,175,110,.3)!important;color:#81c784!important}
[data-theme="dark"] .ad-slot,[data-theme="dark"] [class*="ad-"]{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.08)!important}
[data-theme="dark"] h2 small,[data-theme="dark"] .src,[data-theme="dark"] .bc{color:#8a9ab5!important}
[data-theme="dark"] .bc a{color:#c8763a!important}
[data-theme="dark"] .geo-note{background:rgba(200,118,58,.18)!important;color:#e8c07a!important}
[data-theme="dark"] #mapa{border-color:rgba(255,255,255,.1)!important}
[data-theme="dark"] .layer-legend{color:#8a9ab5!important}
[data-theme="dark"] .g-card img{opacity:.88}
[data-theme="dark"] .hero{opacity:.9}
[data-theme="dark"] main p,[data-theme="dark"] main li{color:#c8d4e0}
[data-theme="dark"] main h2{color:#e8edf5}
[data-theme="dark"] main h1{color:#e8edf5}
[data-theme="dark"] .tip{background:rgba(200,118,58,.18)!important;color:#e8c07a!important}
[data-theme="dark"] .plant-card,[data-theme="dark"] .horo-chip,[data-theme="dark"] .semaforo,[data-theme="dark"] .cal-grid{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important}
[data-theme="dark"] .cal-day.today{background:rgba(232,208,112,.2)!important;outline-color:#e8d070!important}
[data-theme="dark"] .geo-btn{background:var(--copper)!important;color:#fff!important;border-color:transparent!important}
[data-theme="dark"] .theme-btn{color:var(--ink)!important;border-color:rgba(255,255,255,.2)!important}
[data-theme="dark"] .theme-btn:hover{border-color:var(--copper)!important;color:var(--copper)!important}
[data-theme="dark"] .rain-alert-wrap{background:linear-gradient(135deg,#0D47A1,#1565C0)!important}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
