/*
Theme Name:   Freshio Child - Cocciu d'Amuri
Theme URI:    https://cocciudamuridisicilia.com
Description:  Child theme per Cocciu d'Amuri di Sicilia - Prodotti Biologici Siciliani
Author:       Cocciu d'Amuri Team
Author URI:   https://cocciudamuridisicilia.com
Template:     freshio
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  freshio-child
*/

/* ==================================
   VARIABILI COLORE BRAND
   ================================== */
:root {
    --cocciu-verde-oliva: #6B7F39;
    --cocciu-terra: #8B4513;
    --cocciu-grano: #F4E4C1;
    --cocciu-bianco: #FFFFFF;
    --cocciu-nero: #2C2C2C;
    --cocciu-verde-chiaro: #9ACD32;
}

/* ==================================
   BADGE BIOLOGICO
   ================================== */
.bio-badge {
    display: inline-block;
    background: var(--cocciu-verde-oliva);
    color: white;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* ==================================
   HERO SECTION HOME
   ================================== */
.cocciu-hero {
    position: relative;
    min-height: 600px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cocciu-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
}

.cocciu-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: white;
    max-width: 800px;
    padding: 0 20px;
}

.cocciu-hero h1 {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    line-height: 1.2;
}

.cocciu-hero p {
    font-size: 1.4rem;
    margin-bottom: 30px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.cocciu-btn-primary {
    display: inline-block;
    background: var(--cocciu-verde-oliva);
    color: white;
    padding: 15px 40px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.cocciu-btn-primary:hover {
    background: var(--cocciu-verde-chiaro);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
    color: white;
}

/* ==================================
   SEZIONE VALORI (HOME)
   ================================== */
.cocciu-values {
    padding: 80px 20px;
    background: var(--cocciu-grano);
}

.cocciu-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
}

.cocciu-value-item {
    text-align: center;
    padding: 30px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.cocciu-value-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}

.cocciu-value-item .icon {
    font-size: 3rem;
    margin-bottom: 15px;
}

.cocciu-value-item h3 {
    color: var(--cocciu-verde-oliva);
    margin-bottom: 15px;
    font-size: 1.5rem;
}

/* ==================================
   PRODOTTI - EXTRA INFO
   ================================== */
.cocciu-product-extra-info {
    background: #f9f9f9;
    padding: 20px;
    border-left: 4px solid var(--cocciu-verde-oliva);
    margin: 20px 0;
    border-radius: 5px;
	display: none;
}

.cocciu-product-extra-info p {
    margin: 10px 0;
    color: var(--cocciu-nero);
    font-size: 0.95rem;
}

/* ==================================
   SHOP - PERSONALIZZAZIONI
   ================================== */
.woocommerce ul.products li.product {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
    transform: translateY(-5px);
}

.woocommerce ul.products li.product .price {
    color: var(--cocciu-verde-oliva);
    font-weight: 700;
    font-size: 1.2rem;
}

/* Bottoni WooCommerce */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: var(--cocciu-verde-oliva);
    color: white;
    border-radius: 25px;
    padding: 12px 30px;
    transition: all 0.3s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--cocciu-verde-chiaro);
}

/* ==================================
   FOOTER PERSONALIZZATO
   ================================== */
.site-footer {
    background: var(--cocciu-nero);
    color: white;
    padding: 60px 20px 30px;
}

.site-footer a {
    color: var(--cocciu-grano);
    transition: color 0.3s ease;
}

.site-footer a:hover {
    color: var(--cocciu-verde-chiaro);
}

.footer-widget {
    margin-bottom: 30px;
}

.footer-widget h3 {
    color: var(--cocciu-verde-chiaro);
    margin-bottom: 20px;
    font-size: 1.3rem;
}

/* ==================================
   CHI SIAMO - STORYTELLING
   ================================== */
.cocciu-story-section {
    padding: 80px 20px;
    max-width: 900px;
    margin: 0 auto;
    line-height: 1.8;
    font-size: 1.1rem;
}

.cocciu-story-section p {
    margin-bottom: 25px;
    text-align: justify;
}

.cocciu-story-section strong {
    color: var(--cocciu-verde-oliva);
    font-weight: 600;
}

/* ==================================
   FORM CONTATTI
   ================================== */
.cocciu-contact-form {
    max-width: 700px;
    margin: 40px auto;
    padding: 40px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.cocciu-contact-form input[type="text"],
.cocciu-contact-form input[type="email"],
.cocciu-contact-form textarea {
    width: 100%;
    padding: 15px;
    margin-bottom: 20px;
    border: 2px solid #ddd;
    border-radius: 5px;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.cocciu-contact-form input[type="text"]:focus,
.cocciu-contact-form input[type="email"]:focus,
.cocciu-contact-form textarea:focus {
    border-color: var(--cocciu-verde-oliva);
    outline: none;
}

.cocciu-contact-form input[type="submit"] {
    background: var(--cocciu-verde-oliva);
    color: white;
    padding: 15px 40px;
    border: none;
    border-radius: 30px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.cocciu-contact-form input[type="submit"]:hover {
    background: var(--cocciu-verde-chiaro);
    transform: translateY(-2px);
}

/* ==================================
   RESPONSIVE
   ================================== */
@media (max-width: 768px) {
    .cocciu-hero h1 {
        font-size: 2.5rem;
    }
    
    .cocciu-hero p {
        font-size: 1.1rem;
    }
    
    .cocciu-values-grid {
        grid-template-columns: 1fr;
    }
    
    .cocciu-story-section {
        padding: 40px 15px;
        font-size: 1rem;
    }
}

/* ==================================
   UTILITÀ
   ================================== */
.text-center {
    text-align: center;
}

.mt-40 {
    margin-top: 40px;
}

.mb-40 {
    margin-bottom: 40px;
}

.section-title {
    font-size: 2.5rem;
    color: var(--cocciu-verde-oliva);
    margin-bottom: 40px;
    text-align: center;
    font-weight: 700;
}

.section-subtitle {
    font-size: 1.2rem;
    color: #666;
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px;
}

/* Nascondi breadcrumb e titolo SOLO sulla home */
.home .breadcrumbs,


/* Rimuovi breadcrumb Freshio sulla home - SOLUZIONE DEFINITIVA */
.home .freshio-breadcrumb {
    display: none !important;
}

/* Rimuovi anche l'heading vuoto */
.home .breadcrumb-heading {
    display: none !important;
}

/* Nascondi tutti i breadcrumb sulla home */
.home .breadcrumbs,
.home .woocommerce-breadcrumb,
.home nav.breadcrumb,
.home .rank-math-breadcrumb {
    display: none !important;
}


/* Forza hero a partire dall'alto sulla home */
.home .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.home .page-header {
    display: none !important;
}

.home .freshio-breadcrumb + * {
    margin-top: 0 !important;
}

/* Rimuovi solo il blocco nero copyright di Freshio */
.copyright-bar {
    display: none !important;
}

/* Header superiore BIANCO */
.site-header {
    background: white !important;
}

.site-header .header-main {
    background: white !important;
}

/* Solo la barra MENU grigia a tutto schermo */
.main-navigation {
    background: #E8E8E8 !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding: 15px 0 !important;
}

.main-navigation ul.menu,
.main-navigation ul.nav-menu {
    background: transparent !important;
    display: flex !important;
    justify-content: center !important;
    gap: 30px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Testo menu - nero di base */
.main-navigation ul.menu li a,
.main-navigation ul.nav-menu li a {
    color: #2C2C2C !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    padding: 10px 5px !important;
}

/* Verde in hover */
.main-navigation ul.menu li a:hover,
.main-navigation ul.nav-menu li a:hover {
    color: #6B7F39 !important;
}

/* Voce attiva verde */
.main-navigation ul.menu li.current-menu-item a,
.main-navigation ul.nav-menu li.current_page_item a {
    color: #6B7F39 !important;
}

/* Responsive */
@media (max-width: 768px) {
    .main-navigation ul.menu,
    .main-navigation ul.nav-menu {
        flex-direction: column;
        gap: 15px;
    }
}


/* Rimuovi breadcrumb Freshio su tutte le pagine */
.freshio-breadcrumb {
    display: none !important;
}

.breadcrumb-heading {
    display: none !important;
}


/* Form Contatti Compatto */
.contact-form-section {
    padding: 30px !important;
}

.contact-form-section h2 {
    font-size: 1.5rem !important;
    margin-bottom: 20px !important;
}

.contact-form-section input[type="text"],
.contact-form-section input[type="email"],
.contact-form-section textarea,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    padding: 12px !important;
    margin-bottom: 15px !important;
    font-size: 0.95rem !important;
}

.contact-form-section textarea,
.wpcf7-form textarea {
    min-height: 100px !important;
}

.contact-form-section input[type="submit"],
.wpcf7-form input[type="submit"] {
    padding: 12px 40px !important;
    font-size: 0.95rem !important;
    margin-top: 10px !important;
}

/* Riduci spaziatura tra campi Contact Form 7 */
.wpcf7-form p {
    margin-bottom: 10px !important;
}

/* Layout form su 2 colonne per risparmiare spazio */
.wpcf7-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.wpcf7-form p:nth-child(3),
.wpcf7-form p:nth-child(4) {
    grid-column: 1 / -1;
}

@media (max-width: 768px) {
    .wpcf7-form {
        grid-template-columns: 1fr;
    }
}



/* Ingrandisci logo centrale */
.site-header .site-branding img,
.site-header .custom-logo {
    max-height: 0px !important;
    width: auto 0px  important;
}

/* Se il logo è troppo grande su mobile */
@media (max-width: 768px) {
    .site-header .site-branding img,
    .site-header .custom-logo {
        max-height: 80px !important;
    }
}

/* Rimuovi completamente spazi header */
.site-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.site-header .header-main {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Attacca menu alla sezione sopra */
.main-navigation {
    margin-top: 0 !important;
}

/* Rimuovi padding tra elementi header */
.header-wrapper,
.site-header-inner {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Se c'è ancora spazio bianco */
.site-header::after,
.header-main::after {
    display: none !important;
}

/* Modifica SOLO dimensioni logo */
.site-header .custom-logo,
.site-header .site-branding img {
    width: 200px !important;  /* Cambia questa larghezza */
    height: auto !important;  /* Mantiene proporzioni */
    max-width: none !important;
    max-height: none !important;
}

/* Rimuovi margini bianchi footer */
.cocciu-footer {
    margin: 0 !important;
}

.site-footer,
footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Rimuovi spazi sotto il body */
body {
    margin-bottom: 0 !important;
}

/* Se c'è un wrapper */
.site,
#page,
.wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Footer Bottom senza margini */
.footer-bottom {
    margin-bottom: 0 !important;
}

/* Nascondi testo menu mobile nel footer */
.cocciu-footer *:contains("menu mobile"),
.footer-bottom *:contains("menu mobile") {
    display: none !important;
}

/* Se il plugin aggiunge elementi nel footer */
.cocciu-footer .mobile-menu-trigger,
.cocciu-footer .wp-mobile-menu {
    display: none !important;
}

/* Fix MegaMenu mobile - Forza sfondo bianco ovunque */
.mega-menu-wrap *,
#mega-menu-wrap-primary *,
.mega-menu-toggle-block *,
.mega-sub-menu *,
#mobile-menu-primary *,
.mega-menu-mobile * {
    background: transparent !important;
}

/* Container principale bianco */
.mega-menu-wrap,
#mega-menu-wrap-primary,
.mega-menu-toggle-block,
#mobile-menu-primary {
    background: white !important;
}

/* Panel slide bianco */
.mega-menu-wrap .mega-menu.mega-menu-horizontal,
.mega-sub-menu,
#mega-menu-primary {
    background: white !important;
}

/* Rimuovi qualsiasi overlay nero */
body.mega-menu-open::before,
body.mega-menu-open::after {
    background: rgba(255, 255, 255, 0.95) !important;
}

/* Text nero per leggibilità */
#mega-menu-wrap-primary a,
#mega-menu-wrap-primary li {
    color: #2C2C2C !important;
}

/* Fix testo menu mobile MegaMenu */
.freshio-mobile-nav,
.freshio-mobile-nav * {
    background: white !important;
}

/* Voci menu visibili - testo nero */
.freshio-mobile-nav a,
.freshio-mobile-nav li,
.freshio-mobile-nav .mega-menu-link,
.freshio-mobile-nav span {
    color: #2C2C2C !important;
}

/* Hover verde */
.freshio-mobile-nav a:hover {
    color: #6B7F39 !important;
    background: #f5f5f5 !important;
}

/* Menu item padding */
.freshio-mobile-nav li a {
    padding: 15px 20px !important;
    display: block !important;
    border-bottom: 1px solid #eee !important;
}

/* Voce attiva verde */
.freshio-mobile-nav .current-menu-item a {
    color: #6B7F39 !important;
    font-weight: 600 !important;
}


.freshio-mobile-nav li,
.freshio-mobile-nav a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


css/* Reset completo menu mobile Freshio */
.freshio-mobile-nav {
    background: white !important;
}

/* Usa selettori più specifici per sovrascrivere */
body .freshio-mobile-nav ul li a,
body .freshio-mobile-nav ul li span,
body .freshio-mobile-nav .menu-item a {
    color: #2C2C2C !important;
    background: transparent !important;
}

/* Hover */
body .freshio-mobile-nav ul li a:hover {
    color: #6B7F39 !important;
}


/* Fix logo footer mobile - rimuovi box bianco */
.footer-logo-section img,
.footer-logo-section .custom-logo {
    background: transparent !important;
    filter: none !important;
}

/* Se il logo è già bianco, usa questo */
.footer-logo-section img,
.footer-logo-section .custom-logo {
    mix-blend-mode: screen;
}

/* Oppure lascia il logo colorato senza filtri */
@media (max-width: 768px) {
    .footer-logo-section img,
    .footer-logo-section .custom-logo {
        filter: none;
        background: transparent;
    }
}



/* Fix accordion mobile - bottoni slider non sforano */
@media (max-width: 768px) {
    /* Riduci container per fare spazio ai bottoni */
    div[style*="grid-template-columns: 1fr 1.2fr"] {
        padding: 0 50px !important;
    }
    
    /* Bottoni slider più piccoli su mobile */
    .slider-btn {
        width: 35px !important;
        height: 35px !important;
        font-size: 1.2rem !important;
    }
    
    .slider-btn.prev {
        left: 5px !important;
    }
    
    .slider-btn.next {
        right: 5px !important;
    }
    
    /* Accordion items non sforano */
    .accordion-item {
        margin: 0 !important;
        max-width: 100% !important;
    }
}


/* ============================================
   FIX SEZIONE 100% ORGANIC + ACCORDION
   ============================================ */

/* Container principale - perfettamente integrato */
.organic-section,
.sezione-organic {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
    width: 100%;
}

/* Titolo 100% Organic - centrato e responsive */
.organic-title,
.sezione-organic h2 {
    text-align: center !important;
    font-family: 'Georgia', serif;
    color: #2d5016;
    font-weight: bold;
    margin-bottom: 40px;
    line-height: 1.2;
    font-size: 4rem;
}

/* RESPONSIVE TITOLO */
@media (max-width: 768px) {
    .organic-title,
    .sezione-organic h2 {
        font-size: 2.5rem; /* Tablet */
    }
    
    .organic-section,
    .sezione-organic {
        margin: 40px auto;
        padding: 0 15px;
    }
}

@media (max-width: 480px) {
    .organic-title,
    .sezione-organic h2 {
        font-size: 1.8rem !important; /* Mobile - ridotto */
        padding: 0 10px;
    }
}

/* Container Accordion - perfettamente integrato */
.accordion-container {
    max-width: 100%;
    width: 100%;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    overflow: hidden;
    margin: 0 auto;
}

/* Singolo item accordion */
.accordion-item {
    border-bottom: 1px solid #e8e8e8;
    width: 100%;
}

.accordion-item:last-child {
    border-bottom: none;
}

/* Header accordion (cliccabile) */
.accordion-header {
    background: #fff;
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s ease;
    user-select: none;
    width: 100%;
}

.accordion-header:hover {
    background: #f8f8f8;
}

.accordion-header.active {
    background: #f0f7ec;
}

.accordion-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2d5016;
    margin: 0;
    flex: 1;
    padding-right: 15px;
}

/* Icona + */
.accordion-icon {
    font-size: 1.5rem;
    color: #5a8a3a;
    font-weight: 300;
    transition: transform 0.3s ease;
    line-height: 1;
    flex-shrink: 0;
}

.accordion-header.active .accordion-icon {
    transform: rotate(45deg);
}

/* Contenuto accordion */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 25px;
    background: #fafafa;
    width: 100%;
}

