/* ============================================================
   Adventure Tour & Travels — Main Stylesheet
   ============================================================ */

/* ── CSS Custom Properties ───────────────────────────────── */
:root {
	--color-navy:        #1A1A2E;
	--color-navy-light:  #252545;
	--color-orange:      #C8541B;
	--color-orange-dark: #a04316;
	--color-green:       #2D5016;
	--color-green-light: #3a6b1e;
	--color-white:       #FFFFFF;
	--color-off-white:   #F5F5F0;
	--color-text:        #2C2C2C;
	--color-text-muted:  #6B6B6B;
	--color-border:      #E8E8E0;
	--color-whatsapp:    #25D366;

	--font-heading:  'Playfair Display', Georgia, serif;
	--font-body:     'DM Sans', system-ui, -apple-system, sans-serif;

	--radius-sm:  4px;
	--radius-md:  8px;
	--radius-lg:  16px;
	--radius-xl:  24px;
	--radius-full: 9999px;

	--shadow-sm:    0 1px 4px rgba(0,0,0,0.08);
	--shadow-card:  0 4px 20px rgba(0,0,0,0.10);
	--shadow-hover: 0 8px 30px rgba(0,0,0,0.18);
	--shadow-header:0 2px 20px rgba(26,26,46,0.15);

	--transition: 0.25s ease;
	--transition-slow: 0.4s ease;

	--container-width: 1200px;
	--container-wide:  1400px;
	--container-pad:   clamp(1rem, 5vw, 2rem);

	--header-height: 80px;
}

