
/* Self-hosted webfonts (latin) — assets.poly9.ai, Worker CSP font-src */
@font-face{font-family:'InterVar';font-style:normal;font-weight:400 600;font-display:swap;src:url(https://assets.poly9.ai/storefronts/_shared/fonts/inter-latin-var-v1.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(https://assets.poly9.ai/storefronts/_shared/fonts/fraunces-latin-600-v1.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
/* Metric-adjusted local fallbacks — no CLS while webfonts swap in */
@font-face{font-family:'Inter-fallback';src:local('Arial');size-adjust:107%;ascent-override:90%;descent-override:22.4%;line-gap-override:0%}
@font-face{font-family:'Fraunces-fallback';src:local('Georgia');size-adjust:99%;ascent-override:96%;line-gap-override:0%}

:root{--p9-dock-w:0px;
  --sf-primary:#0A0A0B;
  --sf-accent:#C6FF3F;
  --sf-primary-strong:#090909;
  --sf-primary-tint:#f0f0f0;
  --sf-accent-strong:#aee037;
  --sf-accent-tint:#fafff0;
  --sf-on-primary:#ffffff;
  --sf-on-accent:#1c1917;
  --sf-ring:rgba(198,255,63,0.35);
  --sf-bg:#ffffff;
  --sf-surface:#f7f6f4;
  --sf-surface-deep:#0b0e17;
  --sf-on-deep:#ffffff;
  --sf-hero-overlay:linear-gradient(100deg,rgba(10,15,26,.82) 0%,rgba(10,15,26,.5) 42%,rgba(10,15,26,.04) 72%);
  --sf-text:#1c1917;
  --sf-muted:#78716c;
  --sf-border:#e7e5e4;
  --sf-font:'InterVar','Inter-fallback',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --sf-font-display:'Fraunces','Fraunces-fallback',Georgia,serif;
  --sf-type-scale:1;
  --sf-radius-xs:3px;
  --sf-radius-sm:6px;
  --sf-radius:10px;
  --sf-radius-lg:16px;
  --sf-radius-pill:999px;
  --sf-shadow-sm:0 1px 2px rgba(28,25,23,.06);
  --sf-shadow-md:0 6px 24px rgba(28,25,23,.08);
  --sf-shadow-lg:0 24px 60px rgba(28,25,23,.14);
  --sf-ease:cubic-bezier(.22,.61,.21,1);
  --sf-dur-1:120ms;
  --sf-dur-2:240ms;
  --sf-maxw:1200px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sf-font);color:var(--sf-text);background:var(--sf-bg);line-height:1.6;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--sf-accent)}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}
mark{background:var(--sf-accent-tint);color:inherit;border-radius:2px;padding:0 1px}
h1,h2,h3{font-family:var(--sf-font-display);font-weight:600;letter-spacing:-0.015em}
.sf-container{max-width:var(--sf-maxw);margin:0 auto;padding:0 20px}
.sf-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sf-eyebrow{font-family:var(--sf-font);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--sf-muted)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Header */
.sf-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--sf-border);transition:box-shadow var(--sf-dur-2) var(--sf-ease)}
.sf-header.is-scrolled{box-shadow:var(--sf-shadow-sm);background:rgba(255,255,255,.98)}
.sf-header-inner{display:flex;align-items:center;gap:24px;height:68px}
.sf-logo{display:flex;align-items:center;gap:10px;font-family:var(--sf-font-display);font-weight:600;font-size:19px;color:var(--sf-text)}
.sf-logo img{height:40px;width:auto}
.sf-nav{display:flex;gap:22px;font-size:14px;margin-left:6px}
.sf-nav a{color:var(--sf-muted);padding:6px 1px;background:linear-gradient(currentColor,currentColor) no-repeat left bottom / 0 1px;transition:background-size var(--sf-dur-2) var(--sf-ease),color var(--sf-dur-1)}
.sf-nav a:hover,.sf-nav a[aria-current]{color:var(--sf-text);background-size:100% 1px}
.sf-header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.sf-search{position:relative;display:flex;align-items:center}
.sf-search > svg{position:absolute;left:13px;width:15px;height:15px;color:var(--sf-muted);pointer-events:none}
.sf-search input{width:230px;max-width:44vw;padding:9px 14px 9px 36px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);font-size:14px;background:var(--sf-surface);transition:border-color var(--sf-dur-1),background var(--sf-dur-1)}
.sf-search input:focus{outline:none;border-color:var(--sf-accent);background:#fff;box-shadow:0 0 0 3px var(--sf-ring)}
.sf-search-toggle{display:none;border:1px solid var(--sf-border);background:#fff;border-radius:var(--sf-radius-pill);width:38px;height:38px;align-items:center;justify-content:center;color:var(--sf-text)}
.sf-search-results{position:absolute;top:48px;right:0;width:420px;max-width:92vw;max-height:480px;overflow:auto;background:#fff;border:1px solid var(--sf-border);border-radius:var(--sf-radius-lg);box-shadow:var(--sf-shadow-lg);display:none}
.sf-search-results.open{display:block}
.sf-search-results .sf-search-group{padding:10px 14px 4px;border-bottom:0}
.sf-search-results a{display:flex;gap:12px;align-items:center;padding:9px 14px;font-size:14px;border-radius:var(--sf-radius-sm);margin:0 6px}
.sf-search-results a.active,.sf-search-results a:hover{background:var(--sf-primary-tint);color:var(--sf-text)}
.sf-search-results img{width:48px;height:48px;object-fit:contain;border-radius:var(--sf-radius-xs);background:var(--sf-surface);flex-shrink:0}
.sf-search-result-meta{display:flex;flex-direction:column;min-width:0}
.sf-search-result-meta em{font-style:normal;font-size:12px;color:var(--sf-muted)}
.sf-search-result-price{margin-left:auto;font-size:13px;color:var(--sf-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.sf-search-viewall{display:flex;justify-content:center;padding:11px 14px!important;margin:6px!important;font-weight:600;color:var(--sf-accent)!important;border-top:1px solid var(--sf-border);border-radius:0 0 var(--sf-radius-lg) var(--sf-radius-lg)}
.sf-search-empty{padding:22px 16px;text-align:center;color:var(--sf-muted);font-size:14px}
.sf-search-empty a{color:var(--sf-accent);font-weight:600}
.sf-search-recent-clear{border:0;background:none;font-size:12px;color:var(--sf-muted);text-decoration:underline;padding:6px 14px 10px}
.sf-cart-btn{position:relative;display:flex;align-items:center;gap:8px;border:1px solid var(--sf-border);background:#fff;border-radius:var(--sf-radius-pill);padding:9px 16px;font-size:14px;font-weight:500;transition:border-color var(--sf-dur-1)}
.sf-cart-btn:hover{border-color:var(--sf-text)}
.sf-cart-btn svg{width:16px;height:16px}
.sf-cart-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:var(--sf-radius-pill);background:var(--sf-accent);color:var(--sf-on-accent);font-size:11px;line-height:18px;text-align:center;padding:0 4px;display:none}
.sf-cart-badge.show{display:block}
.sf-cart-badge.pop{animation:sfBadgePop var(--sf-dur-2) var(--sf-ease)}
@keyframes sfBadgePop{0%{transform:scale(1)}45%{transform:scale(1.45)}100%{transform:scale(1)}}
.sf-search-row{display:none}
.sf-header.search-open .sf-search-row{display:block;padding:0 20px 12px}
.sf-header.search-open .sf-search-row input{width:100%;max-width:none}

/* Storefront 2.0 (V3) — utility bar */
.sf-utility{background:var(--sf-surface-deep);color:var(--sf-on-deep)}
.sf-utility-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:8px;padding-bottom:8px;font-size:12.5px;opacity:.92}
.sf-utility-trade{opacity:.75;white-space:nowrap}
@media (max-width:720px){.sf-utility-trade{display:none}}

/* Storefront 2.0 (V3) — Products mega-menu. Pure CSS open on hover AND
   keyboard focus; storefront.js adds only Escape-close + touch toggle via
   the .open class. The wrapper stretches the full header height so the
   hover zone has no dead gap between the link and the panel. */
.sf-mmw{position:relative;display:inline-flex;align-items:center;align-self:stretch}
.sf-mm{display:none;position:absolute;top:100%;left:-24px;width:620px;max-width:calc(100vw - 32px);background:var(--sf-bg);border:1px solid var(--sf-border);border-radius:0 0 var(--sf-radius-lg) var(--sf-radius-lg);box-shadow:var(--sf-shadow-lg);padding:18px 20px;z-index:80;grid-template-columns:1.05fr 1fr;gap:22px;cursor:default}
.sf-mmw:hover .sf-mm,.sf-mmw:focus-within .sf-mm,.sf-mmw.open .sf-mm{display:grid}
.sf-mm-caret{font-size:10px;margin-left:5px}
.sf-mm-cats{display:grid;gap:1px;align-content:start}
.sf-mm-cats .sf-eyebrow{margin-bottom:8px;padding:0 10px}
.sf-mm-cats a{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border-radius:var(--sf-radius-sm);font-size:13px;color:var(--sf-text)}
.sf-mm-cats a:hover{background:var(--sf-primary-tint);color:var(--sf-text)}
.sf-mm-count{font-size:11.5px;color:var(--sf-muted)}
.sf-mm-all{margin-top:10px;font-weight:600;color:var(--sf-accent)!important}
.sf-mm-side{display:flex;flex-direction:column;gap:10px}
.sf-mm-featured{display:block}
.sf-mm-featured img,.sf-mm-cover{display:block;height:96px;width:100%;object-fit:cover;border-radius:var(--sf-radius);background:linear-gradient(135deg,var(--sf-primary),var(--sf-accent));margin-top:8px}
.sf-mm-featured strong{display:block;font-family:var(--sf-font-display);font-size:15px;margin:9px 0 2px;color:var(--sf-text)}
.sf-mm-sub{font-size:11.5px;color:var(--sf-muted)}
.sf-mm-cta{margin-top:auto;text-align:left;border:0;background:var(--sf-primary-tint);border-radius:var(--sf-radius);padding:10px 12px;font-size:11.5px;color:var(--sf-primary-strong);line-height:1.5;cursor:pointer}
.sf-mm-cta:hover{background:var(--sf-accent-tint)}
@media (max-width:900px){.sf-mm{display:none!important}}

/* Hero */
.sf-hero{background:var(--sf-surface);border-bottom:1px solid var(--sf-border)}
.sf-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:72px 20px}
.sf-hero .sf-eyebrow{display:block;margin-bottom:14px}
.sf-hero h1{font-size:clamp(36px,5vw,56px);line-height:1.06;margin:0 0 16px;color:var(--sf-text)}
.sf-hero p{font-size:17px;color:var(--sf-muted);margin:0 0 28px;max-width:52ch}
.sf-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.sf-hero-img{border-radius:var(--sf-radius-lg);overflow:hidden;box-shadow:var(--sf-shadow-lg);aspect-ratio:4/3}
.sf-hero-img img{width:100%;height:100%;object-fit:cover}
.sf-hero-band{padding:88px 20px;text-align:left}
.sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--sf-primary);color:var(--sf-on-primary);border:0;border-radius:var(--sf-radius-pill);padding:13px 24px;font-size:15px;font-weight:600;transition:background var(--sf-dur-1)}
/* display:inline-flex above beats the UA [hidden] rule — restore it, or
   conditionally-shown buttons (visualize, save-as-collection) never hide. */
.sf-btn[hidden]{display:none}
.sf-btn:hover{color:var(--sf-on-primary);background:var(--sf-primary-strong)}
.sf-btn-accent{background:var(--sf-accent);color:var(--sf-on-accent)}
.sf-btn-accent:hover{background:var(--sf-accent-strong);color:var(--sf-on-accent)}
.sf-btn-ghost{background:transparent;color:var(--sf-text);border:1px solid var(--sf-border)}
.sf-btn-ghost:hover{color:var(--sf-text);background:var(--sf-surface);border-color:var(--sf-text)}
.sf-btn[disabled]{opacity:.55;cursor:not-allowed}

/* Sections / grids */
.sf-section{padding:64px 0}
.sf-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:28px}
.sf-section-head h2{font-size:28px;margin:0;color:var(--sf-text)}
.sf-section-head a{font-size:14px;color:var(--sf-accent);font-weight:600}
.sf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 20px}
.sf-card{background:transparent;border:0;border-radius:0;overflow:visible}
.sf-card-img{aspect-ratio:1/1;background:var(--sf-surface);overflow:hidden;border-radius:var(--sf-radius-xs);transition:box-shadow var(--sf-dur-2) var(--sf-ease)}
.sf-card-img img{width:100%;height:100%;object-fit:contain;background:#fff;padding:6%;transition:transform var(--sf-dur-2) var(--sf-ease)}
.sf-card:hover .sf-card-img{box-shadow:var(--sf-shadow-md)}
.sf-card:hover .sf-card-img img{transform:scale(1.04)}
.sf-card-body{padding:12px 2px 0}
.sf-card-cat{font-size:11px;color:var(--sf-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.sf-card-name{font-size:15px;font-weight:500;margin:5px 0 4px;color:var(--sf-text)}
.sf-card:hover .sf-card-name{text-decoration:underline;text-underline-offset:3px}
.sf-card-price{font-size:14px;color:var(--sf-text);font-weight:400;font-variant-numeric:tabular-nums}
.sf-card-price.request{color:var(--sf-muted);font-size:13px}
/* B7 — chat studio-link block */
.sf-agent-studiolink{display:block;background:var(--sf-primary-tint);border:1px solid var(--sf-border);border-radius:var(--sf-radius);padding:12px 14px;margin:6px 0}
.sf-agent-studiolink b{display:block;font-size:13.5px;color:var(--sf-primary-strong)}
.sf-agent-studiolink span{font-size:12px;color:var(--sf-muted)}

/* B6 — design studio */
.sf-studio{display:flex;flex-direction:column;min-height:calc(100vh - 68px)}
.sf-studio-top{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--sf-border)}
.sf-studio-back{font-size:13.5px;color:var(--sf-muted)}
.sf-studio-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.sf-studio-title strong{font-family:var(--sf-font-display);font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-studio-badge{font-size:10px;font-weight:700;letter-spacing:.08em;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);padding:4px 10px;color:var(--sf-muted);white-space:nowrap}
.sf-studio-actions{display:flex;gap:8px}
.sf-studio-body{display:grid;grid-template-columns:200px 1fr 260px;gap:0;flex:1;min-height:420px}
.sf-studio-left,.sf-studio-right{padding:16px;border-right:1px solid var(--sf-border)}
.sf-studio-right{border-right:0;border-left:1px solid var(--sf-border)}
.sf-studio-canvas{position:relative;display:flex;align-items:center;justify-content:center;background:var(--sf-surface);overflow:hidden}
.sf-studio-canvas img[data-p9-studio-image]{max-width:100%;max-height:72vh;object-fit:contain;cursor:crosshair}
.sf-studio-empty{text-align:center;max-width:40ch;display:grid;gap:8px;justify-items:center;padding:40px 20px}
.sf-studio-empty strong{font-family:var(--sf-font-display);font-size:20px}
.sf-studio-empty p{font-size:14px;color:var(--sf-muted);margin:0}
.sf-studio-pin{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:var(--sf-accent);color:#fff;border:2px solid #fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:var(--sf-shadow-md)}
.sf-studio-pin.s-applied{background:var(--sf-primary)}
.sf-studio-pin.s-applying{opacity:.55}
.sf-studio-strip{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--sf-border);overflow-x:auto}
.sf-studio-thumb{border:2px solid transparent;border-radius:var(--sf-radius-sm);background:none;padding:0;cursor:pointer;text-align:center;flex:none}
.sf-studio-thumb img{width:84px;height:64px;object-fit:cover;border-radius:var(--sf-radius-xs);display:block}
.sf-studio-thumb span{font-size:11px;color:var(--sf-muted)}
.sf-studio-thumb.act{border-color:var(--sf-accent)}
.sf-studio-specrow{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;border-bottom:1px solid var(--sf-border)}
.sf-studio-est b{font-family:var(--sf-font-display);font-size:16px}
.sf-studio-budgetline{font-size:12px;font-weight:600;margin-top:8px}
.sf-studio-budgetline.s-over{color:#b3261e}
.sf-studio-budgetline.s-near{color:#9a6b00}
.sf-studio-budgetline.s-under{color:#1a7f37}
.sf-studio-hint{font-size:12.5px;color:var(--sf-muted);line-height:1.5}
.sf-studio-doc{display:flex;justify-content:space-between;font-size:12.5px;padding:6px 0;border-bottom:1px solid var(--sf-border)}
.sf-studio-doc span{color:var(--sf-muted)}
@media (max-width:1000px){.sf-studio-body{grid-template-columns:1fr}.sf-studio-left,.sf-studio-right{border:0;border-bottom:1px solid var(--sf-border)}}

/* V7 — collection kind tabs + estimated total */
.sf-col-kindtabs{display:flex;gap:8px;margin-bottom:14px}
.sf-col-esttotal{font-size:14px;color:var(--sf-muted);display:grid;gap:2px;justify-items:center;margin-bottom:12px}
.sf-col-esttotal strong{font-family:var(--sf-font-display);font-size:22px;color:var(--sf-text)}
.sf-col-esttotal-note{font-size:12px}

/* V7 — hub samples */
.sf-prj-golden{color:var(--sf-accent-strong);font-weight:700;font-size:12px;white-space:nowrap}

/* V6 — PDP trust + craft strips */
.sf-truststrip{display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border);padding:16px 0;margin:8px 0 24px;font-size:13px;color:var(--sf-muted)}
.sf-trust-item{white-space:nowrap;font-weight:500}
.sf-craftstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 28px}
.sf-craftstrip img{height:160px;width:100%;object-fit:cover;border-radius:var(--sf-radius-sm)}
@media (max-width:700px){.sf-craftstrip{grid-template-columns:repeat(2,1fr)}}

/* V6 — about + contact extras */
.sf-abouthero{position:relative;height:340px;background:var(--sf-surface-deep)}
.sf-abouthero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sf-abouthero-overlay{position:absolute;inset:0;background:var(--sf-hero-overlay)}
.sf-abouthero-copy{position:absolute;left:max(24px,5vw);bottom:36px;color:#fff}
.sf-abouthero-copy h1{font-family:var(--sf-font-display);font-size:clamp(30px,4vw,46px);margin:0;color:#fff}
.sf-about{display:grid;gap:44px;max-width:860px}
.sf-about-story p{font-size:16px;line-height:1.75;color:var(--sf-text);margin:0 0 16px}
.sf-about-stats{max-width:640px}
.sf-about-timeline{display:grid;gap:12px}
.sf-about-milestone{display:flex;gap:18px;align-items:baseline;border-left:2px solid var(--sf-accent);padding-left:16px}
.sf-about-milestone strong{font-family:var(--sf-font-display);font-size:18px;min-width:64px}
.sf-about-milestone span{font-size:14.5px;color:var(--sf-muted)}
.sf-about-caps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:12px}
.sf-about-cap img{height:150px;width:100%;object-fit:cover;border-radius:var(--sf-radius-sm);margin-bottom:10px}
.sf-about-cap strong{display:block;font-size:15px;margin-bottom:4px}
.sf-about-cap span{font-size:13.5px;color:var(--sf-muted);line-height:1.55}
.sf-about-certs{display:flex;flex-wrap:wrap;gap:8px}
.sf-about-cert{border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--sf-muted)}
.sf-about-visit{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--sf-primary-tint);border-radius:var(--sf-radius);padding:22px 24px;flex-wrap:wrap}
.sf-about-visit strong{font-family:var(--sf-font-display);font-size:18px;color:var(--sf-primary-strong)}
.sf-interest-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0 4px}
.sf-interest-chips .sf-eyebrow{width:100%}
.sf-interest-chip input{position:absolute;opacity:0;pointer-events:none}
.sf-interest-chip span{display:inline-block;border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);padding:8px 16px;font-size:13px;cursor:pointer;transition:all var(--sf-dur-1)}
.sf-interest-chip input:checked+span{background:var(--sf-primary);border-color:var(--sf-primary);color:var(--sf-on-primary);font-weight:600}
.sf-interest-chip input:focus-visible+span{outline:2px solid var(--sf-accent);outline-offset:2px}
.sf-exportdesk{margin-top:28px;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-radius);padding:20px 22px;max-width:520px}
.sf-exportdesk strong{font-family:var(--sf-font-display);font-size:17px}
.sf-exportdesk p{font-size:14px;color:var(--sf-muted);margin:8px 0}
.sf-exportdesk a{font-weight:600;color:var(--sf-accent)}
.sf-contact-map{margin-top:24px}
.sf-contact-map img{border-radius:var(--sf-radius);max-height:320px;width:100%;object-fit:cover}
@media (max-width:700px){.sf-about-caps-grid{grid-template-columns:1fr}}

