/* Match the Our Fleet heading accent in the TBA green palette. */
.title-block2,
.title-block3,
.title-block4,
.title-block6,
.title-block7,
#page-header .title-block3,
.woocommerce .woocommerce-order h2::after {
    width: 58px;
    height: 3px;
    border-radius: 999px;
    background-image: linear-gradient(90deg, #72b76e 0%, #4b9b50 100%);
}

/* START TBA MOBILE NAVIGATION */
/* TBA mobile navigation: light glass appearance. */
@media (max-width: 1020px) {
	.mobile-navigation-wrapper {
		background: rgba(241, 247, 240, 0.78) !important;
		border: 1px solid rgba(53, 140, 43, 0.18) !important;
		border-radius: 20px !important;
		box-shadow: 0 14px 34px rgba(53, 140, 43, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
		-webkit-backdrop-filter: blur(14px) saturate(145%);
		backdrop-filter: blur(14px) saturate(145%);
		overflow: hidden;
	}

	/* Share one background across all menu levels. */
	.mobile-navigation-wrapper ul,
	.mobile-navigation-wrapper ul li,
	.mobile-navigation-wrapper ul li a,
	.mobile-navigation-wrapper ul li li,
	.mobile-navigation-wrapper ul li li a,
	.mobile-navigation-wrapper ul li li li,
	.mobile-navigation-wrapper ul li li li a {
		background: transparent !important;
	}

	/* Menu links. */
	.mobile-navigation-wrapper ul li a {
		color: #242424 !important;
		border-top: 1px solid rgba(255, 255, 255, 0.32);
		box-shadow: none !important;
	}

	/* Remove the top separator from the first item. */
	.mobile-navigation-wrapper > ul > li:first-child > a {
		border-top: 0;
	}

	/* Indent nested menu levels. */
	.mobile-navigation-wrapper ul li ul li > a {
		padding-left: 52px !important;
	}

	.mobile-navigation-wrapper ul li ul li ul li > a {
		padding-left: 68px !important;
	}

	/* Hover and keyboard focus. */
	.mobile-navigation-wrapper ul li a:hover,
	.mobile-navigation-wrapper ul li a:focus {
		color: #2c6e26 !important;
		background: rgba(255, 255, 255, 0.38) !important;
		outline: none;
	}

	/* Current menu item. */
	.mobile-navigation-wrapper .current-menu-item > a,
	.mobile-navigation-wrapper .current_page_item > a {
		color: #2c6e26 !important;
		background: rgba(255, 255, 255, 0.44) !important;
	}
}

/* END TBA MOBILE NAVIGATION */

/* START TBA FOOTER COLORS */
/* TBA footer: dark text on the light background. */
.footer,
.footer p,
.footer li,
.footer span,
.footer small,
.footer address,
.footer .contact-widget span {
	color: #242424;
}

/* Footer headings and labels. */
.footer strong,
.footer label,
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5,
.footer h6 {
	color: #333333;
}

/* Saved footer navigation CSS still forces white link text with high priority.
 * Keep these two guards until that separate inline component is migrated. */
.footer a {
	color: #2c6e26 !important;
	text-decoration: none;
}

.footer a:hover,
.footer a:focus {
	color: #4a9f40 !important;
}

/* Contact icons. */
.footer .contact-widget .cw-address::before,
.footer .contact-widget .cw-phone::before,
.footer .contact-widget .cw-cell::before {
	color: #333333;
}

/* Separator above the footer bottom section. */
.footer .footer-bottom {
	border-top: 1px solid rgba(53, 140, 43, 0.13);
}

/* Keep footer button text white. */
.footer button,
.footer input[type="submit"],
.footer .button{
	color: #ffffff;
}

/* END TBA FOOTER COLORS */

/* START TBA TRIP DETAILS COLORS */
/* TBA booking colors. Styles Trip Details at step 2 and Review / Full Booking at steps 3-4 without changing form structure or behavior. */

/* =========================================================
   STEP 2 - TRIP DETAILS
   ========================================================= */

/* Base text color on the light green panel */
.trip-details-wrapper {
	color: #242424 !important;
}

/* Trip Details headings */
.trip-details-wrapper h1,
.trip-details-wrapper h2,
.trip-details-wrapper h3,
.trip-details-wrapper h4,
.trip-details-wrapper h5,
.trip-details-wrapper h6 {
	color: #2c6e26 !important;
}

/* Trip parameter and form field labels */
.trip-details-wrapper strong,
.trip-details-wrapper label {
	color: #333333 !important;
}

/* Trip parameter values */
.trip-details-wrapper p,
.trip-details-wrapper .trip-details-wrapper-1 span,
.trip-details-wrapper .trip-details-wrapper-2 span {
	color: #242424 !important;
}

/* Date / Pick Up Time card */
.trip-details-wrapper .trip-details-wrapper-2 {
	border: 1px solid rgba(53, 140, 43, 0.18) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}

/* Inputs, select fields and textareas */
.trip-details-wrapper input[type="text"],
.trip-details-wrapper input[type="email"],
.trip-details-wrapper input[type="tel"],
.trip-details-wrapper input[type="number"],
.trip-details-wrapper select,
.trip-details-wrapper textarea {
	color: #242424 !important;
	background: #ffffff !important;
	border: 1px solid rgba(53, 140, 43, 0.14) !important;
}

/* Placeholder */
.trip-details-wrapper input::placeholder,
.trip-details-wrapper textarea::placeholder {
	color: #858b92 !important;
	opacity: 1;
}

/* Field arrows and icons */
.trip-details-wrapper .select-wrapper i,
.trip-details-wrapper .icon-input-wrapper i {
	color: #333333 !important;
}

/* Keep button text white */
.trip-details-wrapper button:not(:where(.tm24-trip-edit button)),
.trip-details-wrapper .view-map-button:not(:where(.tm24-trip-summary .view-map-button)),
.trip-details-wrapper a.view-map-button:not(:where(.tm24-trip-summary .view-map-button)) {
	color: #ffffff !important;
}

/* Button text and icons */
.trip-details-wrapper button:not(:where(.tm24-trip-edit button)) span,
.trip-details-wrapper button:not(:where(.tm24-trip-edit button)) i,
.trip-details-wrapper .view-map-button:not(:where(.tm24-trip-summary .view-map-button)) span,
.trip-details-wrapper .view-map-button:not(:where(.tm24-trip-summary .view-map-button)) i,
.trip-details-wrapper a.view-map-button span,
.trip-details-wrapper a.view-map-button:not(:where(.tm24-trip-summary .view-map-button)) i {
	color: #ffffff !important;
}

/* Required field markers */
.trip-details-wrapper label span,
.trip-details-wrapper .required {
	color: #c94f5d !important;
}

/* Step 2 separators */
.trip-details-wrapper .trip-details-wrapper-1 p,
.trip-details-wrapper .trip-details-wrapper-2 p {
	border-bottom: 1px solid rgba(53, 140, 43, 0.13) !important;
}

/* Additional horizontal separators in step 2 */
.trip-details-wrapper hr {
	border-color: rgba(53, 140, 43, 0.13) !important;
}

/* END TBA TRIP DETAILS COLORS */

/* START TBA REVIEW AND FULL BOOKING COLORS */
/* =========================================================
   STEPS 3-4 - REVIEW / FULL BOOKING
   ========================================================= */

/* Review Booking container */
.full-booking-wrapper {
	color: #242424 !important;
	border: 1px solid rgba(53, 140, 43, 0.08) !important;
	border-radius: 22px !important;
	overflow: hidden !important;
	box-shadow: 0 8px 24px rgba(53, 140, 43, 0.06) !important;
}

/* Section headings */
.full-booking-wrapper h1,
.full-booking-wrapper h2,
.full-booking-wrapper h3,
.full-booking-wrapper h4,
.full-booking-wrapper h5,
.full-booking-wrapper h6 {
	color: #2c6e26 !important;
}

/* Body text and values */
.full-booking-wrapper p,
.full-booking-wrapper span:not(:where(.tm24-payment-costs span)),
.full-booking-wrapper li,
.full-booking-wrapper td:not(:where(.tm24-payment-costs td)),
.full-booking-wrapper address {
	color: #242424 !important;
}

/* Parameter labels */
.full-booking-wrapper strong:not(:where(.tm24-trip-summary--overview strong, .tm24-passenger-summary--overview strong, .tm24-payment-costs strong)),
.full-booking-wrapper b:not(:where(.tm24-payment-costs b)),
.full-booking-wrapper label,
.full-booking-wrapper th:not(:where(.tm24-payment-costs th)) {
	color: #333333 !important;
}

/* Links inside information blocks */
.full-booking-wrapper a:not(.button):not([class*="button"]) {
	color: #2c6e26 !important;
	text-decoration: none;
}

/* Input fields and additional information */
.full-booking-wrapper input[type="text"],
.full-booking-wrapper input[type="email"],
.full-booking-wrapper input[type="tel"],
.full-booking-wrapper input[type="number"],
.full-booking-wrapper select,
.full-booking-wrapper textarea {
	color: #242424 !important;
	background: #ffffff !important;
	border: 1px solid rgba(53, 140, 43, 0.14) !important;
}

/* Placeholder */
.full-booking-wrapper input::placeholder,
.full-booking-wrapper textarea::placeholder {
	color: #858b92 !important;
	opacity: 1;
}

/* Separators in the upper Review Booking block */
.full-booking-wrapper .clearfix .qns-one-half p {
	border-bottom: 1px solid rgba(53, 140, 43, 0.13) !important;
}

/* Horizontal separators */
.full-booking-wrapper hr {
	border: 0 !important;
	border-top: 1px solid rgba(53, 140, 43, 0.13) !important;
}

/* Hide the extra separator before Passengers Details */
.full-booking-wrapper hr.space2 {
	display: none !important;
}

/* Passenger, additional information and total price cards */
.full-booking-wrapper .passenger-details-wrapper,
.full-booking-wrapper .passenger-details,
.full-booking-wrapper .passengers-details-wrapper,
.full-booking-wrapper .additional-information-wrapper,
.full-booking-wrapper .additional-information {
	border: 1px solid rgba(53, 140, 43, 0.13) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}

/* Total price container */
.full-booking-wrapper .total-price,
.full-booking-wrapper .total-price-wrapper,
.full-booking-wrapper .booking-total,
.full-booking-wrapper .booking-total-wrapper {
	color: #2c6e26 !important;
	border-color: #358c2b !important;
}

/* Total price amount */
.full-booking-wrapper .total-price strong,
.full-booking-wrapper .total-price span,
.full-booking-wrapper .total-price-wrapper strong,
.full-booking-wrapper .total-price-wrapper span,
.full-booking-wrapper .booking-total strong,
.full-booking-wrapper .booking-total span,
.full-booking-wrapper .booking-total-wrapper strong,
.full-booking-wrapper .booking-total-wrapper span {
	color: #2c6e26 !important;
}

/* Keep button text white */
.full-booking-wrapper button,
.full-booking-wrapper input[type="submit"],
.full-booking-wrapper .button,
.full-booking-wrapper a.button,
.full-booking-wrapper [class*="button"]:not(:where(.tm24-trip-summary .view-map-button)) {
	color: #ffffff !important;
}

/* Keep button icons and nested text white */
.full-booking-wrapper button i,
.full-booking-wrapper button span,
.full-booking-wrapper .button i,
.full-booking-wrapper .button span,
.full-booking-wrapper a.button i,
.full-booking-wrapper a.button span,
.full-booking-wrapper [class*="button"]:not(:where(.tm24-trip-summary .view-map-button)) i,
.full-booking-wrapper [class*="button"]:not(:where(.tm24-trip-summary .view-map-button)) span {
	color: #ffffff !important;
}

/* END TBA REVIEW AND FULL BOOKING COLORS */

/* START TBA WOOCOMMERCE TABLES */
/* =========================================================
   STEP 4 - WOOCOMMERCE TABLES
   ========================================================= */

/* Collapse cell borders to prevent overlapping lines */
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) {
	border-collapse: collapse !important;

	border-spacing: 0 !important;
}

/* Use the same thin border on all sides */
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) th,
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) td {
	border: 1px solid rgba(53, 140, 43, 0.13) !important;
}

