/* ─────────────────────────────────────────────
   South Hams Coast — Dark Coastal Design System
   v2.0 · March 2026
   ───────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,700;0,900;1,700&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}

:root{
  /* ── Base surfaces ── */
  --bg:#080f1a;
  --surface:#0d1626;
  --surface-2:#111d2e;
  --glass:rgba(255,255,255,0.04);
  --glass-mid:rgba(255,255,255,0.07);
  --glass-hover:rgba(255,255,255,0.09);
  --border:rgba(255,255,255,0.08);
  --border-strong:rgba(255,255,255,0.16);

  /* ── Accent palette ── */
  --cyan:#06b6d4;
  --cyan-light:#38bdf8;
  --cyan-dim:rgba(6,182,212,0.12);
  --orange:#f97316;
  --orange-light:#fb923c;
  --orange-dim:rgba(249,115,22,0.12);
  --green:#10b981;
  --green-light:#34d399;
  --green-dim:rgba(16,185,129,0.12);
  --amber:#f59e0b;
  --amber-light:#fbbf24;
  --amber-dim:rgba(245,158,11,0.12);
  --red:#ef4444;
  --red-dim:rgba(239,68,68,0.12);

  /* ── Text ── */
  --text:#f1f5f9;
  --text-muted:#94a3b8;
  --text-dim:#475569;

  /* ── Legacy compat aliases ── */
  --ocean:var(--cyan);
  --ocean-mid:#0284c7;
  --ocean-light:var(--cyan-light);
  --foam:rgba(6,182,212,0.18);
  --sand:var(--amber-dim);
  --sand-dark:var(--amber);
  --sunset:var(--orange);
  --slate:var(--text);
  --muted:var(--text-muted);
  --light:var(--text-dim);
  --white:var(--glass);
  --green-bg:var(--green-dim);
  --red-bg:var(--red-dim);
  --amber-bg:var(--amber-dim);

  /* ── Shadows & glows ── */
  --shadow-sm:0 2px 12px rgba(0,0,0,0.5);
  --shadow:0 4px 24px rgba(0,0,0,0.6);
  --shadow-lg:0 12px 48px rgba(0,0,0,0.7);
  --glow-cyan:0 0 24px rgba(6,182,212,0.18),0 4px 24px rgba(0,0,0,0.5);
  --glow-orange:0 0 24px rgba(249,115,22,0.18),0 4px 24px rgba(0,0,0,0.5);
  --glow-green:0 0 24px rgba(16,185,129,0.18),0 4px 24px rgba(0,0,0,0.5);

  --radius:16px;
  --radius-sm:10px;
}

html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
}

/* ── SCROLLBAR ─────────────────────────────── */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:var(--surface);}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.2);}

/* ── NAV ───────────────────────────────────── */
.site-nav{
  background:rgba(8,15,26,0.88);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  position:sticky;top:0;z-index:100;
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:1060px;margin:0 auto;
  display:flex;align-items:center;
  padding:0 1.5rem;
}
.nav-brand{
  color:var(--text);font-weight:800;font-size:0.95rem;
  text-decoration:none;padding:1rem 1.2rem 1rem 0;
  white-space:nowrap;letter-spacing:-0.3px;
  border-right:1px solid var(--border);
  margin-right:0.5rem;display:flex;align-items:center;gap:0.4rem;
}
.nav-brand .brand-sub{opacity:0.4;font-weight:400;font-size:0.8rem;}
.nav-links{display:flex;flex:1;}
.nav-link{
  color:rgba(255,255,255,0.5);text-decoration:none;
  padding:0.9rem 0.85rem;font-size:0.8rem;font-weight:500;
  display:flex;align-items:center;gap:0.3rem;
  border-bottom:2px solid transparent;
  transition:all 0.2s;letter-spacing:0.1px;
}
.nav-link:hover{color:rgba(255,255,255,0.9);background:rgba(255,255,255,0.04);}
.nav-link.active{color:var(--cyan-light);border-bottom-color:var(--cyan);}
.nav-icon{font-size:0.9rem;}

