@charset "UTF-8";
/* CSS Document */

/* ==========================================================================
   MAXIM CART STYLES - Stili dedicati per il carrello WooCommerce
   ========================================================================== */

/* NASCONDI SEMPRE IL MODEL DUPLICATO NEL CARRELLO */
.wc-block-components-product-details {
    display: none !important;
}

/* ==========================================================================
   GESTIONE QUANTIT� NEL CARRELLO
   ========================================================================== */

/* FORZA LA LARGHEZZA DEL CAMPO QUANTIT� - PRIORIT� MASSIMA */
body.woocommerce-cart .woocommerce table.cart input.qty,
body.woocommerce-cart .woocommerce-cart-form input.qty,
body .woocommerce .quantity input.qty,
.cart_item input.qty,
input[name*="cart"]:not([type="hidden"]) {
    width: 8.3em !important;
    min-width: 8.3em !important;
    max-width: 8.3em !important;
    text-align: center !important;
    padding: 6px !important;
    box-sizing: border-box !important;
}

/* ALTERNATIVA CON PIXEL SE EM NON FUNZIONA */
.woocommerce-cart table.cart .qty {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    text-align: center !important;
    padding: 6px !important;
}

/* ==========================================================================
   NASCONDI SPINNER/FRECCE NEI CAMPI QUANTIT�
   ========================================================================== */

/* WEBKIT (Chrome, Safari, Edge) */
.woocommerce .quantity input::-webkit-outer-spin-button,
.woocommerce .quantity input::-webkit-inner-spin-button,
.cart_item .quantity input::-webkit-outer-spin-button,
.cart_item .quantity input::-webkit-inner-spin-button,
input[type="number"]::-webkit-inner-spin-button, 
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    display: none !important;
}

/* FIREFOX E STANDARD */
.woocommerce .quantity input[type=number],
.cart_item .quantity input[type=number],
input[type="number"] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

/* ==========================================================================
   DISABILITAZIONE QUANTIT� PER PRODOTTI MAXIM
   ========================================================================== */

/* METODO 1: Usando :has() per browser moderni */
.cart_item:has(.wc-item-meta dt:contains("Model")) .qty,
.cart_item:has(.wc-item-meta dt:contains("Hydrocolor")) .qty,
.cart_item:has(.wc-item-meta dt:contains("Printing")) .qty,
.cart_item:has(.wc-item-meta dt:contains("Lead Time")) .qty {
    background-color: #f5f5f5 !important;
    color: #666 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    border-color: #ccc !important;
}

/* METODO 2: Fallback con attributo data-maxim (gestito da JavaScript) */
.cart_item[data-maxim="true"] .qty {
    background-color: #f5f5f5 !important;
    color: #666 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    border-color: #ccc !important;
}

/* NASCONDI PULSANTI +/- PER PRODOTTI MAXIM - METODO 1 */
.cart_item:has(.wc-item-meta dt:contains("Model")) .plus,
.cart_item:has(.wc-item-meta dt:contains("Model")) .minus,
.cart_item:has(.wc-item-meta dt:contains("Hydrocolor")) .plus,
.cart_item:has(.wc-item-meta dt:contains("Hydrocolor")) .minus,
.cart_item:has(.wc-item-meta dt:contains("Printing")) .plus,
.cart_item:has(.wc-item-meta dt:contains("Printing")) .minus,
.cart_item:has(.wc-item-meta dt:contains("Lead Time")) .plus,
.cart_item:has(.wc-item-meta dt:contains("Lead Time")) .minus {
    display: none !important;
}

/* NASCONDI PULSANTI +/- PER PRODOTTI MAXIM - METODO 2 (Fallback) */
.cart_item[data-maxim="true"] .plus,
.cart_item[data-maxim="true"] .minus,
.cart_item[data-maxim="true"] .quantity-button {
    display: none !important;
}

/* ==========================================================================
   TOOLTIP E INDICATORI VISIVI
   ========================================================================== */

/* TOOLTIP INFORMATIVO AL HOVER */
.cart_item:has(.wc-item-meta dt:contains("Model")) .qty:hover::after,
.cart_item:has(.wc-item-meta dt:contains("Hydrocolor")) .qty:hover::after,
.cart_item:has(.wc-item-meta dt:contains("Printing")) .qty:hover::after,
.cart_item:has(.wc-item-meta dt:contains("Lead Time")) .qty:hover::after,
.cart_item[data-maxim="true"] .qty:hover::after {
    content: "Quantity locked for configured products";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: #333;
    color: white;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 999;
    pointer-events: none;
}

/* ICONA LOCK PER PRODOTTI MAXIM */
.cart_item:has(.wc-item-meta dt:contains("Model")) .product-quantity::before,
.cart_item:has(.wc-item-meta dt:contains("Hydrocolor")) .product-quantity::before,
.cart_item:has(.wc-item-meta dt:contains("Printing")) .product-quantity::before,
.cart_item:has(.wc-item-meta dt:contains("Lead Time")) .product-quantity::before,
.cart_item[data-maxim="true"] .product-quantity::before {
    content: "";
    position: absolute;
    top: -5px;
    right: -5px;
    font-size: 12px;
    z-index: 1;
}

/* ==========================================================================
   MESSAGGIO INFORMATIVO SOPRA IL CARRELLO
   ========================================================================== */

/* MESSAGGIO PER UTENTI */
.woocommerce-cart-form::before {
    content: "Note: Quantities for configured products cannot be modified. Remove and re-add to change quantity.";
    display: block;
    background: #e7f3ff;
    border: 1px solid #b3d9ff;
    color: #0066cc;
    padding: 12px 15px;
    border-radius: 4px;
    margin-bottom: 20px;
    font-size: 14px;
}

