/* ══════════════════════════════════════
   Category Navigation
   Desktop  → horizontal bar with dropdowns
   Mobile   → vertical drawer (unchanged)
   ══════════════════════════════════════ */

/* Hide drawer close button on desktop */
.nco-drawer-close{
	display:none;
}

/* Hide mobile-only sidebar on desktop */
.nco-mobile-only{
	display:none;
}

/* Hide mobile toggle on desktop */
.nco-mobile-cat-toggle{
	display:none;
}

/* Hide mobile nav on desktop (shown inside drawer on mobile) */
.nco-mobile-nav{
	display:none;
}

/* ══════════════════════════════════════
   Desktop Horizontal Category Bar
   ══════════════════════════════════════ */

/* Remove bullets from all lists in catbar */
.nco-catbar ul,
.nco-catbar li,
.nco-catbar .nco-category-list{
	list-style:none;
}

.nco-catbar{
	background:#fff;
	border-bottom:1px solid rgba(0,0,0,.08);
	box-shadow:0 2px 10px rgba(0,0,0,.04);
	position:relative;
	z-index:40;
}

.nco-catbar-inner{
	max-width:1600px;
	margin:0 auto;
	padding:0 18px;
}

/* Hide the sidebar wrapper elements inside catbar (title, close btn, aside wrapper) */
.nco-catbar .nco-category-sidebar{
	padding:0;
	background:transparent;
}

.nco-catbar .nco-category-title{
	display:none;
}

.nco-catbar .nco-drawer-close{
	display:none;
}

/* ── Top-level list: horizontal row ── */
.nco-catbar .nco-category-list.nco-category-depth-0{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
	justify-content:center;
	gap:0;
	list-style:none;
	padding:0;
	margin:0;
}

/* ── Top-level item ── */
.nco-catbar .nco-category-depth-0 > .nco-category-item{
	position:relative;
	margin:0;
}

/* ── Top-level row (link + toggle) ── */
.nco-catbar .nco-category-depth-0 > .nco-category-item > .nco-category-row{
	display:flex;
	align-items:center;
	gap:0;
}

/* ── Top-level link ── */
.nco-catbar .nco-category-depth-0 > .nco-category-item > .nco-category-row .nco-category-link{
	display:flex;
	align-items:center;
	gap:8px;
	padding:12px 18px;
	border:none;
	border-radius:0;
	background:transparent;
	color:#333;
	font-size:13px;
	font-weight:700;
	text-decoration:none;
	white-space:nowrap;
	transition:background .15s ease, color .15s ease;
}

.nco-catbar .nco-category-depth-0 > .nco-category-item > .nco-category-row .nco-category-link:hover{
	background:rgba(0,112,186,.06);
	color:#0070ba;
}

/* Active category */
.nco-catbar .nco-category-depth-0 > .nco-category-item.is-active > .nco-category-row .nco-category-link{
	background:rgba(0,112,186,.10);
	color:#0070ba;
	box-shadow:inset 0 -3px 0 #0070ba;
}

/* Open ancestor */
.nco-catbar .nco-category-depth-0 > .nco-category-item.is-open > .nco-category-row .nco-category-link{
	background:rgba(0,112,186,.06);
	color:#0070ba;
	box-shadow:inset 0 -3px 0 rgba(0,112,186,.4);
}

/* ── Hide toggle button on desktop catbar (hover opens dropdowns) ── */
.nco-catbar .nco-category-toggle{
	display:none;
}

/* ── Hide count badge in catbar ── */
.nco-catbar .nco-category-count{
	display:none;
}

/* ── Category name icon ── */
.nco-catbar .nco-category-name{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-weight:700;
	font-size:13px;
	line-height:1;
}

.nco-catbar .nco-category-name i{
	font-size:12px;
	opacity:.65;
}

/* ── Add a small chevron indicator for items with children ── */
.nco-catbar .nco-category-depth-0 > .nco-category-item.has-children > .nco-category-row .nco-category-link::after{
	content:'\f107'; /* fa-angle-down */
	font-family:'Font Awesome 6 Free';
	font-weight:900;
	font-size:10px;
	margin-left:4px;
	opacity:.5;
	transition:transform .2s ease;
}

.nco-catbar .nco-category-depth-0 > .nco-category-item.has-children:hover > .nco-category-row .nco-category-link::after{
	transform:rotate(180deg);
	opacity:.8;
}

/* ══════════════════════════════════════
   Desktop Dropdown (subcategories)
   ══════════════════════════════════════ */

