@charset "utf-8";

:root {
  /* --bs-body-font-size: 1rem; */

  --cDBlu: #212b52;
  --cLMenta: #37b9bb;
  --cMenta: #4e9266;
  --cXLVerde: #ecf4ed;   
  --cLVerde: #0d6936; 
  --cVerde: #0b5e32;
  --cDVerde: #08512a;
  --cRosso: #cd1719;  
  --cLCiano: #2cb0b2;  
  --cCiano: #009ace;
  --cLGrigio: #9fa09d; /*7a8286*/
  --cGrigio: #6b6b69;
  --cDGrigio: #3d4d45;
  --cLBianco: #f4f4f4;
  --cBianco: #FFFFFF;
  --cNero: #000000;
  --cDNero: #2f3b34; 
  
  --cTesto: #2f3b34;
  --cWFTesto: #2f3b34;

  --cShadow: rgba(0, 0, 0, 0.32); 

  --cValid: #3BAA35;
  --cInvalid: #c91617;

  --bradius: 0.5rem;
  --boxRadius: 1rem;
  --bCircle: 2rem;  
  
  /* @link https://utopia.fyi/clamp/calculator?a=300,1400,18—52 */
  --fluid-30-40: clamp(1.5rem, 1.1818rem + 4.3636vw, 2.5em);

}



/* SYSTEM */
/* html { scroll-behavior: none!important; } */
html, body { 

}

body {
  background: transparent none no-repeat scroll top left;
  background-color: var(--cBianco);
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--cTesto);
  /* margin: 0rem 0rem; */

}

h1, h2, h3, h4, h5, h6, p,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  color: var(--cTesto);
  line-height: 1.4;
}

h1.big, .h1.big { font-weight: 400; font-size: 3em; line-height: 1.1; } /*60*/

h1, .h1 { font-weight: 400; font-size: 2.5em; line-height: 1.2; } /*40*/

h2.big, .h2.big { font-weight: 400; font-size: 1.75em; line-height: 1.2; } /*35*/

h2, .h2 { font-weight: 400; font-size: 1.6em; line-height: 1.3; } /*32*/

h3, .h3 { font-weight: 400; font-size: 1.5em; line-height: 1.3; } /*30*/

h4.big, .h4.big { font-weight: 400; font-size: 1.4em; line-height: 1.3; } /*28*/

h4, .h4 { font-weight: 400; font-size: 1.25em; line-height: 1.4; } /*25*/

h5, .h5 { font-weight: 400; font-size: 0.9em; line-height: 1.4; } /*18*/

h6, .h6 { font-weight: 400; font-size: 0.8em; line-height: 1.4; } /*16*/

p.big { font-size: 1.1em; line-height: 1.4; } /*22*/

p, ul, ol {
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  color: var(--cTesto);
  line-height: 1.4;
  font-weight: 400;
  /* margin-top: 0rem; */
}

h1, .h1 { 
  font-size: var(--fluid-30-40);
  /* font-size: clamp(1.5rem, 1.1818rem + 4.3636vw, 2.5em); */
}

ul, ol {}

ul.bullet-image { list-style: outside url("../images/arrow.png") none; padding-left: 3rem; }
ul.list-nostile { list-style: outside none none; padding-left: 2rem; }
ul.list-bullet { padding-left: 1.5rem; list-style: outside none none;  }
ul.list-bullet li { display: block; margin-bottom: 0.5rem; margin-bottom: 0.25rem; }
ul.list-bullet li:before {
  /* content: "—"; */
  /* content: "✅︎"; */
  /* content: "✓"; */
  /* content: "✔"; */
  content: "•";
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  float: left;
  margin-top: 0;
  margin-left: -1.5rem;
  color: var(--cDVerde);
  font-weight: 700;
}

ol.list-increment { counter-reset: item; padding-left: 0rem; }
ol.list-increment li { display: block; }
ol.list-increment li:before { font-weight: 400; content: counters(item, ".") ". "; counter-increment: item;  }

.font-thin { font-weight: 100!important; }
.font-elight { font-weight: 200!important; }
.font-light { font-weight: 300!important; }
.font-regular { font-weight: 400!important; }
.font-medium { font-weight: 500!important; }
.font-sbold { font-weight: 600!important; }
.font-bold { font-weight: 700!important; }
.font-ebold { font-weight: 800!important; }
.font-ubold { font-weight: 900!important; }

a, img, 
.transition { 
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
}

a, img { border: 0 none; }

.cover img,
.img-cover { 
  width: 100%; 
  height: 50vw; 
  height: auto; 
  object-fit: cover; 
  object-position: 50% 50%; 
  object-position: center top; 
}

.img-fluid { 
  /* display: inline-block;  */
}

a:link, a:visited, li a:link, li a:visited { color: var(--cVerde); text-decoration: none; }

a:hover, a:focus, li a:hover { color: var(--cDVerde); outline: none; }

a:active, li a:active, a.active, li a.active { color: var(--cDVerde);  }

.form-required::after { color: var(--cWFTesto); display: none; }

.evidenza { color: var(--cDVerde); }
.evidenza1 { color: var(--cLVerde); }
.evidenza2 { color: var(--cBianco); }

.cDBlu { color: var(--cDBlu); }
.cLMenta { color: var(--cLMenta); }
.cMenta { color: var(--cMenta); }
.cXLVerde { color: var(--cXLVerde); }
.cLVerde { color: var(--cLVerde); }
.cVerde { color: var(--cVerde); }
.cDVerde { color: var(--cDVerde); }
.cXDVerde { color: var(--cXDVerde); }
.cRosso { color: var(--cRosso); }
.cLCiano { color: var(--cLCiano); }
.cCiano { color: var(--cCiano); }
.cLGrigio { color: var(--cLGrigio); }
.cGrigio { color: var(--cGrigio); }
.cDGrigio { color: var(--cDGrigio); }

.cLBianco { color: var(--cLBianco); }
.cBianco { color: var(--cBianco); }
.cNero { color: var(--cNero); }
.cDNero { color: var(--cDNero); }
.cTesto { color: var(--cTesto); }
.cWFTesto { color: var(--cWFTesto); }

.fprimary { font-family: "Montserrat", sans-serif; }
.fsecondary { font-family: Arial, Helvetica, sans-serif; }

.bgDBlu { background-color: var(--cDBlu); }
.bgLMenta { background-color: var(--cLMenta); }
.bgMenta { background-color: var(--cMenta); }
.bgXLVerde { background-color: var(--cXLVerde); }
.bgLVerde { background-color: var(--cLVerde); }
.bgVerde { background-color: var(--cVerde); }
.bgDVerde { background-color: var(--cDVerde); }
.bgXDVerde { background-color: var(--cXDVerde); }
.bgRosso { background-color: var(--cRosso); }
.bgLCiano { background-color: var(--cLCiano); }
.bgCiano { background-color: var(--cCiano); }
.bgLGrigio { background-color: var(--cLGrigio); }
.bgGrigio { background-color: var(--cGrigio); }
.bgDGrigio { background-color: var(--cDGrigio); }
.bgXLBianco { background-color: var(--cDBlu); }
.bgLBianco { background-color: var(--cLBianco); }
.bgBianco { background-color: var(--cBianco); }
.bgNero { background-color: var(--cNero); }
.bgDNero { background-color: var(--cDNero); }

/* STYLE */

strong,b { font-weight: 700; }

span.sup { font-size: 70%; position: relative; top: -0.5em; }

sub { font-size: 70%; position: relative; top: 2px; }

.btn { border: none; padding: 0.8rem 1.5rem; }

.btn,
.btn-primary, .btn-secondary,
.box-gradient {
  border: 1px solid var(--cLVerde) !important;
  background-color: var(--cLVerde)  !important;
  color: var(--cBianco) !important;  
  box-shadow: 0rem 0.3rem 0.6rem var(--cShadow);
  box-shadow: none;  
  outline: none;  
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  font-weight: 700;
  padding: 1rem 1.5rem;
  line-height: 1.2;
  white-space: normal;
  -webkit-border-radius: var(--bCircle);
  -moz-border-radius: var(--bCircle);
  border-radius: var(--bCircle);
  text-decoration: none;
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  /* text-transform: uppercase; */
  min-width: 10rem;
}

.btn:hover {
  background-color: var(--cDVerde) !important;
  border-color: var(--cDVerde) !important;
  color: var(--cBianco) !important;
}

.btn-primary,
.wform .form-actions .form-submit {
  background-color: var(--cDVerde) !important;
  border-color: var(--cDVerde) !important;
  color: var(--cBianco) !important;
}

.btn-primary:hover,
.wform .form-actions .form-submit:hover {
  background-color: var(--cLVerde) !important;
  border-color: var(--cLVerde) !important;
  color: var(--cBianco) !important;
}

.btn-secondary {
  background-color: var(--cBianco)  !important;
  border-color: var(--cVerde)  !important;
  color: var(--cVerde)  !important;
}

