.kadamba-amenities {
	--kadamba-amenities-pad-x: clamp(max(0.75rem, env(safe-area-inset-left)), 3vw, 2.5rem);
	min-height: 100vh;
	min-height: 100svh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	background: var(--kdm-ivory);
	padding:
		clamp(1.25rem, 4vw, 4rem)
		var(--kadamba-amenities-pad-x)
		clamp(1.25rem, 4vw, 4rem);
	width: 100%;
	max-width: 100%;
}

.kadamba-amenities__header {
	text-align: center;
	max-width: 820px;
	margin: 0 auto clamp(1.25rem, 2.5vw, 2rem);
}

.kadamba-amenities__badge {
	display: inline-block;
	padding: 0.3rem 0.8rem;
	border-radius: 999px;
	background: var(--kdm-gradient-gold);
	color: var(--kdm-brown);
	font-family: var(--kdm-font-sans);
	font-weight: 600;
	font-size: 0.78rem;
	line-height: 1;
	letter-spacing: 0.06em;
}

.kadamba-amenities__header h2 {
	margin: 0.8rem 0 0.35rem;
	font-family: ui-serif, Georgia, "Times New Roman", "Iowan Old Style", serif;
	color: var(--kdm-brown);
	font-size: clamp(1.25rem, 3.2vw + 0.6rem, 3.1rem);
	line-height: 1.12;
	text-wrap: balance;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.kadamba-amenities__header p {
	margin: 0;
	font-family: var(--kdm-font-sans);
	color: var(--kdm-text-muted);
	font-size: clamp(0.95rem, 2vw, 1.2rem);
}

/* Coverflow track — perspective for translateZ depth (wrapper: [data-slider-wrap]) */
[data-slider-wrap] {
	position: relative;
	width: 100%;
	max-width: 100%;
	/* Slightly shallower perspective reads closer to Framer-style reference comps */
	perspective: 2000px;
	perspective-origin: 50% 50%;
}

/*
 * Services-style edge fade: same treatment as services-showcase rows so side cards
 * visually blur/blend into the section background.
 */
[data-slider-wrap]::before,
[data-slider-wrap]::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: clamp(40px, 10vw, 100px);
	/*
	 * Above flanking/outer cards (≤94) but below active hero (110) so overlay tints sides only.
	 */
	z-index: 100;
	pointer-events: none;
}

[data-slider-wrap]::before {
	left: 0;
	background: linear-gradient(
		to right,
		var(--kdm-ivory, #f8f4ea) 0%,
		rgba(248, 244, 234, 0.55) 50%,
		rgba(248, 244, 234, 0) 100%
	);
}

[data-slider-wrap]::after {
	right: 0;
	background: linear-gradient(
		to left,
		var(--kdm-ivory, #f8f4ea) 0%,
		rgba(248, 244, 234, 0.55) 50%,
		rgba(248, 244, 234, 0) 100%
	);
}

.kadamba-amenities__slider {
	/* Card width: fluid but capped — works from ~320px viewports to ultrawide */
	--kadamba-card-w: clamp(200px, min(32vw, calc(100vw - 6rem)), 320px);
	position: relative;
	display: block;
	overflow: visible;
	/* Height follows viewport so landscape phones / short windows don’t overflow */
	height: clamp(280px, min(59vw, 72svh), 620px);
	min-height: 240px;
	padding: clamp(1rem, 2.5vw, 2rem) 0;
	outline: none;
	cursor: grab;
	/* Vertical page scroll; horizontal drag handled by JS. */
	touch-action: pan-y;
	transform-style: preserve-3d;
	mask-image: linear-gradient(
		90deg,
		transparent 0,
		#000 4%,
		#000 96%,
		transparent 100%
	);
	-webkit-mask-image: linear-gradient(
		90deg,
		transparent 0,
		#000 4%,
		#000 96%,
		transparent 100%
	);
}

.kadamba-amenities__slider::-webkit-scrollbar {
	display: none;
}

.kadamba-amenities__slider.kadamba-amenities__slider--dragging {
	cursor: grabbing;
	user-select: none;
}

.kadamba-amenities__card {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: auto;
	margin-left: calc(var(--kadamba-card-w) / -2);
	flex: none;
	width: var(--kadamba-card-w);
	max-width: calc(100% - 0.5rem);
	height: clamp(240px, min(57vw, 68svh), 584px);
	min-height: 200px;
	border-radius: clamp(18px, 2.5vw, 28px);
	overflow: hidden;
	background: var(--kdm-charcoal);
	z-index: 1;
	/* Centered stack + coverflow scale from middle (vertical alignment via JS translateY) */
	transform-origin: center center;
	will-change: transform, opacity;
	transition:
		transform 0.6s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.6s cubic-bezier(0.33, 1, 0.68, 1),
		box-shadow 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	box-shadow: var(--kdm-shadow-soft);
}

.kadamba-amenities__slider.kadamba-amenities__slider--is-scrolling .kadamba-amenities__card {
	transition-duration: 0.08s;
	transition-timing-function: linear;
}

.kadamba-amenities__slider.kadamba-amenities__slider--is-scrolling .kadamba-amenities__card-media,
.kadamba-amenities__slider.kadamba-amenities__slider--is-scrolling .kadamba-amenities__card img {
	transition-duration: 0.08s;
	transition-timing-function: linear;
}

/* Scale/transform from JS (GSAP). */
.kadamba-amenities__card {
	opacity: 1;
	z-index: 1;
}

.kadamba-amenities__card-media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border-radius: inherit;
	isolation: isolate;
}

/* Bottom-only scrim for title contrast — avoids muddying the whole image (old radial mimicked blur) */
.kadamba-amenities__card-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.48) 0%,
		rgba(0, 0, 0, 0.18) 38%,
		transparent 58%
	);
}

