
/* jQuery UI autocomplete creates live-region spans for screen readers.
   Without jQuery UI CSS loaded, they render visibly at page bottom. */
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

body, #content {
	background: #f7f8fc;
}

/* SRP mobile: minimal footer — legal links only */
@media screen and (max-width: 767px) {
	.footer-margin-block{
		display: none;
	}

	.footer-block #footer > .col.second,
	.footer-block #footer > .col.last{
		display: none;
	}

	.footer-block #footer > .col.first ul,
	.footer-block #footer > .col.first p:not(.footer-header-1){
		display: none;
	}
}


#get_ride_form{
	position: relative;
	display: flex;
	justify-content: space-between;
	font-size:1.1em;
}

#gr-left-column{
	flex: 1 1 auto;
	min-width: 0;
}

#gr-right-column{
	flex: 0 0 370px;
	padding-left: 16px;
}

#resume-block{
	position: sticky !important;
	top: 67px !important;
	left: auto !important;
	bottom: auto !important;
	width: auto !important;
	max-width: none !important;
	right: auto !important;
	border: none !important;
	z-index: auto !important;
	font-size: inherit !important;
}

@media screen and (max-width: 1023px) {
	#gr-right-column,
	#gr-right-column *,
	#resume-block,
	#resume-block *,
	.resume-ride,
	.resume-ride *,
	#resume-map-0,
	#resume-map-1{
		display: none !important;
		position: static !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
	}

}

@media screen and (min-width: 1024px) {
	.mt-hide-on-map{
		display: none !important;
	}
}

#get_ride_form .full-form{
	margin-bottom: 16px;
	overflow: hidden;
}


/* ========================================
   World-class search form (Uber/Bolt style)
   ======================================== */

/* Card container */
.gr4-card{
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	padding: 0;
	margin-bottom: 10px;
	margin-top: 12px;
}

.ride_block_container{
	overflow: hidden;
	margin-bottom: 8px;
}

.gr4-card > .ride_block_container:first-child .section-header{
	border-radius: 4px 4px 0 0;
}

/* Address rows */
.gr4-address-row{
	display: flex;
	align-items: center;
	padding: 0 16px;
	margin-top: 8px;
}


.gr4-icon-green{
	color: #619f19 !important;
}

.gr4-icon-red{
	color: #e03030 !important;
}

.gr4-address-field{
	flex: 1 1 auto;
	position: relative;
	overflow: visible;
	height: 44px;
}

.gr4-address-field .aa-geolocate{
	position: absolute !important;
	right: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
}


.gr4-address-field input,
.gr4-address-field input.cmic-address-input,
.gr4-address-field input.mt-reset-input-active{
	width: 100%;
	box-sizing: border-box !important;
	height: 44px !important;
	padding-right: 40px !important;
	padding-left: 12px;
	padding-top: 0;
	padding-bottom: 0;
	font-size: 15px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font-family: 'Open Sans', sans-serif;
	color: #535353;
	background: #fff;
	outline: none;
}

.gr4-address-field input:focus{
	border-color: #6982d4;
}

.gr4-address-field input.error{
	border-color: red;
}

.gr4-address-field input::placeholder{
	color: #999;
}

.gr4-address-field .mt-reset-input{
	top: 50%;
	transform: translateY(-50%);
	right: 8px;
}

/* Unified details row: date + time + passengers + luggage */
.gr4-details-row{
	display: flex;
	align-items: center;
	margin-top: 8px;
	padding: 0 16px;
	gap: 0;
}

.gr4-detail{
	display: flex;
	align-items: center;
	height: 44px;
}

.gr4-icon-col{
	display: flex;
	align-items: center;
	gap: 5px;
	flex: 0 0 auto;
	margin: 0 8px;
	cursor: pointer;
}

@media screen and (min-width: 1024px) {
	.gr4-icon-col{
		flex: 0 0 100px;
	}
}

.gr4-icon-label{
	display: none;
	font-size: .8em;
	color: #79848f;
	font-weight: 600;
	white-space: nowrap;
}

@media screen and (min-width: 1024px) {
	.gr4-icon-label{
		display: inline;
	}
}

.gr4-detail-icon{
	font-size: 16px;
	flex: 0 0 20px;
	text-align: center;
}

