







/* ==============================================================
   FIX BORDO INFERIORE CARRELLO MOBILE (< 576px)
   ============================================================== */
@media (max-width: 575.98px) {
    /* 1. Forza la cornice completa sulla card del prodotto */
    .cart-grid-body .cart-item,
    li.cart-item {
        border: 1px solid #dddddd !important;
        border-bottom: 1px solid #dddddd !important;
        margin-bottom: 15px !important;
        overflow: visible !important; /* Evita il ritaglio del bordo inferiore */
        box-sizing: border-box !important;
    }

    /* 2. Assicura che la tabella interna non copra il fondo */
    .cart-item-table {
        border-bottom: none !important;
        margin-bottom: 0 !important;
    }

    /* 3. Spazio di sicurezza interno affinché i tasti e il prezzo non tocchino il bordo */
    .cart-item-body {
        padding-bottom: 12px !important;
        box-sizing: border-box !important;
    }
}











/* ==============================================================================
   INI Ottimizazione SuperCheckout
   ============================================================================== */

#velsof_supercheckout_form .progress {
    height: 18px !important;
}

.shopping-cart-description .kblabel.label-success {
    font-size: 13px !important;
    padding: 3px 6px !important;
}


/* ==============================================================================
   TOOLBAR CATALOGO: RIDIMENSIONAMENTO FLUIDO DINAMICO TASTO "FILTRI"
   ============================================================================== */

/* 1. Ridimensionamento continuo proporzionale allo schermo */
@media (max-width: 480px) {
    a[href*="target=filters"],
    .ce-filters__toggle {
        /* Il padding scala da 4px a 8px in verticale, e da 6px a 12px in orizzontale */
        padding: clamp(4px, 1.2vw, 8px) clamp(6px, 1.8vw, 12px) !important;
        height: auto !important;
        min-height: 32px !important;
    }

    /* Il font del testo "Filtri" scala fluidamente tra 10px e 13px */
    a[href*="target=filters"] .elementor-button-text,
    .ce-filters__toggle .elementor-button-text {
        font-size: clamp(10px, 2.8vw, 13px) !important;
        letter-spacing: -0.02em !important;
        white-space: nowrap !important;
    }

    /* Anche l'icona rimpicciolisce in proporzione */
    a[href*="target=filters"] .elementor-button-icon,
    .ce-filters__toggle .elementor-button-icon {
        font-size: clamp(11px, 3.2vw, 15px) !important;
        margin-right: clamp(2px, 0.8vw, 5px) !important;
    }
}

/* 2. Sotto i 340px: se lo spazio è davvero minimo, lascia solo l'icona */
@media (max-width: 340px) {
    a[href*="target=filters"] .elementor-button-text,
    .ce-filters__toggle .elementor-button-text {
        display: none !important;
    }

    a[href*="target=filters"] .elementor-button-icon,
    .ce-filters__toggle .elementor-button-icon {
        margin: 0 !important;
    }

    a[href*="target=filters"],
    .ce-filters__toggle {
        padding: 6px 10px !important;
        min-width: 34px !important;
    }
}


/* ==============================================================================
   SBLOCCO GLOBALE CONTAINER: NEUTRALIZZA I LIMITI 720/960/1140px DI BOOTSTRAP
   ============================================================================== */
@media (min-width: 768px), (min-width: 992px), (min-width: 1200px) {
    .container {
        width: 100% !important;
        max-width: 1400px !important; /* Estende la larghezza del sito a 1400px */
    }
}

.container {
    width: 100% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

#wrapper {
    padding-top: 3.5rem;
}

/* Nascondi il breadcrumb nativo del tema solo nella pagina prodotto */
#wrapper .breadcrumb {
    /* visibility: hidden; */
    display: none;
}

/* ==============================================================================
   FUMETTO WISHLIST: INGRANDIMENTO CUORE SPEZZATO
   ============================================================================== */
.amazon-wishlist-bubble .awb-heart {
    font-size: 1.45em !important; /* Cuoricino più grande e visibile */
    display: inline-block !important;
    vertical-align: -2px !important;
    margin-left: 4px !important;
    line-height: 1 !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.1));
}


/* ==============================================================================
   STATO WISHLIST VUOTA (EMPTY STATE CARD MODERNA & PULITA)
   ============================================================================== */

/* 1. Nasconde la barra "Ordina per" se la lista ha 0 prodotti */
.wishlist-products-container:has(.wishlist-list-empty) .sort-by-row,
.wishlist-products-container-header:has(~ .wishlist-list-empty) .sort-by-row {
    display: none !important;
}

/* 2. Card Centrata della Lista Vuota */
p.wishlist-list-empty,
.wishlist-list-empty {
    text-align: center !important;
    padding: 45px 25px !important;
    background: #f8fafc !important;
    border: 2px dashed #cbd5e1 !important;
    border-radius: 16px !important;
    max-width: 580px !important;
    margin: 25px auto 40px auto !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
}

/* 3. Icona Cuore Soft in Cima */
p.wishlist-list-empty::before {
    content: "♡" !important;
    font-size: 48px !important;
    line-height: 1 !important;
    color: #94a3b8 !important;
    margin-bottom: 6px !important;
    display: block !important;
    font-weight: 300 !important;
}

/* 4. Sottotitolo descrittivo */
p.wishlist-list-empty::after {
    content: "Non hai ancora aggiunto articoli ai tuoi preferiti. Clicca sul cuoricino sui prodotti che ti piacciono per ritrovarli qui!" !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: #64748b !important;
    line-height: 1.4 !important;
    max-width: 440px !important;
    margin-top: 4px !important;
    display: block !important;
}

/* 5. Pulsante "Torna alla Home / Catalogo" in basso */
.blockwishlist-view nav.wishlist-pagination,
.wishlist-products-container + nav,
.blockwishlist-view a[href*="controller=index"],
.blockwishlist-view a[href*="lists"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #0284c7 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.blockwishlist-view a:hover {
    color: #24b9d7 !important;
    text-decoration: underline !important;
}





/* ==============================================================================
   NASCONDI MINIA-LINK ORIZONTALE AL CENTRO DELLE MINIATURE
   ============================================================================== */
.minia-link {
    display: none !important;
}
  
  
/* ==============================================================================
   INI PAGINA WISHLIST: DESIGN COMPLETO DESKTOP, TABLET & MOBILE RESPONSIVE
   ============================================================================== */
.wishlist-footer-links {
    display: none;
}

.wishlist-products-container .sort-by-row {
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04) !important;
}

/* 1. Contenitore Pagina */
body#module-blockwishlist-view #wrapper,
body#module-blockwishlist-view #wrapper .container,
body#module-blockwishlist-view #content-wrapper,
.blockwishlist-view {
    max-width: 1400px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

/* 2. Header & Titolo H1 */
.wishlist-products-container-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
}

.wishlist-products-container-header h1 {
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #111111 !important;
    text-align: center !important;
    margin: 10px 0 15px 0 !important;
    width: 100% !important;
}

/* 3. Barra "Ordina per" Desktop & Mobile */
.wishlist-products-container-header .sort-by-row {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
    padding: 8px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 15px !important;
    gap: 10px !important;
}

