/**
 * Premium Integrated Booking Block Stylesheet v4.6 (Hybrid Support)
 * File: assets/css/premium-booking-block.css
 */

/* --- CSS Variables (Theme Customization) --- */
:root {
    --pb-font-primary: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --pb-font-mono: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;

    /* Primary Brand Colors */
    --pb-color-primary: #2a9d8f;          /* Main accent color (teal) */
    --pb-color-primary-dark: #1e7b72;     /* Darker shade for hover/active */
    --pb-color-primary-light: #e0f2f1;    /* Lighter shade for backgrounds */
    --pb-color-secondary: #f4a261;      /* Secondary accent (orange) - e.g., required indicator */
    --pb-color-secondary-dark: #e76f51;    /* Darker orange */

    /* Text Colors */
    --pb-color-text-dark: #263238;       /* Dark text (headings) */
    --pb-color-text-medium: #546e7a;    /* Medium text (body, labels) */
    --pb-color-text-light: #78909c;      /* Light text (placeholders, prices) */
    --pb-color-text-disabled: #b0bec5;   /* Disabled text/elements */
    --pb-color-text-white: #ffffff;

    /* Background Colors */
    --pb-color-bg-light: #ffffff;       /* Main container background */
    --pb-color-bg-alt: #f8fafc;        /* Alternate background (inputs, inactive days) */
    --pb-color-bg-canvas: #f1f5f9;       /* Page background (for contrast testing) */

    /* Border Colors */
    --pb-color-border: #cfd8dc;         /* Standard borders */
    --pb-color-border-light: #eceff1;    /* Lighter borders */
    --pb-color-border-focus: var(--pb-color-primary);
    /* --- Calendar Day State Colors (Subtle Premium) --- */
    
      /* --- Calendar Day State Colors (Subtle Premium - v2 Adjusted Strength) --- */
    /* Available Day (Slightly Stronger Green) */
    --pb-color-available-bg: #e6f5ed;     /* Was: #f0f9f4 - Slightly more noticeable green */
    --pb-color-available-text: var(--pb-color-text-medium); /* Keep standard text color */
    --pb-color-available-border: #cce8d8;   /* Was: #ddebe2 - Adjusted border for new bg */

    /* Booked/Past Day (Slightly Stronger Red/Pink) */
    --pb-color-booked-bg: #fce8e6;        /* Was: #fef6f5 - Slightly more noticeable pink/red */
    --pb-color-booked-text: var(--pb-color-text-disabled);  /* Use disabled text color */
    --pb-color-booked-border: #f9dcd9;    /* Was: #fbeae7 - Adjusted border for new bg (optional use) */
    /* Selection Colors */
    --pb-color-selection-bg: rgba(42, 157, 143, 0.15); /* Range selection background (Teal based) */
    --pb-color-selection-border: #a7d7d1;  /* Range selection border */
    --pb-color-selection-active-bg: var(--pb-color-primary);      /* Start/End selection background */
    --pb-color-selection-active-text: var(--pb-color-text-white); /* Start/End selection text */

    /* UI Elements */
    --pb-radius-l: 16px;                /* Large border radius (containers) */
    --pb-radius-m: 8px;                 /* Medium border radius (buttons, inputs) */
    --pb-radius-s: 6px;                 /* Small border radius */

    --pb-shadow: 0 8px 25px rgba(84, 110, 122, 0.08); /* Softer shadow */
    --pb-shadow-hover: 0 10px 30px rgba(84, 110, 122, 0.12); /* Hover shadow */
    --pb-shadow-focus: 0 0 0 3px rgba(42, 157, 143, 0.2);   /* Focus ring shadow */

    --pb-transition-fast: 0.2s ease;
    --pb-transition-medium: 0.3s ease;
}

