/* ============================================================
   HantavirusIntel — Complete Stylesheet v2
   Dark + Light theme, mobile-first, ad zones
   ============================================================ */

/* ─── DARK THEME TOKENS (default) ──────────────────────────── */
:root {
  --bg:           #030c1e;
  --bg-surface:   #040e22;
  --bg-card:      rgba(8,20,52,.58);
  --bg-card-h:    rgba(10,28,68,.80);
  --border:       rgba(14,165,233,.13);
  --border-acc:   rgba(14,165,233,.38);
  --accent:       #0ea5e9;
  --accent-bg:    rgba(14,165,233,.10);
  --cyan:         #22d3ee;
  --text-primary: #e2eaf5;
  --text-sec:     #6b96b8;
  --text-muted:   #2e4a66;
  --green:        #10b981;
  --amber:        #f59e0b;
  --red:          #f87171;
  --purple:       #a78bfa;
  --shadow:       0 4px 24px rgba(0,0,0,.35);
  --nav-bg:       rgba(3,10,24,.96);
  --hero-bg:      linear-gradient(160deg,#030c1e 0%,#050f28 60%,#030c1e 100%);
  --grid-line:    rgba(14,165,233,.034);
  --newsletter-bg:rgba(8,20,52,.55);
  --mono:         'IBM Plex Mono', monospace;
  --sans:         'IBM Plex Sans', sans-serif;
  --radius:       12px;
  --tr:           all .25s ease;
}

/* ─── LIGHT THEME TOKENS ─────────────────────────────────────── */
[data-theme="light"] {
  --bg:           #f0f5fc;
  --bg-surface:   #e8eef8;
  --bg-card:      rgba(255,255,255,.90);
  --bg-card-h:    rgba(255,255,255,.99);
  --border:       rgba(14,165,233,.22);
  --border-acc:   rgba(14,165,233,.50);
  --accent:       #0284c7;
  --accent-bg:    rgba(2,132,199,.09);
  --cyan:         #0891b2;
  --text-primary: #0f1e35;
  --text-sec:     #334e6a;
  --text-muted:   #5a7a9a;
  --green:        #059669;
  --amber:        #d97706;
  --red:          #dc2626;
  --purple:       #7c3aed;
  --shadow:       0 4px 24px rgba(14,165,233,.10);
  --nav-bg:       rgba(240,245,252,.97);
  --hero-bg:      linear-gradient(160deg,#dbeafe 0%,#e0f2fe 55%,#dbeafe 100%);
  --grid-line:    rgba(2,132,199,.06);
  --newsletter-bg:rgba(255,255,255,.75);
}

/* ─── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg); color:var(--text-primary);
  font-family:var(--sans); font-size:15px; line-height:1.6;
  min-height:100vh; transition:background .3s, color .3s;
}
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
ul { list-style:none; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.3} }
@keyframes fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }

/* ─── LAYOUT ─────────────────────────────────────────────────── */
.container { max-width:1280px; margin:0 auto; padding:0 24px; }
.section    { padding:52px 0; }
.grid-2  { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.grid-3  { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.grid-4  { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.grid-dash { display:grid; grid-template-columns:2fr 1fr; gap:16px; }
.flex-between { display:flex; justify-content:space-between; align-items:center; }
.mt-4{margin-top:16px} .mt-6{margin-top:24px} .mt-8{margin-top:32px} .mt-12{margin-top:48px}
.mb-4{margin-bottom:16px} .mb-6{margin-bottom:24px} .mb-8{margin-bottom:32px}

/* ─── NAVBAR ─────────────────────────────────────────────────── */
.navbar {
  background:var(--nav-bg);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  position:sticky; top:0; z-index:200; height:62px;
  transition:background .3s;
}
.nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:100%; gap:12px;
}
.nav-logo {
  display:flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:12px; font-weight:600;
  color:var(--text-primary); letter-spacing:.06em; white-space:nowrap; flex-shrink:0;
}
.logo-dot {
  width:7px; height:7px; border-radius:50%;
  background:var(--cyan); box-shadow:0 0 9px var(--cyan);
  animation:pulse 2.2s infinite; flex-shrink:0;
}
.logo-accent { color:var(--accent); }
.nav-links { display:flex; gap:3px; align-items:center; flex-wrap:nowrap; }
.nav-link {
  font-family:var(--mono); font-size:10.5px; letter-spacing:.02em;
  color:var(--text-sec); padding:5px 10px; border-radius:7px;
  border:1px solid transparent; transition:var(--tr); display:inline-block; white-space:nowrap;
}
.nav-link:hover,.nav-link.active {
  color:var(--accent); background:var(--accent-bg);
  border-color:var(--border); text-decoration:none;
}

/* Theme toggle button */
.theme-toggle {
  background:var(--accent-bg); border:1px solid var(--border);
  color:var(--text-sec); border-radius:8px; padding:5px 10px;
  cursor:pointer; font-size:15px; line-height:1; transition:var(--tr);
  flex-shrink:0; display:flex; align-items:center; gap:5px;
}
.theme-toggle:hover { border-color:var(--border-acc); color:var(--accent); }
.theme-toggle .theme-label {
  font-family:var(--mono); font-size:9px; letter-spacing:.06em;
}
.nav-right { display:flex; align-items:center; gap:8px; }
.nav-toggle {
  display:none; background:none; border:1px solid var(--border);
  color:var(--text-primary); font-size:18px; cursor:pointer;
  border-radius:7px; padding:5px 9px; transition:var(--tr);
}
.nav-toggle:hover { border-color:var(--border-acc); }

/* Mobile menu */
.nav-menu {
  display:flex; align-items:center; gap:3px; flex-wrap:nowrap;
}

/* ─── CARD ───────────────────────────────────────────────────── */
.card {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  backdrop-filter:blur(24px);
  transition:var(--tr);
  padding:24px;
  box-shadow:var(--shadow);
}
.card.hoverable:hover {
  background:var(--bg-card-h);
  border-color:var(--border-acc);
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(14,165,233,.12);
}
[data-theme="light"] .card {
  box-shadow:0 2px 16px rgba(14,165,233,.08), 0 1px 4px rgba(0,0,0,.05);
}
[data-theme="light"] .card.hoverable:hover {
  box-shadow:0 8px 32px rgba(2,132,199,.15);
}

/* ─── BADGE ──────────────────────────────────────────────────── */
.badge {
  display:inline-block; border:1px solid; border-radius:5px;
  padding:2px 8px; font-family:var(--mono); font-size:10px;
  font-weight:500; letter-spacing:.03em; white-space:nowrap;
}

/* ─── BUTTONS ────────────────────────────────────────────────── */
.btn {
  display:inline-block; font-family:var(--mono); font-size:12px;
  letter-spacing:.03em; font-weight:500; padding:10px 22px;
  border-radius:8px; border:1px solid transparent;
  cursor:pointer; transition:var(--tr); white-space:nowrap;
}
.btn-primary { background:var(--accent); color:#fff; border-color:var(--accent); }
.btn-primary:hover { background:#0276aa; text-decoration:none; color:#fff; }
.btn-outline { background:transparent; color:var(--accent); border-color:var(--border-acc); }
.btn-outline:hover { background:var(--accent-bg); text-decoration:none; }
.btn-sm { padding:5px 12px; font-size:10px; border-radius:6px; }
.btn-danger { background:transparent; color:var(--red); border-color:rgba(248,113,113,.3); }
.btn-danger:hover { background:rgba(248,113,113,.1); text-decoration:none; }

/* ─── INPUTS ─────────────────────────────────────────────────── */
.input-field {
  background:rgba(14,165,233,.05); border:1px solid var(--border);
  border-radius:8px; padding:10px 14px; color:var(--text-primary);
  font-family:var(--mono); font-size:13px; outline:none;
  transition:var(--tr); width:100%;
}
[data-theme="light"] .input-field { background:rgba(2,132,199,.05); }
.input-field:focus { border-color:var(--border-acc); background:var(--accent-bg); }
.input-field::placeholder { color:var(--text-muted); }
textarea.input-field { resize:vertical; min-height:120px; }
select.input-field { cursor:pointer; }
.form-group { margin-bottom:16px; }
.form-label {
  font-family:var(--mono); font-size:10px; color:var(--text-muted);
  letter-spacing:.1em; display:block; margin-bottom:6px;
}

/* ─── SECTION LABELS ─────────────────────────────────────────── */
.section-label {
  font-family:var(--mono); font-size:10px; color:var(--text-sec);
  letter-spacing:.12em; margin-bottom:8px; display:block;
}
.section-title {
  font-family:var(--sans); font-size:36px; font-weight:300;
  color:var(--text-primary); line-height:1.1; letter-spacing:-.02em;
}
.section-title span { color:var(--accent); font-weight:500; }

/* ─── HERO ───────────────────────────────────────────────────── */
.hero {
  position:relative; overflow:hidden;
  background:var(--hero-bg);
  padding:80px 0 64px;
  border-bottom:1px solid var(--border);
}
.hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:52px 52px; pointer-events:none;
}
.hero-glow {
  position:absolute; top:40px; right:8%; width:380px; height:380px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(14,165,233,.07) 0%,transparent 70%);
  pointer-events:none;
}
[data-theme="light"] .hero-glow {
  background:radial-gradient(circle,rgba(2,132,199,.12) 0%,transparent 70%);
}
.live-indicator {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:10px; color:var(--green);
  letter-spacing:.12em; margin-bottom:20px;
}
.live-dot-small {
  width:6px; height:6px; border-radius:50%;
  background:var(--green); animation:pulse 2s infinite; flex-shrink:0;
}
.hero-title {
  font-family:var(--sans); font-size:56px; font-weight:300;
  line-height:1.06; letter-spacing:-.025em; margin-bottom:20px;
}
.hero-title span { color:var(--accent); font-weight:500; }
.hero-sub {
  font-size:17px; color:var(--text-sec); max-width:540px;
  line-height:1.75; margin-bottom:36px;
}
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.hero-stats {
  display:flex; gap:40px; flex-wrap:wrap;
  margin-top:52px; padding-top:36px; border-top:1px solid var(--border);
}
.hero-stat-label {
  font-family:var(--mono); font-size:9px; color:var(--text-muted);
  letter-spacing:.12em; margin-bottom:5px;
}
.hero-stat-value {
  font-family:var(--mono); font-size:28px; font-weight:600; color:var(--text-primary);
}
.hero-stat-value.cyan  { color:var(--cyan); }
.hero-stat-value.amber { color:var(--amber); }

/* ─── KPI CARDS ──────────────────────────────────────────────── */
.kpi-label { font-family:var(--mono); font-size:9px; color:var(--text-muted); letter-spacing:.12em; margin-bottom:9px; }
.kpi-value { font-family:var(--mono); font-size:26px; font-weight:600; color:var(--text-primary); margin-bottom:6px; }
.kpi-delta { font-family:var(--mono); font-size:11px; }
.delta-up { color:var(--amber); }
.delta-down,.delta-stable { color:var(--green); }

/* ─── CHART ──────────────────────────────────────────────────── */
.chart-wrap { position:relative; width:100%; height:240px; }
.chart-label { font-family:var(--mono); font-size:10px; color:var(--text-sec); letter-spacing:.1em; margin-bottom:16px; }

/* ─── ALERTS ─────────────────────────────────────────────────── */
.alert-row {
  display:flex; align-items:flex-start; gap:14px;
  padding:13px 16px; margin-bottom:10px;
  background:rgba(255,255,255,.02);
  border-radius:8px; border:1px solid var(--border); border-left:3px solid;
}
[data-theme="light"] .alert-row { background:rgba(2,132,199,.03); }
.alert-row.high     { border-left-color:var(--red);   }
.alert-row.moderate { border-left-color:var(--amber); }
.alert-row.low      { border-left-color:var(--green); }
.alert-row.minimal  { border-left-color:var(--purple);}
.alert-body { flex:1; min-width:0; }
.alert-region { font-family:var(--mono); font-size:11px; color:var(--text-sec); }
.alert-msg { font-size:13px; color:var(--text-primary); margin-top:4px; line-height:1.5; }
.alert-time { font-family:var(--mono); font-size:9px; color:var(--text-muted); white-space:nowrap; flex-shrink:0; }

/* ─── NEWS ───────────────────────────────────────────────────── */
.news-meta { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:10px; gap:8px; }
.news-date  { font-family:var(--mono); font-size:9px; color:var(--text-muted); white-space:nowrap; }
.news-title { font-size:15px; font-weight:500; color:var(--text-primary); line-height:1.5; margin:10px 0; }
.news-summary { font-size:13px; color:var(--text-sec); line-height:1.65; margin-bottom:14px; }
.news-tags  { display:flex; gap:6px; flex-wrap:wrap; }
.news-tag {
  background:rgba(14,165,233,.07); color:var(--text-sec);
  border:1px solid var(--border); border-radius:4px;
  padding:2px 7px; font-size:10px; font-family:var(--mono);
}
[data-theme="light"] .news-tag { background:rgba(2,132,199,.07); }

/* ─── NEWS FILTER BUTTONS — no overflow ──────────────────────── */
.filter-bar {
  display:flex; gap:8px; flex-wrap:wrap; align-items:center;
}

/* ─── PREVENTION ─────────────────────────────────────────────── */
.prev-icon  { font-size:30px; margin-bottom:14px; }
.prev-title { font-family:var(--mono); font-size:11px; color:var(--accent); letter-spacing:.07em; margin-bottom:16px; }
.prev-list  { display:flex; flex-direction:column; gap:9px; }
.prev-item  { display:flex; gap:8px; align-items:flex-start; font-size:13px; color:var(--text-sec); line-height:1.5; }
.prev-arrow { color:var(--cyan); font-size:8px; margin-top:4px; flex-shrink:0; }

/* ─── FAQ ACCORDION ──────────────────────────────────────────── */
.faq-item {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:10px; overflow:hidden; transition:border-color .2s;
  margin-bottom:8px; backdrop-filter:blur(24px); box-shadow:var(--shadow);
}
.faq-item.open { border-color:var(--border-acc); }
.faq-btn {
  width:100%; background:none; border:none; cursor:pointer;
  padding:18px 22px; display:flex; justify-content:space-between;
  align-items:center; text-align:left; gap:16px;
}
.faq-q    { font-family:var(--sans); font-size:15px; font-weight:500; color:var(--text-primary); }
.faq-icon { color:var(--accent); font-size:22px; flex-shrink:0; transition:transform .22s; line-height:1; }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-answer {
  padding:0 22px 20px; font-size:14px; color:var(--text-sec);
  line-height:1.75; border-top:1px solid var(--border); padding-top:16px;
}

/* ─── MAP ────────────────────────────────────────────────────── */
.map-layout { display:grid; grid-template-columns:1fr 280px; gap:16px; align-items:start; }
.map-wrap   { border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); }
#outbreak-map { width:100%; height:480px; }
.map-sidebar  { display:flex; flex-direction:column; gap:12px; }
.map-legend-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.legend-dot   { width:9px; height:9px; border-radius:50%; }
.legend-label { font-size:10px; color:var(--text-sec); font-family:var(--mono); }
.region-row {
  display:flex; justify-content:space-between; align-items:center;
  padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid var(--border);
}
.region-name  { font-family:var(--mono); font-size:12px; color:var(--text-primary); font-weight:500; }
.region-sub   { font-size:9px; color:var(--text-muted); }
.region-cases { font-family:var(--mono); font-size:16px; color:var(--cyan); font-weight:600; }

/* ─── ARTICLE ────────────────────────────────────────────────── */
.article-content { font-size:16px; line-height:1.85; color:var(--text-sec); max-width:740px; }
.article-content h2 { font-family:var(--sans); font-size:22px; font-weight:500; color:var(--text-primary); margin:32px 0 14px; }
.article-content p  { margin-bottom:18px; }
.article-content em { color:var(--cyan); font-style:italic; }

/* ─── TRUST STRIP ────────────────────────────────────────────── */
.trust-strip {
  display:flex; gap:20px; flex-wrap:wrap; padding:18px 22px;
  background:var(--bg-card); border-radius:10px; border:1px solid var(--border);
}
.trust-item  { display:flex; align-items:center; gap:7px; }
.trust-dot   { width:4px; height:4px; background:var(--green); border-radius:50%; flex-shrink:0; }
.trust-label { font-family:var(--mono); font-size:10px; color:var(--text-sec); letter-spacing:.03em; }

/* ─── AD ZONES ───────────────────────────────────────────────── */
.ad-zone {
  border-radius:var(--radius); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-card); border:1px dashed var(--border);
}
.ad-zone-header { width:100%; min-height:70px; margin-bottom:0; }
.ad-zone-sidebar { width:100%; min-height:250px; }
.ad-zone-infeed  { width:100%; min-height:90px; grid-column:1/-1; }
.ad-zone-footer  { width:100%; min-height:70px; }
.ad-zone-mobile  { width:100%; min-height:60px; display:none; }
.ad-zone-label   { font-family:var(--mono); font-size:8px; color:var(--text-muted); letter-spacing:.1em; }

/* ─── NEWSLETTER ─────────────────────────────────────────────── */
.newsletter-section {
  background:var(--newsletter-bg); border-top:1px solid var(--border);
  border-bottom:1px solid var(--border); padding:32px 0;
  backdrop-filter:blur(24px);
}
.newsletter-inner {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:20px;
}
.newsletter-title { font-family:var(--mono); font-size:14px; font-weight:500; color:var(--text-primary); margin-bottom:5px; }
.newsletter-sub   { font-size:13px; color:var(--text-sec); }
.newsletter-form  { display:flex; gap:8px; }
.newsletter-form .input-field { width:220px; }
.newsletter-msg   { text-align:center; font-family:var(--mono); font-size:12px; margin-top:12px; padding:0 24px; }

/* ─── FOOTER ─────────────────────────────────────────────────── */
.site-footer { padding:36px 0 28px; border-top:1px solid var(--border); }
.footer-inner { display:grid; grid-template-columns:1fr auto auto; gap:32px; align-items:start; }
.footer-logo  { font-family:var(--mono); font-size:12px; font-weight:600; color:var(--text-primary); letter-spacing:.07em; display:block; margin-bottom:10px; }
.footer-disclaimer { font-size:12px; color:var(--text-muted); line-height:1.7; max-width:380px; }
.footer-links { display:flex; flex-direction:column; gap:8px; }
.footer-links a { font-family:var(--mono); font-size:11px; color:var(--text-muted); }
.footer-links a:hover { color:var(--accent); }
.footer-copy  { font-family:var(--mono); font-size:10px; color:var(--text-muted); align-self:end; }

/* ─── ADMIN LAYOUT ───────────────────────────────────────────── */
.admin-wrap { display:grid; grid-template-columns:220px 1fr; min-height:calc(100vh - 62px); }
.admin-sidebar { background:var(--bg-surface); border-right:1px solid var(--border); padding:20px 0; }
.admin-nav-item {
  display:block; padding:10px 20px;
  font-family:var(--mono); font-size:11px; color:var(--text-sec);
  letter-spacing:.03em; transition:var(--tr); border-left:2px solid transparent;
}
.admin-nav-item:hover,.admin-nav-item.active {
  background:var(--accent-bg); color:var(--accent);
  text-decoration:none; border-left-color:var(--accent);
}
.admin-main    { padding:36px 32px; }
.admin-header  { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; }
.admin-title   { font-family:var(--mono); font-size:12px; color:var(--text-sec); letter-spacing:.12em; }
.table-wrap    { border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); overflow-x:auto; }
table          { width:100%; border-collapse:collapse; min-width:600px; }
th {
  font-family:var(--mono); font-size:9px; color:var(--text-muted); letter-spacing:.1em;
  padding:10px 16px; background:var(--bg-surface); text-align:left; border-bottom:1px solid var(--border);
}
td             { padding:13px 16px; font-size:13px; color:var(--text-primary); border-bottom:1px solid var(--border); }
tr:last-child td { border-bottom:none; }
tr:hover td    { background:var(--accent-bg); }
.td-mono       { font-family:var(--mono); font-size:11px; color:var(--text-sec); }
.actions       { display:flex; gap:6px; flex-wrap:wrap; }

/* ─── DISCLAIMER ─────────────────────────────────────────────── */
.disclaimer-box {
  padding:16px 20px; background:var(--accent-bg); border-radius:10px;
  border:1px solid var(--border); margin-top:32px; font-size:13px;
  color:var(--text-sec); line-height:1.7;
}
.disclaimer-box strong { font-family:var(--mono); font-size:10px; color:var(--accent); }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width:1100px) {
  .grid-4  { grid-template-columns:repeat(2,1fr); }
  .grid-dash { grid-template-columns:1fr; }
  .map-layout { grid-template-columns:1fr; }
  #outbreak-map { height:380px; }
  .map-sidebar { display:grid; grid-template-columns:repeat(2,1fr); }
  .footer-inner { grid-template-columns:1fr 1fr; }
}