.wishlist-products-container-header .sort-by-row > span,
.wishlist-products-container-header .sort-by-row label {
    font-size: 13px !important;
    color: #64748b !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

.wishlist-products-container .sort-by-row .select-title, .wishlist-products-container .sort-by-row button[data-toggle="dropdown"] {
    padding: 4px 12px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e18a !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    box-shadow: 0 1px 0px rgba(0, 0, 0, 0.04) !important;
    cursor: pointer !important;
}

.wishlist-products-container .sort-by-row .dropdown-menu {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 28px -4px rgba(0, 0, 0, 0.12) !important;
    padding: 6px !important;
    min-width: 200px !important;
    z-index: 100 !important;
}

.wishlist-products-container .sort-by-row .dropdown-menu a.select-list {
    display: flex !important;
    align-items: center !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: all 0.18s ease !important;
}

.wishlist-products-container .sort-by-row .dropdown-menu a.select-list:hover {
    background: #f0f9ff !important;
    color: #0284c7 !important;
    padding-left: 16px !important;
}

/* 4. Griglia Prodotti (Desktop: 4 colonne) */
.wishlist-products-list {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    margin: 10px 0 30px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.wishlist-products-list > li {
    margin: 0px !important;
    padding: 6px !important;
    list-style: none !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* 5. Struttura Card Prodotto */
.wishlist-products-item {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    padding: 14px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease-in-out !important;
    position: relative !important;
    box-sizing: border-box !important;
    height: 100% !important;
}

.wishlist-products-item:hover {
    border-color: #24b9d7 !important;
    box-shadow: 0 8px 20px rgba(36, 185, 215, 0.12) !important;
}

.wishlist-products-item .wishlist-product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: space-between !important;
    position: static !important;
}

.wishlist-products-item a.wishlist-product-link {
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    color: inherit !important;
    flex-grow: 1 !important;
    width: 100% !important;
}

/* 6. Box Immagine Centrato */
.wishlist-products-item .wishlist-product-image {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.wishlist-products-item .wishlist-product-image img {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    transform: none !important;
}

/* Silenziamento testi rumorosi */
.wishlist-products-item .wishlist-product-image .wishlist-product-availability,
.wishlist-products-item .wishlist-product-availability-responsive,
.wishlist-products-item .wishlist-product-combinations a {
    display: none !important;
}

/* 7. Dettagli Prodotto */
.wishlist-products-item .wishlist-product-right {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 4px 0 10px 0 !important;
    flex-grow: 1 !important;
    position: static !important;
}

.wishlist-products-item p.wishlist-product-title {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #0f172a !important;
    margin: 2px 0 4px 4px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 36px !important;
    text-align: left !important;
}

.wishlist-products-item:hover p.wishlist-product-title {
    color: #24b9d7 !important;
}

.wishlist-products-item p.wishlist-product-price {
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 4px 4px !important;
    text-align: left !important;
}

.wishlist-products-item .wishlist-product-price-promo {
    text-decoration: line-through !important;
    color: #94a3b8 !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
}

.wishlist-products-item .wishlist-product-combinations {
  	display: none;
}

/* 8. Tasto "Aggiungi al Carrello" */
.wishlist-products-item .wishlist-product-bottom {
    margin-top: auto !important;
    width: 100% !important;
}

.wishlist-products-item button.wishlist-product-addtocart {
    width: 100% !important;
    height: 38px !important;
    background: #0f172a !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    transition: background 0.2s ease !important;
}

.wishlist-products-item button.wishlist-product-addtocart:hover {
    background: #24b9d7 !important;
}

@media screen and (max-width: 768px) {
    .wishlist-products-container .page-content.card {
        box-shadow: none !important;
    }
}

/* ==============================================================================
   ADATTAMENTO RESPONSIVE: TABLET & SMARTPHONE (< 992px)
   ============================================================================== */

/* TABLET (768px - 991px): 3 Colonne */
@media (min-width: 768px) and (max-width: 991px) {
    .wishlist-products-list {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 12px !important;
    }
    
    .wishlist-products-item {
        padding: 12px !important;
    }
}

/* SMARTPHONE (< 768px): 2 Colonne Compatte (Stile App / Amazon) */
@media (max-width: 767px) {
    body#module-blockwishlist-view #wrapper .container,
    .blockwishlist-view {
        padding: 0 10px !important;
    }

    .wishlist-products-container-header h1 {
        font-size: 1.15rem !important;
        margin: 5px 0 10px 0 !important;
    }

    /* Toolbar compatta: distribuisce etichetta e select senza sformare */
    .wishlist-products-container-header .sort-by-row {
        justify-content: space-between !important;
        padding: 6px !important;
    }

    .wishlist-products-container .sort-by-row .select-title {
        min-width: 140px !important;
        padding: 5px 10px !important;
        font-size: 12px !important;
    }

    /* Griglia a 2 colonne perfetta */
    .wishlist-products-list {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        margin: 10px 0 25px 0 !important;
    }

    .wishlist-products-item {
        padding: 10px 8px !important;
        border-radius: 4px !important;
    }

    /* Immagine compatta */
    .wishlist-products-item .wishlist-product-image {
      	height: auto;
        margin-bottom: 4px !important;
    }

    /* Cestino proporzionato per smartphone */
    .wishlist-products-item button.wishlist-button-add {
        top: 6px !important;
        right: 6px !important;
    }

    .wishlist-products-item button.wishlist-button-add i {
        font-size: 15px !important;
    }

    /* Testi e prezzi ottimizzati */
    .wishlist-products-item p.wishlist-product-title {
        font-size: 13px !important;
        min-height: 32px !important;
        line-height: 1.3 !important;
        margin: 2px 4px !important;
    }

    .wishlist-products-item p.wishlist-product-price {
        font-size: 14px !important;
        margin: 2px 0 6px 4px !important;
    }

    .wishlist-products-item .wishlist-product-combinations {
        font-size: 10.5px !important;
    }

    /* Bottone carrello compatto */
    .wishlist-products-item button.wishlist-product-addtocart {
        height: 34px !important;
        font-size: 10.5px !important;
        padding: 0 4px !important;
        border-radius: 5px !important;
    }

    .wishlist-products-item button.wishlist-product-addtocart i.shopping-cart {
        font-size: 14px !important;
        margin-right: 2px !important;
    }
}

  	.wishlist-products-item button.wishlist-button-add, 
	.wishlist-product button.wishlist-button-add, 
	button.wishlist-button-add {
    position: absolute !important;
    box-shadow: 0rem 0rem .25rem 0 rgba(0, 0, 0, .2);
    }

/* ==============================================================================
   AUTO-SCALING DINAMICO TASTO "AGGIUNGI AL CARRELLO" (CONTAINER QUERIES)
   ============================================================================== */

/* 1. Dichiara la card come contenitore di misura reattivo */
.wishlist-products-item {
    container-type: inline-size !important;
}

/* 2. Scala il font e l'icona fluidamente in base alla larghezza della card */
.wishlist-products-item button.wishlist-product-addtocart {
    /* clamp(minimo, proporzione su card, massimo): varia da 8.5px a 12px */
    font-size: clamp(7.5px, 6.8cqw, 12px) !important;
    letter-spacing: -0.01em !important;
    white-space: nowrap !important;
    padding: 0 4px !important;
    gap: 4px !important;
    width: 100% !important;
    height: 36px !important;
}

.wishlist-products-item button.wishlist-product-addtocart i.shopping-cart {
    font-size: clamp(11px, 7.5cqw, 15px) !important;
    margin: 0 !important;
}

/* 3. Rifinitura cestino su schermi ultra-stretti (< 380px) */
@media (max-width: 380px) {
    .wishlist-products-item button.wishlist-button-add {
        top: 5px !important;
        right: 5px !important;
    }
    .wishlist-products-item button.wishlist-button-add i {
        font-size: 13px !important;
    }
}
/* ==============================================================================
   FINI PAGINA WISHLIST: DESIGN COMPLETO DESKTOP, TABLET & MOBILE RESPONSIVE
   ============================================================================== */







/* BLINDO TOTALE: Impedisce a qualsiasi popup di bloccare o azzerare lo scroll */
/*html body.modal-open,
body.modal-open {
    position: static !important;
    overflow: visible !important;
    height: auto !important;
    width: 100% !important;
    top: auto !important;
    padding-right: 0 !important;
}

.wishlist-delete, 
.wishlist-modal, 
.modal-backdrop {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    top: -9999px !important;
    left: -9999px !important;
}
*/


/* =========================================================
   ANTI-TRATTEGGIO: NASCONDE LE COLONNE VUOTE DELL'EDITOR CE
   ========================================================= */
.elementor-column-empty, 
.elementor-widget-empty, 
.elementor-empty,
.elementor-inner-column:empty {
    outline: none !important;
    border: none !important;
    background: transparent !important;
}

article .minia-link .elementor-column-empty,
article .minia-link-orizon .elementor-column-empty {
    display: none !important;
}



/* ==========================================================================
   WISHLIST: SILENZIAMENTO TOTALE POPUP NATIVI E TOAST (1-CLICK REALE)
   ========================================================================== */
.wishlist-add-to,
.wishlist-chooselist,
.wishlist-add-to-new,
.wishlist-delete,
.wishlist-delete .wishlist-modal,
.wishlist-delete .modal-backdrop,
.wishlist-toast {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}




/* ============================================================
    INI CERCHIETTI MINIATURE .minia-link-verti (COLONNA 35PX DIRETTA)
   ============================================================ */

/* 1. Forza la colonna verticale e blocca la larghezza a 35px su tutti i contenitori */
.minia-link-verti,
.minia-link-verti .elementor-container,
.minia-link-verti .elementor-row,
.minia-link-verti .elementor-column,
.minia-link-verti .elementor-column-wrap,
.minia-link-verti .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important; /* COLONNA VERTICALE RIGIDA */
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 35px !important;            /* LARGHEZZA BLOCCATA A 35PX */
    min-width: 35px !important;
    max-width: 35px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. Ciascun widget è obbligato a stare in colonna senza float orizzontali */
.minia-link-verti .elementor-widget,
.minia-link-verti .elementor-widget-icon,
.minia-link-verti .elementor-element.elementor-widget__width-auto {
    width: 35px !important;
    height: 35px !important;
    min-width: 35px !important;
    max-width: 35px !important;
    display: flex !important;
    float: none !important;
    clear: both !important;            /* Va a capo in verticale */
    margin: 4px 0 !important;          /* Spaziatura verticale */
    padding: 0 !important;
}

/* 3. Posizionamento in alto a destra sopra l'immagine */
.minia-link-verti {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 99 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: all 0.3s ease-in-out !important;
}

/* 4. Mostra al passaggio del mouse sulla scheda o con il tocco da 1ms */
article:hover .minia-link-verti,
.product-miniature:hover .minia-link-verti,
.is-verti-active .minia-link-verti {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* 5. Stile dei Cerchi Bianchi Ecolife Originali da 35px */
.minia-link-verti .elementor-widget-icon {
    background: #ffffff !important;
    width: 35px !important;
    height: 35px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.15) !important;
    transform: scale(0);
    opacity: 0;
    transition: all 1s ease-in !important; /* Transizione morbida originale */
    pointer-events: auto !important;
}

/* 6. Attivazione sequenziale identica all'originale (Staggered) */
article:hover .minia-link-verti .icon-1,
article:hover .minia-link-verti .icon-2,
article:hover .minia-link-verti .icon-3,
.is-verti-active .minia-link-verti .icon-1,
.is-verti-active .minia-link-verti .icon-2,
.is-verti-active .minia-link-verti .icon-3 {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* Ritardi a cascata originali */
article:hover .minia-link-verti .icon-1,
.is-verti-active .minia-link-verti .icon-1 { transition-delay: 0.0s !important; }

article:hover .minia-link-verti .icon-2,
.is-verti-active .minia-link-verti .icon-2 { transition-delay: 0.1s !important; }

article:hover .minia-link-verti .icon-3,
.is-verti-active .minia-link-verti .icon-3 { transition-delay: 0.2s !important; }

/* 7. Hover sul singolo cerchietto: Ciano Ecolife e icona bianca istantanea */
.minia-link-verti .elementor-widget-icon:hover {
    transition-delay: 0s !important;
    background-color: #2fb5d2 !important;
}

.minia-link-verti .elementor-widget-icon:hover i {
    transition-delay: 0s !important;
    color: #ffffff !important;
}

/* 8. Quando il mouse esce: spariscono senza ritardo appena scadono i 5 secondi di JS */
:not(.is-verti-active):not(:hover) > .minia-link-verti .elementor-widget-icon {
    transition-delay: 0s !important;
}

/* 9. Cuoricino se già salvato nei desideri (cuore ciano su cerchio bianco, come al centro) */
.minia-link-verti .elementor-widget-icon:not(:hover) .ce-add-to-wishlist.elementor-active i {
    color: #2fb5d2 !important;
}


/* ============================================================
   PERSISTENZA: SOLO IL CUORICINO RESTA VISIBILE SE SALVATO minia-link-verti
   ============================================================ */
/* 1. Mantiene visibile la sezione in alto a destra se il prodotto è nei desideri */
:has(.ce-add-to-wishlist.elementor-active) .minia-link-verti,
.has-saved-wishlist .minia-link-verti {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
}

/* 2. A riposo (quando NON in hover): SOLO il cuoricino (.icon-1) resta visibile a grandezza piena */
:has(.ce-add-to-wishlist.elementor-active):not(:hover):not(.is-verti-active) .minia-link-verti .icon-1,
.has-saved-wishlist:not(:hover):not(.is-verti-active) .minia-link-verti .icon-1 {
    opacity: 1 !important;
    transform: scale(1) !important;
    pointer-events: auto !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
}

 3. A riposo: confronto (.icon-2) e lente (.icon-3) rimangono nascosti a zero */
:has(.ce-add-to-wishlist.elementor-active):not(:hover):not(.is-verti-active) .minia-link-verti .icon-2,
:has(.ce-add-to-wishlist.elementor-active):not(:hover):not(.is-verti-active) .minia-link-verti .icon-3,
.has-saved-wishlist:not(:hover):not(.is-verti-active) .minia-link-verti .icon-2,
.has-saved-wishlist:not(:hover):not(.is-verti-active) .minia-link-verti .icon-3 {
    opacity: 0 !important;
    transform: scale(0) !important;
    pointer-events: none !important;
    transition: opacity 0.4s ease, transform 0.4s ease !important;
}
/* ============================================================
    FINI CERCHIETTI MINIATURE .minia-link-verti
   ============================================================ */
























/* ==========================================================================
   WISHLIST AMAZON STYLE: FUMETTO ANCORATO SOTTO IL CUORE (TOOLTIP)
   ========================================================================== */
.amazon-wishlist-bubble {
    position: absolute;
    z-index: 99999;
    background: #ffffff;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    padding: 10px 14px;
    min-width: 220px;
    max-width: 280px;
    font-size: 13px;
    color: #111111;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: auto;
}

.amazon-wishlist-bubble.awb-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Freccetta triangolare del fumetto che punta esattamente al cuore */
.amazon-wishlist-bubble .awb-arrow {
    position: absolute;
    top: -7px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ffffff;
}

.amazon-wishlist-bubble .awb-arrow::before {
    content: '';
    position: absolute;
    top: -1px;
    left: -7px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #d5d9d9;
    z-index: -1;
}

.amazon-wishlist-bubble .awb-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.amazon-wishlist-bubble .awb-text {
    font-weight: 500;
    line-height: 1.35;
    color: #0f1111;
}

.amazon-wishlist-bubble .awb-link {
    color: #24b9d7 !important;
    text-decoration: underline !important;
    font-weight: 600;
}

.amazon-wishlist-bubble .awb-link:hover {
    color: #1a8ea6 !important;
}

.amazon-wishlist-bubble .awb-sublink {
    display: inline-block;
    margin-top: 6px;
    font-size: 11px;
    color: #565959;
    text-decoration: none;
    transition: color 0.15s ease;
}

.amazon-wishlist-bubble .awb-sublink:hover {
    color: #24b9d7;
    text-decoration: underline;
}

.amazon-wishlist-bubble .awb-close {
    font-size: 18px;
    line-height: 1;
    color: #565959;
    cursor: pointer;
    padding: 0 2px;
    transition: color 0.15s ease;
}

.amazon-wishlist-bubble .awb-close:hover {
    color: #111111;
}












/* ==========================================================================
   STATO ATTIVO CUORE (MINIATURE & SCHEDA PRODOTTO)
   ========================================================================== */
.ce-add-to-wishlist.elementor-active,
.ce-add-to-wishlist.elementor-active i,
.ce-add-to-wishlist.elementor-active svg,
.pp-add-wishlist.elementor-active,
.pp-add-wishlist.elementor-active i,
.pp-add-wishlist.elementor-active svg {
    color: #24b9d7 !important;
    fill: #24b9d7 !important;
    border-color: #24b9d7 !important;
}

.ce-add-to-wishlist.elementor-active i::before,
.pp-add-wishlist.elementor-active i::before {
    content: "\f004" !important;
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
}

@keyframes heartPulse {
    0% { transform: scale(1); }
    30% { transform: scale(1.3); }
    60% { transform: scale(0.95); }
    100% { transform: scale(1); }
}

.ce-add-to-wishlist.elementor-active,
.pp-add-wishlist.elementor-active {
    animation: heartPulse 0.45s ease-in-out !important;
}




























/* ==================================================================
    INI FIX NOTIFICA ELIMINAZIONE PREFERITI WISHLIST (SOLO AL CLICK) 
   ================================================================== */
/* 1. Stato base: il popup è preparato ma invisibile */
.wishlist-toast, 
.toast.wishlist-toast, 
#wishlist-toast {
    position: fixed !important;
    top: 140px !important; /* Sotto l'header */
    right: 20px !important;
    z-index: 99999 !important;
    background-color: #232f3e !important; /* Antracite Mercataro */
    color: #ffffff !important;
    border-radius: 4px !important;
    border: 2px solid #2fb5d2 !important; /* Bordino Ciano */
    box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
    min-width: 280px !important;
    padding: 20px !important;
    /* Rimuoviamo il display block forzato per farlo gestire al sistema */
    pointer-events: none; 
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* 2. Stato ATTIVO: Solo quando il sistema aggiunge la classe .show o .active */
.wishlist-toast.show, 
.wishlist-toast.active,
.wishlist-toast.visible {
    opacity: 1 !important;
    pointer-events: auto;
    display: block !important;
}

/* 3. Forza il testo all'interno (Bianco su Antracite) */
.wishlist-toast .toast-body,
.wishlist-toast p,
.wishlist-toast span {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-align: center !important;
    display: block !important;
}
/* ==================================================================
    FINI FIX NOTIFICA ELIMINAZIONE PREFERITI WISHLIST (SOLO AL CLICK) 
   ================================================================== */




/* ============================================================
   FIX DEFINITIVO POPUP WISHLIST - MERCATARO STYLE
   ============================================================ */

/* 1. Reset Sfondo e Scroll */
.modal-backdrop { display: none !important; }
body.modal-open { overflow: auto !important; padding-right: 0 !important; }

/* 2. Struttura Popup (Radius 4) */
.wishlist-add-to-wishlist .modal-content {
    border-radius: 4px !important;
    border: 1px solid #232f3e !important;
    box-shadow: 0 10px 50px rgba(0,0,0,0.4) !important;
    background: #fff !important;
}

/* 3. Header */
.wishlist-add-to-wishlist .modal-header {
    background: #232f3e !important;
    padding: 15px !important;
}
.wishlist-add-to-wishlist .modal-title {
    color: #fff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
}

/* 4. Lista e Righe (Trasformate in card cliccabili) */
.wishlist-chooselist .wishlist-list { border: none !important; padding: 10px 0 !important; }

.wishlist-chooselist .wishlist-list-item {
    display: flex !important;
    align-items: center !important;
    padding: 12px 15px !important;
    margin: 8px 15px !important;
    border: 1px solid #d5d9d9 !important;
    border-radius: 4px !important; /* Radio 4 */
    background: #fdfdfd !important;
    cursor: pointer !important;
    transition: 0.2s !important;
}
.wishlist-chooselist .wishlist-list-item:hover {
    border-color: #2fb5d2 !important;
    background: #f7fafa !important;
}

/* Icona Cuore */
.wishlist-chooselist .wishlist-list-item::before {
    content: '\e87d'; font-family: 'Material Icons';
    margin-right: 12px; color: #2fb5d2; font-size: 20px;
}

/* Testo AGGIUNGI a destra */
.wishlist-chooselist .wishlist-list-item::after {
    content: 'AGGIUNGI';
    font-size: 10px; font-weight: 800; color: #2fb5d2;
    border: 1px solid #2fb5d2; padding: 4px 8px; border-radius: 2px;
    margin-left: auto;
}

/* 5. Footer e Pulsanti (Simmetria Totale) */
.wishlist-add-to-wishlist .modal-footer {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    padding: 20px !important;
    border-top: 1px solid #eee !important;
}

/* Regola comune per VISUALIZZA e CREA NUOVA LISTA */
#custom-view-wishlist, 
.wishlist-add-to-wishlist .modal-footer .wishlist-add-to-new,
.wishlist-add-to-wishlist .modal-footer a[onclick*="showCreateWishlist"] {
    height: 44px !important;
    min-width: 170px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important; /* Radio 4 */
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    transition: 0.3s !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

/* Pulsante VISUALIZZA (Sinistra - Bianco) */
#custom-view-wishlist {
    background: #ffffff !important;
    border: 2px solid #2fb5d2 !important;
    color: #2fb5d2 !important;
}
#custom-view-wishlist i { font-size: 18px !important; margin-right: 8px !important; }

/* Pulsante CREA NUOVA LISTA (Destra - Ciano) */
.wishlist-add-to-wishlist .modal-footer .wishlist-add-to-new,
.wishlist-add-to-wishlist .modal-footer a[onclick*="showCreateWishlist"] {
    background-color: #2fb5d2 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(47, 181, 210, 0.3) !important;
}

/* Hover Pulsante Crea */
.wishlist-add-to-wishlist .modal-footer .wishlist-add-to-new:hover {
    background-color: #232f3e !important;
}

/* Icona + nel tasto crea */
.wishlist-add-to-wishlist .modal-footer .wishlist-add-to-new i {
    color: #fff !important;
    font-size: 18px !important;
    margin-right: 5px !important;
}























/* =============================================================================
   ANTI-FOUC MINIATURE: NASCONDE IL PREZZO GREZZO FINO ALLA TRASFORMAZIONE
   ============================================================================= */

/* 1. Blocca lo spazio fisico per non far sobbalzare il bottone Scopri/Metti in carrello */
.elementor-widget-product-miniature-price .ce-product-prices,
.minia-prz .ce-product-prices {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: baseline !important;
}

/* 2. NASCONDE IL PREZZO ORIGINALE: se NON contiene ancora .price-integer (creato da JS/markup), resta invisibile */
.elementor-widget-product-miniature-price .ce-product-price:not(:has(.price-integer)),
.elementor-widget-product-miniature-price del.ce-product-price-regular:not(:has(.price-integer)),
.minia-prz .ce-product-price:not(:has(.price-integer)),
.minia-prz del.ce-product-price-regular:not(:has(.price-integer)) {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* =============================================================================
   AMAZON STYLE: CREATIVE ELEMENTS CONTROLLA MISURA E SPESSORE (FONT-WEIGHT)
   CON DISSOLVENZA DOLCE E INCREMENTALE (ZERO SCATTI)
   ============================================================================= */


/* Contenitore generale: comparsa morbida incrementale */
.amazon-price {
    display: inline-flex !important;
    vertical-align: top !important;
    animation: amazonPriceFadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    will-change: opacity, transform !important;
}


@keyframes amazonPriceFadeIn {
    0% {
        opacity: 0;
        transform: translateY(0);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Parte intera: usa la grandezza (1em) e il peso esatto impostato in CE */
.amazon-price .price-integer {
    font-size: 1em !important;
    font-weight: inherit !important; /* Libero: deciso al 100% da Creative Elements */
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
}

/* Decimali e Valuta: scalano in proporzione (55%) ed ereditano il peso scelto */
.amazon-price .price-decimal-group {
    display: inline-flex !important;
    align-items: flex-start !important;
    font-size: 0.55em !important; 
    font-weight: inherit !important; /* Si adatta automaticamente al peso dell'intero */
    margin-top: 0.12em !important;
    margin-left: 2px !important;
    line-height: 1 !important;
}

.amazon-price .price-currency {
    margin-left: 1px !important;
}

/* Prezzo barrato Amazon: sbarra continua grigia, scala a 0.8em ed eredita peso */
del.ce-product-price-regular,
del.ce-product-price-regular .amazon-price,
del.ce-product-price-regular .amazon-price * {
    text-decoration: line-through !important;
    text-decoration-color: #9e9e9e !important;
    color: #9e9e9e !important;
}

del.ce-product-price-regular .amazon-price {
    font-size: 0.8em !important;
    font-weight: inherit !important;
}

del.ce-product-price-regular .amazon-price .price-integer,
del.ce-product-price-regular .amazon-price .price-decimal-group {
    font-weight: inherit !important;
}

/* Scritta IVA inclusa proporzionata */
.ce-product-prices .ce-tax-shipping-delivery-label {
    font-size: 0.3em !important;
    color: #666666 !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
    display: block !important;
    line-height: 1 !important;
}






/* =============================================================================
    PP ANTI-SCATTO LARGHEZZA SCHEDA PRODOTTO (DISINNESTA SALTO STRETTO -> LARGO)
   ============================================================================= */
/*body#product #wrapper .container,
body#product #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}*/

body#product .elementor-section.elementor-section-stretched {
    width: 100% !important;
    left: 0 !important;
}

body#product .elementor-section-boxed > .elementor-container {
    max-width: 1380px !important;
    width: 100% !important;
}








/* Allineamento orizontale per prezzo */
.ce-product-prices--layout-stacked .ce-product-prices {
    flex-direction: row;
}



/* =============================================================================
   RESTYLING MODERNO PANNELLO FILTRI (SIDEBAR .ce-filters)
   ============================================================================= */

/* 1. Contenitore Generale Sidebar Filtri */
.ce-filters {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    margin-bottom: 25px !important;
}

/* 2. Singolo Gruppo Filtro (Fisarmonica) */
.ce-filters .elementor-field-group {
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 12px !important;
    margin-bottom: 12px !important;
}

.ce-filters .elementor-field-group:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* 3. Testate Sezioni (Titoli cliccabili) */
.ce-filters .ce-filters__tab {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    padding: 8px 10px !important;
    margin: 0 0 8px 0 !important;
    background-color: #f8fafc !important;
    border-radius: 6px !important;
    transition: background-color 0.15s ease !important;
}

.ce-filters .ce-filters__tab:hover {
    background-color: #f1f5f9 !important;
}

.ce-filters .ce-filters__title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.ce-filters .ce-filters__tab-icon {
    font-size: 12px !important;
    color: #64748b !important;
    transition: transform 0.2s ease !important;
}

/* 4. Sotto-gruppo Opzioni (Altezza fissa + Scroll discreto) */
.ce-filters .elementor-field-subgroup {
    max-height: 220px !important;
    overflow-y: auto !important;
    padding-right: 6px !important;
}

/* Scrollbar personalizzata ultra-sottile */
.ce-filters .elementor-field-subgroup::-webkit-scrollbar {
    width: 4px !important;
}
.ce-filters .elementor-field-subgroup::-webkit-scrollbar-track {
    background: #f8fafc !important;
    border-radius: 4px !important;
}
.ce-filters .elementor-field-subgroup::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 4px !important;
}
.ce-filters .elementor-field-subgroup::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;
}

/* 5. Riga Singola Opzione (Checkbox + Label) */
.ce-filters a.elementor-field-option {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 6px 6px !important;
    margin-bottom: 2px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    color: #334155 !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

.ce-filters a.elementor-field-option:hover {
    background-color: #f0fbfd !important;
    color: #24b9d7 !important;
}

/* Checkbox personalizzata */
.ce-filters .ce-checkbox {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    margin-right: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    background-color: #ffffff !important;
    transition: all 0.15s ease !important;
}

/* Checkbox selezionata */
.ce-filters a.elementor-field-option[aria-checked="true"] .ce-checkbox {
    background-color: #24b9d7 !important;
    border-color: #24b9d7 !important;
    color: #ffffff !important;
}

/* Testo dell'opzione */
.ce-filters .elementor-field-label {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: inherit !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    line-height: 1.3 !important;
}

/* Pillola conteggio articoli a destra (data-magnitude) */
.ce-filters .elementor-field-label::after {
    content: attr(data-magnitude) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    background-color: #f1f5f9 !important;
    padding: 1px 7px !important;
    border-radius: 10px !important;
    margin-left: 8px !important;
    line-height: normal !important;
}

.ce-filters a.elementor-field-option:hover .elementor-field-label::after {
    background-color: #e0f2fe !important;
    color: #0284c7 !important;
}

/* 6. Filtri Colore a Campioni Quadrati */
.ce-filters .elementor-field-type-color a.elementor-field-option .ce-checkbox {
    border-radius: 3px !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2) !important;
}

.ce-filters .elementor-field-type-color a.elementor-field-option .ce-checkbox.ce-color--light {
    border: 1px solid #cbd5e1 !important;
}

/* 7. Slider a Due Cursori (Prezzo / Peso) */
.ce-filters .ce-dual-range {
    margin: 15px 5px 10px 5px !important;
}

.ce-filters .ce-dual-range__selected {
    background-color: #24b9d7 !important;
    height: 4px !important;
}

.ce-filters .elementor-field-type-slider .elementor-field-label::after {
    display: none !important; /* Nessuna pillola sullo slider */
}


/* =============================================================================
   ETICHETTA RANGE PREZZO (SPAZIATURA E LEGGIBILITÀ SLIDER)
   ============================================================================= */
.ce-filters .elementor-field-type-slider .elementor-field-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important; /* Spazio netto tra il minimo, il trattino e il massimo */
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-top: 10px !important;
    text-align: center !important;
    letter-spacing: 0.3px !important;
}

/* Distanzia ulteriormente i due span interni rispetto al trattino */
.ce-filters .elementor-field-type-slider .elementor-field-label span {
    padding: 0 4px !important;
}



/* =============================================================================
   RESTYLING PULSANTE "CANCELLA TUTTO" (FILTRI CATALOGO)
   ============================================================================= */
.ce-filters__clear {
    margin-bottom: 18px !important;
}

.ce-filters__clear a.js-search-link,
.ce-filters__clear .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important; /* Occupa tutta la larghezza della colonna filtri in modo ordinato */
    padding: 9px 14px !important;
    background-color: #fff1f2 !important; /* Sfondo tenue soft-coral */
    border: 1px solid #fecdd3 !important;
    border-radius: 6px !important;
    color: #e11d48 !important; /* Testo e icona rosso rubino elegante */
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    transition: all 0.4s ease-in-out !important;
    box-shadow: 0 1px 3px rgba(225, 29, 72, 0.05) !important;
    text-decoration: none !important;
}

/* Icona 'X' */
.ce-filters__clear .elementor-button-icon {
    font-size: 11px !important;
    color: #e11d48 !important;
    transition: transform 0.5s ease !important;
    margin-right: 0 !important;
}


[class*=" ceicon-"], [class^=ceicon-] {
/*    font-weight: 600;*/
    font-size: 15px;
} 

.ceicon-arrow-left:before {
    font-size: 24px;
}

.el

/* Hover: diventa pieno e rassicurante */
.ce-filters__clear a.js-search-link:hover,
.ce-filters__clear .elementor-button:hover {
    background-color: #e11d48 !important;
    border-color: #e11d48 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(225, 29, 72, 0.2) !important;
    transform: translateY(-1px) !important;
}

.ce-filters__clear a.js-search-link:hover .elementor-button-icon {
    color: #ffffff !important;
    transform: rotate(90deg) !important; /* Piccola animazione della X al passaggio del mouse */
}






/* ============================================================
   INI ESPANSIONE AREA CLICK 100% PER TUTTI I CERCHIETTI:
   (.minia-link, .minia-link-verti, .minia-link-orizon)
   ============================================================ */

.col-spacer-20 {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    flex: 0 0 20px !important;
}

/* 1. Il contenitore interno copre tutti i 35px del cerchio */
article.elementor-section-wrap .minia-link .elementor-widget-container,
article.elementor-section-wrap .minia-link-verti .elementor-widget-container,
article.elementor-section-wrap .minia-link-orizon .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. Il link <a> riempie il 100% della superficie del cerchio (35px x 35px) */
article.elementor-section-wrap .minia-link a.elementor-icon,
article.elementor-section-wrap .minia-link .elementor-icon,
article.elementor-section-wrap .minia-link-verti a.elementor-icon,
article.elementor-section-wrap .minia-link-verti .elementor-icon,
article.elementor-section-wrap .minia-link-orizon a.elementor-icon,
article.elementor-section-wrap .minia-link-orizon .elementor-icon {
    width: 100% !important;
    height: 100% !important;
/*  min-width: 35px !important;
    min-height: 35px !important; */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. Cursore a manina attivo su tutta l'area dei widget */
article.elementor-section-wrap .minia-link .elementor-widget,
article.elementor-section-wrap .minia-link .elementor-widget-icon,
article.elementor-section-wrap .minia-link-verti .elementor-widget,
article.elementor-section-wrap .minia-link-verti .elementor-widget-icon,
article.elementor-section-wrap .minia-link-orizon .elementor-widget,
article.elementor-section-wrap .minia-link-orizon .elementor-widget-icon {
    cursor: pointer !important;
}
/* ============================================================
   FINI ESPANSIONE AREA CLICK 100% PER TUTTI I CERCHIETTI:
   (.minia-link, .minia-link-verti, .minia-link-orizon)
   ============================================================ */





/* =============================================================================
   INI BARRA AZIONI ELENCO: ANCORATA IN FONDO, CERCHIETTI (.minia-link-orizon) IN RIGA
   ============================================================================= */

/* 1. SBLOCCO COLONNA DESTRA: Permette al margin-top: auto di scendere a fondo corsa */
body.ce-catalog-list-view .minia-layout-elenco .elementor-element-db5729d,
body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

body.ce-catalog-list-view .minia-layout-elenco .elementor-element-db5729d > .elementor-column-wrap,
body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child > .elementor-column-wrap,
body.ce-catalog-list-view .minia-layout-elenco .elementor-element-db5729d > .elementor-column-wrap > .elementor-widget-wrap,
body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child > .elementor-column-wrap > .elementor-widget-wrap,
body.ce-catalog-list-view .minia-layout-elenco .elementor-element-db5729d > .elementor-widget-wrap,
body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child > .elementor-widget-wrap {
    display: flex !important;
 /*   flex-direction: inherit !important; */
 /*  flex-wrap: nowrap !important;   */       /* ELIMINA IL BLOCCO CHE CREAVA LO SPAZIO VIOLA */
    align-content: stretch !important;
    justify-content: flex-start !important;
    height: 100% !important;
    flex: 1 1 auto !important;
}

/* 2. LA BARRA IN FONDO (TASTO A SX + CERCHIETTI A DX) SCENDE IN BATTUTA */
body.ce-catalog-list-view .minia-layout-elenco .elementor-inner-section:has(.minia-link-orizon),
body.ce-catalog-list-view .minia-layout-elenco .elementor-element-5cec4e5 {
    margin-top: auto !important;          /* RISUCCHIA IL VUOTO E VA IN FONDO */
    margin-bottom: 0 !important;
/*    padding-top: 10px !important; */
    padding-bottom: 0 !important;
    width: 100% !important;
}

body.ce-catalog-list-view .minia-layout-elenco .elementor-inner-section:has(.minia-link-orizon) .elementor-container,
body.ce-catalog-list-view .minia-layout-elenco .elementor-inner-section:has(.minia-link-orizon) .elementor-row,
body.ce-catalog-list-view .minia-layout-elenco .elementor-element-5cec4e5 .elementor-container,
body.ce-catalog-list-view .minia-layout-elenco .elementor-element-5cec4e5 .elementor-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Colonna Sinistra (Tasto carrello) */
body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child .elementor-element-6aa4504,
body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child .elementor-inner-column:first-child {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Colonna Destra (.minia-link-orizon): compatta sul bordo destro */
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon,
body.ce-catalog-list-view .minia-layout-elenco .elementor-element-6adb719 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    padding: 0 !important;
}

/* 3. I 3 CERCHIETTI: FORZA LA RIGA ORIZZONTALE */
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;          /* RIGA ORIZZONTALE */
    flex-wrap: nowrap !important;             /* MAI A CAPO */
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Impedisce a ciascun cerchietto di occupare il 100% (causa della colonna verticale) */
/*
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-wrap > .elementor-element,
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-wrap > .elementor-widget,
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget {
    width: auto !important;
    min-width: 35px !important;
    max-width: 35px !important;
    flex: 0 0 35px !important;    
    margin: 0 !important;
} */



/* Esempio per portarli a 40px (puoi cambiare 40px con la misura che preferisci) */
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-wrap > .elementor-element,
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-wrap > .elementor-widget,
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    flex: 0 0 40px !important;
    margin: 0 !important;
}




/* 4. STILE DEI CERCHIETTI (35px, BIANCHI, OMBRA MORBIDA) */
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon a.elementor-icon,
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    border-radius: 10% !important;
    background: #ffffff !important;
    border: none !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #444444 !important;
    text-decoration: none !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: all 0.25s ease !important;
}

/* Hover azzurro Ecolife (#2fb5d2) */
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon a.elementor-icon:hover {
    background-color: #2fb5d2 !important;
    box-shadow: 0 0 12px rgba(47, 181, 210, 0.4) !important;
    transform: scale(1.08) !important;
}

body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon a.elementor-icon:hover i,
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon a.elementor-icon:hover svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-icon i,
body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-icon svg {
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
    fill: currentColor !important;
}

/* 5. ADATTAMENTO SMARTPHONE (< 650px): CERCHIETTI A 28px (ZERO TAGLI) */
@media (max-width: 649px) {
    /* Cerchietti a 28px su mobile per non sbordare */
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon a.elementor-icon,
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-icon {
        width: 50px !important;
        height: 50px !important;
    	min-width: 50px !important;
        max-width: 50px !important; 
    }

    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-wrap > .elementor-element {
        min-width: 28px !important;
        max-width: 28px !important;
        flex: 0 0 28px !important;
    }
    
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-icon i,
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-icon svg {
        font-size: 11.5px !important;
        width: 12px !important;
        height: 12px !important;
    }

    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-wrap {
        gap: 5px !important;
    }

    /* Tasto a 11.5px compatto */
    body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart a,
    body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart button,
    body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart .elementor-button {
        font-size: 13.5px !important;
        letter-spacing: 0.5px !important;
        line-height: 1.4 !important;
    }
}
/* =============================================================================
   FINI BARRA AZIONI ELENCO: ANCORATA IN FONDO, CERCHIETTI (.minia-link-orizon) IN RIGA
   ============================================================================= */













/* ============================================================
    INI MINIATURE - ICONE IN FILA ORIZZONTALE ECOLIFE STYLE
   ============================================================ */