.kadamba-amenities__card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	display: block;
	position: relative;
	z-index: 0;
}

/* Dark gradient overlay removed — title uses text-shadow for contrast */
.kadamba-amenities__card::after {
	display: none;
}

.kadamba-amenities__card h3 {
	position: absolute;
	left: 1.1rem;
	right: 1.1rem;
	bottom: 1rem;
	margin: 0;
	z-index: 2;
	color: var(--kdm-text-on-dark);
	font-family: var(--kdm-font-serif);
	font-size: clamp(1rem, 2.3vw, 1.85rem);
	line-height: 1.2;
	font-weight: 500;
	text-align: center;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

/* Nav: tucked toward center like Framer (flanking the hero card) */
.kadamba-amenities__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	/* Above edge strips + hero card (active z-index ~110 from JS) */
	z-index: 125;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(253, 251, 247, 0.95);
	color: var(--kdm-brown);
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: var(--kdm-shadow-gold);
	transition: background 0.2s ease, transform 0.2s ease;
}

.kadamba-amenities__nav:hover {
	background: var(--kdm-cream);
	transform: translateY(-50%) scale(1.05);
}

.kadamba-amenities__nav:focus-visible {
	outline: 2px solid var(--kdm-gold);
	outline-offset: 2px;
}

/* Sit just inside the flanking cards (closer to center hero), not on the far gutter */
.kadamba-amenities__nav--prev {
	left: calc(50% - min(32vw, min(280px, 38%)));
}

.kadamba-amenities__nav--next {
	right: calc(50% - min(32vw, min(280px, 38%)));
}

@media (min-width: 992px) and (max-width: 1199px) {
	.kadamba-amenities__nav--prev {
		left: max(0.5rem, calc(50% - min(36vw, 300px)));
	}

	.kadamba-amenities__nav--next {
		right: max(0.5rem, calc(50% - min(36vw, 300px)));
	}
}

.kadamba-amenities--editor .kadamba-amenities__slider {
	overflow: auto;
	padding: 0.5rem 0;
	display: flex;
	gap: 20px;
	height: auto;
}

.kadamba-amenities--editor .kadamba-amenities__card {
	position: relative;
	left: auto;
	top: auto;
	margin-left: 0;
	width: var(--kadamba-card-w);
	flex: 0 0 var(--kadamba-card-w);
	transform: none;
	opacity: 1;
	filter: none;
}

