.elementor-10102 .elementor-element.elementor-element-643c551{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-10102 .elementor-element.elementor-element-f934c92{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-10102 .elementor-element.elementor-element-a31dc87{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10102 .elementor-element.elementor-element-f76aa02{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-10102 .elementor-element.elementor-element-d92564d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10102 .elementor-element.elementor-element-879b29e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-10102 .elementor-element.elementor-element-421ab85{--grid-columns:3;}.elementor-10102 .elementor-element.elementor-element-421ab85 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-10102 .elementor-element.elementor-element-421ab85 .e-loop-item > .elementor-section, .elementor-10102 .elementor-element.elementor-element-421ab85 .e-loop-item > .elementor-section > .elementor-container, .elementor-10102 .elementor-element.elementor-element-421ab85 .e-loop-item > .e-con, .elementor-10102 .elementor-element.elementor-element-421ab85 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(min-width:768px){.elementor-10102 .elementor-element.elementor-element-f934c92{--width:33.3333%;}.elementor-10102 .elementor-element.elementor-element-a31dc87{--width:66.6666%;}.elementor-10102 .elementor-element.elementor-element-d92564d{--width:33.3333%;}.elementor-10102 .elementor-element.elementor-element-879b29e{--width:66.6666%;}}@media(max-width:1024px){.elementor-10102 .elementor-element.elementor-element-421ab85{--grid-columns:2;}}@media(max-width:767px){.elementor-10102 .elementor-element.elementor-element-421ab85{--grid-columns:1;}}/* Start custom CSS for html, class: .elementor-element-be3b38b *//* Wrapper */
.promo-block-wrapper {
    width: 100%;
    height: 420px; 
    max-width: 300px; 
    margin: 0 auto; 
    font-family: 'Montserrat', sans-serif;
}

/* Stile Card */
.promo-card-single {
    background: linear-gradient(135deg, #ff6600 0%, #ff8b3d 100%);
    border-radius: 16px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 15px 35px rgba(255,102,0,0.25);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.promo-card-single:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(255,102,0,0.35);
}

/* --- ICONA BIANCA --- */
.promo-card-single i {
    font-size: 50px;
    margin-bottom: 20px;
    color: #ffffff !important; /* Forza il colore bianco */
}

/* Testi */
.promo-card-single h3 {
    margin: 0 0 10px;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
    color: #ffffff !important; /* Forza il colore bianco */
}

.promo-card-single span {
    font-size: 14px;
    opacity: 0.95;
    display: block;
    color: #ffffff !important; /* Forza il colore bianco */
}

/* Mobile */
@media (max-width: 768px) {
    .promo-block-wrapper {
        height: auto;
        max-width: 100%;
    }
    
    .promo-card-single {
        flex-direction: row;
        padding: 20px;
        text-align: left;
        gap: 20px;
        justify-content: flex-start;
    }

    .promo-card-single i {
        margin-bottom: 0;
        font-size: 40px;
    }

    .promo-card-single h3 {
        font-size: 20px;
        margin-bottom: 5px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d12e8c *//* --- CONTENITORE GENERALE --- */
.fernoi-catalog-wrapper {
    display: flex;
    width: 100%;
    max-width: 1400px;
    height: 500px; 
    margin: 0 auto;
    font-family: 'Montserrat', sans-serif;
    position: relative;
    align-items: center;
}

/* --- COLONNA FISSA PROMO --- */
.fixed-promo-column {
    flex: 0 0 280px;
    height: 420px;
    display: flex;
    z-index: 20; 
    position: relative;
    margin-right: 30px;
}

.promo-card {
    background: linear-gradient(135deg, #ff6600 0%, #ff8b3d 100%);
    border-radius: 16px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;
    color: #fff;
    text-align: center;
    box-shadow: 0 15px 35px rgba(255,102,0,0.25);
}
.promo-card i { font-size: 50px; margin-bottom: 20px; }
.promo-card h3 { margin: 0 0 10px; font-size: 24px; font-weight: 700; text-transform: uppercase; line-height: 1.2; }
.promo-card span { font-size: 14px; opacity: 0.95; }

/* --- SLIDER --- */
.slider-column {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden; 
    position: relative;
}

.slider-viewport {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 20px 10px;
}

.slider-track {
    display: flex;
    gap: 30px; 
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    width: max-content;
}

.slider-item {
    width: 300px;
    height: 420px;
    flex-shrink: 0;
    perspective: 1000px;
}

/* --- FLIP CARD --- */
.flip-card {
    background-color: transparent;
    width: 100%;
    height: 100%;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border-radius: 16px;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 16px;
    overflow: hidden;
}

/* FRONTE */
.flip-card-front { background: #fff; }
.flip-card-front img { width: 100%; height: 100%; object-fit: cover; }
.front-label {
    position: absolute; bottom: 20px; left: 20px;
    background: rgba(255,255,255,0.95);
    padding: 8px 15px; border-radius: 8px;
    font-weight: 700; color: #333; font-size: 14px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    text-align: left; line-height: 1.2;
}
.front-label span { font-size: 11px; text-transform: uppercase; color: #666; display: block; margin-bottom: 2px; }

/* RETRO */
.flip-card-back {
    background: #444;
    color: white;
    transform: rotateY(180deg);
    display: flex; flex-direction: column; justify-content: space-between;
    padding: 30px 25px;
    text-align: left;
    border: 2px solid transparent; 
}

.back-sup { font-size: 12px; text-transform: uppercase; opacity: 0.8; letter-spacing: 1px; display: block; margin-bottom: 2px; }
.back-title { font-size: 24px; font-weight: 700; margin-bottom: 5px; line-height: 1.1; }
.back-sep { width: 40px; height: 4px; border-radius: 2px; margin-bottom: 25px; }

.back-features { list-style: none; padding: 0; margin: 0; }
.back-features li { display: flex; align-items: center; margin-bottom: 15px; font-size: 15px; }
.back-features i { width: 28px; margin-right: 8px; font-size: 18px; }

.btn-action {
    padding: 12px; border-radius: 8px; text-align: center; font-weight: 700;
    text-transform: uppercase; font-size: 14px; color: #fff; text-decoration: none;
    display: flex; justify-content: center; align-items: center; gap: 8px;
    cursor: pointer; transition: opacity 0.2s;
}
.btn-action:hover { opacity: 0.9; }

/* SHOWROOM CARD */
.showroom-card {
    width: 100%; height: 100%;
    border-radius: 16px;
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
    color: #fff;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; padding: 30px;
    box-shadow: 0 10px 25px rgba(22,163,74,0.25);
}
.showroom-card i { font-size: 42px; margin-bottom: 15px; }
.showroom-card h4 { font-size: 22px; font-weight: 700; margin: 0 0 10px; }
.showroom-card p { font-size: 14px; opacity: 0.9; margin: 0 0 15px; }

/* PALLINI NAVIGAZIONE */
.slider-dots {
    display: flex; justify-content: center; gap: 10px;
    position: absolute; bottom: 10px; left: 0; right: 0; z-index: 10;
}
.slider-dot {
    width: 10px; height: 10px; border-radius: 50%; background: #ddd;
    cursor: pointer; transition: all 0.3s; border: 1px solid #ccc;
}
.slider-dot.active { background: #333; border-color: #333; transform: scale(1.2); }

/* POPUP */
.modal-overlay {
    display:none; position:fixed; inset:0;
    background:rgba(0,0,0,0.85); z-index:99999;
    justify-content:center; align-items:center; padding:20px;
    opacity:0; transition:opacity 0.3s;
}
.modal-overlay.active { display:flex; opacity:1; }
.modal-box {
    background:#fff; width:900px; max-width:95%; min-height:500px;
    border-radius:16px; overflow:hidden; position:relative; display:flex;
    box-shadow:0 25px 60px rgba(0,0,0,0.5);
}

/* --- TASTO CHIUDI FIX DEFINITIVO --- */
/* Uso ID specifico e !important per sovrascrivere qualsiasi tema */
button#closeBtn.close-modal {
    position: absolute; 
    top: 15px; 
    right: 20px;
    background-color: transparent !important; /* Forza trasparenza */
    background: none !important;
    border: none !important;
    box-shadow: none !important; /* Toglie eventuali ombre native del tema */
    cursor: pointer; 
    z-index: 9999; 
    color: #000 !important; 
    font-size: 36px; 
    font-weight: 300; 
    line-height: 1;
    padding: 0;
    margin: 0;
    min-width: auto;
    min-height: auto;
    transition: color 0.2s, transform 0.2s;
}

button#closeBtn.close-modal:hover { 
    color: #e91e63 !important; /* Magenta */
    transform: scale(1.1); 
    background-color: transparent !important;
}

.modal-img-col { width:40%; background:#eee; }
.modal-img-col img { width:100%; height:100%; object-fit:cover; }
.modal-info-col { width:60%; padding:40px; display:flex; flex-direction:column; }
.modal-label { font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:10px; display:block; }
.modal-title { font-size:30px; font-weight:700; margin:0 0 10px; color: #111; }
.modal-stats { display:flex; gap:15px; margin-bottom:20px; }
.stat-pill { flex:1; padding:10px; border-radius:8px; background:#f9fafb; border:1px solid #eee; text-align:center; }
.stat-num { font-weight:700; font-size:18px; display:block; color:#111; }
.modal-desc { font-size:15px; line-height:1.6; color:#555; margin-bottom:auto; }
.modal-btns { margin-top:25px; display:flex; gap:10px; }
.m-btn { flex:1; padding:13px; border-radius:8px; text-align:center; font-weight:600; text-decoration:none; }
.m-btn-secondary { background:#fff; border:1px solid #ddd; color:#333; }

@media (max-width: 900px) {
    .fernoi-catalog-wrapper { flex-direction:column; height:auto; padding-bottom: 40px; }
    .fixed-promo-column { margin-right:0; margin-bottom:20px; height:auto; }
    .promo-card { height:180px; flex-direction:row; gap:20px; text-align:left; }
    .promo-card i { margin-bottom:0; font-size:40px; }
    .slider-viewport { overflow-x: auto; padding: 10px 0; }
    .modal-box { flex-direction:column; }
    .modal-img-col { width:100%; height:220px; }
    .modal-info-col { width:100%; padding:25px; }
    .slider-dots { bottom: 0; }
}/* End custom CSS */