.it-header-slim-wrapper {
    background: #5a34ad;
}

.it-header-wrapper {
    box-shadow: 0 4px 20px rgb(0 0 0 / 35%);
}



.immagine-homepage{
	margin-bottom:1rem;
	box-shadow: 0 4px 20px rgb(0 0 0 / 35%);
}

.immagine-homepage{
	height:auto;
	text-align:center;
	
}

header .page-title.news-page-title-page.container .row .col-lg-7{
	padding-right:30px;
}

main .container-xxl.has-one-sidebar .col-lg-8 .it-content__wrapper{
	padding-left:2rem;
	padding-bottom:4rem;
}

.it-header-slim-wrapper .it-header-slim-wrapper-content .dropdown-menu{
	background-color: #FFF;
}

.it-header-slim-wrapper .it-header-slim-wrapper-content .dropdown-menu .link-list-wrapper .list-item-title{
	font-size: 1rem;
    white-space: nowrap;
}



.label-tipologia-bandimisure{
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 3px;
    background-color: #3f2183;
    color: #fff;
}

.label-stato{
	float:right;
}

.dropdown-menu.dark:before {
    background-color: #FFF;
}

.navigazione-area-tematica .btn-icon{
	transition: all 0.3s ease;
}

.navigazione-area-tematica .btn-icon:hover{
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}

.page-node-type--bandi-e-misure #it-block-italiagov-page-title{
	display:none;
}

.node--view-mode-full .btn-check:checked+.btn, 
.node--view-mode-full :not(.btn-check)+.btn:active, 
.node--view-mode-full .btn:first-child:active, 
.node--view-mode-full .btn.active, .btn.show {
    background-color: transparent !important;
    border-color: transparent !important;
}


.text-primary {
    color: #3f2183 !important;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    border-bottom-color: #3f2183;
    color: #3f2183;
    cursor: inherit;
}

.page-node-type--ppt-piano-di-sviluppo-del-polo-t #it-block-italiagov-page-title{
	display:none;
}

.btn-check:checked+.btn, :not(.btn-check)+.btn:active, .btn:first-child:active, .btn.active, .btn.show {
    color: var(--bs-btn-active-color);
    background-color: #6440b5;
    border-color: #6440b5;
}

.form-check [type=checkbox]:checked+label::after {
    border-color: #3f2183;
    background-color: #3f2183;
    z-index: 0;
}

.it-footer-small-prints {
    background-color: #1a2225;
}

.navbar .navbar-collapsable .navbar-nav li a.nav-link.dropdown-toggle svg {
    fill: #fff;
    transition: all .3s;
    margin-left: 10px;
}



.sidebar-wrapper.it-line-right-side .sidebar-linklist-wrapper .link-list-wrapper ul li a[data-bs-toggle=collapse].active {
    border-right: 0px solid #a78ae9 ;
    border-left: none;
}

.sidebar-wrapper.it-line-right-side {
    border-right: 0px solid hsl(210, 4%, 78%);
	padding-top:0px !Important;
}

@media (max-width: 991px) {
.sidebar-wrapper.it-line-right-side {
	padding-right: 1rem !important;
	padding-left: 1rem !important;
}

#header_nav-main-navbar ul li a span{
	color:#fff !important;;
}

}


.sidebar-wrapper h3{
	        border-bottom: 4px solid hsl(210, 4%, 78%);
		font-weight: 600;
		color: #17324d;
		padding-bottom: .8rem !important;
}

.col-lg-4.it-sidebar-first__wrapper{
	 border-right: 1px solid hsl(210, 4%, 78%);
	 padding:0px !important;
}

.page-node-type--page.page-type--page .it-page-title__wrapper.container-xxl{
	margin-bottom:2rem;
}

.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul li a.active:after {
    content: "";
    display: block;
    width: 4px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background-color: #a78ae9 ;
}


main section.it-breadcrumb__wrapper .px-lg-4{
	padding-right: 0rem !important;
        padding-left: 0rem !important;
}

#header-nav-wrapper .row .col-12{
	padding-left:0px !important;
	padding-right:0òx !important;
}

/* Stile per l'icona Home nel breadcrumb */
.breadcrumb-item:first-child a::before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 8px;
    vertical-align: middle;
    /* Colore dell'icona (eredita quello del link) */
    background-color: currentColor; 
    
    /* Maschera SVG per l'icona Home */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path></svg>');
    
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    
    /* Correzione allineamento verticale */
    margin-top: -3px;
}

.immagine-homepage p {
	padding:0px;
	margin:0px;
}

.immagine-homepage p img{
    position: relative;
    z-index: -1;
	width:100%;
	height:auto;
	margin:0px auto;
	max-width:2200px;
	
}

.navbar {
    background: #2e1666;
}

#header_nav-main-navbar nav a.nav-link {
    color: #FFF;
}

a{
		color: #3f2183;
  transition: background-color 0.4s ease;
}

main a:hover {
    color: #3f2183 !important;
	text-decoration:none !important;
}

.empty-view{
	display:inline-block;
	padding:30px 30px 50px 30px;
	text-align:center;
	    width: 100%;
    margin-left: auto;
    margin-right: auto;
    grid-column: 1 / -1;
}



.empty-view .btn-primary:hover{
	color:#FFF !important;
}

.bg-primary {
    background-color: #3f2183 !important;
}
.btn-dropdown {
    color: #3f2183;
}

.navbar .navbar-collapsable .navbar-nav li a.nav-link:hover{
	color:#FFF !important;
	text-decoration:underline !important;
}

.it-header-center-wrapper {
    background: #3f2183;	
}

    .it-header-navbar-wrapper {
        background: #3f2183;
    }
	
	.navbar .navbar-collapsable .menu-wrapper {
		 background: #3f2183;
	}

.navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link.active, .navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link.active{
	border-color: #e5d9fd;
}

.it-footer-main{
	background:#202a2e;
}

.it-header-slim-wrapper .it-header-slim-wrapper-content .nav-mobile ul.link-list {
     margin: 0;
     padding: 0 0px;
}

.rateit-range{
	cursor:pointer;
}

.form-valutazione-home .form-check [type=radio]:checked+label::before {
    border-color: #3f2183 !important;
}

.form-valutazione-home .form-check [type=radio]:checked+label::after {
    border-color: #3f2183 !important;
    background-color: #3f2183 !important;
}

.form-valutazione-home .btn-primary{
	background: linear-gradient(135deg, #3f2183, #3f2183) !important;
}

:root {
  --primary: #3f2183;
  --primary-rgb: 63, 33, 131;
}

.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #5a34ad;
  border-color: #5a34ad;
}

.btn-primary:active,
.btn-primary.active {
  background-color: #5a34ad;
  border-color: #5a34ad;
}

.icon-primary {
    fill: #3f2183 !important;
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon svg {
    fill: #3f2183;
}

.navbar .dropdown-menu a.it-heading-link, .navbar .dropdown-menu a.it-footer-link {
    color: #3f2183;
}

.navbar .dropdown-menu .link-list-wrapper ul li a {
        color: #3f2183;
}

.navbar .dropdown-menu .link-list-wrapper ul li a span, .navbar .dropdown-menu .link-list-wrapper ul li a i {
        color: #3f2183;
}

.navbar .dropdown-menu .link-list-wrapper ul li a svg {
    fill: #3f2183;
}

.navbar .nav-link.disabled{
	color:#FFF;
           padding: 13px 16px;
}


.it-header-navbar-wrapper ul{
		font-size: 1rem;
}

.navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link, .navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link {
	        padding: 13px 12px;
}        

.navbar-secondary li:last-child a,
.navbar-secondary li:last-child span {
  font-weight: 700;
}

.it-brand-title{
	font-weight: 700;
	font-size: 1.2rem;
}

.form-valutazione-home .form-check [type=radio]:checked+label::after {
    border-color: #3f2183;
    background-color: #3f2183;
}

    .pagination .page-item .page-link {
        height: 2rem;
        min-width: 2rem;
    }



/* ############################# Contatta homepage ############################ */

.form-valutazione-home {
        background-color: #3f2183;
    padding-bottom:30px;
    padding-top:30px;
    text-align: center;
    box-shadow: 0px 0px 31px 0px #3f2183;
}

.form-valutazione-home h2{
       color:#FFF;
    font-size:1.4rem;
    
}

/* Stile generale per il form */
.form-valutazione-home .webform-submission-form {
    font-family: 'Segoe UI', system-ui, sans-serif;
    color: #333;
    max-width: 600px;
    margin: 30px auto 30px auto;
    padding: 20px;
   box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    background-color: #FFF;
	border-radius:5px;
	
}

.form-valutazione-home .webform-submission-form,
.agid-contatti-footer .cmp-contacts,
.news-content-description .mb-3,
.attachment-box,
.view-archivio-notizie .news-page-menu,
.view-archivio-notizie .views-exposed-form,
.view-archivio-eventi .news-page-menu,
.view-archivio-eventi .views-exposed-form,
.agid-allegati-pagina-semplice .views-field-field-allegati .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-new .field-content > div,
.agid-allegati-pagina-semplice .lista-allegati .field-content > div,
.agid-allegati-pagina-semplice .lista-allegati .field-content > .contextual-region {
	transition: all 0.3s ease;
}

.form-valutazione-home .webform-submission-form:hover,
.agid-contatti-footer .cmp-contacts:hover,
.news-content-description .mb-3:hover,
.attachment-box:hover,
.view-archivio-notizie .news-page-menu:hover,
.view-archivio-notizie .views-exposed-form:hover,
.view-archivio-eventi .news-page-menu:hover,
.view-archivio-eventi .views-exposed-form:hover,
.agid-allegati-pagina-semplice .views-field-field-allegati .field-content > div:hover,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-new .field-content > div:hover,
.agid-allegati-pagina-semplice .lista-allegati .field-content > div:hover,
.agid-allegati-pagina-semplice .lista-allegati .field-content > .contextual-region:hover {
transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}

.it-header-center-content-wrapper .it-brand-wrapper img.icon {
	transition: all 0.3s ease;
}

.it-header-center-content-wrapper .it-brand-wrapper img.icon:hover{
transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}


/* Titolo principale */
.form-valutazione-home  .webform-submission-form h1,
.form-valutazione-home  .webform-submission-form h2 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 1.5rem;
    text-align: center;
}

/* Sistema di rating personalizzato */
.form-valutazione-home .js-webform-type-webform-rating {
    text-align: center;
    margin: 2rem 0;
}

.form-valutazione-home  .js-webform-type-webform-rating label {
    display: block;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
    font-size: 1.1rem;
}

/* Nascondi l'input range originale */
.form-valutazione-home  .form-webform-rating {
    display: none !important;
}

/* Container del rating */
.form-valutazione-home  .rateit {
    display: inline-block;
    position: relative;
}


/* Fieldset styling */
.form-valutazione-home  fieldset.webform-radios-other--wrapper {
   
    margin: 2rem 0;

   
}

/* Legend styling */
.form-valutazione-home  .fieldset-legend {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2c3e50;
    padding: 0 0.5rem;
    margin-bottom: 1rem;
    display: block;
    width: 100%;
}

.form-valutazione-home  .form-required:after {
    content: " *";
    color: #dc3545;
}

/* Checkbox/Radio items */
.form-valutazione-home  .form-check {
    padding: 0.75rem 1rem;
    margin: 0.5rem 0;
    border-bottom: 1px solid #dee2e6;
    border-radius: 0px;
    background: white;
    transition: all 0.2s ease;
}

.form-valutazione-home  .form-check:hover {
    border-color: #999;
    background: #f8f9ff;
}

.form-valutazione-home  .form-check input[type="radio"] {
    margin-right: 0.75rem;
}

.form-valutazione-home  .form-check label {
    font-weight: 400;
    cursor: pointer;
    margin: 0;
    display: flex;
    align-items: center;
}

/* Textarea styling */
.form-valutazione-home  .form-group {
    margin: 2rem 0;
}

.form-valutazione-home  .form-group label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.75rem;
    display: block;
}

.form-valutazione-home  .form-textarea {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    font-size: 0.95rem;
    transition: border-color 0.2s ease;
}

.form-valutazione-home  .form-textarea:focus {
    border-color: #368311;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,0.25);
}

/* Counter styling */
.form-valutazione-home  .text-count-wrapper {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: #6c757d;
}

/* Submit button */
.form-valutazione-home  .webform-actions {
    text-align: center !important;
}

.form-valutazione-home .form-check [type=radio]:checked+label::before {
    border-color: #368311;
}

.form-valutazione-home .form-check [type=radio]:checked+label::after {
    border-color: #368311;
    background-color: #368311;
}

.form-valutazione-home  .btn-primary {
    background: linear-gradient(135deg, #368311, #368311);
    border: none;
    border-radius: 8px;
    padding: 0.75rem 2rem;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(77,78,79,0.3);
}

.form-valutazione-home .form-actions{
    padding-top:20px;
    background-color:#FFF;
    box-shadow: 0 -.6375rem 1.125rem -.9rem rgba(0, 0, 0, .1);
}

.form-valutazione-home  .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(77,78,79,0.3);
}

/* Other input field */
.form-valutazione-home  .webform-radios-other-input {
    margin-top: 1rem;
}

.form-valutazione-home  .form-textfield {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 0.75rem;
    width: 100%;
    transition: border-color 0.2s ease;
}

.form-valutazione-home  .form-textfield:focus {
    border-color: #368311;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,0.25);
}

/* Responsive adjustments */
@media (max-width: 768px) {
	
	.form-valutazione-home{
		padding-left:30px;
		padding-right:30px;
		
	}
	
    .form-valutazione-home  .webform-submission-form {
        padding: 15px;
    }
    
    .form-valutazione-home  fieldset.webform-radios-other--wrapper {
        padding: 1rem;
    }
    
    .form-valutazione-home  .rateit-empty:before,
    .form-valutazione-home  .rateit-selected:before {
        font-size: 1.8rem;
    }
}

/* Se il plugin rateit non funziona bene, alternativa CSS-only */
.form-valutazione-home  .rating-stars {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin: 1rem 0 2rem 0;
}

.form-valutazione-home  .rating-stars .star {
    font-size: 2rem;
    color: #e0e0e0;
    cursor: pointer;
    transition: color 0.2s ease;
}



/* Focus states for accessibility */
.form-valutazione-home  .form-radio:focus,
.form-valutazione-home  .form-textfield:focus,
.form-valutazione-home  .form-textarea:focus {
    outline: none;
}

.form-valutazione-home  .webform-type-textarea{
    margin-top:50px !important;
}

.back-to-top{
	background: #3f2183 !important;
}

.back-to-top:hover {
   background: #231249 !important;
}

.link-list-wrapper ul li a span {
    color: #3f2183 !important;
}


/* ######################## HOME NOTIZIA EVDENZA GRANDE ############################### */



/* Container principale */
.agid-notizia-evidenza-grande .view-notizia-evidenza-grande {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* Layout a griglia */
.agid-notizia-evidenza-grande .views-row {
    display: grid;
    grid-template-columns: 1fr;

    /* Allinea tutti gli elementi all'inizio (in alto) del contenitore */
    align-items: start; 
}

/* Desktop: Configurazione due colonne */
@media (min-width: 992px) {
    .agid-notizia-evidenza-grande .views-row {
        grid-template-columns: 5fr 6fr;
        column-gap: 4rem;
    }

    .agid-notizia-evidenza-grande .views-field-field-immagine-notizia {
        grid-column: 2;
        grid-row: 1 / 10;
        /* Forza l'allineamento in alto anche se la colonna è più alta del contenuto */
        align-self: start; 
    }
    
    .agid-notizia-evidenza-grande .views-field:not(.views-field-field-immagine-notizia) {
        grid-column: 1;
    }
}

/* Stile Immagine - Rimosso eventuale margine superiore */
.agid-notizia-evidenza-grande .views-field-field-immagine-notizia {
    margin-top: 0;

}

.agid-notizia-evidenza-grande .views-field-field-immagine-notizia img {
	transition: all 0.3s ease;
}

/* Stile Immagine - Rimosso eventuale margine superiore */
.agid-notizia-evidenza-grande .views-field-field-immagine-notizia img:hover {
transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}

.agid-notizia-evidenza-grande .views-field-field-immagine-notizia img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block; /* Rimuove spazi bianchi sotto l'immagine */
	margin-bottom:1rem;
}

/* --- Resto dello stile per coerenza con l'esempio --- */

/* Categoria e Data */
.agid-notizia-evidenza-grande .views-field-nothing {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1rem;
    color: #555;
    margin-bottom: 0.5rem;
    margin-top: 0; /* Assicura l'allineamento col top dell'immagine */
}

/* Titolo */
.agid-notizia-evidenza-grande .views-field-title a {
    font-size: 2.2rem;
    line-height: 1.1;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    display: block;
    margin-bottom: 1rem;
	margin-top:1.5rem;
}


.agid-notizia-evidenza-grande .views-field-title a:hover {
	color:#3f2183 !important;
}

/* Descrizione */
.agid-notizia-evidenza-grande .views-field-field-descrizione-breve {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #333;
    margin-bottom: 1.5rem;
}

/* Chips Area Tematica */
.agid-notizia-evidenza-grande .views-field-field-area-tematica ul {
    list-style: none;
    padding: 5px 0 0 0 ;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.agid-notizia-evidenza-grande .views-field-field-area-tematica li a {
    justify-content: space-evenly;
    align-items: center;
    background: #3f2183;
    border: 1px solid #3f2183;
    border-radius: 12px;
    min-width: 100px;
    padding: 0 8px 2px 8px;
    transition: all .05s;
    margin-top: 4px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #FFF;
    transition: all 0.2s;
	font-size:1rem;
}

.agid-notizia-evidenza-grande .views-field-field-area-tematica li a:hover {
	color: #FFF !important;
    background: #5a34ad;	
}

/* Footer "Tutte le notizie" */
.agid-notizia-evidenza-grande footer a {
    font-weight: 700;
    color: #3f2183;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.5px;
}

.agid-notizia-evidenza-grande footer a::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    background-color: #3f2183; /* Colore della freccia */
    
    /* Usiamo l'SVG fornito come maschera così segue il colore del testo */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}


.agid-notizia-evidenza-grande footer a:hover::after {
    background-color: #2a165d;
    transform: translateX(4px); /* Leggera animazione della freccia */
    transition: transform 0.2s ease;
}

.agid-notizia-evidenza-grande footer a:hover {
	color:#000 !important;
}

/* 1. Rendiamo il contenitore principale un Flexbox Column */
.agid-notizia-evidenza-grande .view-notizia-evidenza-grande {
    display: flex;
    flex-direction: column;
}

/* 2. Assegniamo l'ordine visuale agli elementi figli */

/* La riga con i contenuti (Immagine + Testo) resta per prima */
.agid-notizia-evidenza-grande .views-row {
    order: 1;
}

/* Il footer (Tutte le notizie) viene spostato al secondo posto */
.agid-notizia-evidenza-grande .view-notizia-evidenza-grande > footer {
    order: 2;
    margin-top: 1.5rem;
    margin-bottom: 0rem; /* Spazio rispetto alla paginazione sotto */
    border-top: 1px solid #eee;
    padding-top: 1.5rem;
}

/* La paginazione finisce per ultima */
.agid-notizia-evidenza-grande .pagination-wrapper {
    order: 3;
    margin-top: 1rem;
    padding-top: 0;
}

/* Opzionale: Styling del link "Tutte le notizie" per renderlo simile all'esempio (freccia a destra) */
.agid-notizia-evidenza-grande footer a {
    display: inline-flex;
    align-items: center;
    color: #3f2183;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
}

.agid-notizia-evidenza-grande  .pagination-wrapper{
	    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
}


.pagination .page-item .page-link[aria-current] {
    border: 1px solid #3f2183;
    color: #3f2183;
}

.pagination .page-item .page-link:hover .icon{
	fill:#3f2183;
}


/* ###################################### HOME NEWS EVIDENZA ############################# */

.region-home-second-row-full-width{
	padding:4rem 0 1rem 0;
	margin-top:4rem;
	background: #3f218312;
}

/* --- CONTAINER GRIGLIA --- */
/* Identifichiamo il contenitore diretto delle righe (views-row) */
.agid-news-evidenza-home .view-content, 
.agid-news-evidenza-home .view-duplicato-di-notizia-evidenza-grande {
    display: grid;
    grid-template-columns: repeat(1, 1fr); /* Mobile: 1 colonna */
    gap: 1rem;
    padding: 20px 0;
	margin-top:-8rem;
}

