/* Note: Assuming your site's main CSS files define your :root variables */

:root {
    --dominant-color: #F8F8F8; /* Light Grey/Off-White */
    --secondary-color: #0150B7; /* Passmaster Blue (Let's use this for the header/button) */
    --accent-color: #555555; /* Dark Grey for text */
    --text-color: #333333; /* Even darker grey for high readability */
    
    /* NEW VARIABLE: Lighter blue for the form body, matching the screenshot */
    --form-body-color: #5D8ACD; 
}


/* ---------------------------------- */
/* FORM LAYOUT AND CONTAINER STYLING */
/* ---------------------------------- */

/* The main container should have the lighter blue background */
.booking-form-container {
    background-color: var(--form-body-color); /* The lighter blue body */
    padding: 20px 30px; /* Reduced top/bottom padding slightly */
    border-radius: 5px; 
    max-width: 450px; 
    margin: 20px 0; 
    color: white; 
    font-family: 'Roboto', sans-serif;
    overflow: hidden; /* Helps contain the header */
}

/* Form Header (The darker blue section) */
.form-header {
    /* Use the main Passmaster Blue for the header background */
    background-color: var(--secondary-color); 
    display: flex;
    align-items: center;
    padding: 10px 0; /* Vertical padding */
    margin: -20px -30px 20px -30px; /* Pulls the header to the container edges */
    text-align: center;
}

.form-header h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.5em;
    margin: 0 auto; /* Centres the title */
    color: white;
}
.form-header i {
    /* For the Font Awesome icon - place it to the left */
    color: white;
    margin-left: 15px;
}

/* ---------------------------------- */
/* INPUT ELEMENTS STYLING (Same as before) */
/* ---------------------------------- */

.form-group {
    margin-bottom: 15px;
}

.booking-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: 400;
    font-size: 0.9em;
}

.booking-form input[type="text"],
.booking-form input[type="tel"],
.booking-form input[type="email"],
.booking-form select,
.booking-form textarea {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 5px; 
    box-sizing: border-box; 
    color: var(--text-color, #333333); 
    font-family: 'Roboto', sans-serif;
}

.booking-form textarea {
    resize: vertical;
}


/* Styling for Radio Buttons / Checkboxes */
.form-group.preference-group p {
    font-size: 0.9em;
    margin-top: -5px;
    margin-bottom: 10px;
}
.booking-form input[type="radio"] + label,
.booking-form input[type="checkbox"] + label {
    display: inline;
    margin-left: 5px;
}


/* ---------------------------------- */
/* BUTTON STYLING (To match your button style) */
/* ---------------------------------- */

.booking-form button[type="submit"] {
    width: 100%;
    background-color: var(--secondary-color); /* Use the main Passmaster Blue for the button */
    color: white; 
    padding: 12px 20px;
    margin-top: 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 700;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    transition: background-color 0.3s;
}

.booking-form button[type="submit"]:hover {
    background-color: #00409A; /* A slightly darker blue on hover */
}

/* Highly specific styles to fix checkbox conflicts */
.booking-form-container .booking-form .preference-group div,
.booking-form-container .booking-form .preference-group div {
    /* Ensures each option is on its own line for readability */
    display: block; 
    margin-bottom: 5px;
}

.booking-form-container .booking-form input[type="checkbox"],
.booking-form-container .booking-form input[type="radio"] {
    /* Basic styling for the input box itself */
    vertical-align: middle; 
    margin-right: 8px; 
}

/* Highly specific selector for the text labels on the blue background */
.booking-form-container .booking-form input[type="checkbox"] + label,
.booking-form-container .booking-form input[type="radio"] + label {
    display: inline;
    font-size: 1em;
    font-weight: 400;
    color: white; /* Crucial: Forces the text to be white */
}

/* Styling for Success/Error Messages */
.success-message, .error-message {
    padding: 15px;
    margin: 20px auto;
    border-radius: 5px;
    max-width: 450px; /* To match the form width */
    text-align: center;
    font-family: 'Roboto', sans-serif;
}

.success-message {
    background-color: #d4edda; /* Light green background */
    color: #155724; /* Dark green text */
    border: 1px solid #c3e6cb;
}

.error-message {
    background-color: #f8d7da; /* Light red background */
    color: #721c24; /* Dark red text */
    border: 1px solid #f5c6cb;
}

.success-message h2, .error-message h2 {
    font-size: 1.2em;
    margin-top: 0;
}

.message-status {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
    text-align: center;
}
.success-box {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}
.error-box {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}
