/**
 * Catalogue Destination layout — full-bleed hero + structured sections + cross-sell.
 */

/* —— Hero 100vh (destination only) —— */
body.ramaya-page-category-destination.ramaya-page-hero .page-hero.page-hero--destination {
	display: block;
	position: relative;
	isolation: isolate;
	min-height: 100vh;
	min-height: 100dvh;
	min-height: 100svh;
}

body.ramaya-page-category-destination.ramaya-page-hero .page-hero--destination .page-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	display: block;
}

body.ramaya-page-category-destination.ramaya-page-hero .page-hero--destination .page-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	/* Horizontal gutter lives on __inner — same shell as .site-main / .entry-content */
	padding:
		max(env(safe-area-inset-top), 5.5rem)
		0
		max(env(safe-area-inset-bottom), 5.5rem);
	background: linear-gradient(
		180deg,
		rgba(8, 18, 28, 0.35) 0%,
		rgba(8, 18, 28, 0.28) 45%,
		rgba(8, 18, 28, 0.45) 100%
	);
	pointer-events: none;
}

body.ramaya-page-category-destination.ramaya-page-hero .page-hero--destination .page-hero__inner {
	width: 100%;
	max-width: var(--ramaya-content-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ramaya-gutter-x);
	padding-right: var(--ramaya-gutter-x);
	box-sizing: border-box;
	pointer-events: auto;
}

body.ramaya-page-category-destination .page-hero__eyebrow {
	margin: 0 0 0.45rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.82);
}

body.ramaya-page-category-destination .page-hero__title {
	margin: 0 0 0.65rem;
	font-size: clamp(1.85rem, 5vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #fff;
	text-shadow: 0 2px 28px rgba(0, 0, 0, 0.4);
}

body.ramaya-page-category-destination .page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.1rem;
}

body.ramaya-page-category-destination .page-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1.15rem;
	border-radius: var(--ramaya-radius-btn, 999px);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.2;
	transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
}

body.ramaya-page-category-destination .page-hero__btn:hover {
	transform: translateY(-1px);
}

