/* Nelb WooCommerce Macchedil Pack — Indice Articolo (TOC). */

.nelb-toc {
	--nelb-primary: #FE3F12;
	--nelb-toc-top: 0px;
	--nelb-toc-top-d: 80px;
}

.nelb-toc-panel {
	background: #fff;
	border: 1px solid #ededed;
	border-radius: 14px;
	box-shadow: 0 2px 10px rgba(20, 20, 20, .04);
	overflow: hidden;
}

.nelb-toc-head {
	display: flex !important;
	align-items: center;
	gap: 10px;
	width: 100%;
	border: none !important;
	background: transparent !important;
	padding: 16px 20px;
	color: #212121;
	cursor: default;
	text-align: left;
	font-family: inherit;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.nelb-toc-title {
	flex: 1;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.nelb-toc-chev {
	display: none;
	transition: transform .15s ease;
	color: #212121;
}
.nelb-toc.is-closed .nelb-toc-chev,
.nelb-toc.collapsible-desktop .nelb-toc-chev {
	display: inline-flex;
}
.nelb-toc.is-closed .nelb-toc-chev {
	transform: rotate(-90deg);
}
.nelb-toc.is-closed .nelb-toc-body {
	display: none;
}
.nelb-toc.collapsible-desktop .nelb-toc-head {
	cursor: pointer;
}

.nelb-toc-body {
	padding: 0 20px 16px;
	border-top: 1px solid #EDEDED;
}

.nelb-toc-list {
	list-style: none;
	padding: 14px 0 0;
	margin: 0;
	counter-reset: l1;
}
.nelb-toc-list ol {
	list-style: none;
	padding: 0;
	margin: 6px 0 0 0;
	counter-reset: l2;
}
.nelb-toc-list ol ol {
	counter-reset: l3;
}

.nelb-toc-item {
	margin: 4px 0;
	counter-increment: l1;
}
.nelb-toc-list ol .nelb-toc-item { counter-increment: l2; }
.nelb-toc-list ol ol .nelb-toc-item { counter-increment: l3; }

.nelb-toc-link {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 7px 6px;
	color: #212121;
	text-decoration: none;
	border-radius: 6px;
	transition: background .12s ease, color .12s ease;
	line-height: 1.35;
}
.nelb-toc-link:hover {
	color: var(--nelb-primary);
	background: #F5F7F7;
}
.nelb-toc-num {
	flex: 0 0 auto;
	font-weight: 800;
	color: #9a9a9a;
	font-variant-numeric: tabular-nums;
	min-width: 28px;
}
.nelb-toc.no-numbers .nelb-toc-num {
	display: none;
}
.nelb-toc-item.is-active > .nelb-toc-link {
	color: var(--nelb-primary);
	background: #FFF3EF;
}
.nelb-toc-item.is-active > .nelb-toc-link .nelb-toc-num {
	color: var(--nelb-primary);
}

/* Sotto-livelli: indentazione */
.nelb-toc-list ol .nelb-toc-link { padding-left: 20px; }
.nelb-toc-list ol ol .nelb-toc-link { padding-left: 36px; }

/* Numerazione automatica gerarchica */
.nelb-toc.with-numbers .nelb-toc-list > .nelb-toc-item > .nelb-toc-link .nelb-toc-num::before { content: counter(l1) "."; }
.nelb-toc.with-numbers .nelb-toc-list ol > .nelb-toc-item > .nelb-toc-link .nelb-toc-num::before { content: counter(l1) "." counter(l2); }
.nelb-toc.with-numbers .nelb-toc-list ol ol > .nelb-toc-item > .nelb-toc-link .nelb-toc-num::before { content: counter(l1) "." counter(l2) "." counter(l3); }

.nelb-toc-empty {
	padding: 12px 0;
	color: #9a9a9a;
	font-size: 13px;
}

/* Sticky desktop */
@media (min-width: 768px) {
	.nelb-toc.sticky-desktop {
		position: sticky;
		top: var(--nelb-toc-top-d);
		align-self: flex-start;
	}
}

/* Sticky mobile */
@media (max-width: 767px) {
	.nelb-toc.sticky-mobile {
		position: sticky;
		top: var(--nelb-toc-top);
		z-index: 50;
	}
	.nelb-toc.sticky-mobile .nelb-toc-head {
		cursor: pointer;
	}
	.nelb-toc.sticky-mobile .nelb-toc-chev {
		display: inline-flex;
	}
	.nelb-toc.is-closed-mobile .nelb-toc-body { display: none; }
	.nelb-toc.is-closed-mobile .nelb-toc-chev { transform: rotate(-90deg); }
}