/* Tablet: 2 colonne */
@media (min-width: 768px) {
    .agid-news-evidenza-home .view-content,
    .agid-news-evidenza-home .view-duplicato-di-notizia-evidenza-grande {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Desktop: 3 colonne */
@media (min-width: 992px) {
    .agid-news-evidenza-home .view-content,
    .agid-news-evidenza-home .view-duplicato-di-notizia-evidenza-grande {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* --- STILE CARD (views-row) --- */
.agid-news-evidenza-home .views-row {
    background: #ffffff;
       border: 1px solid #b1b1b357;
    box-shadow: 0 0.125rem 0.25rem rgb(0 0 0 / 8%);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%; /* Forza le card della stessa riga ad avere la stessa altezza */
    transition: all 0.3s ease;
}

.agid-news-evidenza-home .views-row:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 20px rgba(0,0,0,0.1);

}

/* --- IMMAGINE --- */
.agid-news-evidenza-home .views-field-field-immagine-notizia {
    order: 1; /* Assicura che sia la prima in alto */
    margin-bottom: 0;
}

.agid-news-evidenza-home .views-field-field-immagine-notizia img {
    width: 100%;
    height: 220px; /* Altezza fissa per uniformità */
    object-fit: cover;
    border-bottom: 3px solid #3f2183;
}

/* --- CONTENUTO TESTUALE (Padding interno) --- */
/* Applichiamo padding a tutti i campi tranne l'immagine */
.agid-news-evidenza-home .views-field:not(.views-field-field-immagine-notizia) {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* --- CATEGORIA E DATA --- */
.agid-news-evidenza-home .views-field-nothing {
    order: 2;
    padding-top: 1.25rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #666;
}

.agid-news-evidenza-home .views-field-nothing a {
    color: #3f2183;
    text-decoration: none;
}

.agid-news-evidenza-home .views-field-nothing a:hover {

    text-decoration: underline !important;
}

/* --- TITOLO --- */
.agid-news-evidenza-home .views-field-title {
    order: 3;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.agid-news-evidenza-home .views-field-title a {
    color: #3f2183;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Tronca il titolo dopo 3 righe */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.agid-news-evidenza-home .views-field-title a:hover {
    color: #000 !important;
}

/* --- DESCRIZIONE BREVE --- */
.agid-news-evidenza-home .views-field-field-descrizione-breve {
    order: 4;
    font-size: 0.95rem;
    color: #444;
    line-height: 1.5;
    flex-grow: 1; /* Spinge i tag verso il basso se il testo è corto */
    margin-bottom: 1.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 4; /* Tronca la descrizione dopo 4 righe */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- AREA TEMATICA (Tag/Chips) --- */
.agid-news-evidenza-home .views-field-field-area-tematica {
    order: 5;
    padding-bottom: 1.5rem;
}

.agid-news-evidenza-home .views-field-field-area-tematica .views-label {
    display: block;
    font-size: 1rem;

    margin-bottom: 0.5rem;
}

.agid-news-evidenza-home .views-field-field-area-tematica ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.agid-news-evidenza-home .views-field-field-area-tematica li a {
justify-content: space-evenly;
    align-items: center;
    background: #FFF;
    border: 1px solid #3f2183;
    border-radius: 12px;
    min-width: 100px;
    padding: 0 8px 2px 8px;
    transition: all .05s;
    margin-top: 4px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #3f2183;
    transition: all 0.2s;
    font-size: 0.8rem;
}

.agid-news-evidenza-home .views-field-field-area-tematica li a:hover {
	color: #FFF !important;
    background: #5a34ad;
}

/* --- PAGINAZIONE E FOOTER --- */
.agid-news-evidenza-home .pagination-wrapper,
.agid-news-evidenza-home footer {
    grid-column: 1 / -1; /* Occupa tutta la larghezza della griglia */
    text-align: center;
    margin-top: 2rem;
}

.agid-news-evidenza-home footer a {
    display: inline-block;
    padding: 10px 25px;
    background: #3f2183;
    color: #fff !important;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    transition: background 0.2s;
}

.agid-news-evidenza-home footer a:hover {
    background: #2a165d;
}

/* --- CAMPO "LEGGI DI PIÙ" (views-field-title-1) --- */
.agid-news-evidenza-home .views-field-title-1 {
    order: 6; /* Posizionato dopo l'area tematica */
    padding-top: 1rem;
    padding-bottom: 1.5rem;
    margin-top: auto; /* Spinge il link in fondo se la card è alta */
}

.agid-news-evidenza-home .views-field-title-1 .field-content {
    color: #3f2183;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: color 0.2s ease-in-out;
}

.agid-news-evidenza-home .views-field-title-1 .field-content a{
	text-decoration:none;
}

.agid-news-evidenza-home .views-field-title-1 .field-content a:hover{

	color:#000 !important;
}

/* Inserimento Freccia SVG tramite CSS */
.agid-news-evidenza-home .views-field-title-1 .field-content::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    background-color: #3f2183; /* Colore della freccia */
    
    /* Usiamo l'SVG fornito come maschera così segue il colore del testo */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Effetto Hover sul link */
.agid-news-evidenza-home .views-row:hover .views-field-title-1 .field-content {
    color: #2a165d;
}

.agid-news-evidenza-home .views-row:hover .views-field-title-1 .field-content::after {
    background-color: #2a165d;
    transform: translateX(4px); /* Leggera animazione della freccia */
    transition: transform 0.2s ease;
}

/* ########################### CALENDARIO EVENTI HOME ################################# */

/* Footer "Tutte le notizie" */
.agid-calendario-eventi-home footer{
    grid-column: 1 / -1; /* Usa -1 per occupare tutte le colonne disponibili */
    display: flex !important;
    justify-content: right !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.agid-calendario-eventi-home footer a {
    font-weight: 700;
    color: #3f2183;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    margin-right: 20px;
}

.agid-calendario-eventi-home footer a::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    background-color: #3f2183;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    vertical-align: sub;
}

.agid-calendario-eventi-home footer a:hover::after {
    background-color: #2a165d;
    transform: translateX(4px);
    transition: transform 0.2s ease;
}

.agid-calendario-eventi-home footer a:hover {
    color: #000 !important;
}

/* --- CONTENITORE GENERALE --- */
.agid-calendario-eventi-home {
    margin-bottom: 4rem;
    margin-top: 4rem;
}

/* Titolo "Eventi" */
.agid-calendario-eventi-home h2 {
    color: #fff;
    font-weight: 800;
    margin-bottom: 0;
    background-color: #3f2183;
    padding: 0.8rem;
    font-size: 1.5rem;
    text-align: center;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

/* --- FASCIA DEL MESE --- */
.agid-calendario-eventi-home .it-header-block {
    background-color: #3f2183; 
    color: white;
    padding: 2rem 2rem 5rem 2rem; 
    border-radius: 8px 8px 0 0;
    text-align: center;
}

.agid-calendario-eventi-home .calendar-header-title {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 1.2rem;
}

/* --- CARD SINGOLA --- */
.agid-calendario-eventi-home .views-row {
    background: #ffffff;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1), 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.agid-calendario-eventi-home .views-row:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(63, 33, 131, 0.15);
}

/* --- ELEMENTI DATA --- */
.agid-calendario-eventi-home .views-field-field-data-e-ora-di-inizio-event-1 {
    margin-bottom: 15px;
}

.agid-calendario-eventi-home .views-field-field-data-e-ora-di-inizio-event-1 time {
    display: block;
    font-size: 2rem; 
    font-weight: 900;
    color: #333;
    line-height: 1;
}

.agid-calendario-eventi-home .views-field-field-data-e-ora-di-inizio-event-2 {
    font-size: 0.8rem;
    color: #888;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

/* --- IMMAGINE --- */
.agid-calendario-eventi-home .views-field-field-immagine-notizia img {
    width: 80px;
    height: 80px;
    border-radius: 50%; 
    object-fit: cover;
    margin-bottom: 15px;
    border: 3px solid #f0ebff;
}

.agid-calendario-eventi-home .views-field-field-tipologia-evento {
    margin-top: 1rem;
}

.agid-calendario-eventi-home .views-field-field-tipologia-evento a {
    align-items: center;
    background: #FFF;
    border: 1px solid #3f2183;
    border-radius: 12px;
    min-width: 100px;
    padding: 0 8px 2px 8px;
    transition: all 0.2s;
    margin-top: 4px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #3f2183;
    font-size: 0.8rem;
}

.agid-calendario-eventi-home .views-field-field-tipologia-evento a:hover {
    color: #FFF !important;
    background: #5a34ad;
}

/* --- TITOLO --- */
.agid-calendario-eventi-home .views-field-title a {
    color: #3f2183;
    font-weight: 700;
    text-decoration: none;
    font-size: 0.95rem;
    line-height: 1.2;
}

.agid-calendario-eventi-home .views-field-title a:hover {
    color: #000 !important;
}

/* --- FOOTER CARD --- */
.agid-calendario-eventi-home .views-field-nothing {
    margin-top: 1rem;
    padding-top: 15px;
    font-size: 1rem;
    color: #000;
    border-top: 1px solid #F1F1F1;
    width: 100%;
}


.calendar-ico{
	 display: inline-block;
	 margin-bottom:3px;
	 color:#666;
}

.calendar-ico strong{
	 color:#000;
}

.calendar-ico::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: #3f2183;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
	mask-size: contain;
    margin-top: 2px;
    vertical-align: top;
    margin-right: 5px;
}

/* Pseudo-elemento Icona */
.agid-calendario-eventi-home .views-field-nothing strong::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: #3f2183;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    mask-size: contain;
    margin-top: 5px;
    vertical-align: top;
    margin-right: 3px;
}

.agid-calendario-eventi-home .views-field-nothing hr + strong::before {
    background-color: #000;
}

.agid-calendario-eventi-home .views-field-nothing hr {
    margin: 10px 0;
}

/* Paginatore */
.agid-calendario-eventi-home .pagination-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    grid-column: 1 / -1; /* Usa -1 per occupare tutte le colonne */
}

.agid-calendario-eventi-home .pagination {
    display: flex;
    padding-left: 0;
    list-style: none;
    margin-bottom: 0;
}

.pagination .page-item .page-link:hover {
    color: #000;
}

/* LO STILE DELL'HEADER */
.agid-calendario-eventi-home .view-calendario-eventi-home header {
    background-color: #3f2183;
    padding: 0.8rem;
    text-align: center;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    margin-bottom: 0;
    width: 100%; 
    box-sizing: border-box;
    grid-column: 1 / -1; /* Usa -1 per occupare tutte le colonne */
}

.agid-calendario-eventi-home .view-calendario-eventi-home header p {
    color: #fff;
    font-weight: 800;
    font-size: 1.5rem;
    margin: 0;
}

/* --- CONFIGURAZIONE GRIGLIA DESKTOP (BASE) --- */
.agid-calendario-eventi-home .view-content, 
.agid-calendario-eventi-home .view-calendario-eventi-home {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    border: 1px solid #F1F1F1;
    box-shadow: 0 0.125rem 0.25rem rgb(0 0 0 / 8%);
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}

/* ==========================================================================
   CONFIGURAZIONE RESPONSIVE
   ========================================================================== */

/* TABLET (Sotto 1024px) - 2 colonne */
@media (max-width: 1024px) {
    .agid-calendario-eventi-home .view-content, 
    .agid-calendario-eventi-home .view-calendario-eventi-home {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* MOBILE (Sotto 768px) - 1 colonna */
@media (max-width: 767px) {
    .agid-calendario-eventi-home .view-content, 
    .agid-calendario-eventi-home .view-calendario-eventi-home {
        grid-template-columns: 1fr !important;
    }
    
    .agid-calendario-eventi-home h2 {
        font-size: 1.2rem;
    }
    
    .agid-calendario-eventi-home footer {
        justify-content: center !important;
    }
    
    .agid-calendario-eventi-home footer a {
        margin-right: 0;
        font-size: 0.85rem;
    }
}

/* ############################# BLOCCO LINK UTILI FOOTER  ############################ */

.agid-contatti-footer{
    background-color:#3f218312;
	box-shadow: 0px 0px 31px 0px #c1bfc5;
}

.agid-contatti-footer a:hover {
    color: #3f2183
}

.agid-contatti-footer .p-contacts {
    padding: 4rem  0;
	
}

.agid-contatti-footer .card-body-contacts {
    padding: 24px !important;
}

.agid-contatti-footer .card {
	border-radius:5px;
}

.agid-contatti-footer .title-medium-2-semi-bold {
    font-size: 1.3333333333rem;
    font-weight: 600;
    line-height: 1.2
}

.agid-contatti-footer .contact-list {
    list-style: none
}

.agid-contatti-footer .cmp-contacts{
	max-width:600px;
	text-align:left;
	margin:0px auto;
	    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
		
}



.agid-contatti-footer .cmp-contacts .contact-list li {
    font-size: 1rem;
    margin: 1rem 0;
    color: #007a52;
    font-weight: 400
}

.agid-contatti-footer .cmp-contacts .contact-list li span {
    margin-left: 10px
}

.agid-contatti-footer .cmp-contacts .contact-list li a {
    text-decoration: none
}

.agid-contatti-footer .cmp-contacts .contact-list li a:hover {
    text-decoration: underline
}

.agid-contatti-footer .card:after {
    display: none
}

.agid-contatti-footer .title-medium-2-semi-bold {
    font-size: 1.3333333333rem;
    font-weight: 600;
    line-height: 1.2;
}


@media (max-width:768px) {
	
	.agid-contatti-footer .cmp-contacts{
	max-width:100%;
	width:100%;
}
	
    .agid-contatti-footer .cmp-contacts .contact-list li {
        line-height: 1.5;
        margin: .889rem 0
    }
}

@media (max-width:576px) {
    .agid-contatti-footer .cmp-contacts .contact-list li {
        font-size: 1rem
    }
}

/* ################## BANNER BABCHECA HOME ########################### */


/* --- BANNER BACHECA DIGITALE --- */
.agid-banner-bacheca {
    margin: 0rem auto 4rem auto;
    padding: 0px;
    max-width: 1296px;

}
.agid-banner-bacheca .banner-wrapper:hover {
transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}

.agid-banner-bacheca .banner-wrapper {
    display: flex;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f1f1;
		transition: all 0.3s ease;
}

/* Gestione Immagine */
.agid-banner-bacheca .banner-image {
    flex: 1;
    min-height: 400px; /* Altezza minima per garantire spazio su desktop */
    display: flex;
    justify-content: center; /* Centra orizzontalmente */
    align-items: center;     /* Centra verticalmente */
    padding: 30px;           /* Un po' di respiro attorno all'immagine */
    background-color: #f3eeff; /* Opzionale: un grigio chiarissimo per incorniciarla */
}

.agid-banner-bacheca .banner-image img {
    width: auto;          /* Non forzare il 100% larghezza */
    height: auto;         /* Non forzare il 100% altezza */
    max-width: 85%;       /* Limita la larghezza massima (es. 85% del contenitore) */
    max-height: 85%;      /* Limita l'altezza massima per sicurezza */
    object-fit: contain;  /* Assicura che l'immagine intera sia visibile */
    border-radius: 8px;   /* Un leggero arrotondamento sta bene se l'immagine è "flottante" */
    box-shadow: 0 5px 15px rgba(0,0,0,0.05); /* Una leggera ombra per farla staccare dallo sfondo */
}

/* Gestione Contenuto */
.agid-banner-bacheca .banner-content {
    flex: 1.2;
    padding: 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.agid-banner-bacheca .banner-content h2 {
    color: #3f2183;
    font-size: 2.2rem;
    font-weight: 800;
    margin-top: 0;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.agid-banner-bacheca .banner-content p {
    color: #555;
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

/* Pulsante */
.agid-banner-bacheca .btn-visualizza-mappa {
    display: inline-flex;
    align-items: center;
    background-color: #3f2183;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 0.8rem 2rem;
    border-radius: 4px;
    font-weight: 700;
    transition: all 0.3s ease;
    border: none;
	margin-right:15px;
	margin-bottom:15px;
}

.agid-banner-bacheca .btn-visualizza-mappa:hover {
    background-color: #231249;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.agid-banner-bacheca .btn-visualizza-mappa svg {
    margin-left: 10px;
    fill: currentColor;
}

/* --- RESPONSIVE --- */

@media (max-width: 991px) {
    .agid-banner-bacheca .banner-wrapper {
        flex-direction: column;
    }

    .agid-banner-bacheca .banner-image {
        min-height: 300px; /* Altezza minima su mobile */
        padding: 40px 20px; /* Più spazio sopra/sotto su mobile */
    }
    
    /* Su mobile, magari la vogliamo un po' più grande */
    .agid-banner-bacheca .banner-image img {
        max-width: 90%;
    }

    .agid-banner-bacheca .banner-content {
        padding: 2.5rem 2rem;
        text-align: center;
        align-items: center;
    }
}


/* ############################ ARCHIVIO NOTIZIE #################################### */



/* ==========================================================================
   HEADER COMPATTO
   ========================================================================== */
.view-archivio-notizie  {
   margin-bottom:6rem;
}

/* Titolo e Sottotitolo */
.view-archivio-notizie .news-page-title-page h1 {
    color: #000;
    font-weight: 800;
    font-size: 3rem; /* Leggermente rimpicciolito */
    margin-bottom: 0.2rem;
}

.view-archivio-notizie .news-page-title-page h1 span {
    display: inline-block;
    color: #333;
    font-size: 2rem;
}

.view-archivio-notizie .news-page-title-page .mt-4 {
	font-size: 1.15rem;
    line-height: 1.6;
    color: #333;
    margin-top: 1rem !important;
}

/* Menu Categorie (Compatto) */
.view-archivio-notizie .news-page-menu {
    background: #FFF; /* Rimosso sfondo bianco per meno ingombro visivo */
    padding: 1.5rem;   /* Padding solo a sinistra */
    border-left: 3px solid #3f2183; /* Bordo più sottile */
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border-radius: 6px;
}

.view-archivio-notizie .menu-name {
    font-weight: 800;
    color: #333;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    margin-bottom: 0.5rem;
}

/* ==========================================================================
   MENU CATEGORIE ORIZZONTALE CON WRAP (A CAPO AUTOMATICO)
   ========================================================================== */
.view-archivio-notizie .news-page-menu ul.link-list {
    display: flex;
    flex-wrap: wrap;       /* Fa andare a capo gli elementi se lo spazio finisce */
    gap: 8px 15px;         /* Spazio tra le voci: 8px verticale, 15px orizzontale */
    padding: 0;
    margin: 0;
    list-style: none;
}

.view-archivio-notizie .news-page-menu ul.link-list li {
    display: inline-block; /* Assicura che ogni voce sia trattata come blocco nel flusso */
}

.view-archivio-notizie .news-page-menu ul.link-list li a {
    font-weight: 600;
    color: #3f2183;
    padding: 4px 0;
    font-size: 1rem;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
    white-space: nowrap;   /* Evita che il testo della singola voce (es. "Bandi di concorso") si spezzi */
}

.view-archivio-notizie .news-page-menu ul.link-list li a:hover {
    color: #000;
    border-bottom: 2px solid #3f2183;
}

/* Rimuoviamo eventuali padding di sistema che Drupal/Bootstrap aggiungono */
.view-archivio-notizie .news-page-menu ul.link-list li a.ps-0 {
    padding-left: 0 !important;
}

/* ==========================================================================
   CAMPO DI RICERCA (EXPOSED FORM) - COMPATTO
   ========================================================================== */
.view-archivio-notizie .views-exposed-form {
    padding: 1.2rem; /* Ridotto il padding interno */
    margin-bottom: 2rem;
    gap: 10px;
}

.stato-servizio.aperto{
	color:#008000;
}

.stato-servizio.chiuso{
	color:#cc0000;
}

.stato-servizio.in_arrivo{
	color:#3f2183;
}

.view-archivio-notizie .views-exposed-form input.form-control {
    height: 42px; /* Altezza ridotta */
}

.view-archivio-notizie .views-exposed-form select {
    height: 50px; /* Altezza ridotta */
	    border: 2px solid #ebebeb;
}
.view-archivio-notizie .views-exposed-form .select-wrapper label{
	display: inline-block;
    padding-bottom: 14px;
    padding-left: 0px;
}

.view-archivio-notizie .views-exposed-form input.btn-primary {
    height: 42px; /* Allineato al campo di testo */
    padding: 0 25px;
    font-size: 0.9rem;
}

.view-archivio-notizie .views-exposed-form label {
    font-size: 1rem;
}

.view-archivio-notizie .views-exposed-form input.form-control {
    border: 2px solid #ebebeb;
    border-radius: 4px;
    padding: 10px 15px;
    height: 50px;
    transition: border-color 0.2s;
}

.view-archivio-notizie .views-exposed-form input.form-control:focus {
    border-color: #3f2183;
    box-shadow: none;
    outline: none;
}

.view-archivio-notizie .views-exposed-form .form-actions {
    margin: 0 !important;
}

.view-archivio-notizie .views-exposed-form input.btn-primary {
    background-color: #3f2183;
    border: none;
    height: 50px;
    padding: 0 30px;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    transition: background 0.2s;
}

.view-archivio-notizie .views-exposed-form input.btn-primary:hover {
    background-color: #000;
}

/* ==========================================================================
   3. AREE TEMATICHE (STILE PILLOLA RICHIESTO)
   ========================================================================== */
.view-archivio-notizie .views-field-field-area-tematica {
	padding:1.5rem;
}



.view-archivio-notizie .views-field-field-area-tematica ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.view-archivio-notizie .views-field-field-area-tematica li a {
justify-content: space-evenly;
    align-items: center;
    background: #FFF;
    border: 1px solid #3f2183;
    border-radius: 12px;
    min-width: 100px;
    padding: 0 8px 2px 8px;
    transition: all .05s;
    margin-top: 4px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #3f2183;
    transition: all 0.2s;
    font-size: 0.8rem;
}

.view-archivio-notizie .views-field-field-area-tematica li a:hover {
	color: #FFF !important;
    background: #5a34ad;
}

.view-archivio-notizie .views-field-nothing{
	font-size: 0.85rem;
    font-weight: 600 !important;
    text-transform: uppercase;
    color: #666;
}


.view-archivio-notizie .views-field-nothing a{
	text-decoration:none;
}

.view-archivio-notizie .views-field-nothing a:hover{
	text-decoration:underline !important;
}

/* ==========================================================================
   4. STILE CARD NOTIZIE (RESTO DELLA RIGA)
   ========================================================================== */
.view-archivio-notizie .views-row {
    background: #fff;
    border: 1px solid #f1f1f1;
    border-radius: 8px;
    padding: 0;
    margin-bottom: 2rem;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
	transition: all 0.3s ease;
}

.view-archivio-notizie .views-row:hover {
	transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}

/* Immagine */
.view-archivio-notizie .views-field-field-immagine-notizia img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* Padding interno per i testi */
.view-archivio-notizie .views-field-nothing,
.view-archivio-notizie .views-field-title,
.view-archivio-notizie .views-field-field-descrizione-breve,
.view-archivio-notizie .views-field-title-1 {
    padding: 0 1.5rem;
}

.view-archivio-notizie .views-field-nothing {
    margin-top: 1.5rem;
    font-size: 0.85rem;
    color: #888;
}

.view-archivio-notizie .views-field-title {
    margin: 0.5rem 0;
}

.view-archivio-notizie .views-field-title a {
    color: #333;
    font-weight: 800;
    font-size: 1.25rem;
    text-decoration: none;
    line-height: 1.3;
}

.view-archivio-notizie .views-field-title a:hover {
    color: #3f2183;
}

.view-archivio-notizie .views-field-title-1 {
    margin-bottom: 1.5rem;
    margin-top: auto; /* Spinge il link in fondo */
}





/* Responsive per la griglia */
@media (min-width: 992px) {
    .view-archivio-notizie {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
    .view-archivio-notizie header, 
    .view-archivio-notizie .views-exposed-form, 
    .view-archivio-notizie nav {
        grid-column: 1 / -1;
    }
}


/* ==========================================================================
   CAMPO DI RICERCA (EXPOSED FORM) - LARGHEZZA 100%
   ========================================================================== */
.view-archivio-notizie .views-exposed-form {
    background: #fff;
    border: 1px solid #dee2e6;
    padding: 2.5rem 2rem 2rem 2rem;
    border-radius: 8px;
    margin-bottom: 3rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    position: relative;
    z-index: 10;
    
    /* Forza la larghezza piena */
    width: 100% !important;
    max-width: 100% !important;
    
    /* Layout flessibile per i campi interni */
    display: flex;
    align-items: flex-end;
    gap: 15px;
}

/* Gestione del contenitore del campo di testo */
.view-archivio-notizie .views-exposed-form .js-form-item {
    flex: 1; /* Prende tutto lo spazio rimanente */
    margin: 0;
}

.view-archivio-notizie .views-exposed-form label {
    font-weight: 500;
    color: #000;
    margin-bottom: 8px;
    display: block;
}

.view-archivio-notizie .views-exposed-form input.form-control {
    width: 100%; /* Il campo occupa tutto il suo flex-container */
    border: 2px solid #ebebeb;
    border-radius: 4px;
    padding: 10px 15px;
    height: 50px;
    transition: border-color 0.2s;
}

.view-archivio-notizie .views-exposed-form input.form-control:focus {
    border-color: #3f2183;
    box-shadow: none;
    outline: none;
}

/* Gestione del pulsante Applica */
.view-archivio-notizie .views-exposed-form .form-actions {
    margin: 0 !important;
    display: flex;
}

.view-archivio-notizie .views-exposed-form input.btn-primary {
    background-color: #3f2183;
    border: none;
    height: 50px;
    padding: 0 40px;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    transition: background 0.2s;
    cursor: pointer;
    white-space: nowrap; /* Evita che il testo del bottone vada a capo */
}

.view-archivio-notizie .views-exposed-form input.btn-primary:hover {
    background-color: #000;
}

.view-archivio-notizie .form-group label {
    line-height: calc(3.2rem - 1px);
	padding-left:20px;
}

.view-archivio-notizie .form-actions .js-form-submit:first-child{
	    border: 2px solid #3f2183;
    color: #3f2183;

}

/* Responsive: su schermi piccoli mette i campi uno sopra l'altro */
@media (max-width: 767px) {
    .view-archivio-notizie .views-exposed-form {
        flex-direction: column;
        align-items: stretch;
    }
    
    .view-archivio-notizie .views-exposed-form input.btn-primary {
        width: 100%;
    }
}


.view-archivio-notizie .views-field-title-1 {
    order: 6; /* Posizionato dopo l'area tematica */
    padding-top: 0rem;
    padding-bottom: 0.5rem;
    margin-top: auto; /* Spinge il link in fondo se la card è alta */
}

.view-archivio-notizie .views-field-title-1 .field-content {
    color: #3f2183;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: color 0.2s ease-in-out;
}

.view-archivio-notizie .views-field-title-1 .field-content a{
	text-decoration:none;
}

.view-archivio-notizie .views-field-title-1 .field-content a:hover{

	color:#000 !important;
}

/* Inserimento Freccia SVG tramite CSS */
.view-archivio-notizie .views-field-title-1 .field-content::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    background-color: #3f2183; /* Colore della freccia */
    
    /* Usiamo l'SVG fornito come maschera così segue il colore del testo */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Effetto Hover sul link */
.view-archivio-notizie .views-row:hover .views-field-title-1 .field-content {
    color: #2a165d;
}

.view-archivio-notizie .views-row:hover .views-field-title-1 .field-content::after {
    background-color: #2a165d;
    transform: translateX(4px); /* Leggera animazione della freccia */
    transition: transform 0.2s ease;
}


/* ################################# ARCHIVIO EVENTI ######################################### */


/* ==========================================================================
   HEADER COMPATTO - EVENTI
   ========================================================================== */

.view-archivio-eventi .news-page-title-page h1 {
    color: #3f2183;
    font-weight: 800;
    font-size: 3rem;
    margin-bottom: 0.2rem;
}

.view-archivio-eventi .news-page-title-page h1 span{
	display:inline-block;
	color:#333;
	font-size:2rem;
}



.view-archivio-eventi .news-page-title-page .mt-4 {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #333;
    margin-top: 1rem !important;
}

.view-archivio-eventi .news-page-menu {
    background: #FFF;
    padding: 1.5rem;
    border-left: 3px solid #3f2183;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border-radius: 6px;
}

.view-archivio-eventi .menu-name {
    font-weight: 800;
    color: #333;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    margin-bottom: 0.5rem;
}

/* MENU CATEGORIE ORIZZONTALE */
.view-archivio-eventi .news-page-menu ul.link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 15px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.view-archivio-eventi .news-page-menu ul.link-list li a {
    font-weight: 600;
    color: #3f2183;
    padding: 4px 0;
    font-size: 1rem;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.view-archivio-eventi .news-page-menu ul.link-list li a:hover {
    color: #000;
    border-bottom: 2px solid #3f2183;
}

/* ==========================================================================
   CAMPO DI RICERCA (EXPOSED FORM) - 100%
   ========================================================================== */
.view-archivio-eventi .views-exposed-form {
    background: #fff;
    border: 1px solid #dee2e6;
    padding: 2.5rem 2rem 2rem 2rem;
    border-radius: 8px;
    margin-bottom: 3rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    position: relative;
    z-index: 10;
    width: 100% !important;
    max-width: 100% !important;
    display: flex;
    align-items: flex-end;
    gap: 15px;
}

.view-archivio-eventi .views-exposed-form .js-form-item {
    flex: 1;
    margin: 0;
}

.view-archivio-eventi .views-exposed-form label {
    font-weight: 500;
    color: #000;
    margin-bottom: 8px;
    display: block;
    padding-left: 20px;
}

.view-archivio-eventi .views-exposed-form input.form-control {
    width: 100%;
    border: 2px solid #ebebeb;
    border-radius: 4px;
    padding: 10px 15px;
    height: 50px;
    transition: border-color 0.2s;
}

.view-archivio-eventi .views-exposed-form input.form-control:focus {
    border-color: #3f2183;
    box-shadow: none;
    outline: none;
}

.view-archivio-eventi .views-exposed-form .select-wrapper select {
    width: 100%;
    border: 2px solid #ebebeb;
    border-radius: 4px;
    padding: 10px 15px;
    height: 50px;
    transition: border-color 0.2s;
}

.view-archivio-eventi .views-exposed-form .select-wrapper select:focus {
    border-color: #3f2183;
    box-shadow: none;
    outline: none;
}

.block-views-blocklista-tassonomie-eventi-privati-block-1 h2{
	border-top: 1px solid #3f2183;
    padding-top: 3rem !important;
}

.view-archivio-eventi .views-exposed-form .form-actions {
    margin: 0 !important;
    display: flex;
}

.view-archivio-eventi .views-exposed-form input.btn-primary {
    background-color: #3f2183;
    border: none;
    height: 50px;
    padding: 0 40px;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    transition: background 0.2s;
    cursor: pointer;
    white-space: nowrap;
}

.view-archivio-eventi .views-exposed-form input.btn-primary:hover {
    background-color: #000;
}

/* ==========================================================================
   STILE CARD EVENTI
   ========================================================================== */
.view-archivio-eventi .views-row {
    background: #fff;
    border: 1px solid #f1f1f1;
    border-radius: 8px;
    padding: 0;
    margin-bottom: 2rem;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.view-archivio-eventi .views-row:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}

/* Immagine */
.view-archivio-eventi .views-field-field-immagine-notizia img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* Padding interno testi */
.view-archivio-eventi .views-field-nothing,
.view-archivio-eventi .views-field-field-descrizione-breve,
.view-archivio-eventi .views-field-field-data-e-ora-di-inizio-event,
.view-archivio-eventi .views-field-field-area-tematica,
.view-archivio-eventi .views-field-title-1 {
    padding: 0 1.5rem;
}

/* Categoria e Data Pubblicazione */
.view-archivio-eventi .views-field-nothing {
    margin-top: 1.5rem;
    font-size: 0.85rem;
    font-weight: 600 !important;
    text-transform: uppercase;
    color: #666;
}

.view-archivio-eventi .views-field-nothing a {
    text-decoration: none;
    color: #3f2183;
}


.view-archivio-eventi .views-field-nothing a:hover {
text-decoration:underline !important;
}

/* Descrizione */
.view-archivio-eventi .views-field-field-descrizione-breve {
    margin: 0rem 0 1rem 0;
    font-size: 1rem;
    color: #444;
}

/* DATA INIZIO EVENTO (Specifico per Eventi) */


.view-archivio-eventi .views-field-field-data-e-ora-di-inizio-event {

    padding-top: 10px;
	padding-bottom:10px;
    border-top: 1px solid #f8f8f8;
	border-bottom: 1px solid #f8f8f8;
}

.view-archivio-eventi .views-label-field-data-e-ora-di-inizio-event {
    display: block;
    font-size: 0.85rem;
    font-weight: 600 !important;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 3px;
}

.view-archivio-eventi .views-field-field-data-e-ora-di-inizio-event .field-content {
    font-weight: 700;
    color: #333;
    font-size: 1rem;
}

/* AREE TEMATICHE (PILLS) */
.view-archivio-eventi .views-field-field-area-tematica {
    margin-top: 1rem;
    padding-bottom: 2rem;
}

.view-archivio-eventi .views-field-field-area-tematica ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.view-archivio-eventi .views-field-field-area-tematica li a {
justify-content: space-evenly;
    align-items: center;
    background: #FFF;
    border: 1px solid #3f2183;
    border-radius: 12px;
    min-width: 100px;
    padding: 0 8px 2px 8px;
    transition: all .05s;
    margin-top: 4px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #3f2183;
    transition: all 0.2s;
    font-size: 0.8rem;
}

.view-archivio-eventi .views-field-field-area-tematica li a:hover {
	color: #FFF !important;
    background: #5a34ad;
}


.view-archivio-eventi .form-group label {
    line-height: calc(3.2rem - 1px);
    padding-left: 20px;
}

.view-archivio-eventi .form-actions .js-form-submit:first-child {
    border: 2px solid #3f2183;
    color: #3f2183;

}



.views-exposed-form .js-form-type-date label{
	padding-left:0px !important;
	    font-size: 1rem;
}

/* LEGGI DI PIÙ CON FRECCIA */
.view-archivio-eventi .views-field-title-1 {
    margin-top: auto;
    padding-bottom: 2rem;
}

.view-archivio-eventi .views-field-title-1 .field-content a {
    color: #3f2183;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.2s ease;
}

.view-archivio-eventi .views-field-title-1 .field-content a:hover {
    color: #000 !important;
}

.view-archivio-eventi .views-field-title-1 .field-content a::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: transform 0.2s ease;
}

.view-archivio-eventi .views-row:hover .views-field-title-1 .field-content a::after {
    transform: translateX(4px);
}

.view-archivio-eventi .views-field-title-2 {
    margin: 0.5rem 0;
}

.view-archivio-eventi .views-field-title-2 {
    padding: 0 1.5rem;
}

.view-archivio-eventi .views-field-title-2 a {
    color: #333;
    font-weight: 800;
    font-size: 1.25rem;
    text-decoration: none;
    line-height: 1.3;
}

.view-archivio-eventi .views-field-title-2 a:hover {
    color: #3f2183;
}


/* RESPONSIVE GRID */
@media (min-width: 992px) {
    .view-archivio-eventi {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
    .view-archivio-eventi header, 
    .view-archivio-eventi .views-exposed-form, 
    .view-archivio-eventi nav {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .view-archivio-eventi .views-exposed-form {
        flex-direction: column;
        align-items: stretch;
    }
    .view-archivio-eventi .views-exposed-form input.btn-primary {
        width: 100%;
    }
}

.count-results-taxonomy{ 	
	margin-top: 1rem;
    color: #3f2183;
    font-weight: 600;
}

/* ################################# ELENCO COMUNI PAGINA ##################################### */

/* ==========================================================================
   AGID - ELENCO COMUNI (STRUTTURA VIEWS-ROW)
   ========================================================================== */

/* Griglia principale */
.agid-blocco-elenco-comuni .view-comuni-associati-pagina {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    padding: 20px 0;
	margin-top:2rem;
	margin-bottom:4rem;
}

.agid-blocco-elenco-comuni h2 {
    font-size: 1.6rem;
    font-weight: 600;
    color: #17324d;
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 4px solid #c5c7c9;
    margin-top: 4rem;
}

/* Card del singolo Comune */
.agid-blocco-elenco-comuni .views-row {
    background: #fff;
    border: 1px solid #f1f1f1;
    border-radius: 8px;
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra il contenuto (stemma e titoli) */
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.agid-blocco-elenco-comuni .views-row:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
    border-color: #3f2183;
}

/* Stemma / Immagine Comune */
.agid-blocco-elenco-comuni .views-field-field-immagine-comune {
    order: 1; /* Forza l'immagine in alto se l'HTML variasse */
    margin-bottom: 1.5rem;
}

.agid-blocco-elenco-comuni .views-field-field-immagine-comune img {
    max-height: 110px;
    width: auto;
    object-fit: contain;
    
}

/* Titolo del Comune */
.agid-blocco-elenco-comuni .views-field-title-1 {
    order: 2;
    margin-bottom: 1.5rem;
}

.agid-blocco-elenco-comuni .views-field-title-1 a {
    color: #333;
    font-weight: 800;
    font-size: 1.2rem;
    line-height: 1.3;
    text-decoration: none;
    transition: color 0.2s;
}

.agid-blocco-elenco-comuni .views-row:hover .views-field-title-1 a {
    color: #3f2183;
}

/* Bottone "Sito Ufficiale" */
.agid-blocco-elenco-comuni .views-field-field-link-comune {
    order: 3;
    margin-top: auto; /* Spinge il bottone sempre in fondo alla card */
    width: 100%;
}

.agid-blocco-elenco-comuni .views-field-field-link-comune a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: #3f2183;
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
    padding: 12px 20px;
    border-radius: 4px;
    border: 2px solid #3f2183;
    transition: all 0.3s ease;
}

.agid-blocco-elenco-comuni .views-field-field-link-comune a:hover {
    background-color: #fff;
    color: #3f2183 !important;
}

/* Icona link esterno opzionale via SVG */
.agid-blocco-elenco-comuni .views-field-field-link-comune a::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 10px;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 3v2h6.59L8.29 16.29l1.42 1.42L21 6.41V13h2V3h-10zm-9 2c-1.1 0-2 .9-2 2v13c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-7h-2v7H4V7h7V5H4z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 3v2h6.59L8.29 16.29l1.42 1.42L21 6.41V13h2V3h-10zm-9 2c-1.1 0-2 .9-2 2v13c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-7h-2v7H4V7h7V5H4z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Responsive */
@media (max-width: 991px) {
    .agid-blocco-elenco-comuni .view-comuni-associati-pagina {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .agid-blocco-elenco-comuni .view-comuni-associati-pagina {
        grid-template-columns: 1fr;
    }
    
    .agid-blocco-elenco-comuni .views-row {
        margin-bottom: 20px;
    }
}


/* ######################## ELENCO DOCUMENTI PAGINA SEMPLICE ######################## */

/* ==========================================================================
   AGID - ALLEGATI (DESCRIZIONE DENTRO LA CARD)
   ========================================================================== */

/* Titolo della sezione */
.agid-allegati-pagina-semplice h2 {
    font-size: 1.6rem;
    font-weight: 600;
    color: #17324d;
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 4px solid #c5c7c9;
    margin-top: 4rem;
}

/* Griglia allegati: 2 card per riga, dentro la larghezza della colonna.
   Vale per tutte le view del blocco (pubbliche e private duplicate). */
.agid-allegati-pagina-semplice {
    max-width: 100%;
    min-width: 0;
}

.agid-allegati-pagina-semplice .view {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Viste allegati privati (.lista-allegati): griglia sulle card, non sulle righe Views */
.agid-allegati-pagina-semplice .lista-allegati.view {
    display: block;
}

.agid-allegati-pagina-semplice .lista-allegati .views-row + .views-row {
    display: none !important;
}

/* Il placeholder dei link contestuali non deve occupare una cella */
.agid-allegati-pagina-semplice .view > [data-drupal-ajax-container] {
    position: absolute;
}

.agid-allegati-pagina-semplice .views-row,
.agid-allegati-pagina-semplice .views-field,
.agid-allegati-pagina-semplice .field-content {
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.agid-allegati-pagina-semplice .views-field,
.agid-allegati-pagina-semplice .field-content {
    flex: 1 1 auto;
}

/* Allegati privati: griglia 2 colonne sulle card (dopo il flex generico, così non viene sovrascritto) */
.agid-allegati-pagina-semplice .lista-allegati .views-row,
.agid-allegati-pagina-semplice .lista-allegati .views-field-field-allegati-privati-per-assis,
.agid-allegati-pagina-semplice .lista-allegati .views-field-field-allegati-privati-per-respo,
.agid-allegati-pagina-semplice .lista-allegati .views-field-field-allegati-privati-per-polit,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-assis,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-respo,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-polit {
    display: block;
    height: auto;
    flex: none;
}

.agid-allegati-pagina-semplice .lista-allegati .field-content,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-assis .field-content,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-respo .field-content,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-polit .field-content {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: stretch;
    align-content: flex-start;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto !important;
    flex: none;
    /* Nasconde separatori testuali (virgole) tra i media nel formatter */
    font-size: 0;
    line-height: 0;
}

/* Ogni allegato = un figlio diretto di .field-content (div wrapper o .contextual-region) */
.agid-allegati-pagina-semplice .lista-allegati .field-content > div,
.agid-allegati-pagina-semplice .lista-allegati .field-content > .contextual-region,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-assis .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-respo .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-polit .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-assis .field-content > .contextual-region,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-respo .field-content > .contextual-region,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-polit .field-content > .contextual-region {
    font-size: 1rem;
    line-height: normal;
    min-width: 0;
    flex: 0 1 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    box-sizing: border-box;
}

.agid-allegati-pagina-semplice .card,
.agid-allegati-pagina-semplice .card-body {
    min-width: 0;
    max-width: 100%;
}

/* Trasformiamo il wrapper comune in una CARD unica */
.agid-allegati-pagina-semplice .views-field-field-allegati .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-new .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-assis .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-respo .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-polit .field-content > div,
.agid-allegati-pagina-semplice .lista-allegati .field-content > div,
.agid-allegati-pagina-semplice .lista-allegati .field-content > .contextual-region {
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 1.25rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    min-width: 0;
    box-sizing: border-box;
}

/* Larghezza colonne: solo per allegati pubblici (non .lista-allegati / privati per-*) */
.agid-allegati-pagina-semplice .views-field-field-allegati .field-content > div,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-new .field-content > div {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
}

/* Effetto Hover sulla card intera */
.agid-allegati-pagina-semplice .views-field-field-allegati .field-content > div:hover,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-new .field-content > div:hover,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-assis .field-content > div:hover,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-respo .field-content > div:hover,
.agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-polit .field-content > div:hover,
.agid-allegati-pagina-semplice .lista-allegati .field-content > div:hover,
.agid-allegati-pagina-semplice .lista-allegati .field-content > .contextual-region:hover {
    border-color: #3f2183;
    box-shadow: 0 8px 20px rgba(63, 33, 131, 0.1);
    background-color: #fcfaff;
}

/* Rimuoviamo gli stili predefiniti dalle card interne di Drupal/Bootstrap */
.agid-allegati-pagina-semplice .card-teaser,
.agid-allegati-pagina-semplice .card-teaser.border,
.agid-allegati-pagina-semplice .card-teaser.shadow {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.agid-allegati-pagina-semplice .card-body {
    padding: 0 !important;
}

/* Titolo e Icona */
.agid-allegati-pagina-semplice .card-title {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 8px;
    font-size: 1rem !important;
    min-width: 0;
    max-width: 100%;
}

.agid-allegati-pagina-semplice .card-title svg.icon {
    width: 24px;
    height: 24px;
    fill: #000;
    margin-right: 12px;
    flex-shrink: 0;
    margin-top: 3px;
}

.agid-allegati-pagina-semplice .card-title a {
    color: #3f2183;
    font-weight: 700;
    text-decoration: none;
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.agid-allegati-pagina-semplice .card-title span {
    font-size: 0.8rem;
    color: #888;
    font-weight: 400;
    margin-left: 8px;
}

/* Descrizione (ora visivamente DENTRO la card) */
.agid-allegati-pagina-semplice .field--name-field-descrizione-documento {
    font-size: 0.9rem;
    color: #555;
    padding-left: 45px; /* Allineato sotto l'inizio del testo del titolo */
    line-height: 1.4;
	margin-top:-10px;
}

/* Nascondi righe vuote (anche quelle con field-content vuoto) */
.agid-allegati-pagina-semplice .views-row:empty,
.agid-allegati-pagina-semplice .views-row:has(.field-content:empty) {
    display: none !important;
}

/* Responsive */
@media (max-width: 991px) {
    .agid-allegati-pagina-semplice .view {
        grid-template-columns: 1fr;
    }

    .agid-allegati-pagina-semplice .lista-allegati .field-content > div,
    .agid-allegati-pagina-semplice .lista-allegati .field-content > .contextual-region,
    .agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-assis .field-content > div,
    .agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-respo .field-content > div,
    .agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-polit .field-content > div,
    .agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-assis .field-content > .contextual-region,
    .agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-respo .field-content > .contextual-region,
    .agid-allegati-pagina-semplice .views-field-field-allegati-privati-per-polit .field-content > .contextual-region {
        flex: 0 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}


#it-block-italiagov-galleryblock{
	margin-bottom:4rem;
}

/* ############################# STLE ORGANIGRAMMA PAGINA SEMPLICE ############################## */

/* ==========================================================================
   STILE ORGANIGRAMMA CON NOMI E RUOLI
   ========================================================================== */

.organigramma-container {
    width: 100%;
    padding: 40px;
    background: #3f218312;
    border-radius: 8px;
	overflow:auto;
	margin-bottom:50px;
}

.tree, .tree ul {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.tree ul {
    margin-left: 40px; /* Indentazione rami figli */
}

.tree li {
    margin: 0;
    padding: 10px 0 10px 30px;
    position: relative;
    display: flex;
    flex-direction: column;
}

/* --- LINEE DI COLLEGAMENTO --- */

/* Linea Verticale */
.tree li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-left: 2px solid #3f2183;
    height: 100%;
}

/* Braccetto Orizzontale */
.tree li::after {
    content: '';
    position: absolute;
    top: 35px; /* Punta al centro della parte superiore del box */
    left: 0;
    border-top: 2px solid #3f2183;
    width: 30px;
}

/* Pulizia per i bordi */
.tree li:last-child::before { height: 35px; }
.tree > li:first-child::before, 
.tree > li:first-child::after { display: none; }
.tree > li:first-child { padding-left: 0; }

/* --- STILE DEL "CONTAINER" VIRTUALE --- */

/* Applichiamo stili comuni a tutti i figli diretti tranne la lista ul */
.tree li > strong,
.tree li > span,
.tree li > a {
    background: #fff;
    width: 360px; /* Larghezza box */
    padding: 0 20px;
    border-left: 2px solid #3f2183;
    border-right: 2px solid #3f2183;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
}

/* Ruolo (Cielo del box) */
.tree li > strong {
    padding-top: 15px;
    border-top: 2px solid #3f2183;
    border-radius: 8px 8px 0 0;
    color: #3f2183;
    font-size: 1rem;
    text-transform: uppercase;
}

/* Nome (Corpo del box) */
.tree li > span {
    padding-bottom: 8px;
    color: #333;
    font-weight: 600;
    font-size: 1rem;
}

/* Contatti (Base del box) */
.tree li > a {
    font-size: 0.85rem;
    color: #666;
    text-decoration: none;
    display: flex;
    align-items: center;
    padding-bottom: 8px;
}

/* Chiudiamo il box: l'ultimo elemento prima di un eventuale UL o la fine del LI */
/* Questo selettore chiude il bordo inferiore dell'ultimo elemento testuale */
.tree li > *:not(ul):last-child,
.tree li > *:nth-last-child(2):has(+ ul) {
    border-bottom: 2px solid #3f2183;
    border-radius: 0 0 8px 8px;
    padding-bottom: 15px;
    margin-bottom: 0px;
}

/* --- ICONE --- */
.tree li > a::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 10px;
    background-color: #3f2183;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}
.tree li > a.email::before { -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path></svg>'); }
.tree li > a.phone::before { -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"></path></svg>'); }

/* --- HOVER --- */
.tree li:hover > strong,
.tree li:hover > span,
.tree li:hover > a {
    background-color: #3f2183;
    color: #fff !important;
    transform: translateX(8px);
}
.tree li:hover > a::before { background-color: #fff; }

/* --- MEDIA QUERY DEDICATA PER MOBILE --- */
@media screen and (max-width: 600px) {
    /* 1. Eliminiamo lo scroll orizzontale forzato e riduciamo il padding */
    .organigramma-container {
        padding: 15px 10px;
        overflow-x: hidden; /* Sicurezza extra */
    }

    /* 2. Riduciamo l'indentazione dei rami (da 40px a 15px) */
    .tree ul {
        margin-left: 15px; 
    }

    /* 3. Avviciniamo i box alle linee verticali */
    .tree li {
        padding-left: 20px;
    }

    /* 4. Accorciamo il braccetto orizzontale per farlo combaciare */
    .tree li::after {
        width: 20px;
        top: 30px; /* Riposizionamento leggero */
    }
    
    .tree li:last-child::before {
        height: 30px;
    }

    /* 5. Rendiamo i box fluidi (niente width fisso a 360px) */
    .tree li > strong,
    .tree li > span,
    .tree li > a {
        width: 100%;       /* Occupa tutto lo spazio disponibile */
        max-width: 280px;  /* Limite per non farlo sembrare troppo lungo su smartphone grandi */
        min-width: 0;      /* Permette il restringimento */
    }

    /* 6. EVITIAMO CHE LE EMAIL ESCONO DAI BORDI */
    /* Questo è il motivo principale per cui spesso compare lo scroll */
    .tree li > a {
        word-break: break-all; 
        font-size: 0.75rem;     /* Un pelo più piccolo per leggibilità */
        line-height: 1.2;
    }

    /* 7. Ottimizzazione testi per risparmiare spazio verticale */
    .tree li > strong {
        font-size: 0.85rem;
        padding-top: 10px;
    }

    .tree li > span {
        font-size: 0.9rem;
    }

    /* 8. Riduciamo l'effetto traslazione hover (troppo spazio su mobile) */
    .tree li:hover > strong,
    .tree li:hover > span,
    .tree li:hover > a {
        transform: translateX(3px);
    }
}



/* ################################# ELENCO PIANI ZONA ##################################### */

/* ==========================================================================
   AGID - ELENCO PIANI DI ZONA
   ========================================================================== */
.agid-elenco-piani-zona {
	margin-bottom: 4rem;
}

/* Titolo della Sezione */
.agid-elenco-piani-zona h2 {
	font-size: 1.6rem;
    font-weight: 600;
    color: #17324d;
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 4px solid #c5c7c9;
    margin-top: 4rem;
	
}

/* Griglia per i Piani di Zona (2 colonne per leggibilità descrizioni) */
.agid-elenco-piani-zona .view-elenco-piani-di-zona,
.agid-elenco-piani-zona .view-elenco-ppt,
.agid-elenco-piani-zona .view-elenco-piani-servizi-abitativi,
.agid-elenco-piani-zona .view-elenco-piani-servizi-abitativi-triennali {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    padding: 10px 0;
}

/* Card del singolo Piano */
.agid-elenco-piani-zona .views-row {
    background: #ffffff;
    border-left: 4px solid #3f2183; /* Richiamo colore istituzionale laterale */
    border-top: 1px solid #e9ecef;
    border-right: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
    border-radius: 4px 8px 8px 4px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.agid-elenco-piani-zona .views-row:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(63, 33, 131, 0.12);
    background-color: #fcfaff;
}

/* Titolo del Piano (Link) */
.agid-elenco-piani-zona .views-field-field-nome-del-piano-di-zona {
    margin-bottom: 0.75rem;
}

.agid-elenco-piani-zona .views-field-field-nome-del-piano-di-zona a {
    color: #3f2183;
    font-weight: 700;
    font-size: 1.25rem;
    text-decoration: none;
    line-height: 1.3;
}

.agid-elenco-piani-zona .views-field-field-nome-del-piano-di-zona a:hover {
    text-decoration: underline;
}

/* Descrizione Breve */
.agid-elenco-piani-zona .views-field-field-descrizione-breve {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 1.25rem;
    flex-grow: 1; /* Spinge il badge del periodo in fondo */
}

/* Badge Periodo (es. 2025-2026) */
.agid-elenco-piani-zona .views-field-title-1 a{
	font-size: 1.2rem;
    font-weight: 800;
    margin-bottom: 1rem;
    display: inline-block;
}

.agid-elenco-piani-zona .pager{
	grid-column: 1 / -1;
text-align:center !important;

}

/* Badge Periodo (es. 2025-2026) */
.agid-elenco-piani-zona .views-field-field-periodo {
    display: flex;
    align-items: center;
}

.agid-elenco-piani-zona .views-field-field-periodo .field-content {
    background-color: #f0ebf7;
    color: #3f2183;
    font-weight: 700;
    font-size: 0.85rem;
    padding: 4px 12px;
    border-radius: 20px;
    border: 1px solid #3f2183;
    display: inline-flex;
    align-items: center;
}

/* Aggiunta icona calendario finta prima del periodo */
.agid-elenco-piani-zona .views-field-field-periodo .field-content::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 8px;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}


.agid-elenco-piani-zona .views-field-title .field-content {
    color: #3f2183;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: color 0.2s ease-in-out;
	margin-top:1.5rem;
}

.agid-elenco-piani-zona .views-field-title .field-content a{
	text-decoration:none;
}

.agid-elenco-piani-zona .views-field-title .field-content a:hover{

	color:#000 !important;
}

/* Inserimento Freccia SVG tramite CSS */
.agid-elenco-piani-zona .views-field-title .field-content::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    background-color: #3f2183; /* Colore della freccia */
    
    /* Usiamo l'SVG fornito come maschera così segue il colore del testo */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Effetto Hover sul link */
.agid-elenco-piani-zona .views-row:hover .views-field-title .field-content {
    color: #2a165d;
}

.agid-elenco-piani-zona .views-row:hover .views-field-title .field-content::after {
    background-color: #2a165d;
    transform: translateX(4px); /* Leggera animazione della freccia */
    transition: transform 0.2s ease;
}

/* Responsive */
@media (max-width: 991px) {
    .agid-elenco-piani-zona .view-elenco-piani-di-zona,
.agid-elenco-piani-zona .view-elenco-ppt,
.agid-elenco-piani-zona .view-elenco-piani-servizi-abitativi,
.agid-elenco-piani-zona .view-elenco-piani-servizi-abitativi-triennali 	{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .agid-elenco-piani-zona .views-row {
        padding: 1.25rem;
    }
    
    .agid-elenco-piani-zona h2 {
        font-size: 1.5rem;
    }
}

.page-node-type--piani-di-zona.page-type--page .region-title{
	display:none;
}

.page-node-type--evento.page-type--page .region-title{
	display:none;
}

@media (max-width: 991px) {
.navbar.it-top-navscroll {
	display:none;
}

h1, .h1 {
    font-size: 1.9rem;
    line-height: 2.3rem;
    letter-spacing: -1px;
}

.news-content-description {
    padding-left: 0px;
    border-left: 0px solid #f1f1f1;
    margin-left: 0px;
}

.page-node-type--page main#it-main-content .region-title, .page-node-type--page main#it-main-content .region-content {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}
.page-node-type--page.page-type--page .it-page-title__wrapper.container-xxl {
    margin-bottom: 1rem;
}

.view-archivio-eventi .views-exposed-form,
.view-archivio-notizie .views-exposed-form{
	    gap: 55px;
		margin-top:2rem;
}

}


/* ==========================================================================
   FIX COLORI FOOTER - TESTO E LINK BIANCHI
   ========================================================================== */

#footer, 
#footer .it-footer-main, 
#footer .it-footer-small-prints {
    color: #ffffff !important;
}

/* Forzatura su tutti i titoli e testi generici */
#footer h2, 
#footer h3,  
#footer div, 
#footer strong,
#footer .it-brand-title, 
#footer .it-brand-tagline {
    color: #ffffff !important;
}

#footer .pb-2.col-md-3.col-lg-3 p:first-child{
		text-transform:uppercase;
		font-weight:800;
}

/* Forzatura sui link e sulle liste di link */
#footer a, 
#footer .link-list li a, 
#footer .list-item,
#footer .list-item-title {
    color: #ffffff !important;
    text-decoration: none;
	font-weight:400;
	font-size:1rem;
}


/* Stato Hover e Active per i link */
#footer a:hover, 
#footer a:focus,
#footer .link-list li a:hover {
    color: #ffffff !important;
    text-decoration: underline;
    opacity: 0.8;
}

/* Fix specifico per la classe 'active' che a volte ha colori scuri di default */
#footer .link-list li a.active,
#footer .link-list li a.active .list-item-title {
   text-decoration:underline !important;
    color: #ffffff !important;
}

/* Se ci sono icone SVG nei social */
#footer .social svg {
    fill: #ffffff !important;
}

#footer .icon-primary {
    fill: #FFF !important;
}

#footer .link-list-wrapper ul li a{
	padding: 0;
}

/* 1. GRIGLIA PRINCIPALE */
#webform-submission-iscrizione-newsletter-add-form {
    display: grid;
    /* Colonna sinistra 35%, Colonna destra il resto */
    grid-template-columns: 35% 1fr; 
    column-gap: 40px;
    row-gap: 0; /* Eliminiamo spazio tra le righe della griglia */
    align-items: start;
}

/* 2. BLOCCO SINISTRA (Titolo e Descrizione) */
#edit-markup {
    grid-column: 1;
    /* Fa sì che il testo occupi l'altezza di tutte le righe dei campi a destra */
    grid-row: 1 / 10; 
    margin: 0 !important;
}

#edit-markup h2 {
    margin: 0 0 10px 0 !important;
    font-size: 1.5rem;
    color: #004080;
    line-height: 1.1;
}

#edit-markup p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.3;
    color: #444;
}





/* Layout principale: Griglia a due macro-colonne */

.agid-newsletter{
	background-color: #250e59;
    padding: 5rem 0px 4rem 0px;
	color:#FFF;
}

.agid-newsletter .webform-submission-form {
  display: grid;
  grid-template-columns: 1fr 2fr; /* Sinistra: Testo | Destra: Campi */
  gap: 15px 40px;
  align-items: start;
  max-width: 1266px;
  margin: 0 auto;
}

/* Colonna di Sinistra: Titolo e Descrizione */
.agid-newsletter #edit-markup {
    grid-column: 1;
    /* Aggiungiamo lo spazio per l'immagine sopra il testo */
    padding-top:120px; 
    background-image: url('/themes/custom/italiagov/src/images/image-newsletter.jpg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 100px; /* Regola la dimensione dell'icona/immagine */
}


.agid-newsletter .webform-confirmation__back a{
	color:#FFF;
}

.agid-newsletter #edit-markup h2 {
  font-size: 2rem;
  margin-top: 0;
  margin-bottom: 8px;
  line-height: 1.2;
  color:#FFF;
}

.agid-newsletter #edit-markup p {
  font-size:1rem;
  line-height: 1.4;
  margin-bottom: 0;
  color:#FFF;
  
}


.agid-newsletter .webform-element-description.form-text{
	color:#FFF;
	margin:0px;
	  border-left: 1px solid #5b36af;
	  padding-left:15px;
}

.agid-newsletter .webform-element-description.form-text a{
	color:#FFF;
}

/* Rimuove lo spazio vuoto &nbsp; che allunga la form inutilmente */
.agid-newsletter #edit-markup p:last-child {
  display: none;
}

/* Colonna di Destra: Layout interno a due colonne per i campi */
@media (min-width: 768px) {
  .agid-newsletter .webform-submission-form {
    grid-template-columns: 500px 1fr 1fr; /* Colonna fissa testo + due colonne input */
  }

  .agid-newsletter #edit-markup {
    grid-column: 1;
    grid-row: 1 / 5; /* Occupa l'altezza di tutte le righe dei campi */
  }

  /* Posizionamento dei campi sulla griglia */
  .agid-newsletter .form-item-nome { grid-column: 2; grid-row: 1; }
  .agid-newsletter .form-item-cognome { grid-column: 3; grid-row: 1; }
  .agid-newsletter .form-item-ente-di-appartenenza { grid-column: 2; grid-row: 2; }
  .agid-newsletter .form-item-email { grid-column: 3; grid-row: 2; }

  /* Privacy e Bottone occupano tutto lo spazio di destra (colonne 2 e 3) */
  .agid-newsletter .form-item-accetto,
  .agid-newsletter .form-actions {
    grid-column: 2 / 4;
  }
}

/* Compattazione elementi Input */
.agid-newsletter .form-group, 
.agid-newsletter .js-form-item {
  margin-bottom: 35px !important; /* Ridotto per massima compattezza */
}

.agid-newsletter label {
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 2px;
  display: block;
  	color:#FFF !important;
}

.agid-newsletter .form-control {
  height: 34px; /* Molto compatto */
  padding: 4px 8px;
  font-size: 0.85rem;
  border-radius:5px !important;
  background-color:transparent;
  border:2px solid #4a2c8f;
  color:#FFF !important;
}

.agid-newsletter  .form-control:focus {
    border:2px solid #fff !important;
}


.agid-newsletter label.active{
	color:#FFF !important;
}

/* Area Privacy (Checkbox) */
.agid-newsletter .form-item-accetto {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 5px;
}

.agid-newsletter .form-item-accetto label {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.3;
    padding-right: 15px;
    white-space: nowrap;

}

.agid-newsletter .form-item-accetto .description {
  display: block;
  font-size: 0.75rem;
  color: #666;
}

/* Bottone di invio */
.agid-newsletter .form-actions {
  margin-top: 10px !important;
  padding-top: 0;
  text-align:right;
}

.agid-newsletter .btn-primary {
    padding: 7px 39px;
    font-size: 1rem;
    height: auto;
}

.agid-newsletter .alert-warning {
    border-left: 8px solid #3f2183;
	background-image:none !important;
	text-align:center !important;

}

.agid-newsletter .webform-message{
grid-column: 1 / -1;
text-align:center !important;
}

.agid-newsletter .alert{
	padding-left: 2em;
}

.agid-newsletter .webform-button--submit{
  }

@media (max-width: 1400px) {
.agid-newsletter form{
	padding:0px 30px;

}

}

/* Adattamento per schermi piccoli (Mobile) */
@media (max-width: 767px) {
  .agid-newsletter .webform-submission-form {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  
  .agid-newsletter #edit-markup {
    margin-bottom: 15px;
  }
}


  

/* Background della sezione */

/* Card Contatti */
.agid-contact-section .contact-card {
    background-color: #ffffff;
    border-left: 4px solid #3f2183; /* Blu Italia */
    border-radius: 4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-top: 1px solid #e6e9f2;
    border-right: 1px solid #e6e9f2;
    border-bottom: 1px solid #e6e9f2;
}

.agid-contact-section .contact-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 102, 204, 0.08) !important;
}

/* Icone SVG */
.agid-contact-section .icon-wrapper {
    flex-shrink: 0;
}

.agid-contact-section .icon-svg {
    fill: #3f2183;
    width: 40px;
    height: 40px;
}

/* Titoli */
.agid-contact-section .contact-content h3 {
    color: #004a94;
    margin-top: 0;
}

/* Testi e Liste */
.agid-contact-section .contact-content p,
.agid-contact-section .contact-content ul li {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #333;
}

.agid-contact-section .text-muted-agid {
    color: #5a6772;
    font-size: 0.85rem;
}

/* Link */
.agid-contact-section .contact-content a {
    color: #3f2183;
    text-decoration: none;
    font-weight: 600;
}

.agid-contact-section .contact-content a:hover {
    text-decoration: underline;
    color: #004a94;
}

/* --- MEDIA QUERY PER I CONTATTI --- */
@media (max-width: 767px) {
    /* 1. Forza il contenitore a diventare verticale */
    .agid-contact-section .contact-card {
        flex-direction: column !important; /* Mette l'icona sopra al testo */
        padding: 1.5rem !important;
        align-items: flex-start !important; /* Allinea tutto a sinistra */
    }

    /* 2. Sistema lo spazio dell'icona ora che è sopra */
    .agid-contact-section .icon-wrapper {
        margin-right: 0 !important; /* Rimuove il margine laterale di Bootstrap */
        margin-bottom: 1rem;       /* Aggiunge spazio sotto l'icona */
    }

    .agid-contact-section .icon-svg {
        width: 36px;
        height: 36px;
    }

    /* 3. Rimuove l'elenco puntato e resetta i margini */
    .agid-contact-section .content ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .agid-contact-section .content ul li {
        margin-bottom: 10px; /* Spazio tra telefono, email e pec */
        display: block;      /* Forza ogni voce su una riga nuova */
    }

    /* 4. EVITA CHE LE EMAIL SBORDINO (Cruciale) */
    .agid-contact-section .content a {
        display: inline-block;
        word-break: break-all; /* Spezza l'email se troppo lunga */
        line-height: 1.3;
        font-size: 0.9rem;
    }

    /* 5. Ottimizzazione titoli */
    .agid-contact-section .contact-content h3 {
        font-size: 1.1rem;
        margin-bottom: 0.5rem;
    }
}




/* Container dei tasti */

.agid-anchor-buttons .gap-3 {
    gap: 1rem !important;
}

/* Stile del tasto ancora */
.agid-anchor-buttons .btn-anchor {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    background-color: #ffffff;
    color: #3f2183; /* Blu Italia */
    border: 2px solid #3f2183;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
    font-size: 0.95rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Effetto Hover */
.agid-anchor-buttons .btn-anchor:hover {
    background-color: #3f2183;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 102, 204, 0.2);
}

/* Icona dentro il tasto */
.agid-anchor-buttons .btn-icon {
    margin-right: 10px;
    display: flex;
    align-items: center;
}

.agid-anchor-buttons .btn-anchor:hover .btn-icon svg {
    stroke: #ffffff;
}

/* Adattamento mobile */
@media (max-width: 767px) {
    .agid-anchor-buttons .d-flex {
        flex-direction: column;
    }
    
    .agid-anchor-buttons .btn-anchor {
        width: 100%;
        justify-content: center;
    }
}



/* Sezione Link Cards */
.agid-section-links {
    padding: 2rem 0;
	margin-bottom:6rem;
}

.agid-section-links .section-card {
    display: block;
    height: 100%;
}

.agid-section-links .card-inner {
    background-color: #ffffff;
    border-left: 4px solid #3f2183;
    border-radius: 4px;
    border-top: 1px solid #e6e9f2;
    border-right: 1px solid #e6e9f2;
    border-bottom: 1px solid #e6e9f2;
    padding: 2rem;
    display: flex;
    align-items: start;
    height: 100%;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.agid-section-links .section-card:hover .card-inner {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(63, 33, 131, 0.15) !important;
}

/* Icone SVG */
.agid-section-links .icon-wrapper {
    flex-shrink: 0;
    margin-right: 1.5rem;
}

.agid-section-links .icon {
    fill: #3f2183;
    width: 40px;
    height: 40px;
}

/* Content wrapper */
.agid-section-links .content {
    flex-grow: 1;
}

/* Titoli */
.agid-section-links .content h3 {
    color: #3f2183;
    margin-top: 0;
    transition: color 0.2s ease;
}

.agid-section-links .card-inner:hover h3 a{
    color: #000 !important;
}

/* Testi */
.agid-section-links .content p {
    font-size: 1rem;
    line-height: 1.5;
    color: #000;
}


.agid-section-links .card-inner:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 102, 204, 0.08) !important;
}

/* Responsive */
@media (max-width: 767px) {
    .agid-section-links .card-inner {
        padding: 1.5rem;
    }
    
    .agid-section-links .icon {
        width: 32px;
        height: 32px;
    }
    
    .agid-section-links .icon-wrapper {
        margin-right: 1rem;
    }
    
    .agid-section-links .content h3 {
        font-size: 1.1rem;
    }
}

/* Accessibilità */
.agid-section-links .section-card:focus .card-inner {
    outline: 2px solid #3f2183;
    outline-offset: 2px;
}





/* Contenitore Principale stile Card */
.agid-contattaci  {
    max-width: calc(100% - 0px);
    margin: 2rem 0px 6rem 0px;
    background: #ffffff;
    padding: 70px 40px 40px 40px;
    border-radius: 5px;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    border: 2px solid #3f2183;
}

.agid-contattaci .webform-type-webform-markup{
	        flex: 1 1 calc(100% - 0px);
			padding-bottom:3rem !important;
}

.page-node-type--page .agid-contattaci .webform-type-webform-markup p{
	font-size:1.125rem !important;
}

.agid-contattaci .webform-type-webform-markup h2{
	color:#3f2183 !important;
	    font-size: 2rem !important;
}

.agid-contattaci .js-webform-type-textarea{
	margin-top:30px;
	
}

.agid-contattaci .js-webform-type-textarea .form-control{
	margin-bottom:5px !important;
}

/* ============================================================
   Layout a due colonne
   ============================================================ */
@media (min-width: 480px) {
    .agid-contattaci form {
        display: flex;
        flex-wrap: wrap;
        gap: 0 20px;
    }

    /* Colonna sinistra (50%): Nome ed Email */
    .agid-contattaci .js-webform-type-textfield,
    .agid-contattaci .js-webform-type-email {
        flex: 1 1 calc(50% - 10px);
        min-width: 0;
    }



    /* Larghezza piena (100%): Select, Privacy, Azioni */
    .agid-contattaci .form-item-motivazione-della-richiesta,
	.agid-contattaci .js-webform-type-textarea,
    .agid-contattaci .form-item-accetto,
    .agid-contattaci .form-actions,
    .agid-contattaci [data-drupal-selector="edit-actions"] {
        flex: 1 1 100%;
    }
}

/* Stilizzazione dei singoli gruppi di input */
.agid-contattaci .form-item {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

/* Label eleganti */
.agid-contattaci label {
    font-size: 0.85rem;
    font-weight: 700;
    color: #290F59;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
}

/* Input e Select raffinati */
.agid-contattaci .form-control {
    background-color: #f8f9fa;
    border: 2px solid #f8f9fa;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 1rem;
    color: #333;
    transition: all 0.3s ease;
    box-sizing: border-box;
    width: 100%;
    height: auto !important;
    border-radius: 5px !important;
    border: 2px solid #9ca0bf  !important;
    margin-bottom: 30px;
}

.agid-contattaci select {
    background-color: #f8f9fa;
    border: 2px solid #f8f9fa;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 1rem;
    color: #333;
    transition: all 0.3s ease;
    box-sizing: border-box;
    width: 100%;
    height: auto !important;
    border-radius: 5px !important;
    border: 2px solid #9ca0bf  !important;
}

.agid-contattaci .form-group label.active {
    color: #290F59 !important;
}

/* Effetto al passaggio e al click */
.agid-contattaci .form-control:hover,
.agid-contattaci select:hover {
    background-color: #fff;
    border-color: #e2e5e9;
}

.agid-contattaci .form-control:focus,
.agid-contattaci select:focus {
    background-color: #fff;
    border-color: #290F59;
    outline: none;
    box-shadow: 0 0 0 4px rgba(41, 15, 89, 0.1);
}

/* Checkbox e Area Privacy */
.agid-contattaci .form-check {
    background: #fdfbff;
    border: 1px solid #9ca0bf;
    padding: 20px;
    border-radius: 12px;
    display: flex;
    align-items: flex-start;
}

.agid-contattaci .form-checkbox {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    margin-top: 2px;
    cursor: pointer;
    accent-color: #290F59;
}

.agid-contattaci .description {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.5;
}

.agid-contattaci .description a {
    color: #290F59;
    text-decoration: none;
    font-weight: bold;
    border-bottom: 1px solid rgba(41, 15, 89, 0.3);
}

/* Pulsante Invio "Premium" */
.agid-contattaci .form-actions {
    text-align: center;
    width: 100%;
}

.agid-contattaci .webform-button--submit:hover {
    background: #5a34ad;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(41, 15, 89, 0.4);
}

/* Pulizia Contextual Links Drupal */
.agid-contattaci .contextual {
    display: none !important;
}

/* ============================================================
   Responsive – mobile (< 480px): tutto a colonna singola
   ============================================================ */
@media (max-width: 479px) {
    /* Colonna sinistra (50%): Nome ed Email */
    .agid-contattaci .js-webform-type-textfield,
    .agid-contattaci .js-webform-type-email {
        flex: 1 1 calc(100% - 0px);
        min-width: 0;
    }
}

@media (max-width: 767px) {
    .agid-contattaci {
        max-width: calc(100% - 0px);
        margin: 2rem 0px;
    }
}


/* ########### STILE PER DOVE SIAMO ############ */

.agid-mappa{
    margin-bottom:4rem;
}

.agid-mappa h2{
    font-size:2rem;
    margin-bottom:15px;
}

.agid-mappa  .mappa-sede-wrapper{
  border-radius:5px;
   border-left: 4px solid #3f2183;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
}

.btn-accedi a:hover{
	color:#FFF !important;
}

.btn-accedi a .icon{
	width: 22px;
    height: 22px;
}

.page-node-type--progetti-e-servizi #it-block-italiagov-page-title{
	display:none;
}



/**
 * search-results-override.css
 *
 * Stile per la View "risultati_ricerca" - pagina /search/node
 * Coerente con il design system del progetto (colori, card, form).
 * Tutto scoped dentro .agid-risultati-ricerca
 */

/* ==========================================================================
   EXPOSED FORM (filtri di ricerca)
   ========================================================================== */

.agid-risultati-ricerca .views-exposed-form {
  background: #fff;
  border: 1px solid #dee2e6;
  padding: 2.5rem 2rem 2rem 2rem;
  border-radius: 8px;
  margin-bottom: 3rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  position: relative;
  z-index: 10;
  width: 100% !important;
  max-width: 100% !important;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 15px;
}

.agid-risultati-ricerca .views-exposed-form .js-form-item {
  flex: 1;
  min-width: 200px;
  margin: 0;
}

.agid-risultati-ricerca .views-exposed-form label {
  font-weight: 500;
  color: #000;
  margin-bottom: 8px;
  display: block;
  font-size: 1rem;
}

.agid-risultati-ricerca .views-exposed-form input.form-control {
  width: 100%;
  border: 2px solid #ebebeb;
  border-radius: 4px;
  padding: 10px 15px;
  height: 50px;
  font-size: 1rem;
  transition: border-color 0.2s;
}

.agid-risultati-ricerca .views-exposed-form input.form-control:focus {
  border-color: #3f2183;
  box-shadow: none;
  outline: none;
}

.agid-risultati-ricerca .views-exposed-form select {
  height: 50px;
  border: 2px solid #ebebeb;
  border-radius: 4px;
  font-size: 1rem;
  width: 100%;
}

.agid-risultati-ricerca .views-exposed-form select:focus {
  border-color: #3f2183;
  box-shadow: none;
  outline: none;
}

.agid-risultati-ricerca .views-exposed-form .select-wrapper label {
  display: inline-block;
  padding-bottom: 14px;
  padding-left: 0;
}

.agid-risultati-ricerca .views-exposed-form .form-actions {
  margin: 0 !important;
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

/* Bottone Ricerca */
.agid-risultati-ricerca .views-exposed-form #edit-submit-risultati-ricerca {
     border: 2px solid #3f2183;
    color: #3f2183;
  height: 50px;
  padding: 0 40px;
  font-weight: 700;
  border-radius: 4px;
  font-size: 1rem;
  transition: background 0.2s;
  cursor: pointer;
  white-space: nowrap;
  color: #3f2183;
}

.agid-risultati-ricerca .views-exposed-form .form-actions .btn:first-child {
     border: 2px solid #3f2183;
    color: #3f2183;
  height: 50px;
  padding: 0 40px;
  font-weight: 700;
  border-radius: 4px;
  font-size: 1rem;
  transition: background 0.2s;
  cursor: pointer;
  white-space: nowrap;
  color: #3f2183;
}








/* ==========================================================================
   GRIGLIA RISULTATI - 4 colonne su desktop
   ========================================================================== */

.agid-risultati-ricerca {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom:4rem;
}

.agid-risultati-ricerca .views-exposed-form,
.agid-risultati-ricerca nav.pagination-wrapper {
  grid-column: 1 / -1;
}

@media (min-width: 576px) {
  .agid-risultati-ricerca {
    grid-template-columns: repeat(2, 1fr);
  }
  .agid-risultati-ricerca .views-exposed-form,
  .agid-risultati-ricerca nav.pagination-wrapper {
    grid-column: 1 / -1;
  }
}

@media (min-width: 992px) {
  .agid-risultati-ricerca {
    grid-template-columns: repeat(4, 1fr);
  }
  .agid-risultati-ricerca .views-exposed-form,
  .agid-risultati-ricerca nav.pagination-wrapper {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   CARD SINGOLO RISULTATO (.views-row)
   ========================================================================== */

.agid-risultati-ricerca .views-row {
  background: #fff;
  border: 1px solid #f1f1f1;
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

/* Banda colorata superiore */
.agid-risultati-ricerca .views-row::before {
  content: '';
  display: block;
  height: 4px;
  width: 100%;
  background-color: #3f2183;
  flex-shrink: 0;
}

.agid-risultati-ricerca .views-row:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(63, 33, 131, 0.12);
}

/* ==========================================================================
   BADGE TIPO CONTENUTO
   ========================================================================== */

.agid-risultati-ricerca .views-field-type {
  padding: 1rem 1.5rem;
      border-bottom: 1px solid #f1f1f1;
}

.agid-risultati-ricerca .views-field-type .field-content {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 3px;
  background-color: #3f2183;
  color: #fff;
}

/* ==========================================================================
   TITOLO
   ========================================================================== */

.agid-risultati-ricerca .views-field-title {
  padding: 1rem 1.5rem 1rem 1.5rem;
}

.agid-risultati-ricerca .views-field-title a {
  color: #333;
  font-weight: 800;
  font-size: 1rem;
  text-decoration: none;
  line-height: 1.35;
  display: block;
  transition: color 0.2s;
}

.agid-risultati-ricerca .views-row:hover .views-field-title a {
  color: #3f2183;
}

/* ==========================================================================
   DESCRIZIONE BREVE
   ========================================================================== */

.agid-risultati-ricerca .views-field-field-descrizione-breve {
  padding: 0.5rem 1.5rem 1rem 1.5rem;
  flex-grow: 1;
}

.agid-risultati-ricerca .views-field-field-descrizione-breve .field-content {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #5c6f82;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ==========================================================================
   DATA ULTIMA MODIFICA
   ========================================================================== */

.agid-risultati-ricerca .views-field-changed {
  padding: 0.75rem 1.5rem;
  margin-top: auto;
  border-top: 1px solid #f1f1f1;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  
}

.agid-risultati-ricerca .views-field-changed .views-label-changed {
  font-size: 0.8rem;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #888;
}

.agid-risultati-ricerca .views-field-changed time {
  font-size: 0.8rem;
  line-height: 1;
  color: #5c6f82;
}

.agid-risultati-ricerca .views-field-changed .field-content {
  display: flex;
  align-items: center;
}

/* ==========================================================================
   AREA TEMATICA (pillole)
   ========================================================================== */

.agid-risultati-ricerca .views-field-field-area-tematica {
	padding: 1rem 1.5rem 1rem 1.5rem;

  
}

.agid-risultati-ricerca .views-exposed-form{
	transition: all 0.3s ease;
}

.agid-risultati-ricerca .views-exposed-form:hover{
	transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}

.agid-risultati-ricerca .views-field-field-area-tematica .field-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.agid-risultati-ricerca .views-field-field-area-tematica .field-content li {
  display: inline-block;
}

.agid-risultati-ricerca .views-field-field-area-tematica a {
justify-content: space-evenly;
    align-items: center;
    background: #FFF;
    border: 1px solid #3f2183;
    border-radius: 12px;
    min-width: 100px;
    padding: 0 8px 2px 8px;
    transition: all .05s;
    margin-top: 4px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #3f2183;
    transition: all 0.2s;
    font-size: 0.8rem;
}

.agid-risultati-ricerca .views-field-field-area-tematica a:hover {
  background: #5a34ad;
  color: #fff !important;
  border-color: #5a34ad;
}

/* ==========================================================================
   LINK "SCOPRI DI PIÙ" / views-field-nothing
   ========================================================================== */

.agid-risultati-ricerca .views-field-nothing {
  padding: 0.75rem 1.5rem 1.25rem;
}

.agid-risultati-ricerca .views-field-nothing .field-content {
  color: #3f2183;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
}

.agid-risultati-ricerca .views-field-nothing a {
  text-decoration: none;
  color: #3f2183;
  display: flex;
  align-items: center;
  transition: color 0.2s;
}

.agid-risultati-ricerca .views-field-nothing a:hover {
  color: #000 !important;
}

.agid-risultati-ricerca .views-field-nothing .field-content::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: 8px;
  background-color: #3f2183;
  flex-shrink: 0;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: transform 0.2s ease, background-color 0.2s;
}

.agid-risultati-ricerca .views-row:hover .views-field-nothing .field-content::after {
  background-color: #000;
  transform: translateX(4px);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 575px) {
  .agid-risultati-ricerca .views-exposed-form {
    flex-direction: column;
    align-items: stretch;
  }

  .agid-risultati-ricerca .views-exposed-form #edit-submit-risultati-ricerca,
  .agid-risultati-ricerca .views-exposed-form #edit-reset-risultati-ricerca {
    width: 100%;
    padding: 0;
  }
}

/* ==========================================================================
   ACCESSIBILITÀ
   ========================================================================== */

.agid-risultati-ricerca .views-row a:focus-visible {
  outline: 3px solid #ff9800;
  outline-offset: 2px;
  border-radius: 2px;
}

.agid-risultati-ricerca .views-exposed-form input:focus-visible,
.agid-risultati-ricerca .views-exposed-form select:focus-visible {
  outline: 3px solid #ff9800;
  outline-offset: 2px;
}





/* ==========================================================================
   INTESTAZIONE (HEADER HERO)
   ========================================================================== */



.agid-area-tematica .header-container {
    max-width: 100%;
    margin: 0 auto 2rem auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
	    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f1f1;
	border-radius: 12px;
	padding:2.5rem 2rem 1.5rem 2rem;
	Background:#FFF;
	
}

/* Parte Testuale */
.agid-area-tematica .header-text {
    flex: 1;
}

.agid-area-tematica .header-title {
    color: #000;
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    line-height: 1.1;
}

.agid-area-tematica .header-description {
    font-size: 1.2rem;
    line-height: 1.6;
    color: #444;
    max-width: 600px;
}

/* Parte Immagine */
.agid-area-tematica .header-image {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.agid-area-tematica .header-image img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(63, 33, 131, 0.15); /* Ombra coordinata al viola */
}

/* ==========================================================================
   RESPONSIVE HEADER
   ========================================================================== */
@media (max-width: 991px) {
    .agid-area-tematica .header-container {
        flex-direction: column;
        text-align: center;
    }

    .agid-area-tematica .header-text {
        order: 2; /* Sposta il testo sotto l'immagine su mobile se preferisci */
    }

    .agid-area-tematica .header-image {
        order: 1;
        justify-content: center;
    }

    .agid-area-tematica .header-title {
        font-size: 2.2rem;
    }
}

.path-taxonomy  .region-content header h2 {
    font-size: 2rem;
    font-weight: 600;
    color: #3f2183;
    padding-bottom: 0.5rem;
    border-bottom: 4px solid #c5c7c9;
    margin-top: 0rem;
	padding-top:6rem;

   display: flex;
    justify-content: space-between;
    align-items: center;
}

.path-taxonomy .region-content header h2 a {
    margin-left: auto;
    color: #3f2183;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;

}

.path-taxonomy .region-content header h2 a:hover {
    color: #000 !important;
}

.path-taxonomy .region-content header h2 a::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
	
    background-color: #3f2183;
    /* Usiamo l'SVG fornito come maschera così segue il colore del testo */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.9 5.4l-.7.7 5.3 5.4H3v1h15.5l-5.3 5.4.7.7 6.6-6.6zM19 12z"></path></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
	vertical-align:middle;
}

.path-taxonomy .region-content header h2 a:hover::after {
    background-color: #2a165d;
    transform: translateX(4px);
    transition: transform 0.2s ease;
}

.path-taxonomy .region-content header h2 span{
    color: #3f2183;
    font-size: 1.2rem;
    margin-left: 15px;
    margin-top: 5px;
}

.path-taxonomy .region-content .view-archivio-notizie,
.path-taxonomy .region-content .view-archivio-eventi{
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;	
	margin-bottom:0rem;
	margin-top:0rem;
	padding-bottom: 4rem;
}	


.path-taxonomy .region-content .view-name-lista-tassonomie-notizie{
	margin-top:-70px;
}

.path-taxonomy .region-content .view-name-lista-tassonomie-notizie h2{
	padding-top:8rem !important;
}

.path-taxonomy .region-content .view-name-lista-tassonomie-notizie,
.path-taxonomy .region-content .view-id-lista_tassonomie_progetti,
.path-taxonomy .region-content .view-lista-tassonome-bandi-e-misure {
    position: relative;
    z-index: 1;

}

.path-taxonomy .region-content .view-name-lista-tassonomie-notizie::before,
.path-taxonomy .region-content .view-id-lista_tassonomie_progetti::before,
.path-taxonomy .region-content .view-lista-tassonome-bandi-e-misure::before{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    
    width: 100vw; /* larghezza viewport */
    height: 100%;
    
    background-color: #3f218312; /* il tuo colore */
    
    z-index: -1;
}


.path-taxonomy .region-content .views-field.views-field-field-immagine-notizia,
.path-taxonomy .region-content .views-field.views-field-field-area-tematica {
    display: none;
}

.path-taxonomy .region-content .views-field.views-field-title-1{
	margin-top:1rem;
}

.path-taxonomy .region-content .view-archivio-notizie .views-exposed-form,
.path-taxonomy .region-content .view-archivio-eventi .views-exposed-form{
	    margin-bottom: 1rem;
}

.path-taxonomy .region-content .view-archivio-notizie .views-row,
.path-taxonomy .region-content .view-archivio-eventi .views-row{
	border-top:4px solid #3f2183;
}


/* Container Flexbox */
.navigazione-area-tematica {
  display: flex;
  flex-wrap: wrap; 
  gap: 15px;
  width: 100%;
  margin-bottom: 1.5rem;
  
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f1f1;
    border-radius: 12px;
    padding: 1.5rem 2rem 1.5rem 2rem;
    Background: #FFF;
	position:relative;
	z-index:2;
}

/* Bottone: occupa spazio e centra contenuto */
.navigazione-area-tematica .btn-icon {
  flex: 1; 
  min-width: 180px; /* Larghezza minima per non stringere troppo il testo */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  transition: all 0.2s ease-in-out;
}
.navigazione-area-tematica .btn-icon:hover{
	color:#FFF !important;
}

/* Icona via pseudo-elemento ::before */
.navigazione-area-tematica .btn-icon::before {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-right: 8px;
  background-color: currentColor; /* Fondamentale: l'icona segue il colore del testo */
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

/* Icone specifiche (Data URI) */
.navigazione-area-tematica .btn-notizie::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-1 16H5V5h14v14zM7 7h10v2H7zm0 4h10v2H7zm0 4h7v2H7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm-1 16H5V5h14v14zM7 7h10v2H7zm0 4h10v2H7zm0 4h7v2H7z'/%3E%3C/svg%3E");
}

.navigazione-area-tematica .btn-eventi::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2zM7 12h5v5H7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2zM7 12h5v5H7z'/%3E%3C/svg%3E");
}