/* 1. Forza il contenitore principale e la riga a non andare a capo */
article.elementor-section-wrap .minia-link .elementor-container,
article.elementor-section-wrap .minia-link .elementor-row {
    display: flex !important;
    flex-direction: row !important; /* Forza la fila */
    flex-wrap: nowrap !important;   /* Impedisce di andare sotto */
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 auto !important;
}

/* 2. Forza le colonne interne di Elementor a non occupare il 100% */
article.elementor-section-wrap .minia-link .elementor-column {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important; /* Impedisce alle colonne di espandersi */
}

/* 3. Posizionamento della sezione sopra l'immagine */
article.elementor-section-wrap .minia-link {
    position: absolute !important;
    top: 47% !important; /* Regola l'altezza sulle immagini */
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 99 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: all 0.4s ease !important;
    width: 100% !important;
}

/* 4. Mostra al passaggio del mouse sul singolo prodotto */
article.elementor-section-wrap:hover .minia-link {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* 5. Stile delle icone (Cerchi Bianchi) */
article.elementor-section-wrap .minia-link .elementor-widget-icon {
    margin: 0 -5px !important; /* Distanza tra i cerchi */
    background: #ffffff !important;
/*    width: 35px !important;
    height: 35px !important; */
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.15) !important;
    transform: scale(0); /* Parte da zero per l'animazione */
    transition: all 400ms linear;
}

/* 1. Stato base delle icone (nascoste e senza ritardo) */
article.elementor-section-wrap .minia-link .elementor-widget-icon {
    opacity: 0;
    transform: scale(0);
    transition: all 1s ease; /* Transizione fluida per tutto */
}

/* 2. HOVER SUL PRODOTTO: Attivazione sequenziale (Staggered) */
article.elementor-section-wrap:hover .icon-1,
article.elementor-section-wrap:hover .icon-2,
article.elementor-section-wrap:hover .icon-3 {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* Ritardi specifici SOLO per l'entrata */
article.elementor-section-wrap:hover .icon-1 { transition-delay: 0.1s !important; }
article.elementor-section-wrap:hover .icon-2 { transition-delay: 0.2s !important; }
article.elementor-section-wrap:hover .icon-3 { transition-delay: 0.3s !important; }

/* 3. HOVER SULL'ICONA SPECIFICA (Il FIX) */
/* Azzeriamo il ritardo così il cambio colore è istantaneo */
article.elementor-section-wrap .minia-link .elementor-widget-icon:hover {
    transition-delay: 0s !important; /* ELIMINA IL RITARDO PRECEDENTE */
    background-color: #2fb5d2 !important;
    
}

article.elementor-section-wrap .minia-link .elementor-widget-icon:hover i {
    transition-delay: 0s !important; /* ELIMINA IL RITARDO ANCHE PER L'ICONA INTERNA */
    color: #fff !important;
}

/* 4. Quando togli il mouse dal prodotto, le icone spariscono senza ritardo */
article.elementor-section-wrap:not(:hover) .elementor-widget-icon {
    transition-delay: 0s !important;
}

/* ============================================================
    FINI MINIATURE - ICONE IN FILA ORIZZONTALE ECOLIFE STYLE
   ============================================================ */










/* =============================================================================
   PAGINA CONFRONTO VUOTA: DESIGN ACCOGLIENTE
   ============================================================================= */
#module-poscompare-comparePage #content.page-content {
    min-height: 350px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 60px 20px !important;
    text-align: center !important;
}

#module-poscompare-comparePage .alert-warning {
    background-color: #f8fafc !important;
    border: 1px dashed #cbd5e1 !important;
    color: #475569 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 25px 40px !important;
    border-radius: 8px !important;
    max-width: 500px !important;
    margin: 0 auto !important;
}




/* =============================================================================
   MAPPA DEL SITO PRO: SCHEDE STACCATE, SPAZIATURA E DESIGN MERCATARO
   ============================================================================= */

/* 1. Titolo Principale Pagina */
#sitemap .page-header {
    margin: 10px 0 35px 0 !important;
    text-align: center !important;
    border-bottom: none !important;
}

#sitemap .page-header h1, .sitemap-title {
  	font-size: 1.4rem;
    font-weight: 400;
    text-transform: uppercase !important;
/*    font-size: 28px !important;
    font-weight: 800 !important;
    color: #1e293b !important;*/
    letter-spacing: 0.5px !important;
    position: relative !important;
    display: inline-block !important;
}

#sitemap .page-header h1::after {
    content: '' !important;
    display: block !important;
    width: 60px !important;
    height: 4px !important;
    background: #24b9d7 !important;
    margin: 8px auto 0 auto !important;
    border-radius: 2px !important;
}

/* 2. Griglia a 4 Colonne Staccate con Spazio (GAP) Reale */
#sitemap .row.sitemap {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important; /* Spazio netto tra le schede */
    margin: 0 !important;
    align-items: flex-start !important; /* Evita che si allunghino a vuoto */
}

/* 3. Le singole Card / Schede */
#sitemap .row.sitemap > div[class*="col-"] {
    flex: 1 1 calc(25% - 20px) !important;
    max-width: calc(25% - 20px) !important;
    width: calc(25% - 20px) !important;
    padding: 24px 20px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 4px solid #24b9d7 !important; /* Accento azzurro Mercataro */
    border-radius: 10px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    box-sizing: border-box !important;
}

#sitemap .row.sitemap > div[class*="col-"]:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(36, 185, 215, 0.12) !important;
    border-color: #cbd5e1 !important;
    border-top-color: #179db8 !important;
}

/* 4. Intestazioni Sezioni (H2) */
#sitemap .row.sitemap h2 {
    font-size: 15px !important;
    color: #171717 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin: 0 0 18px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #f1f5f9 !important;
}

/* 5. Liste e Link di Primo Livello */
#sitemap .row.sitemap ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

#sitemap .row.sitemap ul > li {
    margin-bottom: 7px !important;
    position: relative !important;
}

#sitemap .row.sitemap ul > li > a {
    display: inline-block !important;
    color: #334155 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

#sitemap .row.sitemap ul > li > a:hover {
    color: #24b9d7 !important;
/*    background-color: #f0fbfd !important;*/
    transform: translateX(4px) !important;
}

/* 6. Sotto-albero Categorie e Marchi Annidati */
#sitemap .row.sitemap ul.nested {
    list-style: none !important;
    margin: 6px 0 10px 10px !important;
    padding: 6px 0 6px 12px !important;
    border-left: 2px solid #e0f2fe !important; /* Ramo azzurrino tenue */
    background: #fafbfc !important;
    border-radius: 0 6px 6px 0 !important;
}

#sitemap .row.sitemap ul.nested > li {
    margin-bottom: 4px !important;
}

#sitemap .row.sitemap ul.nested > li > a {
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 2px 6px !important;
}

#sitemap .row.sitemap ul.nested > li > a:hover {
    color: #0284c7 !important;
    background-color: #ffffff !important;
    transform: translateX(3px) !important;
}

/* Terzo Livello Categorie (Sub-sub categorie) */
#sitemap .row.sitemap ul.nested ul.nested {
    border-left: 2px solid #bae6fd !important;
    margin-left: 8px !important;
    background: #ffffff !important;
}

#sitemap .row.sitemap ul.nested ul.nested > li > a {
    font-size: 12px !important;
    color: #94a3b8 !important;
}

#sitemap .row.sitemap ul.nested ul.nested > li > a:hover {
    color: #24b9d7 !important;
}

/* 7. Adattamento Tablet e Mobile */
@media (max-width: 991px) and (min-width: 601px) {
    #sitemap .row.sitemap > div[class*="col-"] {
        flex: 1 1 calc(50% - 20px) !important;
        max-width: calc(50% - 20px) !important;
        width: calc(50% - 20px) !important;
    }
}

@media (max-width: 600px) {
    #sitemap .row.sitemap {
        gap: 16px !important;
    }
    #sitemap .row.sitemap > div[class*="col-"] {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}








/* =============================================================================
   INI SCHEDA TECNICA: ALLINEAMENTO COLONNE E BADGE CARATTERISTICHE
   ============================================================================= */
.feature-row {
    display: flex !important;
    flex-wrap: nowrap !important;
}

.feature-row dt.name { 
    width: 25% !important; 
    max-width: 25% !important;
    flex: 0 0 25% !important;
    flex-basis: 25% !important;
    box-sizing: border-box !important;
}

.feature-row dd.value { 
    width: 75% !important; 
    max-width: 75% !important;
    flex: 0 0 75% !important;
    flex-basis: 75% !important;
    box-sizing: border-box !important;
}

/* Wrapper dei badge */
.merc-feature-badges-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 4px 0 !important;
    justify-content: flex-start !important;
}

/* Singolo badge attributo/caratteristica */
.merc-feature-badge {
    display: inline-block !important;
    background-color: #ffffff !important;
    color: #303133 !important;
    border: 1px solid #dcdfe6 !important;
    padding: 4px 10px !important;
    border-radius: 3px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

/* Mobile: colonne impilate */
@media (max-width: 576px) {
    .feature-row {
        flex-wrap: wrap !important;
    }
    .feature-row dt.name { 
        width: 100% !important; 
        max-width: 100% !important;
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        margin-bottom: 5px !important; 
    }
    .feature-row dd.value { 
        width: 100% !important; 
        max-width: 100% !important;
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
    }
}
/* =============================================================================
   FINI SCHEDA TECNICA: ALLINEAMENTO COLONNE E BADGE CARATTERISTICHE
   ============================================================================= */



/* ========================================================
   INI TRANSIZIONE FLUIDA CAMBIO PAGINA (PAGE FADE)
   ======================================================== */

/* 1. Transizione nativa per browser moderni (Chrome, Edge, Safari 18+) */
@view-transition {
    navigation: auto;
}

/* 2. Fade-In morbido all'ingresso in qualsiasi pagina */
body {
    animation: cePageFadeIn 0.22s ease-out;
}

@keyframes cePageFadeIn {
    0% {
        opacity: 0.6;
    }
    100% {
        opacity: 1;
    }
}
/* ========================================================
   FINI TRANSIZIONE FLUIDA CAMBIO PAGINA (PAGE FADE)
   ======================================================== */













/* INPUT PP QUANTITA */
.elementor-21170101 .elementor-element.elementor-element-2df0f96c.ce-product-quantity--view-inline input[type=number] {
    min-width: 60px;
}

/* INPUT PP DESKTOP - BOTTONI + - QUANTITA */
.elementor-21170101 .elementor-element.elementor-element-2df0f96c i.ce-product-quantity__btn {
    padding-left: 15px;
    padding-right: 15px;
}

/* INPUT PP MOBILE (< 680px) - BOTTONI + - QUANTITA */
@media (max-width: 679px) {
    .elementor-21170101 .elementor-element.elementor-element-8e340bc i.ce-product-quantity__btn {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* INPUT PP TABLET (680px - 1024px) - BOTTONI + - QUANTITA */
@media (min-width: 680px) and (max-width: 1024px) {
    .elementor-21170101 .elementor-element.elementor-element-2bf9e97 i.ce-product-quantity__btn {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* INPUT PP SEZIONE BOTTONI + - QUANTITA (Desktop e Tablet) */
@media (min-width: 680px) {
    .elementor-21170101 .elementor-element.elementor-element-d75f268 {
        min-width: 184px;
    }
}

/* PP TABLET/DESKTOP COMPATTO (680px - 1224px): Add to Cart - Nascondi testo */
@media (min-width: 680px) and (max-width: 1224px) {
    .elementor-element-54404c79 .elementor-button-text {
        display: none !important;
    }
}

/* PP ACQUISTA ORA - Nascondi testo da 1224px in giù (evita il buco su smartphone) */
@media (max-width: 1224px) {
    .elementor-element-aabd0ee .elementor-button-text {
        display: none !important;
    }
}

/* ========================================================
   INI PP MOBILE (< 380px): QUANTITÀ E CARRELLO A CAPO AL 100%
   ======================================================== */
@media (max-width: 380px) {
    /* 1. Forza la riga ad andare a capo con 10px di spazio tra loro */
    .elementor-element-ea44748 .elementor-container > .elementor-row {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    /* 2. Entrambe le colonne occupano il 100% della larghezza */
    .elementor-element-ea44748 .elementor-row > .elementor-column {
        width: 100% !important;
    }

    /* 3. Selettore Quantità a tutta larghezza (comodo per i pollici su smartphone) */
    .elementor-element-ea44748 .elementor-element-45f2332 .ce-product-quantity {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        box-sizing: border-box !important;
    }

    .elementor-element-ea44748 .elementor-element-45f2332 .ce-product-quantity input[name="qty"] {
        flex: 1 1 auto !important;
        width: 100% !important;
        text-align: center !important;
    }

    .elementor-element-ea44748 .elementor-element-45f2332 .ce-product-quantity .ce-product-quantity__btn {
        flex: 0 0 46px !important;
        width: 46px !important;
        text-align: center !important;
    }

    /* 4. Pulsante nero "Metti in carrello" al 100% a tutta larghezza */
    .elementor-element-ea44748 .elementor-element-2023d79 .elementor-button,
    .elementor-element-ea44748 .elementor-element-2023d79 button,
    .elementor-element-ea44748 .elementor-element-2023d79 a {
        width: 100% !important;
        max-width: 100% !important;
        height: 44px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }
}

/* ========================================================
   INI BADGE: PRODOTTO / VARIANTE GIÀ PRESENTE NEL CARRELLO
   ======================================================== */
#cart-item-badge {
    display: none;
    align-items: center;
    gap: 8px;
    background: #f0fafd;
    border: 1px solid #b9e6f3;
    border-radius: 3px;
    padding: 2px 20px;
    width: fit-content;
}

#cart-item-badge i {
    color: #24b9d7;
    font-size: 13px;
}

#cart-item-badge-text {
    color: #0369a1;
    font-size: 13px;
    font-weight: 600;
}

/* Nascondi avviso di prodotto già presente in carrello */
aside#notifications {
    display: none;
}
/* ========================================================
   FINI BADGE: PRODOTTO / VARIANTE GIÀ PRESENTE NEL CARRELLO
   ======================================================== */


















/* Allineamento centrato ed elegante per i titoli di tutte le pagine CMS */
body.cms-id-3 .page-header,
body.cms-id-7 .page-header,
body.page-cms .page-header {
    text-align: center !important;
    width: 100% !important;
    margin: 25px auto 30px auto !important;
    border: none !important;
}

body.page-cms .page-header h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}



/* CARRELLO PAYPAL */
@media screen and (max-width: 436.452px) {
    .locale--IT .message__content {
        margin-top: 15px;
    }
}


/* INI PP 17MiniaA1 Varianti Stile Ombra */
.elementor-17170101 .elementor-element.elementor-element-7f60415a .ce-product-variants__pattern {
    margin: 3px;
}
.elementor-17170101 .elementor-element.elementor-element-7f60415a .ce-product-variants {
    gap: 5px !important;
}

/* PP Varianti Stile Ombra */
.elementor-21170101 .elementor-element.elementor-element-20f1e699 .ce-product-variants__patterns {
    margin: 1px;
}

/* Bordino miniature nella Scheda Prodotto (Stessa Categoria / Correlati) */
.page-product .ce-product-grid > div,
.page-product [data-elementor-type="product-miniature"] {
    border: 1px solid #e2e8f0 !important;
    border-radius: 3px !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Effetto al passaggio del mouse (Azzurro Mercataro + leggera ombra) */
.page-product .ce-product-grid > div:hover,
.page-product [data-elementor-type="product-miniature"]:hover {
    border-color: #24b9d7 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}


.elementor-thumbnails-swiper .swiper-slide img {
    border: 1px solid #e2e8f0 !important;
    border-radius: 3px !important;
  	padding: 0px;
}




/* ==============================================================================================
   INI RESTYLING COMPLETO E RESPONSIVE BLOCCO RASSICURAZIONI (SCHEDA PRODOTTO)(min-width: 1220px)
   ============================================================================================== */
#block-reassurance {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
}

#block-reassurance ul {
    margin: 0 !important;
    display: grid !important;
}

/* Fino a 1219px (Mobile, Tablet e Laptop compatti): Layout verticale con separatori */
#block-reassurance li {
    border-bottom: 1px solid #e2e8f0 !important;
}

#block-reassurance li:first-child {
    padding-top: 2px !important;
}

#block-reassurance li:last-child {
    border-bottom: none !important;
    padding-bottom: 2px !important;
}

#block-reassurance .block-reassurance-item {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    text-align: left !important;
}

#block-reassurance .block-reassurance-item img {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
    filter: invert(56%) sepia(85%) saturate(1637%) hue-rotate(152deg) brightness(92%) contrast(88%) !important;
  	margin-left: .625rem;
}

#block-reassurance .block-reassurance-text {
    display: flex !important;
    flex-direction: column !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

#block-reassurance .reassurance-title {
    font-size: 13px !important;

    color: #1e293b !important;
    line-height: 1.25 !important;
    margin-bottom: 5px;
    word-break: normal !important;
    hyphens: none !important;
}

#block-reassurance .reassurance-desc {
    font-size: 11.5px !important;
    color: #64748b !important;
    line-height: 1.35 !important;
    margin: 2px 0 0 0 !important;
    word-break: normal !important;
    hyphens: none !important;
}

/* --- SOLO SU SCHERMI VERAMENTE GRANDI (>= 1220px): 3 Colonne affiancate --- */
@media (min-width: 1224px) {
    #block-reassurance ul {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    #block-reassurance li {
        border-bottom: none !important;
        border-right: 1px solid #e2e8f0 !important;
        padding: 4px 6px !important;
    }

    #block-reassurance li:last-child {
        border-right: none !important;
    }

    #block-reassurance .block-reassurance-item {
        flex-direction: column !important;
    }

    #block-reassurance .block-reassurance-text {
        text-align: center !important;
        align-items: center !important;
    }

    #block-reassurance .reassurance-title {
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    #block-reassurance .reassurance-desc {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }
}

#block-reassurance li .block-reassurance-item {
    padding: 10px 0 !important;
}
/* ===============================================================================================
   FINI RESTYLING COMPLETO E RESPONSIVE BLOCCO RASSICURAZIONI (SCHEDA PRODOTTO)(min-width: 1220px)
   =============================================================================================== */







/* --- RESTYLING CAMPO CARICAMENTO ALLEGATO CONTATTI --- */
.elementor-field-type-file input[type="file"],
input[name="fileUpload"] {
    display: block !important;
    width: 100% !important;
    padding: 8px 12px !important;
    font-size: 13.5px !important;
    color: #64748b !important;
    background-color: #f8fafc !important;
    border: 1px dashed #cbd5e1 !important; /* Bordo tratteggiato moderno */
    border-radius: 3px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.elementor-field-type-file input[type="file"]:hover,
input[name="fileUpload"]:hover {
    background-color: #f1f5f9 !important;
    border-color: #94a3b8 !important;
}

/* Pulsante interno "Scegli file" stilizzato */
.elementor-field-type-file input[type="file"]::file-selector-button,
input[name="fileUpload"]::file-selector-button {
    margin-right: 12px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background-color: #111111 !important; /* Nero Mercataro */
    border: none !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

.elementor-field-type-file input[type="file"]::file-selector-button:hover,
input[name="fileUpload"]::file-selector-button:hover {
    background-color: #333333 !important;
}















/* --- INI COLORE LINK MAPPA DEL SITO --- */
#content-wrapper .sitemap a,
.page-sitemap .sitemap a {
    color: #303030 !important;
    transition: color 0.2s ease !important;
}

#content-wrapper .sitemap a:hover,
.page-sitemap .sitemap a:hover {
    color: #24b9d7 !important;
}
/* --- FINI COLORE LINK MAPPA DEL SITO --- */


.elementor-17170101 .elementor-element.elementor-element-53642134 .ce-product-prices {
    height: 30px;
}

/* --- MINIATURE ALLINEAMENTO ALTEZZA PREZZO--- */
.elementor-16170101 .elementor-element.elementor-element-731e9295 .ce-product-prices {
    min-height: 30px;
}

.elementor-button-secondary .elementor-button {
    color: #000;
    border: 1px solid #ddd;
    background-color: #fff;
}
.elementor-button-secondary a.elementor-button:not(#e) {
    color: #555555;
}



/* --- INI Impedisce il trascinamento e la selezione delle immagini del catalogo  --- */
/*
.product-cover img,
.product-images img,
.images-container img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    user-select: none;
    -webkit-user-select: none;
}
.product-cover {
    position: relative;
}

.product-cover::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 2;
}
*/
/* --- FINI Impedisce il trascinamento e la selezione delle immagini del catalogo  --- */



/* --- COLORE LABEL STATUS ORDINE CORREZIONE IN VERDE PIU OCCHIABILE --- */
span.label.label-pill.dark {
    background-color: #acde3b !important;
}










/* --- INI PP RIDIMENSIONAMENTO RESPONSIVE --- */
@media (max-width: 1224px) and (min-width: 680px) {
   .elementor-21170101 .elementor-element.elementor-element-7f28ff75 {
       width: 30%  !important;
       height: 100% !important;
   }
}
@media (max-width: 1224px) and (min-width: 680px) {
   .elementor-21170101 .elementor-element.elementor-element-6f0ff41c {
       width: 70%  !important;
       height: 100% !important;
   }
}

@media (max-width: 1524px) and (min-width: 1224px) {
   .elementor-21170101 .elementor-element.elementor-element-7f28ff75 {
       width: 40%  !important;
       height: 100% !important;
   }
}
@media (max-width: 1524px) and (min-width: 1224px) {
   .elementor-21170101 .elementor-element.elementor-element-6f0ff41c {
       width: 60%  !important;
       height: 100% !important;
   }
}
/* --- FINI PP RIDIMENSIONAMENTO RESPONSIVE --- */





/* --- PP RIMUOVE BORDI MINIATURE VERTICALI PRODOTTO --- */
.elementor-thumbnails-swiper .swiper-slide,
.elementor-thumbnails-swiper .swiper-slide.swiper-slide-thumb-active {
   border: none !important;
   box-shadow: none !important;
   outline: none !important;
}



/* --- PP SCROLLBAR MINIATURE NASCONDI --- */
.swiper-scrollbar-drag, .swiper-scrollbar.swiper-scrollbar-vertical {
   display: none;
}


/* --- PP BACKGROUND ATTRIBUTI --- */
dd.value, dt.name {
  background: #f6f6f6bd !important;
  align-content: center;
}

/* --- PP ATTRIBUTI PADDING TABELLA--- */
.product-features>dl.data-sheet dd.value, .product-features>dl.data-sheet dt.name {
    padding: .0rem .5rem;
}



/* --- INI PAGINA RISULTATI RICERCA - ALLARGAMENTO A 1600PX --- */
@media (min-width: 1200px) {
    #search #wrapper .container,
    #category #wrapper .container {
        max-width: 1600px !important;
        width: 100% !important;
    }
}

/* --- PADDING RIDOTTO --- */
.brands-sort .select-title, .products-sort-order .select-title, .suppliers-sort .select-title {
    display: inline-block;
    padding: 0.25rem;
}

/* --- BORDO MINIATURE RICERCA --- */
.elementor.elementor-17170101.col-xs-12.col-sm-6.col-xl-3 {
    padding: 2px !important;
    border-width: 1px 1px 1px 1px !important;
    border-style: solid !important;
    border-radius: 3px 3px 3px 3px !important;
    border-color: rgba(0, 0, 0, 0.07) !important;
}

.ce-filters.ce-scrollbar-y--auto {
    padding: 10px;
        border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #EEEEEE;
    border-radius: 3px 3px 3px 3px;
}


/* --- fINI PAGINA RISULTATI RICERCA - ALLARGAMENTO A 1600PX --- */





/* --- PP NOME TITOLO PIU MAGRO--- */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    color: #171717;
}



