.elementor-2060 .elementor-element.elementor-element-ff4300d{--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;--margin-top:0px;--margin-bottom:-91px;--margin-left:0px;--margin-right:0px;--z-index:999;}.elementor-2060 .elementor-element.elementor-element-ff4300d:not(.elementor-motion-effects-element-type-background), .elementor-2060 .elementor-element.elementor-element-ff4300d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-589e937 );}.elementor-2060 .elementor-element.elementor-element-ff4300d.e-con{--align-self:center;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_inner_menu{background-color:var( --e-global-color-f8d9915 );}.elementor-2060 .elementor-element.elementor-element-5ce9bf2{z-index:9999;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue-input-wrapper-align{justify-content:flex-start;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_inner_menu-box{transform:translate(0, 0px);}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_hamburger{background-color:var( --e-global-color-589e937 );padding:15px 15px 15px 15px;border-radius:0px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .outer-menu input:hover + .ue_hamburger{background-color:var( --e-global-color-589e937 );}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_hamburger,.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .checkbox-toggle{width:60px;height:60px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu_wrapper{height:60px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue-input-wrapper{width:60px;height:60px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_hamburger_custom_open > *,.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_hamburger_custom_close > *{font-size:35px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu > div > div{text-align:left;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu > div > div > div{justify-content:flex-start;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu  div  div  ul  li a{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu ul li a{color:var( --e-global-color-ff32d11 );}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu ul li{margin:4px 2px 4px 0px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu  div  div  ul ul  li a{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:500;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu ul ul li a{color:var( --e-global-color-ff32d11 );}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu ul ul li a:after{background-color:#ffffff;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu ul ul li{margin:2px 2px 2px 08px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu-social-icons a{color:#ffffff;font-size:15px;margin:5px 5px 5px 5px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu-social-icons a svg{fill:#ffffff;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu-social-icons a:hover{color:#ffffff;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu-social-icons a:hover svg{fill:#ffffff;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu-social-icons img{width:15px;height:15px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .ue_menu-social-icons{margin-top:20px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .collapsed i::before,.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .expanded i::before{font-size:14px;}.elementor-2060 .elementor-element.elementor-element-5ce9bf2 .uc-menu-item-pointer svg{width:14px;height:14px;}.elementor-2060 .elementor-element.elementor-element-62ff2043{width:var( --container-widget-width, 100% );max-width:100%;margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 82px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;}.elementor-2060 .elementor-element.elementor-element-62ff2043 img{width:100%;}.elementor-2060 .elementor-element.elementor-element-ffd4d7f{margin:0.2rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}.elementor-2060 .elementor-element.elementor-element-78856de{margin:0.7rem -7rem calc(var(--kit-widget-spacing, 0px) + 0rem) 1rem;padding:0rem 0rem 0rem 0rem;z-index:999;}.elementor-2060 .elementor-element.elementor-element-78856de .elementor-icon-wrapper{text-align:start;}.elementor-2060 .elementor-element.elementor-element-78856de.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-ff32d11 );}.elementor-2060 .elementor-element.elementor-element-78856de.elementor-view-framed .elementor-icon, .elementor-2060 .elementor-element.elementor-element-78856de.elementor-view-default .elementor-icon{color:var( --e-global-color-ff32d11 );border-color:var( --e-global-color-ff32d11 );}.elementor-2060 .elementor-element.elementor-element-78856de.elementor-view-framed .elementor-icon, .elementor-2060 .elementor-element.elementor-element-78856de.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-ff32d11 );}.elementor-2060 .elementor-element.elementor-element-78856de .elementor-icon{font-size:1.2rem;}.elementor-2060 .elementor-element.elementor-element-78856de .elementor-icon svg{height:1.2rem;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__content-wrapper{right:0;transform:translateX(var(--pa-slide-mc-width));-webkit-transform:translateX(var(--pa-slide-mc-width));-ms-transform:translateX(var(--pa-slide-mc-width));}.elementor-2060 .elementor-element.elementor-element-c1b2292{width:var( --container-widget-width, 10% );max-width:10%;--container-widget-width:10%;--container-widget-flex-grow:0;}.elementor-2060 .elementor-element.elementor-element-c1b2292 > .elementor-widget-container{margin:0rem 0rem 0rem 6rem;padding:0rem 0rem 0rem 0rem;}.elementor-2060 .elementor-element.elementor-element-c1b2292.elementor-element{--align-self:center;--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:0;}.elementor-2060 .elementor-element.elementor-element-c1b2292.pa-woo-mc__default .pa-woo-mc__outer-container{justify-content:center;}.elementor-2060 .elementor-element.elementor-element-c1b2292.pa-woo-mc__float .pa-woo-mc__inner-container{align-items:center;}.pa-woo-mc__overlay-c1b2292{background-color:rgba(0,0,0,0.5);}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__cart-title{order:0;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__product-thumbnail{width:2em;height:2em;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__product-thumbnail img{object-fit:contain;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__item-wrapper{column-gap:10px;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__product-data{justify-content:space-between;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__item-divider{border-style:solid;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__cross-sells-heading{order:0;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__subtotal-heading{order:0;font-family:"Montserrat", Sans-serif;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__cart-buttons{flex-wrap:nowrap;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__view-cart{order:0;background-color:var( --e-global-color-f8d9915 );}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__badge{background-color:var( --e-global-color-ff32d11 );}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__cart-footer .pa-woo-mc__subtotal{font-family:"Montserrat", Sans-serif;}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__btn-txt{text-shadow:0px 0px 0px rgba(0,0,0,0.3);}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__view-cart .pa-woo-mc__btn-txt{color:var( --e-global-color-ff32d11 );}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__checkout .pa-woo-mc__btn-txt{color:var( --e-global-color-f8d9915 );}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__checkout{background-color:var( --e-global-color-ff32d11 );}.elementor-2060 .elementor-element.elementor-element-c1b2292 .pa-woo-mc__mc-btn{box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-ff32d11 );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-2060 .elementor-element.elementor-element-ff4300d{--width:100%;--justify-content:space-between;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 10px;--row-gap:0px;--column-gap:10px;--flex-wrap:nowrap;}.elementor-2060 .elementor-element.elementor-element-62ff2043{width:100%;max-width:100%;margin:0.8rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}.elementor-2060 .elementor-element.elementor-element-ffd4d7f{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2060 .elementor-element.elementor-element-ffd4d7f.elementor-element{--align-self:center;}.elementor-2060 .elementor-element.elementor-element-78856de{width:auto;max-width:auto;margin:2vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0.8vw;}.elementor-2060 .elementor-element.elementor-element-78856de.elementor-element{--align-self:center;}.elementor-2060 .elementor-element.elementor-element-c1b2292{width:auto;max-width:auto;}.elementor-2060 .elementor-element.elementor-element-c1b2292 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2060 .elementor-element.elementor-element-c1b2292.elementor-element{--align-self:center;}.elementor-2060 .elementor-element.elementor-element-c1b2292.pa-woo-mc__default .pa-woo-mc__outer-container{justify-content:flex-end;}.elementor-2060 .elementor-element.elementor-element-c1b2292.pa-woo-mc__float .pa-woo-mc__inner-container{align-items:flex-end;}}@media(min-width:768px){.elementor-2060 .elementor-element.elementor-element-ff4300d{--width:100%;}}/* Start custom CSS for ucaddon_fullscreen_navigation_menu, class: .elementor-element-5ce9bf2 *//* Riduce il pannello del menu a 400px e lo allinea a sinistra */
.ue_menu {
    max-width: 400px !important;
    width: 400px !important;
    left: 0 !important;
    right: auto !important;
}

/* Assicura che l'overlay scuro copra comunque tutta la pagina */
.ue_menu_overlay {
    width: 100vw !important;
}



/* Nasconde la X bianca di default del widget ue_menu */
.ue_menu .ue_menu_close_icon, 
.ue_menu .ue-menu-close-button,
.ue_menu .ue_menu_toggle.active {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}


/* Forza il menu e il suo overlay sopra a qualsiasi altro elemento (footer incluso) */
.ue_menu, 
.ue_menu_overlay {
    z-index: 999999 !important;
}

/* Se il tuo footer ha una posizione relativa/fissa, questo lo "abbassa" */
footer, .elementor-location-footer {
    z-index: 1 !important;
}




/* --- 2. FORZA VISIBILITÀ TASTO CHIUSURA --- */

/* Se usi l'hamburger dell'header come X, assicurati che non venga nascosto */
.ue-menu-toggle, .hamburger, .menu-toggle {
    z-index: 10000000 !important; /* Il livello massimo */
    position: relative;
    display: block !important; 
    visibility: visible !important;
    opacity: 1 !important;
}

/* Mantiene la gerarchia corretta senza toccare la posizione */
header, .site-header, .elementor-location-header {
    z-index: 9999999 !important; /* Più alto del menu */
}

/* Il menu resta appena sotto l'header */
.ue_menu, .ue_menu_overlay {
    z-index: 999999 !important; 
}

/* Forza l'hamburger ad essere sempre visibile e cliccabile */
.ue-menu-toggle, .hamburger {
    z-index: 10000000 !important;
    position: relative;
}


@media (max-width: 767px) {
    /* Il contenitore che "appare" quando apri il menu */
    .ue_menu { 
        width: 65% !important; /* Imposta la larghezza che desideri */
    }
}



/* 1. STILE BASE (Tutto Nero) */
#menu-menu-principale li a,
.uc-menu-item-pointer i {
    color: #000000 !important;
    transition: color 0.3s ease !important;
}

/* 2. EFFETTO HOVER GENERALE (Tutto grigio quando entri nel menu) */
#menu-menu-principale:hover li a,
#menu-menu-principale:hover .uc-menu-item-pointer i {
    color: #bbbbbb !important;
}

/* 3. FOCUS SINGOLA VOCE (Nero solo dove si trova il mouse) */
/* Questo selettore forza il nero sia per il menu principale che per ogni singola riga del sottomenu */
#menu-menu-principale li a:hover,
#menu-menu-principale li:hover > a,
#menu-menu-principale li:hover > a .uc-menu-item-pointer i {
    color: #000000 !important;
    opacity: 1 !important;
}

/* 4. AGGIUSTAMENTO FRECCE */
/* Permette il click sulla freccia */
.uc-menu-item-pointer {
    pointer-events: auto !important; 
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center;
}

.uc-menu-item-pointer i {
    font-size: 0.6rem !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
    display: inline-block !important;
    /* Rimuove eventuali rotazioni che bloccano lo script */
    transition: transform 0.3s ease !important; 
}

/* Assicura che il sottomenu possa essere mostrato dallo script */
#menu-menu-principale .sub-menu {
    transition: all 0.3s ease !important;
}


/* Stile per la freccia quando il sottomenu è aperto (opzionale) */
#menu-menu-principale .menu-item-has-children > a i {
    transition: transform 0.3s ease !important;
}


/* 1. Rimuove la transizione di rotazione e movimento ovunque (TUTTO SECCO) */
.outer-menu, 
.outer-menu *, 
.outer-menu i, 
.outer-menu svg {
    transition: none !important;
    transition-duration: 0s !important;
    animation: none !important;
}

/* 4. PROTEZIONE FRECCE MENU: Forza le frecce del sottomenu a NON ruotare di 45° */
#menu-menu-principale .uc-menu-item-pointer i {
    transform: none !important;
    -webkit-transform: none !important;
}

/* 5. Assicura che il toggle rimanga nero e senza scivolamenti */
.uc-list-menu-mobile-toggle,
.uc-list-menu-mobile-toggle i {
    transition: none !important;
    color: #000000 !important;
}


/* Allinea le lingue del menu in orizzontale */
.polylang-item {
    display: inline-block !important;
    padding: 0 5px;
}


/* Forza le voci Polylang sulla stessa riga */
.menu-item-language, 
.polylang-item {
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Gestisce il contenitore della lista per evitare che vadano a capo */
.menu-item-language-current {
    display: inline-block !important;
}


#menu-menu-principale li.lang-item {
    display: inline-block !important;
    float: none !important;
}

/* Separatore | dentro al link EN */
#menu-menu-principale li.lang-item-en > a::before {
    content: "|";
    margin: 0 5px;
    color: inherit;
    display: inline-block;
}


/* Evita che vadano a capo */
#menu-menu-principale li.lang-item + li.lang-item {
    margin-left: 0;
}

/* Spazio sopra alle lingue (simula una riga vuota) */
#menu-menu-principale li.lang-item {
    margin-top: 20px;
}



/* --- GESTIONE MENU EN --- */

/* 2. EFFETTO HOVER GENERALE (Tutti i menu) */
#menu-menu-principale:hover li a,
#menu-menu-principale-en:hover li a,
#menu-menu-principale:hover .uc-menu-item-pointer i,
#menu-menu-principale-en:hover .uc-menu-item-pointer i {
    color: #bbbbbb !important;
}

/* 3. FOCUS SINGOLA VOCE (Inclusi i link lingua) */
#menu-menu-principale li a:hover,
#menu-menu-principale-en li a:hover,
#menu-menu-principale li:hover > a,
#menu-menu-principale-en li:hover > a {
    color: #000000 !important;
    opacity: 1 !important;
}



/* 1. Allineamento lingue orizzontale per entrambi i menu (IT ed EN) */
#menu-menu-principale li.lang-item,
#menu-menu-principale-en li.lang-item {
    display: inline-block !important;
    float: none !important;
    margin-top: 20px !important; /* Spazio sopra le lingue */
}

/* Evita che vadano a capo */
#menu-menu-principale li.lang-item + li.lang-item,
#menu-menu-principale-en li.lang-item + li.lang-item {
    margin-left: 0 !important;
}

/* 2. Inserimento del Separatore Pipe (|) */
/* Usiamo un selettore che funzioni su entrambi gli ID dei menu */
#menu-menu-principale li.lang-item-en > a::before,
#menu-menu-principale-en li.lang-item-en > a::before {
    content: "|";
    margin: 0 8px;
    color: inherit; /* Segue il colore del testo (nero o grigio in hover) */
    display: inline-block;
    font-weight: 300; /* Leggero per eleganza */
}

/* 3. Correzione per Polylang Items */
.menu-item-language, 
.polylang-item {
    display: inline-block !important;
    vertical-align: middle !important;
}






/* --- 6. FIX LINGUE PER ENTRAMBI I MENU --- */
.ue_menu li.lang-item {
    display: inline-block !important;
    float: none !important;
    margin-top: 20px !important;
}

.ue_menu li.lang-item-en > a::before {
    content: "|";
    margin: 0 8px;
    color: inherit;
    display: inline-block;
}


/* Forza il sottomenu della pagina attiva ad essere aperto da subito */
.ue_menu .current-menu-ancestor > ul.sub-menu,
.ue_menu .current-menu-item > ul.sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
}