/* Prevent theme rules from making horizontal borders thicker */
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) tr,
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) thead,
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) tbody,
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) tfoot {
	border: 0 !important;
}

/* Prevent a double top border on the table */
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) tr:first-child th,
.full-booking-wrapper table:not(.woocommerce-checkout-review-order-table) tr:first-child td {
	border-top-width: 1px !important;
}

/* END TBA WOOCOMMERCE TABLES */

/* START TBA BASE STYLES */
/* TBA site styles migrated from Additional CSS. */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
}

.header-area-2 .header-content {
	max-width: 1110px;
}

/* Booking form heading: disable self-link */
#booking-tabs > .ui-tabs-nav > li[aria-controls="tab-one-way"] {
    pointer-events: none !important;
    cursor: default !important;
}

#booking-tabs > .ui-tabs-nav > li[aria-controls="tab-one-way"] > a {
    cursor: default !important;
    text-decoration: none !important;
}

/* TBA brand palette and base polish */
:root {
	--tba-main-color: #358c2b;
	--tba-main-color-hover: #4a9f40;
	--tba-dark: #2c6e26;
	--tba-soft: #f1f7f0;
}

body {
	color: #26332a;
}

a {
	transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

::selection {
	background: rgba(75, 155, 80, 0.22);
}

/* Fix for extra blank lines in booking form (hidden labels causing spacing) */
.booking-form-1 .select-wrapper label {
  display: none !important;
}

.bgy-wrap {max-width: 900px; margin: 0 auto; padding: 24px;}
.bgy-hero {text-align: center; margin-bottom: 12px;}
.bgy-hero h1 {margin: 0 0 8px; font-size: 32px; line-height: 1.2;}
.bgy-sub {color: #555; margin: 0;}

.bgy-figure {margin: 16px 0 24px; text-align: center;}
.bgy-figure img {max-width: 100%; height: auto; border-radius: 8px;}

.bgy-table {width: 100%; border-collapse: collapse; margin: 8px 0 24px;}
.bgy-table td {border: 1px solid #ddd; padding: 8px;}
.bgy-table a {text-decoration: underline;}

.bgy-map {margin: 8px 0 24px;}
.bgy-list {list-style: none; padding: 0; margin: 8px 0 16px;}
.bgy-list li {padding: 6px 0; border-bottom: 1px dashed #eee;}
.bgy-list li:last-child {border-bottom: 0;}

.bgy-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; list-style: none; padding: 0; margin: 8px 0 12px;}
.bgy-grid li {background: #fafafa; border: 1px solid #eee; border-radius: 8px; padding: 10px; text-align: center;}

.bgy-note {color: #555; margin: 8px 0 20px;}
.bgy-cta {text-align: center; margin: 18px 0 26px;}

.bgy-wrap .btn {display: inline-block; padding: 10px 16px; color: #fff; text-decoration: none;}
.bgy-wrap .btn:hover {opacity: .9;}

.bgy-faq details {border: 1px solid #eee; border-radius: 8px; padding: 10px 12px; margin: 8px 0;}
.bgy-faq summary {cursor: pointer;}
.bgy-faq p {margin: 8px 0 0;}
.two-cols {columns: 2; column-gap: 24px;}
@media (max-width: 680px){ .two-cols {columns: 1;} }


.image-rounded-shadow {
    border-radius: 10px;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

html {
	scroll-behavior: smooth !important;
	scroll-padding-top: 150px;
}

/* END TBA BASE STYLES */

/* START TBA CONTACT BLOCKS */
/* custom-contacts */
.custom-contacts h2 { text-align: center; }
.custom-contacts div {
	display: flex;
	gap: 25px;
	justify-content: center;
	margin-bottom: 35px;
}
.custom-contacts a { cursor: pointer; }
.custom-contacts img { width: 40px; height: 40px; }

.header-area-2 .navigation-inner {
	display: flex;
	justify-content: center;
}

/* home-page contacts */
.home-page-contacts-container .contact-details-list li {
	border-bottom: transparent 1px solid;
	font-size: 2rem;
	padding: 0;
}
.home-page-contacts-container .contact-details-list li::before,
.home-page-contacts-container .contact-details-list li::after {
	display: none;
}
.home-page-contacts-container .contact-details-list li:first-child {
	border-top: transparent 1px solid;
}
.home-page-contacts-container .contact-details-list {
	width: fit-content;
	margin: 0 auto 40px;
}

/* END TBA CONTACT BLOCKS */

/* START TBA FOOTER WIDGETS */
/* footer widget */
.footer-custom-wiget {
	max-width: 180px;
	margin: 0 auto;
}
.footer-custom-wiget li:before { display: none; }
.footer .widget .footer-custom-wiget li { border-bottom: transparent 1px solid; }
.footer-custom-wiget img:hover { cursor: pointer; }

.footer-wiget-socials {
	list-style: none;
	display: flex;
	justify-content: space-between;
}

/* END TBA FOOTER WIDGETS */

/* START TBA HEADER AND LOGO */
/* logo */
.header-area-2 .logo {
	width: fit-content;
	align-items: center;
	display: flex;
	flex-direction: column;
}
.header-area-2 .logo img {
	height: 82px;
	width: auto;
	max-width: 280px;
}
.header-area-2 .logo:after {
	content: "Private Bergamo Airport Transfers at Clear Fixed Prices";
}

.top-bar-wrapper { display: none; }

/* Use the reference background variable, with TBA's two-car composition.
   Fit the complete artwork without tiling; retain the existing mobile cutoff. */
@media (min-width: 1021px) {
	.large-header-wrapper {
		background-image: var(--tm24-hero-background, none);
		background-size: min(100%, 1800px) auto;
		background-position: right center;
		background-repeat: no-repeat;
	}
}

.large-header {
	padding: 40px 0;
	height: 568.5px;
}

.wp-gr.wpac a.wp-google-name,
.wp-gr .wp-google-time,
.wp-gr .wp-google-text {
	font-family: "Source Sans Pro" !important;
}

/* END TBA HEADER AND LOGO */

/* START TBA REVIEWS */
/* reviews */







.news-single { border-bottom: transparent 1px solid; }

.navigation-inner a:has(.fa.fa-search),
#mobile-navigation a:has(.fa.fa-search) {
	display: none;
}

/* END TBA REVIEWS */

/* START TBA RESPONSIVE AND GENERAL OVERRIDES */
/* media queries */
@media screen and (max-width: 850px) {
	#row-with-google-reviews { display: none; }
}

@media screen and (max-width: 667px) {
	#mobile-navigation { margin-top: 17px; }

	.large-header {
		height: auto;
		padding: 0 0;
	}

	.header-area-2 .logo img {
		height: 50px;
		width: 150px;
	}

	.header-area-2 .logo:after { display: none; }

}

.news-content-wrapper h3 {
	border-bottom: #e8e8e8 1px solid;
}

.content-wrapper-outer.clearfix {
	justify-content: center;
	display: flex;
}
.content-wrapper-outer.clearfix .main-content { padding: 0; }

.post-template-default #reviews-section { padding: 40px 0; }

.ui-state-disabled { opacity: 0.2; }

input,
select { color: black !important; }

/* END TBA RESPONSIVE AND GENERAL OVERRIDES */
/* START TBA HEADER SERVICE ICONS */
/* logo icons */
#logo-icons {
	position: absolute;
	top: 35px;
	right: 10px;
	display: flex;
	height: 34px;
}
@media screen and (max-width: 1020px) {
	#logo-icons { display: none; }
}

#logo-icons .logo-icon-block {
	display: flex;
	gap: 8px;
	align-items: center;
}
#logo-icons .logo-icons-icon {
	width: 34px;
	height: 34px;
	background-size: cover;
	background-repeat: no-repeat;
}
#logo-icons .logo-icons-icon.logo-icons-icon-help {
	background-image: url('https://taxibergamoairport.it/wp-content/uploads/2024/06/Group-22.svg');
}
#logo-icons .logo-icons-icon.logo-icons-icon-price {
	background-image: url('https://taxibergamoairport.it/wp-content/uploads/2024/06/Group-20.svg');
}
#logo-icons .logo-icons-icon.logo-icons-quality {
	background-image: url('https://taxibergamoairport.it/wp-content/uploads/2024/06/Group-21.svg');
}
#logo-icons .logo-icons-text {
	max-width: 70px;
	margin: 0;
	line-height: 1;
	font-weight: bold;
	font-size: 12px;
}