/* --- BORDATURA E PADDING PER LE MINIATURE NELLA PAGINA CONFRONTO --- */
#module-poscompare-comparePage .poscompare-product .elementor-17170101,
#module-poscompare-comparePage .poscompare-product .ce-edit-wrapper {
    padding: 0px 0px 0px 0px !important;
    border-width: 1px 1px 1px 1px !important;
    border-style: solid !important;
    border-radius: 3px 3px 3px 3px !important;
    border-color: rgba(0, 0, 0, 0.07) !important;
}
#poscompare-table .poscompare-product-td {
    padding: 2px;
}
#poscompare-table .poscompare-product-td.poscompare-feature-td {
    padding: 10px 0px 12px 7px !important;
}
.card-block {
    padding: 0px ;
}

/* --- RIATTIVAZIONE BORDO .card SOLO NELLA PAGINA CONFRONTO --- */
#module-poscompare-comparePage .card {
    border: 1px solid rgba(0, 0, 0, 0.125) !important; /* Bordo grigio leggero standard */
}



/* ===============================================================
   PADDING DI TUTTA LA HOMEPAGE
   =============================================================== */
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
    padding: 4px;
}


/* -----  ALLINEAMENTO MINIATURE  -----  */
/* Spazio riservato brand */
.minia-brand a {
    min-height: 22px;
}

/* -----  ALLINEAMENTO MINIATURE BADGE -----  */
.elementor-17170101 .elementor-element.elementor-element-170786f8 > .elementor-widget-container {
    height: 28px;
}



/* 8. ALLINEAMENTO TITOLO (Uniformità) */
.elementor-widget-product-miniature-name a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3em; /* Riserva spazio per 2 righe */
    line-height: 1.5em;
}



/* --- RIMPICCIOLIMENTO BANDA GRIGIA VARIANTI --- */
.variant-links {
    height: 20px !important;      /* Imposta un'altezza fissa molto sottile */
    align-items: center !important; /* Centra perfettamente i quadratini in verticale */
    margin-top: 5px !important; 
}

/* Assicuriamoci che il contenitore interno non forzi un'altezza maggiore */
.variant-links .elementor-container {
    min-height: auto !important;
    height: 100% !important;
}





 /*   MERCATARO.IT - CUSTOM CSS FINALE (CON TASTO PREMIUM) */
.page-my-account #content .links a i {
  font-size: 2.0rem !important;
  padding-bottom: 1.4rem;
}




/* ============================================================
   MERCATARO.IT - CUSTOM CSS FINALE (CON TASTO PREMIUM)
   ============================================================ */

/* --- 1. GLOBALI E FIX MODAL --- */
.modal-backdrop { display: none !important; }
body.modal-open { overflow: auto !important; padding-right: 0 !important; }

/* Forza Header, Footer e POPUP a rimanere centrati (Boxed) */
#header .container, #footer .container, .modal .container, .wishlist-modal .modal-content {
    max-width: 1140px !important; width: 95% !important; margin: 0 auto !important;
}

/* --- 2. BOTTONI BASE (RADIUS 4) --- */
.btn-primary, .view-product, #module-poscompare-comparePage .btn-primary {
    background-color: #232f3e !important; color: #ffffff !important;
    border-radius: 4px !important; border: none !important;
    font-weight: 700 !important; text-transform: uppercase !important;
    font-size: 11px !important; padding: 10px 15px !important;
    transition: 0.3s !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
}
.btn-primary:hover, #module-poscompare-comparePage .btn-primary:hover { background-color: #2fb5d2 !important; }

/* --- 3. WISHLIST: RESTYLING (RADIUS 4) --- */
.wishlist-add-to-wishlist .modal-content { border-radius: 4px !important; border: 1px solid #232f3e !important; box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important; }
.wishlist-modal .modal-header { background: #232f3e !important; color: white !important; }
#wish-ins { font-size: 13px !important; font-weight: 700; text-align: center; padding: 10px; border-bottom: 1px solid #eee; }
#custom-view-wishlist, a.wishlist-add-to-new { height: 40px !important; min-width: 150px !important; border-radius: 4px !important; display: inline-flex !important; align-items: center; justify-content: center; font-size: 11px !important; font-weight: 800; text-decoration: none !important; }
#custom-view-wishlist { background: #fff !important; border: 2px solid #2fb5d2 !important; color: #2fb5d2 !important; margin-right: 10px; }
a.wishlist-add-to-new { background: #2fb5d2 !important; color: #fff !important; border: none; }

/* --- 4. PAGINA CONFRONTO (ULTRA-WIDE) --- */
/* #module-poscompare-comparePage #content-wrapper .container { max-width: 98% !important; width: 98% !important; } */
.table-responsive { overflow-x: auto !important; -webkit-overflow-scrolling: touch; border: 1px solid #ebebeb; }



/* Prima Colonna (Sticky) */
#module-poscompare-comparePage thead th:first-child, #module-poscompare-comparePage tbody td:first-child {
    width: 150px !important; background: #fdfdfd !important; font-weight: 700 !important;
    border-right: 2px solid #dee2e6 !important; position: sticky !important; left: 0; z-index: 10;
}




/* ============================================================
   IL NUOVO TASTO "RIMUOVI TUTTI" (STYLE PREMIUM)
   ============================================================ */
.js-poscompare-remove-all {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    background: #cc0000 !important; /* Rosso Mercataro */
    color: white !important;
    padding: 12px 5px !important;
    border-radius: 4px !important; /* Coerenza Radius 4 */
    font-size: 9px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    text-decoration: none !important;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 0px #800000; /* Effetto 3D sottile */
    transition: all 0.2s ease;
    white-space: nowrap !important;
}

/* Rimuoviamo visivamente le parentesi quadre se presenti nel testo */
.js-poscompare-remove-all {
    font-size: 11px !important;
}

/* Aggiunta icona cestino Material Design */
.js-poscompare-remove-all::before {
    content: '\e872'; /* Codice icona delete */
    font-family: 'Material Icons';
    margin-right: 8px;
    font-size: 16px;
    font-weight: normal;
}

.js-poscompare-remove-all:hover {
    background: #e60000 !important;
    box-shadow: 0 2px 0px #800000;
    transform: translateY(2px); /* Effetto pressione tasto */
    color: white !important;
}

/* ============================================================ */

/* Celle Prodotti */
#module-poscompare-comparePage th:not(:first-child), #module-poscompare-comparePage td:not(:first-child) {
    padding: 15px 10px !important; border: 1px solid #ebebeb !important; background: #fff !important;
}




#module-poscompare-comparePage th h3 {
    font-size: 11px !important; font-weight: 600 !important; color: #007185 !important;
    height: 45px !important; overflow: hidden !important;
    display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
}


/* Prezzi */
#module-poscompare-comparePage th div { 
color: #b12704 !important; 
font-size: 19px !important; 
font-weight: bold !important; 
margin-bottom: 10px !important; }

/* Zebra righe */
#module-poscompare-comparePage tbody tr:nth-child(even) td { 
background-color: #f9f9f9 !important; }




/* ============================================================
   POPUP CONFERMA "SVUOTA LISTA" (CUSTOM MODAL)
   ============================================================ */
#ce-confirm-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.6); /* Sfondo oscurato */
    z-index: 9998;
}

#ce-confirm-modal {
    display: none;
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    width: 90%;
    max-width: 400px;
    background: #fff;
    border-radius: 4px; /* Radio 4px */
    box-shadow: 0 15px 50px rgba(0,0,0,0.4);
    overflow: hidden;
}

#ce-confirm-modal .modal-header {
    background: #232f3e; /* Antracite Mercataro */
    color: #fff;
    padding: 15px 20px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    text-align: center;
}

#ce-confirm-modal .modal-body {
    padding: 25px 20px;
    text-align: center;
    font-size: 14px;
    color: #333;
    font-weight: 600;
}

#ce-confirm-modal .modal-footer {
    display: flex;
    justify-content: center;
    gap: 15px;
    padding: 15px;
    background: #f9f9f9;
    border-top: 1px solid #eee;
}

#ce-confirm-modal .btn-cancel {
    background: #fff;
    border: 2px solid #ccc;
    color: #666;
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    transition: 0.2s;
}

#ce-confirm-modal .btn-cancel:hover {
    border-color: #999;
    color: #333;
}

#ce-confirm-modal .btn-confirm {
    background: #cc0000; /* Rosso Mercataro */
    border: none;
    color: #fff;
    padding: 10px 20px;
    border-radius: 4px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    transition: 0.2s;
    box-shadow: 0 2px 5px rgba(204,0,0,0.3);
}

#ce-confirm-modal .btn-confirm:hover {
    background: #a00000;
}




/* DISATTIVA LO ZOOM 1.07 GENERATO DA CREATIVE ELEMENTS */
.elementor-14170101 .minia-imma:hover {
    transform: scale(1) !important;
}

/* OPZIONALE: Se vuoi togliere anche il movimento fluido che prepara lo zoom */
.elementor-14170101 .minia-imma {
    transition: none !important;
    transform: none !important;
}





/* ============================================================
   INI MINIATURA CON BORDINO
   ============================================================ */
/* Applica il bordo SOLO alle miniature che hanno l'ID del tuo template (14170101) */
.elementor-14170101 .elementor-section-wrap {
    border: 1px solid rgba(2, 1, 1, 0.1) !important;

    background: #ffffff !important;
    border-radius: 3px !important;
    transition: all 0.3s ease !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Rimuove eventuali bordi doppi dai contenitori esterni di questo widget */
div[data-elementor-id="14170101"] {
    border: none !important;
    padding: 0 !important;
}

/* Effetto Hover solo per le miniature */
.elementor-14170101 .elementor-section-wrap:hover {
    border-color: rgba(2, 1, 1, 0.4) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}
/* ============================================================
   FINI MINIATURA CON BORDINO
   ============================================================ */



/* ============================================================
    INI RESET COLORE TESTO FILTRI LATERALI --- 
   ============================================================ */

/* 1. Cambiamo il colore dei link e delle etichette nei filtri */
.ce-filters a, 
.ce-filters label, 
.ce-filters .ce-filter-label,
.ce-filters .ce-filter-item__name {
    color: #333333 !important; /* Grigio scuro/Nero normale */
    text-decoration: none !important;
    font-weight: 400 !important;
}

/* 2. Colore al passaggio del mouse (Hover) */
/* Se vuoi che diventino azzurri solo quando ci passi sopra */
.ce-filters a:hover, 
.ce-filters label:hover,
.ce-filters .ce-filter-item:hover .ce-filter-item__name {
    color: #2fb5d2 !important; /* Azzurro Mercataro solo all'hover */
}

/* 3. Colore per i filtri già selezionati (Attivi) */
.ce-filters .ce-filter-item--active .ce-filter-item__name,
.ce-filters .ce-filter-item--active label {
    color: #2fb5d2 !important;
    font-weight: 600 !important;
}

/* 4. Opzionale: Colore dei numeri tra parentesi (es. (12)) */
.ce-filters .ce-filter-item__count {
    color: #999 !important; /* Grigio chiaro per i conteggi */
    font-size: 0.9em;
}

/* ============================================================
   HOVER ZOOM SULLE VARIANTI COLORE
   ============================================================ */




/* 3. Manteniamo lo zoom solo sul singolo cerchietto colore (opzionale, se ti piace ancora) */
.ce-product-variants__pattern.ce-product-variants__color:hover {
    transform: scale(1.2) !important;
    z-index: 11;
}

/* ============================================================
   FINI MINIATURA STILE VARIANTI COLORE (BARRA SEMITRASPARENTE)
   ============================================================ */





/* ============================================================
   FIX PAGINA PRODOTTO (CLASSE variant-pp)
   ============================================================ */
/* AGGIUNTA: Questo resetta tutto per la pagina prodotto dove hai messo la classe variant-pp */
.variant-pp, .variant-pp .ce-product-variants {
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    bottom: auto !important;
    background: transparent !important;
}









/* Stile Notifica Toast Mercataro */
#merc-toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #232f3e; 
    color: white;
    padding: 15px 25px;
    border-radius: 5px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    z-index: 998;
    display: none; /* Nascosto di default */
    font-weight: 500;
    border-left: 5px solid #2fb5d2; /* Linea azzurra Mercataro */
    transition: all 0.3s ease;
}

#merc-toast.show {
    display: block;
    animation: slideIn 0.5s forwards;
}

@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}





/* ========================================= */
/*  INI ACCOUNT PAGE - CUSTOM STYLING            */
/* ========================================= */

/* 1. Stile base della card (il riquadro) */
.link-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 4px;

    min-height: 155px;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

/* 2. Effetto Hover: si solleva e si illumina */
.links a:hover .link-item {
    transform: translateY(-8px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
    border-color: #d0d0d0;
}

/* 3. Stile delle Icone (ingrandite e animate) */
.link-item i.material-icons,
.link-item .material-icons {
    font-size: 48px !important;
    height: 48px;
    width: 48px;
    color: #555555;
    margin-bottom: 15px;
    transition: color 0.3s ease, transform 0.3s ease;
}

/* 4. Effetto Hover sulle icone (cambiano colore e "rimbalzano" leggermente) */
.links a:hover .link-item i.material-icons,
.links a:hover .link-item .material-icons {
    color: #2fb5d2; /* Sostituisci con il colore secondario del tuo brand */
    transform: scale(1.1);
}


/* 7. Correzione spaziatura tra le card (se il tema non lo fa già) */
.links .col-lg-4,
.links .col-md-6,
.links .col-sm-6,
.links .col-xs-12 {
}

/* ========================================= */
/*  STILE BOTTONE "ESCI"   */
/* ========================================= */

.page-footer .text-sm-center a {
    display: inline-block;
    background-color: transparent;
    color: #dc3545;
    border: 2px solid #dc3545;
    padding: 10px 40px;
    border-radius: 50px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    margin-top: 20px;
}

.page-footer .text-sm-center a:hover {
    background-color: #dc3545;
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(220, 53, 69, 0.3);
    text-decoration: none;
}

/* ========================================= */
/*  RESPONSIVE (MOBILE)                      */
/* ========================================= */

@media (max-width: 767px) {
    .link-item {
        min-height: 164px;
        border-radius: 10px;
    }
    
    .link-item i.material-icons,
    .link-item .material-icons {
        font-size: 32px !important;
        height: 32px;
        width: 32px;
        margin-bottom: 8px;
    }

    .link-item span:last-child {
        font-size: 14px;
    }
}
/* ========================================= */
/*  FORZA 3 COLONNE PER RIGA (DESKTOP)       */
/* ========================================= */

/* Forza le card ad essere larghe 1/3 (3 per riga) */
.links .col-lg-4,
.links .col-md-6, 
.links .col-sm-6,
.links .col-xs-12 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

/* ========================================= */
/*  RESPONSIVE (TABLET E MOBILE)             */
/* ========================================= */

/* Tablet (es. iPad): 2 colonne per riga */
@media (min-width: 350px) and (max-width: 991px) {
    .links .col-lg-4,
    .links .col-md-6, 
    .links .col-sm-6,
    .links .col-xs-12 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Mobile: 1 colonna per riga */
@media (max-width: 350px) {
    .links .col-lg-4,
    .links .col-md-6, 
    .links .col-sm-6,
    .links .col-xs-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ========================================= */
/*  CORREZIONE BOTTONE ESCI SU MOBILE        */
/* ========================================= */

@media (max-width: 575px) {
    /* Centra il contenitore del footer e rimuove eventuali margini anomali */
    .page-footer {
        display: flex;
        justify-content: center;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    /* Forza il centramento del pulsante */
    .page-footer .text-sm-center {
        text-align: center !important;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    /* Nel caso ci siano margini extra sull'ancora stessa */
    .page-footer .text-sm-center a {
        margin-left: auto;
        margin-right: auto;
    }
}

/* ========================================= */
/*  FINI ACCOUNT PAGE - CUSTOM STYLING            */
/* ========================================= */















/* ========================================= */
/*               GENERALE            */
/* ========================================= */
/* Rimuove il bordino nero (outline) dai link quando vengono cliccati o selezionati */
a:focus, a:active, button:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Se vuoi rimuoverlo specificamente solo nel footer */
.footer-container a:focus {
    outline: none !important;
}




/* FA SPARIRE SCRITTA "Ordina per:" */
#js-product-list-top span.sort-by {
    display: none !important;
}





/* --- MINIATURE PAGINA BRANDS --- */

@media (min-width: 1200px) {
    .col-xl-3 {
        width: 100%;
    }
}

@media (min-width: 576px) {
    .col-sm-6, .col-sm-7 {
        float: left;
        width: 100%;
    }
}
/* --- FINI MINIATURE PAGINA BRANDS --- */



/* --- STILE BUY BOX FINALE --- */
.amz-buybox-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 250px;
    margin: 10px auto !important;
    position: relative;
    z-index: 999;
}

/* Selettore Grigio */
.amz-qty-box {
    background-color: #F0F2F2 !important;
    border: 1px solid #D5D9D9 !important;
    border-radius: 8px !important;
    height: 34px;
    width: 140px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Lista Numeri */
.amz-dropdown-list {
    position: absolute !important;
    top: 38px !important;
    width: 140px !important;
    background: #fff !important;
    border: 1px solid #D5D9D9 !important;
    border-radius: 8px !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
    z-index: 100000 !important; /* SOPRA TUTTO */
    list-style: none !important;
    padding: 5px 0 !important;
    max-height: 250px;
    overflow-y: auto;
}

.amz-dropdown-list li {
    padding: 10px 15px !important;
    cursor: pointer !important;
    text-align: left;
    font-size: 14px;
}

.amz-dropdown-list li:hover {
    background-color: #F0F2F2 !important;
    border-left: 3px solid #e77600 !important;
}

/* Tasto OK! */
.amz-btn-update {
    background-color: #243238 !important; /* Antracite */
    color: #fff !important;
    border: none !important;
    border-radius: 20px !important;
    width: 100% !important;
    max-width: 200px;
    height: 36px;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 15px;
    cursor: pointer;
}

.amz-btn-update:hover { background-color: #2fb5d2 !important; }






/* ========================================================= */
/*  INI RESTYLING PAGINA CARRELLO  */
/* ========================================================= */

.cart-items-title .col-md-5 { font-weight: 600; color: #333; }
.cart-items-title .col-md-2 { font-weight: 600; color: #333; text-align: right; padding-right: 45px; }

/* 2. CARD PRODOTTO (Struttura a blocchi bianchi) */
.cart-item {
    background: #fff;
    border: 1px solid #ddd;
    margin-bottom: 15px;
    border-radius: 3px;
    overflow: hidden;
    list-style: none;
}

/* Riga superiore grigia con Nome e X */
.cart-item-header {
    padding: 8px 15px;
    border-bottom: 1px solid #eeeeee8a;
    display: flex;
    justify-content: space-between;
}

.item-name a {
    font-weight: 600;
    color: #444;
    font-size: 14px;
    text-decoration: none;
}

/* 3. CORPO DELLA RIGA (Immagine - Info - Qty - Totale) */
.cart-item-body {
    display: flex;
    align-items: center;
    padding: 10px;
}

/* Colonna Foto */
.item-img {
    width: 70px;
    margin-right: 20px;
}

.item-img img { width: 120%; }

/* Colonna Info (Colore e Prezzo Unitario) */
.item-details {
    flex: 1;
    font-size: 13px;
    color: #666;
    margin-left: 15px;
}
.item-details strong { color: #333; font-weight: 600; }
.unit-price { margin-top: 5px; color: #777; }

.qty-control input {
    width: 40px !important;
    height: 35px !important;
    border: none !important;
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
    text-align: center !important;
    background: #fff !important;
}

.btn-touchspin {
    background: #f8f9fa !important;
    color: #333 !important;
    font-size: 16px !important;
}

/* --- HOVER TASTI QUANTITÀ --- */
.btn-touchspin:hover {
    background: #f2f2f2 !important;
    color: #000 !important; /* Opzionale: rende il simbolo + o - nero pieno */
    transition: background 0.2s ease-in-out; /* Rende il cambio colore fluido */
}

/* --- SIMMETRIA TASTI QUANTITÀ --- */

/* 1. Forza la stessa larghezza e altezza su entrambi i tasti */
.bootstrap-touchspin .btn-touchspin {
    width: 38px !important;  /* Larghezza fissa uguale per entrambi */
    justify-content: center !important;
}

/* 3. Assicura che i contenitori dei bottoni non aggiungano spazio extra */
.input-group-btn {
    width: auto !important;
}

/* Arrotonda solo il lato sinistro del tasto MENO */
.bootstrap-touchspin-down {
    border-top-left-radius: 2px !important;
    border-bottom-left-radius: 2px !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Arrotonda solo il lato destro del tasto PIÙ */
.bootstrap-touchspin-up {
    border-top-right-radius: 2px !important;
    border-bottom-right-radius: 2px !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

/* 5. PREZZO TOTALE DI RIGA (Grassetto Nero) */
.total-line-price {
    min-width: 80px;
    text-align: center;
}

/* 6. COLONNA DESTRA (RIEPILOGO) */
.cart-summary {
    border: 1px solid #ddd !important;
    border-radius: 3px;
    padding: 20px !important;
}

/* Bottone Checkout Nero */
.cart-detailed-actions .btn-primary {
    background-color: #243238 !important;
    border: none !important;
    border-radius: 3px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 15px !important;
}
.cart-detailed-actions .btn-primary:hover { background-color: #2fb5d2 !important; }


/* --- POSIZIONAMENTO VERTICALE: QTY SOPRA, PREZZO SOTTO --- */

/* 1. Forza il contenitore a incolonnare i figli */
.item-qty-total {
    display: flex !important;
    flex-direction: column !important; /* Mette gli elementi uno sopra l'altro */
    align-items: flex-end !important;   /* Allinea tutto a destra del riquadro */
    gap: 14px !important;              /* Spazio tra la quantità e il prezzo */
}

/* Fix estetico tasti quantità per farli somigliare al vecchio sito */
.qty-control .btn-touchspin {
    border: 1px solid #ccc !important;
    font-weight: bold !important;
}

.qty-control input.js-cart-line-product-quantity {
    width: 50px !important;
    height: 50px !important;
    border: 1px solid #ccc !important;
    border-right: none !important;
}

/* rende lo spazio prodotto piu ampio */
.cart-grid-body .card-block, .cart-grid-body .cart-overview {
    padding: 0rem !important;
}

article.alert.alert-danger {
    border-radius: 5px;
}

/* --- TRASFORMAZIONE "CONTINUA LO SHOPPING" IN BOTTONE --- */
#cart a.label {
    background-color: #243238 !important; /* Nero Antracite Mercataro */
    color: #ffffff !important;
    padding: 12px 15px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
}

/* Effetto Hover: diventa Celeste Brand */
#cart a.label:hover {
    background-color: #2fb5d2 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}




/* --- ALLINEAMENTO COLONNA RIEPILOGO CON HEADER TABELLA --- */
@media (min-width: 992px) {
    /* Spinge in basso la colonna di destra per allinearla a 'ITEM' */
    #cart .cart-grid-right {
        /* Regola questo valore (es. tra 60px e 80px) per trovare l'allineamento perfetto */
        margin-top: 40px !important; 
    }

    /* Opzionale: Rende il riepilogo 'Sticky' (rimane fermo mentre scorri i prodotti) */
    #cart .cart-summary {
        position: sticky;
        top: 20px;
        z-index: 10;
    }
}

/* Reset per Mobile: su smartphone le colonne sono una sotto l'altra, quindi il margine non serve */
@media (max-width: 991px) {
    #cart .cart-grid-right {
        margin-top: 0 !important;
    }
}

/* Rimoziome totale del padding dalle righe del carrello */
.cart-item {
    padding: 0 !important;
}

/* Se vuoi assicurarti che anche i margini siano azzerati tra un prodotto e l'altro */
.cart-item {
    margin-top: 0 !important;
    margin-bottom: 10px !important; /* Mantieni un piccolo spazio sotto se vuoi l'effetto card */
}


/* --- ALLARGAMENTO PAGINA CARRELLO --- */
@media (min-width: 1200px) {
    #cart .container {
        width: 1450px !important;
        max-width: 100% !important;
    }
}

@media (min-width: 1200px) {
    #cart .cart-grid-body {
        flex: 0 0 75% !important; /* Più spazio ai prodotti */
        max-width: 75% !important;
    }
    #cart .cart-grid-right {
        flex: 0 0 25% !important; /* Meno spazio al riepilogo */
        max-width: 25% !important;
    }
}

/* --- ALLINEAMENTO INTESTAZIONE "PEZZI" A DESTRA --- */

/* 1. Forza la riga dei titoli a prendersi tutto lo spazio orizzontale */
.cart-items-title .row {
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 !important;
}

/* 2. Sposta la colonna dei "Pezzi" (col-md-7) tutta a destra */
.cart-items-title .col-md-7 {
    text-align: right !important;
    padding-right: 25px !important; /* Questo allinea la scritta sopra il prezzo totale */
    flex: 1 !important;
}

/* 3. Assicura che la colonna "Item" rimanga a sinistra */
.cart-items-title .col-md-5 {
    text-align: left !important;
    padding-left: 5px !important;
}

/* 4. Rendi il font dei titoli un po' più evidente (opzionale) */
.cart-items-title {
    font-weight: 700;
    text-transform: uppercase;
    border: 1px solid #ddd; /* Linea scura come vecchio sito */
    border-radius: 3px;
    padding: 10px 20px;
    margin-bottom: 15px;
    margin-top: 15px;
    font-size: 16px;
}

/* Centra il titolo principale nella pagina carrello */
.cart-grid-body h1.h1 {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}

/* PAG CARRELLO CROCETTA ELIMINA PRODOTTO */
.remove-from-cart::before {
    content: "close" !important;
    font-family: 'Material Icons' !important;
    font-size: 18px !important;
    display: block !important;
    color: black;
}

/* Nasconde il separatore hr nel Carrello */
.cart-container .separator, 
.cart-grid-body hr.separator {
    display: none !important;
}

/* ========================================= */
/*  FINI RESTYLING PAGINA CARRELLO  */
/* ========================================= */







/* --- INI RESTYLING BLOCCO CODICE PROMOZIONALE --- */
/* 1. Il link "Hai un codice sconto?" */
.promo-code-button {
    display: block;
    padding: 10px 0;
    color: #2fb5d2 !important; /* Celeste brand */
    font-weight: 600;
    text-align: center;
}

/* 2. Allineamento Input e Bottone */
.block-promo .promo-code {
    border: 1px solid #eee;
}

.promo-code form {
    display: flex !important;
}

.promo-code .promo-input {
    flex: 1;
    border: 1px solid #ddd !important;
}

/* Bottone "Aggiungi" (da azzurro a Nero Mercataro) */
.promo-code button[type="submit"] {
    background: #243238 !important;
    border: none !important;
}

.promo-code button[type="submit"]:hover {
    background: #2fb5d2 !important; /* Diventa celeste all'hover */
}

/* 3. Link "Chiudi" */
.promo-code [data-action="show-promo-code"] {
    display: block;
    text-align: center;
    margin-top: 10px;
    font-size: 12px;
    color: #999;
    text-decoration: underline;
}


.block-promo .promo-input+button {
    margin-top: 0px;
}

/* --- RIMOZIONE BORDO ARANCIONE (FOCUS) CODICE PROMO --- */

/* Rimuove il bordo arancio dall'input di testo */
.promo-code .promo-input:focus {
    outline: none !important;
    box-shadow: none !important;

}

/* Rimuove il bordo arancio dal tasto Aggiungi */
.promo-code button[type="submit"]:focus,
.promo-code button[type="submit"]:active {
    outline: none !important;
    box-shadow: none !important;
}
/* --- FINI RESTYLING BLOCCO CODICE PROMOZIONALE --- */










/* =======================================================
   INI MODAL ADD CART (Effetto 3 Strati)
   ======================================================= */
   
/* --- RESET E STILE MODALE ADD CARRELLO (POPUP) --- */

/* 1. TESTATA: Scura con testo bianco */
#blockcart-modal .modal-header {
    background: #243238 !important; /* Grigio scuro/Antracite */
    display: flex !important;
    flex-direction: row-reverse !important; /* Sposta la X a destra */
    justify-content: space-between !important;
}

/* Titolo "Prodotto aggiunto..." */
#blockcart-modal .modal-title {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 15px !important;
    display: flex !important;
    align-items: center !important;
}

/* Icona Check (V) verde o bianca nel titolo */
#blockcart-modal .modal-title i {
    margin-right: 10px !important;
    color: #44db44 !important; /* Verde acceso */
}

/* 2. CORPO DEL POPUP */
#blockcart-modal .modal-body {
    padding: 25px !important;
}

/* Titolo prodotto nel popup */
#blockcart-modal .product-name {
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #243238 !important;
    margin-bottom: 10px !important;
}