/* Colored icons per field type */
.fa-calendar-alt.gr4-detail-icon{ color: #4a7ab5; }
.fa-clock.gr4-detail-icon{ color: #7c6bbd; }
.fa-user.gr4-detail-icon{ color: #2c3a48; }
.fa-suitcase.gr4-detail-icon{ color: #b07d3b; }
.fa-comment-alt.gr4-detail-icon{ color: #79848f; }

.gr4-detail.gr4-detail-date{
	flex: 1 1 50%;
	padding-left: 0;
	padding-right: 0;
}

.gr4-detail-date input[type="date"]{
	padding: 0 8px;
	width: 100%;
}

.gr4-detail.gr4-detail-time{
	flex: 1 1 50%;
	padding-left: 0;
	padding-right: 0;
}

.gr4-detail-time input[type="time"]{
	width: 100%;
	padding: 0 8px;
}

.gr4-detail-pass{
	flex: 0 0 auto;
}

.gr4-detail-pass input[type="number"]{
	width: 50px;
	padding: 0 4px;
	text-align: center;
	-moz-appearance: textfield;
}

.gr4-detail-pass input[type="number"]::-webkit-inner-spin-button,
.gr4-detail-pass input[type="number"]::-webkit-outer-spin-button{
	-webkit-appearance: none;
	margin: 0;
}

/* Stepper wrapper — matches .gr4-detail input sizing */
.gr4-stepper{
	display: flex;
	align-items: stretch;
	height: 44px;
	border: 1px solid #ccc;
	border-radius: 3px;
	overflow: hidden;
	background: #fff;
	flex: 1 1 auto;
}

.gr4-stepper:focus-within{
	border-color: #6982d4;
}

.gr4-stepper-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 40px;
	border: none;
	background: #f7f7f7;
	color: #535353;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	line-height: 1;
	-webkit-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 150ms;
}

.gr4-stepper-btn:hover{
	background: #eee;
}

.gr4-stepper-btn:active{
	background: #ddd;
}

.gr4-stepper input[type="number"]{
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	border: none !important;
	border-left: 1px solid #ccc !important;
	border-right: 1px solid #ccc !important;
	border-radius: 0 !important;
	height: 100% !important;
	text-align: center;
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	color: #535353;
	background: #fff;
	padding: 0 4px;
	box-sizing: border-box;
	outline: none;
	-moz-appearance: textfield;
}

/* Vertical stepper (up/down arrows) — hidden by default (mobile-first) */
.gr4-stepper .gr4-stepper-vertical{
	display: none;
}

/* Touch / default: horizontal +/- visible */
.gr4-stepper > .gr4-stepper-minus,
.gr4-stepper > .gr4-stepper-plus{
	display: flex;
}

/* Fine pointer (mouse/trackpad): show vertical arrows, hide horizontal +/- */
@media (pointer: fine){
	.gr4-stepper > .gr4-stepper-minus,
	.gr4-stepper > .gr4-stepper-plus{
		display: none !important;
	}

	.gr4-stepper .gr4-stepper-vertical{
		display: flex !important;
		flex-direction: column;
		border-left: 1px solid #ccc;
	}

	.gr4-stepper-vertical .gr4-stepper-btn{
		flex: 1 1 50%;
		width: 30px;
		min-width: 30px;
		font-size: 12px;
		padding: 0;
		color: #999;
	}

	.gr4-stepper-vertical .gr4-stepper-btn:hover{
		color: #535353;
	}

	.gr4-stepper-vertical .gr4-stepper-up{
		border-bottom: 1px solid #ccc;
	}

	.gr4-stepper input[type="number"]{
		border-right: none !important;
	}
}

/* Coarse pointer (touch): force horizontal layout */
@media (pointer: coarse){
	.gr4-stepper .gr4-stepper-vertical{
		display: none !important;
	}

	.gr4-stepper > .gr4-stepper-minus,
	.gr4-stepper > .gr4-stepper-plus{
		display: flex !important;
	}
}

/* Force identical sizing on ALL detail fields */
.gr4-detail input,
.gr4-detail select{
	height: 44px !important;
	box-sizing: border-box !important;
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #535353;
	background: #fff;
	outline: none;
}

.gr4-detail input:focus,
.gr4-detail select:focus{
	border-color: #6982d4;
}

.gr4-detail input.error,
.gr4-detail select.error{
	border-color: red;
}

/* Field errors — same flex layout as address rows for alignment */
.gr4-field-error{
	display: flex;
	padding: 0 16px;
	margin-top: 8px;
}

.gr4-field-error .gr4-error-spacer{
	flex: 0 0 20px;
	margin: 0 8px;
}

@media screen and (min-width: 1024px) {
	.gr4-field-error .gr4-error-spacer{
		flex: 0 0 100px;
	}
}

.gr4-field-error .error-label{
	flex: 1 1 auto;
	font-size: 12px;
	line-height: 1.3;
	color: #d32f2f;
	display: flex;
	align-items: center;
	gap: 4px;
}

.gr4-field-error .error-label::before{
	content: "\f06a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 11px;
	flex: 0 0 auto;
	margin-right: 6px;
}

/* Date/time error row — mirrors the details-row layout */
.gr4-datetime-error{
	display: flex;
	padding: 0 16px;
	margin-top: 4px;
}

.gr4-datetime-error-half{
	flex: 1 1 50%;
	display: flex;
}

.gr4-datetime-error-half .gr4-error-spacer{
	flex: 0 0 20px;
	margin: 0 8px;
}

@media screen and (min-width: 1024px) {
	.gr4-datetime-error-half .gr4-error-spacer{
		flex: 0 0 100px;
	}
}

.gr4-datetime-error .error-label{
	font-size: 12px;
	line-height: 1.3;
	color: #d32f2f;
	display: flex;
	align-items: center;
}

.gr4-datetime-error .error-label::before{
	content: "\f06a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 11px;
	flex: 0 0 auto;
	margin-right: 6px;
}

/* Misc / special requests row */
.gr4-misc-row{
	display: flex;
	align-items: flex-start;
	min-height: 44px;
	padding: 0 16px;
	margin-top: 8px;
}

.gr4-misc-row .gr4-icon-col{
	display: flex;
	align-items: center;
	height: 44px;
}

.gr4-misc-row > .gr4-detail-icon{
	color: #79848f;
	font-size: 16px;
	margin-right: 8px;
	flex: 0 0 20px;
	text-align: center;
}

.gr4-misc-wrap{
	flex: 1 1 auto;
	min-width: 0;
	position: relative;
}

/* Warning text below textarea — only visible when focused */
.misc-warning-overlay{
	display: none;
	font-size: 12px;
	color: #999;
	line-height: 1.3;
	padding: 4px 0 0 0;
}

.gr4-misc-focused ~ .misc-warning-overlay{
	display: block;
}

.gr4-misc-textarea{
	width: 100%;
	box-sizing: border-box;
	padding: 0 12px;
	font-size: 15px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font-family: 'Open Sans', sans-serif;
	color: #535353;
	background: #fff;
	outline: none;
	height: 44px;
	line-height: 44px;
	overflow: hidden;
	resize: none;
	transition: height 0.15s ease, line-height 0.15s ease, padding 0.15s ease;
}

.gr4-misc-textarea:focus{
	border-color: #ccc;
}

.gr4-misc-textarea.gr4-misc-focused{
	height: 88px;
	line-height: 1.4;
	padding: 10px 12px;
	overflow-y: scroll;
	overscroll-behavior: contain;
}

.gr4-misc-textarea::placeholder{
	color: #999;
}

/* Shared fields (passengers, luggage, misc) */
.gr4-shared-fields{
	overflow: hidden;
	padding-bottom: 8px;
}

.gr4-shared-fields .gr4-details-row:first-child{
	margin-top: 0;
}

.gr4-shared-fields .gr4-details-row{
	display: flex;
	gap: 0;
}

.gr4-shared-fields .gr4-detail{
	flex: 1 1 50%;
	padding: 0;
	height: auto;
}

.gr4-shared-fields .gr4-detail-pass .gr4-stepper{
	width: 100%;
}

/* ========================================
   OPTIONS section (gr4-options)
   Same card structure as ride_block / shared-fields
   ======================================== */

.gr4-options{
	overflow: hidden;
	margin-bottom: 0;
}

.gr4-options .section-header{
	margin: 0;
}

/* Group title (e.g. "Chauffeur", "Equipements") */
.gr4-options-group{
	margin: 0;
}

.gr4-options-group-title{
	padding: 8px 16px 4px;
	font-size: 13px;
	font-weight: 700;
	color: #79848f;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-top: 1px solid #eee;
	margin-top: 0;
}

.gr4-options-group:first-child .gr4-options-group-title,
.gr4-options .section-header + .gr4-options-group .gr4-options-group-title{
	border-top: none;
}

/* Option row — same flex pattern as gr4-details-row / gr4-misc-row */
.gr4-options-row{
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 4px 16px;
}

/* Icon color for options */
.gr4-icon-option{
	color: #79848f !important;
}

/* Input wrapper — takes remaining space */
.gr4-options-input-wrap{
	flex: 1 1 auto;
	min-width: 0;
}

/* Text inputs inside options — specificity to override .request-form defaults */
.gr4-options .gr4-options-input{
	width: 100%;
	box-sizing: border-box;
	height: 44px !important;
	padding: 0 12px;
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #535353;
	background: #fff;
	outline: none;
}

.gr4-options .gr4-options-input:focus{
	border-color: #6982d4;
}

.gr4-options .gr4-options-input::placeholder{
	color: #999;
}

/* Select inputs inside options — specificity to override .request-form defaults */
.gr4-options .gr4-options-select{
	width: 100%;
	box-sizing: border-box;
	height: 44px !important;
	padding: 0 12px;
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #535353;
	background: #fff;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}

.gr4-options .gr4-options-select:focus{
	border-color: #6982d4;
}

/* Select wrap with "learn more" link */
.gr4-options-select-wrap{
	display: flex;
	align-items: center;
	gap: 10px;
}

.gr4-options-select-wrap .gr4-options-select{
	flex: 1 1 auto;
}

.gr4-options-link{
	flex: 0 0 auto;
	color: #6982d4;
	font-size: 13px;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.gr4-options-link:hover{
	text-decoration: underline;
}

/* Textarea inside options */
.gr4-options .gr4-options-textarea{
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #535353;
	background: #fff;
	outline: none;
	resize: vertical;
	min-height: 66px;
}

.gr4-options .gr4-options-textarea:focus{
	border-color: #6982d4;
}

.gr4-options .gr4-options-textarea::placeholder{
	color: #999;
}

/* Radio group */
.gr4-options-radio-group{
	display: flex;
	align-items: center;
	gap: 16px;
	height: 44px;
}

.gr4-radio-label{
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-size: 15px;
	color: #535353;
}

.gr4-radio-label input[type="radio"]{
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #6982d4;
	cursor: pointer;
}

.gr4-radio-text{
	user-select: none;
}

/* Hint icon (tooltip replacement) */
.gr4-options-hint{
	color: #ff9326;
	font-size: 16px;
	cursor: help;
	flex: 0 0 auto;
}

/* Checkbox */
.gr4-options-checkbox-wrap{
	display: flex;
	align-items: center;
	height: 44px;
}

.gr4-checkbox-label{
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 15px;
	color: #535353;
}

.gr4-checkbox-label input[type="checkbox"]{
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #6982d4;
	cursor: pointer;
}

.gr4-checkbox-text{
	user-select: none;
}

/* Equipment grid */
.gr4-options-equipment-grid{
	display: flex;
	flex-wrap: wrap;
	padding: 8px 16px;
	gap: 0;
}

.gr4-equipment-item{
	display: flex;
	align-items: center;
	gap: 8px;
	width: 33.33%;
	box-sizing: border-box;
	padding: 6px 4px;
	cursor: pointer;
	font-size: 14px;
	color: #535353;
}

.gr4-equipment-item input[type="checkbox"]{
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #6982d4;
	cursor: pointer;
	flex: 0 0 auto;
}

.gr4-equipment-label{
	user-select: none;
	line-height: 1.3;
}

/* Full-width option row (e.g. special equipment textarea) */
.gr4-options-row-full{
	align-items: flex-start;
	padding-top: 8px;
	padding-bottom: 12px;
}

.gr4-options-row-full .gr4-icon-col{
	margin-top: 10px;
}

/* Inline coach info panel (replaces iframe popup) */
.gr4-coach-info-block{
	/* wrapper for toggle logic */
}

.gr4-coach-toggle{
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.gr4-coach-toggle .fas{
	font-size: 14px;
}

.gr4-coach-info-panel{
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease, padding 0.25s ease;
	padding: 0 16px;
	background: #f7f8fc;
	border-top: 0 solid #eee;
}

.gr4-coach-info-open .gr4-coach-info-panel{
	max-height: 400px;
	padding: 12px 16px;
	border-top-width: 1px;
}

.gr4-coach-info-open .gr4-coach-toggle .fa-info-circle::before{
	content: "\f00d"; /* times icon */
}

.gr4-coach-list{
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}

.gr4-coach-item{
	flex: 1 1 calc(50% - 12px);
	min-width: 180px;
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 13px;
	line-height: 1.4;
	color: #535353;
}

.gr4-coach-item dt{
	font-weight: 700;
	color: #2c3a48;
	white-space: nowrap;
	margin: 0;
}

.gr4-coach-item dt::after{
	content: " —";
	font-weight: 400;
	color: #999;
}

.gr4-coach-item dd{
	margin: 0;
}

/* ---- OPTIONS responsive ---- */
@media screen and (max-width: 767px) {
	.gr4-options-row{
		padding: 4px 12px;
	}

	.gr4-options-row .gr4-icon-col{
		flex: 0 0 auto;
		margin: 0 8px 0 4px;
	}

	.gr4-options-input-wrap{
		flex: 1 1 0%;
		min-width: 0;
	}

	.gr4-options-select-wrap{
		flex-wrap: wrap;
		gap: 6px;
	}

	.gr4-options-select-wrap .gr4-options-select{
		flex: 1 1 0%;
		min-width: 0;
	}

	.gr4-equipment-item{
		width: 50%;
	}

	.gr4-options-group-title{
		padding: 8px 12px 4px;
	}

	.gr4-options-equipment-grid{
		padding: 8px 12px;
	}

	.gr4-options-row-full{
		padding: 4px 12px 12px;
	}

	.gr4-coach-info-panel{
		padding-left: 12px;
		padding-right: 12px;
	}

	.gr4-coach-info-open .gr4-coach-info-panel{
		padding: 12px;
	}

	.gr4-coach-item{
		flex: 1 1 100%;
	}
}

/* Collapsed return trip summary (mobile) */
.gr4-return-summary{
	padding: 6px 16px;
}

.gr4-return-edit-link{
	color: #6982d4;
	font-size: 13px;
	text-decoration: none;
}

.gr4-return-edit-link .fas{
	margin-right: 4px;
	font-size: 11px;
}

.gr4-return-edit-link:hover{
	text-decoration: underline;
}



.gr4-return-collapse-link{
	display: block;
	text-align: center;
	padding: 6px;
	color: #6982d4;
	font-size: 12px;
	text-decoration: none;
}

.gr4-return-collapse-link:hover{
	text-decoration: underline;
}

/* Sticky bottom bar (mobile) */
.gr4-sticky-bar{
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #ff9326;
	color: #fff;
	text-align: center;
	padding: 14px 16px;
	font-size: 16px;
	font-weight: 700;
	font-family: 'Open Sans', sans-serif;
	cursor: pointer;
	z-index: 100;
	box-shadow: 0 -2px 8px rgba(0,0,0,0.15);
}

.gr4-sticky-bar .fas{
	margin-right: 8px;
}

.gr4-sticky-bar:active{
	background: #e07d15;
}

.gr4-sticky-bar-incomplete{
	background: #ff9326;
	pointer-events: none;
}

/* Roundtrip bar — prominent, revenue-driving */
.gr4-roundtrip-bar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 10px 14px;
	background: #fff8f0;
	border: none;
	border-top: 1px solid #fdd9a8;
	border-bottom: 1px solid #fdd9a8;
	cursor: pointer;
	transition: background 0.15s ease;
}

.gr4-roundtrip-bar:hover{
	background: #fff2e0;
}

.gr4-roundtrip-bar.gr4-roundtrip-active{
	background: #2c3a48;
	border-color: #2c3a48;
	border-top-color: #2c3a48;
	border-bottom-color: #2c3a48;
}

.gr4-roundtrip-bar.gr4-roundtrip-active:hover{
	background: #3a4d5e;
}

.gr4-roundtrip-bar.gr4-roundtrip-active .gr4-roundtrip-left{
	color: #fff;
	text-transform: uppercase;
}

.gr4-roundtrip-left{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.1em;
	color: #2c3a48;
	font-weight: 600;
}

.gr4-roundtrip-left .fas{
	color: #ff9326;
	font-size: 16px;
}

.gr4-roundtrip-savings{
	color: #ff9326;
	font-weight: 700;
}

/* Toggle switch */
.gr4-roundtrip-switch{
	width: 44px;
	height: 24px;
	background: #ccc;
	border-radius: 12px;
	position: relative;
	transition: background 0.2s ease;
	flex: 0 0 44px;
}

.gr4-switch-knob{
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 50%;
	transition: transform 0.2s ease;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.gr4-switch-on{
	background: #ff9326;
}

.gr4-switch-on .gr4-switch-knob{
	transform: translateX(20px);
}

/* Passengers / Luggage / Roundtrip row */
.gr4-passengers-row{
	display: flex;
	align-items: center;
	margin: 6px 0 0 0;
	padding: 0 2%;
	gap: 12px;
}

.gr4-pass-field{
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.gr4-pass-field input[type="number"]{
	width: 52px;
	height: 36px;
	padding: 0 6px;
	font-size: 14px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-family: 'Open Sans', sans-serif;
	color: #535353;
	background: #fff;
	outline: none;
	text-align: center;
	-moz-appearance: textfield;
}

.gr4-pass-field input[type="number"]::-webkit-inner-spin-button,
.gr4-pass-field input[type="number"]::-webkit-outer-spin-button{
	opacity: 1;
}

.gr4-pass-field input[type="number"]:focus{
	border-color: #6982d4;
	box-shadow: 0 0 0 2px rgba(105, 130, 212, 0.15);
}

.gr4-field-hint{
	font-size: .8em;
	color: #79848f;
	margin-left: 4px;
}

.gr4-roundtrip-toggle{
	margin-left: auto;
}

.gr4-roundtrip-btn{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	font-size: 13px;
	font-family: 'Open Sans', sans-serif;
	border: 1px solid #ccc;
	border-radius: 20px;
	background: #fff;
	color: #535353;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.gr4-roundtrip-btn:hover{
	border-color: #6982d4;
	color: #6982d4;
}

.gr4-roundtrip-btn.gr4-roundtrip-active{
	background: #6982d4;
	border-color: #6982d4;
	color: #fff;
}


.gr4-misc-row .gr4-field-icon{
	padding-top: 8px;
}

.gr4-misc-input{
	flex: 1 1 auto;
}

.gr4-misc-input textarea{
	width: 100%;
	box-sizing: border-box;
	padding: 0 10px;
	font-size: 14px;
	height: 44px;
	line-height: 44px;
	vertical-align: middle;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-family: 'Open Sans', sans-serif;
	color: #535353;
	background: #fff;
	outline: none;
	resize: none;
}

.gr4-misc-input textarea:focus{
	border-color: #6982d4;
	box-shadow: 0 0 0 2px rgba(105, 130, 212, 0.15);
}

.gr4-misc-input textarea:not(.misc-expanded){
	overflow: hidden;
	resize: none;
}

@media screen and (max-width: 767px) {
	/* Consistent mobile spacing */
	.gr4-address-row{
		margin-top: 8px;
	}

	.gr4-address-field input,
	.gr4-address-field input.cmic-address-input,
	.gr4-address-field input.mt-reset-input-active{
		font-size: 16px;
	}

	/* Details rows on mobile */
	.gr4-details-row{
		margin-top: 8px;
	}

	.gr4-detail{
		border-right: none;
		padding: 0;
	}

	.gr4-shared-fields .gr4-detail{
		height: auto;
	}

	.gr4-detail:first-child{
		padding-left: 0;
	}

	.gr4-detail-pass .gr4-stepper{
		width: 100%;
	}

	.gr4-detail input,
	.gr4-detail select{
		font-size: 16px;
	}

	.gr4-detail-time input[type="time"]{
		font-size: 16px;
		width: 100%;
	}

	.gr4-misc-row{
		margin-top: 8px;
	}

	.gr4-misc-textarea{
		font-size: 16px;
	}

	.gr4-roundtrip-bar{
		margin: 0;
		padding: 8px 10px;
	}

	.gr4-roundtrip-savings{
		display: none;
	}

	.gr4-field-error{
		padding: 0 16px;
	}

	.gr4-card{
		padding-bottom: 0;
	}

	.gr4-shared-fields > .gr4-details-row:first-child{
		margin-top: 0;
	}

	.gr4-shared-fields .gr4-misc-row{
		margin-top: 8px;
	}

}

.resume-ride{
	border-radius:4px;
	box-shadow: 0 4px 6px 0 #ddd;
	margin-bottom: 16px;
	background-color: #fff;
	overflow: hidden;
}

#resume-map-0,
#resume-map-1{
	width:370px;
	height:280px;
	min-width:320px;
}

/* Duration / Distance metrics bar */
.resume-metrics-bar{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	background: #f7f8fc;
	border-top: 1px solid #e9ecef;
}

.resume-metric{
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	justify-content: center;
}

.resume-metric i{
	color: #79848f;
	font-size: 14px;
}

.resume-metric-value{
	font-size: 15px;
	font-weight: 700;
	color: #2c3a48;
}

.resume-metric-divider{
	width: 1px;
	height: 24px;
	background: #d0d5dd;
	margin: 0 8px;
}


.gr4-header-arrow{
	color: #ff9326;
	margin-right: 6px;
	animation: gr4-bounce-up 1.5s ease infinite;
}

@keyframes gr4-bounce-up{
	0%, 100%{ transform: translateY(0); }
	50%{ transform: translateY(-3px); }
}

#get_ride_form .form-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 12px 16px;
	color: #1a202c;
	position: relative;
}

.form-header__nudge{
	font-size: 1.2em;
	font-weight: 700;
	color: #2b3946;
}

.form-header__results{
	font-size: 1em;
	font-weight: 400;
	color: #6b7280;
}

.form-header__count{
	font-size: 1.6em;
	font-weight: 800;
	color: #1a202c;
	margin-right: 4px;
}

.form-header__loading{
	color: #6b7280;
	font-size: .95em;
}

.form-header__loading img{
	vertical-align: middle;
	margin-right: 4px;
}

.form-header__filter-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #e0e3e8;
	border-radius: 8px;
	background: #fff;
	color: #4a5568;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.15s ease;
}

.form-header__filter-btn:active{
	background: #f3f4f6;
}

#get_ride_form .offers-count{
	display: none;
}

#loading-offers{
	display: none;
}

#get_ride_form .marker-departure{
	color: #619f19;
}

#get_ride_form .marker-return{
	color: #ff0000;
}

#get_ride_form .icon{
	color: #79848f;
}