.navigazione-area-tematica .btn-progetti::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13h8V3H3v10zm2-8h4v4H5V5zm8 16h8V11h-8v10zm2-8h4v4h-4v-4zM13 3v6h8V3h-8zm6 4h-4V5h4v2zM3 21h8v-6H3v6zm2-4h4v2H5v-2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13h8V3H3v10zm2-8h4v4H5V5zm8 16h8V11h-8v10zm2-8h4v4h-4v-4zM13 3v6h8V3h-8zm6 4h-4V5h4v2zM3 21h8v-6H3v6zm2-4h4v2H5v-2z'/%3E%3C/svg%3E");
}

.navigazione-area-tematica .btn-servizi::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 8h-3V4H3v12h3v4h14V8zM5 14V6h10v2H6v6H5zm13 4H8v-2h9V10h1v8z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 8h-3V4H3v12h3v4h14V8zM5 14V6h10v2H6v6H5zm13 4H8v-2h9V10h1v8z'/%3E%3C/svg%3E");
}

.navigazione-area-tematica .btn-bandi::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E");
}

/* Mobile: una colonna intera per tasto */
@media (max-width: 767px) {
  .navigazione-area-tematica .navigazione-area-tematica .btn-icon {
    flex: 1 1 100%;
  }
}



/* ==========================================================================
   AREE TEMATICHE HOME - STILE COERENTE CON ARCHIVIO NOTIZIE
   ========================================================================== */