/* 3. BOTTONI: Look Foto 2 */
#blockcart-modal .cart-content-btn {
    display: flex !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

/* Bottone CONTINUA LO SHOPPING (Bianco/Grigio) */
#blockcart-modal .cart-content-btn .btn-secondary {
    background-color: #46565f !important; /* Grigio medio come foto 2 */
    color: #ffffff !important;
    border: none !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    flex: 1 !important;
    padding: 12px !important;
}

/* Bottone PROCEDI CON IL CHECKOUT (Nero/Antracite) */
#blockcart-modal .cart-content-btn .btn-primary {
    background-color: #243238 !important; /* Nero Mercataro */
    color: #ffffff !important;
    border: none !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    flex: 1 !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}




/* --- LAYOUT MODAL CART: TITOLO SOPRA | IMMAGINE SX | DATI DX --- */
/* --- INI FIX TOTALE: TITOLO SOPRA | IMMAGINE SX | DATI DX --- */

/* 1. Il contenitore di SINISTRA deve avere un padding superiore enorme per il titolo */
#blockcart-modal .divide-right {
    position: relative !important;
    padding-top: 100px !important; /* Spazio sacro per il titolo */
    display: block !important;
}

/* 2. Il TITOLO deve essere sganciato e messo in cima al contenitore */
#blockcart-modal h6.product-name {
    position: absolute !important;
    top: 0 !important;      /* Lo attacca al bordo superiore */
    left: 0 !important;
    width: 100% !important;  /* Occupa tutto lo spazio da sinistra a destra */
    height: 90px !important; /* Altezza fissa per il titolo */
    margin: 0 !important;
    padding: 10px !important;
    display: flex !important; /* Aggiunto display flex per abilitare l'allineamento */
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
}

#blockcart-modal .col-md-5.divide-right {
    margin-top: -10px;
}

@media (max-width: 991px) {
    #blockcart-modal .product-image {
        max-width: 100%;
        margin: 0 auto 1rem;
    }
}

/* 3. Forza le due colonne (Immagine e Prezzo) a stare sotto il titolo e affiancate */
#blockcart-modal .divide-right .row {
    display: flex !important;
    flex-wrap: nowrap !important; /* Impedisce che il prezzo scenda sotto la valigia */
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 4. Resetta le colonne per evitare che interferiscano con il titolo absolute */
#blockcart-modal .divide-right .col-md-6 {
    position: static !important; /* Cruciale: permette al titolo di vedere il contenitore padre */
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
}

/* 5. Allineamento testi a destra dell'immagine */
#blockcart-modal .divide-right .col-md-6:last-child {
    padding-left: 15px !important;
    text-align: left !important;
}

/* 6. Immagine proporzionata */
#blockcart-modal .product-image {
    max-height: 160px !important;
    width: auto !important;
    display: block;
    margin: 0 auto;
}

/* 7. Prezzo e quantità ben visibili */
#blockcart-modal .product-price {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 5px !important;
    display: block !important;
}

#blockcart-modal .product-quantity {
    display: block !important;
}
/* --- FINI FIX TOTALE: TITOLO SOPRA | IMMAGINE SX | DATI DX --- */


/* --- EFFETTO HOVER AZZURRO SUI PULSANTI POPUP --- */

/* Applica la transizione a entrambi i bottoni per renderla fluida */
#blockcart-modal .cart-content-btn .btn {
    transition: all 0.3s ease !important;
}

/* Hover sul bottone PROCEDI CON IL CHECKOUT */
#blockcart-modal .cart-content-btn .btn-primary:hover {
    background-color: #2fb5d2 !important; /* Celeste Brand */
    border-color: #2fb5d2 !important;
    color: #ffffff !important;
}

/* Hover sul bottone CONTINUA LO SHOPPING */
#blockcart-modal .cart-content-btn .btn-secondary:hover {
    background-color: #2fb5d2 !important; /* Celeste Brand */
    border-color: #2fb5d2 !important;
    color: #ffffff !important;
}

/* =======================================================
   FINI MODAL ADD CART (Effetto 3 Strati)
   ======================================================= */















/* ============================================================
   MERCATARO.IT - CUSTOM CSS DEFINITIVO (FIX ALLINEAMENTO ICONE)
   ============================================================ */

/* --- 1. GLOBALI, FIX MODAL E BOTTONI BASE --- */
.modal-backdrop { display: none !important; }
body.modal-open { overflow: auto !important; padding-right: 0 !important; }

#header .container, #footer .container, .modal .container, .wishlist-modal .modal-content {
    max-width: 1140px !important; width: 95% !important; margin: 0 auto !important;
}

.btn-primary, .view-product, #module-poscompare-comparePage .btn-primary {
    background-color: #232f3e !important; color: #ffffff !important;
    border-radius: 4px !important; border: none !important;
    font-weight: 700 !important; text-transform: uppercase !important;
    font-size: 11px !important; padding: 10px 15px !important;
    transition: 0.3s !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
}
.btn-primary:hover, #module-poscompare-comparePage .btn-primary:hover { background-color: #2fb5d2 !important; }

/* --- 2. BOTTONI ACTION PAGINA PRODOTTO (CUORE E SHUFFLE) --- */
.my-wish, .pos-compare-wrapper { display: inline-block !important; margin: 0 8px !important; vertical-align: middle; }
.my-wish a, .my-wish button, .js-final-trigger-btn {
    width: 45px !important; height: 45px !important;
    background-color: #fff !important; border: 1px solid #ddd !important;
    border-radius: 8px !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    transition: 0.3s !important; box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
}
.my-wish:hover a, .js-final-trigger-btn:hover { border-color: #2fb5d2 !important; transform: translateY(-2px); }
.my-wish i, .js-final-trigger-btn i { font-size: 22px !important; color: #444 !important; }
.my-wish:hover i, .js-final-trigger-btn:hover i { color: #2fb5d2 !important; }
.my-wish span, .pos-compare-wrapper span { display: none !important; }

/* --- 3. WISHLIST: POPUP (MODAL) --- */
/*.wishlist-add-to-wishlist .modal-content { border-radius: 4px !important; border: 1px solid #232f3e !important; box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important; }
.wishlist-modal .modal-header { background: #232f3e !important; color: white !important; }
.wishlist-modal .modal-header h5 { color: #ffffff !important; font-weight: bold; }
#wish-ins { font-size: 13px !important; font-weight: 700; text-align: center; padding: 10px; border-bottom: 1px solid #eee; }
#custom-view-wishlist, a.wishlist-add-to-new { height: 40px !important; min-width: 150px !important; border-radius: 4px !important; display: inline-flex !important; align-items: center; justify-content: center; font-size: 11px !important; font-weight: 800; text-decoration: none !important; }
#custom-view-wishlist { background: #fff !important; border: 2px solid #2fb5d2 !important; color: #2fb5d2 !important; margin-right: 10px; }
a.wishlist-add-to-new { background: #2fb5d2 !important; color: #fff !important; border: none; }
*/


/* --- 4. PAGINA "LE MIE LISTE" (FIX RIGIDO ALLINEAMENTO) --- */ 
/*

.wishlist-list-item {
    background: #ffffff !important; border: 1px solid #e0e0e0 !important; border-radius: 6px !important;
    padding: 15px 25px !important; min-height: 80px !important;
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    flex-direction: row !important; /* Forza orizzontale */
}
*/
/*
.wishlist-list-item-title span { 
background: #2fb5d2 !important; color: #fff !important; border-radius: 20px !important; padding: 2px 12px !important; font-size: 11px !important; margin-left: 15px !important; }

.wishlist-list-item-title { 
   font-size: 18px !important;
   font-weight: 700 !important;
   flex: 1 !important;
   display: flex !important; 
   align-items: center; 
   margin: 0 !important; 
   text-transform: uppercase !important; /* Forza tutto in MAIUSCOLO */
   letter-spacing: 0.5px; /* Opzionale: dà più respiro alle lettere maiuscole */
}
*/




/* IL FIX: Impedisce lo sfasamento delle icone */
/*.wishlist-list-item-actions { 
    display: flex !important; /* Abilita l'ambiente flexbox per far funzionare i parametri sottostanti */
    flex-direction: row !important; 
    flex-wrap: nowrap !important; /* BLOCCA LE ICONE SULLA STESSA RIGA */
    align-items: center !important; 
    justify-content: flex-end !important; 
    gap: 8px !important; 
    min-width: 130px !important; /* Spazio garantito per le icone */
    margin: 0 !important;
}
*//*




/* --- 5. PAGINA CONFRONTO (ULTRA-WIDE) --- */
/* #module-poscompare-comparePage #content-wrapper .container { max-width: 98% !important; width: 98% !important; } */
.table-responsive { overflow-x: auto !important; -webkit-overflow-scrolling: touch; border: 1px solid #ebebeb; }



#module-poscompare-comparePage table, #poscompare-table {
    table-layout: fixed !important; 
    width: 100%; 
    min-width: 800px !important; 
    border-collapse: separate !important; 
}




#module-poscompare-comparePage thead th:first-child, #module-poscompare-comparePage tbody td:first-child {
    width: 150px !important; min-width: 150px !important; background: #fdfdfd !important; font-weight: 700 !important;
    border-right: 2px solid #dee2e6 !important; position: sticky !important; left: 0; z-index: 10;
}

.js-poscompare-remove-all {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 100% !important; background: #cc0000 !important; color: white !important;
    padding: 12px 5px !important; border-radius: 4px !important; font-size: 11px !important;
    font-weight: 800 !important; text-transform: uppercase; text-decoration: none !important;
    box-shadow: 0 4px 0px #800000; transition: all 0.2s ease; white-space: nowrap !important;
}
.js-poscompare-remove-all::before { content: '\e872'; font-family: 'Material Icons'; margin-right: 8px; font-size: 16px; font-weight: normal; }
.js-poscompare-remove-all:hover { background: #e60000 !important; box-shadow: 0 2px 0px #800000; transform: translateY(2px); color: white !important; }

#module-poscompare-comparePage th:not(:first-child), #module-poscompare-comparePage td:not(:first-child) {
    padding: 15px 10px !important; border: 1px solid #ebebeb !important; background: #fff !important;
}
#module-poscompare-comparePage #poscompare-table img { 
width: 100% !important; 
min-height: 188px !important; 
object-fit: contain !important; 
margin-bottom: 10px !important; 
}




















/* =======================================================
   INI PP DESCRIZIONE SCHEDA TECNICA A BLOCCHI SEPARATI (Effetto 3 Strati)
   ======================================================= */


.elementor-6170101 .elementor-element.elementor-element-d08b99f .elementor-tab-title, 
.elementor-6170101 .elementor-element.elementor-element-d08b99f .elementor-tab-title:before, 
.elementor-6170101 .elementor-element.elementor-element-d08b99f .elementor-tab-title:after,  
.elementor-6170101 .elementor-element.elementor {
    margin-bottom: -2px;
}


/* Tab Attiva e Hover (Linea Celeste) */
.elementor-widget-tabs .elementor-tab-title.elementor-active,
.elementor-widget-tabs .elementor-tab-title:hover {
    color: #333 !important;
    border-bottom: 2px solid #2fb5d2 !important; /* La linea celeste */
}

 /* Prepara lo spazio per la linea blu */
.elementor-widget-tabs .elementor-tab-title {
/*  border: none !important;
    border-bottom: 3px solid transparent !important;
    margin: 0 !important;
    transition: all 0.3s ease;  */
  	display: none;
}



/* =======================================================
   PP SCHEDA TECNICA A BLOCCHI SEPARATI (Effetto 3 Strati)
   ======================================================= */

/* 1. LA RIGA (Contenitore trasparente con Spazio Bianco) */
.product-features .feature-row {
    display: flex !important;
    width: 100% !important;
    padding: 1px 0 !important; /* Spazio verticale accorpato tra i testi */
    
    /* Questo crea lo spazio bianco orizzontale tra una riga e l'altra */
    margin-bottom: 2px !important; 
    
    /* Questo crea lo SPAZIO BIANCO VERTICALE nel mezzo */
    gap: 4px !important; 
    
    /* Lo sfondo della riga deve essere bianco/trasparente per vedere il buco */
    background-color: #fff !important; 
    border: none !important;
}

/* Rimuoviamo eventuali regole "Zebra" precedenti sulla riga */
.product-features .feature-row:nth-of-type(odd),
.product-features .feature-row:nth-of-type(even) {
    background-color: transparent !important;
}


/* 3. COLONNA DESTRA (Blocco Grigio 2) */
.product-features .feature-row .value {
    color: #666 !important;
}


/* --- 4. LOGO E DATI --- */
.product-manufacturer img {
    border: 1px solid #eee;
    padding: 10px;
    max-width: 125px !important;
    /* margin-bottom: 25px; */
}

.product-reference-stock {
    font-size: 13px;
    color: #777;
    margin-bottom: 25px;
    line-height: 1.8;
}
.product-reference-stock strong {
    color: #333;
    margin-right: 5px;
}







/* =======================================================
   PP POPUP AVVISO PRODOTTI GIA IN CARRELLO 
   ======================================================= */
/* --- MODIFICHE RICHIESTE --- */
.alert-container-mercataro {
    width: 100%;
    margin-top: 15px;      /* Sposta il blocco più in BASSO */
    margin-bottom: 5px;    /* Distanza dai tasti + e - */
}

.alert-container-mercataro .alert-info {
    max-width: 230px;      /* STRINGE i lati (larghezza ridotta) */
    margin: 0 auto !important; /* CENTRA il box stretto nella colonna */
    
    padding: 4px 10px !important; /* Più basso e compatto */
    font-size: 12px !important;   /* Testo leggermente più piccolo per armonia */
    
    background-color: #f0faff !important; 
    border: 1px solid #2fb5d2 !important; 
    color: #2fb5d2 !important;           
    border-radius: 4px !important;
    text-align: center !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Rimuove margini residui di PrestaShop */
.alert-container-mercataro #notifications {
    margin: 0 !important;
}






/* =======================================================
   INI PP MODAL POPUP RECENSIONI 
   ======================================================= */

/* --- 1. NASCONDI LA DESCRIZIONE LUNGA --- */
/* Questo è il punto fondamentale: nasconde il div che contiene il testo */
#post-product-comment-form div[itemprop="description"] {
    display: none !important;
}

/* --- 2. LAYOUT VERTICALE (Immagine -> Titolo -> Stelle) --- */
/* Forziamo le colonne della prima riga a occupare il 100% e andare a capo */
#post-product-comment-form .row:first-child .col-sm-2,
#post-product-comment-form .row:first-child .col-sm-4,
#post-product-comment-form .row:first-child .col-sm-6 {
    width: 100% !important;
    float: none !important;
    display: block !important;
    text-align: center !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
}

/* --- 3.1 IMMAGINE Centrato */
#post-product-comment-form .product-cover {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 10px !important;
}

/* --- 3.2 Immagine centrato */
#post-product-comment-form img.js-qv-product-cover {
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
}

/* --- 3.3 Immagine centrato recensione*/
.product-comment-modal .modal-dialog .product-cover, .product-comment-modal .modal-dialog .product-cover img {
    width: auto;
    height: 150px;
}


.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-content {
        min-height: 100px;
    }








/* --- 4. TITOLO (Centrato e Grassetto) --- */
#post-product-comment-form p.h3 {
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    margin: 0 0 10px 0 !important;
    width: 100% !important;
}

/* --- 5. STELLINE (Centrate e Pulite) --- */
#criterions_list {
    list-style: none !important;   /* Toglie i pallini neri */
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important; /* Centra le stelle */
    width: 100% !important;
    border-bottom: 1px solid #eee !important;
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
}

#criterions_list li {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

.btn-comment, .btn-comment-inverse {
    background-color: #000000;
}

.btn-comment-inverse {
    color: #fff;
}

/* =======================================================
   FINI PP MODAL POPUP RECENSIONI 
   ======================================================= */






/* =======================================================
   INI BORDINO MINIATURE PRODOTTI CORRELATI - PAGINA RICERCA
   ======================================================= */
.elementor-5170101 
/*imposta la class css corretta e funziona*/

{
    padding: 0px 0px 0px 0px !important;
    border-width: 1px 1px 1px 1px;
    border-style: solid;
    border-radius: 3px 3px 3px 3px;
    border-color: rgba(2, 1, 1, 0.1);
}


/* =======================================================
   FINI GEN BORDINO MINIATURE PRODOTTI CORRELATI - PAGINA RICERCA
   ======================================================= */



/* =======================================================
   INI PP GALLERIA (Base Utente + Pulizia Miniature)
   ======================================================= */

/* 1. RESET ALTEZZE (Tuo codice) */
.elementor-widget-product-images .elementor-main-swiper,
.elementor-widget-product-images .elementor-main-swiper .swiper-container,
.elementor-widget-product-images .elementor-main-swiper .swiper-wrapper {
    height: auto !important; 
    margin-bottom: 0 !important;
}

