/* ─────────────────────────────────────────────
   Gladys Christina — Components
   Buttons, Cards, Nav, Footer, Forms, Eyebrow
   ───────────────────────────────────────────── */

/* ── Buttons ───────────────────────────────── */
.gc-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: var(--radius-btn);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: 0.04em;
	line-height: 1;
	cursor: pointer;
	border: none;
	text-decoration: none;
	transition: var(--transition-all);
	white-space: nowrap;
}

.gc-btn--sm  { padding: 7px 18px; }
.gc-btn--md  { padding: 10px 24px; }
.gc-btn--lg  { padding: 14px 32px; font-size: var(--text-base); }

.gc-btn--primary {
	background: var(--color-btn-primary-bg);
	color: var(--color-btn-primary-text);
}
.gc-btn--primary:hover {
	background: var(--color-btn-primary-hover);
	color: var(--color-btn-primary-text);
}

.gc-btn--secondary {
	background: var(--color-btn-secondary-bg);
	color: var(--color-btn-secondary-text);
}
.gc-btn--secondary:hover {
	background: var(--gc-sky-200);
	color: var(--color-btn-secondary-text);
}

.gc-btn--outline {
	background: transparent;
	color: var(--color-btn-outline-text);
	border: 1.5px solid var(--color-btn-outline-border);
}
.gc-btn--outline:hover {
	background: var(--color-btn-outline-hover);
}

.gc-btn--ghost {
	background: transparent;
	color: var(--gc-indigo);
	border: none;
}
.gc-btn--ghost:hover {
	color: var(--gc-teal);
}

.gc-btn--plum {
	background: var(--gc-plum);
	color: var(--gc-white);
}
.gc-btn--plum:hover {
	background: var(--gc-plum-700);
	color: var(--gc-white);
}

.gc-btn--whatsapp {
	background: var(--color-btn-whatsapp);
	color: var(--gc-white);
}
.gc-btn--whatsapp:hover {
	background: var(--gc-teal-700);
	color: var(--gc-white);
}

.gc-btn--email {
	background: var(--color-btn-email);
	color: var(--gc-white);
}
.gc-btn--email:hover {
	background: var(--gc-indigo-800);
	color: var(--gc-white);
}

/* Glassmorphism variant for hero */
.gc-btn--glass {
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: var(--gc-white);
}
.gc-btn--glass:hover {
	background: rgba(255, 255, 255, 0.24);
	color: var(--gc-white);
}

/* ── Eyebrow / Section Label ───────────────── */
.gc-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.gc-eyebrow__line {
	display: block;
	width: 32px;
	height: 1px;
	opacity: 0.6;
	flex-shrink: 0;
}

/* ── Section Header ────────────────────────── */
.gc-section-header {
	margin-bottom: 48px;
}

.gc-section-header__title {
	font-family: var(--font-display);
	font-size: var(--text-4xl);
	font-weight: var(--weight-light);
	color: var(--gc-indigo);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-tight);
	text-wrap: balance;
}

/* ── Property Card ─────────────────────────── */
.property-card {
	background: var(--gc-white);
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	transition: transform var(--duration-slow) var(--ease-out),
	            box-shadow var(--duration-slow) var(--ease-out);
	cursor: pointer;
	display: flex;
	flex-direction: column;
}

.property-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-card-hover);
}

.property-card__image {
	height: 200px;
	overflow: hidden;
}

.property-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.property-card__image-placeholder {
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--gc-teal-50), var(--gc-teal-200));
}

