/**
* Theme Name: Blonwe Child
* Description: This is a child theme of Blonwe, generated by Merlin WP.
* Author: <a href="http://themeforest.net/user/KlbTheme">KlbTheme (Sinan ISIK)</a>
* Template: blonwe
* Version: 1.7.5
*/

/* ─────────────────────────────────────────────────────────────────────────────
   FIX TASTI HOME PAGE: CARRELLO E COMPARE (Solo icone, testo nascosto)
   ───────────────────────────────────────────────────────────────────────────── */

/* Compare (Confronta) - Nasconde il testo, centra l'icona nel cerchio */
.thumbnail-buttons a.klbcp-btn {
    font-size: 0 !important;
    color: transparent !important;
    overflow: hidden !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-indent: 0 !important;
}

.thumbnail-buttons a.klbcp-btn::before {
    font-size: 14px !important;
    text-indent: 0 !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: inline-block !important;
    content: '⇄' !important;
    line-height: 1 !important;
}

/* Aggiungi al Carrello - Nasconde il testo, centra l'icona nel cerchio */
.products .product-buttons.only-icon a.button,
.products .product-buttons.only-icon a.add_to_cart_button {
    font-size: 0 !important;
    color: transparent !important;
    overflow: hidden !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    text-indent: 0 !important;
    border: none !important;
}

