/* V4: grouped catalog and finite, non-blocking microanimations. */
.demo-banner{font-size:10px;letter-spacing:1px}
.menu-layout{display:block}
.category-body.has-photo{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);gap:24px;align-items:start}
.category-body>.menu-photo{display:block;grid-column:auto;margin:0;overflow:visible;padding:4px;background:#171717}
.category-body>.menu-photo img{border-radius:3px;transform:scale(.995);transition:transform 550ms ease;aspect-ratio:auto}
.menu-photo figcaption{padding:15px 16px}
.menu-photo strong{font-size:19px;margin-bottom:6px;letter-spacing:-.3px}
.menu-photo figcaption:before{display:none}
.menu-photo figcaption span{font-size:11px}
.category-body .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.group-snack .card{grid-column:auto}
.group-snack .card:last-child{grid-column:1/-1}
.group-pasta .product-grid{max-width:680px;grid-template-columns:1fr}
.card{padding:19px;gap:13px}
.card h4{font-size:19px}.card .price{font-size:25px}
.card p{font-size:13px}.card button{min-height:46px}
.group{margin-bottom:38px}.group-heading{padding-top:8px;margin-bottom:18px}
.food-motif{opacity:.4;width:75px;height:55px}
.hero-photo img{transition:transform 550ms ease;transform:scale(.995)}
.hero-photo{overflow:visible;padding:4px}.hero-photo img{border-radius:4px}
.included-details{margin:8px 0}.included-details summary{min-height:36px;display:list-item;font-size:12px;color:var(--muted);padding:8px 0}
.included-details p{padding-bottom:5px}
.whatsapp-help{font-size:12px;line-height:1.6;margin:10px 0;color:var(--muted)}
#customer-form>.muted{margin-bottom:10px}
.primary,.outline,.controls button,.categories button,.category-link{transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease}
.price,.subtotal{transition:color 220ms ease}
.primary:active,.controls button:active{transform:scale(.98)}
.floating:active{transform:translateX(-50%) scale(.98)}
@keyframes reveal-v4{from{opacity:.25;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes category-v4{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes dialog-v4{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes feedback-v4{0%,100%{background-color:transparent}40%{background-color:#482027}}
@media(prefers-reduced-motion:no-preference){
 .reveal-enter{animation:reveal-v4 550ms ease-out both}
 .category-enter{animation:category-v4 400ms ease-out both}
 .feedback{animation:feedback-v4 420ms ease-out}
 dialog[open]{animation:dialog-v4 400ms ease-out}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.menu-photo:hover img,.hero-photo:hover img{transform:scale(1.008)}}
@media(max-width:1000px){.category-body.has-photo{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px}.category-body .product-grid{grid-template-columns:1fr}.group-snack .card:last-child{grid-column:auto}}
@media(max-width:650px){
 .category-body.has-photo{grid-template-columns:1fr;gap:16px}
 .category-body>.menu-photo{width:100%;max-width:400px;justify-self:center}
 .category-body .product-grid{grid-template-columns:1fr}
 .card{padding:18px;gap:10px}.card-top{gap:10px}.card h4{font-size:19px}
 .card button{margin-top:4px}.group{margin-bottom:32px}
 .categories button,.category-link{min-height:46px}
 .included-details summary{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .hero-photo img,.menu-photo img{transform:none!important}
 .primary:active,.controls button:active{transform:none}.floating:active{transform:translateX(-50%)}
}
