/* Tiroir panier de la carte (#mp-drawer) et masquage des anciens tiroirs de thème. */
  #mp-backdrop{
    position:fixed;inset:0;z-index:1040;
    background:var(--mp-ui-backdrop,rgba(15,23,42,.42));
    opacity:0;pointer-events:none;
    transition:opacity .22s ease;
    backdrop-filter:blur(3px);
  }
  #mp-backdrop.open{opacity:1;pointer-events:auto}
  #mp-drawer{
    position:fixed;z-index:1050;
    top:12px;right:12px;bottom:12px;
    width:min(var(--mp-ui-drawer-width,480px),calc(100vw - 24px));
    height:auto;
    display:flex;flex-direction:column;
    overflow:hidden;
    background:var(--mp-ui-surface,#fff);
    border:1px solid rgba(255,255,255,.7);
    border-radius:var(--mp-ui-drawer-radius,28px);
    box-shadow:-18px 0 54px rgba(15,23,42,.18);
    transform:translateX(calc(100% + 28px));
    transition:transform .28s cubic-bezier(.22,.8,.24,1);
  }
  #mp-drawer.open{transform:translateX(0)}
  #mp-drawer .hdr{
    padding:20px 20px 17px;
    border-bottom:1px solid var(--mp-ui-border,#e7ebf0);
    background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
    display:flex;align-items:center;justify-content:space-between;gap:16px;
  }
  #mp-drawer .body{
    padding:14px 18px 20px;
    overflow:auto;flex:1;
    -webkit-overflow-scrolling:touch;
  }
  #mp-drawer .mp-cart-drawer-heading{display:flex;align-items:center;gap:12px;min-width:0}
  #mp-drawer .mp-cart-drawer-icon{
    width:42px;height:42px;min-width:42px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:var(--mp-ui-accent-soft,#fff7d8);
    color:var(--mp-ui-accent-strong,#9a6c00);
  }
  #mp-drawer .mp-cart-drawer-icon svg{width:20px;height:20px}
  #mp-drawer .mp-cart-drawer-title{
    display:block;margin:0;color:var(--mp-ui-ink,#101828);
    font-size:18px;font-weight:850;line-height:1.2;letter-spacing:-.02em;
  }
  #mp-drawer .mp-cart-drawer-subtitle{
    display:block;margin-top:3px;color:var(--mp-ui-muted,#667085);
    font-size:11px;line-height:1.4;font-weight:500;
  }
  #mp-drawer .mp-cart-drawer-close{
    width:40px;height:40px;min-width:40px;
    display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--mp-ui-border,#e7ebf0);
    border-radius:13px;background:#fff;color:#344054;
    cursor:pointer;transition:background .15s ease,transform .15s ease;
  }
  #mp-drawer .mp-cart-drawer-close:hover{background:var(--mp-ui-soft,#f8fafc);transform:rotate(3deg)}
  #mp-drawer .mp-cart-drawer-close svg{width:18px;height:18px}
  #mp-backdrop[hidden],#mp-drawer[hidden]{display:none!important}
  body.mp-no-scroll{overflow:hidden}

  /* Cross-sell discret : intégré dans le panier, jamais en superposition. */
  .mp-cart-suggestions{
    margin:14px 0 12px;padding:13px 0 2px;
    border-top:1px solid var(--mp-ui-border,#e7ebf0);
  }
  .mp-cart-suggestions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}
  .mp-cart-suggestions-head strong{display:block;color:var(--mp-ui-ink,#101828);font-size:13px;font-weight:850;line-height:1.3}
  .mp-cart-suggestions-head span{display:block;margin-top:2px;color:var(--mp-ui-muted,#667085);font-size:10px;line-height:1.35}
  .mp-cart-suggestions-list{display:grid;gap:7px}
  .mp-cart-suggestion-item{
    display:grid;grid-template-columns:48px minmax(0,1fr) 36px;align-items:center;gap:9px;
    padding:7px;border:1px solid var(--mp-ui-border,#e7ebf0);border-radius:13px;background:#fff;
  }
  .mp-cart-suggestion-media{
    width:48px;height:48px;border-radius:10px;overflow:hidden;background:var(--mp-ui-soft,#f8fafc);
    display:flex;align-items:center;justify-content:center;color:var(--mp-ui-muted,#667085);font-weight:800;
  }
  .mp-cart-suggestion-media img{width:100%;height:100%;object-fit:cover;display:block}
  .mp-cart-suggestion-copy{min-width:0}
  .mp-cart-suggestion-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mp-ui-ink,#101828);font-size:12px;font-weight:800}
  .mp-cart-suggestion-copy span{display:block;margin-top:2px;color:var(--mp-ui-muted,#667085);font-size:10px;font-weight:650}
  .mp-cart-suggestion-add{
    width:36px;height:36px;border:0;border-radius:11px;background:var(--mp-ui-accent,#111827);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,opacity .15s ease;
  }
  .mp-cart-suggestion-add:hover{transform:translateY(-1px)}
  .mp-cart-suggestion-add:disabled{opacity:.55;cursor:wait;transform:none}
  .mp-cart-suggestion-add svg{width:16px;height:16px}
  .mp-cart-suggestion-add.is-loading svg{animation:mpCrossSellPulse .8s ease-in-out infinite alternate}
  @keyframes mpCrossSellPulse{from{opacity:.35;transform:scale(.82)}to{opacity:1;transform:scale(1)}}

  @media (max-width:768px){
    #mp-drawer{
      top:0;right:0;bottom:0;width:100%;max-width:none;
      border-radius:0;border:0;
      transform:translateX(100%);
    }
    #mp-drawer .hdr{padding:16px 15px 14px}
    #mp-drawer .body{padding:12px 14px calc(18px + env(safe-area-inset-bottom))}
  }
  aside.drawer, #drawer, [data-theme-cart-drawer], .theme-cart-drawer,
  #cartDrawer, .cart-drawer, .drawer--cart, .mini-cart-drawer {
    display:none!important; visibility:hidden!important; pointer-events:none!important;
  }

/* Message flottant (« Ajouté au panier »…) : caché tant qu'il est vide, quel que soit le thème (sinon une barre vide s'affiche au-dessus du pied de page). */
#notification.notification-container{position:fixed;z-index:1080;right:16px;bottom:16px;display:none;max-width:min(420px,calc(100vw - 32px));padding:.75rem 1rem;border-radius:12px;background:#212121;color:#fff;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.18)}
#notification.notification-container:empty{display:none!important}