/* Contenitore principale e Griglia */
.agid-aree-tematiche-glossario {
    margin-bottom: 6rem;
    display: grid;
    grid-template-columns: 1fr; /* Default mobile */
    gap: 30px;
    width: 100%;
}

@media (min-width: 992px) {
    .agid-aree-tematiche-glossario {
        grid-template-columns: repeat(3, 1fr); /* 3 blocchi per riga su desktop */
    }
    /* Assicura che elementi di sistema (pager, form) occupino tutta la riga */
    .agid-aree-tematiche-glossario header, 
    .agid-aree-tematiche-glossario .views-exposed-form, 
    .agid-aree-tematiche-glossario nav,
    .agid-aree-tematiche-glossario .contextual {
        grid-column: 1 / -1;
    }
}

/* ==========================================================================
   STILE CARD (VIEWS ROW)
   ========================================================================== */
.agid-aree-tematiche-glossario .views-row {
    background: #fff;
    border: 1px solid #f1f1f1;
    border-radius: 8px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    height: 100%;
}

/* Effetto Hover sulla Card */
.agid-aree-tematiche-glossario .views-row:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(63, 33, 131, 0.1);
}

/* ==========================================================================
   CAMPI DELLA VISTA
   ========================================================================== */

/* 1. Immagine (Forzata in alto con order: -1) */
.agid-aree-tematiche-glossario .views-field-field-immagine-area-tematica {
    order: -1; 
}

