/* FixPapa · Set 5 · Products: listing (/products, /refurbished, /open-box-deal, /low-price-deal) and detail
   (/products/detail/[slug]) — component/products/*, pages/products/*.
   Pages render inside <main class="fp-home shp">, so tokens, .container, .eyebrow, .h-md, .lead and .btn come from
   home.css; everything here is prefixed .shp-. Bootstrap and the site's global CSS still load, so controls, labels,
   headings and lists are set explicitly. */
.shp{--ok:#16A34A;--danger:#DC2626;--surface:#F8FAFC;background:var(--surface)}
.shp :where(h1,h2,h3,h4){color:var(--ink);margin:0}
.shp :where(dl,dd,figure){margin:0}
.shp .shp-ic{display:inline-flex;flex:none}
.shp .shp-ic svg{display:block}
.shp .btn{border:0;gap:8px}
.shp .btn--ghost{border:1px solid var(--border-strong)}
.shp .btn:disabled{opacity:.55;pointer-events:none}
.shp .shp-w100{width:100%}
.shp .shp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.shp .shp-link{padding:0;border:0;background:none;font:700 13px var(--font-head);color:var(--primary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.shp .shp-card{border-radius:22px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-sm)}
.shp .shp-spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:shpSpin .7s linear infinite}
@keyframes shpSpin{to{transform:rotate(360deg)}}
.shp .shp-skel{height:14px;border-radius:8px;background:linear-gradient(90deg,#EEF2F6 25%,#E2E8F0 50%,#EEF2F6 75%);background-size:200% 100%;animation:shpSk 1.3s linear infinite}
@keyframes shpSk{to{background-position:-200% 0}}

/* badges + rating */
.shp .shp-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font:700 11.5px var(--font-head);letter-spacing:.02em;white-space:nowrap;background:#F1F5F9;color:var(--ink-2)}
.shp .shp-badge--sm{height:20px;padding:0 8px;font-size:10.5px}
.shp .shp-badge--off{background:var(--grad-primary);color:#fff}
.shp .shp-badge--new{background:#DCFCE7;color:#166534}
.shp .shp-badge--refurbished{background:#E0F2FE;color:#075985}
.shp .shp-badge--openbox{background:#FFEDD5;color:#9A3412}
.shp .shp-badge--cond{background:#F3E8FF;color:#6B21A8}
.shp .shp-rate{display:inline-flex;align-items:center;gap:4px;font:700 12.5px var(--font-head);color:var(--ink-2)}
.shp .shp-rate .shp-ic{color:#F59E0B}
.shp .shp-rate--lg{height:26px;padding:0 10px;border-radius:999px;background:#FEF3C7;color:#92400E}

/* ---------- listing hero ---------- */
.shp .shp-hero{position:relative;overflow:hidden;padding:30px 0 34px;background:radial-gradient(60% 120% at 100% 0%,#FFEDD5 0%,rgba(255,237,213,0) 60%),#fff;border-bottom:1px solid var(--border)}
.shp .shp-hero .bg-grid{opacity:.35}
.shp .shp-hero .container{position:relative}
.shp .shp-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px;font:600 13px var(--font-body);color:var(--ink-3)}
.shp .shp-crumb a:hover{color:var(--primary)}
.shp .shp-crumb>span{color:var(--ink);max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shp .shp-crumb i{width:6px;height:6px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:rotate(-45deg);opacity:.6}
.shp .shp-hero h1{font:800 clamp(30px,4vw,48px)/1.08 var(--font-head);letter-spacing:-.03em;margin:12px 0 10px}
.shp .shp-hero h1 span{color:var(--primary)}
.shp .shp-hero .lead{max-width:62ch;margin:0}
.shp .shp-seg{display:flex;gap:8px;margin-top:22px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.shp .shp-seg::-webkit-scrollbar{display:none}
.shp .shp-seg a{flex:none;display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--border-strong);background:#fff;font:700 13.5px var(--font-head);color:var(--ink-2);transition:border-color .2s,color .2s,background .2s}
.shp .shp-seg a:hover{border-color:var(--primary);color:var(--primary)}
.shp .shp-seg a.is-on{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- shop layout ---------- */
.shp .shp-shop{padding:28px 0 72px}
.shp .shp-shop-in{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}
.shp .shp-side{position:sticky;top:96px}
.shp .shp-side-bd,.shp .shp-side-x,.shp .shp-side-foot{display:none}
.shp .shp-filters{padding:8px 18px 14px;border-radius:22px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-sm);max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:thin}
.shp .shp-filters--loading{padding:18px}
.shp .shp-filters-head{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.shp .shp-filters-head h2{font:800 17px var(--font-head)}
.shp .shp-fgroup{border-bottom:1px solid var(--border)}
.shp .shp-fgroup:last-child{border-bottom:0}
.shp .shp-fgroup-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;border:0;background:none;font:700 14.5px var(--font-head);color:var(--ink);cursor:pointer}
.shp .shp-fgroup-head>span{display:flex;align-items:center;gap:8px}
.shp .shp-fgroup-head b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--grad-primary);color:#fff;font:800 11px var(--font-head)}
.shp .shp-fgroup-head .shp-ic{color:var(--ink-3);transition:transform .25s var(--ease)}
.shp .shp-fgroup.is-open .shp-fgroup-head .shp-ic{transform:rotate(180deg)}
.shp .shp-fgroup-body{padding:0 0 14px}
.shp .shp-opts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.shp .shp-opt{position:relative;display:flex;align-items:center;gap:10px;margin:0;padding:7px 8px;border-radius:10px;font:500 14px var(--font-body);color:var(--ink-2);cursor:pointer;transition:background .15s}
.shp .shp-opt:hover{background:#FFF7F0}
.shp .shp-opt input{position:absolute;opacity:0;pointer-events:none}
.shp .shp-opt>i{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:6px;border:1.5px solid var(--border-strong);background:#fff;color:transparent;transition:background .15s,border-color .15s}
.shp .shp-opt.is-on>i{background:var(--primary);border-color:var(--primary);color:#fff}
.shp .shp-opt input:focus-visible+i{box-shadow:0 0 0 3px rgba(255,138,31,.3)}
.shp .shp-opt>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}
.shp .shp-opt.is-on>span{color:var(--ink);font-weight:600}
.shp .shp-opt small{font-size:12px;color:var(--ink-3)}
.shp .shp-opts-none{padding:6px 8px;font-size:13px;color:var(--ink-3)}
.shp .shp-more{margin:6px 0 0 8px;padding:0;border:0;background:none;font:700 13px var(--font-head);color:var(--primary);cursor:pointer}
.shp .shp-fsearch{position:relative;display:block;margin:0 0 8px}
.shp .shp-fsearch .shp-ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-3)}
.shp .shp-fsearch input{width:100%;height:38px;padding:0 12px 0 34px;border-radius:10px;border:1px solid var(--border-strong);font:400 13.5px var(--font-body);outline:0}
.shp .shp-fsearch input:focus{border-color:var(--primary)}
.shp .shp-price-in{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.shp .shp-price-in label{flex:1;min-width:0;margin:0}
.shp .shp-price-in span{display:block;font:600 11.5px var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:4px}
.shp .shp-price-in input{width:100%;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--border-strong);font:600 14px var(--font-body);color:var(--ink);outline:0;-moz-appearance:textfield;appearance:textfield}
.shp .shp-price-in input::-webkit-outer-spin-button,.shp .shp-price-in input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.shp .shp-price-in input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,138,31,.14)}
.shp .shp-price-in>i{width:10px;height:2px;margin-top:18px;background:var(--border-strong)}
.shp .shp-range.range-slider{height:6px;margin:6px 8px 10px;background:#E2E8F0}
.shp .shp-range.range-slider .range-slider__range{background:var(--grad-primary)}
.shp .shp-range.range-slider .range-slider__thumb{width:20px;height:20px;background:#fff !important;border:2px solid var(--primary);box-shadow:0 2px 8px -2px rgba(255,106,0,.6)}
.shp .shp-price-cap{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3)}

.shp .shp-results{min-width:0}
.shp .shp-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.shp .shp-count{font-size:14.5px;color:var(--ink-3)}
.shp .shp-count b{color:var(--ink)}
.shp .shp-bar-r{display:flex;align-items:center;gap:8px}
.shp .shp-fbtn{display:none;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--border-strong);background:#fff;font:700 14px var(--font-head);color:var(--ink);cursor:pointer}
.shp .shp-fbtn b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:var(--grad-primary);color:#fff;font-size:11px}
.shp .shp-sort{position:relative;display:flex;align-items:center;margin:0}
.shp .shp-sort>.shp-ic{position:absolute;left:14px;color:var(--ink-3);pointer-events:none}
.shp .shp-sort select{height:42px;padding:0 38px 0 40px;border-radius:999px;border:1px solid var(--border-strong);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;font:700 14px var(--font-head);color:var(--ink);appearance:none;-webkit-appearance:none;outline:0;cursor:pointer}
.shp .shp-sort select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,138,31,.14)}
.shp .shp-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}
.shp .shp-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;border:1px solid #FED7AA;background:#FFF7F0;font:600 13px var(--font-body);color:var(--ink-2);cursor:pointer;transition:background .2s}
.shp .shp-chip:hover{background:#FFEDD5}
.shp .shp-chip .shp-ic{color:var(--primary)}

.shp .shp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}

/* product tile */
.shp .shp-tile{position:relative;display:flex;flex-direction:column;border-radius:22px;border:1px solid var(--border);background:#fff;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.shp .shp-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#FED7AA}
.shp .shp-tile-media{position:relative;display:block;aspect-ratio:1/1;background:radial-gradient(70% 70% at 50% 45%,#fff 0%,#F4F6FA 100%)}
.shp .shp-tile-media img{position:absolute;inset:12%;width:76%;height:76%;object-fit:contain;transition:transform .6s var(--ease)}
.shp .shp-tile:hover .shp-tile-media img{transform:scale(1.06)}
.shp .shp-tile-tags{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.shp .shp-wish{position:absolute;right:12px;top:12px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.92);color:var(--ink-2);box-shadow:0 6px 16px -8px rgba(11,18,32,.3);cursor:pointer;transition:color .2s,transform .2s,background .2s}
.shp .shp-wish:hover{color:#E11D48;transform:scale(1.06)}
.shp .shp-wish.is-on{color:#E11D48;background:#FFF1F2;border-color:#FECDD3}
.shp .shp-wish:disabled{opacity:.6;cursor:default}
.shp .shp-wish--static{position:static}
.shp .shp-tile-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:14px 16px 16px}
.shp .shp-tile-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 11.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.shp .shp-tile-meta>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shp .shp-tile h3{font:700 15px/1.35 var(--font-head);letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.shp .shp-tile h3 a:hover{color:var(--primary)}
.shp .shp-tile-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:auto}
.shp .shp-tile-price strong{font:800 19px var(--font-head);letter-spacing:-.02em;color:var(--ink)}
.shp .shp-tile-price del{font-size:13px;color:var(--ink-3)}
.shp .shp-oos{font:600 12px var(--font-body);color:var(--danger)}
.shp .shp-tile-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;margin-top:4px;border-radius:999px;border:0;background:var(--grad-accent);font:700 14px var(--font-head);color:#fff;cursor:pointer;transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.shp .shp-tile-cta:hover{box-shadow:var(--glow-accent);transform:translateY(-1px)}
.shp .shp-tile-cta.is-in{background:#fff;border:1px solid var(--border-strong);color:var(--ink)}
.shp .shp-tile-cta.is-in:hover{border-color:var(--danger);color:var(--danger);box-shadow:none}
.shp .shp-tile-cta:disabled{opacity:.6;pointer-events:none}
.shp .shp-tile--skel .shp-skel--media{height:auto;aspect-ratio:1/1;border-radius:0}
.shp .shp-tile--skel .shp-skel--btn{height:42px;border-radius:999px;margin-top:8px}

.shp .shp-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 20px;text-align:center;border-radius:22px;border:1px dashed var(--border-strong);background:#fff}
.shp .shp-empty>i{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#FFF1E4;color:var(--primary)}
.shp .shp-empty h3{font:800 19px var(--font-head)}
.shp .shp-empty p{color:var(--ink-3);font-size:14.5px;margin:0}
.shp .shp-empty--sm{padding:36px 20px;border-style:solid}

.shp .shp-pager{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin-top:32px}
.shp .shp-pg{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--border);background:#fff;font:700 14px var(--font-head);color:var(--ink-2);transition:border-color .2s,color .2s}
.shp .shp-pg:hover{border-color:var(--primary);color:var(--primary)}
.shp .shp-pg.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.shp .shp-pg.is-off{opacity:.4;pointer-events:none}
.shp .shp-pg-gap{padding:0 4px;color:var(--ink-3)}

/* ---------- services band ---------- */
.shp .shp-svc{padding:72px 0;background:#fff;border-top:1px solid var(--border)}
.shp .shp-svc-head{text-align:center;margin-bottom:32px}
.shp .shp-svc-head .h-md{margin-top:10px}
.shp .shp-svc-head .h-md span{color:var(--primary)}
.shp .shp-svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.shp .shp-svc-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:22px;border:1px solid var(--border);background:var(--surface);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.shp .shp-svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#FED7AA;background:#fff}
.shp .shp-svc-card>i{display:grid;place-items:center;width:50px;height:50px;margin-bottom:8px;border-radius:16px;background:var(--grad-primary);color:#fff;box-shadow:0 10px 22px -10px rgba(255,106,0,.7)}
.shp .shp-svc-card h3{font:800 17px var(--font-head)}
.shp .shp-svc-card p{font-size:14px;line-height:1.55;color:var(--ink-3);margin:0}
.shp .shp-svc-go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font:700 13.5px var(--font-head);color:var(--primary)}
.shp .shp-svc-card:hover .shp-svc-go .shp-ic{transform:translateX(3px)}
.shp .shp-svc-go .shp-ic{transition:transform .3s var(--ease)}

/* ---------- detail ---------- */
.shp .shp-pd{padding:24px 0 40px;background:#fff;border-bottom:1px solid var(--border)}
.shp .shp-pd-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:start}
.shp .shp-gal{position:sticky;top:96px}
.shp .shp-gal-main{position:relative;aspect-ratio:1/1;border-radius:28px;border:1px solid var(--border);background:radial-gradient(70% 70% at 50% 45%,#fff 0%,#F4F6FA 100%);overflow:hidden}
.shp .shp-gal-img{position:absolute;inset:0;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.shp .shp-gal-img img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;transition:transform .5s var(--ease)}
.shp .shp-gal-img:hover img{transform:scale(1.04)}
.shp .shp-gal-tools{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:8px}
.shp .shp-gal-nav{position:absolute;top:50%;display:grid;place-items:center;width:42px;height:42px;margin-top:-21px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 6px 16px -8px rgba(11,18,32,.3);cursor:pointer;transition:background .2s,color .2s}
.shp .shp-gal-nav:hover{background:var(--ink);color:#fff}
.shp .shp-gal-nav--l{left:14px}.shp .shp-gal-nav--r{right:14px}
.shp .shp-gal-count{position:absolute;left:14px;bottom:14px;padding:4px 10px;border-radius:999px;background:rgba(11,18,32,.7);font:600 12px var(--font-mono);color:#fff}
.shp .shp-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding:2px}
.shp .shp-thumbs::-webkit-scrollbar{display:none}
.shp .shp-thumbs button{flex:none;width:76px;height:76px;padding:6px;border-radius:16px;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:border-color .2s}
.shp .shp-thumbs button.is-on{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,138,31,.15)}
.shp .shp-thumbs img{width:100%;height:100%;object-fit:contain}

.shp .shp-pd-info{display:flex;flex-direction:column;gap:16px;min-width:0}
.shp .shp-pd-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.shp .shp-pd-brand{font:600 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.shp .shp-pd-info h1{font:800 clamp(24px,2.6vw,34px)/1.18 var(--font-head);letter-spacing:-.025em}
.shp .shp-pd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-3)}
.shp .shp-sku{margin-left:auto;font:500 12px var(--font-mono);color:var(--ink-3)}
.shp .shp-buy{padding:22px}
.shp .shp-buy-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
.shp .shp-buy-price strong{font:800 clamp(30px,3vw,38px)/1 var(--font-head);letter-spacing:-.03em;color:var(--ink)}
.shp .shp-buy-price del{font-size:16px;color:var(--ink-3)}
.shp .shp-buy-tax{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-3)}
.shp .shp-stock{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font:700 13.5px var(--font-head);color:var(--ok)}
.shp .shp-stock i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(22,163,74,.15)}
.shp .shp-stock.is-out{color:var(--danger)}
.shp .shp-stock.is-out i{box-shadow:0 0 0 4px rgba(220,38,38,.15)}
.shp .shp-buy-btns{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:18px}
.shp .shp-buy-main{width:100%}
.shp .shp-buy-wish.is-on{color:#E11D48 !important;border-color:#FECDD3 !important;background:#FFF1F2 !important}
.shp .shp-buy-go{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font:700 13.5px var(--font-head);color:var(--primary)}
.shp .shp-perks{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.shp .shp-perks li{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.35;color:var(--ink-2)}
.shp .shp-perks .shp-ic{color:var(--primary)}

.shp .shp-sellers{padding:18px}
.shp .shp-sellers-head{margin-bottom:10px}
.shp .shp-sellers-head h3{display:flex;align-items:center;gap:8px;font:800 16px var(--font-head)}
.shp .shp-sellers-head h3 .shp-ic{color:var(--primary)}
.shp .shp-sellers-head p{margin:2px 0 0;font-size:13px;color:var(--ink-3)}
.shp .shp-sellers ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.shp .shp-sellers li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);transition:border-color .2s,background .2s}
.shp .shp-sellers li.is-on{border-color:var(--primary);background:#FFF7F0}
.shp .shp-sellers li>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.shp .shp-sellers strong{font:800 16px var(--font-head)}
.shp .shp-sellers small{font-size:12.5px;color:var(--ink-3)}
.shp .shp-sellers-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.shp .shp-sellers-in{display:inline-flex;align-items:center;gap:5px;font:700 13px var(--font-head);color:var(--primary)}

.shp .shp-quote{padding:18px}
.shp .shp-quote-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.shp .shp-quote-head>i{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#FFF1E4;color:var(--primary)}
.shp .shp-quote-head h3{font:800 16px var(--font-head)}
.shp .shp-quote-head p{margin:2px 0 0;font-size:13px;color:var(--ink-3)}
.shp .shp-qty-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.shp .shp-qty-presets button{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:14px;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:border-color .2s,background .2s}
.shp .shp-qty-presets b{font:800 18px var(--font-head);color:var(--ink)}
.shp .shp-qty-presets small{font-size:11.5px;color:var(--ink-3)}
.shp .shp-qty-presets button.is-on{border-color:var(--primary);background:#FFF7F0}
.shp .shp-qty-presets button.is-on b{color:var(--primary)}
.shp .shp-qty-custom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 0;font-size:13.5px;color:var(--ink-2)}
.shp .shp-qty-custom input{width:96px;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--border-strong);font:700 14px var(--font-body);text-align:center;outline:0}
.shp .shp-qty-custom input:focus{border-color:var(--primary)}
.shp .shp-quote-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.shp .shp-quote-btns .btn{width:100%}
.shp .shp-quote-done{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;padding:12px;border-radius:12px;background:#FFF1E4;font-size:13.5px;color:#9A3412}

/* dialog */
.shp .shp-dlg{position:fixed;inset:0;z-index:1070;display:grid;place-items:center;padding:20px;font-family:var(--font-body)}
.shp .shp-dlg-bd{position:absolute;inset:0;background:rgba(11,18,32,.55);backdrop-filter:blur(5px)}
.shp .shp-dlg-box{position:relative;width:min(460px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:26px;border-radius:24px;background:#fff;box-shadow:0 40px 80px -30px rgba(11,18,32,.6);animation:shpIn .3s var(--ease)}
@keyframes shpIn{from{opacity:0;transform:translateY(10px) scale(.98)}}
.shp .shp-dlg-x{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:0;background:#F1F5F9;color:var(--ink-2);cursor:pointer}
.shp .shp-dlg-box h2{font:800 22px var(--font-head);margin-right:40px}
.shp .shp-dlg-sub{margin:4px 0 18px;font-size:13.5px;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shp .shp-f{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.shp .shp-f>span{font:600 13px var(--font-head);color:var(--ink-2)}
.shp .shp-f input,.shp .shp-f textarea{width:100%;height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--border-strong);font:400 15px var(--font-body);color:var(--ink);outline:0;transition:border-color .2s,box-shadow .2s}
.shp .shp-f textarea{height:auto;padding:12px 14px;resize:vertical;line-height:1.5}
.shp .shp-f input:focus,.shp .shp-f textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(255,138,31,.14)}
.shp .shp-f-pre{position:relative}
.shp .shp-f-pre b{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-weight:700;color:var(--ink-3)}
.shp .shp-f-pre input{padding-left:30px}
.shp .shp-f em{display:none;font-style:normal;font-size:12.5px;color:var(--danger)}
.shp .shp-f.bad input,.shp .shp-f.bad textarea{border-color:var(--danger)}
.shp .shp-f.bad em{display:block}
.shp .shp-dlg-btns{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}

/* tabs + content */
.shp .shp-detail-sec{padding:44px 0 0}
.shp .shp-tabs{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.shp .shp-tabs::-webkit-scrollbar{display:none}
.shp .shp-tabs button,.shp .shp-tabs-link{flex:none;display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--border-strong);background:#fff;font:700 14px var(--font-head);color:var(--ink-2);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.shp .shp-tabs button:hover,.shp .shp-tabs-link:hover{border-color:var(--primary);color:var(--primary)}
.shp .shp-tabs button.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.shp .shp-tabpanel{padding:26px 28px}
.shp .shp-html{font-size:15px;line-height:1.7;color:var(--ink-2);overflow-x:auto;overflow-wrap:anywhere}
.shp .shp-html :where(p,ul,ol){margin:0 0 12px}
.shp .shp-html :where(ul,ol){padding-left:20px}
.shp .shp-html li{margin-bottom:6px}
.shp .shp-html :where(h1,h2,h3,h4,h5){font-family:var(--font-head);color:var(--ink);margin:18px 0 8px;font-size:17px}
.shp .shp-html img{max-width:100%;height:auto;border-radius:12px}
.shp .shp-html table{width:100%;border-collapse:collapse;margin:0 0 12px}
.shp .shp-html :where(td,th){padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:14px}
.shp .shp-html tr:last-child :where(td,th){border-bottom:0}
.shp .shp-html :where(td:first-child,th){width:38%;font-weight:600;color:var(--ink)}
.shp .shp-html .a-text-bold{font-weight:600}
.shp .shp-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px}
.shp .shp-spec-group h3{font:800 13px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:8px}
.shp .shp-spec-group dl>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.shp .shp-spec-group dl>div:last-child{border-bottom:0}
.shp .shp-spec-group dt{font:600 13.5px var(--font-body);color:var(--ink-3)}
.shp .shp-spec-group dd{font:500 14px var(--font-body);color:var(--ink);overflow-wrap:anywhere}

/* reviews */
.shp .shp-reviews{scroll-margin-top:110px;padding-bottom:64px}
.shp .shp-sec-head{margin-bottom:14px}
.shp .shp-sec-head h2{font:800 clamp(22px,2.4vw,28px) var(--font-head);letter-spacing:-.02em}
.shp .shp-reviews-in{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}
.shp .shp-rsum{padding:22px}
.shp .shp-rsum-top{display:flex;align-items:center;gap:14px}
.shp .shp-rsum-top>strong{font:800 46px/1 var(--font-head);letter-spacing:-.03em;color:var(--ink)}
.shp .shp-rsum-top small{display:block;margin-top:4px;font-size:13px;color:var(--ink-3)}
.shp .shp-stars{display:inline-flex;gap:2px;color:#F59E0B}
.shp .shp-bars{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.shp .shp-bars li{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:10px;font:600 13px var(--font-head);color:var(--ink-2)}
.shp .shp-bars li>span{display:inline-flex;align-items:center;gap:3px}
.shp .shp-bars li>span .shp-ic{color:#F59E0B}
.shp .shp-bars i{height:8px;border-radius:999px;background:#F1F5F9;overflow:hidden}
.shp .shp-bars i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#F59E0B,#FBBF24)}
.shp .shp-bars small{text-align:right;color:var(--ink-3)}
.shp .shp-rform{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.shp .shp-rform h3{font:800 16px var(--font-head)}
.shp .shp-rform p{margin:4px 0 12px;font-size:13.5px;color:var(--ink-3)}
.shp .shp-rpick{display:flex;gap:4px;margin-bottom:12px}
.shp .shp-rpick button{padding:2px;border:0;background:none;color:#E2E8F0;cursor:pointer;transition:transform .15s,color .15s}
.shp .shp-rpick button.is-on{color:#F59E0B}
.shp .shp-rpick button:hover{transform:scale(1.12)}
.shp .shp-rform textarea{width:100%;margin-bottom:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--border-strong);font:400 14.5px/1.5 var(--font-body);color:var(--ink);resize:vertical;outline:0}
.shp .shp-rform textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(255,138,31,.14)}
.shp .shp-err-txt{display:block;margin:-4px 0 10px;font-style:normal;font-size:12.5px;color:var(--danger)}
.shp .shp-rlist{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.shp .shp-rlist>.btn{align-self:center}
.shp .shp-review{padding:18px 20px}
.shp .shp-review header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.shp .shp-review header>div{flex:1;min-width:0}
.shp .shp-review header b{display:block;font:700 15px var(--font-head);color:var(--ink)}
.shp .shp-review header small{font-size:12.5px;color:var(--ink-3)}
.shp .shp-review p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-2);overflow-wrap:anywhere}
.shp .shp-av{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--grad-primary);font:800 14px var(--font-head);color:#fff}
.shp .shp-av img{width:100%;height:100%;object-fit:cover}

/* phone buy bar */
.shp .shp-mbuy{display:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .shp .shp-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shp .shp-pd-grid{gap:28px}

}
@media (max-width:1024px){
  .shp .shp-shop-in{grid-template-columns:minmax(0,1fr)}
  .shp .shp-fbtn{display:inline-flex}
  .shp .shp-side{position:fixed;inset:0;z-index:1060;pointer-events:none;top:0}
  .shp .shp-side-bd{display:block;position:absolute;inset:0;background:rgba(11,18,32,.5);opacity:0;transition:opacity .3s}
  .shp .shp-side-panel{position:absolute;left:0;top:0;bottom:0;width:min(360px,88vw);display:flex;flex-direction:column;background:#fff;transform:translateX(-100%);transition:transform .35s var(--ease);box-shadow:20px 0 60px -20px rgba(11,18,32,.4)}
  .shp .shp-side.is-open{pointer-events:auto}
  .shp .shp-side.is-open .shp-side-bd{opacity:1}
  .shp .shp-side.is-open .shp-side-panel{transform:none}
  .shp .shp-side-x{display:grid;place-items:center;position:absolute;right:12px;top:12px;z-index:1;width:36px;height:36px;border-radius:50%;border:0;background:#F1F5F9;color:var(--ink);cursor:pointer}
  .shp .shp-filters{flex:1;max-height:none;border:0;border-radius:0;box-shadow:none;padding-top:6px}
  .shp .shp-filters-head{padding-right:48px}
  .shp .shp-side-foot{display:block;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}
  .shp .shp-side-foot .btn{width:100%}
  .shp .shp-pd-grid{grid-template-columns:minmax(0,1fr)}
  .shp .shp-gal{position:static;max-width:560px;width:100%;margin:0 auto}
  .shp .shp-reviews-in{grid-template-columns:minmax(0,1fr)}

}
@media (max-width:760px){
  .shp .shp-specs{grid-template-columns:minmax(0,1fr)}
  .shp .shp-mbuy{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:1030;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:22px;background:var(--grad-dark);color:#fff;box-shadow:0 20px 40px -14px rgba(11,18,32,.65)}
  .shp .shp-mbuy strong{display:block;font:800 19px var(--font-head);color:#fff}
  .shp .shp-mbuy small{font-size:12px;color:#94A3B8}
  .shp .shp-mbuy small del{color:#94A3B8}
  .shp .shp-mbuy .btn{height:46px;padding:0 18px}
  .shp .shp-mbuy .btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.2)}
  body:has(.shp-mbuy){padding-bottom:calc(84px + env(safe-area-inset-bottom))}

}
@media (max-width:640px){
  .shp .shp-hero{padding:20px 0 24px}
  .shp .shp-shop{padding:18px 0 48px}
  .shp .shp-bar{gap:10px}
  .shp .shp-count{width:100%;order:2;font-size:13.5px}
  .shp .shp-bar-r{width:100%}
  .shp .shp-fbtn{flex:1;justify-content:center}
  .shp .shp-sort{flex:1.4}
  .shp .shp-sort select{width:100%}
  .shp .shp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .shp .shp-tile{border-radius:18px}
  .shp .shp-tile-body{padding:10px 10px 12px;gap:6px}
  .shp .shp-tile h3{font-size:13.5px}
  .shp .shp-tile-price strong{font-size:16px}
  .shp .shp-tile-price del{font-size:12px}
  .shp .shp-tile-cta{height:38px;font-size:12.5px;gap:6px}
  .shp .shp-tile-cta.is-in{font-size:0;gap:0}
  .shp .shp-tile-cta.is-in .shp-ic{margin:0}
  .shp .shp-tile-cta.is-in::after{content:"Remove";font-size:12.5px;margin-left:6px}
  .shp .shp-wish{width:34px;height:34px;right:8px;top:8px}
  .shp .shp-tile-tags{left:8px;top:8px}
  .shp .shp-svc{padding:48px 0}
  .shp .shp-svc-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .shp .shp-svc-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 14px;padding:16px}
  .shp .shp-svc-card>i{grid-row:span 3;margin:0}
  .shp .shp-pd{padding:16px 0 28px}
  .shp .shp-gal-main{border-radius:22px}
  .shp .shp-thumbs button{width:62px;height:62px}
  .shp .shp-sku{margin-left:0;width:100%}
  .shp .shp-buy{padding:18px}
  .shp .shp-perks{grid-template-columns:minmax(0,1fr);gap:10px}
  .shp .shp-tabpanel{padding:18px 16px}
  .shp .shp-detail-sec{padding-top:32px}
  .shp .shp-dlg-box{padding:22px 18px}
  .shp .shp-crumb>span{max-width:22ch}

}
@media (prefers-reduced-motion:reduce){.shp .shp-skel,.shp .shp-dlg-box,.shp .shp-spin{animation:none}}

/* status labels: plain orange text instead of pastel pills (the theme's deeper orange, for small text). On a tile they sit over the photo, so they keep a white chip. */
.shp .shp-badge--new,.shp .shp-badge--refurbished,.shp .shp-badge--openbox,.shp .shp-badge--cond{height:auto;padding:0;border-radius:0;background:none;color:#E85D04;font-weight:600}
.shp .shp-tile-tags .shp-badge:not(.shp-badge--off){height:24px;padding:0 10px;border-radius:999px;background:#fff;color:#E85D04}
.shp .shp-stock{font-weight:600;color:#E85D04}
.shp .shp-stock i{display:none}
.shp .shp-stock.is-out{color:var(--danger)}
/* out of stock: the wishlist sits on the stock line, in place of the button beside Add to cart */
.shp .shp-stock-wish{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:0;border:0;background:none;color:var(--danger);font:inherit;cursor:pointer}
.shp .shp-stock-wish:hover{text-decoration:underline}
.shp .shp-stock-wish:disabled{opacity:.6;cursor:default}

/* phones: the closed filter drawer sits just off screen, so its shadow only shows once it is open */
@media (max-width:1024px){.shp .shp-side:not(.is-open) .shp-side-panel{box-shadow:none}}

/* one brand: the strip above its products (component/products/brandBanner.js, the theme's .pr-brand) */
.shp .shp-brand{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 18px;padding:14px 18px 14px 14px;border-radius:20px;border:1px solid var(--border);background:#fff}
.shp .shp-brand-logo{flex:none;width:120px;height:64px;display:grid;place-items:center;padding:10px 14px;border-radius:14px;background:#fff;border:1px solid var(--border)}
.shp .shp-brand-logo img{max-width:100%;max-height:44px;width:auto;height:auto;object-fit:contain}
.shp .shp-brand-logo b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--primary);color:#fff;font:800 18px var(--font-head)}
.shp .shp-brand-txt{flex:1;min-width:180px}
.shp .shp-brand-txt b{display:block;font:800 19px var(--font-head);color:var(--ink)}
.shp .shp-brand-txt small{font-size:13.5px;color:var(--ink-3)}
.shp .shp-brand-acts{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.shp .shp-brand-back{display:inline-flex;align-items:center;gap:4px;font:700 14px var(--font-head);color:var(--primary)}
.shp .shp-brand-back:hover{text-decoration:underline}
@media (max-width:640px){
  .shp .shp-brand{gap:12px;padding:12px}
  .shp .shp-brand-logo{width:92px;height:52px}
  .shp .shp-brand-acts{width:100%;justify-content:space-between}
}
[data-theme="dark"] .shp .shp-brand{background:#15161B;border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .shp .shp-brand-txt b{color:#F3F4F6}