.accordion-content.active {
    max-height: 500px;
    padding: 20px 25px;
}

.accordion-text {
    color: #555;
    line-height: 1.7;
    font-size: 0.95rem;
    margin: 0;
}

/* MOBILE RESPONSIVE ACCORDION */
@media (max-width: 768px) {
    .accordion-header {
        padding: 18px 20px;
    }
    
    .accordion-title {
        font-size: 1rem;
        padding-right: 10px;
    }
    
    .accordion-icon {
        font-size: 1.3rem;
    }
    
    .accordion-content.active {
        padding: 18px 20px;
    }
    
    .accordion-text {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .accordion-header {
        padding: 15px 18px;
    }
    
    .accordion-title {
        font-size: 0.95rem;
        line-height: 1.4;
    }
    
    .accordion-icon {
        font-size: 1.2rem;
    }
}

/* Fix per tema Freshio - elimina padding extra */
.freshio-content .organic-section,
.freshio-content .sezione-organic,
.site-content .organic-section,
.site-content .sezione-organic {
    padding-left: 20px;
    padding-right: 20px;
}

/* Fix per container WordPress */
.wp-block-html .organic-section,
.wp-block-html .sezione-organic {
    margin-left: auto;
    margin-right: auto;
}

/* Previeni overflow su mobile */
@media (max-width: 768px) {
    .accordion-container {
        margin: 0;
    }
    
    .freshio-content .organic-section,
    .freshio-content .sezione-organic,
    .site-content .organic-section,
    .site-content .sezione-organic {
        padding-left: 15px;
        padding-right: 15px;
    }
}



/* ============================================
   FIX SEZIONE 100% ORGANIC + ACCORDION
   ============================================ */

/* Container principale - perfettamente integrato */
.organic-section,
.sezione-organic {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
    width: 100%;
    box-sizing: border-box;
}

/* Titolo 100% Organic - centrato e responsive */
.organic-title,
.sezione-organic h2 {
    text-align: center !important;
    font-family: 'Georgia', serif;
    color: #2d5016;
    font-weight: bold;
    margin-bottom: 40px;
    line-height: 1;
    font-size: 4rem;
}

/* RESPONSIVE TITOLO - Ridotto drasticamente per mobile */
@media (max-width: 768px) {
    .organic-title,
    .sezione-organic h2 {
        font-size: 2rem !important; /* Tablet - ridotto */
    }
    
    .organic-section,
    .sezione-organic {
        margin: 40px auto;
        padding: 0 15px;
    }
}

@media (max-width: 480px) {
    .organic-title,
    .sezione-organic h2 {
        font-size: 1.5rem !important; /* Mobile - molto più piccolo */
        padding: 0 10px;
        margin-bottom: 30px;
    }
}

@media (max-width: 375px) {
    .organic-title,
    .sezione-organic h2 {
        font-size: 1.3rem !important; /* iPhone piccoli */
    }
}

/* Container Accordion - FIX OVERFLOW MOBILE */
.accordion-container {
    max-width: 100%;
    width: 100%;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    overflow: hidden;
    margin: 0;
    box-sizing: border-box;
}

/* Singolo item accordion */
.accordion-item {
    border-bottom: 1px solid #e8e8e8;
    width: 100%;
    box-sizing: border-box;
}

.accordion-item:last-child {
    border-bottom: none;
}

/* Header accordion (cliccabile) */
.accordion-header {
    background: #fff;
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s ease;
    user-select: none;
    width: 100%;
    box-sizing: border-box;
}

.accordion-header:hover {
    background: #f8f8f8;
}

.accordion-header.active {
    background: #f0f7ec;
}

.accordion-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2d5016;
    margin: 0;
    flex: 1;
    padding-right: 15px;
    line-height: 1.3;
    word-wrap: break-word;
}

/* Icona + */
.accordion-icon {
    font-size: 1.5rem;
    color: #5a8a3a;
    font-weight: 300;
    transition: transform 0.3s ease;
    line-height: 1;
    flex-shrink: 0;
    min-width: 24px;
    text-align: center;
}

.accordion-header.active .accordion-icon {
    transform: rotate(45deg);
}

/* Contenuto accordion */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 25px;
    background: #fafafa;
    width: 100%;
    box-sizing: border-box;
}

.accordion-content.active {
    max-height: 500px;
    padding: 20px 25px;
}

.accordion-text {
    color: #555;
    line-height: 1.7;
    font-size: 0.95rem;
    margin: 0;
    word-wrap: break-word;
}

/* MOBILE RESPONSIVE ACCORDION - FIX OVERFLOW */
@media (max-width: 768px) {
    .organic-section,
    .sezione-organic {
        padding: 0 10px;
    }
    
    .accordion-container {
        border-radius: 8px;
    }
    
    .accordion-header {
        padding: 15px 15px;
    }
    
    .accordion-title {
        font-size: 0.95rem;
        padding-right: 10px;
    }
    
    .accordion-icon {
        font-size: 1.3rem;
        min-width: 20px;
    }
    
    .accordion-content {
        padding: 0 15px;
    }
    
    .accordion-content.active {
        padding: 15px 15px;
    }
    
    .accordion-text {
        font-size: 0.88rem;
    }
}

@media (max-width: 480px) {
    .organic-section,
    .sezione-organic {
        padding: 0 10px !important;
        margin: 30px auto;
    }
    
    .accordion-container {
        margin: 0 !important;
        width: 100% !important;
    }
    
    .accordion-header {
        padding: 12px 12px !important;
    }
    
    .accordion-title {
        font-size: 0.9rem !important;
        line-height: 1.3;
        padding-right: 8px;
    }
    
    .accordion-icon {
        font-size: 1.2rem;
        min-width: 18px;
    }
    
    .accordion-content {
        padding: 0 12px !important;
    }
    
    .accordion-content.active {
        padding: 12px 12px !important;
    }
    
    .accordion-text {
        font-size: 0.85rem;
        line-height: 1.6;
    }
}

