.wc-menu-digitale {
    max-width: 1400px;
    margin: 0 auto;
    padding: 6rem 2rem;
}

.wc-menu-category {
    display: grid !important;
  /**   grid-template-columns: 1.2fr 0.8fr;
   gap: 4rem !important;                 */
    align-items: center !important;
    margin-bottom: -4rem !important;
    position: relative !important;
    align-items: center !important;
}

/* ==========================
   IMMAGINE INLINE
========================== */

.wc-menu-asporto-thumb img {
    width: 300px !important;
    height: auto !important;
    display: block;
    border-radius: 2px;
}

.wc-menu-products {
 /**   grid-column: 1; */
 width:100% !important;
}

.wc-menu-featured {
  /**  grid-column: 2; */
}

.wc-menu-category.reverse .wc-menu-products {
  /**  grid-column: 2; */
}

.wc-menu-category.reverse .wc-menu-featured {
  /**  grid-column: 1; */
}

.wc-menu-category-header {
    margin-bottom: 2rem !important;
}

.wc-menu-category-subtitle {
    display: block;
    font-size: 0.85rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.7;
    margin-bottom: 0.5rem;
}

.wc-menu-category-title {
    font-size: 2.2rem !important;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.wc-menu-item {
    margin-bottom: 2.8rem;  
}

/**** SEPARATORE CENTRALE TITOLO  PREZZO (CUORE DEL LAYOUT)  ****/
.wc-menu-item-row {
    display: inline !important;
    align-items: center;
    gap: 1rem;
    width:100% !important;
}

.wc-menu-item-title {
    font-size: 1.2rem;
    line-height:30px !important;
    text-transform: uppercase;
    width:100% !important;
}

.wc-menu-item-separator {
    flex: 1;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        currentColor,
        transparent
    );
    opacity: 0.4;
}

.wc-menu-item-price {
    font-size: 1.1rem;
    white-space: nowrap;
}

/**** DESCRIZIONE BREVE***/
.wc-menu-item-desc {
    margin-top: 0.6rem;
    font-size: 0.95rem;
    opacity: 0.75;
    max-width: 90%;
}

/***** ADD TO CART (NEUTRO, NON STILIZZATO) ****/
.wc-menu-item-cart {
    margin-top: 0.8rem;
}

.wc-menu-item-cart a.button {
    background: none;
    border: none;
    padding: 0;
    font-size: 0.85rem;
    text-decoration: underline;
    cursor: pointer;
}

/* COLONNA IMMAGINE FEATURED ***/
.wc-menu-featured {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.wc-menu-featured-img {
    max-width: 100%;
    height: auto;
    display: block;
}

/**** PATTERN GRAFICO GEOMETRICO (ART-DECO) ***/

.wc-menu-featured::before,
.wc-menu-featured::after {
    content: "";
    position: absolute;
    width: 120%;
    height: 120%;
    pointer-events: none;
}

.wc-menu-featured::before {
    background-image: repeating-linear-gradient(
        45deg,
        currentColor 0,
        currentColor 1px,
        transparent 1px,
        transparent 12px
    );
    opacity: 0.08;
}

.wc-menu-featured::after {
    border: 1px solid currentColor;
    opacity: 0.15;
}

/**** OTTIMIZZAZIONE PER MENU LUNGHI ****/
.wc-menu-category:not(:last-child)::after {
    content: "";
    display: block;
    margin-top: 6rem;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        currentColor,
        transparent
    );
    opacity: 0.15;
}

/*** 11. RESPONSIVE (MOBILE / TABLET) ****/
@media (max-width: 991px) {

    .wc-menu-category {
        grid-template-columns: 1fr;
        gap: 3rem;
        margin-bottom: 1rem;
         padding-inline: 2rem !important;
         box-sizing: border-box !important;
         width: 100% !important;
         max-width: 100% !important;
         overflow-x: hidden !important;

    }

    .wc-menu-products,
    .wc-menu-featured {
        grid-column: 1;
    }

    .wc-menu-featured {
        order: -1;
    }

    .wc-menu-category-title {
        font-size: 1rem !important;
    }

 /**   .wc-menu-item-desc {
        max-width: 100%;
    }  */
    
    .wc-menu-item-title,
    .wc-menu-item-desc {
    word-wrap: break-word;
    overflow-wrap: break-word;
    }

    
    .wc-menu-item-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    }
    
    .wc-menu-item-price {
    font-size: 0.95rem;
    opacity: 0.8;
    }
    
    .wc-menu-item-separator {
    display: none;
    }

    .wc-menu-featured-img {
    max-width: 80%;
    height: auto;
    }


}

