.jlvb-location-page,
.jlvb-location-collection {
	--jlvb-location-espresso: #443a33;
	--jlvb-location-brown: #504238;
	--jlvb-location-bronze: #8a6b3d;
	--jlvb-location-champagne: #c8b38b;
	--jlvb-location-ivory: #f4efe6;
	--jlvb-location-paper: #faf6ee;
	--jlvb-navy: #443a33;
	--jlvb-ivory: #f4efe6;
	--jlvb-red: #e6534e;
	--jlvb-action: #8a6b3d;
	--jlvb-action-hover: #6f542f;
	width: 100%;
	overflow: hidden;
	color: var(--jlvb-location-espresso);
	background: var(--jlvb-location-paper);
	font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
}

.jlvb-location-page *,
.jlvb-location-page *::before,
.jlvb-location-page *::after,
.jlvb-location-collection *,
.jlvb-location-collection *::before,
.jlvb-location-collection *::after {
	box-sizing: border-box;
}

.jlvb-location-page h1,
.jlvb-location-page h2,
.jlvb-location-page h3,
.jlvb-location-collection h1,
.jlvb-location-collection h2,
.jlvb-location-collection h3 {
	font-family: "Playfair Display", "Times New Roman", serif;
}

.jlvb-location-kicker {
	margin: 0 0 14px !important;
	color: var(--jlvb-location-bronze) !important;
	font: 700 11px/1.2 "Manrope", "Helvetica Neue", Arial, sans-serif !important;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.jlvb-location-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	color: rgba(244, 239, 230, .72);
	font-size: 12px;
}

.jlvb-location-breadcrumbs a,
.jlvb-location-breadcrumbs strong {
	color: inherit !important;
	font-weight: 500;
	text-decoration: none;
}