.btn-secondary:hover {
  background-color: var(--cVerde) !important;
  border-color: var(--cVerde) !important;
  color: var(--cBianco) !important;
}

.btn .icon-custom:before {
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  font-size: 1em;
  font-weight: 400;
  position: relative;
  /* color: var(--cBianco); */
  /* top: 0rem; */
}

.btn:hover .icon-custom:before { color: var(--cBianco) !important; }

a.link-text { color: var(--cVerde); }
a.link-text:hover { color: var(--cDVerde); }

/* a.link-text { border-bottom: 1px solid transparent; } */
/* a.link-text:hover { border-color: var(--cCiano); } */

.box-gradient {
  background: var(--cMenta);
  background-image: -moz-linear-gradient( 90deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: linear-gradient( 90deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  border: 1px solid transparent !important;
}

.js-backtop {
  cursor: pointer;
  background: var(--cNero);
  background-color: transparent;
  color: var(--cBianco);
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  /* bottom: 1rem;
  right: 1rem;
  bottom: 0rem;
  right: 0rem;
  padding: 0.5rem 0.7rem;
  -webkit-border-radius: 0.4rem;
  -moz-border-radius: 0.4rem;
  border-radius: 0.4rem;
  max-width: 4rem; */

  top: auto;
  left: auto;
  bottom:auto;
  right: auto;
  opacity: 1;
  visibility: visible;
  z-index: auto;
  position: relative;
  border-radius: 0rem;
  padding: 0rem 0rem;
}

.js-backtop.fixed {
  opacity: 0;
  visibility: hidden;
  z-index: 99;
  position: fixed;
  /* background: var(--cNero); */
  /* background-color: transparent; */
  /* color: var(--cBianco); */
  
  bottom: 1rem;
  right: 1rem;
  bottom: 0rem;
  right: 0rem;
  
  padding: 0.5rem 0.7rem;
  
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  -ms-transition: none;
  transition: none;
  -webkit-transition: opacity 0.5s ease-in-out, visibility 0.5s;
  -moz-transition: opacity 0.5s ease-in-out, visibility 0.5s;
  -o-transition: opacity 0.5s ease-in-out, visibility 0.5s;
  -ms-transition: opacity 0.5s ease-in-out, visibility 0.5s; 
  transition: opacity 0.5s ease-in-out, visibility 0.5s;
  
  max-width: 4rem;

}

.js-backtop.rounded {
  -webkit-border-radius: var(--bCircle);
  -moz-border-radius: var(--bCircle);
  border-radius: var(--bCircle);
}


.js-backtop.show {
  opacity: 1;
  visibility: visible;
}

.text-fluid {
  word-break: break-word; /* Spezza le parole lunghe */
  overflow-wrap: break-word; /* Alternativa per la compatibilità */
  white-space: normal; /* Rende il testo fluido */
}

.text-responsive {
  /* Imposta la dimensione del font in modo dinamico */
  
  /* Versione alternativa 1: 
    - Minimo: 1.5em (adatta la dimensione minima del font in base al contenitore)
    - Fluido: 8vw (scala il font in base alla larghezza dello schermo)
    - Massimo: 5em (non supera mai questa dimensione massima)
  */
  font-size: clamp(1.5em, 8vw, 5em);
  
  /* Versione alternativa 2: 
    - Minimo: 2em (dimensione minima più grande rispetto alla versione sopra)
    - Fluido: 10vw (scala il font in base alla larghezza dello schermo)
    - Massimo: 5em (stessa dimensione massima della versione precedente)
    Nota: Se presenti due dichiarazioni con `clamp()`, solo l'ultima verrà applicata.
  */
  font-size: clamp(2em, 10vw, 5em);
  
  /* Evita che il testo vada a capo, mantenendolo su una sola riga */
  /* white-space: nowrap; */
  
  /* Se il testo supera lo spazio disponibile, nasconde la parte in eccesso */
  /* overflow: hidden; */
  
  /* Se il testo è troppo lungo, mostra "..." alla fine invece di tagliarlo bruscamente */
  /* text-overflow: ellipsis; */
  
  /* Il testo occupa l'intera larghezza del contenitore */
  width: 100%;
  
  /* Assicura che il testo non superi mai la larghezza del contenitore */
  max-width: 100%;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: -1;
}

.popup-disclaimer { display: none; }

.popup-informativa-open .modal-backdrop.show {
  background-color: rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(4px);
  opacity: 0.85;
  
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
}

section {
  position: relative;
}

/* https://cssgradient.io/ */
/* https://www.colorzilla.com/gradient-editor/ */
.gradient-hor {
  background: var(--cMenta);
  background-image: -moz-linear-gradient( 90deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: linear-gradient( 90deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
}

.gradient-ver {
  background: var(--cMenta);
  background-image: -moz-linear-gradient( 180deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: -webkit-linear-gradient( 180deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: -ms-linear-gradient( 180deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
  background-image: linear-gradient( 180deg, rgb(77,145,102) 0%, rgb(116,175,136) 100%);
}

.gradient-circle {
  background: #4d9166;
  background: var(--cMenta);
  background-image: -moz-radial-gradient(circle closest-side at 50% 50%, rgb(105,178,134) 0%, rgb(77,145,102) 100%);
  background-image: -webkit-radial-gradient(circle closest-side at 50% 50%, rgb(105,178,134) 0%, rgb(77,145,102) 100%);
  background-image: -ms-radial-gradient(circle closest-side at 50% 50%, rgb(105,178,134) 0%, rgb(77,145,102) 100%);
  background-image: radial-gradient(circle closest-side at 50% 50%, rgb(105,178,134) 0%, rgb(77,145,102) 100%);
}

@media (max-width: 575.98px) {  
  .layout-mobile {
    padding-left: 0;
    padding-right: 0;
    /* padding-right: calc(var(--bs-gutter-x)* 0.2); */
    /* padding-left: calc(var(--bs-gutter-x)* 0.2);   */
  }
}

/* IUBENDA */
.iubenda-tp-btn {
  display: none!important;
} 

.iubenda-cs-preferences-link {
  display: none!important;
}

button.iubenda-tp-btn.iubenda-cs-preferences-link {
  display: none!important;
}

/* SWIPER JS */
.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  /*object-fit: cover;*/
}


.wrapper-swiper .swiper-slide img {
  border-radius: var(--brCorner);
  overflow: hidden;
}

.swiper-gallery .wrapper-action {
  position: relative;
}

.swiper-gallery .wrapper-action .box-action {
  display: flex;
  /* justify-content: flex-end; */
  /* justify-content: space-evenly; */
  /* justify-content: start; */
  justify-content: center;
}

.swiper-gallery .wrapper-action .swiper-button-negative,
.swiper-gallery .wrapper-action .swiper-button {
  position: relative;
  display: flex; 
  align-items: center; 
  justify-content: center; 
  width: 3rem; 
  height: 3rem; 
  background-color: transparent;
  border-radius: 0;
  /* margin: auto;  */
  /* margin-left: 3rem; */
  /* margin-right: 3rem; */
  margin: auto 0;
  color: var(--cBianco);
}

.swiper-gallery .wrapper-action .swiper-button:hover {
  /* background-color: var(--cLBianco); */
  color: var(--cBianco)
}

/* Per ingrandire l'icona e mantenerla centrata */
.swiper-gallery .wrapper-action .swiper-button:after {
  font-size: 1.75em;
  font-size: 2.5em;
  color: var(--cMenta);
  font-weight: 400;
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-style: normal;
  /* font-weight: 700 !important; */
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
    
.swiper-gallery .wrapper-action .swiper-button-prev:after {
  /* content: "\f12f"; */
  content: "\F12C"; 
}    
.swiper-gallery .wrapper-action .swiper-button-next:after {
  /* content: "\f138"; */
  content: "\F135";
}

.swiper-gallery .wrapper-action .swiper-button:hover:after {
  color: var(--cDVerde)
}


/*EFFECT*/
.wow {
  visibility: hidden;
}

.animated {
  visibility: visible;
}

.rotate-icon:before {
  -webkit-transform:rotate(0deg); /* Chrome, iOS, Safari e Android */
  -moz-transform:rotate(0deg); /* Firefox */
  -o-transform:rotate(0deg); /* Opera */
  -ms-transform:rotate(0deg); /* IE 9 */
  transform:rotate(0deg); /* tutti i nuovi browser */
  -webkit-transition: all 0.25s 0s ease-in-out;
  -moz-transition: all 0.25s 0s ease-in-out;
  -o-transition: all 0.25s 0s ease-in-out;
  -ms-transition: all 0.25s 0s ease-in-out;
  transition: all 0.25s 0s ease-in-out;
}
  
.active .rotate-icon:before {
  -webkit-transform:rotate(180deg); /* Chrome, iOS, Safari e Android */
  -moz-transform:rotate(180deg); /* Firefox */
  -o-transform:rotate(180deg); /* Opera */
  -ms-transform:rotate(180deg); /* IE 9 */
  transform:rotate(180deg); /* tutti i nuovi browser */
}

.custom-boxes-rouded {
  position: relative;
  overflow: hidden;
  -webkit-border-radius: var(--boxRadius);
  -moz-border-radius: var(--boxRadius);
  border-radius: var(--boxRadius);  
  /* background-color: #eaeff4; */
}


.boxex-iround-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

.boxex-iround-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: var(--cDVerde);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--cBianco);
  text-decoration: none;
  transition: all 0.25s ease-in-out;
}

/*INVIATO*/
.custom-min-vh-75 {
  min-height: 75vh;
}

/* HEADER */
.SezHeader {
  background: transparent url('../images/header_bg.jpg') scroll no-repeat center top / cover;
  background-color: var(--cMenta);
  /* background-size: auto; */
  /* background-size: contain; */
  /* background-position: 50vw 5rem; */

  position: relative;
  overflow: hidden;

}

.SezHeader .HeaderBG {
  /* background: transparent url('../images/forma_mray.png') scroll no-repeat right top / auto; */
  /* background-color: var(--cDBlu); */
  /* background-size: cover; */
  /* background-size: contain; */
  /* background-position: 50vw 5rem; */
}

.SezHeader .wrapper-SezHeader {
  position: relative;
  z-index: 1;
}


.SezHeader .wrapper-bagliore { 
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  /* z-index: 0; */
}

.SezHeader .wrapper-bagliore.bagliore2 { 
  top: auto;
  left: auto;
  bottom: -8em;
  right: 0;
}

.SezHeader .wrapper-SX .wrapper-omaggio {
  margin-top: 5rem;
}

.SezHeader .wrapper-omaggio .boxes-rouded-bg {
  background-color: rgba(8, 81, 42, 0.4);
  /* background-color: #3f845b; */
  backdrop-filter: blur(5px);
  overflow: visible;
  position: relative;
  z-index: 1;
}

.SezHeader .wrapper-omaggio .box-ebook {
  margin-top: -5em;
}

.SezHeader .wrapper-DX .visual img {
  position: relative;
  z-index: 0;
  right: 2rem;
}

.SezHeader .wrapper-DX .box-nota {
  /* position: absolute;
  bottom: 1rem;
  right: 0; */
}


/* FGRAFICA */
.SezFGrafica .FGraficarBG {
  background: transparent url('../images/fgrafica_bg.jpg') scroll no-repeat right bottom / auto;
  background-color: var(--cBianco);
  background-size: contain;
  /* background-size: auto; */
  background-size: cover;
  /* background-position: 90% bottom; */
  /* background-position: 50vw 5rem; */
}


/* GTEST */
.SezGTest {
  position: relative;
  overflow: hidden;
}

.SezGTest .wrapper-swiper {
  padding-left: 0;
  overflow: visible;
  clip-path: inset(-100vw -100vw -100vw 0);
}


/* AGEL */
.SezAGel .box-gradient-small {
  position: relative;
}

.SezAGel .box-gradient-small .box-gradient {
  position: relative;
}

@media (min-width:576px){  }
  
  .SezAGel .box-gradient-small {
    position: relative;
    z-index: 0;
  }  
  
  /* tick verticale per OGNI box */
  .SezAGel .box-gradient-small .box-gradient {
    position: relative; /* necessario per il ::after */
    /* z-index: 0; */
  }
  .SezAGel .box-gradient-small .box-gradient::after {
    content: "";
    position: absolute;
    top: calc(50% - 5px);       /* centrato sulla riga orizzontale */
    left: 50%;                   /* al centro del box */
    width: 2px;
    height: 3.5rem;
    background: var(--cMenta);
    transform: translateX(-1px); /* centra la linea da 2px su 50% */
    z-index: -1;                 /* dietro al contenuto del box */
  }


@media (min-width:768px){

  /* riga orizzontale */
  .SezAGel .box-gradient-small::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 2px;
    background: var(--cMenta);
    transform: translateY(-1px);
    z-index: -1;
  }
}  


/* ALINEA */

.SezALinea .boxLinea .wrap-poso .poso-toggle {
  background: none;
  border: 0;
  padding: .5rem 0;
  font: inherit;
  cursor: pointer;
}

/* icona con transizione */
.SezALinea .boxLinea .wrap-poso .poso-icon {
  transition: transform .2s ease, opacity .2s ease;
}

.SezALinea .boxLinea .wrap-poso .poso-toggle .poso-icon {
  color: var(--cVerde);
  transform: rotate(45deg);
  /* opacity: .85; */
}

.SezALinea .boxLinea .wrap-poso .poso-toggle[aria-expanded="true"] .poso-icon{
  transform: rotate(0deg);
  /* opacity: .85; */
}

/* puoi anche evidenziare l’header aperto */
.SezALinea .boxLinea .wrap-poso .poso-toggle[aria-expanded="true"] .poso-label {
  color: var(--cVerde);
}

/* =======================
  Cover con ratio fisso
  Scope: .SezALinea .boxLinea
======================= */

/* Wrapper immagine con rapporto predefinito (4:3) */
.SezALinea .boxLinea .cover{
  --ar-w: 4;              /* width  part */
  --ar-h: 3;              /* height part */
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: var(--ar-w) / var(--ar-h);   /* modern browsers */
}

/* L’immagine riempie SEMPRE il contenitore */
.SezALinea .boxLinea .cover > img{
  display: block;
  width: 100%;
  height: 100% !important;    /* sovrascrive .img-fluid { height:auto } */
  object-fit: cover;          /* taglia l’eccesso, niente buchi */
  object-position: center;    /* puoi variare con le utility sotto */
}

/* ------ Fallback per browser senza aspect-ratio ------ */
@supports not (aspect-ratio: 1 / 1){
  .SezALinea .boxLinea .cover{
    /* mantiene il ratio con il padding trick */
    padding-top: calc(100% * var(--ar-h) / var(--ar-w));
  }
  .SezALinea .boxLinea .cover > img{
    position: absolute;
    inset: 0;
  }
}

/* base (xs) */
.SezALinea .boxLinea .cover.ratio-1x1 { --ar-w: 1;  --ar-h: 1; }
.SezALinea .boxLinea .cover.ratio-2x3 { --ar-w: 2;  --ar-h: 3; } /* consigliata x immagini verticali */
.SezALinea .boxLinea .cover.ratio-4x5 { --ar-w: 4;  --ar-h: 5; }  
.SezALinea .boxLinea .cover.ratio-3x4 { --ar-w: 3;  --ar-h: 4; }
.SezALinea .boxLinea .cover.ratio-16x9{ --ar-w: 16; --ar-h: 9; }
.SezALinea .boxLinea .cover.ratio-21x9{ --ar-w: 21; --ar-h: 9; }

/* ≥576px */
@media (min-width:576px){
  .SezALinea .boxLinea .ratio-sm-2x3 { --ar-w:2; --ar-h:3; }
  .SezALinea .boxLinea .ratio-sm-3x4 { --ar-w:3; --ar-h:4; }
  .SezALinea .boxLinea .ratio-sm-4x3 { --ar-w:4; --ar-h:3; }
  .SezALinea .boxLinea .ratio-sm-16x9{ --ar-w:16;--ar-h:9; }
}
/* ≥768px */
@media (min-width:768px){
  .SezALinea .boxLinea .ratio-md-2x3 { --ar-w:2; --ar-h:3; }
  .SezALinea .boxLinea .ratio-md-4x3 { --ar-w:4; --ar-h:3; }
  .SezALinea .boxLinea .ratio-md-16x9{ --ar-w:16;--ar-h:9; }
}
/* ≥992px */
@media (min-width:992px){
  .SezALinea .boxLinea .ratio-lg-2x3 { --ar-w:2; --ar-h:3; }
  .SezALinea .boxLinea .ratio-lg-4x3 { --ar-w:4; --ar-h:3; }
  .SezALinea .boxLinea .ratio-lg-16x9{ --ar-w:16;--ar-h:9; }
}
/* ≥1200px */
@media (min-width:1200px){
  .SezALinea .boxLinea .ratio-xl-2x3 { --ar-w:2; --ar-h:3; }
  .SezALinea .boxLinea .ratio-xl-4x3 { --ar-w:4; --ar-h:3; }
  .SezALinea .boxLinea .ratio-xl-16x9{ --ar-w:16;--ar-h:9; }
}

/* ------ Utility: ancoraggi alternativi ------ */
.SezALinea .boxLinea .cover.pos-top       > img{ object-position: center top; }
.SezALinea .boxLinea .cover.pos-bottom    > img{ object-position: center bottom; }
.SezALinea .boxLinea .cover.pos-left      > img{ object-position: left   center; }
.SezALinea .boxLinea .cover.pos-right     > img{ object-position: right  center; }
.SezALinea .boxLinea .cover.pos-top-left  > img{ object-position: left   top; }
.SezALinea .boxLinea .cover.pos-top-right > img{ object-position: right  top; }
.SezALinea .boxLinea .cover.pos-center    > img{ object-position: center center; } /* default */

/* (opzionale) rimuovi il gap sotto le immagini inline */
.SezALinea .boxLinea .cover img{ vertical-align: middle; }

.SezALinea .boxLinea .card-card3 {
  background: transparent url('../images/alinea_card3.jpg') scroll no-repeat left top / cover;
}

@media (min-width:768px) and (max-width: 991.98px) {
  .SezALinea .boxLinea .wrapper-head .h3 {
    font-size: 1.25em;
  }
}

/*FOOTER*/
/* footer { display: none; } */

.SezFooterFirst { 
  position: relative;
  /* z-index: 0; */
  
}

.SezFooterFirst a,
.SezFooterFirst .h5,
.SezFooterFirst .h6 {
  color: var(--cBianco);
}

.SezFooterFirst .wrapper-iubenda {  }

.SezFooterFirst .iubenda .spacer { 
  margin: auto 0.25rem;
}


/*  WEBFORM  */
.wform {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  align-items: end;
  width: 100%;
}

.wform p,
.wform label {}

.wform .form-item,
.wform .form-item input,
.wform .form-item select,
.wform .form-item textarea,
.wform fieldset,
.wform .form-item label,
.wform .form-item .description,
.wform .form-actions {
  position: relative;
  /* display: inline; */
  /* float: left; */
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 1em;
}

.wform .js-form-item {
  display: inline;
  float: left;
}

/* .wform .form-composite, */
/* .form-item, */
/* .form-actions, */
.wform .js-form-item.wform-component {
  margin: 0.2rem 0 0;
  padding: 0 0.5rem;
  /* padding: 0; */
}

.wform .fieldset.js-form-item.wform-component {
  padding: 0;
}

.wform .js-form-item.form-check .js-form-item {
  margin: 0rem;
  padding: 0.5rem 0.5rem;
}

.wform .js-form-item.wform-item-boolean {
  margin: 0rem;
  margin-left: 0.5rem;
  width: 98% !important;
}

.wform .form-item label,
.wform .form-item .description,
.wform .form-composite .fieldset-legend {
  position: relative;
  display: block;
  /* float: left; */
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.2;
  color: var(--cWFTesto);
  width: 100%;
  /* margin: 0.5rem 0 0; */
  /* margin: 0.5rem 0 0rem; */
  margin: 0.5rem 0 0.25rem;
  text-transform: none;
}

.wform .form-item label,
.wform .form-composite .fieldset-legend {}

.wform .form-composite .fieldset-legend {}

.wform .form-item .description {
  font-size: 1em;
  font-weight: 400;
  /* font-style: italic; */
  margin: 0.5rem 0 0.5rem;
}

.wform .form-item .description p {
  margin-bottom: 0;
}

.wform .form-item .text-char-counter {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-top: 1rem;
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Montserrat", sans-serif;
  display: inline;
  float: left;
  margin: 0.5rem 0 0.5rem;
  font-size: 1em;
  font-size: 0.8em;
  text-transform: none;
  position: relative;
  color: var(--cWFTesto);
  font-weight: 700;
  width: 100%;
  line-height: 1.5;
  text-align: right;
}

.wform .form-item input,
.wform .form-item select,
.wform .form-item textarea,
.wform fieldset {
  position: relative;
  /* display: inline; */
  /* float: left; */
  /* margin: 0; */
  /* padding: 0; */
  /* height: 100%; */
}

.wform fieldset {
  margin: 0;  
  /* margin-top: 0; */
}

.wform .form-item input,
.wform .form-item select,
.wform .form-item textarea {
  font-size: 1em;
  font-weight: 400;
  color: var(--cWFTesto);
}

.wform .form-item input:not(.form-check-input),
.wform .form-item select,
.wform .form-item textarea {
  background-color: var(--cLBianco);
  /* border: 1px solid var(--cLVerde);  */
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 1em;
  font-weight: 400;
  height: 100%;
  height: 3rem;

  -webkit-border-radius: var(--bradius);
  -moz-border-radius: var(--bradius);
  border-radius: var(--bradius);

}

.wform .form-item input,
.wform .form-item select,
.wform .form-item textarea {
  border: 1px solid var(--cLVerde);
}



.wform .form-item textarea {
  resize: none;
  height: auto;
  /* padding-left: 1.5rem;  */
  /* padding-right: 1.5rem;  */
}

.wform .form-item select {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.wform .form-item input:focus,
.wform .form-item input:active,
.wform .form-item select:focus,
.wform .form-item select:active,
.wform .form-item textarea:focus,
.wform .form-item textarea:active {
  border-color: var(--cWFTesto);
  background-color: var(--cLBianco);
  /* background-color: var(--cDNero);  */
  /* box-shadow: inset 0 1rem 1rem var(--cRosso); */
  box-shadow: 0px 0px 9px 0px var(--cShadow);
  box-shadow: none;


  /* color: var(--cBianco) !important;
  background-color: rgba(95, 116, 141, 0.4);
  background-color: rgba(255, 255, 255, 0.2);
  background-color: rgba(55, 72, 86, 0.8);
  border: 1px solid var(--cGrigio);
  border: 1px solid var(--cLBianco); 
  backdrop-filter: blur(10px);  */

}


.wform .form-item select:focus,
.wform .form-item select:active {
  /* background-color: var(--cDBlu);
  background-color: rgba(55, 72, 86, 0.8); */
}

/* .wform .form-item input:invalid,
.wform .form-item textarea:invalid,
.wform .form-item select:invalid, */
.wform .form-item input.error,
.wform .form-item textarea.error,
.wform .form-item select.error {
  border: 1px solid var(--cInvalid);
}

.wform .form-item .form-control {
  color: var(--cWFTesto);
  /* padding: 1rem 1.2rem;  */
  padding: 0.5rem 0.8rem;
}

.wform .form-item .form-control::-webkit-input-placeholder {
  color: var(--cGrigio);
}

/* Chrome/Opera/Safari */
.wform .form-item .form-control::-moz-placeholder {
  color: var(--cGrigio);
}

/* Firefox 19+ */
.wform .form-item .form-control:-ms-input-placeholder {
  color: var(--cGrigio);
}

/* IE 10+ */
.wform .form-item .form-control:-moz-placeholder {
  color: var(--cGrigio);
}

/* Firefox 18- */
.wform .form-item input[type="date"].form-control:invalid,
.wform .form-item select.form-control:invalid,
.wform .form-item select.form-select:invalid {
  color: var(--cGrigio);
}

.wform .form-item .form-check-input[type=checkbox] {
  /* border-radius: 0.25em; */
}

.wform .form-item input.form-check-input:checked {
  background-color: var(--cDVerde);
  border-color: var(--cDVerde);
  /* background-image: none; */
}

.wform .form-item input.form-check-input:checked[type=checkbox] {
  /* --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); */
  /* background-image: var(--bs-form-check-bg-image); */
  /* background-image: none; */
}

/* Importa la gestione Flex */
.webform-has-field-suffix {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

/* Fa in modo che il label occupi il 100% di larghezza */
.webform-has-field-suffix label {
  display: block;
  width: 100%;
  /* margin-bottom: 0.5rem; */
}

/* Fa in modo che la descrizione occupi il 100% di larghezza */
.webform-has-field-suffix .description {
  display: block;
  width: 100%;
  /* margin-bottom: 0.5rem; */
}

/* Imposta l'input e il suffisso sulla stessa riga, con l'input al 100% meno lo spazio per il suffisso */
.webform-has-field-suffix .form-number {
  display: inline-block;
  /* Rende l'input il 100% meno lo spazio per il suffisso */
  width: calc(100% - 2rem);
  /* vertical-align: middle;  */
}

/* Fa in modo che il suffisso sia visualizzato di fianco all'input e abbia una larghezza automatica */
.webform-has-field-suffix .field-suffix {
  display: inline-block;
  width: auto;
  vertical-align: middle;
  margin-left: 0.5rem;
}

.wform .form-item.wform-item-phone .iti {
  width: 100%;
  margin: 0.5rem 0rem;
}

.wform .form-item.wform-item-phone input.webform-webform-telephone-international {
  padding-left: 3rem;
}

.wform .wform-item-boolean,
.wform .form-switch {
  display: flex;
  flex-wrap: nowrap;
  margin: auto;
  justify-content: start;
}

.wform .wform-item-boolean {}

.wform .wform-item-boolean input {
  margin-left: 0rem;
}

.wform .wform-item-boolean .description {
  margin: auto;
  padding-left: 1rem;
}

.wform .form-check {
  /* display: flex; */
  /* flex-wrap: nowrap; */
  /* margin: auto; */
  /* justify-content: start; */
}

.wform .form-check .fieldset-wrapper .form-item {
  /* padding-left: 1.5em; */
}

.wform .form-check input {
  /* margin-left: -1.5em; */
}

.wform .form-check .description {
  /* margin: auto; */
  /* padding-left: 0.5rem; */
}

.wform .form-switch {}

.wform .form-switch input {
  margin-left: -2.5rem;
}

.wform .form-switch .description {
  margin: auto;
  padding-left: 0.5rem;
}

.wform .webform-type-radios .form-radios {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
}

/* .wform .webform-type-radios .form-radio, */
.wform .webform-type-checkboxes .form-checkboxes {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  justify-content: start;
}

.wform .webform-type-radios input,
.wform .webform-type-checkboxes input {}

.wform .webform-type-radios label,
.wform .webform-type-checkboxes label {
  margin-left: auto;
  text-transform: none;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cWFTesto);
  width: 100%;
}

.wform .form-item .form-type-checkbox:not(.campoBoolean),
.wform .form-item .form-type-radio:not(.campoBoolean) {
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Montserrat", sans-serif;
}

.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;
  width: 100%;
  /* width: 33%; */
  padding: 0 0.5rem;
}

.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item label,
.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item .description,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item label,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item .description {
  font-weight: 700;
  margin: 0.5rem 0;
  line-height: 1.2;
}

.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item input {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0.5rem 0;
  margin-right: 0.5rem;
  margin-left: -0.5rem;
  /* background-color: var(--cLBianco); */
}

.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item input:checked,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item input:checked {
  /* background-image: none; */
  /* background-color: var(--cCiano); */
}

.wform .form-item.wform-component.campoList .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campoList .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;
  width: 100%;
}

.wform .form-item.wform-component.campoList .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component.campoList .form-type-radio:not(.campoBoolean).js-form-item input {
  /* width: 1.5rem; */
  /* height: 1.5rem; */
  /* margin: 0.5em 0; */
  /* margin-right: 0.5rem; */
}

.wform .form-item.wform-component.campoInline .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campoInline .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;
  width: 20%;
  padding: 0 0.1rem;
  margin-top: 1rem;
  flex-direction: column;
  
  /* width: auto; */
  /* min-width: 8rem; */
  width: 100%;
  max-width: 10rem;

  max-width: 8rem;
  font-size: 80%;
}

@media (max-width: 991.98px) {
  .wform .form-item.wform-component.campoInline .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campoInline .form-type-radio:not(.campoBoolean).js-form-item { 
    max-width: 9rem;
    font-size: 100%;  
  }
}

@media (max-width: 767.98px) {
  .wform .form-item.wform-component.campoInline .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campoInline .form-type-radio:not(.campoBoolean).js-form-item { 
    max-width: 32%;
    font-size: 90%;
  }
}

@media (max-width: 575.98px) {

  .wform .form-item.wform-component.campoInline .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campoInline .form-type-radio:not(.campoBoolean).js-form-item { 
    /* max-width: 100%; */
    font-size: 100%;
  }

  .wform .form-item.campoBottone .form-radios, 
  .wform .form-item.campoBottone .form-checkboxes {
    /* gap: 0rem!important; */
    /* align-items: start!important; */
  }

  .wform .form-item.wform-component.campoInline .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campoInline .form-type-radio:not(.campoBoolean).js-form-item { 
    max-width: 100%;
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 1rem;
  }

  .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+.description, 
  .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+.description, 
  .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item .description, 
  .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item .description { 
    text-align: left;
    width: 100%;
    max-width: 5rem;
  }

}

.wform .form-item.wform-component.campoInline .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component.campoInline .form-type-radio:not(.campoBoolean).js-form-item input {
  /* width: 1.5rem; */
  /* height: 1.5rem; */
  /* margin: 0.5em 0; */
  /* margin-right: 0.5rem; */
}


.wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;
  width: 100%;
  /* width: 48%; */
}

.wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item input {
  /* width: 1.5rem; */
  /* height: 1.5rem; */
  /* margin: 0.5em 0; */
  /* margin-right: 0.5rem; */
}

.wform .form-item.wform-component.campo3Col .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campo3Col .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;
  width: 100%;
  /* width: 50%; */
}