.agid-aree-tematiche-glossario .views-field-field-immagine-area-tematica img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.agid-aree-tematiche-glossario .views-row:hover .views-field-field-immagine-area-tematica img {
    transform: scale(1.05); /* Leggero zoom dell'immagine al passaggio */
}

/* 2. Titolo (Nome Area) */
.agid-aree-tematiche-glossario .views-field-name {
    padding: 1.5rem 1.5rem 0.5rem 1.5rem;
}

.agid-aree-tematiche-glossario .views-field-name a {
    color: #333;
    font-weight: 800;
    font-size: 1.4rem;
    text-decoration: none;
    line-height: 1.3;
    transition: color 0.2s;
}

.agid-aree-tematiche-glossario .views-field-name a:hover {
    color: #3f2183;
}

/* 3. Descrizione Breve */
.agid-aree-tematiche-glossario .views-field-field-descrizione-area-tematica {
    padding: 0 1.5rem 2rem 1.5rem;
    font-size: 1rem;
    line-height: 1.6;
    color: #666;
}

/* ==========================================================================
   DETTAGLI EXTRA (OPZIONALI)
   ========================================================================== */

/* Se vuoi aggiungere la freccetta stile "read more" anche qui */
.agid-aree-tematiche-glossario .views-field-name::after {
    content: "Esplora area";
    display: block;
    margin-top: 10px;
    color: #3f2183;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

/* Nasconde elementi contestuali di Drupal per non rompere la griglia */
.agid-aree-tematiche-glossario .contextual-links-wrapper {
    z-index: 100;
}

.path-aree-tematiche #it-block-italiagov-page-title h1{
	margin-bottom:4rem;
}


