/* ==========================================================================
   Skin AgID / Bootstrap Italia per Helix Ultimate (plugin cmpagidhelix)
   Si attiva solo con body.agid-skin: disattivando il plugin sparisce tutto.
   Palette: blu #0066cc, blu scuro #004d99, navy #17324d, grigio #5c6f82,
   verde #008758, rosso #d9364f, arancio focus #ff9900.
   ========================================================================== */
@font-face { font-family: 'Titillium Web'; font-weight: 400; font-style: normal; font-display: swap;
	src: url('../fonts/titillium-web-v10-latin-ext_latin-regular.woff2') format('woff2'); }
@font-face { font-family: 'Titillium Web'; font-weight: 400; font-style: italic; font-display: swap;
	src: url('../fonts/titillium-web-v10-latin-ext_latin-italic.woff2') format('woff2'); }
@font-face { font-family: 'Titillium Web'; font-weight: 600; font-style: normal; font-display: swap;
	src: url('../fonts/titillium-web-v10-latin-ext_latin-600.woff2') format('woff2'); }
@font-face { font-family: 'Titillium Web'; font-weight: 700; font-style: normal; font-display: swap;
	src: url('../fonts/titillium-web-v10-latin-ext_latin-700.woff2') format('woff2'); }

body.agid-skin {
	--agid-blue: #0066cc; --agid-blue-d: #004d99; --agid-navy: #17324d; --agid-grey: #5c6f82;
	--agid-light: #f2f7fc; --agid-line: #d9e2ec;
	--agid-header-bg: #fff; --agid-header-fg: #17324d; --agid-logo-filter: none;
	--bs-primary: #0066cc; --bs-link-color: #0066cc; --bs-link-hover-color: #004d99;
	font-family: 'Titillium Web', Geneva, Tahoma, sans-serif;
	color: #1a1a1a;
	font-size: 18px;
	line-height: 1.55;
}
body.agid-skin h1, body.agid-skin h2, body.agid-skin h3, body.agid-skin h4, body.agid-skin h5, body.agid-skin h6,
body.agid-skin .sppb-addon-title, body.agid-skin .sp-module-title {
	font-family: 'Titillium Web', Geneva, Tahoma, sans-serif;
	color: var(--agid-navy);
	font-weight: 700;
}
body.agid-skin a { color: var(--agid-blue); }
body.agid-skin a:hover, body.agid-skin a:focus { color: var(--agid-blue-d); }
body.agid-skin #sp-component a:not(.btn):not(.sppb-btn):not(.page-link):not(.list-group-item) { text-decoration: underline; text-underline-offset: 2px; }

/* --- Accessibilita': focus, skip link, animazioni ----------------------- */
body.agid-skin a:focus-visible, body.agid-skin button:focus-visible, body.agid-skin input:focus-visible,
body.agid-skin select:focus-visible, body.agid-skin textarea:focus-visible, body.agid-skin [tabindex]:focus-visible {
	outline: 3px solid #ff9900 !important; outline-offset: 2px; box-shadow: 0 0 0 2px var(--agid-navy);
}
.agid-skip a { position: fixed; top: -100px; left: 8px; z-index: 5000; background: #fff; color: var(--agid-blue);
	font-weight: 600; padding: 10px 16px; border: 2px solid var(--agid-blue); }
