/* Shared fallback presentation. Theme styles loaded afterwards own the visual design. */
:root {
  --section-surface: var(--surface, #fff);
  --section-ink: var(--ink, #181b18);
  --section-muted: var(--muted, #62675f);
  --section-line: var(--line, #d5d8d5);
  --section-dark: var(--reservation-surface-deep, #29211d);
  --section-light: var(--reservation-text, #fff8eb);
  --section-accent: var(--theme-accent, #a95236);
  --section-edge: var(--edge, clamp(1.25rem, 4vw, 4.5rem));
  --section-space: clamp(3rem, 7vw, 7rem);
  --section-width: var(--content-width, 86rem);
}
.section-page { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 70vh; overflow-wrap: anywhere; }
.section-page > * { min-width: 0; grid-column: 1 / -1; }
.section-page :is(h1, h2, h3) { hyphens: auto; }
.home-hero { position: relative; display: grid; min-height: 75svh; place-items: center; overflow: hidden; isolation: isolate; padding: var(--section-space) var(--section-edge); background: var(--section-dark); color: var(--section-light); }
.home-hero__slides, .home-hero__slide { position: absolute; inset: 0; margin: 0; }
.home-hero__slides { z-index: -1; }
.home-hero__content { text-align: center; }
.home-hero__logo { max-width: min(20rem, 70vw); margin-inline: auto; }
.home-hero__claim { font-size: clamp(1.5rem, 4vw, 3rem); }
.hero-slider-controls { position: absolute; right: var(--section-edge); bottom: 1.5rem; display: flex; gap: 1rem; align-items: center; }
.hero-slider-toggle { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid currentColor; background: var(--section-dark); color: var(--section-light); cursor: pointer; }
.story-section, .editorial-section, .contact-grid { width: min(var(--section-width), 100%); margin-inline: auto; padding: var(--section-space) var(--section-edge); }
.story-section__media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.story-image { margin: 0; }
.story-image img, .editorial-image img { width: 100%; height: auto; }
.editorial-image { margin-inline: 0; }
.rich-copy { overflow-wrap: anywhere; }
.rich-copy > :first-child { margin-top: 0; }
.rich-copy > :last-child { margin-bottom: 0; }
.page-hero { position: relative; isolation: isolate; display: grid; min-height: 24rem; align-items: end; padding: var(--section-space) var(--section-edge); background: var(--section-dark); color: var(--section-light); overflow: hidden; }
.page-hero__slides { position: absolute; z-index: -1; inset: 0; margin: 0; }
.page-hero h1 { font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.1; }
.menu-list, .legal-content { width: min(var(--section-width), 100%); margin-inline: auto; padding: var(--section-space) var(--section-edge); }
.content-page { width: min(var(--section-width), 100%); margin-inline: auto; padding: var(--section-space) var(--section-edge); }
.dish { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--section-line); padding-block: 1rem; }
.dish strong { white-space: nowrap; }
:is(.hours-contact__hours, .hours-contact__details) h2 { margin: 0; font: 500 clamp(2.7rem, 6vw, 5.5rem)/1.05 var(--display-font, inherit); }
.campaign-hero, .action-banner { position: relative; display: grid; min-height: 28rem; align-content: center; padding: var(--section-space) var(--section-edge); background: var(--section-dark); color: var(--section-light); overflow: hidden; isolation: isolate; }
.campaign-hero h1, .action-banner h2 { margin: 0; font-size: clamp(2.5rem, 7vw, 6rem); line-height: 1.05; }
.campaign-hero__content, .action-banner > div { width: min(var(--section-width), 100%); margin-inline: auto; }
.action-banner > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.action-banner--image::before { position: absolute; z-index: -1; inset: 0; background: color-mix(in srgb, var(--section-dark) 75%, transparent); content: ""; }
.section-button, .split-hero__action, .shortcut-card__action { display: inline-flex; min-height: 2.75rem; align-items: center; border: 1px solid currentColor; padding: .8rem 1.25rem; margin-top: 1rem; color: inherit; text-decoration: none; }
.section-button:hover, .section-button:focus-visible, .split-hero__action:hover, .shortcut-card__action:hover { background: var(--section-accent); color: var(--section-light); }
.split-hero { display: grid; grid-template-columns: minmax(0, 1fr); background: var(--section-surface); color: var(--section-ink); }
.split-hero__media { min-width: 0; }
.split-hero__media img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.split-hero__content { min-width: 0; padding: var(--section-space) var(--section-edge); align-self: center; }
.split-hero h1 { margin: 0; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.05; }
.split-hero__description { margin-block: 1.5rem; }
.shortcut-section { padding: var(--section-space) var(--section-edge); }
.shortcut-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; width: min(var(--section-width), 100%); margin-inline: auto; }
.shortcut-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--section-line); background: var(--section-surface); color: var(--section-ink); }
.shortcut-card__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.shortcut-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.5rem; }
.shortcut-card__action { margin-top: auto; }
.reservation-section { position: relative; display: grid; min-height: 28rem; align-content: center; justify-items: center; padding: var(--section-space) var(--section-edge); background: var(--section-dark); color: var(--section-light); text-align: center; isolation: isolate; overflow: hidden; }
.reservation-section__title { font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.1; }
.reservation-section__action { display: inline-flex; min-height: 2.75rem; align-items: center; padding: .8rem 1.25rem; border: 1px solid currentColor; text-decoration: none; }
.reservation-section__background { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.reservation-section--with-image::before { position: absolute; z-index: -1; inset: 0; background: color-mix(in srgb, var(--section-dark) 75%, transparent); content: ""; }
.public-special-hours dl, .public-special-hours dd { margin: 0; }
.public-special-hours dl > div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--section-line); padding-block: .65rem; }
.public-special-hours :is(dt, dd, dd > span) { display: grid; gap: .25rem; }
.section-page :focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (min-width: 40rem) { .shortcut-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 52rem) { .split-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 60rem) { .shortcut-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 80rem) {
  .section-page { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .section-page > .hours-contact__hours:has(+ .hours-contact__details) { grid-column: 1; }
  .section-page > .hours-contact__hours + .hours-contact__details { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) { .home-hero__slide { transition: none; } }