.wform .form-item.wform-component.campo3Col .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component.campo3Col .form-type-radio:not(.campoBoolean).js-form-item input {
  /* width: 1.5rem; */
  /* height: 1.5rem; */
  /* margin: 0.5em 0; */
  /* margin-right: 0.5rem; */
}

/* campoUpload */

.wform .form-item.wform-component.campoUpload .form-managed-file {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.wform .form-item.wform-component.campoUpload .messages--error {
  clear: both;
  display: block;
  width: 100%;
  font-size: 1rem;
  order: 1;
  margin: 1rem auto;
}

.wform .form-item.wform-component.campoUpload .form-managed-file .btn-primary {
  display: block !important;
}

.wform .form-item.wform-component.campoUpload .form-managed-file input[type=file] {
  /* width: 100%; */
  flex: 1 0 0;
  /* Occupa spazio disponibile senza ridimensionarsi */
  min-width: 0;
  /* Evita problemi di overflow */
  margin-top: 8px;
  /* Distanza dal messaggio di errore */
}

.wform .form-item.wform-component.campoUpload .form-managed-file .file {
  margin-right: 1rem;
}

.wform .form-item.wform-component.campoUpload .description {
  margin-top: 0.5rem !important;
}

/* .wform .form-item.wform-component.campoUpload a[data-target="#upload-instructions"] {
  margin: 0.5em 0 1.5em;
  display: block;
} */
/* campoSelect */
.wform .form-item.campoSelect .form-type-select {
  width: 100%;
}


/* campoRange */

/* Wrapper: variabili responsive */
.wform .campoRange{
  /* ── Step & geometria tacche ───────────────────────────── */
  --steps:        var(--range-steps, 11);   /* es. 11 per 0..10 */
  --segments:     calc(var(--steps) - 1);   /* numero tacche/etichette (1..max) */
  --segments-h:   0.5rem;                   /* altezza tacche */

  /* ── Dimensioni responsive ─────────────────────────────── */
  --pad-x:        clamp(.4rem, 2.5vw, .75rem); /* padding orizzontale slider/scala */
  --track-h:      0.5rem;                       /* altezza barra grigia */
  --thumb-size:   1rem;                         /* diametro pallino */
  --thumb-radius: 50%;

  /* ── Colori base ───────────────────────────────────────── */
  --track:        var(--cLBianco);   /* track grigio */
  --tick:         var(--cDVerde);   /* colore tacche */
  --tick-w:       4px;       /* larghezza tacche */

  /* ── Etichette (scala numerica) ────────────────────────── */
  --scale-color:  var(--cWFTesto); 
  --scale-font:   1rem;

  /* ── Thumb (cursore) ───────────────────────────────────── */
  --thumb-color:  var(--cDVerde); 
  --thumb-shadow: none;
  --thumb-offset-x: -0.5px;  /* fine-tuning allineamento orizzontale */

  /* ── Contenitore slider ────────────────────────────────── */
  --rangeBg:      transparent;
  --rangeBRadium: 0px;
  --rangeBWidth:  0px;
  --rangeBColor:  none;
}


/* Scala numerica (1..max) */
.wform .campoRange .range-scale{
  display: grid;
  grid-template-columns: repeat(var(--segments), minmax(0,1fr));
  gap: 0;
  margin-top: .25rem;
  padding: 0 var(--pad-x);         /* identico allo slider → allineamento perfetto */
  font-size: var(--scale-font);
  color: var(--scale-color);
  white-space: nowrap;
}
.wform .campoRange .range-scale > span{
  justify-self: end;               /* numero posizionato sulla tacca di destra */
  position: relative;
  left: 0.25rem;                         /* niente offset → centratura esatta */
}

/* Hover: leggero feedback */
.wform .campoRange .range-scale span:hover { 
  color: var(--cMenta);
}

/* Focus tastiera: chiaro e non invadente */
.wform .campoRange .range-scale span:focus-visible {
  outline: 0px solid currentColor;
  outline-offset: 0px;
  border-radius: 0px;
}

/* Stato attivo: già ok, aggiungo transizione morbida */
.wform .campoRange .range-scale span {
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent; /* mobile */
   -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
}
.wform .campoRange .range-scale span.is-active {
  color: var(--thumb-color);
  font-weight: 700;
}

/* Slider con tacche 0..max — track SOTTO, tacche SOPRA */
.wform .campoRange input.form-range{
  width: 100%;
  padding: 0 var(--pad-x);
  height: clamp(1rem, 4vw, 1.25rem);
  border: var(--rangeBWidth) solid var(--rangeBColor);
  border-radius: var(--rangeBRadium);
  background-origin: content-box;
  background-color: var(--rangeBg);

  /* Layer (dall'alto al basso):
     1) tacche ripetute
     2) tacca finale destra (cap)
     3) track grigio
  */
  background-image:
    linear-gradient(to right, var(--tick) 0 var(--tick-w), transparent 0),
    linear-gradient(to right, var(--tick) 0 var(--tick-w), transparent 0),
    linear-gradient(var(--track), var(--track));

  background-size:
    calc(99% / var(--segments)) var(--segments-h),  /* ripetute equidistanti */
    100% var(--segments-h), /* cap finale */
    100% var(--track-h); /* track */

  background-repeat:
    repeat-x,
    no-repeat,
    no-repeat;

  background-position:
    left center,    /* ripetute da sinistra */
    right center,   /* cap allineato a destra (tacca max) */
    center;         /* track centrato verticalmente */
}

/* WebKit/Chromium */
.wform .campoRange input.form-range::-webkit-slider-thumb{
  transform: translateX(var(--thumb-offset-x));
}

/* Firefox */
.wform .campoRange input.form-range::-moz-range-thumb{
  transform: translateX(var(--thumb-offset-x));
}

/* WebKit */
.wform .campoRange input.form-range::-webkit-slider-runnable-track{
  height: var(--track-h);
  background: transparent; /* il track è disegnato nei layer di background */
}
.wform .campoRange input.form-range::-webkit-slider-thumb{
  -webkit-appearance: none; appearance: none;
  width: var(--thumb-size); 
  height: var(--thumb-size);
  border-radius: var(--thumb-radius);
  background: var(--thumb-color);
  border: 0;
  margin-top: calc((var(--track-h) - var(--thumb-size)) / 2); /* centrato sul track */
  box-shadow: var(--thumb-shadow);
}

/* Firefox */
.wform .campoRange input.form-range::-moz-range-track{
  height: var(--track-h);
  background: transparent;
  border: 0;
}
.wform .campoRange input.form-range::-moz-range-thumb{
  width: var(--thumb-size); 
  height: var(--thumb-size);
  border-radius: var(--thumb-radius);
  background: var(--thumb-color);
  border: 0;
  box-shadow: var(--thumb-shadow);
}

/* Hover/Focus */
.wform .campoRange input.form-range:focus-visible::-web

/* --- Modalità compatte per schermi piccoli (opzionali) --- */

/* XS: mostra solo 1,5,10 (riduce affollamento etichette) */
@media (max-width: 420px){
  .wform .campoRange .range-scale > span{
    visibility: hidden;
  }
  /* Indici: 1 (col 1), 5 (col 5), 10 (col 10) */
  .wform .campoRange .range-scale > span:nth-child(1),
  .wform .campoRange .range-scale > span:nth-child(5),
  .wform .campoRange .range-scale > span:last-child{
    visibility: visible;
  }
}

/* SM: mostra 1 su 2 (1,3,5,7,9,10) */
@media (min-width: 421px) and (max-width: 575.98px){
  .wform .campoRange .range-scale > span:nth-child(2n){
    visibility: hidden;
  }
  .wform .campoRange .range-scale > span:last-child{
    visibility: visible;
  }
}


/* campoAltro */
.wform .form-item.campoAltro {
  margin-top: 1rem;
}

/* campoData */
.wform .form-item.campoData {}

.wform .form-item.campoData legend,
.wform .form-item.campoData label,
.wform .form-item.campoData .description {}

.wform .form-item.campoData .form-type-checkbox:not(.campoBoolean) label,
.wform .form-item.campoData .form-type-checkbox:not(.campoBoolean) .description,
.wform .form-item.campoData .form-type-radio:not(.campoBoolean) label,
.wform .form-item.campoData .form-type-radio:not(.campoBoolean) .description {}

.wform .form-item.campoData input,
.wform .form-item.campoData select,
.wform .form-item.campoData textarea {}

/* campoDataInline */
.wform .form-item.campoDataInline .form-inline {
  display: flex;
  gap: 5px;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
}

.wform .form-item.campoDataInline .form-inline>div {
  flex: 1 1 0;
}

.wform .form-item.campoDataInline .form-inline legend,
.wform .form-item.campoDataInline .form-inline label,
.wform .form-item.campoDataInline .form-inline .description {
  display: none;
}

/*SONDAGGIO*/
.wform-multistep .alert {
  width: 100% !important;
  font-size: 1em;
}

.wform-multistep .webform-progress {
  color: var(--cWFTesto);
  font-size: 1em;
  font-size: 0.8em;  
  font-weight: 500;
  padding: 0 0.5rem;
}

.wform-multistep .webform-progress .separator {
  font-size: 0;
  position: relative;
}

.wform-multistep .webform-progress .separator::before {
  content: "/";
  font-size: 1rem;
  position: relative;
  color: var(--cVerde);
  z-index: 1;
}

.wform-multistep .wform-component-step {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  width: 100%;
}

.wform-multistep .wform-component-step legend {
  margin-bottom: 0;
}

.wform-multistep .ajax-progress-throbber {
  display: none;
}

.wform-multistep .wform-component.box-action .webform-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.wform-multistep .wform-component.box-action .webform-actions input {
  -webkit-border-radius: var(--bCircle);
  -moz-border-radius: var(--bCircle);
  border-radius: var(--bCircle);
  width: auto;
}

.wform-multistep .wform-component.box-action .webform-actions input:not(.webform-button--next):not(.webform-button--previous) {
  margin: auto;
}

.wform-multistep .wform-component.box-action .webform-actions input.webform-button--previous {
  display: none !important;
}

.wform-multistep .wform-component.box-action .webform-actions input.webform-button--next {

}


/* NEXT */
.wform-multistep .webform-actions input.webform-button--next {
  padding-right: 3rem !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center right 0rem;
  background-size: 3rem;
  color: var(--cBianco);
}



/* PREV */
.wform-multistep .webform-actions input.webform-button--previous {
  padding-left: 2rem !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center left 0rem;
  background-size: 3rem;
  color: var(--cBianco);
}

/*END SONDAGGIO*/
.wform .form-item.fieldset-scheda {
  counter-reset: item;
  padding-left: 0rem;
}

/* ol.list-increment li { display: block; } */
.wform .fieldset-scheda .wrapper-number {
  position: relative;
  padding-left: 2rem;
  /* spazio per il numero */
}

.wform .fieldset-scheda .wrapper-number label:not(.option)::before,
.wform .fieldset-scheda .wrapper-number .fieldset-legend:not(.option)::before {
  position: absolute;
  left: -1.5rem;
  top: 0;
  content: counters(item, ".") ". ";
  counter-increment: item;
  font-weight: 700;
  width: 1.5rem;
  /* larghezza riservata al numero */
  display: inline-block;
}

.wform .form-item .campoEtichetta {
  position: relative;
  display: block;
  /* float: left; */
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1em;
  font-weight: 500;
  line-height: 1.3;
  color: var(--cWFTesto);
  width: 100%;
  /* margin: 0.5rem 0 0; */
  margin: 0rem 0 0rem;
  /* margin: 0.5rem 0 0.5rem; */
  text-transform: none;
}

/* campoBottone */
.wform .form-item.campoBottone {
  background-color: transparent;
}

/* .wform .form-item.campoBottone.campoForm { 
  padding: 0rem 1rem;
} */
.wform .form-item.campoBottone label {
  /* position: relative; */
  font-size: 1em;
  color: var(--cWFTesto);
  /* font-weight: 400; */
}

.wform .form-item.campoBottone .control-label label strong {}

.wform .form-item.campoBottone .control-label label em {
  /* display: block;
  clear: both;
  color: var(--cWFTesto);
  font-size: 1em; 
  font-weight: 400;
  font-style: italic;
  font-style: normal;  
  margin-top: 0.5em;
  margin-bottom: 0em; */
}

.wform .form-item.campoBottone input {
  /* position: relative; */
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 400;
  width: 100%;
  left: 2em;
  padding: 0;
}

/* .wform .form-item.campoBottone .control-label, */
.wform .form-item.campoBottone .form-radios,
.wform .form-item.campoBottone .form-checkboxes {
  position: relative;
  width: 100%;
  /* display: block; */
  float: left;
  /* padding: 0 15px; */
  padding: 0;
  line-height: 1.3;
}

/* .wform .form-item.campoBottone .control-label { 
  padding: 0;
} */
.wform .form-item.campoBottone .form-radios,
.wform .form-item.campoBottone .form-checkboxes {
  display: flex;
  justify-content: space-between;
  /* justify-content: center; */
  justify-content: space-around;
  justify-content: space-evenly;
  align-items: center;
  gap: 1rem;
}

.wform .form-item.campoBottone.campoList .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.campoBottone.campoList .form-type-radio:not(.campoBoolean).js-form-item {
  margin-top: 1em;
  margin-bottom: 0;
}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item {
  text-align: center;
}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+label,
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item label {
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  background-color: var(--cBianco);
  border: 1px solid var(--cLVerde);
  color: var(--cWFTesto);
  font-size: 1em;
  font-weight: 700;
  padding: 1rem 1rem;
  padding: 0.8rem 1rem;
  -webkit-border-radius: var(--bCircle);
  -moz-border-radius: var(--bCircle);
  border-radius: var(--bCircle);
  margin: 0;
}

            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+.description,
            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item .description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item .description {
              -webkit-transition: all 0.25s ease-in-out 0s;
              -moz-transition: all 0.25s ease-in-out 0s;
              -o-transition: all 0.25s ease-in-out 0s;
              -ms-transition: all 0.25s ease-in-out 0s;
              transition: all 0.25s ease-in-out 0s;              
              color: var(--cWFTesto)!important;
            }


.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked):hover+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked):hover+label,
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:focus+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:focus+label,
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item:hover label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item:hover label,
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item.attivato label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item.attivato label {
  background-color: var(--cDVerde);
  border-color: var(--cDVerde);
  color: var(--cBianco) !important;
}

            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked):hover+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked):hover+.description,
            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:focus+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:focus.description,
            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item:hover .description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item:hover .description,
            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item.attivato .description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item.attivato .description {
              color: var(--cWFTesto) !important;
            }