/* B3 — assistant filter-set block */
.sf-agent-filterset{background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-radius);padding:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.sf-agent-fchip{background:var(--sf-primary-tint);color:var(--sf-primary-strong);border-radius:var(--sf-radius-pill);padding:4px 11px;font-size:12px;font-weight:600}
.sf-agent-fcount{width:100%;font-size:12px;color:var(--sf-muted)}
.sf-agent-filterset .sf-btn{font-size:12.5px;padding:8px 14px;margin-top:4px}

/* Storefront 2.0 (V5) — listing + search */
.sf-cathero{background:var(--sf-surface);border-bottom:1px solid var(--sf-border);padding:40px 0 32px}
.sf-crumbs{font-size:12.5px;color:var(--sf-muted);margin-bottom:10px}
.sf-crumbs a{color:var(--sf-muted)}
.sf-cathero h1{font-family:var(--sf-font-display);font-size:calc(clamp(28px,3.4vw,40px)*var(--sf-type-scale));margin:0 0 6px;letter-spacing:-.015em}
.sf-cathero p{margin:0;font-size:14px;color:var(--sf-muted)}
.sf-facet-swatch{width:16px;height:16px;border-radius:4px;object-fit:cover;margin-right:6px;vertical-align:-3px}
.sf-facet-toggle{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:10px 2px;border-top:1px solid var(--sf-border);margin-top:6px;cursor:pointer}
.sf-price-body{display:grid;gap:6px}
.sf-price-body input[type=range]{width:100%;accent-color:var(--sf-accent)}
.sf-price-value{font-size:12.5px;color:var(--sf-muted)}
.sf-card-badge{position:absolute;top:10px;left:10px;background:var(--sf-primary);color:var(--sf-on-primary);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:var(--sf-radius-xs)}
.sf-card-img{position:relative}
.sf-card-moq{font-size:11.5px;color:var(--sf-muted);margin-top:2px}
.sf-design-missing{display:block;width:100%;margin-top:20px;border:1px dashed var(--sf-border);background:var(--sf-primary-tint);border-radius:var(--sf-radius);padding:20px 24px;text-align:left;cursor:pointer}
.sf-design-missing strong{display:block;font-family:var(--sf-font-display);font-size:17px;color:var(--sf-primary-strong);margin:6px 0 4px}
.sf-design-missing>span:last-child{font-size:13px;color:var(--sf-text)}
.sf-searchpage-form{display:flex;gap:10px;margin-bottom:18px}
.sf-searchpage-form input{flex:1;padding:12px 18px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);font-size:15px;background:var(--sf-surface)}
.sf-searchpage-form input:focus{outline:none;border-color:var(--sf-accent);background:var(--sf-bg);box-shadow:0 0 0 3px var(--sf-ring)}
.sf-searchpage-tabs{display:flex;gap:8px;margin-bottom:16px}
.sf-searchpage-tabs button{border:1px solid var(--sf-border);background:var(--sf-bg);border-radius:var(--sf-radius-pill);padding:8px 16px;font-size:13.5px;cursor:pointer;color:var(--sf-muted)}
.sf-searchpage-tabs button.active{background:var(--sf-primary);border-color:var(--sf-primary);color:var(--sf-on-primary);font-weight:600}
.sf-searchpage-results{display:grid;gap:4px}
.sf-searchpage-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--sf-radius-sm);font-size:14px}
.sf-searchpage-row:hover{background:var(--sf-primary-tint);color:inherit}
.sf-searchpage-row img,.sf-searchpage-ph{width:48px;height:48px;border-radius:var(--sf-radius-xs);object-fit:cover;background:var(--sf-surface);flex:none;display:block}
.sf-searchpage-name{flex:1;min-width:0}
.sf-searchpage-price{font-size:13px;color:var(--sf-muted);white-space:nowrap}
.sf-searchpage-hint{color:var(--sf-muted);font-size:14px}
.sf-searchpage-design{margin-top:24px;border:1px dashed var(--sf-border);background:var(--sf-primary-tint);border-radius:var(--sf-radius);padding:22px 24px;display:grid;gap:6px;justify-items:start}
.sf-searchpage-design strong{font-family:var(--sf-font-display);font-size:17px;color:var(--sf-primary-strong)}
.sf-searchpage-design>span:nth-of-type(2){font-size:13px}
.sf-searchpage-design .sf-btn{margin-top:8px}

/* Storefront 2.0 (V4) — hero carousel */
.sf-hero2{position:relative;height:min(680px,78vh);min-height:420px;background:var(--sf-surface-deep);overflow:hidden}
.sf-hero2-slide{position:absolute;inset:0;opacity:0;transition:opacity 600ms var(--sf-ease);pointer-events:none}
.sf-hero2-slide.active{opacity:1;pointer-events:auto}
.sf-hero2-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sf-hero2-overlay{position:absolute;inset:0;background:var(--sf-hero-overlay);pointer-events:none}
.sf-hero2-copy{position:absolute;left:max(24px,5vw);top:0;bottom:110px;display:flex;flex-direction:column;justify-content:center;max-width:620px;color:#fff;z-index:2}
.sf-hero2-eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:18px}
.sf-hero2-copy h1{font-size:calc(clamp(34px,5.4vw,64px)*var(--sf-type-scale));line-height:1.03;letter-spacing:-.015em;color:#fff;margin:0 0 18px}
.sf-hero2-copy p{font-size:17px;line-height:1.6;color:rgba(255,255,255,.82);margin:0 0 28px;max-width:46ch}
.sf-hero2-ctas{display:flex;gap:12px;flex-wrap:wrap}
.sf-btn-glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);color:#fff;backdrop-filter:blur(6px)}
.sf-btn-glass:hover{background:rgba(255,255,255,.22);color:#fff}
.sf-hero2-chips{position:absolute;left:max(24px,5vw);bottom:34px;display:flex;gap:10px;flex-wrap:wrap;z-index:2}
.sf-hero2-chip{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);backdrop-filter:blur(6px);color:rgba(255,255,255,.75);border-radius:var(--sf-radius-pill);padding:9px 18px;font-size:13px;cursor:pointer}
.sf-hero2-chip.active{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5);color:#fff;font-weight:600}
.sf-hero2-dots{position:absolute;right:max(24px,5vw);bottom:44px;display:flex;gap:6px;align-items:center;z-index:2}
.sf-hero2-dots button{width:12px;height:3px;border-radius:2px;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:width var(--sf-dur-2) var(--sf-ease)}
.sf-hero2-dots button.active{width:26px;background:#fff}
.sf-hero2-arrows{position:absolute;right:max(24px,5vw);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:2}
.sf-hero2-arrows button{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);color:#fff;font-size:16px;cursor:pointer}
@media (max-width:720px){.sf-hero2-arrows{display:none}.sf-hero2-copy{bottom:90px}}

/* V4 — category mosaic */
.sf-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px}
.sf-mosaic-tile{position:relative;border-radius:var(--sf-radius-sm);overflow:hidden;background:var(--sf-surface);display:block}
.sf-mosaic-hero{grid-column:span 2;grid-row:span 2}
.sf-mosaic-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--sf-dur-2) var(--sf-ease)}
.sf-mosaic-tile:hover>img{transform:scale(1.04)}
.sf-mosaic-tile::after{content:'';position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(transparent,rgba(12,10,9,.68));pointer-events:none}
.sf-mosaic-label{position:absolute;left:16px;bottom:13px;color:#fff;font-weight:600;font-size:16px;z-index:1}
.sf-mosaic-label i{font-style:normal;font-size:12.5px;opacity:.75;margin-left:7px;font-weight:400}
.sf-mosaic-cta{grid-column:span 2;border:0;background:var(--sf-primary-tint);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 28px;gap:8px;text-align:left;cursor:pointer}
.sf-mosaic-cta::after{display:none}
.sf-mosaic-cta-mark{font-size:20px;color:var(--sf-primary)}
.sf-mosaic-cta strong{font-family:var(--sf-font-display);font-size:19px;color:var(--sf-primary-strong);line-height:1.3}
.sf-mosaic-cta>span:last-of-type{font-size:13px;color:var(--sf-text);max-width:38ch}
@media (max-width:900px){.sf-mosaic{grid-template-columns:repeat(2,1fr)}}

/* V4 — curated collections band */
.sf-colband{background:var(--sf-surface);border-top:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border);padding:64px 0;margin-top:48px}
.sf-colband-note{font-size:13px;color:var(--sf-muted);margin:-8px 0 24px}
.sf-colband-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sf-colcard{background:var(--sf-bg);border-radius:var(--sf-radius);overflow:hidden;box-shadow:var(--sf-shadow-sm);display:block;transition:box-shadow var(--sf-dur-2) var(--sf-ease)}
.sf-colcard:hover{box-shadow:var(--sf-shadow-md);color:inherit}
.sf-colcard-cover{height:220px;background:linear-gradient(135deg,var(--sf-primary),var(--sf-accent))}
.sf-colcard-cover img{width:100%;height:100%;object-fit:cover}
.sf-colcard-body{padding:18px 20px 20px;display:grid;gap:5px;justify-items:start}
.sf-colcard-badge{display:inline-block;background:var(--sf-primary-tint);color:var(--sf-primary-strong);font-size:10px;font-weight:700;letter-spacing:.07em;padding:3px 8px;border-radius:var(--sf-radius-xs);margin-bottom:4px}
.sf-colcard-badge.is-new{background:var(--sf-accent-tint);color:var(--sf-accent-strong)}
.sf-colcard-body strong{font-family:var(--sf-font-display);font-size:20px}
.sf-colcard-sub{font-size:13px;color:var(--sf-muted)}
.sf-colcard-open{font-size:13.5px;font-weight:600;color:var(--sf-accent);margin-top:7px}
@media (max-width:900px){.sf-colband-grid{grid-template-columns:1fr}}

