/*
 * Shared product-detail shell for tours, travel plans, hotels and transfers.
 * Loaded last so the service hierarchy stays consistent across legacy TTBM skins.
 */
.esp-service-detail .esp-tour-heading__eyebrow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px 12px;
	margin: 0 0 10px;
}

.esp-service-detail .esp-tour-heading__eyebrow span {
	display: inline-flex;
	min-height: 27px;
	align-items: center;
	padding: 5px 10px;
	border-radius: 999px;
	background: #e7f1e9;
	color: var(--forest-deep);
	font-size: .65rem;
	font-weight: 850;
	letter-spacing: .075em;
	line-height: 1;
	text-transform: uppercase;
}

.esp-service-detail .esp-tour-heading__eyebrow strong {
	color: var(--orange-dark);
	font-size: .69rem;
	font-weight: 800;
	letter-spacing: .075em;
	line-height: 1.3;
	text-transform: uppercase;
}

.esp-service-detail .esp-tour-layout {
	display: grid;
	grid-template-areas:
		"summary booking"
		"content booking";
	grid-template-columns: minmax(0, 1fr) minmax(400px, 440px);
	align-items: start;
	column-gap: clamp(48px, 4.5vw, 72px);
	row-gap: 38px;
}

.esp-service-detail .esp-tour-main {
	grid-area: summary;
	min-width: 0;
}

.esp-service-detail .esp-tour-aside {
	grid-area: booking;
	min-width: 0;
}

.esp-service-detail .esp-tour-content {
	grid-area: content;
	width: 100%;
	min-width: 0;
	margin: 0;
	scroll-margin-top: 110px;
}

.esp-service-detail .esp-tour-overview {
	padding: clamp(25px, 3vw, 34px);
	border: 1px solid #dce3dd;
	border-radius: 18px;
	background: linear-gradient(135deg, #f7faf7 0%, #fffaf4 100%);
	box-shadow: 0 12px 32px rgba(31, 61, 47, .06);
}

.esp-service-detail .esp-tour-overview h2 {
	margin-bottom: 13px;
	font-size: clamp(1.7rem, 2.4vw, 2.15rem);
}

#ttbm_content .esp-service-detail .esp-tour-overview__summary {
	max-width: 820px;
	color: #343b36;
	font-size: 1rem;
	line-height: 1.65;
}

.esp-service-detail .esp-tour-overview__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
	gap: 1px;
	overflow: hidden;
	margin-top: 24px !important;
	border: 1px solid #dce2dd;
	border-radius: 12px;
	background: #dce2dd;
}

.esp-service-detail .esp-tour-overview__facts li {
	min-height: 76px;
	padding: 13px 15px;
	border: 0;
	background: rgba(255, 255, 255, .94);
}

.esp-service-detail .esp-tour-overview__facts small {
	font-size: .68rem;
	font-weight: 750;
}

.esp-service-detail .esp-tour-overview__facts strong {
	font-size: .88rem;
	line-height: 1.35;
}

.esp-service-detail .esp-tour-booking {
	border-color: #d4dcd5;
	border-top-color: var(--orange);
	border-top-width: 4px;
	border-radius: 12px;
	box-shadow: 0 14px 38px rgba(27, 52, 40, .1) !important;
}