.path-aree-tematiche{
	margin-bottom:4rem;
}


/* ##################### BLOCCHI AREA RISERVATA ############################ */

.area-riservata-blocchi{
	margin-bottom:4rem;

}

.area-riservata-blocchi{ 

  .ct-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 2rem;
    padding: 1rem 0;
  }
  .ct-card {
    border: 1px solid #d9e6f2;
    border-radius: 8px;
    background: #fff;
    padding: 1.25rem 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
	box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
  }
  .ct-card:hover {
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
  }
  .ct-card__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.25rem;
  }
  .ct-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #eee7ff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .ct-card__icon svg {
    width: 22px;
    height: 22px;
    fill: #3f2183;
  }
  .ct-card__title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #000;
    margin: 0;
    line-height: 1.2;
  }
  .ct-card__desc {
    font-size: 1rem;
    color: #5b6f82;
    margin: 0;
    line-height: 1.4;
    flex: 1;
  }
.ct-card__actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.ct-card__actions .btn {
  flex: 1;
  font-size: 0.78rem;
  padding: 0.3rem 0.75rem;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  text-decoration: none;
  font-weight: 600;

  transition: background 0.15s, color 0.15s;
}

.ct-card__actions .btn p{
	margin:0px;
	  font-size:0.9rem;
}
  
  .ct-card__actions .btn:hover {
	  color:#FFF !important;
	  background-color:#231249  !important;
  }
  
  .ct-card__actions .btn svg {
    width: 14px;
    height: 14px;
  }
  .btn-crea {
    background: #3f2183;
    color: #fff;
    border: 1px solid #3f2183;
  }
  .btn-crea:hover {
    background: #3f2183;
    color: #fff;
    border-color: #3f2183;
  }
  .btn-elenco {
    background: #fff;
    color: #3f2183;
    border: 1px solid #3f2183;
  }
  .btn-elenco:hover {
    background: #e8f1fb;
    color: #3f2183;
  }
  .btn-gestisci {
    background: #3f2183;
    color: #fff;
    border: 1px solid #3f2183;
  }
  .btn-gestisci:hover {
    background: #3d4f5e;
    color: #fff;
  }
  /* Badge tassonomia / webform */
  .ct-card__icon.tax { background: #e6f2e6; }
  .ct-card__icon.tax svg { fill: #008a00; }
  .ct-card__icon.webform { background: #fff3e0; }
  .ct-card__icon.webform svg { fill: #c67300; }
  
}


/* ── Campo: Enti gestori del servizio ─────────────────────── */

#edit-field-enti-gestori-del-servizio-wrapper {
	margin-bottom:2rem;
}

#edit-field-enti-gestori-del-servizio-wrapper {

  /* Nascondi il tasto "Mostra ordine righe" */
  .tabledrag-toggle-weight-wrapper,
  .tableresponsive-toggle-columns {
    display: none !important;
  }

  /* Rimuovi l'aspetto tabella, layout pulito */
  .field-multiple-table {
    border: none;
    box-shadow: none;
    margin-bottom: 0;
  }

  /* Nascondi intestazione thead */
  thead {
    background-color:#FFF !important;
  }
  
    thead tr,
	thead tr th	{
    background-color:#FFF !important;
	color:#3f2183;
	font-size:0.7rem !important;
  }
  
	thead tr th h4	{
	font-size:1rem !important;
	line-height:1rem !important;
	margin-bottom:0px !important;
  }

  /* Righe: rimuovi strisce zebra e bordi pesanti */
  tbody tr {
    background: transparent !important;
    border-bottom: 1px solid #e8edf2;
  }
  tbody tr:last-child {
    border-bottom: none;
  }

  /* Nascondi la cella drag handle (colonna trascinamento) */
  .field-multiple-drag {
    display: none;
  }

  /* Input a larghezza piena */
  td {
    padding: 0.4rem 0;
    border: none;
    vertical-align: middle;
  }

  input.form-control {
    width: 100%;
    border-radius: 6px;
    border: 1px solid #b0c4d8;
    padding: 0.45rem 0.75rem;
    font-size: 0.95rem;
    transition: border-color 0.15s, box-shadow 0.15s;
  }

  input.form-control:focus {
    border-color: #3f2183;
    box-shadow: 0 0 0 3px rgba(63, 33, 131, 0.12);
    outline: none;
  }

  /* Descrizione sotto il campo */
  .description {
    font-size: 0.85rem;
    color: #5b6f82;
    margin-top: 0.5rem;
  }
}

.user-anonymous.path-user.page-type--page .user-pass-reset.needs-validation{
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    padding: 40px;
    max-width: 600px;
    background-color: #f1eff6;
    color: #3f2183;
    margin: 2rem auto 4rem auto;
}

.user-anonymous.path-user.page-type--page .user-pass-reset.needs-validation p:last-child{
	font-weight:800;
}

.user-anonymous.path-user.page-type--page .block-page-title-block h4{
	text-align:center;
}

.password-suggestions,
.password-suggestions *{
	font-size:0.8rem !important;
}

.password-suggestions{
    border: 1px solid #CCC;
    border-radius: 10px;
    padding: 20px;
    color: #3f2193;
    font-weight: 600;
    margin-top: 15px;
}

.user-anonymous.path-user.page-type--page .js-form-type-password-confirm{
	margin-bottom: 2rem;
    border: 1px solid #3f2183;
    padding: 60px 50px;
    border-radius: 10px;
    box-shadow: 0 0 0 3px rgba(63, 33, 131, 0.12);
}

.user-anonymous.path-user.page-type--page .js-form-type-password-confirm .js-form-item{
	margin-bottom:0px !important;
}

.password-strength__indicator{
	    background-color: #3f2183 !important;
}


#page-user-register h1,
#page-user-login h1,
#page-user-password h1{
	text-align:center;
	margin-bottom:40px;
}

/* --- Container Principale --- */
#user-register-form {
    max-width: 850px;
    margin: 0rem auto 3rem auto;
    padding: 0rem;
    background-color: #ffffff;
  
}

/* --- Etichette e Testi --- */
#user-register-form label {
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}


#user-register-form .description, 
#user-register-form .form-text {
    font-size: 0.85rem;
    color: #718096;
    line-height: 1.5;
    margin-top: 0.4rem;
}

/* --- Campi di Input --- */
#user-register-form .form-control {
    border: 2px solid #e2e8f0;
    border-radius: 10px !important;
    padding: 0.75rem 1rem;
    background-color: #f8fafc;
    transition: all 0.2s ease;
    font-size: 1rem;
}

#user-register-form .form-control:focus {
    background-color: #fff;
    border-color: #0066cc;
    box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1);
    outline: none;
	
}

/* --- Organizzazione Layout (Desktop) --- */
@media (min-width: 768px) {
    /* Griglia per Nome e Cognome */
    #user-register-form #edit-field-nome-wrapper,
    #user-register-form #edit-field-cognome-wrapper {
        display: inline-block;
        width: calc(50% - 10px);
    }
    #user-register-form #edit-field-nome-wrapper { margin-right: 15px; }

    /* Griglia per Password e Conferma */
    #user-register-form .form-item-pass-pass1,
    #user-register-form .form-item-pass-pass2 {
        display: inline-block;
        width: calc(50% - 10px);
        vertical-align: top;
    }
    #user-register-form .form-item-pass-pass1 { margin-right: 15px; }
}

/* --- Password Strength & Icons --- */
#user-register-form .password-strength__meter {
    height: 8px;
    border-radius: 4px;
    background-color: #edf2f7;
    margin-top: 10px;
}

#user-register-form .password-icon {
    border: none;
    background: transparent;
    margin-top: -48px;
    float: right;
    margin-right: 10px;
    position: relative;
    z-index: 10;
}

/* --- Box Privacy --- */
#user-register-form .field--name-field-privacy-policy {
    margin-top: 2.5rem;
    padding: 1.5rem;
    border-radius: 12px;
    border-left: 4px solid #3f2183;
	box-shadow: 0 0 0 3px rgba(63, 33, 131, 0.12);
}

#user-register-form #edit-field-privacy-policy-value--description{
	display:inline-block;
	width:100%;
}

#user-register-form .form-check-input {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: 0.25rem;
    cursor: pointer;
}

/* --- Pulsante di Invio --- */
#user-register-form #edit-submit {
    border: none;
    border-radius: 8px;
    padding: 1rem 2.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    width: 100%; /* Su mobile occupa tutto, su desktop puoi limitarlo */
    margin-top: 1rem;
}

#user-register-form #edit-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 102, 204, 0.3);
}

/* --- Pulizia Campi Nascosti --- */
#user-register-form .url-textfield {
    display: none !important;
}












/* --- CONTAINER GENERALE --- */
.user-logged-in.path-user #it-block-italiagov-content {
    background-color: #ffffff;
    padding: 2.5rem;
    border-radius: 12px;
   box-shadow: 0 5px 15px rgb(63 33 131 / 17%);
    border: 1px solid #e9ecef;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

/* --- 1. VISUALIZZAZIONE PROFILO (VIEW MODE) --- */
.user-logged-in.path-user article {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

/* Header "Iscritto da" */
.user-logged-in.path-user article .form-item- {
    grid-column: 1 / -1;
    background: rgba(63, 33, 131, 0.04); /* Sfondo viola chiarissimo */
    padding: 1.2rem 1.5rem;
    border-radius: 8px;
    border-left: 5px solid #3f2183; /* Bordo viola scuro */
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.user-logged-in.path-user article h4.label {
    margin: 0;
    font-size: 0.85rem;
    text-transform: uppercase;
    color: #3f2183; /* Testo viola */
    font-weight: 800;
    letter-spacing: 1px;
}

/* Singoli campi profilo */
.user-logged-in.path-user .field {
    border-bottom: 1px solid #f1f1f1;
    padding: 0.8rem 0;
}

.user-logged-in.path-user .field > div:first-child {
    font-weight: 700;
    color: #1a1a1a;
    font-size: 0.9rem;
    margin-bottom: 3px;
}

.user-logged-in.path-user .field > div:last-child {
    color: #4a4a4a;
    font-size: 1.05rem;
}

/* --- 2. FORM DI MODIFICA (EDIT MODE) --- */


/* Input e Label */
.user-logged-in.path-user #user-form label {
    font-weight: 700;
    color: #2d2d2d;
    font-size: 0.95rem;
}

.user-logged-in.path-user #user-form .form-control {
    border: 2px solid #e2e8f0;
    border-radius: 10px !important; 
    padding: 0.7rem 1rem;
    transition: all 0.25s ease;
}

/* Focus degli input col nuovo colore */
.user-logged-in.path-user #user-form .form-control:focus {
    border-color: #3f2183;
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(63, 33, 131, 0.15);
    outline: none;
}