/* Hamburger */
.nav-toggle{
  display:none;
  background:none;border:none;
  color:rgba(255,255,255,0.75);
  font-size:1.5rem;cursor:pointer;
  padding:0.5rem 0.6rem;margin-left:auto;
  line-height:1;border-radius:6px;
  transition:background 0.2s;flex-shrink:0;
}
.nav-toggle:hover{background:rgba(255,255,255,0.08);}

/* ── HERO ──────────────────────────────────── */
.hero{
  position:relative;
  min-height:560px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;
  background:var(--bg);
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.06);
  transition:transform 9s ease-out;
  filter:brightness(0.65);
}
.hero-bg.loaded{transform:scale(1);}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    to bottom,
    rgba(8,15,26,0.3) 0%,
    rgba(8,15,26,0.15) 35%,
    rgba(8,15,26,0.7) 80%,
    rgba(8,15,26,0.95) 100%
  );
}
.hero-content{
  position:relative;z-index:2;
  color:white;padding:5rem 1.5rem 4rem;
  max-width:760px;
}
.hero-eyebrow{
  font-size:0.68rem;text-transform:uppercase;letter-spacing:4px;
  font-weight:700;opacity:0.6;margin-bottom:1rem;
  color:var(--cyan-light);
}
.hero-content h1{
  font-family:'Playfair Display',serif;
  font-size:3.8rem;font-weight:900;
  letter-spacing:-1.5px;line-height:1.05;
  text-shadow:0 4px 30px rgba(0,0,0,0.5);
}
.hero-content .tagline{
  font-size:1rem;opacity:0.7;margin-top:0.8rem;
  font-weight:400;letter-spacing:0.3px;
}
.hero-content .date-stamp{
  font-size:0.72rem;opacity:0.45;margin-top:0.5rem;
}
.hero-wave{
  position:absolute;bottom:-2px;left:0;right:0;
  height:80px;z-index:3;
}
/* Override wave fill to match dark bg */
.hero-wave path{fill:var(--bg)!important;}

/* ── CONTAINER ─────────────────────────────── */
.container{max-width:1060px;margin:0 auto;padding:0 1.5rem;}

/* ── CARDS ─────────────────────────────────── */
.card{
  background:rgba(255,255,255,0.035);
  border-radius:var(--radius);
  padding:1.8rem;
  margin-bottom:1.2rem;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border);
  transition:box-shadow 0.25s,border-color 0.25s;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.card:hover{
  box-shadow:var(--glow-cyan);
  border-color:rgba(6,182,212,0.2);
}

/* ── SECTION HEADER ────────────────────────── */
.section-header{
  display:flex;align-items:center;gap:0.75rem;
  margin-bottom:1.2rem;padding-bottom:1rem;
  border-bottom:1px solid var(--border);flex-wrap:wrap;
}
.sec-icon{
  font-size:1.5rem;line-height:1;
  width:2.4rem;height:2.4rem;
  display:flex;align-items:center;justify-content:center;
  background:var(--glass-mid);
  border-radius:10px;border:1px solid var(--border);
  flex-shrink:0;
}
.section-header h2{font-size:1.1rem;font-weight:700;color:var(--text);letter-spacing:-0.3px;}
.section-header .loc{font-size:0.7rem;color:var(--text-dim);font-weight:500;margin-top:0.1rem;}
.section-header .badge-area{margin-left:auto;display:flex;gap:0.4rem;align-items:center;flex-wrap:wrap;}

/* ── DATA GRID ─────────────────────────────── */
.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.4rem;}
.data-row{
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:8px;
  padding:0.6rem 0.8rem;
  display:flex;justify-content:space-between;align-items:center;gap:0.5rem;
  transition:background 0.15s,border-color 0.15s;
}
.data-row:hover{background:var(--glass-mid);border-color:rgba(6,182,212,0.15);}
.dr-label{font-size:0.76rem;color:var(--text-dim);display:flex;align-items:center;gap:0.3rem;}
.dr-value{font-size:0.82rem;font-weight:600;color:var(--text);text-align:right;}
.full{grid-column:1/-1;}