/* --- FIX HOVER MENU INGLESE (Inclusa voce attiva) --- */

/* 1. Quando il mouse ENTRA nel menu, TUTTO diventa grigio (anche ABOUT se è attivo) */
#menu-menu-principale-en:hover li a,
#menu-menu-principale-en:hover .uc-menu-item-pointer i {
    color: #bbbbbb !important;
}

/* 2. Quando il mouse è SOPRA una voce specifica, quella diventa NERA (testo + freccia) */
#menu-menu-principale-en li:hover > a,
#menu-menu-principale-en li:hover > a .uc-menu-item-pointer i,
#menu-menu-principale-en li a:hover,
#menu-menu-principale-en li a:hover .uc-menu-item-pointer i {
    color: #000000 !important;
    opacity: 1 !important;
}

/* 3. Stato di riposo (quando il mouse è FUORI dal menu): 
      solo la voce attiva (ABOUT) torna nera */
#menu-menu-principale-en:not(:hover) li.current-menu-item > a,
#menu-menu-principale-en:not(:hover) li.current-menu-ancestor > a {
    color: #000000 !important;
}







/* 1. NASCONDE SVG INLINE */
.ue_hamburger svg {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
}

/* 2. RESET CONTENITORI */
.ue_hamburger,
.ue_hamburger div,
.ue_hamburger span {
    background-color: transparent !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    box-shadow: none !important;
    border: none !important;
    fill: none !important;
}