#get_ride_form .mini-summary{
	padding: 0 10px;
	font-size:.9em;
}


#get_ride_form .margin-after{
	margin-right: .5em;
}

#get_ride_form .form-actions{
	color: #6982d4;
	font-size: 1.2em;
	display: flex;
}

#get_ride_form .form-action-button{
	line-height:3em;
	color:inherit;
	background:inherit;
	border:none;
	flex: 0 0 auto;
}

#get_ride_form .form-action-button:not(:last-child){
	margin-right:.6em;
}

#get_ride_form .form-action-button:hover{
	text-decoration: underline;
	cursor:pointer;
}

.what_next_container{
	display: none;
}

#get_ride_form .section-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-transform: uppercase;
	color: #fff;
	background: #2c3a48;
	padding: 10px 14px;
	font-size: 1.1em;
	font-weight: 600;
	margin: 0;
	min-height: 46px;
	box-sizing: border-box;
}

.gr4-card > .ride_block_container:first-child .section-header{
	border-radius: 4px 4px 0 0;
}

#get_ride_form .section-subheader{
    padding: 8px 0 8px 100px;
    padding-left: 2%;
    margin: 1em 0 .5em 0;
    font-size: 16px;
}

.price-gauge-block{
	position:relative;
	font-weight:bold;
	font-size: 1.1em;
	box-sizing: border-box;
	min-height: 75px;
}

