/* ===================================================================
   Location Slider — lakecitylahore.com reference
   Scoped under .lvc-location-slider
   =================================================================== */

.lvc-location-slider {
	position: relative;
	z-index: 1;
}

.lvc-location-slider .location-section {
	position: relative;
	width: 100%;
}

/* =====================================================================
   DESKTOP — Sticky scroll
   ===================================================================== */

.lvc-location-slider .sticky-trigger-wrapper {
	position: relative;
	height: 600vh;
}

.lvc-location-slider .sticky-location {
	position: sticky;
	top: 0;
	height: 100vh;
	width: 100%;
	overflow: hidden;
}

/* ----- Background gradient cards (full viewport) ----- */
.lvc-location-slider .l-card-1 {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.lvc-location-slider .l-card-1.ringroad {
	background-image: url('https://cdn.prod.website-files.com/6571b0d5f6a21b27d22bf02b/65a8f6c85b0c95978e4e4535_Group%20360%20(3).avif');
	opacity: 1;
}
.lvc-location-slider .l-card-1.ferozpur-rd {
	background-image: url('https://cdn.prod.website-files.com/6571b0d5f6a21b27d22bf02b/65b2674cb8cd338b2300d74a_Group%20360%20(15).avif');
}
.lvc-location-slider .l-card-1.foerzpur {
	background-image: url('https://cdn.prod.website-files.com/6571b0d5f6a21b27d22bf02b/65b268fbfcdde67ad9c98a89_Group%20360%20(16).avif');
}
.lvc-location-slider .l-card-1.sht-hospital {
	background-image: url('https://cdn.prod.website-files.com/6571b0d5f6a21b27d22bf02b/65a8f7a44571ef2ac79c6e76_Group%20360%20(5).avif');
}
.lvc-location-slider .l-card-1.dfnce-scheme {
	background-image: url('https://cdn.prod.website-files.com/6571b0d5f6a21b27d22bf02b/65a8f7f70684caa57b241120_Group%20360%20(6).avif');
}
.lvc-location-slider .l-card-1.airport-bg {
	background-image: url('https://cdn.prod.website-files.com/6571b0d5f6a21b27d22bf02b/65a930b1e5817574c784b426_Group%20360%20(13).avif');
}

/* ----- Curve SVG ----- */
.lvc-location-slider .image.curve {
	position: absolute;
	bottom: 4%;
	left: 0;
	width: 100%;
	z-index: 100;
	pointer-events: none;
}

/* ----- Content wrapper ----- */
.lvc-location-slider .card-content-wrapper {
	position: absolute;
	inset: 0;
	z-index: 10;
}

.lvc-location-slider .card-content {
	position: relative;
	width: 100%;
	height: 100%;
}

.lvc-location-slider .container.content-container {
	display: block;
	width: 100%;
	padding: 40px 10px;
	position: relative;
	height: 100%;
}

/* ----- Headings ----- */
.lvc-location-slider .wrapper-heading {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	position: relative;
	z-index: 120;
}

.lvc-location-slider .left-heading {
	width: 60%;
	overflow: hidden;
	position: relative;
	height: 50px;
	text-align: right;
}

.lvc-location-slider .right-heading {
	width: 35%;
	overflow: hidden;
	position: relative;
	height: 50px;
	text-align: left;
}

/* Heading divs — stacked absolutely so only one shows */
.lvc-location-slider .left-heading > div,
.lvc-location-slider .right-heading > div {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.lvc-location-slider .left-heading > div {
	justify-content: flex-end;
}
.lvc-location-slider .right-heading > div {
	justify-content: flex-start;
}

.lvc-location-slider .heading-2 {
	font-family: 'Playfair Display', serif;
	font-size: clamp(22px, 2.8vw, 38px);
	font-weight: 400;
	color: #ffffff;
	white-space: nowrap;
	line-height: 1.1;
	will-change: transform;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

/* Right headings — same style as left */
.lvc-location-slider .right-heading .heading-2 {
	font-weight: 400;
	font-style: normal;
}

/* Initial states — first visible, rest off-screen */
.lvc-location-slider .left-heading .head-1 .heading-2 { transform: translateX(0%); }
.lvc-location-slider .left-heading .head-2 .heading-2,
.lvc-location-slider .left-heading .head-3 .heading-2,
.lvc-location-slider .left-heading .head-4 .heading-2,
.lvc-location-slider .left-heading .head-5 .heading-2,
.lvc-location-slider .left-heading .head-6 .heading-2 {
	transform: translateX(100%);
}
.lvc-location-slider .right-heading .head-1-right .heading-2 { transform: translateX(0%); }
.lvc-location-slider .right-heading .head-2-right .heading-2,
.lvc-location-slider .right-heading .head-3-right .heading-2,
.lvc-location-slider .right-heading .head-4-right .heading-2,
.lvc-location-slider .right-heading .head-5-right .heading-2,
.lvc-location-slider .right-heading .head-6-right .heading-2 {
	transform: translateX(-100%);
}

/* ----- Image area ----- */
.lvc-location-slider .image-location {
	position: relative;
	width: 100%;
	margin-top: 30px;
	z-index: 105;
	height: 0;
	padding-bottom: 28%;
}

.lvc-location-slider .image-location > .image {
	position: absolute;
	width: 50%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 12px;
	will-change: transform, opacity;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: 0;
	z-index: 1;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
}
.lvc-location-slider .image-location > .image.ring-road {
	opacity: 1;
	z-index: 2;
}

/* ----- Tag / info card ----- */
.lvc-location-slider .tag-wrapper {
	position: absolute;
	right: 5%;
	top: 20%;
	z-index: 25;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 16px;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(250, 193, 54, 0.3);
}
.lvc-location-slider .tag-wrapper._1 {
	opacity: 1;
}

.lvc-location-slider .tag-flex {
	display: flex;
	align-items: center;
	gap: 20px;
}

.lvc-location-slider .image-8 {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
}

.lvc-location-slider .tag-text {
	font-family: 'Playfair Display', serif;
	font-size: 18px;
	font-weight: 400;
	color: #202120;
	line-height: 1.4;
}

/* ----- Circle navigation — positioned on curve ----- */
.lvc-location-slider .circle-wrapper-location {
	position: absolute;
	inset: 0;
	z-index: 110;
	pointer-events: none;
}

.lvc-location-slider .wrap-circle {
	position: relative;
	width: 100%;
	height: 100%;
}

.lvc-location-slider ._1-circle-wrapper {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	pointer-events: auto;
	transform: translateX(-50%);
}

/* Positions along the curve path — pushed down so images stay above */
.lvc-location-slider ._1-circle-wrapper._1 { left: 5%;  top: 60%; }
.lvc-location-slider ._1-circle-wrapper._2 { left: 20%; top: 72%; }
.lvc-location-slider ._1-circle-wrapper._3 { left: 37%; top: 82%; }
.lvc-location-slider ._1-circle-wrapper._4 { left: 55%; top: 86%; }
.lvc-location-slider ._1-circle-wrapper._5 { left: 75%; top: 78%; }
.lvc-location-slider ._1-circle-wrapper._6 { left: 92%; top: 64%; }

.lvc-location-slider .lake-circle-outer {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #FAC136;
	text-decoration: none;
	width: 36px;
	height: 36px;
	will-change: transform;
	cursor: pointer;
}
.lvc-location-slider .lake-circle-outer.is-active {
	width: 56px;
	height: 56px;
}

.lvc-location-slider .lake-circle-inner {
	border-radius: 50%;
	background: #ffffff;
	width: 18px;
	height: 18px;
	will-change: transform;
}
.lvc-location-slider .lake-circle-outer.is-active .lake-circle-inner {
	width: 36px;
	height: 36px;
}

.lvc-location-slider .location-tex-wrapper {
	text-align: center;
	white-space: nowrap;
}

.lvc-location-slider .text-block-2 {
	font-family: 'Playfair Display', serif;
	font-size: 13px;
	font-weight: 500;
	color: #ffffff;
	line-height: 1.35;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

/* ----- Scroll trigger area ----- */
.lvc-location-slider .location-abs-wrapper {
	position: relative;
	width: 100%;
	pointer-events: none;
	z-index: 0;
}
.lvc-location-slider .location-abs-wrapper > div {
	height: 100vh;
}

/* =====================================================================
   MOBILE — Simple slider
   ===================================================================== */

.lvc-location-slider .mob-slider {
	display: none;
	padding: 48px 20px;
	background: linear-gradient(180deg, #0d1f3c 0%, #132d52 50%, #1a3a68 100%);
}

.lvc-location-slider .mb-slider-wrapper {
	position: relative;
	max-width: 600px;
	margin: 0 auto;
}

.lvc-location-slider .mb-mask {
	position: relative;
	overflow: hidden;
	border-radius: 14px;
}

.lvc-location-slider .mb-slide {
	display: none;
	position: relative;
}
.lvc-location-slider .mb-slide.active {
	display: block;
}

.lvc-location-slider .mb-image {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	border-radius: 14px;
}

.lvc-location-slider .mb-caption {
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	font-weight: 400;
	color: #ffffff;
	text-align: center;
	padding: 16px 0 8px;
}

.lvc-location-slider .mb-arrow {
	position: absolute;
	top: 38%;
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 10;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: background 0.2s ease;
}
.lvc-location-slider .mb-arrow:hover {
	background: #fff;
}
.lvc-location-slider .mb-arrow img {
	width: 18px;
	height: 18px;
}

.lvc-location-slider .left-arrow {
	left: 10px;
}
.lvc-location-slider .right-arrow {
	right: 10px;
}

.lvc-location-slider .mb-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding-top: 14px;
}

.lvc-location-slider .mb-dot {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(250, 193, 54, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #202120;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
	border: none;
}
.lvc-location-slider .mb-dot.active {
	background: #FAC136;
	color: #fff;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */

.lvc-location-slider .mobile-hide {
	display: block;
}

@media (max-width: 1200px) {
	.lvc-location-slider .text-block-2 {
		font-size: 11px;
	}
	.lvc-location-slider ._1-circle-wrapper._1 { left: 6%;  top: 62%; }
	.lvc-location-slider ._1-circle-wrapper._6 { left: 90%; top: 66%; }
}

@media (max-width: 991px) {
	.lvc-location-slider .container.content-container {
		padding: 40px 10px;
	}
	.lvc-location-slider .heading-2 {
		font-size: clamp(18px, 2.5vw, 30px);
	}
	.lvc-location-slider .tag-wrapper {
		right: 3%;
		top: 15%;
		padding: 14px;
	}
	.lvc-location-slider .tag-text {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.lvc-location-slider .mobile-hide {
		display: none !important;
	}
	.lvc-location-slider .mob-slider {
		display: block;
	}
}