body.ramaya-page-category-destination .page-hero__btn--primary {
	background: var(--ramaya-accent-title, #964734);
	color: #fff;
}

body.ramaya-page-category-destination .page-hero__btn--ghost {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
	backdrop-filter: blur(8px);
}

/* —— Content sections —— */
.rdest {
	--rdest-ink: var(--ramaya-heading, #003135);
	--rdest-body: var(--ramaya-body-text, #003135);
	--rdest-muted: var(--ramaya-muted, #3a6a70);
	--rdest-sea: var(--ramaya-sea, #0fa4af);
	--rdest-line: color-mix(in srgb, var(--ramaya-heading, #003135) 10%, transparent);
	--rdest-sand: var(--ramaya-page-soft, #e8f5f7);
	--rdest-card: #ffffff;
	color: var(--rdest-body);
	display: flex;
	flex-direction: column;
	gap: clamp(1.15rem, 2.2vw, 1.55rem);
	padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

/* CTA is usually last — drop empty band before footer */
.rdest:has(> .rdest__section--cta:last-child) {
	padding-bottom: 0;
}

.rdest__section {
	margin: 0;
}

.rdest__section--cta {
	margin-bottom: 0;
}

.rdest--cta-only {
	padding-bottom: 0;
	margin-block: clamp(1.25rem, 2.5vw, 1.75rem);
	gap: 0;
}

.rdest__section--about .rdest__title {
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
}

.rdest__section--about .rdest__meta {
	margin: 0.15rem 0 0;
	font-size: 0.82rem;
}

.rdest__section--about .rdest__body {
	font-size: 0.94rem;
	line-height: 1.55;
	max-width: none;
	width: 100%;
}

.rdest__section--about .rdest__body p {
	margin: 0 0 0.55rem;
	max-width: none;
}

.rdest__section--about .rdest__body p:last-child {
	margin-bottom: 0;
}

.rdest__head {
	margin: 0 0 0.55rem;
	max-width: none;
}

.rdest__section--about .rdest__head {
	margin: 0 0 0.45rem;
	max-width: none;
	width: 100%;
}

.rdest__head--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	max-width: none;
}

.rdest__eyebrow {
	margin: 0 0 0.18rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rdest-sea);
}

.rdest__title {
	margin: 0;
	font-size: clamp(1.2rem, 1.9vw, 1.5rem);
	line-height: 1.2;
	letter-spacing: -0.025em;
	font-weight: 750;
	color: var(--rdest-ink);
}

.rdest__meta {
	margin: 0.25rem 0 0;
	font-size: 0.88rem;
	color: var(--rdest-muted);
}

.rdest__body {
	font-size: 0.96rem;
	line-height: 1.55;
}

.rdest__body > p:first-child {
	margin-top: 0;
}

.rdest__body p {
	margin: 0 0 0.65rem;
}

.rdest__body p:last-child {
	margin-bottom: 0;
}

.rdest__body > ul {
	margin: 0.5rem 0 0;
	padding-left: 1.15rem;
}

.rdest__body > ul > li + li {
	margin-top: 0.28rem;
}

/* Card grids in body — no list indent / staggered li margins */
.rdest__body > ul.rdest-xsell__cards,
.entry-content .rdest .rdest__body > ul.rdest-xsell__cards {
	margin: 0;
	padding: 0;
	list-style: none;
	gap: var(--rdest-xsell-gap, 0.75rem);
}

.rdest__body > ul.rdest-xsell__cards > li,
.rdest__body > ul.rdest-xsell__cards > li + li,
.entry-content .rdest .rdest__body > ul.rdest-xsell__cards > li,
.entry-content .rdest .rdest__body > ul.rdest-xsell__cards > li + li {
	margin: 0;
	padding: 0;
}

/* Beat .entry-content h2 / p margins (theme defaults are too airy here). */
.entry-content .rdest .rdest__eyebrow,
.entry-content .rdest .rdest__meta,
.entry-content .rdest .rdest-gallery__eyebrow {
	margin: 0 0 0.18rem;
}

.entry-content .rdest .rdest__meta {
	margin: 0.2rem 0 0;
}

.entry-content .rdest h2.rdest__title,
.entry-content .rdest h2.rdest-gallery__title {
	margin: 0;
	font-size: clamp(1.2rem, 1.9vw, 1.5rem);
	line-height: 1.2;
	font-weight: 750;
	letter-spacing: -0.025em;
	color: var(--rdest-ink);
}

.entry-content .rdest__section--about h2.rdest__title {
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
}

.entry-content .rdest .rdest__body p {
	margin: 0 0 0.55rem;
}

.entry-content .rdest .rdest__body p:last-child {
	margin-bottom: 0;
}

.entry-content .rdest__section--about .rdest__head {
	margin-bottom: 0.4rem;
}

.rdest__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0.85rem 0 0;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: var(--rdest-sand);
	border: 1px solid var(--rdest-line);
	font-size: 0.82rem;
	color: var(--rdest-ink);
}

.rdest__chip span {
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rdest-sea);
}

.rdest__body--gallery .gallery-grid,
.rdest__body--gallery .wp-block-gallery {
	margin: 0;
}

/*
 * Destination gallery — premium mosaic (Airbnb-inspired) + PhotoSwipe 5.
 * https://photoswipe.com/
 */
.rdest__gallery {
	margin: 0;
}

.rdest-gallery__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 0.55rem;
	flex-wrap: wrap;
}

.rdest-gallery__titles {
	min-width: 0;
	flex: 1 1 12rem;
}

.rdest-gallery__eyebrow {
	margin: 0 0 0.2rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rdest-muted);
}

.rdest-gallery__title {
	margin: 0;
	font-size: clamp(1.15rem, 2.2vw, 1.45rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--rdest-ink);
	line-height: 1.2;
	text-wrap: balance;
}

.rdest-gallery__all {
	appearance: none;
	border: 1px solid var(--rdest-line);
	background: var(--rdest-card, #fff);
	color: var(--rdest-ink);
	font: inherit;
	font-size: 0.82rem;
	font-weight: 600;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	cursor: pointer;
	flex: 0 0 auto;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.rdest-gallery__all:hover,
.rdest-gallery__all:focus-visible {
	border-color: rgba(31, 111, 122, 0.45);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(12, 26, 34, 0.08);
	outline: none;
}

.rdest-mosaic {
	--rdest-mosaic-gap: 0.45rem;
	--rdest-mosaic-radius: 16px;
	display: grid;
	gap: var(--rdest-mosaic-gap);
	width: 100%;
	/* Featured left + 2×2 right — travel / Airbnb pattern */
	grid-template-columns: 1.35fr 1fr 1fr;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	height: clamp(280px, 42vw, 460px);
	overflow: hidden;
	border-radius: calc(var(--rdest-mosaic-radius) + 2px);
}

/* Guard against wpautop leftover empty paragraphs inside the mosaic */
.rdest-mosaic > p:empty,
.rdest-mosaic > p:not(:has(*)) {
	display: none !important;
}

.rdest-mosaic__item {
	margin: 0;
	position: relative;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border-radius: var(--rdest-mosaic-radius);
	background: #d7e0e6;
}

.rdest-mosaic__link {
	display: block;
	position: absolute;
	inset: 0;
	color: inherit;
	text-decoration: none;
}

.rdest-mosaic__link img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.001);
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.rdest-mosaic__link:hover img,
.rdest-mosaic__link:focus-visible img {
	transform: scale(1.045);
}

.rdest-mosaic__zoom {
	position: absolute;
	right: 0.65rem;
	bottom: 0.65rem;
	width: 2rem;
	height: 2rem;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: #0c1a22;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.2s ease, transform 0.2s ease;
	pointer-events: none;
	box-shadow: 0 4px 14px rgba(12, 26, 34, 0.12);
}

.rdest-mosaic__link:hover .rdest-mosaic__zoom,
.rdest-mosaic__link:focus-visible .rdest-mosaic__zoom {
	opacity: 1;
	transform: translateY(0);
}

/* Default 5-up Airbnb mosaic */
.rdest-mosaic--count-5 .rdest-mosaic__item--1,
.rdest-mosaic--count-4 .rdest-mosaic__item--1,
.rdest-mosaic--count-3 .rdest-mosaic__item--1 {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.rdest-mosaic--count-5 .rdest-mosaic__item--2 {
	grid-column: 2;
	grid-row: 1;
}

.rdest-mosaic--count-5 .rdest-mosaic__item--3 {
	grid-column: 3;
	grid-row: 1;
}

.rdest-mosaic--count-5 .rdest-mosaic__item--4 {
	grid-column: 2;
	grid-row: 2;
}

.rdest-mosaic--count-5 .rdest-mosaic__item--5 {
	grid-column: 3;
	grid-row: 2;
}

/* 6 photos — clean equal 3×2 (hotel / magazine grid) */
.rdest-mosaic--count-6 {
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	height: clamp(300px, 40vw, 440px);
}

.rdest-mosaic--count-6 .rdest-mosaic__item--1,
.rdest-mosaic--count-6 .rdest-mosaic__item--2,
.rdest-mosaic--count-6 .rdest-mosaic__item--3,
.rdest-mosaic--count-6 .rdest-mosaic__item--4,
.rdest-mosaic--count-6 .rdest-mosaic__item--5,
.rdest-mosaic--count-6 .rdest-mosaic__item--6 {
	grid-column: auto;
	grid-row: auto;
}

/* 4 photos */
.rdest-mosaic--count-4 .rdest-mosaic__item--2 { grid-column: 2; grid-row: 1; }
.rdest-mosaic--count-4 .rdest-mosaic__item--3 { grid-column: 3; grid-row: 1; }
.rdest-mosaic--count-4 .rdest-mosaic__item--4 { grid-column: 2 / span 2; grid-row: 2; }

/* 3 photos */
.rdest-mosaic--count-3 .rdest-mosaic__item--2 { grid-column: 2 / span 2; grid-row: 1; }
.rdest-mosaic--count-3 .rdest-mosaic__item--3 { grid-column: 2 / span 2; grid-row: 2; }

/* 2 photos */
.rdest-mosaic--count-2 {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	height: clamp(240px, 36vw, 380px);
}

.rdest-mosaic--count-2 .rdest-mosaic__item--1,
.rdest-mosaic--count-2 .rdest-mosaic__item--2 {
	grid-column: auto;
	grid-row: 1;
}

/* 1 photo */
.rdest-mosaic--count-1 {
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	height: clamp(240px, 40vw, 420px);
}

.rdest-mosaic--count-1 .rdest-mosaic__item--1 {
	grid-column: 1;
	grid-row: 1;
}

@media (max-width: 720px) {
	.rdest-gallery__head {
		align-items: center;
		gap: 0.55rem;
		margin: 0 0 0.55rem;
	}

	.rdest-gallery__all {
		padding: 0.42rem 0.75rem;
		font-size: 0.75rem;
	}

	/*
	 * Mobile: always even 2-column tiles — no orphan last cell.
	 * 6 → 2×3, 4 → 2×2, 5 → hero + 2×2, 3 → hero + pair.
	 */
	.rdest-mosaic {
		--rdest-mosaic-gap: 0.55rem;
		--rdest-mosaic-radius: 12px;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: none;
		/* Let aspect-ratio set row height — fixed auto-rows were shorter than
		   4:3 tiles and overlapped, eating the vertical gap. */
		height: auto;
		grid-auto-rows: auto;
		overflow: visible;
		gap: var(--rdest-mosaic-gap);
	}

	.rdest-mosaic--count-6,
	.rdest-mosaic--count-4,
	.rdest-mosaic--count-2 {
		grid-template-columns: 1fr 1fr;
		height: auto;
	}

	.rdest-mosaic--count-6 .rdest-mosaic__item--1,
	.rdest-mosaic--count-6 .rdest-mosaic__item--2,
	.rdest-mosaic--count-6 .rdest-mosaic__item--3,
	.rdest-mosaic--count-6 .rdest-mosaic__item--4,
	.rdest-mosaic--count-6 .rdest-mosaic__item--5,
	.rdest-mosaic--count-6 .rdest-mosaic__item--6,
	.rdest-mosaic--count-4 .rdest-mosaic__item--1,
	.rdest-mosaic--count-4 .rdest-mosaic__item--2,
	.rdest-mosaic--count-4 .rdest-mosaic__item--3,
	.rdest-mosaic--count-4 .rdest-mosaic__item--4,
	.rdest-mosaic--count-2 .rdest-mosaic__item--1,
	.rdest-mosaic--count-2 .rdest-mosaic__item--2 {
		grid-column: auto;
		grid-row: auto;
		min-height: 0;
		aspect-ratio: 4 / 3;
		height: auto;
	}

	/* 5 photos: 1 full-bleed hero + even 2×2 */
	.rdest-mosaic--count-5 {
		height: auto;
	}

	.rdest-mosaic--count-5 .rdest-mosaic__item--1 {
		grid-column: 1 / span 2;
		grid-row: auto;
		aspect-ratio: 16 / 10;
		min-height: 0;
		height: auto;
	}

	.rdest-mosaic--count-5 .rdest-mosaic__item--2,
	.rdest-mosaic--count-5 .rdest-mosaic__item--3,
	.rdest-mosaic--count-5 .rdest-mosaic__item--4,
	.rdest-mosaic--count-5 .rdest-mosaic__item--5 {
		grid-column: auto;
		grid-row: auto;
		aspect-ratio: 4 / 3;
		min-height: 0;
		height: auto;
	}

	/* 3 photos: hero + pair */
	.rdest-mosaic--count-3 .rdest-mosaic__item--1 {
		grid-column: 1 / span 2;
		aspect-ratio: 16 / 10;
		min-height: 0;
		height: auto;
	}

	.rdest-mosaic--count-3 .rdest-mosaic__item--2,
	.rdest-mosaic--count-3 .rdest-mosaic__item--3 {
		grid-column: auto;
		grid-row: auto;
		aspect-ratio: 4 / 3;
		min-height: 0;
		height: auto;
	}

	.rdest-mosaic--count-1 .rdest-mosaic__item--1 {
		grid-column: 1 / span 2;
		aspect-ratio: 16 / 10;
		height: auto;
	}

	/* Zoom chips clutter mobile grid — hint via tap instead */
	.rdest-mosaic__zoom {
		display: none;
	}
}

/* PhotoSwipe chrome tweaks to match destination palette */
.pswp {
	--pswp-bg: #0b1520;
}

/* —— Cross-sell —— */
.rdest-xsell {
	--rdest-xsell-pad: 1rem;
	--rdest-xsell-gap: 0.75rem;
	margin-top: 1rem;
	padding: var(--rdest-xsell-pad);
	border: 1px solid var(--rdest-line);
	border-radius: var(--ramaya-radius-panel, 14px);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, var(--rdest-sand) 140%);
}

.rdest-xsell__bar {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin: 0 0 var(--rdest-xsell-gap);
	flex-wrap: wrap;
}

.rdest-xsell__label {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--rdest-muted);
}

/* Beat .entry-content ul/li indent so grids sit flush in the box */
.entry-content .rdest .rdest-xsell__chips,
.entry-content .rdest .rdest-xsell__cards,
.rdest .rdest-xsell__chips,
.rdest .rdest-xsell__cards {
	list-style: none;
	margin: 0;
	padding: 0;
}

.entry-content .rdest .rdest-xsell__chips > li,
.entry-content .rdest .rdest-xsell__cards > li,
.rdest .rdest-xsell__chips > li,
.rdest .rdest-xsell__cards > li {
	margin: 0;
	padding: 0;
	min-width: 0;
}

.rdest-xsell__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.rdest-xsell__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 0.75rem 0.5rem 0.55rem;
	border-radius: 999px;
	text-decoration: none;
	color: var(--rdest-ink);
	background: var(--rdest-card);
	border: 1px solid var(--rdest-line);
	box-shadow: 0 1px 0 rgba(12, 26, 34, 0.03);
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.rdest-xsell__chip:hover,
.rdest-xsell__chip:focus-visible {
	border-color: rgba(31, 111, 122, 0.4);
	transform: translateY(-1px);
	box-shadow: 0 8px 18px -14px rgba(12, 26, 34, 0.4);
}

.rdest-xsell__chip-dot {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--rdest-sea);
	flex: 0 0 auto;
}

.rdest-xsell__chip-title {
	font-size: 0.86rem;
	font-weight: 650;
	line-height: 1.2;
}

.rdest-xsell__chip-arrow {
	font-size: 0.78rem;
	color: var(--rdest-sea);
	opacity: 0.75;
}

.rdest-xsell__cards {
	--rdest-xsell-gap: 0.75rem;
	display: grid;
	gap: var(--rdest-xsell-gap);
	grid-template-columns: 1fr;
	align-items: stretch;
}

.rdest-xsell__cards > li {
	display: flex;
	height: 100%;
}

.rdest-xsell__cards > li > .rdest-xsell__card {
	flex: 1 1 auto;
	width: 100%;
}

@media (min-width: 640px) {
	.rdest-xsell__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.rdest-xsell__cards,
	.rdest-xsell__cards--overlay {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.rdest-xsell__card {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-height: 100%;
	padding: 0.85rem 0.9rem;
	border-radius: var(--ramaya-radius-panel, 12px);
	text-decoration: none;
	color: inherit;
	background: var(--rdest-card);
	border: 1px solid var(--rdest-line);
	transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
	box-sizing: border-box;
}

.rdest-xsell__card:hover,
.rdest-xsell__card:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(31, 111, 122, 0.32);
	box-shadow: 0 12px 26px -18px rgba(12, 26, 34, 0.4);
}

.rdest-xsell__card-title {
	font-weight: 700;
	color: var(--rdest-ink);
	font-size: 0.9rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.rdest-xsell__card-cta {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rdest-sea);
}

.rdest-xsell__card--media {
	position: relative;
	padding: 0;
	overflow: hidden;
	background: #14222b;
}

.rdest-xsell__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: #d9e2e6 center / cover no-repeat;
}

.rdest-xsell__card--media:not(.rdest-xsell__card--overlay) .rdest-xsell__card-title,
.rdest-xsell__card--media:not(.rdest-xsell__card--overlay) .rdest-xsell__card-cta {
	padding-left: 0.85rem;
	padding-right: 0.85rem;
}

.rdest-xsell__card--media:not(.rdest-xsell__card--overlay) .rdest-xsell__card-title {
	padding-top: 0.65rem;
}

.rdest-xsell__card--media:not(.rdest-xsell__card--overlay) .rdest-xsell__card-cta {
	padding-bottom: 0.8rem;
}

/* Overlay media cards — equal tiles */
.rdest-xsell__card--overlay {
	display: block;
	aspect-ratio: 5 / 3;
	min-height: 0;
	height: auto;
	padding: 0;
}

.rdest-xsell__card--overlay .rdest-xsell__media {
	position: absolute;
	inset: 0;
	aspect-ratio: auto;
	width: 100%;
	height: 100%;
}

.rdest-xsell__card-shade {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgba(8, 18, 28, 0) 35%,
		rgba(8, 18, 28, 0.55) 78%,
		rgba(8, 18, 28, 0.78) 100%
	);
	pointer-events: none;
}

.rdest-xsell__card-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.2rem;
	padding: 0.85rem;
	z-index: 2;
	box-sizing: border-box;
}

