/* Panier : tiroir latéral, aux couleurs Crépuscule (rose poudré, or, marron foncé) */
.cart-scrim{position:fixed;inset:0;z-index:90;background:rgba(15,7,5,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .35s}
.cart-scrim.on{opacity:1}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(440px,100%);display:flex;flex-direction:column;
  background:radial-gradient(80% 40% at 100% 0,rgba(241,212,154,.12),transparent 70%),linear-gradient(180deg,#2f1a14,#1f110d);
  color:#f6e2d9;box-shadow:-30px 0 80px -20px rgba(0,0,0,.7),inset 1px 0 0 rgba(241,212,154,.25);
  padding:calc(18px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) 20px;
  transform:translateX(104%);transition:transform .45s cubic-bezier(.2,.8,.2,1);font-family:"Figtree","Segoe UI",system-ui,sans-serif}
.cart-drawer.on{transform:none}
.cart-drawer[hidden],.cart-scrim[hidden],.cart-drawer [hidden]{display:none!important}
.cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(246,226,217,.14)}
.cart-head h2{margin:0;font:400 28px/1.1 "Fraunces",Georgia,serif;font-variation-settings:"SOFT" 100,"WONK" 1}
.cart-x{width:44px;height:44px;border-radius:50%;border:1px solid rgba(246,226,217,.2);background:transparent;color:inherit;font-size:26px;line-height:1;cursor:pointer}
.cart-x:hover{border-color:#f1d49a;color:#f1d49a}
.cart-ship{margin:16px 0 4px;font-size:14px;color:#cfb2a6}
.cart-ship p{margin:0 0 8px}
.cart-ship b{color:#f1d49a;font-weight:600}
.cart-bar{height:6px;border-radius:999px;background:rgba(246,226,217,.12);overflow:hidden}
.cart-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#eab0bb,#f1d49a);box-shadow:0 0 12px rgba(241,212,154,.7);transition:width .5s}
.cart-list{list-style:none;margin:8px -6px 0;padding:0 6px;flex:1;overflow-y:auto;overscroll-behavior:contain}
.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid rgba(246,226,217,.1)}
.cart-item img,.cart-ph{width:72px;height:72px;border-radius:36px 36px 10px 10px;object-fit:cover;background:#efcdc8;display:block}
.cart-info{min-width:0}
.cart-name{margin:0;font:500 17px/1.25 "Fraunces",Georgia,serif}
.cart-detail{margin:4px 0 0;font-size:12.5px;line-height:1.4;color:#cfb2a6;overflow-wrap:anywhere}
.cart-qty{display:inline-flex;align-items:center;margin-top:10px;border:1px solid rgba(246,226,217,.18);border-radius:999px}
.cart-qty button{width:40px;height:40px;border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer;border-radius:50%}
.cart-qty button:hover:not(:disabled){color:#f1d49a}
.cart-qty button:disabled{opacity:.3;cursor:not-allowed}
.cart-qty output{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.cart-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.cart-side strong{font:500 16px/1 "Fraunces",Georgia,serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.cart-rm{border:0;background:none;color:#cfb2a6;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 0}
.cart-rm:hover{color:#eab0bb}
.cart-empty{flex:1;display:grid;place-content:center;text-align:center;gap:14px;color:#cfb2a6}
.cart-empty p{margin:0;font:italic 400 20px/1.3 "Fraunces",Georgia,serif;color:#f6e2d9}
.cart-link{color:#f1d49a}
.cart-foot{padding-top:14px;border-top:1px solid rgba(246,226,217,.14)}
.cart-gift{margin-bottom:14px;padding:12px 14px;border:1px solid rgba(241,212,154,.3);border-radius:16px;background:rgba(241,212,154,.05)}
.cart-gift__check{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:15px;min-height:32px}
.cart-gift__check input{width:20px;height:20px;accent-color:#f1d49a;flex:none}
.cart-gift__check b{color:#f1d49a;font-weight:600}
.cart-gift__check > span::before{content:"✦ ";color:#f1d49a}
#giftMsgBox{margin-top:10px}
#giftMsgBox label{display:block;margin:0 0 6px}
#giftMsgBox textarea{width:100%;resize:vertical;min-height:58px;border:1px solid rgba(246,226,217,.2);background:rgba(20,10,7,.5);color:#f6e2d9;border-radius:12px;padding:10px 12px;font:400 14px/1.4 "Figtree",system-ui,sans-serif}
#giftMsgBox textarea:focus{outline:none;border-color:#f1d49a}
.cart-row{display:flex;justify-content:space-between;align-items:baseline;font-size:15px}
.cart-row strong{font:500 26px/1 "Fraunces",Georgia,serif;font-variant-numeric:tabular-nums}
.cart-small{margin:6px 0 0;font-size:12.5px;color:#cfb2a6}
.cart-brands{text-align:center;margin-top:10px}
.cart-error{margin:10px 0 0;min-height:0;font-size:13.5px;color:#ffb4b4}
.cart-error:empty{display:none}
.cart-pay{margin-top:14px;width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(100deg,#eab0bb,#f1d49a 55%,#eab0bb);background-size:200% 100%;color:#2a1712;font:600 16px/1 "Figtree",system-ui,sans-serif;
  box-shadow:0 14px 34px -14px rgba(241,212,154,.7);transition:background-position .6s,transform .3s}
.cart-pay:hover{background-position:100% 0;transform:translateY(-2px)}
.cart-pay svg{width:18px;height:18px}
.cart-pay:disabled{cursor:progress;opacity:.75;transform:none}
.cart-pay.busy span::after{content:"…";display:inline-block;animation:cartDots 1s steps(3) infinite;width:1em;text-align:left}
@keyframes cartDots{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -10% 0 0)}}
.cart-drawer :focus-visible{outline:2px solid #f1d49a;outline-offset:3px}
.card.soldout .card__img img{filter:grayscale(.6) brightness(.85)}
.card.soldout .plus{opacity:.4;cursor:not-allowed}
@media (prefers-reduced-motion:reduce){.cart-drawer,.cart-scrim,.cart-bar i{transition:none}}
