/* Bespoke Tour Template. Tokens come from the Figma "Option B" tour page. */
:root {
	--bsf-green: #173f2c;
	--bsf-green-dark: #0c2015;
	--bsf-orange: #e56a2b;
	--bsf-orange-dark: #cc5a1f;
	--bsf-yellow: #ffc700;
	--bsf-cream: #fdfcf8;
	--bsf-beige: #f7f2e6;
	--bsf-line: #e1dfd8;
	--bsf-gray: #6b6f68;
	--bsf-muted: #6f8272;
	--bsf-sage: #a8c7c2;
	--bsf-map: #e8e3d6;
	--bsf-w: 1236px;
	--bsf-head: "Helios", "HeliosExt", "Arimo", sans-serif;
	--bsf-body: "Arimo", Arial, sans-serif;
	--bsf-serif: "Instrument Serif", Georgia, serif;
	--bsf-sticky-top: 0px;
	--bsf-tabbar-h: 78px;
}

html.bsf-lock { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
	html:has(body.bsf-tour) { scroll-behavior: smooth; }
}

.bsf-i { flex: none; }
.bsf-anchor { scroll-margin-top: calc(var(--bsf-sticky-top, 0px) + var(--bsf-tabbar-h, 78px) + 8px); }

/* Hello Elementor styles every <button> (nowrap, 3px radius, pink hover and focus). Undo that for our components.
   This block comes first so the explicit hover rules further down still win. */