/* --- Basic Reset & Defaults --- */
/* Apply box-sizing globally within the scope of the block for consistency */
.premium-booking-block-wrapper *,
.premium-booking-block-wrapper *::before,
.premium-booking-block-wrapper *::after,
.pbm-main-block-wrapper *, /* Apply to new main wrapper as well */
.pbm-main-block-wrapper *::before,
.pbm-main-block-wrapper *::after {
    box-sizing: border-box;
}

/* Apply base font & line-height to all wrappers */
.premium-booking-block-wrapper,
.pbm-main-block-wrapper {
    font-family: var(--pb-font-primary);
    line-height: 1.6;
    color: var(--pb-color-text-medium); /* Default text color */
}

/* --- Original Layout Wrapper (for single apartment pages) --- */
.premium-booking-block-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 35px;
    max-width: 860px; /* Original max-width */
    margin: 40px auto;
    position: relative;
}

/* Original column structure */
.premium-booking-calendar-column,
.premium-booking-form-column {
    flex: 1;
    min-width: 340px;
    display: flex;
    flex-direction: column;
}

/* --- NEW: Main Block Wrapper (for Hybrid layout on main page) --- */
.pbm-main-block-wrapper {
    max-width: 1200px; /* Allow more width for multiple calendars */
    margin: 40px auto;
    padding: 0 15px; /* Add some padding for smaller screens */
}

/* --- NEW: Calendars Area (holds multiple calendar instances) --- */
.pbm-calendars-area {
    display: flex;
    flex-wrap: wrap;
    gap: 25px; /* Gap between calendars */
    margin-bottom: 40px; /* Space between calendars and shared form */
    justify-content: center; /* Center calendars if they wrap */
}

/* --- NEW: Calendar Instance Wrapper (each calendar in the hybrid layout) --- */
/* Targets the wrapper div added in PHP render_calendar_only_part */
.pbm-calendar-instance-wrapper {
    flex: 1 1 300px; /* Flex grow, shrink, basis (aim for ~3 per row on large screens) */
    max-width: 350px; /* Max width for a single calendar */
    min-width: 280px; /* Min width before wrapping */
}

/* --- NEW: Shared Form Area --- */
.pbm-shared-form-area {
    max-width: 700px; /* Control width of the shared form */
    margin: 0 auto; /* Center the shared form */
}


/* --- General Container Styling (Apply to ALL calendar/form boxes) --- */
/* Target both original and new wrappers */
.premium-booking-calendar-container, /* Used by original layout and new calendar-only */
.premium-booking-form-container { /* Used by original layout and new shared-form */
    width: 100%;
    padding: 25px; /* Slightly reduced padding */
    background: var(--pb-color-bg-light);
    border-radius: var(--pb-radius-l);
    box-shadow: var(--pb-shadow);
    border: 1px solid var(--pb-color-border-light);
    transition: box-shadow var(--pb-transition-medium);
    color: var(--pb-color-text-medium);
}

.premium-booking-calendar-container:hover,
.premium-booking-form-container:hover {
   /* box-shadow: var(--pb-shadow-hover); Optional */
}

.premium-booking-calendar-container h3,
.premium-booking-form-container h3 {
    margin-top: 0;
    margin-bottom: 25px;
    font-size: 20px; /* Slightly smaller heading */
    font-weight: 600;
    text-align: center;
    color: var(--pb-color-text-dark);
}

/* --- Calendar Specific Styles (Apply universally) --- */

/* Calendar Navigation */
.premium-booking-calendar-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.premium-booking-calendar-nav button {
    background: transparent;
    color: var(--pb-color-primary);
    border: 1px solid var(--pb-color-border-light);
    border-radius: var(--pb-radius-m);
    padding: 8px 12px;
    font-size: 18px;
    cursor: pointer;
    transition: all var(--pb-transition-fast);
    line-height: 1;
}

.premium-booking-calendar-nav button:hover,
.premium-booking-calendar-nav button:focus {
    background: var(--pb-color-primary-light);
    border-color: var(--pb-color-selection-border);
    color: var(--pb-color-primary-dark);
    outline: none;
    box-shadow: var(--pb-shadow-focus);
}
.premium-booking-calendar-nav button:active {
    transform: scale(0.95);
}


