/* My RestoTech — Portail client responsive 2026 */
:root {
  --acc:#ff5a1f;--acc-d:#e6400b;--acc-l:#fff1eb;--acc-2:#ffd8c8;
  --bg:#f6f7f5;--card:#fff;--card2:#f7f8f6;--border:#e7e9e4;
  --txt:#161b16;--muted:#687068;--muted2:#9ca39c;
  --topbar:76px;--botnav:68px;--r:18px;--r-sm:12px;
  --shadow:0 4px 18px rgba(25,35,25,.07);--shadow-lg:0 18px 50px rgba(25,35,25,.15);
}
body{background:var(--bg)}
#app{width:100%;margin:0 auto;position:relative;background:var(--bg)}
#topbar{min-height:calc(var(--topbar) + var(--safe-t));height:auto;padding:calc(10px + var(--safe-t)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));border-bottom:0;box-shadow:0 1px 0 var(--border);z-index:30}
#tb-logo-img{width:56px;height:56px;border-radius:0;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(9,42,104,.17))}
#tb-logo-emoji{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--acc-l);font-size:24px}
#tb-name{font-size:17px;letter-spacing:-.35px}
#tb-tagline{color:var(--muted);font-size:11px}
.tb-btn{width:42px;height:42px;border:0;background:var(--card2);font-size:18px}

#tab-menu{padding-bottom:104px}
#hero{min-height:142px;margin:14px 14px 0;padding:24px;border-radius:24px;background:radial-gradient(circle at 90% 5%,rgba(255,255,255,.26),transparent 25%),linear-gradient(135deg,#ef3f10,#ff7a21);box-shadow:0 14px 34px rgba(230,64,11,.2)}
#hero::before{content:'Livraison rapide • Préparé avec soin';position:absolute;top:18px;left:24px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);font-size:10px;font-weight:800;letter-spacing:.2px}
#hero::after{right:8px;top:12px;width:118px;height:118px;opacity:.2}
#hero-name{font-size:24px;letter-spacing:-.7px}
#hero-sub{font-size:13px}
#delivery-only-banner{margin:14px 14px 8px;min-height:48px;padding:10px 14px;border-radius:15px;box-shadow:0 2px 10px rgba(255,90,31,.07)}

#menu-search-wrap{position:relative;margin:6px 14px 10px}
#menu-search{width:100%;height:48px;padding:0 46px;border:1px solid var(--border);border-radius:15px;background:var(--card);color:var(--txt);outline:none;font:600 14px/1 system-ui,sans-serif;box-shadow:0 2px 10px rgba(20,30,20,.04);-webkit-appearance:none}
#menu-search:focus{border-color:var(--acc);box-shadow:0 0 0 4px rgba(255,90,31,.1)}
#menu-search::-webkit-search-cancel-button{display:none}
.menu-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-52%);font-size:25px;color:var(--muted);z-index:1;pointer-events:none}
#menu-search-clear{display:none;position:absolute;right:9px;top:8px;width:32px;height:32px;border:0;border-radius:50%;background:var(--card2);color:var(--muted);font-size:22px;cursor:pointer}
#menu-search-clear.show{display:grid;place-items:center}

#cats{padding:6px 0 10px;border:0;background:rgba(246,247,245,.94);backdrop-filter:blur(12px)}
#cats-inner{gap:8px;padding:0 14px}
.cat-pill{padding:9px 17px;border:1px solid var(--border);border-radius:999px;color:var(--txt);font-weight:750;box-shadow:0 2px 8px rgba(20,30,20,.035)}
.cat-pill.on{background:#172117;border-color:#172117;color:#fff}

#menu-grid-wrap{padding:4px 14px 22px}
.cat-section-title{display:flex;align-items:baseline;justify-content:space-between;margin:18px 2px 11px;padding:0;color:var(--txt);font-size:19px;text-transform:none;letter-spacing:-.45px}
.cat-section-title small{color:var(--muted2);font-size:11px;font-weight:650;letter-spacing:0}
.items-row{display:grid;grid-template-columns:1fr;gap:11px}
.item-card{min-height:126px;display:grid;grid-template-columns:minmax(0,1fr) 118px;grid-template-areas:'body thumb';border:1px solid var(--border);border-radius:18px;box-shadow:0 4px 16px rgba(25,35,25,.055);overflow:hidden;background:var(--card);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.item-card:active{transform:scale(.985)}
.item-card.in-cart{border-color:rgba(255,90,31,.55);box-shadow:0 5px 20px rgba(255,90,31,.1)}
.item-thumb,.item-color-box{grid-area:thumb;width:118px;height:100%;min-height:126px;aspect-ratio:auto;object-fit:cover}
.item-color-box{font-size:42px}
.item-body{grid-area:body;padding:16px 13px 14px 16px;display:flex;flex-direction:column;align-items:flex-start}
.item-name{font-size:15px;line-height:1.25;margin:0 0 5px;font-weight:800;letter-spacing:-.2px}
.item-price{order:4;margin-top:auto;color:var(--txt);font-size:15px}
.item-desc{font-size:11px;line-height:1.45;margin-top:0;margin-bottom:7px;-webkit-line-clamp:2}
.item-extra-hint{font-size:10px;margin:0 0 6px}
.item-add{position:absolute;right:9px;bottom:9px;z-index:2;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--acc);font-size:24px;font-weight:500;box-shadow:0 4px 14px rgba(0,0,0,.17)}
.item-qty-badge{top:8px;right:8px;width:28px;height:28px;z-index:3}
.menu-empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted);text-align:center}
.menu-empty-state div{font-size:44px}.menu-empty-state strong{color:var(--txt);font-size:17px}.menu-empty-state span{font-size:12px}

