  #slot_grid {
        display: flex;
        flex-wrap: wrap;
        gap: 10px; /* Space between the slots */
        margin-top: 10px;
    }

    /* Each slot wrapper takes up nearly 50% of the width */
    .slot-item {
        flex: 0 0 calc(50% - 5px); 
        box-sizing: border-box;
    }

    /* Style the labels to look like buttons */
    .slot-item label {
        display: block;
        padding: 10px;
        background: #fdfdfd;
        border: 1px solid #ccc;
        border-radius: 5px;
        text-align: center;
        cursor: pointer;
        font-weight: bold;
    }

    /* Hide the actual radio circle for a cleaner look */
    .slot-item input[type="radio"] {
        display: none;
    }

    /* Change color when the user clicks a slot */
    .slot-item input[type="radio"]:checked + label {
        background: #007bff;
        color: white;
        border-color: #0056b3;
    }

    .booking-row {
        margin-bottom: 15px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 300px;
    }

    .quantity-toggle {
        display: flex;
        border: 1px solid #ddd;
        border-radius: 5px;
        overflow: hidden;
    }

    .quantity-toggle button {
        background-color: #f8f9fa;
        border: none;
        padding: 8px 15px;
        cursor: pointer;
        font-size: 18px;
        font-weight: bold;
        transition: background 0.2s;
    }

    .quantity-toggle button:hover {
        background-color: #e2e6ea;
    }

    .quantity-toggle input {
        width: 50px;
        text-align: center;
        border: none;
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
        font-size: 16px;
        outline: none;
    }

    /* Hide default arrows in Chrome, Safari, Edge, Opera */
    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    /* Hide default arrows in Firefox */
    input[type=number] {
        -moz-appearance: textfield;
    }
 /* The main container for slots */
    #slot_grid {
        display: flex;
        flex-wrap: wrap;
        gap: 10px; /* Space between the slots */
        margin-top: 10px;
    }

    /* Each slot wrapper takes up nearly 50% of the width */
    .slot-item {
        flex: 0 0 calc(50% - 5px); 
        box-sizing: border-box;
    }

    /* Style the labels to look like buttons */
    .slot-item label {
        display: block;
        padding: 10px;
        background: #fdfdfd;
        border: 1px solid #ccc;
        border-radius: 5px;
        text-align: center;
        cursor: pointer;
        font-weight: bold;
    }

    /* Hide the actual radio circle for a cleaner look */
    .slot-item input[type="radio"] {
        display: none;
    }

    /* Change color when the user clicks a slot */
    .slot-item input[type="radio"]:checked + label {
        background: #FF494F;
        color: white;
        border-color: #FF494F;
    }

    .booking-row {
        margin-bottom: 15px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 300px;
    }

    .quantity-toggle {
        display: flex;
        border: 1px solid #ddd;
        border-radius: 5px;
        overflow: hidden;
    }

    .quantity-toggle button {
        background-color: #FF494F;
        border: none;
        padding: 4px 8px;
        cursor: pointer;
        font-size: 18px;
        font-weight: bold;
        transition: background 0.2s;
    }

    .quantity-toggle button:hover {
        background-color: #4DA528;
    }

    .quantity-toggle input {
        width: 50px;
        text-align: center;
        border: none;
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
        font-size: 16px;
        outline: none;
    }

    /* Hide default arrows in Chrome, Safari, Edge, Opera */
    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    /* Hide default arrows in Firefox */
    input[type=number] {
        -moz-appearance: textfield;
    }

    label {
    
    margin-bottom: 0px;
}

.currency-container {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .small-label {
        font-size: 12px;
        font-weight: bold;
        color: #666;
        text-transform: uppercase;
    }

    .currency-switcher-group {
        display: flex;
        gap: 5px;
        background: #eee;
        padding: 3px;
        border-radius: 30px;
    }

    .btn-flag {
        border: none;
        background: none;
        padding: 5px 12px;
        border-radius: 25px;
        cursor: pointer;
        font-size: 13px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 6px;
        transition: all 0.3s ease;
        color: #555;
    }

    /* Active State (Blue selection) */
    .btn-flag.active {
        background: #fff;
        color: #007bff;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }

    .flag {
        font-size: 16px; /* Size of the emoji flag */
    }

    /* Hover effect for non-active buttons */
    .btn-flag:not(.active):hover {
        background: #e0e0e0;
    }

   /*  #form-book-tour button {
    width: 45%;
    border-radius: 3px;
    text-transform: uppercase;
    float: left;
    display: flex;
    margin: 2px;
} */

.date-input-wrapper {
        max-width: 100%;
        margin-bottom: 20px;
    }
    .input-group {
        display: flex;
        border: 1px solid #ced4da;
        border-radius: 5px;
        overflow: hidden;
    }
    .input-group-text {
        background: #f8f9fa;
        padding: 10px;
        border-right: 1px solid #ced4da;
    }
    .form-control {
        border: none !important;
        padding: 10px;
        flex-grow: 1;
        font-size: 16px; /* Prevents auto-zoom on iOS */
    }