/* Showtime Lukas — The Clubhouse
   Dark, mature sports-bar look. Phone-first. No team/league branding anywhere. */
:root{
  --bg:#0c0e11;
  --bg2:#11141a;
  --panel:#161a21;
  --panel2:#1d222c;
  --line:#2a303c;
  --ink:#f3ecdd;
  --ink-dim:#b6ad9c;
  --ink-faint:#8b8474;
  --amber:#e3a63d;
  --amber-deep:#b97e1e;
  --felt:#1e4d3b;
  --felt-bright:#2e7d5b;
  --red:#c4553b;
  --radius:14px;
  --maxw:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--amber);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
h1,h2,h3{line-height:1.15;margin:0 0 .45em;font-weight:800;letter-spacing:.01em}
h1{font-size:2rem}
h2{font-size:1.45rem}
h3{font-size:1.08rem}
p{margin:0 0 .9em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}

/* ---------- header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(12,14,17,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 0 10px}
.wordmark{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.wordmark:hover{text-decoration:none}
.wordmark .wm-name{font-size:1.28rem;font-weight:900;letter-spacing:.06em;color:var(--ink);white-space:nowrap}
.wordmark .wm-name em{font-style:normal;color:var(--amber)}
.wordmark .wm-sub{font-size:.62rem;font-weight:700;letter-spacing:.34em;color:var(--ink-faint);margin-top:4px}
.main-nav{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto}
.main-nav a{
  color:var(--ink-dim);font-weight:600;font-size:.92rem;
  padding:8px 11px;border-radius:9px;text-decoration:none;
}
.main-nav a:hover{color:var(--ink);background:var(--panel2);text-decoration:none}
.main-nav a[aria-current="page"]{color:#14100a;background:var(--amber)}
.main-nav a.nav-house{border:1px solid var(--amber-deep);color:var(--amber)}
.main-nav a.nav-house[aria-current="page"]{color:#14100a}

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(900px 380px at 15% -60px, rgba(227,166,61,.16), transparent 60%),
    radial-gradient(700px 320px at 90% -40px, rgba(46,125,91,.20), transparent 60%),
    linear-gradient(180deg,var(--bg2),var(--bg));
  border-bottom:1px solid var(--line);
  padding:44px 0 38px;
}
.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.28em;color:var(--amber);text-transform:uppercase;margin-bottom:12px}
.hero h1{font-size:2.35rem;max-width:16em}
.hero .lede{font-size:1.13rem;color:var(--ink-dim);max-width:38em}
.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;background:var(--amber);color:#171207;font-weight:800;
  padding:12px 20px;border-radius:11px;border:0;cursor:pointer;font-size:1rem;text-decoration:none;
}
.btn:hover{background:#f0b654;text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--amber);color:var(--amber)}
.btn.small{padding:8px 14px;font-size:.9rem}

/* ---------- sections & cards ---------- */
.section{padding:38px 0 8px}
.section-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.section-head h2{margin:0}
.section-head .more{margin-left:auto;font-weight:700;font-size:.95rem}
.grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:680px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;
}
.card h3{margin-bottom:.35em}
.card p:last-child{margin-bottom:0}
.card .tag{
  display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--amber);border:1px solid var(--amber-deep);border-radius:999px;padding:3px 9px;margin-bottom:10px;
}
.card .tag.soon{color:var(--ink-dim);border-color:var(--line)}
.muted{color:var(--ink-dim)}
.small{font-size:.88rem}
.faint{color:var(--ink-faint)}

/* ---------- slate / rail ---------- */
.sample-banner{
  background:#2a2110;border:1px solid var(--amber-deep);color:#f5d9a0;
  border-radius:11px;padding:10px 14px;font-size:.9rem;font-weight:600;margin-bottom:14px;
}
.game{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;margin-bottom:12px;
}
.game-top{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:.82rem;color:var(--ink-faint);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.game-top .sport{color:var(--amber)}
.game-teams{font-size:1.12rem;font-weight:800;margin:6px 0 2px}
.game-meta{color:var(--ink-dim);font-size:.92rem;margin-bottom:10px}
.odds{display:flex;flex-wrap:wrap;gap:8px}
.odd{
  background:var(--panel2);border:1px solid var(--line);border-radius:9px;
  padding:6px 11px;font-size:.88rem;color:var(--ink-dim);
}
.odd b{color:var(--ink);font-variant-numeric:tabular-nums}
.disclosure{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--bg2);
  padding:16px 18px;font-size:.88rem;color:var(--ink-dim);margin:22px 0;
}
.disclosure b{color:var(--ink)}