/* Fix per tema Freshio - elimina padding extra */
.freshio-content .organic-section,
.freshio-content .sezione-organic,
.site-content .organic-section,
.site-content .sezione-organic,
.entry-content .organic-section,
.entry-content .sezione-organic {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Fix per container WordPress */
.wp-block-html .organic-section,
.wp-block-html .sezione-organic {
    margin-left: auto;
    margin-right: auto;
}

.wp-block-html .accordion-container {
    margin: 0 !important;
}

/* Previeni overflow su tutti i dispositivi */
.accordion-container,
.accordion-item,
.accordion-header,
.accordion-content {
    max-width: 100% !important;
    overflow-x: hidden !important;
}


/* ============================================
   FIX SEZIONE 100% ORGANIC + ACCORDION
   Basato sull'HTML reale con classe .cocciu-accordion
   ============================================ */

/* Fix titolo 100% - MOBILE RESPONSIVE */
div[style*="font-size: 8rem"] {
    font-size: 8rem !important;
}

div[style*="font-size: 3.5rem"] {
    font-size: 3.5rem !important;
}

@media (max-width: 768px) {
    div[style*="font-size: 8rem"] {
        font-size: 4rem !important;
        line-height: 1 !important;
    }
    
    div[style*="font-size: 3.5rem"] {
        font-size: 2rem !important;
    }
}

@media (max-width: 480px) {
    div[style*="font-size: 8rem"] {
        font-size: 2.5rem !important;
        line-height: 1 !important;
    }
    
    div[style*="font-size: 3.5rem"] {
        font-size: 1.3rem !important;
    }
}

@media (max-width: 375px) {
    div[style*="font-size: 8rem"] {
        font-size: 2rem !important;
    }
    
    div[style*="font-size: 3.5rem"] {
        font-size: 1.1rem !important;
    }
}

/* Container principale sezione */
div[style*="background-image"][style*="sfondoo.jpg"] {
    padding: 60px 15px !important;
}

@media (max-width: 768px) {
    div[style*="background-image"][style*="sfondoo.jpg"] {
        padding: 50px 10px !important;
        min-height: auto !important;
    }
}

@media (max-width: 480px) {
    div[style*="background-image"][style*="sfondoo.jpg"] {
        padding: 40px 5px !important;
    }
}

/* Fix Grid Layout - Mobile */
div[style*="grid-template-columns: 1fr 1.2fr"] {
    display: grid !important;
    grid-template-columns: 1fr 1.2fr !important;
    gap: 60px !important;
}

@media (max-width: 968px) {
    div[style*="grid-template-columns: 1fr 1.2fr"] {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
}

@media (max-width: 480px) {
    div[style*="grid-template-columns: 1fr 1.2fr"] {
        gap: 30px !important;
    }
}

/* ============================================
   ACCORDION FIXES
   ============================================ */

/* Container accordion */
.cocciu-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Singolo item */
.cocciu-accordion .accordion-item {
    background: white !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Header accordion */
.cocciu-accordion .accordion-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 15px 20px !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background 0.3s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.cocciu-accordion .accordion-header:hover {
    background: #f5f5f5 !important;
}

/* Icona */
.cocciu-accordion .accordion-icon {
    font-size: 0.7rem !important;
    color: #6B7F39 !important;
    transition: transform 0.3s ease !important;
    flex-shrink: 0 !important;
    min-width: 16px !important;
}

.cocciu-accordion .accordion-item.active .accordion-icon {
    transform: rotate(180deg) !important;
}

/* Titolo accordion */
.cocciu-accordion .accordion-header h3 {
    margin: 0 !important;
    font-size: 0.95rem !important;
    color: #2C2C2C !important;
    font-weight: 600 !important;
    flex: 1 !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
}

/* Contenuto accordion */
.cocciu-accordion .accordion-content {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease, padding 0.4s ease !important;
    padding: 0 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.cocciu-accordion .accordion-item.active .accordion-content {
    max-height: 300px !important;
    padding: 0 20px 15px 20px !important;
}

.cocciu-accordion .accordion-content p {
    margin: 0 !important;
    color: #666 !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
}

/* ============================================
   MOBILE RESPONSIVE ACCORDION
   ============================================ */

@media (max-width: 768px) {
    .cocciu-accordion .accordion-header {
        padding: 12px 15px !important;
        gap: 10px !important;
    }
    
    .cocciu-accordion .accordion-header h3 {
        font-size: 0.88rem !important;
        line-height: 1.25 !important;
    }
    
    .cocciu-accordion .accordion-icon {
        font-size: 0.65rem !important;
        min-width: 14px !important;
    }
    
    .cocciu-accordion .accordion-content {
        padding: 0 15px !important;
    }
    
    .cocciu-accordion .accordion-item.active .accordion-content {
        padding: 0 15px 12px 15px !important;
    }
    
    .cocciu-accordion .accordion-content p {
        font-size: 0.8rem !important;
    }
}

@media (max-width: 480px) {
    .cocciu-accordion {
        gap: 10px !important;
    }
    
    .cocciu-accordion .accordion-header {
        padding: 10px 12px !important;
        gap: 8px !important;
    }
    
    .cocciu-accordion .accordion-header h3 {
        font-size: 0.82rem !important;
        line-height: 1.2 !important;
    }
    
    .cocciu-accordion .accordion-icon {
        font-size: 0.6rem !important;
        min-width: 12px !important;
    }
    
    .cocciu-accordion .accordion-content {
        padding: 0 12px !important;
    }
    
    .cocciu-accordion .accordion-item.active .accordion-content {
        padding: 0 12px 10px 12px !important;
    }
    
    .cocciu-accordion .accordion-content p {
        font-size: 0.75rem !important;
        line-height: 1.4 !important;
    }
}

@media (max-width: 375px) {
    .cocciu-accordion .accordion-header {
        padding: 8px 10px !important;
    }
    
    .cocciu-accordion .accordion-header h3 {
        font-size: 0.78rem !important;
    }
}

/* Fix overflow totale */
.cocciu-accordion,
.cocciu-accordion .accordion-item,
.cocciu-accordion .accordion-header,
.cocciu-accordion .accordion-content {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Fix per Android */
@media (max-width: 768px) {
    body .cocciu-accordion {
        overflow-x: hidden !important;
    }
}

/* Fix titoli sezione principale */
h2[style*="font-size: 2.5rem"] {
    font-size: 2.5rem !important;
}

@media (max-width: 768px) {
    h2[style*="font-size: 2.5rem"] {
        font-size: 1.8rem !important;
    }
}

@media (max-width: 480px) {
    h2[style*="font-size: 2.5rem"] {
        font-size: 1.4rem !important;
    }
}


/* ============================================
   FIX AGGRESSIVO NEWSLETTER MOBILE + FOOTER
   ============================================ */

/* RESET BOX-SIZING GLOBALE */
* {
    box-sizing: border-box !important;
}

/* ============================================
   NEWSLETTER - FIX OVERFLOW ANDROID
   ============================================ */

/* Container newsletter principale */
div[style*="background: #F8F8F8"] {
    padding: 80px 20px !important;
    margin: 60px 0 0 0 !important; /* Rimosso margin-bottom */
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Inner container */
div[style*="background: #F8F8F8"] > div {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Titolo */
div[style*="background: #F8F8F8"] h2 {
    font-size: 2.5rem !important;
    margin-bottom: 40px !important;
    color: #6B7F39 !important;
}

/* Flex container */
div[style*="background: #F8F8F8"] div[style*="display: flex"] {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Form container */
div[style*="background: #F8F8F8"] div[style*="flex: 1"] {
    width: 100% !important;
    max-width: 500px !important;
    box-sizing: border-box !important;
}

/* Form stesso */
div[style*="background: #F8F8F8"] form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    padding: 10px !important;
}

/* Input email */
div[style*="background: #F8F8F8"] input[type="email"] {
    flex: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Button */
div[style*="background: #F8F8F8"] button {
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

/* ============================================
   MOBILE NEWSLETTER - SUPER AGGRESSIVO
   ============================================ */

@media (max-width: 768px) {
    /* Container principale mobile */
    div[style*="background: #F8F8F8"] {
        padding: 50px 10px !important;
        margin: 40px 0 0 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Inner container mobile */
    div[style*="background: #F8F8F8"] > div {
        padding: 0 10px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Titolo mobile */
    div[style*="background: #F8F8F8"] h2 {
        font-size: 1.8rem !important;
        margin-bottom: 30px !important;
    }
    
    /* Flex container mobile - FORZA COLONNA */
    div[style*="background: #F8F8F8"] div[style*="display: flex"] {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 20px !important;
        width: 100% !important;
    }
    
    /* NASCONDI IMMAGINI LATERALI */
    div[style*="background: #F8F8F8"] div[style*="flex: 0 0 200px"],
    div[style*="background: #F8F8F8"] div[style*="flex: 0 0 250px"] {
        display: none !important;
    }
    
    /* Form container mobile */
    div[style*="background: #F8F8F8"] div[style*="flex: 1"] {
        max-width: 100% !important;
        width: calc(100% - 20px) !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Form mobile */
    div[style*="background: #F8F8F8"] form {
        padding: 8px !important;
        width: 100% !important;
        gap: 8px !important;
    }
    
    /* Input mobile */
    div[style*="background: #F8F8F8"] input[type="email"] {
        padding: 12px 15px !important;
        font-size: 0.95rem !important;
    }
    
    /* Button mobile */
    div[style*="background: #F8F8F8"] button {
        padding: 12px 25px !important;
        font-size: 1.2rem !important;
    }
    
    /* Testo sotto */
    div[style*="background: #F8F8F8"] p {
        font-size: 0.8rem !important;
        margin-top: 12px !important;
    }
}

@media (max-width: 480px) {
    /* Mobile piccoli */
    div[style*="background: #F8F8F8"] {
        padding: 40px 5px !important;
        margin: 30px 0 0 0 !important;
    }
    
    div[style*="background: #F8F8F8"] > div {
        padding: 0 5px !important;
    }
    
    div[style*="background: #F8F8F8"] h2 {
        font-size: 1.5rem !important;
        margin-bottom: 25px !important;
    }
    
    div[style*="background: #F8F8F8"] div[style*="flex: 1"] {
        width: calc(100% - 10px) !important;
    }
    
    div[style*="background: #F8F8F8"] form {
        padding: 6px !important;
    }
    
    div[style*="background: #F8F8F8"] input[type="email"] {
        padding: 10px 12px !important;
        font-size: 0.9rem !important;
    }
    
    div[style*="background: #F8F8F8"] button {
        padding: 10px 20px !important;
    }
}

/* ============================================
   FIX MARGINE FOOTER - SUPER AGGRESSIVO
   ============================================ */

/* ELIMINA TUTTI I MARGINI/PADDING BOTTOM */
.site,
.site-content,
.freshio-content,
.entry-content,
.page-content,
main,
.site-main,
.content-area,
#primary,
#content,
.hfeed,
article {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Ultimo elemento prima del footer */
.site-content > *:last-child,
.freshio-content > *:last-child,
.entry-content > *:last-child,
main > *:last-child,
.site-main > *:last-child,
#primary > *:last-child,
article > *:last-child {
    margin-bottom: 0 !important;
}

/* Blocchi HTML personalizzati */
.wp-block-html {
    margin-bottom: 0 !important;
}

.wp-block-html:last-child {
    margin-bottom: 0 !important;
}

/* Footer senza margine top */
.site-footer,
footer,
.footer,
#colophon,
.freshio-footer {
    margin-top: 0 !important;
    padding-top: 40px !important;
}

/* Fix layout body */
body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

.site-content,
main {
    flex: 1 !important;
}

/* Elimina pseudo-elementi che potrebbero creare spazio */
.site-content::after,
.entry-content::after,
main::after,
.site-main::after {
    display: none !important;
    content: none !important;
}

/* Fix specifici Freshio */
.home .site-content,
.page .site-content,
.single .site-content,
.archive .site-content {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* WooCommerce */
.woocommerce .site-content,
.woocommerce-page .site-content {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Container wrapper */
.wrap,
.wrapper,
.container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Newsletter ultimo blocco */
div[style*="background: #F8F8F8"]:last-of-type,
.wp-block-html:last-child div[style*="background: #F8F8F8"] {
    margin-bottom: 0 !important;
}

/* Mobile footer fix */
@media (max-width: 768px) {
    .site-content,
    .freshio-content,
    .entry-content,
    main,
    .site-main,
    #primary {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    
    .site-footer,
    footer,
    .footer {
        margin-top: 0 !important;
    }
}

/* Fix per eventuali spacing Freshio */
.freshio-spacing,
.spacing {
    display: none !important;
}

/* Rimuovi clearfix che potrebbero creare spazio */
.clearfix::after,
.clear::after {
    display: none !important;
}

/* Override Freshio theme specifici */
body.home .site-content,
body.page .site-content {
    margin-bottom: 0 !important;
}

/* Forza newsletter come ultimo elemento senza spazio */
.entry-content > div:last-child,
.site-content > div:last-child {
    margin-bottom: 0 !important;
}


/* ============================================
   FIX FOOTER FULL-WIDTH - NESSUN GAP BIANCO
   ============================================ */

/* Footer full-width senza margini laterali */
.site-footer,
footer,
.footer,
#colophon,
.freshio-footer,
footer.site-footer {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    margin-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Container interno footer centrato */
.site-footer .footer-container,
.site-footer .container,
.site-footer .footer-inner,
.freshio-footer .container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* Elimina padding extra */
.site-footer > *,
.freshio-footer > * {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Footer widgets full-width */
.footer-widgets,
.site-footer .widget-area {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Mobile footer */
@media (max-width: 768px) {
    .site-footer,
    footer,
    .footer,
    #colophon,
    .freshio-footer {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .site-footer .footer-container,
    .site-footer .container,
    .footer-widgets {
        padding: 30px 15px !important;
    }
}

/* ============================================
   FIX MENU MOBILE HAMBURGER - FRESHIO
   ============================================ */

/* Menu hamburger visibile */
.site-header-mobile .menu-toggle,
.freshio-mobile-nav .menu-toggle,
.mobile-nav-button,
.hamburger-menu {
    display: block !important;
    cursor: pointer !important;
    z-index: 9999 !important;
}

/* Container menu mobile */
.site-header-mobile,
.freshio-mobile-nav,
.mobile-navigation {
    position: relative !important;
    z-index: 9998 !important;
}

/* Slide menu mobile - FORZA VISIBILITÀ */
.handheld-navigation,
.freshio-mobile-nav .mobile-nav-menu,
.site-header-mobile .mobile-menu,
.mobile-navigation .nav-menu,
body .mobile-menu-wrapper {
    position: fixed !important;
    top: 0 !important;
    left: -100% !important;
    width: 280px !important;
    max-width: 85vw !important;
    height: 100vh !important;
    background: white !important;
    z-index: 99999 !important;
    transition: left 0.3s ease !important;
    overflow-y: auto !important;
    box-shadow: 2px 0 10px rgba(0,0,0,0.2) !important;
}

/* Menu aperto */
.mobile-menu-active .handheld-navigation,
.mobile-menu-active .mobile-nav-menu,
.mobile-menu-active .mobile-menu,
.mobile-menu-wrapper.active,
body.mobile-menu-open .mobile-menu-wrapper {
    left: 0 !important;
}

/* Overlay scuro quando menu aperto */
.mobile-menu-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0,0,0,0.5) !important;
    z-index: 99998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.mobile-menu-active .mobile-menu-overlay,
body.mobile-menu-open .mobile-menu-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Link menu mobile - TESTO VISIBILE */
.handheld-navigation a,
.mobile-nav-menu a,
.mobile-menu a,
.mobile-navigation a {
    display: block !important;
    padding: 12px 20px !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    border-bottom: 1px solid #eee !important;
    transition: background 0.2s ease !important;
}

.handheld-navigation a:hover,
.mobile-nav-menu a:hover,
.mobile-menu a:hover {
    background: #f5f5f5 !important;
    color: #6B7F39 !important;
}

/* Lista menu mobile */
.handheld-navigation ul,
.mobile-nav-menu ul,
.mobile-menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.handheld-navigation li,
.mobile-nav-menu li,
.mobile-menu li {
    margin: 0 !important;
    padding: 0 !important;
}

/* Submenu mobile */
.handheld-navigation .sub-menu,
.mobile-nav-menu .sub-menu {
    padding-left: 20px !important;
    background: #f9f9f9 !important;
}

/* Bottone chiudi menu */
.mobile-menu-close,
.close-mobile-menu {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    background: transparent !important;
    border: none !important;
    font-size: 2rem !important;
    cursor: pointer !important;
    color: #333 !important;
    z-index: 100000 !important;
}

/* Fix per body quando menu aperto */
body.mobile-menu-open,
body.mobile-menu-active {
    overflow: hidden !important;
}

/* Mobile only */
@media (max-width: 768px) {
    /* Forza visibilità hamburger */
    .menu-toggle,
    .mobile-nav-button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
    }
    
    /* Icona hamburger */
    .menu-toggle span,
    .hamburger-icon span {
        display: block !important;
        width: 25px !important;
        height: 2px !important;
        background: #333 !important;
        margin: 5px 0 !important;
        transition: all 0.3s ease !important;
    }
}

/* Desktop - nascondi menu mobile */
@media (min-width: 769px) {
    .handheld-navigation,
    .mobile-nav-menu,
    .mobile-menu,
    .mobile-menu-wrapper {
        display: none !important;
    }
    
    .menu-toggle,
    .mobile-nav-button {
        display: none !important;
    }
}

/* ============================================
   FIX SPECIFICI FRESHIO MENU MOBILE
   ============================================ */

/* Freshio specific */
.site-header-mobile .handheld-header,
.freshio-header-mobile {
    display: block !important;
}

/* Toggle button Freshio */
.site-header-mobile .menu-toggle-btn,
.freshio-header .menu-mobile-toggle {
    cursor: pointer !important;
    padding: 10px !important;
}

/* Menu content Freshio */
.site-header-mobile .mobile-menu-content,
.freshio-mobile-nav-content {
    padding-top: 60px !important;
}

/* JavaScript fallback - se il JS non funziona */
.menu-toggle:focus + .handheld-navigation,
.menu-toggle:active + .handheld-navigation {
    left: 0 !important;
}




/* ============================================
   FIX FOOTER FULL-WIDTH - ZERO GAP
   Basato su #colophon.site-footer
   ============================================ */

/* Footer full-width senza gap */
#colophon,
#colophon.site-footer,
footer.site-footer {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    margin-left: 0px !important;
    margin-right: 0px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background-color: #6B7F39 !important; /* Stesso verde del footer */
}

/* Container interno footer */
#colophon .site-footer-inner,
#colophon .footer-widgets,
#colophon > .container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* Rimuovi tutti i padding extra */
.site-footer {
    padding: 0 !important;
}

/* Fix specifico per elementi interni */
#colophon * {
    box-sizing: border-box !important;
}

/* Mobile footer */
@media (max-width: 768px) {
    #colophon,
    #colophon.site-footer {
        padding: 0 !important;
        margin: 0 !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
    }
    
    #colophon .site-footer-inner,
    #colophon .footer-widgets {
        padding: 30px 15px !important;
    }
}

/* ============================================
   FIX MENU MOBILE FRESHIO
   Basato su .freshio-mobile-nav
   ============================================ */

/* Container menu mobile */
.freshio-mobile-nav {
    position: fixed !important;
    top: 0 !important;
    left: -100% !important;
    width: 300px !important;
    max-width: 85vw !important;
    height: 100vh !important;
    background: white !important;
    z-index: 99999 !important;
    transition: left 0.4s ease !important;
    overflow-y: auto !important;
    box-shadow: 2px 0 15px rgba(0,0,0,0.3) !important;
    padding: 20px 0 !important;
}

/* Menu aperto - classe aggiunta da JavaScript */
.freshio-mobile-nav.active,
body.mobile-menu-open .freshio-mobile-nav {
    left: 0 !important;
}

/* Overlay scuro */
.freshio-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0,0,0,0.6) !important;
    z-index: 99998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.4s ease, visibility 0.4s ease !important;
    pointer-events: none !important;
}

/* Overlay visibile quando menu aperto */
.freshio-overlay.active,
body.mobile-menu-open .freshio-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Lista menu mobile */
.freshio-mobile-nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.freshio-mobile-nav li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #eee !important;
}

/* Link menu mobile - VISIBILI */
.freshio-mobile-nav a {
    display: block !important;
    padding: 15px 25px !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

.freshio-mobile-nav a:hover {
    background: #f5f5f5 !important;
    color: #6B7F39 !important;
    padding-left: 30px !important;
}

/* Submenu */
.freshio-mobile-nav .sub-menu {
    padding-left: 0 !important;
    background: #f9f9f9 !important;
}

.freshio-mobile-nav .sub-menu a {
    padding-left: 40px !important;
    font-size: 0.95rem !important;
}

/* Bottone chiudi menu */
.freshio-mobile-nav .mobile-nav-close,
.freshio-mobile-nav .close-btn {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 35px !important;
    height: 35px !important;
    background: transparent !important;
    border: none !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    color: #333 !important;
    z-index: 100000 !important;
}

/* Body bloccato quando menu aperto */
body.mobile-menu-open {
    overflow: hidden !important;
}

/* Hamburger icon toggle */
.site-header-mobile .menu-toggle,
.header-mobile-nav-icon,
button[data-toggle="mobile-menu"] {
    cursor: pointer !important;
    z-index: 9999 !important;
}

/* ============================================
   JAVASCRIPT FALLBACK - Aggiungi classi
   ============================================ */

/* Se il tema non aggiunge .active automaticamente, forza apertura con :target */
.freshio-mobile-nav:target {
    left: 0 !important;
}

.freshio-mobile-nav:target ~ .freshio-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Desktop - nascondi menu mobile */
@media (min-width: 992px) {
    .freshio-mobile-nav,
    .freshio-overlay {
        display: none !important;
    }
}

/* Mobile - assicurati che sia tutto visibile */
@media (max-width: 991px) {
    .freshio-mobile-nav {
        display: block !important;
    }
}


/* FALLBACK MENU MOBILE */
@media (max-width: 991px) {
    .menu-toggle:focus + .freshio-mobile-nav,
    .menu-toggle:active + .freshio-mobile-nav {
        left: 0 !important;
    }
    
    .menu-toggle:focus ~ .freshio-overlay,
    .menu-toggle:active ~ .freshio-overlay {
        opacity: 1 !important;
        visibility: visible !important;
    }
}


/* Mostra la parola “Menu” solo su mobile */
@media (max-width: 768px) {
  .menu-mobile-nav-button .toggle-text {
    position: static !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    display: inline-block !important;
    margin-left: 6px;
    font-size: 1rem;
    color: #333;
  }
}

/* ============================================
   MENU MOBILE - CSS ULTRA-AGGRESSIVO PER MOBILE REALE
   ============================================ */
@media (max-width: 991px) {
    
    /* SIDEBAR - Posizione base */
    .freshio-mobile-nav,
    div.freshio-mobile-nav {
        position: fixed !important;
        top: 0 !important;
        left: -300px !important;
        width: 300px !important;
        height: 100vh !important;
        height: 100dvh !important; /* Dynamic viewport per mobile */
        background: white !important;
        z-index: 9999999 !important;
        transition: left 0.3s ease !important;
        overflow-y: auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        box-shadow: 2px 0 15px rgba(0,0,0,0.3) !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* SIDEBAR APERTA - FORZA MASSIMA */
    .freshio-mobile-nav.active,
    div.freshio-mobile-nav.active,
    body.mobile-menu-open .freshio-mobile-nav,
    html body .freshio-mobile-nav.active {
        left: 0 !important;
        transform: translateX(0) !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Hamburger più grande */
    .menu-mobile-nav-button,
    a.menu-mobile-nav-button {
        transform: scale(1.1) !important;
        padding: 12px !important;
    }
    
    /* Area tap più grande */
    .menu-mobile-nav-button {
        position: relative !important;
        min-width: 48px !important;
        min-height: 48px !important;
    }
    
 .freshio-mobile-nav .close-btn {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    background: lightgreen !important; /* Cerchio rosso */
    border: none !important;
    border-radius: 50% !important; /* Cerchio */
    font-size: 20px !important;
    color: white !important; /* X bianca */
    cursor: pointer !important;
    width: 36px !important;
    height: 36px !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.freshio-mobile-nav .close-btn:hover {
    background: darkred !important;
    transform: scale(1.1) !important;
}

/* ============================================
   X VERDE CHIUDI MENU - VISIBILE SU MOBILE
   ============================================ */
@media (max-width: 991px) {
    .freshio-mobile-nav .close-btn,
    .freshio-mobile-nav button.close-btn {
        position: absolute !important;
        top: 15px !important;
        right: 15px !important;
        background: lightgreen !important;
        border: 0.5px solid white !important;
        border-radius: 100% !important;
        font-size: 14px !important;
        color: white !important;
        cursor: pointer !important;
        width: 40px !important;
        height: 40px !important;
        z-index: 99999 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        font-weight: bold !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    
    .freshio-mobile-nav .close-btn:active {
        transform: scale(0.95) !important;
        background: green !important;
    }
}
    
    /* NAV CONTAINER */
    .freshio-mobile-nav .mobile-navigation {
        padding: 70px 0 20px !important;
        background: white !important;
    }
    
    /* UL MENU */
    .freshio-mobile-nav .mobile-menu {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
    }
    
    /* LI ITEMS */
    .freshio-mobile-nav .menu-item {
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #eee !important;
    }
    
    /* LINK */
    .freshio-mobile-nav .menu-item a {
        display: block !important;
        padding: 18px 25px !important;
        color: #333 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        background: white !important;
    }
    
    .freshio-mobile-nav .menu-item a:hover {
        background: #f5f5f5 !important;
        color: #6B7F39 !important;
    }
    
    /* Shadow header */
    header,
    .site-header,
    #masthead {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
        position: relative !important;
        z-index: 100 !important;
    }
    
    /* Nascondi scritta Menu */
    .toggle-text.screen-reader-text {
        display: none !important;
    }
    
    /* Overlay Freshio nascosto */
    .freshio-overlay {
        display: none !important;
    }
    
    /* Menu nativi nascosti */
    .handheld-navigation {
        display: none !important;
    }
}

/* BODY BLOCCATO */
body.mobile-menu-open {
    overflow: hidden !important;
}
css/* ============================================
   FIX SCRITTA "MENU" - VERSIONE CORRETTA
   ============================================ */
@media (max-width: 991px) {
    /* Nascondi SOLO la scritta "Menu" sotto hamburger */
    a.menu-mobile-nav-button > span.toggle-text,
    .menu-mobile-nav-button > span.toggle-text {
        display: none !important;
    }
}

/* ============================================
   SHADOW SOTTO HEADER MOBILE
   ============================================ */
@media (max-width: 991px) {
    /* Ombreggiatura leggera sotto header */
    header,
    .site-header,
    #masthead,
    header#masthead {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
        position: relative !important;
        z-index: 100 !important;
    }
}

css/* ============================================
   NASCONDI SCRITTA "MENU" - VERSIONE DEFINITIVA
   ============================================ */
@media (max-width: 991px) {
    /* Nascondi scritta "Menu" con classe esatta */
    .toggle-text.screen-reader-text,
    .menu-mobile-nav-button .toggle-text.screen-reader-text,
    span.toggle-text.screen-reader-text {
        display: none !important;
        visibility: hidden !important;
    }
}


/* ============================================
   FIX OVERLAY NERO - BLOCCA MENU NATIVO
   ============================================ */
@media (max-width: 991px) {
    /* Blocca overlay nero che appare al primo tap */
    body::before,
    body::after,
    html::before,
    html::after {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        content: none !important;
    }
    
    /* Blocca overlay Freshio */
    .mobile-menu-overlay,
    .handheld-overlay,
    .site-overlay,
    .nav-overlay,
    body > .overlay {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    
    /* Previeni body con classi overlay */
    body.mobile-menu-active,
    body.nav-open,
    body.menu-open {
        overflow: auto !important;
    }
    
    body.mobile-menu-active::before,
    body.nav-open::before,
    body.menu-open::before {
        display: none !important;
    }
    
    /* Menu nativi nascosti immediatamente */
    .handheld-navigation,
    nav.handheld-navigation,
    .mobile-navigation:not(.freshio-mobile-nav .mobile-navigation) {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        position: absolute !important;
        left: -9999px !important;
        pointer-events: none !important;
    }
}

css/* ============================================
   NASCONDI .freshio-overlay - FIX DEFINITIVO
   ============================================ */
@media (max-width: 991px) {
    /* NASCONDI OVERLAY FRESHIO SEMPRE */
    .freshio-overlay,
    div.freshio-overlay {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        position: absolute !important;
        left: -9999px !important;
        z-index: -1 !important;
    }
    
    /* Anche se ha classe active */
    .freshio-overlay.active,
    div.freshio-overlay.active {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }
}


/* ============================================
   FIX 3 TAP - BLOCCA OVERLAY NATIVO
   ============================================ */
@media (max-width: 991px) {
    /* Nascondi overlay nero IMMEDIATAMENTE */
    .freshio-overlay {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: -1 !important;
    }
    
    /* Nascondi menu nativo */
    .handheld-navigation {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    
    /* Previeni body overlay */
    body::before,
    body::after {
        display: none !important;
    }
}


/* ============================================
   FIX NEWSLETTER MOBILE - CONTAINER & CENTRATURA
   ============================================ */

/* Container principale newsletter */
.newsletter-section,
.newsletter-container,
.elementor-widget-newsletter,
[class*="newsletter"] {
    max-width: 100% !important;
    width: 100% !important;
    padding: 40px 20px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Titolo "Iscriviti alla nostra Newsletter" */
.newsletter-section h2,
.newsletter-container h2,
.newsletter-title {
    text-align: center !important;
    color: #7a8450 !important;
    font-size: 1.8rem !important;
    margin-bottom: 25px !important;
    padding: 0 15px !important;
    line-height: 1.3 !important;
}

/* Form wrapper - centra tutto */
.newsletter-form,
.newsletter-section form,
form[class*="newsletter"] {
    max-width: 500px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
}

/* Input email + bottone container */
.newsletter-form .input-group,
.newsletter-form .form-group,
.newsletter-input-wrapper {
    display: flex !important;
    align-items: center !important;
    background: white !important;
    border-radius: 50px !important;
    padding: 5px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
    margin-bottom: 15px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Campo input email */
.newsletter-form input[type="email"],
.newsletter-form input[type="text"],
input[placeholder*="Email"],
input[placeholder*="email"] {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    padding: 12px 20px !important;
    font-size: 14px !important;
    background: transparent !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Bottone submit (freccia verde) */
.newsletter-form button,
.newsletter-form input[type="submit"],
.newsletter-submit {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    border-radius: 50% !important;
    background: #7a8450 !important;
    border: none !important;
    color: white !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: background 0.3s ease !important;
}

.newsletter-form button:hover {
    background: #5d6639 !important;
}

/* Testo sotto "Ricevi aggiornamenti..." */
.newsletter-description,
.newsletter-form p,
.newsletter-text {
    text-align: center !important;
    font-size: 14px !important;
    color: #666 !important;
    margin-top: 10px !important;
    padding: 0 15px !important;
    line-height: 1.5 !important;
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 768px) {
    .newsletter-section,
    .newsletter-container {
        padding: 30px 15px !important;
    }
    
    .newsletter-section h2,
    .newsletter-container h2 {
        font-size: 1.5rem !important;
        margin-bottom: 20px !important;
    }
    
    .newsletter-form {
        padding: 0 10px !important;
    }
    
    .newsletter-form input[type="email"],
    .newsletter-form input[type="text"] {
        font-size: 13px !important;
        padding: 10px 15px !important;
    }
    
    .newsletter-description,
    .newsletter-text {
        font-size: 13px !important;
    }
}

@media (max-width: 480px) {
    .newsletter-section h2,
    .newsletter-container h2 {
        font-size: 1.3rem !important;
        padding: 0 10px !important;
    }
    
    .newsletter-form input[type="email"],
    .newsletter-form input[type="text"] {
        font-size: 12px !important;
        padding: 10px 12px !important;
    }
    
    .newsletter-form button,
    .newsletter-submit {
        width: 45px !important;
        height: 45px !important;
        min-width: 45px !important;
    }
}

@media (max-width: 375px) {
    .newsletter-section,
    .newsletter-container {
        padding: 25px 10px !important;
    }
    
    .newsletter-section h2,
    .newsletter-container h2 {
        font-size: 1.2rem !important;
    }
    
    .newsletter-description,
    .newsletter-text {
        font-size: 12px !important;
    }
}

/* Fix overflow del parent container */
.elementor-section,
.elementor-container {
    overflow-x: hidden !important;
}

/* Previeni scrollbar orizzontale */
body {
    overflow-x: hidden !important;
}

html {
    overflow-x: hidden !important;
}






/* ============================================
   STILE SHOP WOOCOMMERCE - IDENTICO ALLA HOME
   ============================================ */

/* Container principale Shop */
.woocommerce.archive,
.woocommerce-page.archive {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* Header Shop (risultati + ordinamento) */
.woocommerce-result-count,
.woocommerce-ordering {
    font-size: 0.9rem;
    color: #666;
}

.woocommerce-ordering select {
    padding: 10px 15px;
    border: 1px solid #E5E5E5;
    border-radius: 5px;
    font-size: 0.9rem;
    cursor: pointer;
}

/* Grid Prodotti Shop */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 30px !important;
    margin: 40px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Card Prodotto */
.woocommerce ul.products li.product {
    background: white !important;
    border-radius: 10px !important;
    padding: 20px !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    margin: 0 !important;
    position: relative !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 8px 25px rgba(0,0,0,0.12) !important;
    transform: translateY(-5px) !important;
}

/* Immagine Prodotto */
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    margin-bottom: 15px !important;
    transition: transform 0.3s ease !important;
}

.woocommerce ul.products li.product:hover img {
    transform: scale(1.08) !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    text-decoration: none !important;
}

/* Titolo Prodotto */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-size: 1rem !important;
    font-weight: 500 !important;
    margin: 15px 0 10px !important;
    line-height: 1.4 !important;
    color: #333 !important;
    min-height: 45px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title:hover,
.woocommerce ul.products li.product h2:hover {
    color: #6B7F39 !important;
}

/* Prezzo */
.woocommerce ul.products li.product .price {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    margin: 15px 0 !important;
    color: #6B7F39 !important;
    display: block !important;
}

.woocommerce ul.products li.product .price del {
    color: #999 !important;
    font-size: 0.9rem !important;
    margin-right: 8px !important;
    font-weight: 400 !important;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
    color: #E91E8C !important;
}

/* Bottoni */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_simple,
.woocommerce ul.products li.product .product_type_variable {
    display: inline-block !important;
    background: transparent !important;
    color: #333 !important;
    border: 1px solid #E5E5E5 !important;
    padding: 10px 20px !important;
    border-radius: 5px !important;
    text-decoration: none !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    margin-top: 10px !important;
    width: auto !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .product_type_simple:hover,
.woocommerce ul.products li.product .product_type_variable:hover {
    background: #6B7F39 !important;
    color: white !important;
    border-color: #6B7F39 !important;
}

/* Badge "In Offerta" */
.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    background: #E91E8C !important;
    color: white !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    z-index: 2 !important;
}

/* Rating Stelle */
.woocommerce ul.products li.product .star-rating {
    margin: 10px auto !important;
    color: #FFD700 !important;
}

/* Paginazione */
.woocommerce nav.woocommerce-pagination {
    text-align: center !important;
    margin-top: 40px !important;
}

.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    display: inline-flex !important;
    gap: 10px !important;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: 1px solid #E5E5E5 !important;
    border-radius: 5px !important;
    margin: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    padding: 10px 15px !important;
    color: #333 !important;
    background: white !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #6B7F39 !important;
    color: white !important;
    border-color: #6B7F39 !important;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */
@media (max-width: 1024px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 25px !important;
    }
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */
@media (max-width: 768px) {
    .woocommerce.archive,
    .woocommerce-page.archive {
        padding: 30px 15px;
    }
    
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    
    .woocommerce ul.products li.product {
        padding: 15px !important;
    }
    
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2 {
        font-size: 0.9rem !important;
        min-height: auto !important;
    }
    
    .woocommerce ul.products li.product .price {
        font-size: 1rem !important;
    }
    
    .woocommerce ul.products li.product .button {
        padding: 8px 15px !important;
        font-size: 0.8rem !important;
    }
}

/* ============================================
   RESPONSIVE - MOBILE PICCOLO
   ============================================ */
@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    .woocommerce ul.products li.product {
        max-width: 350px;
        margin: 0 auto !important;
    }
}

/* ============================================
   FIX VARI
   ============================================ */

/* Nascondi elementi non necessari */
.woocommerce ul.products li.product .woocommerce-loop-category__title {
    display: none;
}

/* Forza stile uniforme */
.woocommerce ul.products li.product * {
    box-sizing: border-box !important;
}

/* Link senza sottolineatura */
.woocommerce ul.products li.product a {
    text-decoration: none !important;
}

/* Fix immagini prodotto */
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100% !important;
    height: auto !important;
}



/* FIX BRUTALE BOTTONE NEWSLETTER */
.newsletter-form-wrapper input[type="submit"],
.newsletter-form-wrapper button[type="submit"],
.newsletter-form-wrapper .tnp-submit {
    background: #6B7F39 !important;
    color: transparent !important;
    border: none !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.newsletter-form-wrapper input[type="submit"]::before,
.newsletter-form-wrapper button[type="submit"]::before,
.newsletter-form-wrapper .tnp-submit::before {
    content: "→" !important;
    color: white !important;
    font-size: 1.5rem !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}



/* ============================================
   BOTTONE SCROLL TO TOP
   ============================================ */

.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #6B7F39 0%, #9ACD32 100%);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(107, 127, 57, 0.3);
    transition: all 0.3s ease;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(100px);
}

/* Bottone visibile quando si scrolla */
.scroll-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Hover effect */
.scroll-to-top:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(107, 127, 57, 0.4);
    background: linear-gradient(135deg, #5a6930 0%, #7fb32d 100%);
}

/* Active/Click effect */
.scroll-to-top:active {
    transform: translateY(-2px);
}

/* Icona freccia */
.scroll-to-top svg {
    width: 24px;
    height: 24px;
    stroke: white;
    stroke-width: 2.5;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */
@media (max-width: 768px) {
    .scroll-to-top {
        bottom: 20px;
        right: 20px;
        width: 45px;
        height: 45px;
    }
    
    .scroll-to-top svg {
        width: 20px;
        height: 20px;
    }
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */
@media (max-width: 480px) {
    .scroll-to-top {
        bottom: 15px;
        right: 15px;
        width: 40px;
        height: 40px;
        box-shadow: 0 3px 10px rgba(107, 127, 57, 0.3);
    }
    
    .scroll-to-top svg {
        width: 18px;
        height: 18px;
        stroke-width: 2.5;
    }
    
    .scroll-to-top:hover {
        transform: translateY(-3px);
    }
}

/* ============================================
   ANIMAZIONE PULSE (opzionale)
   ============================================ */
.scroll-to-top.visible::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(107, 127, 57, 0.3);
    animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse-ring {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

/* Nascondi pulse su mobile per performance */
@media (max-width: 768px) {
    .scroll-to-top.visible::before {
        display: none;
    }
}



/* Menu mobile - FORZA visibilità */
.mobile-menu-cocciu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.freshio-mobile-nav,
.mobile-navigation {
    background: #6B7F39 !important;
}


/* ============================================
   FIX MENU BOTTOM MOBILE (FOOTER NAVIGATION)
   ============================================ */

/* Barra bottom navigation */
.mobile-bottom-nav,
.bottom-bar-menu,
.mobile-footer-menu,
.freshio-mobile-menu-bottom,
.footer-mobile-navigation,
div[class*="bottom-bar"],
nav[class*="bottom"] {
    background: #6B7F39 !important;
    border-top: 2px solid #9ACD32 !important;
}

/* Icone e testo */
.mobile-bottom-nav a,
.bottom-bar-menu a,
.mobile-footer-menu a,
.freshio-mobile-menu-bottom a {
    color: #fff !important;
}

/* Icone SVG */
.mobile-bottom-nav svg,
.bottom-bar-menu svg,
.mobile-footer-menu svg {
    fill: #fff !important;
    stroke: #fff !important;
}

/* Badge counter */
.mobile-bottom-nav .count,
.bottom-bar-menu .count {
    background: #9ACD32 !important;
    color: #333 !important;
}

/* Hover/Active state */
.mobile-bottom-nav a:hover,
.mobile-bottom-nav a.active,
.bottom-bar-menu a:hover,
.bottom-bar-menu a.active {
    color: #9ACD32 !important;
}

/* Fix specifico Freshio bottom bar */
.freshio-mobile-menu-bottom .item-link {
    color: #fff !important;
}

.freshio-mobile-menu-bottom .item-link svg {
    fill: #fff !important;
}


/* ============================================
   FIX VISUALIZZAZIONE PRODOTTI SHOP
   ============================================ */

/* Forza visualizzazione prodotti */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
    gap: 30px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 30px 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 20px !important;
    background: white !important;
    border-radius: 10px !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 30px rgba(107, 127, 57, 0.15) !important;
}

/* Immagine prodotto */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    border-radius: 8px !important;
    margin-bottom: 15px !important;
}

/* Titolo prodotto */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 1.1rem !important;
    color: #333 !important;
    margin-bottom: 10px !important;
}

/* Prezzo prodotto */
.woocommerce ul.products li.product .price {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 1.2rem !important;
    color: #6B7F39 !important;
    font-weight: 700 !important;
    margin-bottom: 15px !important;
}

/* Bottone aggiungi al carrello */
.woocommerce ul.products li.product .button {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #6B7F39 !important;
    color: white !important;
    padding: 10px 20px !important;
    border-radius: 5px !important;
    text-decoration: none !important;
    transition: background 0.3s ease !important;
}

.woocommerce ul.products li.product .button:hover {
    background: #9ACD32 !important;
}

/* Container principale shop */
.woocommerce .products,
.woocommerce-page .products {
    min-height: 400px !important;
}

/* Badge biologico visibile */
.bio-badge {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Responsive */
@media (max-width: 768px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
        gap: 20px !important;
    }
    
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        padding: 15px !important;
    }
}

/* ============================================
   FIX BODY E CONTAINER SHOP - FORZA 100%
   ============================================ */

/* Forza body e html al 100% sulla pagina shop */
body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat {
    min-height: 100vh !important;
    width: 100% !important;
    overflow-x: hidden !important;
}

/* Container principale shop */
.woocommerce-shop .site-content,
.post-type-archive-product .site-content,
.tax-product_cat .site-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 40px 20px !important;
    min-height: 100vh !important;
}

/* Wrapper contenuto shop */
.woocommerce,
.woocommerce-page {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Container prodotti */
.woocommerce .content-area,
.woocommerce-page .content-area {
    width: 100% !important;
    max-width: 100% !important;
}

/* Main content */
.woocommerce main.site-main,
.woocommerce-page main.site-main {
    width: 100% !important;
    max-width: 100% !important;
}

/* Products wrapper */
.woocommerce .products-wrapper,
.woocommerce-page .products-wrapper {
    width: 100% !important;
}

/* Griglia prodotti */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 40px 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Singolo prodotto */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    min-height: 400px !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 20px !important;
    background: white !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    position: relative !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 30px rgba(107, 127, 57, 0.15) !important;
}

/* Link del prodotto */
.woocommerce ul.products li.product a {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}

/* Immagine prodotto */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
    display: block !important;
    width: 100% !important;
    height: 100px !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
    border-radius: 10px !important;
    margin-bottom: 15px !important;
}


/* Titolo prodotto */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 1.2rem !important;
    color: #333 !important;
    margin: 15px 0 10px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

/* Prezzo prodotto */
.woocommerce ul.products li.product .price {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 1.4rem !important;
    color: #6B7F39 !important;
    font-weight: 700 !important;
    margin: 15px 0 !important;
}

/* Bottone aggiungi al carrello */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #6B7F39 !important;
    color: white !important;
    padding: 12px 25px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
    margin-top: auto !important;
    width: 100% !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background: #9ACD32 !important;
    transform: translateY(-2px) !important;
}

/* Badge biologico */
.bio-badge {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #9ACD32 !important;
    color: white !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

/* Ordinamento e risultati */
.woocommerce-result-count,
.woocommerce-ordering {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-bottom: 20px !important;
}

/* Breadcrumb shop */
.woocommerce .woocommerce-breadcrumb {
    display: block !important;
    opacity: 1 !important;
    margin-bottom: 30px !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
    display: block !important;
    text-align: center !important;
    margin: 40px 0 !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 1200px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
        gap: 25px !important;
    }
}

@media (max-width: 768px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
        gap: 20px !important;
    }
    
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        padding: 15px !important;
        min-height: 350px !important;
    }
    
    .woocommerce ul.products li.product a img,
    .woocommerce ul.products li.product img {
        height: 180px !important;
    }
    
    .woocommerce .content-area,
    .woocommerce-page .content-area {
        padding: 20px 15px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    
    .woocommerce ul.products li.product a img,
    .woocommerce ul.products li.product img {
        height: 220px !important;
    }
}

/* ============================================
   FIX EVENTUALI OVERFLOW NASCOSTI
   ============================================ */

.woocommerce,
.woocommerce-page,
.woocommerce ul.products,
.woocommerce-page ul.products,
.products,
.product {
    overflow: visible !important;
}

/* Rimuovi eventuali height fisse */
.woocommerce .products-wrapper,
.woocommerce ul.products {
    height: auto !important;
    min-height: auto !important;
}


css/* ============================================
   FIX DEFINITIVO SHOP - FORZA VISUALIZZAZIONE
   ============================================ */

/* RESET COMPLETO struttura shop */
.woocommerce .products.columns-4,
.woocommerce ul.products.columns-4,
ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    padding: 20px !important;
    margin: 0 !important;
}

/* FORZA singolo prodotto */
.woocommerce ul.products li.product,
ul.products li.product,
li.product.type-product {
    display: flex !important;
    flex-direction: column !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 450px !important;
    padding: 20px !important;
    margin: 0 !important;
    background: white !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08) !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    transition: all 0.3s ease !important;
}

/* webkit-box-flex fix */
.woocommerce ul.products li.product,
ul.products li.product {
    -webkit-box-flex: none !important;
    -ms-flex: none !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 30px rgba(107, 127, 57, 0.15) !important;
}

/* Link prodotto */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

/* Immagine prodotto */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail {
    display: block !important;
    width: 100% !important;
    height: 280px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    margin-bottom: 15px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Titolo prodotto */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    display: block !important;
    font-size: 1.2rem !important;
    color: #333 !important;
    margin: 15px 0 10px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Prezzo prodotto */
.woocommerce ul.products li.product .price {
    display: block !important;
    font-size: 1.5rem !important;
    color: #6B7F39 !important;
    font-weight: 700 !important;
    margin: 15px 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.woocommerce ul.products li.product .price del {
    color: #999 !important;
    font-size: 1.2rem !important;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
    color: #6B7F39 !important;
}

/* Bottone aggiungi al carrello */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.button {
    display: inline-block !important;
    width: 100% !important;
    background: linear-gradient(135deg, #6B7F39 0%, #9ACD32 100%) !important;
    color: white !important;
    padding: 12px 0px !important;
    border-radius: 30px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    text-align: center !important;
    border: none !important;
    cursor: pointer !important;
    margin-top: auto !important;
    transition: all 0.3s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 1rem !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background: linear-gradient(135deg, #9ACD32 0%, #6B7F39 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(107, 127, 57, 0.3) !important;
}

/* Badge biologico */
.woocommerce ul.products li.product .bio-badge {
    display: inline-block !important;
    background: #9ACD32 !important;
    color: white !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Container principale */
.woocommerce,
.woocommerce-page {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: -20px -20px !important;
}

/* Content area */
.woocommerce .content-area,
.woocommerce main.site-main {
    width: 100% !important;
    max-width: 100% !important;
}

/* Ordinamento e risultati */
.woocommerce-result-count,
.woocommerce .woocommerce-result-count {
    display: block !important;
    margin-bottom: 20px !important;
    font-size: 1rem !important;
    color: #666 !important;
}

.woocommerce .woocommerce-ordering,
.woocommerce-ordering {
    display: block !important;
    margin-bottom: 20px !important;
}

.woocommerce .woocommerce-ordering select {
    padding: 8px 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 1200px) {
    .woocommerce .products.columns-4,
    .woocommerce ul.products.columns-4 {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 25px !important;
    }
}

@media (max-width: 968px) {
    .woocommerce .products.columns-4,
    .woocommerce ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    
    .woocommerce ul.products li.product {
        min-height: 400px !important;
    }
    
    .woocommerce ul.products li.product a img {
        height: 220px !important;
    }
}

@media (max-width: 600px) {
    .woocommerce .products.columns-4,
    .woocommerce ul.products.columns-4 {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 15px !important;
    }
    
    .woocommerce ul.products li.product {
        min-height: 380px !important;
        padding: 15px !important;
    }
    
    .woocommerce ul.products li.product a img {
        height: 250px !important;
    }
}

/* ============================================
   FIX THEME FRESHIO SPECIFICO
   ============================================ */

/* Disabilita eventuali flex box del tema */
.freshio-sorting .products {
    display: grid !important;
}

/* Rimuovi transform che potrebbero nascondere prodotti */
.woocommerce ul.products li.product {
    transform: none !important;
}

.woocommerce ul.products li.product.product-invisible {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Forza visibilità di tutti gli elementi */
.woocommerce ul.products li.product * {
    opacity: 1 !important;
    visibility: visible !important;
}



/* ============================================
   FIX DEFINITIVO SHOP WOOCOMMERCE 
   Cocciu da Muri di Sicilia
   ============================================ */

/* OVERRIDE COMPLETO delle regole che causano il problema */
@media (min-width: 768px) {
    /* Reset delle regole problematiche */
    ul.products.columns-4 li.product,
    .woocommerce ul.products.columns-4 li.product,
    .woocommerce-page ul.products.columns-4 li.product {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
        max-width: none !important;
        width: auto !important;
    }
    
    /* Griglia corretta con Grid CSS */
    ul.products.columns-4,
    .woocommerce ul.products.columns-4,
    .woocommerce-page ul.products.columns-4 {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(250px, 1fr)) !important;
        gap: 30px !important;
        width: 100% !important;
        padding: 20px !important;
        margin: 0 !important;
    }
    
    /* Stile prodotto singolo */
    ul.products.columns-4 li.product,
    .woocommerce ul.products.columns-4 li.product {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        min-height: 400px !important;
        padding: 20px !important;
        margin: 0 !important;
        background: white !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
        transition: all 0.3s ease !important;
        position: relative !important;
    }
    
    /* Hover effect */
    ul.products.columns-4 li.product:hover,
    .woocommerce ul.products.columns-4 li.product:hover {
        transform: translateY(-5px) !important;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12) !important;
    }
}

/* Layout 3 colonne per schermi medi */
@media (min-width: 768px) and (max-width: 1200px) {
    ul.products.columns-4,
    .woocommerce ul.products.columns-4,
    .woocommerce-page ul.products.columns-4 {
        grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
    }
}

/* Tablet (2 colonne) */
@media (max-width: 767px) {
    ul.products.columns-4,
    .woocommerce ul.products.columns-4,
    .woocommerce-page ul.products.columns-4 {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
        padding: 15px !important;
    }
    
    ul.products.columns-4 li.product,
    .woocommerce ul.products.columns-4 li.product {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        min-height: 350px !important;
        padding: 15px !important;
    }
}

/* Mobile (1 colonna) */
@media (max-width: 480px) {
    ul.products.columns-4,
    .woocommerce ul.products.columns-4,
    .woocommerce-page ul.products.columns-4 {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    ul.products.columns-4 li.product,
    .woocommerce ul.products.columns-4 li.product {
        max-width: 400px !important;
        margin: 0 auto !important;
    }
}

/* ============================================
   STILE ELEMENTI PRODOTTO
   ============================================ */

/* Immagine prodotto */
.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    margin-bottom: 15px !important;
}

/* Titolo prodotto */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: #2c3e50 !important;
    margin: 10px 0 !important;
    min-height: 45px !important;
    line-height: 1.4 !important;
}

/* Prezzo */
.woocommerce ul.products li.product .price {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #6b7f39 !important;
    margin: 10px 0 15px !important;
}

.woocommerce ul.products li.product .price del {
    color: #999 !important;
    font-size: 1rem !important;
    margin-right: 8px !important;
}

.woocommerce ul.products li.product .price ins {
    color: #d9534f !important;
    text-decoration: none !important;
}

/* Bottone Aggiungi al Carrello */
.woocommerce ul.products li.product .button {
    margin-top: auto !important;
    padding: 12px 20px !important;
    background: #6b7f39 !important;
    color: white !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce ul.products li.product .button:hover {
    background: #5a6a32 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(107, 127, 57, 0.3) !important;
}

/* Badge Saldi/Offerta */
.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    background: #d9534f !important;
    color: white !important;
    padding: 5px 10px !important;
    border-radius: 5px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    z-index: 10 !important;
}

/* Fix per assicurare visibilità completa */
.woocommerce ul.products li.product * {
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product a {
    text-decoration: none !important;
    color: inherit !important;
}

/* Rimuovi margini e padding extra dal container */
.woocommerce .products {
    margin: 0 !important;
    padding: 0 !important;
}

/* Assicura che il container sia full width */
.woocommerce-products-wrapper,
.woocommerce {
    width: 100% !important;
    max-width: 100% !important;
}

/* Override specifico per Avada se presente */
.fusion-woo-product-wrapper .products {
    display: grid !important;
}

/* Fix finale per forzare visualizzazione */
ul.products li.product {
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
}




/* Fix per visualizzazione prodotti desktop */
ul.products.columns-4 {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

ul.products.columns-4 li.product {
    flex: 0 0 25%;
    max-width: 25%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
    box-sizing: border-box;
}

/* Responsive per tablet */
@media (max-width: 1023px) {
    ul.products.columns-4 li.product {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Responsive per mobile */
@media (max-width: 767px) {
    ul.products.columns-4 li.product {
        flex: 0 0 100%;
        max-width: 100%;
    }
}



css/* Riduci margine tra menu e immagine */
.header-navigation {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.site-header {
    margin-bottom: 0 !important;
}

.site-content {
    padding-top: 0 !important;
}

/* Rimuovi padding dalla sezione hero/banner */
.elementor-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Se hai una breadcrumb, nascondila o riduci margine */
.freshio-breadcrumb {
    display: none;
}

/* O in alternativa riduci solo il margine */
.freshio-breadcrumb {
    margin: 0 !important;
    padding: 15px 0 !important;
}


/* 1. RIMUOVI SPAZIO TRA MENU E BANNER */
.freshio-breadcrumb {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

.site-header {
    margin-bottom: 0 !important;
}

.site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 2. PRODOTTI MOBILE A 1 COLONNA AL 100% */
@media (max-width: 767px) {
    ul.products li.product,
    ul.products.columns-1 li.product,
    ul.products.columns-2 li.product,
    ul.products.columns-3 li.product,
    ul.products.columns-4 li.product,
    .woocommerce ul.products li.product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Forza display corretto su mobile */
    ul.products {
        display: flex !important;
        flex-direction: column !important;
    }
    
    /* Migliora spacing tra prodotti */
    ul.products li.product {
        margin-bottom: 30px !important;
    }
}

/* 3. TABLET - 1 colonna anche su tablet se preferisci */
@media (min-width: 768px) and (max-width: 1023px) {
    ul.products.columns-4 li.product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}



/* ========== 1. RIMUOVI SPAZIO TRA MENU E BANNER ========== */

/* Rimuovi padding/margin da tutti gli elementi tra header e content */
.site-header,
.header-navigation,
.header-main,
.header-bottom {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Rimuovi breadcrumb e spazi vuoti */
.freshio-breadcrumb {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Rimuovi paragrafi vuoti che creano spazio */
.site-main > p:empty,
.entry-content > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Forza la prima sezione a stare attaccata al menu */
.site-content > .col-full,
#primary,
.content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.elementor-section:first-child,
.site-main > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* ========== 2. PRODOTTI MOBILE UNO SOTTO L'ALTRO ========== */

@media (max-width: 767px) {
    /* Forza container prodotti a colonna singola */
    ul.products,
    .woocommerce ul.products,
    ul.products.columns-1,
    ul.products.columns-2,
    ul.products.columns-3,
    ul.products.columns-4,
    ul.products.columns-5 {
        display: flex !important;
        flex-direction: column !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Ogni prodotto occupa 100% larghezza */
    ul.products li.product,
    .woocommerce ul.products li.product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 30px !important;
        padding: 0 15px !important;
    }
    
    /* Override specifico per le colonne */
    [data-elementor-columns-mobile="5"] .column-item,
    [data-elementor-columns-mobile="4"] .column-item,
    [data-elementor-columns-mobile="3"] .column-item,
    [data-elementor-columns-mobile="2"] .column-item {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    
    .woocommerce.columns-mobile-5 li.product,
    .woocommerce.columns-mobile-4 li.product,
    .woocommerce.columns-mobile-3 li.product,
    .woocommerce.columns-mobile-2 li.product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}



/* Forza rimozione spazio su tutte le pagine */
body .site-content {
    margin-top: -20px !important;
}

/* Prodotti - forza ancora più specifica */
@media (max-width: 767px) {
    .woocommerce ul.products[class*="columns-"] li.product {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}


/* FORZA PRODOTTI VERTICALI SU MOBILE - Specificità massima */
@media (max-width: 767px) {
    /* Override con !important e maggiore specificità */
    .woocommerce ul.products.columns-4 li.product,
    ul.products.columns-4 li.product,
    body.woocommerce ul.products.columns-4 li.product,
    body ul.products.columns-4 li.product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        flex-basis: 100% !important;
        min-height: auto !important;
        padding: 15px !important;
        margin-bottom: 30px !important;
    }
    
    /* Forza il container a disposizione verticale */
    .woocommerce ul.products.columns-4,
    ul.products.columns-4,
    body.woocommerce ul.products.columns-4 {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }
    
    /* Disabilita tutte le altre colonne su mobile */
    .woocommerce.columns-mobile-2 li.product,
    .woocommerce.columns-mobile-3 li.product,
    .woocommerce.columns-mobile-4 li.product,
    .woocommerce.columns-mobile-5 li.product {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}


/* FOOTER FULL WIDTH SU MOBILE */
@media (max-width: 767px) {
    /* Rimuovi padding laterale dal footer */
    .site-footer,
    .site-footer .col-full,
    .site-footer .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Mantieni padding interno per il contenuto */
    .site-footer .widget,
    .site-footer .footer-widgets,
    .copyright-bar .col-full {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    /* Forza background full-width */
    .site-footer {
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }
}


/* ============================================
   STILE IMMAGINE TITOLO PERSONALIZZATO
   ============================================ */

/* Container immagine titolo */
.custom-product-title-image {
    text-align: center;
    margin: 30px 0 20px;
    width: 100%;
}

/* Immagine titolo */
.product-title-custom-image {
    max-width: 500px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Allineamento nella summary */
.summary .custom-product-title-image {
    order: 1; /* Prima del prezzo e altri elementi */
}

/* Responsive */
@media (max-width: 991px) {
    .product-title-custom-image {
        max-width: 400px;
    }
}

@media (max-width: 767px) {
    .custom-product-title-image {
        margin: 20px 0 15px;
    }
    
    .product-title-custom-image {
        max-width: 100%;
        padding: 0 15px;
    }
}

/* Se il badge biologico è presente, aggiungi spazio */
.custom-product-title-image + .bio-badge,
.bio-badge + .custom-product-title-image {
    margin-top: 15px;
}

/* ============================================
   FIX BIO BADGE - VISIBILITÀ E POSIZIONAMENTO
   ============================================ */

/* Badge Bio - Forza visibilità */
.bio-badge,
span.bio-badge {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #9ACD32 !important;
    color: white !important;
    padding: 8px 16px !important;
    border-radius: 25px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 10px 0 !important;
    z-index: 100 !important;
    position: relative !important;
    line-height: 1.2 !important;
}

/* Posizionamento nel prodotto singolo */
.single-product .bio-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
}

/* Se è dentro summary */
.summary .bio-badge {
    order: -1; /* Mette il badge prima di tutto */
    margin-bottom: 20px !important;
}

/* Assicura che sia sopra gli altri elementi */
.product .bio-badge {
    position: relative !important;
    z-index: 999 !important;
}

/* Fix se è dentro before/after */
.bio-badge::before,
.bio-badge::after {
    display: none !important;
}


/* ============================================
   FIX BIO BADGE - POSIZIONAMENTO PIÙ BASSO
   ============================================ */

/* Badge Bio - Stile base */
.bio-badge,
span.bio-badge {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #9ACD32 !important;
    color: white !important;
    padding: 8px 16px !important;
    border-radius: 25px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    z-index: 100 !important;
    position: relative !important;
    line-height: 1.2 !important;
}

/* POSIZIONAMENTO - Più spazio dall'header */
.single-product .bio-badge {
    margin-top: 40px !important; /* Spazio dall'header */
    margin-bottom: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Se è dentro summary/content */
.summary .bio-badge,
.product .bio-badge {
    margin-top: 30px !important;
    position: relative !important;
    top: 0 !important;
}

/* Container prodotto - aggiungi padding top */
.single-product .summary.entry-summary {
    padding-top: 40px !important;
}

/* Alternativa: se il badge è in posizione assoluta/fixed */
.bio-badge[style*="position: absolute"],
.bio-badge[style*="position: fixed"] {
    top: 150px !important; /* Altezza header + margine */
    position: absolute !important;
}

/* Mobile - ancora più spazio */
@media (max-width: 767px) {
    .single-product .bio-badge {
        margin-top: 60px !important;
    }
    
    .single-product .summary.entry-summary {
        padding-top: 50px !important;
    }
}



/* ============================================
   IMMAGINI TITOLO NELLE CARD PRODOTTO
   ============================================ */

/* Titolo immagine nelle liste prodotti (shop, home, categorie) */
.product-title-loop-image {
    max-width: 200px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 10px auto !important;
    object-fit: contain !important;
}

/* Container titolo nelle card */
.woocommerce-loop-product__title {
    text-align: center !important;
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Immagine dentro h2 del loop */
.woocommerce-loop-product__title img {
    max-width: 180px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Card prodotto - altezza uniforme */
.products .product {
    display: flex !important;
    flex-direction: column !important;
}

.products .product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Responsive - card mobile */
@media (max-width: 767px) {
    .product-title-loop-image,
    .woocommerce-loop-product__title img {
        max-width: 150px !important;
    }
    
    .woocommerce-loop-product__title {
        min-height: 50px !important;
    }
}

/* Responsive - tablet */
@media (min-width: 768px) and (max-width: 991px) {
    .product-title-loop-image,
    .woocommerce-loop-product__title img {
        max-width: 160px !important;
    }
}



/* ============================================
   FIX DIMENSIONE IMMAGINI PRODOTTO NELLE CARD
   ============================================ */

/* Immagine prodotto nelle card shop/homepage */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.products .product-image img {
    max-width: 200px !important;
    width: 100% !important;
    height: auto !important;
    max-height: 200px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
}

/* Container immagine prodotto */
.woocommerce ul.products li.product a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    text-align: center !important;
}

/* Card prodotto - centra tutto */
.woocommerce ul.products li.product {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Wrapper immagine */
.woocommerce ul.products li.product .product-image,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail_wrapper {
    max-width: 200px !important;
    margin: 0 auto 15px !important;
}

/* Responsive - Mobile ancora più piccole */
@media (max-width: 767px) {
    .woocommerce ul.products li.product a img,
    .woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
        max-width: 150px !important;
        max-height: 150px !important;
    }
    
    .woocommerce ul.products li.product .product-image {
        max-width: 150px !important;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
    .woocommerce ul.products li.product a img {
        max-width: 180px !important;
        max-height: 180px !important;
    }
}


/* ============================================
   BIO BADGE PICCOLO NELLE CARD PRODOTTO
   ============================================ */

/* Badge piccolo nello shop/homepage */
.woocommerce ul.products li.product .bio-badge,
ul.products li.product .bio-badge {
    display: inline-block !important;
    background: #9ACD32 !important;
    color: white !important;
    padding: 3px 9px !important; /* Ridotto da 5px 12px */
    border-radius: 15px !important; /* Ridotto da 20px */
    font-size: 0.7rem !important; /* Ridotto da 0.85rem */
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    line-height: 1.2 !important;
}

/* Badge ancora più compatto (opzionale) */
.products .product .bio-badge {
    padding: 2px 6px !important;
    font-size: 0.65rem !important;
    border-radius: 12px !important;
}

/* Badge nella pagina singola prodotto - rimane normale */
.single-product .bio-badge {
    padding: 8px 16px !important;
    font-size: 0.85rem !important;
    border-radius: 25px !important;
}



/* ============================================
   FIX HEADER - Spazio contenuto homepage
   ============================================ */

/* Spazio per header sticky */
.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: white !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}

/* Contenuto principale - margine dall'header */
.site-content,
main.site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Hero/Banner homepage - spazio dall'header */
body.home .site-content,
body.home main.site-main,
body.page-template-default .site-content {
    padding-top: 10px !important;
}

/* Primo elemento dopo header - margine extra */
.site-content > *:first-child,
main.site-main > *:first-child {
    margin-top: 10px !important;
}

/* Se hai sezioni fullwidth */
.elementor-section:first-child,
.wp-block-cover:first-child,
div[style*="background-image"]:first-child {
    margin-top: 10px !important;
}

/* Header height compensation */
body {
    padding-top: 0 !important;
}

/* Menu navigation spacing */
.main-navigation {
    margin-bottom: 0 !important;
}

/* Spazio GRANDE tra header e contenuto */
body.home .site-content {
    padding-top: 0px !important;
}

.site-content > *:first-child {
    margin-top: 0px !important;
}

/* ============================================
   FIX ICONE HEADER - Font Awesome e Visibilità
   ============================================ */

/* Carica Font Awesome se mancante */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

/* Header icons wrapper */
.site-header .header-icons,
.site-header .header-right,
.site-header-account {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

/* Icone header - nascondi numeri "0" */
.site-header-account a,
.header-icon,
.site-header .wishlist-icon,
.site-header .cart-icon,
.site-header .account-icon {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    color: #333 !important;
    transition: color 0.3s ease !important;
}

/* Nascondi lo "0" nel testo */
.site-header-account a .count,
.header-icon .count {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    background: #9ACD32 !important;
    color: white !important;
    border-radius: 50% !important;
    width: 18px !important;
    height: 18px !important;
    font-size: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
}

/* Nascondi il count se è zero */
.site-header-account a .count:empty,
.header-icon .count:empty,
.count:contains("0") {
    display: none !important;
}

/* Icone Font Awesome */
.site-header i.fa,
.site-header i.fas,
.site-header i.far,
.site-header i.fab {
    font-size: 20px !important;
    line-height: 1 !important;
    display: inline-block !important;
}

/* Hover effect */
.site-header-account a:hover,
.header-icon:hover {
    color: #6B7F39 !important;
}

/* Badge circolare colorato */
.site-header .badge,
.site-header .cart-count,
.site-header .wishlist-count {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    background: #9ACD32 !important;
    color: white !important;
    border-radius: 50% !important;
    min-width: 18px !important;
    height: 18px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 5px !important;
}

/* Mobile */
@media (max-width: 768px) {
    .site-header-account a,
    .header-icon {
        width: 35px !important;
        height: 35px !important;
    }
    
    .site-header i.fa,
    .site-header i.fas {
        font-size: 18px !important;
    }
}


/* ============================================
   WOOCOMMERCE SHOP - FULL WIDTH
   ============================================ */

/* Pagine shop full width */
body.woocommerce-shop .site-content,
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.woocommerce-page .site-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Container principale shop */
.woocommerce,
.woocommerce-page {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 20px !important;
    margin: 0 auto !important;
}

/* Content area full width */
.woocommerce .content-area,
.woocommerce-page .content-area {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* Main content full width */
.woocommerce main.site-main,
.woocommerce-page main.site-main {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 20px !important;
}

/* Wrapper prodotti */
.woocommerce .products-wrapper,
.woocommerce-page .products-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* Container griglia prodotti */
.woocommerce ul.products,
.woocommerce-page ul.products {
    max-width: 1400px !important;
    margin: 40px auto !important;
    padding: 0 20px !important;
}

/* Barra ordinamento full width */
.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce .woocommerce-ordering,
.woocommerce-notices-wrapper {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Header prodotti */
.woocommerce-products-header {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* Rimuovi margini laterali dal body */
body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Container principale sito */
.site-content-contain,
.site-container,
#content,
#main {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Mobile - mantieni padding minimo */
@media (max-width: 768px) {
    .woocommerce main.site-main,
    .woocommerce ul.products {
        padding: 0 15px !important;
    }
    
    .woocommerce-products-header {
        padding: 30px 15px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce main.site-main,
    .woocommerce ul.products {
        padding: 0 10px !important;
    }
}


/* ============================================
   FRESHIO WOOCOMMERCE - FULL WIDTH FORZATO
   ============================================ */

/* Body e html full width */
body.woocommerce,
body.woocommerce-page,
body.single-product {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Container Freshio specifici */
body.freshio-layout-wide .site-content,
body.freshio-full-width-content .site-content,
.freshio-container,
.site-content-contain {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Wrapper principale */
.site,
#page,
.site-content,
#content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
}

/* Main content */
#main,
#primary,
.content-area,
main.site-main {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 20px !important;
    margin: 0 !important;
}

/* WooCommerce specifico */
.woocommerce,
.woocommerce-page {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 20px !important;
    margin: 0 !important;
}

/* Container prodotto singolo */
body.single-product .product,
body.single-product .summary {
    max-width: 1400px !important;
    margin: 0 auto !important;
}

/* Griglia prodotti shop */
.woocommerce ul.products {
    max-width: 1400px !important;
    margin: 40px auto !important;
    padding: 0 !important;
}

/* Row e column Freshio */
.freshio-row,
.row,
.elementor-row {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Forza rimozione container limitati */
body.woocommerce .container,
body.woocommerce-page .container,
body.single-product .container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 20px !important;
}

/* Mobile - padding ridotto */
@media (max-width: 768px) {
    #main,
    #primary,
    .woocommerce,
    .woocommerce-page,
    main.site-main {
        padding: 0 15px !important;
    }
}

@media (max-width: 480px) {
    #main,
    #primary,
    .woocommerce,
    .woocommerce-page,
    main.site-main {
        padding: 0 10px !important;
    }
}


css/* Nascondi il badge biologico */
.bio-badge {
    display: none !important;
}

/* Se il badge biologico è in altri elementi, aggiungi anche: */
span.bio-badge,
.woocommerce .bio-badge,
.product-block .bio-badge {
    display: none !important;
}

/* Forza rimozione badge biologico */
.woocommerce ul.products li.product .bio-badge,
ul.products li.product .bio-badge,
.product-block .bio-badge,
span.bio-badge {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}


/* ============================================
   DROPDOWN CATEGORIE SHOP
   ============================================ */

/* Stile dropdown categorie */
.cocciu-category-dropdown {
    display: inline-block;
}

.cocciu-category-dropdown select {
    padding: 10px 35px 10px 15px;
    font-size: 14px;
    border: 2px solid #6B7F39;
    border-radius: 5px;
    background-color: #fff;
    color: #333;
    cursor: pointer;
    min-width: 200px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    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='%236B7F39' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
}

.cocciu-category-dropdown select:hover {
    border-color: #E91E8C;
}

.cocciu-category-dropdown select:focus {
    outline: none;
    border-color: #E91E8C;
    box-shadow: 0 0 5px rgba(233, 30, 140, 0.3);
}

/* Link torna allo shop */
.cocciu-back-to-shop {
    margin-bottom: 15px;
}

.cocciu-back-to-shop a {
    color: #6B7F39;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    transition: color 0.3s ease;
}

.cocciu-back-to-shop a:hover {
    color: #E91E8C;
}

/* Allineamento toolbar shop */
.woocommerce-ordering,
.cocciu-category-dropdown {
    float: right;
    margin-bottom: 20px;
}

/* Mobile */
@media (max-width: 768px) {
    .cocciu-category-dropdown select {
        width: 100%;
        min-width: unset;
    }
    
    .woocommerce-ordering,
    .cocciu-category-dropdown {
        float: none;
        width: 100%;
    }
    
    .cocciu-back-to-shop {
        text-align: center;
    }
}

/* ============================================
   SHOP ORGANIZZATO PER CATEGORIA
   ============================================ */

.cocciu-shop-by-category {
    width: 100%;
}

/* Sezione singola categoria */
.cocciu-category-section {
    margin-bottom: 60px;
    padding-bottom: 40px;
    border-bottom: 2px solid #f0f0f0;
}

.cocciu-category-section:last-child {
    border-bottom: none;
}

/* Header categoria */
.cocciu-category-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 3px solid #6B7F39;
}

.cocciu-category-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
}

.cocciu-category-count {
    background: #6B7F39;
    color: white;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
}

.cocciu-view-all {
    margin-left: auto;
    color: #E91E8C;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

.cocciu-view-all:hover {
    color: #6B7F39;
    text-decoration: underline;
}

/* Griglia prodotti categoria */
.cocciu-category-products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    padding: 0 !important;
    margin: 0 !important;
}

.cocciu-category-products li.product {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .cocciu-category-products {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .cocciu-category-products {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .cocciu-category-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .cocciu-view-all {
        margin-left: 0;
    }
    
    .cocciu-category-title {
        font-size: 22px;
    }
}

@media (max-width: 480px) {
    .cocciu-category-products {
        grid-template-columns: 1fr;
    }
}

body.single-product div.product form.cart .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button.button.alt{
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    background: linear-gradient(135deg,#2d8a3e 0%,#1a4d2e 100%) !important;
    height: auto !important;
    width: 100% !important;
    position: static !important;
    z-index: 10 !important;
}