/* NUOVE CLASSI - Gestione stati checked/unchecked */
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:checked+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:checked+label {}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+label {
  /* outline: 1px solid var(--cLDVerde); */
  background-color: var(--cBianco) !important;
  border: 1px solid var(--cLVerde) !important;
  color: var(--cWFTesto) !important;
}

            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+.description {
              color: var(--cWFTesto)!important;
            }


/* Hover solo su elementi non checked */
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked):hover+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked):hover+label {
  background-color: var(--cMenta) !important;
  border-color: var(--cDVerde) !important;
  color: var(--cBianco) !important;
}

            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked):hover+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked):hover+.description {
              color: var(--cWFTesto) !important;
            }

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:focus+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:focus+label {
  /* outline: 0px solid var(--cWFTesto); */
}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item:hover label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item:hover label {
  /* border-color: var(--cWFTesto); */
}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input {
  z-index: -1;
  /* position: relative; */
  position: absolute;
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 400;
  left: 2em;
  padding: 0;
  /* margin: 0; */
}


/* campoEnfasi */
.wform .form-item.campoEnfasi {
  background-color: transparent;
  margin: 1em auto;
}

/* .wform .form-item.campoBottone.campoForm {
  padding: 0rem 1rem;
} */
.wform .form-item.campoEnfasi .fieldset-legend,
.wform .form-item.campoEnfasi label {
  /* position: relative; */
  font-size: 1em;
  color: var(--cWFTesto);
  /* font-weight: 700; */
}