@media (max-width:800px) {
  .hero-title  { font-size:36px; }
  .hero-sub    { font-size:15px; }
  .hero-stats  { gap:24px; }
  .hero-stat-value { font-size:22px; }
  .hero-btns   { flex-direction:column; align-items:flex-start; }
  .section-title { font-size:26px; }
  .grid-2,.grid-3 { grid-template-columns:1fr; }
  .grid-dash   { grid-template-columns:1fr; }
  .map-sidebar { grid-template-columns:1fr; }
  #outbreak-map { height:320px; }

  /* Navbar mobile */
  .nav-menu {
    display:none; flex-direction:column; align-items:stretch;
    position:absolute; top:62px; left:0; right:0;
    background:var(--nav-bg); backdrop-filter:blur(20px);
    border-bottom:1px solid var(--border);
    padding:12px 16px 16px; gap:4px; z-index:199;
  }
  .nav-menu.open { display:flex; }
  .nav-links { flex-direction:column; width:100%; }
  .nav-link  { width:100%; padding:10px 14px; }
  /* Theme toggle inside mobile menu */
  .theme-toggle-mobile {
    display:flex; align-items:center; gap:10px;
    padding:10px 14px; border-radius:7px; cursor:pointer;
    background:var(--accent-bg); border:1px solid var(--border);
    font-family:var(--mono); font-size:11px; color:var(--text-sec);
    width:100%; margin-top:4px;
  }
  .theme-toggle-desktop { display:none !important; }
  .nav-toggle  { display:flex; }
  .nav-inner   { position:relative; }

  /* Ad zones mobile */
  .ad-zone-header { display:none; }
  .ad-zone-mobile { display:flex; }

  .newsletter-inner { flex-direction:column; align-items:stretch; }
  .newsletter-form  { flex-direction:column; }
  .newsletter-form .input-field { width:100%; }
  .footer-inner { grid-template-columns:1fr; }
  .admin-wrap   { grid-template-columns:1fr; }
  .admin-sidebar { display:none; }
  .admin-main   { padding:24px 16px; }
  .section { padding:36px 0; }
  .container { padding:0 16px; }
  .flex-between { flex-wrap:wrap; gap:12px; }
}