/* 2. IL BOX DELLA FOTO (Tuo codice + Centratura) */
.elementor-widget-product-images .elementor-main-swiper .swiper-slide {
    height: auto !important;       
    display: block !important;     
    width: 100% !important;
    text-align: center; /* Assicura che l'immagine stia al centro */
}

.elementor-widget-product-images .elementor-main-swiper img {
    margin: 0 auto; /* Centra l'immagine nel blocco */
    display: block;
}





/* =======================================================
   PP EFFETTO SFUMATO BIANCO CONTENITORE IMM GRANDE (4 LATI)
   ======================================================= */

.elementor-widget-product-images .elementor-main-swiper .swiper-slide::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 5 !important;
    pointer-events: none !important;

    /* CREIAMO LE 4 SFUMATURE */
    background: 
        /* SOTTO: 20px bianco verso l'alto */
        linear-gradient(to top, #ffffff 0%, rgba(255, 255, 255, 0) 5px),
        /* SOPRA: 20px bianco verso il basso */
        linear-gradient(to bottom, #ffffff 0%, rgba(255, 255, 255, 0) 5px),
        /* SINISTRA: 40px bianco verso destra */
        linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 5px),
        /* DESTRA: 40px bianco verso sinistra */
        linear-gradient(to left, #ffffff 0%, rgba(255, 255, 255, 0) 5px) !important;
    
    background-repeat: no-repeat !important;
}


/* =======================================================
   PP FIX LIGHTBOX: IMPEDISCE APERTURA POPUP SULLE MINIATURE
   ======================================================= */

/* 1. Crea uno scudo invisibile sopra le miniature NON attive */
.elementor-skin-slideshow .elementor-thumbnails-swiper .swiper-slide:not(.swiper-slide-thumb-active)::after {
    content: "" !important;
    display: block !important;    /* DEVE ESSERE BLOCK, non none */
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    
    background-color: transparent !important; /* Trasparente */
    opacity: 0 !important;      /* Invisibile */
    z-index: 10 !important;     /* Sta sopra l'immagine e il link */
}

/* 2. Disattiva i link (<a>) dentro le miniature per sicurezza */
/* Swiper funziona cliccando il box, non serve il link */
.elementor-thumbnails-swiper .swiper-slide a {
    pointer-events: none !important; /* Disabilita il click sul link */
    cursor: pointer !important;      /* Mantiene la manina del mouse */
}












/* =======================================================
   PP STILE FRECCE SLIDER (Cerchio Bianco -> Celeste)
   ======================================================= */

/* 1. STATO NORMALE (Cerchio Bianco con Ombra) */
.ceicon-chevron-left:before,
.ceicon-chevron-right:before {
    /* Creiamo il cerchio */
    width: 45px !important;
    height: 45px !important;
    line-height: 45px !important; /* Fondamentale per centrare la freccia */
    border-radius: 50% !important; /* Rende il box rotondo */
    display: block !important;
    text-align: center !important;

    /* Colori e Stile */
    background-color: #ffffff !important; /* Sfondo Bianco */
    color: #555555 !important;            /* Freccia Grigia scura */
    
    /* L'ombra leggera che si vede nella prima foto */
    box-shadow: 0 3px 10px rgba(0,0,0,0.1) !important; 
    
    /* Dimensione della freccina interna */
    font-size: 16px !important; /* La freccia deve essere piccola dentro il cerchio */
    
    /* Animazione */
    transition: all 0.3s ease !important;
}

/* 2. STATO HOVER (Cerchio Celeste con Freccia Bianca) */
.ceicon-chevron-left:hover:before,
.ceicon-chevron-right:hover:before {
    background-color: #4dc0dc !important; /* Il Celeste della foto */
    color: #ffffff !important;            /* Freccia Bianca */
    
    /* Effetto "galleggiamento" */
    transform: translateY(-2px); 
    box-shadow: 0 5px 15px rgba(77, 192, 220, 0.4) !important; /* Ombra celeste */
}



    /* descrizione breve altezza minima */
.ce-product-description-short {
    min-height: 150px;
}


/* =======================================================
   FINI GALLERIA PP (Base Utente + Pulizia Miniature)
   ====================================================== */






/* FINI ======================================================= */
 












/* =======================================================
   MINIATURE FIX ALLINEAMENTO CARD (Senza rompere le colonne)
   ======================================================= */

/* 1. LA CARD DEL PRODOTTO */
/* Impostiamo altezza 100% così se il tema usa flex, la card si allunga */
article.elementor-product-miniature {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important; 
    min-height: 100%;
    border: 1px solid #eee;
    box-sizing: border-box !important;
    position: relative;
}

/* 2. IL LINK (Foto + Titolo + Prezzo) */
/* Si espande per riempire lo spazio */
a.elementor-product-link {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; 
    text-decoration: none !important;
    color: inherit;
    width: 100%;
}

/* 3. CONTENUTO INTERNO */
.elementor-product-miniature .elementor-content {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    padding: 10px !important;
    justify-content: space-between !important;
}

/* 4. TITOLO (Opzionale: altezza minima per uniformità) */
.elementor-product-miniature .elementor-title {
    margin-bottom: 5px;
}

/* 5. PREZZO -> In fondo */
.elementor-product-miniature .elementor-price-wrapper {
    margin-top: auto !important; 
    padding-top: 10px;
    padding-bottom: 5px;
}


.elementor-product-miniature .elementor-price {
    color: #666;
    font-weight: 600;
}


/* 6. PULSANTE -> Incollato sotto */
form.elementor-atc {
    width: 100%;
    margin-top: 0 !important;
}

/* 7. IMMAGINE -> Fix proporzioni */
.elementor-image img {
    margin: 0 auto;
    display: block;
    /* Rimuoviamo width 100% forzato che potrebbe ingrandirle troppo */
    max-width: 100% !important; 
    height: auto !important;
}










/* --- FOOTER FLOTTANTE FIX --- */
/* Forza il contenuto centrale a occupare pagine vuote e spingere il footer in basso. */
html, body {height: 100%; margin: 0; padding: 0;}
main { display: flex; flex-direction: column; min-height: 100vh;}
section#wrapper { flex: 1;}
footer { margin-top: auto;}



/* FONT BASE DEL SITO - Regola debole che non rompe le icone */
body {
    font-family: 'Open Sans', sans-serif !important;
    color: #333333 !important;      /* Grigio scuro caldo anziché nero puro */
}


/* --- INI HOMEPAGE AGGIUSTAMENTO SOTTO I 580PX --- */
@media (max-width: 580px) {
    .mercataro-slider {
        height: 190px !important; /* Molto più respiro per mobile */
    }
    .mercataro-slider .slide-content {
        bottom: 10% !important; /* Sposta i testi un po' più su per non coprire il prodotto */
    }
}
/* --- FINI HOMEPAGE AGGIUSTAMENTO SOTTO I 580PX --- */



/* ===============================================================
   TOGLIE COPERTURA GRIGIO SU TUTTO IL SITO
   =============================================================== */
#wrapper {
        background: #fff;
}



/* ============================================================
   ASPETTO QUICK MENU
   ============================================================ */
.quickmenu-mobile-wrapper {
    padding: 0 30px;
    height: 50px;
    background: white;
/*  line-height: 2;
    margin-top: 8px;*/
}
   
   /* Nasconde il quickmenu su schermi superiori a 680px */
@media (min-width: 680px) {
  .quickmenu-mobile {
    display: none !important;
  }
}
   
   



/* =================================================================
   INI ADATTAMENTO REPLICA FEDELE POS MEGAMENU
   ================================================================= */

.pos-menu-horizontal .img_desktop,
.pos-menu-vertical .img_desktop {
  overflow: hidden;
  display: block;
  position: relative; }
.pos-menu-horizontal img,
.pos-menu-vertical img {
  width: 30%;
  -webkit-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  transition: all 300ms linear; }
  .pos-menu-horizontal img:hover,
  .pos-menu-vertical img:hover {
    -moz-transform: scale(1.05) rotate(0.05deg);
    -ms-transform: scale(1.05) rotate(0.05deg);
    -o-transform: scale(1.05) rotate(0.05deg);
    -webkit-transform: scale(1.05) rotate(0.05deg);
    transform: scale(1.05) rotate(0.05deg);
    -webkit-transition: all 300ms linear;
    -moz-transition: all 300ms linear;
    -ms-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    transition: all 300ms linear; }
@media (max-width: 991px) {
  .pos-menu-horizontal .hidden-mobile,
  .pos-menu-vertical .hidden-mobile {
    display: none; } }

#_desktop_megamenu .pos-menu-horizontal .menu-content .menu-item.block-icon > a i:not(.hidden-md-down),
#_desktop_megamenu .pos-menu-horizontal .menu-content .menu-item.block-icon > a .img-icon {
  display: block;
  margin: auto auto 5px;
  font-size: 24px;
  text-align: center; }

.not-padding-column .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown {
  padding-top: 0; }

.main-menu.megamenu_center .pos-menu-horizontal {
  margin: auto; }
  .main-menu.megamenu_center .pos-menu-horizontal .menu-content {
    justify-content: center; }
.main-menu .pos-menu-horizontal .icon-drop-mobile {
  display: none; }
.main-menu .pos-menu-horizontal .menu-content {
  flex-wrap: wrap;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  margin: 0; }
  .main-menu .pos-menu-horizontal .menu-content:after {
    content: '';
    display: table;
    clear: both; }
  .main-menu .pos-menu-horizontal .menu-content .menu-item {
    display: inline-block;
    position: relative;
    /* Rotate menu */ }
    .main-menu .pos-menu-horizontal .menu-content .menu-item:first-child > a {
      margin-left: 0; }
    @media (max-width: 1199px) {
      .main-menu .pos-menu-horizontal .menu-content .menu-item > a {
        margin-left: 0.9375rem; } }
    .main-menu .pos-menu-horizontal .menu-content .menu-item > a {
      font-size: 0.875rem;
      margin-left: 1.875rem; }

/*    .main-menu .pos-menu-horizontal .menu-content .menu-item > a {
      display: block;
      font-weight: 600;
      font-size: 0.875rem;
      background: transparent;
      text-transform: capitalize;
      position: relative;
     margin-left: 1.875rem; }
*/
      .main-menu .pos-menu-horizontal .menu-content .menu-item > a .menu-subtitle {
        display: inline-block;
        padding: 0 0.625rem;
        font-size: 0.6875rem;
        background: #253237;
        color: #ffffff;
        font-weight: 400;
        line-height: 1.125rem;
        position: absolute;
        margin-top: -1.25rem;
        right: 0;
        border-radius: 3px;
        z-index: 11; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item > a .menu-subtitle:after {
          top: 100%;
          left: 50%;
          content: ' ';
          height: 0;
          width: 0;
          position: absolute;
          pointer-events: none;
          border: solid transparent;
          border-top-color: #253237;
          border-width: 4px;
          margin-left: -4px; }
      .main-menu .pos-menu-horizontal .menu-content .menu-item > a .img-icon {
        margin-right: 5px;
        display: inline-block;
        vertical-align: middle;
        width: auto; }
      .main-menu .pos-menu-horizontal .menu-content .menu-item > a i {
        display: inline-block;
        vertical-align: middle;
        font-size: 1rem;
        line-height: 1;
        vertical-align: 0px; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item > a i.hidden-md-down {
          font-size: 8px; }
    .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown {
      position: absolute;
      top: 100%;
      z-index: 9;
      visibility: hidden;
      opacity: 0;
      text-align: left;
      padding-top: 10px; }
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.sub_grid .pos-menu-row {
        column-gap: 0;
        -webkit-column-count: 4;
        -moz-column-count: 4;
        -ms-column-count: 4;
        column-count: 4; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.sub_grid .pos-menu-row .pos-menu-col {
          float: none;
          display: inline-block;
          width: 100%; }
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown h4 {
        font-family: inherit; }
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .pos-sub-inner {
        box-shadow: 0px 0px 3.76px 0.24px rgba(0, 0, 0, 0.15);
        background: #ffffff;
        padding: 1.875rem 1.875rem 0.625rem 1.875rem; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .pos-menu-row .pos-menu-col {
          margin-bottom: 1.25rem; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .pos-menu-row:last-child {
          margin-bottom: -10; }
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column .submenu-item {
        margin-bottom: 1.875rem;
        overflow: hidden; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column .submenu-item:last-child {
          margin-bottom: 0; }
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column.column_dropdown {
        margin-top: 1.25rem; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column.column_dropdown .submenu-item {
          margin-bottom: 0; }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column.column_dropdown .submenu-item > a {
            line-height: 2.25;
            display: block; }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column.column_dropdown .submenu-item .category-sub-menu {
            margin-top: 0;
            padding-left: 10px; }
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .category-sub-menu {
        margin-top: 1.25rem; }
/*      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column:not(.column_dropdown) .submenu-item > a,
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .column_title {
        color: #253237;
        line-height: 1;
        text-transform: capitalize;
        font-size: 1rem;
        font-weight: 600;
        display: block;
        margin: 0; }
*/

		#header a {
   		 color: #666;
		}

      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column:not(.column_dropdown) .submenu-item > a:hover {
        color: var(--hovercolor); }
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column.column_dropdown .submenu-item > a,
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .submenu-item .category-sub-menu a {
        color: #253237;
        text-transform: capitalize;
        display: block;
        line-height: 2;
        color: #888888 !important; 
        font-size: 14px; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .ul-column.column_dropdown .submenu-item > a:hover,
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .submenu-item .category-sub-menu a:hover {
          -moz-transform: translateX(10px);
          -webkit-transform: translateX(10px);
          -o-transform: translateX(10px);
          -ms-transform: translateX(10px);
          transform: translateX(10px);
          -webkit-transition: all 300ms linear;
          -moz-transition: all 300ms linear;
          -ms-transition: all 300ms linear;
          -o-transition: all 300ms linear;
          transition: all 300ms linear;
          color: var(--hovercolor); }
      .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu {
        min-width: 250px;
        left: auto !important;
        right: auto;
        padding: 0; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu .pos-sub-inner {
          padding: 0;
          box-shadow: 0px 0px 3.76px 0.24px rgba(0, 0, 0, 0.15); }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu .pos-sub-inner .pos-sub-inner {
            margin: 0; }
        .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li {
          position: relative;
          border-bottom: 1px solid #ebebeb;
          position: relative;
          display: block;
          padding: 0 2.7rem 0 1.25rem; }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li:last-child {
            border-bottom: none; }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li .icon-drop-mobile {
            display: block;
            position: absolute;
            right: 0.9375rem;
            top: 50%;
            -webkit-transform: translateY(-50%);
            -moz-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
            .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li .icon-drop-mobile:before {
              font-family: "roadthemes-icon";
              content: '\e92d';
              font-size: 0.625rem; }
            .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li .icon-drop-mobile i {
              display: none; }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li a {
            display: block;
            padding: 0.625rem 0;
            color: #253237;
            font-weight: 400;
            text-transform: capitalize;
            color: #888888 !important;
            font-size: 0.875rem;
            background: #ffffff;
            white-space: nowrap; }
            .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li a:hover {
              color: var(--hovercolor); }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li > .menu-dropdown {
            left: 100% !important;
            top: 0; }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li:hover > .menu-dropdown {
            opacity: 1;
            visibility: visible;
            -webkit-transition: all 300ms linear;
            -moz-transition: all 300ms linear;
            -ms-transition: all 300ms linear;
            -o-transition: all 300ms linear;
            transition: all 300ms linear; }
          .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown.cat-drop-menu li:hover > a {
            -moz-transform: translateX(10px);
            -webkit-transform: translateX(10px);
            -o-transform: translateX(10px);
            -ms-transform: translateX(10px);
            transform: translateX(10px);
            -webkit-transition: all 300ms linear;
            -moz-transition: all 300ms linear;
            -ms-transition: all 300ms linear;
            -o-transition: all 300ms linear;
            transition: all 300ms linear; }
    .main-menu .pos-menu-horizontal .menu-content .menu-item:hover > .menu-dropdown,
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .cat-drop-menu > li:hover > .cat-drop-menu {
      opacity: 1;
      visibility: visible;
      -webkit-transition: all 300ms linear;
      -moz-transition: all 300ms linear;
      -ms-transition: all 300ms linear;
      -o-transition: all 300ms linear;
      transition: all 300ms linear; }
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu-dropdown.cat-drop-menu {
      padding-top: 10px; }
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_slidedown,
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_slidedown.cat-drop-menu li > .menu-dropdown {
      opacity: 0;
      visibility: hidden;
      -o-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
      -moz-transform-origin: 0% 0%;
      -webkit-transform-origin: 0% 0%;
      transform-style: preserve-3d;
      -o-transform-style: preserve-3d;
      -moz-transform-style: preserve-3d;
      -webkit-transform-style: preserve-3d;
      transform: rotateX(-75deg);
      -o-transform: rotateX(-75deg);
      -moz-transform: rotateX(-75deg);
      -webkit-transform: rotateX(-75deg); }
    .main-menu .pos-menu-horizontal .menu-content .menu-item:hover > .menu_slidedown,
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_slidedown.cat-drop-menu li:hover > .menu-dropdown {
      opacity: 1;
      visibility: visible;
      transform: rotateX(0deg);
      -o-transform: rotateX(0deg);
      -moz-transform: rotateX(0deg);
      -webkit-transform: rotateX(0deg);
      -o-transition: -o-transform 0.3s, opacity 0.3s;
      -ms-transition: -ms-transform 0.3s, opacity 0.3s;
      -moz-transition: -moz-transform 0.3s, opacity 0.3s;
      -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; }
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_slideup,
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_slideup.cat-drop-menu li > .menu-dropdown {
      opacity: 0;
      visibility: hidden;
      -webkit-transform-origin: center center;
      -moz-transform-origin: center center;
      -ms-transform-origin: center center;
      -o-transform-origin: center center;
      transform-origin: center center;
      -webkit-transform: translateY(20px);
      -moz-transform: translateY(20px);
      -ms-transform: translateY(20px);
      -o-transform: translateY(20px);
      transform: translateY(20px); }
    .main-menu .pos-menu-horizontal .menu-content .menu-item:hover > .menu_slideup,
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_slideup.cat-drop-menu li:hover > .menu-dropdown {
      opacity: 1;
      visibility: visible;
      -webkit-transform: rotateX(0deg);
      -moz-transform: rotateX(0deg);
      -ms-transform: rotateX(0deg);
      -o-transform: rotateX(0deg);
      transform: rotateX(0deg);
      -o-transition: -o-transform 0.3s, opacity 0.3s;
      -ms-transition: -ms-transform 0.3s, opacity 0.3s;
      -moz-transition: -moz-transform 0.3s, opacity 0.3s;
      -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; }
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_rotate,
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_rotate.cat-drop-menu li > .menu-dropdown {
      opacity: 0;
      visibility: hidden;
      transform: perspective(400px) rotate3d(1, 0, 0, -90deg);
      transform-origin: 50% 0px 0px; }
    .main-menu .pos-menu-horizontal .menu-content .menu-item:hover > .menu_rotate,
    .main-menu .pos-menu-horizontal .menu-content .menu-item > .menu_rotate.cat-drop-menu li:hover > .menu-dropdown {
      opacity: 1;
      visibility: visible;
      max-height: 1000px;
      transform: perspective(400px) rotate3d(0, 0, 0, 0deg);
      -webkit-transition: all 300ms linear;
      -moz-transition: all 300ms linear;
      -ms-transition: all 300ms linear;
      -o-transition: all 300ms linear;
      transition: all 300ms linear; }
      
      .menu-no-gap .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown {
  padding-top: 0; }
  
  
  /* INI Correzione animazione "ritorno lento" per i link del menu */
     .pos-menu-horizontal .pos-sub-menu a,
     .pos-menu-horizontal .category-sub-menu li a,
     .pos-menu-horizontal .pos-sub-inner li a 
    {
     /* Questa è la regola magica: dice di animare qualsiasi cambiamento in 0.3 secondi */
       transition: all 0.3s ease-in-out !important;
       -webkit-transition: all 0.3s ease-in-out !important;
    
      /* Opzionale: assicura che il punto di partenza sia stabile */
      transform: translateX(0);
    }
    
    .pos-menu-horizontal .category-sub-menu li a:hover {
    /* Spostamento a destra */
    padding-left: 15px !important; 
    }
  /* FINI Correzione animazione "ritorno lento" per i link del menu */









/* ==========================================================
   MODIFICA HOVER MENU PRINCIPALE (NO AZZURRO, SOLO GRIGIO)
   ========================================================== */

/* 1. Definizione Base (Nero/Grigio Scuro) */
.pos-menu-horizontal .menu-item > a {
    color: #333333 !important; /* Colore di partenza scuro */
    transition: color 0.3s ease; /* Animazione morbida */
}

/* 2. Effetto al passaggio del Mouse (Si schiarisce un po') */
.pos-menu-horizontal .menu-item:hover > a {
    color: #777777 !important; /* Diventa grigio chiaro, NON azzurro */
}

/* 3. Anche la freccetta accanto deve schiarirsi uguale */
.pos-menu-horizontal .menu-item:hover .icon-rt-arrow-down {
    color: #777777 !important;
}



.main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown .submenu-item .category-sub-menu a {
    text-transform: capitalize;
    display: block;
    line-height: 2;
    color: #888888 !important;
    font-size: 14px;
}

.pos-menu-horizontal .pos-sub-inner li a {
    /* Questa riga è fondamentale: dice "Qualsiasi cambiamento fallo lentamente" */
    transition: all 0.3s ease-in-out !important; 
}



/* ======================================================
   FIX VISUALE SPECIFICO PER L'EDITOR DI ELEMENTOR
   (Serve per non vedere il menu esploso mentre lavori)
   ====================================================== */

/* 1. Allarga il contenitore principale nell'editor */
body.elementor-editor-active .pos-menu-horizontal {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

/* 2. Forza la disposizione orizzontale della barra */
body.elementor-editor-active .pos-menu-horizontal ul.menu-content {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
}

/* 3. Sistema la tendina (Sottomenu) che ora è stretta e verticale */
body.elementor-editor-active .pos-sub-menu,
body.elementor-editor-active .menu-dropdown {
    position: absolute !important; /* Lo sgancia dal flusso per non spingere giù tutto */
    top: 100% !important;
    left: 0 !important;

    width: auto !important;
    background: #fff !important;
    z-index: 9999 !important;
    
    /* Opzionale: Nascondilo nell'editor se ti da fastidio */
    /* display: none; */ 
}

/* 4. Mostra la tendina solo se passi il mouse (anche nell'editor) */
body.elementor-editor-active .menu-item:hover .pos-sub-menu {
    display: block !important;
}

/* 5. IMPEDISCE AL TESTO DI ANDARE A CAPO (Risolve: Borse A Traco...) */
body.elementor-editor-active .pos-sub-menu a,
body.elementor-editor-active .pos-sub-inner li a {
    white-space: nowrap !important; /* Obbliga il testo a stare su una riga */
    width: auto !important;
}

/* 6. Sistema le colonne interne nell'editor */
body.elementor-editor-active .pos-menu-col {
    width: auto !important;
    min-width: 200px !important;
    float: left !important;
}
/* =================================================================
   FINI REPLICA FEDELE POS MEGAMENU MERCATARO (Basato sul tuo HTML) 
   ================================================================= */
   
   
   
   
   /* ===================================================================
   FIX DEFINITIVO SPAZIO BIANCO MOBILE (CAUSATO DA MEGAMENU)
   =================================================================== */

/*
 * Applica queste regole solo su schermi più piccoli di 680px
 * (il breakpoint standard per tablet e mobile).
*/
@media (max-width: 680px) {

    /*
     * 1. Nasconde completamente l'intero menu orizzontale.
     *    'display: none' è la regola chiave che impedisce al browser
     *    di calcolare la larghezza degli elementi interni.
    */
    .pos-menu-horizontal {
        display: none !important;
    }

    /*
     * 2. Regola di sicurezza aggiuntiva: se per qualche motivo
     *    il menu non viene nascosto, impediamo ai sottomenu
     *    di creare problemi di layout.
    */
    .main-menu .pos-menu-horizontal .menu-content .menu-item .menu-dropdown {
        position: static !important; /* Rimuove il posizionamento assoluto */
        width: 100% !important;      /* Forza la larghezza al 100% del contenitore */
        column-count: 1 !important;  /* Forza una singola colonna */
    }
    
}
   

   
   
  /* ==================================================
   FIX LOGO: Impedisce il rimpicciolimento su Tablet
   ================================================== */

/* Seleziona l'immagine del logo dentro l'header */
#header .logo,
.elementor-widget-theme-site-logo img {
    width: 200px !important;       /* Imposta la larghezza desiderata (es. 200px) */
    min-width: 200px !important;   /* FONDAMENTALE: Impedisce di scendere sotto questa misura */
    max-width: none !important;    /* Rimuove il limite del contenitore */
    height: auto !important;       /* Mantiene le proporzioni */
}

/* Opzionale: Dice alla colonna che contiene il logo di non stringersi */
.elementor-col-33, /* O la classe specifica della tua colonna logo */
.header-logo-column {
    flex-shrink: 0 !important; /* Non ti far schiacciare dagli altri! */
} 
   
   
   
   
/* ===============================================================
   STILE PERSONALIZZATO BLOG - VERSIONE FINALE
   Basato su CSS utente, con fix per aspect ratio immagini.
   Data: 12/12/2025
   =============================================================== */

/* --- Card Principale --- */
.ets_block_latest li {
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background: #fff;
    padding: 15px;
    margin: 10px;
    box-shadow: 0 2px 2px rgba(0,0,0,0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    
    /* Aggiunta: attiva Flexbox per l'allineamento verticale perfetto */
    display: flex;
    flex-direction: column;
}

/* Effetto hover elegante */
.ets_block_latest li:hover {
    transform: translateY(-4px);
    box-shadow: 0 3px 3px rgba(0,0,0,0.10);
}


/* --- SEZIONE IMMAGINE (MODIFICATA PER ASPECT RATIO 1:1) --- */

/* 1. Crea un contenitore quadrato per l'immagine */
.ets_block_latest li .ets_item_img {
    position: relative;
    width: 100%;
    padding-top: 100%; /* Forza un'altezza pari alla larghezza -> crea un quadrato */
    border-radius: 10px;
    overflow: hidden; /* Nasconde le parti dell'immagine che escono */
    margin-bottom: 15px; /* Aumentato un po' il margine */
}

/* 2. Adatta l'immagine all'interno del contenitore quadrato */
.ets_block_latest li .ets_item_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Riempie lo spazio senza deformare (croppa se necessario) */
    transition: opacity 0.2s ease;
}

.ets_block_latest li:hover .ets_item_img img {
    opacity: 0.92;
}

/* --- SEZIONE TESTUALE --- */

/* Aggiunta: Contenitore per il testo per usare Flexbox */
.ets_block_latest li .ets-blog-latest-post-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Fa espandere quest'area per riempire lo spazio verticale */
}

/* Titolo */
.ets_block_latest li .ets_title_block {
    display: block;
    font-size: 17px;
    font-weight: 600;
    color: #222;
    margin-bottom: 8px;
    line-height: 1.3;
    transition: color 0.2s;
    min-height: 4.8em; /* Spazio per 3 righe per allineare tutto */
    max-height: calc(1.3em * 3); /* oppure: min-height: 3.9em; */
}

.ets_block_latest li .ets_title_block:hover {
    color: #007bff;
}

/* Data */
.ets_block_latest li .post-date {
    font-size: 13px;
    color: #888;
    margin-bottom: 8px;
    display: inline-block;
}

/* Descrizione */
.ets_block_latest li .blog_description p {
    margin: 0 0 12px;
    font-size: 14px;
    color: #555;
    line-height: 1.45;
    min-height: 100px;
    /* Aggiunta: fa espandere la descrizione e spinge il "Read Moree" in fondo */
    flex-grow: 1;
}

/* Link Read more */
.ets_block_latest li .read_more {
    font-size: 14px;
    font-weight: 600;
    color: #007bff;
    text-decoration: none;
    /* Aggiunta: si assicura di stare in fondo */
    margin-top: auto; 
    margin-bottom: 10px;
    border-bottom: 2px dotted;
    align-self: flex-start !important;
}


.title_blog, .title_blog a {
    font-size: 20px;
    text-align: center;
}


.owl-carousel .owl-item {
    padding-left: 5px;
}


.ets_block_slider .owl-item>li {
    margin-top: 5px;
    margin-left: -1px;
    padding: 10px;
}


.page_home, .page_home_gallery {
    background-color: #fff;
    display: block;
    clear: both;
    margin-bottom: 2px;
    padding: 15px;
    width: 100%;
}


.page_home .title_blog, .page_home_gallery .title_blog {
    margin-top: -15px;
}

/* ===============================================================
   FINI STILE PERSONALIZZATO BLOG
   =============================================================== */







/*  --------- INI FOOTER CSS --------- */

/* La linea celeste sotto il titolo */
.footer-heading::after {
    content: '';
    display: block;
    width: 60px; /* Lunghezza linea */
    height: 2px; /* Spessore linea */
    background-color: #6AD4FF; /* COLORE CELESTE */
    position: absolute;
    bottom: 0; /* Corretto da 1 (non valido senza unità) a 0 */
}

/* 2. Stile Link delle Colonne */
.elementor-icon-list-item a {


    padding-bottom: 8px; /* Spazio tra le righe */
    display: block;
    transition: color 0.3s;
        /* QUI va la transition, così funziona sia quando entri che quando esci */
    transition: all 0.3s ease-in-out !important;
    
    /* Assicuriamoci che parta da zero spostamento */
    padding-left: 0; 
}

/* Checkbox GDPR sotto */
.block_newsletter .form-group.GDPRConsent {
    width: 100%;
    margin-top: 10px;
    font-size: 11px;
    color: #777;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Icona freccetta (se presente) */
.elementor-icon-list-icon i {
    color: #ccc;
    font-size: 12px;
    /* Anche la freccia deve muoversi fluida */
    transition: all 0.3s ease-in-out !important;
}

/* HOVER (Quando passi il mouse) */
.elementor-icon-list-item:hover a {
    color: #2fb5d2 !important; /* Celeste */
    padding-left: 10px !important; /* Si sposta a destra di 10px */
}

.elementor-icon-list-item:hover .elementor-icon-list-icon i {
    color: #2fb5d2 !important; /* Anche la freccia si colora */
    padding-left: 5px !important; /* Si muove anche lei */
}

/*  ---------- FINI FOOTER CSS --------------- */








/* ===============================================================
   INI STILE PERSONALIZZATO PAGINA CATEGORIE
   =============================================================== */


/* --- FIX AJAX: RIPRISTINO GRIGLIA 5 COLONNE --- */

/* Applichiamo la regola che hai trovato direttamente al contenitore di PrestaShop */
#js-product-list .products, 
#js-product-list .product-list-grid {
    display: grid !important;
    /* Forza 4 colonne su Desktop */
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 2px; /* Spazio tra i prodotti */
    width: 100% !important;
}

/* Assicuriamoci che la miniatura occupi tutto lo spazio della cella della griglia */
#js-product-list .product-miniature {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* --- RESPONSIVE --- */

/* Su Laptop: passiamo a 3 colonne */
@media (max-width: 1350px) {
    #js-product-list .products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}


/* Su Tablet: passiamo a 3 colonne */
@media (max-width: 1100px) {
    #js-product-list .products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}


/* Su Mobile: passiamo a 2 colonne */
@media (max-width: 767px) {
    #js-product-list .products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Spazio righe miniature */
#js-product-list .products, #js-product-list .product-list-grid {
    grid-row-gap: 20px;
}



/* --- SPOSTAMENTO FORZATO ORDINAMENTO A DESTRA --- */

/* 1. Reset del contenitore principale */
#js-product-list-top {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important; /* Mette spazio tra conteggio e ordinamento */
    width: 100% !important;
    max-width: 100% !important;
}

/* 2. Forza il blocco dell'ordinamento a scivolare tutto a destra */
#js-product-list-top .products-sort-order,
#js-product-list-top > div:last-child {
    margin-left: auto !important; /* La spinta magica verso destra */
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex: 0 1 auto !important; /* Impedisce al blocco di allargarsi troppo */
}


/* Elimina il troppo spazio dai divisori della pagina categorie */
.elementor-element-196c256 .elementor-divider,
.elementor-element-6ab3392 .elementor-divider {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* --- 1. LINEETTA BLU: SOLO NELLA SIDEBAR --- */
#sidebar-negozio h3, 
#sidebar-negozio .facet .title {
    position: relative !important;
    display: block !important;
    padding-bottom: 12px !important;
    margin-bottom: 15px !important;
    border-bottom: 1px solid #eeeeee !important;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 16px !important;
    color: #333 !important;
}

/* Creazione della lineetta blu solo per la sidebar */
#sidebar-negozio h3::after, 
#sidebar-negozio .facet .title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 60px !important;
    height: 3px !important;
    background-color: #2fb5d2 !important;
    z-index: 2 !important;
}


p.h6.facet-title.hidden-sm-down, span.navbar-toggler.collapse-icons{
    display: none;
}

/* --- DISATTIVAZIONE CLICK SU TITOLI SIDEBAR --- */

.title.hidden-md-up.collapsed,
p.h6.facet-title {
    pointer-events: none !important; /* Impedisce qualsiasi interazione col mouse (click, hover, etc.) */
    cursor: default !important;      /* Impedisce al cursore di diventare una manina */
    user-select: none !important;    /* Impedisce anche di selezionare il testo per errore */
}



/* --- RIMOZIONE PADDING FILTRI NATIVI --- */
#search_filters, 
#search_filters_brands, 
#search_filters_suppliers {
    padding: 0 !important; /* Rimuove lo spazio interno */
    margin-bottom: 1.563rem;
    background: transparent !important; /* Opzionale: toglie lo sfondo bianco se vuoi che stia sul fondo grigio della sidebar */
}

/* Assicura che anche il contenuto interno parta da zero */
#search_filters .facet {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* --- RESET E STILE MODULO TAG --- */

/* 1. Reset totale contenitori (Widget e Modulo) */
#sidebar-negozio .elementor-widget-ps-widget-module,
#sidebar-negozio .elementor-widget-container,
#sidebar-negozio div#tags_block,
#sidebar-negozio .blocktags {
    padding-left: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* 2. Stile Titolo H2 (TAG) per allinearlo ai filtri sopra */
#sidebar-negozio div#tags_block h2 {
    display: block !important;
    position: relative !important;
    padding: 0 0 12px 0 !important; /* Spazio sotto per la linea */
    margin: 0 0 15px 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important; /* Forza MAIUSCOLO */
    color: #333 !important;
    border-bottom: 1px solid #eeeeee !important; /* Linea grigia lunga */
    text-align: left !important;
    width: 100% !important;
}

/* 3. Lineetta Celeste (60px) */
#sidebar-negozio div#tags_block h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 60px !important;
    height: 3px !important;
    background-color: #2fb5d2 !important;
    z-index: 5 !important;
}

/* 4. Allineamento contenuto (i link dei tag) */
#sidebar-negozio div#tags_block .block_content {
    padding-left: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
}

#sidebar-negozio div#tags_block .block_content a {
    color: #2fb5d2 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin: 5px 5px 5px 0 !important; /* Spazio tra i tag, ma zero a sinistra */
}

#sidebar-negozio a.tag_level3.first_item {
    color: #232323;
}

a.tag_level1.last_item {
    color: black;
}

/* ===============================================================
   FINI STILE PERSONALIZZATO PAGINA CATEGORIE
   =============================================================== */



/* Nascondi barra notifiche e avvisi solo sulla pagina 404 */
body#pagenotfound #notifications,
body.pagenotfound #notifications {
    display: none !important;
}

/* Nascondi prodotti popolari solo sulla conferma ordine */
#order-confirmation .featured-products {
    display: none !important;
}