.agid-skip a:focus { top: 8px; }
body.agid-skin #sp-main-body:focus { outline: none; }
@media (prefers-reduced-motion: reduce) {
	body.agid-skin *, body.agid-skin *::before, body.agid-skin *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
/* Il preloader a bolle non fa parte del design system */
body.agid-skin .sp-pre-loader { display: none !important; }

/* --- Fascia superiore "ente" (slim header) ------------------------------ */
.agid-slim { background: #0059b3; color: #fff; font-family: 'Titillium Web', sans-serif; }
.agid-slim-in { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 24px; }
.agid-slim a { color: #fff !important; text-decoration: none; font-weight: 600; font-size: .9rem; }
.agid-slim a:hover { text-decoration: underline; }
.agid-slim .agid-login { display: inline-flex; align-items: center; gap: 8px; background: #0066cc; padding: 6px 16px; border-radius: 4px; border: 1px solid rgba(255,255,255,.55); }
.agid-slim .agid-login:hover { background: #fff; color: #0066cc !important; text-decoration: none; }
.agid-ico { width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-8 2.2-8 5v3h16v-3c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-8 2.2-8 5v3h16v-3c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* --- Header + menu ------------------------------------------------------ */
body.agid-skin #sp-header, body.agid-skin #sp-header.header-sticky { background: var(--agid-header-bg) !important; background-image: none !important; box-shadow: none; border-bottom: 4px solid var(--agid-blue); min-height: 96px; }
body.agid-skin #sp-header .logo-image, body.agid-skin #sp-header .logo-image-phone { filter: var(--agid-logo-filter); }
body.agid-skin #sp-header .logo a { color: var(--agid-header-fg); }
body.agid-skin .sp-megamenu-parent > li > a,
body.agid-skin .sp-megamenu-parent > li > span {
	font-family: 'Titillium Web', sans-serif; font-size: 1rem; font-weight: 600; text-transform: none; letter-spacing: 0;
	color: var(--agid-header-fg); padding: 0 18px; position: relative;
}
body.agid-skin .sp-megamenu-parent > li > a::after {
	content: ""; position: absolute; left: 18px; right: 18px; bottom: -4px; height: 4px; background: transparent; transition: background .15s;
}
body.agid-skin .sp-megamenu-parent > li:hover > a::after,
body.agid-skin .sp-megamenu-parent > li.active > a::after { background: var(--agid-blue); }
body.agid-header-blu.agid-skin .sp-megamenu-parent > li.active > a::after { background: #fff; }
body.agid-skin .sp-megamenu-parent > li:hover > a,
body.agid-skin .sp-megamenu-parent > li.active > a { color: var(--agid-blue); }
body.agid-header-blu.agid-skin .sp-megamenu-parent > li:hover > a,
body.agid-header-blu.agid-skin .sp-megamenu-parent > li.active > a { color: #fff; }
body.agid-skin .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
	background: #fff; border: 0; border-top: 4px solid var(--agid-blue); border-radius: 0; box-shadow: 0 8px 24px rgba(23,50,77,.18); padding: 12px 0;
}
body.agid-skin .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a { color: var(--agid-navy); font-weight: 600; padding: 10px 24px; }
body.agid-skin .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover,
body.agid-skin .sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a { color: var(--agid-blue); background: var(--agid-light); }

/* Menu mobile (offcanvas) */
body.agid-skin .offcanvas-menu { background: #fff; color: var(--agid-navy); }
body.agid-skin .offcanvas-menu .offcanvas-inner ul.menu > li > a,
body.agid-skin .offcanvas-menu .offcanvas-inner ul.menu > li > span { color: var(--agid-navy); font-weight: 600; border-bottom: 1px solid var(--agid-line); }
body.agid-skin .offcanvas-menu .offcanvas-inner ul.menu > li.active > a { color: var(--agid-blue); border-left: 4px solid var(--agid-blue); }
body.agid-skin .burger-icon > span { background-color: var(--agid-header-fg); height: 3px; }

/* --- Titolo pagina / breadcrumb ----------------------------------------- */
body.agid-skin .sp-page-title { background: var(--agid-light); border-bottom: 1px solid var(--agid-line); padding: 32px 0; }
body.agid-skin .sp-page-title .sp-page-title-heading { color: var(--agid-navy); font-weight: 700; }
body.agid-skin .breadcrumb { background: transparent; font-size: .9rem; }
body.agid-skin .breadcrumb a { color: var(--agid-blue); }

/* --- Pulsanti (Bootstrap, Joomla, SP Page Builder) ---------------------- */
body.agid-skin .btn, body.agid-skin .sppb-btn, body.agid-skin button.button, body.agid-skin input[type="submit"] {
	font-family: 'Titillium Web', sans-serif; font-weight: 600; border-radius: 4px; text-transform: none; letter-spacing: 0; padding: 10px 24px;
}
body.agid-skin .btn-primary, body.agid-skin .sppb-btn-primary, body.agid-skin .sppb-btn-default {
	background: var(--agid-blue); border: 1px solid var(--agid-blue); color: #fff;
}
body.agid-skin .btn-primary:hover, body.agid-skin .btn-primary:focus,
body.agid-skin .sppb-btn-primary:hover, body.agid-skin .sppb-btn-default:hover { background: var(--agid-blue-d); border-color: var(--agid-blue-d); color: #fff; }
body.agid-skin .btn-secondary, body.agid-skin .btn-outline-primary { background: #fff; color: var(--agid-blue); border: 1px solid var(--agid-blue); }
body.agid-skin .btn-secondary:hover, body.agid-skin .btn-outline-primary:hover { background: var(--agid-blue); color: #fff; }
body.agid-skin .btn-success { background: #008758; border-color: #008758; color: #fff; }
body.agid-skin .btn-danger  { background: #d9364f; border-color: #d9364f; color: #fff; }

/* --- Form: campi con bordo inferiore marcato (stile BI) ----------------- */
body.agid-skin .form-control, body.agid-skin .form-select, body.agid-skin input[type="text"],
body.agid-skin input[type="password"], body.agid-skin input[type="email"], body.agid-skin select, body.agid-skin textarea {
	font-family: 'Titillium Web', sans-serif; border: 1px solid var(--agid-grey); border-bottom-width: 2px; border-radius: 0; color: var(--agid-navy); min-height: 44px; box-shadow: none; background-color: #fff;
}
body.agid-skin label { font-weight: 600; color: var(--agid-navy); }
body.agid-skin .mod-login__options .list-group-item { border: 0; padding-left: 0; }
body.agid-skin .form-check-input:checked { background-color: var(--agid-blue); border-color: var(--agid-blue); }

/* --- Tabelle, paginazione, alert ---------------------------------------- */
body.agid-skin table { border-color: var(--agid-line); }
body.agid-skin table th { background: var(--agid-light); color: var(--agid-navy); font-weight: 600; }
body.agid-skin .pagination .page-link { color: var(--agid-blue); border-radius: 4px; margin: 0 2px; border-color: var(--agid-line); }
body.agid-skin .pagination .active .page-link { background: var(--agid-blue); border-color: var(--agid-blue); color: #fff; }
body.agid-skin .alert, body.agid-skin joomla-alert { border-radius: 0; border-left-width: 6px; }

/* --- Moduli del portale (wrap-N: elenco incidenti ecc.) ----------------- */
body.agid-skin [id^="wrap-"] button, body.agid-skin [id^="wrap-"] .ei-pagina-btn { border-radius: 4px; font-family: inherit; min-height: 40px; }
body.agid-skin [id^="wrap-"] .ei-btn-avvia { background: var(--agid-blue); border-color: var(--agid-blue); color: #fff; font-weight: 600; }
body.agid-skin [id^="wrap-"] .ei-btn-avvia:hover { background: var(--agid-blue-d); }
body.agid-skin [id^="wrap-"] select, body.agid-skin [id^="wrap-"] input[type="text"], body.agid-skin [id^="wrap-"] input[type="date"] {
	border-radius: 0; border: 1px solid var(--agid-grey); border-bottom-width: 2px; min-height: 40px; }
body.agid-skin [id^="wrap-"] .ei-filtri { background: var(--agid-light); border-color: var(--agid-line); border-radius: 4px; }
body.agid-skin [id^="wrap-"] .ei-pagina-btn.attiva { background: var(--agid-blue); border-color: var(--agid-blue); color: #fff; }

/* --- Footer (stile it-footer) ------------------------------------------- */
body.agid-skin #sp-bottom { background: #004d99; color: #fff; padding: 48px 0 24px; border-top: 0; }
body.agid-skin #sp-bottom .sp-module-title { color: #fff; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .03em; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: 8px; margin-bottom: 14px; }
body.agid-skin #sp-bottom, body.agid-skin #sp-bottom p, body.agid-skin #sp-bottom li { color: #fff; font-size: 1rem; }
body.agid-skin #sp-bottom a { color: #fff; text-decoration: underline; }
body.agid-skin #sp-bottom a:hover { color: #cfe3f7; }
body.agid-skin #sp-footer, body.agid-skin #sp-footer1-mobile { background: #003a75; color: #cfe3f7; padding: 14px 0; }
body.agid-skin #sp-footer a, body.agid-skin #sp-footer .sp-copyright { color: #cfe3f7; font-size: .9rem; }
.agid-legal { background: #00305e; }
.agid-legal-in { max-width: 1320px; margin: 0 auto; padding: 14px 24px; }
.agid-legal ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; }
.agid-legal a { color: #fff !important; font-size: .95rem; text-decoration: underline; }
.agid-legal a:hover { color: #cfe3f7 !important; }

body.agid-skin .sp-scroll-up { background: var(--agid-blue); color: #fff; border-radius: 4px; }
body.agid-skin .sp-scroll-up:hover { background: var(--agid-blue-d); }

/* --- Avviso cookie ------------------------------------------------------ */
#agid-cookiebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 4000; background: #fff; color: #17324d;
	border-top: 4px solid #0066cc; box-shadow: 0 -4px 16px rgba(23,50,77,.18); padding: 14px 24px;
	display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; font-family: 'Titillium Web', sans-serif; }
#agid-cookiebar[hidden] { display: none; }
#agid-cookiebar p { margin: 0; font-size: .95rem; }
#agid-cookiebar button { background: #0066cc; color: #fff; border: 1px solid #0066cc; border-radius: 4px; padding: 8px 22px; font-weight: 600; font-family: inherit; cursor: pointer; }
#agid-cookiebar button:hover { background: #004d99; }

@media print { .agid-slim, .agid-legal, #agid-cookiebar, .agid-skip { display: none !important; } }

/* --- Modulo login/logout (riquadro "Ciao utente / Esci") ----------------- */
body.agid-skin .mod-login-logout,
body.agid-skin form.mod-login-logout,
body.agid-skin .mod-login__userdata { padding: 16px 20px; box-sizing: border-box; }
body.agid-skin .mod-login-logout__button,
body.agid-skin .mod-login-logout .logout-button { margin: 12px 0 14px; }
body.agid-skin .mod-login-logout .btn,
body.agid-skin .mod-login-logout button { margin: 4px 0 12px; }
body.agid-skin .mod-login-logout__login-greeting,
body.agid-skin .mod-login-logout .login-greeting { margin-bottom: 4px; }
/* Link sotto il saluto (Modifica password, Gestione utenti ...) */
body.agid-skin .mod-login-logout ~ ul,
body.agid-skin .mod-login-logout ~ p,
body.agid-skin .mod-login-logout ~ a { padding-left: 20px; padding-right: 20px; }
/* Dropdown dei moduli dell'header: aria interna e bordo AgID */
body.agid-skin .header-modules .sp-module-content,
body.agid-skin #sp-menu .sp-dropdown .sp-module-content { padding: 16px 20px; }

/* --- Login: opzioni di recupero (stile "link list" Bootstrap Italia) ----- */
body.agid-skin .mod-login__options.list-group {
	margin: 24px 0 0; padding: 0; border: 0; border-radius: 0; border-top: 1px solid var(--agid-line);
}
body.agid-skin .mod-login__options .list-group-item {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 14px 4px; margin: 0; border: 0; border-bottom: 1px solid var(--agid-line); border-radius: 0;
	background: transparent; color: var(--agid-blue); font-weight: 600; font-size: 1rem; text-decoration: none;
}
body.agid-skin .mod-login__options .list-group-item::after {
	content: ""; flex: 0 0 18px; height: 18px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.3 5.3 8 6.7l5.3 5.3L8 17.3l1.4 1.4L16.1 12z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.3 5.3 8 6.7l5.3 5.3L8 17.3l1.4 1.4L16.1 12z'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.agid-skin .mod-login__options .list-group-item:hover,
body.agid-skin .mod-login__options .list-group-item:focus { background: var(--agid-light); color: var(--agid-blue-d); text-decoration: underline; }
body.agid-skin .mod-login__options .icon-register { display: none; }

/* Nota sotto il modulo (come richiedere le credenziali): callout informativo */
body.agid-skin .mod-login__posttext {
	margin-top: 24px; padding: 16px 20px; background: var(--agid-light);
	border-left: 6px solid var(--agid-blue); color: var(--agid-navy); font-size: 1rem;
}
body.agid-skin .mod-login__posttext p { margin: 0; }
body.agid-skin .mod-login__posttext a { font-weight: 600; word-break: break-word; }
body.agid-skin .mod-login__pretext { color: var(--agid-grey); }

/* ==========================================================================
   BOX UNIFICATI: stessa "card" AgID per moduli, colonne con contenuto,
   addon di SP Page Builder, card Bootstrap, riquadri a tendina.
   Per applicarla a un elemento qualsiasi basta aggiungere la classe "agid-box".
   ========================================================================== */
body.agid-skin .sp-module:not(#sp-bottom .sp-module):not(#sp-footer .sp-module),
body.agid-skin .card,
body.agid-skin .well,
body.agid-skin .agid-box,
body.agid-skin .sppb-column:has(.sppb-addon-person),
body.agid-skin .sppb-column:has(.sppb-addon-module),
body.agid-skin .sppb-column:has(.sppb-addon-text-block) {
	background: #fff !important;
	border: 1px solid var(--agid-line) !important;
	border-top: 4px solid var(--agid-blue) !important;
	border-radius: 0 !important;
	box-shadow: 0 2px 10px rgba(23, 50, 77, .08);
	padding: 20px 24px !important;
	color: var(--agid-navy);
	box-sizing: border-box;
}
/* un box dentro un altro box non va raddoppiato */
body.agid-skin .sppb-column:has(.sppb-addon-module) .sp-module,
body.agid-skin .sppb-column:has(.sppb-addon-text-block) .sp-module,
body.agid-skin .card .sp-module,
body.agid-skin .agid-box .sp-module {
	border: 0 !important; box-shadow: none; padding: 0 !important; background: transparent !important;
}
/* Titolo uniforme dei box */
body.agid-skin .sp-module:not(#sp-bottom .sp-module) > .sp-module-title,
body.agid-skin .card-header, body.agid-skin .card-title {
	font-size: 1.15rem; font-weight: 700; color: var(--agid-navy); background: transparent;
	margin: 0 0 14px; padding: 0 0 10px; border: 0; border-bottom: 1px solid var(--agid-line);
}
body.agid-skin .card-body { padding: 0; }
/* Testi dentro i box: leggibili e coerenti con il resto del sito */
body.agid-skin .sp-module:not(#sp-bottom .sp-module) .sp-module-content,
body.agid-skin .sppb-column:has(.sppb-addon-person) .sppb-person-information { color: var(--agid-navy); font-size: 1rem; }
body.agid-skin .sppb-column:has(.sppb-addon-person) .sppb-person-designation,
body.agid-skin .sppb-column:has(.sppb-addon-person) .sppb-person-introtext { color: var(--agid-navy); font-size: 1rem; opacity: 1; }
body.agid-skin .sppb-column:has(.sppb-addon-person) a { color: var(--agid-blue); font-weight: 600; }
body.agid-skin .sppb-column:has(.sppb-addon-person) .sppb-person-image img { max-width: 120px; height: auto; }
/* Le colonne SPPB non devono avere il padding doppio quando sono dentro un box */
body.agid-skin .sppb-column:has(.sppb-addon-person) .sppb-addon,
body.agid-skin .sppb-column:has(.sppb-addon-person) .sppb-addon-content { padding: 0; margin: 0; }

/* ==========================================================================
   Menu a tendina "mega" di Helix (es. "Menu' utente": saluto, Esci, link)
   Struttura: li.sp-has-child > .sp-dropdown-mega > .sp-dropdown-inner > .row >
   .col-sm-12 > ul.sp-mega-group > li (modulo | voci di menu)
   ========================================================================== */
body.agid-skin .sp-dropdown.sp-dropdown-mega {
	width: auto !important; min-width: 260px; max-width: min(340px, 92vw);
}
body.agid-skin .sp-dropdown-mega .sp-dropdown-inner {
	background: #fff; border: 1px solid var(--agid-line); border-top: 4px solid var(--agid-blue); border-radius: 0;
	box-shadow: 0 8px 24px rgba(23, 50, 77, .2); padding: 20px 24px; box-sizing: border-box;
}
/* azzera le "gutter" di Bootstrap: un solo padding, quello del box */
body.agid-skin .sp-dropdown-mega .sp-dropdown-inner > .row { margin: 0; }
body.agid-skin .sp-dropdown-mega .sp-dropdown-inner > .row > [class*="col-"] { padding: 0; }
body.agid-skin .sp-dropdown-mega ul.sp-mega-group { list-style: none; margin: 0; padding: 0; }
body.agid-skin .sp-dropdown-mega ul.sp-mega-group > li { list-style: none; margin: 0; padding: 0; }
/* il modulo dentro la tendina NON e' una card (c'e' gia' il box della tendina) */
body.agid-skin .sp-dropdown .sp-module,
body.agid-skin .sp-dropdown .sp-module-content {
	background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0;
}
body.agid-skin .sp-dropdown .mod-login-logout,
body.agid-skin .sp-dropdown form.mod-login-logout { padding: 0; margin: 0; }
/* saluto e pulsante */
body.agid-skin .sp-dropdown .sp-module-content { color: var(--agid-navy); font-weight: 600; }
body.agid-skin .sp-dropdown .sp-module-content .btn,
body.agid-skin .sp-dropdown .sp-module-content button,
body.agid-skin .sp-dropdown .sp-module-content input[type="submit"] { width: 100%; margin: 12px 0 4px; }
/* voci di menu sotto il modulo (Modifica password, Gestione utenti): lista link BI */
body.agid-skin .sp-dropdown-mega ul.sp-mega-group > li + li { border-top: 1px solid var(--agid-line); }
body.agid-skin .sp-dropdown-mega ul.sp-mega-group > li + li > a,
body.agid-skin .sp-dropdown-mega ul.sp-mega-group > li + li > span,
body.agid-skin .sp-dropdown-mega ul.sp-mega-group > li + li .sp-group-title {
	display: block; padding: 10px 0; margin: 0; text-transform: none !important; text-decoration: none !important;
	font-size: 1rem; font-weight: 600; letter-spacing: 0; color: var(--agid-blue) !important; background: transparent;
}
body.agid-skin .sp-dropdown-mega ul.sp-mega-group > li + li > a:hover,
body.agid-skin .sp-dropdown-mega ul.sp-mega-group > li + li > a:focus { color: var(--agid-blue-d) !important; text-decoration: underline !important; }

/* specificita' maggiore del selettore del menu (.sp-megamenu-parent ...) per il padding del box */
body.agid-skin .sp-megamenu-parent .sp-dropdown.sp-dropdown-mega .sp-dropdown-inner { padding: 20px 24px !important; }
body.agid-skin .sp-megamenu-parent .sp-dropdown.sp-dropdown-mega .sp-module { padding: 0 !important; margin: 0 !important; }
body.agid-skin .sp-dropdown .sp-module:not(#sp-bottom .sp-module):not(#sp-footer .sp-module) {
	background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important;
}

/* Tutte le voci delle tendine (anche intestazioni di gruppo, es. "Export") con lo stesso testo */
body.agid-skin .sp-megamenu-parent .sp-dropdown li > a,
body.agid-skin .sp-megamenu-parent .sp-dropdown li > span,
body.agid-skin .sp-megamenu-parent .sp-dropdown .sp-group-title,
body.agid-skin .sp-megamenu-parent .sp-dropdown .menu_item.item-header > a,
body.agid-skin .sp-megamenu-parent .sp-dropdown .menu_item.item-header > span,
body.agid-skin .sp-megamenu-parent .sp-dropdown .sp-menu-heading {
	font-family: 'Titillium Web', sans-serif !important;
	font-size: 1.05rem !important; font-weight: 600 !important; line-height: 1.35;
	text-transform: none !important; letter-spacing: 0 !important; opacity: 1 !important;
	color: var(--agid-navy);
}
body.agid-skin .sp-megamenu-parent .sp-dropdown li > a:hover,
body.agid-skin .sp-megamenu-parent .sp-dropdown li > a:focus { color: var(--agid-blue); }

/* Stesso rientro per tutte le voci della tendina (Export incluso); il box utente ha il suo padding */
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) li > a,
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) li > span,
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) .sp-group-title,
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) .menu_item.item-header > a,
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) .menu_item.item-header > span,
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) .sp-menu-heading {
	display: block; padding: 10px 24px !important; margin: 0 !important; text-indent: 0 !important; text-align: left;
}
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) ul.sp-mega-group,
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) .sp-dropdown-items { padding-left: 0 !important; margin-left: 0 !important; }
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) .menu_item.item-header,
body.agid-skin .sp-megamenu-parent .sp-dropdown:not(:has(.mod-login-logout)) .sp-mega-group > li { padding: 0 !important; margin: 0 !important; }

/* ==========================================================================
   ELENCATORI, TABELLE E MAPPE: tutta pagina, contrasti WCAG 2.1 AA
   ========================================================================== */
/* 1. Tutta larghezza: niente card/bordo attorno ai moduli-elenco e margini di pagina ridotti */
body.agid-skin .sp-module:has([id^="wrap-"]),
body.agid-skin .sppb-column:has([id^="wrap-"]),
body.agid-skin .sppb-addon-module:has([id^="wrap-"]),
body.agid-skin .sp-module:has(.leaflet-container),
body.agid-skin .sppb-column:has(.leaflet-container) {
	background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important;
}
body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) { padding: 24px 0; }
body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) .container,
body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) .container-inner,
body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) .sppb-row-container,
body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) .sppb-section { max-width: 100% !important; width: 100% !important; }
body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) #sp-component > .sp-column,
body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) .sppb-row-container { padding-left: clamp(16px, 2.5vw, 48px); padding-right: clamp(16px, 2.5vw, 48px); }
body.agid-skin [id^="wrap-"] { width: 100%; max-width: 100%; }

/* 2. Tabella: intestazione navy con testo bianco (contrasto 12:1), testo 16px, zebra leggera */
body.agid-skin [id^="wrap-"] table { font-size: 1rem; }
body.agid-skin [id^="wrap-"] thead tr { background: #17324d !important; }
body.agid-skin [id^="wrap-"] table th,
body.agid-skin [id^="wrap-"] thead th {
	background: transparent !important; color: #fff !important; font-size: .9rem !important; font-weight: 700;
	text-transform: none !important; letter-spacing: 0 !important; opacity: 1 !important;
}
body.agid-skin [id^="wrap-"] table td { color: #17324d; font-size: 1rem; line-height: 1.45; vertical-align: middle; }
body.agid-skin [id^="wrap-"] table tbody tr:nth-child(even) td { background: #f2f7fc; }
body.agid-skin [id^="wrap-"] table tbody tr:hover td { background: #e3eefa; }
/* etichette secondarie nelle celle ("Comune:", "Indirizzo:", "Veicolo A:") : grigio-blu scuro, mai sbiadito */
body.agid-skin [id^="wrap-"] td small,
body.agid-skin [id^="wrap-"] td .text-muted,
body.agid-skin [id^="wrap-"] td [class*="label"],
body.agid-skin [id^="wrap-"] td [class*="lbl"],
body.agid-skin [id^="wrap-"] td [class*="meta"] { color: #4f6478 !important; opacity: 1 !important; }
/* messaggi e conteggio risultati */
body.agid-skin [id^="wrap-"] p[style*="#888"],
body.agid-skin [id^="wrap-"] p[style*="#999"] { color: #4f6478 !important; font-size: 1rem !important; }
/* filtri leggibili */
body.agid-skin [id^="wrap-"] .ei-filtro label { color: #17324d; font-size: 1rem; font-weight: 600; }
body.agid-skin [id^="wrap-"] select,
body.agid-skin [id^="wrap-"] input[type="text"] { font-size: 1rem; color: #17324d; }
/* Pulsanti secondari (Cancella filtri, Esporta...): bordo blu, testo blu scuro (contrasto 7:1) */
body.agid-skin [id^="wrap-"] button:not(.ei-btn-avvia):not(.ei-btn-elimina):not(.ei-btn-icona):not(.ei-pagina-btn) {
	background: #fff; color: #004d99; border: 1px solid #0066cc; font-weight: 600; font-size: 1rem;
}
body.agid-skin [id^="wrap-"] button:not(.ei-btn-avvia):not(.ei-btn-elimina):not(.ei-btn-icona):not(.ei-pagina-btn):hover { background: #e3eefa; }
body.agid-skin [id^="wrap-"] .ei-btn-icona { color: #0066cc !important; border-color: #0066cc !important; }

/* 3. Mappe (Leaflet): tutta larghezza, bordo AgID, controlli e popup leggibili */
body.agid-skin .leaflet-container {
	width: 100% !important; max-width: 100%; border: 1px solid var(--agid-line); border-top: 4px solid var(--agid-blue);
	font-family: 'Titillium Web', sans-serif; font-size: 1rem; color: var(--agid-navy);
}
body.agid-skin .leaflet-container a { color: var(--agid-blue); }
body.agid-skin .leaflet-popup-content-wrapper { border-radius: 0; color: var(--agid-navy); font-size: 1rem; }
body.agid-skin .leaflet-popup-content { margin: 14px 18px; line-height: 1.45; }
body.agid-skin .leaflet-bar a { color: var(--agid-navy); }
body.agid-skin .leaflet-control-attribution { font-size: .8rem; color: #17324d; background: rgba(255,255,255,.9); }
/* stessa specificita' della card generale (che esclude footer con :not(#id ...)): qui senza card attorno agli elenchi */
body.agid-skin .sp-module:has([id^="wrap-"]):not(#sp-bottom .sp-module):not(#sp-footer .sp-module),
body.agid-skin .sp-module:has(.leaflet-container):not(#sp-bottom .sp-module):not(#sp-footer .sp-module) {
	background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important;
}
body.agid-skin [id^="wrap-"] table td,
body.agid-skin [id^="wrap-"] table th { text-align: left; }
body.agid-skin [id^="wrap-"] table td.ei-col-azioni,
body.agid-skin [id^="wrap-"] table th.ei-col-azioni { text-align: right; }

/* Spazio tra l'ultimo box del contenuto e la fascia blu del footer */
body.agid-skin #sp-main-body { padding-bottom: 56px !important; }
body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) { padding-bottom: 56px !important; }
body.agid-skin #sp-bottom { margin-top: 0; }
@media (max-width: 767px) { body.agid-skin #sp-main-body, body.agid-skin #sp-main-body:has([id^="wrap-"], .leaflet-container) { padding-bottom: 40px !important; } }

/* Login: etichette SOPRA il campo (nello stile attuale restano sovrapposte al testo digitato / compilato dal browser) */
body.agid-skin .mod-login__username label,
body.agid-skin .mod-login__password label,
body.agid-skin .mod-login .form-group > label {
	position: static !important; display: block !important; transform: none !important; transition: none !important;
	margin: 0 0 6px !important; padding: 0 !important; width: auto !important; height: auto !important;
	font-size: 1rem !important; font-weight: 600; color: var(--agid-navy) !important; pointer-events: auto; background: transparent !important;
}
body.agid-skin .mod-login .input-group { display: flex; flex-wrap: nowrap; }
body.agid-skin .mod-login .form-control { padding: 8px 12px; }
/* campi compilati dal browser: stesso aspetto degli altri, testo leggibile */
body.agid-skin input:-webkit-autofill,
body.agid-skin input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--agid-navy); box-shadow: 0 0 0 1000px #fff inset !important; transition: background-color 9999s;
}
