/* Client presentation, scoped to the ordering app. Payment calculations unchanged. */
:root{--muted:#625e53;--nav:72px}
html{scroll-padding-top:90px}
body{overflow-wrap:break-word}
[hidden]{display:none!important}
.wrap{padding-top:14px}
.top .wrap{padding-top:0;min-height:68px}
.status{font-size:13px;white-space:normal;text-align:right;max-width:48%}
.compact-hero{aspect-ratio:auto;height:152px;margin:0 0 12px}
.compact-hero .t{padding:18px;background:linear-gradient(transparent,rgba(0,0,0,.92))}
.compact-hero h1{font-size:clamp(22px,3vw,28px);line-height:1.2}
.compact-hero p{font-size:14px;line-height:1.5}
.service-mini{font-size:14px;margin:10px 0;padding:12px 16px}
.catalogue-tools{padding:8px 0 0}
.catalogue-tools label{font-size:22px;margin-bottom:10px}
.catalogue-tools input{min-height:48px;padding:12px 16px;font-size:16px}
.quick-filters{margin-top:10px}
.quick-filters button{font-size:14px;min-height:44px;padding:9px 12px}
#resultCount{margin:8px 0}
.chips{top:68px;padding:10px 0;scrollbar-width:thin}
.chip{font-size:14px;min-height:44px;padding:10px 14px}
#activeOrderLink{margin:10px 0;text-align:left}
.cat{margin-top:20px}
.cat .info{font-size:14px;line-height:1.6}
.menu-product .item,.menu-product .item.no-img{min-height:170px;padding:20px 50px 20px 16px;gap:16px;align-items:start}
.menu-product .item.img{grid-template-columns:88px minmax(0,1fr) 12px}
.menu-product .item.no-img{grid-template-columns:minmax(0,1fr) 12px}
.menu-product .item img{width:88px;height:112px;object-fit:cover;border-radius:10px}
.item .n{font-size:18px;line-height:1.35}
.item .d{font-size:14px;line-height:1.6;margin-top:8px}
.price-options{font-size:14px;line-height:1.5;gap:6px;margin-top:12px;color:#514d44}
.price-options>span{padding:5px 7px;background:#eee8dc}
.price-options b{color:#24251f;font-weight:800}
.favourite{width:44px;height:44px;top:4px;right:4px;font-size:25px;color:#625e53}
.item-arrow{margin-top:48px}
.sm,.line .s,.seg small,.sheet .lbl,.allergen-info,.upsell,.order-progress li,.maw,.maw a{font-size:14px;line-height:1.55}
.sheet{overscroll-behavior:contain;scroll-padding-bottom:120px}
.sheet .d,.sheet>p{font-size:15px;line-height:1.55}
.sheet-photo{height:160px;object-position:center}
.sheet-photo.sheet-illustration{object-fit:contain;background:#fff}
.sheet .opts button{font-size:15px;min-height:44px;padding:10px 13px}
.sheet .seg button{font-size:15px;min-height:54px}
.sheet .qty button{width:44px;min-height:44px}
.sheet-actions #closeBtn{min-height:44px;font-size:14px}
.sheet-actions{padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--card)}
.allergen-info summary{min-height:44px;display:flex;align-items:center;gap:8px}
.allergen-info summary::before{content:'+';font-size:20px}
.allergen-info[open] summary::before{content:'−'}
.upsell{flex-wrap:wrap;gap:8px}
.upsell button{min-width:44px;min-height:44px}
.line{align-items:start;gap:16px}
.line>div{min-width:0}
.line .ctl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.line .ctl button,.line .ctl button[data-e]{min-width:44px;min-height:44px;font-size:14px!important}
.field{min-width:0;margin:12px 0}
.field label{display:block;font-size:14px;font-weight:750;margin-bottom:6px;color:#24251f}
.field .in{width:100%;margin:0;min-width:0;font-size:16px;color:#24251f}
.in::placeholder{color:#6a655b;opacity:1}
.g2{align-items:start;gap:12px}
.g2 .field{margin-bottom:0}
.password-toggle{display:block;margin:8px 0;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;text-decoration:underline;color:#514d44;background:#fffcf7}
#passwordHelp{margin:12px 0}
.checkout-summary{border-top:1px solid var(--line);padding-top:16px;margin:12px 0 18px}
.checkout-summary h3{font-size:18px}
#checkoutSummary{white-space:pre-line;line-height:1.7;font-size:15px;margin:8px 0;color:#34342c}
fieldset{min-width:0}
fieldset label{font-size:16px;line-height:1.5;cursor:pointer}
fieldset input[type=radio]{width:20px;height:20px;vertical-align:middle;accent-color:var(--acc)}
.days button,.slots button{min-width:44px;min-height:48px;font-size:15px}
.days small{font-size:14px}
.btn{white-space:normal;line-height:1.4;text-align:center;min-height:48px}
.nav{height:calc(var(--nav) + env(safe-area-inset-bottom));padding-top:4px;background:#f6f2e9}
.nav button{font-size:13px;min-width:0;padding:6px 2px;line-height:1.3;color:#625e53}
.nav button.on{font-weight:800;color:#9e3c1e}
.nav svg{width:23px;height:23px}
.cartbar{bottom:calc(var(--nav) + env(safe-area-inset-bottom) + 10px)}
.page{padding-bottom:110px}
.team-access{font-size:14px;text-align:center;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}
.team-access a{color:#625e53}
#pg-suivi .card{margin-top:18px}
#pg-infos .btn{margin-top:12px}
.order-progress{gap:8px}
.order-progress li{overflow-wrap:anywhere}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9e3c1e;outline-offset:3px}
@media(max-width:700px){
 .compact-hero{height:128px}.compact-hero .t{padding:13px}.compact-hero h1{font-size:21px}.compact-hero p{font-size:13px}
 .catalogue-tools label{font-size:21px}.quick-filters{gap:6px}.quick-filters button{font-size:13px}
 .menu-product .item,.menu-product .item.no-img{min-height:150px;padding:18px 46px 18px 14px;gap:12px}
 .menu-product .item.img{grid-template-columns:minmax(0,1fr) 12px}
 .menu-product .item.img img{grid-column:1;width:100%;height:145px;object-position:center}
 .menu-product .item.img>span:not(.item-arrow){grid-column:1}
 .menu-product .item .item-arrow{grid-column:2;grid-row:1;margin-top:48px}
 .item .n{font-size:18px}.item .d,.price-options{font-size:14px}
 .sheet{padding:16px 14px 0;max-height:94dvh}.sheet h3{font-size:23px}
 .sheet-photo{height:125px}.sheet .d,.sheet>p{font-size:14px}.sheet .lbl,.allergen-info{font-size:14px}
 .sheet-actions .row{flex-wrap:wrap}.sheet-actions .row>.btn{flex:1;min-width:140px}
 .nav button{font-size:12px}.order-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
 .g2{grid-template-columns:1fr}.g2 .field{margin-bottom:0}
 .status{font-size:12px;max-width:46%;padding:6px 8px}.brand{font-size:16px;gap:7px}
 .slots{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-height:500px){.sheet-photo{display:none}.sheet{max-height:96dvh}.sheet-actions{position:static}.compact-hero{height:110px}}