/* V4 — AI assistant band */
.sf-aiband{background:linear-gradient(120deg,var(--sf-surface-deep),var(--sf-primary));color:var(--sf-on-deep);padding:84px 0;margin-top:48px}
.sf-aiband-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.sf-aiband-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sf-accent-tint);margin-bottom:14px}
.sf-aiband h2{font-size:calc(clamp(30px,3.6vw,44px)*var(--sf-type-scale));line-height:1.1;color:var(--sf-on-deep);margin:0 0 16px}
.sf-aiband p{font-size:16px;line-height:1.65;color:var(--sf-on-deep);opacity:.72;margin:0 0 28px;max-width:52ch}
.sf-aiband-feats{display:grid;gap:18px;margin-bottom:32px}
.sf-aiband-feats>div{display:flex;gap:14px}
.sf-aiband-ico{width:38px;height:38px;border-radius:var(--sf-radius);background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--sf-accent-tint);font-size:16px;flex:none}
.sf-aiband-feats strong{display:block;font-size:14.5px;font-weight:600}
.sf-aiband-feats span:last-child{display:block;font-size:13px;opacity:.6;margin-top:2px}
.sf-aiband-ctas{display:flex;gap:12px;flex-wrap:wrap}
.sf-btn-onDeep{background:#fff;color:var(--sf-primary-strong)}
.sf-btn-onDeep:hover{background:var(--sf-accent-tint);color:var(--sf-primary-strong)}
.sf-btn-ghostDeep{border:1px solid rgba(255,255,255,.35);color:var(--sf-on-deep);background:none}
.sf-btn-ghostDeep:hover{background:rgba(255,255,255,.1);color:var(--sf-on-deep)}
.sf-aiband-card{background:var(--sf-bg);color:var(--sf-text);border-radius:var(--sf-radius-lg);box-shadow:0 30px 70px rgba(0,0,0,.4);overflow:hidden}
.sf-aiband-card-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--sf-border)}
.sf-aiband-card-mark{width:28px;height:28px;border-radius:50%;background:var(--sf-primary);color:var(--sf-on-primary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.sf-aiband-card-head strong{font-size:12.5px}
.sf-aiband-card-live{margin-left:auto;font-size:11px;color:var(--sf-muted)}
.sf-aiband-card-body{padding:16px;background:var(--sf-surface);display:grid;gap:12px}
.sf-aiband-msg-user{justify-self:end;max-width:78%;background:var(--sf-primary);color:var(--sf-on-primary);border-radius:14px 14px 4px 14px;padding:10px 14px;font-size:13px}
.sf-aiband-msg-bot{justify-self:start;max-width:85%;background:var(--sf-bg);border:1px solid var(--sf-border);border-radius:14px 14px 14px 4px;padding:10px 14px;font-size:13px}
.sf-aiband-picks{background:var(--sf-bg);border:1.5px solid var(--sf-accent);border-radius:var(--sf-radius);padding:10px 13px;display:grid;gap:8px}
.sf-aiband-pick{display:flex;align-items:center;gap:10px}
.sf-aiband-pick img,.sf-aiband-pick-ph{width:38px;height:38px;border-radius:var(--sf-radius-sm);object-fit:cover;background:var(--sf-surface);flex:none;display:block}
.sf-aiband-pick-name{flex:1;font-size:12px;font-weight:600}
.sf-aiband-pick-price{font-size:12px;color:var(--sf-muted);font-variant-numeric:tabular-nums}
.sf-aiband-card-cta{margin:0 0 4px;border:1px solid var(--sf-border);background:var(--sf-bg);border-radius:var(--sf-radius-pill);padding:9px 14px;font-size:12.5px;color:var(--sf-muted);text-align:left;cursor:pointer}
@media (max-width:900px){.sf-aiband-inner{grid-template-columns:1fr}.sf-aiband-card{display:none}}

/* V4 — materials band */
.sf-logowall{padding:34px 0;border-top:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border);background:var(--sf-surface)}
.sf-logowall-heading{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sf-muted);text-align:center;margin-bottom:18px}
.sf-logowall-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:34px 46px}
.sf-logowall-item{display:inline-flex;align-items:center;opacity:.55;filter:grayscale(1);transition:opacity .15s ease,filter .15s ease}
.sf-logowall-item:hover{opacity:.95;filter:grayscale(0)}
.sf-logowall-item img{height:26px;width:auto;max-width:140px;object-fit:contain}
.sf-matband{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.sf-matband-note{font-size:14px;color:var(--sf-muted)}
.sf-mat img,.sf-mat-ph{display:block;height:92px;width:100%;object-fit:cover;border-radius:var(--sf-radius-sm);background:var(--sf-surface)}
.sf-mat strong{display:block;font-size:13px;font-weight:600;margin-top:8px}
.sf-mat span{display:block;font-size:11.5px;color:var(--sf-muted)}
@media (max-width:1100px){.sf-matband{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.sf-matband{grid-template-columns:repeat(2,1fr)}}

/* V4 — workshop band */
.sf-workshop{padding:88px 0 40px}
.sf-workshop-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.sf-workshop-img img{height:460px;width:100%;object-fit:cover;border-radius:var(--sf-radius)}
.sf-workshop h2{font-size:calc(clamp(28px,3.2vw,38px)*var(--sf-type-scale));line-height:1.12;margin:0 0 16px}
.sf-workshop-body{font-size:15.5px;line-height:1.7;color:var(--sf-muted);margin:0 0 28px;max-width:52ch}
.sf-workshop-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 32px;margin-bottom:28px}
.sf-workshop-stats strong{display:block;font-family:var(--sf-font-display);font-size:27px;font-weight:600}
.sf-workshop-stats span{display:block;font-size:12.5px;color:var(--sf-muted);margin-top:2px}
.sf-workshop-link{font-size:14px;font-weight:600;color:var(--sf-accent)}
@media (max-width:900px){.sf-workshop-inner{grid-template-columns:1fr}.sf-workshop-img img{height:280px}}

.sf-cat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sf-cat-tile{position:relative;border-radius:var(--sf-radius-xs);overflow:hidden;aspect-ratio:4/3;background:var(--sf-surface);display:flex;align-items:flex-end}
.sf-cat-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--sf-dur-2) var(--sf-ease)}
.sf-cat-tile:hover img{transform:scale(1.05)}
.sf-cat-tile span{position:relative;z-index:1;width:100%;padding:36px 14px 14px;background:linear-gradient(transparent,rgba(12,10,9,.72));color:#fff;font-weight:600;font-size:15px}
.sf-cat-tile span i{font-style:normal;font-weight:400;opacity:.75;font-size:13px;margin-left:6px}

/* Browse layout */
.sf-browse{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:start}
.sf-facets{position:sticky;top:92px;border:0;border-radius:0;padding:0}
.sf-facet-group{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--sf-border)}
.sf-facet-group h4,.sf-facet-group>summary{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--sf-muted);font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.sf-facet-group>summary::-webkit-details-marker{display:none}
.sf-facet-group>summary::after{content:'+';font-size:15px;line-height:1;color:var(--sf-muted)}
.sf-facet-group[open]>summary::after{content:'\2212'}
.sf-facet-group label{display:flex;align-items:center;gap:9px;font-size:14px;padding:4px 0;cursor:pointer}
.sf-facet-group input[type=checkbox]{accent-color:var(--sf-primary);width:15px;height:15px}
.sf-facet-count{color:var(--sf-muted);font-size:12px;margin-left:auto;font-variant-numeric:tabular-nums}
.sf-facets .sf-btn-ghost{border:0;padding:0;font-size:13px;color:var(--sf-muted);text-decoration:underline;text-underline-offset:3px;background:none}
.sf-facets .sf-btn-ghost:hover{color:var(--sf-text);background:none}
.sf-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}
.sf-browse-search{flex:1;min-width:180px;max-width:340px;padding:10px 16px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);font-size:14px;background:var(--sf-surface)}
.sf-browse-search:focus{outline:none;border-color:var(--sf-accent);background:#fff;box-shadow:0 0 0 3px var(--sf-ring)}
.sf-toolbar select{padding:9px 12px;border:0;border-bottom:1px solid var(--sf-border);border-radius:0;font-size:14px;background:transparent;color:var(--sf-text)}
.sf-result-count{font-size:14px;color:var(--sf-muted)}
.sf-load-more{display:flex;justify-content:center;margin-top:36px}
.sf-pagination{display:flex;gap:8px;justify-content:center;margin-top:36px;font-size:14px}
.sf-pagination a,.sf-pagination span{padding:8px 13px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-sm)}
.sf-pagination a:hover{border-color:var(--sf-text);color:var(--sf-text)}
.sf-pagination .current{background:var(--sf-primary);color:var(--sf-on-primary);border-color:var(--sf-primary)}