/* Allineamento a piombo Tabella Prodotti Conferma Ordine */
@media (min-width: 768px) {
    #order-items .order-confirmation-table .order-line {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        padding: 10px 0 !important;
    }
    
    /* Immagine prodotto (15%) */
    #order-items .order-confirmation-table .order-line > div:first-child {
        flex: 0 0 15% !important;
        max-width: 15% !important;
    }
    #order-items .order-confirmation-table .order-line img {
        max-height: 90px !important;
        width: auto !important;
    }

    /* Nome e dettagli prodotto (35%) -> Totale colonna Articoli = 50% */
    #order-items .order-confirmation-table .order-line > .details {
        flex: 0 0 35% !important;
        max-width: 35% !important;
        padding-left: 10px !important;
    }

    /* Blocco Prezzo / Qta / Totale (50% restante) */
    #order-items .order-confirmation-table .order-line > .qty {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    #order-items .order-confirmation-table .order-line > .qty .row {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 !important;
    }

    /* 1. Prezzo Unitario (1/3 del blocco, allineato a destra sotto il suo titolo) */
    #order-items .order-confirmation-table .order-line > .qty .row > div:nth-child(1) {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
        text-align: right !important;
        padding-right: 15px !important;
    }

    /* 2. Quantità (1/3 del blocco, centrato sotto Quantità) */
    #order-items .order-confirmation-table .order-line > .qty .row > div:nth-child(2) {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
        text-align: center !important;
    }

    /* 3. Totale Prodotti (1/3 del blocco, allineato a destra sotto Totale) */
    #order-items .order-confirmation-table .order-line > .qty .row > div:nth-child(3) {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
        text-align: right !important;
        padding-right: 15px !important;
        font-weight: 600 !important;
    }
}

/* Allarga blocco Dettagli Ordine (col-md-6) per evitare a capo sui pagamenti */
@media (min-width: 768px) {
    #order-details {
        flex: 0 0 55% !important;
        max-width: 55% !important;
    }
}

/* Forza larghezza reale blocco Dettagli Ordine per evitare a capo */
@media (min-width: 768px) {
    #order-details,
    #order-details.col-md-4,
    #order-details.col-md-7 {
        width: 60% !important;
        max-width: 60% !important;
        flex: 0 0 60% !important;
    }
}

/* Mostra Opzionale a destra allineato per la riga Newsletter */
@media (min-width: 768px) {
    #customer-form .form-group:has(input[name="newsletter"]) {
        position: relative !important;
    }
    #customer-form .form-group:has(input[name="newsletter"])::after {
        content: "Opzionale";
        position: absolute;
        right: 15px;
        top: 0;
        color: #7a7a7a;
        font-size: 0.9375rem;
    }
}

/* 1. Rimuove la vecchia regola assoluta che causava la sovrapposizione */
#customer-form .form-group:has(input[name="newsletter"])::after {
    display: none !important;
}

/* 2. Inserisce "Opzionale" nella colonna corretta, a piombo con Azienda e Codice Fiscale */
#customer-form .form-group:has(input[name="newsletter"]) .form-control-comment::before {
    content: "Opzionale";
    color: #7a7a7a;
    font-size: 0.9375rem;
    display: inline-block;
    padding-top: 5px;
}

/* 3. Spazia e distanzia correttamente il pulsante SALVA in basso */
#customer-form footer.form-footer {
    margin-top: 2.5rem !important;
    padding-top: 1rem !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
}

/* Effetto Hover sui pulsanti Vedi (Termini e Privacy) */
.btn-link-vedi {
    background: #f1f5f9 !important;
    color: #0284c7 !important;
    border: 1px solid #cbd5e1 !important;
    padding: 2px 9px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-left: 6px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    transition: all 0.2s ease-in-out !important;
}

.btn-link-vedi:hover {
    background: #0284c7 !important;
    color: #ffffff !important;
    border-color: #0284c7 !important;
    box-shadow: 0 2px 5px rgba(2, 132, 199, 0.3) !important;
    transform: translateY(-1px) !important;
}

/* Centratura perfetta del pulsante SALVA in Registrazione */
#customer-form footer.form-footer {
    margin-top: 30px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

#customer-form footer.form-footer .btn-submit-center {
    float: none !important;
    min-width: 200px !important;
    padding: 12px 35px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    margin: 0 auto !important;
}


/* =============================================================================

/* =============================================================================

/* =============================================================================

/* =============================================================================

/* =============================================================================

/* =============================================================================

/* =============================================================================

/* =============================================================================

/* =============================================================================

/* =============================================================================
/* =============================================================================
   BARRA CONTROLLI SUPERIORE RESPONSIVE (DESKTOP, TABLET, MOBILE)
   ============================================================================= */
.griglie-elenco,
.griglia-elenco,
.view-mode-buttons {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* Sblocco e Allineamento fluido della barra a 3 blocchi (Tablet e Desktop) */
@media (min-width: 768px) {
    section.elementor-element-570377d .elementor-container,
    section.elementor-element-570377d .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        flex-wrap: nowrap !important;
    }
    section.elementor-element-570377d .elementor-element-4b05907c { width: auto !important; flex: 0 0 auto !important; margin-right: 15px !important; }
    section.elementor-element-570377d .elementor-element-740d131 { width: auto !important; flex: 0 0 auto !important; margin-right: auto !important; }
    section.elementor-element-570377d .elementor-element-31b641e4 { width: auto !important; flex: 0 0 auto !important; margin-left: auto !important; }
}

/* Barra Superiore Mobile (< 768px) */
@media (max-width: 767px) {
    section.elementor-element-570377d.hidden-sm-down { display: block !important; margin-bottom: 12px !important; }
    section.elementor-element-570377d .elementor-row { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; width: 100% !important; }
    section.elementor-element-570377d .elementor-element-740d131 { display: none !important; }
    .ce-sort-order .elementor-field-label { display: none !important; }
    section.elementor-element-570377d .elementor-element-4b05907c { width: auto !important; flex: 0 0 auto !important; }
    section.elementor-element-570377d .elementor-element-31b641e4 { width: auto !important; flex: 1 1 auto !important; }
    .ce-sort-order .elementor-select-wrapper select { height: 34px !important; font-size: 13px !important; padding: 4px 32px 4px 12px !important; min-width: 115px !important; }
    .elementor-widget-listing-filters a.elementor-button { height: 34px !important; padding: 0 12px !important; border-radius: 4px !important; }
}

/* =============================================================================
   TENDINA "ORDINA PER:" (CLONE FONT-AWESOME CARET-DOWN)
   ============================================================================= */
.ce-sort-order .elementor-select-wrapper::before,
.ce-sort-order .elementor-select-wrapper::after {
    display: none !important;
    content: none !important;
}

.ce-sort-order {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin: 0 !important;
    width: auto !important;
}

.ce-sort-order .elementor-field-label {
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #253237 !important;
    white-space: nowrap !important;
}

.ce-sort-order .elementor-select-wrapper {
    position: relative !important;
    width: auto !important;
    min-width: auto !important;
}

.ce-sort-order .elementor-select-wrapper select,
.ce-sort-order select.elementor-field {
/*  width: auto !important;*/
  	width: 150px;
    min-width: 130px !important;
    max-width: 260px !important;
    height: 33px !important;
    line-height: 24px !important;
    padding: 4px 38px 4px 16px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #253237 !important;
    background-color: #ffffff !important;
    border: 1px solid #ebebeb !important;
    border-radius: 30px !important;
    box-shadow: none !important;
    outline: none !important;
    cursor: pointer !important;
    text-align: left !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23666666' d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 10px auto !important;
    background-position: right 14px center !important;
    transition: border-color 0.2s ease !important;
}

.ce-sort-order .elementor-select-wrapper select:hover {
    border-color: #b5b5b5 !important;
}

.ce-sort-order select option {
    background-color: #ffffff !important;
    color: #253237 !important;
    font-size: 14px !important;
    padding: 8px 14px !important;
}


/* =============================================================================
   BORDINI MINIATURE PRODOTTI (GRIGLIA CE + NATIVE PS) E HOVER
   ============================================================================= */
/* Azzera il padding delle colonne native di PS per compattarle */
#js-product-list .products.row {
    margin-left: -2px !important;
    margin-right: -2px !important;
}
#js-product-list .products.row > div[data-elementor-type="product-miniature"] {
    padding-left: 2px !important;
    padding-right: 2px !important;
    margin-bottom: 4px !important; 
}

/* Stile universale del box miniatura */
#js-product-list .ce-product-grid > div,
#js-product-list [data-elementor-type="product-miniature"] > article {
    border: 1px solid #e2e8f0 !important; 
    border-radius: 3px !important;        
    overflow: hidden !important;          
    background-color: #ffffff !important; 
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important; /* Evita scatti di ridimensionamento */
}

/* Effetto al passaggio del mouse */
#js-product-list .ce-product-grid > div:hover,
#js-product-list [data-elementor-type="product-miniature"] > article:hover {
    border-color: #cbd5e1 !important;     
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important; 
}


/* =============================================================================
   TRANSIZIONE JQUERY (STILE ECOLIFE) - DISABILITA CSS
   ============================================================================= */
#js-product-list {
    transition: none !important;
    transform: none !important;
}




  


/* =============================================================================
		INI STILE BOX ALLEGATO CONTATTI CON TESTO "Allega" 
   ============================================================================= */
.merc-file-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 7px 12px !important;
    background-color: #f8fafc !important;
    border: 1px dashed #cbd5e1 !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.merc-file-wrapper:hover {
    background-color: #f1f5f9 !important;
    border-color: #94a3b8 !important;
}

.merc-file-wrapper input[type="file"] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
    z-index: 5 !important;
    margin: 0 !important;
}

.merc-file-btn {
    margin-right: 12px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background-color: #111111 !important; /* Nero Mercataro */
    border-radius: 3px !important;
    pointer-events: none !important;
    display: inline-block !important;
    white-space: nowrap !important;
}

