@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
body, p {
    font-family: "Inter", sans-serif;

    font-weight:400;

}

strong {
    font-family: "Inter", sans-serif;

    font-weight:600;

}

h1, h2, h3, h4, h5, h6, .sppb-sp-slider-title {
    font-family: "Inter", sans-serif;

    font-weight:700 !important;

}

.hero {
    background: #f8eae9;
    padding: 2.5rem 2rem 2rem;
    border-bottom: 0.5px solid #1f1e1d26;
    margin-bottom: 30px;
}

p {
    margin-top: 0;
    margin-bottom: 0.5rem;
}



h1 {
    /* Min: 2.5rem, Ideale: 6vw, Max: 4rem */
    font-size: clamp(2.5rem, 6vw, 4rem);
  
}

h2 {
    /* Min: 2rem, Ideale: 5vw, Max: 3.2rem (Il tuo valore originale) */
    font-size: clamp(2rem, 5vw, 3.2rem)!important;
    
}

h3 {
    /* Min: 1.75rem, Ideale: 4vw, Max: 2.5rem */
    font-size: clamp(1.75rem, 4vw, 2.5rem);
      margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 2px solid #f8eae9!important;
}

h4 {
    /* Min: 1.4rem, Ideale: 3vw, Max: 1.8rem */
    font-size: clamp(1.4rem, 3vw, 1.8rem);
}





.sppb-addon-title {
    text-shadow:none !important;
}



.autore-sito, .modified, .published, .hits, .article-info {
    display:none;
}


#sp-header .logo {
    height: 80px;
}

.breadcrumb {
    background:transparent;
}


.bg-blu {
    background:#0F284D;
}




.custom-color {
    color:#e82241 !important;
}

/*top bar */


#sp-top-bar {
    background:#0F284D;
    padding: 2px;
    font-size: 20px;
    line-height: 1.5;
    color:#fff;
}

#sp-top-bar a {
    color:#fff;
}


/*header*/

#sp-header {
    height: 68px;
    width: 100%;


    box-shadow:none !important;
}

#sp-header {
    background-color: #0f284d !important;

}

#sp-header .container {
    background-color: #e82241;
    border-radius: 80px;
    box-shadow:2px 2px 2px #333;
}


#sp-header.header-sticky {
    background:#0f284d !important;
}


.com-sppagebuilder #sp-main-body {
    padding: 0;
}

/*menu*/



.sp-megamenu-parent>li>a, .sp-megamenu-parent>li>span, .sp-megamenu-parent>li:last-child>a {

    text-transform: uppercase;
    display: inline-block;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all .4s cubic-bezier(0.09,0.955,0.45,0.985);
    box-sizing: border-box;
    vertical-align: middle;
    overflow: visible;
    text-overflow: unset;
    padding-bottom: 3px;
    color:#fff;
    line-height:100%;

}


.sp-megamenu-parent>li>a:after, .sp-megamenu-parent>li>span:after {
    content: '';
    display: block;
    height: 3px;
    width: 0;
    background: transparent;
    transition: width .5s ease, background-color .5s ease;

}


.sp-megamenu-parent>li {
    line-height: 80px;
}

.sp-megamenu-parent>li>a:hover:after {
    width: 100%;
    font-weight:500;
    background: #fff;
}

.sp-megamenu-parent>li.active>a, .sp-megamenu-parent>li.active:hover>a, .sp-megamenu-parent>li a:hover {
    color: #fff!important;
    font-weight:700;

}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item {
    display: block;
    padding: 0;
    position: relative;
    line-height: 10px;
}


.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a:hover {
    color:#e82241 !important;
}


/*offcanvas*/
.offcanvas-menu {
    background:#e82241;
    color:#fff;
}


.burger-icon>span {
    background:#fff;
}

.offcanvas-menu .offcanvas-inner ul.menu>li a, .offcanvas-menu .offcanvas-inner ul.menu>li span, .offcanvas-menu .offcanvas-inner a, 
.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>a>.menu-toggler, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>.menu-separator>.menu-toggler,
.offcanvas-menu .offcanvas-inner ul.menu>li li a{
    color:#fff;
    opacity:1;
}

.offcanvas-menu .offcanvas-inner ul.menu li.active>a, .offcanvas-menu .offcanvas-inner ul.menu li.active>.nav-header, .offcanvas-menu .offcanvas-inner ul.menu li.active>.mod-menu__heading {
    color:#0F284D;
    font-weight:600;
}

.offcanvas-menu .offcanvas-inner .sp-contact-info, .offcanvas-menu .offcanvas-inner .social-icons {
    font-size: 20px;
    color:#fff;
}