/* PDP */
.sf-pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;padding:44px 0}
.sf-pdp-media{min-width:0}
.sf-gallery-main{position:relative;border-radius:var(--sf-radius-xs);overflow:hidden;background:var(--sf-surface);aspect-ratio:1/1;cursor:zoom-in}
.sf-gallery-main img{width:100%;height:100%;object-fit:contain}
.sf-gallery-main.mode-3d{cursor:default}
.sf-gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.sf-gallery-thumbs button{position:relative;width:68px;height:68px;border-radius:var(--sf-radius-xs);border:1px solid var(--sf-border);overflow:hidden;padding:0;background:var(--sf-surface);transition:border-color var(--sf-dur-1)}
.sf-gallery-thumbs button.active{border-color:var(--sf-text);box-shadow:inset 0 0 0 1px var(--sf-text)}
.sf-gallery-thumbs img{width:100%;height:100%;object-fit:contain;background:#fff}
.sf-gallery-3d-badge{position:absolute;inset:auto 0 0 0;background:rgba(28,25,23,.78);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;text-align:center;padding:3px 0}
.sf-model-viewer{width:100%;height:100%;background:var(--sf-surface);--progress-bar-color:var(--sf-accent)}
.sf-ar-btn{position:absolute;bottom:14px;right:14px;border:1px solid var(--sf-border);background:rgba(255,255,255,.94);border-radius:var(--sf-radius-pill);padding:9px 16px;font-size:13px;font-weight:600;box-shadow:var(--sf-shadow-sm)}
.sf-model-hint{position:absolute;bottom:14px;left:14px;font-size:12px;color:var(--sf-muted);background:rgba(255,255,255,.86);border-radius:var(--sf-radius-pill);padding:5px 12px;pointer-events:none}
.sf-pdp-info{align-self:start}
.sf-pdp-info .sf-eyebrow a:hover{color:var(--sf-accent)}
.sf-pdp-info h1{font-size:clamp(30px,3.4vw,42px);margin:8px 0 8px;color:var(--sf-text);line-height:1.1}
.sf-pdp-subtitle{color:var(--sf-muted);margin:0 0 8px;font-size:16px}
.sf-pdp-sku{font-size:12px;color:var(--sf-muted);margin-bottom:6px;letter-spacing:.04em}
.sf-pdp-price{font-family:var(--sf-font-display);font-size:29px;font-weight:600;color:var(--sf-text);margin:14px 0 2px;font-variant-numeric:tabular-nums}
.sf-pdp-price.request{font-family:var(--sf-font);font-size:14px;color:var(--sf-text);font-weight:500;display:inline-block;border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);padding:7px 16px;background:var(--sf-surface)}
.sf-pdp-msrp{font-size:14px;color:var(--sf-muted)}
.sf-pdp-msrp s{text-decoration-thickness:1px}
.sf-pdp-desc{margin:16px 0;color:var(--sf-text);font-size:15px;max-width:56ch}
.sf-trust-strip{display:flex;flex-wrap:wrap;gap:0;margin:18px 0;border-top:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border);padding:10px 0;font-size:13px;color:var(--sf-muted)}
.sf-trust-strip span{display:inline-flex;align-items:center;gap:6px;padding:2px 14px;border-right:1px solid var(--sf-border)}
.sf-trust-strip span:first-child{padding-left:0}
.sf-trust-strip span:last-child{border-right:0}
.sf-trust-strip svg{width:13px;height:13px;color:var(--sf-accent)}
.sf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.sf-chip{font-size:13px;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);padding:4px 12px}
.sf-variants{margin:20px 0}
.sf-variants h3{font-family:var(--sf-font);font-size:12px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;color:var(--sf-muted)}
.sf-variant-btn{border:1px solid var(--sf-border);background:#fff;border-radius:var(--sf-radius-sm);padding:9px 15px;font-size:14px;margin:0 8px 8px 0;transition:border-color var(--sf-dur-1),background var(--sf-dur-1)}
.sf-variant-btn:hover{border-color:var(--sf-text)}
.sf-variant-btn.active{border-color:var(--sf-primary);background:var(--sf-primary-tint);box-shadow:inset 0 0 0 1px var(--sf-primary)}
.sf-variant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.sf-variant-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--sf-border);background:#fff;border-radius:var(--sf-radius-sm);padding:8px;font-size:12px;text-align:center;transition:border-color var(--sf-dur-1),box-shadow var(--sf-dur-1);cursor:pointer}
.sf-variant-card:hover{border-color:var(--sf-text)}
.sf-variant-card.active{border-color:var(--sf-primary);box-shadow:0 0 0 2px var(--sf-primary-tint)}
.sf-variant-thumb{width:100%;aspect-ratio:1/1;border-radius:var(--sf-radius-xs);overflow:hidden;background:var(--sf-surface)}
.sf-variant-thumb img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.sf-variant-name{font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sf-variants-more{margin-top:10px;border:0;background:none;color:var(--sf-primary);font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sf-variants-modal{position:fixed;inset:0;z-index:90;background:rgba(15,15,15,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.sf-variants-modal[hidden]{display:none}
.sf-variants-modal-panel{background:#fff;border-radius:var(--sf-radius);max-width:640px;width:100%;max-height:80vh;overflow-y:auto;padding:18px 20px 22px}
.sf-variants-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.sf-variants-modal-head h3{margin:0;font-size:15px}
.sf-variants-modal-head button{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--sf-muted)}
/* Buyer auth (B2.0-E2) — sign-in chip + JS-injected modal (reuses the
   variants-modal shell). */
.sf-auth-chip{cursor:pointer;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sf-text)}
.sf-auth-panel{max-width:400px}
.sf-auth-note{font-size:14px;color:var(--sf-muted);margin:0 0 14px;line-height:1.55}
.sf-auth-note b{color:var(--sf-text)}
.sf-auth-form{gap:10px}
.sf-auth-form .sf-btn{width:100%}
.sf-auth-signout{width:100%}
.sf-cta-block{display:flex;align-items:center;gap:12px;margin:24px 0;flex-wrap:wrap}
.sf-cta-block .sf-btn{flex:1;min-width:180px}
.sf-qty{display:inline-flex;align-items:center;border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill)}
.sf-qty button{width:38px;height:46px;border:0;background:transparent;font-size:18px;color:var(--sf-muted)}
.sf-qty button:hover{color:var(--sf-text)}
.sf-qty input{width:48px;height:46px;border:0;text-align:center;font-size:15px;-moz-appearance:textfield;background:transparent}
.sf-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.sf-contact-shortcuts{display:flex;gap:16px;font-size:14px;margin-top:8px;flex-wrap:wrap}
.sf-contact-shortcuts a{color:var(--sf-accent);font-weight:500}
.sf-pdp-section{padding:40px 0;border-top:1px solid var(--sf-border)}
.sf-pdp-section h2{font-size:24px;margin:0 0 20px;color:var(--sf-text)}
.sf-pdp-section .sf-prose-body{max-width:68ch;font-size:15px;line-height:1.7}
.sf-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin:18px 0 0;padding:0;list-style:none;max-width:860px}
.sf-features-grid li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5}
.sf-features-grid svg{width:15px;height:15px;flex-shrink:0;margin-top:3px;color:var(--sf-accent)}
.sf-specs-card{background:var(--sf-surface);border-radius:var(--sf-radius-lg);padding:26px 30px;max-width:860px}
.sf-specs-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.sf-print-btn{border:0;background:none;font-size:13px;color:var(--sf-muted);text-decoration:underline;text-underline-offset:3px}
.sf-print-btn:hover{color:var(--sf-text)}
.sf-specs{width:100%;border-collapse:collapse;font-size:14.5px}
.sf-specs th,.sf-specs td{text-align:left;padding:11px 4px;border-bottom:1px solid var(--sf-border);vertical-align:top}
.sf-specs tr:last-child th,.sf-specs tr:last-child td{border-bottom:0}
.sf-specs th{width:220px;color:var(--sf-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding-top:14px}
.sf-inquiry-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;background:var(--sf-surface);border-radius:var(--sf-radius-lg);padding:32px 36px}
.sf-inquiry-context img{width:88px;height:88px;object-fit:contain;border-radius:var(--sf-radius-xs);margin-bottom:14px;background:#fff}
.sf-inquiry-context h3{font-size:19px;margin:0 0 4px}
.sf-inquiry-context p{font-size:13.5px;color:var(--sf-muted);margin:2px 0}
.sf-inquiry-note{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--sf-muted);margin-top:14px}
.sf-inquiry-note svg{width:14px;height:14px;color:var(--sf-accent)}
.sf-mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid var(--sf-border);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(28,25,23,.08);align-items:center;gap:14px}
.sf-mobile-cta .sf-mobile-cta-price{font-family:var(--sf-font-display);font-weight:600;font-size:18px;white-space:nowrap}
.sf-mobile-cta .sf-btn{flex:1}
.sf-related{padding:48px 0;border-top:1px solid var(--sf-border)}
.sf-related h2{font-size:24px}

/* Cart drawer — data-p9-cart-view state machine (list | form | collection-form | success) */
.sf-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:60;display:none}
.sf-drawer-backdrop.open{display:block}
.sf-drawer{position:fixed;top:0;right:0;bottom:0;width:430px;max-width:94vw;background:#fff;z-index:61;transform:translateX(105%);transition:transform var(--sf-dur-2) var(--sf-ease);display:flex;flex-direction:column;box-shadow:-16px 0 40px rgba(0,0,0,.16)}
.sf-drawer.open{transform:translateX(0)}
.sf-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--sf-border)}
.sf-drawer-head h2{margin:0;font-size:20px}
.sf-drawer-head .sf-cart-count{font-family:var(--sf-font);font-size:13px;color:var(--sf-muted);margin-left:10px;font-weight:400}
.sf-drawer-close{border:0;background:transparent;font-size:22px;line-height:1;color:var(--sf-muted)}
.sf-drawer-close:hover{color:var(--sf-text)}
.sf-drawer-body{flex:1;overflow:auto;padding:8px 24px}
.sf-drawer-foot{border-top:1px solid var(--sf-border);padding:18px 24px}
.sf-drawer [data-p9-cart-panel]{display:none}
.sf-drawer[data-p9-cart-view=list] [data-p9-cart-panel=list]{display:flex;flex-direction:column;flex:1;min-height:0}
.sf-drawer[data-p9-cart-view=form] [data-p9-cart-panel=form]{display:flex;flex-direction:column;flex:1;min-height:0}
.sf-drawer[data-p9-cart-view=collection-form] [data-p9-cart-panel=collection-form]{display:flex;flex-direction:column;flex:1;min-height:0}
.sf-drawer[data-p9-cart-view=success] [data-p9-cart-panel=success]{display:flex;flex-direction:column;flex:1;min-height:0}
.sf-cart-line{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--sf-border)}
.sf-cart-line img{width:72px;height:72px;object-fit:contain;border-radius:var(--sf-radius-xs);background:var(--sf-surface)}
.sf-cart-line-info{flex:1;font-size:14px;min-width:0}
.sf-cart-line-name{font-weight:500;display:block;margin-bottom:1px}
.sf-cart-line-name:hover{text-decoration:underline}
.sf-cart-line-variant{color:var(--sf-muted);font-size:13px}
.sf-cart-line-sku{font-size:11px;color:var(--sf-muted);font-variant-numeric:tabular-nums;letter-spacing:.03em}
.sf-cart-line-math{font-size:13px;color:var(--sf-muted);font-variant-numeric:tabular-nums;margin-top:2px}
.sf-cart-line-math b{color:var(--sf-text);font-weight:600}
/* PO-ready line spec: the supplier-facing specification, as a compact
   definition list under the line (supplier, SKU, covering, yardage…). */
.sf-cart-line-spec{margin:6px 0 0;padding:6px 0 0;border-top:1px dashed var(--sf-border);display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:12px;line-height:1.45}
.sf-cart-line-spec dt{color:var(--sf-muted);white-space:nowrap}
.sf-cart-line-spec dd{margin:0;color:var(--sf-text);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.sf-cart-line-controls{display:flex;align-items:center;gap:12px;margin-top:8px}
.sf-cart-line-controls .sf-qty button{height:32px;width:30px;font-size:15px}
.sf-cart-line-controls .sf-qty input{height:32px;width:38px;font-size:14px}
.sf-cart-line-remove{border:0;background:transparent;color:var(--sf-muted);font-size:16px;line-height:1;padding:4px}
.sf-cart-line-remove:hover{color:var(--sf-text)}
.sf-cart-subtotal{display:flex;justify-content:space-between;font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}
.sf-cart-subnote{font-size:12.5px;color:var(--sf-muted);margin:4px 0 14px}
.sf-cart-empty{text-align:center;color:var(--sf-muted);padding:64px 12px;font-size:14.5px}
.sf-cart-empty .sf-btn-ghost{margin-top:16px}
.sf-cart-summary-line{font-size:13.5px;color:var(--sf-muted);background:var(--sf-surface);border-radius:var(--sf-radius-sm);padding:10px 14px;margin:14px 0 4px}
.sf-cart-back{border:0;background:none;color:var(--sf-muted);font-size:13.5px;text-decoration:underline;text-underline-offset:3px;margin-top:12px;align-self:flex-start}
.sf-cart-back:hover{color:var(--sf-text)}
.sf-cart-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px;gap:6px}
.sf-cart-success svg{width:44px;height:44px;color:var(--sf-accent);margin-bottom:10px}
.sf-cart-success h3{font-size:24px;margin:0}
.sf-cart-success .sf-cart-ref{font-size:13px;color:var(--sf-muted);letter-spacing:.04em}
.sf-cart-success p{font-size:14px;color:var(--sf-muted);margin:8px 0 18px;max-width:34ch}