/* NASCONDI IL MESSAGGIO SE NON CI SONO PRODOTTI MAXIM */
.woocommerce-cart-form:not(:has(.wc-item-meta dt:contains("Model"))):not(:has(.wc-item-meta dt:contains("Hydrocolor"))):not(:has(.wc-item-meta dt:contains("Printing"))):not(:has(.wc-item-meta dt:contains("Lead Time")))::before {
    display: none !important;
}

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

@media (max-width: 768px) {
    /* ADATTA DIMENSIONI PER MOBILE */
    body.woocommerce-cart .woocommerce table.cart input.qty,
    .cart_item input.qty {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        font-size: 14px !important;
        padding: 4px !important;
    }
    
    /* TOOLTIP PI� PICCOLO SU MOBILE */
    .cart_item .qty:hover::after {
        font-size: 10px !important;
        padding: 4px 8px !important;
        bottom: -30px !important;
    }
}

/* ==========================================================================
   FORM OFFERTA
   ========================================================================== */


.maxim-quote-form-modal .maxim-form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    column-gap: var(--maxim-space-4);
    row-gap: var(--maxim-space-2); /* Ridotto solo per questo form */
}

.maxim-quote-form-modal .maxim-form-group {
    margin-bottom: 10px; /* Ridotto da space-4 a space-2 */
}

.maxim-quote-form-modal {
    padding: 0;
}

.maxim-quote-form-modal .maxim-form-control {
    width: 100%;
}

.maxim-quote-form-modal h4 {
    margin: 1.5rem 0 1rem 0;
    padding: 0.75rem 1rem;
    background: #f8f9fa;
    border-left: 4px solid var(--maxim-primary);
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 600;
}

.maxim-quote-form-modal .maxim-form-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

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

/* Modal più staccata dall'alto */
.maxim-modal.maxim-modal-large {
    margin-top: 50px !important;
}

/* Oppure più generica per tutte le modal */
.maxim-modal {
    margin-top: 40px !important;
}


/* ==========================================================================
   NASCONDI PULSANTE "UPDATE BASKET" SE TUTTI I PRODOTTI SONO MAXIM
   ========================================================================== */

/* NASCONDI IL PULSANTE UPDATE BASKET */
.woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart-form input[name="update_cart"],
button.button[name="update_cart"],
.cart input[name="update_cart"] {
    display: none !important;
}

/* ALTERNATIVA: NASCONDI SOLO SE CI SONO PRODOTTI MAXIM */
.woocommerce-cart-form:has(.cart_item[data-maxim="true"]) button[name="update_cart"],
.woocommerce-cart-form:has(.cart_item[data-maxim="true"]) input[name="update_cart"] {
    display: none !important;
}

/* NASCONDI ANCHE IL TESTO "Update basket" SE PRESENTE */
.actions .button[name="update_cart"],
.woocommerce-cart-form .actions button[name="update_cart"],
.woocommerce-cart-form .actions input[name="update_cart"] {
    display: none !important;
}

/* NASCONDI L'INTERA SEZIONE ACTIONS SE CONTIENE SOLO UPDATE BASKET */
.woocommerce-cart-form .actions:has(button[name="update_cart"]:only-child),
.woocommerce-cart-form .actions:has(input[name="update_cart"]:only-child) {
    display: none !important;
}

/* ==========================================================================
   INGRANDIMENTO IMMAGINE PRODOTTO NEL CARRELLO
   ========================================================================== */

/* INGRANDISCE LA FOTO DEL PRODOTTO */
.woocommerce-cart-form .cart_item .product-thumbnail img,
.cart_item .product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
}

/* ALTERNATIVA: IMMAGINE ANCORA PI� GRANDE */
.cart_item .product-thumbnail {
    width: 80px !important;
    min-width: 80px !important;
}

/* VERSIONE EXTRA LARGE - decommentare se si vuole ancora pi� grande */
/*
.woocommerce-cart-form .cart_item .product-thumbnail img,
.cart_item .product-thumbnail img {
    width: 100px !important;
    height: 100px !important;
    max-width: 100px !important;
    max-height: 100px !important;
}

.cart_item .product-thumbnail {
    width: 100px !important;
    min-width: 100px !important;
}
*/

/* HOVER EFFECT PER IMMAGINE */
.cart_item .product-thumbnail img:hover {
    transform: scale(1.05) !important;
    transition: transform 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

/* ==========================================================================
   STILI AVANZATI E OVERRIDE TEMI  
   ========================================================================== */

/* FORZA STILI SU TEMI PROBLEMATICI */
.woocommerce-page .cart_item .product-quantity {
    text-align: center !important;
    vertical-align: middle !important;
}

/* OVERRIDE STILI DI TEMI POPOLARI */
.elementor .cart_item input.qty,
.divi .cart_item input.qty,
.avada .cart_item input.qty {
    width: 8.3em !important;
    min-width: 8.3em !important;
    text-align: center !important;
}

/* ==========================================================================
   DEBUG E SVILUPPO (da rimuovere in produzione)
   ========================================================================== */

/* BORDI COLORATI PER DEBUG - COMMENTA IN PRODUZIONE */
/*
.cart_item[data-maxim="true"] {
    border-left: 3px solid #ff6b6b !important;
}

.cart_item[data-maxim="true"] .qty {
    box-shadow: 0 0 3px rgba(255, 107, 107, 0.5) !important;
}
*/