/* END TBA HEADER SERVICE ICONS */

/* START TBA GENERAL COMPONENTS */
/* misc */
.privacy-policy-list li:before { display: none !important; }

@media (max-width: 1020px) {
	.rank-math-html-sitemap {
		padding: 20px;
		width: 100%;
		box-sizing: border-box;
	}
}
@media (min-width: 1021px) {
	.rank-math-html-sitemap {
		padding: 60px;
		width: 100%;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1020px) {
	.large-header-wrapper { background-image: none !important; }
	.large-header { padding: 0px; }
}

.full-booking-wrapper.full-booking-wrapper-3.clearfix .qns-one-half .clearfix span span { width: 100%; }
.booking-form-1 .clearfix:has(textarea) { display: none; }

.GooglePayButton {
	max-width: 152px;
	width: 100%;
	margin: 0 auto;
}

#loginform {
	max-width: 400px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0 5%;
}

.footer-driver-page { padding: 0; }

.main-content-page-driver {
	width: 100%;
	overflow-x: scroll;
}

@media screen and (max-width: 1020px) {
	.main-content-page-driver { margin-top: 40px; }
}

/* END TBA GENERAL COMPONENTS */
/* START TBA DESTINATIONS AND LANGUAGE SWITCHER */
/* destinations (flattened) */
.destinations-countries ul li,
.destinations-cities ul li { text-align: center; }
.destinations-countries ul li a { text-transform: uppercase; font-weight: bold; }
.destinations-countries ul li:before,
.destinations-cities ul li:before { display: none; }

.news-block .large-header { max-width: 690px; }
.news-block .header-booking-form-wrapper { width: 100%; }

body .header-area-2 { overflow: visible; }

@media screen and (max-width: 1020px) {
	.header-area-2 .header-content {
		position: relative;
		min-height: 50px;
		padding: 20px 0;
	}
	body .tr-wrapper { left: -13px; }

	body .header-area-2 .logo {
		/* Center independently of the language switcher and menu widths. */
		position: absolute;
		top: 20px;
		left: 50%;
		float: none;
		margin: 0;
		width: min(150px, calc(100vw - 180px));
		transform: translateX(-50%);
		align-items: center;
	}
}

@media screen and (max-width: 667px) {
	body .tr-wrapper { top: 4px; }

	.header-area-2 .logo {
		height: 50px;
		width: 150px;
	}

}

.header-area-2 .fixed-navigation-show { left: 0; }

.tr-wrapper {
	position: relative;
	left: 20px;
	top: 10px;
	width: 40px;
	height: 40px;
	float: left;
}

.gtranslate_wrapper:after {
	content: '';
	position: absolute;
	width: 20px;
	height: 15px;
	left: 13px;
	top: 13px;
	z-index: 1;
}

.gtranslate_wrapper {
	position: absolute;
	z-index: 10000;
	width: 22px;
	flex-wrap: wrap;
	padding: 6px 13px;
}

.glink {
	display: none;
	flex-basis: 50%;
	padding: 5px 0;
}

.gtranslate_wrapper a.glink img {
	vertical-align: middle;
	display: inline;
	border: 0;
	padding: 0;
	margin: 0;
	opacity: 0.8;
	border: 1px solid #cccccc4f;
	line-height: 0;
	width: 20px;
	height: auto;
}

.tr-wrapper .gtranslate_wrapper a.glink span {
	font-size: 16px;
	margin-left: 4px;
	display: none;
}

.gtranslate_wrapper:hover {
	box-shadow: 0px 3px 6px 2px rgba(0, 0, 0, 0.2);
	width: 160px;
	background-color: rgba(0, 0, 0, 0.8);
	display: flex;
}

.gtranslate_wrapper:active .glink,
.gtranslate_wrapper:hover .glink { display: block; }

.tr-wrapper .gtranslate_wrapper:active a.glink span,
.tr-wrapper .gtranslate_wrapper:hover a.glink span {
	display: inline;
	color: inherit;
}

.gt-current-lang { display: block; }

.vc_mobile .gtranslate_wrapper:active,
.vc_mobile .gtranslate_wrapper:hover { left: 30px; }