/*bottoni*/


.btn-primary, .sppb-btn-primary {
    background:#e82241 !important;
    border:1px solid #fff !important;
    border-radius:0;
    color:#fff !important;
    
    
 
    font-weight: 500;
    padding: 9px 20px;
    border-radius:8px;
    text-decoration: none;
    
    
}

.btn-primary a, .sppb-btn-primary a{
    color:#fff !important;

}

.btn-primary:hover, .sppb-btn-primary:hover {


}



.sppb-btn-primary.sppb-btn-outline {
    background:transparent !important;
    border:2px solid #e82241 !important;
    color:#030205;
}

.sppb-btn-primary.sppb-btn-outline a:hover, .sppb-btn-primary.sppb-btn-outline:hover{
    color:#fff !important;
    background:#e82241 !important;
}






/*footer and bottom*/

#sp-footer {
    color: #666;
    background:#fff;
    font-size:12px;
}

#sp-bottom {
    background:#fff;
    color:#000;
    padding:0;

}

#sp-bottom .container {
        border-top:1px solid #666;
        max-width:1630px;
}

#sp-bottom p {
    font-size:20px;
}

#sp-footer .container {
    border-top: 1px solid #666;
      max-width:1630px;
}

#sp-bottom a {
    font-size:16px;
    color:#000;
}

#sp-bottom .sp-module ul>li {
    display: block;
    margin-bottom: 5px;
}





/* CSS BOOTSTRAP SPECIFICI */

.sppb-icon {
    width: 36px;
    height: 36px;
    border-radius: 6px;
    background:#f8eae93b;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sidebar-card {
    background: light-dark(rgba(255, 255, 255, 1), rgba(48, 48, 46, 1));
    border: 0.5px solid light-dark(rgba(31, 30, 29, 0.15), rgba(222, 220, 209, 0.15));
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 20px;
}

.accent{
color:#fff;
    background: #e82241;
    border-color: transparent;}

.accent a.serrande, .accent a:link, .accent a.basculanti.sezionali{
color:#fff;
   }
   
   .badge-comune {
    display: inline-block;
    background: #f8eae9;
    color: #e82241;
    font-size: 11px;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 10px;
}

a.serrande, a.basculanti.sezionali {
    color:#252525;
}

.box {
    background: #f8eae9;
    border-radius: 6px;
    padding: 7px 9px;
    margin-bottom: 10px;
   
}

.footer-cta {
    margin: 24px 2rem 0;
    background:#f8eae9;
    border: 0.5px solid rgba(192, 57, 43, 0.2);
    border-radius: 10px;
align-items: center;
    justify-content: space-between;
    padding: 30px 20px;

}

/* --- STILE MENU COMUNI TIPO TAG (PULSANTI Orizzontali) --- */

/* Contenitore principale (la lista ul) */
ul.menu-comuni-tags {
    list-style-type: none;  /* Rimuove i pallini */
    margin: 20px 0;         /* Spazio sopra e sotto l'elenco */
    padding: 0;
    display: flex;          /* Allinea gli elementi in orizzontale */
    flex-wrap: wrap;       /* Se non c'è spazio, manda a capo i tag */
    gap: 10px;              /* Spazio fisso tra un tag e l'altro */
    justify-content: flex-start; /* Allinea a sinistra (usa center per centrare) */
}

/* Lo stile del singolo elemento li (il TAG) */
ul.menu-comuni-tags li a {
    display: inline-block;  /* Necessario per padding e contorni */
    padding: 8px 16px;      /* Spazio interno del rettangolo */
    
    /* Rettangolo smussato */
    background-color: #f5f5f5; /* Colore di sfondo (grigio chiaro) */
    border: 1px solid #dcdcdc; /* Bordo sottile */
    border-radius: 20px;       /* Smussatura angoli (20px per un effetto pillola) */
    
    /* Testo e colori */
    text-decoration: none;  /* Rimuove la sottolineatura */
    color: #333;            /* Colore del testo (grigio scuro) */
    font-weight: 500;       /* Testo leggermente in grassetto */
    font-size: 0.9em;       /* Dimensioni leggermente ridotte */
    
    /* Animazione fluida (transizione) */
    transition: all 0.3s ease;
    cursor: pointer;
}

/* --- EFFETTO AL PASSAGGIO DEL MOUSE (HOVER) --- */
ul.menu-comuni-tags li a:hover {
    background-color: #0F284D; /* Sfondo quando passi sopra (es. blu) */
    border-color: #0F284D;     /* Il bordo diventa dello stesso colore */
    color: #ffffff;            /* Il testo diventa bianco */
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); /* Leggera ombra per profondità */
    transform: translateY(-2px); /* Sposta leggermente in alto */
}