.price-gauge-rail{
	position:absolute;
	left:28%;
	top:2.6em;
	background:#e9ebec;
	border-radius:4px;
	height:4px;
	width:44%;
}

.price-gauge-l-dot,
.price-gauge-r-dot{
	position:absolute;
	left:28%;
	top:2.6em;
	background:#273747;
	border-radius:4px;
	height:4px;
	width:4px;
}

.price-gauge-r-dot{
	left:auto;
	right:28%;
}

.price-gauge-block-big{
	background:#fff;
	padding:1em 0;
	margin: 1em auto -1em -5%;
	min-height: 90px;
	width: 100%;
}

.price-gauge-label{
	position:absolute;
	left:1em;
	top:2.3em;
	display:none;
	font-size:.9em;
}

.price-gauge-block-big .price-gauge-label{
	display:block;
}

.price-gauge-price-block{
	position:absolute;
}

.price-gauge-price-block small{
	font-weight:normal;
	top: -6px;
	position: relative;
}

.price-gauge-min-block{
	right:73%;
	top:2em;
	text-align:right;
}

.price-gauge-max-block{
	left:73%;
	top:2em;
}

.price-gauge-avg-block{
	left:50%;
	top:1em;
	text-align:center;
	width: 10%;
}

.price-gauge-avg-marker{
	background:#ff9326;
	border-radius:4px;
	height:10px;
	width: 100%;
	margin-bottom: 4px;
}

@media screen and (max-width: 767px) {

	#get_ride_form .form-header{
		padding: 12px 16px;
		margin: 0;
	}

	.form-header__count{
		font-size: 1.4em !important;
	}

	.form-header__nudge{
		font-size: 1em !important;
	}

	#get_ride_form .form-actions{
		padding: 0 10px;
	}

	#get_ride_form .minimize-button{
		margin: 1.5em auto 3em auto;
		width: 90%;
	}

	.price-gauge-block-big{
		margin-left: 0;
	}

	.price-gauge-block-big .price-gauge-label{
		display:none;
	}
}





.rqo-min-price,
.rqo-avg-price,
.rqo-max-price{
	padding:0 5px;
	display:inline-block;
	font-size:14px;
	margin-left:-4px;
}

.rqo-min-price,
.rqo-max-price{
	color: #90979e;
	background-color: #f6f6f6;
	font-size:12px;
}

.rqo-min-price b,
.rqo-max-price b{
	color: #000;
}

.rqo-avg-price{
	color:#fff;
	background-color: #fd9137;
}



/**
 * Mobile styles for realtime offers
 */
.offer-entry{
	margin: 12px 16px;
	background-color:#fff;
	font-size: 0.9em;
	display:flex;
	flex-wrap:wrap;
	overflow:hidden;
}

.offer-entry.ip-offer{
	border:#ff9326 2px solid;
}

.offer-entry.rq-offer{
	border:#6b81d1 1px solid;
}

#get_ride_form .offer-provider{
	margin:0;
	flex: 1 1 100%;
	max-width:100%;
	border-spacing: 10px;
	border-collapse: separate;
	border-bottom: 1px solid #f2f3fa;
}

#get_ride_form .offer-provider td{
	padding:0;
	vertical-align: top;
}

#get_ride_form .offer-provider .offer-image-cell{
	width:120px;
	position:relative;
}

.offer-image{
	width:120px;
	height:120px;
	background-repeat: no-repeat;
	background-size:cover;
	background-position:center;
	border-radius:4px;
}

/* Lazy-load: fade in when image loads */
.offer-image--lazy{
	background-color: #f0f1f5;
	transition: opacity 0.3s ease;
}

.offer-image--loaded{
	opacity: 1;
}

.offer-fleet-name{
	color: #fff;
	background-color: #273747;
	position:absolute;
	bottom:0;
	font-size: 12px;
	font-weight: bold;
	padding: 2px 10px;
	text-align:center;
}

#get_ride_form .offer-provider .offer-title{
	font-size:1.2em;
	font-weight:bold;
	color: #535353;
	padding:5px 0 0 0;

	text-overflow: ellipsis;
	white-space: nowrap;
	overflow:hidden;

	max-width:115px;
}