.vc_mobile .gtranslate_wrapper:active:after,
.vc_mobile .gtranslate_wrapper:hover:after { left: -17px; }

.header-booking-form-wrapper { height: auto; }

@media (max-width: 767px) {
	.side-by-side-mobile {
		width: 50% !important;
		float: left;
		display: inline-block;
		clear: none !important;
	}
}

.booking-form-1 .iti { margin-bottom: 25px !important; }

textarea[name="additional-info"] { color: #000 !important; }

/* END TBA DESTINATIONS AND LANGUAGE SWITCHER */

/* START TBA TRANSFER CARDS */
/* cards */
.transfer_card {
	position: relative;
	z-index: 1;
	display: block;
	background: #fff;
	border: none;
	border-radius: 0;
	padding: 20px 15px;
	text-align: center;
	text-decoration: none;
	color: inherit;
	transition: all 0.25s ease;
	box-shadow: none;
	cursor: default;
}
.transfer_card:hover {
	z-index: 2;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}
.transfer_card:active {
	transform: none;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15);
}
.transfer_card h4 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 8px;
	color: #222;
}
.transfer_description {
	text-align: center;
	color: #555;
	font-size: 15px;
	line-height: 1.6;
}

/* END TBA TRANSFER CARDS */

/* START TBA ACCESSIBILITY LABELS */
/* PSI: labels */
.visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	white-space: nowrap;
}

/* END TBA ACCESSIBILITY LABELS */

/* START TBA MOBILE MENU BUTTON */
/* burger */
.tm24-burger {
	display: inline-block;
	width: 26px;
	height: 18px;
	position: relative;
	vertical-align: middle;
	color: inherit;
}
.tm24-burger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transition: all 0.25s ease;
}
.tm24-burger span:nth-child(1) { top: 0; }
.tm24-burger span:nth-child(2) { top: 8px; }
.tm24-burger span:nth-child(3) { bottom: 0; }

body:has(.mobile-navigation-wrapper[style*="display: block"]) #mobile-navigation-btn .tm24-burger span:nth-child(1),
body:has(.mobile-navigation-wrapper[style*="display:block"]) #mobile-navigation-btn .tm24-burger span:nth-child(1) {
	transform: rotate(45deg);
	top: 8px;
}
body:has(.mobile-navigation-wrapper[style*="display: block"]) #mobile-navigation-btn .tm24-burger span:nth-child(2),
body:has(.mobile-navigation-wrapper[style*="display:block"]) #mobile-navigation-btn .tm24-burger span:nth-child(2) {
	opacity: 0;
}
body:has(.mobile-navigation-wrapper[style*="display: block"]) #mobile-navigation-btn .tm24-burger span:nth-child(3),
body:has(.mobile-navigation-wrapper[style*="display:block"]) #mobile-navigation-btn .tm24-burger span:nth-child(3) {
	transform: rotate(-45deg);
	bottom: 8px;
}

/* END TBA MOBILE MENU BUTTON */

/* START TBA BOOKING TAB INDICATOR */
/* triangle: move up by 1px */
#booking-tabs ul li.ui-state-active a:after{
	transform: translateY(-1px);
}

/* END TBA BOOKING TAB INDICATOR */

