.cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,85vw);max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;padding:0;border:0;background:#fff;color:#302039;box-shadow:-12px 0 60px #20112730;overflow:hidden}.cart-drawer[open]{display:flex;flex-direction:column;animation:cd-in .24s ease-out}.cart-drawer.cd-closing{animation:cd-out .18s ease-in forwards}.cart-drawer::backdrop{background:#17102050}.cart-drawer [hidden]{display:none!important}.cd-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;flex-shrink:0}.cd-header h2{font-size:22px;font-weight:700;margin:0}.cd-header h2 span{font-size:14px;font-weight:500;color:#7c7083;margin-left:6px}.cart-drawer button{cursor:pointer}.cd-header button{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;border:1px solid #e9e1ec;background:#faf8fc;color:#654164}.cd-gradient{height:4px;flex-shrink:0;background:linear-gradient(105deg,#43c6d8,#654164 52%,#f38b70)}.cd-status{font-size:13px;color:#654164;padding:12px 20px}.cd-status:empty{display:none}.cd-items{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px}.cd-row{display:grid;grid-template-columns:56px minmax(0,1fr) 36px;gap:8px;padding:12px 0;border-bottom:1px solid #eee7f0}.cd-image{width:56px;height:64px;object-fit:contain;background:#fff;border:1px solid #eee7f0;border-radius:10px;padding:4px}.cd-name{font-size:14px;font-weight:600;color:#302039;text-decoration:none;overflow-wrap:anywhere;line-height:1.4;display:block}.cd-sku,.cd-unit,.cd-min{font-size:12px;color:#7c7083;margin:4px 0}.cd-line-total{font-size:18px;font-weight:700;color:#654164;margin:5px 0}.cd-qty{display:inline-flex;align-items:center;border:1px solid #e9e1ec;border-radius:8px;overflow:hidden}.cd-qty button{width:40px;height:40px;border:0;background:#faf8fc;color:#654164;font-size:20px}.cd-qty input{width:48px;min-width:0;height:40px;text-align:center;border:0;border-radius:0;background:white;color:#302039;font-size:16px;appearance:textfield;-moz-appearance:textfield}.cd-qty input::-webkit-inner-spin-button{appearance:none}.cd-remove{width:36px;height:40px;display:grid;place-items:center;color:#85758f;background:transparent;border:0;border-radius:8px}.cd-remove:hover{color:#b4233b;background:#fff1f3}.cd-remove svg{width:21px;height:21px}.cd-footer{flex-shrink:0;padding:12px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid #e9e1ec;background:#fff;box-shadow:0 -5px 20px #20112708}.cd-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:15px}.cd-total strong{font-size:22px;color:#654164;white-space:nowrap}.cd-shipping{font-size:12px;color:#7c7083;line-height:1.5;margin:5px 0 14px}.cd-checkout{display:flex;align-items:center;justify-content:center;gap:12px;background:#f38b70;color:#302039;padding:10px;border-radius:10px;font-weight:700;text-decoration:none;min-height:48px}.cd-checkout:hover{background:#ee795b}.cd-continue{display:block;width:100%;border:0;background:transparent;padding:10px 8px 2px;color:#654164;font-size:14px}.cd-empty{padding:44px 10px;text-align:center}.cd-empty h3{font-size:19px;font-weight:600;margin-bottom:10px}.cd-empty p{font-size:14px;color:#7c7083;line-height:1.6}.cart-drawer button:disabled{opacity:.45;cursor:wait}.cart-drawer[aria-busy=true] .cd-checkout{pointer-events:none;opacity:.5}.cart-drawer :focus-visible{outline:2px solid #654164;outline-offset:2px}[data-cd-retry]{margin:0 20px 12px;padding:10px;border:1px solid #e9e1ec;border-radius:8px;color:#654164;background:#faf8fc}@keyframes cd-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes cd-out{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.cart-drawer[open],.cart-drawer.cd-closing{animation:none}}@media(max-width:480px){.cd-items{padding:0 12px}.cd-row{grid-template-columns:48px minmax(0,1fr) 36px;gap:8px}.cd-image{width:48px;height:56px}.cd-info{display:contents}.cd-name{grid-column:2;grid-row:1;font-size:13px}.cd-remove{grid-column:3;grid-row:1}.cd-sku{grid-column:2 / 4;margin:0}.cd-unit{grid-column:1 / 4;margin:0}.cd-line-total{grid-column:3;grid-row:4;justify-self:end;align-self:center;white-space:nowrap;font-size:16px;margin:0}.cd-qty{grid-column:1 / 3;grid-row:4;justify-self:start}.cd-qty button{width:36px}.cd-qty input{width:42px}.cd-min{grid-column:1 / 4;margin:0}.cd-header,.cd-footer{padding-left:12px;padding-right:12px}.cd-total{font-size:13px;gap:6px}.cd-total strong{font-size:20px}.cd-checkout{font-size:14px;gap:6px}}
.cd-fly-card{position:fixed;z-index:2147483000;width:100px;height:100px;padding:7px;background:#fff;border:2px solid #f38b70;border-radius:14px;box-shadow:0 8px 24px #65416440;pointer-events:none;overflow:hidden;box-sizing:border-box;will-change:transform,opacity}.cd-fly-card img{width:100%;height:64px;object-fit:contain}.cd-fly-card span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;color:#654164}.cd-add-error{color:#b4233b;font-size:13px;margin-top:8px}

.cart-product-count{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:21px;height:21px;padding:0 4px;margin-left:4px;border-radius:999px;background:#fff9;color:#654164;border:1px solid #65416440;font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;vertical-align:middle}.cart-product-count[hidden]{display:none!important}

/* Keep one/two digits round; let larger quantities expand without wrapping. */
#cart-badge{box-sizing:border-box;width:max-content;min-width:20px;height:20px;padding:0 2px;border-radius:999px;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}

.header-actions svg.h-5{width:26px;height:26px;flex-shrink:0}
#cart-badge{background-color:rgba(249,115,22,.3);color:#9a3412;top:-9px;right:-7px}

@media(max-width:360px){header .header-actions{gap:4px!important}}

/* Keep the solid quantity pill above the basket, away from its outline. */
.header-actions [data-cart-drawer-open]>span:first-child{padding:0;align-items:center;height:26px}
#cart-badge{background-color:#f97316;color:#fff;top:-9px;right:-4px;box-shadow:0 0 0 2px #fff}

/* Equal side lanes keep the label centred in both persistent cart states. */
button.cart-state-button{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:0!important;padding-inline:3px!important;min-width:108px;min-height:42px;white-space:nowrap;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
.cart-state-button .cart-button-label{display:grid;text-align:center;min-width:64px;line-height:1.25}
.cart-state-button .cart-button-label>span{grid-area:1/1}
.cart-state-button .cart-button-icon{display:grid;place-items:center;justify-self:center;width:14px;height:14px}
.cart-state-button .cart-button-icon>span{grid-area:1/1;display:flex}
.cart-state-button .cart-button-icon svg{width:14px;height:14px}
.cart-state-button .cart-button-filled{visibility:hidden}
.cart-state-button .cart-product-count-slot{display:flex;align-items:center;justify-content:center;min-width:0;height:21px}
.cart-state-button .cart-product-count{margin:0;padding:0 3px;min-width:21px;background:#fff;color:#654164;border:0;font-size:10px;white-space:nowrap}
button.cart-state-button:has(.cart-product-count:not([hidden])){background:#654164!important;border-color:#654164!important;color:#fff!important}
.cart-state-button:has(.cart-product-count:not([hidden])) .cart-button-empty{visibility:hidden}
.cart-state-button:has(.cart-product-count:not([hidden])) .cart-button-filled{visibility:visible}
@media(max-width:360px){button.cart-state-button{font-size:11px;padding-inline:1px!important;min-width:0}.cart-state-button .cart-button-label{min-width:54px}.cart-state-button .cart-product-count{font-size:9px;padding-inline:2px}}

/* The basket keeps its visual identity as it travels into the drawer header. */
.cd-header{min-height:66px;padding:12px 16px}
.cd-header>button{width:44px;height:44px;padding:9px;border:0;background:transparent;color:#52525b;box-shadow:none}
.cd-header>button svg{display:block;width:26px;height:26px;stroke-width:1.75;color:#52525b}
.cd-cart-mark{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#52525b}
.cd-cart-mark>span,.cd-cart-traveller>span{position:relative;display:inline-flex;align-items:center;padding:0;height:26px}
.cd-cart-mark svg,.cd-cart-traveller svg{width:26px;height:26px;flex-shrink:0}
.cd-cart-mark [data-cd-badge],.cd-cart-traveller [data-cd-badge]{position:absolute;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:max-content;min-width:20px;height:20px;padding:0 2px;top:-9px;right:-4px;border-radius:999px;background:#f97316;color:white;font-size:11px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px white}
.cd-cart-mark [data-cd-badge].hidden,.cd-cart-traveller [data-cd-badge].hidden{display:none}
.cd-cart-traveller{position:fixed;inset:0 auto auto 0;margin:0;padding:0;border:0;background:transparent;color:#52525b;overflow:visible;pointer-events:none;width:26px;height:26px}
.cd-cart-traveller::backdrop{background:transparent;pointer-events:none}

/* A bare close icon; keyboard focus is indicated on the icon itself. */
.cart-drawer .cd-header>button,.cart-drawer .cd-header>button:focus-visible{border:0;outline:none;box-shadow:none;background:transparent}
.cart-drawer .cd-header>button:focus-visible{background:#f4f4f5}

/* Match the white storefront header before the basket starts moving. */
.cart-drawer .cd-header{box-sizing:border-box;height:var(--cd-header-height,56px);min-height:0;flex-shrink:0;padding:0 16px}

/* Share the existing add-to-cart orange across purchase actions. */
:root{--cart-action-bg:#ea580c;--cart-action-hover:#c2410c;--cart-action-text:#fff}
button.cart-state-button:not(:has(.cart-product-count:not([hidden]))),.cart-drawer .cd-checkout{background:var(--cart-action-bg)!important;border-color:var(--cart-action-bg)!important;color:var(--cart-action-text)!important}
button.cart-state-button:not(:has(.cart-product-count:not([hidden]))):hover,.cart-drawer .cd-checkout:hover{background:var(--cart-action-hover)!important;border-color:var(--cart-action-hover)!important}
.cart-state-button .cart-button-icon{justify-self:end;margin-right:2px}

.cd-heading{display:flex;align-items:center;gap:0;min-width:0}
.cd-header .cd-heading h2{margin:0;font-size:13px;line-height:1.25;font-weight:500;color:#71717a}