.property-card__body {
	padding: 20px 22px 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.property-card__tag {
	display: inline-block;
	border-radius: var(--radius-tag);
	padding: 3px 12px;
	background: var(--gc-teal-50);
	color: var(--gc-teal);
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.property-card__title {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: var(--weight-regular);
	color: var(--gc-indigo);
	line-height: var(--leading-snug);
	margin-bottom: 6px;
}

.property-card__location {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-500);
	margin-bottom: 12px;
}

.property-card__chips {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.property-card__chip {
	border-radius: var(--radius-pill);
	padding: 3px 10px;
	background: var(--gc-teal-50);
	color: var(--gc-indigo);
	font-size: 11px;
	font-family: var(--font-body);
	border: 1px solid rgba(86, 181, 191, 0.18);
}

/* ── Event Card (Excursion) ────────────────── */
.event-card {
	background: var(--gc-white);
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	transition: transform var(--duration-slow) var(--ease-out),
	            box-shadow var(--duration-slow) var(--ease-out);
	cursor: pointer;
}

.event-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 40px rgba(166, 81, 128, 0.18);
}

.event-card__image {
	height: 180px;
	overflow: hidden;
}

.event-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.event-card__image-placeholder {
	height: 180px;
	background: linear-gradient(135deg, var(--gc-plum-100), var(--gc-plum));
	display: flex;
	align-items: center;
	justify-content: center;
}

.event-card__body {
	padding: 20px 22px 24px;
}

.event-card__tag {
	display: inline-block;
	border-radius: var(--radius-tag);
	padding: 3px 12px;
	background: var(--gc-plum-50);
	color: var(--gc-plum);
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.event-card__title {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: var(--weight-regular);
	color: var(--gc-indigo);
	line-height: var(--leading-snug);
	margin-bottom: 6px;
}

.event-card__meta {
	display: flex;
	gap: 8px;
	font-size: 12px;
	color: var(--gc-indigo-300);
	font-family: var(--font-body);
	margin-bottom: 14px;
}

/* ── Blog Card ─────────────────────────────── */
.blog-card {
	background: var(--gc-white);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(77, 67, 115, 0.08);
	transition: transform 300ms ease, box-shadow 300ms ease;
	cursor: pointer;
	text-decoration: none;
	display: block;
}

.blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 32px rgba(77, 67, 115, 0.13);
	color: inherit;
}

.blog-card__image {
	height: 160px;
	overflow: hidden;
}

.blog-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.blog-card__image-placeholder {
	height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.blog-card__image-placeholder span {
	color: rgba(255, 255, 255, 0.4);
	font-family: var(--font-body);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.blog-card__image-placeholder--1 {
	background: linear-gradient(135deg, #fceef0 0%, #D97386 100%);
}

.blog-card__image-placeholder--2 {
	background: linear-gradient(135deg, #D97386 0%, #A65180 100%);
}

.blog-card__image-placeholder--3 {
	background: linear-gradient(135deg, #fde8e1 0%, #F2A488 100%);
}

.blog-card__image-placeholder--4 {
	background: linear-gradient(135deg, #ebf7f8 0%, #56B5BF 100%);
}

.blog-card__body {
	padding: 18px 20px 22px;
}

.blog-card__tag {
	display: inline-block;
	border-radius: var(--radius-tag);
	padding: 3px 12px;
	background: var(--gc-rose-50);
	color: var(--gc-rose);
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.blog-card__title {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: var(--weight-regular);
	color: var(--gc-indigo);
	line-height: var(--leading-snug);
	margin-bottom: 6px;
}

.blog-card__meta {
	display: flex;
	gap: 8px;
	font-size: 11px;
	color: var(--gc-indigo-300);
	font-family: var(--font-body);
}

/* ── Homepage section menu card ────────────── */
.section-menu-card {
	background: var(--gc-white);
	border: 1.5px solid rgba(86, 181, 191, 0.15);
	border-radius: var(--radius-card);
	padding: 36px 32px;
	cursor: pointer;
	flex: 1;
	transition: var(--transition-all);
	box-shadow: 0 2px 12px rgba(77, 67, 115, 0.05);
	text-decoration: none;
	display: block;
}

.section-menu-card:hover {
	background: var(--card-bg);
	border-color: var(--card-color);
	box-shadow: 0 8px 32px rgba(77, 67, 115, 0.10);
}

.section-menu-card__icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}

.section-menu-card__label {
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.section-menu-card__title {
	font-family: var(--font-display);
	font-size: 22px;
	font-weight: var(--weight-regular);
	color: var(--gc-indigo);
	line-height: var(--leading-snug);
	margin-bottom: 10px;
}

.section-menu-card__cta {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	display: flex;
	align-items: center;
	gap: 6px;
}

/* ── About page doing card ─────────────────── */
.doing-card {
	background: var(--gc-white);
	border: 1.5px solid rgba(86, 181, 191, 0.15);
	border-radius: 20px;
	padding: 32px 30px;
	transition: all 300ms ease;
	text-decoration: none;
	display: block;
	text-align: left;
}

.doing-card:hover {
	border-color: var(--card-color);
	box-shadow: 0 8px 32px rgba(77, 67, 115, 0.10);
	transform: translateY(-4px);
}

.doing-card__pill {
	display: inline-block;
	border-radius: 9999px;
	padding: 4px 14px;
	background: var(--card-bg);
	color: var(--card-color);
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.doing-card__text {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: var(--weight-light);
	color: var(--gc-indigo-500);
	line-height: 1.65;
	margin: 0 0 16px;
}

.doing-card__cta {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: var(--weight-medium);
	color: var(--card-color);
}

.gc-btn--cta-white {
	background: var(--gc-white);
	color: var(--gc-teal);
}

.gc-btn--cta-white:hover {
	background: var(--gc-off-white);
	color: var(--gc-teal-700);
}

.gc-btn--cta-glass {
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: var(--gc-white);
}

.gc-btn--cta-glass:hover {
	background: rgba(255, 255, 255, 0.24);
	color: var(--gc-white);
}

/* ── Navigation ────────────────────────────── */
/* Offset fixed header when the WP admin bar is present */
.admin-bar .gc-header {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.admin-bar .gc-header {
		top: 46px;
	}
}

.gc-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 40px;
	transition: background var(--duration-slow) var(--ease-out),
	            border-color var(--duration-slow) var(--ease-out),
	            box-shadow var(--duration-slow) var(--ease-out);
}

/* Transparent state (homepage, not scrolled) */
.gc-header--transparent {
	background: transparent;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: none;
}

/* Scrolled / non-home state */
.gc-header--scrolled {
	background: rgba(255, 255, 255, 0.97);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(86, 181, 191, 0.12);
	box-shadow: 0 2px 16px rgba(77, 67, 115, 0.06);
}

.gc-header__logo {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.gc-header__logo img {
	height: 68px;
	display: block;
	transition: opacity var(--duration-base) var(--ease-out);
}

.gc-header__nav {
	display: flex;
	gap: 28px;
	align-items: center;
}

.gc-header__link {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	letter-spacing: 0.04em;
	cursor: pointer;
	background: none;
	border: none;
	text-decoration: none;
	transition: color var(--duration-fast) var(--ease-out);
	padding: 0;
}

.gc-header--transparent .gc-header__link {
	color: rgba(255, 255, 255, 0.9);
}

.gc-header--scrolled .gc-header__link {
	color: var(--gc-indigo);
}

.gc-header--transparent .gc-header__link:hover,
.gc-header--scrolled .gc-header__link:hover,
.gc-header__link.is-active {
	color: var(--gc-teal);
}

.gc-header__link.is-active {
	font-weight: var(--weight-medium);
}

/* CTA button in nav */
.gc-header--transparent .gc-header__cta {
	background: var(--gc-white);
	color: var(--gc-teal);
}

.gc-header--scrolled .gc-header__cta {
	background: var(--gc-teal);
	color: var(--gc-white);
}

.gc-header--scrolled .gc-header__cta:hover {
	background: var(--gc-peach);
	color: var(--gc-white);
}

/* ── Footer ────────────────────────────────── */
.gc-footer {
	background: var(--color-bg-footer);
	padding: 64px 40px 32px;
}

.gc-footer__inner {
	max-width: 1280px;
	margin: 0 auto;
}

.gc-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 48px;
	margin-bottom: 48px;
}

.gc-footer__brand p {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: rgba(255, 255, 255, 0.6);
	line-height: var(--leading-relaxed);
	margin-top: 16px;
	max-width: 280px;
}

.gc-footer__logo {
	height: 80px;
	display: block;
}

.gc-footer__social {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}

.gc-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.6);
	transition: var(--transition-all);
	text-decoration: none;
}

.gc-footer__social a:hover {
	background: rgba(255, 255, 255, 0.16);
	color: var(--gc-white);
}

.gc-footer__social svg {
	width: 18px;
	height: 18px;
}

.gc-footer__col-heading {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.35);
	margin-bottom: 16px;
}

.gc-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.gc-footer__links li {
	margin-bottom: 8px;
}

.gc-footer__links a {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
	transition: color var(--duration-fast) var(--ease-out);
}

.gc-footer__links a:hover {
	color: var(--gc-white);
}

.gc-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gc-footer__copyright {
	font-family: var(--font-body);
	font-size: var(--text-xs);
	color: rgba(255, 255, 255, 0.3);
}

.gc-footer__credit {
	font-family: var(--font-body);
	font-size: var(--text-xs);
	color: rgba(255, 255, 255, 0.25);
}

.gc-footer__credit a {
	color: rgba(255, 255, 255, 0.35);
	text-decoration: none;
}

.gc-footer__credit a:hover {
	color: rgba(255, 255, 255, 0.6);
}

/* ── Forms ─────────────────────────────────── */
.gc-input {
	width: 100%;
	padding: 12px 20px;
	border-radius: var(--radius-pill);
	border: 1.5px solid rgba(86, 181, 191, 0.3);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo);
	background: var(--gc-off-white);
	outline: none;
	transition: border-color var(--duration-fast) var(--ease-out),
	            box-shadow var(--duration-fast) var(--ease-out);
}

.gc-input:focus {
	border-color: var(--gc-teal);
	box-shadow: var(--shadow-focus);
}

.gc-input::placeholder {
	color: var(--gc-indigo-300);
}

/* ── Filter Bar ────────────────────────────── */
.gc-filter-bar {
	background: var(--gc-white);
	border-bottom: 1px solid rgba(86, 181, 191, 0.12);
	padding: 0 40px;
}

.gc-filter-bar__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	gap: 6px;
	padding: 16px 0;
}

.gc-filter-btn {
	border-radius: var(--radius-pill);
	padding: 8px 20px;
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: var(--transition-all);
	background: transparent;
	color: var(--gc-indigo);
	border: 1.5px solid rgba(86, 181, 191, 0.22);
}

.gc-filter-btn.is-active,
.gc-filter-btn:hover {
	background: var(--gc-teal);
	color: var(--gc-white);
	border-color: var(--gc-teal);
}

/* ── Property Detail Slideshow ─────────────── */
.gc-slideshow {
	position: relative;
	border-radius: var(--radius-slideshow);
	overflow: hidden;
	margin-bottom: 40px;
}

.gc-slideshow__track {
	height: 480px;
	position: relative;
}

.gc-slideshow__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity var(--duration-slow) var(--ease-out);
}

.gc-slideshow__slide.is-active {
	opacity: 1;
}

.gc-slideshow__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gc-slideshow__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	z-index: 2;
	transition: var(--transition-all);
}

.gc-slideshow__btn:hover {
	background: var(--gc-white);
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}

.gc-slideshow__btn--prev { left: 20px; }
.gc-slideshow__btn--next { right: 20px; }

.gc-slideshow__dots {
	position: absolute;
	bottom: 18px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 6px;
	z-index: 2;
}

.gc-slideshow__dot {
	height: 6px;
	border-radius: var(--radius-pill);
	background: var(--gc-white);
	border: none;
	cursor: pointer;
	padding: 0;
	transition: width var(--duration-base) var(--ease-out),
	            opacity var(--duration-base) var(--ease-out);
	width: 6px;
	opacity: 0.5;
}

.gc-slideshow__dot.is-active {
	width: 20px;
	opacity: 1;
}

/* ── Sticky CTA Card ───────────────────────── */
.gc-sticky-cta {
	position: sticky;
	top: 90px;
	background: var(--gc-white);
	border-radius: var(--radius-card);
	padding: 28px;
	box-shadow: var(--shadow-card);
	border: 1px solid rgba(86, 181, 191, 0.12);
}

.gc-sticky-cta__title {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--gc-indigo);
	margin-bottom: 6px;
	line-height: var(--leading-snug);
}

