/* =========================================================================
   SMG GUIDE-PAGE EDITORIAL RE-THEME  ·  /assets/smg-guide.css
   Load this AFTER a guide page's own inline <style> (i.e. right before </head>)
   plus /assets/smg.css. It overrides the shared guide-template classes (.hero,
   .card, .specs, .faq-item, .frankie-block, .newsletter-strip, .related, …)
   into the "print-zine" editorial world, so every guide page matches the
   homepage without rewriting each page's inline CSS. Class names are unchanged,
   so all per-page card/map/FAQ JS keeps working.
   ========================================================================= */

/* Page frame: content stays a readable single column; the shared nav + footer
   break out to full viewport width so they look identical to every other page. */
body { max-width: 760px !important; margin: 0 auto !important; background: var(--cream) !important; color: var(--ink) !important; padding-bottom: 0 !important; }
.nav, .footbar { width: 100vw; margin-left: calc(50% - 50vw); }
.nav-in, .footbar-in { max-width: 760px; }

/* ---------- HERO ---------- */
.hero { padding: 30px 16px 26px !important; border-bottom: 3px solid var(--ink) !important; }
.hero-eyebrow { font-family: 'Space Mono', monospace !important; font-size: 11px !important; letter-spacing: 2px !important; text-transform: uppercase; color: var(--coral) !important; font-weight: 700; margin-bottom: 12px !important;  display: none !important;}
.hero-eyebrow::after { background: var(--ink) !important; opacity: .18 !important; }
.hero h1 { font-family: 'Bebas Neue', sans-serif !important; letter-spacing: .5px !important; line-height: .92 !important; color: var(--ink) !important; }
.hero h1 span { color: var(--teal) !important; }
.hero-lede { font-style: normal !important; color: #333 !important; }
.meta-tag { font-family: 'Space Mono', monospace !important; font-size: 10px !important; text-transform: uppercase; letter-spacing: .5px; border-radius: 0 !important; background: var(--paper) !important; color: var(--ink) !important; border: 2px solid var(--ink) !important; }

/* ---------- MAP SECTION ---------- */
.map-section { padding: 22px 16px !important; border-bottom: 3px solid var(--ink) !important; }
.section-label { font-family: 'Space Mono', monospace !important; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink) !important; }
.map-expand-btn, .map-fullmap-link { font-family: 'Space Mono', monospace !important; text-transform: uppercase; letter-spacing: .8px; }
.map-expand-btn { border: 2px solid var(--ink) !important; border-radius: 0 !important; color: var(--ink) !important; background: var(--paper) !important; }
.map-expand-btn:hover { background: var(--ink) !important; color: var(--cream) !important; }
.map-fullmap-link { color: var(--teal) !important; }
#minimap { border-radius: 0 !important; border: 3px solid var(--ink) !important; }
#minimap.expanded { border-radius: 0 !important; }