.premium-booking-month-label {
    font-weight: 700;
    font-size: 17px; /* Slightly smaller */
    color: var(--pb-color-text-dark);
    text-transform: capitalize;
    text-align: center;
    flex-grow: 1;
    margin: 0 10px; /* Add some space around the label */
}

/* Calendar Table */
.premium-booking-calendar-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px; /* Slightly reduced spacing */
    margin-bottom: 15px; /* Reduced margin */
    table-layout: fixed;
}

.premium-booking-calendar-table th {
    font-weight: 600;
    color: var(--pb-color-text-light);
    padding: 6px 0; /* Reduced padding */
    font-size: 11px; /* Slightly smaller */
    border: none;
    text-transform: uppercase;
    text-align: center;
}

.premium-booking-calendar-table td {
    border: none;
    padding: 0;
    /* height: 55px; Let height be determined by content + padding */
    text-align: center;
    vertical-align: middle;
    font-size: 13px; /* Slightly smaller */
    position: relative;
    transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
    cursor: default;
    border-radius: var(--pb-radius-m);
}

/* Cell Inner Content Div */
.premium-booking-calendar-table td .day-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 50px; /* Minimum height */
    padding: 5px 2px; /* Padding inside cell */
    box-sizing: border-box;
    border: 1px solid transparent; /* Start with transparent border */
    border-radius: inherit;
    transition: background-color var(--pb-transition-fast), border-color var(--pb-transition-fast), color var(--pb-transition-fast);
    position: relative;
    overflow: hidden;
}

/* Day Number and Price */
.premium-booking-calendar-table td .day-number {
    font-weight: 600;
    font-size: 14px; /* Slightly smaller */
    line-height: 1.2;
    z-index: 1;
    position: relative;
}

.premium-booking-calendar-table td .day-price {
    font-size: 10px;
    color: var(--pb-color-text-light);
    font-weight: 500;
    line-height: 1.1;
    margin-top: 1px; /* Reduced margin */
    z-index: 1;
    position: relative;
}

/* --- Cell States (Updated with Subtle Backgrounds) --- */

/* Empty cells */
.premium-booking-calendar-table td.other-month .day-content {
    background-color: transparent;
    border-color: transparent;
}
.premium-booking-calendar-table td.other-month .day-number,
.premium-booking-calendar-table td.other-month .day-price {
    visibility: hidden;
}


/* Available Day */
.premium-booking-calendar-table td.available .day-content {
    background-color: var(--pb-color-available-bg); /* Subtle green */
    color: var(--pb-color-text-medium);
    cursor: pointer;
    border-color: transparent;
}

.premium-booking-calendar-table td.available:hover {
    transform: translateY(-2px);
    box-shadow: var(--pb-shadow-hover);
    z-index: 2;
}
.premium-booking-calendar-table td.available:hover .day-content {
    border-color: var(--pb-color-available-border);
    background-color: #ffffff; /* White background on hover for better contrast */
}

/* Focus state for keyboard navigation */
.premium-booking-calendar-table td.available:focus {
     outline: none;
}
.premium-booking-calendar-table td.available:focus .day-content {
     border-color: var(--pb-color-primary);
     box-shadow: var(--pb-shadow-focus);
}

/* Past Available Day */
.premium-booking-calendar-table td.past .day-content, /* Using .past now */
.premium-booking-calendar-table td.booked .day-content {
    background-color: var(--pb-color-booked-bg); /* Subtle pink/red */
    color: var(--pb-color-booked-text);
    border-color: transparent;
    cursor: not-allowed;
    opacity: 0.65; /* Apply opacity to disabled days */
}
.premium-booking-calendar-table td.past .day-price,
.premium-booking-calendar-table td.booked .day-price {
    display: none;
}

