@import url('https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@600;700&display=swap');
/* ResaleReady storefront UX layer: public shop pages only (body.sfx).
   Photo-led, bold, uncluttered. Keeps the app's dark tokens and blue accent:
   --bg --panel --raised --line --muted --white --blue --green --amber.
   Display headings use a condensed face; body text stays DM Sans. */

.sfx{--sfx-ink:#f4f6fa;--sfx-sub:#b8c0cd;--sfx-bg:#0b0d10;--sfx-surface:#15181d;--sfx-display:'Archivo Narrow','Arial Narrow',Manrope,sans-serif;background:var(--sfx-bg)}
.sfx .main{background:var(--sfx-bg)}

/* ---------- compact header ---------- */
.sfx .topbar{height:60px;padding:0 20px;gap:22px;background:#0b0d10f2;border-bottom:1px solid #1d2128;backdrop-filter:blur(8px)}
.sfx .brandlogo{height:40px;animation:none}
.sfx .ownersignin{font-size:0;gap:0;width:44px;height:44px;justify-content:center;border-radius:50%;color:var(--sfx-sub)}
.sfx .ownersignin .icon{width:20px;height:20px}
.sfx .topright .place{display:none}
.sfx .sfx-hsearch{background:none;border:0;color:var(--sfx-ink);width:44px;height:44px;min-height:44px;border-radius:50%;padding:0;display:grid;place-items:center}
.sfx .sfx-hsearch .icon{width:21px;height:21px}
.sfx .sfx-hsearch:hover,.sfx .ownersignin:hover{background:#ffffff14}
/* Header sits over the featured photo on the shop home. */
.sfx-hashero.sfx .topbar{position:absolute;top:0;left:0;right:0;z-index:20;background:linear-gradient(180deg,#000000b3,#0000);border-bottom:0;backdrop-filter:none}
.sfx-hashero.sfx .layout{padding-top:0}
/* Desktop: no workspace-style sidebar on the storefront; the top nav is the navigation. */
.sfx .layout{display:block}
.sfx .sidebar{display:none}
.sfx .main{max-width:1440px;margin:0 auto;padding:0 32px 60px}
.sfx .topnav a{font-weight:600;letter-spacing:.02em}

/* ---------- shared ---------- */
.sfx .sfx-eyebrow{margin:0 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9fb4ff}
.sfx .sfx-sechead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 12px}
.sfx .sfx-sechead h2{margin:0;font:700 1.55rem/1.1 var(--sfx-display);letter-spacing:.03em;text-transform:uppercase}
.sfx .sfx-sechead h3{margin:0;font:700 1.1rem var(--sfx-display);letter-spacing:.04em;text-transform:uppercase}.sfx .sfx-sechead h3 span{color:var(--sfx-sub);margin-left:6px}
.sfx .sfx-sec{margin:0 0 30px}
.sfx .sfx-arrows{display:flex;gap:6px}
.sfx .sfx-arrow{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:#ffffff12;border:0;color:var(--sfx-ink);display:grid;place-items:center}
.sfx .sfx-arrow.prev .icon{transform:rotate(180deg)}
.sfx .sfx-arrow:hover:not(:disabled){background:#ffffff24}.sfx .sfx-arrow:disabled{opacity:.3;cursor:default}
.sfx .sfx-chip,.sfx-sheet .sfx-chip{display:inline-flex;align-items:center;min-height:30px;padding:4px 12px;border-radius:999px;background:#ffffff12;font-size:.82rem;font-weight:600;color:#e3e8f0}
.sfx .sfx-chip.cond,.sfx-sheet .sfx-chip.cond{background:#1c2c24;color:var(--green)}
.sfx .sfx-chip.feat,.sfx-sheet .sfx-chip.feat{background:#233a6b;color:#dbe4ff}
.sfx .sfx-chiprow,.sfx-sheet .sfx-chiprow{display:flex;flex-wrap:wrap;gap:7px}
.sfx .sfx-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,210px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 0 8px;scrollbar-width:none;overscroll-behavior-x:contain}
.sfx .sfx-track::-webkit-scrollbar{display:none}
.sfx .sfx-track>*{scroll-snap-align:start}
.sfx .sfx-track:focus-visible{outline:2px solid #9fb4ff;outline-offset:3px}
.sfx button:focus-visible,.sfx a:focus-visible,.sfx-sheet button:focus-visible{outline:2px solid #9fb4ff;outline-offset:2px}
.sfx .sfx-btn-white,.sfx-sheet .sfx-btn-white{background:var(--sfx-ink,#f4f6fa);color:#0b0d10;border:0;border-radius:8px;min-height:50px;padding:0 24px;font:800 .92rem 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.sfx .sfx-btn-white.small{min-height:40px;padding:0 16px;font-size:.8rem}
.sfx .sfx-btn-white.wide,.sfx-sheet .sfx-btn-white.wide{width:100%}
.sfx .sfx-btn-white:hover{background:#fff}
.sfx .sfx-btn-ghost{display:inline-flex;align-items:center;min-height:50px;padding:0 22px;border-radius:8px;border:1.5px solid #ffffffa0;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.92rem}
.sfx .sfx-btn-ghost:hover{border-color:#fff;background:#ffffff14}
.sfx button:active:not(:disabled),.sfx a.sfx-btn-ghost:active{transform:scale(.98)}

/* ---------- photo framing ---------- */
.sfx-ph{position:relative;display:grid;place-items:center;overflow:hidden;background:#1a1e24;isolation:isolate}
.sfx-ph:before{content:"";position:absolute;inset:-10%;background:var(--img) center/cover no-repeat;filter:blur(26px) brightness(.72) saturate(1.1);z-index:-1}
.sfx-ph img{position:relative;width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.sfx-ph.fill img{object-fit:cover;object-position:50% 35%}
.sfx-ph.none{color:#7a8597}.sfx-ph.none .icon{width:34px;height:34px}
.sfx-ph.tile{aspect-ratio:4/5}

/* ---------- featured hero ---------- */
.sfx .sfx-hero{position:relative;display:grid;min-height:min(78vh,720px);margin:0 -32px 18px;overflow:hidden;background:#111}
.sfx .sfx-hero .sfx-ph.hero{position:absolute;inset:0}
.sfx .sfx-hero .sfx-ph.hero:not(.fill){padding:80px 0 80px 42%;box-sizing:border-box}
.sfx .sfx-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b0d10 0%,#0b0d10e6 22%,#0b0d1066 48%,#0b0d1000 70%),linear-gradient(90deg,#0b0d10b3 0%,#0b0d1000 55%);pointer-events:none}
.sfx .sfx-hero-copy{position:relative;z-index:2;align-self:end;padding:0 48px 44px;max-width:760px}
.sfx .sfx-hero h1{margin:0;font:700 clamp(2.8rem,6.4vw,5.2rem)/.95 var(--sfx-display);letter-spacing:.01em;text-transform:uppercase;text-wrap:balance;text-shadow:0 2px 24px #0008}
.sfx .sfx-hero-price{margin:14px 0 22px;font:700 1.6rem 'DM Sans',sans-serif}.sfx .sfx-hero-price span{color:var(--sfx-sub);font-weight:500;font-size:1.05rem}
.sfx .sfx-hero-cta{display:flex;gap:10px;flex-wrap:wrap}
.sfx .sfx-hero.plain{min-height:0;background:radial-gradient(700px 300px at 70% 0,#233a6b88,transparent),#111;padding-top:60px}.sfx .sfx-hero.plain:after{display:none}
.sfx .shophead:has(+ .sfx-hero){display:none}
.sfx-hashero.sfx .main>.giveaway-banner{margin-top:70px}

/* ---------- Live Now line (not a card) ---------- */
.sfx .sfx-liveline{display:flex;align-items:center;gap:14px;margin:0 0 28px;padding:12px 0;border-top:1px solid #1f242c;border-bottom:1px solid #1f242c;color:var(--sfx-ink);text-decoration:none}
.sfx .sfx-liveline-t{flex:1;min-width:0;display:grid;gap:4px;justify-items:start}.sfx .sfx-liveline-t b{display:block;font:700 1.05rem 'DM Sans',sans-serif}.sfx .sfx-liveline-t small{color:var(--sfx-sub);font-size:.88rem}
.sfx .sfx-liveline-go{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffffff12}
.sfx .sfx-liveline:hover .sfx-liveline-go{background:#ffffff24}

/* ---------- New arrivals ---------- */
.sfx .sfx-slide{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:0;min-height:0;border:0;background:none;color:var(--sfx-ink);text-align:left}
.sfx .sfx-slide .sfx-ph{border-radius:8px}
.sfx .sfx-slide-name{font-size:.95rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sfx .sfx-slide-price{font:800 1.1rem 'DM Sans',sans-serif}
@media(hover:hover){.sfx .sfx-slide:hover .sfx-ph img,.sfx .sfx-card-hit:hover .sfx-ph img{transform:scale(1.04)}}

/* ---------- Services (rows, not cards) ---------- */
.sfx .sfx-rows{display:grid}
.sfx .sfx-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #1f242c}.sfx .sfx-row:last-child{border-bottom:1px solid #1f242c}
.sfx .sfx-row-t{display:grid;gap:3px;min-width:0}.sfx .sfx-row-t b{font-size:1.02rem}.sfx .sfx-row-t small{color:var(--sfx-sub);font-size:.88rem;line-height:1.4}.sfx .sfx-row-t small.accent{color:#9fb4ff;font-weight:700}

/* ---------- More from this shop ---------- */
.sfx .sfx-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.sfx .sfx-tile{position:relative;display:block;border-radius:8px;overflow:hidden;color:#fff;text-decoration:none;min-height:120px}
.sfx .sfx-tile .sfx-ph{aspect-ratio:auto;height:100%;min-height:120px;position:absolute;inset:0}
.sfx .sfx-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000c,#0000 70%)}
.sfx .sfx-tile-t{position:relative;z-index:2;display:grid;align-content:end;min-height:120px;padding:14px}
.sfx .sfx-tile b{font:700 1.25rem var(--sfx-display);letter-spacing:.04em;text-transform:uppercase}.sfx .sfx-tile small{color:#dde3ec;font-size:.88rem}
.sfx .sfx-tile.food .sfx-ph{background:#1d2a45}

/* ---------- Shop all: chips + compact toolbar ---------- */
.sfx .sfx-sechead.shopall{margin:6px 0 10px;scroll-margin-top:72px}
.sfx .sfx-cats{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.sfx .sfx-cats::-webkit-scrollbar{display:none}
.sfx .sfx-cat{flex:none;min-height:40px;padding:0 16px;border-radius:999px;border:1.5px solid #3a404b;background:transparent;color:#dbe1ea;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background .2s ease,color .2s ease,border-color .2s ease}
.sfx .sfx-cat:hover{border-color:#7a8597}.sfx .sfx-cat.on{background:var(--sfx-ink);border-color:var(--sfx-ink);color:#0b0d10}
.sfx .workspace{display:block}
.sfx .filterpanel{display:none}.sfx .filterpanel.open{display:block;margin-bottom:14px;border-radius:10px}
.sfx .filtermobile{display:inline-flex}
.sfx .toolbar{gap:8px;margin-bottom:10px}
.sfx .toolbar .search input{min-height:44px;background:#15181d;border-color:#262b34}
.sfx .toolbar select{min-height:44px;background:#15181d;border-color:#262b34;max-width:170px}
.sfx .viewtoggle{background:#15181d;border-color:#262b34}
.sfx .resultsline{margin:2px 0 10px;color:var(--sfx-sub);font-size:.88rem}.sfx .resultsline .pills{display:none}

/* ---------- photo-first grid ---------- */
.sfx .sfx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px 10px}
.sfx .sfx-card-hit{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;padding:0;min-height:0;border:0;background:none;color:var(--sfx-ink);text-align:left}
.sfx .sfx-card .sfx-ph{border-radius:8px}
.sfx .sfx-tags{position:absolute;left:8px;top:8px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}
.sfx .sfx-tag-s{display:inline-flex;align-items:center;padding:4px 9px;border-radius:5px;background:#0b0d10d9;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.sfx .sfx-tag-s.sale{background:var(--amber);color:#1d1606}.sfx .sfx-tag-s.feat{background:#233a6bf0;color:#dbe4ff}
.sfx .sfx-card-meta{display:grid;gap:2px;padding:0 2px}
.sfx .sfx-card-name{font-size:1rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sfx .sfx-card-row{display:flex;align-items:baseline;gap:8px}.sfx .sfx-card-row strong{font:800 1.15rem 'DM Sans',sans-serif}.sfx .sfx-card-row strong small{font-weight:500;font-size:.8rem;color:var(--sfx-sub)}.sfx .sfx-card-row s{color:var(--sfx-sub);font-size:.88rem}
.sfx .sfx-card-bits{color:var(--sfx-sub);font-size:.85rem}
.sfx .listfooter{color:var(--sfx-sub)}
@keyframes sfxIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sfx-enter.sfx .sfx-card,.sfx-enter.sfx .sfx-slide{animation:sfxIn .45s cubic-bezier(.2,.7,.2,1) both}
.sfx-enter.sfx .sfx-card:nth-child(2),.sfx-enter.sfx .sfx-slide:nth-child(2){animation-delay:.04s}.sfx-enter.sfx .sfx-card:nth-child(3),.sfx-enter.sfx .sfx-slide:nth-child(3){animation-delay:.08s}.sfx-enter.sfx .sfx-card:nth-child(4),.sfx-enter.sfx .sfx-slide:nth-child(4){animation-delay:.12s}.sfx-enter.sfx .sfx-card:nth-child(n+5),.sfx-enter.sfx .sfx-slide:nth-child(n+5){animation-delay:.16s}

/* ---------- clothing rail (unchanged behaviour, lighter chrome) ---------- */
.sfx .sfx-rail{position:relative;height:440px;overflow:hidden;border-radius:10px;background:linear-gradient(180deg,#191d24,#111418);touch-action:pan-y;outline:none}
.sfx .sfx-rail:focus-visible{box-shadow:0 0 0 2px #9fb4ff}
.sfx .sfx-rod{position:absolute;left:0;right:0;top:34px;height:10px;border-radius:6px;background:linear-gradient(180deg,#d9dee7,#8b93a3 55%,#5d6574);box-shadow:0 3px 8px #0008;z-index:2}
.sfx .sfx-hangers{--w:260px;position:absolute;top:22px;left:50%;display:flex;transform:translateX(calc(var(--i) * var(--w) * -1 - var(--w) / 2));transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.sfx .sfx-hanger{width:var(--w);flex:none;min-height:0;padding:0;border:0;background:none;display:flex;flex-direction:column;align-items:center;color:#aeb6c4;opacity:.4;transform:scale(.8);transform-origin:50% 0;transition:opacity .4s ease,transform .45s ease}
.sfx .sfx-hanger.on{opacity:1;transform:none;color:#dfe5ee}
.sfx .sfx-hook{width:170px;height:62px;position:relative;z-index:3;filter:drop-shadow(0 2px 2px #0007)}
.sfx .sfx-garment{width:230px;height:320px;margin-top:-22px;display:grid;place-items:start center;position:relative;z-index:2}
.sfx .sfx-garment img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;filter:drop-shadow(0 16px 20px #000a)}
.sfx .sfx-hanger.swing{animation:sfxSwing .9s ease-out}
@keyframes sfxSwing{0%{rotate:5deg}35%{rotate:-3deg}65%{rotate:1.5deg}100%{rotate:0deg}}
.sfx .sfx-tag{position:absolute;right:22px;top:90px;z-index:4;background:#f3efe6;color:#1b2230;border-radius:10px;padding:12px 14px;min-width:96px;text-align:center;box-shadow:0 10px 24px #0009;display:grid;gap:2px}
.sfx .sfx-tag small{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#5b6477}.sfx .sfx-tag b{font:800 1.35rem 'DM Sans',sans-serif}
.sfx .sfx-railinfo{margin:16px 0 8px;display:grid;gap:10px;max-width:640px}
.sfx .sfx-railinfo h2{margin:0;font:700 2rem/1 var(--sfx-display);text-transform:uppercase}
.sfx .sfx-railnav{display:flex;align-items:center;gap:14px;color:var(--sfx-sub);font-size:.9rem;font-variant-numeric:tabular-nums}
.sfx .sfx-railprice strong{font:800 1.6rem 'DM Sans',sans-serif;margin-right:8px}

/* ---------- product details ---------- */
/* Shared: framed photo, strong title and price, options, prominent action. */
.sfx-sheet .detailphoto.sfx-framed{background:#15181d;height:auto;aspect-ratio:4/5;max-height:62vh;isolation:isolate;border-radius:0}
.sfx-sheet .detailphoto.sfx-framed:before{content:"";position:absolute;inset:-10%;background:var(--img) center/cover no-repeat;filter:blur(26px) brightness(.72);z-index:-1}
.sfx-sheet .detailphoto.sfx-framed img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}
.sfx-sheet .detailphoto img{transition:opacity .15s ease}.sfx-sheet .detailphoto img.sfx-fade{opacity:0}
.sfx-sheet .dialoghead h2{font:700 1.9rem/1.02 'Archivo Narrow','Arial Narrow',Manrope,sans-serif;letter-spacing:.01em;text-transform:uppercase;margin:0}
.sfx-sheet .detailprice{font:800 1.9rem 'DM Sans',sans-serif;margin:6px 0 10px}
.sfx-sheet .sfx-facts{margin:0 0 16px}
.sfx-sheet .sfx-variants{margin:0 0 16px}
.sfx-sheet .sfx-eyebrow{margin:0 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9fb4ff}
.sfx-sheet .sfx-opt{min-height:52px;padding:6px 14px;border-radius:8px;border:1.5px solid #3a404b;background:transparent;color:#f4f6fa;display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;font-weight:700;line-height:1.2}
.sfx-sheet .sfx-opt small{font-weight:500;color:#b8c0cd;font-size:.75rem}
.sfx-sheet .sfx-opt.on{background:#f4f6fa;color:#0b0d10;border-color:#f4f6fa}.sfx-sheet .sfx-opt.on small{color:#4b5568}
.sfx-sheet .sfx-opt:disabled{opacity:.4;text-decoration:line-through}
.sfx-sheet .sfx-variants.sizes .sfx-opt{min-width:60px;min-height:60px;align-items:center;justify-content:center;font:800 1.05rem 'DM Sans',sans-serif}
.sfx-sheet .sfx-variants.sizes .sfx-opt small{font-size:.72rem}
.sfx-sheet .sfx-hint{font-size:.82rem;color:#b8c0cd;margin:8px 0 0}
.sfx-sheet .sfx-hide{display:none}
.sfx-sheet .dialogactions{display:flex;gap:10px;flex-wrap:wrap}
.sfx-sheet .dialogactions .primary{background:#f4f6fa;color:#0b0d10;border-color:#f4f6fa;font-weight:800;letter-spacing:.06em;text-transform:uppercase;min-height:52px;flex:1 1 200px}
.sfx-sheet .dialogactions .light{min-height:52px;flex:1 1 140px}
.sfx-sheet .sfx-notes{margin-top:14px;display:grid;gap:4px}.sfx-sheet .sfx-notes p{margin:0!important;font-size:.84rem!important;color:#b8c0cd}
.sfx-sheet .badges{margin:18px 0 10px;order:20}
.sfx-sheet .detailsgrid{margin-top:4px}
.sfx-sheet .detailgallery{overflow-x:auto;scroll-snap-type:x mandatory;margin:10px 0 14px;padding:0 2px}
.sfx-sheet .detailgallery img{flex:none;scroll-snap-align:start;cursor:pointer;border-radius:6px}
.sfx-sheet .detailgallery img.on{box-shadow:0 0 0 2px #f4f6fa}
.sfx-grab{display:none}
dialog.sfx-sheet{background:#0f1216;border-color:#262b34}
dialog.sfx-sheet[open]{animation:sfxPop .22s ease both}
dialog.sfx-sheet.sfx-closing{animation:sfxPopOut .2s ease both}
@keyframes sfxPop{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sfxPopOut{to{opacity:0;transform:translateY(10px) scale(.985)}}

/* Desktop: details as a wide two-column view (photo left, choices right). */
@media(min-width:781px){
  dialog.sfx-sheet.sfx-full{width:min(1120px,calc(100% - 48px));max-width:none;padding:0;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:0;align-items:start}
  dialog.sfx-sheet.sfx-full[open]{display:grid}
  dialog.sfx-sheet.sfx-full>*{grid-column:2;margin-left:34px;margin-right:34px}
  dialog.sfx-sheet.sfx-full .detailphoto.sfx-framed{grid-column:1;grid-row:1 / span 30;margin:0;aspect-ratio:auto;height:min(86vh,760px);max-height:none;position:sticky;top:0}
  dialog.sfx-sheet.sfx-full .detailgallery{grid-column:1;grid-row:31;margin:10px 16px}
  dialog.sfx-sheet.sfx-full .dialoghead{margin-top:34px;align-items:flex-start}
  dialog.sfx-sheet.sfx-full .sfx-notes,dialog.sfx-sheet.sfx-full .detailsgrid{margin-bottom:0}
  dialog.sfx-sheet.sfx-full>:last-child{margin-bottom:34px}
}

/* Phones: full-screen product page for normal browsing ... */
@media(max-width:780px){
  dialog.sfx-sheet.sfx-full{position:fixed;inset:0;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;border:0;border-radius:0;padding:0 18px calc(18px + env(safe-area-inset-bottom));flex-direction:column}
  dialog.sfx-sheet.sfx-full[open]{display:flex;animation:sfxSlideIn .28s cubic-bezier(.2,.8,.2,1) both}
  dialog.sfx-sheet.sfx-full.sfx-closing{animation:sfxSlideOut .2s ease-in both}
  dialog.sfx-sheet.sfx-full>*{flex-shrink:0;order:50}
  dialog.sfx-sheet.sfx-full .detailphoto{order:1;margin:0 -18px 14px;aspect-ratio:auto;height:56vh;max-height:none}
  dialog.sfx-sheet.sfx-full .detailgallery{order:2}
  dialog.sfx-sheet.sfx-full .dialoghead{order:3;margin:0 0 2px}
  dialog.sfx-sheet.sfx-full .detailprice{order:4}
  dialog.sfx-sheet.sfx-full .sfx-facts{order:5}
  dialog.sfx-sheet.sfx-full .sfx-variants{order:6}
  dialog.sfx-sheet.sfx-full .dialogactions{order:7;position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:3;background:#0f1216;margin:0 -18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #262b34}
  dialog.sfx-sheet.sfx-full .sfx-notes{order:8}
  dialog.sfx-sheet.sfx-full .badges{order:9}
  dialog.sfx-sheet.sfx-full .detailsgrid,dialog.sfx-sheet.sfx-full .tablewrap,dialog.sfx-sheet.sfx-full .notice{order:10}
  dialog.sfx-sheet.sfx-full .dialoghead [data-action="close"]{position:fixed;top:calc(12px + env(safe-area-inset-top));left:12px;z-index:5;width:46px;height:46px;min-height:46px;border-radius:50%;background:#0b0d10cc;border:0;color:#fff;backdrop-filter:blur(6px)}
  dialog.sfx-sheet.sfx-full .dialoghead [data-action="close"] .icon{display:none}
  dialog.sfx-sheet.sfx-full .dialoghead [data-action="close"]:before{content:"";width:12px;height:12px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:translateX(2px) rotate(45deg)}
  /* ... and a bottom drawer when opened from Live Now, so the player stays in view. */
  dialog.sfx-sheet:not(.sfx-full){width:100%;max-width:100%;margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0;padding:12px 18px calc(18px + env(safe-area-inset-bottom));max-height:74dvh}
  dialog.sfx-sheet:not(.sfx-full)[open]{animation:sfxUp .3s cubic-bezier(.2,.8,.2,1) both}
  dialog.sfx-sheet:not(.sfx-full).sfx-closing{animation:sfxDown .2s ease-in both}
  dialog.sfx-sheet:not(.sfx-full) .sfx-grab{display:block;width:44px;height:5px;border-radius:3px;background:#56637a;margin:0 auto 10px}
  dialog.sfx-sheet:not(.sfx-full) .detailphoto.sfx-framed{aspect-ratio:16/10;max-height:30dvh;border-radius:8px}
  dialog.sfx-sheet:not(.sfx-full) .dialoghead h2{font-size:1.45rem}
  dialog.sfx-sheet:not(.sfx-full) .dialogactions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));background:#0f1216;padding:10px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid #262b34}
}
@keyframes sfxSlideIn{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes sfxSlideOut{to{transform:translateX(24px);opacity:0}}
@keyframes sfxUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes sfxDown{to{transform:translateY(100%)}}

/* ---------- Live Now: theater ---------- */
.sfx-theater.sfx .topbar,.sfx-theater.sfx .mobilebottom,.sfx-theater.sfx .footer{display:none}
.sfx-theater.sfx .main{padding:0 0 40px;max-width:none}
.sfx .sfx-live{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:0;min-height:100dvh;background:#000}
.sfx .sfx-stage{min-width:0;display:grid;align-content:start;background:#000}
.sfx .sfx-host{display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px}
.sfx .sfx-back{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ffffff14;color:#fff}
.sfx .sfx-back .icon{transform:rotate(180deg)}.sfx .sfx-back:hover{background:#ffffff26}
.sfx .sfx-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#233a6b;color:#dbe4ff;font:800 .8rem 'DM Sans',sans-serif;flex:none}
.sfx .sfx-host-t{min-width:0;flex:1}.sfx .sfx-host-t b{display:block;font:700 1rem 'DM Sans',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sfx .sfx-host-t small{display:block;color:var(--sfx-sub);font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfx .sfx-status{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 12px;border-radius:999px;background:#ffffff14;font-size:.8rem;font-weight:800;letter-spacing:.03em;color:#e3e8f0}
.sfx .sfx-status.live{background:#b3202f;color:#fff}.sfx .sfx-status.soon{background:#233a6b;color:#dbe4ff}.sfx .sfx-status.ended,.sfx .sfx-status.off{color:var(--sfx-sub)}
.sfx .sfx-dot{width:8px;height:8px;border-radius:50%;background:#fff}
@keyframes sfxPulse{0%{box-shadow:0 0 0 0 #ffffffaa}80%,100%{box-shadow:0 0 0 7px #fff0}}
.sfx .sfx-status.live .sfx-dot{animation:sfxPulse 1.8s ease-out infinite}
/* Landscape sources stay 16:9 and uncropped; a portrait source (YouTube Shorts) gets a tall frame. Nothing is laid over the player. */
.sfx .sfx-player{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.sfx .sfx-player.portrait{aspect-ratio:9/16;width:auto;height:min(78dvh,860px);margin:0 auto}
.sfx .sfx-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .4s ease}
.sfx .sfx-player.ready iframe{opacity:1}
.sfx .sfx-skeleton{position:absolute;inset:0;background:linear-gradient(100deg,#0d0f13 30%,#171b22 50%,#0d0f13 70%);background-size:200% 100%;animation:sfxShimmer 1.4s linear infinite}
.sfx .sfx-player.ready .sfx-skeleton{display:none}
@keyframes sfxShimmer{to{background-position:-200% 0}}
.sfx .sfx-player.state{display:grid;place-items:center;text-align:center;padding:28px;background:radial-gradient(600px 300px at 50% 0,#233a6b66,transparent),#07090c}
.sfx .sfx-player.state b{display:block;font:700 1.6rem var(--sfx-display);text-transform:uppercase;margin-bottom:6px}.sfx .sfx-player.state p{color:var(--sfx-sub);margin:0 auto 16px;max-width:400px;font-size:.95rem}
.sfx .sfx-prov{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9fb4ff;margin-bottom:8px}
.sfx .sfx-watch{display:inline-flex;align-items:center;min-height:50px;padding:0 22px;border-radius:8px;background:#f4f6fa;color:#0b0d10;font-weight:800;letter-spacing:.04em;text-decoration:none}
.sfx .sfx-sched{margin:0;padding:10px 16px 0;color:var(--sfx-sub);font-size:.88rem}
.sfx .sfx-live .livebroadcast{margin:16px;background:#0d0f13;border-color:#1f242c}
.sfx .sfx-shoppanel{min-width:0;padding:18px 18px 28px;background:#0b0d10;border-left:1px solid #1a1e24}
.sfx .sfx-lcard{display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;align-items:start}
.sfx .sfx-lcard.big{grid-template-columns:1fr;gap:12px;padding-bottom:18px;border-bottom:1px solid #1f242c}
.sfx .sfx-lthumb{position:relative;display:block;padding:0;border:0;background:none;min-height:0;border-radius:8px;overflow:hidden}
.sfx .sfx-lcard.big .sfx-lthumb .sfx-ph.tile{aspect-ratio:16/11}
.sfx .sfx-feat{position:absolute;left:8px;bottom:8px;padding:4px 9px;border-radius:5px;background:#233a6bf0;color:#dbe4ff;font-size:.74rem;font-weight:800;letter-spacing:.03em}
.sfx .sfx-lbody{min-width:0;display:grid;gap:7px}.sfx .sfx-lbody h3{margin:0;font-size:1.02rem;line-height:1.3}
.sfx .sfx-lcard.big .sfx-lbody h3{font:700 1.7rem/1.02 var(--sfx-display);text-transform:uppercase}
.sfx .sfx-lprice strong{font:800 1.15rem 'DM Sans',sans-serif;margin-right:6px}.sfx .sfx-lcard.big .sfx-lprice strong{font-size:1.6rem}.sfx .sfx-lprice small{color:var(--sfx-sub);font-size:.85rem}
.sfx .sfx-acts{display:flex;gap:8px;flex-wrap:wrap}.sfx .sfx-acts>*{flex:0 1 auto}.sfx .sfx-acts .wide{flex:1 1 100%}
.sfx .sfx-acts .light{min-height:48px}.sfx .sfx-acts .ghost{min-height:48px;color:#dbe1ea}
.sfx .sfx-lcard.svc .sfx-ph,.sfx .sfx-lcard.menu .sfx-ph{background:#1d2a45;color:#dbe4ff}
.sfx .sfx-track.tray{grid-auto-columns:minmax(150px,170px)}
.sfx .sfx-track.tray .sfx-lcard{grid-template-columns:1fr;gap:8px}
.sfx .sfx-track.tray .sfx-lbody h3{font-size:.95rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sfx .sfx-sechead.small{margin:18px 0 10px}
.sfx .sfx-empty{text-align:center;padding:30px 8px;color:var(--sfx-sub)}.sfx .sfx-empty b{display:block;color:#fff;margin-bottom:4px}
@media(max-width:1050px){.sfx .sfx-live{grid-template-columns:1fr;min-height:0}.sfx .sfx-shoppanel{border-left:0;padding:14px 16px 28px}}

/* ---------- phones ---------- */
@media(max-width:780px){
  .sfx .topbar{height:56px;padding:0 12px}
  .sfx .brandlogo{height:34px}
  .sfx .main{padding:0 14px 100px}
  .sfx .sfx-hero{margin:0 -14px 16px;min-height:0;height:min(84vh,680px)}
  .sfx .sfx-hero .sfx-ph.hero.fill img{object-position:50% 30%}
  .sfx .sfx-hero .sfx-ph.hero:not(.fill){padding:64px 0 42%;box-sizing:border-box}
  .sfx .sfx-hero .sfx-ph.hero:not(.fill) img{object-position:50% 50%}
  .sfx .sfx-hero:after{background:linear-gradient(0deg,#0b0d10 0%,#0b0d10f0 18%,#0b0d1080 38%,#0b0d1000 58%)}
  .sfx .sfx-hero-copy{padding:0 18px 24px}
  .sfx .sfx-hero h1{font-size:clamp(2.5rem,12vw,3.4rem)}
  .sfx .sfx-hero-price{font-size:1.35rem;margin:10px 0 16px}
  .sfx .sfx-hero-cta>*{flex:1 1 0}
  .sfx .sfx-sechead h2{font-size:1.4rem}
  .sfx .sfx-track{grid-auto-columns:44%}
  .sfx .sfx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px}
  .sfx .sfx-card-name{font-size:.95rem}.sfx .sfx-card-row strong{font-size:1.08rem}
  .sfx .toolbar select{max-width:none;width:auto;font-size:.88rem;flex:0 0 auto}
  .sfx .sfx-tiles{grid-template-columns:1fr 1fr}
  .sfx .sfx-row{align-items:flex-start}
  .sfx .mobilebottom{height:64px;background:#0b0d10f7;border-top:1px solid #1d2128;backdrop-filter:blur(10px)}
  .sfx .mobilebottom a{position:relative;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:#8e97a6}
  .sfx .mobilebottom a .icon{width:22px;height:22px}
  .sfx .mobilebottom a.active{color:#fff}
  .sfx .mobilebottom a.active:before{content:"";position:absolute;top:-1px;left:50%;width:28px;height:3px;margin-left:-14px;border-radius:0 0 3px 3px;background:var(--blue)}
  .sfx .sfx-rail{height:390px}.sfx .sfx-hangers{--w:210px}.sfx .sfx-hook{width:150px;height:55px}.sfx .sfx-garment{width:190px;height:270px;margin-top:-19px}.sfx .sfx-tag{right:12px;top:80px;min-width:84px;padding:9px 10px}
  .sfx .sfx-lcard.big .sfx-lthumb .sfx-ph.tile{aspect-ratio:16/10}
}
/* Toast slides in. */
.sfx #toast{animation:sfxToast .28s ease both}
@keyframes sfxToast{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}

@media(prefers-reduced-motion:reduce){
  .sfx *,.sfx *:before,.sfx *:after,.sfx-sheet,.sfx-sheet *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .sfx .sfx-player iframe{opacity:1}
}

/* A closed dialog is always hidden, whatever layout it uses while open. */
dialog.sfx-sheet:not([open]){display:none!important}

/* Product details reading order (desktop grid and phone column alike). */
dialog.sfx-sheet.sfx-full .dialoghead{order:3}dialog.sfx-sheet.sfx-full .detailprice{order:4}dialog.sfx-sheet.sfx-full .sfx-facts{order:5}
dialog.sfx-sheet.sfx-full .sfx-variants{order:6}dialog.sfx-sheet.sfx-full .dialogactions{order:7}dialog.sfx-sheet.sfx-full .sfx-notes{order:8}
dialog.sfx-sheet.sfx-full .badges{order:9}dialog.sfx-sheet.sfx-full .detailsgrid,dialog.sfx-sheet.sfx-full .tablewrap,dialog.sfx-sheet.sfx-full .notice{order:10}
@media(min-width:781px){dialog.sfx-sheet.sfx-full>*{order:50}dialog.sfx-sheet.sfx-full .dialoghead{order:3}dialog.sfx-sheet.sfx-full .detailprice{order:4}dialog.sfx-sheet.sfx-full .sfx-facts{order:5}dialog.sfx-sheet.sfx-full .sfx-variants{order:6}dialog.sfx-sheet.sfx-full .dialogactions{order:7}dialog.sfx-sheet.sfx-full .sfx-notes{order:8}dialog.sfx-sheet.sfx-full .badges{order:9}dialog.sfx-sheet.sfx-full .detailsgrid{order:10}dialog.sfx-sheet.sfx-full .dialogactions .primary{flex:1 1 100%}}

/* ---------- Storefront top v4: compact featured collection + browsing grid ---------- */
.sfx .shophead:has(+ .sfx-intro){display:none}
.sfx .sfx-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 14px}
.sfx .sfx-intro h1{margin:0;font:700 clamp(1.7rem,2.6vw,2.2rem)/1 var(--sfx-display);letter-spacing:.03em;text-transform:uppercase}
.sfx .sfx-intro p{margin:6px 0 0;color:var(--sfx-sub);font-size:.92rem}
.sfx .sfx-featnav{display:none}
/* Clean product frames: whole product, even frame, no blurred copy behind it. */
.sfx-ph.clean{background:#ecebe8}
.sfx-ph.clean:before{display:none}
.sfx-ph.clean img{padding:5%;box-sizing:border-box}
.sfx-ph.clean.fill img{padding:0}
.sfx-ph.clean.none{background:#1a1e24}
.sfx .sfx-featured{margin:0 0 16px}
.sfx .sfx-fgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;height:clamp(320px,30vw,390px)}
.sfx .sfx-fcard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:0;background:#14171c;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px #20252d}
.sfx .sfx-fcard.lead{grid-row:1 / span 2;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.sfx .sfx-fcard-ph{display:block;padding:0;margin:0;border:0;border-radius:0;min-height:0;height:100%;background:none;cursor:pointer}
.sfx .sfx-fcard-ph .sfx-ph{height:100%;aspect-ratio:auto}
.sfx .sfx-fcard-t{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;padding:16px 18px;min-width:0}
.sfx .sfx-fcard-t .sfx-eyebrow{margin:0}
.sfx .sfx-fcard h2{margin:0;font:700 1.35rem/1.05 var(--sfx-display);letter-spacing:.02em;text-transform:uppercase;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sfx .sfx-fcard.lead h2{font-size:clamp(1.7rem,2.3vw,2.2rem);-webkit-line-clamp:3}
.sfx .sfx-fcard-price{margin:0 0 6px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.sfx .sfx-fcard-price strong{font:800 1.2rem 'DM Sans',sans-serif}.sfx .sfx-fcard.lead .sfx-fcard-price strong{font-size:1.45rem}
.sfx .sfx-fcard-price s,.sfx .sfx-fcard-price span{color:var(--sfx-sub);font-size:.9rem}
.sfx .sfx-fcard .sfx-ph img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.sfx .sfx-fcard:hover .sfx-ph img{transform:scale(1.03)}}
.sfx .sfx-featured.n2 .sfx-fgrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);height:clamp(250px,24vw,310px)}
.sfx .sfx-featured.n2 .sfx-fcard.lead{grid-row:auto;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.sfx .sfx-featured.n2 .sfx-fcard.lead h2{font-size:1.6rem}
.sfx .sfx-featured.n1 .sfx-fgrid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:clamp(240px,24vw,300px);max-width:820px}
.sfx .sfx-featured.n1 .sfx-fcard.lead{grid-row:auto}
/* Live Now + shortcuts: one compact row */
.sfx .sfx-quickrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.sfx .sfx-quickrow .sfx-liveline{flex:1 1 320px;margin:0;padding:8px 8px 8px 14px;border:0;border-radius:10px;background:#14171c;box-shadow:inset 0 0 0 1px #20252d;min-height:56px}
.sfx .sfx-quickrow .sfx-liveline-t{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;row-gap:0}
.sfx .sfx-quickrow .sfx-liveline-t>:first-child{grid-row:1 / span 2}
.sfx .sfx-quickrow .sfx-liveline-t b,.sfx .sfx-quickrow .sfx-liveline-t small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sfx .sfx-quick{flex:0 1 auto;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 16px 8px 12px;border:0;border-radius:10px;background:#14171c;box-shadow:inset 0 0 0 1px #20252d;color:var(--sfx-ink);text-decoration:none;text-align:left;font:inherit;cursor:pointer;transition:background .15s}
.sfx .sfx-quick:hover,.sfx .sfx-quickrow .sfx-liveline:hover{background:#1a1e25}
.sfx .sfx-quick .icon{width:20px;height:20px;color:#9fb4ff;flex:none}
.sfx .sfx-quick span{display:grid;line-height:1.25}.sfx .sfx-quick b{font-size:.95rem}.sfx .sfx-quick small{color:var(--sfx-sub);font-size:.82rem;white-space:nowrap}
.sfx .sfx-after{margin-top:40px;scroll-margin-top:80px}
.sfx .sfx-after:focus{outline:none}
/* Grid: about 4 columns on desktop, 3 on tablets, 2 on phones */
.sfx .sfx-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 14px}
.sfx .sfx-card .sfx-ph.clean{border-radius:8px}
.sfx .sfx-card-meta{gap:3px}
.sfx .sfx-card-name{min-height:2.6em}
@media(max-width:1100px){.sfx .sfx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){
  .sfx .sfx-intro{margin:2px 0 12px;align-items:center}
  .sfx .sfx-intro h1{font-size:1.45rem}
  .sfx .sfx-intro p{margin-top:3px;font-size:.88rem}
  .sfx .sfx-featured{margin-bottom:12px}
  .sfx .sfx-sechead.shopall{margin:0 0 8px}
  .sfx .sfx-cats{padding-bottom:10px}
  .sfx .sfx-featnav{display:block}
  .sfx .sfx-featnav .sfx-arrow{width:44px;height:44px}
  .sfx .sfx-fgrid,.sfx .sfx-featured.n2 .sfx-fgrid,.sfx .sfx-featured.n1 .sfx-fgrid{display:grid;grid-template-columns:none;grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:84%;height:auto;max-width:none;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;margin:0 -14px;padding:0 14px;scroll-padding:0 14px}
  .sfx .sfx-featured.n1 .sfx-fgrid{grid-auto-columns:100%}
  .sfx .sfx-fgrid::-webkit-scrollbar{display:none}
  .sfx .sfx-fcard,.sfx .sfx-fcard.lead,.sfx .sfx-featured .sfx-fcard.lead,.sfx .sfx-featured.n2 .sfx-fcard.lead,.sfx .sfx-featured.n1 .sfx-fcard.lead{grid-row:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;scroll-snap-align:start}
  .sfx .sfx-fcard-ph .sfx-ph{height:auto;aspect-ratio:16/9}
  .sfx .sfx-fcard-t{padding:12px 14px 14px;gap:4px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:12px}
  .sfx .sfx-fcard-t .sfx-eyebrow,.sfx .sfx-fcard-t h2{grid-column:1 / -1}
  .sfx .sfx-fcard h2,.sfx .sfx-fcard.lead h2,.sfx .sfx-featured.n2 .sfx-fcard.lead h2{font-size:1.3rem;-webkit-line-clamp:1}
  .sfx .sfx-fcard-price{margin:0}
  .sfx .sfx-fcard-price strong,.sfx .sfx-fcard.lead .sfx-fcard-price strong{font-size:1.15rem}
  .sfx .sfx-quickrow{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -14px 14px;padding:0 14px}
  .sfx .sfx-quickrow::-webkit-scrollbar{display:none}
  .sfx .sfx-quickrow .sfx-liveline{flex:0 0 80%;min-width:0}
  .sfx .sfx-quickrow .sfx-liveline-t{grid-template-columns:minmax(0,1fr);row-gap:4px}
  .sfx .sfx-quickrow .sfx-liveline-t>:first-child{grid-row:auto}
  .sfx .sfx-quickrow .sfx-liveline-t small{display:none}
  .sfx .sfx-quick{flex:0 0 auto}
  .sfx .sfx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}
}
@media(prefers-reduced-motion:reduce){.sfx .sfx-fgrid{scroll-behavior:auto}.sfx .sfx-fcard .sfx-ph img{transition:none}}

/* ---------- Compact catalog cards (v5): browse 20-100 items comfortably ----------
   Square, whole-product thumbnails about 160-220px on desktop. Fixed column
   counts per width, so one to three products stay card-sized instead of
   stretching across the row. */
.sfx .sfx-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 14px}
@media(max-width:1239px){.sfx .sfx-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1099px){.sfx .sfx-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:899px){.sfx .sfx-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}}
@media(max-width:560px){.sfx .sfx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}}
.sfx .sfx-grid .sfx-ph,.sfx .sfx-grid .sfx-ph.tile{aspect-ratio:1/1;height:auto;min-height:0;max-height:none}
.sfx .sfx-grid .sfx-ph.clean img{padding:6%}
.sfx .sfx-grid .sfx-ph.clean.fill img{padding:0}
.sfx .sfx-grid .sfx-card-hit{gap:7px}
.sfx .sfx-grid .sfx-card-meta{gap:2px;padding:0 1px}
.sfx .sfx-grid .sfx-card-name{font-size:.9rem;font-weight:600;line-height:1.3;min-height:2.6em;-webkit-line-clamp:2}
.sfx .sfx-grid .sfx-card-row strong{font-size:1rem}
.sfx .sfx-grid .sfx-card-row s{font-size:.8rem}
.sfx .sfx-grid .sfx-card-bits{font-size:.78rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfx .sfx-grid .sfx-tags{gap:4px;left:6px;top:6px}
.sfx .sfx-grid .sfx-tag-s{font-size:.6rem;padding:2px 6px;letter-spacing:.05em}
@media(max-width:560px){.sfx .sfx-grid .sfx-card-name{font-size:.88rem}}
