/* GI Travel — Destinations & Packages — front-end styles.
 * Everything reads from CSS custom properties so Elementor's Style-tab "selectors" (see the widget PHP
 * classes) can override any of it per-instance without editing this file.
 */

/* ---------- Style presets — starting values for the custom properties below ---------- */

.gitp-block,
.gitp-single {
	--gitp-accent: #2563eb;
	--gitp-bg: transparent;
	--gitp-card-bg: #ffffff;
	--gitp-text: #1f2430;
	--gitp-muted: #6b7280;
	--gitp-border: #e5e7eb;
	--gitp-radius: 14px;
	--gitp-shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 8px 24px rgba(16, 24, 40, 0.06);
	--gitp-font: inherit;
}

.gitp-preset-elegant {
	--gitp-accent: #9c6b30;
	--gitp-card-bg: #fffaf3;
	--gitp-border: #eadfcd;
	--gitp-radius: 6px;
	--gitp-shadow: 0 1px 2px rgba(50, 40, 20, 0.06), 0 10px 30px rgba(50, 40, 20, 0.08);
}

.gitp-preset-creative {
	--gitp-accent: #d6336c;
	--gitp-card-bg: #ffffff;
	--gitp-border: #ffe0ec;
	--gitp-radius: 22px;
	--gitp-shadow: 0 10px 30px rgba(214, 51, 108, 0.15);
}

.gitp-preset-professional {
	--gitp-accent: #0f4c81;
	--gitp-card-bg: #ffffff;
	--gitp-border: #dbe3ec;
	--gitp-radius: 8px;
	--gitp-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 6px 16px rgba(15, 23, 42, 0.06);
}

.gitp-preset-dark {
	--gitp-accent: #60a5fa;
	--gitp-bg: #0b0f19;
	--gitp-card-bg: #161b28;
	--gitp-text: #e6e9f0;
	--gitp-muted: #9aa4b2;
	--gitp-border: #262c3d;
	--gitp-radius: 14px;
	--gitp-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}

.gitp-preset-light {
	--gitp-accent: #2563eb;
	--gitp-card-bg: #ffffff;
	--gitp-border: #e5e7eb;
	--gitp-radius: 14px;
	--gitp-shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 8px 24px rgba(16, 24, 40, 0.06);
}

/* ---------- Layout ---------- */

.gitp-block,
.gitp-single {
	background: var(--gitp-bg);
	color: var(--gitp-text);
	font-family: var(--gitp-font);
}

.gitp-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 20px;
}

.gitp-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.gitp-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.gitp-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
	.gitp-grid-cols-3,
	.gitp-grid-cols-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.gitp-grid-cols-2,
	.gitp-grid-cols-3,
	.gitp-grid-cols-4 { grid-template-columns: 1fr; }
}

.gitp-empty {
	color: var(--gitp-muted);
	padding: 32px 0;
	text-align: center;
}

/* ---------- Filter bar ---------- */

.gitp-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: end;
	padding: 16px;
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	background: var(--gitp-card-bg);
}

.gitp-filter-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
}

.gitp-filter-field label {
	color: var(--gitp-muted);
	font-weight: 600;
}

.gitp-filter-field select,
.gitp-filter-field input[type="number"],
.gitp-filter-field input[type="text"] {
	border: 1px solid var(--gitp-border);
	border-radius: calc(var(--gitp-radius) / 2);
	padding: 8px 10px;
	background: transparent;
	color: var(--gitp-text);
	min-width: 120px;
}

.gitp-filter-range {
	flex-direction: row;
	align-items: center;
	gap: 6px;
}

.gitp-filter-range input { max-width: 90px; }

/* ---------- Buttons ---------- */

.gitp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 18px;
	border-radius: calc(var(--gitp-radius) / 2);
	border: 1px solid var(--gitp-accent);
	background: var(--gitp-accent);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.gitp-btn:hover { opacity: 0.9; }

.gitp-btn-outline {
	background: transparent;
	color: var(--gitp-accent);
}

/* ---------- Cards ---------- */

.gitp-card {
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	box-shadow: var(--gitp-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.gitp-card-media {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--gitp-border);
}

.gitp-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gitp-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--gitp-accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
}

.gitp-card-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.gitp-card-duration {
	font-size: 12px;
	color: var(--gitp-accent);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.gitp-card-title {
	margin: 0;
	font-size: 18px;
}

.gitp-card-title a {
	color: var(--gitp-text);
	text-decoration: none;
}

.gitp-card-subtitle,
.gitp-card-region {
	margin: 0;
	color: var(--gitp-muted);
	font-size: 13px;
}

.gitp-card-footer {
	margin-top: auto;
	padding-top: 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
	border-top: 1px solid var(--gitp-border);
}

.gitp-card-price { display: flex; flex-direction: column; }
.gitp-price-block { display: flex; flex-direction: column; gap: 2px; }
.gitp-pkg-booking-card .gitp-price-block { margin-bottom: 4px; }
.gitp-pkg-booking-card .gitp-price-value { font-size: 26px; }
.gitp-price-note { font-size: 11px; color: var(--gitp-muted); }
.gitp-price-value { font-size: 18px; font-weight: 700; }
.gitp-price-unit { font-size: 11px; color: var(--gitp-muted); }

.gitp-card-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.gitp-package-count { color: var(--gitp-muted); font-size: 13px; }

/* ---------- Pagination ---------- */

.gitp-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 24px;
}

.gitp-page-status { color: var(--gitp-muted); font-size: 13px; }

/* ---------- Single Package / Destination page ---------- */

.gitp-single { margin-top: 24px; }

.gitp-single-subtitle {
	font-size: 16px;
	color: var(--gitp-muted);
}

.gitp-chip {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	color: var(--gitp-text);
	font-size: 12px;
	text-decoration: none;
	margin-right: 6px;
}

.gitp-single-cta-row {
	margin: 16px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 16px;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	box-shadow: var(--gitp-shadow);
}

.gitp-single-facts {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	color: var(--gitp-text);
}

.gitp-single-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 20px 0;
}

.gitp-single-gallery img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: var(--gitp-radius);
}

.gitp-itinerary { display: flex; flex-direction: column; gap: 16px; margin: 16px 0; }

.gitp-itinerary-day {
	display: flex;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	background: var(--gitp-card-bg);
}

.gitp-itinerary-day-number {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--gitp-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}

.gitp-itinerary-day h4 { margin: 0 0 6px; }
.gitp-itinerary-day p { margin: 0; color: var(--gitp-muted); }

.gitp-list { margin: 0 0 16px; padding-left: 20px; }

.gitp-inclusions-exclusions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-bottom: 16px;
}