.rdest-xsell__card--overlay .rdest-xsell__card-title {
	color: #fff;
	font-size: 0.86rem;
	min-height: 2.6em; /* 2 lines — keeps CTA baseline aligned */
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}

.rdest-xsell__card--overlay .rdest-xsell__card-cta {
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.68rem;
}

.rdest-xsell__card--overlay:hover .rdest-xsell__card-shade,
.rdest-xsell__card--overlay:focus-visible .rdest-xsell__card-shade {
	background: linear-gradient(
		180deg,
		rgba(8, 18, 28, 0.05) 25%,
		rgba(8, 18, 28, 0.62) 78%,
		rgba(8, 18, 28, 0.85) 100%
	);
}

.rdest-xsell__more {
	margin: 0.7rem 0 0;
	font-size: 0.84rem;
}

.rdest-xsell__more--inline {
	margin: 0;
	font-size: 0.78rem;
	white-space: nowrap;
}

.rdest-xsell__more a {
	color: var(--rdest-sea);
	font-weight: 650;
	text-decoration: none;
}

.rdest-xsell__more a:hover {
	text-decoration: underline;
}

.rdest-xsell--ports,
.rdest-xsell--tours {
	padding: var(--rdest-xsell-pad);
}

/* Keep tour grid from exploding destination column */
.rdest-xsell--tours .ltg,
.rdest-xsell--tours .tpm-tour-grid,
.rdest-xsell--tours [class*="tour-grid"] {
	margin-top: 0.35rem;
}