/* Forms */
.sf-form{display:grid;gap:14px;max-width:520px}
.sf-form label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sf-muted)}
.sf-form input,.sf-form textarea{width:100%;padding:11px 13px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-sm);font:inherit;font-size:14px;transition:border-color var(--sf-dur-1)}
.sf-form input:focus,.sf-form textarea:focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-ring)}
.sf-form textarea{min-height:96px;resize:vertical}
.sf-form .sf-field-error input,.sf-form .sf-field-error textarea,input.sf-field-error{border-color:#b91c1c}
.sf-field-msg{font-size:12px;color:#b91c1c;margin-top:4px;display:none}
.sf-field-error .sf-field-msg{display:block}
.sf-form-status{font-size:14px;min-height:20px}
.sf-form-status.ok{color:#15803d}
.sf-form-status.err{color:#b91c1c}
.sf-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* Lightbox */
.sf-lightbox{position:fixed;inset:0;z-index:70;background:rgba(12,10,9,.92);display:none;align-items:center;justify-content:center}
.sf-lightbox.open{display:flex}
.sf-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}
.sf-lightbox button{position:absolute;top:18px;right:22px;background:transparent;border:0;color:#fff;font-size:30px}
.sf-lightbox .prev,.sf-lightbox .next{top:50%;transform:translateY(-50%);font-size:40px;padding:0 14px}
.sf-lightbox .prev{left:8px;right:auto}
.sf-lightbox .next{right:8px}

/* Footer */
.sf-footer{margin-top:72px;background:var(--sf-surface-deep);color:var(--sf-on-deep)}
.sf-footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding:64px 20px 44px}
.sf-footer .sf-logo{color:var(--sf-on-deep)}
.sf-footer .sf-logo img{filter:brightness(0) invert(1)}
.sf-footer p{color:var(--sf-on-deep);opacity:.6;line-height:1.65;margin:0}
.sf-footer h4{margin:0 0 14px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--sf-on-deep);opacity:.45}
.sf-footer ul{list-style:none;margin:0;padding:0;font-size:13.5px;display:grid;gap:9px}
.sf-footer ul a,.sf-footer ul li{color:var(--sf-on-deep);opacity:.78}
.sf-footer ul a:hover{color:var(--sf-accent-tint);opacity:1}
.sf-footer-action{border:0;background:none;padding:0;font:inherit;color:var(--sf-on-deep);opacity:.78;cursor:pointer;text-align:left}
.sf-footer-action:hover{color:var(--sf-accent-tint);opacity:1}
.sf-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 20px;font-size:12.5px;color:var(--sf-on-deep);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;opacity:.6}
.sf-footer-bottom a{color:var(--sf-on-deep)}
@media (max-width:900px){.sf-footer-inner{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sf-footer-inner{grid-template-columns:1fr}}

/* Prose (custom pages) */
.sf-prose{max-width:760px;margin:0 auto;padding:56px 20px;font-size:16px;line-height:1.7}
.sf-prose h1{color:var(--sf-text)}
.sf-prose img{border-radius:var(--sf-radius-xs)}

/* AI assistant — concierge drawer (agentEnabled sites only) */
.sf-agent-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:60;display:none}
.sf-agent-backdrop.open{display:block}
.sf-agent{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:94vw;background:#fff;z-index:61;transform:translateX(105%);transition:transform var(--sf-dur-2) var(--sf-ease);display:flex;flex-direction:column;box-shadow:-16px 0 40px rgba(0,0,0,.16)}
.sf-agent.open{transform:translateX(0)}
.sf-agent[hidden]{display:flex}
.sf-agent-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--sf-border)}
.sf-agent-brand{display:flex;align-items:center;gap:11px;flex:1;min-width:0}
.sf-agent-mark{width:34px;height:34px;border-radius:var(--sf-radius-pill);background:var(--sf-primary);color:var(--sf-on-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0;overflow:hidden}
.sf-agent-mark img{width:100%;height:100%;object-fit:cover}
.sf-agent-brand-name{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.sf-agent-brand-name strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-agent-brand-name span{font-size:12px;color:var(--sf-muted)}
.sf-agent-head button{border:0;background:none;color:var(--sf-muted);padding:6px;border-radius:var(--sf-radius-sm);display:inline-flex}
.sf-agent-head button:hover{color:var(--sf-text);background:var(--sf-surface)}
.sf-agent-head svg{width:17px;height:17px}
.sf-agent-hist{display:flex;flex-direction:column;gap:8px;padding:6px 0}
.sf-agent-hist-head{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sf-muted);padding:2px 2px 4px}
.sf-agent-hist-empty{font-size:14px;color:var(--sf-muted);line-height:1.6;padding:2px}
.sf-agent-hist-item{display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid var(--sf-border);background:var(--sf-surface);border-radius:12px;padding:11px 14px;cursor:pointer;font:inherit}
.sf-agent-hist-item:hover{border-color:var(--sf-text)}
.sf-agent-hist-title{font-size:14px;font-weight:600;color:var(--sf-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-agent-hist-date{font-size:12px;color:var(--sf-muted)}
.sf-agent-hist-back{align-self:flex-start;border:0;background:none;color:var(--sf-muted);font:inherit;font-size:13px;cursor:pointer;padding:6px 2px}
.sf-agent-hist-back:hover{color:var(--sf-text)}
.sf-agent-msgs{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px;background:#fff}
.sf-agent-welcome{text-align:center;padding:38px 10px 10px}
.sf-agent-welcome .sf-agent-mark{width:44px;height:44px;margin:0 auto 14px;font-size:18px}
.sf-agent-welcome h3{font-size:21px;margin:0 0 6px}
.sf-agent-welcome p{font-size:13.5px;color:var(--sf-muted);margin:0 0 18px}
.sf-agent-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.sf-agent-chips button{border:1px solid var(--sf-border);background:#fff;border-radius:var(--sf-radius-pill);padding:8px 15px;font-size:13px;transition:border-color var(--sf-dur-1),background var(--sf-dur-1)}
.sf-agent-chips button:hover{border-color:var(--sf-text);background:var(--sf-surface)}
.sf-agent-group{display:flex;gap:10px;max-width:100%}
.sf-agent-group.user{justify-content:flex-end}
.sf-agent-group .sf-agent-mark{width:26px;height:26px;font-size:12px;margin-top:2px}
.sf-agent-group-body{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:86%}
.sf-agent-msg{font-size:14.5px;line-height:1.6;padding:11px 15px;border-radius:14px;word-break:break-word}
.sf-agent-msg p{margin:0 0 8px}
.sf-agent-msg p:last-child{margin-bottom:0}
.sf-agent-msg ul,.sf-agent-msg ol{margin:4px 0 8px;padding-left:19px}
.sf-agent-msg li{margin:2px 0}
.sf-agent-group.bot .sf-agent-msg{background:var(--sf-surface);border-bottom-left-radius:4px}
.sf-agent-group.user .sf-agent-msg{background:var(--sf-primary);color:var(--sf-on-primary);border-bottom-right-radius:4px;white-space:pre-wrap}
.sf-agent-msg a{color:var(--sf-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.sf-agent-group.user .sf-agent-msg a{color:inherit}
.sf-agent-time{font-size:11px;color:var(--sf-muted);margin-top:-2px}
.sf-agent-group.user .sf-agent-time{text-align:right}
.sf-agent-thinking{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--sf-muted)}
.sf-agent-thinking i{display:inline-flex;gap:4px;font-style:normal}
.sf-agent-thinking i b{width:6px;height:6px;border-radius:50%;background:var(--sf-muted);animation:sfChatDot 1.2s infinite}
.sf-agent-thinking i b:nth-child(2){animation-delay:.2s}
.sf-agent-thinking i b:nth-child(3){animation-delay:.4s}
@keyframes sfChatDot{0%,60%,100%{opacity:.3}30%{opacity:1}}
/* Widget: product grid */
.sf-agent-products{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sf-agent-product{display:flex;flex-direction:column;border:1px solid var(--sf-border);border-radius:var(--sf-radius);overflow:hidden;background:#fff;font-size:12.5px;transition:border-color var(--sf-dur-1),box-shadow var(--sf-dur-1)}
.sf-agent-product:hover{border-color:var(--sf-text);box-shadow:var(--sf-shadow-sm);color:inherit}
.sf-agent-product-img{aspect-ratio:1/1;background:var(--sf-surface);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--sf-muted);font-size:22px;font-family:var(--sf-font-display)}
.sf-agent-product-img img{width:100%;height:100%;object-fit:contain;background:#fff}
.sf-agent-product-body{padding:9px 11px 11px;display:flex;flex-direction:column;gap:2px}
.sf-agent-product-cat{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--sf-muted);font-weight:600}
.sf-agent-product-name{font-weight:600;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sf-agent-product-price{color:var(--sf-muted);font-variant-numeric:tabular-nums}
.sf-agent-product-add{margin-top:7px;border:1px solid var(--sf-border);background:#fff;border-radius:var(--sf-radius-pill);padding:6px 10px;font-size:12px;font-weight:600;transition:border-color var(--sf-dur-1)}
.sf-agent-product-add:hover{border-color:var(--sf-text)}
.sf-agent-product-add.added{border-color:var(--sf-accent);color:var(--sf-accent)}
.sf-agent-viewall{display:block;text-align:center;font-size:13px;font-weight:600;color:var(--sf-accent);padding:9px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);margin-top:2px}
.sf-agent-viewall:hover{border-color:var(--sf-accent)}
/* Widget: product spotlight */
.sf-agent-spotlight{display:flex;gap:14px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);overflow:hidden;background:#fff;padding:12px}
.sf-agent-spotlight-img{width:118px;height:118px;flex-shrink:0;border-radius:var(--sf-radius-xs);overflow:hidden;background:var(--sf-surface)}
.sf-agent-spotlight-img img{width:100%;height:100%;object-fit:cover}
.sf-agent-spotlight-body{flex:1;min-width:0;font-size:13px}
.sf-agent-spotlight-body h4{margin:0 0 2px;font-size:15px;font-family:var(--sf-font);font-weight:600}
.sf-agent-spotlight-price{color:var(--sf-text);font-weight:600;font-variant-numeric:tabular-nums;margin-bottom:6px}
.sf-agent-spec-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:4px 0;border-top:1px solid var(--sf-border)}
.sf-agent-spec-row span:first-child{color:var(--sf-muted)}
.sf-agent-spec-row span:last-child{text-align:right}
.sf-agent-spotlight-ctas{display:flex;gap:8px;margin-top:9px}
.sf-agent-spotlight-ctas a,.sf-agent-spotlight-ctas button{flex:1;text-align:center;font-size:12.5px;font-weight:600;border-radius:var(--sf-radius-pill);padding:8px 10px}
.sf-agent-spotlight-ctas a{background:var(--sf-primary);color:var(--sf-on-primary)}
.sf-agent-spotlight-ctas a:hover{background:var(--sf-primary-strong);color:var(--sf-on-primary)}
.sf-agent-spotlight-ctas button{border:1px solid var(--sf-border);background:#fff}
/* Widget: store info */
.sf-agent-info{border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:#fff;padding:6px 0;font-size:13.5px}
.sf-agent-info a.row{display:flex;align-items:center;gap:11px;padding:9px 15px}
.sf-agent-info a.row:hover{background:var(--sf-surface);color:inherit}
.sf-agent-info svg{width:15px;height:15px;color:var(--sf-accent);flex-shrink:0}
.sf-agent-info .sf-agent-chips{justify-content:flex-start;padding:8px 15px 10px}
/* Widget: quote draft */
.sf-agent-draft{border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:#fff;overflow:hidden}
.sf-agent-draft-head{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:var(--sf-surface);font-weight:600;font-size:13.5px}
.sf-agent-draft-head span{font-weight:400;color:var(--sf-muted);font-size:12.5px}
.sf-agent-draft-lines{padding:4px 15px}
.sf-agent-draft-line{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--sf-border);font-size:13px}
.sf-agent-draft-line:last-child{border-bottom:0}
.sf-agent-draft-line img,.sf-agent-draft-thumb{width:42px;height:42px;border-radius:var(--sf-radius-xs);object-fit:cover;background:var(--sf-surface);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--sf-muted);font-family:var(--sf-font-display)}
.sf-agent-draft-line .qty{color:var(--sf-muted);white-space:nowrap}
.sf-agent-draft-line .price{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.sf-agent-draft-subtotal{display:flex;justify-content:space-between;padding:10px 15px;border-top:1px solid var(--sf-border);font-weight:600;font-size:13.5px;font-variant-numeric:tabular-nums}
.sf-agent-draft-notes{padding:0 15px 8px;font-size:12.5px;color:var(--sf-muted);font-style:italic}
.sf-agent-draft-form{display:grid;gap:9px;padding:12px 15px 15px;border-top:1px solid var(--sf-border)}
.sf-agent-draft-form input{padding:9px 12px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-sm);font-size:13px}
.sf-agent-draft-form input.err{border-color:#b91c1c}
.sf-agent-draft-err{font-size:11.5px;color:#b91c1c;display:none;margin-top:-5px}
.sf-agent-draft-err.show{display:block}
.sf-agent-draft-form button{border:0;background:var(--sf-primary);color:var(--sf-on-primary);border-radius:var(--sf-radius-pill);padding:10px 14px;font-size:13.5px;font-weight:600}
.sf-agent-draft-form button:hover{background:var(--sf-primary-strong)}
.sf-agent-draft-form button[disabled]{opacity:.6}
.sf-agent-draft-hint{font-size:11px;color:var(--sf-muted);text-align:center;margin:-2px 0 0}
.sf-agent-draft-done{padding:22px 15px;text-align:center}
.sf-agent-draft-done svg{width:30px;height:30px;color:var(--sf-accent);margin-bottom:6px}
.sf-agent-draft-done b{display:block;font-size:14.5px}
.sf-agent-draft-done p{font-size:12.5px;color:var(--sf-muted);margin:5px 0 0}
.sf-agent-draft.superseded{opacity:.55;pointer-events:none}
/* Widget: materials picker (PRD-3) */
.sf-agent-picker{border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:#fff;overflow:hidden}
.sf-agent-picker-head{padding:12px 15px;background:var(--sf-surface);font-weight:600;font-size:13.5px}
.sf-agent-picker-part{padding:11px 15px 14px;border-top:1px solid var(--sf-border)}
.sf-agent-picker-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--sf-muted);font-weight:600;margin-bottom:8px}
.sf-agent-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.sf-agent-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-sm);background:#fff;padding:7px 6px 8px;font-size:11.5px;transition:border-color var(--sf-dur-1),box-shadow var(--sf-dur-1)}
.sf-agent-swatch:hover{border-color:var(--sf-text)}
.sf-agent-swatch.sel{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-ring)}
.sf-agent-swatch-img{width:100%;aspect-ratio:1/1;border-radius:var(--sf-radius-xs);overflow:hidden;background:var(--sf-surface);display:flex;align-items:center;justify-content:center;color:var(--sf-muted);font-family:var(--sf-font-display);font-size:16px}
.sf-agent-swatch-img img{width:100%;height:100%;object-fit:cover}
.sf-agent-swatch-hex{display:flex;width:100%;height:100%;align-items:center;justify-content:center;border-radius:inherit}
.sf-agent-swatch-name{font-weight:600;line-height:1.25;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sf-agent-swatch-delta{font-size:10.5px;color:var(--sf-muted);background:var(--sf-surface);border-radius:var(--sf-radius-pill);padding:2px 7px;font-variant-numeric:tabular-nums;white-space:nowrap}
.sf-agent-swatch.sel .sf-agent-swatch-delta{color:var(--sf-accent)}
.sf-agent-swatch.hid{display:none}

/* ── Buyer Collections (/col/{token}) ─────────────────────────────── */
.sf-col-hero{position:relative;min-height:380px;display:flex;align-items:flex-end;background:var(--sf-surface-2,#f4f2ee);overflow:hidden}
.sf-col-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sf-col-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.55) 100%)}
.sf-col-hero-body{position:relative;padding:48px 0 40px;color:#fff}
.sf-col-hero-kicker{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-bottom:10px}
.sf-col-hero-title{font-family:var(--sf-font-display,inherit);font-size:clamp(30px,5vw,52px);line-height:1.08;margin:0 0 10px;color:#fff}
.sf-col-hero-desc{max-width:560px;font-size:15.5px;line-height:1.55;opacity:.92;margin:0 0 18px}
.sf-col-hero-ctas{display:flex;gap:10px;flex-wrap:wrap}
.sf-col-hero-ctas .sf-btn{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(4px)}
.sf-col-hero-ctas .sf-btn-primary{background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-on-accent,#fff)}
.sf-col-body{padding:34px 0 60px}
.sf-col-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 26px}
.sf-col-search{flex:1;min-width:220px;max-width:360px;padding:10px 14px;border:1px solid var(--sf-border);border-radius:999px;font:inherit;font-size:14px;background:var(--sf-surface)}
.sf-col-search:focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-ring)}
.sf-col-chips{display:flex;gap:8px;flex-wrap:wrap}
.sf-col-chip{padding:7px 15px;border:1px solid var(--sf-border);border-radius:999px;background:var(--sf-surface);font:inherit;font-size:13px;cursor:pointer;color:inherit;opacity:.8}
.sf-col-chip.act{background:var(--sf-accent);color:var(--sf-on-accent,#fff);border-color:var(--sf-accent);opacity:1}
.sf-col-card{display:flex;flex-direction:column}
.sf-col-card .sf-card-name{text-decoration:none;color:inherit}
.sf-col-card-sku{font-size:11.5px;opacity:.55;margin-top:2px}
.sf-ccy{appearance:none;border:1px solid var(--sf-border);border-radius:8px;background:var(--sf-bg);color:inherit;font:inherit;font-size:13px;padding:6px 10px;cursor:pointer}
.sf-ccy:focus-visible{outline:2px solid var(--sf-accent);outline-offset:1px}
.sf-col-card-variant-label{font-size:12px;font-weight:600;color:var(--sf-accent);margin-top:3px}
.sf-col-card-sizes{font-size:12.5px;opacity:.75;margin-top:4px}
.sf-col-card-min{font-size:12px;opacity:.65;margin-top:2px}
.sf-col-concept-badge{display:inline-block;background:var(--sf-accent);color:#fff;border-radius:4px;padding:2px 8px;font-size:11px;letter-spacing:.04em;text-transform:uppercase}

/* ── Projects 2.0 buyer hub (/project/{token}) ── */
.sf-prj{max-width:760px;margin:0 auto;padding:32px 20px 64px}
/* Hub v2 — status hero */
.sf-prj-hero{background:var(--sf-surface,#faf7f2);border:1px solid var(--sf-border);border-radius:16px;padding:20px 22px}
.sf-prj-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.sf-prj-eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sf-muted)}
.sf-prj-title{margin:2px 0 0;font-size:24px;line-height:1.2}
.sf-prj-live{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:12px;font-weight:600;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:4px 10px;white-space:nowrap}
.sf-prj-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:sfPrjPulse 2.4s ease-in-out infinite}
@keyframes sfPrjPulse{0%,100%{opacity:1}50%{opacity:.35}}
.sf-prj-hero-stage{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.sf-prj-stage-big{font-size:30px;font-weight:800;line-height:1.1;letter-spacing:-.01em}
.sf-prj-progress{display:flex;gap:5px}
.sf-prj-seg{flex:1;height:6px;border-radius:999px;background:var(--sf-border)}
.sf-prj-seg.done,.sf-prj-seg.active{background:var(--sf-accent)}
.sf-prj-seg.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--sf-accent) 25%,transparent)}
.sf-prj-next{margin-top:12px;font-size:14px;color:var(--sf-text)}
.sf-prj-glance{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.sf-prj-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--sf-border);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--sf-text);cursor:pointer;font-family:inherit}
.sf-prj-chip[hidden],.sf-prj-badge[hidden]{display:none}
button.sf-prj-chip:hover{border-color:var(--sf-accent)}
.sf-prj-chip.warn{background:#fffbeb;border-color:#f59e0b;color:#92400e}
.sf-prj-chip.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534;cursor:default}
/* Hub v2 — tab bar (hidden until JS enables tabbed mode) */
.sf-prj-tabs{display:none;position:sticky;top:0;z-index:6;gap:4px;margin-top:16px;padding:8px 0;background:var(--sf-bg);border-bottom:1px solid var(--sf-border);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sf-prj-tabs::-webkit-scrollbar{display:none}
.sf-prj-tabbed .sf-prj-tabs{display:flex}
.sf-prj-tab{position:relative;flex-shrink:0;border:0;background:transparent;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;color:var(--sf-muted);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}
.sf-prj-tab:hover{color:var(--sf-text)}
.sf-prj-tab.active{background:var(--sf-accent);color:#fff}
.sf-prj-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:700}
/* Hub v2 — panels: stacked cards by default (no-JS), tab-controlled when tabbed */
.sf-prj-panel{margin-top:24px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:#fff;padding:0 18px 18px}
.sf-prj-panel .sf-prj-section-title{margin:0 -18px 16px;padding:14px 18px;border-bottom:1px solid var(--sf-border);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}
.sf-prj-panel[data-p9-panel="overview"]{border:0;background:transparent;padding:0}
.sf-prj-panel[data-p9-panel="overview"] .sf-prj-section-title{margin:26px 0 12px;padding:0;border:0}
.sf-prj-tabbed .sf-prj-panel{display:none}
.sf-prj-tabbed .sf-prj-panel.active{display:block}
/* Hub v2 — overview summary cards */
.sf-prj-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:20px}
.sf-prj-scard{border:1px solid var(--sf-border);border-radius:14px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:8px}
.sf-prj-scard-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sf-prj-scard-title{font-weight:700;font-size:14px}
.sf-prj-scard-kind{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sf-muted);font-weight:600}
.sf-prj-scard-date{font-size:12px;color:var(--sf-muted)}
.sf-prj-scard-status{font-size:11px;font-weight:700;border-radius:999px;padding:3px 8px;background:color-mix(in srgb,var(--sf-accent) 12%,transparent);color:var(--sf-accent);white-space:nowrap}
.sf-prj-scard-status.s-accepted,.sf-prj-scard-status.s-paid,.sf-prj-scard-status.s-delivered{background:#dcfce7;color:#166534}
.sf-prj-scard-status.s-sent,.sf-prj-scard-status.s-viewed,.sf-prj-scard-status.s-awaiting_deposit{background:#fef3c7;color:#92400e}
.sf-prj-scard-status.s-declined,.sf-prj-scard-status.s-exception,.sf-prj-scard-status.s-cancelled{background:#fee2e2;color:#991b1b}
.sf-prj-scard-body{font-size:13px;color:var(--sf-text);flex:1}
.sf-prj-scard-body a{color:var(--sf-accent);font-weight:600;text-decoration:none}
.sf-prj-scard-media{display:flex;gap:10px;align-items:center}
.sf-prj-scard-media img{width:48px;height:48px;border-radius:10px;object-fit:cover;border:1px solid var(--sf-border);flex:none}
.sf-prj-scard-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px dashed var(--sf-border);padding-top:10px}
.sf-prj-scard-view,.sf-prj-scard-ask{border:0;background:transparent;padding:0;font-size:13px;font-weight:600;color:var(--sf-accent);cursor:pointer;font-family:inherit}
.sf-prj-scard-ask{color:var(--sf-muted)}
.sf-prj-scard-ask:hover{color:var(--sf-text)}
.sf-btn-sm{padding:7px 14px;font-size:13px}
/* Hub v2 — activity timeline */
.sf-prj-timeline-wrap{margin-top:8px}
.sf-prj-timeline{list-style:none;margin:0;padding:0;border:1px solid var(--sf-border);border-radius:14px;background:#fff}
.sf-prj-tl{display:flex;align-items:baseline;gap:10px;padding:11px 16px;border-bottom:1px solid var(--sf-border);font-size:13px}
.sf-prj-tl:last-child{border-bottom:0}
.sf-prj-tl-dot{width:8px;height:8px;border-radius:50%;background:var(--sf-border);flex:none;position:relative;top:-1px}
.sf-prj-tl.system .sf-prj-tl-dot{background:var(--sf-accent)}
.sf-prj-tl.team .sf-prj-tl-dot{background:#0ea5e9}
.sf-prj-tl.buyer .sf-prj-tl-dot{background:#a8a29e}
.sf-prj-tl-body{flex:1;min-width:0;color:var(--sf-text)}
.sf-prj-tl-date{flex:none;font-size:12px;color:var(--sf-muted)}
/* Hub v2 — talk-to-us CTA */
.sf-prj-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:26px;border:1px solid var(--sf-border);border-radius:16px;background:var(--sf-surface,#faf7f2);padding:18px 20px;flex-wrap:wrap}
.sf-prj-cta-title{font-weight:700;font-size:15px}
.sf-prj-cta-sub{margin-top:2px;font-size:13px;color:var(--sf-muted);max-width:420px}
.sf-prj-journey{display:flex;list-style:none;margin:26px 0;padding:0;gap:0}
.sf-prj-step{flex:1;text-align:center;position:relative;font-size:12px;color:var(--sf-muted)}
.sf-prj-step::before{content:'';position:absolute;top:7px;left:-50%;width:100%;height:2px;background:var(--sf-border)}
.sf-prj-step:first-child::before{display:none}
.sf-prj-step-dot{display:block;width:14px;height:14px;margin:0 auto 6px;border-radius:50%;background:var(--sf-border);position:relative;z-index:1}
.sf-prj-step.done .sf-prj-step-dot,.sf-prj-step.active .sf-prj-step-dot{background:var(--sf-accent)}
.sf-prj-step.active{color:var(--sf-text);font-weight:600}
.sf-prj-step.done::before,.sf-prj-step.active::before{background:var(--sf-accent)}
.sf-prj-section{margin-top:28px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:#fff;overflow:hidden}
.sf-prj-section-title{margin:0;padding:14px 18px;border-bottom:1px solid var(--sf-border);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}
.sf-prj-lines{list-style:none;margin:0;padding:0}
.sf-prj-line{display:flex;gap:14px;align-items:flex-start;padding:14px 18px;border-bottom:1px solid var(--sf-border)}
.sf-prj-line:last-child{border-bottom:0}
.sf-prj-line-img{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid var(--sf-border)}
.sf-prj-line-img-empty{background:var(--sf-surface,#f4f0ea)}
.sf-prj-line-body{flex:1;min-width:0}
.sf-prj-line-title{font-weight:600}
.sf-prj-line-notes{margin-top:2px;font-size:13px;color:var(--sf-muted)}
.sf-prj-line-meta{text-align:right;font-size:14px;white-space:nowrap}
.sf-prj-line-price{margin-top:2px;font-weight:600}
.sf-prj-line-price.request{color:var(--sf-muted);font-weight:400}
.sf-prj-total{display:flex;justify-content:space-between;padding:14px 18px;border-top:1px solid var(--sf-border);font-weight:700}
.sf-prj-collections{list-style:none;margin:0;padding:8px}
.sf-prj-collection{display:flex;justify-content:space-between;align-items:center;padding:12px 12px;border-radius:10px;text-decoration:none;color:var(--sf-text);font-weight:500}
.sf-prj-collection:hover{background:var(--sf-surface,#faf7f2)}
.sf-prj-foot{margin-top:26px;font-size:13px;color:var(--sf-muted);text-align:center}
.sf-prj-order{border:1px solid var(--sf-border);border-radius:14px;padding:16px;margin-bottom:14px;background:var(--sf-surface)}
.sf-prj-order-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sf-prj-order-number{font-weight:700;font-size:15px}
.sf-prj-order-kind{margin-left:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sf-muted);border:1px solid var(--sf-border);border-radius:999px;padding:2px 8px}
.sf-prj-order-status{font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px;background:color-mix(in srgb,var(--sf-accent) 12%,transparent);color:var(--sf-accent)}
.sf-prj-order-status.s-awaiting_deposit{background:#fef3c7;color:#92400e}
.sf-prj-order-status.s-delivered,.sf-prj-order-status.s-closed{background:#dcfce7;color:#166534}
.sf-prj-order-status.s-cancelled{background:#fee2e2;color:#991b1b}
.sf-prj-order-lines{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.sf-prj-order-line{display:flex;align-items:center;gap:10px;font-size:14px}
.sf-prj-order-line-img{width:36px;height:36px;border-radius:8px;object-fit:cover;flex:none}
.sf-prj-order-line-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-prj-order-line-qty{color:var(--sf-muted);flex:none}
.sf-prj-order-line-total{font-weight:600;flex:none}
.sf-prj-order-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--sf-border)}
.sf-prj-order-deposit{font-size:13px;color:var(--sf-muted)}
.sf-prj-order-total{font-weight:700;font-size:16px}
.sf-prj-balance{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.sf-prj-balance-cell{flex:1;min-width:120px;border:1px solid var(--sf-border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;background:var(--sf-surface)}
.sf-prj-balance-cell span{font-size:12px;color:var(--sf-muted)}
.sf-prj-balance-cell strong{font-size:17px}
.sf-prj-balance-cell.due{border-color:#f59e0b;background:#fffbeb}
.sf-prj-balance-cell.due strong{color:#92400e}
.sf-prj-balance.settled .sf-prj-balance-cell.due{border-color:#22c55e;background:#f0fdf4}
.sf-prj-balance.settled .sf-prj-balance-cell.due strong{color:#166534}
.sf-prj-invoice{border:1px solid var(--sf-border);border-radius:12px;padding:14px;margin-bottom:10px;background:var(--sf-surface)}
.sf-prj-invoice-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sf-prj-invoice-number{font-weight:600;font-size:14px}
.sf-prj-invoice-kind{margin-left:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sf-muted)}
.sf-prj-invoice-due{margin-left:8px;font-size:12px;color:var(--sf-muted)}
.sf-prj-invoice-right{display:flex;align-items:center;gap:10px}
.sf-prj-invoice-status{font-size:12px;font-weight:600;border-radius:999px;padding:3px 9px;background:#fef3c7;color:#92400e}
.sf-prj-invoice-status.s-paid{background:#dcfce7;color:#166534}
.sf-prj-invoice-status.s-partially_paid{background:#e0f2fe;color:#075985}
.sf-prj-invoice-status.s-void{background:#f3f4f6;color:#6b7280}
.sf-prj-invoice-total{font-weight:700}
.sf-prj-invoice-paid{margin-top:6px;font-size:13px;color:var(--sf-muted)}
.sf-prj-invoice-pay{margin-top:10px;border-top:1px dashed var(--sf-border);padding-top:10px}
.sf-prj-invoice-pay-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sf-muted);margin-bottom:4px}
.sf-prj-invoice-pay-body{font-size:13px;white-space:pre-wrap;color:var(--sf-text)}
.sf-prj-invoice-pdf{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:var(--sf-accent);text-decoration:none}
.sf-prj-invoice-pdf:hover{text-decoration:underline}
.sf-prj-updates{display:flex;flex-direction:column;gap:16px}
.sf-prj-update{border:1px solid var(--sf-border);border-radius:14px;padding:16px;background:var(--sf-surface)}
.sf-prj-update-date{font-size:12px;color:var(--sf-muted);margin-bottom:4px}
.sf-prj-update-title{font-size:15px;font-weight:700;margin:0 0 6px}
.sf-prj-update-body{font-size:14px;white-space:pre-wrap;margin:0;color:var(--sf-text)}
.sf-prj-update-photos{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.sf-prj-update-photo{width:120px;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--sf-border)}
.sf-prj-shipment{border:1px solid var(--sf-border);border-radius:12px;padding:14px;margin-bottom:10px;background:var(--sf-surface)}
.sf-prj-shipment-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sf-prj-shipment-number{font-weight:600;font-size:14px}
.sf-prj-shipment-items{margin-left:8px;font-size:12px;color:var(--sf-muted)}
.sf-prj-shipment-status{font-size:12px;font-weight:600;border-radius:999px;padding:3px 9px;background:color-mix(in srgb,var(--sf-accent) 12%,transparent);color:var(--sf-accent)}
.sf-prj-shipment-status.s-delivered{background:#dcfce7;color:#166534}
.sf-prj-shipment-status.s-exception{background:#fee2e2;color:#991b1b}
.sf-prj-shipment-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--sf-muted)}
.sf-prj-shipment-track{color:var(--sf-accent);font-weight:600;text-decoration:none}
.sf-prj-shipment-track:hover{text-decoration:underline}
.sf-prj-shipment-ack{display:flex;align-items:center;gap:10px;margin-top:12px}
.sf-prj-shipment-acked{margin-top:10px;font-size:13px;font-weight:600;color:#166534}
.sf-prj-refresh{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--sf-primary);color:var(--sf-on-primary);border:0;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:50}
.sf-prj-refresh[hidden]{display:none}
.sf-prj-quote{padding:16px 18px}
.sf-prj-quote-rows{display:flex;flex-direction:column;gap:6px}
.sf-prj-quote-row{display:flex;justify-content:space-between;font-size:14px;color:var(--sf-text)}
.sf-prj-quote-row.grand{border-top:1px solid var(--sf-border);margin-top:6px;padding-top:10px;font-weight:700;font-size:16px}
.sf-prj-quote-note{margin-top:12px;background:var(--sf-surface,#faf7f2);border:1px solid var(--sf-border);border-radius:10px;padding:10px 14px;font-size:13px}
.sf-prj-quote-terms{margin-top:10px;font-size:13px;color:var(--sf-muted);white-space:pre-wrap}
.sf-prj-quote-actions{margin-top:16px}
.sf-prj-quote-buttons{display:flex;gap:10px;margin-top:10px}
.sf-prj-quote-responded{margin-top:14px;font-size:14px;color:var(--sf-muted)}
.sf-prj-input{width:100%;border:1px solid var(--sf-border);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;background:#fff;resize:vertical}
.sf-prj-thread{display:flex;flex-direction:column;gap:10px;padding:16px 18px;max-height:420px;overflow-y:auto}
.sf-prj-msg{max-width:85%}
.sf-prj-msg.mine{align-self:flex-end;text-align:right}
.sf-prj-msg.system{align-self:center;text-align:center}
.sf-prj-msg-chip{display:inline-block;background:var(--sf-surface,#f4f0ea);border:1px solid var(--sf-border);border-radius:999px;padding:4px 12px;font-size:12px;color:var(--sf-muted)}
.sf-prj-msg-meta{font-size:11px;color:var(--sf-muted);margin-bottom:2px}
.sf-prj-msg-body{display:inline-block;background:var(--sf-surface,#faf7f2);border:1px solid var(--sf-border);border-radius:14px;padding:9px 14px;font-size:14px;text-align:left;white-space:pre-wrap}
.sf-prj-msg.mine .sf-prj-msg-body{background:var(--sf-accent);color:#fff;border-color:var(--sf-accent)}
.sf-prj-composer{border-top:1px solid var(--sf-border);padding:14px 18px}
.sf-prj-composer-id{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.sf-prj-composer-id[hidden]{display:none}
.sf-prj-composer-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.sf-prj-status{font-size:13px;color:var(--sf-muted)}
.sf-prj-status.err{color:#b3261e}
.sf-prj-status.ok{color:#1a7f37}
@media (max-width:560px){.sf-prj-composer-id{grid-template-columns:1fr}}
.sf-col-card-variant{margin-top:8px;padding:7px 10px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-sm);font:inherit;font-size:13px;background:var(--sf-surface);width:100%}
.sf-card-sizes{font-size:12px;opacity:.7;margin-top:2px}
.sf-pdp-size-row{display:flex;align-items:center;gap:10px;margin:12px 0 4px}
.sf-pdp-size-label{font-size:13px;font-weight:600;color:var(--sf-muted)}
.sf-size-select{padding:9px 12px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-sm);font:inherit;font-size:14px;background:var(--sf-surface);min-width:160px}
.sf-cart-line-size{margin-top:6px;padding:5px 8px;font-size:12.5px;min-width:0;max-width:150px}
.sf-col-card-actions{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.sf-col-qty{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--sf-border);border-radius:999px;padding:2px}
.sf-col-qty-btn{width:28px;height:28px;border:0;background:transparent;font-size:16px;cursor:pointer;border-radius:999px;color:inherit}
.sf-col-qty-btn:hover{background:var(--sf-surface-2,#f0efec)}
.sf-col-qty-input{width:52px;border:0;background:transparent;text-align:center;font:inherit;font-size:13.5px;-moz-appearance:textfield}
.sf-col-qty-input::-webkit-outer-spin-button,.sf-col-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sf-col-qty-unit{font-size:12px;opacity:.65;padding-right:8px}
.sf-col-add{white-space:nowrap}
.sf-col-band{margin:36px 0;border-radius:var(--sf-radius,12px);overflow:hidden}
.sf-col-band img{width:100%;max-height:420px;object-fit:cover;display:block}
.sf-col-foot{display:flex;justify-content:center;margin-top:40px}
.sf-col-foot-cta{padding:14px 34px;font-size:15.5px}
.sf-col-empty{padding:80px 0;text-align:center}
.sf-col-empty a{color:var(--sf-accent)}
@media (max-width:720px){.sf-col-hero{min-height:300px}.sf-col-card-actions{flex-direction:column;align-items:stretch}.sf-col-add{width:100%}}

.sf-agent-picker-tabs{display:flex;gap:6px;margin:0 0 8px;flex-wrap:wrap}
.sf-agent-picker-tab{padding:5px 12px;border:1px solid var(--sf-border);border-radius:999px;background:var(--sf-surface);font:inherit;font-size:12px;cursor:pointer;color:inherit;opacity:.75}
.sf-agent-picker-tab.act{background:var(--sf-accent);color:var(--sf-on-accent,#fff);border-color:var(--sf-accent);opacity:1}
.sf-agent-picker-search{width:100%;margin:0 0 8px;padding:7px 10px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-sm);font:inherit;font-size:12.5px;background:var(--sf-surface)}
.sf-agent-picker-search:focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-ring)}
.sf-agent-picker-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;border-top:1px solid var(--sf-border);background:var(--sf-surface)}
.sf-agent-picker-hint{font-size:11.5px;color:var(--sf-muted)}
.sf-agent-picker-apply{border:0;border-radius:var(--sf-radius-pill);background:var(--sf-accent);color:#fff;font-weight:600;font-size:12.5px;padding:8px 16px;cursor:pointer;transition:opacity var(--sf-dur-1)}
.sf-agent-picker-apply:disabled{opacity:.45;cursor:default}
.sf-agent-picker-apply:not(:disabled):hover{opacity:.88}
/* Widget: variant summary (PRD-3) */
.sf-agent-variant{border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:#fff;overflow:hidden}
.sf-agent-variant-top{display:flex;gap:12px;align-items:center;padding:12px 15px;background:var(--sf-surface)}
.sf-agent-variant-img{width:52px;height:52px;border-radius:var(--sf-radius-xs);overflow:hidden;background:#fff;flex-shrink:0}
.sf-agent-variant-img img{width:100%;height:100%;object-fit:cover}
.sf-agent-variant-title{min-width:0}
.sf-agent-variant-title b{display:block;font-size:14px;line-height:1.3}
.sf-agent-variant-saved{font-size:11.5px;color:var(--sf-accent);font-weight:600}
.sf-agent-variant-sku{display:block;font-size:11px;color:var(--sf-muted);font-variant-numeric:tabular-nums;letter-spacing:.03em;margin-top:1px}
.sf-agent-variant-preview{width:100%;aspect-ratio:4/3;background:var(--sf-surface);overflow:hidden}
.sf-agent-variant-preview img{width:100%;height:100%;object-fit:cover;display:block}
.sf-agent-variant-preview.loading{position:relative;display:flex;align-items:center;justify-content:center;color:var(--sf-muted);font-size:12px}
.sf-agent-variant-preview.loading::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);animation:sfPrevShimmer 1.6s infinite}
.sf-agent-variant-rows{padding:5px 15px}
.sf-agent-variant-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--sf-border);font-size:13px}
.sf-agent-variant-row:last-child{border-bottom:0}
.sf-agent-variant-row span:first-child{color:var(--sf-muted)}
.sf-agent-variant-row span:last-child{font-variant-numeric:tabular-nums;text-align:right}
.sf-agent-variant-row i{font-size:11px;color:var(--sf-muted);font-style:normal}
.sf-agent-variant-row.total{font-weight:600;font-size:13.5px}
.sf-agent-variant-row.total span:first-child{color:var(--sf-text)}
.sf-agent-variant-cta{padding:10px 15px 14px}
.sf-agent-variant-cta button{width:100%;border:0;background:var(--sf-primary);color:var(--sf-on-primary);border-radius:var(--sf-radius-pill);padding:10px 14px;font-size:13.5px;font-weight:600;transition:background var(--sf-dur-1)}
.sf-agent-variant-cta button:hover{background:var(--sf-primary-strong)}
.sf-agent-variant-cta button[disabled]{opacity:.5;cursor:not-allowed}
.sf-agent-variant-cta button.added{background:var(--sf-accent)}
/* Widget: variant preview (PRD-4) */
.sf-agent-preview{border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:#fff;overflow:hidden}
.sf-agent-preview-img{width:100%;aspect-ratio:1/1;background:var(--sf-surface);position:relative;overflow:hidden}
.sf-agent-preview-img img{width:100%;height:100%;object-fit:cover;display:block}
.sf-agent-preview-img.loading::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);animation:sfPrevShimmer 1.6s infinite}
@keyframes sfPrevShimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.sf-agent-preview-cap{padding:9px 14px;font-size:12.5px;color:var(--sf-muted)}
.sf-agent-preview-cap.done{color:var(--sf-text);font-weight:500}
.sf-agent-preview.failed .sf-agent-preview-cap{padding:12px 14px}
/* Link-out chips */
.sf-agent-links{display:flex;flex-wrap:wrap;gap:7px}
.sf-agent-links a{border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);padding:6px 13px;font-size:12.5px;font-weight:500;color:var(--sf-text)}
.sf-agent-links a:hover{border-color:var(--sf-text);color:var(--sf-text)}
/* Hint bar + composer + footer */
.sf-agent-hint{padding:8px 20px;font-size:12.5px;color:var(--sf-muted);background:var(--sf-surface);border-top:1px solid var(--sf-border)}
.sf-agent-hint[hidden]{display:none}
.sf-agent-form{display:flex;gap:9px;padding:13px 16px;border-top:1px solid var(--sf-border);background:#fff}
.sf-agent-form input{flex:1;padding:11px 14px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);font-size:14px}
.sf-agent-form input:focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-ring)}
.sf-agent-form button{width:44px;height:44px;border:0;border-radius:var(--sf-radius-pill);background:var(--sf-primary);color:var(--sf-on-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.sf-agent-form button:hover{background:var(--sf-primary-strong)}
.sf-agent-form button[disabled]{opacity:.55}
.sf-agent-form svg{width:17px;height:17px}
.sf-agent-form button[data-p9-chat-attach]{background:transparent;color:var(--sf-muted);border:1px solid var(--sf-border)}
.sf-agent-form button[data-p9-chat-attach]:hover{background:var(--sf-surface-2,#f5f5f4);color:var(--sf-text)}
.sf-agent-atts{display:flex;gap:8px;flex-wrap:wrap;padding:8px 16px 0;background:#fff}
.sf-agent-att-chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 8px;border:1px solid var(--sf-border);border-radius:8px;font-size:12px;color:var(--sf-text);background:var(--sf-surface-2,#f5f5f4)}
.sf-agent-att-chip img{width:26px;height:26px;object-fit:cover;border-radius:5px}
.sf-agent-att-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-agent-att-chip button{border:0;background:transparent;color:var(--sf-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}
.sf-agent-att-chip button:hover{color:var(--sf-text)}
.sf-agent-msg .sf-agent-att-img{display:block;max-width:160px;max-height:160px;border-radius:10px;margin:4px 0;object-fit:cover}
.sf-agent-att-doc{display:inline-block;font-size:12px;padding:3px 8px;border:1px solid var(--sf-border);border-radius:8px;margin:4px 0;background:#fff;color:var(--sf-text)}
.sf-agent-concept{border:1px solid var(--sf-accent);border-left:4px solid var(--sf-accent);border-radius:var(--sf-radius);background:#fff;overflow:hidden;margin:6px 0}
.sf-agent-concept-head{display:flex;align-items:center;gap:8px;padding:10px 12px 6px;font-size:14px}
.sf-agent-collection{border:1px solid var(--sf-accent);border-left:4px solid var(--sf-accent);border-radius:var(--sf-radius);background:#fff;overflow:hidden;margin:6px 0}
.sf-agent-collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px}
.sf-agent-collection-piece{display:flex;flex-direction:column;gap:4px}
.sf-agent-collection-piece .sf-agent-concept-img{min-height:110px;font-size:11px}
.sf-agent-collection-piece-title{font-size:12px;font-weight:600;line-height:1.3}
.sf-agent-collection-add{align-self:flex-start;font-size:11px;font-weight:600;border:1px solid var(--sf-accent);color:var(--sf-accent);background:#fff;border-radius:8px;padding:3px 10px;cursor:pointer}
.sf-agent-collection-add.added{border-color:var(--sf-border);color:var(--sf-muted);cursor:default}
.sf-agent-concept-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--sf-accent);border-radius:6px;padding:2px 7px;flex-shrink:0}
.sf-agent-concept-img{width:100%;aspect-ratio:4/3;background:var(--sf-surface);position:relative;overflow:hidden}
.sf-agent-concept-img img{width:100%;height:100%;object-fit:cover;display:block}
.sf-agent-concept-img.loading{display:flex;align-items:center;justify-content:center;color:var(--sf-muted);font-size:12px}
.sf-agent-concept-img.loading::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);animation:sfPrevShimmer 1.6s infinite}
.sf-agent-concept-img.failed{display:flex;align-items:center;justify-content:center;color:var(--sf-muted);font-size:12px;padding:12px;text-align:center;aspect-ratio:auto;min-height:70px}
.sf-agent-concept-brief{padding:8px 12px;font-size:13px;color:var(--sf-text);line-height:1.5}
.sf-agent-concept-cta{padding:0 12px 6px}
.sf-agent-concept-cta button{width:100%;padding:10px 12px;border:0;border-radius:var(--sf-radius-pill);background:var(--sf-primary);color:var(--sf-on-primary);font-size:13px;font-weight:600;cursor:pointer}
.sf-agent-concept-cta button:hover{background:var(--sf-primary-strong)}
.sf-agent-concept-cta button.added{background:var(--sf-surface);color:var(--sf-muted);cursor:default;border:1px solid var(--sf-border)}
.sf-agent-concept-note{padding:0 12px 10px;font-size:11px;color:var(--sf-muted)}
.sf-cart-line-custom{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sf-accent);border:1px solid var(--sf-accent);border-radius:6px;padding:1px 6px;margin-bottom:2px}
.sf-agent-foot{text-align:center;font-size:11px;color:var(--sf-muted);padding:7px 0 9px;background:#fff}
.sf-agent-foot a{color:var(--sf-muted);text-decoration:underline}
.sf-agent-btn{position:relative;display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:var(--sf-radius-pill);border:0;background:var(--sf-primary);color:var(--sf-on-primary);font-size:13.5px;font-weight:600;cursor:pointer;transition:background var(--sf-dur-1)}
.sf-agent-btn:hover{background:var(--sf-primary-strong)}
.sf-agent-btn svg{width:16px;height:16px}
.sf-agent-btn .sf-agent-dot{position:absolute;top:4px;right:6px}
/* ── Dock mode (≥640px): the panel becomes an in-flow column —
   body reserves its width; page content reflows beside it. Includes
   zoomed/half-snapped desktop windows; true phones stay overlay. ── */
@media (min-width:640px){
  html[data-p9-dock] body{padding-right:var(--p9-dock-w);transition:padding-right var(--sf-dur-2) var(--sf-ease)}
  html[data-p9-dock="chat"] .sf-agent,html[data-p9-dock="cart"] .sf-drawer{transform:none;width:var(--p9-dock-w);max-width:none;box-shadow:none;border-left:1px solid var(--sf-border)}
  html[data-p9-dock] .sf-agent-backdrop.open,html[data-p9-dock] .sf-drawer-backdrop.open{display:none}
  .sf-dock-resizer{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:2;background:transparent}
  .sf-dock-resizer:hover,.sf-dock-resizer.active{background:var(--sf-accent);opacity:.5}
  .sf-dock-resizer:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px}
}
@media (max-width:639px){.sf-dock-resizer{display:none}}
/* Docked on a narrow window: the content column is ~320-460px wide, so the
   viewport-keyed 3/4-col grids would cram — drop to 2-up while docked. */
@media (min-width:640px) and (max-width:1000px){
  html[data-p9-dock] .sf-grid{grid-template-columns:repeat(2,1fr);gap:18px 14px}
  html[data-p9-dock] .sf-cat-tiles{grid-template-columns:repeat(2,1fr)}
  html[data-p9-dock] .sf-hero-inner{grid-template-columns:1fr;padding:40px 20px}
}
html.p9-dock-noanim body,html.p9-dock-noanim .sf-agent,html.p9-dock-noanim .sf-drawer{transition:none!important}
.sf-agent-dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--sf-accent);border:2px solid #fff}
.sf-agent-dot[hidden]{display:none}

/* Print — spec tear sheet */
@media print{
  .sf-header,.sf-footer,.sf-agent-btn,.sf-agent,.sf-agent-backdrop,.sf-drawer,.sf-drawer-backdrop,.sf-mobile-cta,.sf-cta-block,.sf-inquiry-card,.sf-related,.sf-gallery-thumbs,.sf-lightbox{display:none!important}
  .sf-pdp{grid-template-columns:1fr 1fr;gap:24px;padding:0}
  body{font-size:12px}
}

/* Responsive */
@media (max-width:1000px){
  .sf-grid{grid-template-columns:repeat(3,1fr)}
  .sf-cat-tiles{grid-template-columns:repeat(3,1fr)}
  .sf-pdp{grid-template-columns:1fr;gap:32px}
  .sf-pdp-info{position:static}
  .sf-browse{grid-template-columns:1fr;gap:20px}
  .sf-facets{position:static;border:1px solid var(--sf-border);border-radius:var(--sf-radius);padding:14px 16px}
  /* Collapsed groups keep the rail short so products stay above the fold. */
  .sf-facet-group{margin-bottom:0;padding-bottom:10px}
  .sf-facet-group+.sf-facet-group{padding-top:10px}
  .sf-facet-group:last-of-type{border-bottom:0;padding-bottom:0}
  .sf-facet-group label{padding:7px 0;font-size:15px}
  .sf-facet-group input[type=checkbox]{width:18px;height:18px}
  .sf-hero-inner{grid-template-columns:1fr;padding:48px 20px}
  .sf-inquiry-card{grid-template-columns:1fr;gap:22px;padding:24px}
}
@media (min-width:1001px){
  .sf-pdp-info{position:sticky;top:92px}
  /* Desktop shows every facet group expanded — override the UA rule that
     hides a closed <details>'s children. */
  .sf-facet-group>.sf-facet-body{display:block!important}
  .sf-facet-group>summary{cursor:default;margin-bottom:10px}
  .sf-facet-group>summary::after{content:''}
}
@media (max-width:640px){
  .sf-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}
  .sf-cat-tiles{grid-template-columns:repeat(2,1fr)}
  .sf-nav{display:none}
  .sf-search{display:none}
  .sf-search-toggle{display:inline-flex}
  .sf-cart-btn-label{display:none}
  .sf-header.search-open .sf-search-row .sf-search{display:flex;width:100%}
  .sf-header.search-open .sf-search-row .sf-search-results{left:0;right:0;width:auto;top:46px}
  .sf-footer-inner{grid-template-columns:1fr;gap:28px;padding:44px 20px}
  .sf-drawer{width:100vw;max-width:100vw}
  .sf-agent{width:100vw;max-width:100vw}
  .sf-agent-form input{font-size:16px}
  .sf-agent-btn{padding:9px 11px}
  .sf-agent-btn .sf-agent-btn-label{display:none}
  .sf-mobile-cta{display:flex}
  body[data-p9-page=product]{padding-bottom:74px}
  .sf-section{padding:40px 0}
  .sf-hero-inner{padding:36px 20px}
  .sf-hero h1{font-size:clamp(30px,8vw,38px)}
}

/* ---- add to collection: card quick action, picker sheet, toast ---- */
.sf-card-addcol{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:var(--sf-radius-pill);border:1px solid var(--sf-border);background:rgba(255,255,255,.92);color:var(--sf-text);font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--sf-dur-1),border-color var(--sf-dur-1);cursor:pointer;z-index:2}
.sf-card:hover .sf-card-addcol{opacity:1}
.sf-card-addcol:hover{border-color:var(--sf-text)}
@media (hover:none){.sf-card-addcol{opacity:1}}
.sf-colpick{position:fixed;inset:0;z-index:1200;display:none}
.sf-colpick.open{display:block}
.sf-colpick-backdrop{position:absolute;inset:0;background:rgba(15,15,15,.45)}
.sf-colpick-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(440px,100vw);max-height:72vh;background:#fff;border-radius:16px 16px 0 0;box-shadow:var(--sf-shadow-md);display:flex;flex-direction:column;animation:sfColpickUp var(--sf-dur-2) var(--sf-ease)}
@media (min-width:640px){.sf-colpick-sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:14px}}
@keyframes sfColpickUp{from{transform:translate(-50%,24px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
@media (min-width:640px){@keyframes sfColpickUp{from{transform:translate(-50%,calc(-50% + 16px));opacity:0}to{transform:translate(-50%,-50%);opacity:1}}}
.sf-colpick-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--sf-border);font-size:15px}
.sf-colpick-x{border:0;background:none;font-size:22px;line-height:1;color:var(--sf-muted);cursor:pointer;padding:2px 6px}
.sf-colpick-body{overflow-y:auto;padding:10px 12px 16px}
.sf-colpick-loading{padding:18px 8px;font-size:14px;color:var(--sf-muted)}
.sf-colpick-item{font-size:12px;color:var(--sf-muted);padding:2px 8px 8px;border-bottom:1px dashed var(--sf-border);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-colpick-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:none;padding:10px 8px;border-radius:10px;cursor:pointer;font-size:14px}
.sf-colpick-row:hover{background:var(--sf-surface)}
.sf-colpick-row:disabled{opacity:.5;cursor:default}
.sf-colpick-row img,.sf-colpick-ph{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--sf-surface);flex:none;display:block}
.sf-colpick-meta{display:flex;flex-direction:column;gap:1px;min-width:0}
.sf-colpick-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-colpick-count{font-size:12px;color:var(--sf-muted)}
.sf-colpick-plus{width:44px;height:44px;border-radius:8px;background:var(--sf-surface);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.sf-colpick-form{display:flex;flex-direction:column;gap:8px;padding:10px 8px 0}
.sf-colpick-form input{border:1px solid var(--sf-border);border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit}
.sf-colpick-form .sf-btn{margin-top:2px}
.sf-coltoast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,12px);z-index:1300;background:var(--sf-text);color:#fff;border-radius:var(--sf-radius-pill);padding:11px 18px;font-size:14px;display:flex;align-items:center;gap:14px;opacity:0;pointer-events:none;transition:opacity var(--sf-dur-2),transform var(--sf-dur-2);box-shadow:var(--sf-shadow-md);max-width:min(92vw,480px)}
.sf-coltoast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.sf-coltoast a,.sf-coltoast button{color:#fff;text-decoration:underline;background:none;border:0;font-size:14px;cursor:pointer;padding:0;font-family:inherit;white-space:nowrap}

/* ---- collection page: view toggle, list view, detail overlay, slideshow ---- */
.sf-col-viewtoggle{display:flex;border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);overflow:hidden;flex:none}
.sf-col-viewtoggle button{border:0;background:none;padding:8px 12px;cursor:pointer;color:var(--sf-muted);display:flex;align-items:center}
.sf-col-viewtoggle button.act{background:var(--sf-text);color:#fff}
.sf-col-viewtoggle svg{width:16px;height:16px}
.sf-col-openable{cursor:pointer}
.sf-col-card-desc{display:none;font-size:13px;color:var(--sf-muted);line-height:1.5;margin:4px 0}
/* List view: the SAME cards re-flow into rows (CSS only — filters/qty state untouched). */
.sf-col-grid.sf-col-listview{display:flex;flex-direction:column;gap:14px}
.sf-col-grid.sf-col-listview .sf-col-card{flex-direction:row;display:flex;gap:18px;align-items:flex-start;padding:14px;border:1px solid var(--sf-border);border-radius:var(--sf-radius-xs)}
.sf-col-grid.sf-col-listview .sf-card-img{width:132px;min-width:132px;aspect-ratio:1/1}
.sf-col-grid.sf-col-listview .sf-card-body{flex:1;min-width:0}
.sf-col-grid.sf-col-listview .sf-col-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sf-col-grid.sf-col-listview .sf-col-card-actions{flex-wrap:wrap}
@media (max-width:640px){.sf-col-grid.sf-col-listview .sf-card-img{width:88px;min-width:88px}}
/* Detail overlay */
.sf-coldetail{position:fixed;inset:0;z-index:1150;display:none}
.sf-coldetail.open{display:block}
.sf-coldetail-backdrop{position:absolute;inset:0;background:rgba(15,15,15,.5)}
.sf-coldetail-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(880px,94vw);max-height:88vh;background:#fff;border-radius:14px;box-shadow:var(--sf-shadow-md);overflow-y:auto}
.sf-coldetail-x{position:sticky;top:10px;margin-left:calc(100% - 44px);z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid var(--sf-border);background:#fff;font-size:19px;line-height:1;cursor:pointer}
.sf-coldetail-body{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:6px 26px 28px}
@media (max-width:720px){.sf-coldetail-body{grid-template-columns:1fr;padding:6px 16px 20px}}
.sf-coldetail-main{aspect-ratio:1/1;background:var(--sf-surface);border-radius:10px;overflow:hidden}
.sf-coldetail-main img{width:100%;height:100%;object-fit:contain}
.sf-coldetail-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.sf-coldetail-thumbs img{width:56px;height:56px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid transparent;background:var(--sf-surface)}
.sf-coldetail-thumbs img.act{border-color:var(--sf-text)}
.sf-coldetail-info h3{font-family:var(--sf-font-display);font-size:24px;margin:6px 0 4px}
.sf-coldetail-price{font-size:18px;font-weight:600;margin:8px 0}
.sf-coldetail-price.request{font-weight:400;color:var(--sf-muted);font-size:14px}
.sf-coldetail-desc{font-size:14px;line-height:1.6;color:var(--sf-muted)}
.sf-coldetail-specs{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:13px;margin:12px 0;padding-top:12px;border-top:1px solid var(--sf-border)}
.sf-coldetail-specs dt{color:var(--sf-muted)}
.sf-coldetail-specs dd{margin:0}
.sf-coldetail-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
/* Presentation mode */
.sf-colshow{position:fixed;inset:0;z-index:1400;background:#0d0d0f;color:#fff;display:none}
.sf-colshow.open{display:block}
html.p9-colshow-open{overflow:hidden}
.sf-colshow-stage{position:absolute;inset:0}
.sf-colshow-slide{position:absolute;inset:0;display:flex;animation:sfShowFade .45s var(--sf-ease)}
@keyframes sfShowFade{from{opacity:0}to{opacity:1}}
.sf-colshow-cover{align-items:flex-end}
.sf-colshow-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.sf-colshow-cover-body{position:relative;padding:8vh 8vw;max-width:900px}
.sf-colshow-kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:14px}
.sf-colshow-cover-body h2{font-family:var(--sf-font-display);font-size:clamp(34px,6vw,64px);line-height:1.05;margin:0}
.sf-colshow-item{flex-direction:row}
.sf-colshow-media{flex:1.4;display:flex;align-items:center;justify-content:center;padding:5vh 3vw;min-width:0}
.sf-colshow-media img{max-width:100%;max-height:86vh;object-fit:contain;border-radius:8px}
.sf-colshow-info{flex:1;display:flex;flex-direction:column;justify-content:center;padding:5vh 5vw 5vh 0;max-width:520px}
.sf-colshow-info h2{font-family:var(--sf-font-display);font-size:clamp(24px,3.4vw,40px);line-height:1.12;margin:8px 0}
.sf-colshow-info p{font-size:15px;line-height:1.65;opacity:.8}
.sf-colshow-info .sf-card-cat{color:#fff;opacity:.6}
.sf-colshow-price{font-size:20px;font-weight:600;margin:6px 0 10px}
.sf-colshow-contact{align-items:center;justify-content:center;text-align:center}
.sf-colshow-contact-body h2{font-family:var(--sf-font-display);font-size:clamp(30px,4.5vw,52px);margin:0 0 12px}
.sf-colshow-contact-body p{opacity:.75;margin-bottom:24px}
.sf-colshow-x{position:absolute;top:18px;right:20px;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.35);color:#fff;font-size:21px;cursor:pointer}
.sf-colshow-nav{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:14px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);border-radius:var(--sf-radius-pill);padding:8px 16px;backdrop-filter:blur(8px)}
.sf-colshow-nav button{border:0;background:none;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:2px 6px}
.sf-colshow-nav .sf-colshow-autobtn{font-size:13px;border-left:1px solid rgba(255,255,255,.2);padding-left:14px}
.sf-colshow-nav .sf-colshow-autobtn.act{color:var(--sf-accent, #9fd49f)}
.sf-colshow-counter{font-size:13px;opacity:.8;font-variant-numeric:tabular-nums}
@media (max-width:760px){.sf-colshow-item{flex-direction:column}.sf-colshow-media{flex:1;padding:8vh 5vw 0}.sf-colshow-info{max-width:none;padding:3vh 6vw 12vh}}
