/* ========================================================================
   The Fireside Grill — multi-theme stylesheet
   ────────────────────────────────────────────────────────────────────────
   Default (no data-theme): "original" — faithful clone of thefiresidegrillpdx.com
     Black bg, Shadows Into Light Two everywhere, salmon button, image-only hero
   data-theme="editorial"  — "The Beaverton Review" — restaurant magazine
     Newsprint cream, Fraunces display, Newsreader body, oxblood accent, drop caps
   data-theme="supper"     — "The Marquee" — drawn from the actual sign
     Dark navy bg, glowing amber Pacifico script, Source Serif 4 body
   ======================================================================== */

/* ---------- BASE TOKENS = "original" theme ---------- */
:root, body[data-theme="original"] {
    --bg:           #0a0a0a;
    --bg-elev:      #141414;
    --bg-deep:      #000000;
    --bg-section-light: #ffffff;
    --bg-section-light-ink: #1a1a1a;
    --ink:          #f6f3ee;
    --ink-mute:     #b8b3a9;
    --ink-dim:      #7a766d;
    --accent:       #e87d5a;
    --accent-bright:#ff9474;
    --rule:         rgba(246, 243, 238, 0.14);
    --rule-strong:  rgba(246, 243, 238, 0.30);

    --serif:  "Shadows Into Light Two", "Bradley Hand", "Comic Sans MS", cursive;
    --sans:   "Shadows Into Light Two", "Bradley Hand", cursive;
    --body-font: "Shadows Into Light Two", "Bradley Hand", cursive;

    --body-weight: 400;
    --body-size: 18px;
    --body-line: 1.5;
    --letter-tracking: 0.5px;
    --heading-letter: 1px;

    --container: 1180px;
    --container-narrow: 760px;

    --space-1:  0.25rem; --space-2: 0.5rem; --space-3: 0.75rem;
    --space-4:  1rem;    --space-5: 1.5rem; --space-6: 2rem;
    --space-7:  3rem;    --space-8: 4rem;   --space-9: 6rem;

    --hero-min: 78vh;
    --hero-overlay: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.4));
    --btn-radius: 24px;
}

/* ====================================================================== */
/* ============ "editorial" — The Beaverton Review magazine ============= */
/* ====================================================================== */
body[data-theme="editorial"] {
    --bg:           #f7f1e6;
    --bg-elev:      #ffffff;
    --bg-deep:      #1c1815;
    --bg-section-light: #ffffff;
    --bg-section-light-ink: #1a1614;
    --ink:          #1a1614;
    --ink-mute:     #6a6056;
    --ink-dim:      #9b9387;
    --accent:       #a83a24;
    --accent-bright:#c64530;
    --rule:         rgba(28, 24, 21, 0.10);
    --rule-strong:  rgba(28, 24, 21, 0.28);

    --serif:    "Fraunces", "Times New Roman", "Iowan Old Style", serif;
    --sans:     "Fraunces", "Times New Roman", serif;
    --body-font: "Newsreader", "Iowan Old Style", Georgia, serif;

    --body-weight: 400;
    --body-size: 18px;
    --body-line: 1.7;
    --letter-tracking: 0;
    --heading-letter: -0.025em;

    --hero-min: 70vh;
    --hero-overlay: linear-gradient(180deg, rgba(28,24,21,.20), rgba(28,24,21,.65));
    --btn-radius: 0;
}

/* ====================================================================== */
/* ============= "supper" — The Marquee — drawn from the actual sign ==== */
/* The Fireside Grill sign on SW Hall Blvd: glowing amber-orange         */
/* Pacifico-style script on a dark navy panel. The website becomes the   */
/* experience of standing outside the restaurant at dusk.                */
/* ====================================================================== */
body[data-theme="supper"] {
    --bg:           #14181f;
    --bg-elev:      #1c2129;
    --bg-deep:      #0a0d12;
    --bg-section-light: #1c2129;
    --bg-section-light-ink: #f5e9d4;
    --ink:          #f5e9d4;
    --ink-mute:     #b6a182;
    --ink-dim:      #6b5d4a;
    --accent:       #e8964a;
    --accent-bright:#f7b16a;
    --rule:         rgba(245, 233, 212, 0.10);
    --rule-strong:  rgba(245, 233, 212, 0.28);

    /* Supper-club extras */
    --supper-script: "Pacifico", "Lucida Handwriting", cursive;
    --supper-amber:  #e8964a;
    --supper-amber-deep: #d4651a;
    --supper-glow:   0 0 8px rgba(232,150,74,.55), 0 0 22px rgba(232,150,74,.35);

    --serif:    "Source Serif 4", "Iowan Old Style", Georgia, serif;
    --sans:     "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --body-font: "Source Serif 4", "Iowan Old Style", Georgia, serif;

    --body-weight: 400;
    --body-size: 17px;
    --body-line: 1.7;
    --letter-tracking: 0;
    --heading-letter: -0.01em;

    --hero-min: 78vh;
    --hero-overlay: linear-gradient(180deg, rgba(10,13,18,.40), rgba(10,13,18,.78));
    --btn-radius: 2px;
}

/* ====================================================================== */
/* ============================ BASE STYLES ============================= */
/* ====================================================================== */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--body-font);
    font-weight: var(--body-weight);
    font-size: var(--body-size);
    line-height: var(--body-line);
    letter-spacing: var(--letter-tracking);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; display: block; }

a {
    color: var(--accent-bright);
    text-decoration: none;
    transition: color .15s ease;
}
a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--serif);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: var(--heading-letter);
    margin: 0 0 var(--space-4);
    color: var(--ink);
}
h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin-top: var(--space-7); }
h3 { font-size: clamp(1.4rem, 2.5vw, 1.85rem); margin-top: var(--space-6); }
h4 { font-size: 1.25rem; margin-top: var(--space-5); }
h5, h6 {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-family: var(--sans);
    font-weight: 600;
    color: var(--accent);
    margin-top: var(--space-7);
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--rule);
}