@media (max-width: 640px) {
	.gitp-inclusions-exclusions,
	.gitp-single-gallery { grid-template-columns: 1fr; }
}

/* ---------- Page Layout helpers ---------- */

body.gitp-full-width .gitp-single {
	max-width: 100%;
}

body.gitp-canvas-template {
	margin: 0;
}

body.gitp-no-scroll {
	overflow: hidden;
}

/* ---------- Filter layouts: top bar vs sticky sidebar ---------- */

.gitp-packages-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 24px;
	align-items: start;
}

.gitp-filter-layout-top .gitp-packages-layout {
	grid-template-columns: 1fr;
}

.gitp-filter-layout-top .gitp-filter-panel {
	position: static;
}

.gitp-filter-layout-sidebar .gitp-filter-panel {
	position: sticky;
	top: 20px;
}

.gitp-filter-panel {
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	padding: 16px;
}

.gitp-filter-layout-top .gitp-filter-panel {
	padding: 0;
	background: transparent;
	border: none;
}

.gitp-filter-layout-top .gitp-filter-panel .gitp-filter-bar {
	flex-direction: row;
}

.gitp-filter-layout-sidebar .gitp-filter-bar {
	flex-direction: column;
	align-items: stretch;
	border: none;
	padding: 0;
}

.gitp-filter-layout-sidebar .gitp-filter-field select,
.gitp-filter-layout-sidebar .gitp-filter-field input {
	width: 100%;
}

.gitp-filter-panel-header {
	display: none;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	font-weight: 700;
}

.gitp-filter-close {
	background: transparent;
	border: none;
	font-size: 22px;
	cursor: pointer;
	color: var(--gitp-text);
	line-height: 1;
}

.gitp-filter-toggle {
	display: none;
	margin-bottom: 16px;
}

.gitp-filter-overlay {
	display: none;
}

/* Independent filter-panel color mode — decoupled from the block's overall style preset. */

.gitp-filter-color-light {
	--gitp-card-bg: #ffffff;
	--gitp-text: #1f2430;
	--gitp-muted: #6b7280;
	--gitp-border: #e5e7eb;
}

.gitp-filter-color-dark {
	--gitp-card-bg: #161b28;
	--gitp-text: #e6e9f0;
	--gitp-muted: #9aa4b2;
	--gitp-border: #262c3d;
}

/* ---------- Mobile off-canvas filter panel (applies to BOTH filter layouts) ---------- */

@media (max-width: 767px) {
	.gitp-packages-layout {
		grid-template-columns: 1fr;
	}

	.gitp-filter-toggle {
		display: inline-flex;
	}

	.gitp-filter-panel-header {
		display: flex;
	}

	.gitp-filter-panel {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 85%;
		max-width: 340px;
		border-radius: 0;
		overflow-y: auto;
		transform: translateX(-105%);
		transition: transform 0.25s ease;
		z-index: 100001;
		box-shadow: var(--gitp-shadow);
	}

	.gitp-filter-panel.is-open {
		transform: translateX(0);
	}

	.gitp-filter-bar {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.gitp-filter-bar select,
	.gitp-filter-bar input {
		width: 100% !important;
	}

	.gitp-filter-overlay {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(10, 12, 20, 0.55);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.2s ease;
		z-index: 100000;
	}

	.gitp-filter-overlay.is-open {
		opacity: 1;
		pointer-events: auto;
	}

	.gitp-overlay-glass.is-open {
		background: rgba(20, 20, 30, 0.35);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
	}
}

/* ---------- Tabs component (single-page "Tabs" template) ---------- */

.gitp-tabs-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	border-bottom: 1px solid var(--gitp-border);
	margin-bottom: 20px;
}

.gitp-tab-btn {
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	padding: 10px 18px;
	font-weight: 600;
	font-size: 14px;
	color: var(--gitp-muted);
	cursor: pointer;
}

.gitp-tab-btn.is-active {
	color: var(--gitp-accent);
	border-bottom-color: var(--gitp-accent);
}

.gitp-tab-panel {
	display: none;
}

.gitp-tab-panel.is-active {
	display: block;
}

/* ---------- Accordion component (single-page "Booking Sidebar" template) ---------- */

.gitp-accordion-item {
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	margin-bottom: 12px;
	overflow: hidden;
}

.gitp-accordion-trigger {
	width: 100%;
	text-align: left;
	background: var(--gitp-card-bg);
	border: none;
	padding: 14px 18px;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gitp-accordion-trigger::after {
	content: "+";
	font-size: 18px;
	color: var(--gitp-accent);
}

.gitp-accordion-item.is-open .gitp-accordion-trigger::after {
	content: "\2212";
}

.gitp-accordion-panel {
	display: none;
	padding: 0 18px 16px;
}

.gitp-accordion-item.is-open .gitp-accordion-panel {
	display: block;
}

/* ---------- "Booking Sidebar" single-page template ---------- */

.gitp-pkg-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 32px;
	align-items: start;
	margin-top: 20px;
}

.gitp-pkg-booking-card {
	position: sticky;
	top: 20px;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	box-shadow: var(--gitp-shadow);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gitp-pkg-booking-card .gitp-btn {
	width: 100%;
}

.gitp-pkg-hero-gallery {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 8px;
	margin-bottom: 20px;
}

.gitp-pkg-hero-main img {
	width: 100%;
	height: 360px;
	object-fit: cover;
	border-radius: var(--gitp-radius);
}

.gitp-pkg-hero-thumbs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.gitp-pkg-hero-thumbs img {
	width: 100%;
	height: 176px;
	object-fit: cover;
	border-radius: var(--gitp-radius);
}

@media (max-width: 900px) {
	.gitp-pkg-layout {
		grid-template-columns: 1fr;
	}

	.gitp-pkg-booking-card {
		position: static;
		order: -1;
	}

	.gitp-pkg-hero-gallery {
		grid-template-columns: 1fr;
	}

	.gitp-pkg-hero-thumbs {
		display: none;
	}
}

/* ---------- Modal (Enquire Now popup) ---------- */

.gitp-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 15, 20, 0.55);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100000;
	padding: 20px;
}

.gitp-modal-overlay[hidden] { display: none; }

.gitp-modal {
	background: #fff;
	border-radius: 16px;
	max-width: 560px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	padding: 24px;
	position: relative;
}

.gitp-modal-close {
	position: absolute;
	top: 12px;
	right: 12px;
	background: transparent;
	border: none;
	font-size: 22px;
	cursor: pointer;
	line-height: 1;
}

.gitp-modal-title { margin: 0 0 12px; padding-right: 24px; }

