/**
 * Chauffeur Booking Form Styles
 * Version 5.4.0 - Final Styling Adjustments
 */

/* Scoped Reset for Chauffeur Booking System */
#chauffeur-booking-wrapper *,
#chauffeur-booking-wrapper *::before,
#chauffeur-booking-wrapper *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    text-align: left;
    line-height: 1.5;
}
#chauffeur-booking-wrapper button,
#chauffeur-booking-wrapper input,
#chauffeur-booking-wrapper select,
#chauffeur-booking-wrapper textarea {
    background: none;
    color: inherit;
    font: inherit;
}
#chauffeur-booking-wrapper button {
    cursor: pointer;
}

/* Scoped Styles */
#chauffeur-booking-wrapper .booking-form-container {
    background: var(--form-bg-color, #ffffff);
    width: 100%;
    margin: 1.25em auto;
    border: 1px solid var(--form-border-color, #dee2e6);
    border-radius: 0.5em;
    box-shadow: 0 0.25em 1.25em rgba(0,0,0,0.1);
    overflow: hidden;
    padding: 1.25em;
    display: flex;
    flex-direction: column;
}

#chauffeur-booking-wrapper .tabs-container {
    display: flex;
    background-color: #f8f9fa;
    border-radius: 0; /* CORRECTED: Removed radius from tab container */
}

#chauffeur-booking-wrapper .tab {
    flex: 1;
    text-align: center;
    font-weight: 500;
    cursor: pointer;
    border: none;
    background: transparent;
    color: var(--tab-text-color, #333);
    border-radius: 0; /* CORRECTED: Removed radius from individual tabs */
    transition: background-color 0.3s, color 0.3s;
    padding: 0.9375em;
    font-size: 1em;
}

#chauffeur-booking-wrapper .tab.active {
    background: var(--active-tab-bg-color, #1D783B);
    color: var(--active-tab-text-color, #ffffff);
}

#chauffeur-booking-wrapper .form-body {
    padding-top: 0; /* CORRECTED: Removed top padding to join tabs with form */
}

#chauffeur-booking-wrapper .input-group {
    display: flex;
    align-items: center;
    background-color: var(--input-bg-color, #f8f9fa);
    border: 1px solid var(--input-border-color, #e9ecef);
    border-radius: 0.5em;
    padding: 0.9375em;
    margin-bottom: 0.9375em;
}
/* Make first input join with tabs */
#chauffeur-booking-wrapper .input-group:first-of-type {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


#chauffeur-booking-wrapper .input-group i {
    font-size: 1.25em;
    color: #555;
    margin-right: 0.9375em;
    width: 1.25em;
    text-align: center;
}

#chauffeur-booking-wrapper .input-content {
    flex: 1;
}

#chauffeur-booking-wrapper .input-content label {
    display: block;
    font-weight: 700;
    color: #333;
    margin-bottom: 0.25em;
    font-size: 0.875em;
}

#chauffeur-booking-wrapper .input-field {
    border: none;
    background: transparent;
    width: 100%;
    font-size: 0.9375em;
    color: #555;
    box-sizing: border-box;
    height: auto;
    padding: 0;
}
#chauffeur-booking-wrapper .input-field:focus {
    outline: none;
}
#chauffeur-booking-wrapper .input-field::placeholder {
    color: #888;
}
#chauffeur-booking-wrapper input[type="time"].input-field {
    line-height: 1.5;
}

#chauffeur-booking-wrapper .submit-btn {
    width: 100%;
    background: var(--button-bg-color, #1D783B);
    color: var(--button-text-color, #ffffff);
    border: none;
    padding: 0.9375em;
    border-radius: 0.5em;
    font-size: 1.125em;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s;
    text-align: center; /* CORRECTED: Center align button text */
}
#chauffeur-booking-wrapper .submit-btn:hover {
    filter: brightness(90%);
}

#chauffeur-booking-wrapper .booking-form-container.tight-layout .submit-btn-container {
    padding: 0; /* CORRECTED: Remove padding for tight layout */
}
#chauffeur-booking-wrapper .booking-form-container.tight-layout .submit-btn {
    border-radius: 0; /* CORRECTED: Make button square in tight layout */
}

@media (max-width: 640px) {
    #chauffeur-booking-wrapper .booking-form-container {
        padding: 1em;
    }
    #chauffeur-booking-wrapper .tab {
        font-size: 0.8125em;
        padding: 0.75em 0.3125em;
        white-space: nowrap;
    }
    #chauffeur-booking-wrapper .input-content label {
        font-size: 0.8125em;
    }
    #chauffeur-booking-wrapper .input-field {
        font-size: 0.875em;
    }
    #chauffeur-booking-wrapper .input-group {
        padding: 0.75em;
    }
    #chauffeur-booking-wrapper .submit-btn {
        font-size: 1em;
        padding: 0.75em;
    }
    #chauffeur-booking-wrapper .booking-form-container.tight-layout {
        padding: 0;
    }
}

/* Fix for the gap between tabs and form in tight layout */
#chauffeur-booking-wrapper .booking-form-container.tight-layout .tabs-container {
    margin-bottom: -1px;
}