#get_ride_form .offer-provider .offer-provider-ratings > *:not(:last-child){
	margin-bottom:.7em;
	display:block;
}

.offer-provider-rides{
	color: #acb1b7;
	font-size: .85em;
	display: inline;
}

#get_ride_form .offer-provider .offer-passengers-cell{
	padding:5px;
	/*width:40px;*/
	text-align:right;
}

.offer-passengers{
	padding:0px 6px;
	color:black;
	background-color:#f6f6f6;
	border-radius:2px;
	font-weight:normal;
	white-space: nowrap;
	display:inline-block;
}

#get_ride_form .offer-provider .offer-validity-time-cell{
	padding: 3.5em 0;
	text-align: center;
}

/*
.offer-validity-time{
	font-weight:bold;
}*/

.offer-vehicle-eta,
.offer-vehicle-eta:hover{
	margin-right:8px;
	color: #46525f;
	text-decoration: none;
}



.offer-vehicle-eta .far{
	color: #9ca3aa;
}

.offer-passengers .fas{
	color: #90979e;
	font-size: .8em;
}

.offer-details{
	flex: 1 1 36%;
	display: flex;
}

.offer-provider-footer .fa,
.offer-provider-footer .fas {
    color: #9aa1a7;
}

.offer-info{
	text-align:center;
	padding:15px;
	flex: 1 1 50%;
}

.offer-cta{
	text-align:center;
	padding:15px;
	flex: 1 1 50%;
}

.offer-price{
	font-weight:bold;
	font-size:1.2em;
	margin-bottom: 0.2em;
}

.offer-type{
	font-size: .8em;
}

@media (max-width:992px) {
	.offer-type{
		display: inline-block;
	}
}

.offer-entry .offer-cta .request_submit_button{
	margin:0;
	min-width:auto;
	width:100%;
	height: auto;
}

.offer-entry .offer-cta .mt-button{
	display:block;
	width: 100%;
	color: #fff;
}

.offer-entry.rt-offer .offer-cta .request_submit_button{
	background-color: #6b81d1;
	font-size: 1em;
	line-height: 1em;
	padding: .5em;
}

.offer-entry.rt-offer .offer-cta .request_submit_button:hover{
	background-color: #485daa;
}

.offer-entry.rq-offer .offer-cta .request_submit_button{
	font-size: 12px;
	border: 1px solid #b8630e;
	padding: 0;
}

.offer-entry.rq-offer .offer-cta .request_submit_button:not(:hover){
	color: #ff9326;
	background-color: #fff;
	border: 1px solid #ff9326;
}

.offer-respond .certification-mark{
	font-weight:bold;
	position: relative;
}

.offer-respond .certification-mark .cert-under{
	color:#808991;
}

.offer-respond .certification-mark .check-over{
	position: absolute;
	top:0.45em;
	left:0.35em;
	font-size:0.6em;
	color:#fff;
}



/**
 * Desktop styles for realtime offers
 */
@media screen and (min-width: 992px) {
	.offer-entry{
		border-radius:3px;
		min-height:160px;
		margin: 13px 0;
		flex-wrap:nowrap;
		justify-content: space-between;
	}

	#get_ride_form .offer-provider{
		/*max-width:64%;*/
		border-spacing: 0;
		border-collapse: collapse;
		max-width: 75%;
	}

	#get_ride_form .offer-provider td
	{
		padding:8px 15px;
	}

	#get_ride_form .offer-provider .offer-provider-footer{
		vertical-align:bottom;
		line-height:1.4em;
		padding:0 15px 15px 15px;
	}

	#get_ride_form .ip-offer .offer-provider .offer-provider-footer{
		padding-bottom:22px;
	}

	#get_ride_form .offer-provider .offer-title{
		padding:15px 15px 0 15px;
	}

	#get_ride_form .offer-provider .offer-passengers-cell{
		padding:13px 15px 0 15px;
	}

	#get_ride_form .offer-provider .offer-image-cell{
		padding:0;
	}

	.offer-image{
		width:160px;
		height:160px;
		border-radius:0;
	}

	.offer-passengers{
		padding:4px 8px;
	}


	.offer-respond{
		line-height: 1.3em;
	}

	.offer-details{
		flex-wrap:wrap;
		padding:15px;
		align-content: space-between;
		max-width: 25%;
	}

	.offer-info{
		padding: 5px 0;
		border: 1px solid #f3f4f8;
		border-radius:4px;
	}

	.offer-cta{
		padding:0;
	}

	.offer-price{
		font-size:1.5em;
	}

	.offer-entry .offer-cta .request_submit_button{
		max-width:none;
	}

	.offer-entry.rq-offer .offer-cta .request_submit_button{
		font-size: 15px;
	}

	.offer-entry.rt-offer .offer-cta .request_submit_button{
		font-size: 1.1em;
		padding: .8em 0;
	}
}


.rto-filter-wrap{
	position: relative;
}

.rto-filter{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0 16px 12px 16px;
}



.rto-filter input{
	display: none;
}

.rto-filter-item{
	flex-shrink: 0;
	text-align: center;
	white-space: nowrap;
	padding: 6px 14px;
	font-size: .8em;
	font-weight: 500;
	border-radius: 20px;
	border: 1px solid #d0d5dd;
	background: #fff;
	color: #4a5568;
	cursor: pointer;
	transition: all 0.15s ease;
}

.rto-filter-item:hover{
	border-color: #9ca3af;
	background: #f9fafb;
}

.rto-filter-item-active{
	background: #2c3a48 !important;
	color: #fff !important;
	border-color: #2c3a48 !important;
	font-weight: 600;
}

/* ========================================
   QR Offer Card — Redesigned
   ======================================== */
/* ========================================
   QR Offer Card — Unified Design
   ======================================== */
.qr-card{
	background: #fff;
	border: 1px solid #e0e3e8;
	border-left: 3px solid #ff9326;
	border-radius: 6px;
	margin: 12px 16px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
	transition: box-shadow 0.2s ease;
}

.qr-card:hover{
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Header bar: badge left, drivers count right */
.qr-card__header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 7px 16px;
	background: #fff8f0;
	border-bottom: 1px solid #fde8cd;
}

.qr-card__type-badge{
	font-size: .75em;
	font-weight: 700;
	color: #d97706;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.qr-card__type-badge .fas{
	margin-right: 4px;
	font-size: .85em;
}

.qr-card__drivers{
	font-size: .78em;
	color: #6b7280;
}

.qr-card__drivers .fas{
	margin-right: 3px;
	color: #d97706;
}

.qr-card__drivers b{
	color: #1a202c;
}

/* Content: image | info | price+CTA */
.qr-card__content{
	display: flex;
	align-items: stretch;
}

.qr-card__image{
	flex: 0 0 150px;
	position: relative;
	background: #f7f8fc;
}

.qr-card__image .offer-image{
	width: 150px;
	height: 100%;
	min-height: 120px;
	border-radius: 0;
}