/* Optional: Remove strike-through if opacity is enough */
/*
.premium-booking-calendar-table td.booked .day-content::after {
    content: none;
}
*/
/* Or keep it but make it subtle */
 .premium-booking-calendar-table td.booked .day-content::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 5%;
    width: 90%;
    height: 1px;
    background: var(--pb-color-booked-border); /* Use subtle border color */
    transform: rotate(-45deg);
    transform-origin: center;
    z-index: 0;
    opacity: 0.7; /* Make strike-through also subtle */
}


/* --- Selection States --- */

.premium-booking-calendar-table td.selected-start .day-content,
.premium-booking-calendar-table td.selected-end .day-content {
    background-color: var(--pb-color-selection-active-bg);
    color: var(--pb-color-selection-active-text);
    border-color: var(--pb-color-primary-dark);
    font-weight: 700;
    opacity: 1; /* Ensure selected is fully opaque */
}
.premium-booking-calendar-table td.selected-start .day-content::after, /* Hide strike-through if selected */
.premium-booking-calendar-table td.selected-end .day-content::after {
    content: none;
}

.premium-booking-calendar-table td.selected-start .day-price,
.premium-booking-calendar-table td.selected-end .day-price {
    color: var(--pb-color-selection-active-text);
    opacity: 0.8;
}

.premium-booking-calendar-table td.selected-range .day-content {
    background-color: var(--pb-color-selection-bg);
    border-color: transparent; /* Remove border within range */
    color: var(--pb-color-primary-dark);
    opacity: 1; /* Ensure range is fully opaque */
}
.premium-booking-calendar-table td.selected-range .day-content::after { /* Hide strike-through if in range */
    content: none;
}
.premium-booking-calendar-table td.selected-range .day-number {
    font-weight: 600;
}


/* Calendar Legend */
.premium-booking-calendar-legend {
    margin-top: 15px; /* Reduced margin */
    padding-top: 15px;
    border-top: 1px solid var(--pb-color-border-light);
    font-size: 12px; /* Slightly smaller */
    color: var(--pb-color-text-medium);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px; /* Reduced gap */
    flex-wrap: wrap;
}
.premium-booking-calendar-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px; /* Reduced gap */
}
.premium-booking-calendar-legend .legend-box {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: var(--pb-radius-s);
    border: 1px solid var(--pb-color-border-light);
}
.premium-booking-calendar-legend .legend-available .legend-box {
    background-color: var(--pb-color-available-bg); /* Match available bg */
}
.premium-booking-calendar-legend .legend-booked .legend-box {
    background-color: var(--pb-color-booked-bg); /* Match booked bg */
    opacity: 0.65; /* Match opacity */
}
/* Remove strike-through from legend box if removed from main calendar */
.premium-booking-calendar-legend .legend-booked .legend-box::after {
    content: none; /* Let background color + opacity be the indicator */
}

/* Selection Feedback Area */
.premium-booking-selection-feedback {
    min-height: 1.5em;
    margin-top: 15px;
    font-size: 13px;
    text-align: center;
    font-weight: 500;
    transition: color var(--pb-transition-medium);
    color: transparent;
}
.premium-booking-selection-feedback.feedback-error {
    color: var(--pb-color-booked-text);
}
.premium-booking-selection-feedback.feedback-info {
    color: var(--pb-color-primary);
}


/* --- Form Specific Styles (Apply to original and shared form) --- */

.premium-booking-form {
    font-size: 15px;
}

/* Form Messages */
.premium-booking-form-message { /* Shared styles */
    padding: 15px 20px;
    margin-bottom: 25px;
    border-radius: var(--pb-radius-m);
    font-weight: 500;
    text-align: center;
    border: 1px solid transparent;
    font-size: 15px;
}
.premium-booking-form-message.premium-booking-success {
    background-color: var(--pb-color-available-bg);
    color: var(--pb-color-available-text);
    border-color: var(--pb-color-available-border);
}
.premium-booking-form-message.premium-booking-error {
    background-color: var(--pb-color-booked-bg);
    color: var(--pb-color-booked-text);
    border-color: var(--pb-color-booked-border);
}