/* ---------- board ---------- */
.thread{
  display:flex;gap:14px;align-items:flex-start;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:12px;
}
.thread .t-body{flex:1;min-width:0}
.thread .t-title{font-weight:800;font-size:1.05rem;color:var(--ink)}
.thread .t-meta{font-size:.85rem;color:var(--ink-faint)}
.thread .t-count{
  text-align:center;background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;padding:8px 10px;min-width:64px;
}
.thread .t-count b{display:block;font-size:1.05rem}
.thread .t-count span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}

/* ---------- lists ---------- */
.checklist{list-style:none;margin:0 0 1em;padding:0}
.checklist li{padding:7px 0 7px 28px;position:relative;border-bottom:1px solid var(--line)}
.checklist li:last-child{border-bottom:0}
.checklist li::before{content:"—";position:absolute;left:4px;color:var(--amber);font-weight:900}
.checklist li b{color:var(--ink)}

/* ---------- license helper mock ---------- */
.helper-mock{display:grid;gap:12px}
.helper-mock label{display:grid;gap:6px;font-weight:700;font-size:.92rem;color:var(--ink-dim)}
.helper-mock select{
  background:var(--panel2);border:1px solid var(--line);color:var(--ink-faint);
  border-radius:10px;padding:11px 12px;font-size:.95rem;width:100%;
}
.helper-mock .btn{justify-self:start;opacity:.65;cursor:not-allowed}

/* ---------- store ---------- */
.price{font-weight:900;font-size:1.15rem;color:var(--amber)}
.store-card .btn{margin-top:6px}

