/* Sierig go-live polish — shared, low-risk presentation hardening */
:where(a,button,input,select,textarea):focus-visible{outline:2px solid #f1cb73;outline-offset:3px}
:where(button,a,input,select,textarea){touch-action:manipulation}

/* Restaurant media: stable geometry, curated source images only. */
body[data-restaurant] .editorial-media,
body[data-restaurant] .original-shot{overflow:hidden;background:#06131b}
body[data-restaurant] .editorial-media img,
body[data-restaurant] .original-shot img{display:block;width:100%;height:100%;object-fit:cover}
body[data-restaurant] .editorial-media{aspect-ratio:16/10;min-height:0}
body[data-restaurant] .originals-grid{align-items:stretch}
body[data-restaurant] .original-shot{min-height:0}
body[data-restaurant] img[loading="lazy"]{content-visibility:auto}

/* Keep primary guest actions visually dominant without duplicating navigation. */
body[data-restaurant] .hero .actions,
body[data-restaurant] .menu-actions,
body[data-restaurant] .visit-card .actions{gap:10px}
body[data-restaurant] .hero .btn.primary,
body[data-restaurant] .menu-actions .btn.primary,
body[data-restaurant] .visit-card .btn.primary{font-weight:900}
body[data-restaurant] .visit-card{max-width:760px}

/* Reflow protection for mobile and effective 200% desktop zoom. */
@media(max-width:900px){
  body[data-restaurant] .wrap,
  body[data-restaurant] .hero-inner{width:min(100% - 32px,1380px)}
  body[data-restaurant] .story-grid,
  body[data-restaurant] .menu-head,
  body[data-restaurant] .visit-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  body[data-restaurant] .actions,
  body[data-restaurant] .menu-actions{max-width:100%}
  body[data-restaurant] .btn{white-space:normal;text-align:center;justify-content:center}
}
@media(max-width:520px){
  body[data-restaurant] .hero-inner{padding-left:0;padding-right:0}
  body[data-restaurant] h1{overflow-wrap:anywhere}
  body[data-restaurant] .originals-grid{grid-template-columns:1fr!important}
  body[data-restaurant] .original-shot:first-child{grid-column:auto!important}
  body[data-restaurant] .editorial-media,
  body[data-restaurant] .original-shot{aspect-ratio:4/3!important}
  body[data-restaurant] .hero .btn,
  body[data-restaurant] .menu-actions .btn,
  body[data-restaurant] .visit-card .btn{width:100%;min-height:48px}
}

/* Reservation handoff remains readable at high zoom and narrow viewports. */
.reservation-page .flow-grid{min-width:0}
.reservation-page .card,.reservation-page .form-grid>*{min-width:0}
.reservation-page input,.reservation-page select,.reservation-page textarea{font-size:max(16px,1rem)}
@media(max-width:700px){
  .reservation-page .steps{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .reservation-page .steps::-webkit-scrollbar{display:none}
  .reservation-page .step{min-width:96px}
  .reservation-page .summary-row{align-items:flex-start;flex-wrap:wrap}
  .reservation-page .summary-row b{max-width:100%;overflow-wrap:anywhere}
}

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


/* Photos retain their original luminance; shading is local to readable copy. */
html body .hero .hero-bg.hero-bg,html body .v24-hero .v24-hero-bg.v24-hero-bg{filter:brightness(1) saturate(1)!important}
html body .hero .hero-shade{background:linear-gradient(90deg,rgba(2,8,12,.76) 0%,rgba(2,8,12,.38) 30%,rgba(2,8,12,.04) 62%,rgba(2,8,12,.12) 100%)!important}
html body .v24-hero:after{background:linear-gradient(90deg,rgba(2,8,12,.76),rgba(2,8,12,.35) 38%,rgba(2,8,12,.04) 70%),linear-gradient(0deg,rgba(2,8,12,.22),transparent 38%)!important}
@media(max-width:700px){
 html body .hero .hero-shade,html body .v24-hero:after{background:linear-gradient(180deg,rgba(2,8,12,.04),rgba(2,8,12,.22) 42%,rgba(2,8,12,.76) 100%)!important}
}

/* Gallery photographs keep natural proportions, including a single-image gallery. */
html body .originals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:start}
html body .original-shot,html body .original-shot:first-child{grid-column:auto;aspect-ratio:auto!important;min-height:0}
html body .original-shot img{display:block;width:100%;height:auto!important;min-height:0!important;object-fit:contain!important;transform:none!important;filter:none!important}
html body .original-shot[data-native-capped]{max-width:100%;width:auto!important}

/* Blue Ocean source is a composite: exclude the second image row at y=720. */
html body[data-restaurant="blue-ocean"] .story .editorial-media{aspect-ratio:1420/720!important;height:auto!important}
html body[data-restaurant="blue-ocean"] .story .editorial-media img[src*="original-blue-ocean-v2"]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top!important;transform:none!important;filter:none!important}

/* Crop composite source boundaries without altering the photographs. */
html body[data-restaurant="kleiner-grieche"] .story .editorial-media{aspect-ratio:800/337!important;height:auto!important;position:relative}
html body[data-restaurant="kleiner-grieche"] .story .editorial-media img[src*="original-kleiner-grieche-v2"]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top!important;transform:none!important;filter:none!important}
html body .job-place,html body .event-venue{display:flex;flex-direction:column;justify-content:flex-start}
html body .venue-photo{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;flex:none}
html body .venue-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center top;filter:none!important}
html body .venue-photo img[src*="original-kleiner-grieche-v2"]{height:107%;max-height:none}
html body .venue-photo img[src*="original-blue-ocean-v2"]{height:109%;max-height:none}
html body .venue-photo img[src*="original-taurus-fehmarn-v2"]{height:158%;max-height:none;object-position:right top}
html body .job-place>span,html body .event-venue>span{min-height:72px;width:100%;margin:0}
html body .restaurant-originals .original-shot,html body .restaurant-originals .original-shot:first-child{aspect-ratio:auto!important}
html body .restaurant-originals .original-shot[data-native-capped]{width:100%!important;max-width:100%;justify-self:stretch}
@media(max-width:700px){html body .restaurant-originals .original-shot[data-native-capped]{flex:0 0 82vw!important;max-width:82vw}}

/* Event offers are readable immediately, including without JavaScript. */
html body #event-book,html body #event-book .v24-card{content-visibility:visible;contain-intrinsic-size:none}
