/* Cars & Coffee Events — public site styles.
   Ported from the design mockups (visual source of truth). Mobile-first; ONE component set that
   reflows at the 900px breakpoint (handoff §3), not separate templates. Tokens from the mockup :root. */

:root{
  --char:#16181D; --char2:#1E2128; --ink:#12141A;
  --amber:#FFB020; --amber-deep:#8A5A00;
  --paper:#FBFAF7; --line:#E7E4DC; --steel:#5C6470; --steel-l:#8A929E; --ink-soft:#3A3F48;
  --amber-tint:#FFF3DD; --amber-tint-b:#F2D89B;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.4;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
svg.i{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.wrap{max-width:1180px;margin:0 auto;}
.hide-mobile{display:none;}

/* ===================== NAV / TOPBAR ===================== */
.nav{background:var(--char);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;}
.brand{display:flex;align-items:center;gap:8px;font:800 15px/1 inherit;letter-spacing:.2px;white-space:nowrap;}
.brand .mk{color:var(--amber);font-size:17px;}
.brand small{font:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;}
.navlinks{display:none;align-items:center;gap:26px;}
.navlinks a{color:#cfd3da;font:600 13.5px/1 inherit;}
.navlinks a.active{color:var(--amber);}
.navlinks a.navcta{color:#1a1300;}   /* amber button keeps dark text (beats the light nav-link color) */
.navcta{background:var(--amber);color:#1a1300;font:700 13px/1 inherit;padding:10px 16px;border-radius:9px;}
.iconbtn{width:34px;height:34px;border:none;background:#282b32;color:#fff;border-radius:9px;display:flex;align-items:center;justify-content:center;}
.iconbtn svg{width:18px;height:18px;stroke:#fff;}
.adfree-tag{background:var(--amber);color:#1a1300;font:700 10px/1 inherit;letter-spacing:1px;padding:5px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;}

/* ===================== FILTER BAR (list top) ===================== */
.filterbar{background:var(--char);padding:0 16px 16px;}
.searchbox{display:flex;align-items:center;gap:9px;background:#fff;border-radius:11px;padding:12px 14px;}
.searchbox svg{width:16px;height:16px;stroke:var(--amber-deep);flex:0 0 auto;}
.searchbox input{border:none;outline:none;font:500 15px/1 inherit;flex:1;min-width:0;color:var(--ink);background:none;}
.locrow{display:flex;gap:8px;}
.locctl{flex:1;display:flex;align-items:center;gap:9px;background:#fff;border-radius:11px;padding:12px 13px;min-width:0;cursor:pointer;}
.locctl svg{width:16px;height:16px;stroke:var(--amber-deep);flex:0 0 auto;}
.locctl .lt{flex:1;min-width:0;}
.locctl .lt .a{font:700 14px/1.1 inherit;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.locctl .lt .b{font:500 11px/1.1 inherit;color:var(--steel);margin-top:2px;}
.locctl .chev{color:var(--amber-deep);font-size:12px;}
.filterbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:#282b32;color:#fff;border:none;border-radius:11px;padding:13px 14px;font:700 13.5px/1 inherit;position:relative;cursor:pointer;}
.filterbtn svg{width:16px;height:16px;stroke:#fff;}
.filterbtn .dot{position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--amber);}
.dateseg{display:flex;gap:6px;margin-top:11px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.dateseg a{white-space:nowrap;font:600 12.5px/1 inherit;padding:9px 14px;border-radius:20px;background:#282b32;color:#cfd3da;border:1px solid #34383f;}
.dateseg a.on{background:var(--amber);color:#1a1300;border-color:var(--amber);}

/* geo results banner (below the filter bar) */
.geo-banner{background:var(--amber-tint);border-bottom:1px solid var(--amber-tint-b);padding:9px 16px;font:600 12.5px/1.4 inherit;color:#6b4a00;}
.geo-banner .wrap{max-width:1180px;margin:0 auto;}
.geo-banner svg{width:15px;height:15px;stroke:var(--amber-deep);flex:0 0 auto;}
.geo-banner .geo-clear{margin-left:auto;color:var(--amber-deep);font-weight:800;white-space:nowrap;}

/* location controls (rail + sheet) */
.loc-btn{display:inline-flex;align-items:center;gap:7px;width:100%;justify-content:center;background:var(--char);color:#fff;border:none;border-radius:9px;padding:11px 12px;font:700 13px/1 inherit;cursor:pointer;}
.loc-btn svg{width:15px;height:15px;stroke:var(--amber);}
.loc-btn:hover{background:#22252c;}
.loc-zip{display:flex;gap:6px;margin-top:9px;}
.loc-zip input{flex:1;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;font:500 14px/1 inherit;color:var(--ink);}
.loc-zip select{padding:10px 8px;border:1px solid var(--line);border-radius:9px;font:600 13px/1 inherit;background:#fff;}
.loc-zip button{padding:10px 14px;background:var(--amber);color:#1a1300;border:none;border-radius:9px;font:700 13px/1 inherit;cursor:pointer;}
.loc-clear{display:inline-block;margin-top:9px;color:var(--amber-deep);font:700 12.5px/1 inherit;}
.statesel{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font:600 13.5px/1 inherit;color:var(--ink);}

/* rail filter links (replacing radios) */
.rail .frow-link{display:block;padding:7px 0;font:500 13.5px/1.3 inherit;color:var(--ink-soft);}
.rail .frow-link.on{color:var(--amber-deep);font-weight:800;}
.rail .frow-link:hover{color:var(--amber-deep);}

/* soft location pre-prompt ring */
.lp-ring{width:64px;height:64px;border-radius:50%;background:var(--amber-tint);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.lp-ring svg{width:30px;height:30px;stroke:var(--amber-deep);}

/* location fallback banner */
.locbanner{display:flex;align-items:center;gap:10px;background:var(--amber-tint);border-bottom:1px solid var(--amber-tint-b);padding:11px 16px;}
.locbanner svg{width:17px;height:17px;stroke:var(--amber-deep);flex:0 0 auto;}
.locbanner .tx{flex:1;font:600 12px/1.4 inherit;color:#6b4a00;}
.locbanner .fix{font:700 11px/1 inherit;color:#1a1300;background:var(--amber);padding:8px 11px;border-radius:8px;white-space:nowrap;}

/* ===================== LAYOUT ZONES ===================== */
.listhead{padding:15px 16px 6px;display:flex;align-items:baseline;justify-content:space-between;}
.listhead h1,.listhead h2{font:800 17px/1.15 inherit;color:var(--ink);}
.listhead .sort{font:600 12.5px/1 inherit;color:var(--steel);}
.rail{display:none;}                 /* desktop filter rail — hidden on mobile (lives in the sheet) */
.rrail{display:none;}                 /* desktop right rail — hidden on mobile */
.center{padding:8px 12px 20px;}
.feed{display:flex;flex-direction:column;}

/* ===================== EVENT CARD ===================== */
.card{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:11px;position:relative;max-width:100%;}
/* min-height + padding (not a fixed height) so the day/month never clip on taller font metrics */
.datetag{flex:0 0 56px;min-height:66px;padding:7px 2px;border-radius:9px;background:var(--char);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;border:2px solid var(--amber);}
.datetag .dow{font:700 9.5px/1 inherit;letter-spacing:1.5px;color:var(--amber);}
.datetag .day{font:800 23px/1 inherit;margin:2px 0 1px;}
.datetag .mon{font:700 9.5px/1 inherit;letter-spacing:1.5px;color:#cfd3da;}
.cb{flex:1;min-width:0;}
.ctype{display:inline-block;font:700 9px/1 inherit;letter-spacing:1px;text-transform:uppercase;color:var(--amber-deep);background:var(--amber-tint);padding:4px 7px;border-radius:5px;margin-bottom:6px;}
.ctitle{font:800 15px/1.22 inherit;color:var(--ink);margin-bottom:6px;overflow-wrap:anywhere;}
.cmeta{font:500 12.5px/1.5 inherit;color:var(--steel);display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere;}
.cmeta .row{display:flex;align-items:center;gap:7px;}
.cmeta svg{width:13px;height:13px;stroke:var(--steel-l);flex:0 0 auto;}
.crecur{margin-top:7px;font:700 10.5px/1 inherit;color:var(--amber-deep);display:inline-flex;align-items:center;gap:5px;background:var(--amber-tint);padding:5px 8px;border-radius:6px;}
.crecur svg{width:12px;height:12px;stroke:var(--amber-deep);}
.cthumb{display:none;flex:0 0 92px;height:70px;border-radius:9px;background:linear-gradient(135deg,#22252c,#31353d);align-items:center;justify-content:center;color:#4a4f58;font:600 9px/1 inherit;overflow:hidden;}
.cthumb img{width:100%;height:100%;object-fit:cover;}
/* stretched link + heart-above-it (so the whole card navigates, but the ♡ stays clickable) */
.card-hit{position:absolute;inset:0;z-index:1;border-radius:14px;}
.fav{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:none;border:none;cursor:pointer;color:var(--steel-l);}
.fav:hover{background:var(--amber-tint);}
.fav svg{width:18px;height:18px;stroke:var(--steel-l);}
.fav.saved svg{stroke:var(--amber);fill:var(--amber);}

/* ===================== IN-FEED / RAIL / DETAIL AD ===================== */
.adbox{border:1px dashed #CFCABE;border-radius:12px;padding:14px;text-align:center;background:#F3F1EC;margin-bottom:11px;}
.adbox .lbl{font:700 9px/1 inherit;letter-spacing:1.5px;color:#A69F8D;text-transform:uppercase;margin-bottom:8px;}
.adbox .box{border-radius:8px;background:#E4E0D6;display:flex;align-items:center;justify-content:center;color:#B0A891;font:600 12px/1 inherit;}
.adbox.s-infeed .box{height:78px;}
.adbox.s-300x250 .box{height:250px;}
.adbox.s-728x90 .box{height:90px;}
/* real AdSense units + the new placements (3-unit rail, in-feed every 5) */
.adslot{display:block;width:100%;min-height:90px;margin-bottom:11px;}
.rail-ads{display:flex;flex-direction:column;align-items:center;gap:14px;}
.feed-ad{margin:2px 0 9px;}

/* owned house promotion filling an ad slot (spec §4.1) */
.housepromo{display:flex;flex-direction:column;justify-content:center;border:1px solid var(--amber-tint-b);border-radius:12px;padding:14px;background:var(--amber-tint);text-align:center;margin-bottom:11px;position:relative;color:var(--ink);overflow:hidden;}
.housepromo .hp-label{position:absolute;top:8px;right:10px;font:700 8px/1 inherit;letter-spacing:1px;text-transform:uppercase;color:var(--amber-deep);}
.housepromo img{width:100%;border-radius:8px;margin-bottom:8px;max-height:170px;object-fit:cover;}
.housepromo .hp-title{display:block;font:800 15px/1.25 inherit;color:var(--ink);}
.housepromo .hp-text{display:block;font:500 12.5px/1.45 inherit;color:var(--steel);margin-top:4px;}
.housepromo:hover{border-color:var(--amber);}
.housepromo.s-300x250{min-height:250px;}
.housepromo.s-infeed{min-height:78px;}
.housepromo.s-728x90{min-height:90px;}

/* upsell strip (non-subscriber, mobile list) */
.upsell{display:flex;align-items:center;gap:11px;background:var(--char);color:#fff;border-radius:12px;padding:13px 14px;margin:0 0 12px;}
.upsell .ic{color:var(--amber);font-size:20px;}
.upsell .tx{flex:1;font:600 12.5px/1.35 inherit;}
.upsell .tx b{color:var(--amber);}
.upsell .go{font:700 11px/1 inherit;background:var(--amber);color:#1a1300;padding:9px 12px;border-radius:8px;white-space:nowrap;}

/* ===================== MAP (Leaflet + OSM) ===================== */
.event-map{height:220px;border-radius:12px;overflow:hidden;margin-bottom:18px;border:1px solid var(--line);background:#e8eef2;}
.cac-map{background:#e8eef2;}
.cac-pin{background:none !important;border:none !important;}
.leaflet-container{font:inherit;}
.leaflet-popup-content{font:600 13px/1.35 inherit;}
.leaflet-popup-content a{color:var(--amber-deep);font-weight:700;text-decoration:none;}

/* ===================== SINGLE EVENT ===================== */
.single{display:block;}
.hero{position:relative;height:190px;overflow:hidden;background:linear-gradient(135deg,#22252c,#31353d);}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero .flyer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#4a4f58;font:700 12px/1.4 inherit;text-align:center;}
.hero .backb{position:absolute;top:12px;left:12px;z-index:3;width:40px;height:40px;border-radius:11px;background:rgba(0,0,0,.6);color:#fff;border:1.5px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.35);}
.hero .backb svg{width:22px;height:22px;stroke:#fff;stroke-width:2.4;}
.hero .type-badge{position:absolute;left:14px;bottom:14px;}
.flyercol{display:none;}
.detailcol{padding:18px 16px 8px;}
.type-badge{display:inline-block;font:700 10px/1 inherit;letter-spacing:1px;text-transform:uppercase;color:#1a1300;background:var(--amber);padding:6px 10px;border-radius:6px;}
.type-badge.desk-only{display:none;}   /* mobile shows the badge on the hero instead */
.backlink{display:inline-flex;align-items:center;gap:5px;color:var(--steel);font:700 12.5px/1 inherit;text-decoration:none;margin-bottom:12px;}
.backlink svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.4;}
.backlink:hover{color:var(--ink);}
.backlink.desk-only{display:none;}     /* mobile hero already carries a back control */
.detailcol h1{font:800 22px/1.18 inherit;color:var(--ink);margin:14px 0;}
.rule{height:3px;width:36px;background:var(--amber);border-radius:2px;margin:0 0 14px;}
.recur-banner{display:flex;align-items:center;gap:10px;background:var(--amber-tint);border:1px solid var(--amber-tint-b);border-radius:11px;padding:12px 14px;margin-bottom:16px;}
.recur-banner svg{width:19px;height:19px;stroke:var(--amber-deep);flex:0 0 auto;}
.recur-banner .tx{font:600 13px/1.4 inherit;color:#6b4a00;}
.recur-banner .tx b{font-weight:800;}

.facts{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:16px;}
.fact{display:flex;align-items:center;gap:13px;padding:13px 14px;border-bottom:1px solid var(--line);}
.fact:last-child{border-bottom:none;}
.fact .fic{flex:0 0 38px;height:38px;border-radius:9px;background:var(--char);display:flex;align-items:center;justify-content:center;}
.fact .fic svg{width:19px;height:19px;stroke:var(--amber);}
.fact .ft{flex:1;min-width:0;}
.fact .ft .k{font:700 10px/1 inherit;letter-spacing:1px;text-transform:uppercase;color:var(--steel-l);margin-bottom:3px;}
.fact .ft .v{font:600 14.5px/1.35 inherit;color:var(--ink);}
.fact .ft .v small{display:block;font:500 12.5px/1.3 inherit;color:var(--steel);margin-top:2px;}
.fact .go{color:var(--steel-l);font-size:15px;}

.actions{display:flex;gap:9px;margin-bottom:18px;}
.btn{flex:1;text-align:center;font:700 14px/1 inherit;padding:14px;border-radius:11px;border:none;cursor:pointer;}
.btn-primary{background:var(--amber);color:#1a1300;}
.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line);}
.sec-title{font:800 12px/1 inherit;letter-spacing:.5px;text-transform:uppercase;color:var(--steel);margin:4px 0 9px;}
.about{font:400 14.5px/1.6 inherit;color:var(--ink-soft);margin-bottom:18px;}
.social{display:flex;gap:9px;margin-bottom:16px;flex-wrap:wrap;}
.social a{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;border-radius:10px;background:var(--char);color:#fff;font:700 12.5px/1 inherit;}

/* ===================== MY EVENTS (account panel) ===================== */
.btn-sm{flex:0 0 auto;padding:8px 14px;font:700 12.5px/1 inherit;border-radius:9px;text-decoration:none;display:inline-block;}
.btn-danger{background:#fff;color:#b91c1c;border:1.5px solid #f0c2c2;}
.btn-danger:hover{background:#fef2f2;border-color:#e58f8f;}
.myev{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line);}
.myev:last-child{border-bottom:none;}
.myev-main{min-width:0;flex:1;}
.myev-title{font:800 15px/1.3 inherit;color:var(--ink);text-decoration:none;}
.myev-title:hover{color:var(--amber-deep);}
.myev-meta{margin-top:5px;font:600 12px/1.5 inherit;color:var(--steel);display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.myev-badge{font:800 10px/1 inherit;letter-spacing:.4px;text-transform:uppercase;padding:4px 8px;border-radius:6px;}
.myev-badge.s-published{background:#e7f6ec;color:#1a7a3f;}
.myev-badge.s-pending{background:var(--amber-tint);color:var(--amber-deep);}
.myev-badge.s-rejected{background:#f3e6e6;color:#8a1c1c;}
.myev-badge.s-cancelled{background:#eceae6;color:#6b675f;}
.myev-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto;}
.myev-actions form{margin:0;}
.myev.is-cancelled .myev-title{color:var(--steel);text-decoration:line-through;}

/* ===================== FILTER SHEET (mobile, no-JS checkbox toggle) ===================== */
.sheetwrap{position:fixed;inset:0;z-index:50;background:rgba(18,16,14,.5);display:none;align-items:flex-end;}
.sheet-toggle:checked ~ .sheetwrap{display:flex;}
/* position:relative + z-index lifts the sheet's tappable content ABOVE the full-screen
   backdrop <label> (the tap-to-close layer), which is absolutely positioned and would
   otherwise paint over the pills and swallow every tap. */
.sheet{position:relative;z-index:1;width:100%;background:var(--paper);border-radius:20px 20px 0 0;padding:8px 0 20px;max-height:92%;overflow-y:auto;}
.grab{width:40px;height:4px;border-radius:2px;background:#d8d3c8;margin:8px auto 6px;}
.sheethead{display:flex;align-items:center;justify-content:space-between;padding:8px 18px 12px;border-bottom:1px solid var(--line);}
.sheethead h2{font:800 17px/1 inherit;color:var(--ink);}
.sheethead .clear{font:700 12.5px/1 inherit;color:var(--amber-deep);}
.sgrp{padding:16px 18px;border-bottom:1px solid var(--line);}
.sgrp h3{font:800 11px/1 inherit;letter-spacing:1px;text-transform:uppercase;color:var(--steel);margin-bottom:12px;}
.pills{display:flex;flex-wrap:wrap;gap:8px;}
.pill{font:600 13px/1 inherit;padding:10px 14px;border-radius:22px;background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);cursor:pointer;}
.pill.on{background:var(--amber);border-color:var(--amber);color:#1a1300;font-weight:700;}
.togrow{display:flex;align-items:center;justify-content:space-between;padding:11px 0;}
.togrow .lab{font:600 14px/1 inherit;color:var(--ink);}
.tog{width:44px;height:26px;border-radius:14px;background:#d8d3c8;position:relative;flex:0 0 auto;}
.tog.on{background:var(--amber);}
.tog .k{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s;}
.tog.on .k{left:21px;}
.sheetfoot{padding:16px 18px 4px;}
.applybtn{width:100%;background:var(--amber);color:#1a1300;border:none;border-radius:12px;padding:15px;font:800 15px/1 inherit;cursor:pointer;}

/* ===================== LANDING PAGES ===================== */
.landing-hero{background:var(--char);color:#fff;padding:26px 16px 24px;}
.landing-hero .wrap{max-width:1180px;}
.landing-hero h1{font:800 24px/1.2 inherit;margin-bottom:10px;}
.landing-hero h1 :where(b){color:var(--amber);}
.landing-hero .lead{font:400 14.5px/1.6 inherit;color:#cfd3da;max-width:640px;}
.landing-hero .count{margin-top:14px;display:inline-block;font:700 12px/1 inherit;letter-spacing:.5px;text-transform:uppercase;color:#1a1300;background:var(--amber);padding:7px 12px;border-radius:20px;}
.landing-body{max-width:760px;margin:0 auto;padding:18px 12px 8px;}
.xrow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.xpill{font:600 12.5px/1 inherit;padding:9px 14px;border-radius:20px;background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);}
.xpill.on{background:var(--amber);border-color:var(--amber);color:#1a1300;font-weight:700;}
.xlinks{margin-top:24px;border-top:1px solid var(--line);padding-top:18px;}
.xlinks h3{font:800 11px/1 inherit;letter-spacing:1px;text-transform:uppercase;color:var(--steel);margin-bottom:14px;}
.xgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;}
.xgrid a{font:600 13.5px/1.3 inherit;color:var(--amber-deep);}
@media (min-width:700px){ .xgrid{grid-template-columns:repeat(4,1fr);} .landing-hero h1{font-size:30px;} }

/* ===================== ACCOUNT ===================== */
.account{max-width:1180px;margin:0 auto;padding:18px 12px 8px;}
/* Account tab nav */
.acct-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;}
.acct-tab{padding:9px 15px;font:700 13px/1 inherit;color:var(--steel);border-radius:20px;text-decoration:none;background:#f0eee8;border:1px solid transparent;white-space:nowrap;}
.acct-tab:hover{color:var(--ink);}
.acct-tab.on{background:var(--char);color:#fff;}
@media(max-width:640px){.acct-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;}}
.account .flash{background:var(--amber-tint);border:1px solid var(--amber-tint-b);color:#6b4a00;font:600 13px/1.4 inherit;padding:11px 14px;border-radius:10px;margin-bottom:16px;}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 16px;margin-bottom:16px;}
.panel .sec-title{margin-bottom:12px;}
.muted{color:var(--steel);font-size:13px;}
.member-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.mb{font:700 12px/1 inherit;padding:8px 12px;border-radius:20px;background:#F3F1EC;color:var(--steel);}
.mb.on{background:var(--amber);color:#1a1300;}
.ent-list{list-style:none;margin:6px 0;font:500 13.5px/1.7 inherit;color:var(--ink);}
.upgrade-note{margin-top:12px;background:var(--char);color:#cfd3da;border-radius:11px;padding:13px 15px;font:600 13px/1.5 inherit;}
.upgrade-note b{color:var(--amber);}
.loc-form{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;}
.loc-form label{display:flex;flex-direction:column;gap:5px;font:600 12px/1 inherit;color:var(--steel);}
.loc-form input{border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:500 15px/1 inherit;color:var(--ink);width:150px;}
.loc-form input:focus{outline:none;border-color:var(--amber);}
.loc-form em{color:#b91c1c;font:500 11px/1 inherit;font-style:normal;}
.loc-form .btn{flex:0 0 auto;padding:12px 22px;}
/* Payment methods */
.card-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px;}
.card-list li{font:600 14px/1.4 inherit;color:var(--ink);padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fdfcfa;}
.card-brand{font-weight:800;color:var(--char);}
/* Billing & shipping address form */
.addr-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:640px){.addr-cols{grid-template-columns:1fr;}}
.addr-col{border:1px solid var(--line);border-radius:12px;padding:14px;margin:0;background:#fdfcfa;}
.addr-col legend{font:800 11px/1 inherit;letter-spacing:.4px;text-transform:uppercase;color:var(--steel);padding:0 6px;}
.addr-form label{display:flex;flex-direction:column;gap:5px;font:600 11.5px/1 inherit;color:var(--steel);margin-bottom:11px;}
.addr-form input{border:1px solid var(--line);border-radius:9px;padding:10px 11px;font:500 14px/1.3 inherit;color:var(--ink);width:100%;background:#fff;}
.addr-form input:focus{outline:none;border-color:var(--amber);}
.addr-row{display:flex;gap:9px;}
.addr-row label{flex:1;} .addr-row label.sm{flex:0 0 64px;} .addr-form label.sm{max-width:120px;}
/* Coming-soon rows (classifieds) */
.soon-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.soon-badge{flex:0 0 auto;font:800 10px/1 inherit;letter-spacing:.5px;text-transform:uppercase;background:var(--amber-tint);color:var(--amber-deep);padding:7px 11px;border-radius:7px;}
.linkbtn{background:none;border:none;color:var(--amber-deep);font:700 13.5px/1 inherit;cursor:pointer;padding:0;}

/* ===================== ADD-EVENT BRANCH ===================== */
.branch-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.branch-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 22px;text-align:center;}
.branch-card:hover{border-color:var(--amber);}
.branch-card .bc-icon{width:52px;height:52px;border-radius:14px;background:var(--amber-tint);color:var(--amber-deep);font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.branch-card h2{font:800 19px/1.2 inherit;color:var(--ink);margin-bottom:8px;}
.branch-card p{font:400 14px/1.55 inherit;color:var(--steel);margin-bottom:16px;}
.branch-card .btn{display:inline-block;}
@media (min-width:640px){ .branch-grid{grid-template-columns:1fr 1fr;} }

/* ===================== SUBMIT FORM ===================== */
.submit-form .fld{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.submit-form .fld:last-child{margin-bottom:0;}
.submit-form .fld > span{font:700 12px/1.3 inherit;color:var(--ink);}
.submit-form .fld > span small{color:var(--steel);font-weight:500;}
.submit-form input,.submit-form textarea,.submit-form select{border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:500 15px/1.3 inherit;color:var(--ink);width:100%;background:#fff;}
.submit-form input:focus,.submit-form textarea:focus,.submit-form select:focus{outline:none;border-color:var(--amber);}
.submit-form em{color:#b91c1c;font:500 12px/1.3 inherit;font-style:normal;}
.submit-form .hint{color:var(--steel);font:500 11.5px/1.3 inherit;}
.row-flds{display:flex;gap:12px;flex-wrap:wrap;}
.row-flds .fld{flex:1;min-width:120px;}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;}
.chk{display:flex;align-items:center;gap:8px;font:500 13.5px/1.2 inherit;color:var(--ink-soft);}
.chk input{width:auto;}
@media (min-width:700px){ .check-grid{grid-template-columns:repeat(3,1fr);} }

/* ===================== PROMO POPUP (§4.3) ===================== */
.popup-wrap{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;}
/* class+attribute (0,2,0) beats .popup-wrap (0,1,0) so the [hidden] attribute actually hides it —
   otherwise display:flex overrides the UA [hidden]{display:none} and the delay/close break. */
.popup-wrap[hidden]{display:none;}
.popup-backdrop{position:absolute;inset:0;background:rgba(18,16,14,.55);}
.popup-card{position:relative;z-index:1;background:#fff;border-radius:16px;max-width:380px;width:100%;padding:24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.popup-card img{width:100%;border-radius:10px;margin-bottom:14px;max-height:180px;object-fit:cover;}
.popup-card h3{font:800 20px/1.25 inherit;color:var(--ink);margin-bottom:8px;}
.popup-card p{font:400 14.5px/1.55 inherit;color:var(--steel);margin-bottom:18px;}
.popup-cta{display:inline-block;background:var(--amber);color:#1a1300;font:700 14px/1 inherit;padding:13px 24px;border-radius:11px;}
.popup-x{position:absolute;top:8px;right:12px;background:none;border:none;font-size:26px;line-height:1;color:var(--steel-l);cursor:pointer;}
button.popup-cta{border:none;cursor:pointer;width:100%;}
/* email-signup popup layout */
.popup-email-form{display:flex;flex-direction:column;gap:9px;margin-top:4px;}
.popup-email-form input,.popup-email-form select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #D8D5CC;border-radius:10px;font:500 15px/1.4 inherit;background:#fff;color:var(--ink);}
.popup-email-form input:focus,.popup-email-form select:focus{outline:none;border-color:var(--amber-deep);box-shadow:0 0 0 3px rgba(255,176,32,.25);}
.popup-email-done{color:#1E7A3E;font:700 15px/1.5 inherit;padding:12px 0;}
/* promotion-image popup layout — the creative fills the card, minimal chrome */
.popup-wrap.layout-image .popup-card{padding:0;background:transparent;box-shadow:none;max-width:460px;}
.popup-img-link{display:block;}
.popup-img-link img{width:100%;height:auto;max-height:80vh;object-fit:contain;border-radius:14px;margin:0;display:block;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.popup-img-ph{display:flex;align-items:center;justify-content:center;min-height:220px;background:#22252c;color:#fff;border-radius:14px;font:700 15px/1.4 inherit;padding:20px;text-align:center;}
.popup-wrap.layout-image .popup-x{background:rgba(0,0,0,.55);color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;top:6px;right:6px;z-index:2;}

/* ===================== FOOTER ===================== */
.foot{background:var(--char);color:var(--steel-l);padding:32px 16px 26px;font:500 12px/1.6 inherit;}
.foot-inner{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center;}
.foot-brand{display:flex;align-items:center;gap:12px;text-align:left;}
.foot-brand img{width:56px;height:56px;flex:0 0 auto;}
.foot .up{color:var(--amber);font:800 15px/1.2 inherit;}
.foot .tag{color:var(--steel-l);font:500 12px/1.4 inherit;margin-top:3px;}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;}
.foot-links a{color:#cfd3da;font:600 12.5px/1 inherit;}
.foot-links a:hover{color:var(--amber);}
.foot-social{display:flex;gap:14px;justify-content:center;}
.foot-social a{color:#cfd3da;display:inline-flex;}
.foot-social a:hover{color:var(--amber);}
.foot-social svg{width:22px;height:22px;}
.foot-copy{color:var(--steel-l);font:500 11.5px/1.6 inherit;max-width:640px;}
@media (min-width:760px){
  .foot-inner{flex-direction:row;flex-wrap:wrap;justify-content:space-between;text-align:left;}
  .foot-copy{flex-basis:100%;text-align:center;border-top:1px solid #2a2d34;padding-top:16px;margin-top:2px;}
}

/* brand logo in nav */
.brand-logo{width:30px;height:30px;flex:0 0 auto;}

/* ===================== LEGAL / INFO PAGES ===================== */
.legal{max-width:1180px;margin:0 auto;padding:14px 14px 30px;}
.legal h2{font:800 18px/1.3 inherit;color:var(--ink);margin:22px 0 8px;}
.legal h3{font:700 15px/1.3 inherit;color:var(--ink);margin:16px 0 6px;}
.legal p{font:400 14.5px/1.65 inherit;color:var(--ink-soft);margin-bottom:12px;}
.legal ul,.legal ol{margin:0 0 12px 22px;}
.legal li{font:400 14.5px/1.6 inherit;color:var(--ink-soft);margin-bottom:6px;}
.legal a{color:var(--amber-deep);font-weight:700;}
.legal .updated{color:var(--steel);font-size:12.5px;margin-bottom:16px;}
.legal .qa{margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:14px;}
.legal .qa .q{font:700 15.5px/1.35 inherit;color:var(--ink);margin-bottom:5px;}
.legal .qa p{margin-bottom:0;}

/* ===================== PAGINATION ===================== */
.pager{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 0 4px;flex-wrap:wrap;}
.pager-btn{font:700 13px/1 inherit;padding:10px 16px;border-radius:10px;border:1.5px solid var(--line);background:#fff;color:var(--ink);}
.pager-btn.disabled{color:var(--steel-l);opacity:.5;}
.pager-info{font:600 12.5px/1 inherit;color:var(--steel);}

/* ===================== EMPTY STATE ===================== */
.empty{padding:48px 20px;text-align:center;color:var(--steel);font:500 14px/1.6 inherit;}

/* ===================== DESKTOP (≥900px) ===================== */
@media (min-width:900px){
  .hide-mobile{display:revert;}
  .only-mobile{display:none !important;}
  .sheetwrap{display:none !important;}   /* desktop uses the rail, never the sheet */
  .navlinks{display:flex;}
  .nav{padding:0 26px;height:64px;}
  .brand{font-size:19px;}
  .brand .mk{font-size:20px;}

  /* list top becomes a single charcoal bar with search + date segment inline */
  .filterbar{padding:0 26px 20px;display:flex;gap:14px;align-items:center;}
  .filterbar .searchbox{max-width:520px;flex:1;}
  .filterbar .dateseg{margin-top:0;}

  /* 3-zone grid */
  .listwrap{display:grid;grid-template-columns:236px minmax(0,1fr) 340px;max-width:1180px;margin:0 auto;}
  .listwrap.adfree,.listwrap.nomap{grid-template-columns:236px minmax(0,1fr) 340px;}
  .listwrap > *{min-width:0;}   /* let the center column shrink instead of pushing the right rail off-screen */
  .rail{display:block;padding:22px 20px;border-right:1px solid var(--line);}
  .rail h3{font:800 11px/1 inherit;letter-spacing:1px;text-transform:uppercase;color:var(--steel);margin:0 0 12px;}
  .rail .grp{margin-bottom:22px;}
  .rail .frow{display:flex;align-items:center;gap:9px;padding:7px 0;font:500 13.5px/1 inherit;color:var(--ink-soft);}
  .rail .frow .box{width:17px;height:17px;border-radius:5px;border:1.6px solid #cfc9bd;flex:0 0 auto;}
  .rail .frow .box.ck{background:var(--amber);border-color:var(--amber);}
  .center{padding:20px 22px;}
  .listhead{padding:0 0 14px;}
  .listhead h1,.listhead h2{font-size:19px;}
  .rrail{display:block;border-left:1px solid var(--line);padding:20px 18px;background:#fff;}
  .rrail h4{font:800 11px/1 inherit;letter-spacing:1px;text-transform:uppercase;color:var(--steel);margin:0 0 10px;}
  .map{height:220px;border-radius:12px;background:linear-gradient(135deg,#dfe3e8,#eef1f4);position:relative;overflow:hidden;margin-bottom:14px;border:1px solid var(--line);}
  .map.tall{height:300px;}
  .map .maplbl{position:absolute;left:12px;bottom:10px;font:700 10px/1 inherit;color:#5C6470;background:rgba(255,255,255,.85);padding:5px 8px;border-radius:6px;}
  .saved{display:flex;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font:600 12.5px/1.3 inherit;color:var(--ink);}
  .saved .sd{flex:0 0 34px;height:38px;border-radius:7px;background:var(--char);border:1.5px solid var(--amber);color:var(--amber);display:flex;flex-direction:column;align-items:center;justify-content:center;font:800 14px/1 inherit;}
  .saved .sd small{font:700 7px/1 inherit;color:#cfd3da;letter-spacing:1px;}

  /* flyer thumbnail on cards (desktop only, when an image exists) */
  .cthumb{display:flex;}
  .datetag{flex:0 0 62px;min-height:74px;}
  .datetag .day{font-size:26px;}
  .ctitle{font-size:16.5px;}
  .cmeta{flex-direction:row;flex-wrap:wrap;gap:3px 18px;}

  /* single event → 2-column, sticky portrait flyer (no crop) */
  .single{display:grid;grid-template-columns:400px 1fr;max-width:1180px;margin:0 auto;}
  .hero{display:none;}
  .flyercol{display:block;background:#22252c;padding:30px;position:sticky;top:0;align-self:start;}
  .flyerimg{width:100%;aspect-ratio:3/4;border-radius:12px;background:linear-gradient(160deg,#2c313a,#3a4049);display:flex;align-items:center;justify-content:center;color:#565c66;font:700 12px/1.5 inherit;text-align:center;border:1px solid #3a4049;overflow:hidden;}
  .flyerimg img{width:100%;height:100%;object-fit:contain;}
  .flyercol .tools{display:flex;gap:9px;margin-top:16px;}
  .flyercol .tool{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;background:#2c313a;color:#fff;border:none;border-radius:9px;padding:11px;font:700 12px/1 inherit;cursor:pointer;text-decoration:none;font-family:inherit;}
  .flyercol .tool:hover{background:#353b45;}
  .flyercol .tool.on{background:var(--amber);color:#1a1300;}
  .detailcol{padding:32px 34px;}
  .detailcol h1{font-size:30px;}
  .backlink.desk-only{display:inline-flex;}
  .type-badge.desk-only{display:inline-block;}
  .detailcol h1{margin-bottom:12px;}
  .facts{flex-direction:row;flex-wrap:wrap;border:none;border-radius:0;overflow:visible;gap:12px;}
  .facts .fact{flex:1 1 calc(50% - 6px);border:1px solid var(--line);border-radius:12px;}
  .actions{max-width:600px;}
  .about{max-width:600px;font-size:15px;line-height:1.65;}
  .social a{flex:0 0 auto;padding:11px 18px;}
  .adbox{max-width:600px;}
}