.qr-card__info{
	flex: 1 1 auto;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.qr-card__pitch{
	color: #1a202c;
	font-size: .9em;
	font-weight: 600;
	margin: 0 0 6px 0;
	line-height: 1.4;
}

.qr-card__price{
	margin-bottom: 6px;
	font-size: .9em;
	color: #1a202c;
}

.qr-card__range b{
	font-size: 1.1em;
	color: #1a202c;
}

.qr-card__avg{
	color: #9ca3af;
	font-size: .85em;
	margin-left: 4px;
}

.qr-card__time{
	color: #6b7280;
	font-size: .82em;
}

.qr-card__time .far{
	margin-right: 3px;
}

.qr-card__time b{
	color: #1a202c;
}

/* Right column: price grid + CTA */
.qr-card__right{
	flex: 0 0 240px;
	padding: 16px 18px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-left: 1px solid #eef0f3;
	background: #fcfcfd;
}

.qr-card__price-grid{
	display: flex;
	width: 100%;
	margin-bottom: 4px;
}

.qr-card__price-col{
	flex: 1;
	text-align: center;
}

.qr-card__price-col + .qr-card__price-col{
	border-left: 1px solid #e5e7eb;
}

.qr-card__price-label{
	font-size: .65em;
	color: #9ca3af;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 2px;
}

.qr-card__price-val{
	font-size: 1em;
	font-weight: 700;
	color: #4a5568;
	line-height: 1.2;
}

.qr-card__price-col--main .qr-card__price-val{
	font-size: 1.2em;
	font-weight: 800;
	color: #1a202c;
}

.qr-card__price-col--main .qr-card__price-label{
	color: #d97706;
	font-weight: 600;
}

.qr-card__trust-line{
	font-size: .78em;
	color: #6b7280;
	margin-top: 8px;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 0;
}

.qr-card__trust-line .fas,
.qr-card__trust-line .far{
	font-size: .85em;
	margin-right: 2px;
}

.qr-card__trust-line .fa-check-circle{
	color: #16a34a;
}

.qr-card__trust-line .fa-clock{
	color: #d97706;
}

.qr-card__trust-sep{
	margin: 0 5px;
	color: #d1d5db;
}

.qr-card__action{
	margin-top: 8px;
	width: 100%;
}

.qr-card__cta{
	display: block;
	width: 100%;
	padding: 10px 14px;
	font-size: .85em;
	white-space: nowrap;
	font-weight: 700;
	font-family: 'Open Sans', sans-serif;
	background: #ff9326;
	color: #fff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	text-align: center;
	transition: background 0.2s ease, transform 0.15s ease;
}

.qr-card__cta:hover{
	background: #e07d15;
}

.qr-card__cta:active{
	transform: scale(0.98);
}

.qr-card__cta .fas{
	margin-left: 5px;
	font-size: .8em;
}

/* Mobile: stacked layout */
@media screen and (max-width: 767px) {
	.qr-card__header{
		padding: 6px 12px;
	}

	.qr-card__type-badge{
		font-size: .7em;
	}

	.qr-card__drivers{
		font-size: .72em;
	}

	.qr-card__content{
		flex-wrap: wrap;
	}

	.qr-card__image{
		flex: 0 0 90px;
	}

	.qr-card__image .offer-image{
		width: 90px;
		height: 90px;
		min-height: 90px;
	}

	.qr-card__info{
		flex: 1 1 0;
		padding: 10px 12px;
	}

	.qr-card__pitch{
		font-size: .85em;
		margin-bottom: 6px;
	}

	.qr-card__right{
		flex: 1 1 100%;
		border-left: none;
		border-top: 1px solid #eef0f3;
		padding: 10px 12px 8px;
		text-align: left;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: #fff;
	}

	.qr-card__price-grid{
		margin-bottom: 2px;
	}

	.qr-card__trust-line{
		font-size: .72em;
	}

	.qr-card__right .qr-card__action{
		margin-top: 0;
		width: 100%;
	}

	.qr-card__cta{
		padding: 12px 16px;
		font-size: .95em;
		min-height: 44px;
		width: 100%;
	}
}

/* ========================================
   IP Offer Card — Instant Booking
   ======================================== */
/* ========================================
   IP Offer Card — Unified Design
   ======================================== */
.ip-card{
	background: #fff;
	border: 1px solid #e0e3e8;
	border-left: 3px solid #16a34a;
	border-radius: 6px;
	margin: 12px 16px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.ip-card:hover{
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Header bar: badge left, rating right */
.ip-card__header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 7px 16px;
	background: #f0faf0;
	border-bottom: 1px solid #e0f0e0;
}

.ip-card__type-badge{
	font-size: .75em;
	font-weight: 700;
	color: #16a34a;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.ip-card__type-badge .fas{
	margin-right: 4px;
	font-size: .85em;
}

.ip-card__rating{
	font-size: .78em;
	color: #4a5568;
}

.ip-card__rides{
	color: #9ca3af;
}

/* Content: image | info | price+CTA */
.ip-card__content{
	display: flex;
	align-items: stretch;
}

.ip-card__image{
	flex: 0 0 150px;
	position: relative;
	background: #f7f8fc;
}

.ip-card__image .offer-image{
	width: 150px;
	height: 100%;
	min-height: 120px;
	border-radius: 0;
}

.ip-card__info{
	flex: 1 1 auto;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ip-card__pitch{
	color: #1a202c;
	font-size: .9em;
	font-weight: 600;
	margin: 0 0 6px 0;
	line-height: 1.4;
}

.ip-card__passengers{
	font-size: .82em;
	color: #16a34a;
	font-weight: 600;
	margin-bottom: 4px;
}

.ip-card__passengers .fas{
	margin-right: 3px;
	font-size: .8em;
}

.ip-card__cancel{
	font-size: .78em;
	color: #4a5568;
	margin-top: 2px;
}

.ip-card__cancel-icon{
	width: 14px;
	height: 14px;
	vertical-align: middle;
	margin-right: 3px;
}

.ip-card__cancel-link{
	color: #4a5568;
	text-decoration: none;
	border-bottom: 1px dotted #9ca3af;
}

.ip-card__cancel-link:hover{
	color: #1a202c;
	border-bottom-color: #1a202c;
}

/* Right column: price + CTA */
.ip-card__right{
	flex: 0 0 240px;
	padding: 16px 18px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-left: 1px solid #eef0f3;
	background: #fcfcfd;
}

.ip-card__price{
	font-size: 1.5em;
	font-weight: 800;
	color: #1a202c;
	line-height: 1.1;
	letter-spacing: -0.5px;
}

.ip-card__reassurance{
	font-size: .68em;
	color: #6b7280;
	margin-top: 6px;
	white-space: nowrap;
}

.ip-card__reassurance .fas{
	font-size: .85em;
	color: #16a34a;
	margin-right: 3px;
}

.ip-card__reassurance-sep{
	margin: 0 3px;
	color: #d1d5db;
}

.ip-card__action{
	margin-top: 8px;
	width: 100%;
}

.ip-card__cta{
	display: block;
	width: 100%;
	padding: 10px 14px;
	font-size: .85em;
	white-space: nowrap;
	font-weight: 700;
	font-family: 'Open Sans', sans-serif;
	background: #ff9326;
	color: #fff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	text-align: center;
	transition: background 0.2s ease, transform 0.15s ease;
}

.ip-card__cta:hover{
	background: #e07d15;
}

.ip-card__cta:active{
	transform: scale(0.98);
}

.ip-card__cta .fas{
	margin-left: 5px;
	font-size: .8em;
}

/* Mobile: stacked layout */
@media screen and (max-width: 767px) {
	.ip-card__header{
		padding: 6px 12px;
	}

	.ip-card__type-badge{
		font-size: .7em;
	}

	.ip-card__rating{
		font-size: .72em;
	}

	.ip-card__content{
		flex-wrap: wrap;
	}

	.ip-card__image{
		flex: 0 0 90px;
	}

	.ip-card__image .offer-image{
		width: 90px;
		height: 90px;
		min-height: 90px;
	}

	.ip-card__info{
		flex: 1 1 0;
		padding: 10px 12px;
	}

	.ip-card__pitch{
		font-size: .85em;
	}

	.ip-card__right{
		flex: 1 1 100%;
		border-left: none;
		border-top: 1px solid #eef0f3;
		padding: 10px 12px 8px;
		text-align: left;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: #fff;
	}

	.ip-card__right .ip-card__price{
		font-size: 1.3em;
		text-align: center;
		margin-bottom: 2px;
	}

	.ip-card__reassurance{
		text-align: center;
		margin-bottom: 8px;
	}

	.ip-card__right .ip-card__action{
		margin-top: 0;
		width: 100%;
	}

	.ip-card__cta{
		padding: 12px 16px;
		font-size: .95em;
		min-height: 44px;
		width: 100%;
	}
}

/* ========================================
   RT Offer Card — Professional Redesign
   ======================================== */
.rt-card{
	background: #fff;
	border: 1px solid #e0e3e8;
	border-left: 3px solid #5563a0;
	border-radius: 6px;
	margin: 12px 16px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.rt-card:hover{
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	border-color: #c8cdd4;
}

/* Header bar: badge left, response time right */
.rt-card__header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 7px 16px;
	background: #f8f9fb;
	border-bottom: 1px solid #eef0f3;
}

.rt-card__type-badge{
	font-size: .75em;
	font-weight: 700;
	color: #5563a0;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.rt-card__type-badge .fas{
	margin-right: 4px;
	font-size: .85em;
}

.rt-card__response{
	font-size: .78em;
	color: #6b7280;
}

.rt-card__response .far{
	margin-right: 3px;
}

.rt-card__response b{
	color: #2c3a48;
}

/* Content: image | info | price+CTA */
.rt-card__content{
	display: flex;
	align-items: stretch;
}

.rt-card__image{
	flex: 0 0 150px;
	position: relative;
	background: #f7f8fc;
}

.rt-card__image .offer-image{
	width: 150px;
	height: 100%;
	min-height: 120px;
	border-radius: 0;
}

.rt-card__info{
	flex: 1 1 auto;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.rt-card__title{
	font-size: 1.05em;
	font-weight: 700;
	color: #1a202c;
	line-height: 1.3;
}

.rt-card__pax{
	font-size: .6em;
	color: #6b7280;
	font-weight: 500;
	margin-left: 6px;
	white-space: nowrap;
	vertical-align: baseline;
}

.rt-card__pax .fas{
	margin-right: 2px;
}

.rt-card__rating{
	font-size: .82em;
	color: #4a5568;
	margin-top: 4px;
}

.rt-card__rides{
	color: #9ca3af;
}

.rt-card__badge{
	display: inline-block;
	font-size: .72em;
	font-weight: 600;
	color: #16a34a;
	background: #f0fdf4;
	padding: 2px 8px;
	border-radius: 10px;
	margin-top: 4px;
}

.rt-card__badge .fas{
	margin-right: 3px;
}

.rt-card__cancel{
	font-size: .78em;
	color: #4a5568;
	margin-top: 4px;
}

.rt-card__cancel-icon{
	width: 14px;
	height: 14px;
	vertical-align: middle;
	margin-right: 3px;
}

.rt-card__cancel-link{
	color: #4a5568;
	text-decoration: none;
	border-bottom: 1px dotted #9ca3af;
}

.rt-card__cancel-link:hover{
	color: #1a202c;
	border-bottom-color: #1a202c;
}

/* Right column: price + CTA */
.rt-card__right{
	flex: 0 0 240px;
	padding: 16px 18px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-left: 1px solid #eef0f3;
	background: #fcfcfd;
}

.rt-card__price{
	font-size: 1.5em;
	font-weight: 800;
	color: #1a202c;
	line-height: 1.1;
	letter-spacing: -0.5px;
}

.rt-card__reassurance{
	font-size: .68em;
	color: #6b7280;
	margin-top: 6px;
	white-space: nowrap;
}

.rt-card__reassurance .fas{
	font-size: .85em;
	color: #16a34a;
	margin-right: 3px;
}

.rt-card__reassurance-sep{
	margin: 0 3px;
	color: #d1d5db;
}

.rt-card__action{
	margin-top: 8px;
	width: 100%;
}

.rt-card__cta{
	display: block;
	width: 100%;
	padding: 10px 14px;
	font-size: .85em;
	white-space: nowrap;
	font-weight: 700;
	font-family: 'Open Sans', sans-serif;
	background: #5563a0;
	color: #fff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	text-align: center;
	transition: background 0.2s ease, transform 0.15s ease;
}

.rt-card__cta:hover{
	background: #444f8a;
}

.rt-card__cta:active{
	transform: scale(0.98);
}

.rt-card__cta .fas{
	margin-left: 5px;
	font-size: .8em;
}

/* Trust footer */
.rt-card__trust{
	padding: 7px 16px;
	background: #f8f9fb;
	border-top: 1px solid #eef0f3;
	font-size: .75em;
	color: #6b7280;
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.rt-card__trust .fas{
	margin-right: 3px;
	font-size: .85em;
	color: #16a34a;
}

/* Mobile: stacked layout */
@media screen and (max-width: 767px) {
	.rt-card__header{
		padding: 6px 12px;
	}

	.rt-card__type-badge{
		font-size: .7em;
	}

	.rt-card__response{
		font-size: .72em;
	}

	.rt-card__content{
		flex-wrap: wrap;
	}

	.rt-card__image{
		flex: 0 0 90px;
	}

	.rt-card__image .offer-image{
		width: 90px;
		height: 90px;
		min-height: 90px;
	}

	.rt-card__info{
		flex: 1 1 0;
		padding: 10px 12px;
	}

	.rt-card__title{
		font-size: .95em;
	}

	.rt-card__right{
		flex: 1 1 100%;
		border-left: none;
		border-top: 1px solid #eef0f3;
		padding: 10px 12px 8px;
		text-align: left;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: #fff;
	}

	.rt-card__right .rt-card__price{
		font-size: 1.3em;
		text-align: center;
		margin-bottom: 2px;
	}

	.rt-card__reassurance{
		flex: none;
		margin-top: 0;
		text-align: center;
		margin-bottom: 8px;
	}

	.rt-card__right .rt-card__action{
		margin-top: 0;
		margin-left: 0;
		width: 100%;
	}

	.rt-card__cta{
		padding: 12px 16px;
		font-size: .95em;
		min-height: 44px;
		width: 100%;
	}

	.rt-card__trust{
		padding: 7px 12px;
		gap: 12px;
	}
}

#rto-progress{
	margin: 2em auto;
	display:block;
}


.ipo-badge{
	background-color: #00bf00;
	border-radius:3px;
	padding: 2px 5px;
	color: #fff;
	display:inline-block;
}

.ipo-badge .ipo-bolt{
	color: #00bf00;
	background-color: #fff;
	border-radius:100%;
	width:14px;
	height:14px;
	display:inline-block;
	text-align: center;
}

.ipo-badge .ipo-bolt:before{
	position:relative;
	top:-1px;
}

.free-meters{
	font-size:.9em;
}

.free-meters .fa-check{
	color: #00bf00;
}



/*
#no-offers-block{
	text-align:center;
	padding: 1em;
	font-size:1.5em;
	border: 1px solid #ff9324;
	margin-top: 1em;
}
*/



.request-form img.datepicker-icon {
    vertical-align: middle;
}

.request-form .error-label{
	font-size: .8em;
	display: inline-block;
	line-height: 1em;
}

.request-form input:not([type="checkbox"]){
    cursor: inherit;
    padding: 0 10px;
    height: 29px;
    vertical-align: middle;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #535353;
    background: #fff;
    outline: none;
}

.request-form select {
    border: 1px solid #cccccc;
    border-radius: 3px;
    color: #535353;
    cursor: pointer;
    font-size: 14px;
    height: 31px;
    font-family: 'Open Sans', sans-serif;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: #ffffff url(../images/icons/arrow_select.png) no-repeat scroll right 5px center;
    padding: 3px 25px 3px 10px;
}

.request-form input.error,
.request-form select.error
{
	border: 1px solid red;
}

.request-form td {
    padding-top: 10px;
    padding-right: 20px;
    vertical-align: top;
}

.request-form td.padd {
    padding-right: 20px;
}

.request-form  td.label {
    color: #535353;
    font-size: 14px;
    padding: 10px 20px 0 0;
}



.request-form a.tooltip:after{
	content: '?';
	color: #fff;
	background-color:#ff9326;
	border-radius: 100%;
	line-height: 24px;
	width:24px;
	text-align:center;
	display:inline-block;
	font-weight: bold;
}

.request-form a.tooltip img{
	display:none;
}


.label-cell{
	width: 20%;
	margin-left: 2%;
	display:inline-block;
	line-height: 3em;
	vertical-align: top;
}

.label-cell-wide2{
	width: 50%;
}


.label-cell-content,
.input-cell-content{
	line-height: 1.5em;
	vertical-align: middle;
	display:inline-block;
	width:100%;
	position: relative;
}

.input-cell{
	width: 75%;
	display:inline-block;
	line-height: 3em;
}

.input-cell-narrow2{
	width: 45%;
}

.input-cell input:not([type="radio"]):not([type="checkbox"]),
.request-form textarea{
	width: 100%;
	box-sizing: border-box;
}

.always-wide-cell{
	width: 95.5%;
	margin-left: 2%;
}

.date-cell{
	width: 25%;
}

.input-cell.date-cell input[type="text"]{
	width: 120px;
}

.time-cell,
.num_luggage-cell{
	width: 39.6%;
	display:inline-block;
	line-height: 41px;
	vertical-align: top;
	/*text-align: right;*/
}

.time-cell{
	width: 39.6%;
}

/*
.time-cell .label-cell,
.num_luggage-cell .label-cell{
	text-align: left;
	margin-left:3px;
}*/

.time-cell .label-cell{
	margin-left:.5em;
}

.time-cell .input-cell{
	float:right;
	text-align:right;
}

.input-cell.num_pass-cell{
	width: 25%;
}

.input-cell.num_pass-cell input[type="number"]{
	width: 70px;
}

.num_luggage-cell .label-cell{
	margin-left: .5em;
	width: 60%;
}

.num_luggage-cell .input-cell{
	width: 35%;
	float:right;
	text-align:right;
}

.equipment-item{
	width: 30%;
	display: inline-block;
	line-height: 41px;
	vertical-align: top;
}

.equipment-item label{
	width: 80%;
	display: inline-block;
	line-height: 1em;
}

#selectedCountryFromList{
	padding: 1.5px 3px;
}

.wide-label-cell,
.wide-input-cell{
	line-height: 3em;
}

/*
.request-form .input-cell .cmic-address-input{
	height: 3.2em;
	margin:.5em 0;
}*/


@media screen and (max-width: 1023px) {
	.request-form{
		min-width: auto;
	}
	.label-cell{
		margin-left:1em;
	}

	.trip-switch{
		top: 4px;
		display: block;
	}

	.trip-switch label{
		width:49.5%;
	}

	.input-cell.date-cell input[type="text"] {
		width: 95px;
	}

	div.form-container div.title h1 {
		margin-top: 0em;
	}
}

@media screen and (max-width: 767px) {
	.request-form{
		min-width: auto;
		width: 100%;
	}

	.section-header,
	.section-subheader{
		padding-left: .5em;
	}

	.section-content{
		max-width:95%;
		margin-left:.5em;
	}

	.label-cell{
		margin-left: .5em;
		width: 30%;
		line-height: 3.5em;
		font-size: 15px;
	}

	.label-cell-wide{
		width: 60%;
	}

	.label-cell-wide2{
		width: 50%;
	}

	.input-cell{
		font-size: 16px;
		width: 65%;
	}

	.input-cell.input-cell-narrow{
		width: 35%;
	}

	.input-cell-narrow2{
		width: 45%;
		text-align:right;
	}

	/*
	.input-cell input:not([type="radio"]),
	.input-cell select{
		height: 2.2em;
		font-size: 18px;
	}*/

	.always-wide-cell{
		font-size: 15px;
	}

	.date-cell{
		width: 65%;
	}

	.date-cell input[type="text"]{
		width: 75%;
	}

	.time-cell,
	.num_luggage-cell{
		width: 100%;
		text-align: left;
	}

	.time-cell select{
		width:40%;
	}

	.wide-input-cell,
	.wide-label-cell{
		line-height: 1.8em;
		width: 95%;
		margin: 0 auto;
		display: block;
	}

	.always-wide-cell{
		width: 95%;
		margin-left: .5em;
	}

	.special-requests-cell{
		margin-top: 0.3em;
	}

	.special-requests-cell textarea{
		max-height: 60px;
	}

	#get_ride_form .section-header{
		padding: 10px 14px;
		font-size: 1.1em;
		margin-top: 0;
	}

	.label-cell{
		line-height: 2.5em;
	}

	#need_return_block .wide-label-cell,
	#need_return_block .wide-input-cell{
		line-height: 1.5em;
		display: inline-block;
		width: auto;
		margin: 0 0 0 .5em;
	}

	.request-form a.tooltip:after{
		width: 35px;
		height: 35px;
		font-size: 25px;
		line-height: 35px;
		vertical-align:middle;
	}

	#autocar_type{
		width: 7em;
	}

	.equipment-item{
		width: 48%;
	}

	.lang_field{
		display:block;
	}

	.time-cell .input-cell,
	.num_luggage-cell .input-cell
	{
		float:none;
		text-align:left;
	}

}


