/*
 * AutoRental QA refinements — 16 September 2026.
 * Isolated from the theme bundle so each responsive fix can be reverted safely.
 */

/* Reservation summary: make the vehicle carried from a PDP unmistakable. */
.stm-template-car_rental_elementor .stm_rent_order_info .autorental-pending-vehicle {
	margin: 18px 0 26px;
	padding: 0;
	text-align: center;
}

.stm-template-car_rental_elementor .stm_rent_order_info .autorental-pending-vehicle > a:first-child {
	display: block;
	overflow: hidden;
	border-radius: 14px;
	background: #f7f8fb;
}

.stm-template-car_rental_elementor .stm_rent_order_info .autorental-pending-vehicle img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}

.stm-template-car_rental_elementor .stm_rent_order_info .autorental-pending-vehicle__change {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
}

.stm-template-car_rental_elementor .stm_rent_order_info .autorental-pending-vehicle__title .subtitle {
	color: #080064;
}

/* Keep the office pin vertically centered inside the 54px Select2 field. */
.stm_rent_car_form .stm_pickup_location > i.stm-service-icon-pin {
	top: 27px !important;
	bottom: auto !important;
	left: 15px !important;
	margin: 0 !important;
	line-height: 1 !important;
	transform: translateY(-50%) !important;
}