/* —— CTA strip —— */
.rdest-cta {
	display: grid;
	gap: 1rem;
	/* Tighter bottom — equal pad looked empty under short action row */
	padding: clamp(1rem, 2.2vw, 1.25rem) clamp(1.15rem, 2.5vw, 1.5rem) clamp(0.85rem, 1.8vw, 1.05rem);
	border-radius: var(--ramaya-radius-panel, 18px);
	background:
		linear-gradient(135deg, rgba(31, 111, 122, 0.1) 0%, rgba(240, 108, 21, 0.08) 100%),
		var(--rdest-sand);
	border: 1px solid var(--rdest-line);
}

@media (min-width: 800px) {
	.rdest-cta {
		grid-template-columns: minmax(0, 1.5fr) auto;
		align-items: center;
		gap: clamp(1rem, 2.5vw, 1.75rem);
	}
}

.rdest-cta__copy .rdest__title {
	margin-bottom: 0.45rem;
}

.rdest-cta__copy p:last-child {
	margin: 0;
	max-width: 38rem;
	color: var(--rdest-muted);
	font-size: 0.95rem;
	line-height: 1.55;
}

.rdest-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.rdest-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	padding: 0.75rem 1.2rem;
	border-radius: var(--ramaya-radius-btn, 999px);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.2;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.rdest-cta__btn:hover {
	transform: translateY(-1px);
}