/* ── BADGES ────────────────────────────────── */
.badge{
  display:inline-flex;align-items:center;gap:0.25rem;
  padding:0.22rem 0.65rem;border-radius:20px;
  font-size:0.7rem;font-weight:700;white-space:nowrap;letter-spacing:0.2px;
}
.badge.good{background:rgba(16,185,129,0.18);color:#34d399;border:1px solid rgba(16,185,129,0.25);}
.badge.fair{background:rgba(245,158,11,0.18);color:#fbbf24;border:1px solid rgba(245,158,11,0.25);}
.badge.poor{background:rgba(239,68,68,0.18);color:#f87171;border:1px solid rgba(239,68,68,0.25);}
.badge.info{background:rgba(6,182,212,0.18);color:#38bdf8;border:1px solid rgba(6,182,212,0.25);}

/* ── NOTES ─────────────────────────────────── */
.note{
  border-radius:0 8px 8px 0;
  padding:0.75rem 1rem;font-size:0.81rem;margin-top:0.8rem;
  line-height:1.55;
}
.note.amber{background:var(--amber-dim);border-left:3px solid var(--amber);color:#fcd34d;}
.note.blue{background:var(--cyan-dim);border-left:3px solid var(--cyan);color:#7dd3fc;}
.note.green{background:var(--green-dim);border-left:3px solid var(--green);color:#6ee7b7;}
.note.red{background:var(--red-dim);border-left:3px solid var(--red);color:#fca5a5;}

/* ── TIDES ─────────────────────────────────── */
.tide-row{display:flex;gap:0.5rem;justify-content:space-around;padding:1rem 0;flex-wrap:wrap;}
.tide-pt{text-align:center;}
.tide-label{font-size:0.62rem;text-transform:uppercase;font-weight:700;letter-spacing:0.5px;}
.tide-label.high{color:var(--cyan-light);}
.tide-label.low{color:var(--amber);}
.tide-bar{width:4px;border-radius:2px;margin:0.25rem auto;}
.tide-bar.high{height:52px;background:linear-gradient(to top,var(--cyan),var(--cyan-dim));}
.tide-bar.low{height:22px;background:linear-gradient(to top,var(--amber),var(--amber-dim));}
.tide-time{font-size:1rem;font-weight:700;color:var(--text);}
.tide-ht{font-size:0.7rem;color:var(--text-dim);margin-top:0.1rem;}

/* ── STATS STRIP ────────────────────────────── */
.stats-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(100px,1fr));
  gap:0.6rem;margin-bottom:1.2rem;
}
.stat{
  background:var(--glass);
  border-radius:var(--radius-sm);
  padding:1rem 0.6rem;text-align:center;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border);
  transition:transform 0.15s,box-shadow 0.2s,border-color 0.2s;
}
.stat:hover{
  transform:translateY(-3px);
  box-shadow:var(--glow-cyan);
  border-color:rgba(6,182,212,0.2);
}
.stat .s-icon{font-size:1.25rem;}
.stat .s-val{font-size:1.3rem;font-weight:800;color:var(--cyan-light);margin:0.2rem 0;letter-spacing:-0.5px;}
.stat .s-label{font-size:0.58rem;text-transform:uppercase;letter-spacing:0.8px;color:var(--text-dim);font-weight:700;}

/* ── VERDICT BANNER ────────────────────────── */
.verdict{
  background:var(--glass);
  border-radius:var(--radius);
  padding:1.2rem 1.5rem;margin-bottom:1.2rem;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border);
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
}
.verdict .v-icon{font-size:2.2rem;}
.verdict h2{font-size:1.05rem;font-weight:700;color:var(--text);letter-spacing:-0.3px;}
.verdict p{font-size:0.81rem;color:var(--text-muted);margin-top:0.2rem;line-height:1.5;}

/* ── PHOTO CARDS (activity nav) ────────────── */
.page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.2rem;}
.page-card{
  display:block;text-decoration:none;
  border-radius:var(--radius);overflow:hidden;
  position:relative;min-height:200px;
  border:1px solid var(--border);
  transition:transform 0.3s,box-shadow 0.3s,border-color 0.3s;
}
.page-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--glow-cyan);
  border-color:rgba(6,182,212,0.3);
}
.page-card .pc-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform 0.5s;filter:brightness(0.8);
}
.page-card:hover .pc-bg{transform:scale(1.07);filter:brightness(0.9);}
.page-card .pc-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,15,26,0.9) 0%,rgba(8,15,26,0.2) 55%,transparent 100%);
}
.page-card .pc-content{
  position:relative;z-index:2;
  color:white;height:100%;
  display:flex;flex-direction:column;
  justify-content:flex-end;padding:1.3rem;
}
.page-card .pc-icon{font-size:2rem;margin-bottom:0.4rem;}
.page-card h3{font-size:1rem;font-weight:700;letter-spacing:-0.2px;}
.page-card p{font-size:0.72rem;opacity:0.75;margin-top:0.3rem;line-height:1.4;}
.page-card .pc-arrow{
  display:inline-flex;align-items:center;gap:0.3rem;
  margin-top:0.7rem;font-size:0.7rem;font-weight:700;
  background:rgba(6,182,212,0.25);
  padding:0.25rem 0.75rem;border-radius:20px;
  border:1px solid rgba(6,182,212,0.35);
  backdrop-filter:blur(4px);width:fit-content;
  color:var(--cyan-light);
}