@media (min-width:801px) {
  .theme-toggle-mobile { display:none !important; }
  .theme-toggle-desktop { display:flex !important; }
}

/* ─── AD UNIT WRAPPER ────────────────────────────────────────── */
.ad-unit { display:block; }
.ad-unit-label {
  font-family:var(--mono); font-size:8px; color:var(--text-muted);
  letter-spacing:.1em; text-align:center;
  padding:2px 0 4px; opacity:.6;
}

/* ─── LIGHT THEME SPECIFIC OVERRIDES ────────────────────────── */
[data-theme="light"] .hero-title { color:#0f1e35; }
[data-theme="light"] .section-title { color:#0f1e35; }
[data-theme="light"] .nav-logo { color:#0f1e35; }
[data-theme="light"] .newsletter-section { background:rgba(224,238,252,.7); }
[data-theme="light"] .site-footer { background:rgba(220,232,248,.4); }
[data-theme="light"] table { background:transparent; }
[data-theme="light"] th  { background:rgba(2,132,199,.07); color:#334e6a; }
[data-theme="light"] td  { color:#0f1e35; }
[data-theme="light"] tr:hover td { background:rgba(2,132,199,.05); }
[data-theme="light"] .admin-sidebar { background:rgba(220,232,250,.6); }
[data-theme="light"] .faq-q { color:#0f1e35; }
[data-theme="light"] .hero-sub { color:#334e6a; }
[data-theme="light"] .kpi-value { color:#0f1e35; }
[data-theme="light"] .news-title { color:#0f1e35; }
[data-theme="light"] .disclaimer-box { background:rgba(2,132,199,.06); }

/* ═══════════════════════════════════════════════════════════
   PATCH v2.1 — Nav, Theme toggle, Ad zones
   ═══════════════════════════════════════════════════════════ */



/* FIX 2: hamburger hidden on desktop */
@media (min-width: 801px) {
  .nav-toggle { display: none !important; }
}

/* FIX 3: theme toggle button — clean look, always visible on desktop */
.theme-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--accent-bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 5px 11px;
  cursor: pointer;
  transition: var(--tr);
  white-space: nowrap;
  flex-shrink: 0;
  color: var(--text-sec);
  font-size: 14px;
  line-height: 1;
}
.theme-toggle:hover {
  border-color: var(--border-acc);
  color: var(--accent);
  background: var(--accent-bg);
}
.theme-toggle .toggle-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .07em;
}

/* FIX 4: admin sidebar theme toggle — same style */
.admin-sidebar .theme-toggle {
  width: calc(100% - 16px);
  margin: 0 8px;
  justify-content: flex-start;
  padding: 8px 12px;
  border-radius: 7px;
  font-size: 13px;
}

/* FIX 5: 300×600 ad container — explicit min-height + overflow visible */
.ad-unit-600 {
  min-height: 310px;
  width: 100%;
  overflow: visible;
}
.ad-unit-600 .ad-unit-label {
  text-align: center;
  padding-bottom: 4px;
}

/* FIX 6: dashboard sidebar layout when ad is present */
.dashboard-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.dashboard-layout.has-sidebar {
  grid-template-columns: 1fr 300px;
}
.dashboard-sidebar-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (max-width: 1100px) {
  .dashboard-layout.has-sidebar { grid-template-columns: 1fr; }
  .dashboard-sidebar-col { display: grid; grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px) {
  .dashboard-sidebar-col { grid-template-columns: 1fr; }
}

/* ─── mobile theme-toggle-mobile visibility ─────────────────── */
@media (max-width: 800px) {
  /* Show mobile toggle inside open hamburger menu */
  .nav-menu.open .theme-toggle-mobile {
    display: flex !important;
  }
  /* Hide desktop toggle inside mobile dropdown */
  .nav-menu .theme-toggle {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   FINAL NAV FIX v2.3
   Desktop: flex row — scoped inside min-width, cannot override mobile
   Mobile:  !important on display:none — nothing can override it
   ═══════════════════════════════════════════════════════════════ */

@media (min-width: 801px) {
  .nav-menu {
    display:        flex        !important;
    flex-direction: row         !important;
    align-items:    center      !important;
    position:       static      !important;
    background:     transparent !important;
    border-bottom:  none        !important;
    padding:        0           !important;
    gap:            6px         !important;
    flex-wrap:      nowrap      !important;
    width:          auto        !important;
  }
  .nav-toggle { display: none !important; }
  .nav-menu .theme-toggle-mobile { display: none !important; }
}

@media (max-width: 800px) {
  .nav-menu {
    display:         none       !important;
    flex-direction:  column;
    align-items:     stretch;
    position:        absolute;
    top:             62px;
    left:            0;
    right:           0;
    background:      var(--nav-bg);
    backdrop-filter: blur(20px);
    border-bottom:   1px solid var(--border);
    padding:         12px 16px 16px;
    gap:             4px;
    z-index:         199;
  }
  .nav-menu.open { display: flex !important; }
  .nav-menu .theme-toggle-mobile { display: flex !important; }
  .nav-menu .theme-toggle-desktop,
  .nav-menu .theme-toggle { display: none !important; }
  .nav-menu.open .theme-toggle-mobile { display: flex !important; }
}

/* ─── PUSH NOTIFICATION PROMPT ──────────────────────────────── */
.push-prompt {
  position:fixed; bottom:24px; right:24px;
  width:320px; z-index:8888;
  background:var(--bg-card);
  border:1px solid var(--border-acc);
  border-radius:14px;
  box-shadow:0 16px 48px rgba(0,0,0,.38);
  backdrop-filter:blur(28px);
  padding:22px 20px 16px;
  transform:translateY(130%);
  opacity:0;
  transition:transform .42s cubic-bezier(.34,1.56,.64,1), opacity .35s ease;
  pointer-events:none;
}
.push-prompt.visible {
  transform:translateY(0);
  opacity:1;
  pointer-events:all;
}
.push-prompt-icon  { font-size:28px; margin-bottom:10px; display:block; }
.push-prompt-title {
  font-family:var(--sans); font-size:16px; font-weight:600;
  color:var(--text-primary); margin-bottom:8px; line-height:1.3;
}
.push-prompt-body  {
  font-family:var(--sans); font-size:13px; color:var(--text-sec);
  line-height:1.65; margin-bottom:16px;
}
.push-prompt-actions { display:flex; gap:8px; align-items:center; }
.push-prompt-disclaimer {
  font-family:var(--mono); font-size:9px; color:var(--text-muted);
  letter-spacing:.04em; margin-top:12px; display:block;
}
.push-close {
  position:absolute; top:10px; right:12px;
  background:none; border:none; color:var(--text-muted);
  font-size:18px; cursor:pointer; line-height:1;
  padding:2px 5px; border-radius:4px; transition:color .2s;
}
.push-close:hover { color:var(--text-sec); }
@media (max-width:640px) {
  .push-prompt { left:12px; right:12px; width:auto; bottom:12px; }
}
