/* Final BOKO shop body. Header/footer remain owned by the existing theme/shell. */
body.boko-shop-final { min-width:0 !important; overflow-x:hidden !important; }
body.boko-shop-final #main-wrapper { background:#faf9f7 !important; }
body.boko-shop-final #sidebar-top-archive,
body.boko-shop-final .woocommerce-products-header,
body.boko-shop-final .tbay-filter,
body.boko-shop-final .products-grid,
body.boko-shop-final .woocommerce-pagination,
body.boko-shop-final .woocommerce-result-count,
body.boko-shop-final .boko-shop-intro,
body.boko-shop-final .boko-shop-meta,
body.boko-shop-final .boko-shop-band { display:none !important; }
body.boko-shop-final #tbay-main-content,
body.boko-shop-final #main-wrapper,
body.boko-shop-final #main-container,
body.boko-shop-final #main { min-width:0 !important; }
body.boko-shop-final #main-container.container { width:100% !important; max-width:none !important; padding:0 !important; }
body.boko-shop-final #main-container > .row { margin:0 !important; }
body.boko-shop-final #main { width:100% !important; max-width:none !important; padding:0 !important; }
body.boko-shop-final .footer-device-mobile { display:none !important; }

#boko-final-shop {
  --ink:#171717; --muted:#737373; --line:#e7e7e4; --soft:#f4f3f0;
  width:100%; max-width:100%; overflow:hidden; color:var(--ink); background:#faf9f7;
  font:400 16px/1.5 Geist,system-ui,sans-serif; -webkit-font-smoothing:antialiased;
}
#boko-final-shop, #boko-final-shop * { box-sizing:border-box; }
#boko-final-shop button { font:inherit; color:inherit; cursor:pointer; }
.bsf-shell { width:100%; max-width:1320px; margin:0 auto; padding:0 40px; }
.bsf-intro { padding:48px 0 6px; }
.bsf-intro h1 { margin:0; max-width:18ch; font-size:48px; line-height:1.05; letter-spacing:-.035em; font-weight:700; }
.bsf-meta { display:flex; justify-content:space-between; gap:10px; margin-top:24px; padding-bottom:14px; border-bottom:1px solid var(--line); color:var(--muted); font-size:12.5px; }
.bsf-tools { padding:18px 0 10px; }
.bsf-chips { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; }
.bsf-chips::-webkit-scrollbar { display:none; }
.bsf-chip { flex:none; display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 14px; border:1px solid var(--line); border-radius:999px; background:#faf9f7; font-size:13px; white-space:nowrap; }
.bsf-chip i { color:#a3a3a3; font-size:11.5px; font-style:normal; }
.bsf-chip.is-active { border-color:#171717; background:#171717; color:#fff !important; }
.bsf-chip.is-active i { color:rgb(255 255 255/.7); }
.bsf-toolbar { display:flex; align-items:center; justify-content:space-between; margin-top:10px; font-size:13px; }
.bsf-count { color:var(--muted); }
.bsf-actions { display:flex; align-items:center; gap:6px; }
.bsf-sort { display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 12px; border:1px solid var(--line); border-radius:999px; background:#faf9f7; font-size:13px; }
.bsf-sort svg { width:15px; height:15px; }
.bsf-view { display:none; border:1px solid var(--line); border-radius:999px; padding:2px; }
.bsf-view button { display:flex; align-items:center; justify-content:center; width:30px; height:28px; padding:0; border:0; border-radius:999px; background:transparent; }
.bsf-view button.is-active { background:var(--soft); }
.bsf-view svg { width:15px; height:15px; }
.bsf-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; padding:22px 0 70px; }
.bsf-card { min-width:0; display:block; padding:6px 6px 12px; border-radius:9px; background:#fff; box-shadow:0 10px 28px -16px rgb(0 0 0/.35); color:inherit; text-decoration:none !important; }
.bsf-card:hover, .bsf-card:focus { color:inherit; text-decoration:none !important; transform:none; }
.bsf-image { position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:3px; background:#ececea; }
.bsf-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 60%; transform:scale(1); transition:none !important; }
.bsf-card:hover .bsf-image img { transform:scale(1); }
.bsf-copy { padding:10px 0 0; text-align:left; }
.bsf-copy h2 { margin:0; font-size:18px; font-weight:700; letter-spacing:-.015em; line-height:1.2; }
.bsf-sub { margin:3px 0 0; color:var(--muted); font-size:13.5px; line-height:1.3; }
.bsf-price { margin:6px 0 0; font-size:14px; font-weight:500; }
.bsf-price small { color:var(--muted); font-size:.88em; font-weight:400; }

@media (min-width:768px) and (max-width:1099.98px) {
  .bsf-shell { max-width:none; padding:0 24px; }
  .bsf-intro { padding-top:40px; }
  .bsf-intro h1 { font-size:40px; }
  .bsf-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 18px; }
  .bsf-view { display:none !important; }
}

@media (max-width:767.98px) {
  .bsf-shell { max-width:none; padding:0; }
  .bsf-intro { padding:10px 16px 6px; }
  .bsf-intro h1 { max-width:none; font-size:31px; }
  .bsf-meta { margin-top:16px; }
  .bsf-tools { padding:10px 0; }
  .bsf-chips, .bsf-toolbar { padding-right:16px; padding-left:16px; }
  .bsf-view { display:inline-flex; }
  .bsf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 14px; padding:14px 16px 20px; }
  .bsf-grid.is-one { grid-template-columns:1fr; }
  .bsf-copy h2 { font-size:16px; }
  .bsf-sub { font-size:12.5px; }
  .bsf-price { font-size:13px; }
}
