/* Restaurant colours and typography; native scrolling throughout. */
#toast:empty,#toast:not(.visible){display:none!important}
body:has(dialog[open]) .floating-cart{display:none!important}
#product-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}
#product-dialog .product-detail{margin:0;padding:40px 22px 22px;align-items:center;gap:22px}
#product-dialog .detail-image{max-height:min(48dvh,330px);object-fit:contain}
#product-dialog .detail-copy{padding:0;min-width:0}
#product-dialog h2{font-size:24px;line-height:1.4;letter-spacing:0;margin:0 0 12px}
#product-dialog fieldset{margin:0 0 12px}
#product-dialog legend{margin-bottom:5px}
#product-dialog .variant-options label{padding:7px 5px}
#product-dialog .quantity-control{justify-content:center;margin:10px 0}
#product-dialog .quantity-control button{width:40px;height:40px}
#product-dialog .detail-copy>label{font-size:11px;line-height:1.3;display:block;margin-top:5px}
#product-dialog select{margin:3px 0 6px;padding:6px 9px;min-height:36px}
#product-dialog .detail-copy>.button{margin-top:4px;min-height:46px;padding:10px 16px}
@media(max-width:700px){
 #product-dialog{width:min(430px,calc(100% - 24px))}
 #product-dialog .product-detail{display:flex;flex-direction:column;gap:8px;padding:34px 18px 18px}
 #product-dialog .detail-image{width:100%;height:clamp(88px,24dvh,180px);max-height:none;flex-shrink:0}
 #product-dialog .detail-copy{width:100%}
 #product-dialog h2{font-size:21px;line-height:1.35;margin-bottom:10px;text-align:center}
 #product-dialog .is-offer .detail-image{height:clamp(64px,15dvh,100px)}
 #product-dialog .is-offer h2{font-size:20px;margin-bottom:6px}
 #product-dialog .is-offer .quantity-control{margin:6px 0}
}
@media(max-height:500px) and (min-width:500px){
 #product-dialog .product-detail{display:grid;grid-template-columns:36% 1fr;padding:30px 18px 14px;gap:18px}
 #product-dialog .detail-image,#product-dialog .is-offer .detail-image{height:180px;max-height:60dvh}
 #product-dialog h2{font-size:18px;margin-bottom:6px}
 #product-dialog .quantity-control{margin:5px 0}#product-dialog .quantity-control button{height:32px;width:32px}
 #product-dialog select{min-height:30px;padding:3px 8px;margin-bottom:3px}
 #product-dialog .detail-copy>.button{min-height:38px;padding-block:5px}
}
.offers-section{padding-block:62px 68px}.offers-section .section-heading{margin-bottom:28px}
.offer-card{border-width:2px;box-shadow:0 8px 22px #30392d08}
.offer-price{text-align:right}html[dir=ltr] .offer-price{text-align:left}
.offer-art{position:absolute;left:26px;top:48px;width:46%;display:flex;align-items:center;direction:ltr;pointer-events:none}
.offer-art img{width:62%;height:auto;border-radius:50%;mix-blend-mode:normal}.offer-art img+img{margin-left:-24%}
.green-offer .offer-art img{mix-blend-mode:normal}
.offer-card h3,.offer-card p,.offer-card .button{position:relative;z-index:1}
html[dir=ltr] .offer-art{left:auto;right:26px}
@media(max-width:700px){
 .brand-ribbon{display:flex!important;flex-direction:column;gap:7px!important;white-space:normal!important;overflow:visible!important;text-align:center;padding:18px 12px!important}
 .brand-ribbon span:first-child{font-size:clamp(18px,5.6vw,26px);line-height:1.25;letter-spacing:-.5px;max-width:100%}
 .brand-ribbon span:nth-child(2){font-size:20px;line-height:1.5}
 .brand-ribbon span:last-child{display:none}
 .offers-section{padding-block:38px 42px}.offers-section .section-heading{gap:15px;margin-bottom:22px}.offers-section h2{font-size:34px}
 .offer-card{padding:25px 23px}.offer-price{font-size:84px;margin:12px 0 18px}.offer-art{left:16px;top:52px;width:45%}html[dir=ltr] .offer-art{right:16px}
 .offer-card h3{font-size:22px}.offer-card .button{width:100%}.offer-index{display:none}
}
.hero{display:flex;flex-direction:column;min-height:0;padding:0 0 12px;overflow:visible}
.hero-inner{order:1;min-height:0;justify-content:center;padding:42px 0 34px}
.hero-copy{width:100%;max-width:none;padding:0;text-align:center}
.hero-copy .eyebrow{margin-bottom:12px;letter-spacing:3px}
.hero h1{font-size:clamp(42px,5.5vw,82px);line-height:1.4;letter-spacing:-2px}
.hero h1 span{display:inline}.hero h1 span+span:before{content:' '}
.hero .intro{margin:8px 0 22px;font-size:15px}.hero-note{display:none}
.hero-copy .button{padding:12px 28px;min-height:48px}
.hero-media{order:2;position:relative;inset:auto;margin:0 auto;width:min(1440px,calc(100% - 48px));height:auto;aspect-ratio:16/9;max-height:740px;border-radius:5px;z-index:0;overflow:hidden;background:var(--soft)}
.hero-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:normal}
.hero-media:after{box-shadow:inset 0 0 0 1px #30392d0d}
.hero-bottom{order:3;padding:19px 0 7px;gap:15px}.hero-bottom .tiny{font-size:9px;letter-spacing:2px}
.video-toggle{background:var(--paper);border-color:var(--line);padding:9px 16px;color:var(--green)}
.brand-ribbon{margin-top:20px;padding-block:22px;letter-spacing:-1px}
.product-image{aspect-ratio:1;border:0;border-radius:0;background:var(--paper)}
.product-image img{object-fit:contain;mix-blend-mode:multiply;transform:none;transition:transform .55s ease}
.product-image:hover img{transform:scale(1.035)}
.product-image .plus{bottom:12px;left:12px;background:var(--paper);box-shadow:0 2px 10px #30392d0a}
.product-info{padding:18px 0 0}.menu-grid{gap:42px 32px}
.pasta-visual video{mix-blend-mode:normal;object-position:center}
.detail-image{background:var(--paper);mix-blend-mode:multiply}
@media(min-width:1500px){.hero-inner{padding-block:48px 38px}.hero-media{width:calc(100% - 96px);max-width:1600px}}
@media(max-width:700px){
 .hero-inner{padding:28px 0 24px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:10px}
 .hero h1{font-size:clamp(35px,9.5vw,52px);letter-spacing:-1.7px;line-height:1.45}.hero h1 span{display:block}.hero h1 span+span:before{content:none}
 .hero .intro{font-size:12px;margin:9px 0 18px}.hero-copy .button{font-size:12px;min-height:46px}
 .hero-media{width:calc(100% - 24px);height:auto;margin:0 auto;aspect-ratio:16/10;border-radius:3px;max-height:none}.hero-media video{object-position:center}
 .hero-bottom{padding:13px 0 5px}.hero-bottom .tiny{font-size:7px;letter-spacing:.4px}.hero-bottom .scroll-cue{display:none}.video-toggle{padding:7px 10px;font-size:9px}
 .brand-ribbon{margin-top:8px;padding-block:15px}.menu-section{padding-top:62px}.menu-grid{gap:28px 14px}
 .product-info{padding-top:12px}.product-title-row h3{font-size:15px}.product-image .plus{width:30px;height:30px;font-size:22px;bottom:5px;left:5px}
 .pasta-visual{height:390px}.pasta-visual video{min-height:390px}
}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-media,.product-card{animation:none}.product-image:hover img{transform:none}}