.gc-sticky-cta__subtitle {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-300);
	line-height: var(--leading-relaxed);
	margin-bottom: 22px;
}

.gc-sticky-cta__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 24px;
}

.gc-sticky-cta__actions .gc-btn {
	justify-content: center;
	width: 100%;
}

.gc-sticky-cta__divider {
	border-top: 1px solid rgba(86, 181, 191, 0.12);
	padding-top: 20px;
}

.gc-sticky-cta__highlights-label {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gc-indigo-300);
	margin-bottom: 12px;
}

.gc-sticky-cta__highlight {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.gc-sticky-cta__highlight-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--gc-teal);
	flex-shrink: 0;
}

.gc-sticky-cta__highlight span {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-500);
}

/* ── CTA Banners ───────────────────────────── */
.gc-cta-banner {
	padding: 56px 40px;
}

.gc-cta-banner__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gc-cta-banner--centred .gc-cta-banner__inner {
	flex-direction: column;
	text-align: center;
}

.gc-cta-banner__eyebrow {
	font-family: var(--font-body);
	font-size: 11px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 10px;
}

.gc-cta-banner__title {
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: var(--weight-light);
	color: var(--gc-white);
	line-height: var(--leading-snug);
}

.gc-cta-banner__body {
	font-family: var(--font-body);
	font-size: 15px;
	color: rgba(255, 255, 255, 0.72);
	margin-top: 10px;
	margin-bottom: 28px;
	line-height: var(--leading-relaxed);
}