/* All nested lists inside catbar: dropdown */
.nco-catbar .nco-category-list .nco-category-list{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:100;
	min-width:240px;
	padding:8px 0;
	margin:0;
	background:#fff;
	border:1px solid rgba(0,0,0,.08);
	border-radius:12px;
	box-shadow:0 12px 36px rgba(0,0,0,.10);
	flex-direction:column;
	gap:0;
	border-left:none;
}

/* Show dropdown on hover */
.nco-catbar .nco-category-item:hover > .nco-category-list{
	display:flex;
}

/* Sub-sub dropdowns open to the right */
.nco-catbar .nco-category-list .nco-category-list .nco-category-list{
	top:0;
	left:100%;
	border-radius:12px;
}

/* ── Dropdown item link ── */
.nco-catbar .nco-category-list .nco-category-list .nco-category-link{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	padding:10px 16px;
	border:none;
	border-radius:0;
	background:transparent;
	color:#333;
	font-size:13px;
	font-weight:600;
	text-decoration:none;
	transition:background .12s ease, color .12s ease;
	white-space:nowrap;
}

.nco-catbar .nco-category-list .nco-category-list .nco-category-link:hover{
	background:rgba(0,112,186,.06);
	color:#0070ba;
}

/* Active in dropdown */
.nco-catbar .nco-category-list .nco-category-list .nco-category-item.is-active > .nco-category-row .nco-category-link{
	background:rgba(0,112,186,.10);
	color:#0070ba;
	font-weight:700;
}

/* Dropdown row: no toggle button, full-width link */
.nco-catbar .nco-category-list .nco-category-list .nco-category-row{
	display:flex;
	align-items:center;
}

.nco-catbar .nco-category-list .nco-category-list .nco-category-row .nco-category-link{
	flex:1;
	border-right:none;
	border-top-right-radius:0;
	border-bottom-right-radius:0;
}

/* Sub-arrow for items with deeper children */
.nco-catbar .nco-category-list .nco-category-list .nco-category-item.has-children > .nco-category-row .nco-category-link::after{
	content:'\f105'; /* fa-angle-right */
	font-family:'Font Awesome 6 Free';
	font-weight:900;
	font-size:10px;
	margin-left:auto;
	padding-left:12px;
	opacity:.45;
}

/* Dropdown count badge (small, subtle) */
.nco-catbar .nco-category-list .nco-category-list .nco-category-count{
	display:inline-block;
	font-size:10px;
	font-weight:800;
	color:#888;
	background:rgba(0,0,0,.05);
	padding:2px 7px;
	border-radius:999px;
	min-width:20px;
	text-align:center;
}

/* Dropdown name icons */
.nco-catbar .nco-category-list .nco-category-list .nco-category-name{
	font-size:13px;
	font-weight:600;
}

.nco-catbar .nco-category-list .nco-category-list .nco-category-name i{
	font-size:11px;
	opacity:.55;
	width:16px;
	text-align:center;
}

/* ══════════════════════════════════════
   Desktop: full-width grid (no sidebar column)
   ══════════════════════════════════════ */
.nco-grid--full{
	display:block !important;
}


/* ══════════════════════════════════════
   Mobile: hide catbar, show drawer
   ══════════════════════════════════════ */