/* ── Reset & Base ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
	scroll-behavior: smooth;
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-text);
	background: var(--color-white);
	overflow-x: hidden;
}

img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--color-orange); outline-offset: 2px; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }
input, select, textarea { font: inherit; }

/* ── Typography ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	line-height: 1.2;
	color: var(--color-navy);
	font-weight: 700;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }

p { margin-bottom: 1em; }
p:last-child { margin-bottom: 0; }

/* ── Layout Utilities ────────────────────────────────────── */
.container {
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

.container--wide {
	max-width: var(--container-wide);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

.section {
	padding-block: clamp(3rem, 8vw, 6rem);
}

.section--dark {
	background: var(--color-navy);
	color: var(--color-white);
}
.section--dark h2, .section--dark h3, .section--dark h4 {
	color: var(--color-white);
}

.section--offwhite { background: var(--color-off-white); }

.section-header {
	text-align: center;
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.section-header .eyebrow {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-orange);
	margin-bottom: 0.5rem;
}

.section-header h2 { margin-bottom: 0.75rem; }

.section-header p {
	font-size: 1.125rem;
	color: var(--color-text-muted);
	max-width: 640px;
	margin-inline: auto;
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.75rem;
	border-radius: var(--radius-md);
	font-weight: 600;
	font-size: 0.9375rem;
	transition: var(--transition);
	white-space: nowrap;
	text-decoration: none;
}

.btn-primary {
	background: var(--color-orange);
	color: var(--color-white);
}
.btn-primary:hover {
	background: var(--color-orange-dark);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(200,84,27,0.35);
}

.btn-secondary {
	background: transparent;
	color: var(--color-white);
	border: 2px solid rgba(255,255,255,0.7);
}
.btn-secondary:hover {
	background: rgba(255,255,255,0.1);
	border-color: var(--color-white);
}

.btn-outline {
	background: transparent;
	color: var(--color-orange);
	border: 2px solid var(--color-orange);
}
.btn-outline:hover {
	background: var(--color-orange);
	color: var(--color-white);
}

.btn-ghost {
	color: var(--color-navy);
	padding: 0.75rem 1.25rem;
}
.btn-ghost:hover { color: var(--color-orange); }

.btn-lg {
	padding: 1rem 2.25rem;
	font-size: 1rem;
}
.btn-sm {
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
}

.btn-full { width: 100%; justify-content: center; }

/* ── Header ──────────────────────────────────────────────── */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: var(--header-height);
	transition: background var(--transition), box-shadow var(--transition), height var(--transition);
}

.site-header.is-transparent {
	background: transparent;
}

.site-header.is-scrolled {
	background: var(--color-navy);
	box-shadow: var(--shadow-header);
	height: 68px;
}

.header-inner {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	height: 100%;
	max-width: var(--container-wide);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

/* Logo */
.site-logo {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 0.625rem;
}
.site-logo img {
	height: 44px;
	width: auto;
	transition: height var(--transition);
}
.is-scrolled .site-logo img { height: 36px; }

.site-logo .logo-text {
	font-family: var(--font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-white);
	line-height: 1.2;
}
.site-logo .logo-text span { color: var(--color-orange); }

/* Primary nav */
.primary-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.primary-nav > ul {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.primary-nav > ul > li > a {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.5rem 0.875rem;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--color-white);
	border-radius: var(--radius-sm);
	transition: color var(--transition), background var(--transition);
	white-space: nowrap;
}

.primary-nav > ul > li > a:hover,
.primary-nav > ul > li.current-menu-item > a,
.primary-nav > ul > li.current-menu-ancestor > a {
	color: var(--color-orange);
	background: rgba(255,255,255,0.08);
}

.primary-nav .dropdown-chevron {
	display: flex;
	transition: transform var(--transition);
}
.primary-nav .dropdown-chevron svg { width: 16px; height: 16px; }
.primary-nav .has-dropdown:hover .dropdown-chevron,
.primary-nav .has-dropdown:focus-within .dropdown-chevron { transform: rotate(180deg); }

/* Dropdowns */
.dropdown-menu {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	background: var(--color-white);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-hover);
	min-width: 200px;
	padding: 0.5rem 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
	pointer-events: none;
}

.has-dropdown { position: relative; }

.has-dropdown:hover .dropdown-menu,
.has-dropdown:focus-within .dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.dropdown-menu li a {
	display: block;
	padding: 0.6rem 1.25rem;
	font-size: 0.9rem;
	color: var(--color-text);
	transition: color var(--transition), background var(--transition);
}
.dropdown-menu li a:hover { color: var(--color-orange); background: var(--color-off-white); }

/* Mega menu */
.mega-menu-wrapper {
	position: fixed;
	top: var(--header-height);
	left: 0;
	right: 0;
	background: var(--color-white);
	box-shadow: var(--shadow-hover);
	padding: 2rem var(--container-pad);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
	pointer-events: none;
	z-index: 999;
}

.has-mega:hover .mega-menu-wrapper,
.has-mega:focus-within .mega-menu-wrapper {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.mega-menu-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	max-width: var(--container-wide);
	margin-inline: auto;
}

.mega-col-title {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-text-muted);
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--color-border);
	margin-bottom: 0.75rem;
}

.mega-col ul { display: flex; flex-direction: column; gap: 0.25rem; }
.mega-col a {
	font-size: 0.9rem;
	color: var(--color-text);
	padding: 0.35rem 0;
	display: block;
	transition: color var(--transition);
}
.mega-col a:hover { color: var(--color-orange); }

.mega-popular a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
}
.mega-popular .popular-dot {
	width: 8px; height: 8px;
	background: var(--color-orange);
	border-radius: 50%;
	flex-shrink: 0;
}
.mega-popular .view-all {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--color-orange) !important;
	font-weight: 600;
	margin-top: 0.5rem;
}

/* Header CTAs */
.header-cta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.btn-call {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--color-white);
	font-size: 0.875rem;
	font-weight: 500;
	opacity: 0.9;
	transition: opacity var(--transition);
}
.btn-call svg { width: 16px; height: 16px; }
.btn-call:hover { opacity: 1; }

.btn-quote {
	background: var(--color-orange);
	color: var(--color-white);
	padding: 0.5rem 1.25rem;
	border-radius: var(--radius-md);
	font-size: 0.9rem;
	font-weight: 600;
	transition: background var(--transition), transform var(--transition);
}
.btn-quote:hover { background: var(--color-orange-dark); transform: translateY(-1px); }

