/* KnifeCenter filter sheet + drilldown checkbox styling.
   Loaded by /kc_new/inc/drill-search10.html so every template that renders
   the filter sidebar gets it. JS companion: /assets/filter-sheet-1.js
   (injects the backdrop + sheet header and adds .filter-sheet). Mobile rules
   are gated on .filter-sheet so pages degrade to Bootstrap collapse if JS
   doesn't run. */

/* ---------- Mobile: filters open as a scrollable bottom sheet ---------- */
@media (max-width:767px){
	#collapse-drilldown.filter-sheet{
		position:fixed;left:0;right:0;bottom:0;top:auto;display:flex;flex-direction:column;
		width:100%;margin:0;z-index:1201;
		height:auto!important;max-height:85vh;max-height:85dvh;
		overflow:hidden;
		background:#fff;border-radius:16px 16px 0 0;
		box-shadow:none;
		transform:translateY(100%);transition:transform .3s ease;
		padding:0 0 max(16px,env(safe-area-inset-bottom));
		will-change:transform;
	}
	body.filters-open #collapse-drilldown.filter-sheet{transform:translateY(0);}
	#collapse-drilldown.filter-sheet .mainsidebar{
		flex:1 1 auto;background:#fff;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;float:none!important;width:auto!important;min-height:0!important;margin:0!important;padding:4px 14px max(18px,env(safe-area-inset-bottom))!important;
	}
	.filter-sheet-backdrop{
		position:fixed;inset:0;z-index:1200;
		background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .3s ease;
	}
	body.filters-open .filter-sheet-backdrop{opacity:1;pointer-events:auto;}
	body.filters-open{overflow:hidden;}
	.filter-sheet-head{
		flex:0 0 auto;background:#fff;
		display:flex;align-items:center;gap:8px;
		padding:18px 14px 10px;border-bottom:1px solid #eee;
	}
	.filter-sheet-title{font-weight:700;font-size:16px;}
	.filter-sheet-grabber{
		position:absolute;top:7px;left:50%;transform:translateX(-50%);
		width:40px;height:4px;border-radius:2px;background:#d5d5d5;
	}
	.filter-sheet-close{
		margin-left:auto;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;
		font-size:26px;line-height:1;background:none;border:0;color:#555;cursor:pointer;
	}

	/* Bigger touch targets + tidy rows inside the sheet */
	#collapse-drilldown.filter-sheet .drilldownsidebar li:has(> input[type=checkbox]){box-sizing:border-box;min-height:44px;column-gap:12px;padding:2px 0;}
	#collapse-drilldown.filter-sheet .drilldownsidebar li.lvl1:has(> a.narrow-by){min-height:0;padding:0;}
	#collapse-drilldown.filter-sheet .drilldownsidebar a.narrow-by{display:block;padding:6px 0;font-size:14px;line-height:1.3;}
	#collapse-drilldown.filter-sheet .drilldownsidebar li:has(> input[type=checkbox]) > label{font-size:16px;}
	#collapse-drilldown.filter-sheet .drilldownsidebar input[type=checkbox]{width:26px;height:26px;border-radius:7px;}
	#collapse-drilldown.filter-sheet .drilldownsidebar .block{border-bottom:1px solid #ececec!important;padding:8px 0!important;}
	#collapse-drilldown.filter-sheet .drilldownsidebar .block:last-child{border-bottom:0!important;}
	#collapse-drilldown.filter-sheet .drilldownsidebar legend{line-height:1.25!important;margin:0!important;}
	#collapse-drilldown.filter-sheet .drilldownsidebar legend .sbhead,#collapse-drilldown.filter-sheet .drilldownsidebar legend h5{line-height:1.25;padding:0 0 3px;margin:0;font-size:14px;}
	#collapse-drilldown .mainsidebar::-webkit-scrollbar{width:6px!important;}
	#collapse-drilldown .mainsidebar::-webkit-scrollbar-thumb{background:#cfcfcf!important;border-radius:3px!important;box-shadow:none!important;}
	#collapse-drilldown .mainsidebar::-webkit-scrollbar-track{background:transparent!important;box-shadow:none!important;}
	#collapse-drilldown.filter-sheet .hidden-desktop-tooltip{display:none;}
	#collapse-drilldown .drilldownsidebar input[type=checkbox]:focus-visible{outline:2px solid #d85b08;outline-offset:2px;}
}

/* ---------- Shared (desktop rail + mobile sheet) ---------- */
#collapse-drilldown #sidebarTooltip{display:none!important;}
.kc-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#filtersToggle,a.collapsable[data-target="#collapse-drilldown"],#collapse-drilldown .filter-sheet-close,#collapse-drilldown .drilldownsidebar input[type=checkbox],#collapse-drilldown .drilldownsidebar label,#collapse-drilldown .drilldownsidebar a{touch-action:manipulation;-webkit-tap-highlight-color:rgba(216,91,8,.15);}

/* On-brand checkboxes */
#collapse-drilldown .drilldownsidebar input[type=checkbox]{-webkit-appearance:none;appearance:none;position:relative;flex:none;margin:0;transform:none;vertical-align:middle;width:22px;height:22px;border:2px solid #808080;border-radius:6px;background:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease;}
#collapse-drilldown .drilldownsidebar input[type=checkbox]:checked{background:#d85b08 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/70% no-repeat;border-color:#d85b08;}
#collapse-drilldown .drilldownsidebar input[type=checkbox]::after{content:none;}
#collapse-drilldown .drilldownsidebar input[type=checkbox]:focus-visible{outline:2px solid #d85b08;outline-offset:2px;}
#collapse-drilldown .drilldownsidebar li:has(> input[type=checkbox]){display:flex;align-items:center;column-gap:10px;margin:0;padding:6px 0;line-height:1.3;}
#collapse-drilldown .drilldownsidebar li:has(> input[type=checkbox]) > label{font-size:14px;font-weight:400;color:#1a1a1a;margin:0;flex:1;cursor:pointer;line-height:1.3;}
@media (hover:hover){#collapse-drilldown .drilldownsidebar li:has(> input[type=checkbox]):hover input[type=checkbox]{border-color:#e0a273;}}
@media (prefers-reduced-motion:reduce){#collapse-drilldown.filter-sheet,.filter-sheet-backdrop{transition:none;}}
@media (min-width:768px){.filter-sheet-backdrop,.filter-sheet-head{display:none;}}