.wform .form-item.campoEnfasi .fieldset-legend strong,
.wform .form-item.campoEnfasi .control-label label strong {}

.wform .form-item.campoEnfasi .fieldset-legend em,
.wform .form-item.campoEnfasi .control-label label em {
  /* display: block;
  clear: both;
  color: var(--cWFTesto);
  font-size: 1em;
  font-weight: 400;
  font-style: italic;
  font-style: normal;
  margin-top: 0.5em;
  margin-bottom: 0em; */
}

.wform .form-item.campoEnfasi input {
  /* position: relative; */
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 400;
  width: 100%;
  left: 2em;
  padding: 0;
}

/* .wform .form-item.campoEnfasi .control-label, */
.wform .form-item.campoEnfasi .form-radios,
.wform .form-item.campoEnfasi .form-checkboxes {
  position: relative;
  width: 100%;
  /* display: block; */
  float: left;
  /* padding: 0 15px; */
  padding: 0;
  line-height: 1.3;
}

/* .wform .form-item.campoEnfasi .control-label {
  padding: 0;
} */
.wform .form-item.campoEnfasi .form-radios,
.wform .form-item.campoEnfasi .form-checkboxes {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wform .form-item.wform-component.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item {
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  background-color: var(--cDVerde);
  border: 1px solid var(--cDVerde);
  color: var(--cWFTesto);
  font-size: 1em;
  font-weight: 700;
  padding: 1rem 1rem;
  padding: 0rem 1rem;
  -webkit-border-radius: var(--bCircle);
  -moz-border-radius: var(--bCircle);
  border-radius: var(--bCircle);
  margin: 0.5rem auto;
  text-align: center;
  /* width: 50%; */
  /* width: 49%; */
  width: 100%;
}

.wform .form-item.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item label,
.wform .form-item.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item label {
  text-align: left;
  margin: auto;
  margin-left: 1rem;
  padding: 1rem 0rem;
}

.wform .form-item.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item.attivato,
.wform .form-item.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item.attivato {
  background-color: var(--cBianco);
  border-color: var(--cDVerde);
  color: var(--cBianco) !important;
}

.wform .form-item.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item.attivato label,
.wform .form-item.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item.attivato label {}

.wform .form-item.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item input {
  /* z-index: 1; */
  position: relative;
  /* position: absolute; */
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 400;
  left: 0em;
  padding: 0;
  margin: 0;
}

.wform .form-item.wform-component.campoEnfasi.campoList .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campoEnfasi.campoList .form-type-radio:not(.campoBoolean).js-form-item {
  margin-top: 1em;
  margin-bottom: 0;
  width: 100%;
}

/* campoDomanda */
.wform .form-item.campoDomanda {}

.wform .form-item.campoDomanda.campoDomandaLabel,
.wform .form-item.campoDomanda .fieldset-legend,
.wform .form-item.campoDomanda label,
.wform .form-item.campoDomanda .description {
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 700;
  margin-top: 0.1rem;
}

.wform .form-item.campoDomanda.campoDomandaLabel {
  font-size: 1.1em;
  color: var(--cWFTesto);
  font-weight: 700;
  padding: 1rem 0.5rem;
  padding-top: 0;
}

.wform .form-item.campoDomanda.campoDomandaLabel em {
  display: block;
  clear: both;
  color: var(--cWFTesto);
  font-size: 1em;
  font-size: 0.8em;
  font-weight: 400;
  font-style: italic;
  /* font-style: normal; */
  margin-top: 0.5em;
  /* margin-bottom: 0em;*/
}

.wform .form-item.campoDomandaLabel .form-radios,
.wform .form-item.campoDomandaLabel .form-checkboxes {
  /* border-top: 1px solid var(--cGrigio); */
  /* margin-top: 3rem; */
  /* padding-top: 3rem; */
  margin: 2rem 0 1rem;
}

.wform .form-item.campoDomanda.campoDomandaForm {
  margin-top: 1rem;
  padding: 0 0rem;
}

.wform .form-item.campoDomanda.campoDomandaForm label {
  /* border-bottom: 1px solid var(--cGrigio); */
  /* margin-bottom: 3rem; */
  /* padding-bottom: 3rem; */
}

.wform .form-item.campoDomanda.campoDomandaForm input {
  padding: 1.2rem 1rem;
  font-size: 1rem;
  height: auto;
}

.wform .form-item.campoDomanda .description {
  margin-bottom: 0.5rem;
  font-size: 0.8em;
  font-style: italic;
  color: var(--cWFTesto);
  font-weight: 400;
}

.wform .form-item.campoDomanda .fieldset-legend strong,
.wform .form-item.campoDomanda label strong,
.wform .form-item.campoDomanda .description strong {}

.wform .form-item.campoDomanda .form-type-checkbox:not(.campoBoolean) label,
.wform .form-item.campoDomanda .form-type-checkbox:not(.campoBoolean) .description,
.wform .form-item.campoDomanda .form-type-radio:not(.campoBoolean) label,
.wform .form-item.campoDomanda .form-type-radio:not(.campoBoolean) .description {}

.wform .form-item.campoDomanda input,
.wform .form-item.campoDomanda select,
.wform .form-item.campoDomanda textarea {
  margin: 1rem 0 0;
}

/* campoDomandaProgressivo */
.wform .form-item.fieldset-sondaggio {
  counter-reset: item;
  /* padding-left: 0rem;  */
}

.wform .fieldset-sondaggio .form-item.campoDomandaProgressivo label:not(.option):before,
.wform .fieldset-sondaggio .form-item.campoDomandaProgressivo .fieldset-legend:not(.option):before {
  font-weight: 700;
  content: counters(item, ".") ". ";
  counter-increment: item;
}

/* campoForm */
.wform .form-item.campoForm {
  margin: 0.5rem 0 0.2rem;
  margin-top: 0;
}

.wform .form-item.campoForm legend,
.wform .form-item.campoForm label,
.wform .form-item.campoForm .description {
  /* margin: 0.5rem 0 0.2rem; */
  font-weight: 400;
  font-size: 0.8em;
}

.wform .form-item.campoForm .form-type-checkbox:not(.campoBoolean) label,
.wform .form-item.campoForm .form-type-checkbox:not(.campoBoolean) .description,
.wform .form-item.campoForm .form-type-radio:not(.campoBoolean) label,
.wform .form-item.campoForm .form-type-radio:not(.campoBoolean) .description {}

.wform .form-item.campoForm input,
.wform .form-item.campoForm select,
.wform .form-item.campoForm textarea {}

.wform .form-item.campoForm.campoAltro {
  /* padding-bottom: 1rem;  */
  /* margin-top: 1rem; */
  /* margin-top: 1.5rem; */
  /* padding: 0 1rem; */
}
.wform .form-item.campoForm.campoAltro label { 
  font-weight: 400;
}

.wform .form-item.campoForm.campoAltro input {
  /* padding: 1.2rem 1rem; */
  /* height: auto; */
}

.wform .form-item.highlight>label,
.wform .form-item.highlight .fieldset-legend {
  color: var(--cInvalid);
}

.wform .form-item.highlight input,
.wform .form-item.highlight .form-control {
  border: 1px solid var(--cInvalid);
  border-color: var(--cInvalid);
}

.wform .form-item--error-message,
.wform .form-item--error-message strong,
.wform .form-item--error-message.error {
  display: block;
  font-size: 1rem;
  font-weight: 400 !important;
  font-style: italic;
  margin-bottom: 0.5rem;
  margin-top: 0.5rem;
  color: var(--cInvalid);
}

.wform .form-item--error-message::before {
  display: none;
}

.wform .js-form-item.wform-item-campi {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 0rem;
  text-align: right;
}

.wform .wform-item-campi .description {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cWFTesto);
  width: 100%;
  text-transform: none;
  margin-bottom: 0;
}