/* Layout Password e Campi affiancati (Desktop) */
@media (min-width: 768px) {
	.user-logged-in.path-user #user-form .form-item-pass-pass1,
.user-logged-in.path-user #user-form .form-item-pass-pass2,
    .user-logged-in.path-user #user-form #edit-field-nome-wrapper,
    .user-logged-in.path-user #user-form #edit-field-cognome-wrapper {
        display: inline-block;
        width: 100%;
        vertical-align: top;
    }
	
	.user-logged-in.path-user #user-form #edit-account{
		margin-bottom:3rem;
	}
	
	    .user-logged-in.path-user #user-form .form-item-pass-pass1,
.user-logged-in.path-user #user-form .form-item-pass-pass2{
	margin-bottom:0px !important;
}
	
    .user-logged-in.path-user #user-form .form-item-pass-pass1,
    .user-logged-in.path-user #user-form #edit-field-nome-wrapper {
        margin-right: 2%;
    }
}

/* Box Privacy Policy */
.user-logged-in.path-user #user-form .form-item-field-privacy-policy-value {
    background: rgba(63, 33, 131, 0.04);
    padding: 1.5rem;
    border-radius: 10px;
    border: 1px solid #3f2183;
    margin-top: 2rem;
}

/* Pulsante Salva */
.user-logged-in.path-user #edit-submit {
    background-color: #3f2183;
    border: none;
    padding: 0.8rem 3rem;
    font-weight: 700;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.user-logged-in.path-user #edit-submit:hover {
    background-color: #2e1861; /* Viola più scuro al passaggio */
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(63, 33, 131, 0.3);
}



.user-logged-in.path-user #edit-delete {
    background-color: #FFF;
    border: none;
    padding: 0.8rem 3rem;
    font-weight: 700;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    margin-top: 1.5rem;
}

.user-logged-in.path-user #edit-delete:hover {
    background-color: #FFF; /* Viola più scuro al passaggio */
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(63, 33, 131, 0.3);
}



/* Nascondi Honeypot/Campi Tecnici */
.user-logged-in.path-user .url-textfield,
.user-logged-in.path-user input[name="form_build_id"],
.user-logged-in.path-user input[name="form_token"] {
    display: none !important;
}

/* Icone Password */
.user-logged-in.path-user .password-icon {
    position: relative;
    float: right;
    margin-top: -42px;
    margin-right: 12px;
    background: none;
    border: none;
    color: #3f2183;
}



.link-bacheca a{
	font-weight:bold;
}

.link-bacheca a {
  position: relative;
  padding-left: 28px; /* spazio per icona */
}

.link-bacheca a::before {
content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: -4px;
    margin-right: 5px;
    vertical-align: sub;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%233f2183' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21s-6-5.33-6-10a6 6 0 1 1 12 0c0 4.67-6 10-6 10z'/%3E%3Ccircle cx='12' cy='11' r='2'/%3E%3C/svg%3E");
}

.link-crea-servizio a::before {
	content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: -4px;
    margin-right: 5px;
    vertical-align: sub;
    background-repeat: no-repeat;
    background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%233f2183' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E");
	
}


.link-tuoi-servizi a::before {
content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: -4px;
    margin-right: 5px;
    vertical-align: sub;
    background-repeat: no-repeat;
    background-size: contain;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%233f2183' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E");
}

.link-tuoi-servizi{
	
	border-bottom:1px solid #5a34ad;
}



/* ── Mappa Digitale - Elenco Servizi Utente ─────────────────── */
.view-mappa-digitale-elenco-servizi-utente {
	margin:2rem 0px 6rem 0px;

  .table-responsive {
    margin-bottom: 2rem;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }

  .table {
    margin-bottom: 0;
    font-size: 1rem;
  }
  
  .table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-accent-bg: #FFF;
  }
  
  th{
	  background-color:#3f2183;
  }
  
  .views-field-delete-node{
	 width:1%;
  }
  
  .views-field-delete-node a{
	  align-items: center;
    background: #FFF;
    border: 1px solid #E84357;
    border-radius: 12px;
    min-width: 100px;
    padding: 0 8px 2px 8px;
    transition: all 0.2s;
    margin-top: 4px;
    margin-bottom: 8px;
    text-decoration: none;
    color: #E84357;
    font-size: 0.8rem;
  }
  
  .views-field-delete-node a:hover{
	  background-color:#E84357;
	  color:#FFF !important;
  }
  
  .views-field-title{
	   width:25%;
  }
  
  .views-field-created,
  .views-field-views-conditional-field{
	  width:15%;
  }
   
  .views-field-field-motivazione-rifiuto-serviz{
	  width:20%;
  }
  

  .views-field-field-stato-servizio{
	  width:10%;
	  white-space:nowrap;
  }

  /* Caption come badge di stato */
  caption {
    caption-side: top;
    padding: 0.6rem 1rem;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #000;
    background: #e9dfff;
    text-align: left;
  }

  /* Tabella "Approvato e Pubblicato Online" → verde */
  .table-responsive:has(caption) {
    caption-side: top;
  }

.tablesort{
vertical-align:middle;
margin-left:5px;	
}

  /* Differenzia le caption per contenuto */
  table:has(caption) caption:has-text {
    background: #5c6f82;
  }
}






/* ====================================
   RAFFINAMENTO FORM NODO SERVIZI
   Tutti i campi al 100% - Con contesto privilegiato
   ==================================== */

/* ── Form Servizi Mappa Digitale ─────────────────────────────── */

/* Container generale */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form {
  background-color: #ffffff;
  padding: 2.5rem;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgb(63 33 131 / 17%);
  border: 1px solid #e9ecef;
  margin: 2rem auto 4rem auto;
  
}

/* Label */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form label {
  font-weight: 700;
  color: #2d2d2d;
  font-size: 0.95rem;
}

/* Input e Select */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .form-control,
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form select.form-select{
  border: 2px solid #e2e8f0;
  border-radius: 10px !important;
  padding: 0.7rem 1rem;
  transition: all 0.25s ease;
  width: 100%;
  font-size: 0.95rem;
  color: #17324d;
  background-color: #fff;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form select {
  border: 2px solid #e2e8f0;
  border-radius: 10px !important;
  min-height:49px;
  transition: all 0.25s ease;
  width: 100%;
  font-size: 0.95rem;
  color: #17324d;
  background-color: #fff;
}

/* Focus */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .form-control:focus,
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form select:focus {
  border-color: #3f2183;
  background-color: #fff;
  box-shadow: 0 0 0 4px rgba(63, 33, 131, 0.15);
  outline: none;
}

/* Gruppi campo */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .form-group,
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .js-form-item {
  margin-bottom: 1.5rem;
}

/* Asterisco obbligatorio */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .form-required span[aria-hidden] {
  color: #c00;
  margin-left: 2px;
}

/* Descrizione campo */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .form-text.description,
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form small.description {
  font-size: 0.78rem;
  color: #5b6f82;
  margin-top: 0.3rem;
  display: block;
}

/* ── Sezione geocoder ─────────────────────────────────────────── */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .geocoder-widget-wrapper {
  background: rgba(63, 33, 131, 0.04);
  padding: 4rem 2rem 2rem 2rem;
  border-radius: 10px;
  border: 1px solid #3f2183;
  margin-bottom: 1rem;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .geocoder-widget-wrapper label {
  color: #3f2183;
  font-weight: 800;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Mappa anteprima */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .geocoder-map-preview {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #b0c4d8;
  margin-top: 1rem;
}

/* Feedback geocoder */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .geocoder-feedback--success {
  background: #e6f4ea;
  border: 1px solid #a8d5b5;
  color: #1e6b34;
  border-radius: 8px;
  padding: 0.6rem 0.85rem;
  font-size: 0.85rem;
  margin-top: 0.5rem;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .geocoder-feedback--error {
  background: #fdecea;
  border: 1px solid #f5c6c2;
  color: #b71c1c;
  border-radius: 8px;
  padding: 0.6rem 0.85rem;
  font-size: 0.85rem;
  margin-top: 0.5rem;
}

/* Dropdown suggerimenti */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .geocoder-suggestions-list {
  border: 2px solid #e2e8f0;
  border-top: none;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 4px 12px rgba(63, 33, 131, 0.1);
  z-index: 9999;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .geocoder-suggestion-item:hover {
  background: rgba(63, 33, 131, 0.06);
  color: #3f2183;
}

/* ── Azioni ───────────────────────────────────────────────────── */
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form #edit-actions {
  border-top: 1px solid #e9ecef;
  padding-top: 1.5rem;
  margin-top: 0rem;
  text-align:center;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form #edit-submit {
  background-color: #3f2183;
  border: none;
  padding: 0.8rem 3rem;
  font-weight: 700;
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  color: #fff;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form #edit-submit:hover {
  background-color: #2e1861;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(63, 33, 131, 0.3);
}

/* ── Desktop: campi affiancati ────────────────────────────────── */
@media (min-width: 768px) {
  .user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form #edit-title-wrapper,
  .user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form #edit-field-tipologia-servizio-wrapper {
    display: inline-block;
    width: 100%;
    vertical-align: top;
  }

  .user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form #edit-title-wrapper {
    margin-right: 0%;
  }
}

   
   .user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .card.card-teaser{
	   display:none;
   }
   
   .user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .upload[type="file"] + label{
	   background-color: #3f2183;
	   color:#FFF !important;
   }
   
   
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form {
  max-width: 100%;
  margin: 2rem auto;
  padding: 2rem;
}

/* ====================================
   LAYOUT - TUTTI I CAMPI AL 100%
   ==================================== */

.user-logged-in.path-node.page-type--page .layout__region--content {
  display: block !important;
}

.user-logged-in.path-node.page-type--page .layout__region--content > .form-wrapper {
  width: 100%;
  display: block;
  margin-bottom: 2rem;
  background: #ffffff;
  box-sizing: border-box;
}

.user-logged-in.path-node.page-type--page #edit-field-tipologia-servizio-wrapper{
	 margin-top: 1.5rem;
}

.user-logged-in.path-node.page-type--page #edit-field-a-chi-e-rivolto-wrapper{
	margin-top: 4rem;
}

/* ====================================
   STILI BASE PER TUTTI I CAMPI
   ==================================== */



.user-logged-in.path-node.page-type--page .form-required > label {
  position: relative;
  padding-right: 1rem;
}

.user-logged-in.path-node.page-type--page .form-required > label::after {
  content: "*";
  position: absolute;
  right: 0;
  color: #dc2626;
  font-weight: 700;
}

.user-logged-in.path-node.page-type--page .layout__region--content input:not([type="submit"]):not([type="button"]):not([type="file"]),
.user-logged-in.path-node.page-type--page .layout__region--content select,
.user-logged-in.path-node.page-type--page .layout__region--content textarea {
  width: 100% !important;
  padding: 0.75rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 1rem;
  line-height: 1.5;
  color: #1f2937;
  background-color: #ffffff;
  box-sizing: border-box;
  transition: border-color 0.15s ease;
}

.user-logged-in.path-node.page-type--page .layout__region--content input:focus,
.user-logged-in.path-node.page-type--page .layout__region--content select:focus,
.user-logged-in.path-node.page-type--page .layout__region--content textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.user-logged-in.path-node.page-type--page .layout__region--content .description,
.user-logged-in.path-node.page-type--page .layout__region--content .form-text {
  display: block;
  font-size: 0.875rem;
  color: #6b7280;
  margin-top: 0.5rem;
  line-height: 1.5;
}

/* ====================================
   CAMPI MULTIPLI (Telefono, Email)
   ==================================== */

.user-logged-in.path-node.page-type--page .field--name-field-telefono,
.user-logged-in.path-node.page-type--page .field--name-field-email {
  padding: 1.25rem;
  margin-top: 0.5rem;
}

.user-logged-in.path-node.page-type--page .field-multiple-table {
  width: 100%;
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  overflow: hidden;
  background: #ffffff;
}

.user-logged-in.path-node.page-type--page .field-multiple-table thead {
  background-color: #f3f4f6;
  border-bottom: 2px solid #e5e7eb;
}

.user-logged-in.path-node.page-type--page .field-multiple-table th {
padding: 0 1rem;
  font-weight: 600;
  font-size: 0.6rem;
  color: #3f2183;
  text-align: left;
  background-color: #FFF;
}

.user-logged-in.path-node.page-type--page .field-multiple-table th h4{
	color: #3f2183;
	font-size: 1rem;
}

.user-logged-in.path-node.page-type--page .field-multiple-table td {
  padding: 1rem;
  vertical-align: middle;
  border-bottom: 1px solid #e5e7eb;
}

.user-logged-in.path-node.page-type--page .field-multiple-table tr:last-child td {
  border-bottom: none;
}

.user-logged-in.path-node.page-type--page .field-multiple-table input {
  width: 100% !important;
  padding: 0.5rem 0.75rem !important;
}

.user-logged-in.path-node.page-type--page .tabledrag-handle {
  display: inline-block;
  padding: 0.25rem;
  cursor: move;
}

.user-logged-in.path-node.page-type--page .tabledrag-handle .handle {
  width: 20px;
  height: 20px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="%236b7280" d="M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/></svg>') no-repeat center;
  background-size: contain;
  display: inline-block;
}

.user-logged-in.path-node.page-type--page .tabledrag-toggle-weight-wrapper {
  display:none;
}

.user-logged-in.path-node.page-type--page .tabledrag-toggle-weight {
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  color: #374151;
  cursor: pointer;
}

.user-logged-in.path-node.page-type--page .tabledrag-toggle-weight:hover {
  background: #f3f4f6;
}

/* ====================================
   CAMPO INDIRIZZO (Geofield)
   ==================================== */

.user-logged-in.path-node.page-type--page .geocoder-widget-wrapper {
  position: relative;
  width: 100%;
}

.user-logged-in.path-node.page-type--page .geocoder-suggestions-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1050;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  max-height: 250px;
  overflow-y: auto;
  padding: 0.5rem 0;
  margin: 0.25rem 0 0;
  list-style: none;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  width: 100%;
}

.user-logged-in.path-node.page-type--page .geocoder-suggestions-list li {
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-size: 0.875rem;
}

.user-logged-in.path-node.page-type--page .geocoder-suggestions-list li:hover {
  background-color: #f3f4f6;
}

.user-logged-in.path-node.page-type--page .geocoder-map-preview {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  margin-top: 1rem;
  width: 100% !important;
  height: 250px !important;
}

/* ====================================
   CAMPI FILE E IMMAGINI
   ==================================== */

.user-logged-in.path-node.page-type--page .js-form-managed-file,
.user-logged-in.path-node.page-type--page .image-widget {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  background: #f9fafb;
  border: 2px dashed #d1d5db;
  border-radius: 6px;
  padding: 1.5rem;
  width: 100%;
  box-sizing: border-box;
}

.user-logged-in.path-node.page-type--page .js-form-managed-file input[type="file"],
.user-logged-in.path-node.page-type--page .image-widget input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.user-logged-in.path-node.page-type--page .js-form-managed-file label[for$="-upload"],
.user-logged-in.path-node.page-type--page .image-widget label[for$="-upload"] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #2563eb;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
  margin: 0;
  transition: background-color 0.2s;
}

.user-logged-in.path-node.page-type--page .js-form-managed-file label[for$="-upload"]:hover,
.user-logged-in.path-node.page-type--page .image-widget label[for$="-upload"]:hover {
  background: #1d4ed8;
}

.user-logged-in.path-node.page-type--page .js-form-managed-file .button[value="Carica"],
.user-logged-in.path-node.page-type--page .image-widget .button[value="Carica"] {
  background: #059669;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
  cursor: pointer;
  font-weight: 500;
}

.user-logged-in.path-node.page-type--page .js-form-managed-file .button[value="Carica"]:hover,
.user-logged-in.path-node.page-type--page .image-widget .button[value="Carica"]:hover {
  background: #047857;
}

/* ====================================
   DETTAGLIO (fieldset)
   ==================================== */

.user-logged-in.path-node.page-type--page details.form-wrapper {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 1rem;
  background: #ffffff;
}

.user-logged-in.path-node.page-type--page details.form-wrapper[open] {
  padding: 1.5rem;
}

.user-logged-in.path-node.page-type--page details.form-wrapper summary {
  font-weight: 600;
  color: #1f2937;
  cursor: pointer;
  padding: 0.25rem 0;
  font-size: 1rem;
}

.user-logged-in.path-node.page-type--page details.form-wrapper[open] summary {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 0.75rem;
}

/* ====================================
   PULSANTI DI AZIONE
   ==================================== */

.user-logged-in.path-node.page-type--page .form-actions {
  display: block;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 2px solid #e5e7eb;
  background: transparent;
  border: none;
  padding: 0;
}

.user-logged-in.path-node.page-type--page .form-actions .btn-primary {
  background: #2563eb;
  border: none;
  border-radius: 6px;
  padding: 0.75rem 2rem;
  font-weight: 600;
  font-size: 1rem;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.2s;
  min-width: 150px;
}

.user-logged-in.path-node.page-type--page .form-actions .btn-primary:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.2);
}

.user-logged-in.path-node.page-type--page .field--name-field-telefono,
.user-logged-in.path-node.page-type--page .field--name-field-email{
	padding:0px !important;
}

.user-logged-in.path-node.page-type--page .field--name-field-telefono tr td:nth-child(3),
.user-logged-in.path-node.page-type--page .field--name-field-email tr td:nth-child(3){
	display:none;
}

.user-logged-in.path-node.page-type--page .field--name-field-telefono .js-form-item,
.user-logged-in.path-node.page-type--page .field--name-field-email .js-form-item{
	margin-bottom:0px !Important;
}


.user-logged-in.path-node.page-type--page .js-form-managed-file label[for$="-upload"], 
.user-logged-in.path-node.page-type--page .image-widget label[for$="-upload"]{
	
	background: #3f2183 !important;
}

.user-logged-in.path-node.page-type--page .js-form-managed-file label[for$="-upload"]:hover, 
.user-logged-in.path-node.page-type--page .image-widget label[for$="-upload"]:hover {
  background: #231249 !important;
}

.user-logged-in.path-node.page-type--page #edit-field-allegati-servizio-wrapper{
	margin-bottom:3rem !important;
}

/* ====================================
   RESPONSIVE
   ==================================== */