.merc-file-text {
    font-size: 13.5px !important;
    color: #64748b !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
/* --- FINI STILE BOX ALLEGATO CONTATTI CON TESTO "Allega" --- */


/* --- INI RIDUZIONE FONT PREZZI SOTTO I 350PX (TUTTO SU UNA RIGA) --- */
@media (max-width: 360px) {
    /* Impedisce l'andata a capo e riduce lo spazio tra prezzo vecchio e nuovo */
    .ce-product-prices,
    .ce-product-prices--layout-inline .ce-product-prices {
        flex-wrap: nowrap !important;
        gap: 4px !important;
        min-height: 26px !important;
        align-items: baseline !important;
    }



    /* Prezzo vecchio barrato */
    .ce-product-prices del,
    del.ce-product-price-regular {
        font-size: 11px !important;
        margin-right: 2px !important;
    }
  
    .ce-product-prices del .price-integer {
        font-size: 11.5px !important;
    }
    .ce-product-prices del .price-fraction,
    .ce-product-prices del .price-currency {
        font-size: 8.5px !important;
    }
}
/* --- FINI RIDUZIONE FONT PREZZI SOTTO I 350PX (TUTTO SU UNA RIGA) --- */

/* --- PADDING ESCLUSIVO TASTO FILTRI --- */
.ce-filters__toggle .elementor-button,
a.elementor-button[href*="target=filters"] {
    padding: 7px 15px !important;
    height: auto !important; /* Evita che un'altezza fissa schiacci o blocchi il padding */
}
/* --- RIDUZIONE SPAZIO TRA LE RIGHE DEL MENU A TENDINA (HEADER) --- */
.main-menu .pos-menu-horizontal .menu-dropdown .pos-sub-inner {
    padding: 14px 20px !important;
}

.main-menu .pos-menu-horizontal .menu-dropdown .pos-sub-inner li,
.main-menu .pos-menu-horizontal .menu-dropdown .pos-sub-inner ul li {
    margin-bottom: 2px !important;
    padding: 0 !important;
}

.main-menu .pos-menu-horizontal .menu-dropdown .pos-sub-inner a {
    padding: 4px 0 !important;
    line-height: 1.35 !important;
    display: block !important;
}

/* --- EFFETTO SPOSTAMENTO A DESTRA AL PASSAGGIO DEL MOUSE (MEGA MENU) --- */
.main-menu .pos-menu-horizontal .menu-dropdown .pos-sub-inner a,
.pos-menu-horizontal .category-sub-menu li a,
.pos-menu-horizontal .pos-sub-inner li a {
    transition: transform 0.2s ease, color 0.2s ease !important;
    display: block !important;
}

.main-menu .pos-menu-horizontal .menu-dropdown .pos-sub-inner a:hover,
.pos-menu-horizontal .category-sub-menu li a:hover,
.pos-menu-horizontal .pos-sub-inner li a:hover {
    transform: translateX(6px) !important;
    color: #24b9d7 !important;
}


/* ========================================================
   INI CHECKOUT STEP 4: RESTYLING MODERNO METODI DI PAGAMENTO
   ======================================================== */

/* 1. Riquadro elegante per il modulo Stripe (Carte / Klarna / Wallet) */
#js-stripe-payment-form {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 16px 18px;
    margin-bottom: 14px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

/* 2. Trasformazione delle opzioni radio (Satispay, PayPal, ecc.) in tessere moderne */
#checkout-payment-step .payment-options > div > .payment-option {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

/* Hover sulle tessere */
#checkout-payment-step .payment-options > div > .payment-option:hover {
    border-color: #cbd5e1;
    background-color: #f8fafc;
}

/* Tessera selezionata (Bordo Azzurro Mercataro) */
#checkout-payment-step .payment-options > div > .payment-option:has(input:checked) {
    border-color: #24b9d7 !important;
    background-color: #f0fafd !important;
    box-shadow: 0 0 0 1px #24b9d7;
}

/* Allineamento testi e loghi all'interno delle tessere */
#checkout-payment-step .payment-option label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 0 10px;
    font-size: 15px;
    font-weight: 500;
    color: #1e293b;
    cursor: pointer;
}

#checkout-payment-step .payment-option img {
    max-height: 26px;
    width: auto;
    object-fit: contain;
}

/* 3. Box Termini di Servizio */
#conditions-to-approve {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 12px 16px;
    margin: 18px 0;
}

#conditions-to-approve label {
    font-size: 13.5px;
    color: #475569;
    margin-bottom: 0;
    cursor: pointer;
}

/* 4. Pulsante "INVIA L'ORDINE" prominente e professionale */
#payment-confirmation {
    margin-top: 15px;
}

#payment-confirmation button.btn.btn-primary {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #24b9d7 !important;
    border-color: #24b9d7 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 15px 20px !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 14px rgba(36, 185, 215, 0.35);
    transition: all 0.2s ease;
}

#payment-confirmation button.btn.btn-primary:hover:not(:disabled) {
    background-color: #1ba2bd !important;
    border-color: #1ba2bd !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(36, 185, 215, 0.45);
}

#payment-confirmation button.btn.btn-primary:disabled {
    background-color: #cbd5e1 !important;
    border-color: #cbd5e1 !important;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.8;
}
/* ========================================================
   FINI CHECKOUT STEP 4: RESTYLING MODERNO METODI DI PAGAMENTO
   ======================================================== */



/* ========================================================
   RASSICURAZIONI CHECKOUT (Layout Identico a Scheda Prodotto)
   ======================================================== */

.cart-grid-right .blockreassurance_product {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 6px 18px !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

/* Griglia a 2 righe e 2 colonne: Icona a sinistra, Testi impilati a destra */
.cart-grid-right .blockreassurance_product > div:not(.clearfix) {
    display: grid !important;
    grid-template-columns: 44px 1fr !important;
    grid-template-areas: 
        "icon title"
        "icon desc" !important;
    align-items: center !important;
    column-gap: 14px !important;
    row-gap: 3px !important;
    padding: 13px 0 !important;
    border-bottom: none !important; /* Rimuove tutti i bordi inferiori */
}

/* Aggiunge la riga divisoria SOLO tra una riga e l'altra (sopra al 2° e al 3°) */
.cart-grid-right .blockreassurance_product > div:not(.clearfix) + div:not(.clearfix) {
    border-top: 1px solid #edf2f7 !important;
}


/* Rimuove il bordo all'ultimo elemento */
.cart-grid-right .blockreassurance_product > div:not(.clearfix):last-of-type {
    border-bottom: none !important;
}

/* Icona a sinistra centrata verticalmente rispetto alle due righe */
.cart-grid-right .blockreassurance_product .item-product {
    grid-area: icon !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cart-grid-right .blockreassurance_product .item-product svg {
    width: 38px !important;
    height: 38px !important;
    display: block !important;
}

/* Titolo in alto (Grassetto scuro) */
.cart-grid-right .blockreassurance_product .block-title {
    grid-area: title !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: end !important;
}

/* Descrizione sotto (Grigio chiaro / leggibile) */
.cart-grid-right .blockreassurance_product p {
    grid-area: desc !important;
    font-size: 12.5px !important;
    color: #64748b !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: start !important;
}

/* Nasconde div float non necessari */
.cart-grid-right .blockreassurance_product .clearfix {
    display: none !important;
}













/* =============================================================================
   INI ARCHITETTURA SWITCHER GRIGLIA / ELENCO (UNIFICATA, UNIVERSALE & PULITA)
   ============================================================================= */

/* =============================================================================
   --- 1. PULSANTI SWITCHER (GRIGLIA / ELENCO) — STILE ELEGANTE & BILANCIATO ---
   ============================================================================= */
.griglie-elenco, .griglia-elenco, .view-mode-buttons {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    vertical-align: middle !important;
}

.btn-view-mode {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #64748b !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.btn-view-mode:hover {
    background-color: #f8fafc !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    transform: translateY(-1px) !important;
}

.btn-view-mode.active {
    background-color: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18) !important;
    transform: none !important;
    cursor: default !important;
}

.btn-view-mode svg {
    fill: currentColor !important;
    width: 17px !important;
    height: 17px !important;
    transition: transform 0.2s ease !important;
}

/* =============================================================================
   --- 2. BARRA CONTROLLI SUPERIORE RESPONSIVE (TEMPLATE 10 & TEMPLATE 20) ---
   ============================================================================= */

/* Azzera il blocco col-lg-5 che stringeva la barra al 41% */
section.elementor-element-3ae967b6,
section.elementor-element-570377d,
section.total-products {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

@media (min-width: 768px) {
    section.elementor-element-3ae967b6 .elementor-container,
    section.elementor-element-3ae967b6 .elementor-row,
    section.elementor-element-570377d .elementor-container,
    section.elementor-element-570377d .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        flex-wrap: nowrap !important;
    }
    /* Colonna Pulsanti Switcher */
    section.elementor-element-3ae967b6 .elementor-element-76c80b62,
    section.elementor-element-570377d .elementor-element-4b05907c { 
        width: auto !important; 
        flex: 0 0 auto !important; 
        margin-right: 15px !important; 
    }
    /* Colonna Conteggio Prodotti ("Ci sono X prodotti") */
    section.elementor-element-3ae967b6 .elementor-element-5fab96a7,
    section.elementor-element-570377d .elementor-element-740d131 { 
        width: auto !important; 
        flex: 0 0 auto !important; 
        margin-right: auto !important; 
    }
    /* Colonna Tendina Ordinamento */
    section.elementor-element-3ae967b6 .elementor-element-6d44da34,
    section.elementor-element-570377d .elementor-element-31b641e4 { 
        width: auto !important; 
        flex: 0 0 auto !important; 
        margin-left: auto !important; 
    }
}

@media (max-width: 767px) {
    section.elementor-element-3ae967b6.hidden-sm-down,
    section.elementor-element-570377d.hidden-sm-down { 
        display: block !important; 
        margin-bottom: 12px !important; 
    }
    section.elementor-element-3ae967b6 .elementor-row,
    section.elementor-element-570377d .elementor-row { 
        display: flex !important; 
        flex-direction: row !important; 
        align-items: center !important; 
        justify-content: space-between !important; 
        gap: 8px !important; 
        width: 100% !important; 
    }
    section.elementor-element-3ae967b6 .elementor-element-5fab96a7,
    section.elementor-element-570377d .elementor-element-740d131 { 
        display: none !important; 
    }
    .ce-sort-order .elementor-field-label { display: none !important; }
    section.elementor-element-3ae967b6 .elementor-element-76c80b62,
    section.elementor-element-570377d .elementor-element-4b05907c { width: auto !important; flex: 0 0 auto !important; }
    section.elementor-element-3ae967b6 .elementor-element-6d44da34,
    section.elementor-element-570377d .elementor-element-31b641e4 { width: auto !important; flex: 1 1 auto !important; }
    .ce-sort-order .elementor-select-wrapper select { 
      height: 34px !important; font-size: 13px !important; 
      padding: 4px 32px 4px 12px !important; 
      min-width: 115px !important; }
    .elementor-widget-listing-filters a.elementor-button { 
      height: 34px !important; 
      line-height: 34px !important; 
      padding: 0 12px !important; 
      border-radius: 4px !important; 
      align-content: center; }
	  }

/* =============================================================================
   --- 3. STILE MINIATURE IN GRIGLIA ---
   ============================================================================= */
#js-product-list .products.row {
    margin-left: -2px !important;
    margin-right: -2px !important;
}
#js-product-list .products.row > div[data-elementor-type="product-miniature"] {
    padding-left: 2px !important;
    padding-right: 2px !important;
    margin-bottom: 4px !important;
}

#js-product-list .ce-product-grid > div:hover,
#js-product-list [data-elementor-type="product-miniature"] > article:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
}

#js-product-list {
    transition: none !important;
    transform: none !important;
}

@media (min-width: 680px) {
    .elementor-17170101 .elementor-element.elementor-element-db5729d {
        width: 65%;
        margin-left: 20px;
    }
}

/* =============================================================================
   --- 4. SWITCHER VISTA GRIGLIA / ELENCO (UNIVERSALE PER TUTTO IL CATALOGO) ---
   ============================================================================= */

/* 1. DI DEFAULT IN TUTTO IL SITO: Nascondi sempre la sezione elenco */
.minia-layout-elenco,
body:not(.ce-catalog-list-view) .minia-layout-elenco {
    display: none !important;
}

/* 2. IN MODALITÀ ELENCO: Disponi le schede in colonna singola */
body.ce-catalog-list-view #js-product-list .products,
body.ce-catalog-list-view #js-product-list .product-list-grid,
body.ce-catalog-list-view #js-product-list .ce-products,
body.ce-catalog-list-view #js-product-list .elementor-grid,
body.ce-catalog-list-view #js-product-list [class*="elementor-grid-"] {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
}

body.ce-catalog-list-view #js-product-list .elementor[data-elementor-type="product-miniature"],
body.ce-catalog-list-view #js-product-list .product-miniature {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
}

/* 3. IN MODALITÀ ELENCO: Nascondi la vecchia griglia e MOSTRA il layout elenco */
body.ce-catalog-list-view #js-product-list article.elementor-section-wrap > *:not(.minia-layout-elenco) {
    display: none !important;
}

body.ce-catalog-list-view #js-product-list .minia-layout-elenco {
    display: block !important;
    width: 100% !important;
}

/* Contenitore card elenco */
body.ce-catalog-list-view #js-product-list article.elementor-section-wrap {
    display: block !important;
    background: #ffffff !important;
    border-radius: 4px !important;
    padding: 6px 10px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

body.ce-catalog-list-view #js-product-list article.elementor-section-wrap:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
}

/* 4. RIDUZIONE DEL GAP GENERALE A 6px */
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-wrap,
body.ce-catalog-list-view .minia-layout-elenco .elementor-column-wrap > .elementor-widget-wrap {
    gap: 2px !important;
}

/* =============================================================================
   5. CONTENITORE COLONNE RESPONSIVE (FOTO A SX, TESTI A DX SEMPRE)
   ============================================================================= */
body.ce-catalog-list-view .minia-layout-elenco .elementor-container,
body.ce-catalog-list-view .minia-layout-elenco .elementor-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
}


/* A. DESKTOP (>= 1025px): Foto 250px */
@media (min-width: 1025px) {
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child,
    body.ce-catalog-list-view .minia-layout-elenco div[class*="elementor-col-"]:first-child {
        flex: 0 0 250px !important;
        width: 250px !important;
        max-width: 250px !important;
        min-width: 250px !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child,
    body.ce-catalog-list-view .minia-layout-elenco div[class*="elementor-col-"]:last-child {
        flex: 1 1 auto !important;
        width: calc(100% - 250px) !important;
        max-width: calc(100% - 250px) !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child img {
        max-height: 200px !important;
        max-width: 240px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }
}

/* B. TABLET (650px - 1024px): Foto 200px */
/*
@media (min-width: 650px) and (max-width: 1024px) {
    body.ce-catalog-list-view #js-product-list article.elementor-section-wrap {
        padding: 12px 14px !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-container,
    body.ce-catalog-list-view .minia-layout-elenco .elementor-row {
        gap: 16px !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child,
    body.ce-catalog-list-view .minia-layout-elenco div[class*="elementor-col-"]:first-child {
        flex: 0 0 200px !important;
        width: 200px !important;
        max-width: 200px !important;
        min-width: 200px !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child,
    body.ce-catalog-list-view .minia-layout-elenco div[class*="elementor-col-"]:last-child {
        flex: 1 1 auto !important;
        width: calc(100% - 200px) !important;
        max-width: calc(100% - 200px) !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child img {
        max-height: 170px !important;
        max-width: 190px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-name a,
    body.ce-catalog-list-view .minia-layout-elenco .ce-product-name a {
        font-size: 15px !important;
    }
}*/

/* ==============================================================================
   B. TABLET / MEDIO (650px - 1024px): VISTA ELENCO BILANCIATA (ZERO SFORAMENTO)
   ============================================================================== */
@media (min-width: 650px) and (max-width: 1024px) {
    body.ce-catalog-list-view #js-product-list article.elementor-section-wrap {
        padding: 12px 14px !important;
    }
    
    body.ce-catalog-list-view .minia-layout-elenco .elementor-container,
    body.ce-catalog-list-view .minia-layout-elenco .elementor-row {
        gap: 10px !important;
    }

    /* 1. Colonna sinistra più ariosa (215px) con allineamento in cima */
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child,
    body.ce-catalog-list-view .minia-layout-elenco div[class*="elementor-col-"]:first-child {
        flex: 0 0 215px !important;
        width: 215px !important;
        max-width: 215px !important;
        min-width: 215px !important;
    }

    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child .elementor-widget-wrap {
        justify-content: flex-start !important;
        padding-top: 0 !important;
    }

    /* 2. Colonna destra restante */
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child,
    body.ce-catalog-list-view .minia-layout-elenco div[class*="elementor-col-"]:last-child {
        flex: 1 1 auto !important;
        width: calc(100% - 215px) !important;
        max-width: calc(100% - 215px) !important;
    }

    /* 3. Immagine calibrata a 150px (lascia spazio ai colori sotto) */
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child img {
        max-height: 195px !important;
        max-width: 195px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
        transform: none !important;
    }

    /* 4. Varianti colore in 1 sola riga compatta da 18px */
    body.ce-catalog-list-view .minia-layout-elenco .ce-product-variants__patterns {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 4px !important;
        margin: 4px auto 0 auto !important;
    }

    body.ce-catalog-list-view .minia-layout-elenco .ce-product-variants__pattern {
/*        width: 20px !important;
        height: 20px !important; */
/*      min-width: 18px !important;
        min-height: 18px !important; */
    }

    body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-name a,
    body.ce-catalog-list-view .minia-layout-elenco .ce-product-name a {
        font-size: 15px !important;
    }
}




/* C. MOBILE (< 650px): Foto 115px */
@media (max-width: 649px) {
    body.ce-catalog-list-view #js-product-list article.elementor-section-wrap {
        padding: 8px 10px !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-container,
    body.ce-catalog-list-view .minia-layout-elenco .elementor-row {
        gap: 10px !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child,
    body.ce-catalog-list-view .minia-layout-elenco div[class*="elementor-col-"]:first-child {
        flex: 0 0 115px !important;
        width: 115px !important;
        max-width: 115px !important;
        min-width: 115px !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:last-child,
    body.ce-catalog-list-view .minia-layout-elenco div[class*="elementor-col-"]:last-child {
        flex: 1 1 auto !important;
        width: calc(100% - 115px) !important;
        max-width: calc(100% - 115px) !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-column:first-child img {
        max-height: 122px !important;
        max-width: 122px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }
    body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-name a,
    body.ce-catalog-list-view .minia-layout-elenco .ce-product-name a {
        font-size: 13px !important;
        line-height: 1.25 !important;
    }
}







/* Colonna destra: Titolo, Badge, Descrizione */
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-name,
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-heading {
    width: 100% !important;
    margin: 0 0 2px 0 !important;
}

body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-badges,
body.ce-catalog-list-view .minia-layout-elenco .ce-product-badges,
body.ce-catalog-list-view .minia-layout-elenco [class*="product-badges"],
body.ce-catalog-list-view .minia-layout-elenco [class*="product-flags"] {
    position: static !important;
    display: inline-flex !important;
    width: auto !important;
    margin: 2px 0 4px 0 !important;
    align-self: flex-start !important;
}

body.ce-catalog-list-view .minia-layout-elenco [class*="short-description"],
body.ce-catalog-list-view .minia-layout-elenco [class*="description-short"],
body.ce-catalog-list-view .minia-layout-elenco .ce-product-description-short,
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-short-description,
body.ce-catalog-list-view .minia-layout-elenco .solo-elenco {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    max-height: 8em !important;
    margin: 4px 0 10px 0 !important;
}

body.ce-catalog-list-view .minia-layout-elenco [class*="short-description"] *,
body.ce-catalog-list-view .minia-layout-elenco .ce-product-description-short * {
    display: inline !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

@media (max-width: 649px) {
    body.ce-catalog-list-view .minia-layout-elenco [class*="short-description"],
    body.ce-catalog-list-view .minia-layout-elenco .ce-product-description-short {
        -webkit-line-clamp: 2 !important;
        font-size: 12px !important;
        margin: 2px 0 6px 0 !important;
    }
}








/* =============================================================================
   CONTENITORE COLONNE RESPONSIVE (FOTO A SX, TESTI A DX SEMPRE)
   ============================================================================= */
/* 1. Tasto Acquisto Elenco: Stile ese.mercataro */
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart,
body.ce-catalog-list-view .minia-layout-elenco .elementor-inner-section:has(.elementor-widget-product-miniature-add-to-cart) {
    margin-top: auto !important;
/*  padding-top: 8px !important;*/
    width: auto !important;
    text-align: left !important;
}

/* 2. Trasforma il bottone nero in link testuale elegante (con respiro su 2 righe) */
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart a,
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart button,
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart .elementor-button {
    background-color: transparent !important;
    color: #111111 !important;
    text-transform: uppercase !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;        /* Distacco della linea dal testo */
    text-decoration-thickness: 1px !important;  /* Spessore della linea */
    line-height: 1.6 !important;                /* DISTANZIA LE 2 RIGHE (Zero sovrapposizioni) */
    display: inline-block !important;           /* Garantisce la corretta resa su più righe */
    text-align: left !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    transition: color 0.2s ease !important;
}




body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart a:hover,
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart button:hover {
    background: transparent !important;
    background-color: transparent !important;
    color: #C45600 !important;
    text-decoration: underline !important;
}

body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart i,
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-add-to-cart svg {
    display: none !important;
}

/* Reset Allineamento Titolo */
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-miniature-name a,
body.ce-catalog-list-view .minia-layout-elenco .elementor-widget-product-name a,
body.ce-catalog-list-view .minia-layout-elenco .ce-product-name a {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    min-height: 0 !important;
    line-height: 1.35 !important;
}

/* =============================================================================
   FINI ARCHITETTURA SWITCHER GRIGLIA / ELENCO (UNIFICATA, UNIVERSALE & PULITA)
   ============================================================================= */



/* =============================================================================
   VISTA ELENCO MOBILE (< 650px): ADATTAMENTO ANTI-TAGLIO PULSANTI (283px SAFE)
   ============================================================================= */
@media (max-width: 649px) {
    /* 1. Disattiva la colonna vuota da 20px su mobile per non rubare spazio */
    .minia-layout-elenco .col-spacer-20,
    .minia-layout-elenco .elementor-element-5cec4e5 .elementor-column:empty,
    .minia-layout-elenco .elementor-element-5cec4e5 .elementor-column:last-child:not(:has(*)) {
        display: none !important;
        width: 0 !important;
        flex: 0 0 0 !important;
    }

    /* 2. Riga inferiore con gap compatto da 6px */
    body.ce-catalog-list-view .minia-layout-elenco .elementor-element-5cec4e5 .elementor-row {
        gap: 1px !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
    }

    /* 3. Testo "METTI IN CARRELLO" a 11px su UNA SOLA RIGA (Zero a capo) */
    body.ce-catalog-list-view .minia-layout-elenco .elementor-element-6aa4504 a.elementor-button {
        font-size: 11px !important;
        white-space: nowrap !important;
        line-height: 1.2 !important;
        padding: 0 !important;
    } 

    /* 4. I 3 Cerchietti scalati a 26px compatti (Entrano al 100% senza tagliare la lente) */
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-wrap {
        gap: 4px !important;
    }

    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget,
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-widget-container,
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon a.elementor-icon,
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon .elementor-icon {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        max-width: 26px !important;
        max-height: 26px !important;
        flex: 0 0 26px !important;
    }

    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon a.elementor-icon i,
    body.ce-catalog-list-view .minia-layout-elenco .minia-link-orizon a.elementor-icon svg {
        font-size: 11px !important;
    }
}