.rdest-cta__btn-icon {
	flex-shrink: 0;
	width: 1.1em;
	height: 1.1em;
	display: block;
}

.rdest-cta__btn-arrow {
	font-weight: 500;
	line-height: 1;
}

.rdest-cta__btn--primary {
	background: #25d366;
	color: #ffffff;
}

/* Beat .entry-content a { color: var(--ramaya-link) } so WA CTA stays readable */
.entry-content a.rdest-cta__btn--primary,
.entry-content a.rdest-cta__btn--primary:visited {
	background: #25d366;
	color: #ffffff;
}

.entry-content a.rdest-cta__btn--primary:hover,
.entry-content a.rdest-cta__btn--primary:focus-visible {
	background: #1ebe57;
	color: #ffffff;
}

.rdest-cta__btn--ghost {
	background: #fff;
	color: var(--rdest-ink);
	border: 1px solid var(--rdest-line);
}

body.ramaya-page-category-destination.ramaya-page-hero .entry--has-hero .entry-content {
	padding-top: 0.85rem;
}

/* —— Lombok Coast CTA: full-bleed ink band (homepage + scheme) —— */
body.ramaya-scheme-lombok-coast .rdest--cta-only,
body.home .rdest--cta-only {
	margin-block: 0;
	padding: 0;
	width: 100%;
	max-width: none;
}