/* ── ACTIVITY VERDICT ROWS ─────────────────── */
.quick-verdict{
  border-radius:10px;padding:0.9rem 1rem;margin-bottom:0.5rem;
  display:flex;align-items:center;gap:0.8rem;
  text-decoration:none;color:inherit;
  transition:all 0.2s;border:1px solid var(--border);
  background:var(--glass);
}
.quick-verdict:last-child{margin-bottom:0;}
.quick-verdict:hover{
  transform:translateX(5px);
  background:var(--glass-mid);
  border-color:rgba(6,182,212,0.2);
}
.quick-verdict.sail{border-left:3px solid var(--cyan);}
.quick-verdict.surf{border-left:3px solid var(--green);}
.quick-verdict.fish{border-left:3px solid var(--amber);}
.qv-icon{font-size:1.5rem;flex-shrink:0;}
.qv-body{flex:1;min-width:0;}
.qv-body .qv-title{font-size:0.85rem;font-weight:700;color:var(--text);}
.qv-body .qv-sum{font-size:0.75rem;color:var(--text-muted);margin-top:0.15rem;line-height:1.4;}
.qv-badge{margin-left:auto;flex-shrink:0;}
.qv-arrow{font-size:0.9rem;color:var(--text-dim);flex-shrink:0;}

/* ── GALLERY STRIP ─────────────────────────── */
.gallery-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0.6rem;margin-bottom:1.2rem;
}
.gallery-item{
  border-radius:var(--radius-sm);overflow:hidden;
  position:relative;height:130px;
  transition:transform 0.3s,box-shadow 0.3s;
  cursor:pointer;border:1px solid var(--border);
}
.gallery-item:hover{transform:scale(1.04);box-shadow:var(--glow-cyan);}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s;display:block;}
.gallery-item:hover img{transform:scale(1.09);}
.gallery-item .gal-label{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(8,15,26,0.9),transparent);
  color:white;font-size:0.66rem;font-weight:700;
  padding:0.5rem 0.6rem 0.4rem;
  text-transform:uppercase;letter-spacing:0.5px;
}

/* ── LIVE LINKS ─────────────────────────────── */
.live-links{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;}
.live-link{
  display:block;text-decoration:none;
  border-radius:12px;overflow:hidden;
  border:1px solid var(--border);
  transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;
}
.live-link:hover{
  transform:translateY(-4px);
  box-shadow:var(--glow-cyan);
  border-color:rgba(6,182,212,0.3);
}
.live-link-inner{
  padding:1.3rem;text-align:center;color:white;
  background:linear-gradient(135deg,rgba(6,182,212,0.15),rgba(2,132,199,0.15));
}
.live-link .ll-icon{font-size:2rem;margin-bottom:0.4rem;}
.live-link .ll-title{font-size:0.88rem;font-weight:700;color:var(--text);}
.live-link .ll-sub{font-size:0.7rem;opacity:0.6;margin-top:0.2rem;}
.live-link .ll-btn{
  display:inline-block;margin-top:0.7rem;
  background:rgba(6,182,212,0.2);
  padding:0.25rem 0.7rem;border-radius:20px;
  font-size:0.7rem;font-weight:600;
  border:1px solid rgba(6,182,212,0.3);
  color:var(--cyan-light);
}

