/* ============================================================
   INSTAFOOD V10.44 — UX PANIER (parcours commande)
   ------------------------------------------------------------
   Corrige le parcours sur mobile : le panier n'était accessible
   qu'en bas de la liste de 40 produits. Ajoute :
   - une barre panier flottante toujours visible (mobile)
   - le panier en bottom-sheet ouvrable d'un geste
   - des contrôles de quantité − / + par article (desktop + mobile)
   Chargé APRÈS order-glovo-v104342.css — scopé au parcours commande.
   ============================================================ */

/* ---- Lignes de panier : quantité ajustable (desktop + mobile) ---- */
body.if-order-glovo-inspired .if-cart-line{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;
  align-items:center;border-bottom:1px solid rgba(255,255,255,.10);padding:13px 0;
}
.if-cart-line__info{grid-column:1;min-width:0}
.if-cart-line__info strong{
  display:block;color:#fff;font-size:.95rem;line-height:1.25;font-weight:800;
}
.if-cart-line__info small{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  color:rgba(247,239,227,.55);font-size:.76rem;margin-top:3px;line-height:1.35;
}
.if-cart-line__qty{
  grid-column:1;display:inline-flex;align-items:center;width:max-content;margin-top:5px;
  border:1px solid rgba(201,164,92,.42);border-radius:999px;overflow:hidden;
  background:rgba(0,0,0,.25);
}
.if-cart-line__qty button{
  border:0;background:transparent;color:#ffd58f;width:32px;height:32px;
  font-size:1.15rem;font-weight:900;line-height:1;cursor:pointer;transition:background .15s;
}
.if-cart-line__qty button:hover{background:#f5a623;color:#0a0906}
.if-cart-line__qty span{
  min-width:34px;text-align:center;color:#fff;font-weight:800;font-size:.92rem;
}
.if-cart-line__end{
  grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;
  align-items:flex-end;justify-content:space-between;gap:8px;height:100%;
}
.if-cart-line__price{color:#ffd58f;font-weight:800;white-space:nowrap;font-size:.95rem}
.if-cart-line__del{
  border:0;border-radius:999px;width:27px;height:27px;cursor:pointer;
  background:rgba(255,255,255,.08);color:#fff;font-size:1rem;line-height:1;transition:background .15s;
}
.if-cart-line__del:hover{background:#e0533a}
.if-cart-empty{color:rgba(247,239,227,.6);text-align:center;padding:26px 0;font-size:.92rem}

/* ---- Barre panier flottante (mobile uniquement) ---- */
.if-cartbar{
  position:fixed;left:0;right:0;bottom:0;z-index:900;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(8,7,5,0),rgba(8,7,5,.97) 42%);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.if-cartbar[hidden]{display:none}
.if-cartbar__btn{
  width:100%;display:flex;align-items:center;gap:12px;cursor:pointer;border:0;
  border-radius:16px;padding:14px 16px;
  background:linear-gradient(135deg,#ffe7a3,#f5a623);color:#0a0906;
  font-weight:900;font-size:1rem;box-shadow:0 14px 34px rgba(0,0,0,.46);
}
.if-cartbar__btn:active{transform:scale(.99)}
.if-cartbar__count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:27px;height:27px;padding:0 7px;border-radius:999px;
  background:#0a0906;color:#ffd58f;font-size:.85rem;
}
.if-cartbar__label{flex:1;text-align:left}
.if-cartbar__total{font-size:1.06rem;white-space:nowrap}

/* ---- Backdrop + bouton fermeture du bottom-sheet ---- */
.if-cart-backdrop{
  position:fixed;inset:0;z-index:950;background:rgba(0,0,0,.62);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .25s;
}
body.if-cart-open .if-cart-backdrop{opacity:1;pointer-events:auto}
.if-cart-sheet-close{display:none}

/* ---- Mobile : panier en bottom-sheet ---- */
@media(max-width:920px){
  body.if-order-glovo-inspired .if-order-wrap{padding-bottom:88px}
  body.if-order-glovo-inspired .if-cart-panel{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;
    top:auto!important;margin:0!important;z-index:960;width:auto!important;
    max-height:86vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
    border-radius:22px 22px 0 0;
    background:#100d09;border:1px solid rgba(201,164,92,.26);border-bottom:0;
    padding:20px 16px calc(20px + env(safe-area-inset-bottom));
    transform:translateY(112%);transition:transform .3s cubic-bezier(.22,.61,.36,1);
    box-shadow:0 -24px 60px rgba(0,0,0,.55);
  }
  body.if-cart-open .if-cart-panel{transform:translateY(0)}
  body.if-cart-open{overflow:hidden}
  .if-cart-sheet-close{
    display:block;position:absolute;right:14px;top:13px;z-index:2;
    width:34px;height:34px;border-radius:999px;border:0;cursor:pointer;
    background:rgba(255,255,255,.1);color:#fff;font-size:1.3rem;line-height:1;
  }
  body.if-order-glovo-inspired .if-cart-panel h2{padding-right:44px}
  /* la zone d'articles défile, le récap reste accessible */
  body.if-order-glovo-inspired .if-cart-items{max-height:46vh;overflow-y:auto}
}

/* ---- Desktop : barre flottante masquée, panier sticky inchangé ---- */
@media(min-width:921px){
  .if-cartbar{display:none!important}
  .if-cart-backdrop{display:none!important}
  .if-cart-sheet-close{display:none!important}
}