.gc-cta-banner__actions {
	display: flex;
	gap: 12px;
}

.gc-cta-banner--centred .gc-cta-banner__actions {
	justify-content: center;
}

/* Video placeholder */
.gc-video-placeholder {
	border-radius: var(--radius-lg);
	background: var(--gc-off-white);
	border: 1.5px dashed rgba(86, 181, 191, 0.28);
	height: 240px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.gc-video-placeholder__icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--gc-teal-50);
	display: flex;
	align-items: center;
	justify-content: center;
}

.gc-video-placeholder__label {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-300);
}

/* ── Detail chips ──────────────────────────── */
.gc-chips {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 32px;
}

.gc-chip {
	border-radius: var(--radius-pill);
	padding: 5px 14px;
	background: var(--gc-off-white);
	color: var(--gc-indigo);
	font-size: 12px;
	font-family: var(--font-body);
	border: 1px solid rgba(86, 181, 191, 0.18);
}

/* Feature card (excursions What to Expect) */
.gc-feature-card {
	text-align: center;
	padding: 40px 32px;
	border-radius: var(--radius-card);
	background: var(--gc-off-white);
}

.gc-feature-card__icon {
	display: flex;
	justify-content: center;
	margin-bottom: 18px;
}

.gc-feature-card__title {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--gc-indigo);
	margin-bottom: 10px;
}