/* Form Layout Grid */
.premium-booking-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px 20px;
    margin-bottom: 15px;
}
.premium-booking-form-field {
    margin-bottom: 18px;
}
.premium-booking-form-field.premium-booking-full-width {
    grid-column: 1 / -1;
}

/* Form Labels */
.premium-booking-form-field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--pb-color-text-dark);
    font-size: 14px;
}
.premium-booking-form-field label .required-indicator {
    color: var(--pb-color-secondary);
    margin-left: 3px;
    font-weight: bold;
}

/* Form Inputs, Textarea, AND Select */
.premium-booking-form input[type="text"],
.premium-booking-form input[type="email"],
.premium-booking-form input[type="tel"],
.premium-booking-form input[type="number"],
.premium-booking-form input[type="date"],
.premium-booking-form textarea,
.premium-booking-form select { /* Added select */
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--pb-color-border);
    border-radius: var(--pb-radius-m);
    font-size: 15px;
    font-family: inherit;
    background: var(--pb-color-bg-alt);
    transition: border-color var(--pb-transition-fast), box-shadow var(--pb-transition-fast), background-color var(--pb-transition-fast);
    color: var(--pb-color-text-dark);
    line-height: inherit;
    appearance: none; /* Basic reset for select */
}

/* Input/Select focus state */
.premium-booking-form input:focus,
.premium-booking-form textarea:focus,
.premium-booking-form select:focus { /* Added select */
    border-color: var(--pb-color-border-focus);
    background: var(--pb-color-bg-light);
    outline: none;
    box-shadow: var(--pb-shadow-focus);
}

/* Input/Select error state */
.premium-booking-form input.input-error,
.premium-booking-form textarea.input-error,
.premium-booking-form select.input-error { /* Added select */
    border-color: var(--pb-color-booked-text) !important;
    background-color: var(--pb-color-booked-bg);
}
.premium-booking-form input.input-error:focus,
.premium-booking-form textarea.input-error:focus,
.premium-booking-form select.input-error:focus { /* Added select */
   box-shadow: 0 0 0 3px rgba(198, 40, 40, 0.2);
}

/* Select specific styling */
.premium-booking-form select {
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23%23546e7a%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'); /* Simple dropdown arrow */
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 10px 10px;
    padding-right: 40px; /* Make space for arrow */
    cursor: pointer;
}
/* Hide default arrow in IE/Edge */
.premium-booking-form select::-ms-expand {
    display: none;
}


/* Specific input types */
.premium-booking-form input[type="date"] {
    color-scheme: light;
    padding-right: 10px;
}
.premium-booking-form input[type="date"]::-webkit-calendar-picker-indicator {
   opacity: 0.6;
   cursor: pointer;
   transition: opacity var(--pb-transition-fast);
}
.premium-booking-form input[type="date"]::-webkit-calendar-picker-indicator:hover {
   opacity: 1;
}


.premium-booking-form textarea {
    resize: vertical;
    min-height: 80px;
}