/* 3. DIMENSIONI ICONE - senza toccare background e senza filter */
.ue_hamburger_custom_open, 
.ue_hamburger_custom_close {
    display: none !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-color: transparent !important;
    filter: none !important;
}

/* 4. LOGICA DI SCAMBIO */

/* Stato CHIUSO: Hamburger */
.outer-menu:not(.menu-opened) .ue_hamburger_custom_open {
    display: block !important;
    background-image: url('https://silviagioana.com/wp-content/uploads/2026/01/menu-burger.svg') !important;
}

/* Stato APERTO: Cross */
.outer-menu.menu-opened .ue_hamburger_custom_close {
    display: block !important;
    background-image: url('https://silviagioana.com/wp-content/uploads/2026/01/cross.svg') !important;
    /* Riduce la dimensione dell'icona all'80% */
    background-size: 65% !important;
    
    /* Assicura che l'icona sia centrata e non si ripeta */
    background-position: center !important;
    background-repeat: no-repeat !important;
}


.ue_menu ul.sub-menu {
    transition: height 0.3s ease-in-out !important;
    overflow: hidden !important; /* Fondamentale per far funzionare height 0px */
}



/* BLOCCA EREDITARIETÀ FILL SUL CONTENITORE */
.ue_menu_wrapper,
.ue-input-wrapper,
.ue-input-wrapper-align,
.checkbox-toggle {
    fill: none !important;
    color: inherit !important;
}/* End custom CSS */
/* Start custom CSS for theme-site-logo, class: .elementor-element-62ff2043 *//* 1. Stato normale: il logo ha la sua grandezza naturale */
.mio-logo img {
    width: 100% !important; 
    max-width: 250px; /* Imposta qui la larghezza massima che vuoi inizialmente */
    height: auto !important;
    transition: all 0.4s ease-in-out !important; /* Rende il cambio fluido */
}