/* START TBA DESTINATION CARDS */
/* new cards */
.tm24-card-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 0 0 10px;
	padding: 0 12px 12px;
}
.tm24-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	text-decoration: none !important;
	color: inherit !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	cursor: pointer;
}
.tm24-card:hover {
	box-shadow: 0 3px 12px rgba(0,0,0,0.10);
	transform: translateY(-2px);
	text-decoration: none !important;
	color: inherit !important;
}
.tm24-card:active {
	transform: none;
	box-shadow: 0 4px 18px rgba(0,0,0,0.15);
}
.tm24-card img {
	width: 100%;
	height: auto;
	display: block;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
.tm24-card-body {
	padding: 16px 12px 20px;
	text-align: center;
}
.tm24-card-body h4 {
	font-size: 17px;
	font-weight: 700;
	color: #222;
	margin: 0 0 10px;
	line-height: 1.3;
}
.tm24-card-body p {
	font-size: 14px;
	color: #555;
	line-height: 1.6;
	margin: 0 !important;
}
@media (max-width: 1024px) {
	.tm24-card-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
  .tm24-card-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* Bordered destination links; opt in without changing image cards. */
.tm24-card-grid--links .tm24-card {
	box-sizing: border-box;
	border: 1px solid var(--tm24-theme-border, #d5e7d2);
	border-radius: 10px;
}

.tm24-card-grid--links .tm24-card:hover {
	border-color: var(--tm24-theme-main, #358c2b);
}

/* END TBA DESTINATION CARDS */

/* Shared hub price tables; colours follow Theme Options. */
.main-content .table-wrapper--routes {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	border: 1px solid var(--tm24-theme-border, #d5e7d2);
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
}

.main-content .table-wrapper--routes > table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}

.main-content .table-wrapper--routes th,
.main-content .table-wrapper--routes td {
	padding: 15px 16px;
	border: 0;
	border-bottom: 1px solid var(--tm24-theme-border, #d5e7d2);
	text-align: left;
	vertical-align: middle;
}

.main-content .table-wrapper--routes thead th {
	color: #fff;
	background: var(--tm24-theme-main, #358c2b);
	font-size: 13px;
	font-weight: 700;
}

.main-content .table-wrapper--routes tbody td {
	color: var(--tm24-theme-alt-text, #242424);
	background: #fff;
	border-right: 1px solid var(--tm24-theme-border, #d5e7d2);
	font-size: 14px;
	line-height: 1.45;
}

.main-content .table-wrapper--routes tbody tr:nth-child(even) td {
	background: var(--tm24-theme-secondary, #f1f7f0);
}

.main-content .table-wrapper--routes tbody tr:last-child td {
	border-bottom: 0;
}

.main-content .table-wrapper--routes th:first-child,
.main-content .table-wrapper--routes td:first-child {
	width: 34%;
}

.main-content .table-wrapper--routes th:nth-child(2),
.main-content .table-wrapper--routes td:nth-child(2) {
	width: 18%;
}

.main-content .table-wrapper--routes th:nth-child(3),
.main-content .table-wrapper--routes td:nth-child(3) {
	width: 22%;
}

.main-content .table-wrapper--routes th:nth-child(4),
.main-content .table-wrapper--routes td:nth-child(4) {
	width: 26%;
}

.main-content .table-wrapper--routes a {
	color: var(--tm24-theme-main, #358c2b);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.main-content .table-wrapper--routes tbody td:last-child,
.main-content .table-wrapper--routes tbody td:last-child strong {
	color: var(--tm24-theme-main, #358c2b);
	font-weight: 700;
	white-space: nowrap;
}

.main-content .table-wrapper--routes tbody td:last-child {
	border-right: 0;
}

.main-content .route-table-note {
	max-width: 760px;
	margin: 13px auto 0;
	color: var(--tm24-theme-alt-text, #242424);
	font-size: 12px;
	line-height: 1.55;
	text-align: center;
}

@media (max-width: 767px) {
	.main-content .table-wrapper--routes {
		max-width: 100%;
	}

	.main-content .table-wrapper--routes > table {
		min-width: 580px;
	}

	.main-content .table-wrapper--routes th,
	.main-content .table-wrapper--routes td {
		padding: 13px 14px;
	}

	.main-content .route-table-note {
		max-width: 100%;
		padding: 0 8px;
		text-align: left;
	}
}
/* Compact hub facts: one frame with internal separators, not route cards. */
.tba-hub-facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--tm24-theme-border, #d5e7d2);
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}

.tba-hub-facts__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding: 19px 16px;
	text-align: center;
	border-right: 1px solid var(--tm24-theme-border, #d5e7d2);
}

.tba-hub-facts__item:last-child {
	border-right: 0;
}

.tba-hub-facts__item strong {
	color: var(--tm24-theme-main, #358c2b);
	font-size: 13px;
	font-weight: 700;
}

.tba-hub-facts__item span {
	color: var(--tm24-theme-alt-text, #242424);
	font-size: 14px;
	line-height: 1.4;
}

@media (max-width: 767px) {
	.tba-hub-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tba-hub-facts__item {
		border-bottom: 1px solid var(--tm24-theme-border, #d5e7d2);
	}

	.tba-hub-facts__item:nth-child(2) {
		border-right: 0;
	}

	.tba-hub-facts__item:nth-child(3),
	.tba-hub-facts__item:nth-child(4) {
		border-bottom: 0;
	}
}

@media (max-width: 420px) {
	.tba-hub-facts {
		grid-template-columns: 1fr;
	}

	.tba-hub-facts__item,
	.tba-hub-facts__item:nth-child(2),
	.tba-hub-facts__item:nth-child(3) {
		border-right: 0;
		border-bottom: 1px solid var(--tm24-theme-border, #d5e7d2);
	}

	.tba-hub-facts__item:last-child {
		border-bottom: 0;
	}
}
/* START TBA LIGHT BOOKING FORM */
/* ===================================
   13-07-2026 - LIGHT BOOKING FORM
   ================================ */

.header-booking-form-wrapper,
.header-booking-form-wrapper #booking-tabs,
.header-booking-form-wrapper #booking-tabs > div,
.header-booking-form-wrapper #booking-tabs .ui-tabs-panel,
.header-booking-form-wrapper form,
.header-booking-form-wrapper .booking-form-1 {
	background-color: #f3faf4;
	color: #17212b;
}

/* Booking card */
.header-booking-form-wrapper #booking-tabs {
	border: 1px solid #d8ead9;
	border-radius: 18px;
	box-shadow: 0 14px 32px rgba(34, 92, 42, 0.15);
	overflow: hidden;
}

/* Inner form container */
.header-booking-form-wrapper .booking-form-1 {
	padding: 30px;
}

/* Labels */
.header-booking-form-wrapper .booking-form-1 label,
.header-booking-form-wrapper .booking-form-1 p {
	color: #17212b;
}

/* Typed fields match the theme specificity. Color still protects against the
   separate legacy input/select color override; remove that override first. */
/* Border states preserve the existing address-validation priority. */
/* Fields: default state */
.header-booking-form-wrapper .booking-form-1 input[type],
.header-booking-form-wrapper .booking-form-1 textarea,
.header-booking-form-wrapper .booking-form-1 .select-wrapper {
	background-color: #f8fcf8;
	border: 1px solid #b9d8bb !important;
	color: #17212b !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

/* Hover state */
.header-booking-form-wrapper .booking-form-1 input[type]:hover,
.header-booking-form-wrapper .booking-form-1 textarea:hover,
.header-booking-form-wrapper .booking-form-1 .select-wrapper:hover {
	border-color: #4b9b50 !important;
}

/* Focused field */
.header-booking-form-wrapper .booking-form-1 input[type]:focus,
.header-booking-form-wrapper .booking-form-1 textarea:focus,
.header-booking-form-wrapper .booking-form-1 .select-wrapper:focus-within {
	background-color: #fff;
	border-color: #4b9b50 !important;
	box-shadow: 0 0 0 3px rgba(75, 155, 80, 0.16) !important;
	outline: none;
}

/* Keep the select transparent inside its white wrapper */
.header-booking-form-wrapper .booking-form-1 select {
	background-color: transparent;
	color: #17212b !important;
}

/* Supporting containers */
.header-booking-form-wrapper .booking-form-1 .clearfix,
.header-booking-form-wrapper .booking-form-1 .qns-one-half,
.header-booking-form-wrapper .booking-form-1 .qns-one-third,
.header-booking-form-wrapper .booking-form-1 .qns-two-thirds {
	background-color: transparent;
}

/* Rounded form fields */
.header-booking-form-wrapper .booking-form-1 input[type="text"],
.header-booking-form-wrapper .booking-form-1 input[type="email"],
.header-booking-form-wrapper .booking-form-1 input[type="tel"],
.header-booking-form-wrapper .booking-form-1 input[type="number"],
.header-booking-form-wrapper .booking-form-1 textarea,
.header-booking-form-wrapper .booking-form-1 .select-wrapper {
	border-radius: 10px;
}

/* Remove inner borders from dropdown fields; border/radius are set above. */
.header-booking-form-wrapper .booking-form-1 .select-wrapper {
	overflow: hidden;
	background: #f8fcf8;
	box-shadow: none;
}

.header-booking-form-wrapper .booking-form-1 .select-wrapper select[name] {
	border: 0;
	outline: 0;
	box-shadow: none;
	background: transparent;
	border-radius: 10px;
}

/* Remove the line between the FAST AND FLEXIBLE header and form */
.header-booking-form-wrapper #booking-tabs > ul,
.header-booking-form-wrapper #booking-tabs > ul li,
.header-booking-form-wrapper #booking-tabs > ul li a,
.header-booking-form-wrapper #booking-tabs > div,
.header-booking-form-wrapper #booking-tabs .ui-tabs-panel {
	border-top: 0;
	border-bottom: 0;
	box-shadow: none;
}

/* Remove light edges around the rounded card */
.header-booking-form-wrapper {
	background: transparent;
	background-color: transparent;
	box-shadow: none;
	border: 0;
}

/* Rounded content images */
.main-content img,
.content-wrapper img,
.news-content-wrapper img,
.wpb_content_element img {
	border-radius: 14px;
}

/* Keep logos, flags and icons square */
.logo img,
.header-area-2 .logo img,
.gtranslate_wrapper img,
.contact-details-list img,
.footer-wiget-socials img,
.wp-google-logo,
.iti img {
	border-radius: 0;
}

/* Exclude the WhatsApp icon from global image rounding */
.qns-wu-link img {
	border-radius: 10px;
}

/* Rounded CHECK PRICE and FAST ORDER buttons */
body .booking-form-1 button:is(.bookingbutton1, .bookingbutton2),
body .qns-wu-link {
	border-radius: 14px;
	overflow: hidden;
}

/* Match TransferMe24's soft sheen while retaining the palette's base green. */
:is(.header-booking-form-wrapper, .widget-booking-form-wrapper) #booking-tabs > ul > li.ui-state-active > a {
    background-image: linear-gradient(135deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.12) 55%, rgba(0,0,0,.12) 100%);
}

/* END TBA LIGHT BOOKING FORM */

/* START TBA DROPDOWN MENU AND RESPONSIVE FORM SPACING */
/* =========================================================
   DROPDOWN MENU
   ========================================================= */

.header-area-2 .navigation ul ul {
	padding: 8px !important;
	background: #fff !important;
	border: 1px solid #e3ebf3 !important;
	border-radius: 14px !important;
	overflow: visible !important;
	box-shadow: 0 12px 30px rgba(30, 70, 35, 0.15) !important;
}

/* Menu items */
.header-area-2 .navigation ul ul li {
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* Links */
.header-area-2 .navigation ul ul li a {
	display: block !important;
	padding: 12px 16px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: #606a73 !important;
	line-height: 1.35 !important;
	transition:
		background-color 0.18s ease,
		color 0.18s ease !important;
}

/* Hovered and active menu items */
.header-area-2 .navigation ul ul li a:hover,
.header-area-2 .navigation ul ul li.current-menu-item > a,
.header-area-2 .navigation ul ul li.current_page_item > a {
	background: #3f9144 !important;
	color: #fff !important;
}

/* Reset individual corners on the first and last menu items */
.header-area-2 .navigation ul ul li:first-child a,
.header-area-2 .navigation ul ul li:last-child a {
	border-radius: 8px !important;
}

/* Booking card spacing on phones and tablets */

/* Phones */
@media screen and (max-width: 667px) {
	.header-booking-form-wrapper {
		width: calc(100% - 32px) !important;
		max-width: none !important;
		height: auto !important;
		margin: 24px auto 0 !important;
		float: none !important;
		box-sizing: border-box !important;
	}

	.header-booking-form-wrapper #booking-tabs {
		width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* Tablets */
@media screen and (min-width: 668px) and (max-width: 1020px) {
	.header-booking-form-wrapper {
		width: calc(100% - 96px) !important;
		max-width: none !important;
		height: auto !important;
		margin: 36px auto 0 !important;
		float: none !important;
		box-sizing: border-box !important;
	}

	.header-booking-form-wrapper #booking-tabs {
		width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* Keep the booking card shadow visible */
@media screen and (max-width: 1020px) {
	.header-booking-form-wrapper {
		overflow: visible !important;
	}

	.header-booking-form-wrapper #booking-tabs {
		overflow: hidden !important;
		box-shadow: 0 14px 32px rgba(34, 92, 42, 0.15) !important;
	}
}

/* Phone background and shadow transition */
@media screen and (max-width: 667px) {

	.large-header-wrapper,
	.large-header {
		background-color: #fff !important;
	}

	.large-header-wrapper {
		position: relative !important;
		z-index: 2 !important;
		overflow: visible !important;
		padding-bottom: 20px !important;
	}

	.large-header,
	.header-booking-form-wrapper {
		position: relative !important;
		overflow: visible !important;
	}

	.header-booking-form-wrapper {
		z-index: 2 !important;
	}

	.header-booking-form-wrapper #booking-tabs {
		box-shadow: 0 14px 32px rgba(34, 92, 42, 0.15) !important;
	}

	.large-header-wrapper + * {
		position: relative !important;
		z-index: 1 !important;
		background-color: #fff !important;
	}
}

/* Tablet background and shadow transition */
@media screen and (min-width: 668px) and (max-width: 1020px) {

	/* Match the background around the form to the white section below */
	.large-header-wrapper,
	.large-header {
		background-color: #fff !important;
	}

	/* Leave space for the shadow to fade out */
	.large-header-wrapper {
		position: relative !important;
		z-index: 2 !important;
		overflow: visible !important;
		padding-bottom: 24px !important;
	}

	.large-header,
	.header-booking-form-wrapper {
		position: relative !important;
		overflow: visible !important;
	}

	.header-booking-form-wrapper {
		z-index: 2 !important;
	}

	/* Preserve the card shadow */
	.header-booking-form-wrapper #booking-tabs {
		box-shadow: 0 14px 32px rgba(34, 92, 42, 0.15) !important;
	}

	/* Prevent the next section from covering the shadow */
	.large-header-wrapper + * {
		position: relative !important;
		z-index: 1 !important;
		background-color: #fff !important;
	}
}

/* END TBA DROPDOWN MENU AND RESPONSIVE FORM SPACING */


/* Keep the review badges equally close to either trip type on mobile. */
@media (max-width: 1020px) {
    .large-header { height: auto; }
    .header-style-3 .large-header-wrapper { margin-bottom: 40px; }
}

/* Keep arrows white for an active top-level dropdown parent. */
.header-area-2 .navigation > ul > li.menu-item-has-children:is(:hover, .current-menu-item, .current_page_item, .current-menu-ancestor) > a::after {
    color: #fff;
}
/* START TBA BOOKING PAGE FORM */
/* =========================================================
   LIGHT FORM ON THE BOOKING PAGE
   ========================================================= */

/* Reset the legacy important background-position/repeat on this wrapper. */
/* Outer form container */
.widget-booking-form-wrapper {
	background: transparent !important;
	border: 0;
	box-shadow: none;
}

/* Form card */
.widget-booking-form-wrapper #booking-tabs {
	background: #f3faf4;
	border: 1px solid #d8ead9;
	border-radius: 18px;
	box-shadow: 0 14px 32px rgba(34, 92, 42, 0.15);
	overflow: hidden;
	color: #17212b;
}

/* Inner form */
.widget-booking-form-wrapper #booking-tabs > div,
.widget-booking-form-wrapper #booking-tabs .ui-tabs-panel,
.widget-booking-form-wrapper .booking-form-1 {
	background: #f3faf4;
	color: #17212b;
}

/* Pick Up Time label */
.widget-booking-form-wrapper .booking-form-1 label,
.widget-booking-form-wrapper .booking-form-1 p {
	font-size: 16px;
	color: #17212b;
}

/* Typed fields match the theme specificity. Color still protects against the
   separate legacy input/select color override; remove that override first. */
/* Border states preserve the existing address-validation priority. */
/* Fields: default state */
.widget-booking-form-wrapper .booking-form-1 input[type],
.widget-booking-form-wrapper .booking-form-1 textarea,
.widget-booking-form-wrapper .booking-form-1 .select-wrapper {
	background-color: #f8fcf8;
	border: 1px solid #b9d8bb !important;
	color: #17212b !important;
	border-radius: 10px;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

/* Hover state */
.widget-booking-form-wrapper .booking-form-1 input[type]:hover,
.widget-booking-form-wrapper .booking-form-1 textarea:hover,
.widget-booking-form-wrapper .booking-form-1 .select-wrapper:hover {
	border-color: #4b9b50 !important;
}

/* Preserve the existing wrapper focus color over tba-booking.css. */
/* Focused field */
.widget-booking-form-wrapper .booking-form-1 input[type]:focus,
.widget-booking-form-wrapper .booking-form-1 textarea:focus,
.widget-booking-form-wrapper .booking-form-1 .select-wrapper:focus-within {
	background-color: #fff;
	border-color: #4b9b50 !important;
	box-shadow: 0 0 0 3px rgba(75, 155, 80, 0.16);
	outline: none;
}

/* Inner select element */
.widget-booking-form-wrapper .booking-form-1 select[name] {
	background: transparent;
	color: #17212b !important;
	border: 0;
	outline: 0;
	box-shadow: none;
}

/* Transparent supporting containers */
.widget-booking-form-wrapper .booking-form-1 .clearfix,
.widget-booking-form-wrapper .booking-form-1 .qns-one-half,
.widget-booking-form-wrapper .booking-form-1 .qns-one-third,
.widget-booking-form-wrapper .booking-form-1 .qns-two-thirds {
	background: transparent;
}

/* END TBA BOOKING PAGE FORM */

/* START TBA BOOKING STEP CARD SHAPES */
/* =========================================================
   ROUNDED CORNERS THROUGHOUT THE BOOKING STEPS
   ========================================================= */

/* Vehicle card */
.vehicle-section {
	border: 2px solid #dfe7ee !important;
	outline: 0 !important;
	background: #fff !important;
	border-radius: 14px !important;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease !important;
}

/* Hover state */
.vehicle-section:hover {
	border-color: #2f7d32 !important;
	background: #f8fcf8 !important;
	box-shadow: 0 8px 22px rgba(34, 92, 42, 0.11) !important;
	transform: translateY(-2px);
}

/* Selected vehicle */
.vehicle-section.selected-vehicle,
.vehicle-section.vehicle-selected,
.vehicle-section.selected,
.vehicle-section.active,
.vehicle-section.ui-state-active,
.vehicle-section[aria-selected="true"],
.vehicle-section:has(input[type="radio"]:checked),
.vehicle-section:has(input[type="checkbox"]:checked) {
	border-color: #27ae60 !important;
	background: #f2fbf6 !important;
	box-shadow:
		0 0 0 3px rgba(39, 174, 96, 0.14),
		0 8px 22px rgba(20, 90, 55, 0.12) !important;
	transform: none !important;
}

/* Main Trip Details panel */
.trip-details-wrapper {
	border-radius: 18px !important;
	overflow: hidden !important;
	box-shadow: 0 14px 32px rgba(30, 70, 35, 0.13) !important;
}

/* Inner date, time and map card */
/* Date-card styling is defined in the booking colors section above. */

/* Fields inside Trip Details */
.trip-details-wrapper input:not(.iti__search-input),
.trip-details-wrapper select,
.trip-details-wrapper textarea,
.trip-details-wrapper .select-wrapper {
	border-radius: 10px !important;
}

/* END TBA BOOKING STEP CARD SHAPES */

/* Desktop navigation is owned by tba-header.css. */

/* START TBA PAGE HEADER BACKGROUND */
/* TBA diagonal background lines */
#page-header {
	background:
		repeating-linear-gradient(
			135deg,
			transparent 0 28px,
			rgba(47, 125, 50, 0.055) 28px 30px,
			transparent 30px 58px
		),
		linear-gradient(
			135deg,
			#f9fcf9 0%,
			#eef8ef 55%,
			#dfeee0 100%
		);
}

/* Fade the page header background to white at the bottom */
#page-header {
	position: relative;
	overflow: hidden;
}

#page-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 90px;
	pointer-events: none;
	z-index: 1;

	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.55) 55%,
		#fff 100%
	);
}

/* Keep the title and breadcrumbs above the gradient */
#page-header .page-header-inner,
#page-header .page-header-content,
#page-header h1,
#page-header .breadcrumbs {
	position: relative;
	z-index: 2;
}

/* END TBA PAGE HEADER BACKGROUND */

/* START TBA DESKTOP HERO FADE */
/* Fade the header background image to white on desktop */
@media screen and (min-width: 1021px) {
	/* Leave room for the booking card shadow before the hero clips it. */
	.large-header { padding-bottom: 64px; }

	.large-header-wrapper {
		position: relative !important;
		overflow: hidden !important;
	}

	.large-header-wrapper::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 160px;
		z-index: 1;
		pointer-events: none;
		background: linear-gradient(
			to bottom,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.45) 45%,
			#fff 100%
		);
	}

	.large-header,
	.header-booking-form-wrapper {
		position: relative !important;
		z-index: 2 !important;
	}
}

/* END TBA DESKTOP HERO FADE */

/* START TBA BLOG CARDS AND BUTTONS */
/* Travel Blog: rounded cards */
.vc_grid .vc_grid-item .vc_grid-item-mini,
.news-block-wrapper .news-block {
	background: #fff !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 16px rgba(34, 92, 42, 0.08) !important;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease !important;
}

/* Round the card images */
.vc_grid .vc_grid-item img,
.news-block-wrapper .news-block img {
	display: block;
	width: 100%;
	border-radius: 14px !important;
}

.vc_btn3-container .vc_btn3,
.vc_btn3-container .vc_btn3:visited {
	background-color: var(--tba-main-color) !important;
	border-color: var(--tba-main-color) !important;
	color: #fff !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease !important;
}

.vc_btn3-container .vc_btn3:hover,
.vc_btn3-container .vc_btn3:focus,
.vc_btn3-container .vc_btn3:active {
	background-color: var(--tba-main-color-hover) !important;
	border-color: var(--tba-main-color-hover) !important;
	color: #fff !important;
	box-shadow: 0 6px 16px rgba(75, 155, 80, 0.22) !important;
	transform: translateY(-1px);
}

/* END TBA BLOG CARDS AND BUTTONS */

/* START TBA CONTACT SECTION */
/* =========================
   TBA CONTACTS - REMOVE WPBAKERY OUTER FRAME
   ====================== */

/* WPBakery row containing the [contacts] shortcode */
.vc_row:has(.tba-contact-section),
.vc_row:has(.tba-contact-section) > .vc_column_container,
.vc_column_container:has(.tba-contact-section),
.vc_column-inner:has(.tba-contact-section),
.wpb_wrapper:has(.tba-contact-section),
.wpb_content_element:has(.tba-contact-section),
.wpb_text_column:has(.tba-contact-section) {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* Remove the default bottom spacing of WPBakery text blocks */
.wpb_content_element:has(.tba-contact-section),
.wpb_text_column:has(.tba-contact-section) {
	margin-bottom: 0 !important;
}

/* Make the contact section span the viewport width */
.tba-contact-section {
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 calc(50% - 50vw) !important;
	border: 0 !important;
}

/* END TBA CONTACT SECTION */

/* START TBA WHATSAPP ORDER BUTTON */
/* =========================
   FAST ORDER - WhatsApp background button
   ====================== */

.qns-buttons-wrapper .qns-wu-link.tm24-wa-order {
	position: relative;
	isolation: isolate;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 204px;
	min-width: 204px;
	max-width: 204px;

	height: 49px;
	min-height: 49px;
	max-height: 49px;

	margin: 25px auto 0;
	padding: 0;

	float: none;
	clear: both;

	overflow: hidden;
	box-sizing: border-box;

	background:
		linear-gradient(
			135deg,
			#42b94f 0%,
			#35ad45 55%,
			#2d963c 100%
		);

	border: 0;
	border-radius: 14px;

	color: #fff;
	text-align: center;
	text-decoration: none;
	line-height: normal;

	box-shadow:
		0 6px 14px rgba(28, 130, 52, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.16);

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		filter 0.2s ease;
}

/* Stretched WhatsApp icon in the background */
.qns-buttons-wrapper .qns-wu-link.tm24-wa-order::before {
	content: "";

	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 0;

	width: 88px;
	height: 88px;

	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M16.01 3C8.84 3 3 8.69 3 15.68c0 2.47.74 4.88 2.15 6.93L3 29l6.61-2.11A13.2 13.2 0 0 0 16.01 28C23.17 28 29 22.31 29 15.32S23.17 3 16.01 3Zm0 22.83c-1.95 0-3.86-.51-5.53-1.48l-.4-.23-3.92 1.25 1.28-3.72-.26-.41a10.2 10.2 0 0 1-1.65-5.56c0-5.76 4.7-10.45 10.48-10.45 5.77 0 10.47 4.69 10.47 10.45 0 5.77-4.7 10.15-10.47 10.15Zm5.75-7.61c-.32-.16-1.87-.92-2.16-1.03-.29-.1-.5-.16-.71.16-.21.31-.81 1.03-1 1.24-.18.21-.37.24-.68.08-.32-.16-1.33-.49-2.53-1.56-.94-.83-1.57-1.86-1.75-2.18-.19-.32-.02-.49.14-.65.14-.14.31-.37.47-.55.16-.18.21-.31.31-.52.11-.21.06-.39-.02-.55-.08-.16-.71-1.71-.97-2.34-.26-.62-.52-.54-.71-.55h-.61c-.21 0-.55.08-.84.39-.29.32-1.1 1.08-1.1 2.63s1.13 3.05 1.29 3.26c.16.21 2.22 3.39 5.38 4.75.75.32 1.34.52 1.79.66.75.24 1.44.21 1.98.13.6-.09 1.87-.76 2.13-1.5.26-.74.26-1.37.18-1.5-.08-.13-.29-.21-.6-.37Z'/%3E%3C/svg%3E")
		center / contain no-repeat;

	opacity: 0.11;

	transform:
		translate(-50%, -50%)
		rotate(15deg)
		scaleX(2.25);

	pointer-events: none;
}

/* Subtle highlight overlay */
.qns-buttons-wrapper .qns-wu-link.tm24-wa-order::after {
	content: "";

	position: absolute;
	inset: 0;
	z-index: 1;

	background:
		linear-gradient(
			110deg,
			rgba(255, 255, 255, 0.08) 0%,
			transparent 38%,
			transparent 68%,
			rgba(255, 255, 255, 0.04) 100%
		);

	pointer-events: none;
}

/* Text */
.qns-buttons-wrapper .tm24-wa-order__label {
	position: relative;
	z-index: 2;

	display: block;

	margin: 0;
	padding: 0;

	color: #fff;

	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;

	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

/* Hover state */
.qns-buttons-wrapper .qns-wu-link.tm24-wa-order:hover {
	color: #fff;

	transform: translateY(-1px);
	filter: brightness(1.03);

	box-shadow:
		0 9px 18px rgba(28, 130, 52, 0.19),
		inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

/* Pressed state */
.qns-buttons-wrapper .qns-wu-link.tm24-wa-order:active {
	transform: translateY(0) scale(0.99);
}

/* Keyboard focus */
.qns-buttons-wrapper .qns-wu-link.tm24-wa-order:focus-visible {
	outline: 3px solid rgba(37, 211, 102, 0.28);
	outline-offset: 4px;
}



/* END TBA WHATSAPP ORDER BUTTON */

/* START TBA CALCULATE RIDE BUTTON */
/* =========================================================
   CALCULATE RIDE - MODERN BLUE BUTTON
   Home page and /booking/
   ========================================================= */

/* Base button styles */
.header-booking-form-wrapper button.bookingbutton1,
.header-booking-form-wrapper button.bookingbutton2,
.widget-booking-form-wrapper button.bookingbutton1,
.widget-booking-form-wrapper button.bookingbutton2 {
	position: relative;
	isolation: isolate;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 204px;
	min-width: 204px;
	max-width: 204px;

	height: 49px;
	min-height: 49px;
	max-height: 49px;

	margin: 0 auto;
	padding: 0;

	float: none;

	overflow: hidden;
	box-sizing: border-box;

	background:
		linear-gradient(
			135deg,
			#4c8bd4 0%,
			#397bc7 55%,
			#2f68ad 100%
		);

	border: 0;
	border-radius: 14px;

	color: #fff;
	text-align: center;
	text-decoration: none;
	line-height: normal;

	box-shadow:
		0 6px 14px rgba(47, 104, 173, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.18);

	cursor: pointer;

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		filter 0.2s ease;
}

/* Soft blue decorative background */
.header-booking-form-wrapper button.bookingbutton1::before,
.header-booking-form-wrapper button.bookingbutton2::before,
.widget-booking-form-wrapper button.bookingbutton1::before,
.widget-booking-form-wrapper button.bookingbutton2::before {
	content: "";

	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 0;

	width: 88px;
	height: 88px;

	border: 15px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;

	transform:
		translate(-50%, -50%)
		scaleX(2.15)
		rotate(-12deg);

	pointer-events: none;
}

/* Subtle highlight overlay */
.header-booking-form-wrapper button.bookingbutton1::after,
.header-booking-form-wrapper button.bookingbutton2::after,
.widget-booking-form-wrapper button.bookingbutton1::after,
.widget-booking-form-wrapper button.bookingbutton2::after {
	content: "";

	position: absolute;
	inset: 0;
	z-index: 1;

	background:
		linear-gradient(
			110deg,
			rgba(255, 255, 255, 0.10) 0%,
			transparent 38%,
			transparent 68%,
			rgba(255, 255, 255, 0.04) 100%
		);

	pointer-events: none;
}

/* Button text */
.header-booking-form-wrapper button.bookingbutton1 span,
.header-booking-form-wrapper button.bookingbutton2 span,
.widget-booking-form-wrapper button.bookingbutton1 span,
.widget-booking-form-wrapper button.bookingbutton2 span {
	position: relative;
	z-index: 2;

	display: block;

	margin: 0;
	padding: 0;

	color: #fff;

	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;

	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

/* Hover state */
.header-booking-form-wrapper button.bookingbutton1:hover,
.header-booking-form-wrapper button.bookingbutton2:hover,
.widget-booking-form-wrapper button.bookingbutton1:hover,
.widget-booking-form-wrapper button.bookingbutton2:hover {
	color: #fff;

	transform: translateY(-1px);
	filter: brightness(1.04);

	box-shadow:
		0 9px 18px rgba(47, 104, 173, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.20);
}

/* Pressed state */
.header-booking-form-wrapper button.bookingbutton1:active,
.header-booking-form-wrapper button.bookingbutton2:active,
.widget-booking-form-wrapper button.bookingbutton1:active,
.widget-booking-form-wrapper button.bookingbutton2:active {
	transform: translateY(0) scale(0.99);
}

/* Keyboard focus */
.header-booking-form-wrapper button.bookingbutton1:focus-visible,
.header-booking-form-wrapper button.bookingbutton2:focus-visible,
.widget-booking-form-wrapper button.bookingbutton1:focus-visible,
.widget-booking-form-wrapper button.bookingbutton2:focus-visible {
	outline: 3px solid rgba(76, 139, 212, 0.30);
	outline-offset: 4px;
}


/* Match TransferMe24: retain the oval decoration, without shine layers or motion. */
:is(.header-booking-form-wrapper, .widget-booking-form-wrapper) button:is(.bookingbutton1, .bookingbutton2)::before,
:is(.header-booking-form-wrapper, .widget-booking-form-wrapper) button:is(.bookingbutton1, .bookingbutton2)::after {
    animation: none;
    background: none;
}

:is(.header-booking-form-wrapper, .widget-booking-form-wrapper) button:is(.bookingbutton1, .bookingbutton2)::before {
    transform: translate(-50%, -50%) scaleX(2.15);
}
/* END TBA CALCULATE RIDE BUTTON */

/* START TBA BENEFITS AND TRUSTINDEX ROW */
/* ---------- BOOKING PROCESS + TRUSTINDEX ROW ---------- */

.tba-benefits-section {
	position: relative;
	margin: 38px 0 48px;
}

.tba-benefits-section > .vc_column_container,
.tba-benefits-section > .vc_column_container > .vc_column-inner {
	display: flex;
}

.tba-benefits-section > .vc_column_container > .vc_column-inner,
.tba-benefits-section .wpb_wrapper {
	width: 100%;
}

.tba-benefits-card {
	position: relative;
	width: 100%;
	padding: 38px 40px;
	overflow: hidden;
	background: linear-gradient(
		135deg,
		rgba(247, 252, 248, 0.98) 0%,
		#ffffff 70%
	);
	border: 1px solid #d9eadc;
	border-radius: 20px;
	box-shadow: 0 16px 38px rgba(28, 91, 49, 0.09);
	box-sizing: border-box;
}

.tba-benefits-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: 100%;
	background: linear-gradient(180deg, #237a3b 0%, #5aa967 100%);
}

.tba-benefits-card::after {
	content: "";
	position: absolute;
	top: -75px;
	right: -75px;
	width: 190px;
	height: 190px;
	background: rgba(55, 142, 77, 0.06);
	border-radius: 50%;
	pointer-events: none;
}

.tba-benefits-card__eyebrow {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	margin-bottom: 13px;
	padding: 7px 12px;
	background: #eaf5ec;
	border: 1px solid #d1e7d5;
	border-radius: 999px;
	color: #28733c;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.tba-benefits-card__title {
	position: relative;
	z-index: 1;
	max-width: 620px;
	color: #17231b;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.2;
	text-align: left;
}

.tba-benefits-card__intro {
	position: relative;
	z-index: 1;
	max-width: 680px;
	color: #58635b;
	font-size: 16px;
	line-height: 1.65;
}

/* Isolate spacing from the theme heading/paragraph rules without changing typography. */
.tba-benefits-card .tba-benefits-card__title {
	margin: 0 0 13px;
}

.tba-benefits-card .tba-benefits-card__intro {
	margin: 0 0 28px;
}

.tba-benefits-list {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 12px;
}

.tba-benefits-item {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: flex-start;
	gap: 13px;
	padding: 14px 16px;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid #e0ebe2;
	border-radius: 13px;
	box-shadow: 0 5px 14px rgba(28, 75, 42, 0.04);
	box-sizing: border-box;
	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.tba-benefits-item:hover {
	transform: translateY(-2px);
	border-color: #bfd8c4;
	box-shadow: 0 9px 20px rgba(28, 75, 42, 0.08);
}

.tba-benefits-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: 1px;
	background: #e7f4e9;
	border-radius: 10px;
	color: #24783a;
	font-size: 17px;
	font-weight: 800;
	line-height: 1;
}

.tba-benefits-item strong {
	display: block;
	margin: 0 0 3px;
	color: #18271d;
	font-size: 16px;
	line-height: 1.35;
}

.tba-benefits-item span:not(.tba-benefits-item__icon) {
	display: block;
	color: #5a655d;
	font-size: 14px;
	line-height: 1.55;
}

.tba-benefits-section .vc_column-inner {
	box-sizing: border-box;
}

.tba-benefits-section .wpb_content_element {
	margin-bottom: 0;
}

/* END TBA BENEFITS AND TRUSTINDEX ROW */

/* Plain HTML content actions, matching TransferMe24 without the retired [button]. */
.wpb_raw_code.content-cta-block { margin: 0; }
.content-cta { display: flex; justify-content: center; width: 100%; margin: 0; }
.main-content .content-cta-link,
.main-content .content-cta-link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 236px;
    max-width: 100%;
    padding: 10px 18px;
    border: 0;
    border-radius: 14px;
    background-color: var(--tm24-theme-content-action, #358c2b);
    background-image: linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.12) 55%, rgba(0,0,0,.12));
    color: #fff;
    box-shadow: 0 6px 14px rgba(53,140,43,.18), inset 0 1px 0 rgba(255,255,255,.18);
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.main-content .content-cta-link:is(:hover, :focus-visible) {
    background-color: var(--tm24-theme-action-hover, #287322);
    color: #fff;
    transform: translateY(-1px);
}
.main-content .content-cta-link:focus-visible {
    outline: 2px solid var(--tm24-theme-action-hover, #287322);
    outline-offset: 4px;
}
.main-content .content-cta-link:active { transform: translateY(0) scale(.99); }
@media (prefers-reduced-motion: reduce) {
    .main-content .content-cta-link { transition: none; }
}
