.button-center {
	display: block !important;
	margin: 0 auto !important;
	max-width: 200px;
}

.chauffeur-service-rates-table-wrapper {
	overflow-x: auto;
}

.chauffeur-service-rates-table {
	min-width: 1000px;
}

.chauffeur-service-rates-table th:first-child {
	background: transparent;
}

.chauffeur-service-rates-table th:first-child:after,
.chauffeur-service-rates-table th:first-child:hover:after {
	border-top: none;
}

table.chauffeur-service-rates-table tbody th {
	padding: 30px;
	position: relative;
}

.chauffeur-service-rates-table th:after {
	width: 0px;
	height: 0px;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	display: block;
	content: '';
	position: absolute;
	bottom: -10px;
	left: 30px;
}

.chauffeur-service-rates-table th p {
	line-height: 160%;
	font-size: 16px;
	margin: 0 0 0px 0;
	color: #838383;
	font-family: 'Source Sans Pro', sans-serif;
}

.chauffeur-service-rates-table th p strong {
	font-family: 'Montserrat', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 18px;
	display: block;
	color: #fff;
	font-weight: bold;
}

table.chauffeur-service-rates-table td {
	padding: 30px !important;
}

.chauffeur-service-rates-table td p {
	color: #838383;
	margin: 0;
	font-size: 15px;
}

.chauffeur-service-rates-table td p strong {
	color: #424242;
	font-family: 'Montserrat', sans-serif;
	-moz-osx-font-smoothing: grayscale;
	font-size: 16px;
	font-weight: bold;
	display: block;
}

.chauffeur-service-rates-table td:first-child img {
	float: left;
}

.chauffeur-service-rates-table td:first-child p {
	font-family: 'Montserrat', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	float: left;
	padding: 14px 0 14px 14px;
	margin: 0;
	font-size: 16px;
}

table.chauffeur-service-rates-table tbody th:first-child {
	border-right: none;
}

table.chauffeur-service-rates-table tbody th:first-child:hover {
	background: transparent;
}

table.chauffeur-service-rates-table tbody tr:first-child {
	background: #fff;
}

table.chauffeur-service-rates-table tbody tr {
    background: #f8f8f8;
}

table.chauffeur-service-rates-table tbody tr:nth-child(2n) {
    background: #fff;
}

table.chauffeur-service-rates-table tbody tr td:first-child {
	background: #f8f8f8; /* For browsers that do not support gradients */
	background: -webkit-linear-gradient(left, #fff , #f8f8f8); /* For Safari 5.1 to 6.0 */
	background: -o-linear-gradient(right, #fff , #f8f8f8); /* For Opera 11.1 to 12.0 */
	background: -moz-linear-gradient(right, #fff , #f8f8f8); /* For Firefox 3.6 to 15 */
	background: linear-gradient(to right, #fff , #f8f8f8); /* Standard syntax */
}

table.chauffeur-service-rates-table tbody tr:nth-child(2n) td:first-child {
	background: #fff;
}

.qns-return-journey-date-time .booking-form-hour,
.qns-return-journey-date-time .booking-form-min {
	float: left;
	width: 50%;
}

.qns-return-journey-date-time .booking-form-min select {
	border-left: #e8e8e8 1px solid;
}

body { font-family: Arial, sans-serif; padding: 20px; }
input { width: 100%; padding: 10px; margin: 10px 0; }

.chauffeur-autosuggest-form {
	position: relative;
}

#suggestions { 
    position: absolute;
    background: white;
    max-height: 200px;
	width: calc(100% - 60px);
    overflow-y: auto;
    z-index: 9999;
	margin: -20px 0 0 0;
	color: #b4b4b4;
	font-size: 16px;
	line-height: 120%;
}

#suggestions div { 
	padding: 10px; 
	cursor: pointer;
}

#suggestions div:hover {
	background: #f6f6f6;
}

/* Select2 Custom Styling - Match Theme's Native Select Style */
.select-wrapper .select2-container {
	width: 100% !important;
	background: transparent !important;
}

/* Make Select2 selection look exactly like native select */
.select-wrapper .select2-container--default .select2-selection--single {
	height: auto !important;
	min-height: 45px !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 0 !important;
}

.select-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 19px !important;
	padding: 13px 15px !important;
	color: #bbbbbb !important;
	font-size: 16px !important;
	background: transparent !important;
}