@media (max-width: 1092px){
	/* Hide the horizontal bar on mobile */
	.nco-catbar{
		display:none;
	}

	/* Show the mobile-only sidebar (drawer source) */
	.nco-mobile-only{
		display:none; /* starts hidden, JS adds is-drawer-open */
	}

	/* ── Sidebar vertical styles (for mobile drawer) ── */
	.nco-category-sidebar{
		position:relative;
		padding:0;
	}

	/* Remove bullets from all lists in mobile drawer */
	.nco-mobile-only ul,
	.nco-mobile-only li,
	.nco-mobile-only .nco-category-list{
		list-style:none;
	}

	.nco-category-title{
		margin:0 0 10px;
		font-size:14px;
		font-weight:800;
		color:#111;
	}

	/* Base list — vertical */
	.nco-mobile-only .nco-category-list{
		list-style:none;
		padding:0;
		margin:0;
		display:flex;
		flex-direction:column;
		gap:6px;
	}

	/* Nested subcategory lists — hidden by default (dropdown) */
	.nco-mobile-only .nco-category-list .nco-category-list{
		position:static;
		min-width:0;
		border:none;
		border-radius:0;
		box-shadow:none;
		background:transparent;
		margin-top:6px;
		padding:0 0 0 16px;
		border-left:2px solid rgba(0,0,0,.08);
		gap:4px;
		display:none;
	}

	/* Show nested list when parent is open or active */
	.nco-mobile-only .nco-category-item.is-open > .nco-category-list,
	.nco-mobile-only .nco-category-item.is-active > .nco-category-list{
		display:flex;
	}

	.nco-mobile-only .nco-category-item{margin:0}

	/* Row: link + toggle button side by side */
	.nco-mobile-only .nco-category-row{
		display:flex;
		align-items:center;
		gap:0;
	}

	.nco-mobile-only .nco-category-row .nco-category-link{
		flex:1;
		min-width:0;
	}

	.nco-mobile-only .nco-category-link{
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:8px;
		padding:8px 10px;
		border:1px solid rgba(0,0,0,.10);
		border-radius:10px;
		background:#fff;
		color:#111;
		text-decoration:none;
		transition:background .15s ease,border-color .15s ease,transform .15s ease;
	}

	.nco-mobile-only .nco-category-row .nco-category-link{
		border-top-right-radius:0;
		border-bottom-right-radius:0;
		border-right:none;
	}

	.nco-mobile-only .nco-category-link:hover{
		background:rgba(0,0,0,.03);
		border-color:rgba(0,0,0,.18);
	}

	/* Toggle button */
	.nco-mobile-only .nco-category-toggle{
		display:flex;
		align-items:center;
		justify-content:center;
		width:34px;
		min-height:100%;
		padding:8px 0;
		border:1px solid rgba(0,0,0,.10);
		border-left:none;
		border-radius:0 10px 10px 0;
		background:#fff;
		cursor:pointer;
		color:#666;
		transition:background .15s ease, color .15s ease;
	}

	.nco-mobile-only .nco-category-toggle:hover{
		background:rgba(0,0,0,.04);
		color:#111;
	}

	.nco-mobile-only .nco-category-toggle i{
		font-size:10px;
		transition:transform .2s ease;
	}

	/* Rotate chevron when open */
	.nco-mobile-only .nco-category-item.is-open > .nco-category-row .nco-category-toggle i{
		transform:rotate(180deg);
	}

	/* No toggle: keep full border-radius on link */
	.nco-mobile-only .nco-category-item:not(.has-children) .nco-category-link{
		border-radius:10px;
		border-right:1px solid rgba(0,0,0,.10);
	}

	.nco-mobile-only .nco-category-name{
		display:inline-flex;
		align-items:center;
		gap:8px;
		font-weight:700;
		font-size:13px;
		line-height:1.15;
	}

	.nco-mobile-only .nco-category-name i{
		font-size:11px;
		opacity:.7;
		width:14px;
		text-align:center;
		flex-shrink:0;
	}

	.nco-mobile-only .nco-category-count{
		display:inline-block;
		font-size:11px;
		font-weight:800;
		color:#111;
		background:rgba(0,0,0,.06);
		padding:3px 7px;
		border-radius:999px;
		min-width:24px;
		text-align:center;
		flex-shrink:0;
	}

	/* Active category highlight */
	.nco-mobile-only .nco-category-item.is-active > .nco-category-row .nco-category-link{
		background:rgba(59,130,246,.12);
		border-color:rgba(59,130,246,.35);
	}
	.nco-mobile-only .nco-category-item.is-active > .nco-category-row .nco-category-toggle{
		border-color:rgba(59,130,246,.35);
		background:rgba(59,130,246,.08);
	}

	/* Open ancestor highlight */
	.nco-mobile-only .nco-category-item.is-open > .nco-category-row .nco-category-link{
		border-color:rgba(59,130,246,.20);
		background:rgba(59,130,246,.05);
	}
	.nco-mobile-only .nco-category-item.is-open > .nco-category-row .nco-category-toggle{
		border-color:rgba(59,130,246,.20);
		background:rgba(59,130,246,.03);
	}

	.nco-category-menu.nco-card{padding:12px}

	/* ── Drawer mechanics ── */
	.nco-mobile-only.nco-sidebar{
		display:none;
	}

	.nco-mobile-only.nco-sidebar.is-drawer-open{
		display:block;
		position:fixed;
		top:0;
		left:0;
		width:300px;
		max-width:85vw;
		height:100vh;
		z-index:1000;
		overflow-y:auto;
		-webkit-overflow-scrolling:touch;
		background:#fff;
		box-shadow:6px 0 30px rgba(0,0,0,.18);
		animation:nco-drawer-slideIn .25s ease both;
		padding:0;
	}

	/* Close button: anchor to the drawer itself, not the category card */
	.nco-mobile-only.nco-sidebar.is-drawer-open .nco-drawer-close{
		position:fixed;
		top:14px;
		left:calc(min(300px, 85vw) - 48px);
		z-index:1002;
	}

	.nco-mobile-only.nco-sidebar.is-drawer-open .nco-card.nco-category-menu{
		border:none;
		border-radius:0;
		min-height:0;
		padding:6px 16px 40px;
		border-top:1px solid rgba(0,0,0,.08);
		margin-top:8px;
	}

	/* Backdrop overlay */
	.nco-drawer-backdrop{
		display:none;
	}
	.nco-drawer-backdrop.is-visible{
		display:block;
		position:fixed;
		inset:0;
		z-index:999;
		background:rgba(0,0,0,.45);
		animation:nco-drawer-fadeIn .2s ease both;
	}

	/* Close button inside the drawer */
	.nco-drawer-close{
		display:flex;
		align-items:center;
		justify-content:center;
		position:absolute;
		top:12px;
		right:12px;
		width:34px;
		height:34px;
		border-radius:50%;
		border:1px solid rgba(0,0,0,.1);
		background:#fff;
		font-size:14px;
		color:#333;
		cursor:pointer;
		z-index:2;
		transition:background .15s ease;
	}
	.nco-drawer-close:hover{
		background:rgba(0,0,0,.06);
	}

	/* Floating toggle button */
	.nco-mobile-cat-toggle{
		display:flex;
		align-items:center;
		gap:8px;
		position:fixed;
		bottom:20px;
		left:50%;
		transform:translateX(-50%);
		z-index:998;
		padding:12px 24px;
		border:none;
		border-radius:50px;
		background:linear-gradient(135deg,#0070ba 0%,#005a96 100%);
		color:#fff;
		font-size:14px;
		font-weight:700;
		cursor:pointer;
		box-shadow:0 6px 24px rgba(0,112,186,.40);
		transition:all .2s ease;
		letter-spacing:.3px;
	}
	.nco-mobile-cat-toggle:hover{
		box-shadow:0 10px 30px rgba(0,112,186,.50);
		transform:translateX(-50%) translateY(-2px);
	}
	.nco-mobile-cat-toggle i{
		font-size:15px;
	}

	.nco-mobile-cat-toggle.is-hidden{
		opacity:0;
		pointer-events:none;
		transform:translateX(-50%) translateY(20px);
	}

	/* ── Mobile Navigation Links inside drawer ── */
	.nco-mobile-nav{
		display:block;
		padding:54px 16px 0;
	}

	.nco-mobile-nav-title{
		font-size:13px;
		font-weight:800;
		color:#111;
		margin:0 0 10px;
		padding:0 0 10px;
		border-top:none;
		display:flex;
		align-items:center;
		gap:8px;
		text-transform:uppercase;
		letter-spacing:.04em;
	}

	.nco-mobile-nav-title i{
		font-size:12px;
		color:#0070ba;
	}

	.nco-mobile-nav-list{
		list-style:none;
		margin:0;
		padding:0;
		display:flex;
		flex-direction:column;
		gap:2px;
	}

	.nco-mobile-nav-list li{
		margin:0;
		padding:0;
		list-style:none;
	}

	.nco-mobile-nav-list li a{
		display:flex;
		align-items:center;
		gap:10px;
		padding:11px 14px;
		font-size:14px;
		font-weight:600;
		color:#333;
		text-decoration:none;
		border-radius:10px;
		border:1px solid transparent;
		transition:background .15s ease, border-color .15s ease, color .15s ease;
	}

	.nco-mobile-nav-list li a:hover{
		background:rgba(0,112,186,.06);
		border-color:rgba(0,112,186,.12);
		color:#0070ba;
	}

	.nco-mobile-nav-list li.current-menu-item a,
	.nco-mobile-nav-list li.current_page_item a{
		background:rgba(0,112,186,.10);
		border-color:rgba(0,112,186,.25);
		color:#0070ba;
		font-weight:700;
	}
}

@keyframes nco-drawer-slideIn{
	from{transform:translateX(-100%);}
	to{transform:translateX(0);}
}

@keyframes nco-drawer-fadeIn{
	from{opacity:0;}
	to{opacity:1;}
}