.gitp-modal-loading { color: #6b7280; padding: 24px 0; text-align: center; }

/* ---------- "Trip Planner" single-page template (MakeMyTrip/Goibibo-style package detail page) ---------- */

.gitp-pkg-template-trip-planner .gitp-tp-hero {
	position: relative;
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 8px;
	margin-bottom: 20px;
}

.gitp-tp-hero-main,
.gitp-tp-hero-tile {
	border: none;
	padding: 0;
	margin: 0;
	background: none;
	cursor: pointer;
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: var(--gitp-radius);
}

.gitp-tp-hero-main img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	display: block;
}

.gitp-tp-hero-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.gitp-tp-hero-tile img {
	width: 100%;
	height: 206px;
	object-fit: cover;
	display: block;
}

.gitp-tp-hero-more {
	position: absolute;
	inset: 0;
	background: rgba(10, 12, 20, 0.55);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 700;
}

.gitp-tp-view-gallery-btn {
	position: absolute;
	bottom: 14px;
	right: 14px;
	background: #fff;
	color: var(--gitp-text);
	border: none;
	border-radius: 999px;
	padding: 8px 16px;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.gitp-tp-titlebar {
	margin-bottom: 16px;
}

.gitp-tp-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 32px;
	align-items: start;
}

.gitp-tp-booking-card {
	position: sticky;
	top: 20px;
}

.gitp-tp-tabs-nav {
	position: relative;
	padding-right: 90px;
}

.gitp-tp-share-btn {
	position: absolute;
	right: 0;
	top: 6px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 1px solid var(--gitp-border);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--gitp-text);
	cursor: pointer;
}

.gitp-tp-stats-bar {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 20px;
	padding: 0;
}

.gitp-tp-stats-bar li {
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 600;
	color: var(--gitp-text);
}

.gitp-tp-day-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
	position: sticky;
	top: 0;
	background: var(--gitp-bg, #fff);
	z-index: 2;
	padding: 6px 0;
}

.gitp-tp-day-nav-item {
	border: 1px solid var(--gitp-border);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--gitp-text);
	text-decoration: none;
	background: var(--gitp-card-bg);
}

.gitp-tp-day-nav-item.is-active {
	background: var(--gitp-accent);
	border-color: var(--gitp-accent);
	color: #fff;
}