#no-offers-block,
.offers-alert{
	border-radius:4px;
	border:2px solid #f29345;
	padding: 2em;
	text-align:center;
	box-shadow: 0 2px 2px 0 #ccc;
	background-color:#fff;
}

.no-offers-icon{
	font-size: 2em;
	color: #c0c5cc;
	margin-bottom: .5em;
}

#no-offers-block .block-1{
	font-weight:bold;
	font-size:1.2em;
}

#no-offers-block strong{
	color:#f29345;
}

#no-offers-block .mt-button2{
	width:auto;
	padding:0.3em 1.5em;
	border-radius:4px;
	height:auto;
}



#gauge_modal_holder .mt-modal{
	text-align:center;
	padding:20px 35px;
	background-color:#fff;
	width:600px;
}

@media (max-width:400px) {
	#gauge_modal_holder .mt-modal{
		padding:30px 5px;
		width:100%;
	}
}

.price-gauge-block{
	cursor:pointer;
}

.mt-modal .price-gauge-block{
	cursor:auto;
}

/* Empty form nudge */
.gr4-empty-nudge{
	text-align: center;
	padding: 8px 12px;
	color: #79848f;
	font-size: .85em;
	line-height: 1.4;
}

.gr4-empty-nudge + .full-form .gr4-card{
	margin-top: 8px;
}

