/* ############################# colori ############################ */

#main-content a{
	color:#2D6B0E ;
}

#main-content a:hover{
	color:#000 ;
}

#box-contacts .card-body-contacts a{
	color:#2D6B0E ;
}

#box-contacts .card-body-contacts a:hover{
	color:#163906 ;
}
	

.it-header-slim-wrapper{
	background: #23570C;
}

.btn-primary{
	background: #23570C ;
}

.btn-primary:hover{
	background: #163906 ;
}

.icon-primary {
    fill: #23570C !important;
}


.it-header-center-wrapper {
    background:#368311;
}

.it-header-navbar-wrapper {
        background: #368311;
    }
	
header .navbar .navbar-collapsable .menu-wrapper{
	 background: #368311;
    }

.it-footer-main {
    background: #20292E;
}

.back-to-top{
	background: #666;
}

.back-to-top:hover {
   background: #414040;
}

.it-nav-wrapper{
	    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.link-list-wrapper ul li a span {
    color: #000;
}

.link-list-wrapper ul li a:hover:not(.disabled) span {
    color: #000;
    text-decoration: underline;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgb(204 204 204) !important;
}

/* ############################# contenuto ############################ */

#box-contacts{
    background-color:#ebeef0;
}

#box-contacts .p-contacts {
    padding: 2.66rem 0 0
}

#box-contacts .card-body-contacts {
    padding: 24px !important
}

#box-contacts .title-medium-2-semi-bold {
    font-size: 1.3333333333rem;
    font-weight: 600;
    line-height: 1.2
}

#box-contacts .contact-list {
    list-style: none
}

#box-contacts .cmp-contacts{
	max-width:600px;
	text-align:left;
	margin:0px auto;
	    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
}



#box-contacts .cmp-contacts .contact-list li {
    font-size: 1rem;
    margin: 1rem 0;
    color: #007a52;
    font-weight: 400
}

#box-contacts .cmp-contacts .contact-list li span {
    margin-left: 10px
}

#box-contacts .cmp-contacts .contact-list li a {
    text-decoration: none
}

#box-contacts .cmp-contacts .contact-list li a:hover {
    text-decoration: underline
}

#box-contacts .card:after {
    display: none
}

#box-contacts .title-medium-2-semi-bold {
    font-size: 1.3333333333rem;
    font-weight: 600;
    line-height: 1.2;
}


@media (max-width:768px) {
	
	#box-contacts .cmp-contacts{
	max-width:100%;
	width:100%;
}
	
    #box-contacts .cmp-contacts .contact-list li {
        line-height: 1.5;
        margin: .889rem 0
    }
}

@media (max-width:576px) {
    #box-contacts .cmp-contacts .contact-list li {
        font-size: 1rem
    }
}

.home-last-row-full-width__wrapper{
	background-color:#EBEEF0;
}

.blocco-link-utili{
	max-width:600px;
	text-align:left;
	margin:0px auto;
	padding:30px 0px;
}

.blocco-link-utili h2{
	font-size:1.6em;
	text-transform:uppercase;
	
}

.blocco-link-utili ul{
	
}	

.blocco-link-utili ul li{
	
} 

.blocco-link-utili a{
	color:#2D6B0E ;
	text-decoration:none;
}

.blocco-link-utili a:hover{
	color:#000 ;
	text-decoration:underline;
}

/* ############################# Contatta homepage ############################ */

.form-valutazione-home {
        background-color: #368311;
    padding-bottom:30px;
    padding-top:30px;
    text-align: center;
    
}

.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 0px auto;
    padding: 20px;
   box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    background-color: #FFF;
}



/* 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  .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;
}


/* .form-valutazione-home div.svg div.rateit-range {
  background: url(/themes/custom/italiagov/src/images/star-deselected.svg);
}

.form-valutazione-home div.svg div.rateit-hover {
  background: url(/themes/custom/italiagov/src/images/star-selected.svg);
}

.form-valutazione-home div.svg div.rateit-selected {
  background: url(/themes/custom/italiagov/src/images/star-selected.svg);
}

.form-valutazione-home div.svg div.rateit-preset {
  background: url(/themes/custom/italiagov/src/images/star-deselected.svg);
}

.form-valutazione-home div.svg button.rateit-reset {
  background: url(/themes/custom/italiagov/src/images/star-deselected.svg);
}

.form-valutazione-home div.svg button.rateit-reset:hover {
  background: url(/themes/custom/italiagov/src/images/star-selected.svg);
} */


/* ################ MENU AMM TRASPARENTE ##################### */

.menu-amministrazione-trasparente{
	margin:80px 0px;
}

/* Wrapper principale */
.menu-amministrazione-trasparente .link-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding: 0;
  margin: 24px 0;
  list-style: none;
}

/* Card / blocchi */
.menu-amministrazione-trasparente .link-list li {
  display: flex;
  height: 120px; /* Altezza uniforme */
}