.wform .wform-item-campi .description .js-form-required {
  position: relative;
  top: 0.5rem;
}

.wform .campoBoolean {
  padding-top: 1rem;
  width: 100% !important;
}

.wform .campoBoolean:not(.form-switch) {
  padding-left: 0.5rem;
}

.wform .campoBoolean a {
  color: var(--cDVerde);
  font-weight: 500;
  text-decoration: underline;
}

.wform .campoBoolean .description {
  font-size: 1em;
  font-size: 0.8em;
  font-weight: 400;
  line-height: 1.4;
  color: var(--cWFTesto);
  width: 100%;
  text-transform: none;
}

.wform-multistep .form-actions,
.wform .form-actions {
  position: relative;
  /* float: left;  */
  width: 100%;
  max-width: 100%;
  /* margin: 3rem 0 1rem; */
  margin: 0rem 0 0rem;
  text-align: center;
}

.wform-multistep .form-actions input.form-submit,
.wform .form-actions .form-submit {
  position: relative;
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  font-weight: 700;
  padding: 1rem 1.5rem;
  padding: 1rem 2rem;
  line-height: 1.1;
  text-shadow: none;
  /* z-index: 1; */
  /* text-transform: none; */
  /* text-transform: uppercase; */
  outline: none;
  width: 100%;
  max-width: 100%;
  margin: 1rem 0;
  /* width: auto; */
  height: auto;
  /* -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px; */
}

