/* Chosen Dropdown Styling */
.chosen-container.chosen-container-single a.chosen-single,
.cart.rnb-cart select[name="pickup_location"], 
.cart.rnb-cart select[name="dropoff_location"] {
    position: relative;
    padding-left: 38px;
    height: 48px !important;
    border-radius: 8px;
    border-color: #dfdfdf !important;
}

.chosen-container.chosen-container-single a.chosen-single::before {
    content: "\f3c5";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #4c8aff;
    font-size: 16px;
    pointer-events: none;
}

/* Location Selection Elements */
.rnb-select-wrapper {
    position: relative;
}

#pickupLocationPreview,
#dropoffLocationPreview {
    position: relative;
}

#pickupLocationPreview select {
    padding-left: 2.2em;
}

.rnb-select-wrapper.redq-pick-up-location .chosen-drop {
    border: 1px solid #e1e1e1 !important;
    border-radius: 8px;
    top: 50px;
    overflow: hidden;
    box-shadow: 0 7px 8px rgba(0, 0, 0, 0.15);
}

.rnb-select-wrapper.redq-pick-up-location .chosen-drop .chosen-results li {
    padding: 15px 15px;
}

.rnb-select-wrapper.redq-pick-up-location .chosen-drop .chosen-results .highlighted {
    background-color: #eee;
    color: #333;
}

.rnb-select-wrapper.redq-pick-up-location .chosen-drop .chosen-search {
    display: none;
}

.rnb-cart .rnb-select-wrapper .chosen-container.chosen-container-single .chosen-single b {
    top: 4px;
    right: 4px;
}

.chosen-container-active.chosen-with-drop .chosen-single div b {
    width: 12px;
}

/* Date Time Picker */
.date-time-picker.rnb-component-wrapper {
    background-color: #fff;
    z-index: 2;
}

.date-time-picker .pick-up-date-picker,
.date-time-picker .drop-off-date-picker {
    width: 62%;
    padding-right: 15px;
}

.rnb-cart .date-time-picker input {
    font-size: 16px !important;
    padding-left: 38px;
    border-radius: 8px !important;
    border-color: #dfdfdf !important;
}

.pick-up-date-picker i,
.pick-up-time-picker i,
.drop-off-date-picker i,
.drop-off-time-picker i {
    font-size: 16px !important;
    color: #4c8aff;
    left: 15px;
    top: 16px;
}

.cart h5 {
    padding-bottom: 15px;
}

/* DateTimePicker Styling */
.xdsoft_datetimepicker,
.xdsoft_timepicker {
    border-radius: 8px;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div {
    font-weight: 500;
}

.xdsoft_datetimepicker .xdsoft_calendar table {
    border: none !important;
}

.xdsoft_datetimepicker .xdsoft_calendar table tbody {
    border-top: 1px solid var(--ast-border-color);
}

.xdsoft_datetimepicker .xdsoft_calendar th,
.xdsoft_datetimepicker .xdsoft_calendar td {
    border: none !important;      
}

.xdsoft_datetimepicker .xdsoft_calendar td {
    font-weight: 500;
}

.xdsoft_datetimepicker .xdsoft_calendar td > div {
    padding-right: 0;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:not(.xdsoft_current),
.xdsoft_datetimepicker .xdsoft_time_box > div > div.xdsoft_disabled:not(.xdsoft_current) {
    background: transparent !important; 
    text-decoration: line-through;
    color: #303030 !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current {
    border-radius: 20px !important;
    background-color: #007bff !important;
    color: white !important;
    border: none !important;
    opacity: 1 !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
    border-radius: 25px !important;
    background: #007bff !important;
    color: white !important;
    opacity: .4;
    font-weight: 700;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current {
    border-radius: 25px !important;
    background: #007bff !important;
    color: white !important;
    border: none !important;
    opacity: 1;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
    border: none !important;
    opacity: 1 !important;
    background: #eeeeee !important;
    color: #303030;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current:hover {
    border: none !important;
    background: #eeeeee !important;
}

#cal-submit-btn,
#drop-cal-submit-btn {
    background: #007bff !important;
}

/* Booking Form Elements */
.redq_add_to_cart_button {
    height: 48px;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    background-color: #003eff !important;
}

#resourcePreview {
    margin-bottom: 20px;
}

.custom-block .pull-right {
    margin-bottom: 15px;
}

#quote-content-confirm {
    background-color: #18a328 !important;
}

.rnb-error-message {
    border-radius: 8px;
    padding: 15px;
}
.date-time-picker h5 {
    color: #757575 !important;
}

/* Product Description */
.product-description h3,
.product-info-custom h3 {
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
}

.product-description ul,
.product-info-custom ul {
    list-style-type: disc; 
    margin-left: 20px; 
    margin-bottom: 15px;
    line-height: 34px;
}

.product-description li,
.product-info-custom li {
    margin-bottom: 8px;
}

/* Flight Number Field */
.ygc-redq-flight-number h5 {
    font-weight: 400 !important;
    padding-top: 0;
    color: #777 !important;
    font-size: 15px !important;
}

.ygc-redq-flight-number input {
    font-size: 16px !important;
    border-radius: 8px !important;
    border-color: #dfdfdf !important;
    padding-left: 40px;
    width: 100%;
}

.ygc-redq-flight-number-wraper {
    position: relative;
}

.ygc-redq-flight-number-wraper i {
    position: absolute;
    top: 0;
    left: 15px;
    color: #4c8aff;
    font-size: 16px;
    pointer-events: none;
}

/* Popup Styling */
.rnb-popup {
    padding: 55px 35px 35px;
    border-radius: 10px;
    max-width: 600px;
}

.rnb-popup p:last-of-type {
    text-align: center;
    margin-bottom: 0;
}

.rnb-popup p:last-of-type button {
    padding: 12px 42px;
}

.rnb-popup input,
.rnb-popup textarea {
    width: 100% !important;
    border-radius: 6px !important;
    height: 46px !important;
    padding: 10px 15px;
}

.rnb-popup textarea {
    height: auto !important; 
    min-height: 75px;
}

.mfp-close-btn-in .mfp-close {
    top: 0;
    margin-top: 20px;
}

/* Responsive Styles */
@media (max-width: 768px) {
    #pickupLocationPreview::before,
    #dropoffLocationPreview::before {
        content: "\f3c5"; /* Font Awesome 'fa-map-marker-alt' */
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        left: 12px;
        top: 45px;
        color: #4c8aff;
        pointer-events: none;
        font-size: 16px;
        z-index: 1;
    }
    
    #pickupLocationPreview select option[value=""],
    #dropoffLocationPreview select option[value=""] {
        display: none;
    }
    
    .product-description ul {
        margin-left: 10px;
    }
}