/* Shared restaurant palette. Provider-owned social embeds keep native colors. */
:root {
  color-scheme: dark;
  --background: #0b090a;
  --surface: #161313;
  --raised: #211b19;
  --text: #f5eee3;
  --muted: #bfb5a7;
  --gold: #d4b174;
  --line: #413831;
  --control-line: #817260;
}
body { background: var(--background); color: var(--text); }
::selection { background: var(--gold); color: var(--background); }
.link-arrow { display: inline-flex; vertical-align: middle; flex-shrink: 0; line-height: 1; }
.link-arrow svg { display: block; width: 1em; height: 1em; }
em, .page-intro .eyebrow, .dish-category, .dish-price span,
.menu-category-heading > span, .search-box > span:first-child,
.map-placeholder > span, .gift-symbol { color: var(--gold); }
.eyebrow { color: var(--gold); }
.heading-aside, .welcome-strip p, .item-number,
.featured-item > div > p:not(.dish-category), .menu-end > p,
.story-copy > p:not(.eyebrow), .social-band p,
.reservation-grid > div > p:not(.eyebrow), .form-note,
.gift-band p:last-child, .visit-grid p, .hours dd,
.map-placeholder small, .page-intro > p:last-child, .intro-bottom p,
.search-count, .category-nav a, .menu-notice, .menu-category-heading p,
.menu-dish p, .art-note, .gallery-bottom, .gallery-unavailable p,
.visit .section-heading > p, .footer-grid p, .footer-grid a,
.footer-grid dd, .footer-grid dt, .footer-bottom,
.catering .heading-aside, .catering-details p, .station-copy p,
.station-typographic p, .photo-note { color: var(--muted); }
.welcome-strip, .featured-item, .menu-end, .gift-band, .social-band,
.social-profile, .menu-category-heading, .menu-dish, .catering-details,
.footer-top, .footer-bottom { border-color: var(--line); }
.welcome-strip, .catering, .reservation, .mobile-menu,
.map-panel, .lightbox, .request-dialog { background: var(--surface); color: var(--text); }
.buffet { background: #2b1417; color: var(--text); }
.buffet h2 em, .catering h2 em, .catering .eyebrow { color: var(--gold); }
.buffet-details span { color: #d6bbb4; }
.catering-card, .station-typographic, .request-details,
.gallery-empty, .gallery-unavailable { background: var(--raised); color: var(--text); }
.catering-card, .station-typographic, .map-panel { border-color: var(--line); }
.station-media { background: var(--background); }
.footer { background: #080708; color: var(--text); }
.footer-top > p { color: var(--muted); }
.footer-grid h3 { color: var(--gold); }
.site-header.scrolled { background: #100d0ef5; border-color: var(--line); box-shadow: 0 8px 32px #0005; }
.menu-tools { background: #0b090af5; border-color: var(--line); }
.brass, .cream, .ink, .skip-link { background: var(--gold); color: #17110b; }
.brass:hover, .cream:hover, .ink:hover { background: #e4c691; color: #17110b; }
.ink-outline, .outline { color: var(--text); border-color: var(--control-line); }
.ink-outline:hover, .outline:hover { background: #ffffff12; border-color: var(--gold); }
.text-link { border-color: var(--control-line); }
.text-link:hover, .footer-grid a:hover, .category-nav a:hover { color: var(--gold); }
.category-nav a[aria-current=true] { color: var(--gold); border-color: var(--gold); }
.dish-tags span { color: var(--muted); border-color: var(--control-line); }
.reservation-call a { color: var(--text); }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea,
.search-box input { color: var(--text); border-color: var(--control-line); }
input::placeholder, textarea::placeholder { color: #aa9f90; opacity: 1; }
select option { background: var(--surface); color: var(--text); }
.inquiry-form input:autofill { box-shadow: 0 0 0 100px var(--raised) inset; -webkit-text-fill-color: var(--text); }
.form-error { color: #ffa7a7; }
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible { outline-color: var(--gold); }
.lightbox::backdrop, .request-dialog::backdrop { background: #080607e6; }
.map-placeholder { background: repeating-linear-gradient(25deg,transparent,transparent 38px,#d4b1740d 39px,#d4b1740d 40px); }
.mobile-actions { background: #100d0ef5; color: var(--text); }
.mobile-actions > a { border-color: var(--control-line); }
.mobile-actions .mobile-order { background: var(--gold); color: #17110b; border-color: var(--gold); }

/* General inquiries share the site's request review and email handoff. */
.contact-inquiry { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; margin-top: 70px; padding-top: 70px; border-top: 1px solid var(--line); scroll-margin-top: 165px; }
.contact-inquiry h2 { margin-bottom: 24px; }
.contact-inquiry > div > p:not(.eyebrow) { color: var(--muted); max-width: 340px; }
.contact-form .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.contact-form .form-grid label:last-child { grid-column: 1/-1; }
.contact-form .contact-honey { display: none; }
.contact-form .form-status { color: var(--cream, #f5eee3); font-size: 14px; }
.contact-form .form-note a { text-decoration: underline; }
.contact-form button:disabled { opacity: .65; cursor: wait; }
.inquiry-form .reservation-honey { display: none; }
.inquiry-form button:disabled { opacity: .65; cursor: wait; }
.inquiry-form .form-status { font-size: 14px; line-height: 1.6; }
.booking-review { padding-top: 190px; padding-bottom: 90px; max-width: 850px; }
.booking-review h1 { font-size: clamp(40px,6vw,68px); }
.booking-review dl { margin: 32px 0; padding: 24px; background: #161313; border: 1px solid var(--line); }
.booking-review dl div { display: grid; grid-template-columns: 110px 1fr; gap: 20px; padding: 12px 0; }
.booking-review dt { color: var(--muted); }
.booking-review dd { margin: 0; overflow-wrap: anywhere; }
.booking-review [data-review-actions]:not([hidden]) { display:flex; gap:16px; flex-wrap:wrap; }
.booking-review button:disabled { opacity: .6; cursor: wait; }
@media(max-width:600px) { .booking-review { padding-top:140px; } .booking-review dl { padding:16px; } .booking-review dl div { grid-template-columns:1fr; gap:4px; } }
@media(max-width:900px) { .contact-inquiry { grid-template-columns: 1fr; gap: 35px; } }
@media(max-width:600px) { .contact-inquiry { margin-top: 45px; padding-top: 45px; scroll-margin-top: 115px; } }
