
    /* --- Stepper Header (from your reference image) --- */
    .stepper-header { display: flex; justify-content: space-between; position: relative; margin: 0 auto 2.5rem; padding-top: 10px;     max-width: 600px;}
    .stepper-header::before { content: ""; position: absolute; top: 18px; left: 0; width: 100%; height: 2px; background-color: #dee2e6; z-index: 0; }
    .step-node { z-index: 1; background-color: #fff; padding: 0 10px; text-align: center; width: 100px; }
    .step-circle { width: 36px; height: 36px; border-radius: 50%; border: 2px solid #dee2e6; display: flex; align-items: center; justify-content: center; margin: 0 auto 8px; background: white; font-weight: bold; color: #6c757d; transition: 0.3s; }
    .step-node.active .step-circle { border-color: #d1a039; background-color: #d1a039; color: white; }
    .step-node.active .step-text { color: #d1a039; font-weight: 600; font-size: 12px; }
    .step-text { font-size: 12px; color: #6c757d; display: block; }

    /* --- Booking Tabs (Inputs) --- */
    .booking-tab { border: 1px solid #dee2e6; padding: 12px 15px; border-radius: 8px; background: #fff; display: flex; align-items: center; cursor: pointer; transition: 0.2s; }
    .booking-tab:hover { border-color: #d1a039; }
    .booking-tab .text { color: #495057; font-size: 0.95rem; flex-grow: 1; }
    /* Added Error Border for Tabs */
    .booking-tab.error { border-color: #dc3545 !important; }

    /* --- Centered Guest Modal & Blur Overlay --- */
    .guest-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); z-index: 2000; display: none; backdrop-filter: blur(4px); }
    .guest-popup { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; background: #fff; border-radius: 16px; padding: 30px; z-index: 2001; display: none; box-shadow: 0 20px 60px rgba(0,0,0,0.4); border: none; }
    .guest-overlay.active, .guest-popup.active { display: block; }
    
    .guest-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #f1f1f1; }
    .guest-row:last-of-type { border-bottom: none; margin-bottom: 10px; }
    .counter { display: flex; align-items: center; gap: 15px; }
    .counter button { width: 36px; height: 36px; border-radius: 50%; border: 1px solid #d1a039; background: #fff; color: #d1a039; font-weight: bold; cursor: pointer; transition: 0.2s; }
    .counter button:hover { background: #d1a039; color: #fff; }

    /* --- Modern Toggle Switch --- */
    .switch { position: relative; display: inline-block; width: 48px; height: 26px; }
    .switch input { opacity: 0; width: 0; height: 0; }
    .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 34px; }
    .slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 4px; bottom: 4px; background-color: white; transition: .4s; border-radius: 50%; }
    input:checked + .slider { background-color: #d1a039; }
    input:checked + .slider:before { transform: translateX(22px); }

    .done-btn { width: 100%; background: #d1a039; color: #fff; border: none; padding: 12px; border-radius: 8px; font-weight: 600; margin-top: 15px; }

    /* --- Form Steps --- */
    .form-step { display: none; }
    .form-step.active { display: block; }
    label.error { color: #dc3545; font-size: 0.8rem; margin-top: 5px; display: block; }
    input.error, textarea.error { border-color: #dc3545 !important; }
    .booking-tab.error { border-color: #dc3545 !important; }
    .max-width-fors{ max-width: 550px; margin: 0 auto;
    }
    .new-booking-btn{
           display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    text-wrap: nowrap;
    line-height: 1.57em;
   
    border: 0;
    outline: 0;
    padding: 9px 18px;
    font-size: 14px;
    border: 1px solid #1D1D1D;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.58, 0, 0.88, 1);
    max-height: fit-content;
    border-radius: 10px;
    border:0;
    min-width: 120px;
    }
    .end-booking-btn{
         background: #033631;
    color: #fff;
    }
    .prev-booking-btn{
        background:#f8f9fa;
        border: 1px solid #00000091;
    }
    /* Make Flatpickr responsive on mobile */