/* ── TABLE SCROLL WRAPPER ───────────────────── */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);margin-bottom:0.5rem;}

/* ── TABLES ─────────────────────────────────── */
.info-table{width:100%;border-collapse:collapse;font-size:0.8rem;min-width:420px;}
.info-table th{
  background:var(--glass-mid);color:var(--text-dim);
  font-weight:700;padding:0.6rem 0.8rem;
  text-align:left;font-size:0.68rem;
  text-transform:uppercase;letter-spacing:0.5px;
  border-bottom:1px solid var(--border);
}
.info-table td{padding:0.55rem 0.8rem;border-bottom:1px solid var(--border);color:var(--text-muted);}
.info-table tr:last-child td{border-bottom:none;}
.info-table tbody tr:hover td{background:var(--glass);}

/* ── TAGS ──────────────────────────────────── */
.tags{display:flex;gap:0.4rem;flex-wrap:wrap;margin-top:0.6rem;}
.tag{
  background:var(--glass-mid);color:var(--text-dim);
  padding:0.2rem 0.65rem;border-radius:20px;
  font-size:0.7rem;font-weight:600;
  border:1px solid var(--border);
}
.tag.blue{background:var(--cyan-dim);color:var(--cyan-light);border-color:rgba(6,182,212,0.2);}
.tag.green{background:var(--green-dim);color:var(--green-light);border-color:rgba(16,185,129,0.2);}
.tag.amber{background:var(--amber-dim);color:var(--amber-light);border-color:rgba(245,158,11,0.2);}

/* ── SECTION DIVIDER ───────────────────────── */
.divider{display:flex;align-items:center;gap:1rem;margin:0.5rem 0 1.2rem;}
.divider-line{flex:1;height:1px;background:linear-gradient(to right,var(--border),transparent);}
.divider-line.right{background:linear-gradient(to left,var(--border),transparent);}
.divider-label{
  font-size:0.62rem;text-transform:uppercase;
  letter-spacing:2px;font-weight:700;color:var(--text-dim);
  white-space:nowrap;
}

/* ── SOURCES ────────────────────────────────── */
.sources{
  background:var(--glass);border-radius:var(--radius-sm);
  padding:1rem 1.2rem;margin-bottom:1.2rem;
  border:1px solid var(--border);
}
.sources h4{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-dim);margin-bottom:0.5rem;}
.src-list{display:flex;flex-wrap:wrap;gap:0.3rem 1rem;}
.src-list a{color:var(--cyan-light);text-decoration:none;font-size:0.75rem;}
.src-list a:hover{text-decoration:underline;}

/* ── FOOTER ─────────────────────────────────── */
footer,.site-footer{
  background:var(--surface);
  color:rgba(255,255,255,0.35);
  text-align:center;padding:2.5rem 1.5rem;
  font-size:0.75rem;
  border-top:1px solid var(--border);
}
footer a,.site-footer a{color:var(--cyan-light);text-decoration:none;}
footer a:hover,.site-footer a:hover{text-decoration:underline;}
footer .footer-links,.site-footer .footer-links{
  display:flex;justify-content:center;gap:1rem;
  margin-bottom:0.8rem;flex-wrap:wrap;
}
footer .footer-links a,.site-footer .footer-links a{color:rgba(255,255,255,0.5);font-weight:500;}