/* MODIFICHE MODERNIZZAZIONE BREEZINGFORMS 
   Copia e incolla questo blocco alla fine del tuo file CSS o nell'area CSS del form
*/

/* 1. Reset e Font: Rende tutto più leggibile */
.bfQuickMode {
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: #333;
}

/* 2. Miglioramento Campi di Input: Bordo pulito e focus morbido */
.bfQuickMode input[type="text"], 
.bfQuickMode input[type="email"], 
.bfQuickMode input[type="tel"], 
.bfQuickMode textarea, 
.bfQuickMode select {
    padding: 10px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important; /* Angoli leggermente arrotondati */
    background-color: #fff !important;
    transition: border-color 0.3s, box-shadow 0.3s;
    box-sizing: border-box !important;
    font-size: 14px;
}

/* Effetto al passaggio del mouse e al click */
.bfQuickMode input:focus, 
.bfQuickMode textarea:focus, 
.bfQuickMode select:focus {
    border-color: #007bff !important;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2) !important;
    outline: none !important;
}

/* 3. Label: Più spazio tra i nomi dei campi e i campi stessi */
.bfQuickMode label {
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    display: inline-block;
}

/* 4. Spaziature tra le sezioni del form */
.bfQuickMode .bfWrapperBlock {
    margin: 20px 0 !important;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f0f0; /* Divisore sottile tra campi */
}

/* 5. Pulsanti: Look moderno e "flat" */
.bfQuickMode .bfNextButton, 
.bfQuickMode .bfSubmitButton, 
.bfQuickMode .bfPrevButton {
    padding: 10px 25px !important;
    border-radius: 4px !important;
    border: none !important;
    font-weight: bold !important;
    cursor: pointer !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.3s ease;
}

.bfQuickMode .bfSubmitButton {
    background-color: #28a745 !important; /* Verde */
    color: white !important;
}

.bfQuickMode .bfSubmitButton:hover {
    background-color: #218838 !important;
}

.bfQuickMode .bfNextButton {
    background-color: #007bff !important; /* Blu */
    color: white !important;
}

/* 6. Firma (Signature): Più visibile */
.bfQuickMode .bfSignatureCanvasBorder {
    border: 2px solid #007bff !important;
    border-radius: 8px;
    background-color: #fafafa;
}

/* 7. Correzione per Mobile (Responsive) */
@media all and (max-width: 767px) {
    .bfQuickMode input[type="text"], 
    .bfQuickMode textarea, 
    .bfQuickMode select,
    .bfQuickMode .bfElementGroup {
        width: 100% !important; /* Forza la larghezza piena su smartphone */
        max-width: 100% !important;
    }
    
    .bfQuickMode .bfLabelLeft label {
        width: 100% !important;
        margin-bottom: 5px !important;
    }
}
/* ------------------------------------------------------------------------------------ */

/* MOBILE */
@media (max-width: 767px){

    .com-sppagebuilder #sp-main-body {
        padding:0px 0;
    }

    .logo-image {
        height:70px !important;
        padding:10px;
    }



    .igallery_title-box {

        box-shadow: 0 0 0 0 #ffffff;
       padding:150px 20px 50px!important;
        background-color: #0f284d;
        border-radius: 0 0 180px 180px;
        margin-bottom: 50px;
        text-align: center;

    }




    h2.igallery_title {
        font-size: 40px;
        line-height: 96px;
    }



}

/* IPAD VERTICALE */
@media (min-width: 768px) and (max-width: 1023px){
    .logo-image {
        height:80px !important;
        padding:10px;
    }


    .header-sticky  .logo-image-phone {
        height:60px !important;

    }


    #sp-header .logo {
        height: 90px;
    }


    .offcanvas-menu li {
        padding:5px;
    }




    .igallery_title-box {

        box-shadow: 0 0 0 0 #ffffff;
          padding:150px 20px 50px!important;
        text-align: center;
        background-color: #0f284d;
        border-radius:0 0 180px 180px;
        margin-bottom: 50px;

    }




    h2.igallery_title {
        font-size: 65px;
        line-height: 96px;
    }




}

/* IPAD ORIZZONTALE e IPAD PRO VERTICALE */
@media (min-width: 1024px) and (max-width: 1365px){


    .igallery_title-box {
        box-shadow: 0 0 0 0 #ffffff;
    padding:150px 20px 50px!important;
        background-color: #0f284d;
        border-radius: 0 0 180px 180px;
        margin-bottom: 50px;

    }




    h2.igallery_title {
        font-size: 65px;
        line-height: 96px;
    }





}

