/* La même identité, organisée en neuf sections. Aucun style de gestion modifié. */
:root{--menu-sticky-height:130px}
html{scroll-padding-top:calc(var(--header-height) + var(--menu-sticky-height) + 14px)}
.menu-shortcuts{display:none}
.menu-browse{isolation:isolate;padding-bottom:0;border-bottom:1px solid var(--line)}
.menu-browse .category-navigation{margin:0;padding:0;border:0}
.menu-browse .categories{display:flex;gap:26px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;padding:4px 0 0;margin:0}
.menu-browse .categories::-webkit-scrollbar{display:none}
.menu-browse .categories button{position:relative;flex:none;min-height:48px;padding:12px 0;white-space:nowrap;font-size:13px;scroll-snap-align:start;border-bottom:0}
.menu-browse .categories button::after{bottom:0;height:3px;border-radius:3px;transition:transform .26s var(--ease-out)}
.menu-browse .categories button.active{color:var(--green-light)}
.menu-category-section{padding-top:20px;margin-bottom:46px;scroll-margin-top:calc(var(--header-height) + var(--menu-sticky-height) + 14px)}
.menu-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.menu-section-heading h3{font:700 29px/1.25 'Manrope',system-ui,sans-serif;letter-spacing:-1px;margin:0}
.menu-section-heading p{font-size:13px;color:var(--muted);margin:8px 0 0;max-width:540px}
.menu-section-heading>span{flex:none;font-size:11px;padding:5px 10px;background:var(--surface);border:1px solid var(--line);border-radius:20px;color:var(--muted)}
.menu-subgroup+.menu-subgroup{margin-top:26px}
.menu-subgroup-title{font-size:16px;font-weight:600;line-height:1.4;color:var(--green-light);margin:0 0 14px}
.menu-category-section .products{align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr))}
.menu-category-section .product{display:flex;flex-direction:row;gap:18px;padding:18px;min-height:180px;animation:none;border-radius:15px;background:var(--surface);transition:opacity .3s ease,transform .28s var(--ease-out),box-shadow .28s ease,border-color .28s ease}
.menu-category-section .product-image{width:140px;min-width:140px;aspect-ratio:4/3;height:105px;align-self:flex-start;overflow:hidden;border-radius:10px;position:relative}
.menu-category-section .product-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.94);transition:transform .3s var(--ease-out)}
.menu-category-section .product-content{display:flex;flex-direction:column;flex:1;padding:0;min-width:0}
.product-name{font:700 17px/1.4 'Manrope',system-ui,sans-serif;letter-spacing:-.3px;margin:0;color:var(--text)}
.menu-category-section .product p{font-size:13px;line-height:1.6;margin:8px 0 14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.2em}
.menu-category-section .product-bottom{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.menu-category-section .product-bottom>span{font-size:14px;white-space:nowrap}
.menu-category-section .add{width:auto;min-width:96px;min-height:46px;border-radius:11px;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:10px 13px;font-size:13px;margin:0}
.menu-category-section .add>span{position:static;clip-path:none;overflow:visible;width:auto;height:auto;white-space:normal}
.menu-category-section .add b{font-size:20px;line-height:1}
.menu-category-section .product-label{left:10px;top:10px;right:auto;max-width:calc(100% - 20px);padding:4px 8px;border-radius:6px;font-size:10px;background:var(--bg);color:var(--green-light);border:1px solid var(--green-border)}
.pizza-size-picker{display:flex;gap:6px;margin:2px 0 4px}
.pizza-size-picker button{flex:1;min-height:38px;padding:6px 9px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;transition:background .24s,border-color .24s,color .24s}
.pizza-size-picker button[aria-pressed="true"]{background:var(--green-soft);border-color:var(--green-border);color:var(--green-light)}
.pizza-size-picker button:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.menu-category-section .product.menu-card-pending{opacity:0;transform:translateY(10px)}
@media(hover:hover) and (pointer:fine){
 .menu-category-section .product:not(.menu-card-pending):hover{transform:translateY(-3px);border-color:var(--green-border);box-shadow:0 12px 28px #00000038}
 .menu-category-section .product:hover .product-image img{transform:scale(1.035)}
}
@media(prefers-reduced-motion:no-preference){
 .menu-category-section .add:active{animation:menu-add-tap .24s var(--ease-out)}
 .menu-category-section .product:active .product-image img{transform:scale(1.025)}
 @keyframes menu-add-tap{0%,100%{transform:scale(1)}45%{transform:scale(.94)}75%{transform:scale(1.025)}}
}
@media(max-width:760px){
 .menu-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0 18px}
 .menu-shortcuts a{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:72px;padding:8px 4px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:11px;font-weight:600}
 .menu-shortcuts img{width:52px;height:39px;object-fit:cover;border-radius:8px}
 .menu-browse{padding-top:8px;margin-bottom:12px}
 .menu-browse .categories{gap:22px;padding-top:5px}
 .menu-browse .categories button{min-height:48px;font-size:12px}
 #category-panel>.category-heading{margin-top:20px;margin-bottom:4px}
 #category-panel>.category-heading h3{font-size:18px}
 .menu-category-section{padding-top:20px;margin-bottom:30px}
 .menu-section-heading{gap:10px;padding-bottom:12px;margin-bottom:14px}
 .menu-section-heading h3{font-size:25px}
 .menu-section-heading p{font-size:12px;line-height:1.6;max-width:270px}
 .menu-subgroup-title{font-size:15px;margin-bottom:12px}
 .menu-category-section .products{grid-template-columns:minmax(0,1fr);gap:12px}
 .menu-category-section .product{display:flex;flex-direction:row-reverse;gap:12px;padding:14px;min-height:162px;contain-intrinsic-size:auto 180px}
 .menu-category-section .product-image{width:104px;min-width:104px;height:78px;aspect-ratio:4/3;align-self:flex-start;border-radius:10px}
 .menu-category-section .product-content{padding:0;min-width:0}
 .product-name{font-size:15px;line-height:1.4;letter-spacing:-.2px}
 .menu-category-section .product p{font-size:12px;line-height:1.5;margin:6px 0 10px;min-height:0}
 .menu-category-section .product-bottom{padding-top:9px;gap:8px}
 .menu-category-section .product-bottom>span{font-size:12px}
 .menu-category-section .add{min-width:86px;min-height:44px;height:auto;padding:9px 10px;gap:7px;font-size:12px}
 .menu-category-section .product-label{left:4px;top:4px;max-width:calc(100% - 8px);font-size:8px;line-height:1.3;padding:3px 4px}
 .pizza-size-picker{max-width:200px;gap:5px}
 .pizza-size-picker button{font-size:11px;min-height:38px;padding-inline:5px}
 body.app-ready .mobile-cart{display:flex}
 #mobile-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;min-height:21px}
 body.app-ready{padding-bottom:calc(var(--app-bottom) + 76px)}
 #toast{bottom:calc(var(--app-bottom) + 82px)}
 .app-dialog-open .mobile-cart,.app-keyboard-open .mobile-cart{display:none!important}
}
@media(max-width:365px){
 .menu-category-section .product{padding:12px;gap:10px}
 .menu-category-section .product-image{width:80px;min-width:80px;height:60px}
 .menu-category-section .product-bottom .add{flex:1}
 .menu-shortcuts a{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .menu-category-section .product,.menu-category-section .product.menu-card-pending{opacity:1;transform:none;translate:none;animation:none;transition:none}
 .menu-category-section .product-image img{transform:none!important;transition:none}
 .categories button::after,.pizza-size-picker button{transition:none}
}

/* Les indications alimentaires restent lisibles sous la photo, sans la recouvrir. */
.menu-category-section .product-visual{width:140px;min-width:140px;flex:none;align-self:flex-start;display:flex;flex-direction:column;align-items:stretch;gap:8px}
.menu-category-section .product-visual .product-image{width:100%;min-width:0}
.product-diet-label{display:block;align-self:center;max-width:100%;padding:4px 8px;border-radius:6px;border:1px solid var(--green-border);background:var(--green-soft);color:var(--green-light);font-size:11px;line-height:1.4;text-align:center}
@media(max-width:760px){.menu-category-section .product-visual{width:104px;min-width:104px}.product-diet-label{font-size:10px;padding:3px 6px}}
@media(max-width:365px){.menu-category-section .product-visual{width:80px;min-width:80px}}

/* Un accès aux renseignements alimentaires visible avant la commande et le paiement. */
.allergen-contact{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 24px;padding:16px 18px;background:var(--surface);border:1px solid var(--green-border);border-radius:12px;font-size:13px;line-height:1.55}
.allergen-contact strong{font-size:14px;color:var(--text)}
.allergen-contact p{margin:5px 0 0;color:var(--muted)}
.allergen-contact a{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:10px 14px;border:1px solid var(--green-border);background:var(--green-soft);color:var(--green-light);border-radius:9px;font-weight:600;text-align:center}
.option-progress{margin:8px 0 4px;font-size:12px;line-height:1.6;color:var(--green-light);font-weight:600}
.option.option-limit-reached{color:var(--muted);opacity:.55;cursor:not-allowed}
#add-configured:disabled{cursor:not-allowed}
.accompaniment-options{margin:24px 0 8px;padding:20px;border:1px solid var(--green-border);border-radius:14px;background:var(--green-soft)}
.accompaniment-options h3{font-size:20px;margin:0 0 10px}
.accompaniment-options>p{font-size:13px;line-height:1.6}
.accompaniment-row{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:12px;margin-top:16px;align-items:end}
.accompaniment-row label{display:block;margin:0 0 7px;font-size:12px;font-weight:600}
.accompaniment-row select,.accompaniment-row input{width:100%;min-width:0;min-height:48px;margin:0}
.accompaniment-row input:disabled{opacity:.4}
.accompaniment-total{margin-top:16px;color:var(--green-light);font-weight:700}
@media(max-width:760px){.accompaniment-options{padding:16px}.accompaniment-row{grid-template-columns:minmax(0,1fr) 66px;gap:8px}.accompaniment-options h3{font-size:18px}}
@media(max-width:760px){.allergen-contact{align-items:stretch;flex-direction:column;gap:12px;padding:14px;font-size:12px}.allergen-contact strong{font-size:13px}.allergen-contact a{align-self:flex-start}}
