.elementor-kit-4{--e-global-color-primary:#008D54;--e-global-color-secondary:#2D2D2C;--e-global-color-text:#FFFFFF;--e-global-color-accent:#E85927;--e-global-color-658c81c:#FFFFFF;--e-global-color-0c00ee1:#008654;--e-global-color-751d74d:#E85927;--e-global-color-9846ed3:#2D2D2C;--e-global-color-599cedd:#000000;--e-global-color-3c29553:#F6F6F6;--e-global-color-682d0a8:#02010100;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:900;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:28px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:28px;--e-global-typography-c83df34-font-family:"Montserrat";--e-global-typography-c83df34-font-size:64px;--e-global-typography-c83df34-font-weight:900;--e-global-typography-c83df34-text-transform:uppercase;--e-global-typography-c83df34-line-height:59px;--e-global-typography-c83df34-letter-spacing:0px;--e-global-typography-28943b5-font-family:"Montserrat";--e-global-typography-28943b5-font-size:21px;--e-global-typography-28943b5-font-weight:400;--e-global-typography-28943b5-line-height:32px;--e-global-typography-57296c7-font-family:"Montserrat";--e-global-typography-57296c7-font-size:24px;--e-global-typography-57296c7-font-weight:900;--e-global-typography-57296c7-text-transform:uppercase;--e-global-typography-57296c7-line-height:54px;--e-global-typography-5a4902e-font-family:"Montserrat";--e-global-typography-5a4902e-font-size:48px;--e-global-typography-5a4902e-font-weight:900;--e-global-typography-5a4902e-text-transform:uppercase;--e-global-typography-5a4902e-line-height:54px;--e-global-typography-298f321-font-family:"Montserrat";--e-global-typography-298f321-font-style:italic;--e-global-typography-02e4fa2-font-family:"Montserrat";--e-global-typography-02e4fa2-font-size:14px;--e-global-typography-02e4fa2-font-weight:400;--e-global-typography-3624354-font-size:21px;background-color:var( --e-global-color-9846ed3 );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:900;text-transform:uppercase;font-style:normal;text-decoration:none;color:#FFFFFF;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:#E85927;color:var( --e-global-color-text );}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-weight:400;}.elementor-kit-4 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-c83df34-font-family ), Sans-serif;font-size:var( --e-global-typography-c83df34-font-size );font-weight:var( --e-global-typography-c83df34-font-weight );text-transform:var( --e-global-typography-c83df34-text-transform );line-height:var( --e-global-typography-c83df34-line-height );letter-spacing:var( --e-global-typography-c83df34-letter-spacing );}.elementor-kit-4 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-5a4902e-font-family ), Sans-serif;font-size:var( --e-global-typography-5a4902e-font-size );font-weight:var( --e-global-typography-5a4902e-font-weight );text-transform:var( --e-global-typography-5a4902e-text-transform );line-height:var( --e-global-typography-5a4902e-line-height );}.elementor-kit-4 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-57296c7-font-family ), Sans-serif;font-size:var( --e-global-typography-57296c7-font-size );font-weight:var( --e-global-typography-57296c7-font-weight );text-transform:var( --e-global-typography-57296c7-text-transform );line-height:var( --e-global-typography-57296c7-line-height );}.elementor-kit-4 h4{font-family:"Montserrat", Sans-serif;}.elementor-kit-4 h5{font-family:"Montserrat", Sans-serif;}.elementor-kit-4 h6{font-family:"Montserrat", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 h1{font-size:var( --e-global-typography-c83df34-font-size );line-height:var( --e-global-typography-c83df34-line-height );letter-spacing:var( --e-global-typography-c83df34-letter-spacing );}.elementor-kit-4 h2{font-size:var( --e-global-typography-5a4902e-font-size );line-height:var( --e-global-typography-5a4902e-line-height );}.elementor-kit-4 h3{font-size:var( --e-global-typography-57296c7-font-size );line-height:var( --e-global-typography-57296c7-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4{--e-global-typography-5a4902e-font-size:28px;--e-global-typography-3624354-font-size:16px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 h1{font-size:var( --e-global-typography-c83df34-font-size );line-height:var( --e-global-typography-c83df34-line-height );letter-spacing:var( --e-global-typography-c83df34-letter-spacing );}.elementor-kit-4 h2{font-size:var( --e-global-typography-5a4902e-font-size );line-height:var( --e-global-typography-5a4902e-line-height );}.elementor-kit-4 h3{font-size:var( --e-global-typography-57296c7-font-size );line-height:var( --e-global-typography-57296c7-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */.accordion-kit-extra{
display: flex;
flex-direction: column;
gap: 20px;
}
.kit-item {
  border-left: 5px solid #008654;
  padding: 15px 15px;
  user-select: none;
  cursor:pointer;
  background-color: #f6f6f6;
}

