.category{min-height:100vh;background:#f8f8fb;padding-bottom:60px}.category-hero{display:-webkit-flex;display:-ms-flexbox;display:flex}.category-hero .content{width:auto;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;position:relative;height:100%;top:0}.category-hero .content .image{position:relative;z-index:1;height:100%;top:0}.category-hero .content .image img{width:100%;height:100%;object-fit:cover}.category-hero .content h1{position:absolute;top:0;bottom:0;width:84%;margin:auto;right:0;height:auto;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;z-index:3;font-size:42px;line-height:48px;font-size:4.2rem;line-height:4.8rem}@media only screen and (min-width:858px){.category-hero .content h1{font-size:54px;line-height:60px;font-size:5.4rem;line-height:6rem}}@media only screen and (min-width:1210px){.category-hero .content h1{font-size:60px;line-height:66px;font-size:6rem;line-height:6.6rem}}.category-hero .ad{height:100%;display:none;min-width:300px;max-width:300px;width:300px}@media only screen and (min-width:780px){.category-hero .ad{display:block}}@media only screen and (min-width:858px){.category-hero .ad{min-width:420px;max-width:420px;width:420px}}.category-hero .ad a{display:block;height:100%}.category-hero .ad img{width:100%;height:100%;object-fit:cover}.toolbar{padding:18px 0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.toolbar .container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.toolbar .facetwp-facet{margin-bottom:0}.toolbar .results{display:block;width:100%;text-align:center;padding:6px 0}.toolbar .sorting{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%}.toolbar .sorting .facetwp-sort{width:100%;min-width:100%;margin-bottom:12px}.toolbar .sorting .facetwp-sort .facetwp-sort-select{width:100%}.toolbar .sorting .facetwp-facet{margin-bottom:0}.toolbar .woocommerce-breadcrumb{display:none}@media only screen and (min-width:858px){.toolbar{-webkit-flex-wrap:none;-ms-flex-wrap:none;flex-wrap:none}.toolbar .results{display:block;width:initial;text-align:initial;padding:0}.toolbar .sorting{width:initial;-webkit-flex-wrap:none;-ms-flex-wrap:none;flex-wrap:none;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.toolbar .sorting .facetwp-sort{width:auto;min-width:0;margin-bottom:0}.toolbar .sorting .facetwp-sort .facetwp-sort-select{width:initial}.toolbar .woocommerce-breadcrumb{display:-webkit-flex;display:-ms-flexbox;display:flex}}.category-contain{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:100%}.category-contain .sidebar{min-width:240px;max-width:240px;width:240px;margin-right:18px}@media only screen and (min-width:1210px){.category-contain .sidebar{min-width:300px;max-width:300px;width:300px}}.category-contain .product-grid{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:auto;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-left:auto}.category-contain .product-grid .products{width:100%;margin:0;padding:0;display:grid;grid-template-columns:repeat(1,1fr);grid-gap:12px}.category-contain .product-grid .products .product-card{width:auto}@media (min-width:570px){.category-contain .product-grid .products{grid-template-columns:repeat(2,1fr)}}@media only screen and (min-width:1114px){.category-contain .product-grid .products{grid-template-columns:repeat(3,1fr)}}@media only screen and (min-width:1530px){.category-contain .product-grid .products{grid-template-columns:repeat(4,1fr)}}.category-contain .product-grid .products.ancient .product-card{width:calc(25% - 12px);float:left;margin-left:12px;margin-bottom:12px}.noUi-horizontal .noUi-handle{border:2px solid #1b75bc;border-radius:50%;width:15px!important;height:15px!important;top:-5px!important}html:not([dir=rtl]) .noUi-horizontal .noUi-handle{right:-7px!important}.noUi-connect{background:#1b75bc!important}.noUi-horizontal{height:6px!important;border:0}.sidebar-close,.sidebar-filters-toggle{display:block}@media only screen and (min-width:950px){.sidebar-close,.sidebar-filters-toggle{display:none}}.sidebar-filters-toggle{margin-left:18px;width:auto;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;text-align:center}@media only screen and (min-width:858px){.sidebar-filters-toggle{-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;text-align:initial}}.sidebar{overflow-y:scroll}@media only screen and (min-width:858px){.sidebar{overflow:hidden}}.sidebar .sidebar-title{font-size:18px;line-height:20px}.sidebar .sidebar-contain{background:#fff;padding:18px 18px;border-bottom:1px solid #e0e0e0}@media only screen and (min-width:858px){.sidebar .sidebar-contain{height:initial;overflow:hidden}}@media only screen and (min-width:950px){.sidebar .sidebar-contain{box-shadow:0 6px 12px rgba(0,0,0,.06);border-bottom:0;padding:12px 18px;margin-bottom:18px}}.sidebar .sidebar-contain.padded{padding:18px 24px}.sidebar .sidebar-contain .title-row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;clear:both;margin:0}.sidebar .sidebar-contain .title-row h3{font-size:16px;line-height:18px}.sidebar .sidebar-contain .title-row h3 .wpbb_tooltip{margin-left:4px}.sidebar .sidebar-contain .title-row .filter-toggle{margin-left:auto;height:24px;width:24px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.sidebar .sidebar-contain .title-row .filter-toggle svg{width:100%;height:100%;stroke:#ed1c24}.sidebar .sidebar-contain .facet{margin-top:18px;display:none}.sidebar .sidebar-contain .facet .facetwp-facet{margin-bottom:0}.sidebar .sidebar-contain .facet .facetwp-slider-wrap{padding:0}.sidebar .sidebar-contain .facet .facetwp-checkbox{font-size:15px;font-family:tenon,sans-serif;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.sidebar .sidebar-contain .facet .facetwp-counter{font-size:14px;font-family:tenon,sans-serif;margin-left:4px}.sidebar .sidebar-contain .facet .facetwp-slider-label{margin-top:12px;display:block}.sidebar .sidebar-contain .facet .facetwp-checkbox{background-image:url(../images/facet-checkbox.png)!important;background-position:0 4px!important}.sidebar .sidebar-contain .facet .facetwp-checkbox:hover{background-image:url(../images/facet-checkbox-on.png)!important}.sidebar .sidebar-contain .facet .facetwp-checkbox.checked{background-image:url(../images/facet-checkbox-on.png)!important;background-position:0 4px!important}.sidebar .sidebar-contain .facet .clear-facet{margin-top:18px;font-size:14px;line-height:14px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:none;color:#1b75bc;text-decoration:underline;padding-bottom:6px}.sidebar .sidebar-contain .facet .clear-facet svg{width:14px;height:14px;display:block;margin-right:3px}.sidebar .sidebar-contain .facet .clear-facet.active{display:-webkit-flex;display:-ms-flexbox;display:flex}.sidebar .sidebar-contain.active .facet{display:block}.sidebar .sidebar-contain.active .title-row .filter-toggle{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.sidebar{position:fixed;z-index:999999999999;height:100%;top:0;left:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);transition:all .2s ease-in;box-shadow:0 6px 18px rgba(0,0,0,.06);background:#fff;padding:24px 0}.sidebar.active{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);transition:all .2s ease-in}@media only screen and (min-width:950px){.sidebar{background:rgba(255,255,255,0);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);position:relative;box-shadow:0 0 0 transparent;z-index:auto;height:auto;padding:0}.sidebar .sidebar-contain{height:auto}}.sidebar-link-list{margin-top:18px;height:calc(100% - 36px);overflow:hidden;overflow-y:scroll}.sidebar-link-list ul{margin:0;padding:0}.sidebar-link-list ul li{margin:0;padding:0}.sidebar-link-list ul li .cat-name{font-weight:500;color:#333;font-size:16px;line-height:18px;margin-bottom:12px;display:block}.sidebar-link-list ul li ul.sub-links{margin-bottom:24px}.sidebar-link-list ul li ul.sub-links li a{color:#555;font-size:15px;line-height:24px}.sidebar-link-list ul li ul.sub-links li a:hover{text-decoration:underline}.sidebar-link-list ul li ul.sub-links li:last-child{margin-top:12px}.sidebar-link-list ul li ul.sub-links li:last-child a{color:#1b75bc;font-size:15px;font-weight:500;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.sidebar-link-list ul li ul.sub-links li:last-child a:after{content:"";-webkit-mask-image:url(../images/icons/blue-angle-right.svg);mask-image:url(../images/icons/blue-angle-right.svg);background:#1b75bc;-webkit-mask-size:100% 100%;mask-size:100% 100%;position:relative;top:-1px;width:10px;height:10px;margin-left:6px;display:block}@media only screen and (min-width:858px){.sidebar-link-list{height:initial;overflow:hidden}}.category-index-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:auto;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-left:auto;max-width:100%}@media only screen and (min-width:950px){.category-index-content{max-width:calc(100% - 258px)}}@media only screen and (min-width:1114px){.category-index-content{max-width:calc(100% - 318px)}}.category-index-content .subcategory-index-images{width:100%;overflow:hidden}.category-index-content .subcategory-index-images .slick-list{max-width:calc(100% - 72px);margin:0 auto}.category-index-content .subcategory-index-images .slick-prev{left:6px;width:30px;height:36px}.category-index-content .subcategory-index-images .slick-next{right:6px;width:30px;height:36px}.category-index-content .subcategory-index-images ul{display:block;margin:0;white-space:nowrap;padding:0;width:100%;overflow:hidden}@media only screen and (min-width:780px){.category-index-content .subcategory-index-images ul{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;display:-webkit-flex;display:-ms-flexbox;display:flex}}.category-index-content .subcategory-index-images ul li{width:100%;display:inline-block;margin-bottom:0;height:210px;overflow:hidden;margin-left:12px;margin-right:12px}@media only screen and (min-width:780px){.category-index-content .subcategory-index-images ul li{width:calc(33.33% - 8px);height:150px;margin:0;margin-bottom:12px}.category-index-content .subcategory-index-images ul li:nth-child(2),.category-index-content .subcategory-index-images ul li:nth-child(5){margin-left:12px;margin-right:12px}}@media only screen and (min-width:950px){.category-index-content .subcategory-index-images ul li{height:180px}}.category-index-content .subcategory-index-images ul li a{position:relative;z-index:1;height:100%;width:100%;display:block}.category-index-content .subcategory-index-images ul li a .image{position:relative;z-index:2;width:100%;height:100%;display:block;background-image:linear-gradient(to top right,#000,#000,#fff)}.category-index-content .subcategory-index-images ul li a .image img{width:100%;height:100%;opacity:.85;object-fit:cover;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);transition:all .2s ease-in}.category-index-content .subcategory-index-images ul li a .text{position:absolute;z-index:3;bottom:12px;left:12px;color:#fff;font-weight:500;font-size:18px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.category-index-content .subcategory-index-images ul li:hover a .image img{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05);transition:all .2s ease-in}.cat-index-section{display:block;width:100%;clear:both;margin-top:24px}.featured-product-grid{width:100%;margin:0;padding:0;display:grid;grid-template-columns:repeat(1,1fr);grid-gap:12px}.featured-product-grid .item{width:auto}.featured-product-grid .item .product-card{height:100%;width:auto}@media (min-width:570px){.featured-product-grid{grid-template-columns:repeat(2,1fr)}}@media only screen and (min-width:780px){.featured-product-grid{grid-template-columns:repeat(3,1fr)}}@media only screen and (min-width:1210px){.featured-product-grid{grid-template-columns:repeat(3,1fr)}}@media only screen and (min-width:1530px){.featured-product-grid{grid-template-columns:repeat(4,1fr)}}.featured-product-grid.ancient .product-card{width:calc(25% - 12px);float:left;margin-left:12px;margin-bottom:12px}.pagination{margin-top:42px;width:100%}.facetwp-pager{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.facetwp-pager a{width:30px;text-decoration:none;height:36px;line-height:36px;color:#1b75bc;background:#fff;border:2px solid rgba(27,117,188,.25);text-align:center;border-radius:4px;margin:0 6px;box-shadow:0 2px 2px rgba(0,0,0,.06)}.facetwp-pager a.active{border:2px solid rgba(27,117,188,.75);box-shadow:0 2px 4px rgba(0,0,0,.08)}.page-numbers{margin:0;padding:0;list-style-type:none;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.page-numbers li{display:block;margin:0 6px}.page-numbers li a,.page-numbers li span{width:42px;height:42px;line-height:39px;color:#1b75bc;border:2px solid rgba(255,255,255,0)}.page-numbers li span{border:2px solid #1b75bc}.facetwp-sort-select{height:36px;padding:0 6px;outline:0;border:1px solid #f3f3f3;box-shadow:0 2px 2px rgba(0,0,0,.06)}.sorting .facetwp-pager{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.06);border-radius:4px;margin-left:0}@media only screen and (min-width:858px){.sorting .facetwp-pager{margin-left:18px}}.sorting .facetwp-pager a{width:36px;height:36px;line-height:36px;padding:0;font-size:14px;margin:0;border-radius:0;border:0;color:#999;opacity:.6}.sorting .facetwp-pager a.active{color:#1b75bc;opacity:1;background:#fefefe}.sorting .facetwp-pager a:hover{color:#1b75bc;opacity:1}


/* ============================================================
   Shop / category archive .boc-* layer — relocated from the deleted
   comps-era sheet (removed 2026-07-27). Markup in
   woocommerce/archive-product.php. This file is enqueued after nouislider
   (and after boc-styles.css), so these appended rules keep their old
   winners: every selector here is .boc-anchored (higher specificity than
   Adam's single-class rules), and Adam's minified rules above set no
   property these overlap at equal specificity (his .toolbar already sets
   flex-wrap:wrap; only gap:12px is added here). Values unchanged.
   ============================================================ */

/* The original's `.page.category` canvas (category.css owns the rule but our
   wrapper lacks its class): light page bg so the white cards read as cards. */
.tax-product_cat .boc-main,
.post-type-archive-product .boc-main { background: #f8f8fb; padding-bottom: 60px; min-height: 100vh; }

/* Rail ladder mirrors category.css's `.category-contain .sidebar` (scoped to
   markup we don't render): 240px + 18px gap, 300px from 1210px up. */
.boc-shop { display: grid; grid-template-columns: 240px 1fr; gap: 18px; padding-block: 0; align-items: start; }
@media (min-width: 1210px) {
	.boc-shop { grid-template-columns: 300px 1fr; }
}

/* Filter sidebar — card chrome (white card / shadow / mobile flush section)
   comes from category.css's `.sidebar-contain`, carried on each .boc-facet. */
.boc-filters { border: 0; }
.boc-facet__head {
	list-style: none;
	cursor: pointer;
	padding: 2px 0;
	font-family: tenon, sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #222027;
	display: flex;
	align-items: center;
	gap: 0;
	position: relative;
}
.boc-facet__head::-webkit-details-marker { display: none; }
/* Chevron = category.css's `.title-row .filter-toggle` (24px red feather SVG);
   only the open-state rotation is ours (the original flips it from JS). */
.sidebar .boc-facet[open] > .title-row .filter-toggle { transform: rotate(180deg); }
/* Help icon: feather help-circle at ink color; bubble + 14px svg sizing come
   from boc-styles.css's `.wpbb_tooltip`. */
.boc-facet__head .boc-facet__help { margin-left: 4px; color: #222027; cursor: help; display: inline-flex; flex: 0 0 auto; }
/* Deliberate deviation (Kyler-approved option B, 2026-07-03): the original's
   card overflow:hidden clips its own tooltip bubble to an invisible sliver.
   Our accordion is <details> (no height animation needing the clip), so let
   the bubble escape — the card always, the rail on desktop only (the mobile
   slide-over needs its overflow scroll). (.boc-shop prefixes outgun
   category.css's overflow rules.) */
.boc-shop .boc-facet.sidebar-contain { overflow: visible; }
@media (min-width: 950px) {
	.boc-shop .sidebar { overflow: visible; }
}
.boc-facet__body { padding: 6px 0 0; }
/* Reset UA <ul> defaults (40px indent + 1em margins) that wasted space, and keep
   filter rows tight so many facets stay compact. */
.boc-facet__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0; }
.boc-facet__list li { margin: 0; display: block; }

/* Checkbox rows — the original's PNG checkboxes. category.css's versions are
   scoped under FacetWP wrappers we don't render, so the base props AND the
   hover/checked image swaps are replicated here with its values. The `.checked`
   class is PHP-rendered (every change reloads via the auto-submitting form).
   Real <input> stays for the GET form, visually hidden. */
.boc-check {
	display: flex;
	align-items: center;
	position: relative;
	font-size: 15px;
	font-family: tenon, sans-serif;
	color: #444;
	line-height: 22px;
	cursor: pointer;
	margin: 0 0 4px;
	padding: 0 0 0 20px;
	background: url(../images/facet-checkbox.png) no-repeat 0 4px;
	background-size: 14px 14px;
}
.boc-check:hover,
.boc-check.checked { background-image: url(../images/facet-checkbox-on.png); }
.boc-check input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
/* "(N)" option counter — category.css's .facetwp-counter values, re-scoped. */
.boc-check .facetwp-counter { font-size: 14px; font-family: tenon, sans-serif; margin-left: 4px; }
/* Per-facet Clear Filter link — values from category.css's `.clear-facet`
   (scoped there under FacetWP wrappers we don't render). PHP only outputs it
   when that facet is active, so no display:none/.active dance. */
.boc-facet .clear-facet { margin-top: 18px; font-size: 14px; line-height: 14px; display: flex; align-items: center; color: #1b75bc; text-decoration: underline; padding-bottom: 6px; }
.boc-facet .clear-facet svg { width: 14px; height: 14px; display: block; margin-right: 3px; }

/* Dual-handle noUiSlider (Price / BTU). Blue handle/track theming lives in
   the minified rules above (loaded after nouislider so the overrides win). */
.boc-noui { margin: 12px 5px 4px; }
.boc-noui-label { font-size: 16px; color: #444; margin-top: 12px; }
/* Vendor drift vs the original's (older) noUiSlider skin: bordered track,
   plain 15px white/blue-border handle with no shadow or grip ticks. */
.boc-noui.noUi-target { border: 1px solid #d3d3d3; }
.boc-noui .noUi-handle { box-shadow: none; }
.boc-noui .noUi-handle::before,
.boc-noui .noUi-handle::after { content: none; }

/* Toolbar row: breadcrumb left, count + sort + pagination right (one row,
   so there's no separate bar adding vertical gap under the category header). */
.toolbar { flex-wrap: wrap; gap: 12px; }
/* Sort select, top pager, and the <858px stacking all come from the minified
   `.sorting` / `.facetwp-sort-select` / `.sorting .facetwp-pager` rules above —
   the markup carries the original's classes. Spacing is Adam's margins (pager
   and Toggle Sidebar each margin-left 18px), so no flex gap here. */
.boc-toolbar__right { display: flex; align-items: center; gap: 0; margin-left: auto; }
.boc-toolbar__right .boc-shop__sort-wrap { display: flex; align-items: center; margin: 0; }

/* Column ladder mirrors the original's category.css: 1 base / 2 >=570 / 3 >=1114 / 4 >=1530.
   12px gap = the original's grid-gap (the base .boc-product-grid 15px is comps-era). */
.boc-product-grid--shop { grid-template-columns: repeat(4, 1fr); gap: 12px; }
/* R2-11: the WC "no products" notice was landing in ONE grid cell (~272px) and
   wrapping to two lines; the original's flex grid lets it take its natural
   ~437px on one line. Span the full row, keep the box at text width. */
.boc-product-grid .woocommerce-no-products-found { grid-column: 1 / -1; justify-self: start; max-width: 100%; }
.boc-product-grid .woocommerce-no-products-found .woocommerce-info { width: max-content; max-width: 100%; }
@media (max-width: 1529px) { .boc-product-grid--shop { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1113px) {
	.boc-product-grid--shop { grid-template-columns: repeat(2, 1fr); }
}
/* Under 950px the filter rail leaves the grid: the minified rules above fix
   `.sidebar` off-canvas (translateX(-100%), `.active` slides it in via the
   Toggle Sidebar button) and skin it — white panel, padding 24px 0, flush
   full-width facet sections via the mobile-first `.sidebar-contain` rule.
   Only the close X placement is ours. */
@media (max-width: 949px) {
	.boc-shop { grid-template-columns: 1fr; }
	/* Panel width = the original's (its 240px lives on `.category-contain
	   .sidebar`, scoped to markup we don't render). */
	.boc-shop .sidebar { width: 240px; }
	.boc-shop .sidebar .close { position: absolute; top: 10px; right: 12px; color: #1a1a1a; }
}
@media (max-width: 569px) {
	.boc-product-grid--shop { grid-template-columns: 1fr; }
}
/* ===== Relocated from style.css 2026-07-28 (audit row A-15): these rules only
   ever apply on this template, so they no longer load sitewide. Values and
   declaration order unchanged. ===== */
/* Box-sizing parity restore, relocated from style.css 2026-07-28 (audit A-15):
   the landing tile slider .slick-list is capped at calc(100% - 72px) above
   while slick adds 50px centerMode side padding inline; under the global
   border-box reset that clamps the padded box and slick computes 142px
   slides instead of Adam's 214px. */
.category-index-content .subcategory-index-images .slick-list { box-sizing: content-box; }

/* ===== R-6, the disclosure contract (DISCLOSURE_CONTRACT.md §3) =====
   Under 950px the rail is a slide-over parked at translateX(-100%). A
   transform moves a box; it does not remove it from the tab order, so the
   closed rail was holding 17 controls off-screen — a keyboard user tabbed
   through the whole facet stack before reaching the product grid, with
   nothing visible moving.

   `visibility` is the mechanism the contract names: it transitions discretely
   (flips at the end of the collapse, the start of the expand), so the 0.2s
   slide the minified rules above own is unchanged.

   Scoped to the mobile band deliberately. At 950px and up the rail is
   ordinary sidebar content sitting in the grid, and its controls belong in
   the tab order exactly where they are. No visibility is declared there. */
@media (max-width: 949px) {
	.sidebar { visibility: hidden; }
	.sidebar.active { visibility: visible; }
}
