    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    body { font-family:var(--font-sans, 'Barlow', sans-serif); background:var(--color-bg,var(--color-canvas,#FAF8FB)); color:var(--color-ink,var(--color-ink,#1A1128)); overflow-x:hidden; }
    /* Drsniki: tanki, zaobljeni in izpeljani iz dejanske barve teme (ne fiksno vijolični). */
    * { scrollbar-width:thin; scrollbar-color:color-mix(in oklab,var(--color-primary,#6B1F7B) 42%,transparent) transparent; }
    ::-webkit-scrollbar { width:8px; height:8px; }
    ::-webkit-scrollbar-track { background:transparent; }
    ::-webkit-scrollbar-thumb {
      background:color-mix(in oklab,var(--color-primary,#6B1F7B) 42%,transparent);
      border-radius:8px; border:2px solid transparent; background-clip:padding-box;
    }
    ::-webkit-scrollbar-thumb:hover { background:color-mix(in oklab,var(--color-primary,#6B1F7B) 65%,transparent); background-clip:padding-box; }
    input[type=checkbox] { accent-color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    input[type=range] { accent-color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    select { -webkit-appearance:none; appearance:none; }

    /* ── Category hero ─────────────────────────────────── */
    .sh-hero {
      position:relative;
      height:220px;
      overflow:hidden;
      display:flex;
      align-items:flex-end;
    }
    .sh-hero-bg {
      position:absolute; inset:0;
      width:100%; height:100%;
      object-fit:cover; object-position:center 35%;
    }
    .sh-hero-grad {
      position:absolute; inset:0;
      background:linear-gradient(to top,rgba(14,5,23,.88) 0%,rgba(14,5,23,.3) 60%,transparent 100%);
    }
    .sh-hero-fallback {
      position:absolute; inset:0;
      background:linear-gradient(135deg,var(--color-brand-900,#2E083A) 0%,var(--color-brand-800,#4A0D5C) 60%,var(--color-ink,#1A1128) 100%);
    }
    .sh-hero-inner {
      position:relative;
      padding:0 clamp(16px,3vw,40px) 32px;
      max-width:1440px; margin:0 auto; width:100%;
    }
    .sh-breadcrumb {
      display:flex; align-items:center; gap:8px;
      margin-bottom:10px;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px;
    }
    .sh-breadcrumb a { color:rgba(255,255,255,.6); text-decoration:none; }
    .sh-breadcrumb a:hover { color:#fff; }
    .sh-breadcrumb-sep { color:rgba(255,255,255,.3); }
    .sh-breadcrumb-cur { color:#fff; }
    .sh-hero h1 {
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif);
      font-weight:800; font-size:clamp(32px,5vw,52px);
      text-transform:uppercase; letter-spacing:.04em;
      color:#fff; line-height:1; margin:0;
    }
    .sh-hero-count {
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:13px;
      color:rgba(255,255,255,.65); margin-top:6px;
    }

    /* ── Outer layout ───────────────────────────────────── */
    .sh-body {
      max-width:1440px; margin:0 auto;
      padding:32px clamp(16px,3vw,40px) 80px;
    }
    .sh-active-bar {
      display:flex; align-items:center; gap:8px;
      margin-bottom:20px; flex-wrap:wrap;
      justify-content:space-between;
    }
    .sh-active-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; flex:1; }
    .sh-no-filters { font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px; color:color-mix(in oklab,var(--color-muted,#857597) 70%,transparent); }
    .sh-chip {
      display:flex; align-items:center; gap:6px;
      background:var(--color-primary-subtle,#F3EEF8); color:var(--color-primary-600,var(--color-primary,#6B1F7B)); text-decoration:none;
      padding:6px 10px; border-radius:20px;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px; font-weight:600;
      transition:background 150ms;
    }
    .sh-chip:hover { background:color-mix(in oklab,var(--color-primary,#6B1F7B) 16%,transparent); }
    .sh-filter-btn {
      display:flex; align-items:center; gap:8px;
      background:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:#fff; border:none;
      padding:9px 16px; border-radius:3px;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-weight:600; font-size:12px;
      letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
    }
    .sh-cols { display:flex; gap:32px; align-items:flex-start; }

    /* ── Filter sidebar ─────────────────────────────────── */
    .sh-sidebar {
      width:220px; flex-shrink:0;
      position:sticky; top:88px;
      /* Ko je stranska vrstica višja od okna (veliko filtrov), lepljiv (sticky) element
         pripne SVOJ vrh in spodnji filtri se pokažejo šele na koncu strani. Zato višino
         omejimo na okno in dovolimo notranje drsenje — vsi filtri so dosegljivi takoj,
         ne glede na to, kako daleč so poskrolani izdelki. (Sidebar je samo ≥861px.) */
      max-height: calc(100vh - 88px - 16px);
      overflow-y: auto;
      overflow-x: hidden;            /* navpični drsnik naj ne sproži vodoravnega */
      scrollbar-gutter: stable;      /* širino drsnika rezerviraj → brez skoka postavitve */
      overscroll-behavior: contain;
    }
    .sh-filt-section { margin-bottom:24px; }
    .sh-filt-section h4 {
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:11px;
      letter-spacing:.14em; text-transform:uppercase; color:var(--color-muted,#645577);
      margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--color-line,#E5E0EC);
    }
    .sh-filt-label {
      display:flex; align-items:center; gap:9px;
      padding:5px 0; cursor:pointer;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:13px; color:var(--color-ink,#1A1128);
    }
    .sh-filt-label input { width:14px; height:14px; flex-shrink:0; }
    .sh-filt-price-inputs {
      display:flex; gap:8px; align-items:center; margin-bottom:10px;
    }
    .sh-filt-price-inputs input {
      width:48%; padding:7px 8px; border:1px solid var(--color-line,#CAC2D4); border-radius:3px;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px; color:var(--color-ink,#1A1128); outline:none;
    }
    .sh-filt-price-sep { font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px; color:color-mix(in oklab,var(--color-muted,#857597) 70%,transparent); }
    .sh-filt-price-range { width:100%; }
    .sh-filt-price-labels {
      display:flex; justify-content:space-between;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:11px; color:color-mix(in oklab,var(--color-muted,#857597) 70%,transparent); margin-top:4px;
    }
    .sh-filt-clear {
      width:100%; background:transparent; color:var(--color-muted,#857597);
      border:1px solid var(--color-line,#E5E0EC); padding:9px; border-radius:3px;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px; cursor:pointer;
      transition:border-color 150ms,color 150ms;
    }
    .sh-filt-clear:hover { border-color:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }

    /* ── Facets (brand/colour/size…) with per-value result counts ─────── */
    .sh-filt-facet-values { max-height:240px; overflow-y:auto; overflow-x:hidden; scrollbar-gutter:stable; margin:-2px -4px 0; padding:0 4px; }
    .sh-filt-facet .sh-filt-label { gap:8px; }
    .sh-filt-facet-name { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    /* Logotipi znamk so praviloma široki (npr. 146x39) — v kvadratnem 22x22 okvirju jih
       object-fit:contain stisne na ~6px višine in se praktično ne vidijo. Ležeč okvir. */
    .sh-filt-facet-img { width:46px; height:20px; object-fit:contain; object-position:left center; flex-shrink:0; border-radius:3px; }
    .sh-filt-count {
      flex:0 0 auto; color:color-mix(in oklab,var(--color-muted,#857597) 70%,transparent); font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px;
      font-variant-numeric:tabular-nums;
    }
    .sh-filt-label:has(.shf-facet:checked) .sh-filt-facet-name { font-weight:600; color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    /* Prikaz kot slike (T_Filter.ShowAsPicture): ploščice z logotipom/vzorcem, kljukica skrita, izbrana ima obrobo. */
    .sh-filt-facet--pics .sh-filt-facet-values { display:flex; flex-wrap:wrap; gap:6px; max-height:none; }
    .sh-filt-facet--pics .sh-filt-label { position:relative; display:inline-flex; align-items:center; justify-content:center; width:auto; padding:4px 6px; border:1px solid var(--color-line,#e5e1ea); border-radius:8px; background:var(--color-surface,#fff); }
    .sh-filt-facet--pics .sh-filt-label:has(.shf-facet:checked) { border-color:var(--color-primary-600,var(--color-primary,#6B1F7B)); box-shadow:0 0 0 1px var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    .sh-filt-facet--pics .shf-facet { position:absolute; opacity:0; width:0; height:0; }
    .sh-filt-facet--pics .sh-filt-facet-img { width:56px; height:32px; object-position:center; }
    .sh-filt-facet--pics .sh-filt-label:has(.sh-filt-facet-img) .sh-filt-facet-name { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
    .sh-filt-facet--pics .sh-filt-count { font-size:11px; margin-left:4px; }
    /* Spustni seznam (T_Filter.Vrsta): ena vrednost naenkrat. */
    .shf-facet-select { width:100%; padding:7px 10px; border:1px solid var(--color-line,#e5e1ea); border-radius:8px; background:var(--color-surface,#fff); font:inherit; font-size:14px; color:inherit; }

    /* ── Category navigation (distinct from filters) ────── */
    .sh-nav { margin-bottom:28px; }
    .sh-nav-head {
      display:flex; align-items:center; gap:7px;
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:12px;
      letter-spacing:.12em; text-transform:uppercase; color:var(--color-ink,#1A1128);
      margin-bottom:10px; padding-bottom:8px; border-bottom:2px solid var(--color-primary-600,var(--color-primary,#6B1F7B));
    }
    .sh-nav-head svg { color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    .sh-nav-list { display:flex; flex-direction:column; gap:1px; }
    .sh-nav-link {
      display:flex; align-items:center; justify-content:space-between; gap:8px;
      padding:8px 10px; border-radius:4px; text-decoration:none;
      color:var(--color-ink,#1A1128); font-family:var(--font-sans, 'Barlow', sans-serif); font-size:13.5px;
      border-left:3px solid transparent;
      transition:background 150ms,border-color 150ms,color 150ms;
    }
    .sh-nav-link:hover { background:var(--color-primary-subtle,#F3EEF8); }
    .sh-nav-link .sh-nav-chev { color:color-mix(in oklab,var(--color-muted,#857597) 55%,transparent); display:flex; flex-shrink:0; }
    .sh-nav-link:hover .sh-nav-chev { color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    .sh-nav-link.is-current {
      background:var(--color-primary-subtle,#F3EEF8); border-left-color:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:var(--color-primary-600,var(--color-primary,#6B1F7B)); font-weight:600;
    }
    .sh-nav-back {
      display:flex; align-items:center; gap:6px;
      padding:6px 10px 10px; text-decoration:none;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px; color:var(--color-muted,#857597);
    }
    .sh-nav-back:hover { color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    .sh-nav-parent {
      font-weight:600; color:var(--color-muted,#645577);
    }
    /* F8: sidebarNav=accordion — collapsible branches (<details>) */
    .sh-nav-acc summary {
      display:flex; align-items:center; justify-content:space-between; gap:8px;
      padding:8px 10px; border-radius:4px; cursor:pointer; list-style:none;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:13.5px;
      transition:background 150ms;
    }
    .sh-nav-acc summary::-webkit-details-marker { display:none; }
    .sh-nav-acc summary:hover { background:var(--color-primary-subtle,#F3EEF8); }
    .sh-nav-acc-name { color:var(--color-ink,#1A1128); text-decoration:none; }
    .sh-nav-acc-name:hover { color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    .sh-nav-acc-name.is-current { color:var(--color-primary-600,var(--color-primary,#6B1F7B)); font-weight:600; }
    .sh-nav-acc-arrow { color:color-mix(in oklab,var(--color-muted,#857597) 55%,transparent); display:flex; flex-shrink:0; transition:transform 150ms; }
    .sh-nav-acc[open] > summary .sh-nav-acc-arrow { transform:rotate(180deg); }
    /* F8: sidebarNav=dropdown — compact select */
    .sh-nav-select {
      width:100%; padding:9px 12px;
      border:1.5px solid var(--color-line,#CAC2D4); border-radius:3px; background:#fff;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:13px; color:var(--color-ink,#1A1128);
      outline:none; cursor:pointer;
    }
    .sh-filters-title {
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:12px;
      letter-spacing:.12em; text-transform:uppercase; color:var(--color-muted,#645577);
      margin-bottom:14px;
    }

    /* ── Veliki iskalnik nad izdelki (_CatProducts) ──────
       Isti videz kot na /rabljeno: širok pas pod opisom kategorije, nad mrežo. */
    .sh-hero-search {
      display:flex; align-items:stretch; margin-bottom:22px;
      background:var(--color-surface,#fff); border:2px solid var(--color-line,#CAC2D4);
      border-radius:var(--radius-card,4px); box-shadow:var(--shadow-card-rest,0 1px 3px rgba(28,4,35,.08));
      overflow:hidden; transition:border-color 150ms,box-shadow 150ms;
    }
    .sh-hero-search:focus-within {
      border-color:var(--color-primary-600,var(--color-primary,#6B1F7B));
      box-shadow:0 0 0 4px color-mix(in oklab,var(--color-primary,#6B1F7B) 14%,transparent);
    }
    .sh-hero-search .ico { display:flex; align-items:center; padding:0 4px 0 18px; flex:0 0 auto; color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    .sh-hero-search input {
      flex:1 1 auto; min-width:0; border:none; outline:none; background:transparent; height:56px; padding:0 14px;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:17px; color:var(--color-ink,#1A1128);
    }
    .sh-hero-search input::placeholder { color:color-mix(in oklab,var(--color-muted,#857597) 75%,transparent); }
    .sh-hero-search button {
      flex:0 0 auto; border:none; cursor:pointer; padding:0 26px; display:flex; align-items:center; gap:8px;
      background:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:#fff;
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:15px;
      letter-spacing:.08em; text-transform:uppercase; transition:filter 150ms;
    }
    .sh-hero-search button:hover { filter:brightness(1.08); }
    /* Med osveževanjem rezultatov: vsebina rahlo obledi, da je vidno, da se dogaja. */
    #sh-cat-results { transition:opacity 120ms; }
    #sh-cat-results.is-filtering { opacity:.45; pointer-events:none; }
    @media (max-width:560px) {
      .sh-hero-search .ico { padding-left:12px; }
      .sh-hero-search input { height:48px; font-size:15px; padding:0 8px; }
      .sh-hero-search button { padding:0 16px; font-size:13px; }
      .sh-hero-search button .txt { display:none; }
    }

    /* ── Sort bar ───────────────────────────────────────── */
    .sh-sortbar {
      display:flex; align-items:center; justify-content:space-between;
      margin-bottom:20px; flex-wrap:wrap; gap:10px;
    }
    .sh-sort-count { font-family:var(--font-sans, 'Barlow', sans-serif); font-size:13px; color:var(--color-muted,#645577); }
    .sh-sort-count strong { color:var(--color-ink,#1A1128); }
    .sh-sort-right { display:flex; align-items:center; gap:8px; }
    .sh-sort-wrap { position:relative; }
    .sh-sort-select {
      padding:8px 36px 8px 12px;
      border:1.5px solid var(--color-line,#CAC2D4); border-radius:3px;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12px; color:var(--color-ink,#1A1128);
      outline:none; cursor:pointer; background:#fff;
    }
    .sh-sort-caret {
      position:absolute; right:10px; top:50%; transform:translateY(-50%);
      pointer-events:none; color:var(--color-muted,#645577); display:flex;
    }
    .sh-view-toggle {
      display:flex; border:1.5px solid var(--color-line,#CAC2D4); border-radius:3px; overflow:hidden;
    }
    .sh-view-btn {
      width:36px; height:36px; display:flex; align-items:center; justify-content:center;
      border:none; cursor:pointer; background:transparent; color:var(--color-muted,#645577); transition:all 150ms;
    }
    .sh-view-btn.is-active { background:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:#fff; }

    /* ── Wave 2 · W2/W6a — searchEmpty/emptyState variante (prazni zadetki); token-pure z
       današnjimi barvami kot fallback. Emitirano LE ko je varianta ne-privzeta → default byte-identičen. */
    .sh-empty { padding:3.5rem 1rem; text-align:center; color:var(--color-muted,#857597); }
    .sh-empty-icon { width:3rem; height:3rem; opacity:.3; margin:0 auto 1rem; display:block; color:var(--color-ink,#1a1420); }
    .sh-empty-msg { margin:0; }
    .sh-empty-msg strong { color:var(--color-ink,#1a1420); }
    .sh-empty-cats { margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; align-items:center; }
    .sh-empty-cats-label { font-size:.9rem; color:var(--color-muted,#857597); margin-right:.25rem; }
    .sh-empty-cat { display:inline-flex; padding:.45rem .9rem; border-radius:999px; font-size:.9rem; text-decoration:none;
      color:var(--color-primary-600,var(--color-primary,#6B1F7B));
      background:var(--color-primary-subtle,color-mix(in oklab,var(--color-primary,#6B1F7B) 8%,transparent)); transition:background 150ms; }
    .sh-empty-cat:hover { background:color-mix(in oklab,var(--color-primary,#6B1F7B) 16%,transparent); }
    .sh-empty--illus { padding:4rem 1rem; }
    .sh-empty-art { color:var(--color-primary-500,var(--color-primary,#6B1F7B)); opacity:.85; margin:0 auto 1.25rem; width:96px; }
    .sh-empty-art svg { width:96px; height:96px; }
    .sh-empty-title { margin:0 0 .5rem; font-size:clamp(1.25rem,3vw,1.75rem); }
    .sh-empty-sub { margin:0 0 1.5rem; color:var(--color-muted,#857597); }
    .sh-empty-cta { display:inline-flex; padding:.7rem 1.4rem; border-radius:var(--radius,4px); text-decoration:none; font-weight:600;
      background:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:var(--color-text-on-accent,#fff); transition:background 150ms; }
    .sh-empty-cta:hover { background:var(--color-primary-hover,var(--color-primary-600,#6B1F7B)); }
    /* ── Wave 2 · W6a — listanje (load-more/infinite), opis kategorije; token-pure.
       Emitirano LE ko je katera od variant ne-privzeta → default byte-identičen. */
    /* pager ostane v DOM za crawlerje/no-JS (pravi ?page= linki), vizualno pa se umakne gumbu */
    .sh-pager--seo { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
    .sh-loadmore-wrap { display:flex; justify-content:center; margin-top:2rem; }
    .sh-loadmore { display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1.6rem; font-weight:600; text-decoration:none;
      border-radius:var(--radius,4px); border:1px solid var(--color-primary-600,var(--color-primary,#6B1F7B));
      color:var(--color-primary-600,var(--color-primary,#6B1F7B)); background:transparent; transition:background 150ms, color 150ms; }
    .sh-loadmore:hover { background:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:var(--color-text-on-accent,#fff); }
    .sh-loadmore.is-loading { pointer-events:none; opacity:.55; }
    .sh-loadmore.is-loading .sh-loadmore-label::after { content:" …"; }
    /* opis kategorije — poln tekst v DOM; variante le preoblikujejo izris */
    .sh-cat-desc--v-lead > p:first-child { font-size:1.18em; color:var(--color-ink,#1a1420); }
    .sh-cat-desc--v-split { column-count:2; column-gap:2.5rem; }
    /* Zložljiv opis v okvirju: kartica, da opis ne »plava«; gumb je znotraj okvirja. */
    .sh-cat-desc-box { max-width:none; background:var(--color-surface,#fff); border:1px solid var(--color-line,#E5E0EC);
      border-radius:var(--radius,8px); padding:18px 22px; box-shadow:0 1px 3px rgba(28,4,35,0.06); }
    .sh-cat-desc-box--top { margin-bottom:24px; }
    .sh-cat-desc-box--bottom { margin-top:40px; }
    .sh-cat-desc-box .sh-cat-desc { margin:0; }
    .sh-cat-desc-box .sh-cat-desc :first-child { margin-top:0; }
    /* Prva vrstica (in naslov) je vedno v celoti vidna; preliv začne šele nižje in bledi v kartico. */
    .sh-cat-desc--v-collapsible:not(.is-open) { max-height:6.2em; overflow:hidden; position:relative; }
    .sh-cat-desc--v-collapsible:not(.is-open)::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2.2em;
      background:linear-gradient(to bottom, transparent, var(--color-surface,#fff)); pointer-events:none; }
    .sh-cat-desc-more { margin-top:.55rem; padding:0; border:0; background:none; cursor:pointer; font:inherit; font-size:.9rem; font-weight:700;
      color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    .sh-cat-desc-more:hover { text-decoration:underline; }
    @media (max-width:760px) { .sh-cat-desc--v-split { column-count:1; } }
    /* ── Wave 2 · W6b — orodna vrstica + filtri na telefonu; token-pure. Pogojno. ── */
    /* listToolbar=segmented: gumbi na namizju, spustni meni ostane za telefon */
    .sh-sortbar--v-segmented .sh-sort-seg { display:flex; gap:4px; flex-wrap:wrap; }
    .sh-sort-seg-btn { padding:.45rem .8rem; font-size:.82rem; font-weight:600; text-decoration:none; border-radius:var(--radius,4px);
      color:var(--color-muted,#645577); border:1px solid var(--color-line,#e5e0ec); background:var(--color-surface,#fff); transition:all 150ms; }
    .sh-sort-seg-btn:hover { border-color:var(--color-primary-600,#6B1F7B); color:var(--color-primary-600,#6B1F7B); }
    .sh-sort-seg-btn.is-on { background:var(--color-primary-600,#6B1F7B); border-color:var(--color-primary-600,#6B1F7B); color:var(--color-text-on-accent,#fff); }
    @media (min-width:861px) { .sh-sortbar--v-segmented .sh-sort-wrap { display:none; } }
    @media (max-width:860px) { .sh-sortbar--v-segmented .sh-sort-seg { display:none; } }
    /* listToolbar=minimal: tanjša vrstica, placeholder »Ni aktivnih filtrov« skrit */
    .sh-active-bar--min .sh-no-filters { display:none; }
    .sh-sortbar--v-minimal { border:none; background:transparent; padding-left:0; padding-right:0; }
    .sh-sortbar--v-minimal .sh-sort-count { font-size:.82rem; color:var(--color-muted,#857597); }
    .sh-sortbar--v-minimal .sh-sort-select { border:none; background:transparent; font-weight:600; }
    /* mobileFilterBar=sticky-fab: plavajoči gumb (≤860); vrstični gumb »Filtri« se umakne */
    .sh-filter-fab { display:none; position:fixed; right:1rem; bottom:1.25rem; z-index:var(--z-dock,80); width:52px; height:52px;
      border-radius:50%; border:none; cursor:pointer; align-items:center; justify-content:center;
      background:var(--color-primary-600,#6B1F7B); color:var(--color-text-on-accent,#fff); box-shadow:var(--shadow-lg,0 10px 20px -3px rgba(28,4,35,.25)); }
    @media (max-width:860px) {
      .sh-active-bar--fb-sticky-fab .sh-filter-btn:not(.sh-filter-btn--always) { display:none; }
      .sh-filter-fab { display:flex; padding-bottom:0; }
    }
    /* Desni spodnji kot je na telefonu ZASEDEN: gumb AI pomočnika (sf-ai-fab, 56 px,
       right/bottom 18px, z-index 9998) in popup obvestila (elpu-layer--toast, z-index ~2^31)
       se izrisujejo prav tam in filtrski gumb (z-index 80) popolnoma prekrijejo — na telefonu
       je to edina pot do filtrov, zato so filtri izginili. Dvig gumba nad pomočnika ne zadošča,
       ker toast sega čez skoraj celo višino tega kota; zato gre filtrski gumb v LEVI kot, ki je
       po dogovoru prost (desnega si delita pomočnik in obvestila). */
    @media (max-width:860px) {
      .sh-filter-fab { left:1rem; right:auto; }
    }
    /* mobileFilterBar=bottom-dock: pripeta vrstica Filtri · Razvrsti (≤760, sfDock) */
    .sh-filter-dock { display:none; position:fixed; left:0; right:0; bottom:0; z-index:var(--z-dock,80);
      padding-bottom:env(safe-area-inset-bottom,0); background:var(--color-surface,#fff);
      border-top:1px solid var(--color-line,#e5e0ec); box-shadow:0 -4px 16px rgba(28,4,35,.08); }
    .sh-filter-dock-btn { flex:1; display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 0;
      border:none; background:transparent; cursor:pointer; font:inherit; font-size:.9rem; font-weight:600; color:var(--color-ink,#1a1420); }
    .sh-filter-dock-btn + .sh-filter-dock-btn { border-left:1px solid var(--color-line,#e5e0ec); }
    @media (max-width:760px) {
      .sh-filter-dock { display:flex; }
      .sh-active-bar--fb-bottom-dock .sh-filter-btn:not(.sh-filter-btn--always) { display:none; }
      body:has(.sh-filter-dock) .sf-footer { padding-bottom:3.5rem; }
      /* Isti kot: pripeti pas je čez celo širino, zato se gumb pomočnika dvigne nadenj
         (sicer prekrije gumb »Razvrsti«). */
      body:has(.sh-filter-dock) .sf-ai-fab { bottom:calc(3.5rem + 18px); }
    }
    /* ── Product grid (kartica sama: _ProductCard.cshtml + _Theme.cshtml .sh-pcard*) ──
       F2 preseti: gostota prek --shg-* spremenljivk, postavitev prek .sh-grid--l-*. */
    .sh-grid {
      --shg-cols:3; --shg-gap:16px;
      display:grid;
      grid-template-columns:repeat(var(--shg-cols),1fr);
      gap:var(--shg-gap);
    }
    .sh-grid--d-airy  { --shg-gap:28px; }
    .sh-grid--d-dense { --shg-cols:4; --shg-gap:8px; }
    @media (max-width:700px) {
      .sh-grid, .sh-grid--d-dense { --shg-cols:2; --shg-gap:10px; }
      .sh-grid--d-airy { --shg-gap:16px; }
    }
    .sh-grid--l-featured > .sh-pcard:first-child { grid-column:span 2; grid-row:span 2; }
    /* Drugi izdelek se poravna z veliko 2×2 kartico: visok 2 vrstici, slika pokončna
       (razteg kot featured v _ProductGrid) — stolpec ob njej ostane brez luknje tudi,
       ko sledi dvojni oglas (.sh-ad-card--2). Na mobilnem (2 stolpca) ne velja. */
    @media (min-width:701px) {
      .sh-grid--l-featured > .sh-pcard:nth-child(2) { grid-row:span 2; }
      .sh-grid--l-featured > .sh-pcard:nth-child(2) .sh-pcard-media { aspect-ratio:auto; flex:1 1 auto; min-height:12rem; }
      /* vso prosto višino dobi slika (privzeti body ima flex-grow:1 → bi si jo delila) */
      .sh-grid--l-featured > .sh-pcard:nth-child(2) .sh-pcard-body { flex-grow:0; }
    }
    .sh-grid--l-masonry { display:block; columns:var(--shg-cols); column-gap:var(--shg-gap); }
    .sh-grid--l-masonry .sh-pcard { break-inside:avoid; margin-bottom:var(--shg-gap); }
    /* ── Telefon: povsod klasična mreža ────────────────────────────────────────────────────
       Na dveh stolpcih posebne postavitve ne povedo nič — »featured« pojé cel zaslon za en
       izdelek in ostale potisne pod rob, masonry razbije poravnavo vrstic, karusel skrije
       večino ponudbe za vodoravni podrsljaj. Postavitev ostane taka, kot jo je urednik
       nastavil za namizje; tu jo samo izničimo. */
    @media (max-width:760px) {
      .sh-grid.sh-grid--l-featured > .sh-pcard:first-child { grid-column:auto; grid-row:auto; }
      .sh-grid.sh-grid--l-masonry { display:grid; columns:auto; }
      .sh-grid.sh-grid--l-masonry .sh-pcard { margin-bottom:0; }
      .sh-grid.sh-grid--l-carousel { display:grid; overflow-x:visible; scroll-snap-type:none;
                                     grid-template-columns:repeat(var(--shg-cols),minmax(0,1fr)); }
      .sh-grid.sh-grid--l-carousel > .sh-pcard { flex:initial; scroll-snap-align:none; }
    }
    .sh-grid--list { display:grid; grid-template-columns:1fr; columns:auto; }
    .sh-grid--list .sh-pcard { flex-direction:row; }
    .sh-grid--list .sh-pcard-media { width:200px; flex-shrink:0; aspect-ratio:auto; }
    .sh-grid--list .sh-pcard-body { flex:1 1 auto; }
    /* Vrstični pogled je enostolpčen: razpetine drugih postavitev (featured 2x2,
       dvojni oglas) bi v enem stolpcu prekrivale kartice. */
    .sh-grid--list.sh-grid--l-featured > .sh-pcard:first-child,
    .sh-grid--list.sh-grid--l-featured > .sh-pcard:nth-child(2),
    .sh-grid--list > .sh-ad-card--2 { grid-column:auto; grid-row:auto; }
    .sh-grid--list.sh-grid--l-featured > .sh-pcard:nth-child(2) .sh-pcard-media { aspect-ratio:auto; flex:0 0 auto; min-height:0; }

    /* ── F2: filtri kot vodoravna vrstica (filters=toolbar) ── */
    .sh-ftoolbar {
      display:flex; align-items:center; gap:18px; flex-wrap:wrap;
      padding:10px 14px; margin-bottom:16px;
      background:var(--color-surface,#fff); border:1px solid var(--color-line,#E5E0EC);
      border-radius:var(--radius-card,4px);
    }
    .sh-ftoolbar .sh-filters-title { display:none; }
    .sh-ftoolbar .sh-filt-section { margin:0; display:flex; align-items:center; gap:8px; }
    .sh-ftoolbar .sh-filt-section h4 { margin:0; padding:0; border:0; }
    .sh-ftoolbar .sh-filt-price-inputs { margin:0; }
    .sh-ftoolbar .sh-filt-price-inputs input { width:72px; }
    .sh-ftoolbar .sh-filt-label { padding:0; }
    .sh-ftoolbar .shf-clear { width:auto; padding:7px 12px; margin-left:auto; }

    /* ── F2: hitri gumbki (filters=chips) ── */
    .sh-qchips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
    .sh-qchips-label { font-family:var(--font-sans); font-size:12px; color:var(--color-muted,#857597); }
    .sh-qchip {
      display:inline-flex; align-items:center; gap:6px; padding:7px 14px;
      border-radius:999px; border:1.5px solid var(--color-line,#CAC2D4);
      background:var(--color-surface,#fff); color:var(--color-ink,var(--color-ink,#1A1128));
      text-decoration:none; font-family:var(--font-sans); font-size:12.5px; font-weight:600;
      transition:border-color 150ms,color 150ms;
    }
    .sh-qchip:hover { border-color:var(--color-primary-600,#6B1F7B); color:var(--color-primary-600,#6B1F7B); }
    .sh-qchip.is-on { background:var(--color-primary-600,#6B1F7B); border-color:var(--color-primary-600,#6B1F7B); color:#fff; }

    /* ── Pagination ─────────────────────────────────────── */
    .sh-pager {
      display:flex; justify-content:center; align-items:center; gap:4px;
      margin-top:40px; padding-top:28px; border-top:1px solid var(--color-line,#E5E0EC);
    }
    .sh-pager a, .sh-pager-prev, .sh-pager-next {
      width:36px; height:36px; display:flex; align-items:center; justify-content:center;
      border:1.5px solid var(--color-line,#CAC2D4); border-radius:3px; background:transparent;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:13px; font-weight:600; color:var(--color-ink,#1A1128);
      text-decoration:none; cursor:pointer; transition:all 150ms;
    }
    .sh-pager a:hover { border-color:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:var(--color-primary-600,var(--color-primary,#6B1F7B)); }
    .sh-pager a.is-active { background:var(--color-primary-600,var(--color-primary,#6B1F7B)); border-color:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:#fff !important; }
    .sh-pager-prev, .sh-pager-next { border:none; }
    .sh-pager-prev[disabled], .sh-pager-next[disabled] { opacity:.35; cursor:default; }
    .sh-pager-dots {
      display:flex; align-items:center; justify-content:center;
      width:36px; height:36px; color:var(--color-muted,#857597);
    }

    /* ── Mobile filter drawer ───────────────────────────── */
    .sh-drawer-overlay {
      display:none; position:fixed; inset:0; z-index:300; background:rgba(0,0,0,0.5);
    }
    .sh-drawer-overlay.is-open { display:block; }
    .sh-drawer {
      position:absolute; left:0; top:0; bottom:0; width:300px;
      background:#fff; overflow-y:auto; overflow-x:hidden; scrollbar-gutter:stable; padding:24px;
    }
    .sh-drawer-head {
      display:flex; justify-content:space-between; align-items:center; margin-bottom:24px;
    }
    .sh-drawer-title {
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:18px;
      text-transform:uppercase; color:var(--color-ink,#1A1128);
    }
    .sh-drawer-close {
      background:transparent; border:none; cursor:pointer; color:var(--color-muted,#645577); display:flex; padding:4px;
    }
    .sh-drawer-apply {
      width:100%; background:var(--color-primary-600,var(--color-primary,#6B1F7B)); color:#fff; border:none; padding:13px; border-radius:3px;
      font-family:var(--font-sans, 'Barlow', sans-serif); font-weight:600; font-size:13px; letter-spacing:.06em;
      text-transform:uppercase; cursor:pointer; margin-top:16px;
    }

    /* ── Category descriptions (blok catDescription) ────── */
    .sh-cat-desc {
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:14.5px; line-height:1.7; color:var(--color-brand-800,#3A2C4C);
      max-width:none;
    }
    .sh-cat-desc--top { margin-bottom:24px; }
    .sh-cat-desc--bottom { margin-top:40px; padding-top:28px; border-top:1px solid var(--color-line,#E5E0EC); }
    .sh-cat-desc p { margin-bottom:12px; }
    /* Bulleti/oštevilčeni seznami — pravilen zamik (UA default se je izničil pod resetom). */
    .sh-cat-desc ul, .sh-cat-desc ol { margin:0 0 12px; padding-left:1.5em; }
    .sh-cat-desc ul { list-style:disc; }
    .sh-cat-desc ol { list-style:decimal; }
    .sh-cat-desc li { margin-bottom:6px; }
    .sh-cat-desc h2, .sh-cat-desc h3 {
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; text-transform:uppercase;
      letter-spacing:.04em; color:var(--color-ink,#1A1128); margin:18px 0 10px;
    }

    /* ── Subcategory tiles (blok catSubcategories) ──────── */
    .sh-subcats { margin-bottom:28px; }
    .sh-subcats-title {
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:20px;
      text-transform:uppercase; letter-spacing:.05em; color:var(--color-ink,#1A1128); margin:0 0 14px;
    }
    .sh-subcats-grid {
      display:grid; grid-template-columns:repeat(var(--sh-subcat-cols,3),1fr); gap:14px;
    }
    @media (max-width:700px) { .sh-subcats-grid { grid-template-columns:repeat(2,1fr); gap:10px; } }
    .sh-subcat-card {
      display:flex; flex-direction:column; background:#fff; text-decoration:none;
      border-radius:4px; overflow:hidden; border:1px solid var(--color-line,#E5E0EC);
      box-shadow:0 1px 3px rgba(28,4,35,0.08);
      transition:transform 250ms cubic-bezier(0,0,0.2,1),box-shadow 250ms cubic-bezier(0,0,0.2,1);
    }
    .sh-subcat-card:hover { transform:translateY(-3px); box-shadow:0 10px 20px -3px rgba(28,4,35,0.10); }
    .sh-subcat-media { aspect-ratio:16/9; background:color-mix(in oklab,var(--color-primary,#6B1F7B) 10%,transparent); overflow:hidden; }
    .sh-subcat-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 400ms ease; }
    .sh-subcat-card:hover .sh-subcat-media img { transform:scale(1.05); }
    .sh-subcat-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
    .sh-subcat-body { padding:10px 14px 14px; display:flex; flex-direction:column; gap:3px; }
    .sh-subcat-name {
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:15px;
      letter-spacing:.05em; text-transform:uppercase; color:var(--color-ink,#1A1128);
    }
    .sh-subcat-desc { font-family:var(--font-sans, 'Barlow', sans-serif); font-size:12.5px; color:var(--color-muted,#645577); line-height:1.45; }

    /* ── Content search results ("Strani in novice") ────── */
    .sh-cres-section { margin-top:40px; padding-top:28px; border-top:1px solid var(--color-line,#E5E0EC); }
    .sh-cres-heading {
      font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:20px;
      text-transform:uppercase; letter-spacing:.05em; color:var(--color-ink,#1A1128); margin:0 0 16px;
    }
    .sh-cres-list { display:flex; flex-direction:column; gap:10px; }
    .sh-cres {
      display:flex; gap:14px; align-items:flex-start; text-decoration:none;
      background:#fff; border:1px solid var(--color-line,#E5E0EC); border-radius:4px; padding:12px 14px;
      box-shadow:0 1px 3px rgba(28,4,35,0.06); transition:border-color 150ms, box-shadow 150ms;
    }
    .sh-cres:hover { border-color:var(--color-primary-300,#B882C2); box-shadow:0 6px 16px -4px rgba(28,4,35,0.12); }
    .sh-cres-thumb { flex:0 0 72px; width:72px; height:54px; border-radius:3px; overflow:hidden; background:color-mix(in oklab,var(--color-primary,#6B1F7B) 10%,transparent); }
    .sh-cres-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
    .sh-cres-body { min-width:0; display:flex; flex-direction:column; gap:3px; }
    .sh-cres-badge {
      align-self:flex-start; font-family:var(--font-heading, 'Barlow Condensed', sans-serif); font-weight:700; font-size:10px;
      letter-spacing:.1em; text-transform:uppercase; color:var(--color-primary-600,var(--color-primary,#6B1F7B)); background:var(--color-primary-subtle,#F3EEF8);
      padding:2px 7px; border-radius:2px;
    }
    .sh-cres-name { font-family:var(--font-sans, 'Barlow', sans-serif); font-size:15px; font-weight:600; color:var(--color-ink,#1A1128); line-height:1.35; }
    .sh-cres-snippet {
      font-family:var(--font-sans, 'Barlow', sans-serif); font-size:13px; color:var(--color-muted,#645577); line-height:1.5;
      display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    }

    @media (max-width:860px) { .sh-sidebar { display:none; } }
    /* Gumb »Filtri«: na telefonu vedno; na računalniku samo pri filters=drawer (--always). */
    @media (min-width:861px) { .sh-filter-btn:not(.sh-filter-btn--always) { display:none; } }