.gitp-tp-days {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.gitp-tp-day {
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	padding: 20px;
	background: var(--gitp-card-bg);
	scroll-margin-top: 60px;
}

.gitp-tp-day-header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.gitp-tp-day-pill {
	background: var(--gitp-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.gitp-tp-day-header h4 { margin: 0; font-size: 17px; }

.gitp-tp-day-stay {
	color: var(--gitp-muted);
	font-size: 13px;
}

.gitp-tp-items {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gitp-tp-item {
	display: flex;
	gap: 12px;
	padding: 12px;
	border: 1px solid var(--gitp-border);
	border-radius: calc(var(--gitp-radius) / 1.5);
	background: transparent;
}

.gitp-tp-item-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--gitp-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gitp-tp-item-body { flex: 1; min-width: 0; }

.gitp-tp-item-label {
	margin: 0 0 4px;
	font-weight: 700;
}

.gitp-tp-item-meta {
	margin: 0 0 4px;
	font-size: 12px;
	color: var(--gitp-muted);
	display: flex;
	gap: 10px;
}

.gitp-tp-item-desc {
	margin: 0;
	font-size: 13px;
	color: var(--gitp-text);
}

.gitp-tp-item-image {
	margin-top: 8px;
}

.gitp-tp-item-image img {
	max-width: 220px;
	width: 100%;
	border-radius: calc(var(--gitp-radius) / 1.5);
	display: block;
}

/* ---------- Policies (compact, clamp + Show More/Show Less) ---------- */

.gitp-tp-policies {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.gitp-tp-policy {
	border-bottom: 1px solid var(--gitp-border);
	padding-bottom: 18px;
}

.gitp-tp-policy:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.gitp-tp-policy-title {
	margin: 0 0 8px;
	font-size: 15px;
}

.gitp-clamp {
	position: relative;
	overflow: hidden;
	max-height: 8.4em;
	line-height: 1.4;
	font-size: 14px;
	color: var(--gitp-text);
}

.gitp-clamp::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2.4em;
	background: linear-gradient(to bottom, transparent, var(--gitp-card-bg));
	pointer-events: none;
}

.gitp-clamp.is-expanded {
	max-height: none;
}

.gitp-clamp.is-expanded::after {
	display: none;
}

.gitp-clamp-toggle {
	background: transparent;
	border: none;
	color: var(--gitp-accent);
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	padding: 8px 0 0;
}

.gitp-clamp-toggle[hidden] {
	display: none;
}

/* ---------- Summary tab (banded by consecutive Stay Location) ---------- */

.gitp-tp-summary {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.gitp-tp-summary-band-title {
	margin: 0 0 12px;
	font-size: 16px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--gitp-accent);
}

.gitp-tp-summary-day {
	margin-bottom: 16px;
}

.gitp-tp-summary-day-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.gitp-tp-summary-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 20px;
}

.gitp-tp-summary-grid li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 13px;
}

.gitp-tp-summary-grid .gitp-tp-item-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.gitp-tp-item-time {
	color: var(--gitp-muted);
	font-style: normal;
	font-weight: 600;
}

@media (max-width: 900px) {
	.gitp-tp-layout {
		grid-template-columns: 1fr;
	}

	.gitp-tp-booking-card {
		position: static;
		order: -1;
	}

	.gitp-tp-hero {
		grid-template-columns: 1fr;
	}

	.gitp-tp-hero-grid {
		display: none;
	}

	.gitp-tp-summary-grid {
		grid-template-columns: 1fr;
	}

	.gitp-tp-tabs-nav {
		padding-right: 0;
		padding-top: 44px;
	}

	.gitp-tp-share-btn {
		top: 0;
	}
}

/* ---------- Lightbox (hero gallery viewer) ---------- */

.gitp-lightbox-overlay {
	position: fixed;
	inset: 0;
	background: rgba(5, 6, 10, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100002;
	padding: 20px;
}

.gitp-lightbox-overlay[hidden] { display: none; }

.gitp-lightbox-image {
	max-width: 90vw;
	max-height: 85vh;
	object-fit: contain;
	display: block;
	border-radius: 8px;
}

.gitp-lightbox-close,
.gitp-lightbox-prev,
.gitp-lightbox-next {
	position: absolute;
	background: rgba(255, 255, 255, 0.15);
	border: none;
	color: #fff;
	cursor: pointer;
	border-radius: 50%;
	width: 42px;
	height: 42px;
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gitp-lightbox-close { top: 20px; right: 20px; }
.gitp-lightbox-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.gitp-lightbox-next { right: 20px; top: 50%; transform: translateY(-50%); }

.gitp-lightbox-counter {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	font-size: 13px;
	background: rgba(255, 255, 255, 0.15);
	padding: 4px 12px;
	border-radius: 999px;
}

/* =================================================================================================
 * "All Packages" showcase layouts (v1.3) — four reference-screenshot-matched catalog templates.
 * Shared pieces (search deck, quick-filter tabs, sidebar, toolbar, discount price block) are styled
 * once here and reused across whichever of the four wrapper classes below is on the page.
 * ============================================================================================= */

.gitp-showcase { margin-top: 8px; }

.gitp-showcase-card { position: relative; }

/* ---------- Layout 1: search deck (From City / To City / Date / Rooms / Filters) ---------- */

.gitp-showcase-search-deck {
	display: flex;
	align-items: stretch;
	gap: 0;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	box-shadow: var(--gitp-shadow);
	margin-bottom: 20px;
	overflow: hidden;
	flex-wrap: wrap;
}

.gitp-showcase-search-deck-field {
	flex: 1;
	min-width: 140px;
	padding: 14px 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	border-right: 1px solid var(--gitp-border);
}

.gitp-showcase-search-deck-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--gitp-muted);
}

.gitp-showcase-search-deck-value {
	font-size: 15px;
	font-weight: 600;
	color: var(--gitp-text);
}

.gitp-showcase-search-deck-placeholder { color: var(--gitp-muted); font-weight: 500; }

.gitp-showcase-filter-toggle-btn {
	border-radius: 0;
	margin: 0;
	flex: 0 0 auto;
	align-self: stretch;
}

/* Layouts 3 & 4 keep their sidebar always visible on desktop, so their toolbar "Filters" button (added
 * purely so mobile users have a way to open the off-canvas sidebar — see the max-width:767px block below,
 * which shows it again) would be redundant there. Layout 1's is part of the search-deck look itself and
 * stays visible at every width. */

.gitp-showcase-sort-sidebar .gitp-showcase-filter-toggle-btn,
.gitp-showcase-discount-grid .gitp-showcase-filter-toggle-btn {
	display: none;
}

/* ---------- Quick-filter tab strip (Last Minute Deals / Honeymoon / Offer Zone / ...) ---------- */

.gitp-showcase-quick-tabs {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 4px;
	margin-bottom: 20px;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.gitp-showcase-quick-tabs::-webkit-scrollbar { display: none; }

.gitp-showcase-quick-tab {
	flex: 0 0 auto;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	color: var(--gitp-text);
	padding: 9px 18px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.gitp-showcase-quick-tab.is-active {
	background: var(--gitp-accent);
	border-color: var(--gitp-accent);
	color: #fff;
}

/* ---------- Breadcrumb (Layout 4) ---------- */

.gitp-showcase-breadcrumb {
	font-size: 13px;
	color: var(--gitp-muted);
	margin-bottom: 14px;
}

.gitp-showcase-breadcrumb a {
	color: var(--gitp-muted);
	text-decoration: none;
}

.gitp-showcase-breadcrumb a:hover { color: var(--gitp-accent); }

.gitp-showcase-breadcrumb span[aria-hidden] { margin: 0 6px; }

/* ---------- Deal-grid header (Layout 2) ---------- */

.gitp-showcase-deal-grid-header { margin-bottom: 16px; }
.gitp-showcase-deal-grid-header h2 { margin: 0; }

/* ---------- Sidebar + main two-column grid (Layouts 1, 3, 4) ---------- */

.gitp-showcase-layout-sidebar {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 24px;
	align-items: start;
}

.gitp-showcase-sidebar {
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	padding: 18px;
	position: sticky;
	top: 20px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.gitp-showcase-filter-group h4 {
	margin: 0 0 10px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--gitp-muted);
}

.gitp-showcase-range-row {
	display: flex;
	gap: 8px;
}

.gitp-showcase-range-row input {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid var(--gitp-border);
	border-radius: calc(var(--gitp-radius) / 3);
	background: var(--gitp-bg);
	color: var(--gitp-text);
}

.gitp-showcase-checkbox-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 220px;
	overflow-y: auto;
}

.gitp-showcase-checkbox-list label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--gitp-text);
	cursor: pointer;
}

.gitp-showcase-filter-count { color: var(--gitp-muted); font-size: 12px; margin-left: auto; }

.gitp-showcase-clear { width: 100%; }

/* ---------- Main column: toolbar (result count / sort / view toggle) ---------- */

.gitp-showcase-main { display: flex; flex-direction: column; gap: 16px; }

.gitp-showcase-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.gitp-showcase-toolbar h2 { margin: 0; font-size: 20px; }

.gitp-showcase-toolbar-heading {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.gitp-showcase-toolbar-heading span { color: var(--gitp-muted); font-size: 14px; }

.gitp-showcase-toolbar-controls {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.gitp-showcase-count { color: var(--gitp-muted); font-size: 14px; }

.gitp-showcase-sort {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--gitp-muted);
}

.gitp-showcase-sort select {
	padding: 8px 10px;
	border: 1px solid var(--gitp-border);
	border-radius: calc(var(--gitp-radius) / 3);
	background: var(--gitp-card-bg);
	color: var(--gitp-text);
}

.gitp-showcase-view-toggle {
	display: inline-flex;
	border: 1px solid var(--gitp-border);
	border-radius: calc(var(--gitp-radius) / 3);
	overflow: hidden;
}

.gitp-showcase-view-toggle button {
	background: var(--gitp-card-bg);
	border: none;
	padding: 8px 14px;
	cursor: pointer;
	color: var(--gitp-muted);
	font-size: 15px;
	line-height: 1;
}

.gitp-showcase-view-toggle button.is-active {
	background: var(--gitp-accent);
	color: #fff;
}

/* List view (Layout 3 view toggle) — card media shrinks to a fixed-width thumbnail beside the body. */

.gitp-showcase-view-list [data-gitp-results] {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gitp-showcase-view-list [data-gitp-results] .gitp-card {
	flex-direction: row;
}

.gitp-showcase-view-list [data-gitp-results] .gitp-card-media {
	width: 240px;
	flex: 0 0 240px;
	aspect-ratio: auto;
}

/* ---------- Discount price block (struck-through "was" price + Save badge) ---------- */

.gitp-price-block-discount .gitp-price-row {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}

.gitp-price-was {
	font-size: 13px;
	color: var(--gitp-muted);
	text-decoration: line-through;
}

.gitp-price-save {
	display: inline-block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 700;
	color: #15803d;
	background: #dcfce7;
	padding: 2px 8px;
	border-radius: 999px;
}

.gitp-preset-dark .gitp-price-save { color: #86efac; background: rgba(134, 239, 172, 0.15); }

/* ---------- Card variants ---------- */

.gitp-deal-save-ribbon,
.gitp-discount-badge,
.gitp-discount-duration-badge {
	position: absolute;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
}

.gitp-deal-save-ribbon {
	bottom: 10px;
	left: 10px;
	background: #15803d;
	color: #fff;
}

.gitp-discount-badge { top: 10px; left: 10px; background: var(--gitp-accent); color: #fff; }

.gitp-discount-duration-badge {
	top: 10px;
	right: 10px;
	background: rgba(0, 0, 0, 0.65);
	color: #fff;
	text-transform: none;
}

.gitp-discount-cities { color: var(--gitp-muted) !important; text-transform: none !important; font-weight: 500 !important; }

.gitp-sort-card-pills { display: flex; gap: 6px; flex-wrap: wrap; }

.gitp-sort-card-pill { margin-right: 0; font-size: 11px; padding: 3px 10px; }

.gitp-sort-card-highlights {
	margin: 0;
	font-size: 13px;
	color: var(--gitp-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* "Overlay look" (Layouts 2 & 4, per Simran's reference screenshots) — title/price sit directly on top
 * of the card image behind a dark gradient, instead of in a separate body section below it. */

.gitp-showcase-deal-grid .gitp-deal-card,
.gitp-showcase-discount-grid .gitp-discount-card {
	position: relative;
}

.gitp-showcase-deal-grid .gitp-deal-card-media,
.gitp-showcase-discount-grid .gitp-discount-card-media {
	aspect-ratio: 3 / 4;
}

.gitp-showcase-deal-grid .gitp-deal-card-media::after,
.gitp-showcase-discount-grid .gitp-discount-card-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0) 75%);
}

.gitp-showcase-deal-grid .gitp-deal-card .gitp-card-body,
.gitp-showcase-discount-grid .gitp-discount-card .gitp-card-body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	color: #fff;
	border-top: none;
}

.gitp-showcase-deal-grid .gitp-deal-card .gitp-card-title a,
.gitp-showcase-discount-grid .gitp-discount-card .gitp-card-title a,
.gitp-showcase-deal-grid .gitp-deal-card .gitp-card-duration,
.gitp-showcase-discount-grid .gitp-discount-card .gitp-discount-cities,
.gitp-showcase-deal-grid .gitp-deal-card .gitp-price-value,
.gitp-showcase-discount-grid .gitp-discount-card .gitp-price-value,
.gitp-showcase-deal-grid .gitp-deal-card .gitp-price-note,
.gitp-showcase-discount-grid .gitp-discount-card .gitp-price-note {
	color: #fff;
}

.gitp-showcase-deal-grid .gitp-deal-card .gitp-card-footer,
.gitp-showcase-discount-grid .gitp-discount-card .gitp-card-footer {
	border-top: none;
	padding-top: 0;
}

.gitp-showcase-deal-grid .gitp-deal-card .gitp-price-was,
.gitp-showcase-discount-grid .gitp-discount-card .gitp-price-was {
	color: rgba(255, 255, 255, 0.75);
}

/* ---------- Mobile: sidebar becomes the same off-canvas slide-in panel as the classic filter bar ---------- */

@media (max-width: 767px) {
	.gitp-showcase-layout-sidebar {
		grid-template-columns: 1fr;
	}

	.gitp-showcase-filter-toggle-btn {
		display: inline-flex;
	}

	.gitp-showcase-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 85%;
		max-width: 340px;
		border-radius: 0;
		overflow-y: auto;
		transform: translateX(-105%);
		transition: transform 0.25s ease;
		z-index: 100001;
	}

	.gitp-showcase-sidebar.is-open {
		transform: translateX(0);
	}

	.gitp-showcase-search-deck {
		flex-direction: column;
	}

	.gitp-showcase-search-deck-field {
		border-right: none;
		border-bottom: 1px solid var(--gitp-border);
	}

	.gitp-showcase-view-list [data-gitp-results] .gitp-card {
		flex-direction: column;
	}

	.gitp-showcase-view-list [data-gitp-results] .gitp-card-media {
		width: 100%;
		flex: none;
		aspect-ratio: 4 / 3;
	}
}

/* ---------------------------------------------------------------------------------------------
 * "All Destinations" showcase layouts (v1.4) — Style 1 ("Fantasy Camino" reference) and Style 2
 * ("Destinations Page v2" reference). Same convention as the Packages showcase block above: every
 * color/spacing value reads from this block's own CSS custom properties, so Elementor's Style tab and
 * the five style presets both still apply per-instance.
 * ------------------------------------------------------------------------------------------- */

.gitp-dshow { margin-top: 8px; display: flex; flex-direction: column; gap: 32px; }

.gitp-dshow-hero {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	box-shadow: var(--gitp-shadow);
}

.gitp-dshow-hero-text h2 { margin: 0 0 8px; font-size: 26px; }
.gitp-dshow-hero-text p { margin: 0; color: var(--gitp-muted); max-width: 640px; }

.gitp-dshow-search {
	display: flex;
	gap: 8px;
	max-width: 640px;
}

.gitp-dshow-search input {
	flex: 1;
	border: 1px solid var(--gitp-border);
	border-radius: calc(var(--gitp-radius) / 2);
	padding: 12px 14px;
	font-size: 14px;
	font-family: inherit;
}

/* ---------- Trending strip (Style 1) ---------- */

.gitp-dshow-trending {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
}

.gitp-dshow-trending-tile {
	position: relative;
	display: block;
	height: 200px;
	border-radius: var(--gitp-radius);
	overflow: hidden;
	text-decoration: none;
	background: linear-gradient(150deg, var(--gitp-accent) 0%, var(--gitp-text) 100%);
}

.gitp-dshow-trending-tile img { width: 100%; height: 100%; object-fit: cover; }

.gitp-dshow-trending-tile-1 { background: linear-gradient(150deg, var(--gitp-text) 0%, var(--gitp-accent) 100%); }
.gitp-dshow-trending-tile-2 { background: linear-gradient(160deg, var(--gitp-accent) 10%, var(--gitp-text) 90%); }
.gitp-dshow-trending-tile-3 { background: linear-gradient(140deg, var(--gitp-text) 20%, var(--gitp-accent) 100%); }

.gitp-dshow-trending-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.05) 65%);
}