.hamburger {
	display: none;
	color: var(--color-white);
	padding: 0.375rem;
	border-radius: var(--radius-sm);
}
.hamburger svg { width: 24px; height: 24px; }

/* ── Mobile Menu ─────────────────────────────────────────── */
.mobile-menu-overlay {
	position: fixed;
	inset: 0;
	background: var(--color-navy);
	z-index: 1100;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	overflow-y: auto;
}

.mobile-menu-overlay.is-open { transform: translateX(0); }

.mobile-menu-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem var(--container-pad);
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

.mobile-menu-close {
	color: var(--color-white);
	padding: 0.375rem;
}
.mobile-menu-close svg { width: 28px; height: 28px; }

.mobile-nav { padding: 1rem 0; flex: 1; }

.mobile-nav > ul > li {
	border-bottom: 1px solid rgba(255,255,255,0.07);
}

.mobile-nav > ul > li > a,
.mobile-nav-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem var(--container-pad);
	color: var(--color-white);
	font-size: 1.0625rem;
	font-weight: 500;
}

.mobile-nav-trigger {
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
}

.mobile-nav-trigger .chevron {
	transition: transform var(--transition);
}
.mobile-nav-trigger.is-active .chevron { transform: rotate(180deg); }

.mobile-submenu {
	display: none;
	background: rgba(0,0,0,0.2);
	padding: 0.5rem 0;
}
.mobile-submenu.is-open { display: block; }

.mobile-submenu a {
	display: block;
	padding: 0.75rem calc(var(--container-pad) + 1rem);
	color: rgba(255,255,255,0.75);
	font-size: 0.9375rem;
	transition: color var(--transition);
}
.mobile-submenu a:hover { color: var(--color-orange); }

.mobile-menu-footer {
	padding: 1.5rem var(--container-pad);
	border-top: 1px solid rgba(255,255,255,0.1);
	display: flex;
	gap: 0.75rem;
}
.mobile-menu-footer a { flex: 1; text-align: center; }

/* ── WhatsApp Float ──────────────────────────────────────── */
.whatsapp-float {
	position: fixed;
	bottom: 1.75rem;
	right: 1.75rem;
	width: 56px;
	height: 56px;
	background: var(--color-whatsapp);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 20px rgba(37,211,102,0.4);
	z-index: 900;
	transition: transform var(--transition), box-shadow var(--transition);
}
.whatsapp-float:hover {
	transform: scale(1.1);
	box-shadow: 0 6px 28px rgba(37,211,102,0.55);
}
.whatsapp-float svg { width: 28px; height: 28px; color: white; }

/* ── Back to Top ─────────────────────────────────────────── */
.back-to-top {
	position: fixed;
	bottom: 5.5rem;
	right: 1.75rem;
	width: 44px;
	height: 44px;
	background: var(--color-navy);
	color: var(--color-white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-card);
	z-index: 900;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
}
.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.back-to-top:hover { background: var(--color-orange); }
.back-to-top svg { width: 20px; height: 20px; transform: rotate(180deg); }

/* ── Footer ──────────────────────────────────────────────── */
.pre-footer {
	background: var(--color-off-white);
	padding-block: 2.5rem;
	border-top: 1px solid var(--color-border);
}

.pre-footer-inner {
	max-width: var(--container-wide);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

.newsletter-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--color-border);
}

.newsletter-strip h3 {
	font-size: 1.25rem;
	font-family: var(--font-body);
	font-weight: 600;
}

.newsletter-form {
	display: flex;
	gap: 0.5rem;
	flex: 1;
	max-width: 400px;
}

.newsletter-form input {
	flex: 1;
	padding: 0.75rem 1rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-white);
}

.newsletter-form button {
	background: var(--color-orange);
	color: white;
	padding: 0.75rem 1.5rem;
	border-radius: var(--radius-md);
	font-weight: 600;
	transition: background var(--transition);
}
.newsletter-form button:hover { background: var(--color-orange-dark); }

.trust-logos {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.trust-badge {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-text-muted);
	background: var(--color-white);
	padding: 0.5rem 1rem;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border);
}