.gc-feature-card__desc {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-500);
	line-height: var(--leading-relaxed);
}

/* ── Page hero variants ─────────────────────── */
.gc-page-hero {
	padding: 64px 40px;
}

.gc-page-hero__inner {
	max-width: 1280px;
	margin: 0 auto;
}

.gc-page-hero h1 {
	font-size: var(--text-5xl);
	font-weight: var(--weight-light);
	color: var(--gc-indigo);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin-bottom: 16px;
}

.gc-page-hero__lead {
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	color: var(--gc-indigo-500);
	line-height: 1.7;
	max-width: 520px;
}

.gc-page-hero--has-image {
	min-height: 320px;
	display: flex;
	align-items: center;
}

/* ─────────────────────────────────────────────
   Holiday Card & Detail
   Accent: sky/aqua family (#7DCCE3 / #89E4E0)
   ───────────────────────────────────────────── */

/* ── Holiday Card ──────────────────────────── */
.holiday-card {
	background: var(--gc-white);
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	transition: transform var(--duration-slow) var(--ease-out),
	            box-shadow var(--duration-slow) var(--ease-out);
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
}

.holiday-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 40px rgba(125, 204, 227, 0.24);
	color: inherit;
}

.holiday-card__image {
	height: 220px;
	overflow: hidden;
	position: relative;
}

.holiday-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--duration-slower) var(--ease-out);
}

.holiday-card:hover .holiday-card__image img {
	transform: scale(1.04);
}

.holiday-card__image-placeholder {
	height: 220px;
	background: linear-gradient(135deg, var(--gc-sky-100), var(--gc-aqua));
	display: flex;
	align-items: center;
	justify-content: center;
}

.holiday-card__type-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	border-radius: var(--radius-tag);
	padding: 4px 12px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	color: var(--gc-sky);
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: 1px solid rgba(125, 204, 227, 0.3);
}

.holiday-card__body {
	padding: 20px 22px 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.holiday-card__title {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: var(--weight-regular);
	color: var(--gc-indigo);
	line-height: var(--leading-snug);
	margin-bottom: 4px;
}

.holiday-card__tagline {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-500);
	margin-bottom: 14px;
	line-height: 1.5;
}

.holiday-card__stats {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.holiday-card__stat {
	border-radius: var(--radius-pill);
	padding: 3px 10px;
	background: var(--gc-sky-50);
	color: var(--gc-indigo);
	font-size: 11px;
	font-family: var(--font-body);
	border: 1px solid rgba(125, 204, 227, 0.22);
	display: flex;
	align-items: center;
	gap: 4px;
}

.holiday-card__availability {
	font-family: var(--font-body);
	font-size: 11px;
	color: var(--gc-indigo-300);
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.holiday-card__availability::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gc-aqua);
	flex-shrink: 0;
}

/* ── Holiday Detail Page ───────────────────── */
.gc-holiday-detail {
	max-width: 1280px;
	margin: 0 auto;
	padding: 32px 40px 0;
}

.gc-holiday-detail__back {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-500);
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	margin-bottom: 24px;
	text-decoration: none;
	transition: color var(--duration-fast) var(--ease-out);
}

.gc-holiday-detail__back:hover {
	color: var(--gc-sky);
}

.gc-holiday-detail__grid {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 56px;
	align-items: start;
	padding-bottom: 96px;
}

.gc-holiday-detail__header {
	margin-bottom: 28px;
}

.gc-holiday-detail__type {
	display: inline-block;
	border-radius: var(--radius-pill);
	padding: 3px 14px;
	background: var(--gc-sky-50);
	color: var(--gc-sky);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-family: var(--font-body);
	margin-bottom: 14px;
	border: 1px solid rgba(125, 204, 227, 0.3);
}

.gc-holiday-detail h1 {
	font-family: var(--font-display);
	font-size: 44px;
	font-weight: var(--weight-light);
	color: var(--gc-indigo);
	line-height: 1.1;
	letter-spacing: -0.01em;
	margin-bottom: 8px;
}

.gc-holiday-detail__tagline {
	font-family: var(--font-body);
	font-size: var(--text-lg);
	font-weight: var(--weight-light);
	color: var(--gc-indigo-500);
	margin-bottom: 6px;
}

.gc-holiday-detail__location {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-300);
	display: flex;
	align-items: center;
	gap: 6px;
}

/* Stats row */
.gc-holiday-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 36px;
}

.gc-holiday-stat {
	background: var(--gc-off-white);
	border: 1px solid rgba(125, 204, 227, 0.2);
	border-radius: var(--radius-md);
	padding: 16px 12px;
	text-align: center;
}

.gc-holiday-stat__value {
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: var(--weight-light);
	color: var(--gc-indigo);
	line-height: 1;
	margin-bottom: 4px;
}

