/* Add here all your CSS customizations */

.state-background.background-fill {
    background: #ed9c28;
}

table.table-soci tbody tr td{font-size:11px;}

/* ottimizzazione per pagina ordine */
/* Mobile Cart Optimization Styles - Scoped to #cart-page */
#cart-page {
    /* Contenitore specifico per la pagina carrello */
}

@media (max-width: 767px) {
    /* Nascondi tabella desktop su mobile */
    #cart-page .desktop-table-wrapper {
        display: none !important;
    }
    
    /* Mostra layout card per mobile */
    #cart-page .mobile-cart-wrapper {
        display: block !important;
        padding: 0;
    }
    
    #cart-page .cart-item-mobile {
        display: block;
        border: 1px solid #dee2e6;
        border-radius: 8px;
        margin: 15px 10px;
        padding: 15px;
        background: #fff;
        position: relative;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        animation: cartFadeIn 0.3s ease-out;
    }
    
    #cart-page .cart-item-header-mobile {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 12px;
        flex-wrap: wrap;
        gap: 10px;
    }
    
    #cart-page .cart-item-title-mobile {
        font-weight: bold;
        color: #333;
        flex: 1;
        line-height: 1.3;
        font-size: 16px;
        min-width: 180px;
    }
    
    #cart-page .cart-item-price-mobile {
        font-weight: bold;
        color: #28a745;
        font-size: 18px;
        white-space: nowrap;
        background: #e8f5e8;
        padding: 6px 12px;
        border-radius: 4px;
    }
    
    #cart-page .cart-item-details-mobile {
        margin: 12px 0;
        border-top: 1px solid #f0f0f0;
        padding-top: 12px;
    }
    
    #cart-page .cart-item-detail-mobile {
        display: flex;
        justify-content: space-between;
        margin: 8px 0;
        font-size: 14px;
        align-items: flex-start;
        gap: 10px;
    }
    
    #cart-page .cart-item-detail-label-mobile {
        color: #666;
        font-weight: 500;
        min-width: 90px;
        flex-shrink: 0;
    }
    
    #cart-page .cart-item-detail-value-mobile {
        color: #333;
        text-align: right;
        flex: 1;
        word-break: break-word;
    }
    
    #cart-page .cart-item-actions-mobile {
        margin-top: 15px;
        display: flex;
        justify-content: flex-end;
        border-top: 1px solid #f0f0f0;
        padding-top: 12px;
    }
    
    /* Bottone rimuovi ottimizzato per mobile */
    #cart-page .remove-btn-mobile {
        background: #dc3545;
        color: white;
        border: none;
        padding: 12px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 500;
        min-height: 44px;
        min-width: 100px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        transition: all 0.2s ease;
        -webkit-tap-highlight-color: transparent;
        text-decoration: none;
    }
    
    #cart-page .remove-btn-mobile:hover, 
    #cart-page .remove-btn-mobile:focus {
        background: #c82333;
        color: white;
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3);
        text-decoration: none;
    }
    
    #cart-page .remove-btn-mobile:active {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(220, 53, 69, 0.3);
    }
    
    /* Sezione pagamento mobile */
    #cart-page .payment-section-mobile {
        padding: 15px 10px;
    }
    
    #cart-page .payment-controls-mobile {
        display: flex;
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }
    
    #cart-page .payment-select-mobile {
        padding: 12px;
        border: 2px solid #dee2e6;
        border-radius: 6px;
        font-size: 16px;
        background: white;
        width: 100%;
        box-sizing: border-box;
        min-height: 44px;
    }
    
    #cart-page .total-amount-mobile {
        background: #e9ecef;
        padding: 15px;
        border-radius: 6px;
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        color: #495057;
        border: 2px solid #28a745;
    }
    
    #cart-page .payment-btn-mobile {
        background: #28a745;
        color: white;
        border: none;
        padding: 15px 25px;
        border-radius: 6px;
        font-size: 16px;
        font-weight: 600;
        min-height: 50px;
        cursor: pointer;
        transition: all 0.2s ease;
        -webkit-tap-highlight-color: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }
    
    #cart-page .payment-btn-mobile:hover, 
    #cart-page .payment-btn-mobile:focus {
        background: #218838;
        transform: translateY(-1px);
        box-shadow: 0 3px 6px rgba(40, 167, 69, 0.3);
    }
    
    #cart-page .payment-btn-mobile:active {
        transform: translateY(0);
        box-shadow: 0 1px 3px rgba(40, 167, 69, 0.3);
    }
    
    /* Alert mobile ottimizzato */
    #cart-page .alert-mobile {
        margin: 15px 10px;
        padding: 20px;
        border-radius: 8px;
        text-align: center;
    }
    
    #cart-page .alert-mobile .alert-actions {
        margin-top: 15px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    #cart-page .alert-mobile .btn {
        min-height: 44px;
        padding: 12px 20px;
        font-size: 16px;
        border-radius: 6px;
    }
}

/* Desktop styles */
@media (min-width: 768px) {
    #cart-page .mobile-cart-wrapper {
        display: none !important;
    }
    
    #cart-page .desktop-table-wrapper {
        display: block !important;
    }
    
    #cart-page .payment-section-mobile {
        display: none !important;
    }
}

/* Animazioni specifiche per il carrello */
@keyframes cartFadeIn {
    from { 
        opacity: 0; 
        transform: translateY(10px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

/* Miglioramenti generali per touch solo nel carrello */
@media (max-width: 767px) {
    #cart-page .btn, 
    #cart-page button, 
    #cart-page [role="button"] {
        min-height: 44px;
        -webkit-tap-highlight-color: transparent;
    }
    
    #cart-page .modal-content {
        margin: 20px 10px;
        max-width: calc(100vw - 20px);
    }
    
    #cart-page .modal-footer .btn {
        min-width: 120px;
        margin: 5px;
        min-height: 44px;
    }
	
	 /* Nascondi solo la sezione pagamento desktop */
    #cart-page .panel-body .form-group {
        display: none !important;
    }
    
    /* Mostra la sezione pagamento mobile */
    #cart-page .payment-section-mobile {
        display: block !important;
    }
}