/* ── MULTI-DAY FORECAST ─────────────────────── */
.multi-day{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0.6rem;}
.day-card{
  background:var(--glass);border-radius:var(--radius-sm);
  padding:0.9rem 0.6rem;text-align:center;
  border:1px solid var(--border);
  transition:all 0.2s;
}
.day-card:hover{background:var(--glass-mid);border-color:rgba(6,182,212,0.2);box-shadow:var(--shadow-sm);}
.day-card .dc-day{font-size:0.63rem;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;color:var(--text-dim);}
.day-card .dc-icon{font-size:1.6rem;margin:0.3rem 0;}
.day-card .dc-temp,.day-card .dc-surf,.day-card .dc-text{font-size:0.95rem;font-weight:700;color:var(--text);}
.day-card .dc-wind,.day-card .dc-detail{font-size:0.68rem;color:var(--text-muted);margin-top:0.2rem;line-height:1.3;}
.day-card .dc-badge{margin-top:0.5rem;}

/* ── SPOT CARDS ─────────────────────────────── */
.spot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:0.7rem;margin-top:0.5rem;}
.spot-card{
  border-radius:var(--radius-sm);
  border:1px solid var(--border);background:var(--glass);
  padding:1rem;transition:all 0.2s;
}
.spot-card:hover{background:var(--glass-mid);box-shadow:var(--shadow);border-color:rgba(6,182,212,0.2);}
.spot-card h4{font-size:0.85rem;font-weight:700;color:var(--text);}
.spot-card .sc-type{font-size:0.68rem;color:var(--text-dim);font-weight:500;margin-top:0.1rem;}
.spot-card ul{list-style:none;margin-top:0.6rem;font-size:0.75rem;color:var(--text-muted);}
.spot-card ul li{padding:0.12rem 0;display:flex;gap:0.3rem;}
.spot-card .sc-badge{margin-top:0.5rem;}

/* ── BAIT CARDS ─────────────────────────────── */
.bait-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0.5rem;margin-top:0.5rem;}
.bait-card{
  background:var(--glass);border-radius:var(--radius-sm);
  padding:0.7rem;text-align:center;
  border:1px solid var(--border);transition:all 0.2s;
}
.bait-card:hover{background:var(--glass-mid);box-shadow:var(--shadow-sm);border-color:rgba(6,182,212,0.2);}
.bait-card .bc-icon{font-size:1.4rem;}
.bait-card .bc-name{font-size:0.75rem;font-weight:700;margin-top:0.3rem;color:var(--text);}
.bait-card .bc-target{font-size:0.63rem;color:var(--text-muted);margin-top:0.1rem;}

/* ── MARKS GRID ─────────────────────────────── */
.marks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:0.7rem;margin-top:0.5rem;}
.mark-card{
  border-radius:var(--radius-sm);border:1px solid var(--border);
  padding:1rem;background:var(--glass);transition:all 0.2s;
}
.mark-card:hover{background:var(--glass-mid);box-shadow:var(--shadow);border-color:rgba(6,182,212,0.2);}
.mark-card h4{font-size:0.85rem;font-weight:700;color:var(--text);}
.mark-card .mc-type{font-size:0.68rem;color:var(--text-dim);font-weight:500;}
.mark-card ul{list-style:none;margin-top:0.5rem;font-size:0.75rem;color:var(--text-muted);}
.mark-card ul li{padding:0.12rem 0;display:flex;gap:0.3rem;}

/* ── WETSUIT GUIDE ───────────────────────────── */
.wetsuit-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:0.4rem;margin-top:0.5rem;}
.wt-month{border-radius:8px;padding:0.5rem 0.3rem;text-align:center;font-size:0.68rem;border:1px solid var(--border);}
.wt-month .wm-name{font-weight:700;margin-bottom:0.2rem;font-size:0.7rem;}
.wt-month.cold{background:rgba(30,58,138,0.25);color:#93c5fd;border-color:rgba(59,130,246,0.2);}
.wt-month.cool{background:var(--green-dim);color:var(--green-light);border-color:rgba(16,185,129,0.2);}
.wt-month.warm{background:var(--amber-dim);color:var(--amber-light);border-color:rgba(245,158,11,0.2);}

/* ── CAL LEGEND ─────────────────────────────── */
.cal-legend{display:flex;gap:1rem;margin-top:0.5rem;flex-wrap:wrap;}
.cal-legend span{font-size:0.7rem;display:flex;align-items:center;gap:0.3rem;color:var(--text-muted);}

/* ── PULSE ANIMATION (live dot) ─────────────── */
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:0.5;transform:scale(0.85);}
}
.pulse{animation:pulse 2s ease-in-out infinite;}

