html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
}

.content {
  flex: 1 0 auto;
}

.bg-warning.text-dark { 
  color:white !important;
}

/* COLORI PERSONALIZZABILI */
.it-header-slim-wrapper {
	background: var(--colore-sfondo) !important;
	border-bottom: 1px solid var(--colore-testo) !important;
	/*padding-bottom: 50px !important;*/
	font-weight:600 !important;
}
.navbar-brand, .nav-link.dropdown-toggle {
	color: var(--colore-testo) !important;
}
/*.nav-link.dropdown-toggle .icon, #buttonLogin .icon {
	fill: var(--colore-testo-bgbianco) !important;
}*/
#buttonLogin {
	background-color: var(--colore-sfondo) !important;
	height: 45px;
}
#buttonLogin span {
	color: var(--colore-testo) !important;
}
.dropdown-item.list-item span {
	color: var(--colore-testo-bgbianco) !important;
}
.menu-wrapper {
	background: var(--colore-sfondo) !important;
}

/* MENU DESKTOP */
@media (min-width: 992px) {
	.navbar .dropdown-menu .link-list-wrapper ul li a span, .navbar .dropdown-menu .link-list-wrapper ul li a i {
		color: var(--colore-testo-bgbianco) !important;
		font-weight:600 !important;
	}
	.menu-wrapper .nav-link {
		color: var(--colore-testo) !important;
		font-weight:600 !important;
	}
	/*.nav-link.dropdown-toggle .icon {
		fill: var(--colore-testo) !important;
	}*/
	.dropdown-item.list-item.active {
		border-left: 3px solid var(--colore-testo-bgbianco) !important;
	}
}
/* MENU MOBILE */
@media (max-width: 992px) {
	.navbar .dropdown-menu .link-list-wrapper ul li a span {
		color: var(--colore-testo) !important;
		font-weight:600 !important;
	}
	.navbar .navbar-collapsable .navbar-nav li a.nav-link {
		color: var(--colore-testo) !important;
		font-weight:600 !important;
	}
	.custom-navbar-toggler i {
		color: var(--colore-testo) !important;
	}
	.navbar .navbar-collapsable .navbar-nav li a.nav-link.active {
		border-left: 3px solid var(--colore-testo);
	}
	.dropdown-item.list-item.active {
		border-left: 3px solid var(--colore-testo) !important;
	}
}

/*.icon-white:not(.icona_acc) {
	fill: var(--colore-testo) !important;
}*/

.link-list-wrapper ul li a span {
	color: var(--colore-sfondo) !important;
}

/*.dropdown-item .icon-primary {
	fill: var(--colore-testo-bgbianco) !important;
}*/

.it-header-navbar-wrapper {
	background: var(--colore-sfondo) !important;
	border-bottom: 1px solid var(--colore-testo) !important;
}

.navbar {
	background: var(--colore-sfondo) !important;
}

.text-primary {
	color:var(--colore-testo-bgbianco) !important;
}

#spaziatore {
	background: var(--colore-sfondo) !important;
	border-bottom: 1px solid var(--colore-testo) !important;
}

.btn-primary:not(#buttonLogin) {
	background-color: var(--colore-sfondo) !important;
	color:var(--colore-testo) !important;
	border: 1px solid var(--colore-testo);
	transition: filter .15s;
}