.gc-holiday-stat__label {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gc-indigo-300);
}

/* Check-in row */
.gc-holiday-checkin {
	display: flex;
	gap: 16px;
	margin-bottom: 36px;
}

.gc-holiday-checkin__item {
	flex: 1;
	background: var(--gc-sky-50);
	border-radius: var(--radius-md);
	padding: 14px 18px;
	border: 1px solid rgba(125, 204, 227, 0.2);
}

.gc-holiday-checkin__label {
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gc-sky);
	margin-bottom: 4px;
}

.gc-holiday-checkin__value {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	color: var(--gc-indigo);
}

/* Description */
.gc-holiday-description {
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	color: var(--gc-indigo-500);
	line-height: 1.82;
	margin-bottom: 40px;
}

.gc-holiday-description p {
	margin-bottom: 16px;
}

/* Highlights */
.gc-holiday-highlights {
	margin-bottom: 40px;
}

.gc-holiday-highlight {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(125, 204, 227, 0.12);
}

.gc-holiday-highlight:first-child {
	border-top: 1px solid rgba(125, 204, 227, 0.12);
}

.gc-holiday-highlight__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gc-sky);
	flex-shrink: 0;
	margin-top: 7px;
}

.gc-holiday-highlight__text {
	font-family: var(--font-body);
	font-size: var(--text-base);
	color: var(--gc-indigo);
	line-height: 1.5;
}

/* Amenities grid */
.gc-amenities-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 40px;
}

.gc-amenity-tag {
	border-radius: var(--radius-pill);
	padding: 6px 14px;
	background: var(--gc-sky-50);
	color: var(--gc-indigo);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	border: 1px solid rgba(125, 204, 227, 0.22);
	display: flex;
	align-items: center;
	gap: 6px;
}

.gc-amenity-tag__icon {
	font-size: 14px;
	line-height: 1;
}

/* Sticky CTA — sky variant */
.gc-sticky-cta--holiday {
	border-color: rgba(125, 204, 227, 0.2);
}

.gc-sticky-cta--holiday .gc-sticky-cta__title {
	color: var(--gc-indigo);
}

.gc-sticky-cta__availability-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--gc-sky-50);
	border: 1px solid rgba(125, 204, 227, 0.25);
	border-radius: var(--radius-md);
	padding: 10px 14px;
	margin-bottom: 20px;
}

.gc-sticky-cta__availability-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gc-aqua);
	flex-shrink: 0;
}

.gc-sticky-cta__availability-text {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--gc-indigo-500);
	line-height: 1.4;
}

/* ── Responsive ────────────────────────────── */
@media (max-width: 1024px) {
	.gc-holiday-detail__grid {
		grid-template-columns: 1fr;
	}
	.gc-holiday-stats {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.gc-holiday-stats {
		grid-template-columns: repeat(2, 1fr);
	}
	.gc-holiday-checkin {
		flex-direction: column;
		gap: 10px;
	}
}

/* ── Price display (property card + holiday card) ─────────────────── */

/* On the property card */
.property-card__price {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: var(--gc-sky);
	margin-bottom: 10px;
	letter-spacing: 0.01em;
}

/* On the holiday card */
.holiday-card__price {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: var(--gc-sky);
	margin-bottom: 10px;
	letter-spacing: 0.01em;
}

/* In the detail page header */
.gc-holiday-detail__price {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	color: var(--gc-sky);
}

/* In the sticky CTA */
.gc-sticky-cta__price {
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: var(--weight-light);
	color: var(--gc-indigo);
	margin-bottom: 6px;
	line-height: 1.1;
}

.gc-sticky-cta__price-label {
	display: block;
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gc-indigo-300);
	margin-bottom: 4px;
}

/* Stats grid — auto-fill so 5 stats fit naturally */
.gc-holiday-stats {
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
}

/* Map container */
.gc-holiday-map {
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid rgba(125, 204, 227, 0.2);
	box-shadow: var(--shadow-sm);
}

/* ─────────────────────────────────────────────
   Property Listing Type & Features
   ───────────────────────────────────────────── */

/* ── Listing type badges ───────────────────── */
.gc-listing-badges {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.gc-listing-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	border-radius: var(--radius-pill);
	padding: 4px 12px;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1;
}

.gc-listing-badge--sale {
	background: var(--gc-teal-50);
	color: var(--gc-teal-700);
	border: 1px solid rgba(86, 181, 191, 0.3);
}

.gc-listing-badge--rental {
	background: var(--gc-peach-50);
	color: var(--gc-peach-700);
	border: 1px solid rgba(242, 164, 136, 0.3);
}

/* On image overlay (card) */
.gc-listing-badges--overlay {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 1;
	flex-direction: column;
	align-items: flex-end;
}

.gc-listing-badges--overlay .gc-listing-badge {
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	background: rgba(255, 255, 255, 0.9);
}