/* .wform .form-actions .ajax-progress { display: none; } */
.wform .form-actions .form-submit:hover {}

/* MODAL BOOTSTRAP */
/* Stile predefinito per la modale di errore */
#Xform-error-modal .modal-content {
  background-color: #f8d7da;
  /* Sfondo rosso chiaro per indicare un errore */
  color: #721c24;
  /* Colore del testo rosso scuro per un buon contrasto */
  border-color: #f5c6cb;
  /* Bordo della modale in tono con lo sfondo */
}

/* Stile per il titolo della modale */
#Xform-error-modal .modal-title {
  font-weight: bold;
  color: #721c24;
  /* Colore del testo del titolo */
}

/* Bottone per chiudere la modale */
#Xform-error-modal .close {
  color: #721c24;
  /* Colore del bottone di chiusura */
}

/* Bottone "OK" nella modale */
#Xform-error-modal .btn-primary {
  /* background-color: #c82333;
  border-color: #bd2130;  */
}

/************************************************/
/*            Bootstrap 5 Media Queries         */
/************************************************/
/*MOBILE FIRST METHOD*/
/* `custom-xs` >=  375px */
@media (min-width: 375px) {
  body {
    font-size: 16px;
  }

}

/* `sm` >=  576px */
@media (min-width: 576px) {
  body {
    font-size: 16px;
  }

  /* HEADER */
  .SezHeader .wrapper-DX .box-nota {
    position: absolute;
    bottom: 1rem;
    right: 0;
  }

  .SezHeader .wrapper-SX .wrapper-omaggio {
    margin-top: 5rem;
  }


  /*  WEBFORM  */
  .wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item {
    width: 50%;
  }

  .wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item {
    /* width: 100%; */
    width: 48%;
  }

  .wform .form-item.wform-component.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item {
    width: 50%;
    width: 48%;
  }

}