.site-footer {
	background: var(--color-navy);
	color: rgba(255,255,255,0.75);
	padding-block: clamp(2.5rem, 6vw, 4rem);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 3rem;
	max-width: var(--container-wide);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

.footer-col h4 {
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-white);
	margin-bottom: 1.25rem;
}

.footer-col .footer-logo {
	margin-bottom: 0.75rem;
	font-family: var(--font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-white);
}
.footer-col .footer-logo span { color: var(--color-orange); }

.footer-brand-desc {
	font-size: 0.9rem;
	line-height: 1.65;
	margin-bottom: 1.25rem;
	color: rgba(255,255,255,0.65);
}

.footer-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin-bottom: 0.75rem;
	font-size: 0.9rem;
}
.footer-contact-item svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; color: var(--color-orange); }
.footer-contact-item a { color: rgba(255,255,255,0.75); transition: color var(--transition); }
.footer-contact-item a:hover { color: var(--color-orange); }

.footer-col ul { display: flex; flex-direction: column; gap: 0.5rem; }
.footer-col ul a {
	font-size: 0.9rem;
	color: rgba(255,255,255,0.65);
	transition: color var(--transition);
}
.footer-col ul a:hover { color: var(--color-orange); }

.footer-bottom {
	border-top: 1px solid rgba(255,255,255,0.1);
	margin-top: 3rem;
}

.footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	max-width: var(--container-wide);
	margin-inline: auto;
	padding: 1.5rem var(--container-pad);
}

.footer-copyright { font-size: 0.875rem; color: rgba(255,255,255,0.5); }

.footer-social {
	display: flex;
	gap: 0.75rem;
}

.footer-social a {
	width: 36px;
	height: 36px;
	background: rgba(255,255,255,0.08);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,0.65);
	transition: background var(--transition), color var(--transition);
}
.footer-social a:hover { background: var(--color-orange); color: white; }
.footer-social a svg { width: 16px; height: 16px; }

.footer-legal {
	display: flex;
	gap: 1.25rem;
	flex-wrap: wrap;
}
.footer-legal a { font-size: 0.8125rem; color: rgba(255,255,255,0.45); transition: color var(--transition); }
.footer-legal a:hover { color: var(--color-white); }

/* ── Main content offset for fixed header ─────────────────── */
.page-content-wrap {
	padding-top: var(--header-height);
}

/* For hero pages, no padding (hero is full-screen) */
.page-template-template-homepage .page-content-wrap,
.has-hero-banner .page-content-wrap {
	padding-top: 0;
}

/* ── Star Rating ─────────────────────────────────────────── */
.star-rating { display: inline-flex; gap: 2px; }
.star-rating .star svg { width: 16px; height: 16px; }
.star-rating .star.filled svg { color: #F59E0B; }
.star-rating .star.empty svg { color: #D1D5DB; }

/* ── Accessibility ───────────────────────────────────────── */
.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	background: var(--color-orange);
	color: white;
	padding: 0.5rem 1rem;
	border-radius: 0 0 var(--radius-sm) var(--radius-sm);
	z-index: 9999;
	font-weight: 600;
}
.skip-link:focus { top: 0; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
	.primary-nav { display: none; }
	.hamburger { display: flex; }
	.btn-call { display: none; }
}

@media (max-width: 768px) {
	.footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
	.footer-col:first-child { grid-column: 1 / -1; }
	.footer-bottom-inner { flex-direction: column; text-align: center; }
	.newsletter-strip { flex-direction: column; align-items: flex-start; }
	.newsletter-form { max-width: 100%; width: 100%; }
}

@media (max-width: 480px) {
	.footer-grid { grid-template-columns: 1fr; }
	.footer-col:first-child { grid-column: auto; }
}

/* ── Lightbox ────────────────────────────────────────────── */
.att-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.95);
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition);
}
.att-lightbox.is-open { opacity: 1; visibility: visible; }
.att-lightbox img {
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	border-radius: var(--radius-md);
}
.att-lightbox-close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	color: white;
	background: rgba(255,255,255,0.1);
	border-radius: 50%;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.att-lightbox-close svg { width: 24px; height: 24px; }

