/**
 * Amministrazione Trasparente sidebar — Design Comuni Italia / Bootstrap Italia.
 */

.apsp-at-comuni-nav {
	--apsp-at-menu-border: var(--bs-border-color, #d4d4d4);
	--apsp-at-menu-active: var(--bs-link-color, var(--bs-primary, #0066cc));
	--apsp-at-menu-active-bg: rgba(var(--bs-primary-rgb, 0, 102, 204), 0.08);
}

.apsp-at-comuni-nav .menu-link-list {
	margin-bottom: 0;
}

.apsp-at-comuni-nav .apsp-at-menu-panel,
.apsp-at-comuni-nav .apsp-at-menu-panel .accordion-item {
	background: transparent;
	border: 0;
	box-shadow: none;
}

.apsp-at-comuni-nav .apsp-at-menu-heading {
	display: block;
	margin: 0;
	padding: 0 0.75rem 0.625rem;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--bs-gray-800, #262626);
	text-decoration: none;
	background: transparent;
	border: 0;
	outline: none;
	box-shadow: none;
	cursor: default;
	pointer-events: none;
}

.apsp-at-comuni-nav .apsp-at-menu-body__inner {
	padding-top: 0;
	padding-bottom: 0.25rem;
}

.apsp-at-menu-search .form-control {
	font-size: 0.9375rem;
	border-color: var(--apsp-at-menu-border);
}

.apsp-at-menu-search .form-control:focus {
	border-color: var(--apsp-at-menu-active);
	box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 0, 102, 204), 0.15);
}

/* Primary link list (D.Lgs. 33 sections) */
.apsp-at-comuni-nav .link-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.apsp-at-comuni-nav .link-list > .nav-item {
	border-bottom: 1px solid var(--bs-gray-200, #e6e6e6);
}

.apsp-at-comuni-nav .link-list > .nav-item:last-child {
	border-bottom: 0;
}

.apsp-at-comuni-nav .link-list .nav-link {
	display: flex;
	align-items: center;
	padding: 0.75rem 0.5rem;
	color: var(--bs-gray-800, #262626);
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 1.35;
	border-radius: 0;
	border-left: 3px solid transparent;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.apsp-at-comuni-nav .link-list .nav-link span {
	flex: 1;
}

.apsp-at-comuni-nav .link-list .nav-link:hover {
	color: var(--apsp-at-menu-active);
	background-color: var(--bs-gray-100, #f5f5f5);
}

.apsp-at-comuni-nav .link-list .nav-item.active > .nav-link,
.apsp-at-comuni-nav .link-list .nav-link.active {
	color: var(--apsp-at-menu-active);
	background-color: var(--apsp-at-menu-active-bg);
	border-left-color: var(--apsp-at-menu-active);
	font-weight: 600;
}

.apsp-at-comuni-nav .link-list .nav-item.ancestor > .nav-link {
	color: var(--apsp-at-menu-active);
}

/* Nested pages under a section */
.apsp-at-comuni-nav .link-list-nested {
	list-style: none;
	margin: 0;
	padding: 0.25rem 0 0.5rem;
	background: var(--bs-gray-100, #f5f5f5);
	border-top: 1px solid var(--bs-gray-200, #e6e6e6);
}

.apsp-at-comuni-nav .link-list-nested .nav-link {
	padding: 0.5rem 0.5rem 0.5rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--bs-gray-700, #404040);
}

.apsp-at-comuni-nav .link-list-nested .nav-item.active > .nav-link,
.apsp-at-comuni-nav .link-list-nested .nav-link.active {
	color: var(--apsp-at-menu-active);
	background-color: #fff;
}

/* Parent section indicator */
.apsp-at-comuni-nav .nav-item.has-children > .nav-link {
	font-weight: 600;
}

.apsp-at-comuni-nav .nav-item.has-children > .nav-link::after {
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	margin-left: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	opacity: 0.55;
	flex-shrink: 0;
}

/* Search: hidden items */
.apsp-at-comuni-nav .nav-item.is-hidden,
.apsp-at-comuni-nav .link-list-nested.is-hidden {
	display: none !important;
}