.kit-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.kit-title {
  color: #0f7b56;
  font-weight: 700;
  text-transform: uppercase;
}

.kit-range {
  margin-left: 10px;
  font-size: 0.9em;
  color: #666;
}

.kit-link {
  color: #0f7b56;
  font-weight: 500;
}

.toggle-text-accordion-header{
	color: #008654;
	font-weight: bold;
}

.kit-content {
  display: none;
  margin-top: 15px;
  cursor: default;
  padding-inline: 130px;
}

.kit-content-first-section{
    display: grid;
    grid-template-columns: 60% 40%;
    gap: 2rem;
    align-items: center;
    padding: 2rem;
}

.kit-item.active .kit-content {
  display: block;
}

p.kit-subtitle , h4.kit-title{
	margin: 0 !important;
}

p.kit-subtitle{
	font-weight: bold;
}

.kit-image img {
  max-width: 200px;
  margin-bottom: 10px;
}

.kit-varianti {
  list-style: none;
  padding-left: 0;
  margin-top: 10px;
}

.kit-varianti-header{
    list-style-type: none;
    display: flex;
    flex-direction: column;
    align-items:flex-end;
    font-size: 18px;
    text-transform: uppercase;
    gap: 10px;
}

.kit-varianti-header li{
     border-bottom: 2px solid #008654;
     padding-block: 10px;
     display: flex;
     gap: 20px;
}


.kit-variante-sottotitolo-label {
  font-weight: bold;
}

/*
* CSS Accessori
*
*/

.filtri-accessori-prodotto-header{
    display: flex;
    justify-content: space-between;
}

.filtri-accessori-label-wrapper h4,h3{
    margin: 0;
}
.filtri-accessori-label-wrapper h3{
    font-size: 21px;
    line-height: unset;
}

.categoria-filtro {
    padding: 8px 42px 8px 17px;
    font-size: 14px;
    font-style: italic;
    border: 2px solid;
    border-radius: 0 !important;
    max-width: 400px;
    cursor: pointer;
    appearance: none;
}


.categoria-filtro:focus {
    outline: none;
}

/* CSS Grid Accessori */

.grid-accessori-selezionati{
    display: grid;
    grid-template-columns: repeat(4,0.21fr) !important;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 40px;
    gap:42px;
}

.accessorio-item{
    background: #F6F6F6;
    border-bottom: 7px solid #008654;
    padding: unset;
    cursor: pointer;
    max-width: unset !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 320px;
    min-width: 250px;
}

button.accessorio-item,
button.accessorio-item:hover,
button.accessorio-item:focus{
    background: #F6F6F6;
    border-bottom: 7px solid #008654;
    color:black;
    cursor: pointer;
    text-transform: none;
}


button.accessorio-item::after {
    content: "Scopri di più";
    display: block;
    text-align: center;
    font-weight: 700;
    color: #008654;
    font-size: 16px;
    padding-top: 12px;
    padding-bottom: 5px;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

button.accessorio-item:hover::after {
    opacity: 1;
    transform: translateY(0);
    background: #008654; /* sovrascrive il vecchio stile */
    color: white;
}

.accessorio-item img {
    min-width: 225px;
    min-height: 220px;
    object-fit: contain;
        padding: 1rem;

}

.accessorio-title{
    text-align: center;
    font-size: 16px;
    margin-bottom: 80px;
        padding: 1rem;

}

.accessorio-subtitle{
    font-size: 16px;
    font-weight: 400 !important;
    text-align: center;
}

.loader-content, .no-accessori{
    font-size: 16px;
    font-style: italic;
}

.wrapper-select{
    display: flex;
    gap:16px;
}

/* CSS Modale */

/* Nasconde la modale di default (rispetta l'attributo hidden) */
.modale-compatibilita[hidden] {
    display: none;
}

/* Container fullscreen fisso, sopra tutto */
.modale-compatibilita {
    position: fixed;
    inset: 0;                    /* top/right/bottom/left: 0 */
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

/* Backdrop scuro semitrasparente */
.modale-compatibilita__backdrop {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    cursor: pointer;
}

/* Dialog sopra il backdrop */
.modale-compatibilita__dialog {
    position: relative;          /* sta sopra il backdrop (che è absolute) */
    z-index: 1;
    background: #fff;
    overflow: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    max-width: 500px;
    max-height: 80vh;

}

/* Header */
.modale-compatibilita__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 1.5rem;
    border-bottom: 5px solid #008654;
}

.modale-compatibilita__title {
    margin: 0;
    font-size: 1.8rem !important;
    line-height: 2rem !important;
    text-align: left;
    font-weight: 600;
}



.modale-compatibilita__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 42px !important;
  font-weight: 400 !important;
  line-height: 1;
  cursor: pointer;
  color: #222 !important;
}

