/* ============================================================
   NS Filters v2.1 — Barra horizontal + drawer mobile
   ============================================================ */

:root{
	--nsf-blue:#046BD2;
	--nsf-gold:#F59E0B;
	--nsf-dark:#0f1117;
	--nsf-dark-2:#171a24;
	--nsf-border:#262a36;
	--nsf-text:#e7e9ef;
	--nsf-text-dim:#9aa0ae;
	--nsf-font:"Space Grotesk", sans-serif;
}

/* Anula por completo a antiga sidebar em CSS Grid */
.ast-woocommerce-container{
	display:block !important;
	grid-template-columns:none !important;
}
.ast-woocommerce-container .widget-area,
.ast-shop-sidebar,
#secondary.widget-area{
	display:none !important;
}

/* ---------------- Barra desktop ---------------- */
.nsf-bar{
	background:var(--nsf-dark);
	border-bottom:1px solid var(--nsf-border);
	font-family:var(--nsf-font);
	color:var(--nsf-text);
	position:relative;
	z-index:30;
	margin-bottom:24px;
}
.nsf-bar__inner{
	max-width:1400px;
	margin:0 auto;
	padding:10px 20px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	flex-wrap:wrap;
}
.nsf-bar__groups{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.nsf-bar__right{display:flex;align-items:center;gap:14px;flex-shrink:0;}

.nsf-result-count{color:var(--nsf-text-dim);font-size:13px;white-space:nowrap;}

/* ---------------- Dropdowns ---------------- */
.nsf-fdrop{position:relative;}
.nsf-fdrop__toggle{
	display:flex;align-items:center;gap:6px;
	background:var(--nsf-dark-2);
	border:1px solid var(--nsf-border);
	color:var(--nsf-text);
	padding:9px 14px;
	border-radius:8px;
	font-family:var(--nsf-font);
	font-size:14px;
	cursor:pointer;
	transition:border-color .15s, background .15s;
	white-space:nowrap;
}
.nsf-fdrop__toggle:hover{border-color:var(--nsf-blue);}
.nsf-fdrop.is-open .nsf-fdrop__toggle{border-color:var(--nsf-blue);background:#1c2030;}
.nsf-fdrop.is-open .nsf-fdrop__chev{transform:rotate(180deg);}
.nsf-fdrop__chev{transition:transform .15s;color:var(--nsf-text-dim);flex-shrink:0;}
.nsf-fdrop__badge{
	background:var(--nsf-blue);color:#fff;font-size:11px;font-weight:600;
	border-radius:999px;min-width:18px;height:18px;display:inline-flex;
	align-items:center;justify-content:center;padding:0 5px;
}

.nsf-fdrop__panel{
	display:none;
	position:absolute;top:calc(100% + 8px);left:0;
	background:var(--nsf-dark-2);
	border:1px solid var(--nsf-border);
	border-radius:10px;
	padding:14px;
	width:280px;
	box-shadow:0 12px 32px rgba(0,0,0,.45);
}
.nsf-fdrop.is-open .nsf-fdrop__panel{display:block;}
.nsf-fdrop--sort .nsf-fdrop__panel{right:0;left:auto;width:230px;}

.nsf-fdrop__actions{
	display:flex;justify-content:space-between;gap:8px;
	margin-top:12px;padding-top:10px;border-top:1px solid var(--nsf-border);
}
.nsf-btn-ghost,.nsf-btn-primary{
	font-family:var(--nsf-font);font-size:13px;border-radius:6px;padding:8px 12px;
	cursor:pointer;border:1px solid var(--nsf-border);text-decoration:none;
	display:inline-flex;align-items:center;justify-content:center;
}
.nsf-btn-ghost{background:transparent;color:var(--nsf-text-dim);}
.nsf-btn-ghost:hover{color:var(--nsf-text);}
.nsf-btn-primary{background:var(--nsf-blue);border-color:var(--nsf-blue);color:#fff;font-weight:600;}
.nsf-btn-primary:hover{background:#0559ab;color:#fff;}

/* ---------------- Conteúdo dos grupos (comum a dropdown e drawer) ---------------- */
.nsf-search-input{
	width:100%;box-sizing:border-box;
	background:var(--nsf-dark);border:1px solid var(--nsf-border);
	color:var(--nsf-text);border-radius:6px;padding:8px 10px;
	font-family:var(--nsf-font);font-size:13px;margin-bottom:10px;
}
.nsf-checklist{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;}
.nsf-loading-txt{color:var(--nsf-text-dim);font-size:13px;}

.nsf-check-label{
	display:flex;align-items:center;gap:8px;
	padding:6px 4px;border-radius:6px;cursor:pointer;font-size:13.5px;color:var(--nsf-text);
}
.nsf-check-label:hover{background:rgba(255,255,255,.04);}
.nsf-check-label input{accent-color:var(--nsf-blue);}
.nsf-radio-label{justify-content:flex-start;}

.nsf-group--stock{display:flex;align-items:center;}
.nsf-stock-label{
	display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;
	color:var(--nsf-text);background:var(--nsf-dark-2);border:1px solid var(--nsf-border);
	padding:9px 14px;border-radius:8px;white-space:nowrap;
}
.nsf-stock-label input{accent-color:var(--nsf-blue);width:16px;height:16px;}

/* Preço */
.nsf-price-display{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--nsf-text);margin-bottom:4px;font-weight:600;}
.nsf-price-display span:nth-child(2){color:var(--nsf-text-dim);font-weight:400;}
.nsf-range-wrap{position:relative;height:34px;margin:6px 0 4px;}
.nsf-range-fill{position:absolute;top:15px;left:0;right:0;height:4px;background:var(--nsf-border);border-radius:2px;overflow:hidden;}
.nsf-range{
	position:absolute;top:8px;left:0;width:100%;
	-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;margin:0;height:18px;
}
.nsf-range::-webkit-slider-thumb{
	-webkit-appearance:none;pointer-events:all;
	width:16px;height:16px;border-radius:50%;
	background:var(--nsf-gold);border:2px solid var(--nsf-dark-2);cursor:pointer;
}
.nsf-range::-moz-range-thumb{
	pointer-events:all;width:16px;height:16px;border-radius:50%;
	background:var(--nsf-gold);border:2px solid var(--nsf-dark-2);cursor:pointer;
}

.nsf-clear-all{
	display:flex;align-items:center;gap:6px;background:transparent;border:none;
	color:var(--nsf-text-dim);font-family:var(--nsf-font);font-size:13px;cursor:pointer;
	text-decoration:none;padding:9px 6px;
}
.nsf-clear-all:hover{color:var(--nsf-gold);}

/* ---------------- Barra e drawers mobile ---------------- */
.nsf-mbar{display:none;}
.nsf-overlay{
	display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998;
}
.nsf-overlay.is-visible{display:block;}

.nsf-drawer{
	position:fixed;top:0;right:0;bottom:0;width:88%;max-width:360px;
	background:var(--nsf-dark-2);z-index:9999;transform:translateX(100%);
	transition:transform .25s ease;display:flex;flex-direction:column;
	font-family:var(--nsf-font);color:var(--nsf-text);
}
.nsf-drawer.is-open{transform:translateX(0);}
.nsf-drawer__head{
	display:flex;align-items:center;justify-content:space-between;
	padding:16px 18px;border-bottom:1px solid var(--nsf-border);flex-shrink:0;
}
.nsf-drawer__head span{font-size:16px;font-weight:600;}
.nsf-drawer__head button{background:none;border:none;color:var(--nsf-text);font-size:22px;cursor:pointer;line-height:1;}
.nsf-drawer__body{flex:1;overflow-y:auto;padding:16px 18px;}
.nsf-drawer__foot{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--nsf-border);flex-shrink:0;}
.nsf-drawer__foot .nsf-btn-primary,.nsf-drawer__foot .nsf-btn-ghost{flex:1;text-align:center;}

/* Dentro do drawer os grupos viram acordeão */
.nsf-drawer__body .nsf-accordion-head{
	display:flex;align-items:center;justify-content:space-between;
	padding:12px 2px;cursor:pointer;font-size:14px;font-weight:600;
	border-bottom:1px solid var(--nsf-border);
}
.nsf-drawer__body .nsf-accordion-head .nsf-arrow{transition:transform .15s;color:var(--nsf-text-dim);}
.nsf-drawer__body .nsf-accordion-head.is-open .nsf-arrow{transform:rotate(90deg);}
.nsf-drawer__body .nsf-group{
	display:none;padding:12px 2px 18px;border-bottom:1px solid var(--nsf-border);
}
.nsf-drawer__body .nsf-group.is-open{display:block;}
.nsf-drawer__body .nsf-group--stock{border-bottom:1px solid var(--nsf-border);padding:12px 2px;display:flex;}
.nsf-drawer__body .nsf-stock-label{width:100%;justify-content:space-between;background:transparent;border:none;padding:0;}
.nsf-drawer__body .nsf-fdrop__actions{display:none;}

#nsf-drawer-ordenar-body .nsf-group{display:block;padding:0;border:none;}

@media (max-width:768px){
	.nsf-bar{display:none;}
	.nsf-mbar{
		display:flex;gap:10px;background:var(--nsf-dark);
		padding:10px 14px;border-bottom:1px solid var(--nsf-border);
		position:sticky;top:0;z-index:20;margin-bottom:16px;
		font-family:var(--nsf-font);
	}
	.nsf-mbar__btn{
		flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
		background:var(--nsf-dark-2);border:1px solid var(--nsf-border);color:var(--nsf-text);
		padding:10px;border-radius:8px;font-family:var(--nsf-font);font-size:14px;cursor:pointer;
	}
	.nsf-mbar__btn .nsf-fdrop__badge{
		background:var(--nsf-blue);color:#fff;font-size:11px;font-weight:600;
		border-radius:999px;min-width:16px;height:16px;display:inline-flex;
		align-items:center;justify-content:center;padding:0 4px;
	}
}