.menu-amministrazione-trasparente .link-list a.list-item {
  display: flex;
  flex-direction: column;
  justify-content: center; /* verticale */
  align-items: center;    /* orizzontale */
  text-align: center;     /* testo centrato */
  padding: 18px;
  width: 100%;
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  font-size: 15px;
  color: #333;
  text-decoration: none;
  transition: all 0.20s ease;

}

/* Hover */
.menu-amministrazione-trasparente .link-list a.list-item:hover {
  border-color: #999999;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  transform: translateY(-2px);
  text-decoration:none !important;
}

/* Numero automatico davanti al titolo */
.menu-amministrazione-trasparente .link-list li {
  counter-increment: voceMenu;
}

.menu-amministrazione-trasparente .link-list a .list-item-title::before {
  content: counter(voceMenu) ". ";
  font-weight: 600;
  color: #368311;
}

/* Titolo */
.menu-amministrazione-trasparente .list-item-title {
  display: block;
  line-height: 1.3;
    font-weight:600;
	  text-decoration: none;
}

.menu-amministrazione-trasparente a.list-item:hover .list-item-title{
	text-decoration: none;
	}

/* Responsiveness */
@media (max-width: 1024px) {
  .menu-amministrazione-trasparente .link-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .menu-amministrazione-trasparente .link-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px) {
  .menu-amministrazione-trasparente .link-list {
    grid-template-columns: 1fr;
  }
}



/* ################ SOTTOMENU AMM TRASPARENTE ##################### */


.custom-submenu-navigation {
  list-style: none;
  padding: 0;
  margin: 30px 0px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fff;

}

.custom-submenu-navigation h2{
	font-size: 1.2rem;
    margin-left: 20px;
}

.custom-submenu-navigation ul, .custom-submenu-navigation li{
  list-style:none;
  
}
.custom-submenu-navigation ul{
    padding-left: 0rem;
	margin:0px;
}

.custom-submenu-navigation li {
  border-bottom: 1px solid #e0e0e0;
  padding: 0;
  margin: 0;
}

.custom-submenu-navigation li:last-child {
  border-bottom: none;
}

/* Parent item - per risalire di livello */
.custom-submenu-navigation .parent-item {
  background: #f5f5f5;
}

.custom-submenu-navigation .parent-item .submenu-parent {
  display: block;
  padding: 12px 16px;
  color: #666;
  font-size: 0.9em;
  position: relative;
  padding-left: 36px;
}

.custom-submenu-navigation .parent-item .submenu-parent:before {
  content: "← ";
  position: absolute;
  left: 16px;
  font-weight: bold;
}

.custom-submenu-navigation .parent-item .submenu-parent:hover {
  background: #ebebeb;
  cursor: pointer;
}

/* Active item - pagina corrente */
.custom-submenu-navigation .active-item {
  background: #36831114;
}

.custom-submenu-navigation .active-item .current-item {
  display: block;
  padding: 14px 16px;
  color: #23570c;
  font-weight: bold;
  font-size: 1.05em;
}

/* Child items - sottovoci */
.custom-submenu-navigation .child-item a {
  display: block;
  padding: 12px 16px 12px 32px;
  color: #333;
  text-decoration: none;
  transition: all 0.2s ease;
}

.custom-submenu-navigation .child-item a:hover {
  background: #f9f9f9;
  color: #23570c;
  padding-left: 36px;
}

.custom-submenu-navigation .child-item a:before {
  content: "→ ";
  opacity: 0;
  transition: opacity 0.2s ease;
  margin-right: 4px;
}

.custom-submenu-navigation .child-item a:hover:before {
  opacity: 1;
}



/* Responsive */
@media (max-width: 768px) {
  .custom-submenu-navigation {
    font-size: 0.95em;
  }
}


/* #################################### CSS SERVIZIO  #################################### */

/* Stili per il template Servizio */

/* Offset per l'anchor scroll */
.anchor-offset {
  scroll-margin-top: 100px;
}

#navbarNavProgress{
	width:100%;
}

.sidebar-wrapper .navbar {
	width:100%;
}

/* Stile per i link dell'indice */
.link-list .nav-link {
  padding: 0.5rem 1rem;
  transition: all 0.3s ease;
  border-left: 3px solid transparent;
}

.link-list .nav-link:hover {
  background-color: #f5f5f5;
  border-left-color: #0066CC;
}

.link-list .nav-link.active {
  background-color: #e6f2ff;
  border-left-color: #0066CC;
  font-weight: 600;
}

/* Sidebar sticky */
.it-sidebar-first__wrapper {
  position: sticky;
  top: 120px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

/* Smooth scroll per tutta la pagina */
html {
  scroll-behavior: smooth;
}

/* Progress bar per lo scroll */
.it-navscroll-progressbar {
  transition: width 0.3s ease;
}

/* Responsive */
@media (max-width: 991px) {
  .it-sidebar-first__wrapper {
    position: relative;
    top: 0;
    max-height: none;
    margin-bottom: 2rem;
  }
}