/* 2. Stato Sticky: quando scorri, il logo si rimpicciolisce */
/* Nota: Funziona solo se hai impostato lo Sticky su Top nel contenitore padre */
.elementor-sticky--effects .mio-logo img {
    padding-top:8px;
    max-width: 210px; /* Regola questo valore per decidere quanto deve diventare piccolo */
}

/* 3. COSA SUCCEDE IN HOVER SULL'HEADER (quando sei in alto) - mod 22012026 */
/* Impediamo al logo di saltare se l'header cambia leggermente comportamento */
header:hover .mio-logo img,
.elementor-section:hover .mio-logo img {
    /* Se hai un effetto che rimpicciolisce al passaggio del mouse, 
       assicurati che non ci siano padding che si attivano qui */
    padding-top:8px; !important; 
    max-width: 210px; /* Regola questo valore per decidere quanto deve diventare piccolo */
}

/* 3. Sfondo dell'header che diventa bianco allo scorrimento */
.elementor-sticky--effects {
    background-color: #FFFFFF !important;
    box-shadow: 0px 4px 10px rgba(0,0,0,0.1); /* Aggiunge un'ombra leggera per staccare dal fondo */
}



/* OTTIMIZZAZIONE PER SCHERMI STRETTI (Es. Huawei, iPhone SE) */
@media (max-width: 400px) {
    /* Riduciamo il logo per far spazio alle icone */
    .mio-logo img {
        max-width: 150px !important; 
    }

    /* Riduciamo lo spazio tra gli elementi dell'header */
    .elementor-widget {
        margin-right: 5px !important;
        margin-left: 5px !important;
    }
    
    /* Se le icone sono in un contenitore, forziamo il non-accavallamento */
    .elementor-widget-container {
        display: flex;
        justify-content: center;
    }
}/* End custom CSS */
/* Start custom CSS for premium-mini-cart, class: .elementor-element-c1b2292 *//* ===========================================
   STRUTTURA GENERALE (oltre 1/3 PAGINA & ANIMAZIONE)
   =========================================== */