.gc-listing-badges--overlay .gc-listing-badge--sale {
	color: var(--gc-teal-700);
	border-color: rgba(86, 181, 191, 0.35);
}

.gc-listing-badges--overlay .gc-listing-badge--rental {
	color: var(--gc-peach-700);
	border-color: rgba(242, 164, 136, 0.35);
}

/* ── Feature pills (archive/card) ─────────── */
.gc-features-row {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.gc-feature-pill {
	border-radius: var(--radius-pill);
	padding: 3px 10px;
	background: var(--gc-indigo-50);
	color: var(--gc-indigo-500);
	font-size: 10px;
	font-family: var(--font-body);
	font-weight: var(--weight-medium);
	letter-spacing: 0.04em;
	border: 1px solid var(--gc-indigo-100);
	white-space: nowrap;
}

/* ── Feature grid on detail page ──────────── */
.gc-property-features {
	margin-bottom: 40px;
}

.gc-property-features__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gc-property-feature-tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border-radius: var(--radius-pill);
	padding: 8px 16px;
	background: var(--gc-off-white);
	color: var(--gc-indigo);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	border: 1px solid var(--gc-indigo-100);
	transition: background var(--duration-fast) var(--ease-out),
	            border-color var(--duration-fast) var(--ease-out);
}

.gc-property-feature-tag:hover {
	background: var(--gc-teal-50);
	border-color: rgba(86, 181, 191, 0.3);
	color: var(--gc-indigo);
}

.gc-property-feature-tag__dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--gc-teal);
	flex-shrink: 0;
}

/* ── Excursion Detail Page ─────────────────── */
.gc-excursion-hero {
	position: relative;
	min-height: 62vh;
	display: flex;
	align-items: flex-end;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.gc-excursion-hero__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 40px 56px;
	width: 100%;
}

.gc-excursion-hero__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-size: 13px;
	color: rgba(255, 255, 255, 0.85);
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--radius-pill);
	padding: 7px 16px;
	text-decoration: none;
	margin-bottom: 24px;
	transition: background var(--duration-fast) var(--ease-out);
}

.gc-excursion-hero__back:hover {
	background: rgba(255, 255, 255, 0.22);
	color: var(--gc-white);
}

.gc-excursion-hero .gc-eyebrow {
	letter-spacing: 0.2em;
	margin-bottom: 14px;
}

.gc-excursion-hero__title {
	font-family: var(--font-display);
	font-size: 58px;
	font-weight: var(--weight-light);
	color: var(--gc-white);
	line-height: 1.04;
	letter-spacing: -0.02em;
	margin-bottom: 20px;
	max-width: 780px;
}

.gc-excursion-hero__meta {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
	align-items: center;
}

.gc-excursion-hero__meta-item {
	display: flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.92);
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: var(--weight-light);
}

.gc-excursion-hero__meta-item svg {
	color: var(--gc-aqua);
	flex-shrink: 0;
}

.gc-excursion-detail__body {
	background: var(--gc-white);
}

.gc-excursion-detail__grid {
	max-width: 1280px;
	margin: 0 auto;
	padding: 72px 40px 96px;
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 64px;
	align-items: start;
}

.gc-excursion-detail__sidebar {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.gc-excursion-section {
	margin-bottom: 56px;
}

.gc-excursion-section__title {
	font-family: var(--font-display);
	font-size: 30px;
	font-weight: var(--weight-light);
	color: var(--gc-indigo);
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin-bottom: 24px;
}

.gc-excursion-description {
	font-family: var(--font-body);
	font-size: 17px;
	font-weight: var(--weight-light);
	color: var(--gc-indigo-500);
	line-height: 1.85;
	text-wrap: pretty;
}

.gc-excursion-description p {
	margin-bottom: 16px;
}

.gc-excursion-description p:last-child {
	margin-bottom: 0;
}

.gc-slideshow--excursion {
	border-radius: 24px;
	margin-bottom: 56px;
	background: #000;
}

.gc-slideshow--excursion .gc-slideshow__track {
	height: 440px;
}

/* Itinerary timeline */
.gc-excursion-itinerary {
	position: relative;
}

.gc-excursion-itinerary__spine {
	position: absolute;
	left: 7px;
	top: 8px;
	bottom: 8px;
	width: 2px;
	background: linear-gradient(to bottom, var(--gc-aqua), var(--gc-teal));
	opacity: 0.5;
}

.gc-excursion-itinerary__row {
	display: grid;
	grid-template-columns: 16px 88px 1fr;
	gap: 18px;
	align-items: start;
	padding: 14px 0;
}

.gc-excursion-itinerary__dot {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--gc-white);
	border: 3px solid var(--gc-teal);
	margin-top: 3px;
	z-index: 1;
}