/* ---------- REGION FILTERS ---------- */
.region-filters { padding: 20px 16px 0 !important; }
.rfbtn { font-family: 'Space Mono', monospace !important; font-size: 10px !important; text-transform: uppercase; letter-spacing: .8px; border-radius: 0 !important; border: 2px solid var(--ink) !important; background: var(--paper) !important; color: var(--ink) !important; min-height: 44px; }
.rfbtn:hover { background: var(--mustard) !important; border-color: var(--ink) !important; color: var(--ink) !important; }
.rfbtn.active { background: var(--teal) !important; color: #fff !important; border-color: var(--ink) !important; }

/* ---------- CARDS ---------- */
.cards-section { padding: 26px 16px !important; }
.cards-section > h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: 30px !important; letter-spacing: .5px; color: var(--ink) !important; }
.cards-section > p { font-style: normal !important; color: var(--gray) !important; }
.card { border: 3px solid var(--ink) !important; border-radius: 0 !important; background: var(--paper) !important; box-shadow: none !important; transition: background .12s !important; margin-bottom: 18px !important; }
.card:hover { box-shadow: none !important; background: #fff !important; }
.card-header { border-bottom: 2px solid var(--ink) !important; }
.card-num { font-family: 'Space Mono', monospace !important; color: var(--teal) !important; letter-spacing: 1px; }
.card-title { font-family: 'Bebas Neue', sans-serif !important; font-size: 27px !important; letter-spacing: .5px; color: var(--ink) !important; }
.card-location { font-family: 'Space Mono', monospace !important; color: var(--gray) !important; }
.free-badge { border-radius: 0 !important; border: 2px solid #2a7a6a !important; background: transparent !important; color: #2a7a6a !important; font-weight: 700; }
.cost-badge { border-radius: 0 !important; border: 2px solid #8a5a2a !important; background: transparent !important; color: #8a5a2a !important; }
.region-note { border-radius: 0 !important; font-family: 'Space Mono', monospace !important; letter-spacing: .5px; border: 2px solid currentColor; }
.card-take { border-radius: 0 !important; font-style: italic; background: var(--cream) !important; border-left: 4px solid var(--mustard) !important; color: #333 !important; }
.spec-label { font-family: 'Space Mono', monospace !important; color: var(--gray) !important; }
.card-ext-link { font-family: 'Space Mono', monospace !important; color: var(--teal) !important; }

/* Partner slot */
.partner-card { border-color: var(--mustard) !important; background: #fffdf8 !important; }
.partner-tag { border-radius: 0 !important; border: 2px solid var(--mustard) !important; background: transparent !important; color: #9a7a30 !important; font-family: 'Space Mono', monospace !important; }

/* ---------- FRANKIE BLOCK (dark, editorial) ---------- */
.frankie-block { border-radius: 0 !important; border: 3px solid var(--ink) !important; background: var(--ink) !important; margin: 28px 16px !important; }
.frankie-block h3 { font-family: 'Bebas Neue', sans-serif !important; letter-spacing: .5px; }
.frankie-block p strong { color: var(--mustard) !important; }
.btn-primary { border-radius: 0 !important; background: var(--coral) !important; color: #3a1a10 !important; font-family: 'Bebas Neue', sans-serif !important; letter-spacing: 1px; border: none !important; }
.btn-primary:hover { opacity: 1 !important; background: var(--mustard) !important; }
.btn-secondary { border-radius: 0 !important; border: 2px solid rgba(255,255,255,.3) !important; font-family: 'Space Mono', monospace !important; letter-spacing: .5px; }

/* ---------- NEWSLETTER STRIP ---------- */
.newsletter-strip { border-radius: 0 !important; border: 3px solid var(--ink) !important; background: var(--paper) !important; margin: 0 16px 28px !important; }
.newsletter-strip h4 { font-family: 'Bebas Neue', sans-serif !important; letter-spacing: .5px; }
.email-row input { border-radius: 0 !important; border: 2px solid var(--ink) !important; background: #fff !important; }
.email-row button { border-radius: 0 !important; background: var(--teal) !important; color: #fff !important; font-family: 'Bebas Neue', sans-serif !important; }

/* ---------- RELATED GRID ---------- */
.related { padding: 0 16px 28px !important; }
.related h4 { font-family: 'Bebas Neue', sans-serif !important; color: var(--ink) !important; border-bottom: 3px solid var(--ink) !important; }
.related-card { border-radius: 0 !important; border: 3px solid var(--ink) !important; background: var(--paper) !important; box-shadow: none !important; transition: background .12s !important; }
.related-card:hover { box-shadow: none !important; background: var(--mustard) !important; }
.related-title { font-family: 'Bebas Neue', sans-serif !important; letter-spacing: .3px; }
.related-sub { font-family: 'Space Mono', monospace !important; color: var(--gray) !important; }

/* ---------- FAQ ---------- */
.faq-section { padding: 28px 16px !important; border-top: 3px solid var(--ink) !important; }
.faq-heading { font-family: 'Bebas Neue', sans-serif !important; color: var(--ink) !important; }
details.faq-item { border-radius: 0 !important; border: 2px solid var(--ink) !important; margin-bottom: 10px !important; }
details.faq-item summary { font-family: 'DM Sans', sans-serif !important; background: var(--paper) !important; }
details.faq-item summary::after { color: var(--teal) !important; }
details.faq-item p { background: var(--cream) !important; }

/* ---------- TIP LINE + DISCLAIMER ---------- */
.tip-line { border-top: 2px solid var(--ink) !important; padding: 16px !important; }
.tip-line a { color: var(--teal) !important; }
.disclaimer-bar { border-top: 2px solid var(--ink) !important; font-family: 'Space Mono', monospace !important; color: var(--gray) !important; padding: 16px !important; max-width: 760px; }

/* Old teal centered footer, if any page still has <footer> below the shared one,
   is replaced in markup; nothing to do here. */