.pa-woo-mc__content-wrapper {
    width: 40vw !important;
    max-width: 40vw !important;
    min-width: 350px;
    right: -40vw !important; /* Nasconde correttamente */
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    background-color: #fff !important;
}

.pa-woo-mc__content-wrapper.pa-woo-mc__open {
    right: 0 !important; /* Apre correttamente */
}

/* Header centrato stile Foto 1 */
.pa-woo-mc__cart-header {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    border-bottom: 1px solid #e5e5e5 !important;
    padding: 20px !important;
    position: relative;
}

.pa-woo-mc__cart-title {
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
}

.pa-woo-mc__close-button {
    position: absolute !important;
    right: 20px;
}

/* ===========================================
   LAYOUT PRODOTTI (DUE COLONNE)
   =========================================== */
.wpr-woo-mini-cart li.mini_cart_item {
    display: flex !important;
    padding: 25px 0px !important;
    border-bottom: 1px solid #f9f9f9 !important;
    list-style: none !important;
    position: relative;
    align-items: flex-start !important;
    margin-left: -10px !important;
}

/* Colonna Immagine */
.wpr-mini-cart-image {
    flex: 0 0 100px !important;
    margin-right: 20px !important;
}

.wpr-mini-cart-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* Colonna Dettagli */
.wpr-mini-cart-name-and-quantity {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding-right: 10px !important;
}

.wpr-mini-cart-product-name a {
    color: #000 !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    display: block;
    margin-bottom: 5px;
}


/* ===========================================
   VARIANTI (Etichetta e Valore sulla stessa riga)
   =========================================== */
.variation {
    display: block !important; /* Reset del contenitore */
    margin: 5px 0 !important;
}

.variation dt, 
.variation dd {
    display: inline !important; /* Forza l'allineamento orizzontale */
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 500 !important;
    color: #000 !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
}

.pa-woo-mc__content-wrapper dl.variation dd {
    margin-right: 0px !important;
}

/* Rimuove l'andata a capo forzata dal tag <p> dentro <dd> */
.variation dd p {
    display: inline !important;
    margin: 0 !important;
}

