
.ebnsf-active .edublink-main-content-inner{
	width:100%;
}

.ebnsf-shop-layout{
	display:grid;
	grid-template-columns:270px minmax(0,1fr);
	gap:34px;
	align-items:start;
	width:100%;
}

.ebnsf-shop-layout > #primary{
	min-width:0;
	width:100%;
}

.ebnsf-filter-column{
	min-width:0;
}

.ebnsf-panel{
	--eb-border:#e7e8ec;
	--eb-soft:#f7f7f9;
	--eb-text:#17171b;
	--eb-muted:#73757d;
	background:#fff;
	border:1px solid var(--eb-border);
	border-radius:14px;
	padding:21px;
	color:var(--eb-text);
	position:sticky;
	top:105px;
	box-sizing:border-box;
}

.ebnsf-panel-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding-bottom:7px;
}

.ebnsf-panel-header h3{
	margin:0;
	font-size:20px;
	line-height:1.3;
	font-weight:700;
	color:inherit;
}

.ebnsf-close{
	display:none;
}

.ebnsf-section{
	border-top:1px solid var(--eb-border);
	padding:16px 0;
}

.ebnsf-section-title{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	border:0;
	padding:0;
	background:transparent;
	color:inherit;
	text-align:inherit;
	font:inherit;
	font-size:15px;
	font-weight:700;
	cursor:pointer;
}

.ebnsf-chevron{
	font-size:18px;
	line-height:1;
	transition:transform .2s ease;
}

.ebnsf-section-title[aria-expanded="false"] .ebnsf-chevron{
	transform:rotate(-90deg);
}

.ebnsf-section-body{
	padding-top:12px;
}

.ebnsf-section-body[hidden]{
	display:none!important;
}

.ebnsf-category{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	padding:8px 9px;
	margin:2px -9px;
	border-radius:8px;
	color:var(--eb-text)!important;
	text-decoration:none!important;
	font-size:14px;
	line-height:1.35;
}

.ebnsf-category:hover,
.ebnsf-category.is-active{
	background:var(--eb-soft);
}

.ebnsf-category.is-active{
	font-weight:700;
}

.ebnsf-category small,
.ebnsf-check small{
	margin-inline-start:auto;
	font-size:12px;
	color:var(--eb-muted);
}

.ebnsf-depth-1{padding-inline-start:24px}
.ebnsf-depth-2{padding-inline-start:38px}

.ebnsf-price{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:9px;
}

.ebnsf-price label span{
	display:block;
	margin-bottom:5px;
	font-size:12px;
	color:var(--eb-muted);
}

.ebnsf-price input{
	width:100%;
	min-width:0;
	height:40px;
	padding:0 10px;
	border:1px solid var(--eb-border);
	border-radius:8px;
	background:#fff;
	box-sizing:border-box;
	font:inherit;
}

.ebnsf-check-list{
	display:grid;
	gap:7px;
}

.ebnsf-check{
	display:flex;
	align-items:center;
	gap:8px;
	min-height:27px;
	font-size:14px;
	cursor:pointer;
}

.ebnsf-check input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.ebnsf-box{
	width:18px;
	height:18px;
	flex:0 0 18px;
	border:1.5px solid #b8bac2;
	border-radius:5px;
	position:relative;
	box-sizing:border-box;
}

.ebnsf-check input:checked + .ebnsf-box{
	background:#17171b;
	border-color:#17171b;
}

.ebnsf-check input:checked + .ebnsf-box::after{
	content:"";
	position:absolute;
	left:5px;
	top:2px;
	width:4px;
	height:8px;
	border:solid #fff;
	border-width:0 2px 2px 0;
	transform:rotate(45deg);
}

.ebnsf-rating-list{
	display:grid;
	gap:7px;
}

.ebnsf-rating{
	display:flex;
	align-items:center;
	gap:7px;
	font-size:13px;
	cursor:pointer;
}

.ebnsf-stars{
	font-size:15px;
	letter-spacing:1px;
}

.ebnsf-actions{
	display:grid;
	grid-template-columns:1fr auto;
	gap:9px;
	align-items:center;
	padding-top:9px;
}

.ebnsf-apply{
	min-height:43px;
	border:0;
	border-radius:9px;
	padding:9px 14px;
	background:#17171b;
	color:#fff;
	font:inherit;
	font-weight:700;
	cursor:pointer;
}

.ebnsf-reset{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:43px;
	padding:0 7px;
	color:var(--eb-muted)!important;
	text-decoration:none!important;
	font-size:13px;
}

.ebnsf-mobile-trigger,
.ebnsf-backdrop{
	display:none;
}

/* Keep EduBlink shop controls aligned with the product grid. */
.ebnsf-active .edublink-woocommerce-shop-top{
	width:100%;
}

/* Tablets */
@media (max-width: 1024px){
	.ebnsf-shop-layout{
		grid-template-columns:230px minmax(0,1fr);
		gap:22px;
	}
	.ebnsf-panel{
		padding:17px;
	}
}

/* Native mobile off-canvas, no Elementor dependency. */
@media (max-width: 767px){
	body.ebnsf-open{
		overflow:hidden;
	}

	.ebnsf-shop-layout{
		display:block;
	}

	.ebnsf-filter-column{
		width:100%;
	}

	.ebnsf-mobile-trigger{
		display:flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		width:100%;
		min-height:48px;
		margin:0 0 20px;
		padding:9px 15px;
		border:1px solid #e7e8ec;
		border-radius:10px;
		background:#fff;
		color:#17171b;
		font:inherit;
		font-size:14px;
		font-weight:700;
		cursor:pointer;
	}

	.ebnsf-count{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		min-width:21px;
		height:21px;
		padding:0 6px;
		border-radius:999px;
		background:#17171b;
		color:#fff;
		font-size:11px;
	}

	.ebnsf-panel{
		position:fixed!important;
		z-index:1000002;
		top:0;
		bottom:0;
		left:0;
		width:min(88vw,380px);
		max-width:380px;
		height:100dvh;
		overflow:auto;
		border:0;
		border-radius:0 18px 18px 0;
		padding:20px 19px 28px;
		box-shadow:0 20px 60px rgba(0,0,0,.18);
		transform:translateX(-105%);
		transition:transform .28s ease;
	}

	body.rtl .ebnsf-panel{
		left:auto;
		right:0;
		border-radius:18px 0 0 18px;
		transform:translateX(105%);
	}

	body.ebnsf-open .ebnsf-panel{
		transform:translateX(0);
	}

	.ebnsf-panel-header{
		position:sticky;
		top:-20px;
		z-index:4;
		margin:-20px -19px 7px;
		padding:18px 19px;
		background:#fff;
		border-bottom:1px solid #e7e8ec;
	}

	.ebnsf-close{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		width:38px;
		height:38px;
		border:0;
		border-radius:50%;
		background:#f7f7f9;
		color:#17171b;
		font-size:27px;
		line-height:1;
		cursor:pointer;
	}

	.ebnsf-backdrop{
		position:fixed;
		z-index:1000001;
		inset:0;
		background:rgba(14,15,18,.45);
		backdrop-filter:blur(2px);
	}

	body.ebnsf-open .ebnsf-backdrop{
		display:block;
	}

	.ebnsf-actions{
		position:sticky;
		bottom:-28px;
		z-index:3;
		margin:14px -19px -28px;
		padding:13px 19px calc(13px + env(safe-area-inset-bottom));
		background:#fff;
		border-top:1px solid #e7e8ec;
	}
}

@media (prefers-reduced-motion: reduce){
	.ebnsf-panel,
	.ebnsf-chevron{
		transition:none;
	}
}