/* `md` >=  768px */
@media (min-width: 768px) {
  body {
    font-size: 16px;
  }

  /* HEADER */
  .SezHeader .wrapper-SX .wrapper-omaggio {
    margin-top: 7rem;
  }  
  
  .SezHeader .wrapper-DX .visual img {
    max-width: 150%;
    top: -2rem;
    left: -8rem;
  }

  .SezHeader .wrapper-DX .box-nota {
    position: absolute;
    bottom: 3rem;
    right: 0;
  }




  /*  WEBFORM  */
  .wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item {
    width: 33%;
  }

  .wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item {
    width: 48%;
  }

  .wform .form-actions .form-submit {
    width: 100%;
    /* max-width: calc(50% - 1rem); */
    /* max-width: calc(20rem - 1rem); */
  }

  /*SONDAGGIO*/
  .wform-multistep .wform-component.box-action .webform-actions {
    /* justify-content: space-between; */
    /* justify-content: start; */
    justify-content: center;
  }

  /*END SONDAGGIO*/
}

/* `lg` >=  992px */
@media (min-width: 992px) {
  body {
    font-size: 16px;
  }

  /* HEADER */
  .SezHeader .wrapper-DX .visual img {
    max-width: 135%;
    top: 1rem;
    left: -9rem;
  }

  .SezHeader .wrapper-DX .box-nota {
    position: absolute;
    bottom: 1rem;
    right: 0;
  }

  /* FGRAFICA */
  .SezFGrafica .FGraficarBG {
    background-size: auto; 
  }

  /*WFORM*/
  .wform .fieldset.js-form-item.wform-component {
    padding: 0 0.5rem;
  }

  .wform .form-item.wform-component.campo3Col .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campo3Col .form-type-radio:not(.campoBoolean).js-form-item {
    width: 33%;
  }

  .wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item {
    width: 47%;
  }

  .wform .form-item.campoDomanda.campoDomandaLabel .fieldset-legend {
    /* max-width: 80%; */
  }


}

/* `xl` >=  1200px */
@media (min-width: 1200px) {
  body {
    font-size: 17px;
  }

  /* FGRAFICA */
  .SezFGrafica .FGraficarBG {
    background-size: auto; 
  }

  .wform .form-item.campoDomanda.campoDomandaLabel .fieldset-legend {
    /* max-width: 65%; */
  }

  /*WFORM*/
  .wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item,
  .wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item {
    width: 48%;
  }

}

/* `xxl` >=  1400px */
@media (min-width: 1400px) {
  body {
    font-size: 20px;
  }

}

@media (min-width: 1800px) {

  /* HEADER */
  .SezHeader {
    background: transparent url('../images/header_bg.jpg') scroll no-repeat center top / cover;
    background-color: var(--cMenta);
    /* background-size: auto; */
    /* background-size: contain; */
    /* background-position: 50vw 5rem; */
  }
  
  .SezHeader .wrapper-bagliore { 
    z-index: -1;
  }
  
  /* FGRAFICA */
  .SezFGrafica .FGraficarBG {
      background-size: contain;
  }

}

/*NO-MOBILE FIRST METHOD*/
/* `custom-xs` applies to x-small devices (portrait phones, less than 375px) */
/* `custom-xs` <  576px */
@media (max-width: 374.98px) {}

/* `sm` applies to x-small devices (portrait phones, less than 576px) */
/* `sm` <  576px */
@media (max-width: 575.98px) {



}

/* `md` applies to small devices (landscape phones, less than 768px) */
/* `md` <  768px */
@media (max-width: 767.98px) {

  .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked) + label,
  .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked) + label,
  .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item label,
  .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item label {
    /* font-size: 1rem; */
  }

}

/* `lg` applies to medium devices (tablets, less than 992px) */
/* `lg` <  992px */
@media (max-width: 991.98px) {}

/* `xl` applies to large devices (desktops, less than 1200px) */
/* `xl` <  1200px */
@media (max-width: 1199.98px) {}

/* `xxl` applies to x-large devices (large desktops, less than 1400px) */
/* `xxl` <  1400px */
@media (max-width: 1399.98px) {}