.esp-service-detail .esp-booking-header { margin-bottom: 16px; }
.esp-service-detail .esp-booking-header .section-kicker { margin-bottom: 4px; font-size: .61rem; }
.esp-service-detail .esp-booking-header h2 { margin: 0 0 11px; font-size: 1.45rem; line-height: 1.08; }
.esp-service-detail .esp-booking-deposit {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: 'label price' 'note price';
	align-items: center;
	gap: 2px 14px;
	padding: 11px 12px;
	border-left: 3px solid var(--orange);
	background: #fff2e8;
}
.esp-service-detail .esp-booking-deposit > span { grid-area: label; color: var(--orange-dark); font-size: .69rem; font-weight: 820; }
.esp-service-detail .esp-booking-deposit > strong { grid-area: price; color: var(--orange-dark); font-family: var(--sans); font-size: 1.55rem; font-weight: 900; white-space: nowrap; }
.esp-service-detail .esp-booking-deposit > small { grid-area: note; color: #6c625b; font-size: .6rem; font-weight: 650; }
.esp-service-detail .esp-booking-breakdown {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding: 10px 1px 8px;
	border-bottom: 1px solid #e3e6e3;
}
.esp-service-detail .esp-booking-breakdown > div { display: grid; min-width: 0; gap: 2px; }
.esp-service-detail .esp-booking-breakdown > div:last-child { text-align: right; }
.esp-service-detail .esp-booking-breakdown span { color: #747a75; font-size: .58rem; font-weight: 750; }
.esp-service-detail .esp-booking-breakdown strong { color: #252b27; font-family: var(--sans); font-size: .82rem; font-weight: 850; white-space: nowrap; }
.esp-service-detail .esp-booking-breakdown .esp-price-pair { display: inline-flex; align-items: flex-end; flex-direction: column; gap: 0; }
.esp-service-detail .esp-booking-breakdown del { color: #818680; font-size: .7em; }
.esp-service-detail .esp-booking-breakdown ins { text-decoration: none; }
.esp-service-detail .esp-tour-booking.esp-booking-has-options .esp-booking-deposit { display: none; }
.esp-service-detail .esp-tour-booking.esp-booking-has-options .esp-booking-header { margin-bottom: 11px; }
.esp-service-detail .esp-tour-booking.esp-booking-has-options .esp-booking-header h2 { margin-bottom: 7px; font-size: 1.2rem; }
.esp-service-detail .esp-tour-booking.esp-booking-has-options .esp-booking-breakdown { padding-top: 5px; }

body.single-ttbm_tour.esp-booking-in-view .whatsapp-link {
	opacity: 0;
	pointer-events: none;
	transform: translateY(12px);
}

body.single-ttbm_tour #ui-datepicker-div.ui-datepicker {
	width: 320px !important;
	max-width: calc(100vw - 24px) !important;
	padding: 12px !important;
	border: 1px solid #ccd4ce !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: #242a26 !important;
	opacity: 1 !important;
	z-index: 100000 !important;
	box-shadow: 0 18px 44px rgba(22, 38, 29, .24) !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-header {
	position: relative !important;
	display: block !important;
	min-height: 44px !important;
	padding: 6px 42px !important;
	margin: 0 0 8px !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: #244638 !important;
	color: #fff !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-title {
	display: flex !important;
	min-height: 32px !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	margin: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-size: .84rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-title select {
	width: auto !important;
	min-width: 0 !important;
	height: 30px !important;
	padding: 3px 7px !important;
	margin: 0 !important;
	border: 1px solid rgba(255, 255, 255, .38) !important;
	border-radius: 5px !important;
	background: #fff !important;
	color: #23352d !important;
	font-size: .72rem !important;
	font-weight: 750 !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next {
	position: absolute !important;
	top: 6px !important;
	display: grid !important;
	width: 32px !important;
	height: 32px !important;
	place-items: center !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: rgba(255, 255, 255, .12) !important;
	cursor: pointer !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev { left: 6px !important; }
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next { right: 6px !important; }
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev::before,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next::before { display: none !important; content: none !important; }
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev::after,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next::after {
	position: static !important;
	display: block !important;
	color: #fff !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.35rem !important;
	line-height: 1 !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev::after { content: "\2039" !important; }
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next::after { content: "\203A" !important; }
body.single-ttbm_tour #ui-datepicker-div table.ui-datepicker-calendar {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: separate !important;
	border-spacing: 2px !important;
	background: #fff !important;
}
body.single-ttbm_tour #ui-datepicker-div table.ui-datepicker-calendar th {
	padding: 5px 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #737b75 !important;
	font-size: .59rem !important;
	font-weight: 800 !important;
}
body.single-ttbm_tour #ui-datepicker-div.ui-datepicker td {
	width: 38px !important;
	height: 38px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td span,
body.single-ttbm_tour #ui-datepicker-div .ui-state-default {
	display: grid !important;
	width: 36px !important;
	height: 36px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	place-items: center !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: transparent !important;
	color: #313833 !important;
	font-size: .72rem !important;
	font-weight: 750 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default {
	background: #fff0e5 !important;
	color: #a63b18 !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active {
	background: var(--orange-action) !important;
	color: #fff !important;
}
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span {
	background: transparent !important;
	color: #b5bbb7 !important;
	text-decoration: none !important;
}

@media (max-width: 620px) {
	body.single-ttbm_tour.esp-date-picker-open::before {
		position: fixed;
		z-index: 99990;
		inset: 0;
		background: rgba(18, 29, 23, .52);
		content: '';
	}
	body.single-ttbm_tour #ui-datepicker-div.ui-datepicker {
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
	}
}

.esp-service-detail .esp-booking-assurances {
	display: flex;
	align-items: center;
	padding: 0;
	margin: 7px 0 0;
	list-style: none;
}

.esp-service-detail .esp-booking-assurances li {
	position: relative;
	min-width: 0;
	padding: 2px 0 2px 17px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #4d5952;
	font-size: .64rem;
	font-weight: 720;
	line-height: 1.3;
	list-style: none;
}

.esp-service-detail .esp-booking-assurances li::before {
	position: absolute;
	top: 2px;
	left: 1px;
	color: var(--orange-dark);
	content: "\2713";
	font-weight: 900;
}

.esp-service-detail .esp-tour-description__hero {
	border-radius: 18px;
	background:
		radial-gradient(circle at 82% 12%, rgba(8, 158, 64, .18), transparent 42%),
		linear-gradient(125deg, #18382a 0%, #254c3a 58%, #49311f 100%);
}

.esp-service-detail .esp-tour-description__hero.has-photo {
	background:
		linear-gradient(125deg, rgba(18, 43, 31, .78), rgba(27, 58, 43, .62) 55%, rgba(72, 47, 30, .68)),
		var(--hero-photo) center / cover no-repeat;
}

.esp-service-detail .esp-tour-description__feature-grid article,
.esp-service-detail .esp-tour-description__columns > div {
	border-color: #dce3dd;
	background: #fbfcfa;
}

.esp-service-detail .esp-tour-description__timeline article > span {
	background: var(--orange-dark);
	box-shadow: none;
}

.esp-service-detail .esp-tour-description__timeline article > div {
	border-color: #dce3dd;
	box-shadow: 0 8px 20px rgba(31, 61, 47, .05);
}

@media (max-width: 1020px) {
	.esp-service-detail .esp-tour-layout {
		grid-template-columns: minmax(0, 1fr) minmax(330px, 370px);
		column-gap: 32px;
	}
}

@media (max-width: 860px) {
	.esp-service-detail .esp-tour-layout {
		display: grid;
		grid-template-areas:
			"summary"
			"booking"
			"content";
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.esp-service-detail .esp-tour-aside {
		position: static;
		width: 100%;
		max-width: none;
		max-height: none;
		overflow: visible;
		padding: 0;
		margin: 0;
	}

	.esp-service-detail .esp-tour-booking { max-width: none; }
}

@media (max-width: 620px) {
	.esp-service-detail .esp-tour-heading__eyebrow { gap: 8px; }
	.esp-service-detail .esp-tour-heading__eyebrow span { min-height: 25px; font-size: .59rem; }
	.esp-service-detail .esp-tour-heading__eyebrow strong { font-size: .62rem; }
	.esp-service-detail .esp-tour-layout { gap: 24px; padding-top: 26px; }
	.esp-service-detail .esp-tour-overview { padding: 22px 18px; border-radius: 14px; }
	.esp-service-detail .esp-tour-overview__facts { grid-template-columns: 1fr; }
	.esp-service-detail .esp-tour-overview__facts li { min-height: 67px; }
	.esp-service-detail .esp-booking-assurances { display: flex; }
	.esp-service-detail .esp-booking-assurances li { font-size: .64rem; }
	.esp-service-detail .esp-tour-assistance { display: none; }
	.esp-service-detail .esp-tour-description__hero { border-radius: 16px; }
}

/* Conversion-first booking card for tours, packages and transfers. Hotels use
   their dedicated room picker and retain their own pricing treatment. */
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking {
	padding: 0 24px 24px;
	border: 1px solid #cfd6d1;
	border-top: 5px solid #089e40;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(22, 42, 31, .11) !important;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-header {
	padding-top: 22px;
	margin-bottom: 0;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-header .section-kicker {
	margin: 0 0 5px;
	color: #067832;
	font-size: .7rem;
	font-weight: 850;
	letter-spacing: .08em;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-header h2,
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking.esp-booking-has-options .esp-booking-header h2 {
	margin: 0 0 17px;
	color: #1f2722;
	font-family: var(--sans);
	font-size: 1.75rem;
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1.1;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-pricing {
	border-top: 1px solid #dce1dd;
	border-bottom: 1px solid #dce1dd;
}

/* These elements are toggled through the `hidden` attribute, and each of them
   also carries a `display` rule that beats the browser default for [hidden].
   Without this the empty promo box and a "Ahorrás 0,00 (0%)" line stay on
   screen when there is no discount at all. */
.esp-service-detail .esp-booking-group-promo[hidden],
.esp-service-detail .esp-booking-savings[hidden],
.esp-service-detail .esp-booking-regular-price[hidden],
.esp-service-detail .esp-booking-savings-detail[hidden],
.esp-service-detail .esp-booking-pricing [hidden] {
	display: none !important;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-group-promo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 10px 12px;
	border-left: 3px solid #e46528;
	background: #fff4ec;
	color: #6a331d;
	font-size: .72rem;
	line-height: 1.35;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-group-promo strong {
	color: #a53b15;
	font-size: .74rem;
	font-weight: 850;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-group-promo span { text-align: right; }
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-group-promo [data-group-promo-copy] b {
	display: inline-block;
	margin-left: 4px;
	color: inherit;
	font-size: .82rem;
	font-weight: 900;
}
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-group-promo.is-active {
	border-left-color: #34724d;
	background: #edf5ef;
	color: #285e3f;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-bottom: 1px solid #dce1dd;
	background: #f7f9f7;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail[hidden] { display: none; }

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail > div {
	display: grid;
	min-width: 0;
	gap: 3px;
	padding: 9px 11px;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail > div[hidden] { display: none; }

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail > div + div {
	border-left: 1px solid #dce1dd;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail span {
	color: #626c66;
	font-size: .64rem;
	font-weight: 740;
	line-height: 1.2;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail strong {
	color: #285e3f;
	font-size: .76rem;
	font-weight: 760;
	line-height: 1.2;
	white-space: nowrap;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail strong b { font-weight: 900; }
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings-detail strong small { font-size: .61rem; font-weight: 700; }

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-total-price {
	display: grid;
	gap: 7px;
	padding: 16px 0 15px;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-total-price > span {
	color: #4b554f;
	font-size: .78rem;
	font-weight: 780;
	line-height: 1.3;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-total-price__amount {
	display: grid;
	min-width: 0;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: flex-end;
	gap: 12px;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-current-price {
	display: grid;
	min-width: 0;
	justify-items: end;
	gap: 7px;
	text-align: right;
}

/* The price sits on the right whether or not a discount is running, so it does
   not jump across the card the moment a traveller is added. */
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-pricing:not(.has-discount) .esp-booking-current-price {
	grid-column: 1 / -1;
	justify-items: end;
	text-align: right;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-current-price > strong {
	color: #067832;
	font-family: var(--sans);
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-regular-price {
	display: grid;
	gap: 1px;
	padding-bottom: 2px;
	color: #747c76;
	line-height: 1.15;
	white-space: nowrap;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-regular-price del {
	font-size: .9rem;
	font-weight: 720;
	text-decoration-color: #9b3f22;
	text-decoration-thickness: 2px;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-regular-price small {
	font-size: .65rem;
	font-weight: 700;
	line-height: 1.1;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings {
	width: fit-content;
	margin: 0;
	padding: 6px 9px;
	border-right: 3px solid #34724d;
	border-radius: 4px 0 0 4px;
	background: #edf5ef;
	color: #285e3f;
	font-size: .7rem;
	font-weight: 760;
	line-height: 1.3;
	white-space: nowrap;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings b { font-weight: 900; }
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings em { font-style: normal; font-weight: 800; }

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid #e2e6e3;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split > div {
	display: grid;
	min-width: 0;
	gap: 4px;
	padding: 13px 0;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split > div + div {
	padding-left: 16px;
	border-left: 1px solid #e2e6e3;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split span {
	color: #59635d;
	font-size: .71rem;
	font-weight: 760;
	line-height: 1.25;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split strong {
	color: #27312b;
	font-family: var(--sans);
	font-size: 1.12rem;
	font-weight: 880;
	line-height: 1.15;
	white-space: nowrap;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split__now strong {
	color: #067832;
	font-size: 1.3rem;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-deposit-note {
	position: relative;
	margin: 0;
	padding: 10px 0 11px 20px;
	color: #4d5952;
	font-size: .72rem;
	font-weight: 680;
	line-height: 1.35;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-deposit-note::before {
	position: absolute;
	top: 10px;
	left: 1px;
	color: #34724d;
	content: "\2713";
	font-weight: 900;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-assurances {
	padding: 10px 0 0;
	margin: 0;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-assurances li {
	font-size: .72rem;
	font-weight: 700;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .ttbm_select_date_area { margin-top: 22px !important; }
.esp-service-detail:not(.esp-tour-detail--hotel) .ttbm-date-select__label { margin-bottom: 8px !important; }
.esp-service-detail:not(.esp-tour-detail--hotel) .ttbm-date-select__label-text {
	color: #59615c !important;
	font-size: .72rem !important;
	font-weight: 820 !important;
	letter-spacing: .055em !important;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm-date-select__control {
	min-height: 54px !important;
	border: 1px solid #bfc8c1 !important;
	border-radius: 6px !important;
	background: #fff !important;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm-date-select__control input.hasDatepicker {
	min-height: 52px !important;
	font-size: 1rem !important;
	font-weight: 850 !important;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker {
	padding: 17px 0 0;
	margin-top: 16px;
	border-top: 1px solid #dce1dd;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__row {
	min-height: 68px;
	gap: 12px;
	padding: 0;
	border: 0;
	background: #fff;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__identity strong { font-size: .94rem; }
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__identity small { font-size: .72rem; }
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__price > small {
	font-size: .62rem;
	letter-spacing: 0;
	text-transform: none;
}
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__price .ttbm_sale_price,
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__price .woocommerce-Price-amount { font-size: 1.08rem !important; }

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__control {
	width: 120px;
	min-width: 120px;
	grid-template-columns: 39px 40px 39px;
	border-radius: 6px;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .esp-traveler-picker__control button {
	width: 39px !important;
	min-width: 39px !important;
	min-height: 48px !important;
	font-size: 1.25rem !important;
	transition: none !important;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__control output { font-size: 1rem; }

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_area,
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_bar {
	grid-template-columns: minmax(130px, .78fr) minmax(170px, 1.22fr) !important;
	gap: 14px !important;
	padding: 16px 0 0 !important;
	margin: 16px 0 0 !important;
	border: 0 !important;
	border-top: 1px solid #dce1dd !important;
	border-radius: 0 !important;
	background: #fff !important;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_summary_item:first-child { display: none !important; }
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_order_summary,
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_summary_values { grid-template-columns: minmax(0, 1fr) !important; }
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_summary_item:last-child { text-align: left; }

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_summary_label {
	color: #5c665f !important;
	font-size: .64rem !important;
	letter-spacing: .025em !important;
}

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .tour_qty,
.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .tour_price { font-size: 1.18rem !important; }

.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_actions .ttbm_book_now {
	min-height: 54px !important;
	border-radius: 6px !important;
	font-size: .78rem !important;
	letter-spacing: 0 !important;
	transition: none !important;
}

@media (max-width: 420px) {
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking { padding: 0 18px 20px; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-header { padding-top: 19px; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-header h2,
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking.esp-booking-has-options .esp-booking-header h2 { font-size: 1.55rem; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-current-price > strong { font-size: 1.72rem; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-total-price__amount { gap: 8px; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings { padding-inline: 6px; font-size: .65rem; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split > div + div { padding-left: 12px; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split strong { font-size: 1rem; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-payment-split__now strong { font-size: 1.15rem; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-group-promo { display: grid; gap: 3px; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-group-promo span { text-align: left; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__row {
		grid-template-columns: minmax(0, 1fr) 120px;
		grid-template-areas: 'identity control' 'price control';
		row-gap: 4px;
	}
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__identity { grid-area: identity; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__price { grid-area: price; justify-items: start; text-align: left; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-traveler-picker__control { grid-area: control; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_area,
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_bar {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_order_summary,
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_summary_values { justify-content: start !important; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_summary_item:last-child { text-align: left; }
}

@media (max-width: 340px) {
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-total-price__amount {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-current-price {
		grid-row: 1;
		justify-items: start;
		text-align: left;
	}
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-regular-price { grid-row: 2; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-current-price > strong { font-size: 1.65rem; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-regular-price del { font-size: .78rem; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-regular-price small { font-size: .62rem; }
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-savings {
		padding: 5px 6px;
		border-right-width: 2px;
		font-size: .65rem;
	}
}

/* Package variants are separate products in TTBM. Present them as one clear
   group-size choice without changing their individual price calculations. */
.esp-package-variant-picker { margin: 18px 0 0; }
.esp-tour-booking .esp-package-variant-picker__trigger {
	display: grid !important;
	width: 100% !important;
	min-height: 72px !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 12px 14px !important;
	border: 2px solid #c6cec8 !important;
	border-radius: 6px !important;
	background: #f8faf8 !important;
	color: #202823 !important;
	text-align: left;
	box-shadow: none !important;
}
.esp-package-variant-picker__trigger > span { display: grid; min-width: 0; gap: 3px; }
.esp-package-variant-picker__trigger small { color: #5e6861; font-size: .67rem; font-weight: 760; line-height: 1.2; }
.esp-package-variant-picker__trigger strong { color: #202823; font-size: 1.05rem; font-weight: 880; line-height: 1.2; }
.esp-package-variant-picker__trigger b { color: #067832; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.esp-package-variant-picker__trigger b::after { margin-left: 6px; content: "\203A"; font-size: 1.1rem; line-height: 0; }
.esp-tour-booking .esp-package-variant-picker__trigger:focus-visible { border-color: #089e40 !important; outline: 3px solid rgba(8, 158, 64, .17); outline-offset: 2px; }

body.esp-package-dialog-open { overflow: hidden; }
.esp-tour-booking dialog.esp-package-dialog {
	position: fixed;
	inset: 0;
	display: none;
	width: min(560px, calc(100vw - 28px)) !important;
	max-width: none !important;
	max-height: min(720px, calc(100dvh - 36px));
	padding: 0 !important;
	margin: auto;
	overflow: hidden;
	border: 1px solid #cbd3cd !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: 0 28px 80px rgba(21, 35, 27, .3) !important;
}
.esp-tour-booking dialog.esp-package-dialog[open] { display: block; }
.esp-tour-booking dialog.esp-package-dialog::backdrop { background: rgba(18, 28, 22, .64); }
.esp-package-dialog__surface { display: grid; max-height: min(720px, calc(100dvh - 36px)); grid-template-rows: auto minmax(0, 1fr); }
.esp-package-dialog header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 48px;
	align-items: start;
	gap: 16px;
	padding: 20px 22px 17px;
	border-bottom: 1px solid #dce2dd;
}
.esp-package-dialog header > div { display: grid; gap: 3px; }
.esp-package-dialog header small { color: #067832; font-size: .69rem; font-weight: 820; }
.esp-package-dialog header h3 { margin: 0; color: #202823; font-family: var(--sans); font-size: 1.35rem; font-weight: 850; letter-spacing: 0; line-height: 1.2; }
.esp-package-dialog header p { margin: 5px 0 0; color: #5b655e; font-size: .75rem; line-height: 1.4; }
.esp-tour-booking .esp-package-dialog header button {
	display: grid !important;
	width: 48px !important;
	min-width: 48px !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 !important;
	place-items: center;
	border: 1px solid #cbd3cd !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: #28322c !important;
}
.esp-package-dialog header button span { width: 20px; height: 20px; background: currentColor; -webkit-mask: url('../icons/x.svg') center / contain no-repeat; mask: url('../icons/x.svg') center / contain no-repeat; }
.esp-package-dialog__options { min-height: 0; overflow-y: auto; padding: 4px 22px 18px; overscroll-behavior: contain; }
.esp-package-dialog__options > a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	min-height: 82px;
	padding: 14px 2px;
	border-bottom: 1px solid #dde2de;
	color: #202823;
	text-decoration: none;
}
.esp-package-dialog__options > a > span { display: grid; min-width: 0; gap: 5px; }
.esp-package-dialog__options > a > span:last-child { justify-items: end; text-align: right; }
.esp-package-dialog__options strong { font-size: .92rem; font-weight: 850; line-height: 1.25; }
.esp-package-dialog__options small { color: #626c65; font-size: .7rem; font-weight: 680; }
.esp-package-dialog__options b { color: #067832; font-size: 1.12rem; font-weight: 900; white-space: nowrap; }
.esp-package-dialog__options em { color: #067832; font-size: .67rem; font-style: normal; font-weight: 820; }
.esp-package-dialog__options > a[aria-current="true"] { margin-inline: -10px; padding-inline: 12px; border-bottom-color: #c8d8cc; background: #f0f6f1; }
.esp-package-dialog__options > a:hover { background: #f7f9f7; }

.esp-package-travelers-fixed {
	display: flex;
	min-height: 64px;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 0;
	margin-top: 16px;
	border-top: 1px solid #dce1dd;
	border-bottom: 1px solid #dce1dd;
}
.esp-package-travelers-fixed span { color: #59635d; font-size: .72rem; font-weight: 760; }
.esp-package-travelers-fixed strong { color: #202823; font-size: 1.05rem; font-weight: 880; white-space: nowrap; }

@media (max-width: 640px) {
	.esp-tour-booking dialog.esp-package-dialog {
		inset: auto 0 0;
		width: 100% !important;
		max-height: 84dvh;
		margin: 0;
		border-width: 1px 0 0 !important;
		border-radius: 8px 8px 0 0 !important;
	}
	.esp-package-dialog__surface { max-height: 84dvh; }
	.esp-package-dialog header { padding: 16px; }
	.esp-package-dialog header h3 { font-size: 1.2rem; }
	.esp-package-dialog__options { padding-inline: 16px; }
}

@media (max-width: 360px) {
	.esp-package-dialog__options > a { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.esp-package-dialog__options > a > span:last-child { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; justify-items: start; text-align: left; }
}

/* ---------------------------------------------------------------------------
 * Booking on a phone.
 *
 * Two problems this solves. The date picker was a 320px desktop popup floated
 * over a phone screen, with day cells far under the 44px a thumb needs. And the
 * booking card is long enough that "Continuar reserva" sat below the fold --
 * the one control the whole page exists for was the one nobody could see.
 * ------------------------------------------------------------------------- */

@media (max-width: 900px) {
	/* The calendar becomes a sheet: full width, anchored to the bottom, with a
	   backdrop. jQuery UI writes top/left inline, so every position needs to win
	   over that. */
	body.single-ttbm_tour #ui-datepicker-div.ui-datepicker {
		position: fixed !important;
		top: auto !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		max-width: none !important;
		padding: 18px 16px calc(18px + env(safe-area-inset-bottom)) !important;
		border: 0 !important;
		border-radius: 20px 20px 0 0 !important;
		box-shadow: 0 -18px 50px rgba(22, 38, 29, .3) !important;
		/* Something upstream centres this with translate(-50%, -50%), which pushed
		   the sheet half a screen off to the left once it spanned the full width. */
		transform: none !important;
		margin: 0 !important;
	}

	body.single-ttbm_tour.esp-date-picker-open::before {
		content: '';
		position: fixed;
		z-index: 99999;
		inset: 0;
		background: rgba(10, 24, 17, .55);
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
	}

	body.single-ttbm_tour.esp-date-picker-open {
		overflow: hidden;
	}

	/* A grab handle, so the sheet reads as something you can dismiss. */
	body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-header::before {
		content: '';
		display: block;
		width: 42px;
		height: 4px;
		margin: -6px auto 12px;
		border-radius: 999px;
		background: #d3dad5;
	}

	body.single-ttbm_tour #ui-datepicker-div table.ui-datepicker-calendar {
		width: 100% !important;
		table-layout: fixed !important;
	}

	/* 44px minimum, the size a thumb actually hits. */
	body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a,
	body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td span,
	body.single-ttbm_tour #ui-datepicker-div .ui-state-default {
		display: flex !important;
		min-height: 44px !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		font-size: 1rem !important;
	}

	body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev,
	body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next {
		width: 44px !important;
		height: 44px !important;
	}

	body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-title select {
		min-height: 44px !important;
		font-size: 1rem !important;
	}

	/* The CTA leaves the card and pins to the bottom of the screen, so the price
	   and the button travel with the reader instead of waiting at the end. */
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_area,
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_bar {
		position: fixed !important;
		z-index: 9000;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(150px, auto) !important;
		align-items: center !important;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
		margin: 0 !important;
		border-top: 1px solid #dce1dd !important;
		box-shadow: 0 -10px 30px rgba(22, 38, 29, .16) !important;
	}

	/* Room for the pinned bar, so it never covers the last of the content. */
	body.single-ttbm_tour .site-footer {
		padding-bottom: 96px;
	}
}

/* Desktop: the card scrolls on its own, so keep the CTA pinned to its bottom
   edge rather than letting it slide out of view with the rest. */
@media (min-width: 901px) {
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_area,
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_book_now_bar {
		position: sticky !important;
		z-index: 3;
		bottom: 0 !important;
		padding-bottom: 14px !important;
	}
}

/* Tours can sell up to eleven ticket types. Left alone that list pushes the
   date field and the booking button past the bottom of the screen, so the
   reader has to scroll through every option to reach the one control that
   matters. Cap the list instead and let it scroll inside itself. */
@media (min-width: 901px) {
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_ticket_area,
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .mp_tour_ticket_type {
		max-height: 44dvh;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}

	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_ticket_area::-webkit-scrollbar,
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .mp_tour_ticket_type::-webkit-scrollbar {
		width: 6px;
	}

	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .ttbm_ticket_area::-webkit-scrollbar-thumb,
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-tour-booking .mp_tour_ticket_type::-webkit-scrollbar-thumb {
		border-radius: 999px;
		background: rgba(22, 42, 31, .22);
	}
}

/* The heading and the price stay put while the options below them scroll, so
   there is always something anchoring the card. */
@media (min-width: 901px) {
	.esp-service-detail:not(.esp-tour-detail--hotel) .esp-booking-header {
		position: sticky;
		z-index: 2;
		top: 0;
		background: #fff;
	}
}

/* ---------------------------------------------------------------------------
 * Calendar header.
 *
 * jQuery UI draws the month and year as two bare <select> elements squeezed
 * into a coloured strip, which is the part that reads as unfinished. They stay
 * selects -- picking a month twelve taps away through arrows is worse -- but
 * they are given room, a proper control shape and a chevron of their own.
 * ------------------------------------------------------------------------- */
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-header {
	min-height: 52px !important;
	padding: 8px 46px !important;
	margin: 0 0 10px !important;
	border-radius: 10px !important;
	background: #f2f7f3 !important;
	color: #172b21 !important;
}

body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-title {
	gap: 8px !important;
	color: #172b21 !important;
}

body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-title select {
	height: 36px !important;
	padding: 0 30px 0 12px !important;
	border: 1px solid #c8d6cc !important;
	border-radius: 8px !important;
	background-color: #fff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23172b21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E") !important;
	background-position: right 10px center !important;
	background-repeat: no-repeat !important;
	background-size: 11px 7px !important;
	color: #172b21 !important;
	font-size: .84rem !important;
	font-weight: 780 !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-title select:hover {
	border-color: #089e40 !important;
}

body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-title select:focus-visible {
	border-color: #089e40 !important;
	outline: 2px solid rgba(8, 158, 64, .25) !important;
	outline-offset: 1px !important;
}

/* Arrows as round buttons rather than bare glyphs floating in the strip. */
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next {
	top: 50% !important;
	width: 34px !important;
	height: 34px !important;
	border: 1px solid #c8d6cc !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #172b21 !important;
	cursor: pointer !important;
	transform: translateY(-50%) !important;
}

body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev:hover,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next:hover {
	border-color: #089e40 !important;
	background: #eaf6ee !important;
}

body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev.ui-state-disabled,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next.ui-state-disabled {
	opacity: .35 !important;
	cursor: default !important;
}

/* Weekday initials read as a quiet label row, not as data. */
body.single-ttbm_tour #ui-datepicker-div table.ui-datepicker-calendar th {
	padding-bottom: 6px !important;
	color: #6b7a70 !important;
	font-size: .68rem !important;
	font-weight: 800 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

/* The arrow glyphs were painted white for the old dark header strip; on the
   light one they disappeared and left two empty circles. */
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-prev::after,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-next::after {
	color: #172b21 !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
}

/* Available days in the brand green rather than the inherited peach. */
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default {
	background: #e9f6ee !important;
	color: #0a6b2f !important;
	font-weight: 750 !important;
}

body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.single-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active {
	background: #089e40 !important;
	color: #fff !important;
}

/* The peach and sand fills came from the Atacama palette and read as skin tones
   against the green. Swapped for a pale green that belongs to this brand. */
.esp-service-detail .esp-booking-deposit {
	background: #eaf6ee !important;
}

.esp-service-detail .esp-traveler-picker__row {
	background: #f4faf6 !important;
}

.esp-tour-assistance,
.esp-tour-facts {
	background: #f4faf6 !important;
}