#quick-cart{display:flex;align-items:center;gap:11px;position:fixed;z-index:45;left:14px;right:14px;bottom:calc(var(--botnav) + var(--safe-b) + 12px);min-height:56px;padding:8px 15px 8px 9px;border:0;border-radius:17px;background:#172117;color:#fff;box-shadow:0 14px 34px rgba(16,26,16,.28);cursor:pointer;transform:translateY(120px);opacity:0;pointer-events:none;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s}
#quick-cart.show{transform:translateY(0);opacity:1;pointer-events:auto}
.quick-cart-count{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--acc);font-size:14px;font-weight:900}
.quick-cart-label{flex:1;text-align:left;font-size:14px;font-weight:800}
#quick-cart-total{font-size:14px}

#botnav{border-top:0;box-shadow:0 -8px 28px rgba(25,35,25,.09);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.bn-btn{gap:4px}.bn-btn.active::after{content:'';position:absolute;top:5px;width:24px;height:3px;border-radius:3px;background:var(--acc)}
.cart-item{padding:14px 0}.cart-foot{box-shadow:0 -10px 30px rgba(20,30,20,.06)}
.btn-commander,.btn-ck-next{min-height:52px;border-radius:15px;box-shadow:0 8px 22px rgba(230,64,11,.22)}
.ck-section,.acc-section,.trk-recap{border-width:1px;box-shadow:var(--shadow)}

/* Panneaux de commande : plein écran sur téléphone, centrés ailleurs */
#checkout-overlay{justify-content:center;padding:0}
#checkout-sheet{width:100%;max-width:100%;max-height:min(94vh,94dvh);margin:0;transform:translateY(100%)}
#checkout-sheet.open{transform:translateY(0)}
#ck-body{overscroll-behavior:contain}
#extras-sh{width:100%;max-width:100%}

@media(min-width:600px){
  #hero,#delivery-only-banner,#menu-search-wrap,#menu-grid-wrap{margin-left:24px;margin-right:24px}
  #cats-inner{padding-left:24px;padding-right:24px}#menu-grid-wrap{padding-left:0;padding-right:0}
  .items-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  #quick-cart{left:50%;right:auto;width:520px;transform:translate(-50%,120px)}#quick-cart.show{transform:translate(-50%,0)}
  #checkout-overlay{padding:24px;align-items:center}
  #checkout-sheet{width:min(620px,100%);max-width:620px;max-height:min(840px,calc(100dvh - 48px));margin:0;border-radius:24px;transform:translateY(40px) scale(.98);opacity:0}
  #checkout-sheet.open{transform:translateY(0) scale(1);opacity:1}
  #extras-sh{width:min(620px,100%);max-width:620px;left:50%;right:auto;transform:translate(-50%,100%)}
  #extras-sh.open{transform:translate(-50%,0)}
  .ck-header{border-radius:24px 24px 0 0}
}
@media(min-width:960px){
  #app{max-width:1440px;box-shadow:0 0 50px rgba(20,30,20,.08)}#topbar{padding-left:34px;padding-right:34px}
  #hero,#delivery-only-banner,#menu-search-wrap,#menu-grid-wrap{margin-left:34px;margin-right:34px}#cats-inner{padding-left:34px;padding-right:34px}
  .items-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.item-card{display:block;min-height:330px}
  .item-thumb,.item-color-box{width:100%;height:190px;min-height:190px;aspect-ratio:auto}.item-body{min-height:140px;padding:16px}.item-name{font-size:16px}
  #tab-panier,#tab-compte,#tab-suivi{padding-left:max(20px,calc((100% - 760px)/2));padding-right:max(20px,calc((100% - 760px)/2))}.trk-hero{border-radius:0 0 24px 24px}
}
@media(min-width:1280px){.items-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:360px){:root{--topbar:70px}#topbar{gap:8px;padding-left:10px;padding-right:10px}#tb-logo-img{width:48px;height:48px}#tb-name{font-size:15px}#hero{min-height:136px;padding:20px}#hero::before{left:20px;top:14px}#hero::after{width:96px;height:96px;top:22px}#hero-name{font-size:21px;max-width:68%}#hero-sub{max-width:66%}.item-card{grid-template-columns:minmax(0,1fr) 102px}.item-thumb,.item-color-box{width:102px}.quick-cart-label{font-size:13px}}
@media(max-height:620px) and (orientation:landscape){#checkout-sheet{max-height:100dvh;border-radius:0}.ck-header{border-radius:0}#extras-sh{max-height:100dvh;border-radius:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