/* Aggiunge spazio dopo il valore per non incollare la variante successiva */
.variation dd::after {
    content: "\A"; /* Forza l'andata a capo solo DOPO il valore (es: dopo SMALL) */
    white-space: pre;
}

/* Spazio tra i due punti e il valore */
.variation dt {
    margin-right: 4px !important;
}

/* ===========================================
   QUANTITÀ E PREZZO (Sotto le varianti)
   =========================================== */
.wpr-mini-cart-quantity {
    position: static !important; /* Ritorna nel flusso normale sotto le varianti */
    display: block !important;
    margin: 10px 0 5px 0 !important;
    font-size: 0.8rem !important;
    color: #000 !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
}

.wpr-mini-cart-quantity .quantity::before {
    content: "QUANTITÀ: " !important;
    font-size: 0.8rem !important; /* Ridà dimensione al testo */
    font-weight: 500 !important;
}


/* Contenitore relativo per permettere al prezzo di agganciarsi qui */
.wpr-woo-mini-cart li.mini_cart_item {
    position: relative !important;
}

/* Nasconde la "x" e isola il prezzo */
.wpr-mini-cart-quantity .quantity {
    font-size: 0.8rem !important; /* Nasconde il testo "1 ×" e la x */
}

/* Ripristina la visibilità solo per il prezzo e lo sposta a destra */
.wpr-mini-cart-quantity .amount {
    font-size: 0.8rem !important;
    position: absolute !important;
    top: 25px !important; /* Allineato verticalmente al titolo */
    right: 20px !important; /* Allineato al margine destro */
    font-weight: 500 !important;
    color: #000 !important;
}



/* ===========================================
   3. TASTO RIMUOVI: SOTTO AL PREZZO
   =========================================== */
.wpr-woo-mini-cart li.mini_cart_item {
    display: flex !important;
    flex-wrap: wrap !important; /* Consente agli elementi di andare a capo se necessario */
    padding: 25px 0px !important;
    position: relative;
    margin-left:-10px !important;
}

.wpr-mini-cart-remove {
    position: relative !important; /* Annulla posizionamenti assoluti del plugin */
    display: block !important;
    width: 100% !important; /* Forza il tasto a prendersi tutta la riga sotto */
    margin-top: -10px !important; /* Spazio tra prezzo e RIMUOVI */
    margin-left: 120px !important; /* Allinea il testo con l'inizio dei dettagli (Immagine 100px + Margin 20px) */
    text-align: left !important;
    right: auto !important;
    top: auto !important;
    text-decoration: underline !important;
}

