/*
 Theme Name:   Astra Child
 Theme URI:
 Description:
 Author:       rpayne
 Author URI:   http://localhost/chauffeur
 Template:     astra
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

 /* == Add your own styles below this line ==
--------------------------------------------*/

.ast-advanced-headers-title{ display:none;}
.main-header-bar, .ast-header-break-point .main-header-bar{
	padding-top:0;
	padding-bottom:0;
}
.ast-site-identity {
    padding: 5px 0;
}
body .ast-above-header  {
	background-color:#222 !important;
	color:#ddd;
	font-weight:300;
	font-size:0.9em;

}
body .ast-above-header-section .user-select a{
	color:#ddd !important;
	font-family:"Lato",sans-serif;
}
  #homeimg1, #homeimg2{
	background:url(https://www.myblacksuv.com/wp-content/uploads/2026/04/assisting-passenger.webp)  rgba(255, 96, 0, 0.6);
    background-repeat: no-repeat !important;
    background-size: cover !important;
	/*	background-blend-mode:multiply; */
	width:100%;
	height:300px;
	vertical-align:bottom;
	text-align:center;
	 color:white;
	 padding:3%;
}
#homeimg2{
	background:url(https://www.myblacksuv.com/wp-content/uploads/2017/11/air.webp)   rgba(255, 96, 0, 0.6);
	vertical-align:top;
}
h2.homectr{
color:#FFFFFF;
font-weight:600;
font-size:20px;
https://www.myblacksuv.com/wp-content/themes/blankslate-child/images/iconbox/002.png
}
.homewhy{
	width:100%;
	text-align:center;
}
.topline ul li{
	 display: inline;
	color:white;
	font-size:14px;
	margin:0 10px;
}
.topline{
	background:#333;
	padding:5px 0 5px 0;
	text-align:center;

}
.topline ul li > a{
	color:#fff;
}
.topline ul{

	margin:0;
}


.chbs-main .chbs-form-field>label  {
    font-weight: 600 !important;
    font-size: 16px !important;
	text-transform:none !important;
    color: #ce5901 !important;
	font-family: "Roboto", sans-serif !important;
}

/* Override plugin's global Lato assignment in booking UI. */
.chbs-main,
.chbs-main input,
.chbs-main select,
.chbs-main textarea,
.ui-menu .ui-menu-item,
.ui-timepicker-wrapper,
.chbs-datepicker.ui-datepicker th,
.chbs-datepicker.ui-datepicker td,
.chbs-datepicker.ui-datepicker td a,
.chbs-datepicker.ui-datepicker td span {
	font-family: "Roboto", sans-serif !important;
}
 /* Changes to App Styling for mobile accesibility */
.chbs-meta-icon-2 {
    margin-top:10px !important;
    color: black !important;
    font-size: 20px !important;
    font-weight: 600 !important;
}
.chbs-main .chbs-form-label-group {
    font-size: 18px !important;
    font-weight: 500 !important;
    padding: 12px 21px 13px 21px;
    color: black !important;
	font-family: "Roboto", sans-serif !important;
}
.chbs-main .chbs-form-field input,
.chbs-main .chbs-form-field select,
.chbs-main .chbs-form-field textarea,
.chbs-main .chbs-form-field .ui-selectmenu-button,
.chbs-main .chbs-form-field .ui-selectmenu-button .ui-selectmenu-text {
    padding-top: 6px !important;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 10px !important;
    line-height: 31px !important;
	font-weight: 500 !important;
}

/* Extra-options quantity fields (outside default form-field bundle in some layouts). */
.chbs-main .chbs-booking-extra-list input[type="text"] {
	font-weight: 500 !important;
}
body .chbs-main .chbs-location-add  {
   /* top: 10px !important; */
}
body .elementor-button-icon svg{
    height: auto;
    width: 2.4em !important;
}

@media screen and (max-width: 767px) {
.chbs-main.chbs-width-300 .chbs-main-navigation-responsive {
    display: none !important;
	}
	.chbs-main .chbs-main-content {
    margin-top: 5px !important;
	}
	.chbs-main .chbs-tab.ui-tabs .ui-tabs-nav {
	display: flex !important;
	}
	.chbs-main .chbs-form-field input{
	font-size:15px !important;
	font-weight: 500 !important;
	font-family:"Roboto Condensed", sans-serif !important;
}
  body .chbs-ride-info {
    width: 100%;
    display: flex !important;
    flex-direction:row !important;
    border-style: solid;
    border-width: 0px 1px 1px 1px;
}

}