.modale-compatibilita__close:hover{
    background: none !important;
}


/* Body scrollabile se il contenuto eccede */
.modale-compatibilita__body {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Lista varianti */
.modale-compatibilita__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.modale-compatibilita__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.modale-compatibilita__item:last-child {
    border-bottom: none;
}

.modale-compatibilita__diametro{
    font-weight: 500;
}

.modale-compatibilita__subtitle__diametro{
    font-weight: 700;
    font-size: 18px;
}

.modale-compatibilita__sku {
    color: #666;
    font-size: 0.9rem;
}

/* Stati di caricamento ed empty */
.modale-loading,
.modale-empty {
    text-align: center;
    color: #666;
    margin: 0;
    padding: 1rem 0;
}

/* Blocca scroll della pagina dietro quando la modale è aperta */
body.modale-open {
    overflow: hidden;
}

/* Animazione leggera di entrata */
.modale-compatibilita[aria-hidden="false"] .modale-compatibilita__dialog {
    animation: modale-in 0.2s ease-out;
}

.modale-compatibilita[aria-hidden="false"] .modale-compatibilita__backdrop {
    animation: fade-in 0.2s ease-out;
}

.modale-compatibilita__intro{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.modale-compatibilita__intro img{
    max-width: 75%;
}
.filtri-accessori-label-wrapper h4,
.filtri-accessori-label-wrapper h3{
        text-align: center;
}

@keyframes modale-in {
    from {
        opacity: 0;
        transform: translateY(-10px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Rispetta prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .modale-compatibilita[aria-hidden="false"] .modale-compatibilita__dialog,
    .modale-compatibilita[aria-hidden="false"] .modale-compatibilita__backdrop {
        animation: none;
    }
}


@media(min-width: 880px) and (max-width: 1300px){
    .grid-accessori-selezionati{
        grid-template-columns: repeat(3, 0.21fr) !important;
        justify-content: center;
    }
    
    .filtri-accessori-prodotto-header{
        justify-content: center;
        flex: 1;
        flex-direction: column;
    }
    .filtri-accessori-wrapper{
        flex: 1;
        padding-inline: 2.5rem;
        padding-top: 1rem;
    }
    .wrapper-select select{
        width: 100%;
    }
    .filtri-accessori-label-wrapper h4,
    .filtri-accessori-label-wrapper h3{
        text-align: left;
        padding-inline: 2.5rem;
    }
}


@media (max-width: 879px){
    .grid-accessori-selezionati{
        display: grid;
        grid-template-columns: repeat(2,0.21fr) !important;
        justify-content: center;
        margin: 0 auto;
        margin-top: 20px;
        gap:10px;
    }
    .filtri-accessori-prodotto-header{
        justify-content: center;
        flex: 1;
        flex-direction: column ;
    }
    .filtri-accessori-wrapper{
        flex: 1;
        padding-inline: 2.5rem;
        padding-top: 1rem;
    }
    .filtri-accessori-wrapper{
        text-align: center;
    }
    .wrapper-select{
        justify-content: center;
    }
    .wrapper-select select{
        width: 100%;
        align-items: center;
    }
    
}

@media (max-width: 600px){
    .grid-accessori-selezionati{
        display: grid;
        grid-template-columns: repeat(1,0.21fr) !important;
        justify-content: center;
        margin: 0 auto;
        margin-top: 20px;
        gap:10px;
    }
    .filtri-accessori-prodotto-header{
        flex-direction: column;
        justify-content: center;
        padding: 1rem;
    }
    .wrapper-select{
        flex-direction: column;
        gap:10px;
    }
    .modale-compatibilita__dialog {
    position: relative;          /* sta sopra il backdrop (che è absolute) */
    z-index: 1;
    background: #fff;
    overflow: auto;
    width: 100%;
    max-height: 100vh;
    }
    .modale-compatibilita{
        padding: unset;
    }
}/* End custom CSS */