/* ==========================================================================
   Shop (קטלוג + סינון)
   ========================================================================== */
.crumbs { display: flex; gap: 8px; font-size: 13px; color: var(--ink-2); }
.crumbs a:hover { text-decoration: underline; }

/* ---------- category hero ---------- */
.cat__gyroid { inset-inline-start: 0; top: 0; width: 70%; height: 100%; object-fit: cover; opacity: .16; }
.cat__strands { inset-inline-start: -6%; bottom: -12%; width: 90%; opacity: .25; }
.cat__in { padding-block: 24px 28px; display: flex; flex-direction: column; gap: 22px; }
.cat__copy { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.cat h1 { font-size: clamp(44px, 9vw, 88px); }
.cat__mats .chip { min-height: 48px; border-radius: 0; }
@media (min-width: 1024px) { .cat__in { padding-block: 28px 40px; gap: 32px; } .cat__mats .chip { min-height: 52px; padding: 0 20px; font-size: 15px; } }

/* ---------- mobile bar ---------- */
.mbar { position: sticky; top: 0; z-index: var(--z-sticky); display: grid; grid-template-columns: 1fr 1fr; background: var(--surface); border-block: var(--bw) solid var(--ink); }
.mbar__btn, .mbar__select { min-height: 52px; font-weight: 800; font-size: 15px; display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--surface); }
.mbar__btn { border-inline-end: var(--bw) solid var(--ink); }
.mbar__select { width: 100%; border: 0; padding: 0 12px; text-align: center; text-align-last: center; }
.mbar__n { min-width: 22px; height: 22px; background: var(--accent); font-size: 12px; line-height: 22px; text-align: center; }

/* ---------- layout ---------- */
.shop { padding-block: 20px 56px; }
.results__bar { display: none; }