.gitp-dshow-trending-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: #fff;
	z-index: 1;
}

.gitp-dshow-trending-caption strong { font-size: 15px; }
.gitp-dshow-trending-caption span { font-size: 11px; opacity: 0.85; }

/* ---------- Toolbar: tabs / theme chips / region chips / sort / result count ---------- */

.gitp-dshow-toolbar {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--gitp-border);
}

.gitp-dshow-toolbar-sticky {
	position: sticky;
	top: 0;
	z-index: 10;
	background: var(--gitp-bg, #fff);
	padding-top: 8px;
}

.gitp-dshow-tabs { display: flex; gap: 4px; }

.gitp-dshow-tab {
	border: none;
	background: transparent;
	cursor: pointer;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	padding: 10px 18px;
	color: var(--gitp-muted);
	border-bottom: 2px solid transparent;
}

.gitp-dshow-tab span { font-size: 11px; font-weight: 500; margin-left: 3px; }

.gitp-dshow-tab.is-active {
	color: var(--gitp-text);
	border-bottom-color: var(--gitp-accent);
}

.gitp-dshow-chips { display: flex; gap: 8px; flex-wrap: wrap; }

.gitp-dshow-chip {
	border: 1px solid var(--gitp-border);
	background: transparent;
	color: var(--gitp-muted);
	font-family: inherit;
	font-size: 12.5px;
	font-weight: 500;
	padding: 8px 14px;
	border-radius: 999px;
	cursor: pointer;
}

.gitp-dshow-chip.is-active {
	background: var(--gitp-text);
	color: #fff;
	border-color: var(--gitp-text);
}

.gitp-dshow-count { color: var(--gitp-muted); font-size: 12.5px; margin-left: auto; white-space: nowrap; }

.gitp-dshow-sort { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--gitp-muted); margin-left: auto; }
.gitp-dshow-sort select { border: 1px solid var(--gitp-border); border-radius: 4px; padding: 8px 10px; font-family: inherit; font-size: 12.5px; }

