/* CODOS online store — cart drawer, buy box and the shared checkout. Uses the store's
   --brand color and font; everything else is the same for every store. */

/* Buy box on product pages */
.buy-box{display:grid;gap:12px}
.buy-box-secondary{margin-top:10px}
.btn-outline{background:transparent!important;color:var(--brand)!important;border:2px solid var(--brand)!important;box-shadow:none!important}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}
/* Buy box: the quantity beside the first button, as tall as it and with its corners (Shopify's layout). */
.buy-row{display:flex;align-items:stretch;gap:10px;min-width:0}
.buy-row>.btn{flex:1 1 auto;min-width:0;margin:0}
/* Beside Add to cart under the order form: only when the form has a quantity to mirror (not with quantity offers). */
body:not(:has(.order-form [data-cod-stepper])) [data-form-qty]{display:none}
.buy-qty:not(#cd){flex:none;border-radius:var(--buy-radius,var(--btn-radius,10px));border-color:color-mix(in srgb,currentColor 18%,transparent)}
.buy-qty button:not(#cd){display:grid;place-items:center;width:42px;height:auto;align-self:stretch;font-weight:400;transition:background .2s}
.buy-qty input:not(#cd){width:34px;padding:0;font-weight:500}
@media (max-width:360px){.buy-qty button:not(#cd){width:34px}.buy-qty input:not(#cd){width:26px}}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line,#e2e8f0);border-radius:999px;overflow:hidden;background:var(--card,#fff)}
.qty button{all:unset;cursor:pointer;width:38px;height:38px;text-align:center;font-size:18px;font-weight:700;color:var(--ink,#0f172a)}
.qty button:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}
.qty input,.qty span{width:40px;text-align:center;border:0;font:inherit;font-weight:700;background:transparent;color:inherit;-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{display:none}
.qty-sm button{width:30px;height:30px;font-size:15px}.qty-sm span{width:28px;font-size:13px}
.rates{border:0;padding:0;margin:0;display:grid;gap:8px}
/* Delivery options: one quiet list, a truck per option, a tick on the chosen one — no radio dots
   (the radio is still there for keyboards and screen readers). Order form and checkout. */
.rate-list,.co-rates{display:block;border:1px solid var(--line,#e5e7eb);border-radius:min(var(--field-radius,10px),14px);overflow:hidden;background:var(--card,#fff)}
.rate-option{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;font-weight:500;transition:background .2s ease}
.rate-option+.rate-option{border-top:1px solid var(--line,#e5e7eb)}
.rate-option:hover{background:color-mix(in srgb,currentColor 3%,transparent)}
.rate-option input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.rate-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,currentColor 6%,transparent);color:var(--muted,#64748b);transition:background .25s ease,color .25s ease}
.rate-name{display:grid;gap:1px;min-width:0;font-size:14px}.rate-name small{font-weight:400;font-size:12.5px;color:var(--muted,#64748b)}
.rate-name small{text-align:start}[dir=rtl] .rate-name small{text-align:right}
.rate-fee{font-size:14px;font-weight:600;white-space:nowrap}
.rate-fee.is-free{color:var(--brand,#111)}
.rate-check{display:grid;place-items:center;color:var(--brand,#111);opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .25s cubic-bezier(.3,1.4,.5,1)}
.rate-option:has(input:checked),.rate-option.is-selected{background:color-mix(in srgb,var(--brand,#111) 5%,transparent)}
.rate-option:has(input:checked) .rate-icon,.rate-option.is-selected .rate-icon{background:var(--brand,#111);color:var(--on-brand,#fff)}
.rate-option:has(input:checked) .rate-check,.rate-option.is-selected .rate-check{opacity:1;transform:none}
.rate-option:has(input:focus-visible){outline:2px solid var(--brand,#111);outline-offset:-2px}
@media (prefers-reduced-motion:reduce){.rate-option,.rate-icon,.rate-check{transition:none}}
/* The checkout: its own corners, hairlines and black, like its other boxes. */
.co-page .co-rates{border-color:#dedede;border-radius:var(--co-r);--line:#dedede;--muted:#707070}
.co-page .co-rates .rate-option{padding:14px 16px}

/* Cart button + drawer */
.cart-fab{position:fixed;bottom:76px;inset-inline-start:14px;z-index:41;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--card,#fff);color:var(--ink,#0f172a);box-shadow:0 8px 24px -8px rgba(15,23,42,.35);text-decoration:none;font-size:22px;border:1px solid var(--line,#e2e8f0)}
.cart-fab-count{position:absolute;top:-4px;inset-inline-end:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font:700 12px/20px system-ui,sans-serif;text-align:center}
.cart-fab-count[hidden]{display:none}
.cart-open,.cart-open body,.sc-open,.sc-open body{overflow:hidden}
.cart-drawer{position:fixed;inset:0;z-index:2147483300;background:rgba(15,23,42,.45);display:flex;justify-content:flex-end}
.cart-drawer[hidden]{display:none}
.cart-panel{width:min(420px,100%);height:100%;background:var(--card,#fff);color:var(--ink,#0f172a);display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(15,23,42,.2);animation:cart-in .22s ease-out}
[dir="rtl"] .cart-drawer{justify-content:flex-start}
@keyframes cart-in{from{transform:translateX(24px);opacity:.5}to{transform:none;opacity:1}}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line,#e2e8f0);font-size:17px}
.cart-close{all:unset;cursor:pointer;font-size:28px;line-height:1;width:32px;text-align:center}
.cart-lines{flex:1;overflow-y:auto;padding:8px 18px}
.cart-empty,.cart-loading{text-align:center;color:var(--muted,#64748b);padding:40px 0}
.cart-line{display:grid;grid-template-columns:64px 1fr;gap:6px 12px;padding:14px 0;border-bottom:1px solid var(--line,#e2e8f0)}
.cart-line img,.cart-line-img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--soft,#f1f5f9);grid-row:span 2}
.cart-line-info{display:grid;gap:2px;font-size:14px}
.cart-line-info small{color:var(--muted,#64748b)}
.cart-line-price{font-weight:800;color:var(--brand)}
.cart-line-error{color:#dc2626!important}
.cart-line-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cart-remove,.co-link{all:unset;cursor:pointer;font-size:12px;color:var(--muted,#64748b);text-decoration:underline}
.cart-footer{padding:16px 18px;border-top:1px solid var(--line,#e2e8f0);display:grid;gap:8px}
.cart-subtotal{display:flex;justify-content:space-between;font-size:16px}
.cart-hint{margin:0;font-size:12px;color:var(--muted,#64748b);text-align:center}
.btn.is-disabled{opacity:.5;pointer-events:none}

/* Checkout (shared by every store): the store changes only its logo, button colours,
   button shape and font. Layout and sizes follow the classic two-column checkout. */
.co-page{--co-r:min(var(--co-radius,10px),14px);margin:0;font-family:var(--font,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif);font-size:14px;background:#fff;color:#000;line-height:1.5;-webkit-font-smoothing:antialiased}
.co-page *{box-sizing:border-box}
.co-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:var(--on-brand,#fff);font:inherit;font-weight:600;font-size:16px;border:0;border-radius:var(--co-radius,10px);padding:15px 22px;min-height:54px;text-decoration:none;cursor:pointer;transition:filter .15s}
.co-page .btn:hover{filter:brightness(1.12)}
.co-page .btn[disabled]{opacity:.6;cursor:wait}
.co-page .btn-block{width:100%}
.co-header{background:#fff;border-bottom:1px solid #dedede}
.co-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1100px;margin:0 auto;padding:18px 20px}
.co-brand{display:flex;align-items:center;color:inherit;text-decoration:none;font-weight:600;font-size:21px}
.co-brand img{height:36px;width:auto;max-width:200px;object-fit:contain}
.co-secure{font-size:12px;color:#707070}
.co-cart-icon{display:flex;color:var(--brand)}
.co-root{padding:0}
.co-loading{text-align:center;padding:60px;color:#707070}
.co-layout{display:flex;flex-direction:column}
.co-main{padding:18px 20px 32px;background:#fff}
.co-summary{background:#f5f5f5;border-bottom:1px solid #dedede;order:-1}
.co-summary-toggle{all:unset;box-sizing:border-box;cursor:pointer;display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px;color:var(--brand);font-size:14px}
.co-summary-toggle strong{color:#000;font-size:17px}
.co-summary .co-summary-inner{display:none;padding:4px 20px 20px}
.co-summary.is-open .co-summary-inner{display:block}
.co-form{display:flex;flex-direction:column;gap:14px;max-width:520px;margin:0 auto}
.co-form h2{font-size:21px;font-weight:600;margin:18px 0 0;line-height:1.3}
.co-form h2:first-child{margin-top:4px}
.co-form h3{font-size:15px;font-weight:600;margin:14px 0 -2px}
.co-h-tight{margin-bottom:-10px!important}
.co-sub{margin:0;color:#707070;font-size:13px}
.co-input{position:relative;display:flex}
.co-input input,.co-input select,.co-input textarea{width:100%;font:inherit;font-size:14px;color:#000;background:#fff;border:1px solid #dedede;border-radius:var(--co-r);padding:14px 13px;min-height:50px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.co-input textarea{resize:vertical;min-height:70px}
.co-input input::placeholder,.co-input textarea::placeholder{color:#707070}
.co-input input:focus,.co-input select:focus,.co-input textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.co-input .invalid{border-color:#dd1d1d;box-shadow:0 0 0 1px #dd1d1d}
.co-input.has-help input{padding-inline-end:40px}
.co-help{position:absolute;top:50%;inset-inline-end:12px;transform:translateY(-50%);width:18px;height:18px;border:1.5px solid #707070;border-radius:50%;color:#707070;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:help}
.co-select select{padding:23px 36px 7px 13px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23707070' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}
[dir="rtl"] .co-select select{background-position:left 12px center;padding:23px 13px 7px 36px}
.co-float{position:absolute;top:7px;inset-inline-start:14px;font-size:12px;color:#707070;pointer-events:none;z-index:1}
.co-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;margin-top:-2px}
.co-check input{width:18px;height:18px;margin:0;accent-color:var(--brand,#000);flex-shrink:0}
.co-options{display:flex;flex-direction:column;gap:0}
.co-option{display:flex;align-items:center;gap:12px;padding:16px 16px;border:1px solid #dedede;border-radius:var(--co-r);cursor:pointer;font-size:14px;background:#fff}
.co-options>.co-option+.co-option{margin-top:10px}
.co-option.is-selected{background:color-mix(in srgb,var(--brand,#000) 4%,#fff);border-color:var(--brand,#000);box-shadow:inset 0 0 0 .5px var(--brand,#000)}
.co-option input{width:18px;height:18px;margin:0;accent-color:var(--brand,#000);flex-shrink:0}
.co-option-name{flex:1;display:flex;flex-direction:column;font-weight:500}
.co-option-name small{font-weight:400;color:#707070;font-size:13px}
.co-option strong{font-weight:600}
/* The note under the chosen option: its own panel just below it, in the chosen option's grey. */
.co-option-detail{margin:6px 0 0;padding:12px 16px;background:color-mix(in srgb,var(--brand,#000) 4%,#fff);border:0;border-radius:var(--co-r);color:#333;font-size:13px;line-height:1.5;animation:co-fade .2s ease both}
.co-option-detail+.co-option{margin-top:10px}
.co-options-joined{border:1px solid #dedede;border-radius:var(--co-r);overflow:hidden}
.co-options-joined>.co-option{border:0;border-radius:0}
.co-options-joined>.co-option+.co-option{margin-top:0;border-top:1px solid #dedede}
/* The selected outline is drawn inside each row: the end rows take the box's own rounding,
   or its square corners poke out of the rounded frame. */
.co-options-joined>:first-child{border-top-left-radius:calc(var(--co-r) - 1px);border-top-right-radius:calc(var(--co-r) - 1px)}
.co-options-joined>:last-child{border-bottom-left-radius:calc(var(--co-r) - 1px);border-bottom-right-radius:calc(var(--co-r) - 1px)}
/* Add a tip (Settings › Checkout › Tipping) */
.co-tip{margin-top:22px}
.co-tip h3{margin:0 0 2px}
.co-tip-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;border:1px solid #dedede;border-radius:var(--co-r);overflow:hidden}
.co-tip-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;padding:8px 4px;border:0;background:#fff;font:inherit;font-size:14px;color:inherit;cursor:pointer;transition:background .15s,box-shadow .15s}
.co-tip-option+.co-tip-option{border-inline-start:1px solid #dedede}
.co-tip-option small{color:#707070;font-size:12px}
.co-tip-option.is-selected{background:color-mix(in srgb,var(--brand,#000) 4%,#fff);box-shadow:inset 0 0 0 1.5px var(--brand,#000)}
.co-tip-option:first-child{border-start-start-radius:calc(var(--co-r) - 1px);border-end-start-radius:calc(var(--co-r) - 1px)}
.co-tip-option:last-child{border-start-end-radius:calc(var(--co-r) - 1px);border-end-end-radius:calc(var(--co-r) - 1px)}
.co-tip-option:focus-visible{outline:2px solid var(--brand,#000);outline-offset:-3px}
.co-tip-custom{margin-top:10px}
.co-tip-thanks{margin:8px 0 0;color:#707070;font-size:13px}
.co-charged{margin:10px 0 0;font-size:12px;line-height:1.5}
.co-options-joined>.co-option.is-selected{box-shadow:inset 0 0 0 1px var(--brand,#000)}
.co-billing-fields{display:flex;flex-direction:column;gap:12px;padding:14px;background:#f5f5f5;border-top:1px solid #dedede}
.co-muted-box{margin:0;padding:15px 14px;background:#f5f5f5;border-radius:var(--co-r);color:#707070;font-size:14px}
.co-note{margin:0;font-size:13px;color:#333;background:#f5f5f5;border-radius:var(--co-r);padding:10px 12px}
.co-form-error,.co-error{color:#dd1d1d;margin:0;font-size:13px}
.co-form-error[hidden]{display:none}
.co-field-error{color:#dd1d1d;font-size:13px;line-height:1.4;margin:-4px 0 0;display:flex;gap:6px;align-items:flex-start;animation:co-err-in .18s ease-out}
.co-field-error::before{content:"!";flex:none;width:15px;height:15px;margin-top:1px;border-radius:50%;background:#dd1d1d;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
@keyframes co-err-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.co-field-error{animation:none}}
.co-suggest{font-size:13px;line-height:1.5;color:#5c5c5c;margin:-4px 0 0;animation:co-err-in .18s ease-out}
.co-suggest b{color:#000;font-weight:600;word-break:break-all}
.co-suggest-use{font:inherit;font-weight:600;color:var(--brand);background:none;border:0;padding:2px 4px;margin-inline-start:6px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;border-radius:4px}
.co-suggest-use:hover{text-decoration-thickness:2px}
.co-suggest-use:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
@media (prefers-reduced-motion:reduce){.co-suggest{animation:none}}
.co-muted{color:#707070;font-size:13px;margin:0}
.co-submit{margin-top:10px}
.co-back{display:block;text-align:center;font-size:13px;color:var(--brand);margin-top:2px}
.co-policies{display:flex;flex-wrap:wrap;gap:6px 16px;border-top:1px solid #dedede;margin-top:22px;padding-top:16px}
.co-policies a{color:#000;font-size:12px;text-decoration:underline}
.co-consent{display:block;color:#707070;font-size:12px;line-height:1.55}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}

/* Order summary */
.co-item{display:flex;align-items:center;gap:14px;padding:8px 0}
.co-item-img{position:relative;width:64px;height:64px;border-radius:var(--co-r);border:1px solid #dedede;background:#fff;flex-shrink:0}
.co-item-img img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.co-item-qty{position:absolute;top:-9px;inset-inline-end:-9px;min-width:21px;height:21px;border-radius:999px;background:#666;color:#fff;font-size:12px;font-weight:600;line-height:21px;text-align:center;padding:0 6px}
.co-item-info{flex:1;display:flex;flex-direction:column;font-size:14px;min-width:0}
.co-item-info strong{font-weight:500}
.co-item-info small{color:#707070;font-size:12px}
.co-item-price{font-size:14px;white-space:nowrap}
.co-item-price s{color:#707070;margin-inline-end:6px}
.co-discount{display:flex;gap:10px;margin:18px 0 6px}
.co-discount .co-input{flex:1}
.co-apply{font:inherit;font-weight:600;font-size:14px;border:1px solid #dedede;border-radius:var(--co-r);padding:0 18px;min-height:50px;background:var(--brand);color:var(--on-brand,#fff);cursor:pointer;transition:background .15s,color .15s}
.co-apply[disabled]{background:#ebebeb;color:#707070;cursor:default}
.co-discount-error{margin:-2px 0 6px}
.co-chips{display:flex;gap:8px;margin:6px 0}
.co-chip{display:inline-flex;align-items:center;gap:6px;background:#e6e6e6;border-radius:var(--co-r);padding:4px 6px 4px 10px;font-size:13px;font-weight:500}
.co-chip-x{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:#555;padding:0 4px}
.co-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:14px}
.co-savings span:last-child{color:inherit}
.co-total{margin-top:6px;padding-top:10px;font-size:19px;font-weight:600;align-items:baseline}
.co-total strong{font-size:21px;font-weight:600}
.co-total strong small{font-size:12px;font-weight:400;color:#707070;margin-inline-end:4px}
.co-total-savings{font-weight:600;font-size:14px}
.co-empty{text-align:center;padding:60px 20px;display:grid;gap:14px;justify-items:center}

/* Cart page and thank-you page */
.co-cart{max-width:640px;margin:0 auto;padding:24px 18px;display:grid;gap:12px;background:#fff}
.co-cart h1{font-size:1.4rem;margin:0 0 6px}
.co-suggest{display:grid;gap:4px;margin:14px 0 4px;padding:14px;border:1px solid #dedede;border-radius:var(--co-radius,12px)}
.co-suggest-title{margin:0 0 4px;font-size:15px;font-weight:700}
.co-suggest-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0}
.co-suggest-item+.co-suggest-item{border-top:1px solid #ededed}
.co-suggest-item img,.co-suggest-item .co-item-img{width:56px;height:56px;border-radius:8px;object-fit:cover}
.co-suggest-info{display:grid;gap:3px;min-width:0}
.co-suggest-info a{overflow:hidden;color:inherit;font-weight:600;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.co-suggest-info small{color:#6b7280}
.co-suggest-opt{max-width:100%;height:32px;padding:0 8px;border:1px solid #dedede;border-radius:8px;background:#fff;color:inherit;font:inherit;font-size:13px}
.co-suggest-add{height:36px;padding:0 16px;border:1px solid var(--brand,#111);border-radius:99px;background:transparent;color:var(--brand,#111);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.co-suggest-add:hover{background:var(--brand,#111);color:var(--on-brand,#fff)}
.co-suggest-add:disabled{opacity:.5;cursor:default}
.co-cart-line{display:grid;grid-template-columns:72px 1fr;gap:8px 14px;padding:12px 0;border-bottom:1px solid #dedede}
.co-cart-line img,.co-cart-line .co-item-img{width:72px;height:72px;border-radius:8px;object-fit:cover;grid-row:span 2}
.co-cart-line a{color:inherit;font-weight:600;text-decoration:none}
.co-cart-actions{display:flex;align-items:center;justify-content:space-between}
.co-thanks{max-width:560px;margin:0 auto;padding:40px 18px;text-align:center;display:grid;gap:14px;background:#fff}
.co-thanks-icon{width:68px;height:68px;margin:0 auto;border-radius:50%;background:var(--brand);color:var(--on-brand,#fff);font-size:36px;display:flex;align-items:center;justify-content:center}
.co-thanks h1{margin:0;font-size:1.4rem}.co-thanks p{margin:0;color:#333}
.co-thanks .co-summary-inner{text-align:start;border:1px solid #dedede;border-radius:8px;padding:12px 16px}

@media (min-width:1000px){
  .co-page{background:linear-gradient(90deg,#fff 50%,#f5f5f5 50%)}
  [dir="rtl"] .co-page{background:linear-gradient(270deg,#fff 50%,#f5f5f5 50%)}
  .co-page.co-view-cart{background:#f5f5f5}
  .co-layout{flex-direction:row;max-width:1100px;margin:0 auto;min-height:calc(100vh - 73px)}
  .co-main{flex:0 0 55%;padding:38px 38px 38px 20px;border-inline-end:1px solid #dedede}
  .co-form{margin:0 0 0 auto}
  [dir="rtl"] .co-form{margin:0 auto 0 0}
  .co-summary{flex:0 0 45%;order:0;border:0;padding:38px 20px 38px 38px;background:transparent;position:sticky;top:0;align-self:flex-start;max-height:100vh;overflow:auto}
  .co-summary .co-summary-inner{display:block;padding:0;max-width:440px}
  .co-summary-toggle{display:none}
  .co-cart,.co-thanks{margin-top:32px;border-radius:12px;border:1px solid #dedede}
  .cart-fab{bottom:28px}
}
@media (max-width:480px){.co-grid2{grid-template-columns:1fr}}

.cart-progress{margin:0 0 10px}
.cart-progress p{margin:0 0 6px;font-size:.85rem;color:#475569}
.cart-progress-track{height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}
.cart-progress-track span{display:block;height:100%;background:var(--brand,#16a34a);transition:width .3s ease}

/* Wave 5: savings, payment choices, bank details */
.co-savings span:last-child,.cart-savings strong{color:#15803d;font-weight:700}
.co-item-price s,.cart-line-price s{color:#94a3b8;font-weight:500;margin-inline-end:6px;font-size:.9em}
.co-pay{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;cursor:pointer;margin-bottom:8px}
.co-pay input{accent-color:var(--brand);width:18px;height:18px;margin:1px 0 0}
.co-pay.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,#fff);box-shadow:inset 0 0 0 .5px var(--brand)}
.co-pay strong{display:block}
.co-pay small{color:#64748b}
.co-bank{margin:18px 0;padding:16px;border:1px solid #e2e8f0;border-radius:12px;text-align:start}
.co-bank h2{font-size:1rem;margin:0 0 8px}
.co-bank-details{white-space:pre-line;background:#f8fafc;border-radius:8px;padding:12px;margin:0 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}
.cart-savings,.cart-estimated{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px}
.cart-estimated strong{font-size:1.1rem}
.cart-page .co-item-info a{color:inherit}
.cart-line-title{color:inherit;text-decoration:none}
/* Bot check: only takes room when Cloudflare shows a challenge */
.co-captcha{display:flex;justify-content:center;margin:12px auto 24px}

/* ── Order summary bar (phones): icon, turning chevron, smooth open ── */
.co-summary-left{display:inline-flex;align-items:center;gap:8px}
.co-summary-toggle .co-icon-chevron{transition:transform .3s ease}
.co-summary.is-open .co-summary-toggle .co-icon-chevron{transform:rotate(180deg)}
.co-summary .co-summary-inner{display:block}
.co-summary-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.7,.2,1)}
.co-summary-body>.co-summary-inner{overflow:hidden;min-height:0;padding-top:0;padding-bottom:0;opacity:0;transition:opacity .3s ease,padding .35s ease}
.co-summary.is-open .co-summary-body{grid-template-rows:1fr}
.co-summary.is-open .co-summary-body>.co-summary-inner{opacity:1;padding-top:4px;padding-bottom:20px}
.co-chip .co-icon{flex:0 0 auto}
/* The order button: working, then done */
.co-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background-color .2s,transform .15s}
.co-submit:active:not(:disabled){transform:scale(.99)}
.co-submit.is-loading{cursor:progress;opacity:.92}
.co-submit.is-done{background:#15803d!important;border-color:#15803d!important;color:#fff!important}
.co-spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-inline-end-color:transparent;animation:co-spin .7s linear infinite}
@keyframes co-spin{to{transform:rotate(360deg)}}
/* Cart drawer: fade and slide in, and out */
.cart-drawer{animation:cart-fade .22s ease-out}
.cart-drawer.is-closing{animation:cart-fade-out .22s ease-in forwards}
.cart-drawer.is-closing .cart-panel{animation:cart-out .22s ease-in forwards}
[dir="rtl"] .cart-panel{animation-name:cart-in-rtl}
[dir="rtl"] .cart-drawer.is-closing .cart-panel{animation-name:cart-out-rtl}
@keyframes cart-fade{from{background:rgba(15,23,42,0)}}
@keyframes cart-fade-out{to{background:rgba(15,23,42,0)}}
@keyframes cart-out{to{transform:translateX(40px);opacity:0}}
@keyframes cart-in-rtl{from{transform:translateX(-24px);opacity:.5}to{transform:none;opacity:1}}
@keyframes cart-out-rtl{to{transform:translateX(-40px);opacity:0}}
.cart-go.is-loading{pointer-events:none;opacity:.85}
.cart-go.is-loading::before{content:"";display:inline-block;width:16px;height:16px;margin-inline-end:10px;vertical-align:-3px;border-radius:50%;border:2.5px solid currentColor;border-inline-end-color:transparent;animation:co-spin .7s linear infinite}
@media(prefers-reduced-motion:reduce){.co-summary-body,.co-summary-body>.co-summary-inner,.co-summary-toggle .co-icon-chevron,.cart-drawer,.cart-panel{transition:none!important;animation:none!important}}
@media(min-width:1000px){.co-summary-body{grid-template-rows:1fr}.co-summary-body>.co-summary-inner{opacity:1;padding:0}}

/* ── Store apps (wave 2) ── */
/* Trust Badges & Labels */
.cd-labels{position:absolute;top:10px;inset-inline-start:10px;display:flex;flex-direction:column;gap:4px;z-index:2;pointer-events:none}
.cd-label{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--lbl-bg,#dc2626);color:var(--lbl-color,#fff);font-size:11px;font-weight:800;letter-spacing:.02em;line-height:1.4;width:max-content}
.cd-label-new{background:#111;color:#fff}
.tb{list-style:none;margin:14px 0 0;padding:12px;display:flex;flex-wrap:wrap;gap:10px 16px;background:var(--tb-bg,#f8fafc);border-radius:var(--radius,12px)}
.tb li{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--ink,#0f172a)}
.tb svg{color:var(--tb-icon,#16a34a);flex-shrink:0}
.tb-row{justify-content:space-around}.tb-row li{flex:1 1 0;min-width:110px;flex-direction:column;text-align:center;gap:4px}
.tb-grid{display:grid;grid-template-columns:1fr 1fr}
.tb-list{flex-direction:column}
/* Size guide */
.sc-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:0;border:0;background:none;color:var(--ink,#0f172a);font:inherit;font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sc-modal{position:fixed;inset:0;z-index:2147483400;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.55)}
.sc-modal[hidden]{display:none}
.sc-panel{position:relative;width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--sc-panel,var(--card,#fff));color:var(--sc-ink,var(--ink,#0f172a));border-radius:16px;padding:22px}
.sc-panel h3{margin:0 0 12px;font-size:1.15rem}
.sc-close{position:absolute;top:10px;inset-inline-end:12px;width:32px;height:32px;border:0;border-radius:8px;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:inherit}
.sc-table-wrap{overflow-x:auto}
.sc-table{width:100%;border-collapse:collapse;font-size:.85rem}
.sc-table th,.sc-table td{padding:8px 10px;border-bottom:1px solid var(--line,#e5e7eb);text-align:start;white-space:nowrap}
.sc-table th{background:var(--soft,#f6f7f9);font-weight:700}
.sc-advisor{margin-top:16px;padding:14px;border-radius:12px;background:var(--soft,#f6f7f9);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sc-advisor-title{grid-column:1/-1;margin:0;font-weight:700}
.sc-advisor label{display:grid;gap:4px;font-size:.8rem;font-weight:600}
.sc-advisor input{font:inherit;padding:9px 10px;border:1px solid var(--line,#d1d5db);border-radius:8px;background:#fff;min-width:0}
.sc-advisor .cd-btn{grid-column:1/-1}
.sc-result{grid-column:1/-1;margin:0;font-weight:700;min-height:1.2em}
/* Frequently bought together */
.fbt{margin-top:18px;padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:var(--radius,12px);background:var(--fbt-bg,#fff)}
.fbt-title{margin:0 0 10px;font-weight:800}
.fbt-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line,#eef0f3);cursor:pointer;font-size:.9rem}
.fbt-item input{width:18px;height:18px;accent-color:var(--fbt-accent,#111);flex-shrink:0;margin:0}
.fbt-item img{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0}
.fbt-name{flex:1;min-width:0;color:inherit;text-decoration:none;display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}
.fbt-name small{color:var(--muted,#64748b);font-size:.75rem}
.fbt-price{font-weight:700;white-space:nowrap}
.fbt-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px}
.fbt-btn{border:0;border-radius:var(--btn-radius,10px);padding:11px 16px;background:var(--fbt-accent,#111);color:#fff;font:inherit;font-weight:700;cursor:pointer}
/* Cart drawer suggestions */
.cart-upsell{margin:10px 0 4px;padding:12px;border-radius:12px;background:var(--soft,#f6f7f9)}
.cart-upsell:not([hidden]){animation:cart-upsell-in .28s cubic-bezier(.32,.72,0,1)}
@keyframes cart-upsell-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cart-upsell:not([hidden]){animation:none}}
.cart-upsell-title{margin:0 0 8px;font-size:.85rem;font-weight:700}
.cart-upsell-item{display:flex;align-items:center;gap:10px;padding:6px 0}
.cart-upsell-item img{width:44px;height:44px;border-radius:8px;object-fit:cover}
.cart-upsell-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cart-upsell-opt{max-width:100%;height:30px;padding:0 8px;border:1px solid var(--line,#e5e7eb);border-radius:8px;background:#fff;color:inherit;font-size:.78rem}
.cart-upsell-name{min-width:0;display:flex;flex-direction:column;color:inherit;text-decoration:none;font-size:.85rem;font-weight:600}
.cart-upsell-name small{color:var(--muted,#64748b);font-weight:500}
.cart-upsell-add{border:1px solid var(--ink,#111);background:transparent;border-radius:8px;padding:6px 12px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
/* WhatsApp button */
.wa-float{position:fixed;bottom:var(--wa-offset,20px);z-index:80;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:var(--wa-bg,#25d366);color:var(--wa-color,#fff);font-weight:700;font-size:.9rem;text-decoration:none;box-shadow:0 10px 28px -8px rgba(0,0,0,.35)}
.wa-right{inset-inline-end:16px}.wa-left{inset-inline-start:16px}
.wa-icon-only{padding:14px}
/* The themes size their own round .wa-float link (52px circle); the app's button sizes to its label. */
.wa-float.wa-app{width:auto;height:auto;justify-content:flex-start}
.wa-pulse::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:wa-pulse 2.4s ease-out infinite;pointer-events:none}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--wa-bg,#25d366) 55%,transparent)}100%{box-shadow:0 0 0 16px transparent}}
html.cart-open .wa-float,html.sc-open .wa-float{display:none}
@media(max-width:700px){.wa-float{bottom:calc(var(--wa-offset,20px) + 64px)}}
/* Free shipping bar */
.fs-bar{position:relative;z-index:60;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 14px;background:var(--fs-bg,#111);color:var(--fs-color,#fff);font-size:.82rem;font-weight:600;text-align:center}
.fs-track{display:block;width:min(320px,80%);height:4px;border-radius:99px;background:color-mix(in srgb,var(--fs-color,#fff) 22%,transparent);overflow:hidden}
.fs-track>span{display:block;height:100%;width:0;border-radius:inherit;background:var(--fs-progress,#22c55e);transition:width .5s ease}
/* Spin wheel & pop-up */
/* ── Spin the Wheel (app) — in the theme's look (--sw-* set by apps.js); scoped under
   .sw-overlay so a theme's headings, inputs and buttons never reshape it ── */
html.sw-lock{overflow:hidden}
.sw-overlay{font-synthesis:none;--sw-bg:#fff;--sw-ink:#111;--sw-accent:#111;--sw-on-accent:#fff;--sw-btn-radius:12px;--sw-radius:18px;
  --sw-c1:var(--sw-accent);--sw-t1:var(--sw-on-accent);
  --sw-c2:color-mix(in srgb,var(--sw-accent) 13%,var(--sw-bg));--sw-t2:var(--sw-ink);
  --sw-c3:color-mix(in srgb,var(--sw-accent) 42%,var(--sw-bg));--sw-t3:var(--sw-ink);
  --sw-pointer:var(--sw-ink);--sw-line:color-mix(in srgb,var(--sw-ink) 16%,transparent);
  position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:16px;overflow-y:auto;
  background:rgba(15,23,42,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  font-family:var(--sw-font,inherit);color:var(--sw-ink);line-height:1.45;text-align:start;animation:sw-fade .25s ease both}
.sw-overlay-light{background:rgba(15,23,42,.28)}
.sw-overlay-dark{background:rgba(2,6,23,.78)}
.sw-overlay *,.sw-overlay *::before,.sw-overlay *::after{box-sizing:border-box}
.sw-overlay :is(h3,p,form,input,button,code){margin:0;float:none;max-width:none;min-height:0;letter-spacing:normal;text-transform:none;text-shadow:none}
.sw-overlay .sw-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:36px;
  width:min(820px,100%);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:40px;
  border-radius:var(--sw-radius);background:var(--sw-bg);color:var(--sw-ink);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.55),0 0 0 1px var(--sw-line);animation:sw-rise .42s cubic-bezier(.2,.9,.25,1.1) both}
.sw-overlay .sw-mode-popup{grid-template-columns:minmax(0,1fr);gap:20px;width:min(440px,100%);padding:40px 32px 28px;text-align:center}
.sw-overlay.is-closing{animation:sw-fade-out .24s ease forwards}
.sw-overlay.is-closing .sw-panel{animation:sw-sink .24s ease forwards}
@keyframes sw-fade{from{opacity:0}to{opacity:1}}
@keyframes sw-fade-out{to{opacity:0}}
@keyframes sw-rise{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:none}}
@keyframes sw-sink{to{opacity:0;transform:translateY(14px) scale(.97)}}

.sw-overlay .sw-close{position:absolute;top:14px;inset-inline-end:14px;z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;
  border:0;border-radius:50%;background:color-mix(in srgb,var(--sw-ink) 7%,transparent);color:inherit;cursor:pointer;transition:background .2s,transform .25s}
.sw-overlay .sw-close:hover{background:color-mix(in srgb,var(--sw-ink) 13%,transparent);transform:rotate(90deg)}

/* The wheel */
.sw-overlay .sw-art{display:grid;place-items:center;min-width:0}
.sw-overlay .sw-stage{position:relative;width:100%;max-width:340px;aspect-ratio:1/1;padding-top:14px}
.sw-overlay .sw-wheel{display:block;width:100%;height:100%;overflow:visible;transform-origin:50% 50%;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.22));transition:transform 4.8s cubic-bezier(.12,.72,.08,1)}
.sw-overlay .sw-slice{stroke:var(--sw-bg);stroke-width:1.2;transition:filter .4s,opacity .4s}
.sw-overlay .sw-s1{fill:var(--sw-c1)}.sw-overlay .sw-s2{fill:var(--sw-c2)}.sw-overlay .sw-s3{fill:var(--sw-c3)}
.sw-overlay .sw-label{font-family:var(--sw-head-font,inherit);font-weight:700;pointer-events:none}
.sw-overlay .sw-t1{fill:var(--sw-t1)}.sw-overlay .sw-t2{fill:var(--sw-t2)}.sw-overlay .sw-t3{fill:var(--sw-t3)}
.sw-overlay .sw-rim{fill:none;stroke:var(--sw-bg);stroke-width:5}
.sw-overlay .sw-peg{fill:var(--sw-ink);opacity:.35}
.sw-overlay .sw-hub{fill:var(--sw-bg);stroke:var(--sw-line);stroke-width:1}
.sw-overlay .sw-hub-dot{fill:var(--sw-pointer)}
.sw-overlay .sw-slice.is-won{filter:brightness(1.12) saturate(1.15)}
.sw-overlay .sw-wheel:has(.is-won) .sw-slice:not(.is-won){opacity:.45}
.sw-overlay .sw-pointer{position:absolute;top:0;left:50%;z-index:1;width:34px;height:42px;transform:translateX(-50%);overflow:visible;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.sw-overlay .sw-pointer path{fill:var(--sw-pointer);stroke:var(--sw-bg);stroke-width:2.5}
.sw-overlay .sw-pointer-dot{fill:var(--sw-bg)}
.sw-overlay.is-busy .sw-pointer{animation:sw-tick .16s ease-in-out 18 alternate}
@keyframes sw-tick{to{transform:translateX(-50%) rotate(-10deg)}}
.sw-overlay .sw-gift{display:grid;place-items:center;width:84px;height:84px;margin:0 auto;border-radius:50%;
  background:color-mix(in srgb,var(--sw-accent) 13%,var(--sw-bg));color:var(--sw-accent);animation:sw-pop .5s .15s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes sw-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}

/* The words, the field and the buttons */
.sw-overlay .sw-body{display:grid;gap:20px;min-width:0}
.sw-overlay .sw-head{display:grid;gap:8px;padding-inline-end:28px}
.sw-overlay .sw-mode-popup .sw-head{padding-inline-end:0}
.sw-overlay .sw-title{font-family:var(--sw-head-font,inherit);font-size:clamp(1.45rem,1.1rem + 1.4vw,2rem);font-weight:700;line-height:1.15;color:inherit;overflow-wrap:anywhere}
.sw-overlay .sw-text{font-size:15px;line-height:1.5;opacity:.72}
.sw-overlay .sw-form{display:grid;gap:10px}
.sw-overlay .sw-input{display:block;width:100%;height:52px;padding:0 16px;border:1px solid var(--sw-line);border-radius:min(var(--sw-btn-radius),14px);
  background:var(--sw-bg);color:var(--sw-ink);font:inherit;font-size:16px;line-height:normal;outline:0;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.sw-overlay .sw-input::placeholder{color:currentColor;opacity:.45}
.sw-overlay .sw-input:focus{border-color:var(--sw-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--sw-accent) 22%,transparent)}
:is(.sw-overlay,.bis) .sw-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.sw-overlay .sw-go{display:flex;align-items:center;justify-content:center;width:100%;height:52px;padding:0 20px;border:0;border-radius:var(--sw-btn-radius);
  background:var(--sw-accent);color:var(--sw-on-accent);font:inherit;font-size:16px;font-weight:600;line-height:1;cursor:pointer;
  transition:transform .2s ease,filter .2s,opacity .2s}
.sw-overlay .sw-go:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}
.sw-overlay .sw-go:disabled{opacity:.6;cursor:default}
.sw-overlay .sw-error{color:#dc2626;font-size:13px}
.sw-overlay .sw-error:empty{display:none}
.sw-overlay .sw-consent{font-size:12px;line-height:1.45;opacity:.6}
.sw-overlay .sw-skip{justify-self:start;padding:4px 0;border:0;background:none;color:inherit;font:inherit;font-size:14px;opacity:.6;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:opacity .2s}
.sw-overlay .sw-skip:hover{opacity:1}
.sw-overlay .sw-mode-popup .sw-skip{justify-self:center}
.sw-overlay .sw-result{display:grid;gap:10px;animation:sw-rise .45s cubic-bezier(.2,.9,.25,1.1) both}
.sw-overlay .sw-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:4px}
.sw-overlay .sw-code{display:flex;align-items:center;justify-content:center;min-width:0;height:52px;padding:0 14px;overflow:hidden;
  border:2px dashed var(--sw-accent);border-radius:min(var(--sw-btn-radius),14px);background:color-mix(in srgb,var(--sw-accent) 7%,var(--sw-bg));
  color:inherit;font-family:inherit;font-size:19px;font-weight:700;letter-spacing:.1em;white-space:nowrap;text-overflow:ellipsis}
.sw-overlay .sw-copy{width:auto;min-width:96px}
.sw-overlay .sw-copy.is-done{filter:saturate(.6)}
.sw-overlay [hidden]{display:none!important}

/* Scratch card: the prize under a silver foil (a canvas). Locked until the prize is drawn. */
.sw-overlay .sw-scratch{position:relative;width:100%;max-width:340px;aspect-ratio:3/2;border-radius:calc(var(--sw-radius) * .8);overflow:hidden;
  background:color-mix(in srgb,var(--sw-accent) 9%,var(--sw-bg));box-shadow:0 18px 34px -18px rgba(0,0,0,.45),0 0 0 1px var(--sw-line);
  user-select:none;-webkit-user-select:none;transform:rotate(-2deg);transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
.sw-overlay .sw-scratch.is-armed{transform:none;animation:sw-nudge 1.6s .3s ease-in-out 2}
.sw-overlay .sw-scratch-prize{position:absolute;inset:0;display:grid;place-content:center;gap:6px;padding:16px;text-align:center;
  border:2px dashed color-mix(in srgb,var(--sw-accent) 45%,transparent);border-radius:inherit}
.sw-overlay .sw-scratch-kicker{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.sw-overlay .sw-scratch-label{font-family:var(--sw-head-font,inherit);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem);font-weight:800;line-height:1.1;color:var(--sw-accent);overflow-wrap:anywhere}
.sw-overlay .sw-scratch-foil{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:default;transition:opacity .6s ease}
.sw-overlay .sw-scratch.is-armed .sw-scratch-foil{cursor:grab}
.sw-overlay .sw-scratch.is-clear .sw-scratch-foil{opacity:0;pointer-events:none}
.sw-overlay .sw-scratch.is-clear .sw-scratch-label{animation:sw-pop .5s cubic-bezier(.2,.9,.3,1.3) both}
.sw-overlay .sw-scratch-hint{position:absolute;inset:auto 0 14px;display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:13px;font-weight:600;color:#3b3f45;pointer-events:none;opacity:0;transition:opacity .3s}
.sw-overlay .sw-scratch.is-armed:not(.is-scratching) .sw-scratch-hint{opacity:.85}
@keyframes sw-nudge{0%,100%{transform:none}30%{transform:rotate(-1.5deg) scale(1.02)}60%{transform:rotate(1.2deg) scale(1.02)}}

/* Pick a gift: three wrapped boxes in the shop's colours; the opened one lifts its lid. */
.sw-overlay .sw-gifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;max-width:380px;padding-top:34px}
.sw-overlay .sw-box{position:relative;display:grid;place-items:end center;aspect-ratio:1/1.15;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:default;
  transition:opacity .45s ease,transform .3s ease;-webkit-tap-highlight-color:transparent}
.sw-overlay .sw-gifts.is-armed .sw-box:not(:disabled){cursor:pointer}
.sw-overlay .sw-gifts.is-armed:not(.has-pick) .sw-box{animation:sw-wiggle 1.4s ease-in-out infinite}
.sw-overlay .sw-gifts.is-armed:not(.has-pick) .sw-box:nth-child(2){animation-delay:.18s}
.sw-overlay .sw-gifts.is-armed:not(.has-pick) .sw-box:nth-child(3){animation-delay:.36s}
.sw-overlay .sw-gifts.is-armed .sw-box:not(:disabled):hover,.sw-overlay .sw-gifts.is-armed .sw-box:focus-visible{transform:translateY(-6px)}
.sw-overlay .sw-box:focus-visible{outline:2px solid var(--sw-accent);outline-offset:4px;border-radius:12px}
.sw-overlay .sw-box-art{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 12px 14px rgba(0,0,0,.2))}
.sw-overlay .sw-box-body{fill:var(--sw-accent)}
.sw-overlay .sw-box-top{fill:color-mix(in srgb,var(--sw-accent) 82%,#fff)}
.sw-overlay .sw-box-ribbon,.sw-overlay .sw-box-bow{fill:var(--sw-on-accent)}
.sw-overlay .sw-box-bow{stroke:color-mix(in srgb,var(--sw-accent) 40%,transparent);stroke-width:1}
.sw-overlay .sw-box-lid{transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s cubic-bezier(.2,.9,.3,1.2)}
.sw-overlay .sw-box.is-open .sw-box-lid{transform:translateY(-34%) rotate(-14deg)}
.sw-overlay .sw-box-prize{position:absolute;left:50%;top:38%;z-index:1;max-width:120%;padding:6px 10px;border-radius:999px;background:var(--sw-bg);color:var(--sw-ink);
  box-shadow:0 8px 18px -8px rgba(0,0,0,.45),0 0 0 1px var(--sw-line);font-size:13px;font-weight:800;white-space:nowrap;opacity:0;transform:translate(-50%,20px) scale(.7);
  transition:opacity .35s .25s,transform .5s .25s cubic-bezier(.2,.9,.3,1.3)}
.sw-overlay .sw-box.is-open .sw-box-prize{opacity:1;transform:translate(-50%,-40px) scale(1)}
.sw-overlay .sw-gifts.has-pick .sw-box:not(.is-open){opacity:.3;transform:scale(.92)}
@keyframes sw-wiggle{0%,70%,100%{transform:none}78%{transform:rotate(-5deg)}86%{transform:rotate(4deg)}94%{transform:rotate(-2deg)}}

/* Slot machine: three windows on a frame; the reels roll down and stop on the prize's sign. */
.sw-overlay .sw-slots{display:grid;gap:16px;justify-items:center;width:100%;max-width:340px}
.sw-overlay .sw-slots-window{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;padding:12px;border-radius:calc(var(--sw-radius) * .8);
  background:var(--sw-accent);box-shadow:0 18px 34px -18px rgba(0,0,0,.5),inset 0 -4px 0 rgba(0,0,0,.18)}
.sw-overlay .sw-reel{height:76px;overflow:hidden;border-radius:10px;background:var(--sw-bg);box-shadow:inset 0 10px 12px -8px rgba(0,0,0,.28),inset 0 -10px 12px -8px rgba(0,0,0,.28)}
.sw-overlay .sw-reel-strip{transition-property:transform;transition-timing-function:cubic-bezier(.2,.75,.25,1.04)}
.sw-overlay .sw-reel-cell{display:grid;place-items:center;height:76px;color:var(--sw-ink);opacity:.8}
.sw-overlay .sw-reel-cell.is-win{color:var(--sw-accent);opacity:1}
.sw-overlay .sw-slots.is-rolling .sw-reel-cell{filter:blur(.6px)}
.sw-overlay .sw-slots.is-won .sw-reel{animation:sw-flash .5s ease 2}
.sw-overlay .sw-slots-label{min-height:1.3em;font-family:var(--sw-head-font,inherit);font-size:1.5rem;font-weight:800;color:var(--sw-accent)}
.sw-overlay .sw-slots-label:empty{visibility:hidden}
.sw-overlay .sw-slots.is-won .sw-slots-label{animation:sw-pop .5s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes sw-flash{50%{box-shadow:inset 0 0 0 3px var(--sw-on-accent)}}
.sw-overlay .sw-reveal-all{justify-self:start}

@media(max-width:700px),(max-height:560px) and (max-width:900px){
  .sw-overlay{place-items:end center;padding:0}
  .sw-overlay .sw-panel,.sw-overlay .sw-mode-popup{grid-template-columns:minmax(0,1fr);gap:18px;width:100%;max-height:94dvh;
    padding:28px 20px calc(20px + env(safe-area-inset-bottom));border-radius:var(--sw-radius) var(--sw-radius) 0 0;text-align:center;animation-name:sw-sheet}
  .sw-overlay.is-closing .sw-panel{animation:sw-sheet-out .24s ease forwards}
  .sw-overlay .sw-stage{max-width:min(250px,62vw)}
  .sw-overlay .sw-scratch{max-width:min(300px,78vw)}
  .sw-overlay .sw-gifts{max-width:min(300px,80vw);gap:10px}
  .sw-overlay .sw-slots{max-width:min(290px,80vw)}
  .sw-overlay .sw-reel,.sw-overlay .sw-reel-cell{height:64px}
  .sw-overlay .sw-reveal-all{justify-self:center}
  .sw-overlay .sw-head{padding-inline-end:0}
  .sw-overlay .sw-skip{justify-self:center}
  .sw-overlay .sw-close{top:10px;inset-inline-end:10px}
}
@keyframes sw-sheet{from{transform:translateY(100%)}to{transform:none}}
@keyframes sw-sheet-out{to{transform:translateY(100%)}}
@media(max-height:620px) and (min-width:701px){.sw-overlay .sw-stage{max-width:260px}.sw-overlay .sw-panel{padding:28px}}
@media(prefers-reduced-motion:reduce){.sw-overlay,.sw-overlay *{animation:none!important}.sw-overlay .sw-wheel{transition-duration:.01s}.sw-overlay :is(.sw-box-lid,.sw-box-prize,.sw-scratch,.sw-scratch-foil){transition:none}}
@media(prefers-reduced-motion:reduce){.wa-pulse::after{animation:none}}
/* Back in Stock & Pre-order */
.bis{margin-top:14px;padding:12px;border:1px dashed var(--line,#cbd5e1);border-radius:var(--radius,12px)}
.bis-title{margin:0 0 8px;font-weight:700}
.bis-row{display:flex;gap:8px}
.bis-row input[type=tel],.bis-row input[type=email]{flex:1;min-width:0;font:inherit;padding:10px 12px;border:1px solid var(--line,#d1d5db);border-radius:8px}
.bis-or{align-self:center;font-size:.8rem;color:var(--muted,#64748b)}
.bis-choice .bis-row{flex-wrap:wrap}.bis-choice .bis-row input{flex:1 1 140px}
/* Several sold-out sizes or colours: the customer ticks the ones to hear about. */
.bis-picks{margin:0 0 12px;padding:0;border:0;min-width:0}
.bis-picks legend{padding:0;margin:0 0 8px;font-size:.85rem;font-weight:600;color:var(--muted,#6b7280)}
.bis-picks-list{display:flex;flex-wrap:wrap;gap:8px;max-height:148px;overflow-y:auto;padding:2px}
.bis-pick{position:relative;display:inline-flex;cursor:pointer}
.bis-pick input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.bis-pick span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line,#d1d5db);border-radius:calc(var(--radius,12px) * .6);background:var(--bg,#fff);color:var(--ink,#111);font-size:.88rem;line-height:1.2;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.bis-pick span::before{content:"";width:14px;height:14px;flex:none;border:1.5px solid var(--line,#9ca3af);border-radius:4px;transition:border-color .16s ease,background-color .16s ease}
.bis-pick:hover span{border-color:var(--ink,#111)}
.bis-pick input:checked + span{border-color:var(--ink,#111);box-shadow:inset 0 0 0 1px var(--ink,#111)}
.bis-pick input:checked + span::before{border-color:transparent;border-radius:0;background:var(--ink,#111);clip-path:polygon(12% 50%,0 64%,38% 100%,100% 24%,87% 11%,37% 72%)}
.bis-pick input:focus-visible + span{outline:2px solid var(--ink,#111);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.bis-pick span,.bis-pick span::before{transition:none}}
[data-gallery-main]{position:relative}
.bis-badge{position:absolute;top:12px;inset-inline-start:12px;z-index:2;padding:4px 10px;border-radius:999px;background:var(--bis-pre-color,#9a3412);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.02em;pointer-events:none;animation:bis-in .25s ease-out}
@keyframes bis-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bis-badge{animation:none}}
.bis-done{margin:0;font-weight:600;color:#15803d}
.bis-preorder{margin:10px 0 0;padding:8px 12px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:.85rem;font-weight:700}

/* ── Store apps: Design tab options ── */
.cd-label{font-size:var(--lbl-size,11px);border-radius:var(--lbl-radius,999px)}
.cd-label-new,.cd-label-tag{background:var(--lbl-new-bg,#111);color:var(--lbl-new-color,#fff)}
.tb{background:var(--tb-bg,#f8fafc);border:1px solid var(--tb-border,transparent);border-radius:var(--tb-radius,12px)}
.tb li{color:var(--tb-text,#0f172a);font-size:var(--tb-font,13px)}
.tb svg{width:var(--tb-icon-size,20px);height:var(--tb-icon-size,20px)}
.sc-link{color:var(--sc-link,#111)}
.sc-link-button,.sc-link-pill{text-decoration:none;padding:6px 12px;border:1px solid currentColor;border-radius:8px}
.sc-link-pill{border-radius:999px}
.sc-panel{border-radius:var(--sc-radius,16px)}
/* Fit Finder: a sheet from the side on computers, from the bottom on phones */
.sc-modal-fit{align-items:stretch;justify-content:flex-end;padding:0;animation:sc-fade .25s ease both}
.sc-modal-fit .sc-panel{display:flex;flex-direction:column;width:min(460px,100%);max-height:none;height:100%;padding:22px 22px 0;border-radius:0;animation:sc-side .38s cubic-bezier(.2,.8,.2,1) both}
[dir=rtl] .sc-modal-fit .sc-panel{animation-name:sc-side-rtl}
@media (max-width:640px){.sc-win-side{align-items:flex-end}.sc-win-side .sc-panel{width:100%;height:94dvh;border-radius:var(--sc-radius,16px) var(--sc-radius,16px) 0 0;animation-name:sc-rise}[dir=rtl] .sc-win-side .sc-panel{animation-name:sc-rise}}
/* A window in the middle */
.sc-win-center{align-items:center;justify-content:center;padding:16px}
.sc-win-center .sc-panel,[dir=rtl] .sc-win-center .sc-panel{width:min(520px,100%);height:auto;max-height:min(880px,calc(100dvh - 32px));border-radius:var(--sc-radius,16px);animation-name:sc-pop}
/* A sheet from the bottom, on every screen */
.sc-win-bottom{align-items:flex-end;justify-content:center}
.sc-win-bottom .sc-panel,[dir=rtl] .sc-win-bottom .sc-panel{width:min(640px,100%);height:auto;max-height:92dvh;border-radius:var(--sc-radius,16px) var(--sc-radius,16px) 0 0;animation-name:sc-rise}
/* Full screen, the steps in a readable column */
.sc-win-full .sc-panel,[dir=rtl] .sc-win-full .sc-panel{width:100%;height:100%;border-radius:0;animation-name:sc-fade}
.sc-win-full .sc-panel>.sc-fit,.sc-win-full .sc-panel>.sc-fit-kicker{width:100%;max-width:560px;margin-inline:auto}
@keyframes sc-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes sc-fade{from{opacity:0}to{opacity:1}}
@keyframes sc-side{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes sc-side-rtl{from{transform:translateX(-40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes sc-rise{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.sc-fit-kicker{display:block;margin:4px 0 14px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.sc-fit{flex:1}
.sc-fit-wait{height:58px;border-radius:10px;background:linear-gradient(90deg,color-mix(in srgb,currentColor 5%,transparent),color-mix(in srgb,currentColor 10%,transparent),color-mix(in srgb,currentColor 5%,transparent));background-size:200% 100%;animation:sc-wait 1.1s linear infinite}
@keyframes sc-wait{to{background-position:-200% 0}}
.sc-yours{display:inline-block;margin-top:8px;margin-inline-start:10px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--sc-accent,#111) 9%,transparent);color:var(--sc-link,#111);font-size:.78rem;font-weight:600;animation:sc-fade .3s ease both}
@media (prefers-reduced-motion:reduce){.sc-modal-fit,.sc-modal-fit .sc-panel,.sc-fit-wait{animation:none}}
.sc-table th{background:var(--sc-head,#f6f7f9)}
.sc-stripes tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--sc-head,#f6f7f9) 55%,transparent)}
.sc-advisor .cd-btn{background:var(--sc-accent,#111);border-color:var(--sc-accent,#111);color:#fff}
.sc-result{color:var(--sc-accent,#111)}
.fbt{border-color:var(--fbt-border,#e5e7eb);border-radius:var(--fbt-radius,12px)}
.fbt-title{font-size:var(--fbt-title,16px)}
.fbt-price{color:var(--fbt-price,#111)}
.fbt-btn{color:var(--fbt-btn-text,#fff);border-radius:var(--fbt-btn-radius,10px)}
.fbt-no-img .fbt-item img{display:none}
.fbt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.fbt-cards .fbt-title,.fbt-cards .fbt-foot{grid-column:1/-1}
.fbt-cards .fbt-item{flex-direction:column;align-items:flex-start;border:1px solid var(--fbt-border,#e5e7eb);border-radius:calc(var(--fbt-radius,12px) - 2px);padding:10px}
.fbt-cards .fbt-item img{width:100%;height:auto;aspect-ratio:1/1}
.bis{background:var(--bis-bg,#fff);border:1px var(--bis-border-style,dashed) var(--bis-border,#cbd5e1);border-radius:var(--bis-radius,12px)}
.bis .cd-btn{background:var(--bis-btn,#111);border-color:var(--bis-btn,#111);color:var(--bis-btn-text,#fff)}
.bis-preorder{background:var(--bis-pre-bg,#fff7ed);color:var(--bis-pre-color,#9a3412)}
.wa-right{inset-inline-end:var(--wa-side,16px)}.wa-left{inset-inline-start:var(--wa-side,16px)}
.wa-sm{padding:9px 13px;font-size:.8rem}.wa-sm svg{width:20px;height:20px}
.wa-lg{padding:15px 20px;font-size:1rem}.wa-lg svg{width:28px;height:28px}
.wa-shape-rounded{border-radius:14px}.wa-shape-square{border-radius:6px}
.wa-flat{box-shadow:none}
@media(max-width:700px){.wa-m-icon span{display:none}.wa-m-icon{padding:14px}}
.fs-bar{font-size:var(--fs-font,13px);font-weight:var(--fs-weight,600);padding:var(--fs-pad,8px) 14px}
.fs-track{height:var(--fs-track-h,4px)}
.fs-sticky{position:sticky;top:0}
.fs-bottom{position:fixed;left:0;right:0;bottom:0;z-index:70}

/* Store apps: sizes, widths and extras from the Design tab */
.fbt{max-width:var(--fbt-max,100%);font-size:var(--fbt-font,14px);box-shadow:var(--fbt-shadow,none)}
.fbt-title{font-weight:var(--fbt-weight,800);text-align:var(--fbt-align,start)}
.fbt-item img{border-radius:var(--fbt-img-radius,8px)}
.fbt-btn-sm{padding:8px 12px;font-size:.8rem}.fbt-btn-lg{padding:14px 20px;font-size:1rem}
.fbt-btn-full{width:100%}
.fs-bar{position:relative}
.fs-close{display:grid;place-items:center;width:28px;height:28px;padding:0;position:absolute;top:50%;inset-inline-end:8px;transform:translateY(-50%);border:0;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.7}
.wa-bubble{position:fixed;bottom:calc(var(--wa-offset,20px) + 58px);z-index:80;max-width:220px;padding:10px 12px;border-radius:12px;background:#fff;color:#0f172a;font-size:.8rem;font-weight:600;box-shadow:0 10px 28px -8px rgba(0,0,0,.3);cursor:pointer}
.wa-bubble.wa-right{inset-inline-end:var(--wa-side,16px)}.wa-bubble.wa-left{inset-inline-start:var(--wa-side,16px)}

/* Frequently Bought Together: size or colour of a suggested product. */
.fbt-name a{color:inherit;text-decoration:none}
.fbt-variant{display:block;margin-top:4px;max-width:100%;padding:3px 6px;border:1px solid var(--fbt-border,#e5e7eb);border-radius:6px;background:#fff;font:inherit;font-size:.8em}

/* The code step on the order form: only shown when a shop asks buyers to confirm their number. */
.cod2-otp{margin:10px 0;padding:12px;border:1px solid var(--cod-field-border,#d1d5db);border-radius:10px;background:#fff;text-align:start}
.cod2-otp-title{margin:0;font-weight:700}
.cod2-otp-sent{margin:2px 0 8px;font-size:.85em;opacity:.75}
.cod2-otp input{width:100%;height:44px;padding:0 12px;border:1px solid var(--cod-field-border,#d1d5db);border-radius:8px;font-size:1.1em;letter-spacing:.3em;text-align:center}
.cod2-otp-go{width:100%;margin-top:8px;height:44px;border:0;border-radius:8px;background:var(--cod-btn-bg,#111);color:var(--cod-btn-color,#fff);font-weight:700;cursor:pointer}
.cod2-otp-resend{width:100%;margin-top:6px;height:36px;border:0;border-radius:8px;background:transparent;color:inherit;opacity:.7;cursor:pointer;text-decoration:underline}

/* The free shipping bar sitting in the page (under the buy buttons) rather than at the edge. */
.fs-bar.fs-inline{position:static;width:100%;margin:10px 0;border-radius:10px}
.fs-icon{display:inline-flex;align-items:center;margin-inline-end:8px;vertical-align:-3px}
/* Thank-you page: pre-order note and the Post-order Upsell offer */
.co-preorder{margin:0 0 16px;padding:10px 14px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:.9rem;text-align:start}
.co-upsell{margin:0 0 18px;padding:16px;border:2px solid var(--brand,#16a34a);border-radius:var(--co-radius,14px);background:var(--up-bg,color-mix(in srgb,var(--brand,#16a34a) 5%,#fff));text-align:start;transition:opacity .25s ease,transform .25s ease;animation:co-upsell-in .35s ease-out}
.co-upsell.is-leaving{opacity:0;transform:translateY(-6px)}
@keyframes co-upsell-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.co-upsell-kicker{margin:0 0 10px;font-weight:700;font-size:.85rem;display:flex;justify-content:space-between;gap:8px}
.co-upsell-timer{font-variant-numeric:tabular-nums;color:var(--brand,#16a34a)}
.co-upsell-body{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.co-upsell-body img{width:72px;height:72px;border-radius:10px;object-fit:cover;flex:0 0 auto}
.co-upsell-info{display:grid;gap:3px;min-width:0}
.co-upsell-info small{color:var(--muted,#64748b)}
.co-upsell-price{font-weight:800}.co-upsell-price s{font-weight:500;color:var(--muted,#64748b)}
.co-upsell-variant{width:100%;margin:0 0 10px;padding:10px 12px;font:inherit;border:1px solid #d1d5db;border-radius:8px;background:#fff}
.co-upsell-variant.invalid{border-color:#dc2626}
.co-upsell-skip{display:block;margin:8px auto 0;background:none;border:0;font:inherit;font-size:.85rem;color:var(--muted,#64748b);text-decoration:underline;cursor:pointer}
.co-upsell-done{margin:0 0 16px;font-weight:600;color:#15803d}
@media(prefers-reduced-motion:reduce){.co-upsell{animation:none;transition:none}}

/* ── Delivery Date Estimator ── */
.de{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:12px 14px;border:1px solid var(--de-border,#e2e8f0);border-radius:var(--de-radius,12px);background:var(--de-bg,#f8fafc);color:var(--de-text,#0f172a);font-size:var(--de-font,14px);line-height:1.45;text-align:start;animation:app-rise .3s ease-out}
.de[hidden]{display:none}
.de-line-style,.de.de-line{border:0;background:transparent;padding:4px 0}
.de-banner{border:0;background:var(--de-accent,#16a34a);color:#fff}
.de-banner .de-date,.de-banner .de-countdown,.de-banner .de-icon{color:inherit}
.de-icon{flex:0 0 auto;display:inline-flex;margin-top:1px;color:var(--de-accent,#16a34a)}
.de-body{flex:1;min-width:0}
.de-city{margin:0 0 4px;font-size:.88em;opacity:.85}
.de-city-select{max-width:60%;margin-inline-start:4px;padding:2px 22px 2px 8px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;opacity:.95}
.de-main{margin:0}
.de-date,.de-countdown{color:var(--de-accent,#16a34a);font-weight:800;font-variant-numeric:tabular-nums}
.de-line{display:flex;margin:10px 0 0;padding:0;list-style:none;font-size:.8em}
.de-line li{position:relative;flex:1;display:grid;gap:1px;padding-top:14px}
.de-line li::before{content:"";position:absolute;top:4px;inset-inline:0;height:2px;background:color-mix(in srgb,var(--de-accent,#16a34a) 30%,transparent)}
.de-line li:last-child::before{display:none}
.de-dot{position:absolute;top:0;inset-inline-start:0;width:10px;height:10px;border-radius:50%;background:var(--de-accent,#16a34a);box-shadow:0 0 0 3px var(--de-bg,#f8fafc)}
.de-line small{opacity:.7}
.de-cart{margin:0 0 10px;font-size:.85rem}
.de-cart .de-icon svg{width:18px;height:18px}

/* ── Flash Sales ── */
.fl-timer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 12px;animation:app-rise .3s ease-out}
.fl-timer[hidden]{display:none}
.fl-title{color:var(--fl-accent,#dc2626);font-weight:800;font-size:.9rem}
.fl-clock{display:inline-flex;gap:6px;font-variant-numeric:tabular-nums}
.fl-inline .fl-clock{font-weight:800;color:var(--fl-accent,#dc2626)}
.fl-box{display:grid;justify-items:center;min-width:44px;padding:5px 6px;border-radius:8px;background:var(--fl-timer-bg,#111);color:var(--fl-timer-color,#fff);line-height:1.1}
.fl-box b{font-size:1.05rem}.fl-box small{font-size:.62rem;opacity:.8;text-transform:uppercase}
.fl-badge{position:absolute;top:12px;inset-inline-start:12px;z-index:2;padding:5px 11px;border-radius:999px;background:var(--fl-badge-bg,#dc2626);color:var(--fl-badge-color,#fff);font-size:.78rem;font-weight:800;pointer-events:none;animation:app-pop .35s ease-out}
.cd-label-flash{background:var(--fl-badge-bg,#dc2626);color:var(--fl-badge-color,#fff)}
.fl-bar{position:relative;z-index:61;display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 40px;background:var(--fl-bar-bg,#dc2626);color:var(--fl-bar-color,#fff);font-size:.85rem;font-weight:700;text-align:center;animation:fl-bar-in .35s ease-out}
.fl-bar-sticky{position:sticky;top:0}
.fl-bar-bottom{position:fixed;left:0;right:0;bottom:0;z-index:71;animation-name:fl-bar-up}
.fl-bar-text{color:inherit;text-decoration:none}
a.fl-bar-text:hover{text-decoration:underline}
.fl-bar-clock{font-variant-numeric:tabular-nums;white-space:nowrap}
.fl-bar-close{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);display:inline-flex;padding:6px;border:0;border-radius:6px;background:transparent;color:inherit;opacity:.75;cursor:pointer;transition:opacity .15s}
.fl-bar-close:hover{opacity:1}
@keyframes fl-bar-in{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}
@keyframes fl-bar-up{from{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}

/* ── Wishlist ── */
.wl-save{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0;padding:9px 14px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}
.wl-save .wl-ico{display:inline-flex;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.wl-save.is-on{border-color:var(--wl-active,#e11d48);color:var(--wl-active,#e11d48)}
.wl-save.is-on svg,.wl-heart.is-on svg{fill:currentColor}
.wl-save.is-on .wl-ico{transform:scale(1.12)}
.wl-heart{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--wl-bg,#fff);color:#334155;box-shadow:0 4px 14px -6px rgba(15,23,42,.45);cursor:pointer;transition:transform .2s ease,color .2s ease,opacity .2s ease}
.wl-heart:hover{transform:scale(1.08)}
.wl-heart.is-on{color:var(--wl-active,#e11d48)}
.wl-heart.is-pop{animation:wl-pop .38s cubic-bezier(.3,1.6,.5,1)}
.wl-on-card{top:10px}.wl-on-card.wl-end{inset-inline-end:10px}.wl-on-card.wl-start{inset-inline-start:10px}
.wl-on-picture{top:12px;inset-inline-end:12px;width:40px;height:40px}
@keyframes wl-pop{0%{transform:scale(1)}40%{transform:scale(1.3)}100%{transform:scale(1)}}
.wl-fab{position:fixed;bottom:var(--wl-fab-offset,20px);z-index:79;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:50%;background:var(--wl-fab-bg,#111);color:var(--wl-fab-color,#fff);box-shadow:0 12px 28px -10px rgba(0,0,0,.45);cursor:pointer;transition:transform .25s ease,opacity .25s ease}
.wl-fab svg{width:22px;height:22px}
.wl-fab-left{inset-inline-start:16px}.wl-fab-right{inset-inline-end:16px}
.wl-fab.is-hidden{opacity:0;transform:scale(.6);pointer-events:none}
.wl-count{position:absolute;top:-3px;inset-inline-end:-3px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--wl-active,#e11d48);color:#fff;font-size:.7rem;font-weight:800;line-height:20px;text-align:center}
.wl-count[hidden]{display:none}
.wl-drawer{position:fixed;inset:0;z-index:2147483200;background:rgba(15,23,42,0);transition:background-color .25s ease;pointer-events:none}
.wl-drawer.is-open{background:rgba(15,23,42,.45);pointer-events:auto}
.wl-panel{position:absolute;top:0;bottom:0;inset-inline-end:0;display:flex;flex-direction:column;width:min(400px,92vw);background:#fff;color:#0f172a;box-shadow:-20px 0 50px -20px rgba(0,0,0,.4);transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
[dir=rtl] .wl-panel{transform:translateX(-100%)}
.wl-drawer.is-open .wl-panel{transform:none}
.wl-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e5e7eb}
.wl-head h3{margin:0;font-size:1.05rem}
.wl-close,.wl-remove{display:inline-flex;padding:6px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;transition:background-color .15s}
.wl-close:hover,.wl-remove:hover{background:#f1f5f9}
.wl-list{flex:1;overflow-y:auto;padding:8px 18px}
.wl-empty{margin:30px 0;text-align:center;color:#64748b}
.wl-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #f1f5f9;animation:app-rise .25s ease-out}
.wl-item-img{display:block;width:64px;height:64px;border-radius:10px;overflow:hidden;background:#f1f5f9}
.wl-item-img img{width:100%;height:100%;object-fit:cover}
.wl-item-name{display:grid;gap:2px;min-width:0;color:inherit;text-decoration:none;font-weight:600;font-size:.9rem}
.wl-item-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wl-item-name small{color:#64748b;font-weight:500}
.wl-foot{padding:14px 18px;border-top:1px solid #e5e7eb}
.wl-foot[hidden]{display:none}
.wl-share{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:10px;background:#25d366;color:#fff;font-weight:700;text-decoration:none}
.wl-toast{position:fixed;left:50%;bottom:90px;z-index:2147483210;padding:10px 16px;border-radius:999px;background:#111;color:#fff;font-size:.85rem;font-weight:600;opacity:0;transform:translate(-50%,10px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.wl-toast.is-on{opacity:1;transform:translate(-50%,0)}
html.wl-lock,html.svv-lock{overflow:hidden}

/* ── Shoppable Videos ── */
.sv-strip{margin:18px 0}
.sv-title{margin:0 0 10px;font-weight:800}
.sv-row{display:flex;gap:var(--sv-gap,12px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.sv-card{position:relative;flex:0 0 var(--sv-w,160px);aspect-ratio:var(--sv-ratio,9/16);padding:0;border:var(--sv-border,0);border-radius:var(--sv-radius,14px);overflow:hidden;background:#0f172a;cursor:pointer;scroll-snap-align:start;transition:transform .25s ease,box-shadow .25s ease}
.sv-card video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.sv-hover-lift .sv-card:hover{transform:translateY(-3px)}
.sv-hover-zoom .sv-card:hover video{transform:scale(1.06)}
.sv-shadow .sv-card{box-shadow:0 12px 26px -14px rgba(0,0,0,.45)}
.sv-shadow.sv-hover-lift .sv-card:hover{box-shadow:0 18px 32px -14px rgba(0,0,0,.5)}
.sv-noplay .sv-play{display:none}
.sv-title-center .sv-head,.sv-title-center .sv-title{text-align:center}
.sv-section .sv-head h2{font-size:var(--sv-title,inherit)}
.sv-play{position:absolute;top:10px;inset-inline-end:10px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.45)}
.sv-play::after{content:"";position:absolute;top:8px;left:10px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #fff}
.sv-cap{position:absolute;inset-inline:0;bottom:0;padding:24px 10px 10px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:var(--sv-cap,.78rem);font-weight:600;text-align:start;line-height:1.3}
.sv-section .sv-head p{margin:4px 0 0;opacity:.75}
.sv-item{flex:0 0 var(--sv-w,170px);display:grid;gap:8px;scroll-snap-align:start}
.sv-item .sv-card{flex:none;width:100%}
.sv-product{display:flex;gap:8px;align-items:center;color:inherit;text-decoration:none;font-size:.82rem}
.sv-prod-card .sv-product{padding:8px;border:1px solid rgba(0,0,0,.08);border-radius:calc(var(--sv-radius,14px) * .7);background:#fff;color:#111;transition:border-color .2s}
.sv-prod-card .sv-product:hover{border-color:rgba(0,0,0,.2)}
.sv-product img{width:38px;height:38px;border-radius:8px;object-fit:cover;flex:0 0 auto}
.sv-product>span{display:grid;min-width:0}
.sv-product-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.sv-product-price s{opacity:.6;font-size:.9em}
.sv-grid .sv-row{display:grid;grid-template-columns:repeat(var(--sv-cols,4),minmax(0,1fr));overflow:visible}
.sv-grid .sv-item{flex:none}
@media(max-width:700px){.sv-grid .sv-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sv-stories .sv-row{gap:16px}
.sv-story{flex:0 0 auto;display:grid;justify-items:center;gap:6px;width:calc(var(--sv-story,78px) + 6px);padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;scroll-snap-align:start}
.sv-story-ring{display:block;width:var(--sv-story,78px);height:var(--sv-story,78px);padding:3px;border-radius:50%;background:conic-gradient(var(--sv-ring,#e11d48),var(--sv-ring2,#f59e0b),var(--sv-ring,#e11d48));transition:transform .25s ease}
.sv-story:hover .sv-story-ring{transform:scale(1.05)}
.sv-story video{width:100%;height:100%;border:3px solid #fff;border-radius:50%;object-fit:cover;display:block}
.sv-story-name{max-width:calc(var(--sv-story,78px) + 6px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}
.sv-empty p{padding:30px;border:1px dashed #cbd5e1;border-radius:12px;text-align:center;color:#64748b}
.sv-bubble{position:fixed;bottom:20px;z-index:78;width:var(--sv-bubble,84px);height:var(--sv-bubble,84px);animation:app-pop .4s ease-out}
.sv-bubble-left{inset-inline-start:16px}.sv-bubble-right{inset-inline-end:16px}
.sv-bubble-open{width:100%;height:100%;padding:3px;border:0;border-radius:50%;background:conic-gradient(var(--sv-ring,#e11d48),var(--sv-ring2,#f59e0b),var(--sv-ring,#e11d48));box-shadow:0 12px 30px -12px rgba(0,0,0,.5);cursor:pointer;transition:transform .25s ease}
.sv-bubble-open:hover{transform:scale(1.05)}
.sv-bubble-open video{width:100%;height:100%;border:3px solid #fff;border-radius:50%;object-fit:cover;display:block}
.sv-bubble-rounded{height:calc(var(--sv-bubble,84px) * 1.45)}
.sv-bubble-rounded .sv-bubble-open,.sv-bubble-rounded .sv-bubble-open video{border-radius:18px}
.sv-bubble-close{position:absolute;top:-4px;inset-inline-end:-4px;display:inline-flex;padding:4px;border:0;border-radius:50%;background:#111;color:#fff;cursor:pointer}
.svv{position:fixed;inset:0;z-index:2147483220;background:#000;opacity:0;transition:opacity .22s ease}
.svv.is-open{opacity:1}
.svv-track{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}
.svv-track::-webkit-scrollbar{display:none}
.svv-slide{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}
.svv-slide video{max-width:100%;max-height:100%;width:auto;height:100%;aspect-ratio:9/16;object-fit:cover;background:#000}
@media(max-width:700px){.svv-slide video{width:100%;aspect-ratio:auto}}
.svv-info{position:absolute;inset-inline:0;bottom:0;margin:0 auto;max-width:520px;padding:60px 16px 22px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;display:grid;gap:10px}
.svv-caption{margin:0;font-size:.92rem;line-height:1.4}
.svv-product{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;text-decoration:none;backdrop-filter:blur(6px)}
.svv-product img{width:48px;height:48px;border-radius:8px;object-fit:cover}
.svv-product>span{display:grid;min-width:0}
.svv-product-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.svv-product-price s{margin-inline-start:6px;opacity:.7}
.svv-actions{display:flex;gap:8px}
.svv-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:0;border-radius:var(--sv-btn-r,12px);background:var(--sv-btn,#111);color:var(--sv-btn-text,#fff);font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .15s ease}
.svv-btn:active{transform:scale(.98)}
.svv-btn-ghost{background:#fff;color:#111}
.svv-close,.svv-sound,.svv-nav{position:absolute;z-index:2;display:inline-flex;padding:10px;border:0;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;cursor:pointer;transition:background-color .15s}
.svv-close:hover,.svv-sound:hover,.svv-nav:hover{background:rgba(0,0,0,.65)}
.svv-close{top:14px;inset-inline-end:14px}
.svv-sound{top:14px;inset-inline-start:14px}
.svv-nav{inset-inline-end:14px}.svv-prev{top:calc(50% - 50px)}.svv-next{top:calc(50% + 6px)}
@media(max-width:700px){.svv-nav{display:none}}

@keyframes app-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes app-pop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.de,.fl-timer,.fl-badge,.fl-bar,.wl-item,.sv-bubble,.wl-heart.is-pop{animation:none}.wl-panel,.svv,.wl-drawer,.wl-toast{transition:none}}

/* ── Smart Cart (app) — follows the theme's colours and type; every panel animates ── */
.cart-drawer.is-smart .cart-panel{--sc-radius:18px;font-family:inherit;max-width:calc(100vw - 16px);box-sizing:border-box}
.cart-drawer.is-smart .cart-panel{--sc-soft-c:var(--sc-soft,color-mix(in srgb,currentColor 7%,transparent));--sc-btn-c:var(--sc-btn,var(--ink,#1a1a1a));--sc-btn-fg-c:var(--sc-btn-fg,var(--bg,#fff))}
.cart-drawer.is-smart.sc-floating{padding:12px}
.cart-drawer.is-smart.sc-floating .cart-panel{height:100%;border-radius:var(--sc-radius);overflow:hidden;box-shadow:0 24px 60px -24px rgba(0,0,0,.45)}
.cart-drawer.is-smart.sc-center{align-items:center;justify-content:center;padding:24px}
.cart-drawer.is-smart.sc-center .cart-panel{width:min(560px,100%);height:auto;max-height:min(820px,calc(100vh - 48px));border-radius:var(--sc-radius);overflow:hidden;animation-name:sc-pop}
@keyframes sc-pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.cart-drawer.is-smart.sc-floating{padding:8px}.cart-drawer.is-smart.sc-center{align-items:flex-end;padding:0}.cart-drawer.is-smart.sc-center .cart-panel{max-height:90vh;border-radius:var(--sc-radius) var(--sc-radius) 0 0}}
.cart-drawer.is-smart .cart-head{border-bottom:0;padding:20px 22px 8px;font-size:20px}
.cart-drawer.is-smart .cart-head strong{font-weight:600;letter-spacing:-.01em}
.sc-count{margin-inline-start:3px;font-size:.55em;font-weight:500;vertical-align:super}
.cart-drawer.is-smart .cart-close{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sc-soft-c);font-size:18px;transition:transform .25s ease,background .2s}
.cart-drawer.is-smart .cart-close:hover{transform:rotate(90deg)}
.cart-drawer.is-smart .cart-lines{padding:0 22px}
.sc-progress{display:flex;align-items:center;gap:14px;padding:6px 0 16px;border-bottom:1px solid var(--line,#e5e5e5);font-size:13px;color:var(--muted,#666)}
.sc-progress p{margin:0;flex:1}
.sc-track{flex:0 0 42%;height:4px;border-radius:4px;background:color-mix(in srgb,currentColor 18%,transparent);overflow:hidden}
.sc-track span{display:block;height:100%;border-radius:4px;background:var(--ink,#111);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.sc-line{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line,#e5e5e5);animation:sc-in .35s ease both}
@keyframes sc-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sc-line-pic{position:relative;display:block;width:84px;height:84px;border-radius:calc(var(--sc-radius) * .6);overflow:hidden;background:var(--sc-soft-c)}
.sc-line-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sc-line-info{display:grid;align-content:start;gap:3px;min-width:0}
.sc-line-title{color:inherit;text-decoration:none;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-line-opt,.sc-line-unit{font-size:13px;color:var(--muted,#666)}
.sc-qty{display:inline-flex;align-items:center;gap:2px;justify-self:start;margin-top:8px;padding:2px;border-radius:999px;background:var(--sc-soft-c)}
.sc-qty button{width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;font-size:16px;cursor:pointer;transition:background .2s}
.sc-qty button:hover:not(:disabled){background:color-mix(in srgb,currentColor 10%,transparent)}
.sc-qty button:disabled{opacity:.35;cursor:default}
.sc-qty span{min-width:22px;text-align:center;font-size:14px}
.sc-line-side{display:grid;justify-items:end;align-content:space-between;gap:8px}
.sc-line-total{font-size:14px;font-weight:600;white-space:nowrap}
.sc-line-total s{margin-inline-end:6px;font-weight:400;color:var(--muted,#888)}
.sc-remove{border:0;background:none;padding:0;color:var(--muted,#888);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.sc-suggest{padding:18px 0 8px}
.sc-suggest:not([hidden]){animation:sc-in .35s ease both}
.sc-suggest-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sc-suggest-head strong{font-size:16px;font-weight:600;line-height:1.3}
.sc-arrows{display:flex;gap:6px;flex:none}
.sc-arrows[hidden]{display:none}
/* Every Smart Cart control sets its own box: a theme's button styles never resize it. */
.cart-drawer.is-smart :is(.sc-arrow,.sc-suggest-add,.sc-qty button,.sc-remove,.sc-pill,.sc-mini,.sc-chip-x,.sc-btn){box-sizing:border-box;margin:0;min-width:0;max-width:none;letter-spacing:normal;text-transform:none;box-shadow:none;-webkit-appearance:none;appearance:none}
.cart-drawer.is-smart :is(.sc-arrow,.sc-suggest-add,.sc-qty button,.sc-chip-x){display:grid;place-items:center;flex:none;padding:0;min-height:0;line-height:1}
.cart-drawer.is-smart :is(.sc-arrow,.sc-suggest-add) svg{display:block;flex:none}
.sc-arrow{width:30px;height:30px;border:0;border-radius:50%;background:var(--sc-soft-c);color:inherit;cursor:pointer;transition:background .2s,opacity .2s}
.sc-arrow:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.sc-suggest-track{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.sc-suggest-track.is-one{grid-auto-columns:100%}
.sc-suggest-track::-webkit-scrollbar{display:none}
.sc-suggest-item{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 32px;align-items:center;gap:12px;min-width:0;padding:10px;border-radius:calc(var(--sc-radius) * .7);background:var(--sc-soft-c);scroll-snap-align:start}
.sc-suggest-pic{position:relative;display:block;width:64px;height:64px;border-radius:calc(var(--sc-radius) * .5);overflow:hidden;background:var(--card,#fff)}
.sc-suggest-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sc-suggest-info{display:grid;gap:3px;min-width:0;align-content:center}
.sc-suggest-name{display:block;overflow:hidden;color:inherit;text-decoration:none;font-size:14px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.sc-suggest-info small{font-size:13px;font-weight:400;line-height:1.3;color:var(--muted,#666)}
.sc-suggest-info .sc-suggest-err{font-size:12px}
.sc-suggest-opt{width:100%;max-width:100%;height:28px;margin-top:2px;padding:0 8px;border:1px solid var(--line,#ddd);border-radius:8px;background:var(--card,#fff);color:inherit;font:inherit;font-size:12px;line-height:1}
.sc-suggest-add{width:32px;height:32px;border:0;border-radius:50%;background:var(--sc-btn-c);color:var(--sc-btn-fg-c);cursor:pointer;transition:transform .2s,opacity .2s}
.sc-suggest-add:hover:not(:disabled){transform:scale(1.08)}
.sc-suggest-add:disabled{opacity:.5;cursor:default}
.cart-drawer.is-smart .cart-footer{padding:14px 22px 20px;border-top:1px solid var(--line,#e5e5e5);background:inherit}
.sc-pills{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.sc-pill{min-height:40px;min-width:0;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;border:1px solid transparent;border-radius:999px;background:var(--sc-soft-c);color:inherit;font:inherit;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s}
.sc-pill.is-on{border-color:currentColor;background:transparent}
.sc-pane{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease}
.sc-pane.is-open{grid-template-rows:1fr;opacity:1}
.sc-pane-in{min-height:0;overflow:hidden}
.sc-pane.is-open .sc-pane-in{padding-top:12px}
.sc-pane textarea,.sc-field input,.sc-field select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line,#ddd);border-radius:calc(var(--sc-radius) * .6);background:transparent;color:inherit;font:inherit;font-size:14px}
.sc-field{display:flex;gap:8px}
.sc-mini{flex:none;min-height:40px;padding:0 16px;border:0;border-radius:calc(var(--sc-radius) * .6);background:var(--sc-btn-c);color:var(--sc-btn-fg-c);font:inherit;font-size:14px;cursor:pointer}
.sc-mini:disabled{opacity:.6}
.sc-said{display:block;min-height:1em;margin-top:4px;color:var(--muted,#888);font-size:12px}
.sc-rates p{display:flex;justify-content:space-between;gap:10px;margin:8px 0 0;font-size:14px}
.sc-code-msg{margin-top:8px}
.sc-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:var(--sc-soft-c);font-size:13px;font-weight:600}
.sc-chip-x{width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.sc-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;margin-top:12px;padding:16px;border-radius:calc(var(--sc-radius) * .8);background:var(--sc-soft-c)}
.sc-total>div{display:grid;gap:2px}
.sc-total>div strong{font-size:16px;font-weight:600}
.sc-total small{font-size:12px;color:var(--muted,#666)}
.sc-total-amount{font-size:20px;font-weight:700;white-space:nowrap}
.sc-saved{grid-column:1/-1;margin:0;font-size:13px;color:var(--muted,#555)}
.sc-buttons{display:grid;gap:8px;margin-top:12px}
.sc-buttons.has-two{grid-template-columns:1fr 1fr}
.sc-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 16px;line-height:1.2;text-align:center;border-radius:999px;font:inherit;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;transition:transform .2s ease,opacity .2s}
.sc-btn:hover{transform:translateY(-1px)}
.sc-btn-line{border:1px solid color-mix(in srgb,currentColor 30%,transparent);color:inherit;background:transparent}
.sc-btn-go{border:0;background:var(--sc-btn-c);color:var(--sc-btn-fg-c)}
.sc-btn.is-disabled{opacity:.45;pointer-events:none}
.sc-btn.is-loading{opacity:.7;pointer-events:none}
@media(prefers-reduced-motion:reduce){.sc-suggest,.sc-line,.sc-pane,.sc-track span,.cart-drawer.is-smart .cart-close,.sc-btn{animation:none!important;transition:none!important}}

/* ── Cart designs (Theme settings › Cart drawer › Cart design). The Smart Cart app has its own. ── */
/* Editorial: tall pictures, large titles, quiet prices */
.cart-d-editorial .cart-panel{width:min(480px,100%)}
.cart-d-editorial .cart-head{border-bottom:0;padding:26px 26px 10px;font-size:clamp(1.5rem,3vw,1.9rem)}
.cart-d-editorial .cart-head strong{font-family:var(--font-heading,inherit);font-weight:400;letter-spacing:-.02em}
.cart-d-editorial .cart-lines{padding:4px 26px}
.cart-d-editorial .cart-line{grid-template-columns:92px 1fr;gap:6px 18px;padding:18px 0}
.cart-d-editorial .cart-line img,.cart-d-editorial .cart-line-img{width:92px;height:122px;border-radius:0}
.cart-d-editorial .cart-line-info{font-size:15px;gap:6px}
.cart-d-editorial .cart-line-title strong{font-family:var(--font-heading,inherit);font-weight:400;font-size:1.05rem}
.cart-d-editorial .cart-line-price{font-weight:400;color:inherit}
.cart-d-editorial .cart-remove{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px}
.cart-d-editorial .cart-footer{padding:20px 26px 26px;gap:10px}
.cart-d-editorial .cart-subtotal{font-size:18px;font-family:var(--font-heading,inherit)}
.cart-d-editorial .cart-footer .btn{border-radius:0;text-transform:uppercase;letter-spacing:.14em;font-size:13px;min-height:54px}
/* Minimal: thin lines, small type, square corners */
.cart-d-minimal .cart-head{padding:18px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.18em}
.cart-d-minimal .cart-head strong{font-weight:600}
.cart-d-minimal .cart-close{font-size:22px}
.cart-d-minimal .cart-line{grid-template-columns:52px 1fr;padding:12px 0}
.cart-d-minimal .cart-line img,.cart-d-minimal .cart-line-img{width:52px;height:52px;border-radius:0}
.cart-d-minimal .cart-line-info{font-size:13px}
.cart-d-minimal .cart-line-title strong{font-weight:500}
.cart-d-minimal .cart-line-price{font-weight:500;color:inherit}
.cart-d-minimal .qty button,.cart-d-minimal .qty{border-radius:0}
.cart-d-minimal .cart-subtotal{font-size:14px;text-transform:uppercase;letter-spacing:.1em}
.cart-d-minimal .cart-footer .btn{border-radius:0;font-size:13px;text-transform:uppercase;letter-spacing:.12em}
/* Boxed: each item in its own rounded card */
.cart-d-boxed .cart-panel{background:var(--soft,#f3f4f6)}
.cart-d-boxed .cart-head{border-bottom:0;font-weight:700;font-size:19px;padding:20px 18px 6px}
.cart-d-boxed .cart-lines{padding:8px 12px}
.cart-d-boxed .cart-line{background:var(--card,#fff);border:0;border-radius:16px;padding:12px;margin:0 0 10px;box-shadow:0 1px 2px rgba(15,23,42,.06)}
.cart-d-boxed .cart-line img,.cart-d-boxed .cart-line-img{border-radius:12px;width:72px;height:72px}
.cart-d-boxed .cart-line{grid-template-columns:72px 1fr}
.cart-d-boxed .cart-footer{background:var(--card,#fff);border-top:0;border-radius:20px 20px 0 0;box-shadow:0 -8px 24px -16px rgba(15,23,42,.25);padding:18px}
.cart-d-boxed .cart-footer .btn{border-radius:999px;min-height:52px}
/* Bold: a dark top bar, thick lines, big prices */
.cart-d-bold .cart-head{background:var(--ink,#111);color:var(--bg,#fff);border-bottom:0;text-transform:uppercase;font-weight:900;letter-spacing:.04em;font-size:20px;padding:18px 20px}
.cart-d-bold .cart-close{color:inherit}
.cart-d-bold .cart-line{border-bottom:2px solid var(--ink,#111);padding:16px 0}
.cart-d-bold .cart-line img,.cart-d-bold .cart-line-img{border-radius:0;border:2px solid var(--ink,#111);box-sizing:border-box}
.cart-d-bold .cart-line-title strong{text-transform:uppercase;font-weight:800;letter-spacing:.02em}
.cart-d-bold .cart-line-price{font-size:1.15rem;font-weight:900}
.cart-d-bold .cart-footer{border-top:2px solid var(--ink,#111)}
.cart-d-bold .cart-subtotal{font-size:20px;font-weight:900;text-transform:uppercase}
.cart-d-bold .cart-footer .btn{border-radius:0;text-transform:uppercase;font-weight:900;letter-spacing:.06em;min-height:56px}
.co-card{border:1px solid #dedede;border-radius:10px;padding:14px 16px;margin:18px 0;font-size:14px;line-height:1.5}
.co-card p{margin:0 0 10px}.co-card p:last-child{margin-bottom:0}
.co-card-paid{border-color:#a7e3c4;background:#f0fbf5}
.co-card-failed{border-color:#f3c0c0;background:#fdf3f3}
.co-card-awaiting{border-color:#f1d9a6;background:#fffaf0}
.co-card-fields{margin:10px 0 4px;padding:12px;border:1px solid #dedede;border-radius:var(--co-radius,10px);background:#fff;min-height:48px;animation:co-fade .25s ease both}
.co-card-loading{color:#707070;font-size:13px}
@keyframes co-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.co-card-fields{animation:none}}
.co-card .co-card-fields{margin:12px 0}

/* ── Buy X Get Y & Free Gifts — offers in the cart, gift lines, the note on product pages ── */
:root{--bx-c:var(--bx-accent,var(--brand,#16a34a));--bx-t:var(--bx-accent-text,var(--on-brand,#fff))}
.cart-offers{display:grid;gap:6px;margin:10px 0 2px}
.cart-offer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.35;color:inherit;text-decoration:none;animation:bx-in .35s ease both}
.cart-offer.is-on{background:color-mix(in srgb,var(--bx-c) 11%,transparent)}
.cart-offer.is-on strong{font-weight:700;color:var(--bx-c);white-space:nowrap}
.cart-offer.is-next{grid-template-columns:auto minmax(0,1fr);border:1px dashed color-mix(in srgb,var(--bx-c) 55%,transparent);transition:background .2s}
a.cart-offer.is-next:hover{background:color-mix(in srgb,var(--bx-c) 7%,transparent)}
.cart-offer-ico{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--bx-c);color:var(--bx-t)}
.cart-offer-ico svg{display:block}
.cart-offer-text{min-width:0;overflow-wrap:anywhere}
@keyframes bx-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.is-gift .cart-line-info{align-content:center}
.cart-gift-badge,.co-gift-badge{display:inline-flex;align-items:center;gap:5px;justify-self:start;width:max-content;padding:3px 9px 3px 7px;border-radius:999px;background:var(--bx-c);color:var(--bx-t)!important;font-size:11px;font-weight:700;line-height:1.3}
.cart-gift-badge svg{width:12px;height:12px}
.is-gift .cart-line-price s{margin-inline-end:6px;opacity:.6;font-weight:400}
.cart-line.is-gift{grid-template-columns:64px 1fr}
.sc-line.is-gift{grid-template-columns:84px minmax(0,1fr)}
.sc-line.is-gift>img,.sc-line.is-gift>.cart-line-img{width:84px;height:84px;border-radius:calc(var(--sc-radius,18px) * .6);object-fit:cover;background:var(--sc-soft-c)}
.sc-line.is-gift .cart-line-info{display:grid;gap:5px;font-size:14px}
.cart-drawer.is-smart .cart-offers{margin:14px 0 4px}
.co-offer span:first-child{display:inline-flex;align-items:center;gap:4px}
.co-offer-next{display:flex;align-items:center;gap:6px;margin:6px 0;padding:9px 12px;border:1px dashed color-mix(in srgb,var(--bx-c) 55%,transparent);border-radius:10px;color:inherit;font-size:13px;text-decoration:none}
.co-cart-line.is-gift .co-item-info{display:grid;gap:4px}
.bx-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:12px 0;padding:11px 14px;border-radius:var(--radius,12px);background:color-mix(in srgb,var(--bx-c) 10%,transparent);color:inherit;font-size:14px;line-height:1.4;animation:bx-in .4s ease both}
.bx-note+.bx-note{margin-top:-4px}
.bx-note b{font-weight:700}
.bx-note .cart-offer-ico{width:30px;height:30px}
.bx-note a{color:inherit;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){.cart-offer,.bx-note{animation:none}}

/* ── Product Add-ons — extras on the product page, in the theme's colours ── */
.pa{display:grid;gap:8px;margin:14px 0;animation:bx-in .4s ease both}
.pa-title{margin:0 0 2px;font-size:14px;font-weight:700}
.pa-row{border:1px solid var(--line,#e5e7eb);border-radius:var(--radius,12px);background:var(--card,transparent);transition:border-color .2s,box-shadow .2s}
.pa-row.is-on{border-color:var(--brand,#111);box-shadow:0 0 0 1px var(--brand,#111)}
.pa-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;cursor:pointer}
.pa-check{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pa-tick{display:grid;place-items:center;width:20px;height:20px;border:1.5px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:6px;transition:background .2s,border-color .2s}
.pa-tick::after{content:"";width:10px;height:6px;margin-top:-2px;border:2px solid var(--on-brand,#fff);border-top:0;border-right:0;transform:rotate(-45deg) scale(0);transition:transform .2s cubic-bezier(.3,1.4,.5,1)}
.pa-check:checked+.pa-tick{border-color:var(--brand,#111);background:var(--brand,#111)}
.pa-check:checked+.pa-tick::after{transform:rotate(-45deg) scale(1)}
.pa-check:focus-visible+.pa-tick{outline:2px solid var(--brand,#111);outline-offset:2px}
.pa-name{display:grid;gap:2px;min-width:0;font-size:14px;line-height:1.35}
.pa-name b{font-weight:600}
.pa-name small{color:var(--muted,#6b7280);font-size:12.5px}
.pa-price{font-size:14px;font-weight:600;white-space:nowrap}
.pa-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1)}
.pa-row.is-on .pa-more{grid-template-rows:1fr}
.pa-more-in{position:relative;min-height:0;overflow:hidden;padding:0 14px}
.pa-row.is-on .pa-more-in{padding-bottom:12px}
.pa-input{display:block;width:100%;box-sizing:border-box;height:44px;padding:0 56px 0 12px;border:1px solid var(--line,#d1d5db);border-radius:calc(var(--radius,12px) * .7);background:var(--bg,#fff);color:inherit;font:inherit;font-size:15px}
.pa-input:focus{outline:0;border-color:var(--brand,#111);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand,#111) 18%,transparent)}
.pa-count{position:absolute;top:13px;inset-inline-end:26px;color:var(--muted,#9ca3af);font-size:11.5px}
.pa-row.is-on .pa-count{top:13px}
.cart-line-addons{display:block;color:var(--muted,#6b7280);font-size:12px;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.pa{animation:none}.pa-more,.pa-tick::after{transition:none}}

/* ── Gift Cards — who the card is for, on the gift card product ── */
.gc{display:grid;gap:8px;margin:14px 0;animation:bx-in .4s ease both}
.gc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gc-field{display:grid;gap:5px;min-width:0;font-size:13px;font-weight:600}
.gc-field.is-wide{grid-column:1/-1}
.gc-input{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--line,#d1d5db);border-radius:calc(var(--radius,12px) * .7);background:var(--bg,#fff);color:inherit;font:inherit;font-size:15px;font-weight:400;resize:vertical}
.gc-input:focus{outline:0;border-color:var(--brand,#111);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand,#111) 18%,transparent)}
.gc-hint{margin:0;color:var(--muted,#6b7280);font-size:12.5px;line-height:1.4}
@media(max-width:480px){.gc-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.gc{animation:none}}

/* ── Add to Cart Pop-up — in the theme's look; a bottom sheet on phones ── */
html.cp-lock{overflow:hidden}
.cp-overlay{position:fixed;inset:0;z-index:2147483400;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.45);animation:cp-fade .22s ease both}
.cp-overlay *,.cp-overlay *::before,.cp-overlay *::after{box-sizing:border-box}
.cp-overlay.is-closing{animation:cp-fade-out .22s ease forwards}
.cp-panel{position:relative;display:grid;gap:14px;width:min(500px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border-radius:var(--radius,18px);background:var(--card,var(--bg,#fff));color:var(--ink,#111);font-family:inherit;box-shadow:0 30px 70px -25px rgba(0,0,0,.5);animation:cp-rise .38s cubic-bezier(.2,.9,.25,1.1) both}
.cp-overlay.is-closing .cp-panel{animation:cp-sink .22s ease forwards}
@keyframes cp-fade{from{opacity:0}to{opacity:1}}
@keyframes cp-fade-out{to{opacity:0}}
@keyframes cp-rise{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes cp-sink{to{opacity:0;transform:translateY(12px) scale(.98)}}
.cp-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
.cp-head strong{font-size:17px;font-weight:700;line-height:1.25}
.cp-check{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand,#16a34a);color:var(--on-brand,#fff);animation:cp-pop .45s .1s cubic-bezier(.3,1.5,.5,1) both}
@keyframes cp-pop{from{transform:scale(0)}to{transform:none}}
.cp-close{display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,currentColor 7%,transparent);color:inherit;cursor:pointer;transition:transform .25s,background .2s}
.cp-close:hover{transform:rotate(90deg)}
.cp-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border-radius:calc(var(--radius,18px) * .7);background:color-mix(in srgb,currentColor 5%,transparent)}
.cp-item img,.cp-item-img{width:64px;height:64px;border-radius:calc(var(--radius,18px) * .5);object-fit:cover;background:color-mix(in srgb,currentColor 6%,transparent)}
.cp-item-info{display:grid;gap:2px;min-width:0}
.cp-item-info strong{overflow:hidden;font-size:14.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.cp-item-info small{color:var(--muted,#6b7280);font-size:12.5px}
.cp-item-price{font-size:14.5px;font-weight:700;white-space:nowrap}
/* Unlocked offer: the seller's offer for what was just added, a dashed coupon edge, a real countdown */
.cp-unlock{display:grid;gap:10px;padding:14px;border:1.5px dashed color-mix(in srgb,var(--brand,var(--ink,#111)) 55%,transparent);border-radius:calc(var(--radius,18px) * .7);background:color-mix(in srgb,var(--brand,var(--ink,#111)) 5%,transparent);animation:cp-rise .4s cubic-bezier(.2,.9,.25,1.1) both}
.cp-unlock[hidden],.cp-progress[hidden],.cp-sugg[hidden]{display:none}
.cp-unlock-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cp-unlock-head strong{font-size:15px;font-weight:700;line-height:1.3}
.cp-unlock-clock{flex-shrink:0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink,#111)}
.cp-unlock-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px}
.cp-unlock-pic{position:relative;display:block;width:72px;height:72px;border-radius:calc(var(--radius,18px) * .5);overflow:hidden;background:color-mix(in srgb,currentColor 6%,transparent)}
.cp-unlock-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cp-unlock-info{display:grid;gap:3px;min-width:0}
.cp-unlock-name{overflow:hidden;color:inherit;font-size:14px;font-weight:600;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.cp-unlock-info small{color:var(--muted,#6b7280);font-size:12.5px}
.cp-unlock-prices{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cp-unlock-prices strong{font-size:16px;font-weight:700}
.cp-unlock-prices del{color:var(--muted,#6b7280);font-size:13px}
.cp-unlock-off{padding:2px 7px;border-radius:999px;background:var(--brand,var(--ink,#111));color:var(--on-brand,#fff);font-size:11.5px;font-weight:700}
.cp-unlock .cp-opt{margin-top:4px}
.cp-unlock-add{min-height:44px;margin:0;padding:0 16px;border:0;border-radius:var(--btn-radius,999px);background:var(--brand,var(--ink,#111));color:var(--on-brand,#fff);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s}
.cp-unlock-add:hover:not(:disabled){transform:translateY(-1px)}
.cp-unlock-add.is-done{opacity:.85;cursor:default}
.cp-unlock.is-ended{opacity:.6}
.cp-unlock.is-ended .cp-unlock-add{background:transparent;color:inherit;border:1px solid currentColor;cursor:default}
.cp-progress{display:grid;gap:7px;font-size:13px;color:var(--muted,#555)}
.cp-progress p{margin:0}
.cp-track{height:5px;border-radius:5px;background:color-mix(in srgb,currentColor 14%,transparent);overflow:hidden}
.cp-track span{display:block;height:100%;border-radius:5px;background:var(--brand,#111);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.cp-sugg{display:grid;gap:10px;animation:cp-fade .3s ease both}
.cp-sugg-title{margin:0;font-size:14px;font-weight:700}
.cp-cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,calc((100% - 20px) / 3));gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.cp-cards::-webkit-scrollbar{display:none}
.cp-card{display:grid;align-content:start;gap:5px;min-width:0}
.cp-card-pic{position:relative;display:block;aspect-ratio:1/1;border-radius:calc(var(--radius,18px) * .6);overflow:hidden;background:color-mix(in srgb,currentColor 6%,transparent)}
.cp-card-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cp-card:hover .cp-card-pic img{transform:scale(1.04)}
.cp-card-name{overflow:hidden;color:inherit;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.cp-card small{color:var(--muted,#6b7280);font-size:12.5px}
.cp-opt{width:100%;height:30px;padding:0 6px;border:1px solid var(--line,#ddd);border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:12px}
.cp-add{height:34px;margin:2px 0 0;padding:0 10px;border:1px solid currentColor;border-radius:var(--btn-radius,999px);background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.cp-add:hover:not(:disabled){background:var(--ink,#111);color:var(--bg,#fff)}
.cp-add.is-done{border-color:var(--brand,#16a34a);background:var(--brand,#16a34a);color:var(--on-brand,#fff)}
.cp-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cp-btn{display:flex;align-items:center;justify-content:center;min-height:50px;margin:0;padding:0 16px;border-radius:var(--btn-radius,999px);font:inherit;font-size:15px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:transform .2s,filter .2s}
.cp-btn:hover{transform:translateY(-1px)}
.cp-btn-line{border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:transparent;color:inherit}
.cp-btn-go{border:0;background:var(--brand,var(--ink,#111));color:var(--on-brand,#fff)}
.cp-btn.is-disabled{opacity:.45;pointer-events:none}
.cp-keep{justify-self:center;margin:0;padding:2px 0;border:0;background:none;color:inherit;font:inherit;font-size:13.5px;opacity:.65;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cp-keep:hover{opacity:1}
@media(max-width:600px){
  .cp-overlay{place-items:end center;padding:0}
  .cp-panel{width:100%;max-height:90dvh;padding:20px 16px calc(16px + env(safe-area-inset-bottom));border-radius:var(--radius,18px) var(--radius,18px) 0 0;animation-name:cp-sheet}
  .cp-overlay.is-closing .cp-panel{animation:cp-sheet-out .22s ease forwards}
}
@keyframes cp-sheet{from{transform:translateY(100%)}to{transform:none}}
@keyframes cp-sheet-out{to{transform:translateY(100%)}}
@media(prefers-reduced-motion:reduce){.cp-overlay,.cp-overlay *{animation:none!important;transition:none!important}}

/* ── Wishlist alerts — an email for price drops and products back in stock ── */
.wl-alerts{display:grid;gap:8px;margin:0 18px 10px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--wl-active,#e11d48) 8%,transparent);animation:bx-in .3s ease both}
.wl-alerts[hidden]{display:none}
.wl-alert-text{margin:0;font-size:13px;line-height:1.4}
.wl-alert-row{display:flex;gap:6px}
.wl-alert-input{flex:1;min-width:0;height:40px;padding:0 10px;border:1px solid var(--line,#d1d5db);border-radius:9px;background:var(--bg,#fff);color:inherit;font:inherit;font-size:14px}
.wl-alert-input:focus{outline:0;border-color:var(--wl-active,#e11d48)}
.wl-alert-go{flex:none;height:40px;padding:0 14px;border:0;border-radius:9px;background:var(--wl-active,#e11d48);color:#fff;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.wl-alert-go:disabled{opacity:.6}
.wl-alert-said{margin:0;font-size:12.5px}
.wl-alert-said:empty{display:none}
.wl-alert-said.is-error{color:#dc2626}
.wl-alert-said.is-done{color:#15803d}

/* ── Review page (Reviews app) — stars, words and photos per product ── */
.rv{display:grid;gap:16px;max-width:620px;margin:0 auto;padding:8px 0 40px}
.rv-title{margin:0;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);line-height:1.2}
.rv-sub{margin:-8px 0 0}
.rv-reward{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--co-radius,12px);background:color-mix(in srgb,var(--brand,#16a34a) 11%,transparent);color:inherit;font-size:14px;font-weight:600}
.rv-reward svg{flex:none;color:var(--brand,#16a34a)}
.rv-cards{display:grid;gap:12px}
.rv-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line,#e5e7eb);border-radius:var(--co-radius,14px);background:var(--card,#fff);transition:border-color .2s,box-shadow .2s;animation:bx-in .35s ease both}
.rv-card.has-error{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}
.rv-card.is-done{opacity:.7}
.rv-product{display:flex;align-items:center;gap:12px;min-width:0}
.rv-product img,.rv-product .co-item-img{flex:none;width:56px;height:56px;border-radius:10px;object-fit:cover;background:#f1f5f9}
.rv-product strong{min-width:0;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.rv-stars{display:flex;gap:4px}
.rv-star{display:grid;place-items:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#d1d5db;cursor:pointer;transition:transform .15s,color .15s}
.rv-star svg{width:30px;height:30px;fill:currentColor}
.rv-star.is-on{color:#f59e0b}
.rv-star:hover{transform:scale(1.12)}
.rv-text,.rv-name{display:block;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line,#d1d5db);border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:15px;resize:vertical}
.rv-text:focus,.rv-name:focus{outline:0;border-color:var(--brand,#111);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand,#111) 18%,transparent)}
.rv-photos{display:flex;flex-wrap:wrap;gap:8px}
.rv-photo{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;background:#f1f5f9;animation:bx-in .3s ease both}
.rv-photo img{width:100%;height:100%;object-fit:cover}
.rv-photo.is-loading{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:rv-shimmer 1.1s linear infinite}
@keyframes rv-shimmer{to{background-position:-200% 0}}
.rv-photo-x{position:absolute;top:4px;inset-inline-end:4px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.rv-add-photo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:72px;height:72px;border:1.5px dashed color-mix(in srgb,currentColor 35%,transparent);border-radius:10px;font-size:11px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.rv-add-photo:hover{border-color:var(--brand,#111);background:color-mix(in srgb,var(--brand,#111) 6%,transparent)}
.rv-file{position:absolute;inset:0;opacity:0;cursor:pointer}
.rv-name-row{display:grid;gap:6px;font-size:14px;font-weight:600}
.rv-code{display:grid;justify-items:center;gap:8px;padding:18px;border:2px dashed var(--brand,#16a34a);border-radius:var(--co-radius,14px);text-align:center;animation:bx-in .4s ease both}
.rv-code p{margin:0;font-weight:600}
.rv-code code{font-size:22px;font-weight:800;letter-spacing:.12em}
.rv-done{display:grid;justify-items:center;gap:12px;text-align:center}
@media(prefers-reduced-motion:reduce){.rv-card,.rv-photo,.rv-code{animation:none}}

/* Urgency app: real low stock in the cart */
.cart-low-stock,.cart-drawer .cart-low-stock,.co-root .cart-low-stock{display:inline-flex;align-items:center;gap:5px;color:#c2410c;font-size:12px;font-weight:600}
.cart-low-stock::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:cart-low-pulse 1.6s ease-in-out infinite}
@keyframes cart-low-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.cart-low-stock::before{animation:none}}
.bx-note .bx-note-link{text-decoration:none}
.bx-note .bx-note-link:hover b{text-decoration:underline;text-underline-offset:3px}

/* ── Bundle box (Bundles app, "As a bundle box"): the theme's colors unless the merchant set their own.
   One compact set: pictures together, the price and what it saves, ticked rows, one button. ── */
.bbx{--bbx-r:var(--bbx-radius,var(--radius,14px));--bbx-a:var(--bbx-accent,var(--brand,#111));display:grid;gap:14px;margin-top:16px;padding:16px;border:1px solid var(--line,#e5e7eb);border-radius:var(--bbx-r);background:var(--bbx-card,var(--card,#fff));color:inherit}
.bbx *,.bbx *::before,.bbx *::after{box-sizing:border-box}
.bbx p{margin:0}
.bbx-top{display:flex;align-items:center;gap:14px}
.bbx-stack{display:flex;flex-shrink:0}
.bbx-stack-pic{width:52px;height:52px;overflow:hidden;border:2px solid var(--bbx-card,var(--card,#fff));border-radius:calc(var(--bbx-r) * .7);background:color-mix(in srgb,currentColor 7%,transparent)}
.bbx-stack-pic+.bbx-stack-pic{margin-inline-start:-16px}
.bbx-stack-pic img{display:block;width:100%;height:100%;object-fit:cover}
.bbx-heading{display:grid;gap:4px;min-width:0}
.bbx-title{font-size:15px;font-weight:700;line-height:1.3}
.bbx-badge{display:inline-block;margin-inline-start:4px;padding:1px 7px;border-radius:5px;background:var(--bbx-badge-bg,color-mix(in srgb,var(--bbx-a) 10%,transparent));color:var(--bbx-badge,var(--bbx-a));font-size:11px;font-weight:700;vertical-align:2px}
.bbx-prices{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.bbx-price{font-size:20px;font-weight:800;color:var(--bbx-price,inherit);letter-spacing:-.01em}
.bbx-prices s{color:var(--muted,#6b7280);font-size:14px}
.bbx-save{align-self:center;padding:2px 8px;border-radius:99px;background:var(--bbx-save-bg,#dcfce7);color:var(--bbx-save,#166534);font-size:12px;font-weight:700;white-space:nowrap}
.bbx-items{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--line,#e5e7eb)}
.bbx-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:10px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.bbx-tick{position:relative;width:18px;height:18px;border-radius:50%;background:var(--bbx-a)}
.bbx-tick::after{content:"";position:absolute;left:5px;top:5px;width:7px;height:4px;border:2px solid var(--bbx-btn-text,var(--on-brand,#fff));border-top:0;border-right:0;transform:rotate(-45deg)}
.bbx-item.is-out .bbx-tick{background:#dc2626}
.bbx-pic{width:44px;height:44px;overflow:hidden;border-radius:calc(var(--bbx-r) * .55);background:color-mix(in srgb,currentColor 7%,transparent)}
.bbx-pic img{display:block;width:100%;height:100%;object-fit:cover}
.bbx-info{display:grid;gap:1px;min-width:0}
.bbx-name{overflow:hidden;font-size:14px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.bbx-name a{color:inherit;text-decoration:none}
.bbx-name a:hover{text-decoration:underline}
.bbx-qty{color:var(--muted,#6b7280);font-weight:700}
.bbx-each{color:var(--muted,#6b7280);font-size:12.5px}
.bbx-change{display:grid;justify-items:end;gap:1px;max-width:130px;margin:0;padding:4px 0;border:0;background:none;color:inherit;font:inherit;text-align:end;cursor:pointer}
.bbx-chosen{overflow:hidden;max-width:100%;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.bbx-change-word{display:inline-flex;align-items:center;gap:4px;color:var(--muted,#6b7280);font-size:12px;text-decoration:underline;text-underline-offset:2px}
.bbx-change-word::after{content:"";width:5px;height:5px;margin-top:-2px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .25s}
.bbx-item.is-open .bbx-change-word::after{margin-top:2px;transform:rotate(-135deg)}
.bbx-item.is-out .bbx-chosen{color:#b91c1c}
.bbx-more{grid-column:1/-1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1)}
.bbx-item.is-open .bbx-more{grid-template-rows:1fr}
.bbx-more-in{display:grid;gap:10px;min-height:0;overflow:hidden;padding-inline-start:28px}
.bbx-item.is-open .bbx-more-in{padding-top:10px}
.bbx-piece{display:grid;gap:8px}
.bbx-piece-n{font-size:12px;font-weight:700;color:var(--muted,#6b7280)}
.bbx-opt{display:grid;gap:5px}
.bbx-opt-name{font-size:12px;color:var(--muted,#6b7280)}
.bbx-vals{display:flex;flex-wrap:wrap;gap:6px}
.bbx-val{min-width:36px;height:32px;margin:0;padding:0 10px;border:1px solid var(--line,#d1d5db);border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.bbx-val:hover{border-color:currentColor}
.bbx-val.is-on{border-color:var(--bbx-a);box-shadow:inset 0 0 0 1px var(--bbx-a);font-weight:600}
.bbx-val.is-dot{width:28px;min-width:28px;height:28px;padding:0;border-radius:50%;background:var(--dot);box-shadow:inset 0 0 0 2px var(--bbx-card,var(--card,#fff))}
.bbx-val.is-dot.is-on{border:2px solid var(--bbx-a);box-shadow:inset 0 0 0 2px var(--bbx-card,var(--card,#fff))}
.bbx-val.is-unavailable{opacity:.35;text-decoration:line-through}
.bbx-select{width:100%;height:36px;padding:0 8px;border:1px solid var(--line,#d1d5db);border-radius:8px;background:var(--bg,#fff);color:inherit;font:inherit;font-size:13px}
.bbx-btn{background:var(--bbx-btn,var(--brand,#111));color:var(--bbx-btn-text,var(--on-brand,#fff));border-radius:var(--bbx-r)}
.bbx-note{margin-top:-6px !important;color:var(--muted,#6b7280);font-size:12px;text-align:center}
.bbx-msg{color:#b91c1c;font-size:13px;text-align:center}
@media (max-width:420px){.bbx-pic{display:none}.bbx-item{grid-template-columns:auto minmax(0,1fr) auto}}
@media (prefers-reduced-motion:reduce){.bbx-more,.bbx-val,.bbx-change-word::after{transition:none}}

/* Smart cart, "Follow the theme": the theme's corner roundness, button shape and colours, and its
   heading font — so the cart looks like the rest of the shop until the merchant designs their own. */
.cart-drawer.is-smart.sc-theme .cart-panel{--sc-radius:var(--radius,12px);--sc-btn-c:var(--brand,var(--ink,#1a1a1a));--sc-btn-fg-c:var(--on-brand,var(--bg,#fff));--sc-soft-c:var(--soft,color-mix(in srgb,currentColor 7%,transparent))}
.cart-drawer.is-smart.sc-theme :is(.sc-btn,.sc-pill,.sc-chip,.sc-mini,.sc-qty){border-radius:var(--btn-radius,999px)}
.cart-drawer.is-smart.sc-theme :is(.cart-head strong,.sc-suggest-head strong,.sc-line-title){font-family:var(--font-heading,inherit)}
.cart-drawer.is-smart.sc-theme .sc-btn.btn{width:100%;min-height:48px;box-shadow:none}

/* Thank-you page: the order on the left, the summary on the right (as at checkout) */
.co-ty{display:flex;flex-direction:column}
.co-ty-main{padding:24px 20px 32px;display:grid;gap:16px;align-content:start;background:#fff}
.co-ty-main>*{width:100%;max-width:560px;margin:0 auto;box-sizing:border-box}
.co-ty-head{display:flex;align-items:center;gap:14px}
.co-ty-badge{flex:none;width:50px;height:50px;border-radius:50%;border:2px solid var(--brand);color:var(--brand);display:flex;align-items:center;justify-content:center;animation:co-ty-pop .4s cubic-bezier(.2,.9,.3,1.2) both}
.co-ty-tick{stroke-dasharray:22;stroke-dashoffset:22;animation:co-ty-draw .35s ease-out .25s forwards}
.co-ty-ref{margin:0;color:#707070;font-size:13px}
.co-ty-head h1{margin:2px 0 0;font-size:1.45rem;line-height:1.25}
.co-ty-card{border:1px solid #dedede;border-radius:var(--co-r);padding:16px 18px;display:grid;gap:10px;background:#fff;text-align:start}
.co-ty-card h2{margin:0;font-size:16px}
.co-ty-card p{margin:0;color:#333}
.co-ty-card .co-preorder,.co-ty-card .co-bank,.co-ty-card .co-upsell-done{margin:0}
.co-bank h3{font-size:1rem;margin:0 0 8px}
.co-ty-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
.co-ty-details h3{margin:0 0 4px;font-size:13px;font-weight:600;color:#000}
.co-ty-details p,.co-ty-details address{margin:0;font-style:normal;color:#444;font-size:13.5px;line-height:1.6;overflow-wrap:anywhere}
[dir="rtl"] .co-ty-ltr{text-align:right}
.co-ty-foot{display:flex;justify-content:flex-end}
.co-ty-summary{background:#f5f5f5;border-top:1px solid #dedede;padding:20px}
.co-ty-summary .co-summary-inner{max-width:560px;margin:0 auto}
.co-ty-card.has-map{padding-top:0;overflow:hidden}
.co-ty-map{position:relative;margin:0 -18px 6px;aspect-ratio:640/280;background:#eceff1;border-bottom:1px solid #dedede}
.co-ty-map img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.co-ty-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));opacity:0}
.co-ty-map.is-loaded img{opacity:1}
.co-ty-map.is-loaded .co-ty-pin{animation:co-ty-drop .45s cubic-bezier(.2,.9,.3,1.25) .2s both}
@keyframes co-ty-drop{from{opacity:0;transform:translate(-50%,-160%)}to{opacity:1;transform:translate(-50%,-100%)}}
@media (prefers-reduced-motion:reduce){.co-ty-map img{transition:none}.co-ty-map.is-loaded .co-ty-pin{animation:none;opacity:1}}
.co-ty-cash{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--co-r);background:color-mix(in srgb,var(--brand) 7%,#fff);border:1px solid color-mix(in srgb,var(--brand) 25%,#fff)}
.co-ty-cash-icon{flex:none;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--brand) 25%,#fff)}
.co-ty-card .co-ty-cash-main{color:#000;font-size:15px}
.co-ty-cash-main strong{font-size:16px}
.co-ty-card .co-ty-cash-hint{color:#5c5c5c;font-size:13px;margin-top:2px}
@keyframes co-ty-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes co-ty-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.co-ty-badge{animation:none}.co-ty-tick{animation:none;stroke-dashoffset:0}}
@media (max-width:480px){.co-ty-details{grid-template-columns:1fr}.co-ty-foot .btn{width:100%}}
@media (min-width:1000px){
  .co-ty{flex-direction:row;max-width:1100px;margin:0 auto;min-height:calc(100vh - 73px)}
  .co-ty-main{flex:0 0 55%;padding:38px 38px 38px 20px;border-inline-end:1px solid #dedede;box-sizing:border-box}
  .co-ty-main>*{margin:0 0 0 auto}
  [dir="rtl"] .co-ty-main>*{margin:0 auto 0 0}
  .co-ty-summary{flex:0 0 45%;box-sizing:border-box;background:transparent;border:0;padding:38px 20px 38px 38px;position:sticky;top:0;align-self:flex-start}
  .co-ty-summary .co-summary-inner{margin:0;max-width:440px}
}

/* Back in Stock › "Notify me" window (default style): opened by the buy button while the chosen
   choice is sold out. Drawn in the theme's own surface, ink, lines, corners and buttons. */
.bis-modal{position:fixed;inset:0;z-index:2147483301;display:grid;place-items:center;padding:16px}
.bis-modal[hidden]{display:none}
.bis-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--ink,#111) 40%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .24s ease}
.bis-modal-panel{position:relative;width:min(440px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--card,var(--bg,#fff));color:var(--ink,#111);border:1px solid var(--line,#e5e7eb);border-radius:var(--radius,14px);padding:26px 24px 22px;box-shadow:0 30px 70px -28px rgba(0,0,0,.45);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .22s ease,transform .32s cubic-bezier(.2,.8,.2,1)}
.bis-modal.is-open .bis-modal-backdrop{opacity:1}
.bis-modal.is-open .bis-modal-panel{opacity:1;transform:none}
html.bis-modal-open{overflow:hidden}
.bis-modal-close{position:absolute;top:10px;inset-inline-end:10px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--muted,#6b7280);cursor:pointer;transition:background-color .2s,color .2s}
.bis-modal-close:hover{background:var(--soft,#f3f4f6);color:var(--ink,#111)}
.bis-modal-product{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding-inline-end:40px;padding-bottom:16px;border-bottom:1px solid var(--line,#e5e7eb)}
.bis-modal-product img{width:56px;height:56px;object-fit:cover;border-radius:calc(var(--radius,12px) * .6);background:var(--soft,#f3f4f6);flex:none}
.bis-modal-product div{display:flex;flex-direction:column;gap:2px;min-width:0}
.bis-modal-product strong{font-weight:600;line-height:1.3}
.bis-modal-product span{font-size:.85rem;color:var(--muted,#6b7280)}
.bis.bis-in-modal{margin:0;padding:0;border:0;background:none;border-radius:0}
.bis-modal-title{margin:0 0 6px;font-family:var(--font-heading,inherit);font-size:1.25rem;line-height:1.25;text-align:start}
.bis-modal-text{margin:0 0 16px;font-size:.92rem;color:var(--muted,#6b7280);line-height:1.5}
.bis-in-modal .bis-row{flex-direction:column;gap:10px}
.bis-in-modal .bis-row input[type=tel],.bis-in-modal .bis-row input[type=email]{flex:none;width:100%;padding:12px 14px;background:var(--bg,#fff);color:var(--ink,#111);border-color:var(--line,#d1d5db);border-radius:calc(var(--radius,12px) * .6)}
.bis-in-modal .bis-or{align-self:center}
.bis-in-modal .bis-row .btn{width:100%;margin:4px 0 0}
.bis-in-modal .bis-done{padding:14px;border-radius:calc(var(--radius,12px) * .6);background:color-mix(in srgb,#15803d 10%,transparent);text-align:center}
@media(prefers-reduced-motion:reduce){.bis-modal-backdrop,.bis-modal-panel{transition:none}}
/* A pre-ordered line in the cart and at checkout, and when it ships. */
.co-preorder-tag{align-self:flex-start;display:inline-block;margin-top:3px;padding:1px 8px;border-radius:999px;background:var(--bis-pre-bg,#fff7ed);color:var(--bis-pre-color,#9a3412)!important;font-size:11px!important;font-weight:600;letter-spacing:.02em}
.co-preorder-note{margin:0 0 14px;padding:9px 12px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:13px;line-height:1.45}
/* The seller's own words on product pictures ("Unisex"): quiet white, beside the red sale label. */
.cd-label.cd-label-custom{background:var(--lbl-tag-bg,#fff);color:var(--lbl-tag-color,#111);box-shadow:0 0 0 1px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06)}
.cd-label.cd-label-soldout{background:#111;color:#fff}
.cd-labels-pdp{top:14px;inset-inline-start:14px;z-index:3}
/* Stacked or non-sticky galleries stay a frame for the tags (product.js keeps them relative). */
@media(min-width:900px){.cd-product:is(.g-no-sticky,.g-stack,.g-grid,.g-feature) .cd-gallery:has(>.cd-labels-pdp){position:relative}}
/* Theme cards: the seller's picture tags sit at the foot of the picture, clear of the theme's own badges. */
.cd-labels.cd-labels-own{top:auto;bottom:10px}
/* The seller's own tags sit side by side (the app's labels stay a column). */
.cd-labels.cd-labels-own,.cd-labels.cd-labels-pdp{flex-direction:row;flex-wrap:wrap;align-items:center;max-width:calc(100% - 20px)}

/* ── Shoppable Videos: ready-made looks (Apps › Shoppable Videos › Design; storefront/src/video-designs.js) ── */
/* The product on the video: name, price and a round arrow inside the bottom of the clip. */
:is(.sv-d-overlay,.sv-d-glass) .sv-item{position:relative}
:is(.sv-d-overlay,.sv-d-glass) .sv-item .sv-card::after{content:"";position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(transparent,rgba(0,0,0,.74));pointer-events:none}
:is(.sv-d-overlay,.sv-d-glass) .sv-product{position:absolute;inset-inline:8px;bottom:8px;z-index:2;padding:8px;padding-inline-end:40px;color:#fff;border-radius:12px}
:is(.sv-d-overlay,.sv-d-glass) .sv-product::after{content:"";position:absolute;inset-inline-end:8px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/13px no-repeat;transition:transform .2s ease}
:is(.sv-d-overlay,.sv-d-glass) .sv-product:hover::after{transform:translateX(2px)}
[dir="rtl"] :is(.sv-d-overlay,.sv-d-glass) .sv-product::after{transform:scaleX(-1)}
:is(.sv-d-overlay,.sv-d-glass) .sv-product img{width:32px;height:32px;border-radius:7px}
:is(.sv-d-overlay,.sv-d-glass) .sv-product-price{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(.sv-d-overlay,.sv-d-glass) .sv-product-price s{opacity:.75}
:is(.sv-d-overlay,.sv-d-glass) .sv-item .sv-cap{top:0;bottom:auto;padding:10px 10px 26px;background:linear-gradient(rgba(0,0,0,.6),transparent)}
.sv-d-glass .sv-item .sv-card::after{height:40%;background:linear-gradient(transparent,rgba(0,0,0,.35))}
.sv-d-glass .sv-product{border-radius:14px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.34);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4)}
/* A picture frame: white border, the product under the clip, a slight tilt that straightens on hover. */
.sv-d-framed .sv-item{padding:8px 8px 12px;background:#fff;color:#111;box-shadow:0 1px 2px rgba(0,0,0,.08),0 12px 26px -14px rgba(0,0,0,.3);transform:rotate(-1.2deg);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.sv-d-framed .sv-item:nth-child(even){transform:rotate(1.2deg)}
.sv-d-framed .sv-item:hover{transform:none}
.sv-d-framed.sv-section .sv-row{padding:10px 4px 14px}
.sv-strip.sv-d-framed .sv-card{border:6px solid #fff;box-shadow:0 1px 2px rgba(0,0,0,.08),0 10px 22px -12px rgba(0,0,0,.3)}
/* Minimal: the clip and a quiet name, nothing more. */
.sv-d-minimal .sv-product img,.sv-d-minimal .sv-cap{display:none}
.sv-d-minimal .sv-product{font-size:.76rem;letter-spacing:.01em}
.sv-d-minimal .sv-product-name{font-weight:500}
/* Bold: a black border and a hard offset shadow. */
.sv-d-bold .sv-card{box-shadow:4px 4px 0 #111}
.sv-d-bold .sv-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #111}
.sv-d-bold.sv-prod-card .sv-product{border:2px solid #111;border-radius:0;box-shadow:3px 3px 0 #111}
/* The first one big: one clip leads, the others beside it. */
.sv-feature .sv-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;overflow:visible}
.sv-feature .sv-item{flex:none}
.sv-feature .sv-item:first-child{grid-column:span 2;grid-row:span 2}
@media(max-width:700px){.sv-feature .sv-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Phones and tablets: a tap opens the product. A tap counts as "pointing" there, and a hover that
   swapped to the second picture made the first tap show it instead of leaving — so on touch screens
   pictures never swap on hover (Uniform's "grid: image" choice keeps its worn photo). */
@media (hover:none){
  :is(.cd-card-alt,.tc-img-2,.cd-spot-alt,[class*="-card-alt"],.sl-look-alt):not(.un-grid-image *){opacity:0!important}
  :is(.cd-card-media,.tc,.cd-spot-media,[class*="-card"],.sl-look) img:not(.cd-card-alt,.tc-img-2,.cd-spot-alt,[class*="-card-alt"],.sl-look-alt):not(.un-grid-image *){opacity:1!important}
}