.wpr-mini-cart-remove a.remove {
    display: inline-block !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    text-decoration: underline !important;
    color: #000 !important;
    visibility: hidden; /* Nasconde la X originale */
    position: relative;
    width: auto !important;
    height: auto !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

.wpr-mini-cart-remove a.remove::before {
    content: "RIMUOVI" !important;
    visibility: visible;
    position: absolute;
    text-decoration: underline !important;
    left: 0;
    top: 0;
    letter-spacing: 1px;
    white-space: nowrap;
}


/* Impedisce al testo di cambiare colore o sparire all'hover */
.wpr-mini-cart-remove a.remove:hover,
.wpr-mini-cart-remove a.remove:focus,
.wpr-mini-cart-remove a.remove:active {
    color: transparent !important; /* Mantiene la X originale invisibile */
    background: none !important;
    border: none !important;
    text-decoration: underline !important;
    opacity: 1 !important;
}

/* Assicura che il testo "RIMUOVI" resti nero e sottolineato */
.wpr-mini-cart-remove a.remove:hover::before {
    color: #000 !important;
    text-decoration: underline !important;
    opacity: 1 !important;
}


/* ===========================================
   FOOTER E BOTTONI
   =========================================== */
/* Footer e Pareggio Bottoni */
.pa-woo-mc__cart-footer {
    padding: 20px !important;
}

/* Contenitore bottoni per metterli affiancati e uguali */
.pa-woo-mc__buttons-wrapper {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
}

.pa-woo-mc__mc-btn {
    flex: 1 !important; /* Entrambi i tasti prendono lo stesso spazio */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important; /* Altezza fissa identica per entrambi */
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    padding: 0 !important; /* Padding rimosso perché gestito da height */
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 0.75rem !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important; /* Rimuovi il margine che sballava l'altezza */
}

.pa-woo-mc__view-cart { 
    background: #fff !important; 
    color: #000 !important; 
}

.pa-woo-mc__checkout { 
    background: #000 !important; 
    color: #fff !important; 
}
/* Nascondi elementi extra di WooCommerce */
.woocommerce-mini-cart__total, .woocommerce-mini-cart__buttons { display: none !important; }

/* Responsive Mobile */
@media (max-width: 767px) {
    .pa-woo-mc__content-wrapper {
        width: 100vw !important;
        max-width: 100vw !important;
        right: -100vw !important;
    }
}


/* ===========================================
   4. PULIZIA CONTENITORE TESTI
   =========================================== */
.wpr-mini-cart-name-and-quantity {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-right: 0 !important;
}


/* ===========================================
   TRADUZIONI INFALLIBILI (Basate su html lang)
   =========================================== */

/* 1. TITOLO CARRELLO (CARRELLO -> CART) */
html[lang^="en"] .pa-woo-mc__cart-title {
    font-size: 0 !important;
}
html[lang^="en"] .pa-woo-mc__cart-title::before {
    content: "CART" !important;
    font-size: 0.9rem !important;
    letter-spacing: 2px !important;
    display: block;
}

/* 2. QUANTITÀ (QUANTITÀ -> QUANTITY) */
/* Italiano di base */
.wpr-mini-cart-quantity .quantity::before {
    content: "QUANTITÀ: " !important;
}
/* Inglese */
html[lang^="en"] .wpr-mini-cart-quantity .quantity::before {
    content: "QUANTITY: " !important;
}

/* 3. RIMUOVI (RIMUOVI -> REMOVE) */
/* Italiano di base */
.wpr-mini-cart-remove a.remove::before {
    content: "RIMUOVI" !important;
}
/* Inglese */
html[lang^="en"] .wpr-mini-cart-remove a.remove::before {
    content: "REMOVE" !important;
}

/* 4. SUBTOTALE NEL FOOTER */
html[lang^="en"] .pa-woo-mc__subtotal-heading {
    font-size: 0 !important;
}
html[lang^="en"] .pa-woo-mc__subtotal-heading::before {
    content: "SUBTOTAL ";
    font-size: 0.75rem !important;
    text-transform: uppercase;
}
/* Opzionale: cambia "prodotto/i" in "items" */
html[lang^="en"] .pa-woo-mc__subtotal-heading::after {
    content: " ITEMS";
    font-size: 0.75rem !important;
}



/* ===========================================
   FIX DEFINITIVO MOBILE: MINI CART
   =========================================== */
@media (max-width: 767px) {
    
    /* 1. Reset della struttura per evitare sovrapposizioni */
    .wpr-woo-mini-cart li.mini_cart_item {
        display: flex !important;
        flex-wrap: wrap !important;
        padding-bottom: 50px !important; /* Spazio per il tasto Rimuovi in fondo */
        align-items: flex-start !important;
    }

    /* 2. Sposta il PREZZO sotto il titolo */
    .wpr-mini-cart-quantity .amount {
        position: static !important; /* Rimuove il posizionamento assoluto che lo sovrapponeva */
        display: block !important;
        text-align: left !important;
        margin-top: 5px !important;
        font-weight: 600 !important;
        font-size: 0.85rem !important;
    }

    /* 3. Gestione QUANTITÀ e VARIANTI */
    .wpr-mini-cart-quantity {
        display: block !important;
        margin-top: 10px !important;
        width: 100% !important;
    }

    /* 4. Fix Tasto RIMUOVI (Ancorato in basso a sinistra) */
    .wpr-mini-cart-remove {
        position: absolute !important;
        bottom: 15px !important; /* Lo fissa in fondo al contenitore del prodotto */
        left: 0 !important;
        margin-left: 119px !important; /* Allineato all'inizio dei testi dopo l'immagine */
        margin-top: 0 !important; /* Rimuove i margini negativi che causavano sovrapposizione */
        width: auto !important;
        text-align: left !important;
    }

    /* 5. Ottimizzazione Titolo Prodotto */
    .wpr-mini-cart-product-name a {
        padding-right: 0 !important; /* Libera lo spazio usato prima dal prezzo */
        font-size: 0.75rem !important; /* Leggermente più piccolo per evitare troppi a capo */
    }
}

/* ===========================================
   FIX MOBILE: COPERTURA MENU HAMBURGER
   =========================================== */
@media (max-width: 767px) {
    /* Alza il carrello sopra ogni altro elemento dell'header */
    .pa-woo-mc__content-wrapper {
        z-index: 999999 !important;
    }

    /* Se presente, alza anche l'overlay scuro di sfondo */
    .pa-woo-mc__opened-overlay {
        z-index: 999998 !important;
    }

    /* Forza la scomparsa di qualsiasi toggle menu se il carrello è aperto */
    /* Nota: Questo funziona se il carrello e l'header condividono il contenitore padre */
    .pa-woo-mc__open .elementor-menu-toggle {
        display: none !important;
    }
}


/* Regola la dimensione della borsa (SVG) */
.pa-woo-mc__icon-wrapper img {
    width: 20px !important;  /* Prova 30px o 32px per vederla bene */
    height: auto !important;
    padding-top:3px !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff4300d *//* 1. Stato iniziale: Trasparente + Altezza 10vh */
.elementor-2060 .elementor-element.elementor-element-ff4300d {
    background-color: transparent !important;
    transition: all 0.4s ease-in-out !important;
    height: 10vh !important;
    min-height: 10vh !important;
    display: flex !important;
    flex-direction: row !important; /* Forza la riga */
    align-items: center !important; /* Centra tutto verticalmente */
    justify-content: space-between !important; /* Distribuisce gli elementi */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 2. Stato BIANCO: quando si scorre (Sticky) OPPURE al passaggio del mouse (Hover) */
.elementor-2060 .elementor-element.elementor-element-ff4300d.elementor-sticky--effects,
.elementor-2060 .elementor-element.elementor-element-ff4300d:hover {
    background-color: #FFFFFF !important;
    box-shadow: 0px 4px 15px rgba(0,0,0,0.1);
    height: 10vh !important;
    min-height: 10vh !important;
    display: flex !important;
    align-items: center !important; /* Riafferma il centramento */
}

/* 3. Logo rimpicciolito e proporzionato ai 10vh */
.elementor-2060 .elementor-element.elementor-element-ff4300d .mio-logo img {
    max-height: 7vh !important; 
    padding-bottom: 1vh !important;
    width: auto !important;
    transition: all 0.4s ease-in-out !important;
    display: block !important;
}

.elementor-2060 .elementor-element.elementor-element-ff4300d.elementor-sticky--effects .mio-logo img,
.elementor-2060 .elementor-element.elementor-element-ff4300d:hover .mio-logo img {
    max-width: 190px !important;
    max-height: 6.5vh !important;
}

/* 4. ICONE NERE (Tranne la lente di ricerca) */
.elementor-2060 .elementor-element.elementor-element-ff4300d.elementor-sticky--effects i, 
.elementor-2060 .elementor-element.elementor-element-ff4300d.elementor-sticky--effects svg:not(.luxury-search-wrapper svg),
.elementor-2060 .elementor-element.elementor-element-ff4300d:hover i,
.elementor-2060 .elementor-element.elementor-element-ff4300d:hover svg:not(.luxury-search-wrapper svg) {
    fill: #000000 !important;
    color: #000000 !important;
}

/* 4b. ESCLUDE L'HAMBURGER dal fill nero */
.elementor-2060 .elementor-element.elementor-element-ff4300d.elementor-sticky--effects .ue_hamburger svg,
.elementor-2060 .elementor-element.elementor-element-ff4300d:hover .ue_hamburger svg {
    fill: none !important;
    color: transparent !important;
}


/* 5. PROTEZIONE SPECIFICA LENTE (Evita il riempimento nero) */
.search-trigger-icon svg,
.search-trigger-icon svg * {
    fill: none !important;
    fill-opacity: 0 !important;
    stroke: #000000 !important;
}

/* 6. UNIFORMA LA BARRA DI RICERCA ALL'HEADER */
.luxury-overlay {
    background-color: #FFFFFF !important;
    box-shadow: 0px 4px 15px rgba(0,0,0,0.1) !important;
    border: none !important;
}

/* 7. ALLINEAMENTO PRECISO ELEMENTI - CORRETTO */
.search-trigger-icon {
    transform: translateY(0) !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important; /* Occupa tutta l'altezza per centrarsi */
}

/* Forza il centramento per tutti i widget interni ed evita spostamenti */
.elementor-2060 .elementor-element.elementor-element-ff4300d .elementor-widget-icon, 
.elementor-2060 .elementor-element.elementor-element-ff4300d .premium-mini-cart,
.elementor-2060 .elementor-element.elementor-element-ff4300d .elementor-widget-ucaddon_fullscreen_navigation_menu,
.elementor-2060 .elementor-element.elementor-element-ff4300d .elementor-widget-container,
.elementor-2060 .elementor-element.elementor-element-ff4300d .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}/* End custom CSS */