.gc-excursion-itinerary__time-value {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: var(--weight-medium);
	color: var(--gc-indigo);
}

.gc-excursion-itinerary__time-duration {
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--gc-indigo-300);
	margin-top: 2px;
}

.gc-excursion-itinerary__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 4px;
}

.gc-excursion-itinerary__item-title {
	font-family: var(--font-display);
	font-size: 21px;
	font-weight: var(--weight-medium);
	color: var(--gc-indigo);
	line-height: 1.2;
}

.gc-excursion-itinerary__badge {
	font-family: var(--font-body);
	font-size: 9px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: var(--radius-pill);
	padding: 3px 10px;
}

.gc-excursion-itinerary__badge--optional {
	color: var(--gc-plum);
	background: var(--gc-plum-50);
}

.gc-excursion-itinerary__badge--price {
	font-size: 12px;
	font-weight: var(--weight-medium);
	color: var(--gc-teal);
	background: var(--gc-teal-50);
	letter-spacing: 0;
	text-transform: none;
}

.gc-excursion-itinerary__included {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: var(--weight-medium);
	color: var(--gc-indigo-300);
}

.gc-excursion-itinerary__note {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: var(--weight-light);
	color: var(--gc-indigo-500);
	line-height: 1.6;
	margin: 0;
}

/* What to bring */
.gc-excursion-bring {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 28px;
}

.gc-excursion-bring__item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: var(--weight-light);
	color: var(--gc-indigo);
	line-height: 1.5;
}

.gc-excursion-bring__icon {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--gc-teal-50);
	color: var(--gc-teal);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 1px;
}

/* Good to know */
.gc-excursion-good-to-know {
	background: #F5FAFB;
	border-radius: 20px;
	padding: 32px 36px;
	margin-bottom: 0;
}

.gc-excursion-good-to-know__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gc-excursion-good-to-know__item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: var(--weight-light);
	color: var(--gc-indigo-500);
	line-height: 1.6;
}

.gc-excursion-good-to-know__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gc-teal);
	flex-shrink: 0;
	margin-top: 9px;
}

/* Key facts sidebar */
.gc-excursion-facts {
	background: var(--gc-white);
	border-radius: 20px;
	padding: 28px 30px;
	box-shadow: 0 4px 24px rgba(86, 181, 191, 0.12);
	border: 1px solid rgba(86, 181, 191, 0.12);
}

.gc-excursion-facts__label {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gc-indigo-300);
	margin-bottom: 4px;
}

.gc-excursion-fact {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px 0;
	border-bottom: 1px solid rgba(86, 181, 191, 0.12);
}

.gc-excursion-fact:last-child,
.gc-excursion-fact--price {
	border-bottom: none;
}

.gc-excursion-fact--price {
	padding-top: 16px;
}

.gc-excursion-fact__icon {
	width: 20px;
	flex-shrink: 0;
	color: var(--gc-teal);
	margin-top: 1px;
}

.gc-excursion-fact__label {
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gc-indigo-300);
	margin-bottom: 3px;
}

.gc-excursion-fact__value {
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--gc-indigo);
	line-height: 1.45;
}

.gc-excursion-fact__price {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: var(--weight-regular);
	color: var(--gc-indigo);
	line-height: 1.1;
	margin-bottom: 6px;
}

.gc-excursion-fact__pricing-note {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: var(--weight-light);
	color: var(--gc-indigo-300);
	line-height: 1.55;
	margin: 0;
}

/* CTA card */
.gc-excursion-cta {
	background: var(--gc-teal);
	border-radius: 20px;
	padding: 28px 30px;
}

.gc-excursion-cta__title {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: var(--weight-regular);
	color: var(--gc-white);
	line-height: 1.2;
	margin-bottom: 6px;
}

.gc-excursion-cta__text {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: var(--weight-light);
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.6;
	margin-bottom: 20px;
}

.gc-excursion-cta__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gc-excursion-cta__actions .gc-btn {
	width: 100%;
}

@media (max-width: 1024px) {
	.gc-excursion-detail__grid {
		grid-template-columns: 1fr;
	}

	.gc-excursion-detail__sidebar {
		position: static;
	}
}

@media (max-width: 768px) {
	.gc-excursion-hero__inner,
	.gc-excursion-detail__grid {
		padding-left: 24px;
		padding-right: 24px;
	}

	.gc-excursion-hero__title {
		font-size: 42px;
	}

	.gc-excursion-bring {
		grid-template-columns: 1fr;
	}

	.gc-excursion-itinerary__row {
		grid-template-columns: 16px 1fr;
	}

	.gc-excursion-itinerary__time {
		grid-column: 2;
		display: flex;
		gap: 12px;
		align-items: baseline;
		margin-bottom: -8px;
	}

	.gc-excursion-itinerary__content {
		grid-column: 2;
	}
}