/* ── FADE UP ────────────────────────────────── */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(18px);}
  to{opacity:1;transform:translateY(0);}
}
.fade-up{animation:fadeUp 0.5s ease forwards;}
.fade-up-1{animation-delay:0.1s;opacity:0;}
.fade-up-2{animation-delay:0.2s;opacity:0;}
.fade-up-3{animation-delay:0.3s;opacity:0;}

/* ═══════════════════════════════════════════════
   MOBILE — Hamburger Nav + Full Responsive
   ═══════════════════════════════════════════════ */
@media(max-width:768px){
  .nav-toggle{display:flex;align-items:center;}
  .nav-inner{flex-wrap:wrap;padding:0 1rem;position:relative;}
  .nav-brand{padding:0.85rem 1rem 0.85rem 0;flex:1;}
  .nav-links{
    display:none;flex-direction:column;
    position:absolute;top:100%;left:0;right:0;
    background:rgba(8,15,26,0.97);
    backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
    border-top:1px solid var(--border);
    padding:0.4rem 0 0.8rem;z-index:99;
    box-shadow:0 16px 40px rgba(0,0,0,0.5);
  }
  .nav-links.open{display:flex;}
  .nav-link{padding:0.8rem 1.4rem;font-size:0.88rem;border-bottom:none;border-left:3px solid transparent;width:100%;}
  .nav-link.active{border-left-color:var(--cyan);background:rgba(6,182,212,0.07);color:var(--cyan-light);}
  .nav-brand .brand-sub{display:none;}
  .hero{min-height:360px;}
  .hero-content{padding:2.5rem 1.2rem 2.2rem;}
  .hero-content h1{font-size:2.2rem;}
  .card{padding:1.2rem 1rem;}
  .page-cards{grid-template-columns:repeat(2,1fr);gap:0.7rem;}
  .page-card{min-height:160px;}
  .data-grid{grid-template-columns:1fr;}
  .live-links{grid-template-columns:1fr;}
  .stats-strip{grid-template-columns:repeat(3,1fr);}
  .gallery-strip{grid-template-columns:repeat(2,1fr);}
  .spot-grid{grid-template-columns:repeat(2,1fr);}
  .marks-grid{grid-template-columns:repeat(2,1fr);}
  .bait-grid{grid-template-columns:repeat(3,1fr);}
  .multi-day{grid-template-columns:repeat(3,1fr);}
  .wetsuit-guide{grid-template-columns:repeat(4,1fr);}
  .table-wrap,.info-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

@media(max-width:480px){
  .hero-content h1{font-size:1.8rem;}
  .page-cards{grid-template-columns:1fr;}
  .page-card{min-height:140px;}
  .stats-strip{grid-template-columns:repeat(2,1fr);}
  .spot-grid{grid-template-columns:1fr;}
  .marks-grid{grid-template-columns:1fr;}
  .multi-day{grid-template-columns:repeat(2,1fr);}
  .wetsuit-guide{grid-template-columns:repeat(3,1fr);}
  .card{padding:1rem 0.85rem;}
  #wtd-banner{flex-direction:column;text-align:center;gap:0.8rem;}
  #wtd-score-ring{align-self:center;}
}

body{overflow-x:hidden;}
img,svg,video,iframe{max-width:100%;}

/* ── FOOTER LEGAL LINKS ────────────────────────────── */
.footer-legal-links{
  display:flex;align-items:center;justify-content:center;
  gap:0.6rem;margin:0.6rem 0 0.3rem;
  font-size:0.78rem;
}
.footer-legal-links a{color:var(--cyan-light);text-decoration:none;opacity:0.7;transition:opacity 0.2s;}
.footer-legal-links a:hover{opacity:1;text-decoration:underline;}
.footer-legal-links span{opacity:0.3;}