/* פילטרים: מגירה תחתונה במובייל */
.filters-wrap { display: none; }
body.filters-open .filters-wrap { display: block; }
.filters { position: fixed; inset-inline: 0; bottom: 0; z-index: var(--z-sheet); max-height: 88vh; overflow-y: auto; background: var(--surface); border-top: var(--bw) solid var(--ink); animation: fp-rise .3s var(--ease) both; padding-bottom: 88px; }
.filters-overlay-bg { position: fixed; inset: 0; z-index: calc(var(--z-sheet) - 1); background: rgba(17,17,17,.5); }
.filters__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 16px; padding: 16px 18px; background: var(--surface); border-bottom: var(--bw) solid var(--ink); }
.filters__head .link-underline { margin-inline-start: auto; font-size: 14px; }
.filters__x { font-size: 28px; line-height: 1; width: 36px; height: 36px; }
.f-group { padding: 18px; border-bottom: var(--bw) solid var(--ink); display: flex; flex-direction: column; gap: 10px; }
.f-group legend { margin-bottom: 8px; }
.f-note { font-size: 12px; line-height: 1.5; }
.f-check { display: flex; align-items: center; gap: 12px; min-height: 42px; cursor: pointer; font-size: 15px; }
.f-check__txt { flex: 1; display: flex; flex-direction: column; line-height: 1.3; }
.f-check__txt small { font-size: 12px; color: var(--ink-2); }
.f-check__n { font-size: 13px; color: var(--ink-2); }
.f-check.is-dim { opacity: .4; }
.chk { appearance: none; width: 22px; height: 22px; margin: 0; flex-shrink: 0; background: var(--surface); box-shadow: inset 0 0 0 1.5px var(--ink); display: grid; place-content: center; cursor: pointer; }
.chk:checked { background: var(--accent); }
.chk:checked::after { content: "✓"; font-size: 14px; font-weight: 800; line-height: 1; }
.seg-premium[aria-checked="true"] { background: var(--accent); color: var(--ink); }
.f-colors { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.f-colors button { aspect-ratio: 1; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0,0,0,.16); transition: box-shadow .12s ease; }
.f-colors button:hover { box-shadow: inset 0 0 0 2px var(--ink); }
.f-colors button[aria-pressed="true"] { box-shadow: inset 0 0 0 3px #fff, 0 0 0 2px var(--ink); }
.filters__apply { position: fixed; inset-inline: 0; bottom: 0; padding: 12px 16px 16px; background: var(--surface); border-top: var(--bw) solid var(--ink); z-index: 3; }

/* ---------- grid ---------- */
.pgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: var(--bw) solid var(--ink); border-inline-start: var(--bw) solid var(--ink); }
.pgrid .pcard { margin: 0; border: 0; border-inline-end: var(--bw) solid var(--ink); border-bottom: var(--bw) solid var(--ink); }
.pgrid .pcard__body { padding: 10px 12px 12px; }
.pgrid .pcard__name { font-size: 15px; }
.pgrid .pcard__price { font-size: 15px; }
.pgrid .pcard__stage .tag { font-size: 9px; padding: 2px 6px; }
.badge-s { position: absolute; bottom: 8px; font-size: 11px; font-weight: 700; padding: 1px 8px; }
.badge-s--enc { inset-inline-start: 8px; background: #FBF2DF; color: var(--warn); }
.badge-s--out { inset-inline-end: 8px; background: var(--ink); color: #fff; }
.badge-s--low { inset-inline-end: 8px; background: var(--surface); }
.promo { grid-column: 1 / -1; position: relative; overflow: hidden; background: var(--accent); border: 0; border-inline-end: var(--bw) solid var(--ink); border-bottom: var(--bw) solid var(--ink); padding: 24px 20px; min-height: 280px; display: flex; flex-direction: column; justify-content: flex-start; gap: 10px; }
.promo strong { font-size: 34px; line-height: 1.05; font-weight: 800; letter-spacing: -.035em; }
.promo p { max-width: 260px; font-size: 15px; line-height: 1.5; }
.promo .btn { align-self: flex-start; min-height: 46px; margin-top: 4px; }
.promo img { position: absolute; inset-inline-end: -18%; bottom: -20%; width: 70%; opacity: .9; pointer-events: none; }
.empty { border: var(--bw) solid var(--ink); padding: 36px 20px; }
.empty__t { display: block; font-size: 24px; line-height: 1.25; margin-bottom: 6px; }
.empty__cta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

/* ---------- how + faq ---------- */
.how__grid { display: grid; gap: 32px; }
.how__copy { display: flex; flex-direction: column; gap: 16px; }
.how__art { width: 60%; max-width: 280px; margin-top: 8px; }
.how__faq { border-top: var(--bw) solid var(--ink); }
.how__faq .qa { border-bottom: var(--bw) solid var(--ink); }
.how__faq .qa__q { width: 100%; min-height: 64px; display: flex; gap: 14px; align-items: center; text-align: start; font-size: 17px; font-weight: 700; }
.how__faq .qa__n { font-size: 13px; color: var(--ink-2); width: 24px; flex-shrink: 0; }
.how__faq .qa__q > span:nth-child(2) { flex: 1; }
.how__faq .qa__i { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: inset 0 0 0 1.5px var(--ink); background: var(--paper); flex-shrink: 0; }
.how__faq .qa__q[aria-expanded="true"] .qa__i { background: var(--accent); }
.how__faq .qa__a { padding: 0 8px 22px 48px; color: var(--ink-2); line-height: 1.7; max-width: 62ch; }

/* ---------- tablet ---------- */
@media (min-width: 768px) {
  .pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pgrid .pcard__body { padding: 14px 16px 16px; }
  .pgrid .pcard__name { font-size: 18px; }
  .promo { grid-column: span 1; min-height: 100%; padding: 28px; }
  .promo strong { font-size: 40px; }
}

/* ---------- desktop ---------- */
@media (min-width: 1024px) {
  .mbar { display: none; }
  .shop { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; padding-block: 32px 96px; align-items: start; }
  .filters-wrap, body.filters-open .filters-wrap { display: block; position: sticky; top: 24px; }
  .filters { position: static; max-height: none; overflow: visible; border: var(--bw) solid var(--ink); animation: none; padding-bottom: 0; }
  .filters__head { position: static; }
  .filters__x, .filters__apply { display: none; }
  .filters-overlay-bg { display: none; }
  .results__bar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin-bottom: 20px; }
  .results__count { font-size: 15px; }
  .results__count strong { font-size: 22px; }
  .active-chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .sortbox { margin-inline-start: auto; display: flex; align-items: center; gap: 10px; font-size: 14px; }
  .sortbox__select { height: 44px; padding: 0 12px; background: var(--surface); border: var(--bw) solid var(--ink); font-size: 15px; }
  .how__grid { grid-template-columns: repeat(12, 1fr); gap: 24px; }
  .how__copy { grid-column: span 5; }
  .how__faq { grid-column: 7 / span 6; }
  .how h2 { font-size: 56px; }
}
.achip { height: 34px; padding: 0 10px 0 12px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.achip:hover { background: var(--err); }
.achip svg { stroke: var(--accent); }