.products .product-buttons.only-icon a.button i,
.products .product-buttons.only-icon a.add_to_cart_button i {
    font-size: 14px !important;
    color: #ffffff !important;
    text-indent: 0 !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   FIX HEADER E CORPO PAGINE DI TESTO (Privacy, Termini, ecc.)
   ───────────────────────────────────────────────────────────────────────────── */

/* 1. Header del Titolo (Sfondo Nero, Testo Verde, Nasconde immagine rotta) */
html body .page-header,
html body div.page-header {
    background-color: #000000 !important;
    background-image: none !important;
    padding: 30px 0 !important; /* Ridotto da 60px a 30px */
    border-bottom: 4px solid #81d742 !important;
    margin-bottom: 30px !important; /* Ridotto da 40px a 30px */
    text-align: center !important;
}

html body .page-header .page-header-inner {
    text-align: center !important;
}

html body .page-header .entry-description {
    max-width: 800px !important;
    margin: 12px auto 0 auto !important;
    text-align: center !important;
}

html body .page-header .entry-description p,
html body .page-header .entry-subtitle {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    text-align: center !important;
}

html body .page-header .woocommerce-breadcrumb,
html body .page-header .klb-breadcrumb {
    justify-content: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

html body .page-header .page-header-image,
html body .page-header img {
    display: none !important;
}

html body .page-header .entry-title,
html body .page-header h1.entry-title,
html body .page-header h1,
html body .page-header .klb-page-title {
    color: #81d742 !important;
    font-weight: 800 !important;
    font-size: 2.25rem !important;
    letter-spacing: -0.5px !important;
    text-transform: uppercase !important;
}

.page-header .entry-subtitle,
.page-header .entry-description,
.page-header .woocommerce-breadcrumb a {
    color: #888888 !important;
}

.page-header .woocommerce-breadcrumb .current {
    color: #ffffff !important;
}

/* 2. Corpo Pagine di Testo (Sfondo Bianco, Testo Scuro) */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) {
    background-color: #ffffff !important;
    color: #1b1f22 !important;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) #content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .site-content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .klb-page,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .page-content {
    background-color: #ffffff !important;
    color: #1b1f22 !important;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .klb-post,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .entry-content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .elementor-widget-text-editor,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .elementor-text-editor {
    color: #1b1f22 !important;
}

/* Accordion e Tab Elementor su sfondo bianco */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .elementor-accordion .elementor-accordion-item {
    border-color: rgba(0, 0, 0, 0.08) !important;
    background-color: #f7f7f7 !important;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .elementor-accordion .elementor-tab-title {
    background-color: #eaeaea !important;
    color: #1b1f22 !important;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .elementor-accordion .elementor-tab-title.elementor-active {
    color: #81d742 !important;
}

body.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) .elementor-accordion .elementor-tab-content {
    background-color: #ffffff !important;
    color: #333333 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   PAGINAZIONE E STILE TESTI PER PAGINE ELEMENTOR (Chi siamo, Servizi, ecc.)
   ───────────────────────────────────────────────────────────────────────────── */

/* Titoli Elementor - Colore verde FixSA */
.elementor-widget-heading .elementor-heading-title {
    color: #81d742 !important;
    font-weight: 700 !important;
    letter-spacing: -0.5px !important;
}

/* Editor di Testo Elementor - Leggibilità, margini e interlinea premium */
.elementor-widget-text-editor {
    color: #e0e0e0 !important;
    font-size: 1.05rem !important;
    line-height: 1.75 !important;
    margin-bottom: 20px !important;
}

.elementor-widget-text-editor p {
    margin-bottom: 20px !important;
}

.elementor-widget-text-editor strong {
    color: #81d742 !important;
}

/* Liste ed elenchi puntati */
.elementor-widget-text-editor ul, 
.elementor-widget-text-editor ol {
    padding-left: 20px !important;
    margin-bottom: 24px !important;
}

.elementor-widget-text-editor li {
    margin-bottom: 8px !important;
    line-height: 1.6 !important;
}

/* Tab ed Accordion Elementor - Accordature estetiche */
.elementor-accordion .elementor-accordion-item {
    border-color: rgba(255, 255, 255, 0.08) !important;
    margin-bottom: 10px !important;
    background-color: #121212 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.elementor-accordion .elementor-tab-title {
    background-color: #1b1f22 !important;
    padding: 15px 20px !important;
    color: #ffffff !important;
}

.elementor-accordion .elementor-tab-title.elementor-active {
    color: #81d742 !important;
    border-bottom: 1px solid rgba(129, 215, 66, 0.2) !important;
}

.elementor-accordion .elementor-tab-title.elementor-active svg {
    fill: #81d742 !important;
}

.elementor-accordion .elementor-tab-content {
    padding: 20px !important;
    background-color: #121212 !important;
    color: #e0e0e0 !important;
    line-height: 1.7 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILE GREEN PER TITOLI MENU FOOTER
   ───────────────────────────────────────────────────────────────────────────── */
html body .widget-title,
html body .widget-title a,
html body .widgettitle,
html body .widgettitle a,
html body .klbfooterwidget .widget-title,
html body .klbfooterwidget .widget-title a,
html body .footer-widgets .widget-title,
html body .footer-widgets .widget-title a,
html body .footer-row .widget-title,
html body .footer-row .widget-title a,
html body .footer-widgets h1,
html body .footer-widgets h2,
html body .footer-widgets h3,
html body .footer-widgets h4,
html body .footer-widgets h5,
html body .footer-widgets h6,
html body .footer-widgets h1 a,
html body .footer-widgets h2 a,
html body .footer-widgets h3 a,
html body .footer-widgets h4 a,
html body .footer-widgets h5 a,
html body .footer-widgets h6 a,
html body .social-label,
html body .app-label,
html body .payment-cards-label {
    color: #81d742 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILE DI PAGINAZIONE CONTENUTI SERVIZI (Luce, Gas, Internet, ecc.)
   ───────────────────────────────────────────────────────────────────────────── */
.services-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 0;
    font-size: 1.1rem;
    line-height: 1.8;
}

.services-container h2 {
    color: #81d742 !important;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 20px;
    font-size: 1.75rem;
}

.services-container p.lead {
    font-size: 1.25rem;
    font-weight: 500;
    color: #555555;
    margin-bottom: 30px;
}

.services-container ul,
.services-container ol {
    margin-bottom: 30px;
    padding-left: 20px;
}

.services-container li {
    margin-bottom: 12px;
}

.services-container li strong {
    color: #81d742 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   WOOCOMMERCE PREMIUM LIGHT LAYOUTS & GREEN ACCENTS DESIGN
   ───────────────────────────────────────────────────────────────────────────── */

/* 1. Pulsante Aggiungi al Carrello (Verde Premium) */
body.woocommerce .button.alt,
body.woocommerce-page .button.alt,
body.woocommerce #respond input#submit.alt,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt,
body.woocommerce input.button.alt {
    background-color: #81d742 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 30px !important;
    border-radius: 30px !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(129, 215, 66, 0.2) !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

body.woocommerce .button.alt:hover,
body.woocommerce-page .button.alt:hover,
body.woocommerce #respond input#submit.alt:hover,
body.woocommerce a.button.alt:hover,
body.woocommerce button.button.alt:hover,
body.woocommerce input.button.alt:hover {
    background-color: #6dbb35 !important;
    box-shadow: 0 6px 20px rgba(129, 215, 66, 0.4) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

/* Prezzo e stelline per pagine WooCommerce */
body.woocommerce .price,
body.woocommerce .price .amount,
body.woocommerce-page .price,
body.woocommerce-page .price .amount {
    color: #81d742 !important;
}

body.woocommerce .star-rating,
body.woocommerce-page .star-rating {
    color: #ffb600 !important;
}

/* 2. Ottimizzazione Product Cards (Shop Grid & Related) */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper.style-3 {
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    position: relative !important;
    overflow: visible !important;
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper.style-3:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08) !important; /* Neutral elegant shadow */
    border-color: rgba(0, 0, 0, 0.08) !important; /* Neutral border hover */
}

/* Disattivazione AGGRESSIVA di bordi, sfondi e ombre interne su tutte le sottosezioni per evitare DOPPI BORDI */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .products .product,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .products .product:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .products .product .product-inner,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .products .product:hover .product-inner,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .products .product .product-wrapper .product-inner,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .products .product .product-wrapper:hover .product-inner,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-inner,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper:hover .product-inner,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .thumbnail-wrapper,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper:hover .thumbnail-wrapper,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .entry-media,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper:hover .entry-media,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .content-wrapper,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper:hover .content-wrapper,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper a.product-thumbnail,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper a.product-thumbnail:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-hover-gallery,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-hover-gallery:hover {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Nasconde COMPLETAMENTE la descrizione, il footer e la dissolvenza sfumata del tema nelle card */
body .product-wrapper .product-description,
body .product-wrapper .post-excerpt,
body .product-wrapper .entry-content,
body .product-wrapper .product-excerpt,
body .product-wrapper .product-details-content,
body .product-wrapper .product-footer,
body .product-wrapper .product-footer-details,
body .product-wrapper .product-content-fade {
    display: none !important;
}

/* Centratura e proporzioni immagini nella card */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .thumbnail-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 180px !important;
    max-height: 220px !important;
    position: relative !important;
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .thumbnail-wrapper img {
    transition: transform 0.5s ease !important;
    object-fit: contain !important;
    max-height: 180px !important;
    width: auto !important;
    margin: 0 auto !important;
    display: block !important;
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper:hover .thumbnail-wrapper img {
    transform: scale(1.04) !important;
}

/* Tasti Circolari Wishlist e Compare in alto a destra allineati verticalmente */
html body .products .product .product-wrapper .thumbnail-wrapper .thumbnail-buttons,
html body .product-wrapper .thumbnail-wrapper .thumbnail-buttons {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    z-index: 99 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
    background: transparent !important;
}

/* Compaiono all'hover della card */
html body .products .product .product-wrapper:hover .thumbnail-wrapper .thumbnail-buttons,
html body .product-wrapper:hover .thumbnail-wrapper .thumbnail-buttons {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Rimuove i margin e rende inline il wrapper della wishlist */
html body .thumbnail-wrapper .thumbnail-buttons .wishlist-button {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Disattiva il pulsante quickview */
html body .thumbnail-wrapper .thumbnail-buttons a.quickview-button {
    display: none !important;
}

/* Stile dei cerchietti */
html body .thumbnail-wrapper .thumbnail-buttons a,
html body .thumbnail-wrapper .thumbnail-buttons .wishlist-button a {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important; /* Nasconde testo originale */
    text-indent: 0 !important;
    color: #1b1f22 !important;
    position: relative !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

/* Nasconde eventuali elementi figli inseriti dai plugin che deformano il cerchio */
html body .thumbnail-wrapper .thumbnail-buttons a span,
html body .thumbnail-wrapper .thumbnail-buttons a i,
html body .thumbnail-wrapper .thumbnail-buttons .wishlist-button a span,
html body .thumbnail-wrapper .thumbnail-buttons .wishlist-button a i {
    display: none !important;
}

/* Icona Wishlist (Cuore sottile outline nativo) */
html body .thumbnail-wrapper .thumbnail-buttons .wishlist-button a::before {
    font-family: 'klbtheme' !important;
    content: '\eb35' !important; /* Cuore sottile outline */
    font-size: 15px !important;
    line-height: 1 !important;
    display: inline-block !important;
    color: currentColor !important;
    font-style: normal !important;
    font-weight: normal !important;
    speak: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Hover Wishlist (Cuore pieno nativo) */
html body .thumbnail-wrapper .thumbnail-buttons .wishlist-button a:hover::before {
    content: '\ec57' !important; /* Cuore pieno */
}

/* Icona Compare (Frecce sottili outline nativo) */
html body .thumbnail-wrapper .thumbnail-buttons a.klbcp-btn::before {
    font-family: 'klbtheme' !important;
    content: '\ec85' !important; /* Frecce sottili */
    font-size: 15px !important;
    line-height: 1 !important;
    display: inline-block !important;
    color: currentColor !important;
    font-style: normal !important;
    font-weight: normal !important;
    speak: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Hover sui cerchietti */
html body .thumbnail-wrapper .thumbnail-buttons a:hover,
html body .thumbnail-wrapper .thumbnail-buttons .wishlist-button a:hover {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border-color: #81d742 !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.3) !important;
}

/* Contenuto informativo card */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .content-wrapper {
    padding-top: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
}

/* Titoli prodotti nelle card (altezza minima per allineamento righe) */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-title {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin-top: 6px !important;
    margin-bottom: 8px !important;
    min-height: 2.8em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-title a {
    color: #1b1f22 !important;
    transition: color 0.2s ease !important;
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-title a:hover {
    color: #81d742 !important;
}

/* Prezzo nelle card */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .price,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .price amount {
    color: #81d742 !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
}

/* Allineamento bottom per prezzo e carrello */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-cart-wrapper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 10px !important;
    border-top: 1px solid #f5f5f5 !important;
    padding-top: 10px !important;
}

/* Tasto Acquista (Aggiungi al Carrello) nella Card - Stile Icona Circolare */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-buttons.only-icon a.button {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background-color: #81d742 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(129, 215, 66, 0.2) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0 !important;
    transition: all 0.2s ease !important;
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-buttons.only-icon a.button:hover {
    background-color: #6dbb35 !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.4) !important;
    transform: scale(1.05) !important;
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-buttons.only-icon a.button i {
    font-size: 14px !important;
    color: #ffffff !important;
    margin: 0 !important;
    display: inline-block !important;
}

/* Tasto Acquista standard (Bottone Pillola se non icona) */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-buttons:not(.only-icon) a.button {
    background-color: #81d742 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 8px 18px !important;
    border-radius: 20px !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(129, 215, 66, 0.15) !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .product-wrapper .product-buttons:not(.only-icon) a.button:hover {
    background-color: #6dbb35 !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.3) !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

/* 3. Pagina Prodotto Singolo (Single Product) - Chiara Premium */
body.single-product {
    background-color: #ffffff !important;
    color: #1e293b !important;
}

body.single-product #content,
body.single-product .site-content {
    background-color: #ffffff !important;
    color: #1e293b !important;
}

body.single-product .product_title {
    color: #1e293b !important;
    font-weight: 700 !important;
    font-size: 2rem !important;
    letter-spacing: -0.5px !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}

/* Rimuove lo spazio della descrizione breve */
body.single-product .woocommerce-product-details__short-description,
body.single-product .entry-summary .short-description {
    display: none !important;
}

body.single-product .entry-summary .price,
body.single-product .entry-summary .price .amount {
    color: #81d742 !important;
    font-weight: 800 !important;
    font-size: 2rem !important;
}

body.single-product .entry-summary {
    color: #475569 !important;
}

/* Modifiche al form d'acquisto principale */
html body.single-product .entry-summary form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 25px !important;
    margin-bottom: 25px !important;
}

/* Selettore Quantità a Pillola */
html body.single-product .entry-summary form.cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 30px !important;
    padding: 2px 4px !important;
    background-color: #ffffff !important;
}

html body.single-product .entry-summary form.cart .quantity .qty {
    border: none !important;
    text-align: center !important;
    width: 48px !important;
    height: 38px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Pulsante Aggiungi al Carrello Principale */
html body.single-product .entry-summary form.cart .single_add_to_cart_button {
    background-color: #81d742 !important;
    color: #ffffff !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    padding: 12px 36px !important;
    border-radius: 30px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.2) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
}

html body.single-product .entry-summary form.cart .single_add_to_cart_button:hover {
    background-color: #66b032 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(129, 215, 66, 0.3) !important;
}

/* Stripe Express Checkout Element style */
#wc-stripe-express-checkout-element {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    width: 100% !important;
    border-radius: 30px !important;
    overflow: hidden !important;
}

/* Wishlist button styling in single product page */
html body.single-product .entry-summary .wishlist-button {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

html body.single-product .entry-summary .wishlist-button a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 20px !important;
    background-color: #f8fafc !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 30px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

html body.single-product .entry-summary .wishlist-button a:hover {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
}

html body.single-product .entry-summary .wishlist-button span {
    font-size: 0.82rem !important;
    color: #64748b !important;
}

/* Spacing and style for stock notices */
html body.single-product .entry-summary .product-stock {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 14px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    border-radius: 20px !important;
    margin-bottom: 15px !important;
}

html body.single-product .entry-summary .product-stock.in-stock {
    background-color: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
}

html body.single-product .entry-summary .product-stock.out-of-stock {
    background-color: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fee2e2 !important;
}

html body.single-product .entry-summary .product-low-stock {
    background-color: #fffbeb !important;
    border: 1px solid #fef3c7 !important;
    border-radius: 12px !important;
    padding: 12px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

html body.single-product .entry-summary .product-low-stock .info span {
    color: #92400e !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
}

html body.single-product .entry-summary .product-low-stock .info p {
    color: #b45309 !important;
    font-size: 0.78rem !important;
    margin: 2px 0 0 0 !important;
}

/* Metadata Prodotto (SKU, Categoria) in blocco ordinato */
html body.single-product .entry-summary .product_meta {
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 15px !important;
    margin-top: 25px !important;
    font-size: 0.82rem !important;
    color: #64748b !important;
    line-height: 1.6 !important;
}

html body.single-product .entry-summary .product_meta > span {
    display: block !important;
    margin-bottom: 4px !important;
}

html body.single-product .entry-summary .product_meta a {
    color: #475569 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

html body.single-product .entry-summary .product_meta a:hover {
    color: #81d742 !important;
}

/* Impilamento form di acquisto su mobile */
@media (max-width: 575.98px) {
    html body.single-product .entry-summary form.cart {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    html body.single-product .entry-summary form.cart .quantity {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        box-sizing: border-box !important;
        padding: 4px 16px !important;
    }
    html body.single-product .entry-summary form.cart .quantity .qty {
        flex-grow: 1 !important;
    }
    html body.single-product .entry-summary form.cart .single_add_to_cart_button {
        width: 100% !important;
        height: 48px !important;
    }
}

/* Divisore tra Sezione Prodotto e Sezione dei Tab (Descrizione/Recensioni) */
html body.single-product div.product .woocommerce-tabs {
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 40px !important;
    margin-top: 45px !important;
    margin-bottom: 40px !important;
}

/* Schede e Tabs a Pillola su Prodotto */
html body.single-product div.product .woocommerce-tabs ul.tabs {
    border-bottom: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
}

html body.single-product div.product .woocommerce-tabs ul.tabs li {
    background-color: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 30px !important;
    margin: 0 !important;
    padding: 6px 20px !important;
    transition: all 0.2s ease !important;
}

html body.single-product div.product .woocommerce-tabs ul.tabs li::before,
html body.single-product div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

html body.single-product div.product .woocommerce-tabs ul.tabs li.active {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
}

html body.single-product div.product .woocommerce-tabs ul.tabs li a {
    color: #475569 !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
}

html body.single-product div.product .woocommerce-tabs ul.tabs li.active a {
    color: #ffffff !important;
}

html body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    padding: 28px !important;
    border-radius: 12px !important;
    color: #334155 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
}

/* Tabella degli attributi/specifiche tecnica ridisegnata premium */
html body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    margin-top: 15px !important;
}

html body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes th {
    background-color: #f8fafc !important;
    color: #334155 !important;
    font-weight: 600 !important;
    padding: 14px 18px !important;
    width: 30% !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    text-align: left !important;
}

html body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes td {
    padding: 14px 18px !important;
    color: #475569 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    font-style: normal !important;
}

html body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tr:last-child th,
html body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tr:last-child td {
    border-bottom: none !important;
}

html body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tr:nth-child(even) td {
    background-color: #f8fafc !important;
}

/* Divisori per Correlati, Consigliati e Visti di Recente */
html body.single-product div.product .related.products,
html body.single-product div.product .upsells.products,
html body.single-product .klb-module.recently-viewed {
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 50px !important;
    margin-top: 50px !important;
    margin-bottom: 40px !important;
    clear: both !important;
}

/* Titoli delle Sezioni in Basso con barra verde di design */
html body.single-product div.product .related.products > h2,
html body.single-product div.product .upsells.products > h2,
html body.single-product .klb-module.recently-viewed .entry-title {
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-bottom: 30px !important;
    letter-spacing: -0.5px !important;
    position: relative !important;
    padding-bottom: 12px !important;
}

html body.single-product div.product .related.products > h2::after,
html body.single-product div.product .upsells.products > h2::after,
html body.single-product .klb-module.recently-viewed .entry-title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 60px !important;
    height: 3px !important;
    background-color: #81d742 !important;
    border-radius: 2px !important;
}

/* Cards Premium per Prodotti Correlati, Consigliati e Visti di Recente */
html body.single-product div.product .related.products ul.products li.product,
html body.single-product div.product .upsells.products ul.products li.product,
html body.single-product .klb-module.recently-viewed ul.products li.product,
html body.single-product .klb-module.recently-viewed .products.grid-column > * {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

html body.single-product div.product .related.products ul.products li.product:hover,
html body.single-product div.product .upsells.products ul.products li.product:hover,
html body.single-product .klb-module.recently-viewed ul.products li.product:hover,
html body.single-product .klb-module.recently-viewed .products.grid-column > *:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06) !important;
    border-color: #cbd5e1 !important;
}

/* Centramento e contenitore miniatura */
html body.single-product div.product .related.products ul.products li.product .thumbnail-wrapper,
html body.single-product div.product .upsells.products ul.products li.product .thumbnail-wrapper,
html body.single-product .klb-module.recently-viewed ul.products li.product .thumbnail-wrapper,
html body.single-product .klb-module.recently-viewed .products.grid-column .thumbnail-wrapper {
    border-radius: 8px !important;
    overflow: hidden !important;
    background-color: #f8fafc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

html body.single-product div.product .related.products ul.products li.product .thumbnail-wrapper img,
html body.single-product div.product .upsells.products ul.products li.product .thumbnail-wrapper img,
html body.single-product .klb-module.recently-viewed ul.products li.product .thumbnail-wrapper img,
html body.single-product .klb-module.recently-viewed .products.grid-column img {
    transition: transform 0.5s ease !important;
    max-height: 180px !important;
    width: auto !important;
    object-fit: contain !important;
}

/* Effetto zoom all'hover sulla card */
html body.single-product div.product .related.products ul.products li.product:hover .thumbnail-wrapper img,
html body.single-product div.product .upsells.products ul.products li.product:hover .thumbnail-wrapper img,
html body.single-product .klb-module.recently-viewed ul.products li.product:hover .thumbnail-wrapper img,
html body.single-product .klb-module.recently-viewed .products.grid-column > *:hover img {
    transform: scale(1.06) !important;
}

/* Stile testi delle card correlate */
html body.single-product div.product .related.products ul.products li.product .product_title a,
html body.single-product div.product .upsells.products ul.products li.product .product_title a,
html body.single-product .klb-module.recently-viewed ul.products li.product .product_title a,
html body.single-product .klb-module.recently-viewed .products.grid-column .product_title a {
    font-size: 0.95rem !important;
    color: #1e293b !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    height: 2.8rem !important;
}

html body.single-product div.product .related.products ul.products li.product .product_title a:hover,
html body.single-product div.product .upsells.products ul.products li.product .product_title a:hover,
html body.single-product .klb-module.recently-viewed ul.products li.product .product_title a:hover,
html body.single-product .klb-module.recently-viewed .products.grid-column .product_title a:hover {
    color: #81d742 !important;
}

html body.single-product div.product .related.products ul.products li.product .price,
html body.single-product div.product .upsells.products ul.products li.product .price,
html body.single-product .klb-module.recently-viewed ul.products li.product .price,
html body.single-product .klb-module.recently-viewed .products.grid-column .price {
    color: #81d742 !important;
    font-weight: 750 !important;
    font-size: 1.1rem !important;
    margin-top: 10px !important;
    display: block !important;
}

/* 4. Pagine Carrello & Cassa (Cart & Checkout) - Chiare originali */
body.woocommerce-cart,
body.woocommerce-checkout {
    background-color: #ffffff !important;
    color: #1b1f22 !important;
}

body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content {
    background-color: #ffffff !important;
    color: #1b1f22 !important;
}

/* 5. WOOCOMMERCE MINI-CART SIDEBAR / DRAWER REFINEMENTS */

/* Contenitore e larghezza del menu a discesa / cassetto del carrello */
html body .custom-dropdown-menu,
html body .dropdown-menu.custom-dropdown-menu {
    min-width: 340px !important;
    max-width: 380px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding: 18px !important;
    background-color: #ffffff !important;
}

/* Lista degli elementi nel mini carrello */
html body .woocommerce-mini-cart {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    max-height: 300px !important;
    overflow-y: auto !important;
}

html body .woocommerce-mini-cart-item.mini_cart_item {
    display: flex !important;
    position: relative !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Allineamento titolo ed eliminazione doppi paddings */
html body .woocommerce-mini-cart-item.mini_cart_item a:not(.remove) {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #1b1f22 !important;
    text-decoration: none !important;
    flex-grow: 1 !important;
    padding-right: 25px !important;
}

/* Immagine prodotto mini */
html body .woocommerce-mini-cart-item.mini_cart_item img {
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    background-color: #fcfcfc !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* Pulsante rimozione (X rosso) */
html body .woocommerce-mini-cart-item.mini_cart_item .remove_from_cart_button {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ff4444 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    background: transparent !important;
    border: none !important;
}

html body .woocommerce-mini-cart-item.mini_cart_item .remove_from_cart_button:hover {
    color: #d90000 !important;
}

/* Quantità e Prezzo */
html body .woocommerce-mini-cart-item.mini_cart_item .quantity {
    font-size: 0.78rem !important;
    color: #666666 !important;
    display: block !important;
    margin-top: 3px !important;
}

html body .woocommerce-mini-cart-item.mini_cart_item .quantity .amount {
    color: #81d742 !important;
    font-weight: 700 !important;
    font-size: 0.82rem !important;
}

/* Totale provvisorio */
html body p.woocommerce-mini-cart__total.total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    padding-top: 12px !important;
    border-top: 2px solid rgba(0, 0, 0, 0.05) !important;
}

html body p.woocommerce-mini-cart__total.total .amount {
    color: #81d742 !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
}

/* Pulsanti Visualizza Carrello e Cassa */
html body p.woocommerce-mini-cart__buttons.buttons {
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body p.woocommerce-mini-cart__buttons.buttons a.button {
    flex: 1 !important;
    text-align: center !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 10px 14px !important;
    border-radius: 20px !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    min-height: 38px !important;
    transition: all 0.2s ease !important;
}

/* Tasto Cassa (Verde FixSA) */
html body p.woocommerce-mini-cart__buttons.buttons a.button.checkout {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(129, 215, 66, 0.2) !important;
}

html body p.woocommerce-mini-cart__buttons.buttons a.button.checkout:hover {
    background-color: #6dbb35 !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.4) !important;
}

/* Tasto Vedi Carrello (Bordo Scuro) */
html body p.woocommerce-mini-cart__buttons.buttons a.button:not(.checkout) {
    background-color: transparent !important;
    color: #1b1f22 !important;
    border: 1px solid #1b1f22 !important;
}

html body p.woocommerce-mini-cart__buttons.buttons a.button:not(.checkout):hover {
    background-color: #1b1f22 !important;
    color: #ffffff !important;
    border-color: #1b1f22 !important;
}

/* Cart Empty Layout */
html body .fl-mini-cart-content .cart-empty {
    text-align: center !important;
    padding: 20px 0 !important;
}

html body .fl-mini-cart-content .cart-empty .empty-icon svg {
    width: 36px !important;
    height: 36px !important;
    fill: #cccccc !important;
    margin-bottom: 8px !important;
    display: inline-block !important;
}

html body .fl-mini-cart-content .woocommerce-mini-cart__empty-message {
    font-size: 0.8rem !important;
    color: #777777 !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILE PILOLA (PILL) PER LE VOCI DEL CATALOGO NELLA HOME PAGE
   ───────────────────────────────────────────────────────────────────────────── */
html body .module-header-tab,
html body .module-header-tab.style-1 {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body .module-header-tab ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

html body .module-header-tab ul li.tab-item {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

html body .module-header-tab ul li.tab-item a.tab-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    border-radius: 30px !important; /* Pill style */
    border: 1px solid rgba(0, 0, 0, 0.1) !important; /* Pill border */
    background-color: #f7f7f7 !important;
    color: #1b1f22 !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    position: relative !important;
    height: auto !important;
    line-height: 1.2 !important;
}

/* Tab Attivo e Hover */
html body .module-header-tab ul li.tab-item a.tab-link.active,
html body .module-header-tab ul li.tab-item.active a.tab-link,
html body .module-header-tab ul li.tab-item a.tab-link:hover {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(129, 215, 66, 0.25) !important;
}

/* Rimuove linee decorative inferiori native del tema */
html body .module-header-tab ul li::before,
html body .module-header-tab ul li::after,
html body .module-header-tab ul li a::before,
html body .module-header-tab ul li a::after,
html body .module-header-tab::before,
html body .module-header-tab::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
    width: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   EFFETTI HOVER E TRANSIZIONI TASTI DEI BANNER E DEL SITO
   ───────────────────────────────────────────────────────────────────────────── */
html body .entry-footer a.btn,
html body .banner-wrapper a.btn,
html body .klb-banner a.btn,
html body a.btn.icon-right {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Sollevamento all'hover */
html body .entry-footer a.btn:hover,
html body .banner-wrapper a.btn:hover,
html body .klb-banner a.btn:hover,
html body a.btn.icon-right:hover {
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.12) !important;
}

/* Pulsanti Primari (Diventano verde FixSA con ombra morbida) */
html body .entry-footer a.btn.primary:hover,
html body .banner-wrapper a.btn.primary:hover,
html body a.btn.primary:hover {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(129, 215, 66, 0.35) !important;
}

/* Pulsanti Blu (Diventano verde FixSA per coerenza cromatica del sito) */
html body .entry-footer a.btn.blue:hover,
html body .banner-wrapper a.btn.blue:hover,
html body a.btn.blue:hover {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(129, 215, 66, 0.35) !important;
}

/* Animazione freccia all'hover */
html body .entry-footer a.btn i,
html body .banner-wrapper a.btn i,
html body a.btn i {
    transition: transform 0.2s ease !important;
}

html body .entry-footer a.btn:hover i,
html body .banner-wrapper a.btn:hover i,
html body a.btn:hover i {
    transform: translateX(4px) !important;
}

/* Coerenza tasti standard e moduli WooCommerce */
body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce-page a.button:hover,
body.woocommerce-page button.button:hover,
body.woocommerce #respond input#submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1) !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILIZZAZIONE GLOBALE DEGLI INPUT E DEI MODULI DI CONTATTO (Contact Form 7)
   ───────────────────────────────────────────────────────────────────────────── */
html body .wpcf7-form,
html body form.wpcf7-form {
    background-color: #ffffff !important;
    padding: 30px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.02) !important;
    max-width: 800px !important;
    margin: 20px auto !important;
}

html body .wpcf7-form p {
    margin-bottom: 20px !important;
}

html body .wpcf7-form label {
    display: block !important;
    font-weight: 700 !important;
    font-size: 0.82rem !important;
    color: #1b1f22 !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

html body input[type="text"]:not(.search-input),
html body input[type="email"],
html body input[type="tel"],
html body input[type="url"],
html body input[type="password"],
html body input[type="number"],
html body input[type="search"]:not(.search-input),
html body textarea,
html body select:not(#categories):not(.form-select),
html body .form-row input.input-text,
html body .woocommerce-Input {
    width: 100% !important;
    padding: 12px 16px !important;
    background-color: #f9f9f9 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 8px !important;
    color: #1b1f22 !important;
    font-size: 0.95rem !important;
    transition: all 0.25s ease !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: 1.2 !important;
}

html body input[type="text"]:not(.search-input):focus,
html body input[type="email"]:focus,
html body input[type="tel"]:focus,
html body input[type="password"]:focus,
html body input[type="number"]:focus,
html body input[type="search"]:not(.search-input):focus,
html body textarea:focus,
html body select:not(#categories):not(.form-select):focus,
html body .form-row input.input-text:focus,
html body .woocommerce-Input:focus {
    background-color: #ffffff !important;
    border-color: #81d742 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(129, 215, 66, 0.15) !important;
}

/* Pulsante Invia Form */
html body .wpcf7-form input[type="submit"] {
    background-color: #81d742 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 30px !important;
    border-radius: 30px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 15px rgba(129, 215, 66, 0.2) !important;
    display: inline-block !important;
    width: auto !important;
}

html body .wpcf7-form input[type="submit"]:hover {
    background-color: #6dbb35 !important;
    box-shadow: 0 6px 20px rgba(129, 215, 66, 0.35) !important;
    transform: translateY(-2px) !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILIZZAZIONE TABELLE PER PAGINE INFORMATIVE E DI TESTO
   ───────────────────────────────────────────────────────────────────────────── */
html body .klb-post table,
html body .entry-content table,
html body .site-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 25px 0 !important;
    font-size: 0.9rem !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

html body .klb-post table th,
html body .entry-content table th,
html body .site-content table th {
    background-color: #f7f7f7 !important;
    color: #1b1f22 !important;
    font-weight: 700 !important;
    padding: 14px 16px !important;
    text-align: left !important;
    border-bottom: 2px solid rgba(0, 0, 0, 0.08) !important;
}

html body .klb-post table td,
html body .entry-content table td,
html body .site-content table td {
    padding: 12px 16px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    color: #4f5358 !important;
    line-height: 1.5 !important;
}

html body .klb-post table tr:last-child td,
html body .entry-content table tr:last-child td,
html body .site-content table tr:last-child td {
    border-bottom: none !important;
}

html body .klb-post table tr:hover td,
html body .entry-content table tr:hover td,
html body .site-content table tr:hover td {
    background-color: rgba(129, 215, 66, 0.02) !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILIZZAZIONE ACCORDION & FAQ PAGES
   ───────────────────────────────────────────────────────────────────────────── */
html body .elementor-accordion .elementor-accordion-item {
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
}

html body .elementor-accordion .elementor-accordion-title {
    padding: 16px 20px !important;
    background-color: #fcfcfc !important;
    font-weight: 600 !important;
    color: #1b1f22 !important;
}

html body .elementor-accordion .elementor-accordion-title.elementor-active {
    background-color: #f7f7f7 !important;
    color: #81d742 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

html body .elementor-accordion .elementor-tab-content {
    padding: 20px !important;
    color: #555555 !important;
    line-height: 1.6 !important;
    background-color: #ffffff !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   UNIFICAZIONE DEGLI STILI DEI TAB (Elementor, WooCommerce, ecc.)
   ───────────────────────────────────────────────────────────────────────────── */
html body .elementor-tabs-wrapper,
html body ul.tabs,
html body div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
}

html body .elementor-tabs-wrapper .elementor-tab-title,
html body ul.tabs li,
html body div.product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 30px !important;
}

html body .elementor-tabs-wrapper .elementor-tab-title a,
html body ul.tabs li a,
html body div.product .woocommerce-tabs ul.tabs li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 20px !important;
    border-radius: 30px !important; /* Pill style */
    border: 1px solid rgba(0, 0, 0, 0.1) !important; /* Tab border */
    background-color: #f7f7f7 !important;
    color: #1b1f22 !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}

/* Hover e Active state per tutti i tab */
html body .elementor-tabs-wrapper .elementor-tab-title.elementor-active a,
html body ul.tabs li.active a,
html body div.product .woocommerce-tabs ul.tabs li.active a,
html body .elementor-tabs-wrapper .elementor-tab-title a:hover,
html body ul.tabs li a:hover,
html body div.product .woocommerce-tabs ul.tabs li a:hover {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(129, 215, 66, 0.25) !important;
}

/* Rimuove i bordi inferiori e stili default di Elementor / WooCommerce tabs */
html body .elementor-tabs-wrapper::after,
html body div.product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILIZZAZIONE A PILLOLA DELLE VOCI NELL'HEADER (Traccia ordine, FAQ, Contatti)
   Icone posizionate FUORI dalla pillola per allineamento perfetto con il telefono
   ───────────────────────────────────────────────────────────────────────────── */
html body #menu-top-left li,
html body #menu-top-right li {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Pseudo-elementi per le icone all'esterno della pillola (sulla li) */
html body #menu-top-left li::before,
html body #menu-top-right li::before {
    font-family: 'klbtheme-ecommerce' !important;
    font-size: 1.15rem !important; /* Dimensione uniforme */
    font-weight: normal !important;
    display: inline-block !important;
    margin-right: 0.4375rem !important; /* Margine esatto */
    line-height: 1 !important;
    color: #81d742 !important; /* Colore verde brand uniforme */
    transition: color 0.25s ease !important;
    vertical-align: middle !important;
}

/* Icona telefono ridotta per essere in scala con la topbar */
.site-header .header-notify i {
    font-family: 'klbtheme-ecommerce' !important;
    font-size: 0.88rem !important;
    font-weight: normal !important;
    display: inline-block !important;
    margin-right: 0.25rem !important;
    line-height: 1 !important;
    color: #81d742 !important;
    transition: color 0.25s ease !important;
    vertical-align: middle !important;
}

/* Allineamento verticale del testo della topbar */
.site-header .header-notify p,
.site-header .header-notify a,
html body #menu-top-left li a,
html body #menu-top-right li a {
    vertical-align: middle !important;
}

/* Ridimensionamento pillola del telefono per renderla uguale alle altre voci della topbar */
.site-header .header-notify.link-filled p a {
    padding: 3px 10px !important;
    font-size: 0.76rem !important; /* Coordina alla dimensione del testo della topbar */
    font-weight: 600 !important;
    background-color: #f1f3f5 !important;
    color: #1b1f22 !important;
    border-radius: 20px !important;
    line-height: 1.25 !important;
    display: inline-block !important;
    margin: 0 !important;
}

/* TASK 3: Rimuovi la linea verde decorativa sopra la barra nera dell'header */
.site-header.header-type1 .header-topbar {
    border-bottom: none !important;
}

/* Icona per Traccia ordine (Truck / Delivery Box) */
html body #menu-top-left #menu-item-3859::before {
    content: '\e805' !important; /* klb-ecommerce-icon-truck-thin */
}

/* Icona per Domande frequenti (FAQ / Chat Bubble) */
html body #menu-top-left #menu-item-4204::before {
    content: '\f12c' !important; /* klb-ecommerce-icon-chat-empty */
}

/* Icona per Contatti (Message Text) */
html body #menu-top-right #menu-item-15848::before {
    content: '\f13f' !important; /* klb-ecommerce-icon-message-text */
}

/* Link a pillola (solo testo all'interno) */
html body #menu-top-left li a,
html body #menu-top-right li a {
    display: inline-block !important;
    padding: 0.0625rem 0.5625rem !important; /* Padding esatto del telefono */
    margin-left: 0.125rem !important;
    margin-right: 0.125rem !important;
    border-radius: 1.75rem !important;
    background-color: rgba(27, 31, 34, 0.08) !important;
    color: #1b1f22 !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: none !important;
    transition: all 0.25s ease !important;
    line-height: 1.4 !important;
    height: auto !important;
}

/* Hover delle pillole */
html body #menu-top-left li a:hover,
html body #menu-top-right li a:hover {
    background-color: #81d742 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(129, 215, 66, 0.3) !important;
}

/* Separatori verticali tra Traccia ordine e Domande frequenti (colonna sinistra) */
html body #menu-top-left li:not(:last-child)::after {
    content: "" !important;
    display: inline-flex !important;
    width: 0.0625rem !important;
    height: 0.9375rem !important;
    background-color: currentColor !important;
    opacity: 0.2 !important;
    margin-left: 1.0625rem !important;
    margin-right: 0.5rem !important;
    align-self: center !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILIZZAZIONE GENERALE TABELLA E QUANTITA CARRELLO E PRODOTTI
   ───────────────────────────────────────────────────────────────────────────── */
/* Unificazione sfondo riga dei titoli tabella carrello (Senza interruzioni) */
body.woocommerce-cart table.shop_table.cart,
body.woocommerce-cart table.shop_table {
    border-collapse: collapse !important;
}

body.woocommerce-cart table.shop_table.cart thead,
body.woocommerce-cart table.shop_table.cart thead tr,
body.woocommerce-cart table.shop_table thead,
body.woocommerce-cart table.shop_table thead tr {
    background-color: #f7f7f7 !important;
    background: #f7f7f7 !important;
}

body.woocommerce-cart table.shop_table.cart thead th,
body.woocommerce-cart table.shop_table thead th,
body.woocommerce-cart table.shop_table.cart thead tr th,
body.woocommerce-cart table.shop_table.cart th {
    background-color: #f7f7f7 !important;
    background: #f7f7f7 !important;
    color: #1b1f22 !important;
    font-weight: 700 !important;
    border: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 15px 20px !important;
    border-bottom: none !important;
}

/* Titoli prodotto grandi e neri in tabella carrello */
body.woocommerce-cart table.shop_table.cart td.product-name a,
body.woocommerce-cart table.shop_table td.product-name a {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
}

body.woocommerce-cart table.shop_table.cart td.product-name a:hover,
body.woocommerce-cart table.shop_table td.product-name a:hover {
    color: #81d742 !important;
}

/* Riduzione dimensioni prezzi e subtotali */
body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-price .amount,
body.woocommerce-cart table.shop_table.cart td.product-subtotal,
body.woocommerce-cart table.shop_table.cart td.product-subtotal .amount,
body.woocommerce-cart table.shop_table td.product-price,
body.woocommerce-cart table.shop_table td.product-price .amount,
body.woocommerce-cart table.shop_table td.product-subtotal,
body.woocommerce-cart table.shop_table td.product-subtotal .amount {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #1b1f22 !important;
}

/* Cestino / pulsante rimuovi in rosso */
body.woocommerce-cart table.shop_table.cart td.product-remove a.remove,
body.woocommerce-cart table.shop_table td.product-remove a.remove {
    color: #ff3b30 !important;
    background-color: transparent !important;
    font-size: 1.3rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 59, 48, 0.15) !important;
    float: none !important;
}

body.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover,
body.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    color: #ffffff !important;
    background-color: #ff3b30 !important;
    border-color: #ff3b30 !important;
    transform: scale(1.1) !important;
}

/* Stilizzazione generale del selettore quantità a pillola (Cart e Single Product) */
body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity,
body.woocommerce-cart table.shop_table td.product-quantity .quantity,
body.woocommerce-page .quantity,
html body .quantity {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 30px !important;
    padding: 3px !important;
    background-color: #f5f7f9 !important;
    height: 36px !important;
    width: 105px !important;
    box-sizing: border-box !important;
    float: none !important;
}

body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity label.screen-reader-text,
body.woocommerce-cart table.shop_table td.product-quantity .quantity label.screen-reader-text,
body.woocommerce-page .quantity label.screen-reader-text,
html body .quantity label.screen-reader-text {
    display: none !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity input.qty,
body.woocommerce-cart table.shop_table td.product-quantity .quantity input.qty,
body.woocommerce-page .quantity input.qty,
html body .quantity input.qty {
    width: 32px !important;
    height: 28px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #1b1f22 !important;
    box-shadow: none !important;
    float: none !important;
    line-height: 28px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Pulsanti plus e minus */
body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity .quantity-button,
body.woocommerce-cart table.shop_table td.product-quantity .quantity .quantity-button,
body.woocommerce-page .quantity .quantity-button,
html body .quantity .quantity-button {
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    color: #1b1f22 !important;
    font-size: 9px !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity .quantity-button:hover,
body.woocommerce-cart table.shop_table td.product-quantity .quantity .quantity-button:hover,
body.woocommerce-page .quantity .quantity-button:hover,
html body .quantity .quantity-button:hover {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border-color: #81d742 !important;
}

/* Icone all'interno dei pulsanti quantità */
html body .quantity .quantity-button i,
html body .woocommerce-mini-cart-item .quantity .quantity-button i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    height: auto !important;
    width: auto !important;
    font-size: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   STILIZZAZIONE SIDEBAR CARRELLO (MINI-CART DRAWER) REFINEMENTS
   ───────────────────────────────────────────────────────────────────────────── */
/* Layout riga prodotto */
html body .woocommerce-mini-cart-item.mini_cart_item {
    padding: 15px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    position: relative !important;
}

html body .woocommerce-mini-cart-item .product-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    position: relative !important;
}

/* Miniatura prodotto */
html body .woocommerce-mini-cart-item .thumbnail-wrapper {
    width: 65px !important;
    height: 65px !important;
    flex-shrink: 0 !important;
    margin-right: 12px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

html body .woocommerce-mini-cart-item .thumbnail-wrapper a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

html body .woocommerce-mini-cart-item .thumbnail-wrapper img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Contenuto e testi */
html body .woocommerce-mini-cart-item .content-wrapper {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-right: 20px !important; /* Spazio per tasto rimozione */
}

html body .woocommerce-mini-cart-item .product-title {
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 0 6px 0 !important;
    color: #1b1f22 !important;
}

html body .woocommerce-mini-cart-item .product-title a {
    color: #1b1f22 !important;
    text-decoration: none !important;
}

/* Sezione prezzi e quantità */
html body .woocommerce-mini-cart-item .price {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 4px !important;
}

/* Prezzo singolo/totale */
html body .woocommerce-mini-cart-item .price .woocommerce-Price-amount {
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: #81d742 !important;
}

/* Selettore quantità in pillola (Non schiacciato) */
html body .woocommerce-mini-cart-item .quantity {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 30px !important;
    padding: 2px !important;
    background-color: #f5f7f9 !important;
    height: 30px !important;
    width: 90px !important;
    box-sizing: border-box !important;
}

html body .woocommerce-mini-cart-item .quantity label.screen-reader-text {
    display: none !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

html body .woocommerce-mini-cart-item .quantity input.qty {
    width: 26px !important;
    height: 24px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #1b1f22 !important;
    box-shadow: none !important;
    line-height: 24px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Tasti plus e minus */
html body .woocommerce-mini-cart-item .quantity .quantity-button {
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    color: #1b1f22 !important;
    font-size: 8px !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    vertical-align: middle !important;
}

html body .woocommerce-mini-cart-item .quantity .quantity-button:hover {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border-color: #81d742 !important;
}

/* Pulsante rimozione posizionato in alto a destra */
html body .woocommerce-mini-cart-item .remove_from_cart_button {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    font-size: 1.1rem !important;
    color: #aaaaaa !important;
    transition: color 0.2s ease !important;
    line-height: 1 !important;
}

html body .woocommerce-mini-cart-item .remove_from_cart_button:hover {
    color: #ff3b30 !important;
}

/* Allineamento orizzontale dei tasti Carrello e Pagamento */
html body p.woocommerce-mini-cart__buttons.buttons {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    margin: 20px 0 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

html body p.woocommerce-mini-cart__buttons.buttons a.button {
    flex: 1 1 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 10px !important;
    border-radius: 30px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.25s ease !important;
    margin: 0 !important;
    height: auto !important;
    line-height: 1.2 !important;
}

/* Bottone Vai al carrello */
html body p.woocommerce-mini-cart__buttons.buttons a.button:not(.checkout) {
    background-color: #f5f7f9 !important;
    color: #1b1f22 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

html body p.woocommerce-mini-cart__buttons.buttons a.button:not(.checkout):hover {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.25) !important;
}

/* Bottone Pagamento (Checkout - Ripristinato Verde del Brand) */
html body p.woocommerce-mini-cart__buttons.buttons a.button.checkout {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.2) !important;
}

html body p.woocommerce-mini-cart__buttons.buttons a.button.checkout:hover {
    background-color: #6dbb35 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(129, 215, 66, 0.35) !important;
}

/* Tasto procedi al pagamento nella pagina carrello a pillola verde */
html body .wc-proceed-to-checkout a.checkout-button {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    border: none !important;
    padding: 14px 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.2) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 240px !important;
}

html body .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #6dbb35 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(129, 215, 66, 0.35) !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   PULSANTI A PILLOLA IN HOME PAGE: SFOGLIA IL CATALOGO & LEGGI TUTTO
   ───────────────────────────────────────────────────────────────────────────── */
/* Formattazione base a pillola su sfondo bianco */
.column.button-column a.btn.link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 30px !important;
    border: 1px solid rgba(27, 31, 34, 0.12) !important;
    padding: 8px 20px !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #1b1f22 !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    height: auto !important;
    box-sizing: border-box !important;
}

/* Rimuovi eventuali sottolineature o elementi di disturbo nativi */
.column.button-column a.btn.link::after {
    display: none !important;
}

/* Colore testi e icone in stato normale */
.column.button-column a.btn.link span.button-text {
    color: #1b1f22 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: color 0.2s ease !important;
}

.column.button-column a.btn.link .button-icon {
    color: #81d742 !important; /* Icona verde del brand */
    font-size: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: color 0.2s ease !important;
}

/* Stato hover: sfondo verde, testo e icona bianchi */
.column.button-column a.btn.link:hover {
    background-color: #81d742 !important;
    background: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.15) !important;
}

.column.button-column a.btn.link:hover span.button-text {
    color: #ffffff !important;
}

.column.button-column a.btn.link:hover .button-icon {
    color: #ffffff !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   RIDISEGNO COLONNE E LAYOUT PAGINE CARRELLO E CHECKOUT (CASSA)
   ───────────────────────────────────────────────────────────────────────────── */
@media screen and (min-width: 992px) {
    /* Allargamento colonna destra in pagina Carrello */
    body.woocommerce-cart .cart-wrapper .cart-collaterals {
        width: 28rem !important; /* Aumentato da 21.25rem */
        flex-shrink: 0 !important;
    }
    
    /* Allargamento colonna destra in pagina Checkout (Cassa) */
    body.woocommerce-checkout .checkout-wrapper:not(.multistep) .cart-wrapper .order-review-wrapper {
        width: 28rem !important; /* Aumentato da 21.25rem */
        flex-shrink: 0 !important;
    }
}

/* Stilizzazione box colonna destra (Carrello Totale e Cassa Ordine) */
body.woocommerce-cart .cart-wrapper .cart-collaterals .cart_totals,
body.woocommerce-checkout .checkout-wrapper:not(.multistep) .cart-wrapper .order-review-wrapper {
    background-color: #f7f9fa !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-sizing: border-box !important;
}

/* Spaziature e titoli box Cassa */
body.woocommerce-checkout .checkout-wrapper .order-review-wrapper #order_review_heading {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important;
    margin-bottom: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: -0.3px !important;
}

body.woocommerce-checkout .checkout-wrapper .order-review-wrapper #order_review {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Uniformazione dei campi di input e Select2 (Cassa) */
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    background-color: #f5f7f9 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 8px !important;
    height: 48px !important;
    padding: 10px 16px !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1b1f22 !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    line-height: 26px !important;
    padding: 0 !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 12px !important;
}

body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #81d742 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(129, 215, 66, 0.15) !important;
}

/* Bottone Effettua Ordine (Place Order) a Pillola Verde del Brand */
body.woocommerce-checkout #place_order {
    background-color: #81d742 !important;
    background: #81d742 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    border: none !important;
    padding: 14px 35px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.2) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    cursor: pointer !important;
}

body.woocommerce-checkout #place_order:hover {
    background-color: #6dbb35 !important;
    background: #6dbb35 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(129, 215, 66, 0.35) !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   OTTIMIZZAZIONE MEGA MENU "SFOGLIA LE CATEGORIE" (ELEMENTOR / THEME CORES)
   ───────────────────────────────────────────────────────────────────────────── */
/* Container principale del mega menu dropdown */
.header-bottom .dropdown-categories .dropdown-menu > ul > li > .sub-menu,
.sub-menu.mega-menu-wrapper {
    min-width: 980px !important; /* Garantisce larghezza sufficiente per 4 colonne */
    padding: 30px !important;
    box-sizing: border-box !important;
}

/* Etichette del gruppo di categorie (Titoli delle colonne) */
.sub-menu.mega-menu-wrapper .mega-grouped-label,
.header-bottom .dropdown-categories .dropdown-menu .mega-grouped-label {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important;
    margin-bottom: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: -0.2px !important;
    display: block !important;
}

/* Spaziatura tra le singole righe di sotto-categoria */
.sub-menu.mega-menu-wrapper .sub-menu-list li,
.header-bottom .dropdown-categories .dropdown-menu > ul > li > .sub-menu .sub-menu-list li {
    line-height: 1.4 !important; /* Impedisce la sovrapposizione delle righe di testo */
}

.sub-menu.mega-menu-wrapper .sub-menu-list li + li,
.header-bottom .dropdown-categories .dropdown-menu > ul > li > .sub-menu .sub-menu-list li + li {
    margin-top: 8px !important; /* Maggiore respiro verticale tra le voci */
}

/* Voci di collegamento sotto-categoria (Notebook, PC fissi, ecc.) */
.sub-menu.mega-menu-wrapper .mega-sub-list .sub-menu-list a,
.sub-menu.mega-menu-wrapper .sub-menu-list li a,
.header-bottom .dropdown-categories .dropdown-menu > ul > li > .sub-menu .sub-menu-list li a {
    display: inline-block !important; /* Consente il corretto ritorno a capo delle parole */
    line-height: 1.4 !important;
    white-space: normal !important; /* Disabilita i tagli orizzontali di testo */
    word-wrap: break-word !important;
    word-break: break-word !important;
    overflow: visible !important;
    text-overflow: clip !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    color: #4a5056 !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

/* Hover delle voci di sotto-categoria */
.sub-menu.mega-menu-wrapper .mega-sub-list .sub-menu-list a:hover,
.sub-menu.mega-menu-wrapper .sub-menu-list li a:hover,
.header-bottom .dropdown-categories .dropdown-menu > ul > li > .sub-menu .sub-menu-list li a:hover {
    color: #81d742 !important; /* Verde brand */
    padding-left: 5px !important; /* Leggero effetto scorrimento a destra */
}

/* Icone all'interno del mega menu */
.sub-menu.mega-menu-wrapper .sub-menu-list li i,
.header-bottom .dropdown-categories .dropdown-menu > ul > li > .sub-menu .sub-menu-list li i {
    color: #81d742 !important; /* Icone verdi del brand */
    margin-right: 8px !important;
    font-size: 0.85rem !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   BARRA SCORREVOLE IN ALTO (MARQUEE TICKER VERDE)
   ───────────────────────────────────────────────────────────────────────────── */
.fixsa-top-marquee {
    background-color: #81d742 !important;
    color: #ffffff !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    padding: 4px 0 !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    position: relative !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 26px !important;
}

.fixsa-top-marquee .marquee-content {
    display: inline-flex !important;
    animation: marquee-scroll 50s linear infinite !important;
}

.fixsa-top-marquee .marquee-content span {
    padding-right: 6rem !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

@keyframes marquee-scroll {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BARRA DI NAVIGAZIONE MOBILE ANCORATA (STICKY NAV BAR)
   ───────────────────────────────────────────────────────────────────────────── */
.fixsa-mobile-nav-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 60px !important;
    background-color: #000000 !important; /* Sfondo nero puro */
    box-shadow: 0 -3px 15px rgba(0, 0, 0, 0.3) !important;
    display: none !important; /* Mostrato solo tramite media queries */
    justify-content: space-around !important;
    align-items: center !important;
    z-index: 99999 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 0 5px !important;
    box-sizing: border-box !important;
}

.fixsa-mobile-nav-bar .nav-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important; /* Testi bianchi */
    text-decoration: none !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
    gap: 3px !important;
    width: 20% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.fixsa-mobile-nav-bar .nav-item svg {
    color: #81d742 !important; /* Icone verdi del brand */
    transition: all 0.2s ease !important;
    stroke-width: 2.2px !important;
}

.fixsa-mobile-nav-bar .nav-item:hover,
.fixsa-mobile-nav-bar .nav-item.active {
    color: #ffffff !important; /* Testi rimangono bianchi */
}

.fixsa-mobile-nav-bar .nav-item:hover svg,
.fixsa-mobile-nav-bar .nav-item.active svg {
    color: #81d742 !important; /* Icone rimangono verdi */
    transform: scale(1.1) !important;
}

/* Badge Carrello Mobile */
.fixsa-mobile-nav-bar .cart-icon-wrapper {
    position: relative !important;
    display: inline-flex !important;
}

.fixsa-mobile-nav-bar .cart-badge {
    position: absolute !important;
    top: -6px !important;
    right: -8px !important;
    background-color: #ff3b30 !important; /* Rosso */
    color: #ffffff !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    border-radius: 10px !important;
    padding: 1px 5px !important;
    line-height: 1 !important;
    min-width: 12px !important;
    text-align: center !important;
    box-shadow: 0 2px 4px rgba(255, 59, 48, 0.2) !important;
}

/* Overlay di ricerca per mobile */
.fixsa-mobile-search-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: #000000 !important; /* Nero puro */
    z-index: 100000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    padding: 20px !important;
}

.fixsa-mobile-search-overlay.active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.fixsa-mobile-search-overlay .search-overlay-content {
    width: 100% !important;
    max-width: 440px !important;
    text-align: center !important;
    position: relative !important;
}

.fixsa-mobile-search-overlay h3 {
    color: #81d742 !important; /* Verde brand */
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.fixsa-mobile-search-overlay .close-search-overlay {
    position: absolute !important;
    top: -90px !important;
    right: 0 !important;
    background: none !important;
    border: none !important;
    color: #81d742 !important; /* Verde brand */
    font-size: 44px !important;
    cursor: pointer !important;
    outline: none !important;
    transition: transform 0.2s ease !important;
}

.fixsa-mobile-search-overlay .close-search-overlay:hover {
    transform: scale(1.1) !important;
    color: #ffffff !important;
}

.fixsa-mobile-search-overlay .search-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    width: 100% !important;
}

.fixsa-mobile-search-overlay .search-field {
    width: 100% !important;
    background-color: #111111 !important;
    border: 1.5px solid #222222 !important;
    border-radius: 30px !important;
    padding: 14px 24px !important;
    font-size: 1rem !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    transition: all 0.25s ease !important;
}

.fixsa-mobile-search-overlay .search-field:focus {
    border-color: #81d742 !important;
    box-shadow: 0 0 10px rgba(129, 215, 66, 0.2) !important;
}

.fixsa-mobile-search-overlay .search-field::placeholder {
    color: #666666 !important;
}

.fixsa-mobile-search-overlay .search-submit {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 14px 24px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: all 0.22s ease !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.25) !important;
}

.fixsa-mobile-search-overlay .search-submit:hover {
    background-color: #72c235 !important;
    box-shadow: 0 4px 15px rgba(114, 194, 53, 0.4) !important;
}

/* Mostra la barra mobile su mobile, tablet e schermi piccoli (appena l'header diventa mobile) */
@media screen and (max-width: 1199.98px) {
    .fixsa-mobile-nav-bar {
        display: flex !important;
    }
    
    body {
        padding-bottom: 60px !important; /* Evita la sovrapposizione sul footer/pulsanti cassa */
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   LEGGIBILITÀ TESTI SLIDESHOW HOME PAGE
   ───────────────────────────────────────────────────────────────────────────── */
/* Aggiunge un overlay sfumato scuro sul lato sinistro delle immagini del banner */
.klb-banner.for-slider::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.2) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.klb-banner.for-slider .entry-wrapper {
    position: relative !important;
    z-index: 2 !important;
}

/* Card di contenimento con effetto Glassmorphism per il testo della slide */
.klb-banner.for-slider .entry-inner {
    background: rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    padding: 35px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    max-width: 520px !important;
}

/* Colore e ombra del titolo della slide */
.klb-banner.for-slider .entry-title {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.4) !important;
    margin-bottom: 15px !important;
    letter-spacing: -0.5px !important;
}

/* Colore e ombra della descrizione della slide */
.klb-banner.for-slider .entry-excerpt p {
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
    font-size: 1.05rem !important;
    line-height: 1.5 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   POSIZIONAMENTO STICKY BAR IN BASSO - PAGINA PRODOTTO SINGOLO
   ───────────────────────────────────────────────────────────────────────────── */
.single-product-sticky {
    top: auto !important;
    bottom: 0 !important;
    border-bottom: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.08) !important;
    margin-top: 0 !important;
    margin-bottom: -15px !important; /* Spostamento per l'effetto di comparsa */
}

.single-product-sticky.active {
    margin-bottom: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   BLOCCO DELLO SCROLL SUL BODY CON SIDEBAR HAMBURGER APERTA
   ───────────────────────────────────────────────────────────────────────────── */
body.drawer-active,
body.search-overlay-active {
    overflow: hidden !important;
    touch-action: none !important; /* Disabilita i gesti di scorrimento sul body */
}

/* Garantisce che la sidebar drawer sia isolata e scorra verticalmente */
.site-drawer {
    height: 100% !important;
    max-height: 100vh !important;
    overflow: hidden !important;
    touch-action: pan-y !important; /* Abilita lo scorrimento verticale nella sidebar */
}

.site-scrollsa {
    height: 100% !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    display: block !important;
}

/* ==========================================================================
   HOMEPAGE SLIDESHOW (VERSIONE 1.7.7)
   ========================================================================== */

/* Previene il vertical split / accumulo verticale prima dell'inizializzazione */
/* Previene il vertical split / accumulo verticale prima dell'inizializzazione o se disattivato */
html body.home .klb-slider:not(.slick-initialized),
.klb-slider:not(.slick-initialized) {
    display: block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

html body.home .klb-slider:not(.slick-initialized) .slider-item,
.klb-slider:not(.slick-initialized) .slider-item {
    display: inline-block !important;
    vertical-align: top !important;
    width: 100% !important;
}

html body.home .klb-slider:not(.slick-initialized) .slider-item:not(:first-child),
.klb-slider:not(.slick-initialized) .slider-item:not(:first-child) {
    display: none !important; /* Nasconde tutte le slide tranne la prima finché Slick non è pronto o se viene disattivato */
}

/* Blocca il layout orizzontale non-wrappabile quando Slick è caricato per evitare split in verticale su ogni risoluzione */
html body.home .klb-slider.slick-initialized .slick-track,
.klb-slider.slick-initialized .slick-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

html body.home .klb-slider.slick-initialized .slick-slide,
.klb-slider.slick-initialized .slick-slide {
    height: auto !important;
    float: none !important;
    display: inline-block !important;
    vertical-align: top !important;
}

/* Previene lo scorrimento orizzontale della pagina */
html, body {
    overflow-x: hidden !important;
}

/* Correzione della collisione con l'Header: rimozione di padding e margine per attaccare lo slider all'header */
html body.home .klb-slider.slider-style {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Rimuove i margini e padding superiori della prima sezione di Elementor per attaccare lo slider direttamente all'header */
html body.home .elementor-section.elementor-top-section:first-of-type,
html body.home .elementor-section.elementor-top-section:first-of-type .elementor-container,
html body.home .elementor-section.elementor-top-section:first-of-type .elementor-column,
html body.home .elementor-section.elementor-top-section:first-of-type .elementor-widget-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Rimuove i bordi tondi della slideshow, delle singole slide e delle immagini di background */
html body.home .klb-slider.slider-style,
html body.home .klb-slider.slider-style .slider-item,
html body.home .klb-slider.slider-style .klb-banner,
html body.home .klb-slider.slider-style .klb-banner .entry-media,
html body.home .klb-slider.slider-style .klb-banner .entry-media img {
    border-radius: 0 !important;
}

/* Espansione della slideshow a Full-Width (100% della larghezza viewport) */
html body.home .klb-slider.slider-style {
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

/* Ottimizzazione del padding interno delle slide per non toccare i bordi */
html body.home .klb-slider.slider-style .slider-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Padding interno del testo della slide per leggibilità sui bordi dello schermo */
html body.home .klb-slider.slider-style .klb-banner.for-slider {
    padding-left: 5% !important;
    padding-right: 5% !important;
}

/* Regolazione responsiva per azzerare margini su Tablet/Mobile */
@media (max-width: 991px) {
    html body.home .klb-slider.slider-style {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

@media (max-width: 767px) {
    html body.home .klb-slider.slider-style {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

/* Correzione del posizionamento assoluto dell'immagine dello slider nella risoluzione intermedia 992px-1199.98px */
@media screen and (min-width: 992px) and (max-width: 1199.98px) {
    html body.home .klb-slider.slider-style .klb-banner.custom-height .entry-media,
    html body.home .klb-slider.slider-style .klb-banner.for-slider .entry-media {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 0 !important;
    }
    
    html body.home .klb-slider.slider-style .klb-banner.custom-height .entry-media img,
    html body.home .klb-slider.slider-style .klb-banner.for-slider .entry-media img {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important;
        object-fit: cover !important;
    }
}

/* Allinea al brand verde i tasti del box delle slide */
html body.home .klb-slider .klb-banner .entry-footer a.btn.blue {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(129, 215, 66, 0.25) !important;
    transition: all 0.25s ease !important;
}

html body.home .klb-slider .klb-banner .entry-footer a.btn.blue:hover {
    background-color: #66b032 !important;
    border-color: #66b032 !important;
    box-shadow: 0 6px 20px rgba(129, 215, 66, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Allinea al brand verde i tasti di navigazione (frecce) */
html body .klb-slider.slider-style .slick-nav {
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #1b1f22 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html body .klb-slider.slider-style .slick-nav:hover {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border-color: #81d742 !important;
    box-shadow: 0 6px 16px rgba(129, 215, 66, 0.3) !important;
}

/* Rimuove i pallini di paginazione da tutti gli slider e caroselli (inclusa la slideshow) */
html body .klb-slider-wrapper .slick-dots,
html body .slick-dots,
html body .swiper-pagination,
html body .flex-control-nav {
    display: none !important;
}

/* ==========================================================================
   DISATTIVAZIONE BADGE FLUTTUANTE IUBENDA SU MOBILE/TABLET (VERSIONE 1.7.8)
   ========================================================================== */
@media (max-width: 991px) {
    #iubenda-cs-preferences-link,
    .iubenda-cs-preferences-link,
    #iubenda-cs-uspr-btn,
    .iubenda-cs-uspr-btn,
    .iubenda-cs-uspr,
    .iubenda-cs-preferences,
    .iubenda-ib-btn-widget,
    .iubenda-embed {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 0 !important;
    }
}

/* ==========================================================================
   WIDGETS FILTRI SIDEBAR COMMERCE (VERSIONE 1.7.9)
   ========================================================================== */

/* Spaziatura generale dei widget della sidebar */
html body .sidebar-column .widget {
    margin-bottom: 2rem !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
}

/* Titoli dei filtri coordinati */
html body .sidebar-column .widget .widget-title {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #1b1f22 !important;
    border-bottom: 2px solid #81d742 !important; /* Riga verde FixSA sotto il titolo */
    padding-bottom: 8px !important;
    margin-bottom: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Liste di filtri (colore, marca, memoria, pollici) */
html body .sidebar-column .widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body .sidebar-column .widget ul li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    font-size: 0.88rem !important;
}

html body .sidebar-column .widget ul li:last-child {
    border-bottom: none !important;
}

/* Link del filtro */
html body .sidebar-column .widget ul li a {
    color: #4b5563 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
    flex-grow: 1 !important;
}

html body .sidebar-column .widget ul li a:hover {
    color: #81d742 !important; /* Verde brand on hover */
}

/* Stato attivo/selezionato del filtro */
html body .sidebar-column .widget ul li.chosen a,
html body .sidebar-column .widget ul li.active a {
    color: #81d742 !important;
    font-weight: 600 !important;
}

/* Badge del contatore (es. (5)) */
html body .sidebar-column .widget ul li .count {
    font-size: 0.75rem !important;
    background-color: #f1f5f9 !important;
    color: #6b7280 !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    font-weight: 500 !important;
    margin-left: 10px !important;
}

/* Correzione dello Slider Prezzo in sidebar */
html body .widget_price_filter .price_slider_wrapper {
    padding: 0 5px !important;
    box-sizing: border-box !important;
}

html body .widget_price_filter .price_slider {
    margin: 15px auto 20px auto !important;
    width: calc(100% - 16px) !important;
    background-color: #e2e8f0 !important;
    height: 4px !important;
    border: none !important;
    position: relative !important;
}

html body .widget_price_filter .ui-slider-range {
    background-color: #81d742 !important;
    height: 4px !important;
    position: absolute !important;
    border-radius: 2px !important;
}

html body .widget_price_filter .ui-slider-handle {
    background-color: #ffffff !important;
    border: 2px solid #81d742 !important;
    width: 16px !important;
    height: 16px !important;
    top: -6px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15) !important;
    outline: none !important;
    position: absolute !important;
    z-index: 2 !important;
    transition: transform 0.1s ease !important;
}

html body .widget_price_filter .ui-slider-handle:hover {
    transform: scale(1.1) !important;
}

/* Box dei prezzi (input minimo e massimo) */
html body .widget_price_filter .price_slider_amount {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 15px !important;
}

html body .widget_price_filter .price_slider_amount .min-price,
html body .widget_price_filter .price_slider_amount > div {
    flex: 1 1 auto !important;
    width: 45% !important;
}

html body .widget_price_filter .price_slider_amount .separator {
    flex: 0 0 auto !important;
    color: #94a3b8 !important;
    font-weight: 500 !important;
}

html body .widget_price_filter .price_slider_amount input {
    width: 100% !important;
    text-align: center !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
    color: #1e293b !important;
    height: 36px !important;
    font-size: 0.85rem !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.02) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

html body .widget_price_filter .price_slider_amount input:focus {
    border-color: #81d742 !important;
    box-shadow: 0 0 0 3px rgba(129, 215, 66, 0.15) !important;
    outline: none !important;
}

/* Pulsante "Filtra" */
html body .widget_price_filter .price_slider_bottom {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

html body .widget_price_filter .price_slider_bottom .button {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 8px 20px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    box-shadow: 0 2px 4px rgba(129, 215, 66, 0.2) !important;
}

html body .widget_price_filter .price_slider_bottom .button:hover {
    background-color: #66b032 !important;
    transform: translateY(-1px) !important;
}

/* ==========================================================================
   INTERFACCIA FOOTER ACCORDION SU MOBILE & TABLET (VERSIONE 1.8.1)
   ========================================================================== */
@media (max-width: 991px) {
    /* Stack verticale pulito delle colonne menu nel footer */
    html body .site-footer .column.secondary {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 0 !important;
    }

    html body .site-footer .column.secondary .widget-column {
        width: 100% !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
        padding: 12px 0 !important;
    }

    html body .site-footer .column.secondary .widget-column:last-child {
        border-bottom: none !important;
    }

    /* Struttura widget interna */
    html body .site-footer .column.secondary .widget-column .klbfooterwidget {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Nascondiamo il menu/lista di default */
    html body .site-footer .column.secondary .widget-column .klbfooterwidget div[class*="-container"] {
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        transition: max-height 0.3s cubic-bezier(0, 1, 0, 1), opacity 0.25s ease-out !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Stato aperto per il menu accordion */
    html body .site-footer .column.secondary .widget-column .klbfooterwidget.open div[class*="-container"] {
        max-height: 500px !important;
        opacity: 1 !important;
        transition: max-height 0.3s ease-in-out, opacity 0.25s ease-in !important;
        margin-top: 12px !important;
    }

    /* Stile dei titoli dei widget cliccabili */
    html body .site-footer .column.secondary .widget-column .klbfooterwidget .widget-title {
        cursor: pointer !important;
        position: relative !important;
        padding-right: 25px !important;
        margin-bottom: 0 !important;
        user-select: none !important;
        font-size: 0.95rem !important;
    }

    /* Indicatore + / - */
    html body .site-footer .column.secondary .widget-column .klbfooterwidget .widget-title::after {
        content: '+' !important;
        position: absolute !important;
        right: 5px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 1.25rem !important;
        font-weight: 400 !important;
        color: #81d742 !important; /* Colore verde brand */
        transition: transform 0.25s ease !important;
    }

    html body .site-footer .column.secondary .widget-column .klbfooterwidget.open .widget-title::after {
        content: '−' !important; /* Simbolo meno */
    }
}

/* ==========================================================================
   PAGINA CATEGORIE DESKTOP A 3 COLONNE (VERSIONE 1.8.1)
   ========================================================================== */
@media screen and (min-width: 992px) {
    html body.tax-product_cat .products:not(.klb-slider).column-4 > * {
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
        width: calc(33.3333333333% - var(--theme-site-gutters) + var(--theme-site-gutters) / 3) !important;
    }
    html body.tax-product_cat .products:not(.klb-slider).column-4.no-gutters > * {
        width: 33.3333333333% !important;
    }
}

/* ==========================================================================
   STICKY CART BAR SU TABLET E MOBILE (VERSIONE 1.8.1)
   ========================================================================== */
@media (max-width: 1199.98px) {
    html body.single-product .single-product-sticky {
        display: block !important;
        position: fixed !important;
        top: auto !important;
        bottom: 60px !important; /* Posizionata SOPRA la barra di navigazione mobile */
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background-color: #ffffff !important;
        border-top: 1px solid #e2e8f0 !important;
        border-bottom: none !important;
        box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.06) !important;
        padding: 10px 15px !important;
        z-index: 99998 !important; /* Sotto lo z-index 99999 della barra mobile ancorata */
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(10px) !important;
        transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s ease !important;
    }

    html body.single-product .single-product-sticky.active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }
}

@media (max-width: 767px) {
    /* Ottimizzazione layout per piccoli schermi (smartphone) */
    html body.single-product .single-product-sticky .thumbnail-wrapper,
    html body.single-product .single-product-sticky .content-wrapper {
        display: none !important; /* Nasconde miniatura e titolo per preservare spazio */
    }

    html body.single-product .single-product-sticky .product-inner {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        padding: 0 !important;
    }

    html body.single-product .single-product-sticky .product-price {
        margin-left: 0 !important;
        padding-right: 0 !important;
        flex-shrink: 0 !important;
    }

    html body.single-product .single-product-sticky .product-price .price {
        font-size: 1.15rem !important;
        font-weight: 700 !important;
        color: #1b1f22 !important;
    }

    html body.single-product .single-product-sticky form.cart {
        margin-left: auto !important;
        margin-right: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
    }

    html body.single-product .single-product-sticky form.cart .quantity {
        display: none !important; /* Rimuove la quantità su cellulare per evitare overflow */
    }

    html body.single-product .single-product-sticky form.cart .single_add_to_cart_button {
        padding: 8px 16px !important;
        font-size: 0.85rem !important;
        border-radius: 20px !important;
        background-color: #81d742 !important;
        color: #ffffff !important;
        font-weight: 600 !important;
        box-shadow: 0 2px 4px rgba(129, 215, 66, 0.2) !important;
    }
}

/* ==========================================================================
   REDESIGN VISTA A LISTA PRODOTTI NELLE CATEGORIE (VERSIONE 1.8.3)
   ========================================================================== */
html body .products.list-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

html body .products.list-column > * {
    width: 100% !important;
    margin-bottom: 0 !important;
}

/* Card Prodotto singola per la lista */
html body .products.list-column .product-wrapper {
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    padding: 24px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
    margin: 0 !important;
    padding-top: 24px !important;
}

html body .products.list-column .product-wrapper:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
    border-color: #cbd5e1 !important;
}

/* Disabilita la riga divisoria nativa del tema */
html body .products.list-column > * + * .product-wrapper {
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 24px !important;
}

@media screen and (min-width: 992px) {
    /* Struttura interna a 3 colonne su Desktop */
    html body .products.list-column .product-inner {
        display: flex !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        gap: 24px !important;
    }

    /* Colonna 1: Immagine Prodotto */
    html body .products.list-column .product-inner .thumbnail-wrapper {
        width: 160px !important;
        flex: 0 0 160px !important;
        margin: 0 !important;
        background-color: #f8fafc !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #f1f5f9 !important;
        position: relative !important;
    }

    html body .products.list-column .product-inner .thumbnail-wrapper img {
        max-height: 100% !important;
        width: auto !important;
        object-fit: contain !important;
        transition: transform 0.3s ease !important;
    }

    html body .products.list-column .product-inner .thumbnail-wrapper:hover img {
        transform: scale(1.05) !important;
    }

    /* Hover tasti comparazione sulla miniatura */
    html body .products.list-column .product-inner .thumbnail-wrapper .thumbnail-buttons {
        position: absolute !important;
        bottom: 8px !important;
        left: 50% !important;
        transform: translateX(-50%) translateY(10px) !important;
        display: flex !important;
        gap: 6px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.25s ease !important;
    }

    html body .products.list-column .product-inner .thumbnail-wrapper:hover .thumbnail-buttons {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateX(-50%) translateY(0) !important;
    }

    /* Colonna 2: Testi e Pulsanti di Acquisto */
    html body .products.list-column .product-inner .content-wrapper {
        flex: 1 1 auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
    }

    /* Titolo Prodotto */
    html body .products.list-column .product-inner .content-wrapper .product-title {
        font-size: 1.15rem !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        margin: 0 0 8px 0 !important;
        line-height: 1.3 !important;
    }

    html body .products.list-column .product-inner .content-wrapper .product-title a {
        color: #1e293b !important;
        text-decoration: none !important;
        transition: color 0.2s ease !important;
    }

    html body .products.list-column .product-inner .content-wrapper .product-title a:hover {
        color: #81d742 !important;
    }

    /* Prezzo */
    html body .products.list-column .product-inner .content-wrapper .price {
        font-size: 1.3rem !important;
        font-weight: 700 !important;
        color: #81d742 !important;
        margin-bottom: 15px !important;
        display: block !important;
    }

    html body .products.list-column .product-inner .content-wrapper .price del {
        font-size: 0.95rem !important;
        color: #94a3b8 !important;
        margin-right: 6px !important;
        font-weight: 400 !important;
    }

    html body .products.list-column .product-inner .content-wrapper .price ins {
        text-decoration: none !important;
    }

    /* Gruppo bottoni */
    html body .products.list-column .product-inner .content-wrapper .product-buttons {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin-top: auto !important;
    }

    /* Aggiungi al carrello */
    html body .products.list-column .product-inner .content-wrapper .product-buttons .button.add_to_cart_button {
        background-color: #81d742 !important;
        color: #ffffff !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        padding: 8px 20px !important;
        border-radius: 30px !important;
        border: none !important;
        cursor: pointer !important;
        transition: background-color 0.2s ease, transform 0.1s ease !important;
        box-shadow: 0 3px 6px rgba(129, 215, 66, 0.15) !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        height: 38px !important;
    }

    html body .products.list-column .product-inner .content-wrapper .product-buttons .button.add_to_cart_button:hover {
        background-color: #66b032 !important;
        transform: translateY(-1px) !important;
    }

    /* Wishlist circolare */
    html body .products.list-column .product-inner .content-wrapper .product-buttons .wishlist-button a {
        width: 38px !important;
        height: 38px !important;
        border-radius: 50% !important;
        border: 1px solid #cbd5e1 !important;
        background-color: #ffffff !important;
        color: #64748b !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important;
        transition: all 0.2s ease !important;
        position: relative !important;
    }

    html body .products.list-column .product-inner .content-wrapper .product-buttons .wishlist-button a::before {
        content: '\eb35' !important;
        font-family: 'klbtheme' !important;
        font-size: 1.1rem !important;
        color: #64748b !important;
    }

    html body .products.list-column .product-inner .content-wrapper .product-buttons .wishlist-button a:hover {
        border-color: #ff4b5a !important;
        background-color: #ff4b5a !important;
    }

    html body .products.list-column .product-inner .content-wrapper .product-buttons .wishlist-button a:hover::before {
        content: '\ec57' !important;
        color: #ffffff !important;
    }

    /* Colonna 3: Descrizione Prodotto */
    html body .products.list-column .product-inner .product-footer {
        width: 300px !important;
        flex: 0 0 300px !important;
        border-left: 1px solid #e2e8f0 !important;
        padding-left: 24px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        background-color: transparent !important;
    }

    html body .products.list-column .product-inner .product-footer .product-footer-details {
        font-size: 0.88rem !important;
        color: #64748b !important;
        line-height: 1.5 !important;
        padding: 0 !important;
    }
}

@media (max-width: 991px) {
    /* Responsive per Tablet e Smartphone */
    html body .products.list-column .product-inner {
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    html body .products.list-column .product-inner .thumbnail-wrapper {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4/3 !important;
        flex: none !important;
        margin: 0 !important;
    }

    html body .products.list-column .product-inner .content-wrapper {
        width: 100% !important;
        flex: none !important;
        padding: 0 !important;
    }

    html body .products.list-column .product-inner .product-footer {
        width: 100% !important;
        flex: none !important;
        border-left: none !important;
        border-top: 1px dashed #e2e8f0 !important;
        padding-left: 0 !important;
        padding-top: 16px !important;
        margin-top: 8px !important;
    }
}

/* --- TASK 1: Allineamento Social e App nel Footer --- */
/* Rimosso il testo 'Scarica la nostra app:' */
.footer-social .site-application .app-label {
    display: none !important;
}

/* Forza i social e le app a rimanere su una sola riga su tutti i dispositivi/risoluzioni */
.footer-social .footer-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.footer-social .site-social {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

.footer-social .site-social .social-label {
    margin-bottom: 0 !important;
    margin-right: 10px !important;
}

.footer-social .site-application {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
}

.footer-social .site-application ul {
    display: inline-flex !important;
    align-items: center !important;
}

/* Ridimensionamento responsivo per evitare sdoppiamento di riga su mobile e risoluzioni strette */
@media (max-width: 767.98px) {
    .footer-social .site-social .social-label {
        font-size: 0.85rem !important;
        margin-right: 6px !important;
    }
    
    .footer-social .site-social ul li a {
        width: 1.8rem !important;
        height: 1.8rem !important;
        font-size: 0.95rem !important;
    }
    
    .footer-social .site-application ul img {
        max-height: 1.8rem !important;
    }
}

@media (max-width: 480px) {
    .footer-social .site-social .social-label {
        font-size: 0.78rem !important;
        margin-right: 4px !important;
    }
    
    .footer-social .site-social ul li a {
        width: 1.55rem !important;
        height: 1.55rem !important;
        font-size: 0.85rem !important;
    }
    
    .footer-social .site-application ul img {
        max-height: 1.55rem !important;
    }
    
    .footer-social .footer-inner {
        column-gap: 8px !important;
    }
}

/* --- TASK 2: Sfondo Omogeneo per Seguici e Copyright --- */
.footer-social,
.footer-copyright {
    background-color: #F8F9FA !important; /* Colore omogeneo grigio chiaro del footer widgets */
}

/* Rende la transizione tra le sezioni del footer continua e pulita */
.footer-social {
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-bottom: none !important;
}

.footer-copyright {
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* --- TASK 3: Newsletter Form & Button Capsule Style --- */
.footer-newsletter .newsletter-form {
    max-width: 32rem !important;
}

.footer-newsletter .newsletter-form div.mc4wp-form-fields {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

.footer-newsletter .newsletter-form input.subscribe-input {
    width: 100% !important;
    height: 50px !important;
    line-height: 50px !important;
    border-radius: 30px !important;
    border: 1px solid #cbd5e1 !important;
    background-color: #ffffff !important;
    padding-left: 20px !important;
    padding-right: 120px !important;
    font-size: 0.95rem !important;
    color: #1e293b !important;
    box-shadow: none !important;
    transition: all 0.25s ease !important;
}

.footer-newsletter .newsletter-form input.subscribe-input:focus {
    border-color: #81d742 !important;
    box-shadow: 0 0 0 3px rgba(129, 215, 66, 0.15) !important;
    background-color: #ffffff !important;
    outline: none !important;
}

.footer-newsletter .newsletter-form button.btn {
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    height: 42px !important;
    line-height: 42px !important;
    padding: 0 24px !important;
    background-color: #81d742 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    border-radius: 30px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 10px rgba(129, 215, 66, 0.15) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.footer-newsletter .newsletter-form button.btn:hover {
    background-color: #66b032 !important;
    box-shadow: 0 6px 14px rgba(129, 215, 66, 0.25) !important;
    transform: translateY(0) !important;
}

/* --- TASK 4: Nasconde il testo del conteggio preferiti --- */
.wishlist-button span,
.klb-wishlist-button span,
.product-card span.totalcount,
.product-inner span.totalcount,
span:has(> .totalcount),
.klbwl-btn + span {
    display: none !important;
}


/* --- TASK 5: Allineamento Prezzo/Carrello e Testo Magazzino in Riga --- */
/* Prezzo e carrello sulla stessa riga sempre nelle card */
html body .products .product-cart-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
}

html body .products .product-cart-wrapper .price {
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body .products .product-cart-wrapper .product-buttons {
    flex-shrink: 0 !important;
    margin-left: auto !important;
}

/* Testo 'Soltanto x in magazzino' sempre su una sola riga */
.product-stock,
.product-inventory,
.klb-product-stock,
.klb-stock-status,
.products .product-stock {
    white-space: nowrap !important;
}

@media (max-width: 575.98px) {
    .product-stock,
    .product-inventory,
    .products .product-stock {
        font-size: 0.72rem !important;
        letter-spacing: -0.2px !important;
    }
}

/* --- TASK 6: Banner Orizzontali Scrollabili su Mobile & Ingrandimento Titoli Sezioni Home --- */
/* Banner Smartphone/Computer/Accessori e Playstation/Cuffie/AndroidTV scrollabili in orizzontale su mobile */
@media (max-width: 767.98px) {
    /* Mostra e riprogetta i tasti "Leggi tutto" e "Sfoglia il catalogo" sotto forma di pillole verdi brand ben visibili */
    .klb-module .module-header .btn .button-text {
        display: inline-block !important;
        font-size: 0.82rem !important;
        font-weight: 600 !important;
        color: #ffffff !important;
    }

    .klb-module .module-header a.btn.link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #81d742 !important; /* Verde brand */
        color: #ffffff !important;
        padding: 6px 14px !important;
        border-radius: 30px !important;
        box-shadow: 0 2px 6px rgba(129, 215, 66, 0.25) !important;
        transition: all 0.22s ease !important;
        text-decoration: none !important;
        margin-top: 8px !important;
    }

    .klb-module .module-header a.btn.link:hover,
    .klb-module .module-header a.btn.link:active {
        background-color: #72c235 !important;
        box-shadow: 0 4px 10px rgba(129, 215, 66, 0.4) !important;
        transform: translateY(-1px) !important;
    }

    .klb-module .module-header .btn .button-icon {
        display: inline-flex !important;
        background-color: transparent !important;
        border: 0 !important;
        width: auto !important;
        height: auto !important;
        margin-left: 6px !important;
        color: #ffffff !important;
    }

    .klb-module .module-header .btn .button-icon i {
        font-size: 0.72rem !important;
        color: #ffffff !important;
    }

    .klb-module .module-header .btn .button-icon i::before {
        content: "\e8f3" !important;
        color: #ffffff !important;
    }

    /* Previene la sovrapposizione delle sezioni banner con le sezioni adiacenti su mobile */
    .elementor-section.elementor-element-1cf7cbe,
    .elementor-section.elementor-element-423a516 {
        height: auto !important;
        min-height: 0 !important;
        margin-bottom: 35px !important; /* Aggiunge spazio di sicurezza inferiore */
    }

    /* Mappa i contenitori delle due sezioni a riga singola scrollabile */
    .elementor-section.elementor-element-1cf7cbe > .elementor-container,
    .elementor-section.elementor-element-423a516 > .elementor-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important; /* Forza l'altezza uguale per tutte le colonne della riga */
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 25px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        column-gap: 16px !important;
        cursor: grab !important;
    }

    .elementor-section.elementor-element-1cf7cbe > .elementor-container.active-dragging,
    .elementor-section.elementor-element-423a516 > .elementor-container.active-dragging {
        cursor: grabbing !important;
        scroll-snap-type: none !important; /* Disabilita lo snap durante il trascinamento per maggiore fluidità */
    }

    /* Nasconde la barra di scorrimento nativa su Webkit (Safari/Chrome) e Firefox */
    .elementor-section.elementor-element-1cf7cbe > .elementor-container::-webkit-scrollbar,
    .elementor-section.elementor-element-423a516 > .elementor-container::-webkit-scrollbar {
        display: none !important;
    }
    .elementor-section.elementor-element-1cf7cbe > .elementor-container,
    .elementor-section.elementor-element-423a516 > .elementor-container {
        scrollbar-width: none !important;
    }

    /* Forza le colonne dei banner a mantenere la loro dimensione e altezza */
    .elementor-section.elementor-element-1cf7cbe .elementor-column,
    .elementor-section.elementor-element-423a516 .elementor-column {
        width: 290px !important;
        min-width: 290px !important;
        flex-shrink: 0 !important;
        scroll-snap-align: start !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        display: flex !important; /* Rende la colonna flex per estendere l'altezza */
        flex-direction: column !important;
        align-items: stretch !important;
        height: auto !important;
    }

    /* Rende il wrap e il widget interni alti al 100% per allineare gli sfondi e i bordi (supporta banner-box e banner-box2) */
    .elementor-section.elementor-element-1cf7cbe .elementor-column > .elementor-widget-wrap,
    .elementor-section.elementor-element-423a516 .elementor-column > .elementor-widget-wrap,
    .elementor-section.elementor-element-1cf7cbe .elementor-widget-blonwe-banner-box,
    .elementor-section.elementor-element-423a516 .elementor-widget-blonwe-banner-box,
    .elementor-section.elementor-element-1cf7cbe .elementor-widget-blonwe-banner-box2,
    .elementor-section.elementor-element-423a516 .elementor-widget-blonwe-banner-box2,
    .elementor-section.elementor-element-1cf7cbe .elementor-widget-container,
    .elementor-section.elementor-element-423a516 .elementor-widget-container,
    .elementor-section.elementor-element-1cf7cbe .banner-area,
    .elementor-section.elementor-element-423a516 .banner-area {
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        flex: 1 !important;
        flex-grow: 1 !important;
    }

    /* Forza il banner ad un'altezza rettangolare coerente */
    .elementor-section.elementor-element-1cf7cbe .klb-banner,
    .elementor-section.elementor-element-423a516 .klb-banner {
        position: relative !important;
        min-height: 190px !important;
        height: 190px !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        background-color: #1b1f22 !important;
    }

    /* Involucro del testo sovrapposto (z-index: 2) */
    .elementor-section.elementor-element-1cf7cbe .klb-banner .entry-wrapper,
    .elementor-section.elementor-element-423a516 .klb-banner .entry-wrapper {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important;
        padding: 20px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        z-index: 2 !important;
    }

    /* Limita la larghezza del testo al 70% per renderlo leggibile e lasciare spazio visivo all'immagine */
    .elementor-section.elementor-element-1cf7cbe .klb-banner .entry-inner,
    .elementor-section.elementor-element-423a516 .klb-banner .entry-inner {
        width: 70% !important;
        max-width: 70% !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .elementor-section.elementor-element-1cf7cbe .klb-banner h2.entry-title,
    .elementor-section.elementor-element-423a516 .klb-banner h2.entry-title {
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
        margin-top: 4px !important;
        margin-bottom: 8px !important;
        color: #ffffff !important;
        font-weight: 700 !important;
    }

    .elementor-section.elementor-element-1cf7cbe .klb-banner h4.entry-subtitle,
    .elementor-section.elementor-element-423a516 .klb-banner h4.entry-subtitle {
        font-size: 0.76rem !important;
        color: #81d742 !important; /* Subtitle in FixSA green for premium readability */
        margin-bottom: 0 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }

    .elementor-section.elementor-element-1cf7cbe .klb-banner .btn,
    .elementor-section.elementor-element-423a516 .klb-banner .btn {
        padding: 5px 12px !important;
        font-size: 0.74rem !important;
        height: 30px !important;
        line-height: 1 !important;
        margin-top: 8px !important;
        align-self: flex-start !important;
    }

    /* Usa l'immagine del banner come sfondo occupando il 100% dell'area */
    .elementor-section.elementor-element-1cf7cbe .klb-banner .entry-media,
    .elementor-section.elementor-element-423a516 .klb-banner .entry-media {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Sovrapposizione di un gradiente scuro sul lato sinistro per massimizzare la leggibilità del testo */
    .elementor-section.elementor-element-1cf7cbe .klb-banner .entry-media::after,
    .elementor-section.elementor-element-423a516 .klb-banner .entry-media::after {
        content: "" !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: linear-gradient(to right, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 60%, rgba(0,0,0,0.15) 100%) !important;
        z-index: 1 !important;
    }

    /* Immagine con object-fit cover per agire da perfetto sfondo proporzionato */
    .elementor-section.elementor-element-1cf7cbe .klb-banner .entry-media img,
    .elementor-section.elementor-element-423a516 .klb-banner .entry-media img {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        z-index: 0 !important;
    }

    /* Rimuove i margini di spacing verticale superiore di default su mobile di Elementor */
    .elementor-section.elementor-element-1cf7cbe .elementor-column + .elementor-column,
    .elementor-section.elementor-element-423a516 .elementor-column + .elementor-column {
        margin-top: 0 !important;
    }
}

/* Stile per i pulsanti freccia di scorrimento banner mobile */
.fixsa-scroll-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background-color: rgba(255, 255, 255, 0.95) !important;
    color: #1b1f22 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 100 !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    padding: 0 !important;
}

.fixsa-scroll-arrow:hover {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border-color: #81d742 !important;
}

.fixsa-scroll-arrow.disabled {
    opacity: 0 !important;
    pointer-events: none !important;
}

.fixsa-scroll-arrow.left-arrow {
    left: 8px !important;
}

.fixsa-scroll-arrow.right-arrow {
    right: 8px !important;
}

/* Nasconde le frecce su schermi desktop larghezza piena */
@media (min-width: 768px) {
    .fixsa-scroll-arrow {
        display: none !important;
    }
}

/* Task 2: Dimensione maggiore per i titoli delle sezioni della Home Page */
body.home .elementor-widget-blonwe-banner-box h2.entry-title,
body.home .klb-banner .entry-title {
    font-size: 2.15rem !important; /* Ingrandisce i titoli dei banner di sezione */
    line-height: 1.15 !important;
}

body.home h3.entry-title.default-size {
    font-size: 2.15rem !important; /* Ingrandisce i titoli delle sezioni come Catalogo e Blog */
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

@media (max-width: 767.98px) {
    body.home .elementor-widget-blonwe-banner-box h2.entry-title,
    body.home .klb-banner .entry-title {
        font-size: 1.75rem !important;
    }
    
    body.home h3.entry-title.default-size {
        font-size: 1.75rem !important;
    }
}

/* ==========================================================================
   STILIZZAZIONE BREADCRUMB E BARRA FILTRI / ORDINAMENTO PAGINA CATEGORIE
   ========================================================================== */

/* 1. Breadcrumbs in evidenza e puliti */
.woocommerce-breadcrumb {
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    padding: 10px 18px !important;
    background-color: #f8f9fa !important;
    border-radius: 6px !important;
    border: 1px solid #eef0f2 !important;
    font-size: 0.8rem !important;
    color: #6c757d !important;
}

.woocommerce-breadcrumb ul {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-breadcrumb li {
    display: inline-flex !important;
    align-items: center !important;
    font-weight: 500 !important;
}

.woocommerce-breadcrumb li a {
    color: #1b1f22 !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
}

.woocommerce-breadcrumb li a:hover {
    color: #81d742 !important;
}

/* Divisore slash elegante tra le voci */
.woocommerce-breadcrumb li:not(:last-child)::after {
    content: "/" !important;
    margin: 0 8px !important;
    font-weight: normal !important;
    opacity: 0.4 !important;
    color: #6c757d !important;
}

/* 2. Barra Filtra & Ordina (before-shop-loop) */
.before-shop-loop {
    background-color: #ffffff !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    margin-bottom: 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    border-bottom: 1px solid #eef0f2 !important; /* Rimpiazza il vecchio border-bottom grezzo */
}

/* Tasto Filtra (Visibile su mobile/tablet) */
.before-shop-loop .filter-button a {
    background-color: #81d742 !important;
    color: #ffffff !important;
    padding: 8px 18px !important;
    border-radius: 20px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    box-shadow: 0 4px 10px rgba(129, 215, 66, 0.2) !important;
    transition: all 0.25s ease !important;
    border: 1px solid #81d742 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.before-shop-loop .filter-button a:hover {
    background-color: #72c235 !important;
    box-shadow: 0 4px 12px rgba(114, 194, 53, 0.3) !important;
    color: #ffffff !important;
    border-color: #72c235 !important;
}

.before-shop-loop .filter-button a i {
    margin-right: 6px !important;
    font-size: 1rem !important;
}

/* Contatore risultati */
.before-shop-loop .woocommerce-result-count {
    font-size: 0.85rem !important;
    color: #6c757d !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

/* Dropdown di Ordinamento */
.before-shop-loop .sorting-products {
    display: inline-flex !important;
    align-items: center !important;
    background-color: #f8f9fa !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 20px !important;
    padding: 6px 14px !important;
    transition: border-color 0.25s ease !important;
}

.before-shop-loop .sorting-products:focus-within {
    border-color: #81d742 !important;
}

.before-shop-loop .sorting-products > span {
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important;
    opacity: 0.7 !important;
    margin-right: 6px !important;
}

.before-shop-loop .sorting-products select.orderby {
    background-color: transparent !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #1b1f22 !important;
    border: 0 !important;
    padding: 0 24px 0 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !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 24 24' fill='none' stroke='%231b1f22' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: 12px !important;
}

/* Dropdown di per-page se presente */
.before-shop-loop .per-page-products {
    display: inline-flex !important;
    align-items: center !important;
    background-color: #f8f9fa !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 20px !important;
    padding: 6px 14px !important;
    margin-left: 8px !important;
    transition: border-color 0.25s ease !important;
}

.before-shop-loop .per-page-products:focus-within {
    border-color: #81d742 !important;
}

.before-shop-loop .per-page-products > span {
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important;
    opacity: 0.7 !important;
    margin-right: 6px !important;
}

.before-shop-loop .per-page-products select.perpage {
    background-color: transparent !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #1b1f22 !important;
    border: 0 !important;
    padding: 0 24px 0 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !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 24 24' fill='none' stroke='%231b1f22' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: 12px !important;
}

/* Responsività su Mobile per la barra filtri/ordinamento */
@media (max-width: 575.98px) {
    .before-shop-loop {
        flex-direction: column !important;
        align-items: stretch !important;
        row-gap: 12px !important;
        padding: 15px !important;
    }
    
    .before-shop-loop .filter-button {
        margin-right: 0 !important;
        display: block !important;
        width: 100% !important;
    }
    
    .before-shop-loop .filter-button a {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
    
    .before-shop-loop .woocommerce-result-count {
        text-align: center !important;
    }
    
    .before-shop-loop .sorting-products,
    .before-shop-loop .per-page-products {
        display: flex !important;
        justify-content: space-between !important;
        width: 100% !important;
        margin-left: 0 !important;
    }
    
    .before-shop-loop .sorting-products select.orderby,
    .before-shop-loop .per-page-products select.perpage {
        flex: 1 !important;
        text-align: right !important;
        background-position: right center !important;
    }
}

/* ==========================================================================
   DESIGN PAGINA CONTATTI PREMIUM (LIVE SITE)
   ========================================================================== */
.fixsa-contact-wrapper {
    margin-top: 30px !important;
    margin-bottom: 50px !important;
}

/* Card delle informazioni */
.fixsa-contact-card {
    background-color: #ffffff !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.fixsa-contact-card h3 {
    font-size: 1.5rem !important;
    color: #1b1f22 !important;
    margin-bottom: 25px !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #81d742 !important;
    padding-bottom: 10px !important;
    display: inline-block !important;
}

/* Singolo elemento informativo */
.fixsa-contact-card .info-item {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 20px !important;
}

.fixsa-contact-card .info-item i {
    font-size: 1.35rem !important;
    color: #81d742 !important;
    margin-right: 15px !important;
    margin-top: 3px !important;
    flex-shrink: 0 !important;
}

.fixsa-contact-card .info-item strong {
    display: block !important;
    font-size: 0.95rem !important;
    color: #1b1f22 !important;
    margin-bottom: 4px !important;
}

.fixsa-contact-card .info-item p {
    font-size: 0.9rem !important;
    color: #4a4f54 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.fixsa-contact-card .info-item .clickable-link {
    color: #1b1f22 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.fixsa-contact-card .info-item .clickable-link:hover {
    color: #81d742 !important;
    text-decoration: underline !important;
}

/* Griglia dei pulsanti rapidi d'azione */
.fixsa-contact-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: auto !important; /* Spinge i pulsanti in fondo alla card se c'è spazio */
    padding-top: 15px !important;
}

.fixsa-contact-actions .btn-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 14px !important;
    border-radius: 30px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    border: 1px solid transparent !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
    text-align: center !important;
}

.fixsa-contact-actions .btn-action svg {
    margin-right: 8px !important;
    flex-shrink: 0 !important;
}

/* Pulsanti specifici */
/* Telefono: Grigio Scuro / Nero */
.fixsa-contact-actions .call-btn {
    background-color: #1b1f22 !important;
    color: #ffffff !important;
    border-color: #1b1f22 !important;
}
.fixsa-contact-actions .call-btn:hover {
    background-color: #000000 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

/* WhatsApp: Verde WA */
.fixsa-contact-actions .whatsapp-btn {
    background-color: #25d366 !important;
    color: #ffffff !important;
    border-color: #25d366 !important;
}
.fixsa-contact-actions .whatsapp-btn:hover {
    background-color: #20ba5a !important;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.35) !important;
}

/* Email: Blu/Azzurro */
.fixsa-contact-actions .email-btn {
    background-color: #0077b6 !important;
    color: #ffffff !important;
    border-color: #0077b6 !important;
}
.fixsa-contact-actions .email-btn:hover {
    background-color: #0096c7 !important;
    box-shadow: 0 4px 15px rgba(0, 119, 182, 0.3) !important;
}

/* Raggiungici: Rosso Google Maps */
.fixsa-contact-actions .maps-btn {
    background-color: #ea4335 !important;
    color: #ffffff !important;
    border-color: #ea4335 !important;
}
.fixsa-contact-actions .maps-btn:hover {
    background-color: #d93025 !important;
    box-shadow: 0 4px 15px rgba(234, 67, 53, 0.3) !important;
}

/* Recensione: Giallo/Oro */
.fixsa-contact-actions .review-btn {
    background-color: #fbbc05 !important;
    color: #1b1f22 !important;
    border-color: #fbbc05 !important;
    grid-column: span 2 !important; /* Il pulsante recensione occupa l'intera riga inferiore */
}
.fixsa-contact-actions .review-btn:hover {
    background-color: #e2a800 !important;
    box-shadow: 0 4px 15px rgba(251, 188, 5, 0.3) !important;
}

/* Mappa */
.fixsa-map-container {
    border: 1px solid #eef0f2 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    height: 100% !important;
    min-height: 450px !important;
}

.fixsa-map-container iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 450px !important;
    border: 0 !important;
    display: block !important;
}

/* Modulo contatti */
.fixsa-contact-form-wrapper {
    margin-top: 40px !important;
}

.fixsa-contact-form-card {
    background-color: #ffffff !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 12px !important;
    padding: 35px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

.fixsa-contact-form-card h3 {
    font-size: 1.5rem !important;
    color: #1b1f22 !important;
    margin-bottom: 8px !important;
    font-weight: 700 !important;
}

.fixsa-contact-form-card p {
    font-size: 0.92rem !important;
    color: #6c757d !important;
    margin-bottom: 30px !important;
}

/* Stile per i campi di input del form */
.fixsa-contact-form-card form p {
    margin-bottom: 20px !important;
}

.fixsa-contact-form-card label {
    display: block !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #1b1f22 !important;
    margin-bottom: 8px !important;
}

.fixsa-contact-form-card input[type="text"],
.fixsa-contact-form-card input[type="email"],
.fixsa-contact-form-card textarea {
    width: 100% !important;
    background-color: #f8f9fa !important;
    border: 1px solid #ccd0d4 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 0.9rem !important;
    color: #1b1f22 !important;
    transition: all 0.2s ease !important;
}

.fixsa-contact-form-card input[type="text"]:focus,
.fixsa-contact-form-card input[type="email"]:focus,
.fixsa-contact-form-card textarea:focus {
    background-color: #ffffff !important;
    border-color: #81d742 !important;
    box-shadow: 0 0 0 4px rgba(129, 215, 66, 0.15) !important;
    outline: none !important;
}

.fixsa-contact-form-card input[type="submit"] {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border: 1px solid #81d742 !important;
    border-radius: 30px !important;
    padding: 12px 30px !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.2) !important;
}

.fixsa-contact-form-card input[type="submit"]:hover {
    background-color: #72c235 !important;
    border-color: #72c235 !important;
    box-shadow: 0 4px 15px rgba(114, 194, 53, 0.35) !important;
}

/* Responsività per pulsanti a colonna singola su mobile */
@media (max-width: 575.98px) {
    .fixsa-contact-actions {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .fixsa-contact-actions .review-btn {
        grid-column: span 1 !important;
    }
    .fixsa-contact-card {
        padding: 20px !important;
    }
    .fixsa-contact-form-card {
        padding: 20px !important;
    }
}

/* ==========================================================================
   RIMOZIONE TITOLI DUPLICATI NELLE PAGINE INFORMATIVE E DI SERVIZIO
   ========================================================================== */
.page-id-2043 .entry-content h1, 
.page-id-2724 .entry-content h1, 
.page-id-2724 .klb-post h1,
.page-id-2724 h1.entry-title:not(.large),
.page-id-2677 .entry-content h1, 
.page-id-2697 .entry-content h1, 
.page-id-4974 .entry-content h1,
.page-id-4974 h1.entry-title:not(.large),
.page-id-4974 .elementor-heading-title,
.page-id-4979 .entry-content h1,
.page-id-4979 h1.entry-title:not(.large),
.page-id-4979 .elementor-heading-title,
.page-id-4981 .entry-content h1,
.page-id-4981 h1.entry-title:not(.large),
.page-id-4981 .elementor-heading-title,
.page-id-4985 .entry-content h1,
.page-id-4985 h1.entry-title:not(.large),
.page-id-4985 .elementor-heading-title,
.page-id-4957 .entry-content h1,
.page-id-4957 h1.entry-title:not(.large),
.page-id-4957 .elementor-heading-title,
.page-id-2627 .entry-content h1,
.page-id-2627 h1.entry-title:not(.large) {
    display: none !important;
}

/* ==========================================================================
   RESTYLING PAGINE INFORMATIVE E DI SERVIZIO (GUTENBERG & ELEMENTOR)
   ========================================================================== */

/* 1. Contenitore nativo di pagina con sfondo grigio chiaro pulito */
.klb-page.page-content.section {
    background-color: #f8f9fa !important;
    padding: 50px 0 !important;
}

/* 2. Card bianca rialzata stile documento premium per le pagine di testo */
.klb-page.page-content.section .row > div[class*="col-"] {
    background-color: #ffffff !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 12px !important;
    padding: 40px 50px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
}

/* 3. Gerarchia tipografica premium per il corpo testo */
.klb-page.page-content.section h2 {
    font-size: 1.4rem !important;
    color: #1b1f22 !important;
    margin-top: 35px !important;
    margin-bottom: 15px !important;
    font-weight: 700 !important;
    border-left: 3px solid #81d742 !important;
    padding-left: 12px !important;
}

.klb-page.page-content.section h3 {
    font-size: 1.15rem !important;
    color: #1b1f22 !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    font-weight: 600 !important;
}

.klb-page.page-content.section p {
    font-size: 0.92rem !important;
    line-height: 1.7 !important;
    color: #4a4f54 !important;
    margin-bottom: 20px !important;
}

/* 4. Liste e punti elenco stilizzati */
.klb-page.page-content.section ul {
    margin-bottom: 20px !important;
    padding-left: 20px !important;
}

.klb-page.page-content.section ul li {
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
    color: #4a4f54 !important;
    margin-bottom: 8px !important;
    list-style-type: disc !important;
}

/* 5. Allineamento bottoni Elementor al design verde FixSA */
body.page .elementor-widget-button a.elementor-button,
body.page .elementor-widget-button .elementor-button {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    font-weight: 700 !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.2) !important;
}

body.page .elementor-widget-button a.elementor-button:hover,
body.page .elementor-widget-button .elementor-button:hover {
    background-color: #72c235 !important;
    box-shadow: 0 4px 15px rgba(114, 194, 53, 0.35) !important;
    color: #ffffff !important;
}

/* 6. Adattamenti responsivi per schermi piccoli */
@media (max-width: 767.98px) {
    .klb-page.page-content.section {
        padding: 30px 0 !important;
    }
    
    .klb-page.page-content.section .row > div[class*="col-"] {
        padding: 25px 20px !important;
        border-radius: 8px !important;
    }
}

/* ==========================================================================
   RESTYLING BARRA DI RICERCA HEADER A PILLOLA PREMIUM
   ========================================================================== */

/* 1. Il form contenitore diventa a pillola */
.site-header .header-search-form #searchform,
.site-header .header-search-form form,
.site-header .header-search-form.is-searchable #searchform,
.site-header .header-search-form.is-searchable form {
    display: flex !important;
    align-items: center !important;
    background-color: #ffffff !important;
    border: 1.5px solid #eef0f2 !important;
    border-radius: 40px !important;
    padding: 3px 6px 3px 18px !important;
    height: 48px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease !important;
    position: relative !important;
}

/* 2. Focus state neutro senza bordo verde */
.site-header .header-search-form #searchform:focus-within,
.site-header .header-search-form form:focus-within,
.site-header .header-search-form.is-searchable #searchform:focus-within,
.site-header .header-search-form.is-searchable form:focus-within,
.site-header .header-search-form.is-searchable #searchform,
.site-header .header-search-form.is-searchable form {
    border-color: #eef0f2 !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05) !important;
}

/* 3. Nascondi l'elemento pseudo-sezione di Elementor/Tema che sdoppiava lo sfondo ed i bordi */
.site-header .header-search-form .search-form::before,
.site-header .header-search-form.is-searchable .search-form::before {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* 4. Sezione Addon Categorie a Sinistra (con bordo separatore verticale) */
.site-header .header-search-form .search-form .input-search-addon,
.site-header .header-search-form.is-searchable .search-form .input-search-addon {
    border-right: 1.5px solid #eef0f2 !important;
    background-color: transparent !important;
    height: calc(100% - 16px) !important;
    top: 8px !important;
    left: 14px !important;
    padding: 0 12px 0 0 !important;
    margin: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    position: absolute !important;
}

.site-header .header-search-form select#categories,
.site-header .header-search-form.is-searchable select#categories {
    border: 0 !important;
    background-color: transparent !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #1b1f22 !important;
    padding: 2px 20px 2px 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !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 24 24' fill='none' stroke='%231b1f22' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: 11px !important;
    width: 140px !important; /* Forza la larghezza per evitare che il JS nasconda il testo a 10px */
}

/* 5. Campo input testo della ricerca */
.site-header .header-search-form input.search-input,
.site-header .header-search-form.is-searchable input.search-input,
.site-header .header-search-form.is-searchable .search-form input,
.site-header .header-search-form input.search-input:focus,
.site-header .header-search-form.is-searchable input.search-input:focus,
.site-header .header-search-form.is-searchable .search-form input:focus {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    padding-left: 175px !important; /* Spazio per fare spazio all'addon e al separatore */
    padding-right: 55px !important;
    height: 100% !important;
    font-size: 0.88rem !important;
    color: #1b1f22 !important;
    font-weight: 500 !important;
}

/* 6. Pulsante submit circolare verde FixSA posizionato dentro la pillola */
.site-header .header-search-form button[type="submit"] {
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    background-color: #81d742 !important;
    color: #ffffff !important;
    width: 37px !important;
    height: 37px !important;
    min-width: 37px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 3px 8px rgba(129, 215, 66, 0.25) !important;
    z-index: 3 !important;
}

.site-header .header-search-form button[type="submit"]:hover {
    background-color: #72c235 !important;
    transform: scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(114, 194, 53, 0.4) !important;
    color: #ffffff !important;
}

.site-header .header-search-form button[type="submit"] i {
    font-size: 0.95rem !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* 7. Dropdown dei risultati autocomplete rialzata e stondata */
.site-header .header-search-form .header-search-results,
.dgwt-wcas-suggestions-wrapp {
    border-radius: 12px !important;
    margin-top: 8px !important;
    border: 1px solid #eef0f2 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    z-index: 99999 !important;
}

/* 8. Nascondi il widget banner di Elementor duplicato sulle pagine informative/servizio */
.page-id-2043 .elementor-widget-blonwe-page-banner,
.page-id-4974 .elementor-widget-blonwe-page-banner,
.page-id-4979 .elementor-widget-blonwe-page-banner,
.page-id-2697 .elementor-widget-blonwe-page-banner,
.page-id-4981 .elementor-widget-blonwe-page-banner,
.page-id-4985 .elementor-widget-blonwe-page-banner,
.page-id-4957 .elementor-widget-blonwe-page-banner,
.page-id-2724 .elementor-widget-blonwe-page-banner,
.page-id-2677 .elementor-widget-blonwe-page-banner {
    display: none !important;
}

/* ==========================================================================
   RESTYLING PAGINA ORDER TRACKING (TRACCIA ORDINE) & CORREZIONE HOVER GIALLI
   ========================================================================== */

/* 1. Tasto di invio del tracciamento ordine a pillola verde FixSA */
.page-id-2627 form.track_order button[type="submit"],
.page-id-2627 form.track_order .button {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    padding: 12px 30px !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.2) !important;
    height: auto !important;
}

.page-id-2627 form.track_order button[type="submit"]:hover,
.page-id-2627 form.track_order .button:hover {
    background-color: #72c235 !important;
    border-color: #72c235 !important;
    box-shadow: 0 4px 15px rgba(114, 194, 53, 0.35) !important;
    color: #ffffff !important;
}

/* 2. Correzione di tutti i pulsanti generici/WooCommerce che diventavano gialli all'hover */
html body .button:hover,
html body button[type="submit"]:hover,
html body input[type="submit"]:hover,
html body .woocommerce-button:hover,
html body .woocommerce-Button:hover,
html body a.button:hover,
html body .klb-post .button:hover {
    background-color: #72c235 !important;
    border-color: #72c235 !important;
    color: #ffffff !important;
}

/* 3. Centra i messaggi di Wishlist vuota (ID 447) e Confronto vuoto (ID 3660) */
.page-id-447 .cart-empty-page,
.page-id-3660 .cart-empty-page {
    text-align: center !important;
    padding: 60px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.page-id-447 .cart-empty-page .empty-icon,
.page-id-3660 .cart-empty-page .empty-icon {
    font-size: 4.5rem !important;
    color: #81d742 !important;
    margin-bottom: 20px !important;
    display: inline-block !important;
}

.page-id-447 .cart-empty-page .cart-empty,
.page-id-3660 .cart-empty-page .cart-empty {
    font-size: 1.25rem !important;
    color: #1b1f22 !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
}

.page-id-447 .cart-empty-page .return-to-shop,
.page-id-3660 .cart-empty-page .return-to-shop {
    margin-top: 10px !important;
}

.page-id-447 .cart-empty-page .return-to-shop a.button,
.page-id-3660 .cart-empty-page .return-to-shop a.button {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    padding: 12px 30px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.2) !important;
    transition: all 0.25s ease !important;
}

.page-id-447 .cart-empty-page .return-to-shop a.button:hover,
.page-id-3660 .cart-empty-page .return-to-shop a.button:hover {
    background-color: #72c235 !important;
    border-color: #72c235 !important;
    box-shadow: 0 4px 15px rgba(114, 194, 53, 0.35) !important;
}

/* ==========================================================================
   RESTYLING ACCORDION & TOGGLE ESPANDIBILI PREMIUM (ELEMENTOR & NATIVI)
   ========================================================================== */

/* 1. Contenitore dell'item accordion (stondato, con bordo e ombra leggera) */
.elementor-accordion .elementor-accordion-item,
details {
    background-color: #ffffff !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 8px !important;
    margin-bottom: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.elementor-accordion .elementor-accordion-item:hover,
details:hover {
    border-color: #81d742 !important;
    box-shadow: 0 4px 15px rgba(129, 215, 66, 0.05) !important;
}

/* 2. Barra del titolo (continua con sfondo grigio chiaro, nessun blocco bianco isolato) */
.elementor-accordion .elementor-tab-title,
summary {
    background-color: #f8f9fa !important;
    padding: 16px 20px !important;
    margin: 0 !important;
    border-bottom: 1px solid transparent !important;
    transition: all 0.22s ease !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    outline: none !important;
}

/* 3. Stato attivo/aperto (lo sfondo diventa leggermente più scuro ed il testo verde FixSA) */
.elementor-accordion .elementor-tab-title.elementor-active,
details[open] summary {
    border-bottom-color: #eef0f2 !important;
    background-color: #f1f3f5 !important;
}

.elementor-accordion .elementor-tab-title a,
.elementor-accordion .elementor-tab-title span,
.elementor-accordion .elementor-tab-title h6,
.elementor-accordion .elementor-tab-title,
summary {
    font-weight: 700 !important;
    font-size: 0.96rem !important;
    color: #1b1f22 !important;
    letter-spacing: -0.1px !important;
}

.elementor-accordion .elementor-tab-title.elementor-active a,
.elementor-accordion .elementor-tab-title.elementor-active span,
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
details[open] summary {
    color: #81d742 !important; /* Verde brand */
}

/* 4. Colore e transizione delle icone/chevron */
.elementor-accordion .elementor-accordion-icon svg,
summary::-webkit-details-marker {
    fill: #1b1f22 !important;
    transition: transform 0.25s ease !important;
}

.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg {
    fill: #81d742 !important;
}

/* 5. Box del contenuto espanso (sfondo bianco pulito) */
.elementor-accordion .elementor-tab-content,
details > div.content,
details > p {
    padding: 20px 24px !important;
    background-color: #ffffff !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
    color: #4a4f54 !important;
}

.elementor-accordion .elementor-tab-content p,
details > div.content p {
    margin-bottom: 12px !important;
}

.elementor-accordion .elementor-tab-content p:last-child,
details > div.content p:last-child {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   RESTYLING SIDEBAR CARRELLO VUOTO (MINI-CART / DRAWER)
   ========================================================================== */

/* 1. Centra il contenitore del carrello vuoto nella sidebar o nel dropdown */
.cart-empty,
.widget_shopping_cart .cart-empty,
.mini-cart-drawer .cart-empty,
.site-drawer .cart-empty,
.site-header .header-action.cart-button .custom-dropdown-body .cart-empty {
    text-align: center !important;
    padding: 40px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

/* 2. Icona carrello vuoto in verde FixSA */
.cart-empty .empty-icon,
.widget_shopping_cart .cart-empty .empty-icon,
.site-header .header-action.cart-button .custom-dropdown-body .cart-empty .empty-icon {
    font-size: 3.5rem !important;
    color: #81d742 !important;
    margin-bottom: 15px !important;
    display: inline-block !important;
}

.cart-empty .empty-icon svg,
.widget_shopping_cart .cart-empty .empty-icon svg,
.site-header .header-action.cart-button .custom-dropdown-body .cart-empty .empty-icon svg {
    fill: #81d742 !important;
    width: 60px !important;
    height: 60px !important;
    margin: 0 auto !important;
    display: block !important;
}

/* 3. Messaggio di testo "Nessun prodotto nel carrello." */
.cart-empty .empty-text,
.widget_shopping_cart .cart-empty .empty-text,
.widget_shopping_cart .no-products,
.site-header .header-action.cart-button .custom-dropdown-body .cart-empty .empty-text {
    font-size: 0.98rem !important;
    color: #1b1f22 !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
    margin-top: 10px !important;
}

/* ==========================================================================
   RIMOZIONE BANNER PROMOZIONALI (IMMAGINE & TESTO) DAI MEGAMENU DELL'HEADER
   ========================================================================== */
.site-header .sub-menu .elementor-widget-blonwe-banner-box,
.site-header .klb-megamenu .elementor-widget-blonwe-banner-box,
.site-header .mega-menu .elementor-widget-blonwe-banner-box {
    display: none !important;
}

/* Nasconde la colonna vuota del banner e allarga la colonna categorie nei megamenu dell'header per rimuovere lo spazio bianco a destra */
.site-header .sub-menu .elementor-column:has(.elementor-widget-blonwe-banner-box),
.site-header .klb-megamenu .elementor-column:has(.elementor-widget-blonwe-banner-box),
.site-header .mega-menu .elementor-column:has(.elementor-widget-blonwe-banner-box) {
    display: none !important;
}

.site-header .sub-menu .elementor-column:has(.elementor-widget-blonwe-text-list),
.site-header .klb-megamenu .elementor-column:has(.elementor-widget-blonwe-text-list),
.site-header .mega-menu .elementor-column:has(.elementor-widget-blonwe-text-list) {
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    width: auto !important;
    max-width: 100% !important;
}

/* Risolve la sovrapposizione dei sottomenu della mobile sidebar (hamburger drawer) dovuta all'ereditarietà delle regole absolute dell'header */
.site-header .site-drawer .drawer-menu .sub-menu {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    min-width: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 0 0 15px !important; /* Spaziatura di indentazione */
    margin: 0 !important;
    float: none !important;
}

.site-header .site-drawer .drawer-menu .sub-menu li {
    width: 100% !important;
    display: block !important;
}

.site-header .site-drawer .drawer-menu .sub-menu li a {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 !important;
    font-size: 0.88rem !important;
}


/* ==========================================================================
   RESTYLING TASTO "SFOGLIA LE CATEGORIE" A PILLOLA VERDE (DESKTOP)
   ========================================================================== */

/* Disabilita lo pseudo-elemento ::before del tema che copriva lo sfondo del link */
.site-header .dropdown-categories > a::before,
.site-header .dropdown-categories > a.gray::before,
.site-header .dropdown-categories > a.default::before,
.site-header .dropdown-categories > a.primary::before {
    display: none !important;
    content: none !important;
}

.site-header .dropdown-categories .dropdown-toggle,
.site-header .dropdown-categories > a {
    background-color: #81d742 !important;
    color: #1b1f22 !important; /* Testo nero per visibilità premium */
    border-radius: 40px !important; /* Bordi tondi a pillola */
    padding: 0 12px !important; /* Stretto ulteriormente */
    height: 34px !important; /* Ridotto per essere meno ingombrante */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important; /* Centramento verticale nel flex layout */
    vertical-align: middle !important;
    gap: 6px !important; /* Spazio ridotto tra icona e testo */
    box-shadow: 0 3px 8px rgba(129, 215, 66, 0.2) !important;
    border: 0 !important;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
    margin-right: 15px !important;
    position: relative !important;
    top: 7px !important; /* Sposta in basso per allineamento verticale perfetto */
}

.site-header .dropdown-categories .dropdown-toggle:hover,
.site-header .dropdown-categories > a:hover {
    background-color: #72c235 !important;
    box-shadow: 0 4px 15px rgba(114, 194, 53, 0.35) !important;
    color: #1b1f22 !important;
    transform: translateY(-1px) !important;
}

.site-header .dropdown-categories .dropdown-toggle .dropdown-menu-icon,
.site-header .dropdown-categories > a .dropdown-menu-icon {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.site-header .dropdown-categories .dropdown-toggle .dropdown-menu-icon i,
.site-header .dropdown-categories > a .dropdown-menu-icon i {
    color: #1b1f22 !important; /* Icona nera */
    font-size: 1.05rem !important; /* Dimensioni icona proporzionata */
    font-weight: 700 !important;
    margin: 0 !important;
}

.site-header .dropdown-categories .dropdown-toggle .dropdown-menu-text,
.site-header .dropdown-categories > a .dropdown-menu-text {
    color: #1b1f22 !important; /* Testo nero */
    font-weight: 700 !important;
    font-size: 0.8rem !important; /* Testo leggibile ma compatto */
    text-transform: uppercase !important;
    letter-spacing: 0.2px !important;
}

/* Freccia chevron all'interno del menu se presente */
.site-header .dropdown-categories .dropdown-toggle::after,
.site-header .dropdown-categories > a::after {
    border-top-color: #1b1f22 !important;
}

/* ==========================================================================
   RIDUZIONE ALTEZZA DELLA BARRA TOPBAR (HEADER SUPERIORE)
   ========================================================================== */
.site-header .header-topbar {
    --theme-topbar-height: 34px !important;
}

.site-header .header-topbar .header-inner {
    height: 34px !important;
}

.site-header .header-topbar .klb-menu-nav .klb-menu > li > a {
    line-height: 34px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.site-header .header-topbar .header-notify p {
    line-height: 34px !important;
    margin: 0 !important;
}


/* ==========================================================================
   ALLINEAMENTO VERTICALE E ALTEZZA UNIFORME BANNER HOME PAGE (SEZIONI 1cf7cbe E 423a516)
   ========================================================================== */

/* 1. Reset assoluto di qualsiasi offset verticale, margin-top o transform su tutte le colonne dei banner della Home (tutte le risoluzioni) */
.elementor-section.elementor-element-1cf7cbe .elementor-column > .elementor-element-populated,
.elementor-section.elementor-element-1cf7cbe .elementor-column,
.elementor-section.elementor-element-423a516 .elementor-column > .elementor-element-populated,
.elementor-section.elementor-element-423a516 .elementor-column {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    top: 0 !important;
    transform: none !important;
}

@media (min-width: 768px) {
    /* 2. Forza l'allineamento stretch delle colonne nella riga desktop/tablet per entrambe le sezioni */
    .elementor-section.elementor-element-1cf7cbe > .elementor-container,
    .elementor-section.elementor-element-423a516 > .elementor-container {
        display: flex !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
    }

    /* 3. Forza le colonne ad occupare l'altezza intera */
    .elementor-section.elementor-element-1cf7cbe .elementor-column,
    .elementor-section.elementor-element-423a516 .elementor-column {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        height: auto !important;
    }

    .elementor-section.elementor-element-1cf7cbe .elementor-column > .elementor-widget-wrap,
    .elementor-section.elementor-element-423a516 .elementor-column > .elementor-widget-wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        flex-grow: 1 !important;
        height: 100% !important;
    }

    /* 4. Forza i banner a stretchare verticalmente a prescindere dal testo interno (supporta banner-box e banner-box2) */
    .elementor-section.elementor-element-1cf7cbe .elementor-widget-blonwe-banner-box,
    .elementor-section.elementor-element-423a516 .elementor-widget-blonwe-banner-box,
    .elementor-section.elementor-element-1cf7cbe .elementor-widget-blonwe-banner-box2,
    .elementor-section.elementor-element-423a516 .elementor-widget-blonwe-banner-box2,
    .elementor-section.elementor-element-1cf7cbe .elementor-widget-container,
    .elementor-section.elementor-element-423a516 .elementor-widget-container,
    .elementor-section.elementor-element-1cf7cbe .banner-area,
    .elementor-section.elementor-element-423a516 .banner-area,
    .elementor-section.elementor-element-1cf7cbe .klb-banner,
    .elementor-section.elementor-element-423a516 .klb-banner {
        display: flex !important;
        flex-direction: column !important;
        flex-grow: 1 !important;
        height: 100% !important;
    }

    /* 5. Imposta un'altezza minima uniforme staccata per desktop e tablet */
    .elementor-section.elementor-element-1cf7cbe .klb-banner,
    .elementor-section.elementor-element-423a516 .klb-banner {
        justify-content: space-between !important;
        min-height: 250px !important;
    }

    .elementor-section.elementor-element-1cf7cbe .klb-banner .entry-wrapper,
    .elementor-section.elementor-element-423a516 .klb-banner .entry-wrapper {
        flex-grow: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
    }
}

/* ==========================================================================
   ALLINEAMENTO VERTICALE E ORIZZONTALE DEI TESTI NEI PULSANTI DELL'INTERO SITO
   ========================================================================== */
a.button,
button.button,
.btn,
.button,
.btn-action,
input[type="submit"].button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.elementor-button,
.wpcf7-submit,
input[type="submit"].wpcf7-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important; /* Previene offset causati da line-height ereditati */
    box-sizing: border-box !important;
}

/* Regole specifiche per centrare orizzontalmente/verticalmente i bottoni di re-indirizzamento vuoti (Wishlist / Confronta) */
.page-id-447 .cart-empty-page .return-to-shop a.button,
.page-id-3660 .cart-empty-page .return-to-shop a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    height: 48px !important;
    line-height: 1 !important;
    padding: 0 30px !important; /* Padding orizzontale esatto */
}

/* Margine tra i pulsanti del volantino offerte su mobile e desktop quando vanno a capo */
.flyer-actions .btn-action {
    margin: 8px 10px !important;
}

/* ==========================================================================
   SPAZIATURA CAMPI NEI MODULI DI CONTATTO (CONTACT FORM 7 E STANDARD)
   ========================================================================== */

/* 1. Margine verticale tra i blocchi/box di input per evitare che siano attaccati */
.wpcf7-form p,
.wpcf7-form .form-group,
.wpcf7-form-control-wrap {
    margin-bottom: 22px !important;
    display: block !important;
}

.wpcf7-form .row {
    row-gap: 22px !important; /* Spaziatura tra righe per moduli a griglia */
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea,
.wpcf7-form select {
    margin-bottom: 5px !important;
}

/* 2. Centramento e design a pillola uniforme per il tasto "Invia" dei moduli contatti */
.wpcf7-submit,
.wpcf7-form input[type="submit"],
input[type="submit"].wpcf7-submit {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 40px !important; /* Tasto a pillola */
    padding: 0 40px !important; /* Padding orizzontale ampio */
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    height: 48px !important; /* Altezza definita per centramento perfetto */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transition: all 0.25s ease !important;
    border: 0 !important;
    box-shadow: 0 4px 12px rgba(129, 215, 66, 0.25) !important;
}

.wpcf7-submit:hover,
.wpcf7-form input[type="submit"]:hover,
input[type="submit"].wpcf7-submit:hover {
    background-color: #72c235 !important;
    border-color: #72c235 !important;
    box-shadow: 0 4px 15px rgba(114, 194, 53, 0.4) !important;
    transform: translateY(-1px) !important;
}

/* Centra il contenitore del pulsante invia nei moduli */
.wpcf7-form .form-submit-row,
.wpcf7-form p:last-child {
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 15px !important;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   TASK: ALLINEAMENTO DESIGN PAGINE ACCOUNT (LOGIN, REGISTRAZIONE, PROFILO)
   ========================================================================== */

/* 1. PAGINE LOGIN & REGISTRAZIONE (UTENTE NON LOGGATO) & RECUPERO PASSWORD */

/* Tab switch di login/registrazione */
.site-login .site-login-inner .login-page-tab li a {
    font-family: inherit !important;
    font-weight: 600 !important;
    color: #8e959c !important;
    transition: all 0.25s ease !important;
}

.site-login .site-login-inner .login-page-tab li a.active {
    color: #81d742 !important; /* Verde brand FixSA */
}

.site-login .site-login-inner .login-page-tab li a::before {
    background-color: #81d742 !important;
    height: 2px !important;
}

.site-login .site-login-inner .login-page-tab li a:hover {
    color: #81d742 !important;
}

/* Moduli input e label */
.login-form-container label,
.woocommerce form.login label,
.woocommerce form.register label,
.woocommerce-ResetPassword label {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #1b1f22 !important;
    margin-bottom: 6px !important;
}

.login-form-container input.input-text,
.login-form-container input[type="text"],
.login-form-container input[type="email"],
.login-form-container input[type="password"],
.woocommerce form.login input.input-text,
.woocommerce form.register input.input-text,
.woocommerce-ResetPassword input.input-text {
    background-color: #ffffff !important;
    border: 1px solid #dcdfe1 !important;
    border-radius: 30px !important; /* Campi a pillola */
    padding: 10px 22px !important; /* Spaziatura interna espansa per design a pillola */
    height: 44px !important;
    font-size: 0.9rem !important;
    color: #1b1f22 !important;
    transition: all 0.22s ease !important;
}

.login-form-container input.input-text:focus,
.login-form-container input[type="text"]:focus,
.login-form-container input[type="email"]:focus,
.login-form-container input[type="password"]:focus,
.woocommerce form.login input.input-text:focus,
.woocommerce form.register input.input-text:focus,
.woocommerce-ResetPassword input.input-text:focus {
    border-color: #81d742 !important;
    box-shadow: 0 0 0 3px rgba(129, 215, 66, 0.15) !important;
    outline: none !important;
}

/* Link di recupero password */
.login-form-container .lost-password .woocommerce-LostPassword a {
    color: #81d742 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.login-form-container .lost-password .woocommerce-LostPassword a:hover {
    color: #72c235 !important;
    text-decoration: underline !important;
}

/* Checkbox ricordami */
.login-form-container input[type="checkbox"] {
    accent-color: #81d742 !important;
    cursor: pointer !important;
}

/* Pulsanti Accedi / Registrati / Salva password */
.login-form-container .woocommerce-button.button.woocommerce-form-login__submit,
.login-form-container .woocommerce-form-register__submit,
.woocommerce-ResetPassword button.button {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    height: 46px !important;
    line-height: 46px !important;
    box-shadow: 0 4px 10px rgba(129, 215, 66, 0.25) !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    cursor: pointer !important;
    width: 100% !important;
}

.login-form-container .woocommerce-button.button.woocommerce-form-login__submit:hover,
.login-form-container .woocommerce-form-register__submit:hover,
.woocommerce-ResetPassword button.button:hover {
    background-color: #72c235 !important;
    border-color: #72c235 !important;
    box-shadow: 0 6px 14px rgba(129, 215, 66, 0.4) !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

/* 2. PAGINE UTENTE INTERNE (PROFILO UTENTE LOGGATO) */

/* Menu di navigazione laterale sinistra */
.my-account-wrapper .woocommerce-MyAccount-navigation-menu ul {
    border: 0 !important;
    background-color: #f8f9fa !important;
    border-radius: 12px !important;
    padding: 10px !important;
}

.my-account-wrapper .woocommerce-MyAccount-navigation-menu ul li {
    border: 0 !important;
}

.my-account-wrapper .woocommerce-MyAccount-navigation-menu ul li a {
    color: #4a5056 !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    transition: all 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.my-account-wrapper .woocommerce-MyAccount-navigation-menu ul li a i {
    color: #8e959c !important;
    transition: all 0.25s ease !important;
}

/* Hover link menu */
.my-account-wrapper .woocommerce-MyAccount-navigation-menu ul li a:hover {
    color: #81d742 !important;
    background-color: rgba(129, 215, 66, 0.05) !important;
    padding-left: 20px !important;
}

.my-account-wrapper .woocommerce-MyAccount-navigation-menu ul li a:hover i {
    color: #81d742 !important;
}

/* Link menu attivo */
.my-account-wrapper .woocommerce-MyAccount-navigation-menu ul li.is-active a {
    color: #81d742 !important;
    background-color: rgba(129, 215, 66, 0.08) !important;
    border-left: 3px solid #81d742 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    font-weight: 700 !important;
    padding-left: 20px !important;
}

.my-account-wrapper .woocommerce-MyAccount-navigation-menu ul li.is-active a i {
    color: #81d742 !important;
}

/* Contenuto di destra del profilo */
.woocommerce-MyAccount-content {
    color: #1b1f22 !important;
}

.woocommerce-MyAccount-content a:not(.button) {
    color: #81d742 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.woocommerce-MyAccount-content a:not(.button):hover {
    color: #72c235 !important;
    text-decoration: underline !important;
}

/* Form all'interno del profilo (modifica account, indirizzi, ecc.) */
.woocommerce-MyAccount-content input.input-text,
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content select {
    background-color: #ffffff !important;
    border: 1px solid #dcdfe1 !important;
    border-radius: 30px !important; /* Campi a pillola */
    padding: 10px 22px !important;
    height: 44px !important;
    color: #1b1f22 !important;
    font-size: 0.9rem !important;
    transition: all 0.22s ease !important;
}

.woocommerce-MyAccount-content textarea {
    background-color: #ffffff !important;
    border: 1px solid #dcdfe1 !important;
    border-radius: 16px !important; /* Textarea con angoli smussati ma leggibili */
    padding: 12px 20px !important;
    height: auto !important;
    color: #1b1f22 !important;
    font-size: 0.9rem !important;
    transition: all 0.22s ease !important;
}

.woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
    border-color: #81d742 !important;
    box-shadow: 0 0 0 3px rgba(129, 215, 66, 0.15) !important;
    outline: none !important;
}

/* Pulsanti all'interno del profilo (es. Salva modifiche, Salva indirizzo) */
.woocommerce-MyAccount-content button.button,
.woocommerce-MyAccount-content input[type="submit"].button,
.woocommerce-MyAccount-content a.button {
    background-color: #81d742 !important;
    border-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 30px !important;
    box-shadow: 0 4px 10px rgba(129, 215, 66, 0.25) !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.woocommerce-MyAccount-content button.button:hover,
.woocommerce-MyAccount-content input[type="submit"].button:hover,
.woocommerce-MyAccount-content a.button:hover {
    background-color: #72c235 !important;
    border-color: #72c235 !important;
    box-shadow: 0 6px 14px rgba(129, 215, 66, 0.4) !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

/* Tabelle ordini/download */
.woocommerce-MyAccount-content table.shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e1e4e6 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    width: 100% !important;
}

.woocommerce-MyAccount-content table.shop_table th {
    background-color: #f8f9fa !important;
    color: #1b1f22 !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #e1e4e6 !important;
    border-top: none !important;
}

.woocommerce-MyAccount-content table.shop_table td {
    padding: 14px 16px !important;
    border-bottom: 1px solid #e1e4e6 !important;
    color: #4a5056 !important;
}

.woocommerce-MyAccount-content table.shop_table tr:last-child td {
    border-bottom: none !important;
}

/* Pulsanti piccoli di azione nelle tabelle (Visualizza) */
.woocommerce-MyAccount-content table.shop_table td a.button {
    height: 32px !important;
    line-height: 32px !important;
    padding: 0 16px !important;
    font-size: 0.8rem !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 5px rgba(129, 215, 66, 0.2) !important;
}

/* Messaggi di notifica / avviso di WooCommerce (es. indirizzo modificato) */
.woocommerce-message, 
.woocommerce-info, 
.woocommerce-error {
    border-top-color: #81d742 !important;
    background-color: #f8f9fa !important;
    border-radius: 8px !important;
    color: #1b1f22 !important;
    padding: 15px 20px !important;
    font-size: 0.9rem !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.woocommerce-message a.button, 
.woocommerce-info a.button, 
.woocommerce-error a.button {
    background-color: #81d742 !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    padding: 4px 14px !important;
    font-size: 0.8rem !important;
    height: 30px !important;
    line-height: 30px !important;
}


/* 3. SIDEBAR DEL CARRELLO VUOTO (MINI-CART) & WIDGET */

/* Allineamento stile carrello vuoto nella sidebar/dropdown (Desktop & Mobile) */
.site-header .header-action.cart-button .custom-dropdown-menu .cart-empty,
.site-header .header-action.cart-button .custom-dropdown-body .cart-empty,
.fl-mini-cart-content .cart-empty,
.widget_shopping_cart_content .cart-empty,
.cart-empty {
    text-align: center !important;
    padding: 50px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffffff !important;
}

.site-header .header-action.cart-button .custom-dropdown-menu .cart-empty .empty-icon,
.site-header .header-action.cart-button .custom-dropdown-body .cart-empty .empty-icon,
.fl-mini-cart-content .cart-empty .empty-icon,
.widget_shopping_cart_content .cart-empty .empty-icon,
.cart-empty .empty-icon {
    margin-bottom: 20px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.site-header .header-action.cart-button .custom-dropdown-menu .cart-empty .empty-icon svg,
.site-header .header-action.cart-button .custom-dropdown-body .cart-empty .empty-icon svg,
.fl-mini-cart-content .cart-empty .empty-icon svg,
.widget_shopping_cart_content .cart-empty .empty-icon svg,
.cart-empty .empty-icon svg,
.cart-empty .empty-icon svg path {
    width: 80px !important;
    height: 80px !important;
    fill: #81d742 !important; /* Icona verde brand FixSA */
}

.site-header .header-action.cart-button .custom-dropdown-menu .cart-empty .empty-text,
.site-header .header-action.cart-button .custom-dropdown-body .cart-empty .empty-text,
.fl-mini-cart-content .cart-empty .empty-text,
.widget_shopping_cart_content .cart-empty .empty-text,
.cart-empty .empty-text {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important; /* Colore scuro coordinato */
    margin: 10px 0 0 0 !important;
    line-height: 1.4 !important;
}

/* Pulsante "Torna allo shop" nella sidebar del carrello vuoto o widget */
.cart-empty a.button,
.cart-empty .button,
.woocommerce-mini-cart__empty-message + .buttons a.button,
.woocommerce-mini-cart__empty-message + p a.button,
.woocommerce-mini-cart__empty-message a.button,
.fl-mini-cart-content .cart-empty a.button,
.widget_shopping_cart_content a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #81d742 !important; /* Verde brand */
    color: #ffffff !important;
    padding: 10px 24px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    border-radius: 30px !important;
    box-shadow: 0 4px 10px rgba(129, 215, 66, 0.25) !important;
    transition: all 0.22s ease !important;
    border: 0 !important;
    text-decoration: none !important;
    margin-top: 15px !important;
}

.cart-empty a.button:hover,
.cart-empty .button:hover,
.woocommerce-mini-cart__empty-message + .buttons a.button:hover,
.woocommerce-mini-cart__empty-message + p a.button:hover,
.woocommerce-mini-cart__empty-message a.button:hover,
.fl-mini-cart-content .cart-empty a.button:hover,
.widget_shopping_cart_content a.button:hover {
    background-color: #72c235 !important;
    box-shadow: 0 6px 14px rgba(129, 215, 66, 0.4) !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   TASK: ICONA OCCHIO PASSWORD (LOGIN/REGISTRAZIONE) & LAYOUT FATTURAZIONE
   ========================================================================== */

/* Posizionamento relativo del contenitore per posizionare l'occhio all'interno */
.woocommerce-form-row.form-row,
.woocommerce-form-login-row,
.login-form-container .form-row {
    position: relative !important;
}

/* Icona dell'occhio nei moduli di login e registrazione */
.login-form-container .show-password-input,
.woocommerce form.login .show-password-input,
.woocommerce form.register .show-password-input {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 12px !important; /* Posizionato all'interno del campo a pillola */
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important; /* Forma circolare */
    background-color: #f1f3f5 !important; /* Sfondo circolare chiaro */
    color: #4a5056 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.login-form-container .show-password-input:hover,
.woocommerce form.login .show-password-input:hover,
.woocommerce form.register .show-password-input:hover {
    background-color: #81d742 !important; /* Verde brand */
    color: #ffffff !important;
}

/* Padding destro aggiuntivo per evitare la sovrapposizione del testo all'occhio */
.login-form-container input[type="password"],
.woocommerce form.login input[type="password"],
.woocommerce form.register input[type="password"] {
    padding-right: 50px !important;
}

/* Layout affiancato delle colonne di fatturazione e spedizione su desktop (Visualizza Ordine) */
@media (min-width: 768px) {
    .woocommerce-columns--addresses,
    .woocommerce-Address-columns,
    .addresses {
        display: flex !important;
        flex-flow: row wrap !important;
        margin-left: -15px !important;
        margin-right: -15px !important;
        width: auto !important;
    }
    
    .woocommerce-column--billing-address,
    .woocommerce-column--shipping-address,
    .woocommerce-Address-column,
    .addresses .col-1,
    .addresses .col-2 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
}

/* Titoli delle sezioni indirizzo */
.woocommerce-columns--addresses .woocommerce-column__title,
.addresses .woocommerce-column__title,
.addresses h3,
.addresses h2 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important;
    margin-bottom: 12px !important;
}

/* Allineamento e leggibilità dati indirizzo in stile card */
.woocommerce-columns--addresses address,
.addresses address {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-style: normal !important;
    line-height: 1.6 !important;
    font-size: 0.95rem !important;
    color: #4a5056 !important;
    white-space: normal !important;
    text-align: left !important;
    margin-top: 10px !important;
    border: 1px solid #e1e4e6 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    background-color: #f8f9fa !important;
}

/* ==========================================================================
   TASK: ALLINEAMENTO CONTENUTI / SOTTOPAGINE ACCOUNT & MARGINI
   ========================================================================== */

/* Allineamento griglia della pagina account e spaziatura con la sidebar */
@media (min-width: 992px) {
    .woocommerce-account .my-account-wrapper {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 30px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }
    
    .woocommerce-account .my-account-wrapper .my-account-navigation {
        flex: 0 0 25% !important;
        max-width: 25% !important;
        margin: 0 !important;
    }
    
    .woocommerce-account .my-account-wrapper .woocommerce-MyAccount-content {
        flex: 0 0 72% !important;
        max-width: 72% !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }
}

/* Margini uniformi e allineamenti per tutte le sottopagine account */
.woocommerce-MyAccount-content {
    margin-top: 0 !important;
    padding: 0 !important;
}

.woocommerce-MyAccount-content h3, 
.woocommerce-MyAccount-content h4, 
.woocommerce-MyAccount-content legend {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #1b1f22 !important;
    margin-bottom: 20px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    display: block !important;
    border: 0 !important;
}

/* Rimozione e normalizzazione dei vecchi float nei moduli di tutte le sottopagine account */
.woocommerce-MyAccount-content form .form-row {
    margin-bottom: 22px !important;
    float: none !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

/* Campi affiancati nei moduli account e cassa per schermi medi e grandi */
@media (min-width: 576px) {
    .woocommerce-MyAccount-content form .form-row-first,
    .woocommerce-MyAccount-content form .form-row-last,
    .woocommerce-checkout form .form-row-first,
    .woocommerce-checkout form .form-row-last {
        width: 48% !important;
        float: left !important;
        display: inline-flex !important;
    }
    
    .woocommerce-MyAccount-content form .form-row-first,
    .woocommerce-checkout form .form-row-first {
        margin-right: 4% !important;
    }
    
    .woocommerce-MyAccount-content form,
    .woocommerce-checkout form {
        overflow: hidden !important; /* Pulisce i float */
    }
}


/* ==========================================================================
   TASK: CAMPI FORM E TESTO A PILLOLA (A LIVELLO GLOBALE SUL SITO)
   ========================================================================== */

/* Selettori per tutti i campi di input a riga singola e select dell'intero sito */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
select,
.input-text,
.wpcf7-form-control:not(textarea):not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.elementor-field-textual:not(textarea),
.form-control:not(textarea),
.woocommerce-Input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.search-form input[type="search"],
.search-field,
.widget_search input[type="search"],
.klb-search-box input {
    border-radius: 30px !important; /* Campi a pillola a livello globale */
    padding-left: 22px !important;
    padding-right: 22px !important;
    height: 44px !important;
    line-height: 44px !important;
    box-sizing: border-box !important;
    border: 1px solid #dcdfe1 !important;
    background-color: #ffffff !important;
    color: #1b1f22 !important;
    font-size: 0.9rem !important;
    transition: all 0.22s ease !important;
}

/* Styling degli stati di focus a livello globale */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
select:focus,
.input-text:focus,
.wpcf7-form-control:focus,
.elementor-field-textual:focus,
.form-control:focus,
.woocommerce-Input:focus {
    border-color: #81d742 !important;
    box-shadow: 0 0 0 3px rgba(129, 215, 66, 0.15) !important;
    outline: none !important;
}

/* Allineamento Select2 (selettori nazione/provincia di WooCommerce) a pillola */
.select2-container--default .select2-selection--single {
    border-radius: 30px !important; /* Arrotondamento a pillola */
    height: 44px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    border: 1px solid #dcdfe1 !important;
    background-color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    transition: all 0.22s ease !important;
    box-sizing: border-box !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding-left: 0 !important;
    color: #1b1f22 !important;
    font-size: 0.9rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    right: 12px !important;
}

.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #81d742 !important;
    box-shadow: 0 0 0 3px rgba(129, 215, 66, 0.15) !important;
    outline: none !important;
}

/* Regola specifica per non deformare le Textarea (rimangono con angoli smussati leggibili) */
textarea,
.wpcf7-textarea,
.elementor-field-textual.elementor-size-sm[rows],
.woocommerce form .form-row textarea {
    border-radius: 16px !important; /* Angoli smussati moderni per i testi lunghi */
    padding: 12px 20px !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    border: 1px solid #dcdfe1 !important;
    background-color: #ffffff !important;
    color: #1b1f22 !important;
    font-size: 0.9rem !important;
    transition: all 0.22s ease !important;
}

textarea:focus,
.wpcf7-textarea:focus,
.woocommerce form .form-row textarea:focus {
    border-color: #81d742 !important;
    box-shadow: 0 0 0 3px rgba(129, 215, 66, 0.15) !important;
    outline: none !important;
}