@media (max-width: 768px) {
  .user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form {
    padding: 0 1rem;
  }
  
  .user-logged-in.path-node.page-type--page .layout__region--content > .form-wrapper {
    padding: 0rem;
  }
  
  .user-logged-in.path-node.page-type--page .js-form-managed-file,
  .user-logged-in.path-node.page-type--page .image-widget {
    flex-direction: column;
    align-items: stretch;
  }
  
  .user-logged-in.path-node.page-type--page .js-form-managed-file label[for$="-upload"],
  .user-logged-in.path-node.page-type--page .image-widget label[for$="-upload"],
  .user-logged-in.path-node.page-type--page .js-form-managed-file .button[value="Carica"],
  .user-logged-in.path-node.page-type--page .image-widget .button[value="Carica"] {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .user-logged-in.path-node.page-type--page .field-multiple-table,
  .user-logged-in.path-node.page-type--page .field-multiple-table thead,
  .user-logged-in.path-node.page-type--page .field-multiple-table tbody,
  .user-logged-in.path-node.page-type--page .field-multiple-table tr,
  .user-logged-in.path-node.page-type--page .field-multiple-table td {
    display: block;
  }
  
  .user-logged-in.path-node.page-type--page .field-multiple-table thead {
    display: none;
  }
  
  .user-logged-in.path-node.page-type--page .field-multiple-table td {
    border: none;
    padding: 0.75rem;
    border-bottom: 1px solid #e5e7eb;
  }
  
  .user-logged-in.path-node.page-type--page .field-multiple-table tr {
    border: 1px solid #e5e7eb;
    margin-bottom: 1rem;
    border-radius: 6px;
    background: #ffffff;
  }
  
  .user-logged-in.path-node.page-type--page .field-multiple-table td:last-child {
    border-bottom: none;
  }
}

/* ====================================
   RESET E CORREZIONI
   ==================================== */

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .form-group {
  margin-bottom: 0;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .table {
  margin-bottom: 0;
  width: 100%;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form .form-control {
  box-shadow: none;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form input,
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form select,
.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form textarea {
  max-width: 100%;
}

.user-logged-in.path-node.page-type--page .node-servizi-mappa-digitale-form select[multiple] {
  height: auto;
  min-height: 100px;
}

/* ====================================
   NASCONDI PRIMA E ULTIMA COLONNA DEI CAMPI MULTIPLI
   CORREZIONE: INPUT AL 100%
   ==================================== */

.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table th:first-child,
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table td:first-child,
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table th:last-child,
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table td:last-child,
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table th:first-child,
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table td:first-child,
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table th:last-child,
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table td:last-child {
  display: none;
}

/* Regola specifica per il th con colspan="2" che potrebbe creare problemi */
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table th[colspan="2"],
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table th[colspan="2"] {
  display: table-cell !important;
}

/* Forza la tabella ad avere solo 1 colonna visibile */
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table,
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table {
  width: 100%;
  
}

/* La colonna centrale deve occupare tutto lo spazio disponibile */
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table td:nth-child(2),
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table td:nth-child(2) {
  width: 100% !important;
  display: table-cell;
  padding: 1rem;
}

/* L'input dentro la colonna centrale deve occupare tutto lo spazio */
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table td:nth-child(2) input,
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table td:nth-child(2) input {
  width: 100% !important;
  box-sizing: border-box;
}

/* Correggi l'intestazione della tabella per mostrare solo il titolo corretto */
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table th.field-label,
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table th.field-label {
  display: table-cell;
  padding: 0.75rem 1rem;
  text-align: left;
}

/* Nascondi le altre intestazioni che non servono */
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table th:not(.field-label),
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table th:not(.field-label) {
  display: none;
}

/* Forza la tabella ad avere una struttura a colonna singola */
.user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table colgroup,
.user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table colgroup {
  display: none;
}

/* ====================================
   MIGLIORIA RESPONSIVE PER I CAMPI MULTIPLI
   ==================================== */

@media (max-width: 640px) {
  .user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table,
  .user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table,
  .user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table tbody,
  .user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table tr,
  .user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table tbody,
  .user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table tr {
    display: block;
    width: 100%;
  }
  
  .user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table td:nth-child(2),
  .user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table td:nth-child(2) {
    display: block;
    width: 100%;
    padding: 0.75rem;
    border: none;
  }
  
  .user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table tr,
  .user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table tr {
    border: 1px solid #e5e7eb;
    margin-bottom: 1rem;
    border-radius: 6px;
    background: #ffffff;
  }
  
  /* Nascondi anche su mobile le colonne non necessarie */
  .user-logged-in.path-node.page-type--page .field--name-field-telefono .field-multiple-table thead,
  .user-logged-in.path-node.page-type--page .field--name-field-email .field-multiple-table thead {
    display: none;
  }
}

.user-logged-in.path-node.page-type--page .layout__region--content .description ul li{
	font-size: 0.8rem;
    line-height: 1rem;
}

.user-logged-in.path-node.page-type--page .node-form .image-widget{
	margin-bottom:0px !important;
}


.user-logged-in.path-node.page-type--page .card.card-teaser{
	
}

.user-logged-in.path-node.page-type--page #edit-field-allegati-servizio-wrapper thead th {
  padding: .5rem .5rem;
  background-color: #3f2183 !important;
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.user-logged-in.path-node.page-type--page #edit-field-allegati-servizio-wrapper table{
	margin-bottom:1.5rem !important;
}

.user-logged-in.path-node.page-type--page  #edit-field-allegati-servizio-wrapper .tabledrag-handle{
	display:none;
}

.user-logged-in.path-node.page-type--page  #edit-field-allegati-servizio-wrapper .card.card-teaser{
	display:block;
	padding:5px;
}

.user-logged-in.path-node.page-type--page  #edit-field-allegati-servizio-wrapper .card.card-teaser *{
	font-size:0.8rem;
}

.user-logged-in.path-node.page-type--page  #edit-field-allegati-servizio-wrapper .card.card-teaser h5{
	margin:0px;
	padding:0px;
}


.page-node-type--servizi-mappa-digitale.page-type--page #it-block-italiagov-page-title{
	display:none;
}



/* Container principale */
.page-node-type--servizi-mappa-digitale #contacts .news-content-description {
    background: #f1eff6;
    border-radius: 12px;
    padding: 25px;
    max-width: 100%;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    
    border-left: 5px solid #3f2183; /* Un tocco di colore istituzionale */
}

/* Righe (Email e Telefono) */
.page-node-type--servizi-mappa-digitale #contacts .news-content-description .mb-2 {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px !important;
}

/* Label (Email: e Telefono:) */
.page-node-type--servizi-mappa-digitale #contacts .news-content-description strong {
    color: #333;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    display: block;
}

/* Blocco Email */
.page-node-type--servizi-mappa-digitale #contacts .field--name-field-email {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.page-node-type--servizi-mappa-digitale #contacts .field--name-field-email > div {
    color: #0056b3;
    font-weight: 500;
    word-break: break-all;
}

/* Blocco Telefono */
.page-node-type--servizi-mappa-digitale #contacts .news-content-description span a {
    color: #0056b3;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
    display: inline-block;
    padding: 4px 8px;
    background: rgba(0, 86, 179, 0.05);
    border-radius: 4px;
}

.page-node-type--servizi-mappa-digitale #contacts .news-content-description span a:hover {
    color: #003d7a;
    background: rgba(0, 86, 179, 0.1);
    text-decoration: underline;
}

/* Pulizia degli spazi vuoti e virgole nel telefono */
.page-node-type--servizi-mappa-digitale #contacts .news-content-description span {
    font-size: 1rem;
    color: #555;
}

/* Responsive: su desktop le righe possono stare affiancate se preferisci */
@media (min-width: 768px) {
    .page-node-type--servizi-mappa-digitale #contacts .news-content-description {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    
    .page-node-type--servizi-mappa-digitale #contacts .news-content-description .mb-2 {
        margin-bottom: 0 !important;
    }
}


.user-logged-in.path-node.page-type--page .form-actions .btn-primary {
  background: #3f2183;
}


.user-logged-in.path-node.page-type--page .form-actions .btn-primary:hover{
 background: #231249;
}


#popup-buttons .decline-button{
	display:none !Important;
}

.eu-cookie-compliance-message p {
    font-size: 17px;
	padding-top:15px !important;
	    display: inline-block;
}

.it-footer-main #block-italiagov-navigazioneprincipale-2{
	    max-width: 250px;
}

@media (min-width: 768px) {
	
	.it-footer-main #block-italiagov-navigazioneprincipale-2{
	    max-width: 100%;
	}
	
}


article .field time{
	font-weight: 600 !important;
	font-family: "Roboto Mono", monospace !important;
	font-size: 1.125rem;
	color:#000;
}


.lista-eventi-privati .views-row{
	position:relative;
}

.lista-eventi-privati .views-row .views-field.views-field-views-conditional-field{
position: absolute;
    right: 1px;
    background-color: #FFF;
    padding: 6px 10px;
    font-weight: 600;
    background-color: #3f2183;
    color: #FFF;
    font-size: 0.8rem;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topright: 5px;
    border-top-right-radius: 5px;
	z-index:2;
}


.page-node-type--evento .it-breadcrumb__wrapper:not(.breadcrumb-custom) {
  display: none !important;
}


@media (max-width: 768px) {
	
	main .container-xxl.has-one-sidebar .col-lg-8 .it-content__wrapper {
		padding-left: 0rem;
		
	}
	
}

.navigazione-area-tematica-title{
	display: inline-block;
    font-size: 1.5rem;
    font-weight: 800;
    margin: 15px;
    width: 100%;
}



/**
 * Pagine TFA (panoramica, codici di recupero, configurazione app).
 * Si aggancia a body.path-user e agisce solo sul canvas di Drupal.
 * Colori allineati a custom.css: #3f2183, #5a34ad, #17324d.
 */

body.path-user .page-wrapper {
  --tfa-purple: #3f2183;
  --tfa-purple-mid: #5a34ad;
  --tfa-purple-soft: #6440b5;
  --tfa-ink: #17324d;
  --tfa-muted: #5c6f82;
  --tfa-line: #e4dff2;
  --tfa-bg: #f6f4fb;
  --tfa-card: #ffffff;
  background: var(--tfa-bg);
  color: var(--tfa-ink);
  font-family: "Titillium Web", "Segoe UI", system-ui, sans-serif;
  min-height: 100vh;
}

body.path-user .page-wrapper main {
  padding: 1.5rem 1rem 3rem;
}

body.path-user .page-wrapper .layout-container {
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* Intestazione: titolo e schede, senza la barra da amministrazione. */
body.path-user .page-wrapper .content-header {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin-bottom: 1.25rem;
}

body.path-user .page-wrapper .region-breadcrumb {
  margin-bottom: 0.75rem;
}

body.path-user .page-wrapper .breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.path-user .page-wrapper .breadcrumb__item {
  display: inline-flex;
  align-items: center;
  margin: 0;
  color: var(--tfa-muted);
  font-size: 0.85rem;
}

body.path-user .page-wrapper .breadcrumb__item:not(:last-child)::after {
  content: "/";
  margin-left: 0.5rem;
  color: #b7adc9;
}

body.path-user .page-wrapper .breadcrumb__link {
  color: var(--tfa-purple-mid);
  text-decoration: none;
}

body.path-user .page-wrapper .breadcrumb__link:hover {
  text-decoration: underline;
}

body.path-user .page-wrapper .page-title {
  margin: 0 0 1rem;
  color: var(--tfa-ink);
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1.2;
}

body.path-user .page-wrapper .tabs-wrapper,
body.path-user .page-wrapper .tabs--primary {
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.path-user .page-wrapper .tabs--primary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.path-user .page-wrapper .tabs__tab {
  margin: 0;
  float: none;
}

body.path-user .page-wrapper .tabs__link {
  display: inline-block;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--tfa-line);
  border-radius: 999px;
  background: var(--tfa-card);
  color: var(--tfa-ink);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow: none;
}

body.path-user .page-wrapper .tabs__link.is-active,
body.path-user .page-wrapper .tabs__tab.is-active .tabs__link {
  background: var(--tfa-purple);
  border-color: var(--tfa-purple);
  color: #fff;
}

body.path-user .page-wrapper .tabs__trigger {
  display: none;
}

/* Avviso di configurazione obbligatoria. */
body.path-user .page-wrapper .messages-list {
  margin: 0 0 1.25rem;
}

body.path-user .page-wrapper .messages--error {
  border: 1px solid #e7d7a8;
  border-left: 4px solid #8a6a12;
  border-radius: 8px;
  background: #fff8e8;
  color: var(--tfa-ink);
  box-shadow: none;
}

body.path-user .page-wrapper .messages__title {
  margin: 0 0 0.35rem;
  color: #6d5310;
  font-size: 0.95rem;
}

body.path-user .page-wrapper .messages__content {
  font-size: 1rem;
  line-height: 1.5;
}

body.path-user .page-wrapper .messages__content a {
  color: var(--tfa-purple);
  font-weight: 700;
}

/* Contenuto in una scheda unica. */
body.path-user .page-wrapper .region-content > .block {
  padding: 1.5rem 1.35rem 1.25rem;
  border: 1px solid var(--tfa-line);
  border-radius: 12px;
  background: var(--tfa-card);
  box-shadow: 0 8px 24px rgba(63, 33, 131, 0.08);
}

body.path-user .page-wrapper #tfa-base-overview > p,
body.path-user .page-wrapper form.tfa-setup > p,
body.path-user .page-wrapper form.tfa-setup .form-item__description {
  color: var(--tfa-muted);
  font-size: 1rem;
  line-height: 1.55;
}

body.path-user .page-wrapper #tfa-base-overview > p:first-of-type {
  margin-top: 0;
  color: var(--tfa-ink);
}

body.path-user .page-wrapper #tfa-base-overview > p strong {
  display: inline-block;
  margin-left: 0.25rem;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: #f3eefb;
  color: var(--tfa-purple);
  font-size: 0.85rem;
  letter-spacing: 0.02em;
}

/* Plugin di validazione: niente accordion da backoffice. */
body.path-user .page-wrapper .claro-details {
  margin: 1.25rem 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.path-user .page-wrapper .claro-details__summary {
  padding: 0 0 0.6rem;
  border-bottom: 4px solid #d9d2ea;
  color: var(--tfa-ink);
  font-size: 1.15rem;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}

body.path-user .page-wrapper .claro-details__summary::-webkit-details-marker {
  display: none;
}

body.path-user .page-wrapper .claro-details__wrapper {
  padding: 0.25rem 0 0;
}

body.path-user .page-wrapper #tfa-base-overview h2,
body.path-user .page-wrapper #tfa-base-overview h3,
body.path-user .page-wrapper form.tfa-setup .item-list > h3 {
  margin: 1.35rem 0 0.4rem;
  color: var(--tfa-ink);
  font-size: 1.2rem;
  font-weight: 700;
}

body.path-user .page-wrapper #tfa-base-overview ul,
body.path-user .page-wrapper form.tfa-setup .item-list ul {
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

body.path-user .page-wrapper #tfa-base-overview ul[data-drupal-selector="edit-setup"] a,
body.path-user .page-wrapper #tfa-base-overview ul[data-drupal-selector="edit-link"] a {
  display: inline-block;
  margin-top: 0.35rem;
  padding: 0.65rem 1.1rem;
  border-radius: 6px;
  background: var(--tfa-purple);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

body.path-user .page-wrapper #tfa-base-overview ul[data-drupal-selector="edit-setup"] a:hover,
body.path-user .page-wrapper #tfa-base-overview ul[data-drupal-selector="edit-link"] a:hover {
  background: var(--tfa-purple-soft);
}

/* Codici di recupero. */
body.path-user .page-wrapper ul[data-drupal-selector="edit-recovery-codes-output"] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: 0.6rem;
}

body.path-user .page-wrapper ul[data-drupal-selector="edit-recovery-codes-output"] li {
  margin: 0;
  padding: 0.7rem 0.4rem;
  border: 1px solid var(--tfa-line);
  border-radius: 8px;
  background: #f8f6fc;
  color: var(--tfa-ink);
  font-family: "Roboto Mono", ui-monospace, monospace;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
}

/* App di autenticazione. */
body.path-user .page-wrapper ul[data-drupal-selector="edit-apps"] {
  display: grid;
  gap: 0.45rem;
}

body.path-user .page-wrapper ul[data-drupal-selector="edit-apps"] a {
  display: block;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--tfa-line);
  border-radius: 8px;
  background: #f8f6fc;
  color: var(--tfa-purple);
  font-weight: 600;
  text-decoration: none;
}

body.path-user .page-wrapper ul[data-drupal-selector="edit-apps"] a:hover {
  border-color: var(--tfa-purple-mid);
  background: #fff;
}

/* Codice segreto e QR. */
body.path-user .page-wrapper .form-item--seed,
body.path-user .page-wrapper .tfa-qr-code,
body.path-user .page-wrapper .form-item--code {
  margin-top: 1.25rem;
}

body.path-user .page-wrapper .form-item__label {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--tfa-ink);
  font-weight: 700;
}

body.path-user .page-wrapper .form-element {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.75rem 0.85rem;
  border: 1px solid #cfc6e2;
  border-radius: 8px;
  background: #fff;
  color: var(--tfa-ink);
  font-size: 1.05rem;
}

body.path-user .page-wrapper #edit-seed {
  background: #f8f6fc;
  font-family: "Roboto Mono", ui-monospace, monospace;
  font-size: 1.15rem;
  letter-spacing: 0.12em;
  text-align: center;
}

body.path-user .page-wrapper #edit-code {
  font-size: 1.35rem;
  letter-spacing: 0.28em;
  text-align: center;
}

body.path-user .page-wrapper .tfa-qr-code {
  display: flex;
  justify-content: center;
  padding: 1rem;
  border: 1px solid var(--tfa-line);
  border-radius: 12px;
  background: #fff;
}

body.path-user .page-wrapper .tfa-qr-code img {
  width: 220px;
  height: auto;
}

/* Azioni. */
body.path-user .page-wrapper .form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--tfa-line);
}

body.path-user .page-wrapper .button {
  margin: 0;
  padding: 0.7rem 1.15rem;
  border: 1px solid var(--tfa-purple);
  border-radius: 6px;
  background: #fff;
  color: var(--tfa-purple);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: none;
}

body.path-user .page-wrapper .button--primary {
  background: var(--tfa-purple);
  color: #fff;
}

body.path-user .page-wrapper .button--primary:hover,
body.path-user .page-wrapper .button--primary:focus {
  background: var(--tfa-purple-soft);
  border-color: var(--tfa-purple-soft);
  color: #fff;
}

body.path-user .page-wrapper .button:hover,
body.path-user .page-wrapper .button:focus {
  background: #f3eefb;
}

@media (max-width: 640px) {
  body.path-user .page-wrapper main {
    padding: 1rem 0.75rem 2rem;
  }

  body.path-user .page-wrapper .region-content > .block {
    padding: 1.1rem 0.9rem;
  }

  body.path-user .page-wrapper .page-title {
    font-size: 1.5rem;
  }

  body.path-user .page-wrapper .form-actions,
  body.path-user .page-wrapper .button {
    width: 100%;
  }

  body.path-user .page-wrapper ul[data-drupal-selector="edit-recovery-codes-output"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/**
 * Pagina di verifica al login (PaginaTFA-4).
 * È nel tema pubblico: il body ha path-tfa, non path-user,
 * e il modulo non è dentro .page-wrapper.
 * Si interviene solo sul form TFA, non su header, footer o questionario.
 */
body.path-tfa #tfa-entry-form {
  --tfa-purple: #3f2183;
  --tfa-purple-soft: #6440b5;
  --tfa-ink: #17324d;
  --tfa-muted: #5c6f82;
  --tfa-line: #e4dff2;
  max-width: 36rem;
  margin: 0.5rem auto 2.5rem;
  padding: 2.5rem;
  border: 1px solid var(--tfa-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(63, 33, 131, 0.08);
  color: var(--tfa-ink);
  font-family: "Titillium Web", "Segoe UI", system-ui, sans-serif;
}

body.path-tfa .block.block-page-title-block{
	text-align:center;
}

body.path-tfa #tfa-entry-form .form-item-code label {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--tfa-ink);
  font-size: 1rem;
  font-weight: 700;
}

body.path-tfa #tfa-entry-form #edit-code {
  width: 100%;
  padding: 0.8rem 0.85rem;
  border: 1px solid #cfc6e2;
  border-radius: 8px;
  background: #fff;
  color: var(--tfa-ink);
  font-size: 1.35rem;
  letter-spacing: 0.28em;
  text-align: center;
  box-shadow: none;
}

body.path-tfa #tfa-entry-form #edit-code:focus {
  border-color: var(--tfa-purple);
  outline: 2px solid rgba(63, 33, 131, 0.25);
  outline-offset: 1px;
}

body.path-tfa #tfa-entry-form .description {
  display: block;
  margin-top: 0.55rem;
  color: var(--tfa-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}

body.path-tfa #tfa-entry-form #edit-change-validation-plugin {
  margin: 1.35rem 0 0;
  padding: 1rem 1rem 0.85rem;
  border: 1px solid var(--tfa-line);
  border-radius: 10px;
  background: #f8f6fc;
}

body.path-tfa #tfa-entry-form #edit-change-validation-plugin legend {
  float: none;
  width: auto;
  margin: 0 0 0.35rem;
  padding: 0;
  color: var(--tfa-ink);
  font-size: 1.05rem;
  font-weight: 700;
}

body.path-tfa #tfa-entry-form #edit-change-validation-plugin .fieldset-wrapper {
  color: var(--tfa-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}

body.path-tfa #tfa-entry-form .link-list-wrapper::before {
  content: "Il codice di recupero TFA è uno dei codici monouso generati nella configurazione dell'autenticazione a due fattori. Vanno salvati dal pannello TFA e servono per accedere se non hai più l'applicazione sul tuo telefono";
  display: block;
  margin-top: 0.65rem;
  color: var(--tfa-muted);
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

body.path-tfa #tfa-entry-form ul[data-drupal-selector="edit-other-validation-plugins"] {
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

body.path-tfa #tfa-entry-form ul[data-drupal-selector="edit-other-validation-plugins"] a {
  display: inline-block;
  margin-top: 0.15rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--tfa-purple);
  border-radius: 6px;
  background: #fff;
  color: var(--tfa-purple);
  font-weight: 700;
  text-decoration: none;
}

body.path-tfa #tfa-entry-form ul[data-drupal-selector="edit-other-validation-plugins"] a:hover {
  background: #f3eefb;
}

body.path-tfa #tfa-entry-form .form-actions {
  margin-top: 1.35rem;
  padding-top: 1rem;
  border-top: 1px solid var(--tfa-line);
}

body.path-tfa #tfa-entry-form .button--primary {
  padding: 0.7rem 1.25rem;
  border: 1px solid var(--tfa-purple);
  border-radius: 6px;
  background: var(--tfa-purple);
  color: #fff;
  font-weight: 700;
}

body.path-tfa #tfa-entry-form .button--primary:hover,
body.path-tfa #tfa-entry-form .button--primary:focus {
  background: var(--tfa-purple-soft);
  border-color: var(--tfa-purple-soft);
  color: #fff;
}

@media (max-width: 640px) {
  body.path-tfa #tfa-entry-form {
    margin-left: 0;
    margin-right: 0;
    padding: 1.1rem 0.9rem;
  }

  body.path-tfa #tfa-entry-form .button--primary {
    width: 100%;
  }
}