/* ── Tour Package Template Layout ───────────────────────── */
.tour-package-layout {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 2rem;
	align-items: start;
	padding-block: 2rem;
}

.tour-package-content { min-width: 0; }

.tour-package-sidebar { position: relative; }

.sidebar-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
}

.js-sticky-sidebar {
	position: sticky;
	top: calc(var(--header-height) + 1.5rem);
}

.sidebar-price-wrap { display: flex; flex-direction: column; gap: 0.25rem; }

.sidebar-price-from {
	font-size: 0.75rem;
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.sidebar-price {
	display: flex;
	align-items: baseline;
	gap: 0.25rem;
}

.sidebar-currency {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-navy);
}

.sidebar-amount {
	font-family: var(--font-heading);
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-orange);
}

.sidebar-duration {
	font-size: 0.85rem;
	color: var(--color-text-muted);
}

.sidebar-discount-badge {
	display: inline-block;
	background: rgba(45,80,22,0.12);
	color: var(--color-green);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.2rem 0.625rem;
	border-radius: var(--radius-full);
}

.sidebar-rating {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.9rem;
	color: #f5a623;
}

.sidebar-rating-num {
	color: var(--color-navy);
	font-weight: 600;
}

.sidebar-info-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-text);
	border-top: 1px solid var(--color-border);
	padding-top: 1rem;
}

.sidebar-info-list strong { color: var(--color-navy); }

.sidebar-cta {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.sidebar-cta .btn { display: flex; align-items: center; justify-content: center; gap: 0.5rem; }
.sidebar-cta .btn svg { width: 18px; height: 18px; }

.sidebar-trust {
	border-top: 1px solid var(--color-border);
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.trust-item {
	font-size: 0.8rem;
	color: var(--color-green);
	font-weight: 500;
}

@media (max-width: 1024px) {
	.tour-package-layout {
		grid-template-columns: 1fr;
	}
	.js-sticky-sidebar { position: static; }
}

/* ── Blog Archive / Index ────────────────────────────────── */
.blog-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.blog-card {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--color-white);
	transition: box-shadow var(--transition), transform var(--transition);
}
.blog-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-3px); }