.kadamba-amenities--editor .kadamba-amenities__card-media {
	filter: none;
}

.kadamba-amenities__slider--editor {
	padding: 0.5rem 0;
}

@media (max-width: 991px) {
	/* Single-slide mode (see amenities-slider-view.js): clip stack, allow horizontal swipe. */
	[data-slider-wrap] {
		perspective: none;
		overflow-x: clip;
	}

	[data-slider-wrap]::before,
	[data-slider-wrap]::after {
		display: none;
	}

	.kadamba-amenities__slider {
		--kadamba-card-w: min(100%, calc(100vw - max(2rem, env(safe-area-inset-left) + env(safe-area-inset-right), 0px) - 1rem));
		max-width: min(100%, 400px);
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
		touch-action: pan-x pinch-zoom;
		padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
		padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
		height: clamp(300px, min(82svh, 560px), 620px);
	}

	.kadamba-amenities__card {
		max-width: min(100%, var(--kadamba-card-w));
		height: clamp(260px, min(76svh, 520px), 560px);
	}

	/* Keep the image subject lower so title area stays readable on smaller screens. */
	.kadamba-amenities__card img {
		object-position: 50% 86%;
	}

	.kadamba-amenities__card-media::after {
		background: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.6) 0%,
			rgba(0, 0, 0, 0.28) 44%,
			transparent 64%
		);
	}

	.kadamba-amenities__card h3 {
		bottom: clamp(2rem, 2.5vw, 1.05rem);
		font-size: clamp(2rem, 2.3vw, 1.85rem);
	}

	.kadamba-amenities__nav {
		display: flex;
		align-items: center;
		justify-content: center;
		top: 50%;
		bottom: auto;
		transform: translateY(-50%);
		width: max(40px, min(44px, 11vw));
		height: max(40px, min(44px, 11vw));
		min-width: 40px;
		min-height: 40px;
		font-size: 1rem;
		box-shadow: var(--kdm-shadow-soft);
	}

	.kadamba-amenities__nav--prev {
		left: max(0.25rem, env(safe-area-inset-left, 0px));
	}

	.kadamba-amenities__nav--next {
		right: max(0.25rem, env(safe-area-inset-right, 0px));
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	/* Tablet: favor lower image area to avoid title overlap/cropping. */
	.kadamba-amenities__card img {
		object-position: 50% 82%;
	}
}

/* Short landscape: don’t force full viewport — keeps slider usable */
@media (max-height: 520px) and (orientation: landscape) {
	.kadamba-amenities {
		min-height: unset;
		padding-top: clamp(0.75rem, 3vh, 1.5rem);
		padding-bottom: clamp(0.75rem, 3vh, 1.5rem);
	}

	.kadamba-amenities__slider {
		height: clamp(200px, min(52vh, 360px), 420px);
	}

	.kadamba-amenities__card {
		height: clamp(180px, min(48vh, 340px), 400px);
	}
}

/* Wide but very short window: match JS single-slide + touch (coverflow has no vertical room) */
@media (min-width: 992px) and (max-height: 520px) and (orientation: landscape) {
	[data-slider-wrap] {
		perspective: none;
		overflow-x: clip;
	}

	[data-slider-wrap]::before,
	[data-slider-wrap]::after {
		display: none;
	}

	.kadamba-amenities__slider {
		overflow: hidden;
		touch-action: pan-x pinch-zoom;
	}
}

@media (max-width: 380px) {
	.kadamba-amenities__header p {
		font-size: clamp(0.88rem, 3.5vw, 1rem);
	}

	.kadamba-amenities__card h3 {
		font-size: clamp(0.9rem, 4vw, 1.35rem);
		left: 0.75rem;
		right: 0.75rem;
		bottom: 0.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kadamba-amenities__slider {
		scroll-behavior: auto;
	}

	.kadamba-amenities__card,
	.kadamba-amenities__card-media,
	.kadamba-amenities__card img {
		transition-duration: 0.01ms;
	}

	.kadamba-amenities__card {
		transform: none;
		opacity: 1;
		filter: none;
	}

	.kadamba-amenities__card-media {
		filter: none;
	}
}
