﻿/* Stili per il layout a due colonne */
.vs-checkout-wrapper .container {
    max-width: 1200px;
}

.vs-checkout-wrapper .row {
    margin-bottom: 20px;
}

.vs-checkout-wrapper .col-lg-6 {
    padding: 15px;
}

/* Stili per il numero di partecipanti */
.participants-section .input-group {
    max-width: 150px;
    margin-top: 10px;
}

/* Stili per la tabella dei servizi facoltativi */
.optional-services-table {
    width: 100%;
    border-collapse: collapse;
}

    .optional-services-table th,
    .optional-services-table td {
        padding: 10px;
        text-align: left;
        border-bottom: 1px solid #ddd;
    }

    .optional-services-table th {
        background-color: #f8f9fa;
        font-weight: bold;
    }

    .optional-services-table .input-group {
        max-width: 120px;
    }

/* Stili per i totali */
.total-section {
    font-size: 1.2em;
    margin-top: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .total-section strong {
        font-weight: 600;
    }

/* Stili per checkbox e pulsanti */
.service-checkbox {
    cursor: pointer;
    transform: scale(1.2);
    margin-right: 5px;
    visibility: visible !important;
    opacity: 1 !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
}

.btn-outline-secondary {
    padding: 5px 10px;
    font-size: 14px;
}

    /* Stili per input e pulsanti disabilitati */
    .service-participants:disabled,
    .btn-outline-secondary:disabled {
        background-color: #f8f9fa;
        cursor: not-allowed;
        opacity: 0.6;
    }

/* Stili per l'icona dei dettagli del servizio */
.service-info {
    cursor: pointer;
    color: #007bff;
    margin-left: 8px;
    font-size: 16px;
    transition: color 0.2s;
}

    .service-info:hover {
        color: #0056b3;
    }

/* Stili per la modale */
.modal-body {
    max-height: 400px;
    overflow-y: auto;
    font-size: 16px;
    line-height: 1.6;
}

.modal-header {
    background-color: #f8f9fa;
}

.modal-title {
    font-size: 1.25em;
    font-weight: 500;
}

/* Stile per il prezzo del servizio */
.service-price {
    font-weight: 500;
    color: #007bff;
}

/* Stili per il pulsante di conferma ordine */
.vs-btn.style4 {
    background-color: #28a745;
    color: #fff;
    padding: 12px 24px;
    border-radius: 5px;
    font-size: 16px;
    transition: background-color 0.2s;
}

    .vs-btn.style4:hover {
        background-color: #218838;
    }

#baseTotal {
    font-weight: bold;
}

#finalTotal {
    font-weight: bold;
    color: var(--theme-color);
}

tfoot .cart-productname {
    font-weight: normal !important;
}

/* Stili per i dati anagrafici (acquirente e accompagnatori) */
.form-group {
    margin-bottom: 15px;
}

.form-control {
    font-size: 14px;
    padding: 8px;
    border-radius: 4px;
}

/* Stili per la sezione degli accompagnatori */
#accompagnatori_section {
    margin-top: 20px;
}

    #accompagnatori_section h5 {
        font-weight: 600;
        margin-bottom: 15px;
    }

/* Responsive */
@media (max-width: 768px) {
    .vs-checkout-wrapper .col-lg-6 {
        padding: 10px;
    }

    .participants-section .input-group {
        max-width: 100%;
    }

    .optional-services-table .input-group {
        max-width: 100%;
    }

    .total-section {
        flex-direction: column;
        align-items: flex-start;
    }

        .total-section span {
            margin-top: 5px;
        }

    .cart_table, .optional-services-table {
        font-size: 13px;
    }

    .form-control {
        font-size: 13px;
    }
}

.cart-col-price,
.cart-col-quantity,
.cart-col-total,
[data-title='Price'],
[data-title='Final Total'],
[data-title='Quantity'],
[data-title='Discount'],
[data-title='Total'] {
    text-align: right !important;
}

.cart-col-productname,
[data-title='Name'] {
    text-align: left !important;
}

.scimm {
}

#paypal-button-container {
    margin-top: 10px;
    display: none; /* Nascosto di default */
}

    #paypal-button-container .paypal-buttons {
        max-width: 300px;
    }
/*#region [Modale Attendere Prego]*/
/* [Stili per la modale di caricamento] */
#loadingModal .modal-content {
    border: none;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

#loadingModal .modal-body {
    padding: 40px 20px;
}

#loadingModal .spinner-border {
    border-width: 0.25em;
}

#loadingModal .modal-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2c5aa0;
    margin-bottom: 10px;
}

#loadingModal .text-muted {
    font-size: 0.95rem;
    color: #6c757d;
}

/* [Animazione spinner personalizzata] */
@keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

/* [Overlay per bloccare interazioni durante il caricamento] */
#loadingModal.show {
    z-index: 9999;
}

#loadingModal .modal-backdrop {
    z-index: 9998;
    background-color: rgba(0, 0, 0, 0.7);
}
/*#endregion [/Modale Attendere Prego]*/