.bsf-day__head, .bsf-gtk__head, .bsf-tier, .bsf-enq__tab, .bsf-action, .bsf-linkbtn,
.bsf-hero__video, .bsf-hero__photos, .bsf-dgal__btn, .bsf-lb__thumb { white-space: normal; border-radius: 0; text-decoration: none; }
.bsf-day__head:hover, .bsf-day__head:focus,
.bsf-gtk__head:hover, .bsf-gtk__head:focus { background-color: transparent; color: var(--bsf-green); }
.bsf-gtk__head:hover, .bsf-gtk__head:focus { border-radius: 8px; }
.bsf-tier:hover, .bsf-tier:focus { background-color: transparent; color: inherit; }
.bsf-tier.is-active:hover, .bsf-tier.is-active:focus { background-color: #fff; }
.bsf-enq__tab:hover, .bsf-enq__tab:focus { background-color: transparent; color: var(--bsf-green); }
.bsf-enq__tab.is-active:hover, .bsf-enq__tab.is-active:focus { background-color: #fff; }
.bsf-action:hover, .bsf-action:focus { background-color: transparent; color: var(--bsf-green); }
.bsf-linkbtn:hover, .bsf-linkbtn:focus { background-color: transparent; color: var(--bsf-green); }
.bsf-hero__video:hover, .bsf-hero__video:focus,
.bsf-hero__photos:hover, .bsf-hero__photos:focus { background-color: transparent; color: #fff; }
.bsf-dgal__btn:hover, .bsf-dgal__btn:focus { background-color: var(--bsf-map); }
.bsf-lb__thumb:hover, .bsf-lb__thumb:focus { background: none; }
.bsf-arrow:focus:not(:hover), .bsf-iconbtn:focus:not(:hover) { background-color: transparent; color: var(--bsf-green); }
.bsf-arrows--light .bsf-arrow:focus:not(:hover), .bsf-iconbtn--light:focus:not(:hover) { background-color: transparent; color: #fff; }
.bsf-lb__nav:focus:not(:hover) { background-color: transparent; color: #fff; }
.bsf-btn--green:focus { background-color: var(--bsf-green); color: #fff; }

/* Sections whose shortcode renders nothing (no itinerary, no lodges, no topics) disappear entirely */
.bsf-sec-itinerary:not(:has(.bsf-itin)),
.bsf-sec-lodging:not(:has(.bsf-lodging)),
.bsf-sec-gtk:not(:has(.bsf-gtk)) { display: none !important; }

/* ---------- shared bits ---------- */
.bsf-eyebrow {
	margin: 0 0 16px;
	font: 400 11px/1.2 var(--bsf-body);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--bsf-orange);
}
.bsf-h2 {
	margin: 0;
	font: 400 40px/1.12 var(--bsf-head);
	color: var(--bsf-green);
}
.bsf-h2 em { font-style: normal; color: var(--bsf-orange); }
.bsf-lead { margin: 18px 0 0; font: 400 16px/1.6 var(--bsf-body); color: var(--bsf-gray); }
.bsf-lead strong { color: var(--bsf-green); font-weight: 700; }

.bsf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: 48px;
	padding: 0 26px;
	border: 0;
	border-radius: 0;
	font: 700 12px/1 var(--bsf-body);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}
.bsf-btn--light { background: #fff; color: var(--bsf-green); }
.bsf-btn--light:hover { background: var(--bsf-beige); color: var(--bsf-green); }
.bsf-btn--orange { background: var(--bsf-orange); color: #fff; }
.bsf-btn--orange:hover { background: var(--bsf-orange-dark); color: #fff; }
.bsf-btn--green { background: var(--bsf-green); color: #fff; }
.bsf-btn--green:hover { background: var(--bsf-green-dark); color: #fff; }
.bsf-btn--sm { height: 38px; padding: 0 18px; font-size: 11px; gap: 10px; }

.bsf-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--bsf-orange);
	font: 400 12px/1 var(--bsf-body);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bsf-green);
	text-decoration: none;
}
.bsf-link:hover { color: var(--bsf-orange); }

.bsf-linkbtn {
	padding: 0;
	border: 0;
	background: none;
	font: 400 13px/1.2 var(--bsf-body);
	color: var(--bsf-green);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.bsf-linkbtn:hover { color: var(--bsf-orange); }

.bsf-counter {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	font: 400 13px/1 var(--bsf-body);
	color: var(--bsf-green);
}
.bsf-counter__tot { color: var(--bsf-gray); }
.bsf-counter__track {
	position: relative;
	display: block;
	width: 140px;
	height: 2px;
	background: rgba(23, 63, 44, 0.16);
	overflow: hidden;
}
.bsf-counter__track i {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: var(--bsf-orange);
	transition: transform 0.45s ease, width 0.3s ease;
}
.bsf-counter--light { color: #fff; }
.bsf-counter--light .bsf-counter__tot { color: rgba(255, 255, 255, 0.6); }
.bsf-counter--light .bsf-counter__track { background: rgba(255, 255, 255, 0.3); }
.bsf-counter--yellow .bsf-counter__track i { background: var(--bsf-yellow); }

.bsf-arrows { display: inline-flex; gap: 10px; }
.bsf-arrow,
.bsf-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(23, 63, 44, 0.4);
	border-radius: 0;
	background: transparent;
	color: var(--bsf-green);
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, opacity 0.2s;
}
.bsf-arrow:hover:not(:disabled),
.bsf-iconbtn:hover { background: var(--bsf-green); color: #fff; border-color: var(--bsf-green); }
.bsf-arrow:disabled { opacity: 0.35; cursor: default; }
.bsf-arrows--light .bsf-arrow,
.bsf-iconbtn--light { border-color: rgba(255, 255, 255, 0.75); color: #fff; }
.bsf-arrows--light .bsf-arrow:hover:not(:disabled),
.bsf-iconbtn--light:hover { background: #fff; color: var(--bsf-green); border-color: #fff; }
.bsf-arrow:focus-visible,
.bsf-iconbtn:focus-visible,
.bsf-btn:focus-visible,
.bsf-link:focus-visible,
.bsf-linkbtn:focus-visible,
.bsf-day__head:focus-visible,
.bsf-gtk__head:focus-visible,
.bsf-tier:focus-visible,
.bsf-enq__tab:focus-visible,
.bsf-action:focus-visible { outline: 2px solid var(--bsf-orange); outline-offset: 3px; }

.bsf-scroller__track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.bsf-scroller__track::-webkit-scrollbar { display: none; }
.bsf-scroller__controls { display: flex; align-items: center; gap: 24px; margin-top: 20px; }
.bsf-scroller__controls .bsf-arrows { margin-left: auto; }

.bsf-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	z-index: 100001;
	transform: translate(-50%, 20px);
	padding: 12px 20px;
	background: var(--bsf-green);
	color: #fff;
	font: 400 13px/1.3 var(--bsf-body);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s, transform 0.25s;
}
.bsf-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ---------- breadcrumb ---------- */
.bsf-crumbs ol { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; font: 400 12px/1.4 var(--bsf-body); color: rgba(255, 255, 255, 0.82); }
.bsf-crumbs li + li::before { content: "/"; margin: 0 12px; opacity: 0.6; }
.bsf-crumbs a { color: inherit; text-decoration: none; }
.bsf-crumbs a:hover { color: #fff; text-decoration: underline; }

/* ---------- hero ---------- */
.bsf-hero-widget { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; z-index: 1; }
.bsf-hero-widget > .elementor-widget-container { height: 100%; }
.bsf-hero { position: absolute; inset: 0; overflow: hidden; background: var(--bsf-green-dark); }
.bsf-hero__slides { position: absolute; inset: 0; }
.bsf-hero .bsf-hero__slides .bsf-hero__slide {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	opacity: 0;
	transition: opacity 1.1s ease;
}
.bsf-hero .bsf-hero__slides .bsf-hero__slide.is-active { opacity: 1; }
.bsf-hero__shade { position: absolute; left: 0; right: 0; pointer-events: none; }
.bsf-hero__shade--top { top: 0; height: 200px; background: linear-gradient(180deg, rgba(8, 20, 13, 0.55), rgba(8, 20, 13, 0)); }
.bsf-hero__shade--bottom { bottom: 0; height: 62%; background: linear-gradient(0deg, rgba(8, 20, 13, 0.9) 0%, rgba(8, 20, 13, 0.55) 42%, rgba(8, 20, 13, 0) 100%); }
.bsf-hero__bar { position: absolute; left: 0; right: 0; bottom: 36px; z-index: 3; }
.bsf-hero__bar-in {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	width: min(var(--bsf-w), calc(100% - 48px));
	margin: 0 auto;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.28);
}
.bsf-hero__bar-in > :last-child { justify-self: end; }
.bsf-hero__links { display: flex; align-items: center; gap: 32px; }
.bsf-hero__video,
.bsf-hero__photos {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 0;
	border: 0;
	background: none;
	color: #fff;
	font: 400 12px/1 var(--bsf-body);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
}
.bsf-hero__play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 50%;
	transition: background-color 0.2s, color 0.2s;
}
.bsf-hero__video:hover .bsf-hero__play { background: #fff; color: var(--bsf-green); }
.bsf-hero__divider { width: 1px; height: 24px; background: rgba(255, 255, 255, 0.3); }
.bsf-hero__photos { padding-bottom: 10px; border-bottom: 2px solid var(--bsf-yellow); }
.bsf-hero__photos:hover { color: var(--bsf-yellow); }
.bsf-hero__video:focus-visible,
.bsf-hero__photos:focus-visible { outline: 2px solid var(--bsf-yellow); outline-offset: 4px; }

.bsf-hero-content { pointer-events: none; }
.bsf-hero-content .elementor-widget,
.bsf-hero-content a,
.bsf-hero-content button { pointer-events: auto; }

.bsf-heroprice { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.bsf-heroprice__from { font: 400 11px/1 var(--bsf-body); letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255, 255, 255, 0.75); }
.bsf-heroprice__num { margin-top: 4px; font: 400 52px/1.2 var(--bsf-serif); color: #fff; }
.bsf-heroprice__unit { margin-top: 2px; font: 400 13px/1.3 var(--bsf-body); color: rgba(255, 255, 255, 0.85); }
.bsf-heroprice .bsf-btn { margin-top: 18px; }

.bsf-stars { display: inline-flex; align-items: center; gap: 12px; font: 400 13px/1 var(--bsf-body); color: #fff; }
.bsf-stars__row { display: inline-flex; gap: 3px; color: var(--bsf-yellow); }
.bsf-stars--dark { font-size: 14px; color: var(--bsf-green); }
.bsf-stars--dark strong { font-weight: 700; }

/* ---------- at a glance ---------- */
.bsf-glance { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.bsf-glance__item {
	display: grid;
	flex: 1 1 auto;
	align-content: start;
	gap: 6px;
	padding: 0 28px;
	border-left: 1px solid var(--bsf-line);
	color: var(--bsf-orange);
}
.bsf-glance__item:first-child { padding-left: 0; border-left: 0; }
.bsf-glance__item:last-child { padding-right: 0; }
.bsf-glance__label { margin-top: 8px; font: 400 11px/1.2 var(--bsf-body); letter-spacing: 0.2em; text-transform: uppercase; color: #7a8b80; }
.bsf-glance__value { font: 700 14px/1.3 var(--bsf-body); color: var(--bsf-green); }

/* ---------- highlights ---------- */
.bsf-highlights { margin: 0; padding: 0; list-style: none; }
.bsf-highlights li { display: flex; gap: 16px; align-items: flex-start; padding: 13px 0; border-bottom: 1px solid var(--bsf-line); font: 400 14.5px/1.5 var(--bsf-body); color: var(--bsf-gray); }
.bsf-highlights li:first-child { padding-top: 0; }
.bsf-highlights li:last-child { padding-bottom: 0; border-bottom: 0; }
.bsf-highlights .bsf-i { margin-top: 1px; color: var(--bsf-orange); }
.bsf-highlights strong { color: var(--bsf-green); font-weight: 700; }

/* ---------- actions ---------- */
.bsf-actions { display: flex; flex-wrap: wrap; align-items: center; row-gap: 12px; }
.bsf-action {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 0 28px;
	border: 0;
	border-left: 1px solid var(--bsf-line);
	background: none;
	font: 400 12px/18px var(--bsf-body);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--bsf-green);
	text-decoration: none;
	cursor: pointer;
}
.bsf-action:first-child { padding-left: 0; border-left: 0; }
.bsf-action:hover { color: var(--bsf-orange); }
.bsf-action.is-saved .bsf-i { fill: var(--bsf-orange); stroke: var(--bsf-orange); }
.bsf-action.is-saved,
.bsf-action.is-saved:hover,
.bsf-action.is-saved:focus { color: var(--bsf-orange); }

/* ---------- sticky tab bar ---------- */
.bsf-tabbar-wrap { position: relative; z-index: 60; }
.bsf-tabbar { background: var(--bsf-cream); border-top: 1px solid var(--bsf-line); border-bottom: 1px solid var(--bsf-line); }
.bsf-tabbar.is-stuck { position: fixed; top: var(--bsf-sticky-top, 0px); left: 0; right: 0; box-shadow: 0 10px 28px rgba(23, 63, 44, 0.08); }
.bsf-tabbar__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: min(var(--bsf-w), calc(100% - 48px));
	min-height: 77px;
	margin: 0 auto;
}
.bsf-tabbar__list { display: flex; gap: 36px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.bsf-tabbar__list::-webkit-scrollbar { display: none; }
.bsf-tabbar__list a {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	height: 77px;
	font: 400 12px/1 var(--bsf-body);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--bsf-muted);
	text-decoration: none;
	white-space: nowrap;
}
.bsf-tabbar__list a::before { content: attr(data-text); display: block; height: 0; overflow: hidden; visibility: hidden; font-weight: 700; }
.bsf-tabbar__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--bsf-orange); transform: scaleX(0); transform-origin: left; transition: transform 0.3s; }
.bsf-tabbar__list a:hover { color: var(--bsf-green); }
.bsf-tabbar__list a.is-active { color: var(--bsf-green); font-weight: 700; }
.bsf-tabbar__list a.is-active::after { transform: scaleX(1); }
.bsf-barprice { display: flex; align-items: center; gap: 10px; flex: none; }
.bsf-barprice__from { font: 400 11px/1 var(--bsf-body); color: var(--bsf-gray); }
.bsf-barprice__num { margin-right: 14px; font: 400 26px/1 var(--bsf-serif); color: var(--bsf-green); white-space: nowrap; }

/* ---------- itinerary ---------- */
.bsf-itin { border: 1px solid var(--bsf-line); background: #fff; }
.bsf-itin__toolbar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	min-height: 66px;
	padding: 16px 34px;
	background: var(--bsf-beige);
}
.bsf-itin__toolbar > :last-child { justify-self: end; }
.bsf-itin__count { display: inline-flex; align-items: center; gap: 12px; font: 400 13px/1.3 var(--bsf-body); color: var(--bsf-green); }
.bsf-itin__count .bsf-i { color: var(--bsf-orange); }
.bsf-itin__count strong { font-weight: 700; }
.bsf-dot { margin: 0 4px; }
.bsf-itin__hint { display: inline-flex; align-items: center; gap: 10px; font: 400 12px/1.3 var(--bsf-body); color: #5d7a69; }
.bsf-itin__hint .bsf-i { color: var(--bsf-orange); }
.bsf-itin__viewmap { display: none; }
.bsf-itin.is-expanded .bsf-itin__hint { display: none; }
.bsf-itin.is-expanded .bsf-itin__viewmap { display: inline-flex; }

.bsf-switch { position: relative; display: inline-flex; align-items: center; gap: 14px; height: 34px; padding: 0 14px 0 16px; border: 1px solid var(--bsf-line); background: #fff; cursor: pointer; }
.bsf-switch__label { font: 400 11px/1 var(--bsf-body); letter-spacing: 0.2em; text-transform: uppercase; color: var(--bsf-green); white-space: nowrap; }
.bsf-switch__input { position: absolute; opacity: 0; width: 100%; height: 100%; inset: 0; margin: 0; cursor: pointer; }
.bsf-switch__ui { position: relative; flex: none; width: 30px; height: 16px; border-radius: 8px; background: #d6d9d2; transition: background-color 0.2s; }
.bsf-switch__ui::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; transition: transform 0.2s; }
.bsf-switch__input:checked + .bsf-switch__ui { background: var(--bsf-green); }
.bsf-switch__input:checked + .bsf-switch__ui::after { transform: translateX(14px); }
.bsf-switch__input:focus-visible + .bsf-switch__ui { outline: 2px solid var(--bsf-orange); outline-offset: 3px; }

.bsf-itin__body { display: grid; grid-template-columns: minmax(0, 700fr) minmax(0, 534fr); align-items: start; }
.bsf-itin.no-map .bsf-itin__body,
.bsf-itin.is-expanded .bsf-itin__body { grid-template-columns: minmax(0, 1fr); }
.bsf-itin.is-expanded .bsf-itin__map { display: none; }
.bsf-itin__days { padding: 0 32px 8px; }

.bsf-day { padding: 28px 0; border-bottom: 1px solid var(--bsf-line); }
.bsf-day:last-child { border-bottom: 0; }
.bsf-day__head {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) 22px;
	align-items: start;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	cursor: pointer;
	color: var(--bsf-green);
}
.bsf-day__num { font: 400 24px/31px var(--bsf-serif); color: var(--bsf-orange); }
.bsf-day__main { display: block; min-width: 0; }
.bsf-day__title { display: block; font: 400 24px/31px var(--bsf-head); color: var(--bsf-green); }
.bsf-day__sub { display: block; margin-top: 8px; font: 400 14px/1.4 var(--bsf-body); color: var(--bsf-gray); }
.bsf-day.is-open .bsf-day__sub { display: none; }
.bsf-day__icon { position: relative; width: 22px; height: 31px; color: var(--bsf-green); }
.bsf-day__icon .bsf-i { position: absolute; top: 4.5px; left: 0; }
.bsf-day__x { display: none; }
.bsf-day.is-open .bsf-day__x { display: block; }
.bsf-day.is-open .bsf-day__plus { display: none; }
.bsf-day__head:hover .bsf-day__title { color: var(--bsf-orange); }

.bsf-day__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s ease; }
.bsf-day.is-open .bsf-day__panel { grid-template-rows: 1fr; }
.bsf-day__inner { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear 0.4s; }
.bsf-day.is-open .bsf-day__inner { visibility: visible; transition-delay: 0s; }
.bsf-day__content { padding: 22px 0 4px 80px; }

.bsf-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; margin: 0; padding: 24px 28px; list-style: none; background: var(--bsf-beige); }
.bsf-facts li { display: flex; gap: 14px; align-items: flex-start; color: var(--bsf-green); }
.bsf-facts .bsf-i { margin-top: 2px; }
.bsf-fact__label { display: block; font: 400 11px/1.2 var(--bsf-body); letter-spacing: 0.2em; text-transform: uppercase; color: var(--bsf-gray); }
.bsf-fact__value { display: block; margin-top: 6px; font: 700 14.5px/1.35 var(--bsf-body); color: var(--bsf-green); }
.bsf-day__desc { margin-top: 22px; font: 400 15px/1.7 var(--bsf-body); color: var(--bsf-green); }
.bsf-day__desc p { margin: 0 0 16px; }
.bsf-day__desc p:last-child { margin-bottom: 0; }
.bsf-day__desc a { color: var(--bsf-orange); }
.bsf-dgal { margin-top: 28px; }
.bsf-dgal__slide { flex: 0 0 67%; margin: 0; scroll-snap-align: start; aspect-ratio: 372 / 262; position: relative; }
.bsf-dgal__btn { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: var(--bsf-map); overflow: hidden; cursor: zoom-in; }
.bsf-dgal__btn img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform 0.6s ease; }
.bsf-dgal__btn:hover img { transform: scale(1.03); }
.bsf-dgal__cap { position: absolute; left: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 6px 10px; background: rgba(23, 63, 44, 0.88); color: #fff; font: 400 12px/1.3 var(--bsf-body); text-align: left; }
.bsf-dgal__expand { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: #fff; color: var(--bsf-green); }
.bsf-dgal .bsf-arrow { width: 36px; height: 36px; }

.bsf-itin__map {
	position: sticky;
	top: calc(var(--bsf-sticky-top, 0px) + var(--bsf-tabbar-h, 78px) + 16px);
	height: min(760px, calc(100vh - var(--bsf-tabbar-h, 78px) - 48px));
	min-height: 440px;
	border-left: 1px solid var(--bsf-line);
	background: var(--bsf-map);
	overflow: hidden;
}
.bsf-routemap { position: absolute; inset: 0; background: var(--bsf-map); }
.bsf-itin__chip {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	max-width: calc(100% - 32px);
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--bsf-green);
	color: #fff;
	font: 700 12px/1.3 var(--bsf-body);
}
.bsf-itin__chip[hidden] { display: none; }
.bsf-itin__chipdot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--bsf-orange); }
.bsf-itin__note { margin: 28px 0 0; font: 400 13px/1.6 var(--bsf-body); color: var(--bsf-gray); }

/* ---------- map pop-up ---------- */
.bsf-mm { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: var(--bsf-green-dark); }
.bsf-mm[hidden] { display: none; }
.bsf-mm__head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 26px 60px 22px; color: #fff; }
.bsf-mm__head > :last-child { justify-self: end; }
.bsf-mm__title { display: flex; align-items: baseline; gap: 18px; min-width: 0; }
.bsf-mm__num { font: 400 24px/1 var(--bsf-serif); color: var(--bsf-orange); white-space: nowrap; }
.bsf-mm__name { font: 400 20px/1.2 var(--bsf-head); color: #fff; }
.bsf-mm__nav { display: inline-flex; align-items: center; gap: 18px; }
.bsf-mm__count { font: 400 13px/1 var(--bsf-body); letter-spacing: 0.12em; color: rgba(255, 255, 255, 0.85); }
.bsf-mm__sep { margin: 0 8px; opacity: 0.5; }
.bsf-mm__body { position: relative; flex: 1; margin: 0 60px 40px; background: var(--bsf-map); overflow: hidden; }
.bsf-mm__body .bsf-routemap { position: absolute; inset: 0; }

/* ---------- lightbox ---------- */
.bsf-lb { position: fixed; inset: 0; z-index: 100000; display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; background: var(--bsf-green-dark); color: #fff; }
.bsf-lb[hidden] { display: none; }
.bsf-lb__head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 26px 60px 0; }
.bsf-lb__head > :last-child { justify-self: end; }
.bsf-lb__title { display: flex; align-items: baseline; gap: 18px; min-width: 0; }
.bsf-lb__num { font: 400 24px/1 var(--bsf-serif); color: var(--bsf-orange); white-space: nowrap; }
.bsf-lb__num:empty { display: none; }
.bsf-lb__name { font: 400 20px/1.2 var(--bsf-head); color: #fff; }
.bsf-lb__count { font: 400 13px/1 var(--bsf-body); letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.85); }
.bsf-lb__sep { margin: 0 10px; opacity: 0.5; }
.bsf-lb__stage { position: relative; display: flex; align-items: center; justify-content: center; gap: 44px; padding: 28px 100px 0; min-height: 0; }
.bsf-lb__fig { display: flex; align-items: center; justify-content: center; flex: 1; min-width: 0; height: 100%; margin: 0; }
.bsf-lb__img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; transition: opacity 0.25s; }
.bsf-lb__img.is-loading { opacity: 0.35; }
.bsf-lb__nav {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}
.bsf-lb__nav:hover { background: #fff; color: var(--bsf-green); }
.bsf-lb__nav[hidden] { display: none; }
.bsf-lb__caption { margin: 0; padding: 14px 60px 0; min-height: 36px; width: min(1040px, 100%); box-sizing: border-box; align-self: center; margin-inline: auto; font: 400 13px/1.4 var(--bsf-body); color: rgba(255, 255, 255, 0.85); }
.bsf-lb__thumbs { display: flex; gap: 10px; justify-content: center; padding: 20px 60px 28px; overflow-x: auto; scrollbar-width: none; }
.bsf-lb__thumbs::-webkit-scrollbar { display: none; }
.bsf-lb__thumbs[hidden] { display: none; }
.bsf-lb__thumb { flex: none; width: 96px; height: 64px; padding: 0; border: 2px solid transparent; background: none; opacity: 0.6; cursor: pointer; transition: opacity 0.2s, border-color 0.2s; }
.bsf-lb__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bsf-lb__thumb:hover { opacity: 1; }
.bsf-lb__thumb.is-active { opacity: 1; border-color: var(--bsf-orange); }

/* ---------- video pop-up ---------- */
.bsf-vm { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 72px 60px 48px; background: rgba(8, 20, 13, 0.94); }
.bsf-vm[hidden] { display: none; }
.bsf-vm__close { position: absolute; top: 24px; right: 36px; }
.bsf-vm__frame { width: min(1180px, 100%); aspect-ratio: 16 / 9; background: #000; }
.bsf-vm__frame iframe,
.bsf-vm__frame video { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- lodging ---------- */
.bsf-lodging .bsf-h2 { font-size: 40px; }
.bsf-tiers { display: flex; gap: 0; margin-top: 34px; overflow-x: auto; scrollbar-width: none; }
.bsf-tiers::-webkit-scrollbar { display: none; }
.bsf-tier {
	display: flex;
	flex: 0 0 260px;
	flex-direction: column;
	gap: 6px;
	padding: 22px 28px 16px;
	border: 0;
	border-top: 3px solid transparent;
	background: transparent;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.2s;
}
.bsf-tier__name { font: 400 20px/1.2 var(--bsf-head); color: var(--bsf-muted); }
.bsf-tier__from { font: 400 13px/1.3 var(--bsf-body); color: #8c9a91; }
.bsf-tier:hover .bsf-tier__name { color: var(--bsf-green); }
.bsf-tier.is-active { border-top-color: var(--bsf-orange); background: #fff; }
.bsf-tier.is-active .bsf-tier__name { color: var(--bsf-green); }
.bsf-tierpanel { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; padding: 48px; background: #fff; }
.bsf-tierpanel[hidden] { display: none; }
.bsf-tierpanel:not(:has(.bsf-tierpanel__lodges)) { grid-template-columns: minmax(0, 360px); }
.bsf-tierpanel__from { display: block; font: 400 11px/1 var(--bsf-body); letter-spacing: 0.22em; text-transform: uppercase; color: var(--bsf-gray); }
.bsf-tierpanel__num { display: block; margin-top: 8px; font: 400 52px/1.15 var(--bsf-serif); color: var(--bsf-green); }
.bsf-tierpanel__unit { display: block; margin-top: 4px; font: 700 14px/1.3 var(--bsf-body); color: var(--bsf-green); }
.bsf-tierpanel__note { margin: 14px 0 0; font: 400 13px/1.65 var(--bsf-body); color: var(--bsf-gray); }
.bsf-tierpanel__price .bsf-btn { margin-top: 28px; }
.bsf-tierpanel__lodges { min-width: 0; padding-left: 48px; border-left: 1px solid var(--bsf-line); }
.bsf-tierpanel__lodges .bsf-scroller__track { gap: 24px; }
.bsf-lodge { flex: 0 0 min(330px, 82%); display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bsf-line); scroll-snap-align: start; }
.bsf-lodge__img { display: block; aspect-ratio: 330 / 230; background: var(--bsf-map); overflow: hidden; }
.bsf-lodge__img img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform 0.6s ease; }
.bsf-lodge:hover .bsf-lodge__img img { transform: scale(1.04); }
.bsf-lodge__body { padding: 24px 24px 26px; }
.bsf-lodge__loc { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font: 400 12px/1.3 var(--bsf-body); color: var(--bsf-gray); }
.bsf-lodge__loc .bsf-i { color: var(--bsf-orange); }
.bsf-lodge__name { margin: 0 0 22px; font: 400 22px/1.25 var(--bsf-head); color: var(--bsf-green); }

/* ---------- good to know ---------- */
.bsf-gtk { display: flex; flex-direction: column; gap: 12px; }
.bsf-gtk__item { background: #fff; border-radius: 8px; box-shadow: 0 2px 14px rgba(23, 63, 44, 0.06); }
.bsf-gtk__head { display: grid; grid-template-columns: 20px minmax(0, 1fr) 20px; align-items: center; gap: 18px; width: 100%; padding: 22px 26px; border: 0; border-radius: 8px; background: none; text-align: left; cursor: pointer; color: var(--bsf-green); }
.bsf-gtk__icon { display: inline-flex; color: var(--bsf-green); }
.bsf-gtk__title { font: 400 16px/1.3 var(--bsf-body); color: var(--bsf-green); }
.bsf-gtk__item.is-open .bsf-gtk__title { font-weight: 700; }
.bsf-gtk__chev { display: inline-flex; transition: transform 0.3s; }
.bsf-gtk__item.is-open .bsf-gtk__chev { transform: rotate(180deg); }
.bsf-gtk__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.35s ease; }
.bsf-gtk__item.is-open .bsf-gtk__panel { grid-template-rows: 1fr; }
.bsf-gtk__inner { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear 0.35s; }
.bsf-gtk__item.is-open .bsf-gtk__inner { visibility: visible; transition-delay: 0s; }
.bsf-gtk__body { margin: 0 26px; padding: 22px 0 28px 38px; border-top: 1px solid var(--bsf-line); font: 400 14.5px/1.6 var(--bsf-body); color: #4a6354; }
.bsf-gtk__body > :first-child { margin-top: 0; }
.bsf-gtk__body > :last-child { margin-bottom: 0; }
.bsf-gtk__body p { margin: 0 0 14px; }
.bsf-gtk__body a { color: var(--bsf-orange); }
.bsf-gtk__body strong { color: var(--bsf-green); }
.bsf-gtk__body ul { margin: 0; padding: 0; list-style: none; }
.bsf-gtk__body ul li { position: relative; margin: 0 0 12px; padding-left: 30px; break-inside: avoid; }
.bsf-gtk__body ul li::before { content: ""; position: absolute; left: 10px; top: 0.62em; width: 6px; height: 6px; border-radius: 50%; background: var(--bsf-orange); }
.bsf-gtk__item--included .bsf-gtk__body ul { columns: 2; column-gap: 40px; }
.bsf-gtk__item--included .bsf-gtk__body ul li::before {
	left: 0;
	top: 0.1em;
	width: 18px;
	height: 18px;
	border-radius: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23E56A2B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M8.2 12.3l2.6 2.6 5-5.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.bsf-gtk__body ol { margin: 0; padding-left: 48px; }
.bsf-gtk__body ol li { margin: 0 0 12px; padding-left: 4px; }
.bsf-gtk__body ol li::marker { color: var(--bsf-orange); font-weight: 700; }

/* ---------- contact card (enquiry section) ---------- */
.bsf-contact { margin-top: 14px; padding: 32px; background: #fff; }
.bsf-contact p { margin: 0; }
.bsf-contact__person { display: flex; align-items: center; gap: 18px; padding-bottom: 26px; border-bottom: 1px solid var(--bsf-line); }
.bsf-contact__person img { flex: none; width: 60px !important; height: 60px !important; max-width: none !important; border-radius: 50% !important; object-fit: cover; }
.bsf-contact__eyebrow { font: 400 10.5px/1.2 var(--bsf-body); letter-spacing: 0.22em; text-transform: uppercase; color: var(--bsf-orange); }
.bsf-contact__name { margin-top: 4px; font: 400 24px/1.2 var(--bsf-head); color: var(--bsf-green); }
.bsf-contact__role { margin-top: 4px; font: 400 13.5px/1.4 var(--bsf-body); color: var(--bsf-gray); }
.bsf-contact__row { display: flex; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--bsf-line); text-decoration: none; }
.bsf-contact__row:last-child { padding-bottom: 0; border-bottom: 0; }
.bsf-contact__icon { display: inline-flex; flex: none; color: var(--bsf-orange); }
.bsf-contact__text { display: flex; flex: 1; flex-direction: column; gap: 3px; min-width: 0; }
.bsf-contact__text strong { font: 700 16px/1.3 var(--bsf-body); color: var(--bsf-green); overflow-wrap: anywhere; }
.bsf-contact__text small { font: 400 12.5px/1.3 var(--bsf-body); color: var(--bsf-gray); }
.bsf-contact__go { font-size: 16px; color: #9aa6a0; transition: transform 0.2s, color 0.2s; }
.bsf-contact__row:hover .bsf-contact__go { transform: translateX(4px); color: var(--bsf-orange); }

/* ---------- enquiry ---------- */
.bsf-enq { padding: 36px; background: #fff; box-shadow: 0 24px 70px rgba(23, 63, 44, 0.09); }
.bsf-enq__tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 5px; margin-bottom: 36px; background: var(--bsf-beige); }
.bsf-enq__tab { height: 42px; border: 0; background: transparent; font: 400 12px/1 var(--bsf-body); letter-spacing: 0.2em; text-transform: uppercase; color: #7a8b80; cursor: pointer; transition: background-color 0.2s, color 0.2s; }
.bsf-enq__tab:hover { color: var(--bsf-green); }
.bsf-enq__tab.is-active { background: #fff; color: var(--bsf-green); font-weight: 700; }
.bsf-enq__panel[hidden] { display: none; }
.bsf-enq__title { margin: 0; font: 400 24px/1.2 var(--bsf-head); color: var(--bsf-green); }
.bsf-enq__intro { margin: 12px 0 24px; font: 400 14px/1.6 var(--bsf-body); color: var(--bsf-gray); }

.bsf-enq .fluentform .ff-el-group { margin-bottom: 16px; }
.bsf-enq .fluentform .ff-el-input--label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bsf-enq .fluentform .ff-el-form-control {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--bsf-line);
	border-radius: 0;
	background: var(--bsf-cream);
	box-shadow: none;
	font: 400 15px/1.3 var(--bsf-body);
	color: var(--bsf-green);
}
.bsf-enq .fluentform select.ff-el-form-control {
	height: 48px !important;
	min-height: 48px;
	appearance: none;
	-webkit-appearance: none;
	padding-right: 40px;
	background-color: var(--bsf-cream);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23173F2C' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
}
.bsf-enq .fluentform textarea.ff-el-form-control { height: 96px; padding: 14px 16px; resize: vertical; }
.bsf-enq .fluentform .ff-el-form-control::placeholder { color: var(--bsf-gray); opacity: 1; }
.bsf-enq .fluentform .ff-el-form-control:focus { border-color: var(--bsf-green); background-color: #fff; box-shadow: none; outline: 0; }
.bsf-enq .fluentform .ff-t-container { gap: 16px; }
.bsf-enq .fluentform .ff-el-form-check { display: inline-flex; margin: 0 24px 0 0; }
.bsf-enq .fluentform .ff-el-form-check-label { display: inline-flex; align-items: center; gap: 10px; font: 400 15px/1.3 var(--bsf-body); color: var(--bsf-green); }
.bsf-enq .fluentform input[type="radio"] { accent-color: var(--bsf-green); width: 16px; height: 16px; margin: 0; }
.bsf-enq .fluentform .ff-el-group.ff_list_inline { margin-bottom: 14px; }
.bsf-enq .fluentform .ff-custom_html,
.bsf-enq .fluentform .ff-custom_html p { font: 400 12px/1.5 var(--bsf-body); color: var(--bsf-gray); }
.bsf-enq .fluentform .ff-btn-submit,
.bsf-enq .fluentform .ff-btn.ff-btn-submit {
	height: 48px;
	padding: 0 26px;
	border: 0;
	border-radius: 0 !important;
	background-color: var(--bsf-green) !important;
	font: 700 12px/1 var(--bsf-body);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #fff !important;
	cursor: pointer;
	transition: background-color 0.2s;
}
.bsf-enq .fluentform .ff-btn-submit:hover,
.bsf-enq .fluentform .ff-btn.ff-btn-submit:hover { background-color: var(--bsf-orange) !important; opacity: 1; }
.bsf-enq .ff-message-success { padding: 22px; border: 1px solid var(--bsf-line); border-radius: 0; background: var(--bsf-beige); color: var(--bsf-green); font: 400 15px/1.6 var(--bsf-body); }
.bsf-enq .fluentform .text-danger,
.bsf-enq .fluentform .error { font: 400 12px/1.4 var(--bsf-body); color: #b3261e; }

/* ---------- related tours: heading link, cards, carousel controls ---------- */
.bsf-seeall { display: inline-flex; align-items: center; gap: 14px; font: 400 16px/1 var(--bsf-body); color: #fff; text-decoration: none; }
.bsf-seeall__box { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid rgba(255, 255, 255, 0.8); transition: background-color 0.2s, color 0.2s; }
.bsf-seeall:hover { color: #fff; }
.bsf-seeall:hover .bsf-seeall__box { background: #fff; color: var(--bsf-green); }
.bsf-card { cursor: pointer; }
.bsf-card .elementor-heading-title a { color: inherit; text-decoration: none; }
.bsf-card .elementor-heading-title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.bsf-card__arrow { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid rgba(255, 255, 255, 0.85); color: #fff; transition: background-color 0.2s, color 0.2s; }
.bsf-card:hover .bsf-card__arrow { background: #fff; color: var(--bsf-green); }
.bsf-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 6px; background: rgba(20, 44, 32, 0.6); backdrop-filter: blur(4px); font: 400 12px/1.2 var(--bsf-body); color: #fff; }
.bsf-cardmeta { display: block; font: 400 13px/1.4 var(--bsf-body); color: rgba(255, 255, 255, 0.85); }
.bsf-cardprice { display: flex; flex-direction: column; align-items: flex-end; text-align: right; color: #fff; }
.bsf-cardprice__from { font: 400 11px/1 var(--bsf-body); color: rgba(255, 255, 255, 0.75); }
.bsf-cardprice__num { margin-top: 2px; font: 400 26px/1.1 var(--bsf-serif); color: #fff; white-space: nowrap; }
.bsf-swctl { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 8px; }
.bsf-swctl[hidden] { display: none; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
	.bsf-glance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 0; }
	.bsf-glance__item { padding: 0 20px; }
	.bsf-glance__item:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
	.bsf-tierpanel { grid-template-columns: 200px minmax(0, 1fr); gap: 32px; padding: 36px; }
	.bsf-tierpanel__lodges { padding-left: 32px; }
	.bsf-heroprice__num { font-size: 44px; }
}
@media (max-width: 1024px) {
	.bsf-itin__body { grid-template-columns: minmax(0, 1fr); }
	.bsf-itin__map { display: none; }
	.bsf-itin__hint { display: none; }
	.bsf-itin__viewmap { display: inline-flex; }
	.bsf-itin__toolbar { grid-template-columns: 1fr auto auto; padding: 14px 24px; }
	.bsf-itin__days { padding: 0 24px 8px; }
	.bsf-tabbar__list { gap: 26px; }
	.bsf-barprice__from,
	.bsf-barprice__num { display: none; }
	.bsf-mm__head { padding: 20px 24px 16px; }
	.bsf-mm__body { margin: 0 24px 24px; }
	.bsf-lb__head { padding: 20px 24px 0; }
	.bsf-lb__stage { padding: 20px 24px 0; gap: 16px; }
	.bsf-lb__caption { padding: 12px 24px 0; }
	.bsf-lb__thumbs { padding: 16px 24px 20px; }
}
@media (max-width: 767px) {
	.bsf-eyebrow { font-size: 10.5px; }
	.bsf-h2 { font-size: 30px; }
	.bsf-lodging .bsf-h2 { font-size: 30px; }
	.bsf-hero__bar { bottom: 20px; }
	.bsf-hero__bar-in { grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding-top: 18px; }
	.bsf-hero__bar-in .bsf-counter { display: none; }
	.bsf-hero__links { flex-wrap: wrap; gap: 14px 18px; min-width: 0; }
	.bsf-hero__video,
	.bsf-hero__photos { gap: 10px; font-size: 10.5px; letter-spacing: 0.14em; }
	.bsf-hero__play { width: 34px; height: 34px; }
	.bsf-hero__divider { display: none; }
	.bsf-arrows--light .bsf-arrow { width: 38px; height: 38px; }
	.bsf-heroprice { align-items: flex-start; text-align: left; }
	.bsf-heroprice__num { font-size: 40px; }
	.bsf-glance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bsf-glance__item,
	.bsf-glance__item:nth-child(3n + 1) { padding: 0 14px; border-left: 1px solid var(--bsf-line); }
	.bsf-glance__item:nth-child(2n + 1) { padding-left: 0; border-left: 0; }
	.bsf-action { padding: 0 18px; }
	.bsf-tabbar__in { min-height: 62px; }
	.bsf-tabbar__list a { height: 62px; }
	.bsf-tabbar__in .bsf-btn { height: 40px; padding: 0 16px; font-size: 11px; }
	.bsf-itin__toolbar { grid-template-columns: 1fr auto; row-gap: 12px; }
	.bsf-itin__count { grid-column: 1 / -1; }
	.bsf-itin__toolbar .bsf-itin__viewmap { grid-column: 1; justify-self: start; }
	.bsf-itin__toolbar > :last-child { grid-column: 2; }
	.bsf-day { padding: 22px 0; }
	.bsf-day__head { grid-template-columns: 58px minmax(0, 1fr) 22px; }
	.bsf-day__num { font-size: 20px; }
	.bsf-day__title { font-size: 20px; line-height: 26px; }
	.bsf-day__content { padding: 18px 0 0; }
	.bsf-facts { grid-template-columns: 1fr; padding: 20px; gap: 16px; }
	.bsf-dgal__slide { flex-basis: 84%; }
	.bsf-scroller__controls { gap: 14px; flex-wrap: wrap; }
	.bsf-tier { flex-basis: 200px; padding: 18px 20px 12px; }
	.bsf-tierpanel { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 28px 22px; }
	.bsf-tierpanel__lodges { padding-left: 0; border-left: 0; padding-top: 28px; border-top: 1px solid var(--bsf-line); }
	.bsf-tierpanel__num { font-size: 44px; }
	.bsf-gtk__head { padding: 18px 18px; gap: 14px; }
	.bsf-gtk__body { margin: 0 18px; padding-left: 0; }
	.bsf-gtk__item--included .bsf-gtk__body ul { columns: 1; }
	.bsf-contact { padding: 24px 20px; }
	.bsf-enq { padding: 24px 20px; }
	.bsf-enq__tab { letter-spacing: 0.12em; font-size: 11px; }
	.bsf-lb__stage { gap: 0; padding: 16px 12px 0; position: relative; }
	.bsf-lb__nav { position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; margin-top: -22px; background: rgba(12, 32, 21, 0.6); }
	.bsf-lb__nav--prev { left: 14px; }
	.bsf-lb__nav--next { right: 14px; }
	.bsf-lb__head { grid-template-columns: 1fr auto; padding: 16px 16px 0; }
	.bsf-lb__count { display: none; }
	.bsf-lb__name { font-size: 16px; }
	.bsf-lb__thumb { width: 72px; height: 48px; }
	.bsf-vm { padding: 64px 14px 24px; }
	.bsf-vm__close { right: 14px; top: 12px; }
	.bsf-mm__head { grid-template-columns: minmax(0, 1fr) auto; row-gap: 14px; padding: 16px 16px 12px; }
	.bsf-mm__nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; }
	.bsf-mm__head > :last-child { grid-column: 2; grid-row: 1; }
	.bsf-mm__title { flex-direction: column; gap: 6px; align-items: flex-start; }
	.bsf-mm__body { margin: 0 12px 16px; }
}
