.sit-shop {
  --sit-ink: #10233f;
  --sit-muted: #607086;
  --sit-blue: #1d63f0;
  --sit-blue-dark: #1548b8;
  --sit-orange: #f26a2e;
  --sit-orange-dark: #d94b18;
  --sit-paper: #fffaf4;
  --sit-cream: #f3eee7;
  --sit-line: #d8d0c6;
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
  color: var(--sit-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.sit-shop *, .sit-shop *::before, .sit-shop *::after { box-sizing: border-box; }

.sit-filter-panel {
  position: sticky;
  top: 112px;
  overflow: hidden;
  border: 1px solid #ccbfb2;
  border-radius: 22px;
  background: linear-gradient(145deg, #fffaf4, #eee5da);
  box-shadow: inset 0 1px 0 #fff, 0 6px 0 #d5c9bd, 0 18px 34px rgba(55, 40, 26, .12);
}

.admin-bar .sit-filter-panel { top: 144px; }
.sit-filter-heading { padding: 24px 22px 20px; border-bottom: 1px solid var(--sit-line); background: linear-gradient(145deg, #193d67, #10233f); color: #fff; }
.sit-filter-kicker, .sit-results-kicker { display: block; margin-bottom: 7px; color: #ffb58f; font-size: .67rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.sit-filter-heading h2 { margin: 0; color: #fff; font-size: 1.25rem; letter-spacing: -.025em; }
.sit-filter-heading p { margin: 8px 0 0; color: #bfd0e2; font-size: .82rem; line-height: 1.5; }
.sit-filter-form { padding: 20px; }
.sit-filter-group { min-width: 0; margin: 0 0 20px; padding: 0; border: 0; }
.sit-filter-group > label, .sit-filter-group legend { display: block; width: 100%; margin: 0 0 9px; padding: 0; color: var(--sit-ink); font-size: .75rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }

.sit-category-list { display: grid; max-height: 250px; gap: 3px; overflow: auto; padding-right: 4px; scrollbar-color: #b7aa9c transparent; scrollbar-width: thin; }
.sit-category-option { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 7px 6px; border-radius: 9px; cursor: pointer; transition: background .18s ease; }
.sit-category-option:hover { background: rgba(29, 99, 240, .07); }
.sit-category-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.sit-checkmark { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid #b9ada1; border-radius: 6px; background: #fff; box-shadow: inset 0 1px 1px rgba(16, 35, 63, .05); }
.sit-category-option input:checked + .sit-checkmark { border-color: var(--sit-blue-dark); background: linear-gradient(145deg, #3477ff, var(--sit-blue-dark)); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 0 #0e3d9c; }
.sit-category-option input:checked + .sit-checkmark::after { content: "✓"; color: #fff; font-size: .7rem; font-weight: 900; }
.sit-category-option input:focus-visible + .sit-checkmark { outline: 3px solid rgba(29, 99, 240, .24); outline-offset: 2px; }
.sit-category-name { overflow: hidden; color: #354a63; font-size: .81rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.sit-category-count { min-width: 23px; padding: 2px 6px; border-radius: 99px; background: #e8dfd5; color: #6d5e51; font-size: .65rem; font-weight: 800; text-align: center; }
.sit-filter-empty { color: var(--sit-muted); font-size: .82rem; }

.sit-filter-group select, .sit-search-field { width: 100%; min-height: 46px; border: 1px solid #c9bdb1; border-radius: 12px; background: #fff; box-shadow: inset 0 1px 2px rgba(16,35,63,.05); color: var(--sit-ink); font: inherit; font-size: .82rem; }
.sit-filter-group select { padding: 0 11px; cursor: pointer; }
.sit-search-field { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: center; padding: 0 12px; }
.sit-search-field svg { width: 18px; fill: none; stroke: #7a899a; stroke-linecap: round; stroke-width: 1.8; }
.sit-search-field input { min-width: 0; padding: 12px 0; border: 0; outline: 0; background: transparent; color: var(--sit-ink); font: inherit; font-size: .82rem; }
.sit-filter-group select:focus-visible, .sit-search-field:focus-within { border-color: var(--sit-blue); outline: 3px solid rgba(29,99,240,.16); outline-offset: 1px; }

.sit-filter-actions { display: grid; gap: 11px; }
.sit-filter-submit { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 0 14px; border: 1px solid #d84c1a; border-radius: 12px; background: linear-gradient(180deg, #ff7d41, var(--sit-orange) 55%, var(--sit-orange-dark)); box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 4px 0 #af350d, 0 10px 19px rgba(217,75,24,.18); color: #fff; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease; }
.sit-filter-submit:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 3px 0 #9d2e08, 0 13px 23px rgba(217,75,24,.24); }
.sit-filter-submit.is-loading { opacity: .72; pointer-events: none; }
.sit-filter-reset { color: var(--sit-blue-dark)!important; font-size: .76rem; font-weight: 750; text-align: center; text-decoration: none!important; }
.sit-filter-reset:hover { text-decoration: underline!important; }
.sit-filter-help { padding: 17px 20px 19px; border-top: 1px solid var(--sit-line); background: rgba(255,255,255,.42); }
.sit-filter-help strong { display: block; margin-bottom: 4px; font-size: .78rem; }
.sit-filter-help a { color: var(--sit-blue-dark)!important; font-size: .7rem; overflow-wrap: anywhere; text-decoration: none!important; }

.sit-results { min-width: 0; }
.sit-results-head { display: grid; grid-template-columns: 1fr minmax(240px, .85fr); gap: 28px; align-items: end; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid #d5cbc0; }
.sit-results-kicker { color: var(--sit-orange-dark); }
.sit-results-head h2 { margin: 0; color: var(--sit-ink); font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.04em; }
.sit-results-head p { margin: 0; color: var(--sit-muted); font-size: .88rem; line-height: 1.55; }
.sit-context-filters { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; padding: 12px 14px; border: 1px solid #d4c9be; border-radius: 14px; background: rgba(255,250,244,.76); }
.sit-context-filters > span { color: #57687c; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.sit-filter-pills { display: flex; gap: 7px; flex-wrap: wrap; }
.sit-filter-pill { padding: 7px 11px; border: 1px solid #c9bdb2; border-radius: 9px; background: #fff; color: #43566d!important; font-size: .73rem; font-weight: 750; text-decoration: none!important; }
.sit-filter-pill:hover, .sit-filter-pill.is-active { border-color: var(--sit-blue-dark); background: var(--sit-blue-dark); color: #fff!important; }

.sit-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sit-product-card { position: relative; display: flex!important; min-width: 0; flex-direction: column; overflow: hidden; margin: 0!important; padding: 0!important; border: 1px solid #d5cbc0; border-radius: 19px; background: linear-gradient(145deg, #fffaf4, #f1e9df); box-shadow: inset 0 1px 0 #fff, 0 5px 0 #d8cdc2, 0 15px 28px rgba(59,43,29,.1); opacity: 0; animation: sit-card-in .48s ease forwards; animation-delay: var(--sit-delay, 0ms); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.sit-product-card:hover { transform: translateY(-5px); border-color: #dda07e; box-shadow: inset 0 1px 0 #fff, 0 7px 0 #d1c2b4, 0 24px 38px rgba(59,43,29,.15); }
@keyframes sit-card-in { to { opacity: 1; } }
.sit-product-media { position: relative; display: grid; aspect-ratio: 1.28 / 1; place-items: center; overflow: hidden; border-bottom: 1px solid #ddd3c8; background: radial-gradient(circle at 50% 28%, #fff 0, #f3eee8 54%, #e7ded4 100%); }
.sit-product-media img { display: block!important; width: 82%!important; height: 82%!important; margin: 0!important; object-fit: contain; mix-blend-mode: multiply; transition: transform .3s ease; }
.sit-product-card:hover .sit-product-media img { transform: scale(1.035); }
.sit-product-badge { position: absolute; z-index: 2; top: 12px; left: 12px; padding: 5px 9px; border: 1px solid #d84c1a; border-radius: 8px; background: var(--sit-orange); box-shadow: 0 3px 0 #b53a10; color: #fff; font-size: .64rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.sit-product-content { display: flex; flex: 1; flex-direction: column; padding: 17px; }
.sit-product-category { min-height: 16px; overflow: hidden; color: var(--sit-orange-dark); font-size: .64rem; font-weight: 800; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.sit-product-category a { color: inherit!important; text-decoration: none!important; }
.sit-product-card h3 { margin: 8px 0 20px; color: var(--sit-ink); font-size: .95rem; line-height: 1.36; letter-spacing: -.015em; }
.sit-product-card h3 a { color: inherit!important; text-decoration: none!important; }
.sit-product-card h3 a:hover { color: var(--sit-blue-dark)!important; }
.sit-product-bottom { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; margin-top: auto; }
.sit-product-price { color: var(--sit-ink); font-size: .95rem; font-weight: 850; }
.sit-product-price del { display: block; color: #8995a3; font-size: .68rem; font-weight: 600; }
.sit-product-price ins { color: var(--sit-orange-dark); text-decoration: none; }
.sit-product-cart a.button { display: grid!important; width: 40px; min-width: 40px; height: 40px; margin: 0!important; padding: 0!important; place-items: center; overflow: hidden; border: 1px solid #143e93!important; border-radius: 11px!important; background: linear-gradient(180deg, #3477ff, var(--sit-blue-dark))!important; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 3px 0 #0e3d9c!important; color: transparent!important; font-size: 0!important; text-decoration: none!important; }
.sit-product-cart a.button::before { content: "+"; color: #fff; font-size: 1.25rem; font-weight: 500; line-height: 1; }
.sit-product-cart a.added_to_cart { display: none!important; }

.sit-pagination { display: flex; justify-content: center; gap: 7px; flex-wrap: wrap; margin-top: 34px; }
.sit-pagination .page-numbers { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid #cabeb2; border-radius: 10px; background: #fffaf4; box-shadow: 0 3px 0 #d4c8bd; color: var(--sit-ink)!important; font-size: .78rem; font-weight: 800; text-decoration: none!important; }
.sit-pagination .page-numbers:hover, .sit-pagination .page-numbers.current { border-color: var(--sit-blue-dark); background: var(--sit-blue-dark); box-shadow: 0 3px 0 #0d387f; color: #fff!important; }
.sit-no-results { padding: 60px 24px; border: 1px dashed #c9bcb0; border-radius: 20px; background: rgba(255,250,244,.62); text-align: center; }
.sit-no-results > span { display: grid; width: 56px; height: 56px; margin: 0 auto 18px; place-items: center; border-radius: 17px; background: #e6edf6; color: var(--sit-blue-dark); font-size: 1.8rem; }
.sit-no-results h3 { margin: 0; font-size: 1.3rem; }
.sit-no-results p { max-width: 480px; margin: 9px auto 19px; color: var(--sit-muted); line-height: 1.55; }
.sit-no-results a { color: var(--sit-blue-dark)!important; font-weight: 800; }
.sit-filter-notice { padding: 24px; border: 1px solid #d5cbc0; border-radius: 16px; background: #fffaf4; color: #10233f; }
.sit-filter-notice a { color: #1548b8; font-weight: 750; }

@media (max-width: 1080px) {
  .sit-shop { grid-template-columns: 250px minmax(0, 1fr); gap: 24px; }
  .sit-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .sit-shop { grid-template-columns: 1fr; }
  .sit-filter-panel { position: static; }
  .sit-category-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 210px; }
}
@media (max-width: 560px) {
  .sit-results-head { grid-template-columns: 1fr; gap: 8px; }
  .sit-product-grid { grid-template-columns: 1fr; }
  .sit-category-list { grid-template-columns: 1fr; }
  .sit-context-filters { align-items: flex-start; flex-direction: column; }
  .sit-pagination .prev span, .sit-pagination .next span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sit-shop *, .sit-shop *::before, .sit-shop *::after { scroll-behavior: auto!important; transition: none!important; animation: none!important; }
  .sit-product-card { opacity: 1; }
}
