/* Loaded only for phones; desktop styles remain in styles.css. */
:root{--phone-header:calc(76px + env(safe-area-inset-top,0px));--phone-gutter:20px}
html{scroll-padding-top:calc(var(--phone-header) + 16px)}
.header,.header.solid{height:var(--phone-header);padding:env(safe-area-inset-top,0px) max(var(--phone-gutter),env(safe-area-inset-right,0px)) 0 max(var(--phone-gutter),env(safe-area-inset-left,0px));gap:10px}
.brand{font-size:1.6rem}.brand span{font-size:.52rem;letter-spacing:.15em;margin-top:7px}
.desktop-nav,.cart-label,.hero-caption{display:none}
.header-actions{gap:6px;flex-shrink:0}
.cart-trigger{min-width:56px;min-height:44px;padding:6px;border:0;gap:7px}
.mobile-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;padding:0;flex-shrink:0;border:0;background:none}
.mobile-toggle span{height:1px;width:24px;background:var(--cream)}
.mobile-nav{position:fixed;top:var(--phone-header);inset-inline:0;z-index:19;max-height:calc(100svh - var(--phone-header));overflow-y:auto;padding:12px var(--phone-gutter) 22px;background:#251f19;color:var(--cream);display:flex;flex-direction:column;gap:0;box-shadow:0 16px 25px #0003}
.mobile-nav a{display:flex;align-items:center;min-height:56px;border-bottom:1px solid #f5eedf25;font-size:1.05rem}
.hero-scroll{height:240svh}
.hero-sticky{height:100svh;min-height:0}
.hero-shade{opacity:var(--film-shade-opacity,1)}
@media(orientation:portrait){
 .hero-sticky:before{content:'';position:absolute;inset:-24px;background:url('assets/casa-forno-poster.jpg') center/cover;filter:blur(20px) brightness(.32)}
 .hero-video{inset:auto 0;top:50%;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%;transform:translateY(-50%)}
 .hero-shade{background:linear-gradient(0deg,#1c150ff0 0%,#1c150fa6 24%,#1c150f08 66%,#1c150f50 100%)}
}
.hero-copy{top:auto;bottom:calc(102px + env(safe-area-inset-bottom,0px));left:var(--phone-gutter);right:var(--phone-gutter);transform:none;max-width:none}
.hero-copy h1{font-size:clamp(2.35rem,10.2vw,3.9rem);line-height:1.12}
.hero-copy .eyebrow{font-size:.6rem;letter-spacing:.11em;margin-bottom:15px}
.hero-description{font-size:.9rem;margin-top:16px}
.hero-copy .button{width:100%;margin-top:23px}
.hero-bottom{left:var(--phone-gutter);right:var(--phone-gutter);bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:12px}
.scroll-cue{font-size:.58rem;max-width:160px;letter-spacing:.06em;gap:10px}
.skip-film{display:inline-flex;align-items:center;min-height:44px;font-size:.75rem;white-space:nowrap}
.menu-section{padding:0 var(--phone-gutter) 56px}
.menu-heading{padding:46px 0 26px}
.menu-heading h2{font-size:clamp(2.35rem,9vw,3rem)}
.menu-heading>p:last-child{font-size:.875rem;line-height:1.65;max-width:280px;margin:14px auto 0}
.menu-controls{position:sticky;top:var(--phone-header);z-index:10;justify-content:center;background:var(--cream);padding:10px 0;margin:0;border-bottom:1px solid var(--line)}
.categories{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.categories button{min-height:46px;padding:9px 3px;font-size:.85rem;white-space:nowrap}
.categories button span{margin-left:4px;font-size:.69rem}
.menu-controls>span{display:none}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;padding-top:24px}
.product-card{display:flex;flex-direction:column;min-width:0}
.product-info{display:flex;flex-direction:column;flex:1;min-width:0;padding:16px 0 0}
.product-title h3{min-width:0;overflow-wrap:anywhere;font-size:1.3rem;line-height:1.25}
.product-info p{font-size:.875rem;line-height:1.6;min-height:0;margin-bottom:14px}
.product-bottom{margin-top:auto;gap:8px;min-height:44px}
.product-bottom strong{font-size:1rem;line-height:1.35}
.product-bottom small{display:block;font-size:.75rem;white-space:nowrap}
.add-button,.close-button,.quantity button{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}
.add-button{font-size:1.6rem}.quantity{gap:10px}.quantity button{font-size:1.3rem}
.drink-grid .product-card>img{aspect-ratio:2/3}
.story-copy{padding:42px var(--phone-gutter) 50px}
.story-copy h2,.drinks-copy h2,.closing h2{font-size:clamp(2.2rem,9vw,3rem)}
.story-values{gap:22px}.story-values h3{font-size:1.12rem}
.drinks-section{padding:46px var(--phone-gutter) 25px}
.closing{padding:52px var(--phone-gutter) 58px}
.text-link,.footer-top nav a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.footer-top nav{gap:24px;flex-wrap:wrap}
.cart-dialog{padding:0 var(--phone-gutter) max(24px,env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
.cart-head{position:sticky;top:0;background:var(--cream);z-index:2;padding:max(18px,env(safe-area-inset-top,0px)) 0 18px}
.cart-head .eyebrow{font-size:.58rem;letter-spacing:.1em}.cart-head h2{font-size:2.15rem}
.cart-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px;padding:22px 0}
.cart-item img{width:70px;height:80px;object-fit:cover}
.cart-item h3{font-size:1.15rem;line-height:1.35}
.cart-item-end{grid-column:2;flex-direction:row;align-items:center;gap:12px}
.cart-item-end strong{font-size:.95rem}
.cart-item-end button{min-height:44px;padding:8px 0;font-size:.75rem}
.cart-summary strong{font-size:1.7rem}.cart-summary>p{font-size:.85rem}
.toast{bottom:calc(18px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px);font-size:.85rem}
.button:hover{transform:none}
.hero-scroll.video-fallback{height:100svh;min-height:0}
@media(max-width:480px){
 .product-grid{grid-template-columns:1fr;gap:22px}
 .product-card{display:grid;grid-template-columns:clamp(92px,29vw,132px) minmax(0,1fr);gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line);align-items:start}
 .product-card>img{width:100%;height:auto;aspect-ratio:1;border-radius:4px}
 .product-info{padding:0}
 .product-info p{font-size:.8125rem;margin:7px 0 12px;line-height:1.6}
 .product-title h3{font-size:1.25rem}
 .product-tag{top:7px;left:7px;max-width:calc(clamp(92px,29vw,132px) - 14px);font-size:.5rem;line-height:1.4;padding:4px 5px;letter-spacing:0}
 .vegetarian{width:20px;height:20px;font-size:.65rem}
 .menu-more{margin-top:26px}.menu-more .button{width:100%}
}
@media(max-width:350px){
 :root{--phone-gutter:16px}
 .brand{font-size:1.4rem}.brand span{font-size:.47rem}
 .header-actions{gap:0}.cart-trigger{min-width:52px}
 .hero-copy h1{font-size:2.3rem}.hero-copy .eyebrow{font-size:.55rem}
 .scroll-cue{max-width:140px;font-size:.52rem}
 .product-card{gap:12px}.product-title h3{font-size:1.15rem}
 .story-values{grid-template-columns:1fr;gap:20px}
 .footer-top nav{gap:18px}
}
@media(max-height:650px){
 .hero-copy{bottom:82px}
 .hero-copy .eyebrow{margin-bottom:10px}
 .hero-description{margin-top:12px;font-size:.825rem}
 .hero-copy .button{margin-top:16px}
 .hero-bottom{bottom:10px}
}
@media(max-height:500px) and (orientation:landscape){
 .hero-copy{left:var(--phone-gutter);right:auto;bottom:62px;width:60%;max-width:510px}
 .hero-copy .eyebrow,.hero-description{display:none}
 .hero-copy h1{font-size:2.4rem}
 .hero-copy .button{width:auto;margin-top:14px;min-height:44px;padding:9px 20px}
 .hero-bottom{bottom:8px}
 .story-section,.drinks-section{grid-template-columns:1fr 1fr}
 .story-copy h2,.drinks-copy h2{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:100svh;min-height:0}}