.jlvb-location-hero {
	position: relative;
	min-height: min(88vh, 920px);
	color: var(--jlvb-location-ivory);
	background: linear-gradient(145deg, #504238, #302a25);
}

.jlvb-location-hero.has-image {
	background-image: linear-gradient(90deg, rgba(38, 31, 26, .84) 0%, rgba(38, 31, 26, .56) 48%, rgba(38, 31, 26, .38) 100%), var(--jlvb-location-hero);
	background-position: var(--jlvb-location-hero-position, center center);
	background-size: cover;
}

.jlvb-location-hero::after {
	content: "";
	position: absolute;
	right: clamp(26px, 5vw, 90px);
	bottom: clamp(24px, 4vw, 64px);
	width: clamp(80px, 8vw, 132px);
	aspect-ratio: 1;
	border: 1px solid rgba(244, 239, 230, .48);
	border-radius: 50%;
	opacity: .65;
}

.jlvb-location-hero__inner {
	position: relative;
	z-index: 1;
	width: min(1540px, calc(100% - 48px));
	min-height: inherit;
	margin: 0 auto;
	padding: clamp(160px, 12vw, 210px) 0 clamp(118px, 10vw, 160px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: clamp(74px, 10vh, 120px);
}

.jlvb-location-hero__content {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(340px, .72fr);
	align-items: end;
	gap: clamp(60px, 9vw, 150px);
}

.jlvb-location-hero__copy {
	max-width: 850px;
}

.jlvb-location-hero .jlvb-location-kicker {
	color: var(--jlvb-location-champagne) !important;
}

.jlvb-location-hero h1 {
	max-width: 850px;
	margin: 0 !important;
	color: var(--jlvb-location-ivory) !important;
	font: 400 clamp(60px, 6.1vw, 102px)/.9 "Playfair Display", "Times New Roman", serif !important;
	letter-spacing: -.045em;
}

.jlvb-location-hero__copy > p:not(.jlvb-location-kicker) {
	max-width: 670px;
	margin: 30px 0 0 !important;
	color: rgba(244, 239, 230, .86) !important;
	font: 400 clamp(16px, 1.2vw, 20px)/1.55 "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

.jlvb-location-hero__count {
	min-height: 46px;
	margin-top: 34px;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(244, 239, 230, .5);
	border-radius: 999px;
	color: var(--jlvb-location-ivory);
	background: rgba(244, 239, 230, .1);
	backdrop-filter: blur(14px);
	font-size: 13px;
}

.jlvb-location-hero__note {
	max-width: 440px;
	padding: 34px 34px 31px;
	border: 1px solid rgba(244, 239, 230, .3);
	border-radius: 26px;
	background: rgba(48, 42, 37, .38);
	box-shadow: 0 24px 55px rgba(26, 21, 18, .16);
	backdrop-filter: blur(13px);
}

.jlvb-location-hero__note h2 {
	margin: 0 !important;
	color: var(--jlvb-location-ivory) !important;
	font: 400 clamp(34px, 3vw, 48px)/.98 "Playfair Display", "Times New Roman", serif !important;
}

.jlvb-location-hero__note > div p {
	margin: 20px 0 0 !important;
	color: rgba(244, 239, 230, .82) !important;
	font: 400 14px/1.65 "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

.jlvb-location-booking {
	position: sticky;
	z-index: 70;
	top: 118px;
	height: 112px;
	margin-top: -56px;
	pointer-events: none;
}

.admin-bar .jlvb-location-booking {
	top: 144px;
}

.jlvb-location-booking__inner {
	width: min(1540px, calc(100% - 48px));
	margin: 0 auto;
	pointer-events: auto;
}

.jlvb-location-booking .jlvb-search-wrap {
	left: 0;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	transform: none;
}

.jlvb-location-story h2,
.jlvb-location-more h2 {
	margin: 0 !important;
	color: var(--jlvb-location-espresso) !important;
	font: 400 clamp(48px, 4.7vw, 74px)/.98 "Playfair Display", "Times New Roman", serif !important;
	letter-spacing: -.035em;
}

.jlvb-location-story__inner > div p {
	margin: 28px 0 0 !important;
	color: rgba(68, 58, 51, .78) !important;
	font: 400 17px/1.72 "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

.jlvb-location-top {
	position: relative;
	width: 100%;
	margin: 0;
	padding: clamp(112px, 9vw, 158px) 24px clamp(105px, 9vw, 155px);
	overflow: hidden;
	background: var(--jlvb-location-ivory);
}

.jlvb-location-top::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: clamp(430px, 45%, 500px);
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--jlvb-location-espresso);
}

.jlvb-location-top__inner {
	position: relative;
	z-index: 1;
	width: min(1540px, 100%);
	margin: 0 auto;
}

.jlvb-location-top__head {
	margin-bottom: clamp(42px, 4vw, 66px);
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
}

.jlvb-location-top .jlvb-location-kicker {
	color: var(--jlvb-location-bronze) !important;
}

.jlvb-location-top h2 {
	margin: 0 !important;
	color: var(--jlvb-location-espresso) !important;
	font: 400 clamp(49px, 4.8vw, 76px)/.95 "Playfair Display", "Times New Roman", serif !important;
	letter-spacing: -.035em;
}

.jlvb-location-top__head > div > p:last-child {
	margin: 20px 0 0 !important;
	color: rgba(68, 58, 51, .72) !important;
	font: 400 15px/1.5 "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

.jlvb-location-top .jlvb-slider__track {
	padding-inline: 0;
	scroll-padding-inline: 0;
}

.jlvb-location-top:not(.jlvb-location-experience) {
	padding-bottom: clamp(60px, 4vw, 74px);
}

.jlvb-location-experience {
	padding-top: clamp(58px, 3.4vw, 70px);
	padding-bottom: clamp(58px, 3.4vw, 70px);
}

.jlvb-location-experience::before {
	top: clamp(350px, 44%, 390px);
}

.jlvb-location-experience .jlvb-location-top__head {
	margin-bottom: clamp(30px, 2.2vw, 40px);
}

.jlvb-location-experience .jlvb-location-top__footer {
	margin-top: 30px;
}

.jlvb-location-slider-progress {
	width: min(900px, 100%);
	margin: clamp(30px, 3vw, 46px) 0 0;
}

.jlvb-location-experience--inverse {
	background: var(--jlvb-location-espresso);
}

.jlvb-location-experience--inverse::before {
	background: var(--jlvb-location-paper);
}

.jlvb-location-experience--inverse .jlvb-location-kicker {
	color: var(--jlvb-location-champagne) !important;
}

.jlvb-location-experience--inverse h2 {
	color: var(--jlvb-location-ivory) !important;
}

.jlvb-location-experience--inverse .jlvb-location-top__head > div > p:last-child {
	color: rgba(244, 239, 230, .72) !important;
}

.jlvb-location-experience--light {
	background: var(--jlvb-location-paper);
}

.jlvb-location-experience--light::before {
	display: none;
}

.jlvb-location-experience--inverse .jlvb-card,
.jlvb-location-experience--inverse .jlvb-card__specs,
.jlvb-location-experience--inverse .jlvb-card__rating,
.jlvb-location-experience--inverse .jlvb-card__location,
.jlvb-location-experience--inverse .jlvb-card__title,
.jlvb-location-experience--inverse .jlvb-card__title a,
.jlvb-location-experience--inverse .jlvb-card__title a:hover,
.jlvb-location-experience--inverse .jlvb-card__title a:focus,
.jlvb-location-experience--light .jlvb-card,
.jlvb-location-experience--light .jlvb-card__specs,
.jlvb-location-experience--light .jlvb-card__rating,
.jlvb-location-experience--light .jlvb-card__location,
.jlvb-location-experience--light .jlvb-card__title,
.jlvb-location-experience--light .jlvb-card__title a,
.jlvb-location-experience--light .jlvb-card__title a:hover,
.jlvb-location-experience--light .jlvb-card__title a:focus {
	color: var(--jlvb-location-espresso) !important;
	-webkit-text-fill-color: var(--jlvb-location-espresso);
}

.jlvb-location-experience--inverse .jlvb-destinations__progress-rail,
.jlvb-location-experience--light .jlvb-destinations__progress-rail {
	background: rgba(68, 58, 51, .18);
}

.jlvb-location-experience--inverse .jlvb-destinations__progress-thumb,
.jlvb-location-experience--light .jlvb-destinations__progress-thumb {
	background: var(--jlvb-location-bronze);
	box-shadow: 0 3px 14px rgba(42, 33, 27, .2);
}

.jlvb-location-experience--inverse .jlvb-destinations__progress-control:hover .jlvb-destinations__progress-rail,
.jlvb-location-experience--inverse .jlvb-destinations__progress-control:focus-visible .jlvb-destinations__progress-rail,
.jlvb-location-experience--inverse .jlvb-destinations__progress-control.is-dragging .jlvb-destinations__progress-rail,
.jlvb-location-experience--light .jlvb-destinations__progress-control:hover .jlvb-destinations__progress-rail,
.jlvb-location-experience--light .jlvb-destinations__progress-control:focus-visible .jlvb-destinations__progress-rail,
.jlvb-location-experience--light .jlvb-destinations__progress-control.is-dragging .jlvb-destinations__progress-rail {
	background: rgba(68, 58, 51, .28);
}

.jlvb-location-experience--inverse .jlvb-destinations__progress-control:hover .jlvb-destinations__progress-thumb,
.jlvb-location-experience--inverse .jlvb-destinations__progress-control:focus-visible .jlvb-destinations__progress-thumb,
.jlvb-location-experience--inverse .jlvb-destinations__progress-control.is-dragging .jlvb-destinations__progress-thumb,
.jlvb-location-experience--light .jlvb-destinations__progress-control:hover .jlvb-destinations__progress-thumb,
.jlvb-location-experience--light .jlvb-destinations__progress-control:focus-visible .jlvb-destinations__progress-thumb,
.jlvb-location-experience--light .jlvb-destinations__progress-control.is-dragging .jlvb-destinations__progress-thumb {
	background: var(--jlvb-location-espresso);
}

.jlvb-location-page .jlvb-card__discount,
.jlvb-location-page .jlvb-card__discount del {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.jlvb-location-top__footer {
	margin-top: 48px;
	display: flex;
	justify-content: flex-end;
}

.jlvb-location-top__footer a,
.jlvb-location-story a {
	min-height: 50px;
	padding: 0 24px;
	display: inline-flex;
	align-items: center;
	gap: 16px;
	border-radius: 999px;
	color: var(--jlvb-location-ivory) !important;
	background: var(--jlvb-location-bronze);
	font: 600 13px/1 "Manrope", "Helvetica Neue", Arial, sans-serif;
	text-decoration: none;
	transition: transform .18s ease, background .18s ease;
}

.jlvb-location-top__footer a:hover,
.jlvb-location-story a:hover {
	background: #6f542f;
	transform: translateY(-2px);
}

.jlvb-location-story {
	padding: clamp(100px, 9vw, 160px) 24px;
	background: var(--jlvb-location-paper);
}

.jlvb-location-story__inner {
	width: min(1120px, 100%);
	margin: 0 auto;
	text-align: center;
}

.jlvb-location-story__inner > div {
	max-width: 820px;
	margin: 0 auto;
}

.jlvb-location-story a {
	margin-top: 38px;
}

.jlvb-location-more {
	padding: clamp(84px, 7vw, 126px) 24px clamp(105px, 9vw, 150px);
	background: var(--jlvb-location-ivory);
}

.jlvb-location-more__inner {
	width: min(1540px, 100%);
	margin: 0 auto;
}

.jlvb-location-more header {
	margin-bottom: 48px;
}

.jlvb-location-more__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.jlvb-location-more__grid a {
	min-width: 0;
	color: var(--jlvb-location-espresso) !important;
	text-decoration: none;
}

.jlvb-location-more__grid a > span {
	width: 100%;
	aspect-ratio: .82 / 1;
	display: block;
	overflow: hidden;
	border-radius: 24px;
	background: #d8d0c4;
}

.jlvb-location-more__grid img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform .65s cubic-bezier(.2,.7,.2,1);
}

.jlvb-location-more__grid a:hover img {
	transform: scale(1.045);
}

.jlvb-location-more__grid strong {
	margin-top: 17px;
	display: block;
	font: 400 29px/1.05 "Playfair Display", "Times New Roman", serif;
}

.jlvb-location-more__grid small {
	margin-top: 7px;
	display: block;
	color: rgba(68, 58, 51, .65);
	font-size: 12px;
}

.jlvb-location-empty {
	width: 100%;
	padding: 65px 32px;
	border: 1px solid rgba(200, 179, 139, .38);
	border-radius: 24px;
	color: var(--jlvb-location-ivory);
	text-align: center;
}

.jlvb-location-empty h2,
.jlvb-location-empty h3 {
	margin: 0;
	color: inherit !important;
	font-size: 36px;
}

.jlvb-location-empty p {
	margin: 12px 0 0;
	color: inherit;
	opacity: .7;
}

/* Dedicated See all collection: light editorial hero, floating search and centred inventory. */
body.jlvb-location-collection-active,
body.jlvb-location-collection-active #page,
body.jlvb-location-collection-active .site,
body.jlvb-location-collection-active .site-content,
body.jlvb-location-collection-active #content,
body.jlvb-location-collection-active main {
	background-color: #faf6ee !important;
}

.jlvb-location-collection {
	min-height: 100vh;
	background: var(--jlvb-location-paper);
}

.jlvb-location-collection__hero {
	padding: clamp(170px, 13vw, 215px) 24px clamp(102px, 8vw, 138px);
	color: var(--jlvb-location-espresso);
	background: var(--jlvb-location-paper);
}

.jlvb-location-collection__hero-inner,
.jlvb-location-collection__villas {
	width: min(1540px, 100%);
	margin: 0 auto;
}

.jlvb-location-collection__hero .jlvb-location-breadcrumbs {
	margin-bottom: clamp(52px, 5vw, 76px);
	color: rgba(68, 58, 51, .62);
}

.jlvb-location-collection__hero .jlvb-location-kicker {
	color: var(--jlvb-location-bronze) !important;
}

.jlvb-location-collection__hero-content {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
	align-items: end;
	gap: clamp(64px, 9vw, 150px);
}

/* Experience and Special Offer pages use a wider visual and lift the copy
 * away from the former bottom alignment. */
body.jlvb-experience-collection-active .jlvb-location-collection__hero-content,
body.jlvb-special-offer-collection-active .jlvb-location-collection__hero-content {
	grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
	align-items: center;
	gap: clamp(44px, 6vw, 96px);
}

body.jlvb-experience-collection-active .jlvb-location-collection__hero-copy,
body.jlvb-special-offer-collection-active .jlvb-location-collection__hero-copy {
	transform: translateY(-28px);
}

.jlvb-location-collection__hero-copy {
	max-width: 900px;
}

.jlvb-location-collection__hero h1 {
	max-width: 920px;
	margin: 0 !important;
	color: var(--jlvb-location-espresso) !important;
	font: 400 clamp(58px, 5.8vw, 94px)/.92 "Playfair Display", "Times New Roman", serif !important;
	letter-spacing: -.045em;
}

.jlvb-location-collection__hero-copy > p:not(.jlvb-location-kicker) {
	max-width: 660px;
	margin: 27px 0 0 !important;
	color: rgba(68, 58, 51, .72) !important;
	font: 400 16px/1.62 "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

.jlvb-location-collection__hero-count {
	min-height: 44px;
	margin-top: 28px;
	padding: 0 19px;
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(138, 107, 61, .34);
	border-radius: 999px;
	color: var(--jlvb-location-espresso);
	background: rgba(244, 239, 230, .72);
	font-size: 13px;
}

.jlvb-location-collection__hero-note {
	max-width: 480px;
	padding: 30px 0 4px 34px;
	border-left: 1px solid rgba(138, 107, 61, .38);
}

.jlvb-location-collection__hero-note h2 {
	margin: 0 !important;
	color: var(--jlvb-location-espresso) !important;
	font: 400 clamp(38px, 3vw, 51px)/.98 "Playfair Display", "Times New Roman", serif !important;
	letter-spacing: -.025em;
}

.jlvb-location-collection__hero-note > div p {
	margin: 18px 0 0 !important;
	color: rgba(68, 58, 51, .75) !important;
	font: 400 14px/1.68 "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

.jlvb-location-collection__hero-note > a {
	margin-top: 20px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--jlvb-location-bronze) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.jlvb-location-collection__hero-visual {
	position: relative;
	min-height: 390px;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 30px;
	background: #e7dfd2;
	box-shadow: 0 30px 70px rgba(68, 58, 51, .18);
}

.jlvb-location-collection__hero-visual::after {
	content: "";
	position: absolute;
	inset: 38% 0 0;
	background: linear-gradient(180deg, transparent, rgba(43, 35, 29, .74));
	pointer-events: none;
}

.jlvb-location-collection__hero-visual img {
	width: 100%;
	height: 100%;
	min-height: 390px;
	display: block;
	object-fit: cover;
}

body.jlvb-experience-collection-active .jlvb-location-collection__hero-visual,
body.jlvb-special-offer-collection-active .jlvb-location-collection__hero-visual,
body.jlvb-experience-collection-active .jlvb-location-collection__hero-visual img,
body.jlvb-special-offer-collection-active .jlvb-location-collection__hero-visual img {
	height: clamp(460px, 34vw, 590px);
	min-height: 460px;
}

.jlvb-location-collection__hero-visual figcaption {
	position: absolute;
	z-index: 1;
	right: 24px;
	bottom: 22px;
	left: 24px;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
	color: #fffaf2;
}

.jlvb-location-collection__hero-visual figcaption span {
	font: 650 10px/1.2 "Manrope", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.jlvb-location-collection__hero-visual figcaption strong {
	max-width: 58%;
	font: 500 14px/1.25 "Manrope", "Helvetica Neue", Arial, sans-serif;
	text-align: right;
}

.jlvb-location-diagonal-arrow {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	display: block;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.jlvb-location-collection__booking {
	background: transparent !important;
}

.jlvb-location-collection__intro {
	width: min(1540px, calc(100% - 48px));
	margin: clamp(64px, 6vw, 96px) auto 0;
	padding: clamp(34px, 4vw, 58px) 0;
	display: grid;
	grid-template-columns: minmax(280px, .75fr) minmax(420px, 1.25fr);
	gap: clamp(54px, 8vw, 130px);
	border-top: 1px solid rgba(68, 58, 51, .17);
	border-bottom: 1px solid rgba(68, 58, 51, .17);
}

.jlvb-location-collection__intro h2 {
	margin: 0 !important;
	color: var(--jlvb-location-espresso) !important;
	font: 400 clamp(42px, 4vw, 66px)/.98 "Playfair Display", "Times New Roman", serif !important;
	letter-spacing: -.035em;
}

.jlvb-location-collection__intro > div:last-child p {
	max-width: 760px;
	margin: 0 !important;
	color: rgba(68, 58, 51, .74) !important;
	font: 400 clamp(15px, 1.15vw, 18px)/1.72 "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

.jlvb-location-collection__villas {
	padding: clamp(76px, 6vw, 104px) 24px clamp(110px, 9vw, 160px);
	background: var(--jlvb-location-paper);
}

.jlvb-location-collection__bar {
	margin-bottom: clamp(46px, 4vw, 64px);
	padding-bottom: 24px;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	border-bottom: 1px solid rgba(68, 58, 51, .17);
}

.jlvb-location-collection__bar > div {
	display: flex;
	align-items: baseline;
	gap: 13px;
}

.jlvb-location-collection__bar span {
	color: var(--jlvb-location-bronze);
	font: 400 42px/1 "Playfair Display", "Times New Roman", serif;
}

.jlvb-location-collection__bar p {
	margin: 0 !important;
	color: rgba(68, 58, 51, .68) !important;
	font-size: 13px !important;
}

.jlvb-location-collection__bar > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--jlvb-location-espresso) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.jlvb-location-collection__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: clamp(58px, 5vw, 80px) clamp(24px, 2.4vw, 40px);
}

.jlvb-location-collection__grid .jlvb-card {
	flex: 0 1 440px;
	width: 100%;
	max-width: 440px;
	min-width: 0;
	color: var(--jlvb-location-espresso);
}

.jlvb-location-collection__grid .jlvb-card__media {
	aspect-ratio: 1.58 / 1;
	border-radius: 24px;
}

.jlvb-location-collection__grid .jlvb-card__body {
	padding: 16px 10px 0;
}

.jlvb-location-collection__grid .jlvb-card__specs,
.jlvb-location-collection__grid .jlvb-card__rating,
.jlvb-location-collection__grid .jlvb-card__location,
.jlvb-location-collection__grid .jlvb-card__title,
.jlvb-location-collection__grid .jlvb-card__title a,
.jlvb-location-collection__grid .jlvb-card__title a:hover,
.jlvb-location-collection__grid .jlvb-card__title a:focus {
	color: var(--jlvb-location-espresso) !important;
	-webkit-text-fill-color: var(--jlvb-location-espresso);
}

.jlvb-location-collection__grid .jlvb-card__title {
	font-size: clamp(31px, 2.4vw, 39px);
}

.jlvb-location-collection .jlvb-location-empty {
	flex: 0 0 100%;
	color: var(--jlvb-location-espresso);
}

.jlvb-location-collection .jlvb-card__discount,
.jlvb-location-collection .jlvb-card__discount del {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.jlvb-location-pagination {
	margin-top: clamp(70px, 7vw, 110px);
}

.jlvb-location-pagination ul {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
}

.jlvb-location-pagination a,
.jlvb-location-pagination span {
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(68, 58, 51, .22);
	border-radius: 999px;
	color: var(--jlvb-location-espresso) !important;
	font: 600 12px/1 "Manrope", "Helvetica Neue", Arial, sans-serif;
	text-decoration: none;
}

.jlvb-location-pagination .current,
.jlvb-location-pagination a:hover {
	border-color: var(--jlvb-location-bronze);
	background: var(--jlvb-location-bronze);
	color: var(--jlvb-location-ivory) !important;
}

.jlvb-location-not-found {
	min-height: 70vh;
	padding: 220px 24px 100px;
	color: #f4efe6;
	background: #443a33;
	text-align: center;
}

@media (max-width: 1220px) {
	.jlvb-location-booking {
		position: relative;
		top: auto;
		height: auto;
		margin-top: -56px;
		padding-bottom: 58px;
	}
}

@media (max-width: 1100px) {
	.jlvb-location-hero__content {
		grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
		gap: 44px;
	}

	.jlvb-location-more__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jlvb-location-collection__hero-content {
		grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
		gap: 48px;
	}

	.jlvb-location-collection__hero-visual,
	.jlvb-location-collection__hero-visual img {
		min-height: 340px;
	}

}

@media (max-width: 767px) {
	.jlvb-location-hero {
		min-height: 790px;
	}

	.jlvb-location-hero.has-image {
		background-image: linear-gradient(180deg, rgba(38,31,26,.52), rgba(38,31,26,.84)), var(--jlvb-location-hero);
	}

	.jlvb-location-hero__inner {
		width: calc(100% - 36px);
		padding: 140px 0 88px;
		align-items: center;
		gap: 54px;
		text-align: center;
	}

	.jlvb-location-breadcrumbs {
		justify-content: center;
		text-align: center;
	}

	.jlvb-location-hero__content {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 34px;
		width: 100%;
	}

	.jlvb-location-hero__copy {
		width: 100%;
		margin-inline: auto;
		text-align: center;
	}

	.jlvb-location-hero h1,
	.jlvb-location-collection__hero h1 {
		font-size: clamp(52px, 15vw, 70px) !important;
		line-height: .92 !important;
	}

	.jlvb-location-hero__copy > p:not(.jlvb-location-kicker) {
		margin-top: 22px !important;
		font-size: 15px !important;
	}

	.jlvb-location-hero__count {
		margin-top: 24px;
		margin-inline: auto;
	}

	.jlvb-location-hero__note {
		max-width: none;
		padding: 24px 24px 22px;
		border-radius: 21px;
		text-align: center;
	}

	.jlvb-location-hero__note h2 {
		font-size: 35px !important;
	}

	.jlvb-location-hero__note > div p {
		margin-top: 14px !important;
		font-size: 13px !important;
		line-height: 1.55 !important;
	}

	.jlvb-location-booking {
		position: relative;
		top: auto;
		height: 0;
		min-height: 0;
		margin: 0;
		padding: 0;
	}

	.jlvb-location-booking__inner {
		width: 100%;
	}

	.jlvb-location-story h2,
	.jlvb-location-more h2 {
		font-size: 45px !important;
	}

	.jlvb-location-story__inner > div p {
		font-size: 15px !important;
		line-height: 1.65 !important;
	}

	.jlvb-location-top {
		padding: 70px 18px 90px;
	}

	.jlvb-location-top:not(.jlvb-location-experience) {
		padding-bottom: 60px;
	}

	.jlvb-location-experience {
		padding-top: 52px;
		padding-bottom: 60px;
	}

	.jlvb-location-top::before {
		top: 365px;
	}

	.jlvb-location-experience::before {
		top: 315px;
	}

	.jlvb-location-top__head {
		margin-bottom: 34px;
		display: block;
		text-align: center;
	}

	.jlvb-location-experience .jlvb-location-top__head {
		margin-bottom: 28px;
	}

	.jlvb-location-top h2 {
		font-size: 47px !important;
	}

	.jlvb-location-top .jlvb-slider__track {
		padding-left: 0;
		padding-right: 12vw;
		scroll-padding-left: 0;
	}

	.jlvb-location-top .jlvb-card {
		flex-basis: 84vw;
		width: 84vw;
	}

	.jlvb-location-top .jlvb-card__body,
	.jlvb-location-top .jlvb-card__title,
	.jlvb-location-top .jlvb-card__location {
		text-align: center;
	}

	.jlvb-location-top .jlvb-card__specs,
	.jlvb-location-top .jlvb-card__title-row,
	.jlvb-location-top .jlvb-card__location {
		justify-content: center;
	}

	.jlvb-location-top__footer {
		margin-top: 36px;
		justify-content: center;
	}

	.jlvb-location-experience .jlvb-location-top__footer {
		margin-top: 28px;
	}

	.jlvb-location-story {
		padding: 82px 18px 90px;
	}

	.jlvb-location-more {
		padding: 74px 18px 90px;
	}

	.jlvb-location-more header {
		margin-bottom: 34px;
		text-align: center;
	}

	.jlvb-location-more__grid {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.jlvb-location-more__grid a {
		flex: 0 0 82vw;
		scroll-snap-align: start;
		text-align: center;
	}

	.jlvb-location-collection__hero {
		padding: 142px 18px 94px;
	}

	.jlvb-location-collection__hero .jlvb-location-breadcrumbs {
		margin-bottom: 42px;
		justify-content: center;
	}

	.jlvb-location-collection__hero-content {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 42px;
		text-align: center;
	}

	body.jlvb-experience-collection-active .jlvb-location-collection__hero-content,
	body.jlvb-special-offer-collection-active .jlvb-location-collection__hero-content {
		display: flex;
		align-items: stretch;
		gap: 42px;
	}

	.jlvb-location-collection__hero-copy {
		margin-inline: auto;
	}

	body.jlvb-experience-collection-active .jlvb-location-collection__hero-copy,
	body.jlvb-special-offer-collection-active .jlvb-location-collection__hero-copy {
		transform: none;
	}

	.jlvb-location-collection__hero-copy > p:not(.jlvb-location-kicker) {
		margin-top: 22px !important;
		font-size: 15px !important;
	}

	.jlvb-location-collection__hero-count {
		margin-top: 22px;
		margin-inline: auto;
	}

	.jlvb-location-collection__hero-note {
		max-width: none;
		padding: 25px 0 0;
		border-top: 1px solid rgba(138, 107, 61, .3);
		border-left: 0;
		text-align: center;
	}

	.jlvb-location-collection__hero-note > a {
		justify-content: center;
	}

	.jlvb-location-collection__hero-note h2 {
		font-size: 38px !important;
	}

	.jlvb-location-collection__hero-note > div p {
		margin-top: 14px !important;
		font-size: 13px !important;
	}

	.jlvb-location-collection__hero-visual {
		width: 100%;
		min-height: 300px;
		border-radius: 22px;
	}

	.jlvb-location-collection__hero-visual img {
		min-height: 300px;
		aspect-ratio: 1.35 / 1;
	}

	body.jlvb-experience-collection-active .jlvb-location-collection__hero-visual,
	body.jlvb-special-offer-collection-active .jlvb-location-collection__hero-visual,
	body.jlvb-experience-collection-active .jlvb-location-collection__hero-visual img,
	body.jlvb-special-offer-collection-active .jlvb-location-collection__hero-visual img {
		height: auto;
		min-height: 300px;
	}

	.jlvb-location-collection__hero-visual figcaption {
		right: 18px;
		bottom: 17px;
		left: 18px;
	}

	.jlvb-location-collection__intro {
		width: calc(100% - 36px);
		margin-top: 58px;
		padding: 38px 0;
		grid-template-columns: 1fr;
		gap: 24px;
		text-align: center;
	}

	.jlvb-location-collection__villas {
		padding: 54px 18px 100px;
	}

	.jlvb-location-collection__bar {
		align-items: center;
		flex-direction: column;
		text-align: center;
	}

	.jlvb-location-collection__bar > div {
		justify-content: center;
	}

	.jlvb-location-collection__grid {
		gap: 48px;
	}

	.jlvb-location-collection__grid .jlvb-card {
		width: min(100%, 440px);
		margin-inline: auto;
		flex-basis: auto;
		text-align: center;
	}

	.jlvb-location-collection__grid .jlvb-card__specs,
	.jlvb-location-collection__grid .jlvb-card__title-row,
	.jlvb-location-collection__grid .jlvb-card__location {
		justify-content: center;
	}

	.jlvb-location-collection__grid .jlvb-card__media {
		aspect-ratio: 1.42 / 1;
		border-radius: 21px;
	}

	.jlvb-location-collection .jlvb-location-empty {
		color: var(--jlvb-location-espresso);
	}
}