p { margin: 0 0 var(--space-4); }
strong, b { font-weight: 600; color: var(--ink); }
em, i { color: var(--ink-mute); }
hr { border: 0; border-top: 1px solid var(--rule); margin: var(--space-7) 0; }

.container {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--space-5);
}

/* ============================ HEADER / NAV ============================ */

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--header-bg, #000);
    color: #f6f3ee;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.site-header .site-nav__link { color: rgba(246,243,238,0.78); }
.site-header .site-nav__link:hover { color: #fff; background: rgba(255,255,255,0.06); }
.site-header .site-nav__item.is-active .site-nav__link { color: var(--accent-bright); }
.site-header .nav-toggle span { background: #f6f3ee; }
.site-nav { background: #000 !important; }
.site-header__inner {
    max-width: var(--container);
    margin-inline: auto;
    padding: var(--space-4) var(--space-5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
}
.site-header__brand { display: inline-flex; }
.site-header__logo { height: 38px; width: auto; }

.nav-toggle {
    display: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: var(--space-2);
    width: 44px;
    height: 44px;
    flex-direction: column;
    justify-content: space-around;
}
.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--ink);
    transition: transform .2s ease, opacity .2s ease;
}

.site-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
}
.site-nav__link {
    display: inline-block;
    padding: var(--space-2) var(--space-3);
    color: var(--ink-mute);
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    border-radius: 4px;
    transition: color .15s ease, background .15s ease;
}
.site-nav__link:hover { color: var(--ink); background: rgba(255,255,255,0.04); text-decoration: none; }
.site-nav__item.is-active .site-nav__link { color: var(--accent); }

@media (max-width: 880px) {
    .nav-toggle { display: flex; }
    .site-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--bg-deep);
        border-bottom: 1px solid var(--rule);
        max-height: 0;
        overflow: hidden;
        transition: max-height .25s ease;
    }
    .site-nav.is-open { max-height: 80vh; }
    .site-nav__list {
        flex-direction: column;
        gap: 0;
        padding: var(--space-3) var(--space-5) var(--space-5);
    }
    .site-nav__link {
        display: block;
        padding: var(--space-3) var(--space-2);
        font-size: 1.05rem;
        border-bottom: 1px solid var(--rule);
        border-radius: 0;
    }
}

/* ================================ HERO ================================ */

.hero {
    min-height: var(--hero-min);
    background-size: cover;
    background-position: center 55%;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--space-9) var(--space-5);
    border-bottom: 1px solid var(--rule);
    position: relative;
}
.hero__inner { max-width: 820px; position: relative; }
/* Hero text always reads on a darkened photo bg — force light. */
.hero__title {
    font-size: clamp(3rem, 8vw, 6rem);
    margin: 0 0 var(--space-4);
    color: #fdf8ee;
    text-shadow: 0 2px 6px rgba(0,0,0,.65), 0 6px 30px rgba(0,0,0,.55);
}
.hero__tagline {
    font-family: var(--serif);
    font-style: italic;
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    color: #fdf8ee;
    opacity: 0.95;
    margin: 0 0 var(--space-7);
    text-shadow: 0 2px 6px rgba(0,0,0,.55), 0 2px 16px rgba(0,0,0,.5);
}
.hero__cta {
    display: flex;
    gap: var(--space-4);
    justify-content: center;
    flex-wrap: wrap;
}

/* ================================ BUTTONS ============================== */

.btn {
    display: inline-block;
    padding: 0.85rem 1.75rem;
    font-family: var(--sans);
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: var(--btn-radius);
    cursor: pointer;
    transition: transform .12s ease, background .15s ease, border-color .15s ease, color .15s ease;
    border: 1px solid transparent;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn--primary {
    background: var(--accent);
    color: var(--bg-deep);
    border-color: var(--accent);
}
.btn--primary:hover { background: var(--accent-bright); border-color: var(--accent-bright); color: var(--bg-deep); }
.btn--ghost {
    background: transparent;
    color: var(--ink);
    border-color: var(--rule-strong);
}
.btn--ghost:hover { background: rgba(255,255,255,0.06); border-color: var(--ink-mute); color: var(--ink); }

/* ============================ QUICKBAR (home) ========================== */

.quickbar {
    background: var(--bg-elev);
    border-bottom: 1px solid var(--rule);
}
.quickbar__inner {
    max-width: var(--container);
    margin-inline: auto;
    padding: var(--space-5) var(--space-5);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-5);
}
.quickbar__item { display: flex; flex-direction: column; gap: var(--space-1); }
.quickbar__label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--accent);
    font-weight: 600;
}
.quickbar__value { font-size: 1rem; color: var(--ink); }
@media (max-width: 720px) {
    .quickbar__inner { grid-template-columns: 1fr; gap: var(--space-4); }
}

/* ================================ PROSE ================================ */

.prose {
    max-width: var(--container-narrow);
    padding-block: var(--space-8);
}
.prose ul { padding-left: 1.4rem; }
.prose li { margin-bottom: var(--space-2); }
.prose img { margin: var(--space-5) auto; border-radius: 4px; }
.prose blockquote {
    border-left: 3px solid var(--accent);
    padding-left: var(--space-5);
    margin: var(--space-6) 0;
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.2rem;
    color: var(--ink-mute);
}
.prose table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-5) 0;
    font-size: 0.95rem;
}
.prose th, .prose td {
    text-align: left;
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--rule);
}
.prose th {
    color: var(--accent);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
}
.prose code {
    background: var(--bg-elev);
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    font-size: 0.9em;
}

/* ============================ TEASER GRID ============================== */

