/* ── CLIMA.CSS — GLOBALpatagonia ── */
:root {
  --verde: #1c2d3d;
  --verde-medio: #3a5a7a;
  --verde-claro: #7aadcc;
  --gris-oscuro: #252830;
  --crema: #f0ede8;
  --dorado: #8c6b4a;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',sans-serif; background:var(--crema); color:var(--gris-oscuro); }

/* ── HEADER ── */
header { background:var(--verde); padding:0; }
.top-bar { background:var(--gris-oscuro); display:flex; justify-content:space-between; align-items:center; padding:6px 40px; font-size:11px; color:#777; letter-spacing:.5px; }
.top-bar .fecha { color:#ccc; }
.top-bar .clima-btn { color:#8ab8d4; font-weight:600; text-decoration:none; background:rgba(122,173,204,0.1); border:1px solid rgba(122,173,204,0.22); border-radius:20px; padding:3px 12px 3px 10px; display:inline-flex; align-items:center; gap:5px; transition:all .2s; white-space:nowrap; }
.top-bar .clima-btn:hover { background:rgba(122,173,204,0.22); color:#fff; border-color:rgba(122,173,204,0.45); }
.header-main { display:flex; flex-direction:column; align-items:center; padding:24px 20px 16px; border-bottom:1px solid rgba(255,255,255,.1); }
.logo-tagline { font-size:11px; color:#8ab8d4; letter-spacing:4px; text-transform:uppercase; margin-bottom:4px; }
.logo-img { height:auto; max-height:136px; width:auto; max-width:90%; display:block; }
.logo-sub { font-size:12px; color:rgba(255,255,255,.75); letter-spacing:3px; text-transform:uppercase; margin-top:6px; }
nav { background:var(--verde); display:flex; justify-content:center; border-top:1px solid rgba(255,255,255,.08); }
nav a { color:rgba(255,255,255,.75); text-decoration:none; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; padding:14px 18px; transition:all .2s; border-bottom:3px solid transparent; }
nav a:hover, nav a.active { color:#8ab8d4; border-bottom-color:#8ab8d4; background:rgba(255,255,255,.04); }
.nav-search-btn { background:none; border:none; cursor:pointer; color:rgba(255,255,255,.75); padding:14px 16px; display:flex; align-items:center; transition:color .2s; text-decoration:none; }
.nav-search-btn:hover { color:#8ab8d4; }
.nav-search-btn svg { width:16px; height:16px; }
.hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; background:none; border:none; cursor:pointer; padding:10px 16px; margin-left:auto; }
.hamburger span { display:block; width:22px; height:2px; background:rgba(255,255,255,.85); border-radius:2px; transition:all .25s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.nav-links { display:flex; }

/* ── FOOTER ── */
footer { background:var(--verde); padding:40px 20px 28px; text-align:center; margin-top:60px; }
.footer-logo { font-family:'Playfair Display',serif; font-size:24px; font-weight:700; color:white; letter-spacing:1px; }
.footer-tagline { font-size:11px; color:rgba(255,255,255,.5); letter-spacing:3px; text-transform:uppercase; margin:8px 0 20px; }
.footer-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 20px; margin-bottom:20px; }
.footer-nav a { color:rgba(255,255,255,.5); text-decoration:none; font-size:11px; letter-spacing:.5px; transition:color .2s; }
.footer-nav a:hover { color:#8ab8d4; }
.footer-copy { font-size:11px; color:rgba(255,255,255,.25); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ── PÁGINA CLIMA ── */
.clima-hero {
  background: linear-gradient(135deg, var(--verde) 0%, #2a4a68 100%);
  padding: 36px 20px 28px;
  text-align: center;
  border-bottom: 3px solid #7aadcc;
}
.clima-hero h1 { font-family:'Playfair Display',serif; font-size:32px; color:#fff; font-weight:700; margin-bottom:6px; }
.clima-hero p { font-size:13px; color:rgba(255,255,255,.65); letter-spacing:.5px; }

/* ── CONTAINER ── */
.container { max-width:1200px; margin:0 auto; padding:0 20px; }

/* ── SELECTOR ── */
.selector-section { background:#fff; border-bottom:1px solid #ddd; padding:20px; position:sticky; top:0; z-index:50; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.selector-inner { max-width:1200px; margin:0 auto; }
.country-tabs { display:flex; gap:8px; margin-bottom:14px; }
.country-tab { background:none; border:2px solid #ddd; color:#888; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; padding:7px 18px; border-radius:3px; cursor:pointer; transition:all .2s; }
.country-tab.active { background:var(--verde); border-color:var(--verde); color:#fff; }
.country-tab:hover:not(.active) { border-color:var(--verde); color:var(--verde); }
.city-grid { display:flex; flex-wrap:wrap; gap:7px; }
.city-btn { background:none; border:1px solid #ccc; color:#444; font-size:12px; font-weight:500; padding:6px 14px; border-radius:3px; cursor:pointer; transition:all .2s; white-space:nowrap; }
.city-btn:hover:not(.active) { border-color:#7aadcc; color:var(--verde); }
.city-btn.active { background:var(--verde); border-color:var(--verde); color:#fff; font-weight:600; }

/* ── LOADING ── */
.loading-state { text-align:center; padding:80px 20px; }
.spinner { width:40px; height:40px; border:3px solid #ddd; border-top-color:#7aadcc; border-radius:50%; animation:spin .8s linear infinite; margin:0 auto 16px; }
@keyframes spin { to { transform:rotate(360deg); } }
.loading-state p { color:#888; font-size:14px; }

/* ── ERROR ── */
.error-state { text-align:center; padding:60px 20px; color:#b03a2e; }

/* ── CURRENT CONDITIONS ── */
.current-section { padding:32px 0 0; }
.current-card {
  background:#fff;
  border-radius:6px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0;
}
.cc-main { padding:28px 32px; border-right:1px solid #f0ede8; }
.cc-location { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#8ab8d4; margin-bottom:8px; }
.cc-temp { font-size:72px; font-weight:300; color:var(--verde); line-height:1; }
.cc-temp sup { font-size:32px; vertical-align:super; }
.cc-apparent { font-size:13px; color:#888; margin-top:4px; }
.cc-desc { font-size:18px; margin-top:12px; color:var(--gris-oscuro); font-weight:500; }
.cc-emoji { font-size:36px; display:block; margin-bottom:4px; }
.cc-details { padding:28px 24px; display:flex; flex-direction:column; justify-content:center; gap:12px; border-right:1px solid #f0ede8; }
.cc-detail-row { display:flex; align-items:center; gap:10px; }
.cc-detail-icon { font-size:18px; width:24px; text-align:center; }
.cc-detail-label { font-size:11px; color:#888; letter-spacing:.5px; text-transform:uppercase; }
.cc-detail-value { font-size:15px; font-weight:600; color:var(--verde); }
.cc-wind { padding:28px 24px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:#fafafa; }
.cc-wind-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#8ab8d4; margin-bottom:12px; }
.cc-wind-speed { font-size:52px; font-weight:300; color:var(--verde); line-height:1; }
.cc-wind-unit { font-size:14px; color:#888; }
.cc-wind-arrow { font-size:40px; line-height:1; display:inline-block; transition:transform .5s; color:#7aadcc; }
.cc-wind-dir { font-size:13px; font-weight:600; color:var(--gris-oscuro); margin-top:4px; }
.cc-wind-gust { font-size:12px; color:#b03a2e; margin-top:8px; font-weight:500; }

/* ── 7-DAY FORECAST ── */
.forecast-section { padding:28px 0 0; }
.section-label { font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--dorado); margin-bottom:14px; }
.forecast-strip { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.fc-card {
  background:#fff;
  border-radius:6px;
  padding:14px 10px;
  text-align:center;
  box-shadow:0 1px 6px rgba(0,0,0,.06);
  transition:transform .15s, box-shadow .15s;
}
.fc-card:hover { transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,.1); }
.fc-day { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#888; }
.fc-emoji { font-size:28px; margin:8px 0; display:block; }
.fc-temps { font-size:14px; color:var(--verde); font-weight:600; }
.fc-tmin { color:#888; font-weight:400; }
.fc-wind { font-size:11px; color:#5a8db5; margin-top:6px; font-weight:500; }
.fc-precip { font-size:11px; color:#4a7aa0; margin-top:3px; }
.fc-snow { font-size:11px; color:#7aadcc; margin-top:3px; }
.fc-uv { font-size:10px; color:#888; margin-top:3px; }

/* ── PRO SECTION ── */
.pro-section { padding:36px 0 0; }
.pro-header { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.pro-badge { background:var(--verde); color:#8ab8d4; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:5px 12px; border-radius:3px; white-space:nowrap; }
.pro-title { font-family:'Playfair Display',serif; font-size:22px; font-weight:700; color:var(--verde); }
.pro-line { flex:1; height:2px; background:linear-gradient(to right,#7aadcc,transparent); }
.pro-subtitle { font-size:12px; color:#888; margin-bottom:20px; }

/* ── METEOGRAM ── */
.meteogram-card {
  background:var(--verde);
  border-radius:6px;
  padding:24px 20px 16px;
  margin-bottom:20px;
  overflow:hidden;
}
.meteogram-title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#8ab8d4; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.meteogram-legend { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:14px; }
.legend-item { display:flex; align-items:center; gap:6px; font-size:11px; color:rgba(255,255,255,.65); }
.legend-dot { width:12px; height:3px; border-radius:2px; }
.legend-dot.temp { background:#f4845a; }
.legend-dot.wind10 { background:#7aadcc; }
.legend-dot.wind80 { background:#5a8db5; border-top:2px dashed #5a8db5; height:0; }
.legend-dot.precip { background:rgba(80,140,210,.8); width:10px; height:12px; border-radius:2px; }
.chart-wrapper { position:relative; }
.chart-wrapper canvas { max-width:100%; }

/* ── PRO METRICS GRID ── */
.metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:20px; }
.metric-card {
  background:#fff;
  border-radius:6px;
  padding:18px 16px;
  box-shadow:0 1px 6px rgba(0,0,0,.06);
  border-top:3px solid var(--verde-claro);
}
.metric-card.alert-amarillo { border-top-color:#e8a020; }
.metric-card.alert-rojo { border-top-color:#b03a2e; }
.metric-icon { font-size:22px; margin-bottom:8px; }
.metric-label { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#888; margin-bottom:4px; }
.metric-value { font-size:24px; font-weight:700; color:var(--verde); line-height:1.1; }
.metric-unit { font-size:12px; font-weight:400; color:#888; }
.metric-sub { font-size:11px; color:#888; margin-top:4px; }

/* ── RIESGO ASSESSMENT ── */
.risk-card {
  border-radius:6px;
  padding:20px 24px;
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:20px;
}
.risk-card.verde { background:#eaf7ee; border-left:5px solid #2ecc71; }
.risk-card.amarillo { background:#fef9e8; border-left:5px solid #e8a020; }
.risk-card.rojo { background:#fdf0ee; border-left:5px solid #b03a2e; }
.risk-dot { width:48px; height:48px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:22px; }
.risk-dot.verde { background:#2ecc71; }
.risk-dot.amarillo { background:#e8a020; }
.risk-dot.rojo { background:#b03a2e; }
.risk-title { font-size:15px; font-weight:700; color:var(--verde); margin-bottom:4px; }
.risk-reasons { font-size:12px; color:#555; line-height:1.6; }

/* ── WINDY EMBED ── */
.windy-card { background:var(--verde); border-radius:6px; overflow:hidden; margin-bottom:20px; }
.windy-header { padding:16px 20px 12px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.windy-header-left { display:flex; align-items:center; gap:12px; }
.windy-title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#8ab8d4; }
.windy-layers { display:flex; gap:6px; flex-wrap:wrap; }
.windy-layer-btn { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.7); font-size:11px; font-weight:600; padding:5px 12px; border-radius:3px; cursor:pointer; transition:all .2s; letter-spacing:.5px; }
.windy-layer-btn:hover { background:rgba(122,173,204,0.2); color:#fff; }
.windy-layer-btn.active { background:#7aadcc; border-color:#7aadcc; color:#1c2d3d; }
.windy-iframe-wrap { position:relative; width:100%; padding-bottom:52%; }
.windy-iframe-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; display:block; }
.windy-credit { padding:8px 20px; font-size:10px; color:rgba(255,255,255,0.3); text-align:right; }
.windy-credit a { color:rgba(122,173,204,0.6); text-decoration:none; }
.windy-credit a:hover { color:#8ab8d4; }

/* ── WIND ALTITUDE TABLE ── */
.altitude-card {
  background:#fff;
  border-radius:6px;
  padding:20px;
  box-shadow:0 1px 6px rgba(0,0,0,.06);
  margin-bottom:20px;
}
.alt-table { width:100%; border-collapse:collapse; font-size:13px; }
.alt-table th { text-align:left; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#888; padding:8px 12px; border-bottom:2px solid #f0ede8; }
.alt-table td { padding:10px 12px; border-bottom:1px solid #f7f5f2; color:var(--gris-oscuro); }
.alt-table tr:last-child td { border-bottom:none; }
.alt-table .alt-name { font-weight:600; color:var(--verde); }
.wind-bar-cell { min-width:140px; }
.wind-bar-bg { background:#f0ede8; border-radius:3px; height:8px; overflow:hidden; }
.wind-bar-fill { background:linear-gradient(to right,#7aadcc,#1c6a8e); height:100%; border-radius:3px; transition:width .5s; }

/* ── RESPONSIVE ── */
@media (max-width:900px) {
  .current-card { grid-template-columns:1fr 1fr; }
  .cc-wind { grid-column:1/-1; border-top:1px solid #f0ede8; }
  .metrics-grid { grid-template-columns:repeat(2,1fr); }
  .forecast-strip { grid-template-columns:repeat(4,1fr); }
  .fc-card:nth-child(n+5) { display:none; }
}
@media (max-width:640px) {
  .clima-hero h1 { font-size:24px; }
  .top-bar { padding:5px 12px; font-size:10px; }
  .top-bar .clima-btn { display:none; }
  .header-main { padding:16px 16px 12px; }
  .logo-img { max-height:110px; }
  nav { flex-wrap:wrap; justify-content:flex-start; position:relative; }
  .hamburger { display:flex; }
  .nav-links { display:none; flex-direction:column; width:100%; background:var(--verde); border-top:1px solid rgba(255,255,255,.1); }
  .nav-links.open { display:flex; }
  .nav-links a { font-size:13px; padding:14px 20px; border-bottom:1px solid rgba(255,255,255,.07); }
  .current-card { grid-template-columns:1fr; }
  .cc-main { border-right:none; border-bottom:1px solid #f0ede8; }
  .cc-details { border-right:none; border-bottom:1px solid #f0ede8; }
  .forecast-strip { grid-template-columns:repeat(4,1fr); gap:4px; overflow-x:auto; }
  .fc-card:nth-child(n+5) { display:block; }
  .metrics-grid { grid-template-columns:repeat(2,1fr); }
  .city-grid { gap:5px; }
  .city-btn { font-size:11px; padding:5px 10px; }
  .selector-section { padding:14px; }
  .pro-title { font-size:17px; }
}


/* ── BLOQUE SEO CLIMA ── */
.clima-seo { max-width:920px; margin:10px auto 40px; padding:0 20px; line-height:1.7; }
.clima-seo h2 { font-family:'Playfair Display',serif; color:var(--verde); font-size:26px; margin:32px 0 16px; }
.clima-seo h3 { font-family:'Playfair Display',serif; color:var(--verde-medio); font-size:19px; margin:24px 0 8px; }
.clima-seo p { color:var(--gris-oscuro); margin-bottom:14px; font-size:16px; }
.clima-estaciones { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:18px 0 8px; }
.ce-card { background:#fff; border:1px solid #e3ddd3; border-radius:12px; padding:16px 18px; }
.ce-card h3 { margin:0 0 6px; font-family:'Inter',sans-serif; font-size:16px; color:var(--verde); }
.ce-card p { margin:0; font-size:14.5px; color:#4a4a4a; }
.clima-faq { margin-top:28px; }
.clima-faq details { background:#fff; border:1px solid #e3ddd3; border-radius:10px; padding:4px 18px; margin-bottom:10px; }
.clima-faq summary { font-weight:600; color:var(--verde); cursor:pointer; padding:12px 0; font-size:15.5px; list-style:none; }
.clima-faq summary::-webkit-details-marker { display:none; }
.clima-faq summary::after { content:'+'; float:right; color:var(--verde-claro); font-size:20px; line-height:1; }
.clima-faq details[open] summary::after { content:'–'; }
.clima-faq details p { padding:0 0 14px; margin:0; font-size:15px; color:#4a4a4a; }
.clima-guia-link { display:inline-block; margin-top:18px; background:var(--verde); color:#fff; text-decoration:none; padding:12px 22px; border-radius:999px; font-weight:600; font-size:15px; }
.clima-guia-link:hover { background:var(--verde-medio); }
@media(max-width:640px){ .clima-estaciones{ grid-template-columns:1fr; } .clima-seo h2{ font-size:22px; } }