/* ---------- signup (sticky layer pattern) ---------- */
.signup-band{
  background:linear-gradient(180deg,var(--felt),#173d2e);
  border-top:1px solid var(--felt-bright);border-bottom:1px solid var(--felt-bright);
  padding:36px 0;margin-top:42px;
}
.signup-band h2{color:#fff}
.signup-band p{color:#cfe5d9;max-width:36em}
.sticky-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.sticky-form input[type="email"]{
  flex:1 1 240px;background:#0e241b;border:1px solid var(--felt-bright);color:#fff;
  border-radius:11px;padding:12px 14px;font-size:1rem;
}
.sticky-form input[type="email"]::placeholder{color:#8fb8a4}
.sticky-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sticky-msg{margin-top:12px;font-weight:700;color:#ffe9b0}

/* ---------- compare table ---------- */
.compare{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.compare th,.compare td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare th{background:var(--panel2);font-size:.95rem}
.compare td:first-child{font-weight:700}
.compare tr:last-child td{border-bottom:0}

/* ---------- assistant chat ---------- */
.chat-wrap{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;
}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{
  background:var(--panel2);color:var(--ink-dim);border:1px solid var(--line);
  border-radius:999px;padding:7px 13px;font-size:.86rem;font-weight:600;cursor:pointer;
  font-family:inherit;text-align:left;
}
.chip:hover{border-color:var(--amber);color:var(--ink)}
.chat-log{display:flex;flex-direction:column;gap:12px;max-height:560px;overflow-y:auto;padding:4px 2px}
.msg{max-width:92%}
.msg .msg-who{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}
.msg .msg-body{
  background:var(--bg2);border:1px solid var(--line);border-radius:12px;
  padding:11px 14px;font-size:.96rem;
}
.msg .msg-body p{margin:0 0 .6em}
.msg .msg-body p:last-child{margin-bottom:0}
.msg .msg-body ul{margin:0 0 .6em;padding-left:20px}
.msg .msg-body li{margin-bottom:.25em}
.msg .msg-body .msg-h{font-weight:800;color:var(--ink);margin-top:.4em}
.msg.si .msg-who{color:var(--amber)}
.msg.user{align-self:flex-end}
.msg.user .msg-who{text-align:right}
.msg.user .msg-body{background:var(--felt);border-color:var(--felt-bright);color:#eef6f1}
.chat-form{display:flex;gap:10px;margin-top:14px}
.chat-form input[type="text"]{
  flex:1 1 auto;min-width:0;background:var(--bg2);border:1px solid var(--line);color:var(--ink);
  border-radius:11px;padding:12px 14px;font-size:1rem;font-family:inherit;
}
.chat-form input[type="text"]::placeholder{color:var(--ink-faint)}
.chat-form .btn:disabled{opacity:.6;cursor:wait}

/* ---------- age gate (After Hours) ---------- */
.age-gate{
  border:1px solid var(--amber-deep);background:#221a0e;
  border-radius:var(--radius);padding:24px 22px;margin:6px 0 8px;
}
.age-gate h2{font-size:1.3rem}
.age-gate p{color:var(--ink-dim);max-width:40em}
.gate-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.wing-badge{
  display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:#171207;background:var(--amber);border-radius:999px;padding:4px 11px;margin-bottom:12px;
}

/* ---------- fishing locator ---------- */
.locator-tools{display:grid;gap:12px;margin-bottom:14px}
.locator-search{display:flex;gap:10px;flex-wrap:wrap}
.locator-search input[type="text"]{
  flex:1 1 260px;background:var(--panel);border:1px solid var(--line);color:var(--ink);
  border-radius:11px;padding:12px 14px;font-size:1rem;font-family:inherit;
}
.locator-search input[type="text"]::placeholder{color:var(--ink-faint)}
.locator-chips{display:flex;flex-wrap:wrap;gap:8px}
.chip.is-on{border-color:var(--amber);color:#14100a;background:var(--amber);font-weight:800}
#fish-map{height:440px;border:1px solid var(--line);border-radius:var(--radius);background:#0a0c0f;z-index:0}
@media(max-width:560px){#fish-map{height:340px}}
#fish-map .leaflet-popup-content{color:#141414;font-size:.92rem;line-height:1.45}
.spot-card .fees{border:1px solid var(--line);border-radius:10px;background:var(--bg2);padding:10px 13px;margin:0 0 10px}
.fee-row{display:flex;gap:10px;padding:5px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.fee-row:last-child{border-bottom:0}
.fee-row span{color:var(--ink-faint);font-weight:700;min-width:86px;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;padding-top:3px}
.fee-row b{color:var(--ink);font-weight:600}
.fee-row b.fee-na{color:var(--ink-dim);font-weight:600}
.spot-card .amen{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.spot-card .amen li{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.8rem;color:var(--ink-dim)}
.spot-card .lic{border-left:3px solid var(--felt-bright);background:var(--bg2);border-radius:0 10px 10px 0;padding:9px 13px;font-size:.9rem;color:var(--ink-dim);margin-bottom:6px}
.spot-card .lic b{color:var(--ink)}
.spot-card .lic-free{border-left-color:var(--amber)}
.spot-card .lic-free b{color:var(--amber)}

/* ---------- screening room canon ---------- */
.canon{margin:0;padding-left:22px}
.canon li{padding:6px 0;border-bottom:1px solid var(--line);color:var(--ink-dim);font-size:.95rem}
.canon li:last-child{border-bottom:0}
.canon li b{color:var(--ink)}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);background:var(--bg2);margin-top:48px;padding:30px 0 40px;font-size:.9rem;color:var(--ink-dim)}
.site-footer .f-nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:16px}
.site-footer .f-nav a{color:var(--ink-dim);font-weight:600}
.site-footer .guard{border-top:1px solid var(--line);padding-top:16px;color:var(--ink-faint);font-size:.84rem}
.site-footer .guard p{margin-bottom:.6em}

@media(max-width:560px){
  body{font-size:16px}
  .hero{padding:32px 0 28px}
  .hero h1{font-size:1.85rem}
  .header-inner{gap:8px}
  .wordmark .wm-name{font-size:1.02rem}
  .wordmark .wm-sub{letter-spacing:.24em}
  .main-nav{margin-left:0}
  .main-nav a{padding:7px 9px;font-size:.88rem}
  .thread{flex-direction:column}
  .thread .t-count{display:flex;gap:8px;align-items:baseline;min-width:0}
  .thread .t-count b{display:inline}
}