.blog-card-img-link { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.blog-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.blog-card:hover .blog-card-img { transform: scale(1.05); }

.blog-card-body { padding: 1.25rem; }

.blog-card-cat {
	display: inline-block;
	background: rgba(200,84,27,0.1);
	color: var(--color-orange);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.2rem 0.5rem;
	border-radius: var(--radius-full);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 0.5rem;
}

.blog-card-title {
	font-size: 1.0625rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	line-height: 1.4;
}
.blog-card-title a { color: var(--color-navy); text-decoration: none; }
.blog-card-title a:hover { color: var(--color-orange); }

.blog-card-meta {
	font-size: 0.8rem;
	color: var(--color-text-muted);
	margin-bottom: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	align-items: center;
}

.blog-card-sep { opacity: 0.4; }

.blog-card-excerpt {
	font-size: 0.9rem;
	color: var(--color-text);
	line-height: 1.6;
	margin-bottom: 1rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.archive-pagination { padding-block: 1.5rem; }

.no-results {
	padding-block: 3rem;
	text-align: center;
}
.no-results h2 { font-size: 1.5rem; margin-bottom: 0.75rem; }

@media (max-width: 640px) { .blog-grid { grid-template-columns: 1fr; } }

/* ── Single Post ─────────────────────────────────────────── */
.single-post-layout { padding-block: 2rem; max-width: 760px; margin-inline: auto; }

.single-hero-img { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 2rem; }
.single-featured-img { width: 100%; height: 420px; object-fit: cover; }

.single-post-header { margin-bottom: 2rem; }

.single-cats { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.single-cat-badge {
	background: rgba(200,84,27,0.1);
	color: var(--color-orange);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.25rem 0.625rem;
	border-radius: var(--radius-full);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
}
.single-cat-badge:hover { background: var(--color-orange); color: #fff; }

.single-post-title { font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.2; margin-bottom: 1rem; }

.single-post-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.625rem;
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

.single-author { display: flex; align-items: center; gap: 0.5rem; }
.author-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.author-name { font-weight: 600; color: var(--color-navy); }

.single-sep { opacity: 0.4; }

.single-post-content {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--color-text);
}
.single-post-content h2 { font-size: 1.375rem; margin-block: 1.5rem 0.75rem; }
.single-post-content h3 { font-size: 1.125rem; margin-block: 1.25rem 0.625rem; }
.single-post-content p { margin-bottom: 1rem; }
.single-post-content img { border-radius: var(--radius-md); max-width: 100%; }
.single-post-content blockquote {
	border-left: 4px solid var(--color-orange);
	margin: 1.5rem 0;
	padding: 0.75rem 1.25rem;
	background: var(--color-off-white);
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.single-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	margin-block: 1.5rem;
}
.tag-chip {
	background: var(--color-off-white);
	border: 1px solid var(--color-border);
	color: var(--color-text-muted);
	font-size: 0.8rem;
	padding: 0.25rem 0.625rem;
	border-radius: var(--radius-full);
	text-decoration: none;
	transition: background var(--transition), color var(--transition);
}
.tag-chip:hover { background: var(--color-navy); color: #fff; border-color: var(--color-navy); }

.single-tour-cta {
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--color-navy), #252545);
	padding: 1.75rem;
	margin-block: 2rem;
}
.single-tour-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.single-tour-cta h3 { font-size: 1.125rem; color: #fff; margin-bottom: 0.375rem; }
.single-tour-cta p { font-size: 0.9rem; color: rgba(255,255,255,0.75); margin: 0; }

.single-author-box {
	display: flex;
	gap: 1.25rem;
	padding: 1.5rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	margin-block: 2rem;
}
.author-box-avatar { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.author-box-name { font-size: 1rem; font-weight: 700; color: var(--color-navy); margin-bottom: 0.375rem; }
.author-box-bio { font-size: 0.875rem; color: var(--color-text-muted); margin: 0; line-height: 1.6; }

.post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-block: 2rem;
	border-top: 1px solid var(--color-border);
	padding-top: 1.5rem;
}
.post-nav-label { display: block; font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: 0.25rem; }
.post-nav-title { font-size: 0.9375rem; font-weight: 600; color: var(--color-navy); }

/* ── Destination Page ────────────────────────────────────── */
.destination-intro {
	padding-block: 1.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}
.destination-country {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-orange);
	font-weight: 700;
}
.destination-tagline {
	font-size: 1.125rem;
	color: var(--color-text-muted);
	margin: 0;
}
.destination-package-count { font-size: 0.9rem; color: var(--color-text-muted); }

/* ── Adventure Category Page ─────────────────────────────── */
.adv-cat-header { padding-block: 2.5rem; }
.adv-cat-header-inner { display: flex; align-items: center; gap: 1.25rem; }
.adv-cat-icon { font-size: 3rem; }
.adv-cat-title { font-size: clamp(1.75rem, 4vw, 2.5rem); color: #fff; margin-bottom: 0.375rem; }
.adv-cat-tagline { color: rgba(255,255,255,0.75); margin: 0; font-size: 1rem; }

/* ── Generic Page ────────────────────────────────────────── */
.page-article { padding-block: 2rem; }
.page-hero-img { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 2rem; }
.page-featured-img { width: 100%; max-height: 400px; object-fit: cover; }
.page-header { margin-bottom: 1.5rem; }
.page-title { font-size: clamp(1.5rem, 4vw, 2.25rem); }
.page-content { font-size: 1rem; line-height: 1.8; color: var(--color-text); }
.page-content h2 { font-size: 1.375rem; margin-block: 1.5rem 0.75rem; }
.page-content h3 { font-size: 1.125rem; margin-block: 1.25rem 0.625rem; }
.page-content p { margin-bottom: 1rem; }
.page-content img { border-radius: var(--radius-md); max-width: 100%; }

/* ── Homepage template ───────────────────────────────────── */
.homepage-main { padding-top: 0; }