.btn-primary:not(#buttonLogin):hover,
.btn-primary:not(#buttonLogin):focus,
.btn-primary:not(#buttonLogin):focus-visible,
.btn-primary:not(#buttonLogin):active {
	background-color: var(--colore-sfondo) !important;
	color: var(--colore-testo) !important;
	filter: brightness(.88);
}

.btn-primary i:not(#buttonLogin i) {
	color:var(--colore-testo) !important;
}

/*.btn-primary:not(#buttonLogin) {
	background-color: var(--colore-testo) !important;
	color:var(--colore-sfondo) !important;
	border: 1px solid var(--colore-sfondo);
}

.btn-primary .icon {
	fill:var(--colore-sfondo) !important;
}*/

.nav-item .nav-link.active, .nav-tabs .nav-link.active {
	border-bottom-color: var(--colore-testo) !important;
}

.nav-tabs .nav-link.active i {
	color: var(--colore-testo-bgbianco) !important;
}

.nav-tabs .nav-link.active span {
	color: var(--colore-testo-bgbianco) !important;
}

.accordion.accordion-background-active .accordion-header .accordion-button[aria-expanded="true"] {
	background-color: var(--colore-sfondo) !important;
		color:var(--colore-testo) !important;
}

/* ═══════════════════════════════════════════════════════════════
   PAGINE DI DETTAGLIO (portale pubblico)
   ═══════════════════════════════════════════════════════════════ */

.pc-det-wrap {
	max-width: 1080px;
	margin-inline: auto;
	padding: 1rem 1rem 2rem;
}
.pc-det-wrap--wide { max-width: none; }

.pc-det-back {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .85rem;
	color: #6c757d !important;
	text-decoration: none;
	margin-bottom: .65rem;
	transition: color .15s;
}
.pc-det-back:hover,
.pc-det-back:focus {
	color: var(--colore-testo-bgbianco) !important;
	text-decoration: underline;
}

.pc-det-hero {
	position: relative;
	background: var(--colore-sfondo);
	color: var(--colore-testo);
	border-radius: 12px;
	padding: 1rem 1.25rem;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: .85rem;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.pc-det-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(0,0,0,.15));
	pointer-events: none;
}
.pc-det-hero > * { position: relative; z-index: 1; }
.pc-det-hero-icon {
	flex-shrink: 0;
	width: 48px; height: 48px;
	background: rgba(255,255,255,.18);
	border-radius: 10px;
	display: flex; align-items: center; justify-content: center;
	font-size: 1.3rem;
}
.pc-det-hero-body { flex: 1 1 auto; min-width: 0; }
.pc-det-hero-label {
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	opacity: .8;
	margin-bottom: .1rem;
}
.pc-det-hero-title {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	word-break: break-word;
}
.pc-det-hero-sub {
	margin-top: .1rem;
	font-size: .9rem;
	opacity: .9;
	word-break: break-word;
}
.pc-det-hero-meta {
	margin-top: .6rem;
	display: flex; gap: .4rem;
	flex-wrap: wrap; align-items: center;
	font-size: .8rem;
}
.pc-det-hero-meta .badge { font-size: .75rem; padding: .4em .65em; }
.pc-det-hero-meta .pc-det-chip {
	display: inline-flex; align-items: center; gap: .3rem;
	padding: .22rem .55rem;
	background: rgba(255,255,255,.18);
	border-radius: 999px;
}

.pc-det-wrap .card {
	border-radius: 12px;
	margin-bottom: .85rem;
}
.pc-det-wrap .card > .card-body { padding: 1rem 1.1rem; }

.pc-det-section-title {
	display: flex; align-items: center; gap: .45rem;
	font-size: .95rem;
	font-weight: 600;
	color: var(--colore-testo-bgbianco);
	margin: 0 0 .6rem;
	padding-bottom: .4rem;
	border-bottom: 1px solid rgba(0,0,0,.08);
}
.pc-det-section-title i { color: var(--colore-testo-bgbianco); font-size: .9em; }
.pc-det-section-title + .pc-det-section-title { margin-top: 1.2rem; }

.pc-det-fields { margin: 0; }
.pc-det-fields .pc-det-field {
	display: flex; flex-wrap: wrap;
	padding: .5rem 0;
	border-bottom: 1px solid rgba(0,0,0,.09);
	gap: .15rem .75rem;
}
.pc-det-fields .pc-det-field:last-child { border-bottom: 0; }
.pc-det-field-label {
	flex: 0 0 100%;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--colore-testo-bgbianco);
	font-weight: 600;
	margin: 0;
	display: flex; align-items: center; gap: .35rem;
}
.pc-det-field-label i { color: var(--colore-testo-bgbianco); opacity: .85; }
.pc-det-field-value {
	flex: 1 1 100%;
	font-weight: 500;
	word-break: break-word;
	margin: 0;
	font-size: .92rem;
	min-height: 1.2em;
}
.pc-det-field-value:empty::after {
	content: '—';
	color: #adb5bd;
	font-weight: 400;
}
.pc-det-na {
	color: #adb5bd;
	font-weight: 400;
	font-style: italic;
}
@media (min-width: 768px) {
	.pc-det-field-label { flex: 0 0 30%; max-width: 30%; align-self: center; }
	.pc-det-field-value { flex: 0 0 70%; max-width: 70%; }
}

.pc-det-empty {
	text-align: center;
	padding: 2rem 1rem;
}
.pc-det-empty > i {
	font-size: 2.25rem;
	margin-bottom: .65rem;
	opacity: .7;
	display: block;
}
.pc-det-empty p { margin: 0; color: #6c757d; font-size: .9rem; }

.pc-det-tabs {
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	gap: .2rem;
	flex-wrap: wrap;
	padding: .2rem .4rem 0;
	background: #f8f9fa;
}
.pc-det-tabs .nav-link {
	border: 0 !important;
	border-bottom: 3px solid transparent !important;
	color: #495057;
	font-weight: 500;
	padding: .55rem .85rem;
	border-radius: 8px 8px 0 0;
	margin-bottom: -1px;
	font-size: .92rem;
}
.pc-det-tabs .nav-link:hover {
	background: rgba(0,0,0,.04);
	color: var(--colore-testo-bgbianco);
}
.pc-det-tabs .nav-link.active {
	background: #fff !important;
	color: var(--colore-testo-bgbianco) !important;
	border-bottom-color: var(--colore-sfondo) !important;
	font-weight: 600;
}
.pc-det-tabs .nav-link i { margin-right: .4rem; }

.pc-det-tabcontent { padding: 1rem 1.1rem; }

.pc-det-comu {
	border: 1px solid rgba(0,0,0,.08) !important;
	border-left: 4px solid transparent !important;
	border-radius: 10px !important;
	margin-bottom: .5rem;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(0,0,0,.05);
	background: #fff;
}
.pc-det-comu.ok  { border-left-color: #28a745 !important; }
.pc-det-comu.ko  { border-left-color: #dc3545 !important; }
.pc-det-comu .accordion-button {
	background: #fff;
	font-weight: 500;
	gap: .45rem;
	flex-wrap: wrap;
	padding: .6rem .85rem;
	font-size: .9rem;
}
.pc-det-comu .accordion-button:not(.collapsed) {
	background: rgba(0,0,0,.03);
	color: inherit;
	box-shadow: none;
}
.pc-det-comu-body {
	padding: .75rem .9rem;
	background: #fafbfc;
}

.pc-det-actions {
	display: flex;
	justify-content: center;
	gap: .5rem;
	margin-top: 1.2rem;
	flex-wrap: wrap;
}

.pc-det-dlbtn,
.pc-det-viewbtn,
.card .card-body a.pc-det-dlbtn,
.card .card-body a.pc-det-viewbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/*width: 30px; height: 30px;*/
	padding:5px;
	border-radius: 999px;
	text-decoration: none;
	transition: transform .15s, background .15s, color .15s;
	font-size: .82rem;
}
.pc-det-dlbtn:hover, .pc-det-viewbtn:hover { transform: translateY(-1px); }
.pc-det-dlbtn {
	background: var(--colore-sfondo);
	color: var(--colore-testo) !important;
}
.pc-det-dlbtn i { color: inherit !important; }
.pc-det-viewbtn {
	background: transparent;
	border: 1px solid var(--colore-sfondo);
	color: var(--colore-testo-bgbianco) !important;
}
.pc-det-viewbtn i { color: inherit !important; }
.pc-det-viewbtn:hover {
	background: var(--colore-sfondo);
	color: var(--colore-testo) !important;
}

/* elenchi pubblici */
.pc-det-table { margin-bottom: 0 !important; }
.pc-det-wrap .dataTables_wrapper .dataTables_info,
.pc-det-wrap .dataTables_wrapper .dataTables_paginate { margin-top: .6rem; }
.pc-det-table thead th {
	background: #f8f9fa;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--colore-testo-bgbianco);
	font-weight: 600;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	border-top: 0 !important;
	padding: .7rem .85rem !important;
	white-space: nowrap;
}
.pc-det-table tbody td {
	padding: .7rem .85rem !important;
	vertical-align: middle;
	border-bottom: 1px solid rgba(0,0,0,.06) !important;
	border-top: 0 !important;
	font-size: .92rem;
}
.pc-det-table tbody tr:last-child td { border-bottom: 0 !important; }
.pc-det-table tbody tr { transition: background .15s; }
.pc-det-table tbody tr:hover { background: rgba(0,0,0,.025); }

.pc-det-cms {
	margin-bottom: 1rem;
	font-size: .95rem;
}
.pc-det-cms:empty { display: none; }