.gitp-dshow-heading-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.gitp-dshow-heading-row h2 { margin: 0; font-size: 24px; }

.gitp-dshow-section-heading { margin-top: 8px; }
.gitp-dshow-section-heading h3 { margin: 0 0 16px; font-size: 22px; }

/* ---------- Card grid ---------- */

.gitp-dshow-grid { display: grid; gap: 20px; }
.gitp-dshow-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.gitp-dshow-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.gitp-dshow-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.gitp-dshow-grid-auto { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

.gitp-dshow-card {
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	box-shadow: var(--gitp-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.gitp-dshow-card-media {
	position: relative;
	display: block;
	height: 190px;
	background: linear-gradient(150deg, var(--gitp-accent) 0%, var(--gitp-text) 100%);
	overflow: hidden;
}

.gitp-dshow-card-media img { width: 100%; height: 100%; object-fit: cover; }

.gitp-dshow-card-monogram {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 56px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.28);
}

.gitp-dshow-badge-count {
	position: absolute;
	top: 12px;
	left: 12px;
	background: rgba(0, 0, 0, 0.65);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 3px;
}

.gitp-dshow-badge-rating {
	position: absolute;
	top: 12px;
	right: 12px;
	background: #fff;
	color: var(--gitp-text);
	font-size: 12px;
	font-weight: 700;
	padding: 4px 8px;
	border-radius: 3px;
}

.gitp-dshow-badge-rating-inline {
	position: static;
	background: var(--gitp-bg, #f4f6f9);
	margin-left: 6px;
}

.gitp-dshow-card-body { padding: 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }

.gitp-dshow-card-region {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gitp-accent);
}

.gitp-dshow-card-title { margin: 0; font-size: 19px; }
.gitp-dshow-card-title a { color: var(--gitp-text); text-decoration: none; }

.gitp-dshow-card-pitch { margin: 0; color: var(--gitp-muted); font-size: 13.5px; line-height: 1.55; }

.gitp-dshow-card-stats {
	display: flex;
	gap: 16px;
	padding: 10px 0;
	border-top: 1px solid var(--gitp-border);
	border-bottom: 1px solid var(--gitp-border);
}

.gitp-dshow-card-stat { display: flex; flex-direction: column; gap: 2px; }
.gitp-dshow-card-stat span { font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gitp-muted); }
.gitp-dshow-card-stat strong { font-size: 12.5px; }

.gitp-dshow-card-footer {
	margin-top: auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}

.gitp-dshow-card-price { display: flex; flex-direction: column; gap: 2px; }
.gitp-dshow-card-price span { font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gitp-muted); }
.gitp-dshow-card-price strong { font-size: 18px; }

/* Style 2 card variant — rating inline next to title, region+nights subline, "View packages →" link */

.gitp-dshow-card-2-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gitp-dshow-card-2-subline { font-size: 11.5px; color: var(--gitp-muted); }
.gitp-dshow-card-2-link { font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gitp-accent); white-space: nowrap; }

/* ---------- Browse by Theme grid (both styles) ---------- */

.gitp-dshow-theme-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

.gitp-dshow-theme-tile {
	position: relative;
	height: 150px;
	border: none;
	border-radius: var(--gitp-radius);
	overflow: hidden;
	cursor: pointer;
	background: linear-gradient(150deg, var(--gitp-accent) 0%, var(--gitp-text) 100%);
	padding: 18px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	text-align: left;
}

.gitp-dshow-theme-tile-1 { background: linear-gradient(150deg, var(--gitp-text) 0%, var(--gitp-accent) 100%); }
.gitp-dshow-theme-tile-2 { background: linear-gradient(160deg, var(--gitp-accent) 10%, var(--gitp-text) 90%); }
.gitp-dshow-theme-tile-3 { background: linear-gradient(140deg, var(--gitp-text) 20%, var(--gitp-accent) 100%); }