.teasers {
    background: var(--bg-deep);
    padding: var(--space-9) var(--space-5);
    border-top: 1px solid var(--rule);
}
.teasers__grid {
    max-width: var(--container);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-5);
}
.teaser {
    display: block;
    padding: var(--space-6);
    background: var(--bg-elev);
    border: 1px solid var(--rule);
    border-radius: 4px;
    color: var(--ink);
    transition: transform .15s ease, border-color .15s ease;
}
.teaser:hover {
    text-decoration: none;
    transform: translateY(-3px);
    border-color: var(--accent);
}
.teaser__title {
    margin: 0 0 var(--space-3);
    color: var(--accent);
    font-size: 1.6rem;
}
.teaser__copy { margin: 0; color: var(--ink-mute); font-size: 0.95rem; }

/* ============================ PAGE / ARTICLE =========================== */

.page-article {
    max-width: var(--container);
    margin-inline: auto;
    padding: var(--space-8) var(--space-5);
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: var(--space-7);
    align-items: start;
}
.page-article__header {
    grid-column: 1 / -1;
    border-bottom: 1px solid var(--rule);
    padding-bottom: var(--space-5);
    margin-bottom: var(--space-5);
}
.page-article__title { margin: 0 0 var(--space-3); }
.page-article__lead {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.3rem;
    color: var(--ink-mute);
    margin: 0;
}
.page-article__body { padding-block: 0; max-width: none; }
.page-article__sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}
@media (max-width: 880px) {
    .page-article { grid-template-columns: 1fr; }
    .page-article__sidebar { position: static; }
}

.info-card {
    background: var(--bg-elev);
    border: 1px solid var(--rule);
    border-radius: 4px;
    padding: var(--space-5);
}
.info-card h3 {
    margin: 0 0 var(--space-3);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--accent);
    font-family: var(--sans);
    font-weight: 600;
    border: 0;
    padding: 0;
}
.info-card address { font-style: normal; line-height: 1.7; }
.hours-list { list-style: none; margin: 0; padding: 0; }
.hours-list li {
    display: flex;
    justify-content: space-between;
    padding: 0.3rem 0;
    border-bottom: 1px dotted var(--rule);
    font-size: 0.95rem;
}
.hours-list li:last-child { border-bottom: 0; }
.hours-list li > span:first-child { color: var(--ink-mute); }

/* ============================ MENU ITEMS ============================== */

.page--menu .prose p,
.page--brunch .prose p,
.page--beer .prose p,
.page--cocktails .prose p,
.page--happy-hour .prose p {
    margin: 0 0 var(--space-3);
    padding-bottom: var(--space-3);
    border-bottom: 1px dotted var(--rule);
}
.page--menu .prose p:last-child,
.page--brunch .prose p:last-child {
    border-bottom: 0;
}

/* ============================ FOOTER =================================== */

.site-footer {
    background: var(--bg-deep);
    border-top: 1px solid var(--rule);
    padding: var(--space-8) var(--space-5) var(--space-5);
    color: var(--ink-mute);
    font-size: 0.92rem;
}
.site-footer__inner {
    max-width: var(--container);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
    padding-bottom: var(--space-6);
    border-bottom: 1px solid var(--rule);
}
.site-footer__col h3,
.site-footer__col h4 {
    font-family: var(--sans);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--accent);
    margin: 0 0 var(--space-3);
    border: 0;
    padding: 0;
}
.site-footer__title { font-family: var(--serif) !important; font-size: 1.5rem !important; text-transform: none !important; letter-spacing: var(--heading-letter) !important; color: var(--ink) !important; }
.site-footer__tag { font-style: italic; }
.site-footer__hours { list-style: none; margin: 0; padding: 0; }
.site-footer__hours li { display: flex; justify-content: space-between; padding: 0.2rem 0; }
.site-footer__hours li > span:first-child { color: var(--ink-mute); margin-right: var(--space-4); }
.site-footer address { font-style: normal; line-height: 1.7; }
.site-footer__bottom {
    max-width: var(--container);
    margin: var(--space-5) auto 0;
    text-align: center;
    font-size: 0.78rem;
    color: var(--ink-dim);
    letter-spacing: 0.05em;
}
.site-footer__bottom p { margin: 0; }
@media (max-width: 720px) {
    .site-footer__inner { grid-template-columns: 1fr; gap: var(--space-5); }
}

/* ============================ ACCESSIBILITY =========================== */

:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
    border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* ====================================================================== */
/* ====================================================================== */
/* ====      THEME-SPECIFIC LAYOUT OVERRIDES (originals)            ====== */
/* ====================================================================== */
/* ====================================================================== */

/* ====================================================================== */
/* === "original" theme: strip embellishments to mirror original site === */
/* Scope via :not(editorial):not(dive) so default-no-attr also gets it. ===*/
/* ====================================================================== */

body:not([data-theme="editorial"]):not([data-theme="supper"]) .hero__title,
body:not([data-theme="editorial"]):not([data-theme="supper"]) .hero__tagline,
body:not([data-theme="editorial"]):not([data-theme="supper"]) .hero__cta { display: none; }

body:not([data-theme="editorial"]):not([data-theme="supper"]) .hero {
    min-height: 60vh;
    border-bottom: 0;
}

body:not([data-theme="editorial"]):not([data-theme="supper"]) .quickbar,
body:not([data-theme="editorial"]):not([data-theme="supper"]) .teasers { display: none; }

body:not([data-theme="editorial"]):not([data-theme="supper"]) em,
body:not([data-theme="editorial"]):not([data-theme="supper"]) i {
    color: var(--ink-mute); font-style: normal;
}

body:not([data-theme="editorial"]):not([data-theme="supper"]) .info-card {
    background: transparent;
    border: 0;
    padding: 0;
}

body:not([data-theme="editorial"]):not([data-theme="supper"]) .btn--primary {
    background: var(--accent);
    color: #1a1a1a;
    border-radius: 24px;
    padding: 0.7rem 1.6rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 0.95rem;
}
body:not([data-theme="editorial"]):not([data-theme="supper"]) .btn--ghost {
    background: transparent;
    color: var(--ink);
    border: 1px solid var(--ink);
    border-radius: 24px;
    padding: 0.7rem 1.6rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 0.95rem;
}

