/* Cart drawer (inc/cart-drawer.php). From the approved product page prototype. */
.cart-scrim{position:fixed;inset:0;z-index:80;background:rgba(3,6,11,.6);opacity:0;transition:opacity var(--t-med) ease}
.cart-scrim.on{opacity:1}
.cart-scrim[hidden],.drawer[hidden]{display:none}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:90;width:min(440px,100%);background:var(--drawer);border-left:1px solid var(--gold-line);display:flex;flex-direction:column;transform:translateX(100%);transition:transform var(--t-med) var(--ease);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px);overscroll-behavior:contain}
.drawer.on{transform:none}
.drawer-inner{display:flex;flex-direction:column;min-height:0;flex:1}
.drawer.is-busy .drawer-inner{opacity:.6;pointer-events:none}
.d-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 12px}
.d-head h2{font-size:26px}
.drawer .ship{padding:0 24px 20px;border-bottom:1px solid var(--line);font-size:var(--fs-md)}
.drawer .ship .track{margin-top:8px;height:6px;border-radius:3px;background:var(--panel-2);overflow:hidden}
.drawer .ship .fill{height:100%;background:var(--gold);transition:width .4s ease}
.d-body{flex:1;overflow:auto;padding:20px 24px;display:flex;flex-direction:column;gap:20px}
.d-error{margin:0;padding:12px 14px;border-radius:12px;border:1px solid var(--error);color:var(--error);font-size:var(--fs-md)}
.line-item{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:16px;align-items:start}
.line-item .pic{aspect-ratio:1/1;border-radius:12px;background:var(--stage);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--gold)}
.line-item .pic img{height:84%;width:auto;object-fit:contain}
.line-item .pic .icon{width:32px;height:32px}
.line-item .nm,.line-item b{font-family:var(--display);font-weight:500;font-size:17px;display:block;color:var(--ink)}
.line-item .nm:hover{color:var(--gold)}
.line-item dl.variation{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-3);display:flex;flex-wrap:wrap;gap:0 6px}
.line-item dl.variation dt,.line-item dl.variation dd{margin:0}
.line-item dl.variation dd p{margin:0}
.line-ctl{display:flex;align-items:center;gap:12px;margin-top:8px}
.mini-qty{height:40px;border-radius:20px;border:1px solid var(--line-strong);display:flex;align-items:center}
.mini-qty button{width:40px;height:40px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:16px;border-radius:20px}
.mini-qty button:hover{background:var(--panel-2)}
.mini-qty button:disabled{opacity:.35;cursor:default}
.mini-qty output{min-width:16px;text-align:center;font-variant-numeric:tabular-nums}
.qty-fixed{font-size:var(--fs-sm);color:var(--ink-3)}
.link-btn{border:0;background:none;color:var(--ink-3);font-size:var(--fs-sm);text-decoration:underline;cursor:pointer;min-height:40px;padding:0}
.link-btn:hover{color:var(--ink)}
.drawer .amt{font-variant-numeric:tabular-nums}
.drawer .empty{text-align:center;padding:40px 0;color:var(--ink-2);display:flex;flex-direction:column;gap:16px;align-items:center}
.pairs{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:12px}
.pairs h3{font-family:var(--body);font-size:var(--fs-md);font-weight:600}
.pair{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:var(--fs-md)}
.pair .pic{aspect-ratio:1/1;border-radius:10px;background:var(--stage);display:flex;align-items:center;justify-content:center;overflow:hidden}
.pair .pic img{height:84%;width:auto;object-fit:contain}
.pair a{color:var(--ink)}
.pair a:hover{color:var(--gold)}
.pair span{color:var(--ink-3)}
.pair .price .badge,.pair .badge{font-size:11px}
.pair .btn{height:40px;padding:0 16px;font-size:var(--fs-sm)}
.note label{font-size:var(--fs-md);color:var(--gold);cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:40px}
.note textarea{width:100%;margin-top:8px;min-height:80px;font-size:var(--fs-md)}
.d-foot{padding:20px 24px 24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.d-foot .sum{display:flex;justify-content:space-between;font-size:var(--fs-lg)}
.d-foot p{margin:0;font-size:var(--fs-sm);color:var(--ink-3)}
.d-foot .view-cart{align-self:center;font-size:var(--fs-sm);color:var(--ink-3);text-decoration:underline}
.d-foot .pays{justify-content:center}
.d-foot .pays img{height:20px}
body.drawer-open{overflow:hidden}
/* The drawer opens after an add, so WooCommerce's "View cart" link is not needed */
.kit-card .added_to_cart{display:none!important}
@media (max-width:520px){.d-foot .pays{gap:4px;flex-wrap:nowrap}.d-foot .pays img{height:18px}.line-item{grid-template-columns:64px minmax(0,1fr) auto;gap:12px}}
@media (prefers-reduced-motion:reduce){.drawer,.cart-scrim{transition:none}}