.gitp-dshow-theme-tile-name { color: #fff; font-size: 18px; font-weight: 600; }
.gitp-dshow-theme-tile-meta { color: rgba(255, 255, 255, 0.75); font-size: 11.5px; margin-top: 4px; }

/* ---------- Featured Holiday Packages list (Style 2) ---------- */

.gitp-dshow-featured-list { display: flex; flex-direction: column; gap: 16px; }

.gitp-dshow-featured-item {
	display: grid;
	grid-template-columns: 200px 1fr 220px;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	overflow: hidden;
}

.gitp-dshow-featured-media { position: relative; min-height: 170px; display: block; background: linear-gradient(150deg, var(--gitp-accent) 0%, var(--gitp-text) 100%); }
.gitp-dshow-featured-media img { width: 100%; height: 100%; object-fit: cover; }

.gitp-dshow-featured-body { padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.gitp-dshow-featured-meta { display: flex; align-items: center; gap: 10px; font-size: 11.5px; color: var(--gitp-muted); }

.gitp-dshow-featured-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.gitp-dshow-featured-chips span {
	font-size: 11px;
	font-weight: 600;
	background: var(--gitp-bg, #f4f6f9);
	border: 1px solid var(--gitp-border);
	padding: 5px 10px;
	border-radius: 999px;
}

.gitp-dshow-featured-cta {
	border-left: 1px solid var(--gitp-border);
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
	.gitp-dshow-grid-cols-4 { grid-template-columns: repeat(3, 1fr); }
	.gitp-dshow-trending { grid-template-columns: repeat(3, 1fr); }
	.gitp-dshow-theme-grid { grid-template-columns: repeat(2, 1fr); }
	.gitp-dshow-featured-item { grid-template-columns: 160px 1fr; }
	.gitp-dshow-featured-cta { grid-column: span 2; border-left: none; border-top: 1px solid var(--gitp-border); flex-direction: row; align-items: center; justify-content: space-between; }
}

@media (max-width: 767px) {
	.gitp-dshow-grid-cols-2,
	.gitp-dshow-grid-cols-3,
	.gitp-dshow-grid-cols-4 { grid-template-columns: 1fr; }
	.gitp-dshow-trending { grid-template-columns: repeat(2, 1fr); }
	.gitp-dshow-theme-grid { grid-template-columns: 1fr; }
	.gitp-dshow-search { flex-direction: column; }
	.gitp-dshow-count { margin-left: 0; }
	.gitp-dshow-sort { margin-left: 0; }
	.gitp-dshow-featured-item { grid-template-columns: 1fr; }
	.gitp-dshow-featured-media { aspect-ratio: 16 / 9; min-height: 0; }
	.gitp-dshow-featured-cta { grid-column: auto; }
}

/* ---------- "All Packages" Search Style 1 / Style 2 (v1.5) ---------- */

.gitp-search1-hero,
.gitp-search2-hero {
	padding: 4px 0 16px;
}

.gitp-search1-hero h1,
.gitp-search2-hero h1 {
	margin: 0 0 6px;
	font-size: 28px;
	line-height: 1.15;
}

.gitp-search1-hero p,
.gitp-search2-hero p {
	margin: 0;
	color: var(--gitp-muted);
	font-size: 14px;
}

.gitp-search2-city-label {
	display: inline-block;
	margin-top: 10px;
	font-size: 13px;
	color: var(--gitp-muted);
}

.gitp-search2-city-label strong { color: var(--gitp-text); }

/* Card meta row (nights · hotel stars / nights · destination count) — shared by both new card variants. */
.gitp-search1-meta-row {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11.5px;
	color: var(--gitp-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 4px;
}

.gitp-search1-nights { color: var(--gitp-accent); font-weight: 700; }

.gitp-search1-dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--gitp-border);
	flex: none;
}

.gitp-search1-stops {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin: 6px 0;
}

.gitp-search1-inclusions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--gitp-border);
}

.gitp-search1-inclusions span {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 600;
	color: var(--gitp-text);
}

.gitp-search1-inclusions svg { color: var(--gitp-accent); flex: none; }

.gitp-search1-card,
.gitp-search2-card {
	display: flex;
	flex-direction: column;
}

.gitp-search1-card .gitp-card-body,
.gitp-search2-card .gitp-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 8px;
}

.gitp-search1-footer {
	align-items: flex-end;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--gitp-border);
}

.gitp-search1-price-col { display: flex; flex-direction: column; gap: 4px; }

.gitp-search1-rating {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 12px;
	font-weight: 700;
	color: var(--gitp-accent);
}

.gitp-search2-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	max-width: calc(100% - 24px);
}

.gitp-search2-type-badge {
	background: rgba(0, 0, 0, 0.65);
	color: #fff;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 3px;
}

.gitp-search2-card-media { position: relative; }

/* Style 1 sidebar radio-based "Traveller rating" group reuses the existing checkbox-list look. */
.gitp-showcase-checkbox-list input[type="radio"] { margin-right: 6px; }

/* Style 2's toolbar of preset selects (Destination type / Duration / Budget) — sits above the shared
 * .gitp-showcase-toolbar (result count + sort), matching the reference's own two-row toolbar. */
.gitp-search2-selects {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	align-items: flex-end;
	padding: 16px;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
	margin-bottom: 16px;
}

.gitp-search2-select-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 170px;
	min-width: 0;
}

.gitp-search2-select-field span {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gitp-muted);
}

.gitp-search2-select-field select {
	border: 1px solid var(--gitp-border);
	background: var(--gitp-bg, #fff);
	border-radius: 4px;
	padding: 10px 12px;
	font-size: 13px;
	color: var(--gitp-text);
}

.gitp-showcase-quick-tab-count { opacity: 0.7; font-weight: 500; }

@media (max-width: 767px) {
	.gitp-search2-selects { flex-direction: column; align-items: stretch; }
}

/* ---------- "All Packages" Search Style 3 — country hub page (v1.6) ---------- */

.gitp-search3-hero { padding: 4px 0 20px; }

.gitp-search3-hero h1 {
	margin: 6px 0 14px;
	font-size: 30px;
	line-height: 1.15;
}

.gitp-search3-hero-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding-top: 14px;
	border-top: 1px solid var(--gitp-border);
}

.gitp-search3-hero-facts > div { display: flex; flex-direction: column; gap: 3px; }

.gitp-search3-hero-fact-label {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gitp-muted);
}

.gitp-search3-hero-fact-value { font-size: 15px; font-weight: 700; color: var(--gitp-text); }

.gitp-search3-section-nav {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
	padding: 12px 0;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--gitp-border);
}

.gitp-search3-section-nav a {
	font-size: 13px;
	font-weight: 600;
	color: var(--gitp-muted);
	text-decoration: none;
}

.gitp-search3-section-nav a:hover { color: var(--gitp-accent); }

.gitp-search3-intro {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 32px;
	padding: 24px 0 32px;
	border-bottom: 1px solid var(--gitp-border);
	margin-bottom: 28px;
}

.gitp-search3-intro-copy h2 { margin: 0 0 12px; font-size: 20px; }

.gitp-search3-intro-copy p { margin: 0 0 12px; color: var(--gitp-muted); font-size: 14px; line-height: 1.65; }

.gitp-search3-fact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	align-content: start;
	padding: 18px;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
}

.gitp-search3-fact-grid > div { display: flex; flex-direction: column; gap: 3px; }

.gitp-search3-fact-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gitp-muted);
}

.gitp-search3-fact-value { font-size: 14px; font-weight: 600; color: var(--gitp-text); }

.gitp-search3-packages { padding-bottom: 32px; }