/* Hide customer gratuity input/apply section in final booking summary. */
.chbs-main .chbs-gratuity-section {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Booking placeholder style overrides. */
.chbs-main input::placeholder,
.chbs-main textarea::placeholder {
	color: #2aa7ad !important;
	font-weight: 500 !important;
	opacity: 1;
}
.chbs-main input::-webkit-input-placeholder,
.chbs-main textarea::-webkit-input-placeholder {
	color: #2aa7ad !important;
	font-weight: 500 !important;
}
.chbs-main input::-moz-placeholder,
.chbs-main textarea::-moz-placeholder {
	color: #2aa7ad !important;
	font-weight: 500 !important;
	opacity: 1;
}
.chbs-main input:-ms-input-placeholder,
.chbs-main textarea:-ms-input-placeholder {
	color: #2aa7ad !important;
	font-weight: 500 !important;
}

/* Align intl-tel-input country code and typed number vertically. */
.chbs-main .iti.iti--allow-dropdown,
.chbs-main .iti.iti--separate-dial-code {
	display: flex !important;
	align-items: stretch !important;
	width: 100%;
}

.chbs-main .iti--allow-dropdown .iti__flag-container,
.chbs-main .iti--separate-dial-code .iti__flag-container {
	position: absolute;
	top: 0 !important;
	bottom: 0 !important;
	height: 100% !important;
	display: flex;
	align-items: center;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.chbs-main .iti__selected-flag {
	min-height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 8px !important;
}

.chbs-main .iti.iti--allow-dropdown input,
.chbs-main .iti.iti--separate-dial-code input {
	display: flex;
	align-items: center;
	height: 100% !important;
	margin-top: 5px !important;
}

.chbs-main .iti--separate-dial-code .iti__selected-dial-code {
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	color: #333333 !important;
}

/* Step 2 — vehicle “Choose” buttons only (not extras / gratuity style-2 elsewhere). */
.chbs-main .chbs-main-content-step-2 .chbs-vehicle-list .chbs-button.chbs-button-style-2:not(.chbs-button-on-request):not(.chbs-state-selected),
.chbs-main .chbs-main-content-step-2 .chbs-vehicle-list .chbs-button.chbs-button-style-2:not(.chbs-button-on-request):not(.chbs-state-selected):hover {
	border-width: 2px !important;
	border-style: solid !important;
	border-color: #FF7100 !important;
}

/* Selected: 2px border; keep plugin inline border-color (same as primary / fill). */
.chbs-main .chbs-main-content-step-2 .chbs-vehicle-list .chbs-button.chbs-button-style-2.chbs-state-selected:not(.chbs-button-on-request),
.chbs-main .chbs-main-content-step-2 .chbs-vehicle-list .chbs-button.chbs-button-style-2.chbs-state-selected:not(.chbs-button-on-request):hover {
	border-width: 2px !important;
	border-style: solid !important;
}

/* Vehicle step — title, then “More info”, then Select (markup from CHBS.BookingForm.class.php). */
.chbs-main .chbs-vehicle .chbs-vehicle-content > div.chbs-vehicle-content-header > div.chbs-vehicle-content-header-main {
	width: 65%;
	float: left;
	text-align: left;
	box-sizing: border-box;
}

.chbs-main .chbs-vehicle .chbs-vehicle-content > div.chbs-vehicle-content-header > div.chbs-vehicle-content-header-main > span:first-child {
	display: block;
	width: 100%;
	float: none;
	font-size: 18px;
	font-weight: 700;
	text-align: left;
	padding-bottom: 6px;
}

.chbs-main .chbs-vehicle .chbs-vehicle-content > div.chbs-vehicle-content-header > div.chbs-vehicle-content-header-main .chbs-show-more-button {
	display: block;
	float: none;
	width: 100%;
	text-align: left;
	margin-bottom: 10px;
}

/* Narrow form: stack header column + Select like plugin’s header>span rules. */
.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-header > .chbs-vehicle-content-header-main,
.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-header > a.chbs-button {
	width: 100% !important;
	float: none !important;
	clear: both;
}

.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-header > .chbs-vehicle-content-header-main .chbs-show-more-button {
	width: 100% !important;
}

/* Slightly darken passenger/suitcase icons in vehicle cards. */
.chbs-main .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta .chbs-meta-icon-people,
.chbs-main .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta .chbs-meta-icon-bag {
	color: #999999 !important;
}

/*
 * Step 4 (booking summary): desktop — keep three equal columns (plugin proportions),
 * only swap which *slot* shows Ride (DOM center) vs Contact (DOM left). Vehicle stays column 3.
 */
@media screen and (min-width: 768px) {
	.chbs-main .chbs-main-content-step-4 .chbs-layout-33x33x33 {
		display: grid;
		grid-template-columns: 31.1477% 31.1477% 31.1477%;
		column-gap: 3.2784%;
		row-gap: 0;
		align-items: start;
	}

	.chbs-main .chbs-main-content-step-4 .chbs-layout-33x33x33 > .chbs-notice {
		grid-column: 1 / -1;
		grid-row: 1;
		float: none !important;
		width: 100% !important;
	}

	.chbs-main .chbs-main-content-step-4 .chbs-layout-33x33x33 > .chbs-layout-column-left,
	.chbs-main .chbs-main-content-step-4 .chbs-layout-33x33x33 > .chbs-layout-column-center,
	.chbs-main .chbs-main-content-step-4 .chbs-layout-33x33x33 > .chbs-layout-column-right {
		float: none !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		box-sizing: border-box;
	}

	/* Column 1 visual = Ride details (plugin’s .chbs-layout-column-center) */
	.chbs-main .chbs-main-content-step-4 .chbs-layout-33x33x33 > .chbs-layout-column-center {
		grid-column: 1;
		grid-row: 2;
		position: relative;
		z-index: 1;
		overflow: hidden;
	}

	/* Column 2 visual = Contact & billing (plugin’s .chbs-layout-column-left) */
	.chbs-main .chbs-main-content-step-4 .chbs-layout-33x33x33 > .chbs-layout-column-left {
		grid-column: 2;
		grid-row: 2;
		position: relative;
		z-index: 2;
	}

	.chbs-main .chbs-main-content-step-4 .chbs-layout-33x33x33 > .chbs-layout-column-right {
		grid-column: 3;
		grid-row: 2;
	}
}

/* Step 4 — keep “Edit” on summary blocks clickable (above map/stacking quirks). */
.chbs-main .chbs-main-content-step-4 .chbs-summary .chbs-summary-header {
	position: relative;
	z-index: 2;
}

.chbs-main .chbs-main-content-step-4 .chbs-summary .chbs-summary-header > a {
	position: relative;
	z-index: 3;
	pointer-events: auto;
	cursor: pointer;
}

/* Step 3 — after returning via Edit, names must stay focusable/editable. */
.chbs-main .chbs-main-content-step-3 .chbs-form-field:has(input[name*="chbs_client_contact_detail_first_name"]) > input,
.chbs-main .chbs-main-content-step-3 .chbs-form-field:has(input[name*="chbs_client_contact_detail_last_name"]) > input {
	pointer-events: auto;
	-webkit-user-select: text;
	user-select: text;
}

/*
 * Step 2 — vehicle filter: hide Type (category) everywhere; keep Passengers + Suitcases
 * on one row (desktop + mobile). Uses :has() (supported in current Chrome/Safari/Edge/Firefox).
 */
.chbs-main .chbs-main-content-step-2 .chbs-vehicle-filter .chbs-form-field:has(select[name*="vehicle_category"]) {
	display: none !important;
}

.chbs-main .chbs-main-content-step-2 .chbs-vehicle-filter .chbs-form-field:has(select[name*="chbs_vehicle_passenger_count"]),
.chbs-main .chbs-main-content-step-2 .chbs-vehicle-filter .chbs-form-field:has(select[name*="chbs_vehicle_bag_count"]) {
	width: 50% !important;
	float: left !important;
	box-sizing: border-box;
}

.chbs-main .chbs-main-content-step-2 .chbs-vehicle-filter .chbs-form-field:has(select[name*="chbs_vehicle_standard"]) {
	clear: both;
	width: 100% !important;
	float: none !important;
}

/*
 * Step 3 — contact: First + Last name side by side on all widths.
 * Only first name gets extra label/input alignment (matches Email column); last name uses plugin defaults.
 */
.chbs-main .chbs-main-content-step-3 .chbs-form-field:has(input[name*="chbs_client_contact_detail_first_name"]),
.chbs-main .chbs-main-content-step-3 .chbs-form-field:has(input[name*="chbs_client_contact_detail_last_name"]) {
	width: 50% !important;
	float: left !important;
	box-sizing: border-box;
}

.chbs-main .chbs-main-content-step-3 .chbs-form-field:has(input[name*="chbs_client_contact_detail_first_name"]) > label {
	clear: both !important;
	margin-bottom: 7px !important;
	margin-left: 20px !important;
	margin-top: 0 !important;
	display: inline-block !important;
	white-space: normal !important;
}

.chbs-main .chbs-main-content-step-3 .chbs-form-field:has(input[name*="chbs_client_contact_detail_first_name"]) > input {
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Step 2 mobile: compact filters and keep vehicle meta icons on one row. */
@media screen and (max-width: 767px) {
	/* Passenger + suitcase counters on one line in vehicle cards. */
	.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta > div > .chbs-vehicle-content-meta-info {
		width: 100% !important;
	}

	.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta > div > .chbs-vehicle-content-meta-info > div {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		column-gap: 8px;
	}

	.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta > div > .chbs-vehicle-content-meta-info > div > span {
		float: none !important;
	}

	.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta > div > .chbs-vehicle-content-meta-info > div > span.chbs-meta-icon-people,
	.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta > div > .chbs-vehicle-content-meta-info > div > span.chbs-meta-icon-bag {
		margin: 0 4px 0 0 !important;
	}

	.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta > div > .chbs-vehicle-content-meta-info > div > span.chbs-circle {
		margin: 0 12px 0 0 !important;
	}

	.chbs-main.chbs-width-300 .chbs-vehicle .chbs-vehicle-content .chbs-vehicle-content-meta > div > .chbs-vehicle-content-meta-info > div > span.chbs-circle:last-child {
		margin-right: 0 !important;
	}

	/* Compact the step-2 vehicle filter block. */
	.chbs-main .chbs-main-content-step-2 .chbs-vehicle-filter {
		margin-bottom: 16px !important;
	}

	.chbs-main .chbs-main-content-step-2 .chbs-vehicle-filter .chbs-form-label-group {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	.chbs-main .chbs-main-content-step-2 .chbs-vehicle-filter .chbs-form-field {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
}

/* Google reviews: faint orange card + first review expand/collapse. */
.myblacksuv-reviews {
	background: rgba(255, 113, 0, 0.06);
	border-radius: 8px;
	padding: 14px 16px;
}

.myblacksuv-reviews .myblacksuv-reviews-title {
	display: flex;
	align-items: center;
	gap: 8px;
}

.myblacksuv-reviews .myblacksuv-google-icon {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
}

.myblacksuv-reviews .myblacksuv-google-icon .g-blue { color: #4285F4; }
.myblacksuv-reviews .myblacksuv-google-icon .g-red { color: #DB4437; }
.myblacksuv-reviews .myblacksuv-google-icon .g-yellow { color: #F4B400; }
.myblacksuv-reviews .myblacksuv-google-icon .g-green { color: #0F9D58; }

.myblacksuv-reviews .myblacksuv-review-item {
	margin-bottom: 14px;
}

.myblacksuv-reviews .myblacksuv-review-item:last-child {
	margin-bottom: 0;
}

.myblacksuv-reviews .myblacksuv-review-text {
	margin-bottom: 6px;
}

.myblacksuv-reviews .myblacksuv-reviews-content-collapsed {
	max-height: 10em; /* roughly 5-6 lines total */
	overflow: hidden;
}

.myblacksuv-reviews .myblacksuv-review-toggle {
	display: inline-block;
	margin-bottom: 8px;
	color: #ce5901;
	text-decoration: none;
	font-weight: 500;
}

.myblacksuv-reviews .myblacksuv-review-toggle:hover {
	text-decoration: underline;
}