@media (max-width: 768px) {

    .wc-menu-digitale {
     width: 100% !important;
     margin: 0 auto !important;
     padding: 0rem 0rem !important;
    }


    .wc-menu-category-title {
        font-size: 1rem !important;
        letter-spacing: 0.12em;
        width: 100% !important;
    }

    .wc-menu-item-title {
        font-size: 14px !important;
        width: 100% !important;
    }

/**    .wc-menu-item-desc {
        font-size: 0.85rem;
        line-height: 1.4;
    }  */
    
    .wc-menu-item-title,
    .wc-menu-item-desc {
 /** --word-wrap: break-word;
    --overflow-wrap: break-word; */
    width:100% !important;
    }

    
    .wc-menu-item-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    }
    
    .wc-menu-item-price {
    font-size: 0.95rem;
    opacity: 0.8;
    }

   .wc-menu-item-separator {
    display: none;
   }

   .wc-menu-featured-img {
    max-width: 80% !important;
    height: auto !important;
    }
}


@media (max-width: 768px) {
    /**** FIX DEFINITIVO allineamento centrale colonna prodotti su mobile ***/
    /**** Normalizza grid e padding su mobile ***/
    .wc-menu-category {
      /**  grid-template-columns: 1fr;  */
        padding-left: 0rem !important !important;
        padding-right: 0rem !important; width:100% !important;
    }
    
    /*** Reset esplicito delle colonne (FONDAMENTALE) ***/
    .wc-menu-products,
    .wc-menu-featured {
    /**    grid-column: 1 / -1 !important;   */
        justify-self: center;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /*** Centra visivamente il contenuto interno ***/
    /*** Per sicurezza (menu lunghi, testi diversi):***/
    .wc-menu-products {
        margin-left: auto !important;
        margin-right: auto !important;
    } 

}


/**** RESET BASE (evitiamo interferenze del tema) */
.wc-menu-item-cart a.button,
.wc-menu-item-cart a.added_to_cart {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    cursor: pointer;
    font-family: inherit;
}

/*** BOTTONE AGGIUNGI AL CARRELLO ***/
.wc-menu-item-cart a.add_to_cart_button {
    background-color: #816e1a;
    color: #ffffff;
    padding: 0.2rem .2rem !important;
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 2px !important;
    border-radius: 2px;
    transition: background-color 0.2s ease, opacity 0.2s ease; 
    
    margin-right:20px !important;
    margin-bottom:6px !important;
}

.add_to_cart_button{
	margin-left:2px !important;
	margin-top:2px !important;
}

.wc-menu-item-cart a.add_to_cart_button:hover {
    opacity: 0.85;
}

/** STATO LOADING (MINI SPINNER) **/
.wc-menu-item-cart a.add_to_cart_button.loading {
    pointer-events: none;
    position: relative;
    color: transparent;
}

/*** Spinner CSS puro ***/
.wc-menu-item-cart a.add_to_cart_button.loading::after {
    content: "";
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: wc-menu-spin 0.8s linear infinite;
}

@keyframes wc-menu-spin {
    to { transform: rotate(360deg); }
}

/**** BOTTONE Ã¢â‚¬Å“VISUALIZZA CARRELLOÃ¢â‚¬Â **/
.wc-menu-item-cart a.added_to_cart {
    background-color: #AA9322;
    color: #ffffff;
    padding: 0.2rem .2rem !important;
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 2px !important;
    border-radius: 2px;
    transition: background-color 0.2s ease, opacity 0.2s ease;
    margin-left:4px;
}

.wc-menu-item-cart a.added_to_cart:hover {
    opacity: 0.85;
}

/*** NASCONDERE Ã¢â‚¬Å“VISUALIZZA CARRELLOÃ¢â‚¬Â DURANTE IL LOADING ***/
.wc-menu-item-cart a.add_to_cart_button.loading + a.added_to_cart {
    display: none;
}

/*** SPAZIATURA MOBILE (OPZIONALE MA CONSIGLIATA) ****/
@media (max-width: 768px) {

    .wc-menu-item-cart a {
        width: 100%;
        margin: 0.4rem 0 0;
    }

    .wc-menu-item-cart a.added_to_cart {
        margin-left: 0;
    }

}


/**
.topbar-cart {
    position: relative;
}

.topbar-cart.is-empty {
    opacity: 0.4;
    cursor: default;
}

.topbar-cart .cart-count {
    position: absolute;
    top: -8px;
    right: -20px;
    background: #AA9322;
    color: #fff;
    font-size: 8px;
    line-height: 19px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    text-align: center;
} */

#mini-cart-wrapper {
    display: inline-block;
}

.mini-cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.mini-cart-count {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}

.mini-cart-empty {
    cursor: not-allowed;
    opacity: 0.7;
}

.mini-cart-link:hover .fa-plate-utensils {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}

/* Animazione spinner */
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.fa-spin {
    animation: spin 1s linear infinite;
}