.gitp-search3-pills {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.gitp-search3-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border: 1px solid var(--gitp-border);
	border-radius: 999px;
	background: var(--gitp-bg, #fff);
	color: var(--gitp-text);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.gitp-search3-pill:hover { border-color: var(--gitp-accent); }

.gitp-search3-pill.is-active {
	background: var(--gitp-accent);
	border-color: var(--gitp-accent);
	color: #fff;
}

.gitp-search3-pill-count {
	font-size: 11px;
	font-weight: 700;
	opacity: 0.75;
}

/* Package card — reuses the Style 1 card skeleton (media/meta-row/inclusions/footer) plus a few Style
 * 3-only bits: a "Customisable" flag, the itinerary's Stay Locations as a route line, and a
 * Starting-From/per-person price framing instead of Style 1's plain price. */

.gitp-search3-customisable {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--gitp-accent);
}

.gitp-search3-route {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	font-size: 12.5px;
	color: var(--gitp-muted);
	margin: 2px 0 8px;
}

.gitp-search3-route-sep { color: var(--gitp-border); }

.gitp-search3-highlights span { color: var(--gitp-text); }

.gitp-search3-price-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gitp-muted);
}

.gitp-search3-price-caption { font-size: 11px; color: var(--gitp-muted); }

.gitp-search3-load-more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 24px;
}

.gitp-search3-visa {
	padding: 32px 0;
	border-top: 1px solid var(--gitp-border);
	margin-bottom: 8px;
}

.gitp-search3-visa h2 { margin: 0 0 18px; font-size: 20px; }

.gitp-search3-visa-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.gitp-search3-visa-grid > div {
	padding: 16px;
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: var(--gitp-radius);
}

.gitp-search3-visa-grid h3 { margin: 0 0 6px; font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gitp-muted); }

.gitp-search3-visa-grid p { margin: 0; font-size: 14px; font-weight: 600; color: var(--gitp-text); }

.gitp-search3-things { padding: 32px 0; border-top: 1px solid var(--gitp-border); }

.gitp-search3-things h2 { margin: 0 0 18px; font-size: 20px; }

.gitp-search3-tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.gitp-search3-tile {
	position: relative;
	border-radius: var(--gitp-radius);
	overflow: hidden;
	min-height: 160px;
	display: flex;
	align-items: flex-end;
}

.gitp-search3-tile-media {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--gitp-accent), rgba(0, 0, 0, 0.35));
	opacity: 0.85;
}

.gitp-search3-tile-2 .gitp-search3-tile-media { background: linear-gradient(135deg, #2b6f6f, rgba(0, 0, 0, 0.35)); }
.gitp-search3-tile-3 .gitp-search3-tile-media { background: linear-gradient(135deg, #7a4fb5, rgba(0, 0, 0, 0.35)); }

.gitp-search3-tile h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 16px;
	color: #fff;
	font-size: 15px;
	line-height: 1.3;
}

@media (max-width: 991px) {
	.gitp-search3-intro { grid-template-columns: 1fr; }
	.gitp-search3-visa-grid { grid-template-columns: repeat(2, 1fr); }
	.gitp-search3-tiles { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	.gitp-search3-hero h1 { font-size: 24px; }
	.gitp-search3-hero-facts { gap: 14px; }
	.gitp-search3-fact-grid { grid-template-columns: 1fr 1fr; }
	.gitp-search3-visa-grid { grid-template-columns: 1fr; }
	.gitp-search3-tiles { grid-template-columns: 1fr; }
	.gitp-search3-section-nav { gap: 14px; overflow-x: auto; padding-bottom: 8px; }
}

/* ---------- Independent Package Page — Style 1 (tabs + sticky sidebar) & Style 2 (stacked, quick-facts strip) [v1.7] ---------- */

.gitp-pd-titlebar {
	margin-bottom: 16px;
}

.gitp-pd-badge {
	position: static;
	display: inline-block;
	margin-bottom: 8px;
}

.gitp-pd-subheading {
	margin: 0 0 10px;
	font-size: 16px;
}

.gitp-pd-cities {
	margin: 0 0 20px;
}

.gitp-pd-meta-facts {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.gitp-pd-meta-facts li {
	background: var(--gitp-card-bg);
	border: 1px solid var(--gitp-border);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 600;
	color: var(--gitp-text);
}

.gitp-pd-meta-facts-inline {
	margin-bottom: 0;
}

.gitp-pd-meta-facts-strip li {
	background: var(--gitp-accent-soft, var(--gitp-card-bg));
	border-color: var(--gitp-accent);
	color: var(--gitp-text);
}

.gitp-pd-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 32px;
	align-items: start;
}

.gitp-pd-sidebar {
	position: sticky;
	top: 20px;
}

@media (max-width: 900px) {
	.gitp-pd-layout {
		grid-template-columns: 1fr;
	}

	.gitp-pd-sidebar {
		position: static;
		order: -1;
	}
}

/* Package Builder — pricing variants, offers, day-by-day inclusions (Phases 2–4) */
.gitp-pkg-extras{max-width:1100px;margin:28px auto;padding:0 16px;font-family:inherit}
.gitp-pkg-extras h3{font-size:20px;margin:0 0 12px;color:#15213d}
.gitp-px-variants{display:flex;gap:12px;flex-wrap:wrap}
.gitp-px-variant{flex:1;min-width:180px;border:2px solid #e3e7ef;border-radius:14px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.gitp-px-variant:has(input:checked){border-color:#008cff;background:#f0f8ff}
.gitp-px-variant .t{font-weight:700;color:#15213d}.gitp-px-variant .p{font-size:22px;font-weight:800;color:#008cff}
.gitp-px-variant input{position:absolute;opacity:0}
.gitp-px-offers{margin:22px 0;background:#f6faff;border:1px dashed #9cc9ff;border-radius:14px;padding:14px 18px}
.gitp-px-offers h4{margin:0 0 8px}.gitp-px-offers ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.gitp-px-code{font-family:ui-monospace,monospace;background:#0f1626;color:#fff;border-radius:6px;padding:2px 8px;font-weight:700;font-size:12px}
.gitp-px-inclusions{margin:26px 0}
.gitp-px-day{margin:0 0 18px}
.gitp-px-daylabel{display:inline-block;background:#008cff;color:#fff;font-weight:800;border-radius:20px;padding:4px 14px;margin:0 0 10px;font-size:13px}
.gitp-px-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.gitp-px-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #eceef3;border-radius:14px;padding:12px;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.gitp-px-thumb{flex:0 0 56px;width:56px;height:56px;border-radius:10px;background-size:cover;background-position:center}
.gitp-px-info{flex:1;min-width:0}.gitp-px-info b{display:block;color:#15213d}.gitp-px-info small{color:#6b7280}
.gitp-px-price{font-weight:800;color:#15213d;white-space:nowrap}
.gitp-px-hotel{border-left:4px solid #008cff}.gitp-px-meal{border-left:4px solid #f59e0b}.gitp-px-cab{border-left:4px solid #10b981}.gitp-px-activity{border-left:4px solid #e11d63}
