/* Refine the existing restaurant layout for compact screens. */
.site-header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:32px}
.site-header .brand{grid-column:1;grid-row:1}.site-header nav{grid-column:2;grid-row:1;justify-content:flex-end;min-width:0;padding-top:0}
@media(max-width:760px){
 .site-header{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:20px 12px}
 .site-header .brand{grid-column:1;justify-self:center;font-size:20px;gap:12px}
 .site-header .brand img{width:48px;height:48px}.site-header .brand small{display:none}
 .site-header nav{grid-column:1;grid-row:2;display:flex;flex-wrap:nowrap;justify-content:space-between;width:100%;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:thin}
 .site-header nav a{flex:0 0 auto;white-space:nowrap;font-size:12px;min-height:44px;padding:6px 4px}
 .section-top{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
 .section-top h2{max-width:22ch;margin:0;text-wrap:balance}.section-aside{max-width:40ch;text-align:center}
 .section-aside .text-link{justify-content:center;text-align:center}
 .story-copy,.visit-copy{max-width:40ch;margin-inline:auto}
 .visit-actions{flex-wrap:wrap;gap:16px}.visit-actions .button{min-width:200px}
 .site-footer{gap:16px;padding-block:28px max(28px,env(safe-area-inset-bottom))}
 .site-footer button{text-align:center}.site-footer p{max-width:40ch;margin-inline:auto;line-height:1.6}
 .site-footer .legal-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;justify-items:center;padding-top:20px;text-align:center}
 .site-footer .legal-links a{justify-content:center;min-height:44px;line-height:1.5}
 .review-invitation p{max-width:40ch}.review-invitation-action>p{text-align:center}
}
@media(max-width:620px){
 :root{--layout-gutter:20px}
 .proposal-bar>.wrap{gap:12px}.proposal-bar button{min-width:0;gap:8px}.proposal-bar button>span{text-wrap:balance}
 .language-switch a{width:40px;min-height:44px}.language-switch{flex-shrink:0}
 .hero-content{padding-block:40px 56px}.hero h1{font-size:clamp(30px,8.5vw,38px);line-height:1.2;max-width:19ch;margin:0 auto 24px;text-wrap:balance}
 .hero-intro{font-size:16px;line-height:1.65;max-width:34ch;margin-bottom:28px}
 .hero-actions{width:min(100%,300px);gap:16px}.hero-actions .button{min-height:52px;font-size:15px}
 .hero-address{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:12px}
 .hero-credit{font-size:12px;line-height:1.5;bottom:12px}
 .values{font-size:12px;gap:8px;line-height:1.5;padding-block:24px}
 .menu-section,.story,.reviews-section,.visit{padding-block:56px}.section-top{margin-bottom:32px}
 .dish-grid{gap:24px}.dish{padding:12px 12px 24px}.dish-title{margin:20px 4px 12px;gap:12px}
 .dish h3{font-size:20px;line-height:1.3}.dish>p{font-size:16px;line-height:1.6}
 .story-body{gap:24px}.story-copy p{font-size:16px;line-height:1.7}.map{height:300px}
 .reviews-summary{gap:16px;padding:24px}.review{padding:24px}.review-invitation{padding:24px;gap:24px}
 .menu-header{gap:8px;padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 .menu-languages{gap:8px}.menu-languages a{min-width:36px}
 .entry-layout{padding-block:28px;gap:28px}.entry-copy h1{font-size:34px;line-height:1.2}.entry-intro{font-size:16px;line-height:1.6}
 .menu-sheet{padding:24px 20px}.menu-dish{gap:16px}.dish-copy p{font-size:14px;line-height:1.6}
 .entry-footer .legal-links,.menu-end .legal-links{gap:8px 16px}.entry-footer .legal-links a{font-size:12px;min-height:44px}
 #dish-detail{width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:auto;border-radius:12px}
 #detail-image{height:auto;max-height:48dvh;aspect-ratio:1;object-fit:contain}.detail-copy{padding:24px}
 .detail-copy h2{font-size:26px;line-height:1.25}.detail-copy p{font-size:15px;line-height:1.6}
}
@media(max-width:380px){
 .site-header nav{gap:8px}.site-header nav a{padding-inline:2px}
 .hero-intro{max-width:30ch}.dish-title{flex-wrap:wrap}.dish h3{max-width:none}
 .reviews-summary{padding:20px;gap:12px}.reviews-rating{max-width:120px}.reviews-rating strong{font-size:44px}
 .review-invitation h3{font-size:26px}.review-invitation .review-cta{font-size:14px}
 .menu-dish{grid-template-columns:72px minmax(0,1fr);gap:12px}.dish-photo-button{width:72px;height:72px}
 .dish-line h3{font-size:16px}.menu-sheet{padding:20px 16px}
}
@media(max-height:500px) and (min-width:621px) and (max-width:950px){
 .entry-layout{padding-block:32px;gap:32px}.entry-copy h1{font-size:36px;max-width:14ch;line-height:1.15}
 .entry-intro{font-size:16px}.book{width:220px;height:310px}.book-hint{margin-top:20px;font-size:12px}
}