@media screen and (max-width: 767px) {
	.gr4-empty-nudge{
		padding: 4px 8px;
		font-size: .8em;
	}
}

.gr4-empty-arrow{
	color: #ff9326;
	font-size: .9em;
	margin: 0 6px;
	display: inline-block;
	animation: gr4-bounce 1.5s ease infinite;
}

@keyframes gr4-bounce{
	0%, 100%{ transform: translateY(0); }
	50%{ transform: translateY(3px); }
}

/* Special request button (moved from inline styles) */
#get_ride_form .form-action-button--request{
	flex: 1 0 auto;
}

.special-request-label{
	background: #fff;
	color: #2c3a48;
	font-size: 12px;
	border: 1px solid #ccc;
	border-radius: 3px;
	display: block;
	padding: 0 35px 0 8px;
	position: relative;
	height: 30px;
	line-height: 30px;
	text-align: left;
}

.special-request-ok{
	background: #fd9137;
	color: #fff;
	border-radius: 0 3px 3px 0;
	display: inline-block;
	position: absolute;
	top: -1px;
	right: -1px;
	height: 32px;
	padding: 0 6px;
	line-height: 30px;
}

/* General error (moved from inline styles) */
.request-form .general-error{
	text-align: center;
	display: block;
	margin: 1em;
	font-size: 1em;
}

/* Special requests spacing */
.special-requests-cell{
	margin-top: 0.5em;
}

.misc-optional{
	color: #90979e;
	font-weight: normal;
	font-size: .85em;
}

.misc-expandable{
	transition: height 0.2s ease;
	resize: vertical;
	min-height: 31px;
}

.misc-expandable:not(.misc-expanded){
	overflow: hidden;
	resize: none;
}

.misc-text-special{
	font-size: .8em;
	color: #90979e;
	margin-top: .3em;
}

/* Mobile route summary */
.mobile-route-summary{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	border-radius: 0;
	font-size: .78em;
	color: #4a5568;
	font-weight: 600;
	width: 100%;
}

.mobile-route-summary .far,
.mobile-route-summary .fas{
	margin-right: 4px;
	color: #6b7280;
}

.mobile-route-sep{
	margin: 0 8px;
	color: #d1d5db;
}


/* Card footer (trust bar + mobile route) */
.gr4-card-footer{
	border-top: 1px solid #e8ebe5;
	background: #f5f7f3;
	border-radius: 0 0 6px 6px;
	padding: 8px 16px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 20px;
}

.mobile-route-sep{
	margin: 0 8px;
	color: #d1d5db;
}

/* Trust bar — inside card footer */
.trust-bar{
	display: flex;
	justify-content: center;
	gap: 16px;
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	border-radius: 0;
	font-size: .78em;
	color: #2d6a1e;
	width: 100%;
}

.trust-bar .trust-item{
	white-space: nowrap;
}

.trust-bar .trust-item .fas{
	margin-right: .3em;
}

@media screen and (max-width: 767px) {
	.gr4-card-footer{
		padding: 8px 16px;
	}
}

#tooltip-anchor.provider-rating-tooltip{
	text-align:left;
	padding: 0.5em 1em;
	font-size: .9em;
	line-height:2em;
}

/* Desktop: reset margins when map column is visible */
@media screen and (min-width: 1024px) {
	#get_ride_form .form-header{
		padding: 12px 0;
	}
	.rto-filter{
		padding: 0 0 12px 0;
	}
	.qr-card,
	.ip-card,
	.rt-card,
	.offer-entry{
		margin-left: 0;
		margin-right: 0;
	}
}