body:not([data-theme="editorial"]):not([data-theme="supper"]) .prose {
    text-align: center;
    max-width: 800px;
    font-size: 19px;
}
body:not([data-theme="editorial"]):not([data-theme="supper"]) .page-article__body.prose {
    text-align: left;
}

body:not([data-theme="editorial"]):not([data-theme="supper"]) .site-header {
    border-bottom: 0;
    background: #000;
}

/* Original theme — inner pages WHITE like the original site */

body:not([data-theme="editorial"]):not([data-theme="supper"]).page {
    background: #fff;
    color: #101828;
}
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .page-article {
    grid-template-columns: 1fr;
    max-width: 800px;
    text-align: center;
}
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .page-article__sidebar { display: none; }
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .page-article__header {
    border-bottom: 0;
    text-align: center;
    padding-bottom: 0;
    margin-bottom: var(--space-3);
}
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .page-article__title {
    color: #101828;
    text-transform: uppercase;
    font-size: clamp(2rem, 4vw, 2.8rem);
    letter-spacing: 1px;
}
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .page-article__lead { display: none; }
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose {
    color: #101828;
    text-align: left;
    max-width: 720px;
    margin-inline: auto;
    padding-block: var(--space-6);
}
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose p,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose strong,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose b { color: #101828; }
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose strong,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose b { font-weight: 700; }
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose em,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose i { color: #667085; font-style: italic; }

body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose h2,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose h3,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose h4,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose h5,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .prose h6 {
    text-align: center;
    color: #101828;
    border-bottom: 0;
    text-transform: none;
    letter-spacing: 1px;
    font-family: var(--serif);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 400;
    font-style: italic;
    margin-top: var(--space-7);
    padding-bottom: 0;
}

body:not([data-theme="editorial"]):not([data-theme="supper"]).page--menu .prose p,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page--brunch .prose p,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page--beer .prose p,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page--cocktails .prose p,
body:not([data-theme="editorial"]):not([data-theme="supper"]).page--happy-hour .prose p {
    border-bottom-color: rgba(16, 24, 40, 0.10);
}

body:not([data-theme="editorial"]):not([data-theme="supper"]).page a { color: #c36; }
body:not([data-theme="editorial"]):not([data-theme="supper"]).page a:hover { color: #336; }

body:not([data-theme="editorial"]):not([data-theme="supper"]).page .site-footer {
    background: #000;
    color: #b8b3a9;
}
body:not([data-theme="editorial"]):not([data-theme="supper"]).page .site-footer__title { color: #f6f3ee !important; }

body:not([data-theme="editorial"]):not([data-theme="supper"]).page .menu-legend {
    text-align: center;
    color: #667085;
    font-style: italic;
    margin-top: var(--space-7);
}

/* ====================================================================== */
/* ====                                                              ==== */
/* ====     ✦ EDITORIAL ✦ — "The Beaverton Review" magazine          ==== */
/* ====                                                              ==== */
/* ====================================================================== */

body[data-theme="editorial"] {
    /* Subtle paper texture: vertical newsprint columns + grain */
    background-image:
        repeating-linear-gradient(180deg, transparent 0 39px, rgba(28,24,21,.012) 39px 40px),
        radial-gradient(circle at 12% 10%, rgba(168,58,36,.04), transparent 50%),
        radial-gradient(circle at 90% 80%, rgba(28,24,21,.04), transparent 50%);
    background-attachment: fixed;
}

body[data-theme="editorial"] h1,
body[data-theme="editorial"] h2,
body[data-theme="editorial"] h3,
body[data-theme="editorial"] h4 {
    font-weight: 600;
    font-variation-settings: "opsz" 144, "SOFT" 30, "WONK" 0;
}

body[data-theme="editorial"] strong,
body[data-theme="editorial"] b {
    font-weight: 600;
    color: var(--ink);
}

/* Editorial hero — magazine cover treatment */
body[data-theme="editorial"] .hero {
    border-bottom: 0;
}
body[data-theme="editorial"] .hero::before {
    content: "VOL. 1  ·  BEAVERTON, OREGON  ·  EST. 2009";
    position: absolute;
    top: var(--space-6);
    left: 0;
    right: 0;
    text-align: center;
    font-family: var(--body-font);
    font-size: 0.7rem;
    letter-spacing: 0.45em;
    color: rgba(253,248,238,.78);
    text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0,0,0,.6);
}
body[data-theme="editorial"] .hero::after {
    content: "";
    position: absolute;
    top: calc(var(--space-6) + 1.4rem);
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background: rgba(253,248,238,.55);
}
body[data-theme="editorial"] .hero__title {
    font-family: "Fraunces", serif;
    font-weight: 600;
    font-variation-settings: "opsz" 144, "SOFT" 100, "WONK" 1;
    font-size: clamp(3.4rem, 9vw, 7rem);
    letter-spacing: -0.04em;
    line-height: 0.95;
    margin-bottom: var(--space-5);
    color: #fdf8ee;
    text-shadow: 0 2px 6px rgba(0,0,0,.65), 0 6px 30px rgba(0,0,0,.55);
}
body[data-theme="editorial"] .hero__tagline {
    font-family: "Fraunces", serif;
    font-weight: 400;
    font-style: italic;
    font-variation-settings: "opsz" 14;
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    color: #fdf8ee;
    letter-spacing: 0.005em;
    max-width: 540px;
    margin-inline: auto;
    margin-bottom: var(--space-7);
}

/* Editorial buttons — sharp, no radius, magazine quote box */
body[data-theme="editorial"] .btn {
    font-family: var(--body-font);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.78rem;
    padding: 1rem 1.8rem;
    border-radius: 0;
}
body[data-theme="editorial"] .btn--primary {
    background: var(--accent);
    color: #fdf8ee;
    border-color: var(--accent);
}
body[data-theme="editorial"] .btn--ghost {
    background: rgba(253,248,238,.04);
    color: #fdf8ee;
    border: 1px solid rgba(253,248,238,.55);
}

/* Quickbar redesigned — magazine masthead-style strip with vertical rules */
body[data-theme="editorial"] .quickbar {
    background: var(--bg-deep);
    color: #fdf8ee;
    border-bottom: 1px solid rgba(253,248,238,.10);
    border-top: 0;
}
body[data-theme="editorial"] .quickbar__inner {
    padding: var(--space-6) var(--space-5);
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    gap: 0;
}
body[data-theme="editorial"] .quickbar__item {
    align-items: center;
    text-align: center;
    padding: 0 var(--space-5);
    border-left: 1px solid rgba(253,248,238,.18);
}
body[data-theme="editorial"] .quickbar__item:first-child {
    border-left: 0;
}
body[data-theme="editorial"] .quickbar__label {
    font-family: var(--body-font);
    font-size: 0.7rem;
    letter-spacing: 0.32em;
    color: rgba(253,248,238,.68);
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: var(--space-2);
}
body[data-theme="editorial"] .quickbar__value {
    font-family: "Fraunces", serif;
    font-weight: 500;
    font-variation-settings: "opsz" 24, "SOFT" 30;
    font-size: 1.1rem;
    color: #fdf8ee;
    line-height: 1.4;
}
@media (max-width: 720px) {
    body[data-theme="editorial"] .quickbar__inner {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    body[data-theme="editorial"] .quickbar__item {
        border-left: 0;
        border-top: 1px solid rgba(253,248,238,.18);
        padding-top: var(--space-4);
    }
    body[data-theme="editorial"] .quickbar__item:first-child {
        border-top: 0;
        padding-top: 0;
    }
}

/* Editorial prose — magazine reading column with drop cap */
body[data-theme="editorial"] .prose {
    max-width: 680px;
    margin-inline: auto;
    padding-block: var(--space-9);
    font-family: "Newsreader", Georgia, serif;
    font-size: 1.15rem;
    line-height: 1.75;
    color: var(--ink);
}
body[data-theme="editorial"] .prose h2 {
    font-family: "Fraunces", serif;
    font-weight: 600;
    font-variation-settings: "opsz" 144, "SOFT" 30;
    font-size: clamp(2.4rem, 5vw, 3.4rem);
    letter-spacing: -0.03em;
    margin-top: var(--space-9);
    margin-bottom: var(--space-5);
    text-align: center;
}
body[data-theme="editorial"] .prose h2::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background: var(--accent);
    margin: var(--space-4) auto 0;
}
body[data-theme="editorial"] .prose h3,
body[data-theme="editorial"] .prose h4 {
    font-family: "Fraunces", serif;
    font-weight: 500;
    text-align: center;
}
/* Drop cap on the FIRST paragraph after the FIRST h2 only.
   Use :first-of-type so it's just the very first about paragraph. */
body[data-theme="editorial"] .prose > h2:first-of-type + p::first-letter {
    font-family: "Fraunces", serif;
    font-weight: 600;
    font-size: 4.6rem;
    line-height: 0.85;
    float: left;
    margin: 0.18rem 0.55rem 0 0;
    color: var(--accent);
    font-variation-settings: "opsz" 144, "SOFT" 100, "WONK" 1;
}

/* About-us body section needs full-width column treatment */
body[data-theme="editorial"] em,
body[data-theme="editorial"] i {
    font-style: italic;
    color: var(--ink-mute);
}

/* Editorial teasers — magazine front-of-book card grid */
body[data-theme="editorial"] .teasers {
    background: var(--bg);
    border-top: 1px solid var(--rule);
    padding: var(--space-9) var(--space-5);
}
body[data-theme="editorial"] .teasers::before {
    content: "From the Menu";
    display: block;
    text-align: center;
    font-family: var(--body-font);
    font-size: 0.72rem;
    letter-spacing: 0.45em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: var(--space-2);
}
body[data-theme="editorial"] .teasers::after {
    content: "";
    display: block;
    width: 32px;
    height: 1px;
    background: var(--accent);
    margin: 0 auto var(--space-7);
}
body[data-theme="editorial"] .teaser {
    background: var(--bg-elev);
    border: 0;
    border-top: 3px solid var(--accent);
    border-radius: 0;
    padding: var(--space-6) var(--space-5) var(--space-6);
    transition: transform .18s ease, box-shadow .18s ease;
}
body[data-theme="editorial"] .teaser:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(28,24,21,.08);
    border-top-color: var(--accent);
}
body[data-theme="editorial"] .teaser__title {
    font-family: "Fraunces", serif;
    font-weight: 600;
    font-variation-settings: "opsz" 24, "SOFT" 30;
    color: var(--ink);
    font-size: 1.7rem;
    margin: 0 0 var(--space-3);
    letter-spacing: -0.015em;
}
body[data-theme="editorial"] .teaser__copy {
    font-family: "Newsreader", serif;
    color: var(--ink-mute);
    font-size: 1rem;
    line-height: 1.55;
}

/* Editorial inner pages — clean magazine spread */
body[data-theme="editorial"].page {
    background: var(--bg);
    color: var(--ink);
}
body[data-theme="editorial"].page .page-article {
    grid-template-columns: 1fr;
    max-width: 720px;
    padding-top: var(--space-8);
}
body[data-theme="editorial"].page .page-article__sidebar { display: none; }
body[data-theme="editorial"].page .page-article__header {
    border-bottom: 0;
    text-align: center;
    padding-bottom: 0;
    margin-bottom: var(--space-3);
}
body[data-theme="editorial"].page .page-article__title {
    font-family: "Fraunces", serif;
    font-weight: 600;
    font-variation-settings: "opsz" 144, "SOFT" 100, "WONK" 1;
    font-size: clamp(2.6rem, 6vw, 4.2rem);
    letter-spacing: -0.035em;
    color: var(--ink);
    margin-bottom: var(--space-3);
}
body[data-theme="editorial"].page .page-article__title::before {
    content: "—";
    display: block;
    color: var(--accent);
    font-size: 1rem;
    margin-bottom: var(--space-3);
    letter-spacing: 0;
    font-family: var(--body-font);
}
body[data-theme="editorial"].page .page-article__lead {
    font-family: "Newsreader", serif;
    font-style: italic;
    font-size: 1.15rem;
    color: var(--ink-mute);
    margin: 0 auto;
    max-width: 480px;
    text-align: center;
}
body[data-theme="editorial"].page .prose {
    text-align: left;
    max-width: 680px;
}
body[data-theme="editorial"].page .prose h2,
body[data-theme="editorial"].page .prose h3,
body[data-theme="editorial"].page .prose h4,
body[data-theme="editorial"].page .prose h5,
body[data-theme="editorial"].page .prose h6 {
    font-family: "Fraunces", serif;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.32em;
    font-size: 0.78rem;
    color: var(--accent);
    border-bottom: 0;
    margin-top: var(--space-9);
    padding-bottom: 0;
}
body[data-theme="editorial"].page .prose h2::before,
body[data-theme="editorial"].page .prose h3::before {
    content: "✦";
    display: block;
    color: var(--accent);
    margin-bottom: var(--space-3);
    font-size: 0.9rem;
    letter-spacing: 0;
}

body[data-theme="editorial"] .page--menu .prose p,
body[data-theme="editorial"] .page--brunch .prose p,
body[data-theme="editorial"] .page--beer .prose p,
body[data-theme="editorial"] .page--cocktails .prose p,
body[data-theme="editorial"] .page--happy-hour .prose p,
body[data-theme="editorial"].page--menu .prose p,
body[data-theme="editorial"].page--brunch .prose p,
body[data-theme="editorial"].page--beer .prose p,
body[data-theme="editorial"].page--cocktails .prose p,
body[data-theme="editorial"].page--happy-hour .prose p {
    border-bottom: 1px solid rgba(28,24,21,.08);
    padding-bottom: var(--space-4);
    margin-bottom: var(--space-4);
}

body[data-theme="editorial"].page .info-card {
    background: var(--bg-elev);
    border: 0;
    border-top: 3px solid var(--accent);
    border-radius: 0;
    padding: var(--space-5);
}
body[data-theme="editorial"].page .info-card h3 {
    font-family: var(--body-font);
    color: var(--accent);
    letter-spacing: 0.32em;
    font-size: 0.7rem;
}

body[data-theme="editorial"].page a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
body[data-theme="editorial"].page a:hover { color: var(--accent-bright); }

body[data-theme="editorial"] .site-footer {
    background: var(--bg-deep);
    color: rgba(253,248,238,.65);
    padding-top: var(--space-9);
}
body[data-theme="editorial"] .site-footer__title {
    font-family: "Fraunces" !important;
    font-weight: 600 !important;
    font-variation-settings: "opsz" 144, "SOFT" 100, "WONK" 1;
    color: #fdf8ee !important;
    font-size: 1.85rem !important;
    letter-spacing: -0.02em !important;
}
body[data-theme="editorial"] .site-footer__col h3,
body[data-theme="editorial"] .site-footer__col h4 {
    font-family: var(--body-font);
    color: rgba(253,248,238,.55);
    letter-spacing: 0.32em;
    font-size: 0.7rem;
}
body[data-theme="editorial"] .site-footer__bottom {
    color: rgba(253,248,238,.4);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.65rem;
}
body[data-theme="editorial"] .site-footer a { color: rgba(253,248,238,.85); }

/* ====================================================================== */
/* ====                                                              ==== */
/* ====    ✦ SUPPER ✦ — "The Marquee" supper-club neighborhood      ==== */
/* ====                                                              ==== */
/* ====================================================================== */

body[data-theme="supper"] {
    /* Subtle warm bar-light atmosphere: amber pools at corners */
    background-image:
        radial-gradient(ellipse at 15% 0%, rgba(232,150,74,.08), transparent 45%),
        radial-gradient(ellipse at 85% 100%, rgba(212,101,26,.06), transparent 55%);
    background-attachment: fixed;
}

body[data-theme="supper"] strong,
body[data-theme="supper"] b {
    color: var(--accent);
    font-weight: 600;
}

body[data-theme="supper"] em,
body[data-theme="supper"] i {
    color: var(--ink-mute);
    font-style: italic;
}

/* Supper hero — the actual marquee sign, glowing on dark */
body[data-theme="supper"] .hero { border-bottom: 0; }
body[data-theme="supper"] .hero::before {
    content: "★  SINCE 2009  ★  BEAVERTON, OREGON  ★  8136 SW HALL BLVD  ★";
    position: absolute;
    top: var(--space-5);
    left: 0;
    right: 0;
    text-align: center;
    font-family: "Karla", sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.42em;
    color: rgba(245,233,212,.78);
    text-transform: uppercase;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0,0,0,.85);
}
/* The Pacifico wordmark — glowing amber, just like the actual sign */
body[data-theme="supper"] .hero__title {
    font-family: "Pacifico", "Lucida Handwriting", cursive;
    font-weight: 400;
    font-size: clamp(3.6rem, 10vw, 7.5rem);
    line-height: 1.0;
    letter-spacing: 0;
    color: #f7b16a;
    text-shadow:
        0 1px 0 rgba(0,0,0,.4),
        0 0 12px rgba(232,150,74,.55),
        0 0 32px rgba(232,150,74,.45),
        0 0 70px rgba(212,101,26,.35);
    margin-bottom: var(--space-4);
    transform: rotate(-3deg);
    padding: 0 var(--space-4);
}
body[data-theme="supper"] .hero__tagline {
    font-family: "Karla", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: clamp(0.85rem, 1.3vw, 1rem);
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(245,233,212,.92);
    text-shadow: 0 1px 4px rgba(0,0,0,.7);
    margin-bottom: var(--space-7);
    margin-top: var(--space-4);
}
/* Decorative stars around the CTAs, bar-sign feel */
body[data-theme="supper"] .hero__cta::before,
body[data-theme="supper"] .hero__cta::after {
    content: "★";
    color: var(--accent);
    font-size: 0.95rem;
    align-self: center;
    text-shadow: var(--supper-glow);
}

/* Supper buttons — bar plaque, amber on dark */
body[data-theme="supper"] .btn {
    font-family: "Karla", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    font-size: 0.78rem;
    padding: 0.95rem 1.8rem;
    border-radius: 2px;
    border: 1px solid currentColor;
    transition: all .18s ease;
}
body[data-theme="supper"] .btn--primary {
    color: #1a0e0a;
    background: var(--accent);
    border-color: var(--accent);
    box-shadow: 0 4px 18px rgba(232,150,74,.45), 0 0 0 1px rgba(0,0,0,.15);
}
body[data-theme="supper"] .btn--primary:hover {
    background: var(--accent-bright);
    border-color: var(--accent-bright);
    box-shadow: 0 6px 28px rgba(232,150,74,.65);
    color: #1a0e0a;
    transform: translateY(-2px);
}
body[data-theme="supper"] .btn--ghost {
    color: #f5e9d4;
    background: transparent;
    border-color: rgba(245,233,212,.55);
    text-shadow: 0 1px 3px rgba(0,0,0,.55);
}
body[data-theme="supper"] .btn--ghost:hover {
    background: rgba(245,233,212,.08);
    border-color: var(--accent);
    color: var(--accent-bright);
    transform: translateY(-2px);
}

/* Supper quickbar — bar booth strip, double-rule top and bottom */
body[data-theme="supper"] .quickbar {
    background: var(--bg-elev);
    border-top: 4px double var(--accent);
    border-bottom: 4px double var(--accent);
    padding-block: var(--space-2);
}
body[data-theme="supper"] .quickbar__inner {
    padding: var(--space-6) var(--space-5);
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0;
}
body[data-theme="supper"] .quickbar__item {
    text-align: center;
    align-items: center;
    padding: 0 var(--space-5);
    border-left: 1px solid rgba(232,150,74,.22);
}
body[data-theme="supper"] .quickbar__item:first-child { border-left: 0; }
body[data-theme="supper"] .quickbar__label {
    font-family: "Karla", sans-serif;
    font-size: 0.68rem;
    letter-spacing: 0.32em;
    color: var(--accent);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: var(--space-2);
    text-shadow: 0 0 12px rgba(232,150,74,.35);
}
body[data-theme="supper"] .quickbar__value {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.1rem;
    color: var(--ink);
    line-height: 1.4;
}
body[data-theme="supper"] .quickbar__value a {
    color: var(--accent);
    font-weight: 600;
}
body[data-theme="supper"] .quickbar__value a:hover {
    color: var(--accent-bright);
    text-shadow: var(--supper-glow);
}
@media (max-width: 720px) {
    body[data-theme="supper"] .quickbar__inner {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    body[data-theme="supper"] .quickbar__item {
        border-left: 0;
        border-top: 1px solid rgba(232,150,74,.22);
        padding-top: var(--space-4);
    }
    body[data-theme="supper"] .quickbar__item:first-child {
        border-top: 0;
        padding-top: 0;
    }
}

/* Supper prose — warm reading column with script section heads */
body[data-theme="supper"] .prose {
    max-width: 700px;
    margin-inline: auto;
    font-family: "Source Serif 4", Georgia, serif;
    color: var(--ink);
    font-size: 1.08rem;
    line-height: 1.75;
}
body[data-theme="supper"] .prose h2 {
    font-family: "Pacifico", cursive;
    font-weight: 400;
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    color: var(--accent);
    text-align: center;
    margin-top: var(--space-9);
    margin-bottom: var(--space-5);
    letter-spacing: 0;
    text-transform: none;
    text-shadow: var(--supper-glow);
    transform: rotate(-1deg);
}
body[data-theme="supper"] .prose h2::after {
    content: "★ ★ ★";
    display: block;
    color: var(--accent);
    font-family: "Karla", sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.5em;
    margin-top: var(--space-3);
    text-shadow: none;
    transform: rotate(1deg);
}
body[data-theme="supper"] .prose h3,
body[data-theme="supper"] .prose h4 {
    font-family: "Pacifico", cursive;
    font-weight: 400;
    text-align: center;
    color: var(--accent);
    text-shadow: var(--supper-glow);
}

/* Supper teasers — bar tab cards */
body[data-theme="supper"] .teasers {
    background: var(--bg-deep);
    border-top: 1px solid rgba(232,150,74,.22);
    padding: var(--space-9) var(--space-5);
}
body[data-theme="supper"] .teasers::before {
    content: "★  TONIGHT'S OFFERINGS  ★";
    display: block;
    text-align: center;
    font-family: "Karla", sans-serif;
    font-size: 0.74rem;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: var(--accent);
    text-shadow: var(--supper-glow);
    margin-bottom: var(--space-7);
    font-weight: 600;
}
body[data-theme="supper"] .teaser {
    background: var(--bg-elev);
    border: 1px solid rgba(232,150,74,.30);
    border-radius: 2px;
    transition: all .2s ease;
    position: relative;
}
body[data-theme="supper"] .teaser::before {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(232,150,74,.15);
    pointer-events: none;
}
body[data-theme="supper"] .teaser:hover {
    transform: translateY(-3px);
    border-color: var(--accent);
    box-shadow: 0 12px 36px rgba(232,150,74,.18), 0 0 0 1px rgba(232,150,74,.4);
}
body[data-theme="supper"] .teaser__title {
    font-family: "Pacifico", cursive;
    font-weight: 400;
    color: var(--accent);
    text-shadow: var(--supper-glow);
    font-size: 1.85rem;
    text-transform: none;
    letter-spacing: 0;
}
body[data-theme="supper"] .teaser__copy {
    font-family: "Source Serif 4", Georgia, serif;
    color: var(--ink-mute);
    font-size: 1rem;
    line-height: 1.55;
}

/* Supper inner pages — dark with warm amber accents */
body[data-theme="supper"].page {
    background: var(--bg);
    color: var(--ink);
}
body[data-theme="supper"].page .page-article {
    grid-template-columns: 1fr 280px;
}
body[data-theme="supper"].page .page-article__header {
    border-bottom: 4px double var(--accent);
    text-align: center;
    padding-bottom: var(--space-6);
}
body[data-theme="supper"].page .page-article__title {
    font-family: "Pacifico", cursive;
    font-weight: 400;
    color: var(--accent);
    text-shadow: var(--supper-glow);
    font-size: clamp(3rem, 7vw, 5rem);
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: var(--space-3);
    transform: rotate(-2deg);
}
body[data-theme="supper"].page .page-article__lead {
    font-family: "Karla", sans-serif;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.32em;
    color: var(--ink-mute);
    font-size: 0.78rem;
    text-align: center;
    margin: 0 auto;
    font-weight: 500;
}
body[data-theme="supper"].page .prose {
    text-align: left;
}
body[data-theme="supper"].page .prose h2,
body[data-theme="supper"].page .prose h3,
body[data-theme="supper"].page .prose h4,
body[data-theme="supper"].page .prose h5,
body[data-theme="supper"].page .prose h6 {
    font-family: "Pacifico", cursive;
    color: var(--accent);
    text-shadow: var(--supper-glow);
    text-align: center;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    border-bottom: 0;
    padding-bottom: 0;
    margin-top: var(--space-9);
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    transform: rotate(-1deg);
}

body[data-theme="supper"].page--menu .prose p,
body[data-theme="supper"].page--brunch .prose p,
body[data-theme="supper"].page--beer .prose p,
body[data-theme="supper"].page--cocktails .prose p,
body[data-theme="supper"].page--happy-hour .prose p {
    border-bottom: 1px dotted rgba(232,150,74,.20);
    padding-bottom: var(--space-3);
    margin-bottom: var(--space-3);
    color: var(--ink);
}
body[data-theme="supper"].page--menu .prose strong,
body[data-theme="supper"].page--brunch .prose strong,
body[data-theme="supper"].page--beer .prose strong,
body[data-theme="supper"].page--cocktails .prose strong,
body[data-theme="supper"].page--happy-hour .prose strong {
    color: var(--accent-bright);
    font-family: "Source Serif 4", Georgia, serif;
    font-weight: 700;
    letter-spacing: 0;
}

/* Invert the menu accent ornament so it shows on dark amber bg */
body[data-theme="supper"] .prose img[src*="menu-accent"] {
    filter: invert(1) hue-rotate(180deg) brightness(1.2)
            drop-shadow(0 0 12px rgba(232,150,74,.4));
    opacity: 0.75;
}

body[data-theme="supper"].page .info-card {
    background: var(--bg-elev);
    border: 1px solid rgba(232,150,74,.32);
    border-radius: 2px;
    padding: var(--space-5);
    position: relative;
}
body[data-theme="supper"].page .info-card::before {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(232,150,74,.15);
    pointer-events: none;
}
body[data-theme="supper"].page .info-card h3 {
    font-family: "Karla", sans-serif;
    color: var(--accent);
    text-shadow: var(--supper-glow);
    font-size: 0.74rem;
    letter-spacing: 0.32em;
    font-weight: 700;
}
body[data-theme="supper"].page .hours-list li > span:first-child {
    color: var(--ink-mute);
    font-family: "Karla", sans-serif;
}
body[data-theme="supper"].page .hours-list li > span:last-child {
    color: var(--accent-bright);
    font-family: "Source Serif 4", Georgia, serif;
    font-weight: 600;
}

body[data-theme="supper"].page a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}
body[data-theme="supper"].page a:hover {
    color: var(--accent-bright);
    text-shadow: var(--supper-glow);
}

/* Supper footer — sign at night */
body[data-theme="supper"] .site-footer {
    background: var(--bg-deep);
    border-top: 4px double var(--accent);
    color: var(--ink-mute);
    position: relative;
}
body[data-theme="supper"] .site-footer::before {
    content: "★  THE FIRESIDE GRILL  ★  BEAVERTON, OREGON  ★  EST. 2009  ★  THE FIRESIDE GRILL  ★";
    display: block;
    text-align: center;
    font-family: "Karla", sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: var(--accent);
    text-shadow: var(--supper-glow);
    padding: var(--space-4) 0;
    border-bottom: 1px solid rgba(232,150,74,.25);
    margin-bottom: var(--space-7);
    overflow: hidden;
    white-space: nowrap;
    font-weight: 600;
}
body[data-theme="supper"] .site-footer__title {
    font-family: "Pacifico" !important;
    color: var(--accent) !important;
    text-shadow: var(--supper-glow) !important;
    font-size: 2.2rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transform: rotate(-2deg);
    display: inline-block;
}
body[data-theme="supper"] .site-footer__col h3,
body[data-theme="supper"] .site-footer__col h4 {
    font-family: "Karla", sans-serif;
    color: var(--accent);
    text-shadow: var(--supper-glow);
    letter-spacing: 0.32em;
    font-size: 0.7rem;
    font-weight: 700;
}
body[data-theme="supper"] .site-footer__bottom {
    color: rgba(245,233,212,.4);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.65rem;
    font-family: "Karla", sans-serif;
}
body[data-theme="supper"] .site-footer a {
    color: var(--accent);
    text-shadow: 0 0 8px rgba(232,150,74,.4);
}
body[data-theme="supper"] .site-footer a:hover {
    color: var(--accent-bright);
}