/* IPAD PRO ORIZZONTALE */
@media (min-width: 1366px){
    .container{
        max-width: 1300px;
    }

    .sp-menu-full.container{
        width: 1300px;
        left: 0!important;
        right: 0!important;
    }

    body.helix-ultimate .sppb-row-container{
        max-width: 1300px;
    }

    .sppb-row-container{
        width: 1300px;
    }



    .offcanvas-menu li {
        padding:5px;
    }

    .igallery_title-box {
        box-shadow: 0 0 0 0 #ffffff;
        padding: 156px 0px 116px 50px !important;
        text-align: left;
        background-color: #0f284d;
        border-radius: 0 0 180px 180px;
        margin-bottom: 50px;

    }




    h2.igallery_title {
        font-size: 80px;
        line-height: 96px;
    }



}


@media (min-width: 1400px) and (max-width: 1679px){

    .container{
        max-width: 1400px;
    }

    .sp-menu-full.container{
        width: 1300px;
        left: 0!important;
        right: 0!important;
    }

    body.helix-ultimate .sppb-row-container{
        max-width: 1300px;
    }

    .sppb-row-container{
        width: 1300px;
    }



    .igallery_title-box {
  
        box-shadow: 0 0 0 0 #ffffff;
        padding: 180px 0px 116px 50px !important;
        text-align: left;
        background-color: #0f284d;
        border-radius: 0 0 150px 150px;
        margin-bottom: 50px;

    }




    h2.igallery_title {
        font-size: 80px;
        line-height: 96px;
    }



}



@media (min-width: 1680px){

    .container{
        max-width: 1630px;
    }

    .sp-menu-full.container{
        width: 1300px;
        left: 0!important;
        right: 0!important;
    }

    body.helix-ultimate .sppb-row-container{
        max-width: 1300px;
    }

    .sppb-row-container{
        width: 1300px;
    }


    .igallery_title-box {
 
        box-shadow: 0 0 0 0 #ffffff;
        padding: 180px 0px 116px 50px !important;
        text-align: left;
        background-color: #0f284d;
        border-radius: 0 0 150px 150px;
        margin-bottom: 50px;

    }




    h2.igallery_title {
        font-size: 80px;
        line-height: 96px;
        text-align: center;
        color:#fff;
    }


}




.com_igallery #sp-main-body {
    margin-top:0px !important;
    padding: 0px!important;


}





/*form*/




/* Definiamo una variabile per il colore per non impazzire con i codici hex */
:root {
    --bf-accent: #ff6347; /* Colore focus (es. arancio/rosso come il tuo bg) */
    --bf-bg-light: rgba(0, 0, 0, 0.03);
}

/* Larghezza piena e reset layout */
.bfQuickMode fieldset.bfInline,
.bfQuickMode .bfLabelLeft label, 
.bfQuickMode .bfLabelRight label,
.bfQuickMode .bfElementGroup {
    width: 100% !important;
    max-width: 100% !important;
    display: block;
}

/* Stile unico per tutti gli input */
.bfQuickMode section input[type='text'], 
.bfQuickMode section textarea, 
.bfQuickMode section select,
.bfQuickMode input[type="email"],
.bfQuickMode input[type="tel"],
.bfQuickMode input[type="number"] {
    width: 100% !important;
    max-width: 100% !important;
    background: var(--bf-bg-light) !important;
    border: none !important;
    border-bottom: 2px solid #ccc !important; /* Effetto linea sotto */
    border-radius: 0 !important;
    padding: 12px 15px !important;
    transition: all 0.3s ease;
    color: #333 !important;
    box-sizing: border-box !important;
}

/* Effetto Focus: la linea sotto si colora e il fondo cambia leggermente */
.bfQuickMode input:focus, 
.bfQuickMode textarea:focus, 
.bfQuickMode select:focus {
    background: #fff !important;
    border-bottom-color: var(--bf-accent) !important;
    box-shadow: 0 4px 6px -6px rgba(0,0,0,0.2) !important;
    color: #000 !important; /* Corretto il problema del bianco su bianco */
    outline: none !important;
}

/* Miglioramento Label */
.bfQuickMode label {
    margin-top: 15px !important;
    margin-bottom: 5px !important;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #555;
}



.cc-revoke.cc-top {
    right: 0!important;
    font-size: 12px;
    top: auto!important;
    bottom: 0!important;
    border-bottom-left-radius: 0!important;
    border-bottom-right-radius: 0!important;
}