/* Mobile testimonial: center every block and keep navigation inside the card. */
@media (max-width: 767px) {
	.stm-testimonials-carousel-wrapper.style_2,
	.stm-testimonials-carousel-wrapper.style_2 .elementor-testimonials-carousel,
	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit > .clearfix {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 500px;
		padding: 36px 44px 76px !important;
		justify-items: center;
	}

	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .image {
		float: none !important;
		justify-self: center;
		margin: 0 auto !important;
	}

	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content,
	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_info {
		box-sizing: border-box;
		width: 100%;
		max-width: 350px;
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content {
		padding: 18px 0 0 !important;
	}

	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_info {
		display: block !important;
		align-self: start;
	}

	.stm-testimonials-carousel-wrapper.style_2 .stm-swiper-controls {
		top: 50%;
		right: 14px;
		bottom: auto;
		left: 14px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transform: translateY(-50%);
	}

	.stm-testimonials-carousel-wrapper.style_2 .stm-swiper-prev,
	.stm-testimonials-carousel-wrapper.style_2 .stm-swiper-next {
		margin: 0 !important;
	}
}

/* Product mobile CTA: exactly two price lines and no split between $ and amount. */
@media (max-width: 840px) {
	body.single-product .autorental-pdp__mobile-cta {
		gap: 10px;
	}

	body.single-product .autorental-pdp__mobile-cta > div {
		flex: 0 1 auto;
		min-width: 0;
		line-height: 1.05;
	}

	body.single-product .autorental-pdp__mobile-cta > div > span,
	body.single-product .autorental-pdp__mobile-cta > div > strong {
		display: block !important;
		white-space: nowrap !important;
	}

	body.single-product .autorental-pdp__mobile-cta strong {
		font-size: clamp(15px, 4.5vw, 18px);
	}

	body.single-product .autorental-pdp__mobile-cta .autorental-money,
	body.single-product .autorental-pdp__mobile-cta .woocommerce-Price-amount,
	body.single-product .autorental-pdp__mobile-cta bdi,
	body.single-product .autorental-pdp__mobile-cta .woocommerce-Price-currencySymbol {
		display: inline !important;
		white-space: nowrap !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}

	body.single-product .autorental-pdp__mobile-cta a {
		flex: 0 0 auto;
		padding-right: 18px;
		padding-left: 18px;
		white-space: nowrap;
	}

	/* The WhatsApp launcher clears the sticky reservation CTA on PDPs only. */
	body.single-product .wa__btn_popup {
		bottom: calc(96px + env(safe-area-inset-bottom)) !important;
	}

	body.single-product .wa__popup_chat_box {
		bottom: calc(168px + env(safe-area-inset-bottom)) !important;
	}
}

@media (max-width: 380px) {
	body.single-product .autorental-pdp__mobile-cta {
		padding-right: 10px;
		padding-left: 10px;
	}

	body.single-product .autorental-pdp__mobile-cta a {
		padding-right: 14px;
		padding-left: 14px;
		font-size: 12px;
	}
}

/* Reservation calendar: mobile viewport-safe modal with unobstructed touch targets. */
@media (max-width: 840px) {
	body.stm-template-rental-daypicker-page .wa__popup_chat_box {
		display: none !important;
	}

	body.stm-template-rental-daypicker-page.autorental-datepicker-open .wa__btn_popup {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker {
		position: fixed !important;
		top: calc(50dvh - 36px) !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		box-sizing: border-box !important;
		width: min(410px, calc(100vw - 20px)) !important;
		max-width: calc(100vw - 20px) !important;
		margin: 0 !important;
		transform: translate(-50%, -50%) !important;
		z-index: 10000000 !important;
		overscroll-behavior: contain;
	}

	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker .xdsoft_datepicker {
		box-sizing: border-box !important;
		width: calc(100% - 82px) !important;
		margin-left: 0 !important;
	}

	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker .xdsoft_timepicker {
		width: 74px !important;
		margin-left: 8px !important;
	}

	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker .xdsoft_time_box {
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker td,
	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker .xdsoft_time {
		touch-action: manipulation;
	}
}

@media (max-width: 380px) {
	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker {
		top: calc(50dvh - 44px) !important;
		width: calc(100vw - 12px) !important;
		max-width: calc(100vw - 12px) !important;
	}

	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker .xdsoft_datepicker {
		width: calc(100% - 74px) !important;
	}

	body.stm-template-rental-daypicker-page .xdsoft_datetimepicker .xdsoft_timepicker {
		width: 68px !important;
		margin-left: 6px !important;
	}
}

/* Home reservation card: keep the calendar usable on mobile and align only the pickup pin. */
@media (max-width: 840px) {
	body.home .stm_rent_car_form form > .stm_rent_form_fields:not(.stm_rent_form_fields-drop) > .stm_pickup_location > i.stm-service-icon-pin {
		top: 50% !important;
		bottom: auto !important;
		left: 15px !important;
		margin: 0 !important;
		line-height: 1 !important;
		transform: translateY(-50%) !important;
	}

	body.home .wa__popup_chat_box {
		display: none !important;
	}

	body.home.autorental-datepicker-open .wa__btn_popup {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	body.home .xdsoft_datetimepicker {
		position: fixed !important;
		top: calc(50dvh - 36px) !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		box-sizing: border-box !important;
		width: min(410px, calc(100vw - 20px)) !important;
		max-width: calc(100vw - 20px) !important;
		margin: 0 !important;
		transform: translate(-50%, -50%) !important;
		z-index: 10000000 !important;
		overscroll-behavior: contain;
	}

	body.home .xdsoft_datetimepicker .xdsoft_datepicker {
		box-sizing: border-box !important;
		width: calc(100% - 82px) !important;
		margin-left: 0 !important;
	}

	body.home .xdsoft_datetimepicker .xdsoft_timepicker {
		width: 74px !important;
		margin-left: 8px !important;
	}

	body.home .xdsoft_datetimepicker .xdsoft_time_box {
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	body.home .xdsoft_datetimepicker td,
	body.home .xdsoft_datetimepicker .xdsoft_time {
		touch-action: manipulation;
	}
}

@media (max-width: 380px) {
	body.home .xdsoft_datetimepicker {
		top: calc(50dvh - 44px) !important;
		width: calc(100vw - 12px) !important;
		max-width: calc(100vw - 12px) !important;
	}

	body.home .xdsoft_datetimepicker .xdsoft_datepicker {
		width: calc(100% - 74px) !important;
	}

	body.home .xdsoft_datetimepicker .xdsoft_timepicker {
		width: 68px !important;
		margin-left: 6px !important;
	}
}

/* Client feedback round — reviews, extras, price detail and checkout errors. */
@media (max-width: 767px) {
	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content > *,
	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_info > * {
		float: none !important;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_name,
	.stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_position {
		display: block !important;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .stm_rental_option_content {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		gap: 10px 12px;
		width: 100% !important;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .stm_rental_option_content > .content {
		float: none !important;
		grid-column: 1;
		width: auto !important;
		min-width: 0;
		margin: 0 !important;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .stm_rental_option_content > .meta {
		display: contents !important;
		float: none !important;
		width: auto !important;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .stm_rental_option_content > .meta > .price {
		float: none !important;
		grid-column: 2;
		align-self: start;
		margin: 0 !important;
		text-align: right;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .current_price {
		display: inline-flex !important;
		align-items: baseline;
		justify-content: flex-end;
		white-space: nowrap;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .current_price small {
		margin-left: 2px;
		white-space: nowrap;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .stm-add-to-cart {
		float: none !important;
		grid-column: 1 / -1;
		width: 100% !important;
		margin: 0 !important;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .stm-add-to-cart a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		min-height: 44px;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .clearfix {
		display: none !important;
	}

	.stm-template-car_rental_elementor .stm_rental_options_archive .more {
		grid-column: 1 / -1;
	}
}

.stm-template-car_rental_elementor .stm_rental_option.is-updating {
	opacity: .58;
	pointer-events: none;
}

.stm-template-car_rental_elementor .stm_rent_order_info table,
.stm-template-car_rental_elementor .stm_rent_order_info tbody,
.stm-template-car_rental_elementor .stm_rent_order_info tr,
.stm-template-car_rental_elementor .stm_rent_order_info td {
	overflow: visible !important;
}

.stm-template-car_rental_elementor .stm_rent_order_info td:nth-child(2) {
	white-space: nowrap;
}

.stm-template-car_rental_elementor .price-date-info-icon {
	position: relative !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-left: 4px;
	vertical-align: middle;
	cursor: pointer;
}

.stm-template-car_rental_elementor .price-date-info-icon .price-date-info-popup {
	top: calc(100% + 8px) !important;
	right: 0 !important;
	left: auto !important;
	z-index: 100000 !important;
	box-sizing: border-box;
	width: min(270px, calc(100vw - 32px)) !important;
	max-width: calc(100vw - 32px) !important;
	transform: none !important;
	pointer-events: none;
}

.stm-template-car_rental_elementor .price-date-info-icon:hover .price-date-info-popup,
.stm-template-car_rental_elementor .price-date-info-icon:focus-within .price-date-info-popup,
.stm-template-car_rental_elementor .price-date-info-icon.is-open .price-date-info-popup {
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 100000 !important;
	pointer-events: auto;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error {
	border: 1px solid #cbd4f3 !important;
	border-left: 4px solid #080064 !important;
	border-radius: 10px !important;
	background: #f3f6ff !important;
	box-shadow: 0 8px 24px rgba(8, 0, 100, .08);
	color: #17213b !important;
}

body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-error li::before {
	color: #080064 !important;
}

/* Final mobile review layout: neutralize theme floats and preserve visual order. */
@media (max-width: 767px) {
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit > .clearfix {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-start !important;
		text-align: center !important;
		float: none !important;
	}

	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit > .clearfix::before,
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit > .clearfix::after {
		display: none !important;
	}

	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .image,
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content,
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_info,
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .stm-testimonial-icon {
		position: static !important;
		float: none !important;
		flex: 0 0 auto !important;
		width: min(100%, 350px) !important;
		max-width: 350px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .image { order: 1 !important; }
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content { order: 2 !important; padding: 18px 0 0 !important; }
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_info { order: 3 !important; align-self: center !important; padding: 10px 0 0 !important; }
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .stm-testimonial-icon { order: 4 !important; }
}

/* Checkout notices: use the blue brand language instead of red blocks. */
html body.woocommerce-checkout .woocommerce-error,
html body.stm-template-car_rental_elementor .woocommerce-error,
html body .woocommerce-error,
html body.woocommerce-checkout [role="alert"].woocommerce-error,
html body.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error,
html body.woocommerce-checkout form.checkout ul.woocommerce-error {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 16px 18px 16px 48px !important;
	border: 1px solid #294987 !important;
	border-left: 4px solid #70c9f4 !important;
	border-radius: 12px !important;
	background: #182b63 !important;
	box-shadow: 0 8px 22px rgba(8, 0, 100, .24) !important;
	color: #fff !important;
}

html body.woocommerce-checkout .woocommerce-error li,
html body .woocommerce-error li {
	margin: 0 0 8px !important;
	padding: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
}

html body.woocommerce-checkout .woocommerce-error li:last-child,
html body .woocommerce-error li:last-child {
	margin-bottom: 0 !important;
}

html body.woocommerce-checkout .woocommerce-error::before,
html body .woocommerce-error::before {
	left: 18px !important;
	color: #fff !important;
	font-size: 16px !important;
}

html body .woocommerce-error li::before {
	color: #fff !important;
}

/* Tooltip is portaled to body and must sit above every checkout/card layer. */
html body.autorental-checkout-tooltip-mode .price-date-info-popup.autorental-tooltip-popup {
	position: fixed !important;
	z-index: 2147483647 !important;
	max-width: calc(100vw - 24px) !important;
	box-sizing: border-box !important;
	transform: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

html body.autorental-checkout-tooltip-mode .price-date-info-popup.autorental-tooltip-popup.is-open {
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 2147483647 !important;
	pointer-events: auto !important;
}

body.woocommerce-checkout .woocommerce-error li {
	color: #fff !important;
}

/* Final contrast for checkout validation messages. */
html body .woocommerce-error {
	border-color: #294987 !important;
	border-left-color: #70c9f4 !important;
	background: #5970b5 !important;
	box-shadow: 0 8px 22px rgba(8, 0, 100, .24) !important;
	color: #fff !important;
}

html body .woocommerce-error li,
html body .woocommerce-error li > i,
html body .woocommerce-error li > span {
	color: #fff !important;
}

html body .woocommerce-error li > span {
	font-weight: 800 !important;
}

/* Mobile reviews: keep every block truly centered and make the photo circular. */
@media (max-width: 767px) {
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit > .clearfix {
		width: 100% !important;
		margin: 0 !important;
		padding: 28px 30px 36px !important;
		box-sizing: border-box !important;
		align-items: center !important;
	}

	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .image {
		width: 96px !important;
		height: 96px !important;
		min-width: 96px !important;
		max-width: 96px !important;
		margin: 0 auto 16px !important;
		padding: 5px !important;
		box-sizing: border-box !important;
		border-radius: 50% !important;
		overflow: hidden !important;
	}

	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .image img {
		display: block !important;
		width: 86px !important;
		height: 86px !important;
		max-width: 86px !important;
		margin: 0 auto !important;
		border-radius: 50% !important;
		object-fit: cover !important;
	}

	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content,
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_info {
		width: 100% !important;
		max-width: 320px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		text-align: center !important;
	}

	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content .title,
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content p,
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_name,
	html body .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_position {
		width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	/* Mobile tooltip: viewport panel, independent from .stm_rent_table scroll. */
	html body.autorental-checkout-tooltip-mode .price-date-info-popup.autorental-tooltip-popup,
	html body.autorental-checkout-tooltip-mode .price-date-info-popup.autorental-tooltip-popup.is-open {
		position: fixed !important;
		left: 12px !important;
		right: 12px !important;
		top: auto !important;
		bottom: max(16px, env(safe-area-inset-bottom)) !important;
		width: auto !important;
		max-width: none !important;
		max-height: min(70vh, 520px) !important;
		margin: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		z-index: 2147483647 !important;
	}

	/* Checkout summary must grow with its tables; page scroll replaces internal scroll. */
	html body.woocommerce-checkout .stm_rent_order_info,
	html body.autorental-checkout-tooltip-mode .stm_rent_order_info,
	html body.woocommerce-checkout .stm_rent_table,
	html body.autorental-checkout-tooltip-mode .stm_rent_table {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
		box-sizing: border-box !important;
	}

	html body.woocommerce-checkout .stm_rent_table table,
	html body.autorental-checkout-tooltip-mode .stm_rent_table table,
	html body.woocommerce-checkout .stm_rent_table tbody,
	html body.autorental-checkout-tooltip-mode .stm_rent_table tbody {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	/* Cart: remove the summary's internal scroll so the native hover is never clipped. */
	html body.woocommerce-cart .stm_rent_order_info,
	html body.woocommerce-cart .stm_rent_table {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
		box-sizing: border-box !important;
	}

	html body.woocommerce-cart .stm_rent_table table,
	html body.woocommerce-cart .stm_rent_table tbody,
	html body.woocommerce-cart .stm_rent_table tr,
	html body.woocommerce-cart .stm_rent_table td {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	html body.woocommerce-cart .price-date-info-icon .price-date-info-popup {
		left: 50% !important;
		right: auto !important;
		top: calc(100% + 8px) !important;
		width: min(270px, calc(100vw - 32px)) !important;
		max-width: calc(100vw - 32px) !important;
		transform: translateX(-50%) !important;
		z-index: 100000 !important;
	}

	/* Additional services: title and price share one baseline; details and button use their own rows. */
	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) max-content !important;
		grid-template-rows: auto auto auto auto !important;
		column-gap: 16px !important;
		row-gap: 4px !important;
		align-items: baseline !important;
		width: 100% !important;
	}

	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .content,
	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .meta {
		display: contents !important;
	}

	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .content > .title {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: baseline !important;
		margin: 0 !important;
	}

	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .content > .title h4 {
		margin: 0 !important;
		line-height: 1.3 !important;
	}

	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .content > .stm-more {
		grid-column: 1 !important;
		grid-row: 2 !important;
		margin: 2px 0 0 !important;
	}

	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .meta > .price {
		grid-column: 2 !important;
		grid-row: 1 !important;
		align-self: baseline !important;
		margin: 0 !important;
		text-align: right !important;
	}

	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .meta > .quantity {
		grid-column: 2 !important;
		grid-row: 2 !important;
		justify-self: end !important;
	}

	html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .meta > .stm-add-to-cart {
		grid-column: 1 / -1 !important;
		grid-row: 3 !important;
		width: 100% !important;
		margin: 10px 0 0 !important;
	}

	/* Mobile reviews: override the rental template's tablet margin that pins the photo left. */
	@media (max-width: 767px) {
		html body.stm-template-car_rental .stm-testimonials-carousel-wrapper.style_2 .elementor-testimonials-carousel .testimonial-unit .clearfix .image,
		html body.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .elementor-testimonials-carousel .testimonial-unit .clearfix .image {
			float: none !important;
			align-self: center !important;
			justify-self: center !important;
			margin: 0 auto 16px !important;
		}
	}

		html body.home.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .elementor-testimonials-carousel .testimonial-unit > .clearfix {
		box-sizing: border-box !important;
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc((100% - 100vw) / 2) !important;
		margin-right: calc((100% - 100vw) / 2) !important;
	}

		html body.home.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .elementor-testimonials-carousel .testimonial-unit .clearfix .image {
		float: none !important;
		align-self: center !important;
		justify-self: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		transform: none !important;
	}

		/* Mobile testimonial: center each visible block against the viewport, independent of Swiper's slide width. */
		html body.home.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit > .clearfix {
			padding-right: 0 !important;
			padding-left: 0 !important;
			overflow: visible !important;
		}

		html body.home.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .image,
		html body.home.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content,
		html body.home.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_info {
			position: relative !important;
			right: auto !important;
			align-self: flex-start !important;
			justify-self: start !important;
			left: 50vw !important;
			margin-right: 0 !important;
			margin-left: 0 !important;
			transform: translateX(-50%) !important;
			text-align: center !important;
		}

		html body.home.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .content,
		html body.home.stm-template-car_rental_elementor .stm-testimonials-carousel-wrapper.style_2 .testimonial-unit .author_info {
			width: min(350px, calc(100vw - 64px)) !important;
			max-width: calc(100vw - 64px) !important;
		}

		html body.woocommerce-cart .stm_rental_options_archive .stm_rental_option_content > .more {
		grid-column: 1 / -1 !important;
		grid-row: 4 !important;
	}
}
