/* Shared responsive fixes; content and the existing design remain in app CSS. */
body { min-width: 0; }
.restaurant-hero .menu-hero-photo img { object-position: center 60%; }
.events-hero .menu-hero-photo img { object-position: center 66%; }
:is(.page-menu,.page-restaurant,.page-events,.page-accommodation) main :is(h1,h2,h3,p,a) { overflow-wrap: break-word; }
:is(.page-menu,.page-restaurant,.page-events,.page-accommodation) main a:focus-visible { outline-color: var(--wine); }
body.nav-open .mobile-call { display: none; }
.menu-jump a { display: inline-flex; align-items: center; min-height: 44px; }
.menu-item-copy { min-width: 0; }
.menu-item > strong { white-space: nowrap; }
@media(max-width:900px) {
    body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
    .site-footer { padding-bottom: calc(26px + env(safe-area-inset-bottom)); }
    .footer-grid nav a,.footer-grid > div:not(.footer-brand) > a { display: flex; align-items: center; min-height: 44px; margin-bottom: 0; font-size: 14px; }
    .contact-band .button-row { min-width: 0; }
}
@media(max-width:620px) {
    .restaurant-hero .menu-hero-photo img,.events-hero .menu-hero-photo img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
    .menu-jump a { font-size: 12px; line-height: 1.4; padding: 10px 12px; }
    .menu-paper { padding-inline: 18px; }
    .menu-item { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
    .menu-item h3 { font-size: 23px; line-height: 1.16; }
    .menu-item-copy p { font-size: 13px; line-height: 1.6; }
    .editorial h2,.events-intro h2 { line-height: 1.13; }
    .menu-reservation-note { font-size: 12px; line-height: 1.6; }
}
@media(max-width:360px) {
    .restaurant-hero .menu-hero-copy h1 { font-size: 49px; }
    .menu-item h3 { font-size: 21px; }
    .menu-item > strong { font-size: 15px; }
}

/* Compact exterior hero; keep the roof visible and trim excess foreground. */
.home-hero { min-height:0; }
.home-hero .hero-copy { padding-top:34px; padding-bottom:34px; }
.home-hero .hero-media { min-height:440px; }
.home-hero .hero-media > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
@media(max-width:900px) {
 .home-hero .hero-media { min-height:0; height:auto; max-height:none; aspect-ratio:16 / 10; }
 .home-hero .hero-copy { padding-top:30px; padding-bottom:30px; }
}

.home-dish-card img[alt*="Vandrácká"] { object-position:30% center; }

.image-triptych > img:nth-child(2) { object-position:center 75%; }

/* Full-platter menu hero; keep the complete composition on mobile. */
.page-menu .menu-hero-photo img { height:390px; object-position:center 55%; }
@media(max-width:620px) { .page-menu .menu-hero-photo img { height:auto; aspect-ratio:3 / 2; object-position:center; } }