body.ramaya-scheme-lombok-coast .rdest__section--cta,
body.home .rdest__section--cta {
	margin: 0;
}

body.ramaya-scheme-lombok-coast .rdest-cta {
	position: relative;
	isolation: isolate;
	gap: clamp(1.35rem, 3vw, 2rem);
	padding:
		clamp(2.6rem, 5.5vw, 4rem)
		max(var(--ramaya-gutter-x, clamp(1rem, 4vw, 2rem)), calc((100% - var(--ramaya-content-max, 1140px)) / 2 + var(--ramaya-gutter-x, clamp(1rem, 4vw, 2rem))));
	border: 0;
	border-radius: var(--ramaya-radius-panel);
	overflow: hidden;
	background:
		radial-gradient(920px 460px at 10% -10%, rgba(196, 165, 116, 0.28), transparent 52%),
		radial-gradient(720px 400px at 95% 110%, rgba(250, 249, 245, 0.1), transparent 48%),
		linear-gradient(180deg, #1a4a43 0%, #153f39 55%, #123833 100%);
	color: #faf9f5;
	box-shadow:
		0 -18px 40px rgba(21, 63, 57, 0.12),
		inset 0 1px 0 rgba(250, 249, 245, 0.08);
}

/* Full-bleed homepage CTA band stays flush to edges. */
body.ramaya-scheme-lombok-coast .rdest--cta-only .rdest-cta,
body.home .rdest--cta-only .rdest-cta {
	border-radius: 0;
}

body.ramaya-scheme-lombok-coast .rdest-cta__copy .rdest__eyebrow {
	color: #c4a574;
	letter-spacing: 0.16em;
	margin-bottom: 0.45rem;
}

body.ramaya-scheme-lombok-coast .rdest-cta__copy .rdest__title {
	color: #faf9f5;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	font-size: clamp(1.65rem, 3.2vw, 2.35rem);
	letter-spacing: -0.02em;
	line-height: 1.15;
	max-width: 16ch;
}

body.ramaya-scheme-lombok-coast .rdest-cta__copy p:last-child {
	color: rgba(250, 249, 245, 0.78);
	font-size: 0.98rem;
	line-height: 1.55;
	max-width: 34rem;
}

body.ramaya-scheme-lombok-coast .rdest-cta__actions {
	gap: 0.75rem;
}

body.ramaya-scheme-lombok-coast .rdest-cta__btn {
	border-radius: var(--ramaya-radius-btn);
	padding: 0.8rem 1.2rem;
	font-size: 0.88rem;
	font-weight: 700;
}

body.ramaya-scheme-lombok-coast .rdest-cta__btn--primary,
body.ramaya-scheme-lombok-coast .entry-content a.rdest-cta__btn--primary,
body.ramaya-scheme-lombok-coast .entry-content a.rdest-cta__btn--primary:visited {
	background: #faf9f5;
	color: #153f39;
	border: 1px solid #faf9f5;
}

body.ramaya-scheme-lombok-coast .rdest-cta__btn--primary:hover,
body.ramaya-scheme-lombok-coast .rdest-cta__btn--primary:focus-visible,
body.ramaya-scheme-lombok-coast .entry-content a.rdest-cta__btn--primary:hover,
body.ramaya-scheme-lombok-coast .entry-content a.rdest-cta__btn--primary:focus-visible {
	background: #fff;
	color: #0f2e2a;
}

body.ramaya-scheme-lombok-coast .rdest-cta a.rdest-cta__btn--ghost,
body.home .rdest-cta a.rdest-cta__btn--ghost {
	background: transparent;
	color: #faf9f5 !important;
	border: 1px solid rgba(250, 249, 245, 0.58);
}

body.ramaya-scheme-lombok-coast .rdest-cta a.rdest-cta__btn--ghost:hover,
body.ramaya-scheme-lombok-coast .rdest-cta a.rdest-cta__btn--ghost:focus-visible,
body.home .rdest-cta a.rdest-cta__btn--ghost:hover,
body.home .rdest-cta a.rdest-cta__btn--ghost:focus-visible {
	color: #ffffff !important;
	border-color: rgba(250, 249, 245, 0.92);
	background: rgba(250, 249, 245, 0.1);
}

@media (max-width: 799px) {
	body.ramaya-scheme-lombok-coast .rdest-cta {
		align-items: stretch;
	}

	body.ramaya-scheme-lombok-coast .rdest-cta__copy .rdest__title {
		max-width: none;
	}

	body.ramaya-scheme-lombok-coast .rdest-cta__actions {
		width: 100%;
	}

	body.ramaya-scheme-lombok-coast .rdest-cta__btn {
		flex: 1 1 auto;
	}
}