/* Hide Select2's default arrow - we'll use theme's icon instead */
.select-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
	display: none !important;
}

/* Match selected option color */
.select-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #bbbbbb !important;
}

/* Style the dropdown to match theme */
.select2-dropdown {
	border: 1px solid #e8e8e8 !important;
	border-radius: 0 !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
	background: #fff !important;
}

/* Search field in dropdown */
.select2-search--dropdown {
	padding: 10px !important;
	background: #f9f9f9 !important;
}

.select2-search--dropdown .select2-search__field {
	border: 1px solid #e8e8e8 !important;
	border-radius: 0 !important;
	padding: 10px 12px !important;
	font-size: 14px !important;
	color: #666 !important;
	background: #fff !important;
}

.select2-search--dropdown .select2-search__field:focus {
	outline: none !important;
	border-color: #ccc !important;
}

/* Results styling */
.select2-results__options {
	max-height: 300px !important;
}

.select2-results__option {
	padding: 12px 15px !important;
	font-size: 14px !important;
	color: #666 !important;
	background: #fff !important;
}

.select2-results__option--highlighted {
	background-color: #f6f6f6 !important;
	color: #333 !important;
}

.select2-results__option--selected {
	background-color: #e8e8e8 !important;
	color: #333 !important;
	font-weight: normal !important;
}

/* Ensure dropdown appears above other elements */
.select2-container--open {
	z-index: 99999 !important;
}

.select2-dropdown {
	z-index: 99999 !important;
	margin-top: 1px !important;
}

/* Full-width booking forms */
.booking-form-full .select-wrapper .select2-container {
	width: 100% !important;
}

/* Make sure the wrapper's background shows through */
.select-wrapper {
	position: relative;
}

/* Ensure theme's arrow icon stays visible and on top */
.select-wrapper i.fa-angle-down {
	z-index: 1 !important;
	pointer-events: none !important;
}

/* Force black text in all select fields and inputs */
select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
.select-wrapper select,
.booking-form-1 select,
.booking-form-full select,
.select2-selection__rendered {
	color: #000000 !important;
}

/* Black text even when placeholder/empty */
.select-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #000000 !important;
}

/* Placeholder in lighter color for empty state */
.select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: #999999 !important;
}

/* Reduce width of "Flat Rate" tab label only */
#booking-tabs .nav li:nth-child(3) {
	width: auto !important;
	min-width: 80px !important;
}

#booking-tabs .nav li:nth-child(3) a {
	padding: 15px 20px !important;
}

/* Widget flat rate - specific row layout with more specific selectors */
.widget-booking-form-wrapper .booking-form-flat-inline,
.booking-form-flat-inline {
	display: block !important;
	font-size: 0 !important; /* Remove whitespace between inline-block elements */
}

.widget-booking-form-wrapper .booking-form-flat-inline > *,
.booking-form-flat-inline > * {
	font-size: 16px !important; /* Restore font size */
}

/* Row 1: From (full width alone) */
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(1),
.booking-form-flat-inline > .booking-form-full:nth-child(1) {
	width: 100% !important;
	display: block !important;
	margin-bottom: 10px !important;
	margin-right: 0 !important;
	float: none !important;
	clear: both !important;
}