/* Honeypot Field */
.premium-booking-form .hp-field {
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* Submit Button */
.premium-booking-submit-button {
    margin-top: 25px;
    width: 100%;
    background-color: var(--pb-color-primary);
    color: var(--pb-color-text-white);
    border: none;
    padding: 14px 20px;
    font-size: 16px;
    border-radius: var(--pb-radius-m);
    cursor: pointer;
    transition: background-color var(--pb-transition-fast), transform 0.1s ease;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    line-height: 1.5;
}
.premium-booking-submit-button:hover,
.premium-booking-submit-button:focus {
    background-color: var(--pb-color-primary-dark);
    outline: none;
    box-shadow: var(--pb-shadow-focus);
}
.premium-booking-submit-button:active {
    transform: scale(0.98);
}
.premium-booking-submit-button:disabled {
    background-color: #bdbdbd;
    cursor: not-allowed;
    opacity: 0.7;
}


/* --- Utility Classes --- */
.screen-reader-text { /* Standard screen reader text */ }


/* --- Responsive Design --- */

/* Styles for the ORIGINAL wrapper on smaller screens */
@media (max-width: 880px) {
    .premium-booking-block-wrapper {
        flex-direction: column;
        gap: 30px;
        max-width: 450px;
        margin: 30px auto;
    }
    .premium-booking-calendar-column,
    .premium-booking-form-column {
        min-width: 100%;
    }
}

/* --- Responsive adjustments for the NEW Hybrid Layout --- */

/* Tablet View (e.g., 2 calendars side-by-side) */
@media (max-width: 1024px) { /* Adjust breakpoint as needed */
    .pbm-main-block-wrapper {
        max-width: 960px;
    }
    /* Adjust basis/max-width to aim for 2 columns */
    .pbm-calendar-instance-wrapper {
       flex-basis: 45%; /* Roughly two per row with gap */
       max-width: 400px; /* Increase max width slightly */
    }
    .pbm-shared-form-area {
        max-width: 600px;
    }
     .premium-booking-form-grid {
        grid-template-columns: 1fr; /* Stack form fields earlier */
        gap: 0 15px;
        margin-bottom: 0;
    }
    .premium-booking-form-field {
        margin-bottom: 15px;
    }

}

/* Mobile View (Stack everything) */
@media (max-width: 767px) { /* Common mobile breakpoint */
     .pbm-main-block-wrapper {
        max-width: 100%; /* Full width */
        padding: 0 10px; /* Reduce padding */
    }
    .pbm-calendars-area {
        flex-direction: column; /* Stack calendars */
        gap: 20px; /* Reduce gap */
        margin-bottom: 30px;
    }
    .pbm-calendar-instance-wrapper {
        flex-basis: 100%; /* Full width */
        max-width: 400px; /* Limit max width even when stacked */
        margin: 0 auto; /* Center stacked calendars */
    }
    .pbm-shared-form-area {
        max-width: 400px; /* Match calendar width */
    }

    /* Apply general mobile adjustments */
    .premium-booking-calendar-container,
    .premium-booking-form-container {
        padding: 15px; /* Further reduce padding */
        border-radius: var(--pb-radius-m);
    }

    .premium-booking-calendar-container h3,
    .premium-booking-form-container h3 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .premium-booking-calendar-nav button {
        padding: 6px 10px;
        font-size: 16px;
    }
    .premium-booking-month-label {
        font-size: 15px;
    }
    .premium-booking-calendar-table td {
        /* height: 45px; */ /* Let height adjust */
        font-size: 12px;
    }
     .premium-booking-calendar-table td .day-content {
        min-height: 45px;
     }
    .premium-booking-calendar-table th {
        font-size: 10px;
        padding: 5px 0;
    }
    .premium-booking-calendar-table td .day-number {
        font-size: 13px;
    }
    .premium-booking-calendar-table td .day-price {
        font-size: 9px;
    }
    .premium-booking-calendar-legend {
        font-size: 11px;
        gap: 8px 12px;
        margin-top: 10px;
        padding-top: 10px;
    }
    /* Form grid already stacked from tablet view */
    .premium-booking-form input[type="text"],
    .premium-booking-form input[type="email"],
    .premium-booking-form input[type="tel"],
    .premium-booking-form input[type="number"],
    .premium-booking-form input[type="date"],
    .premium-booking-form textarea,
    .premium-booking-form select {
        padding: 10px 12px;
        font-size: 14px;
    }
    .premium-booking-form select {
        background-size: 9px 9px;
        padding-right: 35px;
    }
    .premium-booking-submit-button {
        padding: 12px 15px;
        font-size: 15px;
        margin-top: 20px;
    }
    .premium-booking-form-message {
        padding: 12px 15px;
        font-size: 14px;
        margin-bottom: 20px;
    }
}