/* Ensure Select2 in From field is also full width */
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(1) .select2-container,
.booking-form-flat-inline > .booking-form-full:nth-child(1) .select2-container,
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(1) .select2,
.booking-form-flat-inline > .booking-form-full:nth-child(1) .select2,
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(1) .select-wrapper,
.booking-form-flat-inline > .booking-form-full:nth-child(1) .select-wrapper,
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(1) select,
.booking-form-flat-inline > .booking-form-full:nth-child(1) select {
	width: 100% !important;
	display: block !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Row 2: To (full width alone) */
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(2),
.booking-form-flat-inline > .booking-form-full:nth-child(2) {
	width: 100% !important;
	display: block !important;
	margin-bottom: 10px !important;
	margin-right: 0 !important;
	float: none !important;
	clear: both !important;
}

/* Ensure Select2 in To field is also full width */
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(2) .select2-container,
.booking-form-flat-inline > .booking-form-full:nth-child(2) .select2-container,
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(2) .select2,
.booking-form-flat-inline > .booking-form-full:nth-child(2) .select2,
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(2) .select-wrapper,
.booking-form-flat-inline > .booking-form-full:nth-child(2) .select-wrapper,
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-full:nth-child(2) select,
.booking-form-flat-inline > .booking-form-full:nth-child(2) select {
	width: 100% !important;
	display: block !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Row 3: Return Journey - side by side START (after hidden input) */
.widget-booking-form-wrapper .booking-form-flat-inline > input[type="hidden"] + .booking-form-full,
.booking-form-flat-inline > input[type="hidden"] + .booking-form-full {
	width: 48% !important;
	display: inline-block !important;
	vertical-align: top !important;
	margin-bottom: 10px !important;
	margin-right: 4% !important;
	float: none !important;
	clear: both !important; /* Clear the hidden input */
}

/* Row 3: Passengers - side by side END */
.widget-booking-form-wrapper .booking-form-flat-inline > input[type="hidden"] + .booking-form-full + .booking-form-full,
.booking-form-flat-inline > input[type="hidden"] + .booking-form-full + .booking-form-full {
	width: 48% !important;
	display: inline-block !important;
	vertical-align: top !important;
	margin-bottom: 10px !important;
	margin-right: 0 !important;
	float: none !important;
	clear: none !important;
}

/* Row 4: Date picker - full width with calendar icon like From/To */
.widget-booking-form-wrapper .booking-form-flat-inline > input.datepicker,
.booking-form-flat-inline > input.datepicker {
	width: 100% !important;
	display: block !important;
	margin-bottom: 10px !important;
	clear: both !important;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23666" viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/></svg>') !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 16px !important;
	padding-right: 35px !important;
	box-sizing: border-box !important;
}

/* Row 5: Pick Up Time label full width */
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-time,
.booking-form-flat-inline > .booking-form-time {
	width: 100% !important;
	display: block !important;
	clear: both !important;
	margin-bottom: 5px !important;
	float: none !important;
}

/* Row 6: Hour side by side START */
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-hour,
.booking-form-flat-inline > .booking-form-hour {
	width: 48% !important;
	display: inline-block !important;
	vertical-align: top !important;
	margin-bottom: 10px !important;
	margin-right: 4% !important;
	float: none !important;
	clear: both !important; /* Clear the time label */
}

/* Row 6: Minute side by side END */
.widget-booking-form-wrapper .booking-form-flat-inline > .booking-form-min,
.booking-form-flat-inline > .booking-form-min {
	width: 48% !important;
	display: inline-block !important;
	vertical-align: top !important;
	margin-bottom: 10px !important;
	margin-right: 0 !important;
	float: none !important;
	clear: none !important;
}

/* Row 7: Button full width */
.widget-booking-form-wrapper .booking-form-flat-inline button,
.booking-form-flat-inline button {
	display: block !important;
	width: 100% !important;
	margin-bottom: 10px !important;
	clear: both !important;
}

/* Ensure select2 in widget also respects layout */
.widget-booking-form-wrapper .booking-form-flat-inline .booking-form-full .select2-container,
.booking-form-flat-inline .booking-form-full .select2-container {
	width: 100% !important;
}

/* Force ALL Select2 containers in flat-inline to be full width */
.booking-form-flat-inline .select2-container,
.booking-form-flat-inline .select2,
.booking-form-flat-inline .select2-selection,
.booking-form-flat-inline .select2-selection--single,
.widget-booking-form-wrapper .booking-form-flat-inline .select2-container,
.widget-booking-form-wrapper .booking-form-flat-inline .select2,
.widget-booking-form-wrapper .booking-form-flat-inline .select2-selection,
.widget-booking-form-wrapper .booking-form-flat-inline .select2-selection--single {
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Override any inline style on Select2 container */
.booking-form-flat-inline .select2-container[style],
.widget-booking-form-wrapper .booking-form-flat-inline .select2-container[style] {
	width: 100% !important;
}

/* Helper text styling - all helper texts same color and size */
.luggage-info,
.luggage-info p,
.luggage-info strong,
.flight-number-info,
.flight-number-info p,
.special-luggage-section p,
.special-luggage-fields-wrapper p,
.children-information-section > p {
	color: #a8aeb1 !important;
	font-size: 12px !important;
}

/* Vehicle Category Tabs */
.vehicle-category-tabs {
	display: flex;
	gap: 10px;
	margin: 20px 0;
}

.vehicle-category-tabs .vehicle-tab-btn {
	flex: 1;
	padding: 12px 20px;
	background-color: #fff !important;
	background-image: none !important;
	background: #fff !important;
	border: 2px solid #e4003a !important;
	border-radius: 50px !important;
	font-size: 16px !important;
	font-weight: bold !important;
	color: #e4003a !important;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none !important;
}

.vehicle-category-tabs .vehicle-tab-btn:hover {
	opacity: 0.8;
}

.vehicle-category-tabs .vehicle-tab-btn.active {
	background-color: #e4003a !important;
	background-image: none !important;
	background: #e4003a !important;
	border: 2px solid #e4003a !important;
	color: #fff !important;
}

/* Hide vehicles based on category */
.vehicle-premium {
	display: none !important;
}

.vehicle-category-tabs[data-active="premium"] ~ .vehicle-standard {
	display: none !important;
}

.vehicle-category-tabs[data-active="premium"] ~ .vehicle-premium {
	display: block !important;
}

.vehicle-category-tabs[data-active="standard"] ~ .vehicle-standard {
	display: block !important;
}

.vehicle-category-tabs[data-active="standard"] ~ .vehicle-premium {
	display: none !important;
}

/* Fleet Page Tabs */
.fleet-page-tabs {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 20px 0;
}

.fleet-page-tabs .vehicle-tab {
	padding: 12px 30px;
	background-color: #fff !important;
	border: 2px solid #e4003a !important;
	color: #e4003a !important;
	font-weight: bold;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.3s ease;
	border-radius: 30px;
	outline: none;
}

.fleet-page-tabs .vehicle-tab:hover {
	opacity: 0.8;
}

.fleet-page-tabs .vehicle-tab.active {
	background-color: #e4003a !important;
	color: #fff !important;
	border: 2px solid #e4003a !important;
}

/* Vehicle Unavailable Styling */
.vehicle-section.vehicle-unavailable {
	opacity: 0.6;
	pointer-events: none;
	position: relative;
}

.vehicle-section .unavailable-notice {
	background: #d63638;
	color: white;
	padding: 10px 15px;
	margin-bottom: 10px;
	border-radius: 3px;
	font-size: 13px;
	font-weight: bold;
	text-align: center;
}

.vehicle-section .unavailable-notice strong {
	display: block;
	margin-bottom: 3px;
}

/* Force hide vehicles that don't match capacity/category */
.vehicle-section.vehicle-filtered-hidden {
	display: none !important;
}

/* Info tooltip - click to toggle (mobile friendly) */
.info-tooltip-toggle {
	position: relative;
	display: inline-block;
	margin-left: 5px;
	cursor: pointer;
}

.info-tooltip-toggle i {
	color: #a8aeb1;
	font-size: 14px;
}

.info-tooltip-toggle:hover i,
.info-tooltip-toggle.active i {
	color: #fff;
}

.info-tooltip-text {
	position: absolute;
	bottom: 125%;
	left: 50%;
	transform: translateX(-50%);
	background-color: #333;
	color: #fff;
	padding: 8px 12px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: normal;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
	z-index: 100;
	width: 250px;
	text-align: center;
	line-height: 1.4;
}

.info-tooltip-text::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: #333;
}

.info-tooltip-toggle.active .info-tooltip-text {
	opacity: 1;
	visibility: visible;
}

/* Hide Owl Carousel pagination dots on fleet carousel */
.our-fleet-sections .owl-dots,
.owl-carousel1 + .owl-dots,
.owl-carousel1 .owl-dots {
	display: none !important;
}