/* Theme layer — typography, colors, and formatting from appearance settings */
/* Brand: green primary (nav), black text, blue accents */

body {
	font-family: var(--body-font, 'Open Sans', sans-serif);
	font-size: var(--base-font-size, 16px);
	line-height: var(--line-height-body, 1.6);
	color: var(--text-color, #222222);
}

h1, h2, h3, h4, h5, h6,
.title h1, .title h2, .new-page h1 {
	font-family: var(--heading-font, 'Poppins', sans-serif);
	color: var(--heading-color, #111111);
	line-height: var(--line-height-heading, 1.35);
	font-weight: 700;
}

h1 { font-size: var(--h1-size, 2.5rem); }
h2 { font-size: var(--h2-size, 1.75rem); color: var(--heading-color, #111111); }
h3 { font-size: var(--h3-size, 1.35rem); color: var(--heading-color, #111111); }
h4 { font-size: var(--h4-size, 1.2rem); color: var(--heading-color, #111111); }
h5 { font-size: var(--h5-size, 1.1rem); color: var(--heading-color, #111111); }
h6 { font-size: var(--h6-size, 1rem); color: var(--heading-color, #111111); }

p, li, label, .form-control, .form-select {
	font-family: var(--body-font, 'Open Sans', sans-serif);
	font-size: var(--base-font-size, 16px);
	line-height: var(--line-height-body, 1.6);
	color: var(--text-color, #222222);
}

p a {
	color: var(--nav-green, #219b03);
	font-weight: 700;
}

p a:hover {
	color: var(--link-color, #0b71b8);
}

a:not(.btn):not(.nav-link):not(.dropdown-item):not(.package-hover__btn):not(.btn-booking):not(.region-card):not(.blg-title):not(.blog-read-more):not(.blog-list-card__title):not(.footer-link) {
	color: var(--link-color, #0b71b8);
	font-weight: 600;
}

a:not(.btn):not(.nav-link):not(.dropdown-item):not(.package-hover__btn):not(.btn-booking):not(.region-card):not(.blg-title):not(.blog-read-more):not(.blog-list-card__title):not(.footer-link):hover {
	color: var(--accent-blue-dark, #085a92);
}

.btn-primary,
.my-slider-ban .my-ban .ban-overlay .ban-link a:last-child {
	background-color: var(--primary-color, #219b03) !important;
	border-color: var(--primary-color, #219b03) !important;
	border-radius: var(--btn-radius, 4px);
	color: #fff !important;
}

.btn-primary:hover,
.welcome .lilnk .welcome-link-btn:hover {
	background-color: var(--brand-green-dark, #197802) !important;
	border-color: var(--brand-green-dark, #197802) !important;
}

.btn-outline-primary {
	color: var(--primary-color, #219b03) !important;
	border-color: var(--primary-color, #219b03) !important;
}

.btn-outline-primary:hover {
	background-color: var(--primary-color, #219b03) !important;
	border-color: var(--primary-color, #219b03) !important;
	color: #fff !important;
}

/* Section titles — unified across trip, blog, and content pages */
.trip-section-title,
.trip-cost-section .trip-section-title,
.departure-heading .trip-section-title,
.icon-all-top h2,
.packages .title h2,
.top-regions .title h2,
.blog .title h2,
.new-page h1 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--heading-font, 'Poppins', sans-serif);
	font-size: var(--section-title-size, 1.75rem);
	font-weight: 700;
	color: var(--heading-color, #111111);
	line-height: var(--line-height-heading, 1.35);
	margin-bottom: 0.75rem;
}

.trip-section-title i,
.trip-cost-section .trip-section-title i,
.departure-heading .trip-section-title i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--primary-color) 12%, white);
	color: var(--primary-color);
	font-size: 17px;
	flex-shrink: 0;
}

/* Trip cost — package tabs and includes/excludes lists */
.trip-cost-section .package-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 0;
	border-bottom: 1px solid #dbe7df;
	padding-bottom: 0;
}

.trip-cost-section .package-tabs .nav-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 20px;
	border: 1px solid transparent;
	border-radius: 10px 10px 0 0;
	background: #f4f8f1;
	color: var(--text-muted, #444444);
	font-size: 15px;
	font-weight: 600;
}

.trip-cost-section .package-tabs .nav-link span {
	font-weight: 500;
	opacity: 0.85;
}

.trip-cost-section .package-tabs .nav-link:hover {
	border-color: #d5e5d0;
	background: #eef6ea;
	color: var(--nav-green, #219b03);
}

.trip-cost-section .package-tabs .nav-link.active {
	border-color: #dbe7df #dbe7df #fff;
	background: #fff;
	color: var(--nav-green, #219b03);
}

.trip-cost-section .package-panels {
	padding-top: 20px;
}

.trip-cost-section .cost-list-card {
	margin-bottom: 18px;
	padding: 20px 22px;
	border: 1px solid #e3e9ee;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(17, 24, 39, 0.05);
}

.trip-cost-section .cost-list-card h3 {
	margin: 0 0 16px;
	color: var(--heading-color, #111111);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.35;
}

.trip-cost-section .cost-rich-content,
.trip-cost-section .cost-rich-content * {
	font-family: inherit !important;
}

.trip-cost-section .cost-rich-content h4 {
	margin: 18px 0 10px;
	color: var(--heading-color, #111111);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.4;
}

.trip-cost-section .cost-rich-content h4:first-child {
	margin-top: 0;
}

.trip-cost-section .cost-rich-content p {
	margin: 0 0 12px;
	color: var(--text-muted, #444444);
	font-size: 15px;
	line-height: 1.65;
}

.trip-cost-section .cost-rich-content ul {
	display: grid;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none !important;
}

.trip-cost-section .cost-rich-content ul li {
	position: relative;
	margin: 0;
	padding: 11px 14px 11px 46px;
	border-radius: 8px;
	background: #f7faf6;
	color: var(--text-color, #222222);
	font-size: 15px;
	line-height: 1.5;
	list-style: none !important;
}

.trip-cost-section .included .cost-rich-content ul li::before,
.trip-cost-section .excluded .cost-rich-content ul li::before {
	position: absolute;
	left: 14px;
	top: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	color: #fff;
	font-family: "Font Awesome 6 Free" !important;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
}

.trip-cost-section .included .cost-rich-content ul li::before {
	content: "\f00c";
	background: var(--nav-green, #219b03);
}

.trip-cost-section .excluded .cost-rich-content ul li::before {
	content: "\f00d";
	background: #c62828;
}

.trip-cost-section .included .cost-rich-content ul li {
	background: #f4faf1;
}

.trip-cost-section .excluded .cost-rich-content ul li {
	background: #fdf6f6;
}

/* Trip page title */
.trippage h1,
.pack-details .col-md-12 > h1 {
	font-family: var(--heading-font, 'Poppins', sans-serif);
	font-size: var(--h2-size, 1.75rem);
	font-weight: 800;
	color: var(--heading-color, #111111);
	line-height: var(--line-height-heading, 1.35);
}

.trippage h1::before,
.title h1::before,
.new-page h1::before {
	background-color: var(--primary-color);
}

.trippage h2,
.pack-details .content h2 {
	color: var(--heading-color, #111111);
}

/* Package / trip cards */
.package {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid #e3e9ee;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(17, 24, 39, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.package:hover {
	border-color: #cfe8c8;
	box-shadow: 0 14px 28px rgba(33, 155, 3, 0.12);
	transform: translateY(-3px);
}

.package .package-img {
	position: relative;
	height: auto;
	min-height: 250px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-bottom: 1px solid #edf2f6;
}

.package .package-img > a {
	display: block;
	height: 100%;
}

.package .package-img img {
	display: block;
	width: 100%;
	height: 100% !important;
	min-height: 250px;
	object-fit: cover;
	transition: transform 0.35s ease;
	filter: none !important;
	transform: none !important;
}

.package:hover .package-img img {
	filter: none !important;
	transform: scale(1.04) !important;
}

.package .package-img .featured {
	top: 14px;
	right: auto;
	left: 14px;
	padding: 5px 12px;
	border-radius: 999px;
	background: #f39c12;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	transform: none;
	box-shadow: 0 4px 12px rgba(243, 156, 18, 0.35);
}

.package .package-img .discount {
	top: 14px;
	right: 14px;
	left: auto;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--nav-green, #219b03);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	transform: none;
	box-shadow: 0 4px 12px rgba(33, 155, 3, 0.25);
}

.package .all-down {
	position: relative;
	flex: 1 1 auto;
	border: 0;
	padding: 18px 16px 12px;
	background: #fff;
}

.package .all-down .peop {
	position: absolute;
	top: -16px;
	left: 16px;
}

.package .all-down .peop h6 {
	margin: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(17, 24, 39, 0.1);
	color: #122f43;
	font-size: 14px;
	font-weight: 700;
}

.package .all-down .peop h6 del {
	color: #c62828;
	margin-right: 4px;
	font-weight: 600;
}

.package .all-down > a {
	display: block;
	margin: 0 0 10px;
	padding: 0;
	color: #122f43 !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.4;
	text-decoration: none;
}

.package .all-down > a:hover {
	color: var(--nav-green, #219b03) !important;
}

.package .all-down p {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 0;
	color: #64748b;
	font-size: 13px;
	line-height: 1.45;
}

.package .all-down p span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
}

.package .all-down p i {
	color: var(--nav-green, #219b03);
	font-size: 12px;
}

.package .pack-down {
	padding: 10px 0 0;
}

.package .pack-down .book a {
	color: #64748b !important;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
}

.package .pack-down .book a:hover {
	color: #122f43 !important;
}

.package .pack-down .p1 i {
	color: #f5a623;
	font-size: 13px;
}

.package .next-down {
	margin-top: auto;
	padding: 14px 16px 16px;
	border: 0;
	border-top: 1px solid #edf2f6;
	background: #fafcfd;
}

.package .next-down h3 {
	margin: 0 0 10px;
	color: #122f43;
	font-size: 14px;
	font-weight: 700;
}

.package .next-down p {
	margin: 0 0 8px;
	padding: 0;
	color: #475569;
	font-size: 13px;
}

.package .next-down p span i {
	color: var(--accent-blue, #0b71b8);
}

.package .next-down .link {
	margin: 12px 0 0;
	padding: 0;
}

.package .next-down .link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 10px 16px;
	border: 1px solid var(--nav-green, #219b03);
	border-radius: 999px;
	background: #fff;
	color: var(--nav-green, #219b03) !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.package .package-img .group {
	z-index: 9;
	position: absolute;
	top: 14px;
	left: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 2px solid rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	background: rgba(18, 47, 67, 0.82);
	color: #fff;
	box-shadow: 0 4px 12px rgba(17, 24, 39, 0.2);
}

.package .next-down p .line {
	flex: 1 1 auto;
	width: auto;
	height: 0;
	border-top: 1px dotted #cbd5e1;
}

.packages .row > [class*="col-"] {
	margin-bottom: 24px;
}

.icon-all-top .all-icon-detail .content .fact-value-row b {
	color: var(--primary-color);
}

/* Activity page — region cards (image overlay layout) */
.region-card {
	position: relative;
	display: block;
	height: 100%;
	min-height: 220px;
	border: 1px solid #e3e9ee;
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(17, 24, 39, 0.08);
	background: #1a1a1a;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.region-card:hover {
	border-color: #cfe8c8;
	box-shadow: 0 14px 28px rgba(33, 155, 3, 0.12);
	transform: translateY(-3px);
}

.region-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.region-card:hover .region-card__image {
	transform: scale(1.06);
}

.region-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.4) 42%, transparent 72%);
	pointer-events: none;
}

.region-card__content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 16px 18px 18px;
}

.region-card__badge {
	display: inline-block;
	margin-bottom: 8px;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.95);
	color: #122f43;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}

.region-card__title {
	margin: 0;
	color: #fff;
	font-size: clamp(15px, 1.6vw, 18px);
	font-weight: 700;
	line-height: 1.35;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.region-card:hover .region-card__title {
	color: #fff;
}

.activity-section--regions .packages .row > [class*="col-"] {
	display: flex;
}

.activity-section--regions .region-card {
	width: 100%;
	aspect-ratio: 4 / 3;
	min-height: 0;
}

.region-page .region-trips-section,
.activity-page .activity-section {
	margin-top: 2rem;
}

.region-page .region-trips-section .section-title,
.activity-page .activity-section .section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 1.25rem;
	color: #122f43;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: 800;
}

.region-page .region-trips-section .section-title::before,
.activity-page .activity-section .section-title::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 22px;
	border-radius: 2px;
	background: var(--nav-green, #219b03);
}

.region-page .taxonomy-intro-card,
.activity-page .taxonomy-intro-card {
	margin-bottom: 0;
}

@media (max-width: 575.98px) {
	.region-card {
		min-height: 180px;
	}

	.region-card__content {
		padding: 12px 14px 14px;
	}

	.region-card__title {
		font-size: 15px;
	}
}

/* Blog listing cards */
.blog.my-blog .blog-list-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #e3e9ee;
	box-shadow: 0 8px 22px rgba(17, 24, 39, 0.06);
	background: #fff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.blog.my-blog .blog-list-card:hover {
	border-color: #cfe8c8;
	box-shadow: 0 14px 28px rgba(33, 155, 3, 0.12);
	transform: translateY(-3px);
}

.blog.my-blog .blog-list-card--list {
	flex-direction: row;
}

.blog.my-blog .blog-list-thumb {
	display: block;
	position: relative;
	flex-shrink: 0;
	overflow: hidden;
	background: #edf4fa;
}

.blog.my-blog .blog-list-card--grid .blog-list-thumb {
	aspect-ratio: 16 / 10;
}

.blog.my-blog .blog-list-card--list .blog-list-thumb {
	width: 100%;
	aspect-ratio: 16 / 10;
}

.blog.my-blog .blog-list-thumb .card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.blog.my-blog .blog-list-card:hover .blog-list-thumb .card-image {
	transform: scale(1.05);
}

.blog.my-blog .blog-list-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	padding: 18px 18px 20px;
	min-width: 0;
}

.blog.my-blog .blog-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0;
}

.blog.my-blog .blog-cat {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(33, 155, 3, 0.1);
	color: var(--nav-green, #219b03);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform: uppercase;
}

.blog.my-blog .blog-date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #64748b;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
}

.blog.my-blog .blog-date i {
	color: #94a3b8;
	font-size: 12px;
}

.blog.my-blog .blog-list-card__title,
.blog.my-blog .content a.blg-title {
	margin: 0;
	color: #122f43;
	font-size: clamp(1rem, 1.6vw, 1.12rem);
	font-weight: 800;
	line-height: 1.35;
	text-decoration: none;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	transition: color 0.15s ease;
}

.blog.my-blog .blog-list-card__title:hover,
.blog.my-blog .content a.blg-title:hover {
	color: var(--nav-green, #219b03);
}

.blog.my-blog .blog-list-card__excerpt,
.blog.my-blog .blog-list-body > p {
	margin: 0;
	flex: 1 1 auto;
	padding: 0;
	color: #5d6d78;
	font-size: 14px;
	line-height: 1.65;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.blog.my-blog .content a.blog-read-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin: auto 0 0;
	padding-top: 4px;
	color: var(--link-color, #0b71b8);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: gap 0.2s ease, color 0.15s ease;
}

.blog.my-blog .blog-read-more i {
	font-size: 13px;
	transition: transform 0.2s ease;
}

.blog.my-blog .content a.blog-read-more:hover {
	color: var(--nav-green, #219b03);
	gap: 12px;
}

.blog.my-blog .content a.blog-read-more:hover i {
	transform: translateX(3px);
}

@media (min-width: 768px) {
	.blog.my-blog .blog-list-card--list .blog-list-thumb {
		width: min(280px, 38%);
		aspect-ratio: auto;
		min-height: 200px;
	}
}

@media (max-width: 767.98px) {
	.blog.my-blog .blog-list-card:hover {
		transform: none;
	}
}

/* Blog */
.blog.my-blog .content .blog-meta .blog-cat,
.blog-sidebar .category-item a:hover,
.blog-sidebar .recent-post-copy a:hover,
.blog-pagination .page-item.active .page-link,
.team-cont h4 a:hover,
.team-cont h5 {
	color: var(--primary-color);
}

.blog-pagination .page-item.active .page-link {
	background: var(--primary-color);
	border-color: var(--primary-color);
}

.blog-sidebar .badge {
	background: var(--primary-color) !important;
	color: #fff !important;
}

.top-regions .title .line {
	background: #219b03;
}

.top-regions__subtitle {
	margin: -12px 0 24px;
	color: #466071;
	font-size: 15px;
	text-align: center;
}

.top-regions .row {
	justify-content: center;
}

@media (max-width: 767px) {
	.top-regions {
		padding: 32px 0;
	}

	.top-regions .title h2 {
		font-size: 28px;
	}

	.top-regions .region {
		width: clamp(140px, 42vw, 200px);
	}
}

/* Homepage adventure activities */
.home-activities-section {
	padding: 48px 0;
	background: #fff;
}

.home-activities-section__head {
	margin-bottom: 28px;
}

.home-activities-section__head h2 {
	margin-bottom: 10px;
	color: var(--heading-color, #111111);
	font-size: clamp(1.6rem, 2.5vw, 2rem);
	font-weight: 800;
}

.home-activities-section__head p {
	margin: 0 auto;
	max-width: 720px;
	color: #5d6d78;
	font-size: 15px;
	line-height: 1.6;
}

.home-activity-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid #e3e9ee;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(17, 24, 39, 0.06);
	color: inherit;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.home-activity-card:hover {
	border-color: #cfe8c8;
	box-shadow: 0 14px 28px rgba(33, 155, 3, 0.14);
	color: inherit;
	text-decoration: none;
	transform: translateY(-4px);
}

.home-activity-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #edf4fa;
}

.home-activity-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.home-activity-card:hover .home-activity-card__media img {
	transform: scale(1.05);
}

.home-activity-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--nav-green, #219b03);
	font-size: 2rem;
}

.home-activity-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: space-between;
	gap: 8px;
	padding: 14px 14px 16px;
}

.home-activity-card__title {
	margin: 0;
	color: #122f43;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
}

.home-activity-card__count {
	margin: 0;
	color: var(--nav-green, #219b03);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.home-activity-card:hover .home-activity-card__title {
	color: var(--nav-green, #219b03);
}

@media (max-width: 767px) {
	.home-activities-section {
		padding: 36px 0;
	}

	.home-activity-card__title {
		font-size: 0.88rem;
	}

	.home-activity-card__count {
		font-size: 12px;
	}
}

.env-footer {
	background: #fff;
	border-top: 1px solid #e3e8ee;
	padding: 44px 0 36px;
}

footer.env-footer h4,
.env-footer h4 {
	color: #111111;
	margin: 0 0 14px;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.06em;
	font-family: var(--heading-font, 'Poppins', sans-serif);
}

footer.env-footer .company-name,
.env-footer .company-name {
	color: var(--nav-green, #219b03);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
}

footer.env-footer .lnk,
.env-footer .lnk {
	margin: 0;
	padding: 0;
}

footer.env-footer .lnk li,
.env-footer .lnk li {
	padding: 4px 0;
	color: #222222;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	list-style: none;
}

footer.env-footer .footer-link,
.env-footer .footer-link,
footer.env-footer .lnk a.footer-link,
.env-footer .lnk a.footer-link {
	color: #111111 !important;
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
	transition: color 0.15s ease;
}

footer.env-footer .footer-link:hover,
.env-footer .footer-link:hover,
footer.env-footer .lnk a.footer-link:hover,
.env-footer .lnk a.footer-link:hover {
	color: var(--nav-green, #219b03) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.pay-lgo {
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	border-top: 1px solid #e2e8f0;
	padding: 28px 0 24px;
}

.pay-lgo .content {
	display: block;
	margin-bottom: 0;
}

.pay-lgo .row {
	align-items: flex-start;
	row-gap: 24px;
}

.pay-lgo .affi {
	padding: 0;
	text-align: left;
}

.pay-lgo .affi h4 {
	margin: 0 0 14px;
	padding: 0;
	color: #122f43;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
}

.pay-lgo .affi p {
	margin: -8px 0 12px;
	color: #64748b;
	font-size: 13px;
	line-height: 1.45;
}

.pay-lgo .affi ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.pay-lgo .affi ul li,
.pay-lgo .content ul li,
.pay-lgo .content .affi ul li {
	list-style: none;
	display: block;
	margin: 0 !important;
	border: 0 !important;
}

.pay-lgo .affi ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 50px;
	padding: 8px 10px;
	border: 1px solid #e3e9ee;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 4px 12px rgba(17, 24, 39, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.pay-lgo .affi ul li a:hover {
	border-color: #cfe8c8;
	box-shadow: 0 8px 18px rgba(33, 155, 3, 0.1);
	transform: translateY(-2px);
}

.pay-lgo .affi img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 28px;
	object-fit: contain;
}

.pay-lgo .socialicons {
	text-align: left;
}

.pay-lgo .socialicons ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pay-lgo .socialicons ul li a {
	display: inline-flex;
	text-decoration: none;
}

.pay-lgo .socialicons ul li a i {
	font-size: 17px;
	color: #fff;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--nav-green, #219b03);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pay-lgo .socialicons ul li a i.fa-facebook {
	background: #1877f2;
}

.pay-lgo .socialicons ul li a i.fa-youtube {
	background: #ff0000;
}

.pay-lgo .socialicons ul li a i.fa-instagram {
	background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.pay-lgo .socialicons ul li a i.fa-twitter,
.pay-lgo .socialicons ul li a i.fa-x-twitter {
	background: #000;
}

.pay-lgo .socialicons ul li a i.fa-tripadvisor {
	background: #34e0a1;
	color: #000;
}

.pay-lgo .socialicons ul li a:hover i {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(17, 24, 39, 0.14);
}

@media (max-width: 767px) {
	.pay-lgo {
		padding: 22px 0 18px;
	}

	.pay-lgo .affi,
	.pay-lgo .socialicons {
		text-align: center;
	}

	.pay-lgo .affi ul,
	.pay-lgo .socialicons ul {
		justify-content: center;
	}
}

.copy-right {
	background: #111;
	border-top: 1px solid #333;
}

.copy-right .copyright {
	color: #cbcbcb;
	text-align: center;
	padding: 20px 0;
	margin: 0;
	font-size: 14px;
}

@media (max-width: 767px) {
	footer.env-footer,
	.env-footer {
		padding: 28px 0 18px;
	}

	footer.env-footer .col-md-4,
	.env-footer .col-md-4,
	footer.env-footer .col-md-6,
	.env-footer .col-md-6 {
		margin-bottom: 22px;
	}

	.copy-right {
		margin-bottom: 45px;
	}
}

/* Remove travelmaster blue footer override */
.site-footer,
footer.site-footer {
	background: #fff;
}

/* Welcome block — legacy environmental layout from style.css */
.welcome .title h1 {
	font-family: var(--heading-font, 'Poppins', sans-serif);
	color: var(--heading-color, #333);
}

.welcome .title h3 {
	font-family: var(--heading-font, 'Poppins', sans-serif);
}

/* Testimonials carousel */
.testi .title h2,
.testi .title p {
	color: #fff;
}

.testi .title h2 {
	display: block;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.testi .title p {
	font-size: 16px;
	font-weight: 400;
	margin-bottom: 0;
}

.my-slider-ban .my-ban .ban-overlay .ban-link .slider-cta-btn,
.my-slider-ban .my-ban .ban-overlay .ban-link .slider-cta-btn:hover,
.my-slider-ban .my-ban .ban-overlay .ban-link .slider-cta-btn:focus,
.my-slider-ban .my-ban .ban-overlay .ban-link .slider-cta-btn:visited {
	color: var(--button-text-color, #ffffff) !important;
	font-weight: 700;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

/* Slider controls */
.responsive .slick-prev,
.responsive .slick-next {
	background-color: var(--primary-color) !important;
}

.responsive .res-1 h2 {
	color: var(--primary-color);
}

/* Trip planner */
.trip-planner-steps__track span {
	background: linear-gradient(90deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 55%, #000));
}

.trip-planner-card:has(input:checked) {
	border-color: var(--primary-color);
}

/* Rich content inside trip/blog pages */
.pack-details .content,
.trip-overview-content,
.tripinfo,
.blog-article-body {
	font-family: var(--body-font, 'Open Sans', sans-serif);
	font-size: var(--base-font-size, 16px);
	line-height: var(--line-height-body, 1.6);
	color: var(--text-color, #222222);
}

.pack-details .content h3,
.pack-details .content h4,
.trip-overview-content h3,
.trip-overview-content h4 {
	font-family: var(--heading-font, 'Poppins', sans-serif);
	color: var(--heading-color, #111111);
}

@media (max-width: 767px) {
	.trip-section-title,
	.trip-cost-section .trip-section-title,
	.departure-heading .trip-section-title {
		font-size: calc(var(--base-font-size, 16px) * 1.45);
	}

	.trip-section-title i,
	.trip-cost-section .trip-section-title i,
	.departure-heading .trip-section-title i {
		width: 30px;
		height: 30px;
		font-size: 15px;
	}

	h1 { font-size: calc(var(--heading-base-size, 2.5rem) * 0.85); }
}

/* Uniform layout skin for core listing/content pages */
.new-page,
.com-back {
	background: var(--topbar-bg, #d2dfa8);
	border-bottom: 1px solid color-mix(in srgb, var(--topbar-border, #9ba776) 55%, white);
}

/* Legacy style.css adds margin-bottom: 25px on .new-page — leaves a white band before hero banners */
.new-page:has(+ .taxonomy-hero-banner) {
	margin-bottom: 0;
}

.taxonomy-hero-banner {
	position: relative;
	width: 100%;
	overflow: hidden;
	margin: 0;
	background: #1a2e3b;
	min-height: clamp(220px, 34vw, 520px);
	aspect-ratio: 21 / 9;
}

.taxonomy-hero-banner--fallback {
	background: linear-gradient(135deg, #1a3a52 0%, #2d6a4f 55%, #40916c 100%);
	min-height: clamp(180px, 30vw, 360px);
	aspect-ratio: auto;
}

.taxonomy-hero-banner__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.taxonomy-hero-banner__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgba(8, 18, 28, 0.18) 0%,
		rgba(8, 18, 28, 0.34) 48%,
		rgba(8, 18, 28, 0.62) 100%
	);
	pointer-events: none;
}

.taxonomy-hero-banner__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	padding: 0 0 clamp(18px, 3.5vw, 36px);
}

.taxonomy-hero-banner__title {
	margin: 0;
	color: #fff;
	font-size: clamp(1.45rem, 3.4vw, 2.75rem);
	font-weight: 800;
	line-height: 1.18;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

.region-page > .container,
.activity-page > .container {
	padding-top: clamp(18px, 2.5vw, 28px);
}

.taxonomy-intro-card img,
.region-page .taxonomy-intro-card img,
.activity-page .taxonomy-intro-card img,
.destination-content img,
.page-content img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	margin: 1rem auto;
	border-radius: var(--card-inner-radius, 8px);
}

.taxonomy-intro-card figure,
.region-page .taxonomy-intro-card figure,
.activity-page .taxonomy-intro-card figure {
	max-width: 100%;
	margin: 1rem 0;
}

.taxonomy-intro-card figure img,
.region-page .taxonomy-intro-card figure img,
.activity-page .taxonomy-intro-card figure img {
	margin: 0;
}

@media (max-width: 767.98px) {
	.taxonomy-hero-banner {
		aspect-ratio: 16 / 10;
		min-height: clamp(200px, 52vw, 300px);
	}

	.taxonomy-hero-banner__content {
		padding-bottom: 16px;
	}

	.taxonomy-hero-banner__title {
		font-size: clamp(1.3rem, 6.2vw, 1.85rem);
	}

	.region-page .region-trips-section {
		margin-top: 8px;
	}
}

@media (max-width: 575.98px) {
	.taxonomy-hero-banner {
		aspect-ratio: 4 / 3;
		min-height: 200px;
	}
}

.new-page .com-back-1,
.com-back .com-back-1 {
	padding: 14px 0;
}
.new-page .com-back-1 ul,
.com-back .com-back-1 ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.new-page .com-back-1 li,
.com-back .com-back-1 li,
.new-page .com-back-1 li a,
.com-back .com-back-1 li a,
.new-page .com-back-1 li p,
.com-back .com-back-1 li p,
.new-page .com-back-1 li span,
.com-back .com-back-1 li span {
	color: #2f3a22;
	font-size: 13px;
}
.new-page .com-back-1 a,
.com-back .com-back-1 a {
	color: var(--nav-green, #219b03);
	font-weight: 600;
	text-decoration: none;
}
.new-page .com-back-1 a:hover,
.com-back .com-back-1 a:hover {
	color: var(--brand-green-dark, #1a7f04);
}
.inner-title{
	margin: 10px 0 18px;
	color: var(--heading-color, #111111);
	font-size: clamp(1.75rem, 2.4vw, 2.4rem);
	font-weight: 800;
	line-height: 1.22;
}
article > .container > .row > [class*='col-'] > .row > [class*='col-'] > .card,
.destination-content-wrap .destination-activity-card,
.blog-list-card{
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #e0e9ef;
	box-shadow: 0 8px 24px rgba(15, 45, 66, 0.08);
	background: #fff;
}
article .card .card-body{
	padding: 14px;
}
article .card .card-body h5{
	margin: 0;
	font-size: 1.04rem;
	font-weight: 700;
	line-height: 1.35;
}
article .card .card-body h5 a{
	color: var(--heading-color, #111111);
	text-decoration: none;
}
article .card .card-body h5 a:hover{
	color: var(--link-color, #0b71b8);
}
article .card img{
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}
.about-us .content,
.dlist,
.destination-content,
.taxonomy-intro-card {
	background: #fff;
	border: 1px solid #e2ebf1;
	border-radius: 14px;
	padding: 22px;
	box-shadow: 0 8px 24px rgba(15, 45, 66, 0.06);
}

.activity-page .activity-section .packages,
.region-page .packages,
article .packages.row-grid {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

.activity-page .container:not(.dlist),
.region-page .container:not(.dlist) {
	padding-left: 15px;
	padding-right: 15px;
}
.about-us .content h1{
	margin-top: 0;
	margin-bottom: 14px;
	font-size: clamp(1.65rem, 2.2vw, 2.2rem);
	color: var(--heading-color, #111111);
}
.about-us .content p,
.dlist p,
.destination-description p{
	color: var(--text-color, #222222);
	line-height: 1.72;
}
.blog.my-blog{
	background: #f7fbfd;
}
.blog.my-blog .content{
	background: #fff;
	border: 1px solid #e4edf3;
	border-radius: 12px;
	overflow: hidden;
	padding: 0;
}
.blog.my-blog .content:hover{
	box-shadow: 0 14px 28px rgba(33, 155, 3, 0.12);
}
.blog.my-blog .content.blog-list-card{
	border-color: #e3e9ee;
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba(17, 24, 39, 0.06);
}
.blog.my-blog .content.blog-list-card:hover{
	box-shadow: 0 14px 28px rgba(33, 155, 3, 0.12);
}
.blog.my-blog .content:not(.blog-list-card):hover img{
	filter: none;
	transform: none;
}
@media (max-width: 767.98px){
	.inner-title{
		margin-top: 8px;
		margin-bottom: 14px;
	}
	.about-us .content,
	.dlist,
	.destination-content,
	.taxonomy-intro-card {
		padding: 16px;
		border-radius: 12px;
	}
	article .card img{
		height: 200px;
	}
}

/* Cookie consent banner */
.cookie-consent{
	position: fixed;
	bottom: 30px;
	left: 30px;
	z-index: 10060;
	width: min(320px, calc(100vw - 30px));
	padding: 22px 22px 18px;
	border-radius: 18px;
	background: #1b293a;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
	color: #fff;
}
.cookie-consent__close-wrap{
	position: relative;
	margin-bottom: 10px;
}
.cookie-consent__close{
	position: absolute;
	top: -14px;
	right: -10px;
	width: 28px;
	height: 28px;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
	font-size: 12px;
	line-height: 1;
}
.cookie-consent__close:hover{
	background: rgba(255, 255, 255, 0.12);
}
.cookie-consent__text{
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.55;
	color: #fff;
}
.cookie-consent__text a{
	color: var(--accent-blue, #0b71b8);
	font-weight: 700;
	text-decoration: underline;
}
.cookie-consent__text a:hover{
	color: var(--accent-blue-dark, #085a92);
}
.cookie-consent__actions{
	display: flex;
	justify-content: flex-start;
}
.cookie-consent__accept{
	border: 1px solid #fff;
	border-radius: 25px;
	background: #219b03;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	padding: 8px 20px;
	cursor: pointer;
}
.cookie-consent__accept:hover{
	background: #1a7d02;
	border-color: #fff;
}
@media (max-width: 767.98px){
	.cookie-consent{
		left: 15px;
		right: 15px;
		bottom: 15px;
		width: auto;
	}
}

/* Trip detail page — sticky section nav + sidebar (environmental legacy layout) */
#tripStickyNavAnchor {
	height: 0;
	width: 100%;
}

#tripStickyNav {
	position: fixed !important;
	left: 0;
	top: -1000px;
	width: 100%;
	padding: 0 24px;
	background: #fff !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 998;
	transition: top 0.25s ease, opacity 0.2s ease;
	box-shadow: rgb(0 66 133 / 25%) 0 4px 4px 0;
}

#tripStickyNav.is-stuck {
	top: var(--trip-sticky-top, 0);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

#tripStickyNav .trip-page-nav-container {
	display: flex;
	align-items: stretch;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

#tripStickyNav .navbar-nav {
	display: flex;
	flex: 1 1 auto;
	flex-direction: row;
	flex-wrap: nowrap;
	margin: 0;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
}

#tripStickyNav .navbar-nav::-webkit-scrollbar {
	display: none;
}

#tripStickyNav .nav-item {
	display: flex;
	flex: 0 0 auto;
}

#tripStickyNav .nav-link {
	align-items: center;
	border-radius: 25px;
	color: #333 !important;
	display: flex;
	font-size: 15px;
	font-weight: 700;
	gap: 8px;
	margin: 7px 0;
	min-height: 44px;
	padding: 6px 15px;
	white-space: nowrap;
}

#tripStickyNav .nav-link i {
	color: var(--primary-color, #219b03);
	font-size: 14px;
}

#tripStickyNav .nav-link:hover,
#tripStickyNav .nav-link.active {
	background: var(--primary-color, #219b03) !important;
	color: #fff !important;
}

#tripStickyNav .nav-link:hover i,
#tripStickyNav .nav-link.active i {
	color: #fff;
}

body.trip-page-has-sticky-nav #overview,
body.trip-page-has-sticky-nav #itinerary,
body.trip-page-has-sticky-nav #cost,
body.trip-page-has-sticky-nav #map,
body.trip-page-has-sticky-nav #altitude-chart,
body.trip-page-has-sticky-nav #dates,
body.trip-page-has-sticky-nav #faqs,
body.trip-page-has-sticky-nav #info,
body.trip-page-has-sticky-nav #trip-reviews,
body.trip-page-has-sticky-nav #trip-gallery {
	scroll-margin-top: var(--trip-anchor-offset, 120px);
}

.pack-details .trip-page-title {
	margin-bottom: 12px;
}

.pack-details .page-image,
.pack-details .trip-featured-image {
	margin: 0 0 20px;
	padding: 0;
	max-height: none;
	overflow: hidden;
	border: 1px solid #e2ebf1;
	border-radius: 14px;
	background: #f4f7fa;
	box-shadow: 0 8px 24px rgba(15, 45, 66, 0.08);
	aspect-ratio: 16 / 9;
	position: relative;
}

.pack-details .page-image img,
.pack-details .trip-featured-image img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	object-position: center center;
	border: 0;
	border-radius: 0;
	display: block;
}

.pack-details .content #overview .rev {
	margin-bottom: 12px;
}

.pack-details .trip-booking-sidebar .side-section,
.pack-details .side-section {
	margin-left: 0;
	margin-bottom: 30px;
	border-radius: 10px;
}

@media (min-width: 992px) {
	.pack-details .trip-booking-sidebar {
		position: sticky;
		top: var(--trip-sidebar-sticky-top, 70px);
		align-self: flex-start;
	}

	.pack-details .trip-booking-sidebar .side-section {
		position: static;
		margin-bottom: 0;
	}
}

.pack-details .side-section .content {
	border: 1px solid #ccc;
	padding: 0;
	margin-bottom: 20px;
	background: #fff;
}

.pack-details .side-section .content .tosp-sect {
	padding: 15px 20px;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.pack-details .side-section .content .cont .days {
	font-size: 16px;
	font-weight: 600;
	color: #111;
}

.pack-details .side-section .content .cont .cost-amount {
	font-size: 24px;
	font-weight: 600;
	color: #111;
	line-height: 1.2;
}

.pack-details .side-section .content .cont .cost-on-request {
	font-size: 15px;
	font-weight: 600;
	color: #333;
	line-height: 1.35;
	max-width: 11rem;
}

.pack-details .side-section .content .cont del {
	color: #de2d2d;
	margin-right: 4px;
}

.pack-details .side-section .content .cont i,
.pack-details .side-section .trip-sidebar-benefits i {
	color: #e67300;
}

.pack-details .side-section .content .cont a {
	font-size: 13px;
	font-weight: 400;
	color: #0391c7 !important;
	text-decoration: none;
}

.pack-details .side-section .content .tosp-sect .contl .trip-price-offer-badge {
	display: inline-block;
	margin-top: 8px;
	padding: 3px 8px;
	background: #de2d2d;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	border-radius: 4px;
}

.pack-details .side-section .trip-sidebar-benefits {
	list-style: none;
	margin: 0;
	padding: 0 20px 12px;
}

.pack-details .side-section .trip-sidebar-benefits li {
	margin: 5px 0;
	font-size: 14px;
	color: #111;
}

.pack-details .side-section .trip-sidebar-benefits li i {
	margin-right: 5px;
}

.pack-details .side-section .down-section {
	padding: 15px 20px;
}

.pack-details .side-section .bookingmenu {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 10px;
	width: 100%;
}

.pack-details .side-section .book-trip,
.pack-details .side-section .trip-enquiry {
	display: block;
	flex: 1 1 0;
	min-width: 0;
	padding: 0;
	border-radius: 0;
	background: none !important;
	background-image: none !important;
}

.pack-details .side-section .book-trip a,
.pack-details .side-section .trip-enquiry a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 10px 12px;
	border-radius: 18px;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}

.pack-details .side-section .book-trip a {
	background: linear-gradient(to right, #0b71b8, #1a8fd4) !important;
}

.pack-details .side-section .trip-enquiry a {
	background: linear-gradient(to right, #219b03, #68cd03) !important;
}

.pack-details .side-section .book-trip a i,
.pack-details .side-section .trip-enquiry a i {
	margin: 0;
	font-size: 12px;
	flex-shrink: 0;
}

.pack-details .side-section .book-trip a:hover,
.pack-details .side-section .trip-enquiry a:hover {
	color: #fff !important;
	opacity: 0.92;
}

.pack-details .side-section .down-section .inquiry {
	display: block;
	text-align: center;
	margin-bottom: 12px;
	padding: 10px 16px;
	border-radius: 6px;
	background: #f6a106;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}

/* Trip sidebar — Talk to our experts widget */
.pack-details .side-section .trip-expert-widget {
	margin-top: 0;
	padding: 10px;
	border: 1px solid #c1c1c1;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
}

.trip-detail-booking .trip-expert-widget {
	margin-top: 18px;
	padding: 10px;
	border: 1px solid #c1c1c1;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
}

.trip-expert-widget__title {
	margin: 0 0 10px;
	color: #111;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.trip-expert-widget__photo {
	overflow: hidden;
	margin: 0 0 8px;
	border-bottom: 1px solid #c1c1c1;
	padding-bottom: 8px;
}

.trip-expert-widget__photo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: cover;
	object-position: center top;
	clip-path: none;
}

.trip-expert-widget__contact-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.trip-expert-widget__channels {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.trip-expert-widget__divider {
	width: 1px;
	height: 22px;
	background: #ccc;
}

.trip-expert-widget__channel {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	text-decoration: none !important;
}

.trip-expert-widget__channel--whatsapp {
	background: #25d366;
	color: #fff !important;
}

.trip-expert-widget__channel--viber {
	background: #7360f2;
	color: #fff !important;
}

.trip-expert-widget__channel--email {
	background: #0b71b8;
	color: #fff !important;
}

.trip-expert-widget__phone {
	color: #7360f2 !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
	word-break: break-word;
}

.trip-expert-widget__email {
	color: #0b71b8 !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none !important;
	word-break: break-word;
}

.trip-expert-widget__quick-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #e5e5e5;
}

.trip-expert-widget__quick-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: #efefef;
	color: #219b03 !important;
	font-size: 16px;
	text-decoration: none !important;
}

.trip-expert-widget__quick-action--viber,
.trip-expert-widget__quick-action--whatsapp {
	color: #219b03 !important;
}

.trip-expert-widget__quick-action:hover {
	background: #219b03;
	color: #fff !important;
}

.pack-details .icon-all-top {
	position: relative;
	margin: 20px 0 30px;
	padding: 30px;
	padding-top: 0 !important;
	border: 1px solid #e5e5e5;
}

.pack-details .icon-all-top h3 {
	position: absolute;
	top: -11px;
	left: 30px;
	margin: 0 !important;
	padding: 0 10px !important;
	font-size: 16px !important;
	font-weight: 900;
	color: #707070;
	background: #fff;
}

.pack-details .icon-all-top .all-icon-detail {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.pack-details .icon-all-top .all-icon-detail .content {
	flex: 0 0 33.33%;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 30px 0 0 !important;
}

.pack-details .icon-all-top .all-icon-detail .content i {
	font-size: 2rem;
	color: var(--primary-color, #219b03);
	margin-right: 12px;
	flex-shrink: 0;
}

.pack-details .icon-all-top .all-icon-detail .content p {
	margin-bottom: 0;
	font-size: 13px;
	color: #888;
	line-height: 1.3;
}

.pack-details .icon-all-top .all-icon-detail .content h6 {
	margin-bottom: 0;
	font-weight: 600;
	color: #333;
}

.pack-details .itinerary-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}

.pack-details .content h2 .all-expan,
.pack-details .content h2 .close-expan,
.pack-details .itinerary-title .all-expan,
.pack-details .itinerary-title .close-expan,
.trip-faq-expand-all,
.trip-faq-collapse-all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 15px;
	border: 0;
	border-radius: 21px;
	appearance: none;
	-webkit-appearance: none;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: 0.4s ease-in-out;
	color: #fff;
}

.pack-details .content h2 .all-expan,
.pack-details .itinerary-title .all-expan,
.trip-faq-expand-all {
	background-image: linear-gradient(to right, var(--nav-green, #219b03), var(--brand-green-light, #68cd03));
}

.pack-details .content h2 .close-expan,
.pack-details .itinerary-title .close-expan,
.trip-faq-collapse-all {
	background-image: linear-gradient(to right, var(--brand-green-dark, #197802), var(--nav-green, #219b03));
}

.pack-details .itinerary-title .close-expan,
.pack-details .content h2 .close-expan,
.trip-faq-collapse-all[hidden] {
	display: none;
}

.trip-faq-expand-all[hidden] {
	display: none !important;
}

.pack-details .content h2 .close-expan i,
.pack-details .itinerary-title .close-expan i,
.trip-faq-collapse-all i {
	transform: rotate(45deg);
}

/* Itinerary day meta — food, accommodation, elevation */
#itinerary .icon-section,
.pack-details .content .icon-section {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	padding: 14px 0;
	margin-bottom: 14px;
	border-radius: 8px;
	background: #f7faf6;
}

#itinerary .icon-section .sec1,
.pack-details .content .icon-section .sec1 {
	flex: 1 1 0;
	min-width: 120px;
	padding: 0 15px;
	text-align: left;
	border-right: 1px solid #dce5d8;
}

#itinerary .icon-section .sec1:last-child,
.pack-details .content .icon-section .sec1:last-child {
	border-right: none;
}

#itinerary .icon-section .sec1 span,
.pack-details .content .icon-section .sec1 span {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	color: #111111;
}

#itinerary .icon-section .sec1 span i,
.pack-details .content .icon-section .sec1 span i {
	color: var(--nav-green, #219b03);
	font-size: 14px;
}

#itinerary .icon-section .itinerary-meta-value,
.pack-details .content .icon-section .itinerary-meta-value,
.itinerary-meta-value {
	margin: 6px 0 0 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--accent-blue, #0b71b8);
}

/* Trip FAQs — stacked category groups */
.trip-faq-groups {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.trip-faq-panel {
	border: 1px solid #e3e9ee;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(17, 24, 39, 0.05);
}

.trip-faq-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 16px;
	padding: 18px 20px 14px;
	border-bottom: 1px solid #edf2f6;
}

.trip-faq-panel__title {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: var(--heading-font, 'Poppins', sans-serif);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--heading-color, #111111);
}

.trip-faq-panel__title i {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: color-mix(in srgb, var(--nav-green, #219b03) 12%, white);
	color: var(--nav-green, #219b03);
	font-size: 16px;
	text-align: center;
}

.trip-faq-panel__actions {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
	margin-left: auto;
}

.trip-faq-collapse-all[hidden],
.trip-faq-expand-all[hidden] {
	display: none !important;
}

.trip-faq-accordion {
	border-radius: 0;
}

.trip-faq-item {
	border: none;
	border-bottom: 1px solid #edf2f6;
	border-radius: 0;
}

.trip-faq-item:last-child {
	border-bottom: none;
}

.trip-faq-accordion .accordion-button {
	padding: 16px 20px;
	font-family: var(--heading-font, 'Poppins', sans-serif);
	font-size: 1rem;
	font-weight: 700;
	color: var(--heading-color, #111111);
	background: #fff;
	box-shadow: none;
}

.trip-faq-accordion .accordion-button:not(.collapsed) {
	color: var(--nav-green, #219b03);
	background: #f4faf1;
	box-shadow: none;
}

.trip-faq-accordion .accordion-button:focus {
	box-shadow: none;
	border-color: transparent;
}

.trip-faq-accordion .accordion-button::after {
	width: 1rem;
	height: 1rem;
	background-size: 1rem;
}

.trip-faq-answer {
	padding: 0 20px 18px;
	color: var(--text-muted, #444444);
	font-size: var(--base-font-size, 16px);
	line-height: 1.65;
}

.trip-faq-answer p {
	margin-bottom: 0.75rem;
}

.trip-faq-answer p:last-child {
	margin-bottom: 0;
}

@media (max-width: 575.98px) {
	.trip-faq-panel__head {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.trip-faq-panel__actions {
		width: 100%;
		margin-left: 0;
	}
}

.lg-only {
	display: block;
}

.sm-only {
	display: none;
}

@media (max-width: 991.98px) {
	#tripStickyNav {
		padding: 0 10px;
	}

	#tripStickyNav .nav-link span {
		display: none;
	}

	#tripStickyNav .nav-link {
		padding: 8px 12px;
		min-height: 40px;
	}

	.pack-details .icon-all-top .all-icon-detail .content {
		flex: 0 0 50%;
	}

	.lg-only {
		display: none;
	}

	.sm-only {
		display: block;
	}

	.pack-details .trip-booking-sidebar .side-section {
		position: static;
	}
}

@media (max-width: 575.98px) {
	.pack-details .icon-all-top .all-icon-detail .content {
		flex: 0 0 100%;
	}
}

/* Trip image gallery — environmental legacy 3-column grid */
.pack-details .gallery-list {
	margin-top: 8px;
}

.pack-details .gallery-list h2 {
	font-family: var(--heading-font, 'Poppins', sans-serif);
	font-size: 1.35rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--heading-color, #111111);
	margin-bottom: 16px;
}

.pack-details .gallery-flex {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -5px 24px;
}

.pack-details .gallery-flex .popup {
	width: calc(33.333% - 10px);
	margin: 5px;
	box-sizing: border-box;
}

.pack-details .gallery-flex .trip-gallery-item {
	display: block;
	line-height: 0;
}

.pack-details .gallery-flex .img-thumbnail {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	padding: 0;
	border: 1px solid #dee2e6;
	border-radius: 0;
	background: #fff;
}

.pack-details .gallery-flex .trip-gallery-item:hover .img-thumbnail {
	border-color: var(--primary-color, #219b03);
}

@media (max-width: 767.98px) {
	.pack-details .gallery-flex .popup {
		width: calc(50% - 10px);
	}
}

@media (max-width: 479.98px) {
	.pack-details .gallery-flex .popup {
		width: calc(100% - 10px);
	}
}

/* Trip booking sidebar — price widget with group tiers */
.pack-details .trip-booking-sidebar .trip-booking-widget {
	position: sticky;
	top: var(--trip-sidebar-sticky-top, 70px);
	background: #fff;
	border: 1px solid #e3e8ee;
	border-radius: 12px;
	box-shadow: 0 10px 28px rgba(12, 60, 137, 0.08);
	overflow: hidden;
}

.pack-details .trip-booking-widget .booking-pkg-tabs {
	border-bottom: 1px solid #e3e8ee;
	padding: 0 12px;
	gap: 4px;
}

.pack-details .trip-booking-widget .booking-pkg-tabs .nav-link {
	border: 0;
	border-radius: 8px 8px 0 0;
	color: var(--text-color, #222222);
	font-size: 13px;
	font-weight: 600;
	padding: 10px 12px;
}

.pack-details .trip-booking-widget .booking-pkg-tabs .nav-link.active {
	background: #f4f9fc;
	color: var(--link-color, #0b71b8);
}

.pack-details .trip-booking-widget .booking-widget-body {
	padding: 18px 16px 16px;
}

.pack-details .trip-booking-widget .booking-kicker {
	display: block;
	color: #5f6b7a;
	font-size: 14px;
	margin-bottom: 4px;
}

.pack-details .trip-booking-widget .booking-price-value {
	margin: 0;
	color: var(--text-color, #222222);
	font-size: 15px;
	line-height: 1.2;
}

.pack-details .trip-booking-widget .booking-pp-amount {
	color: #219b03;
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
}

.pack-details .trip-booking-widget .booking-price-value small {
	color: #6b7785;
	font-size: 14px;
	font-weight: 600;
}

/* Unified group rates accordion — sidebar, costs tab, environmental widget */
.trip-group-rates-panel {
	margin: 14px 0 0;
	border: 1px solid #dfe7ef;
	border-radius: 10px;
	background: #f9fbfd;
	overflow: hidden;
}

.trip-group-rates-panel--cost-tab {
	margin-top: 20px;
}

.trip-group-rates-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 12px 14px;
	border: 0;
	background: #fff;
	color: var(--text-color, #222222);
	font-size: 15px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}

.trip-group-rates-icon {
	flex-shrink: 0;
	color: var(--nav-green, #219b03);
	font-size: 14px;
}

.trip-group-rates-toggle[aria-expanded="true"] .trip-group-rates-icon::before {
	content: "\f068";
}

.trip-group-rates-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #e3e8ee;
	background: #fff;
}

.trip-group-rates-table-wrap {
	border-top: 1px solid #e3e8ee;
	background: #fff;
	overflow-x: auto;
}

.trip-group-rates-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 14px;
}

.trip-group-rates-table thead th {
	padding: 10px 14px;
	border-bottom: 1px solid #e3e8ee;
	background: #f4f9fc;
	color: #12334a;
	font-size: 13px;
	font-weight: 700;
	text-align: left;
}

.trip-group-rates-table tbody td {
	padding: 10px 14px;
	border-top: 1px solid #edf2f7;
	color: #334155;
}

.trip-group-rates-table tbody td:last-child {
	font-weight: 700;
	color: var(--text-color, #222222);
	text-align: right;
	white-space: nowrap;
}

.trip-group-rates-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	border-top: 1px solid #edf2f7;
	color: #334155;
	font-size: 14px;
}

.trip-group-rates-list li:first-child {
	border-top: 0;
}

.trip-group-rates-list li span:last-child {
	font-weight: 700;
	color: var(--text-color, #222222);
	white-space: nowrap;
}

.pack-details .side-section .trip-group-rates-panel-wrap {
	padding: 0 20px 12px;
}

.pack-details .trip-booking-widget .trip-group-rates-panel {
	margin: 14px 0 16px;
}

/* Fixed departures — trip detail page */
.departure-section {
	margin-top: 1.5rem;
}

.departure-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.departure-heading p {
	margin: 0;
	color: #5d6d78;
	font-size: 15px;
}

.departure-year-filter {
	display: flex;
	align-items: center;
	gap: 10px;
}

.departure-year-filter label {
	margin: 0;
	color: #334155;
	font-size: 14px;
	font-weight: 600;
}

.departure-year-filter .form-select {
	min-width: 110px;
	border-color: #d7e2ea;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
}

.departure-month-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
	border-bottom: 0;
}

.departure-month-tabs .nav-link {
	padding: 8px 14px;
	border: 1px solid #d7e2ea;
	border-radius: 999px;
	background: #fff;
	color: #334155;
	font-size: 13px;
	font-weight: 600;
}

.departure-month-tabs .nav-link.active,
.departure-month-tabs .nav-link:hover {
	border-color: var(--nav-green, #219b03);
	background: rgba(33, 155, 3, 0.08);
	color: var(--nav-green, #219b03);
}

.departure-table-wrap {
	border: 1px solid #e0e9ef;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 22px rgba(15, 45, 66, 0.06);
}

.departure-table {
	margin: 0;
}

.departure-table thead th {
	padding: 12px 14px;
	border-bottom: 1px solid #e3e8ee;
	background: #f4f9fc;
	color: #12334a;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.departure-table tbody td {
	padding: 12px 14px;
	border-top: 1px solid #edf2f7;
	color: #334155;
	font-size: 14px;
	vertical-align: middle;
}

.departure-status {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

.departure-status.available {
	background: rgba(33, 155, 3, 0.12);
	color: var(--nav-green, #219b03);
}

.departure-status.unavailable {
	background: rgba(222, 45, 45, 0.12);
	color: #c62828;
}

.departure-book-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--link-color, #0b71b8);
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}

.departure-book-btn:hover {
	background: var(--accent-blue-dark, #085a92);
	color: #fff !important;
}

@media (max-width: 767.98px) {
	.departure-table thead {
		display: none;
	}

	.departure-table tbody tr {
		display: block;
		padding: 12px 14px;
		border-top: 1px solid #edf2f7;
	}

	.departure-table tbody tr:first-child {
		border-top: 0;
	}

	.departure-table tbody td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		padding: 6px 0;
		border: 0;
	}

	.departure-table tbody td::before {
		content: attr(data-label);
		color: #64748b;
		font-weight: 600;
	}

	.departure-table tbody td[data-label="Action"] {
		justify-content: flex-start;
		padding-top: 10px;
	}

	.departure-table tbody td[data-label="Action"]::before {
		display: none;
	}
}

.pack-details .trip-booking-widget .booking-field {
	margin-bottom: 14px;
}

.pack-details .trip-booking-widget .booking-field-label {
	display: block;
	margin-bottom: 6px;
	color: var(--text-color, #222222);
	font-size: 14px;
	font-weight: 700;
}

.pack-details .trip-booking-widget .booking-date-wrap {
	position: relative;
}

.pack-details .trip-booking-widget .booking-date-wrap .form-control,
.pack-details .trip-booking-widget .booking-date-input,
.pack-details .trip-booking-widget .booking-date-select {
	width: 100%;
	min-height: 44px;
	border: 1px solid #219b03;
	border-radius: 8px;
	padding-right: 44px;
	font-size: 14px;
}

.pack-details .trip-booking-widget .booking-date-input::-webkit-calendar-picker-indicator {
	display: none;
	-webkit-appearance: none;
}

.pack-details .trip-booking-widget .booking-date-icon {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #219b03;
	cursor: pointer;
	z-index: 2;
}

.pack-details .trip-booking-widget .booking-date-icon:hover {
	background: rgba(33, 155, 3, 0.1);
}

.pack-details .trip-booking-widget .booking-counter {
	display: grid;
	grid-template-columns: 44px 1fr 44px;
	border: 1px solid #219b03;
	border-radius: 8px;
	overflow: hidden;
	min-height: 44px;
}

.pack-details .trip-booking-widget .booking-qty-btn {
	border: 0;
	background: #f3f6f9;
	color: var(--text-color, #222222);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.pack-details .trip-booking-widget .booking-qty-input {
	border: 0;
	background: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	color: var(--text-color, #222222);
}

.pack-details .trip-booking-widget .booking-total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 16px 0;
	padding-top: 14px;
	border-top: 1px solid #e3e8ee;
	color: var(--text-color, #222222);
	font-size: 16px;
	font-weight: 700;
}

.pack-details .trip-booking-widget .booking-total-amount {
	font-size: 22px;
}

.pack-details .trip-booking-widget .booking-actions {
	display: grid;
	gap: 10px;
}

.pack-details .trip-booking-widget .btn-booking {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 16px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	text-transform: uppercase;
}

.pack-details .trip-booking-widget .btn-booking-primary {
	background: linear-gradient(to right, #219b03, #68cd03);
	color: #fff !important;
	border: 0;
}

.pack-details .trip-booking-widget .btn-booking-secondary {
	background: #0b71b8;
	color: #fff !important;
	border: 0;
}

.pack-details .trip-booking-widget .booking-rating-foot {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #e3e8ee;
	text-align: center;
	font-size: 14px;
}

.pack-details .trip-booking-widget .booking-rating-foot a {
	color: var(--link-color, #0b71b8);
	font-weight: 700;
	text-decoration: none;
}

.pack-details .trip-booking-widget .booking-rating-foot a:hover {
	color: var(--nav-green, #219b03);
	text-decoration: underline;
}

@media (max-width: 991.98px) {
	.pack-details .trip-booking-sidebar .trip-booking-widget {
		position: static;
		margin-bottom: 20px;
	}
}

/* Homepage: remove white strip between green nav and hero slider */
#all-my-navs.navigation {
	position: sticky;
	top: 0;
	z-index: 999;
	margin: 0;
	padding: 0;
	background: transparent;
}

#all-my-navs.is-main-nav-stuck .top-header {
	display: none !important;
}

#all-my-navs .navbar.navbar-expand-lg,
#all-my-navs .navbar .container,
#all-my-navs .navbar .navbar-collapse,
#all-my-navs .navbar .navbar-nav {
	margin-bottom: 0 !important;
}

@media (min-width: 992px) {
	#all-my-navs .navbar .main-nav-list {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
}

.banner-relative {
	margin: 0 !important;
	padding: 0 !important;
}

.my-slider-ban {
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}

.my-slider-ban .slick-slider,
.my-slider-ban .slick-list,
.my-slider-ban .slick-track,
.my-slider-ban .slick-slide,
.my-slider-ban .my-ban {
	margin: 0;
	padding: 0;
}

.my-slider-ban .my-ban img {
	display: block;
	width: 100%;
	margin: 0;
	vertical-align: top;
}

/* =============================================================================
   Layout finish — desktop + mobile polish
   ============================================================================= */

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body.mobile-nav-open,
body.menu-open {
	overflow: hidden;
}

body {
	overflow-x: hidden;
}

img,
video,
iframe {
	max-width: 100%;
}

/* Restore Bootstrap columns broken by legacy style.css `.row > * { flex: 0 0 100% }` */
@media (max-width: 991.98px) {
	.row > [class*='col-'] {
		flex: 0 0 auto !important;
	}
}

/* --- Header: desktop --- */
@media (min-width: 992px) {
	#all-my-navs .top-header {
		padding: 8px 0;
		background: #fff;
		border-bottom: 1px solid #e8eef2;
	}

	#all-my-navs .top-header .row {
		align-items: center;
	}

	#all-my-navs .navbar.navbar-expand-lg {
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	}

	.navigation .navbar-light .navbar-nav .nav-link {
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.02em;
		padding: 12px 8px !important;
		color: #fff !important;
	}

	.navigation .navbar-light .navbar-nav .nav-item:hover .nav-link,
	.navigation .navbar-light .navbar-nav .nav-link:focus {
		background: rgba(0, 0, 0, 0.12);
		border-radius: 4px;
	}
}

/* --- Header: mobile sticky bar --- */
@media (max-width: 991.98px) {
	#snw {
		position: sticky;
		top: 0;
		z-index: 1000;
		background: #fff;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	}

	.small-nav-wraper .small-nv-frm {
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	}

	body {
		padding-bottom: 56px;
	}
}

/* --- Homepage hero slider --- */
.my-slider-ban .hero-slide-title,
.my-slider-ban h1 {
	font-size: clamp(1.35rem, 3.2vw, 2.75rem);
	font-weight: 800;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
	margin: 0 0 16px;
	line-height: 1.2;
}

.my-slider-ban .my-ban .ban-overlay h2 {
	font-size: clamp(0.85rem, 1.6vw, 1.15rem);
}

.my-slider-ban img {
	height: clamp(220px, 42vw, 700px);
	object-fit: cover;
}

.my-slider-ban .my-ban .ban-overlay .ban-link .slider-cta-btn {
	min-height: 44px;
	padding: 10px 22px;
	border-radius: 4px;
}

@media (max-width: 767.98px) {
	.my-slider-ban .my-ban .ban-overlay {
		width: 92%;
	}

	.my-slider-ban .slick-prev,
	.my-slider-ban .slick-next {
		width: 34px;
		height: 34px;
		z-index: 2;
	}
}

/* --- Welcome + home sections --- */
.welcome {
	padding: 40px 0;
}

.welcome .title {
	text-align: center;
	margin-bottom: 20px;
}

.welcome .title img {
	max-height: 72px;
	width: auto;
	margin-bottom: 12px;
}

.welcome .he1 h1 {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.welcome .he1 h3 {
	font-size: clamp(1rem, 2vw, 1.25rem);
	font-weight: 500;
	color: #466071;
}

.packages .title {
	text-align: center;
	margin-bottom: 24px;
}

.packages .title h2 {
	font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.packages .package img,
.package .package-img img {
	width: 100%;
	height: 100% !important;
	min-height: 250px;
	object-fit: cover;
}

@media (max-width: 767px) {
	.package .package-img,
	.package .package-img img {
		min-height: 220px;
	}
}

@media (max-width: 575.98px) {
	.act-icons .row > .col {
		flex: 0 0 50%;
		max-width: 50%;
	}
}

/* --- Trip detail page --- */
.pack-details .trippage {
	padding-top: 8px;
}

.pack-details .trip-page-title {
	font-size: clamp(1.35rem, 2.8vw, 2rem);
	margin-bottom: 12px;
	color: var(--heading-color, #111111);
}

@media (max-width: 767.98px) {
	.pack-details .trip-featured-image {
		aspect-ratio: 4 / 3;
		margin-bottom: 16px;
		border-radius: 12px;
	}
}

.trip-booking-sidebar.is-mobile-inline {
	width: 100%;
	max-width: 100%;
	margin: 16px 0 24px;
	padding: 0;
}

.trip-booking-sidebar.is-mobile-inline .trip-booking-widget,
.trip-booking-sidebar.is-mobile-inline .sidebar-price-card {
	position: static !important;
	top: auto !important;
}

.mobile-trip-sidebar-anchor {
	display: block;
	height: 0;
}

@media (min-width: 992px) {
	.trip-details-layout {
		align-items: flex-start;
	}

	.pack-details .trip-booking-sidebar .trip-booking-widget {
		position: sticky;
		top: var(--trip-sidebar-sticky-top, 80px);
	}
}

@media (max-width: 991.98px) {
	.pack-details .trip-booking-sidebar:not(.is-mobile-inline) {
		margin-top: 24px;
	}

	#tripStickyNav.is-stuck {
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
	}
}

/* --- Listing / filter pages --- */
.trips-listing-page {
	padding-bottom: 32px;
}

.trips-listing-page__meta {
	font-size: 0.9rem;
}

@media (max-width: 991.98px) {
	.trips-listing-page .col-lg-3 {
		margin-bottom: 16px;
	}
}

/* --- Contact page --- */
.contact-hero {
	position: relative;
	overflow: hidden;
	padding: 28px 0 36px;
	background: linear-gradient(135deg, #1a7f04 0%, #0b71b8 72%, #085a92 100%);
	color: #fff;
}

.contact-hero__pattern {
	position: absolute;
	inset: 0;
	opacity: 0.12;
	background-image:
		radial-gradient(circle at 20% 20%, #fff 0 2px, transparent 2px),
		radial-gradient(circle at 80% 70%, #fff 0 1px, transparent 1px);
	background-size: 48px 48px, 32px 32px;
	pointer-events: none;
}

.contact-hero__container {
	position: relative;
	z-index: 1;
}

.contact-hero__breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	font-size: 13px;
}

.contact-hero__breadcrumb li + li::before {
	content: "›";
	margin-right: 8px;
	opacity: 0.75;
}

.contact-hero__breadcrumb a {
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}

.contact-hero__breadcrumb a:hover {
	text-decoration: underline;
}

.contact-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.8fr);
	gap: 28px;
	align-items: center;
}

.contact-hero__eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.9;
}

.contact-hero__title {
	margin: 0 0 10px;
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	line-height: 1.15;
}

.contact-hero__company {
	margin: 0 0 10px;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	font-weight: 700;
	line-height: 1.35;
	color: #e8f8e3;
}

.contact-hero__tagline {
	margin: 0 0 12px;
	font-size: 1rem;
	font-weight: 500;
	opacity: 0.92;
}

.contact-hero__lead {
	margin: 0 0 20px;
	max-width: 52ch;
	font-size: 1rem;
	line-height: 1.6;
	opacity: 0.95;
}

.contact-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.contact-hero__action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	backdrop-filter: blur(4px);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.contact-hero__action:hover {
	background: rgba(255, 255, 255, 0.24);
	color: #fff;
	transform: translateY(-1px);
}

.contact-hero__action--whatsapp:hover {
	background: #25d366;
	border-color: #25d366;
}

.contact-hero__brand-card {
	display: flex;
	justify-content: center;
}

.contact-hero__brand-card-inner {
	width: 100%;
	max-width: 280px;
	padding: 24px 20px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	text-align: center;
	backdrop-filter: blur(8px);
	box-shadow: 0 18px 40px rgba(8, 35, 58, 0.22);
}

.contact-hero__brand-card-inner img {
	width: 96px;
	height: 96px;
	object-fit: contain;
	margin: 0 auto 14px;
	display: block;
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.15));
}

.contact-hero__brand-name {
	margin: 0 0 8px;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.4;
}

.contact-hero__brand-since {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.45;
	opacity: 0.88;
}

.contact-page {
	padding: 36px 0 56px;
	background: #f4f8fb;
}

.contact-page__main {
	margin-top: -18px;
}

.contact-info-card,
.contact-form-card,
.contact-page__map {
	border: 1px solid #e0e9ef;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(15, 45, 66, 0.08);
}

.contact-info-card,
.contact-form-card {
	padding: 24px;
	height: 100%;
}

.contact-info-card__head,
.contact-form-card__head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid #edf2f6;
}

.contact-info-card__icon,
.contact-form-card__icon {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #eaf6ea;
	color: #219b03;
	font-size: 18px;
}

.contact-form-card__icon {
	background: #eaf3fb;
	color: #0b71b8;
}

.contact-info-card__head h2,
.contact-form-card__head h2 {
	margin: 0 0 4px;
	font-size: 1.35rem;
	font-weight: 800;
	color: #12334a;
}

.contact-info-card__head p,
.contact-form-card__head p {
	margin: 0;
	color: #5d7383;
	font-size: 0.95rem;
	line-height: 1.5;
}

.contact-info-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-info-list__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid #edf2f6;
}

.contact-info-list__item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.contact-info-list__icon {
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f3f8fb;
	color: #0b71b8;
	font-size: 15px;
}

.contact-info-list__body strong {
	display: block;
	margin-bottom: 4px;
	color: #12334a;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.contact-info-list__body p {
	margin: 0 0 4px;
	color: #355062;
	font-size: 0.95rem;
	line-height: 1.5;
}

.contact-info-list__body p:last-child {
	margin-bottom: 0;
}

.contact-info-list__body a {
	color: #0b71b8;
	font-weight: 600;
	text-decoration: none;
}

.contact-info-list__body a:hover {
	text-decoration: underline;
}

.contact-info-card__social {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #edf2f6;
}

.contact-info-card__social strong {
	display: block;
	margin-bottom: 10px;
	color: #12334a;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.contact-info-card__social ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-info-card__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #f3f8fb;
	color: #0b71b8;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.contact-info-card__social a:hover {
	background: #219b03;
	color: #fff;
}

.contact-page .form-group {
	margin-bottom: 0;
}

.contact-page .form-label {
	margin-bottom: 6px;
	color: #12334a;
	font-size: 0.9rem;
	font-weight: 700;
}

.contact-page .form-control {
	min-height: 46px;
	border: 1px solid #d5e2ea;
	border-radius: 10px;
	padding: 10px 14px;
	color: #12334a;
	background: #fbfdff;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-page .form-control:focus {
	border-color: #0b71b8;
	box-shadow: 0 0 0 3px rgba(11, 113, 184, 0.14);
}

.contact-page textarea.form-control {
	min-height: 130px;
	resize: vertical;
}

.contact-page .error {
	display: block;
	margin-top: 4px;
	color: #c0392b;
	font-size: 0.82rem;
}

.contact-form-card__footer {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
}

.contact-form-card__submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: #219b03;
	font-weight: 700;
	box-shadow: 0 8px 20px rgba(33, 155, 3, 0.28);
}

.contact-form-card__submit:hover,
.contact-form-card__submit:focus {
	background: #1a7f04;
}

.contact-form__loader img {
	display: block;
}

.contact-page__map {
	margin-top: 28px;
	padding: 22px;
	overflow: hidden;
}

.contact-page__map-head {
	margin-bottom: 14px;
}

.contact-page__map-head h2 {
	margin: 0 0 6px;
	font-size: 1.35rem;
	font-weight: 800;
	color: #12334a;
}

.contact-page__map-head h2 i {
	margin-right: 8px;
	color: #219b03;
}

.contact-page__map-head p {
	margin: 0;
	color: #5d7383;
	font-size: 0.95rem;
}

.contact-map-embed {
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #e0e9ef;
	background: #edf2f6;
}

.contact-map-embed iframe {
	display: block;
	width: 100%;
	min-height: 360px;
	border: 0;
}

@media (max-width: 991.98px) {
	.contact-hero {
		padding: 22px 0 30px;
	}

	.contact-hero__grid {
		grid-template-columns: 1fr;
	}

	.contact-hero__brand-card {
		order: -1;
	}

	.contact-hero__brand-card-inner {
		max-width: none;
		display: flex;
		align-items: center;
		gap: 14px;
		text-align: left;
		padding: 16px;
	}

	.contact-hero__brand-card-inner img {
		width: 64px;
		height: 64px;
		margin: 0;
	}

	.contact-page__main {
		margin-top: 0;
	}
}

@media (max-width: 575.98px) {
	.contact-info-card,
	.contact-form-card,
	.contact-page__map {
		padding: 18px;
		border-radius: 14px;
	}

	.contact-hero__actions {
		flex-direction: column;
	}

	.contact-hero__action {
		justify-content: center;
	}
}

.contact-page .form-control,
.contact-page .form-select,
.quotation .form-control {
	min-height: 44px;
}

/* --- Breadcrumbs --- */
.com-back-1 ul {
	row-gap: 4px;
}

.com-back-1 li span,
.com-back-1 li p {
	margin: 0;
	display: inline;
}

/* --- Modern responsive tables (global) --- */
.table-scroll-wrap {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	margin: 0 0 1.25rem;
	border: 1px solid #e0e9ef;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(15, 45, 66, 0.07);
}

.group-rate-table-wrap .table-scroll-wrap,
.departure-table-wrap .table-scroll-wrap,
.upcomming .table-scroll-wrap {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	background: transparent;
}

.table-scroll-wrap > table {
	width: 100%;
	min-width: min(100%, 480px);
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse;
	border-spacing: 0;
	background: #fff;
	color: #333;
	font-size: 14px;
	line-height: 1.5;
}

.table-scroll-wrap > table caption {
	caption-side: top;
	padding: 12px 14px;
	color: #12334a;
	font-size: 15px;
	font-weight: 700;
	text-align: left;
	background: #f7fafc;
	border-bottom: 1px solid #e8eef2;
}

.table-scroll-wrap > table thead th {
	padding: 12px 14px;
	border: 1px solid #d2e0e8 !important;
	background: #12334a;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

.table-scroll-wrap > table:not(:has(thead)) > tbody > tr:first-child > th,
.table-scroll-wrap > table:not(:has(thead)) > tbody > tr:first-child > td,
.table-scroll-wrap > table:not(:has(thead)) > tr:first-child > th,
.table-scroll-wrap > table:not(:has(thead)) > tr:first-child > td {
	padding: 12px 14px;
	border: 1px solid #d9e7df !important;
	background: #f0f6ef;
	color: #12334a;
	font-size: 13px;
	font-weight: 700;
	vertical-align: middle;
}

.table-scroll-wrap > table th,
.table-scroll-wrap > table td {
	padding: 11px 14px;
	border: 1px solid #e8eef2 !important;
	vertical-align: top;
	text-align: left;
}

.table-scroll-wrap > table tbody tr:nth-child(even) td,
.table-scroll-wrap > table > tbody > tr:nth-child(even) > td,
.table-scroll-wrap > table > tr:nth-child(even):not(:first-child) > td {
	background: #fafcfd;
}

.table-scroll-wrap > table tbody tr:hover td,
.table-scroll-wrap > table > tbody > tr:hover > td,
.table-scroll-wrap > table > tr:not(:first-child):hover > td {
	background: #f2f8fc;
}

.table-scroll-wrap > table a {
	color: var(--link-color, #0b71b8);
	font-weight: 600;
	text-decoration: none;
}

.table-scroll-wrap > table a:hover {
	text-decoration: underline;
}

/* Content-area tables (CMS / CKEditor) before/without auto-wrap */
.pack-details .content table,
.about-us table,
.destination-content table,
.taxonomy-intro-card table,
.activity-intro table,
.activity-page table,
.page-content table,
.dlist table,
.itinerary-details table,
.tripinfo table,
.accordion-body table,
.post-article-body table,
.blog-article-body table,
.blog-content .content table {
	border-collapse: collapse;
}

@media (max-width: 767.98px) {
	.table-scroll-wrap {
		border-radius: 10px;
	}

	.table-scroll-wrap > table {
		min-width: 520px;
		font-size: 13px;
	}

	.table-scroll-wrap > table th,
	.table-scroll-wrap > table td,
	.table-scroll-wrap > table thead th {
		padding: 10px 12px;
	}
}

/* --- Floating actions --- */
.share-page-btn,
.back-to-top {
	position: fixed;
	right: 16px;
	z-index: 1040;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	transition: opacity 0.25s ease, transform 0.25s ease, background 0.25s ease;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.share-page-btn {
	bottom: 88px;
	background: #0b71b8;
	color: #fff;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.back-to-top {
	bottom: 28px;
	background: #219b03;
	color: #fff;
}

.share-page-btn.is-visible,
.back-to-top.is-visible,
.share-page-btn:focus-visible,
.back-to-top:focus-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.share-page-btn:hover,
.back-to-top:hover {
	transform: translateY(-2px);
}

.share-page-btn.is-feedback {
	background: #203f64;
}

@media (max-width: 991.98px) {
	.share-page-btn {
		bottom: 108px;
	}

	.back-to-top {
		bottom: 52px;
	}
}

/* --- Footer: account for mobile bottom contact bar --- */
@media (max-width: 991.98px) {
	.for-phone-contact {
		display: block;
	}

	.for-phone-contact ul {
		display: flex;
		margin: 0;
		padding: 0;
		list-style: none;
		background: #e4f3e1;
	}

	.for-phone-contact li {
		flex: 1 1 33.33%;
		text-align: center;
	}

	.for-phone-contact a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 52px;
		color: #0b71b8;
		font-size: 20px;
		text-decoration: none;
	}

	.for-phone-contact a:hover {
		color: var(--primary-color, #219b03);
	}

	/* Trip page — sticky Book / Inquiry bar (mobile only) */
	.trip-mobile-action-bar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 52px;
		z-index: 9998;
		margin: 0;
		padding: 0;
		background: #fff;
		border-top: 1px solid #e3e9ee;
		box-shadow: 0 -4px 16px rgba(17, 24, 39, 0.1);
	}

	.trip-mobile-action-bar a {
		flex: 1 1 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 54px;
		padding: 10px 12px;
		font-size: 14px;
		font-weight: 700;
		text-decoration: none !important;
		text-transform: uppercase;
		letter-spacing: 0.02em;
	}

	.trip-mobile-action-bar__book {
		background: linear-gradient(to right, var(--nav-green, #219b03), var(--brand-green-light, #68cd03));
		color: #fff !important;
	}

	.trip-mobile-action-bar__inquiry {
		background: var(--accent-blue, #0b71b8);
		color: #fff !important;
		border-left: 1px solid rgba(255, 255, 255, 0.25);
	}

	body.trip-page-has-sticky-nav,
	body:has(.trip-mobile-action-bar) {
		padding-bottom: 106px;
	}

	.pack-details + section[style*="f5f5f5"],
	section:has(.title h2) {
		scroll-margin-bottom: 110px;
	}
}

@media (min-width: 992px) {
	.trip-mobile-action-bar {
		display: none !important;
	}
}

/* Similar packages block on trip page */
section.trip-similar-packages {
	background: #f5f5f5;
	padding: 32px 0 40px;
}

section.trip-similar-packages .title {
	text-align: center;
	margin-bottom: 24px;
}

section.trip-similar-packages .title h2 {
	margin-bottom: 8px;
	color: var(--heading-color, #111111);
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 800;
}

section.trip-similar-packages .title p {
	margin: 0;
	color: var(--text-muted, #444444);
	font-size: 15px;
}

/* --- Page content rhythm --- */
article.mb-4,
.new-page + article {
	padding-top: 8px;
}

.container {
	padding-left: max(15px, env(safe-area-inset-left));
	padding-right: max(15px, env(safe-area-inset-right));
}

/* =============================================================================
   Brand palette overrides — green primary, black text, blue accents
   (theme.css loads after style.css)
   ============================================================================= */

body {
	color: var(--text-color, #222222) !important;
}

h1, h2, h3, h4, h5, h6,
.title h1, .title h2, .new-page h1,
.pack-container h1 {
	color: var(--heading-color, #111111) !important;
}

#nvd,
#dnvd {
	background: var(--nav-green, #219b03) !important;
}

.navigation .top-header form .btn {
	background: var(--accent-blue, #0b71b8) !important;
	border-color: var(--accent-blue, #0b71b8) !important;
}

.mega-menu,
.navbar-expand-lg .navbar-nav > .has-dropdown > .dropdown-menu {
	border-top-color: var(--nav-green, #219b03) !important;
}

.package:hover .read,
.packages .all-link a:hover {
	background: var(--primary-color, #219b03) !important;
	color: #fff !important;
}

.breadcum ul li a:hover,
.breadcum ul li:last-child {
	background: var(--accent-blue, #0b71b8) !important;
}

footer .line {
	background: var(--accent-blue, #0b71b8) !important;
}

.pack-details .trip-booking-widget .booking-pkg-tabs .nav-link.active {
	color: var(--link-color, #0b71b8);
}

.share-page-btn.is-feedback {
	background: var(--accent-blue-dark, #085a92);
}

.welcome .lilnk a {
	color: var(--link-color, #0b71b8);
}

.welcome .lilnk a:hover {
	color: var(--accent-blue-dark, #085a92);
}

/* =============================================================================
   Mega menu + desktop dropdown refinement
   ============================================================================= */

@media (min-width: 992px) {
	.navigation .navbar.navbar-expand-lg {
		position: relative;
	}

	.navigation .navbar-nav > .has-mega-menu {
		position: static;
	}

	.navigation .navbar-nav > .has-dropdown {
		position: relative;
	}

	.navigation .navbar-nav > .has-mega-menu:hover > .nav-link,
	.navigation .navbar-nav > .has-mega-menu:focus-within > .nav-link,
	.navigation .navbar-nav > .has-dropdown:hover > .nav-link,
	.navigation .navbar-nav > .has-dropdown:focus-within > .nav-link {
		background: var(--brand-green-dark, #197802) !important;
		color: #fff !important;
		border-radius: 4px 4px 0 0;
	}

	.navigation .navbar-nav > .has-mega-menu:hover > .mega-menu,
	.navigation .navbar-nav > .has-mega-menu:focus-within > .mega-menu {
		display: block;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.navigation .navbar-nav > .has-dropdown:hover > .dropdown-menu,
	.navigation .navbar-nav > .has-dropdown:focus-within > .dropdown-menu {
		display: block !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.navigation .navbar-nav > .has-mega-menu > .mega-menu,
	.navigation .navbar-nav > .has-dropdown > .dropdown-menu {
		margin-top: 0 !important;
	}
}

.mega-menu {
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	display: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	background: #fff;
	border-top: 3px solid var(--nav-green, #219b03);
	box-shadow: 0 18px 36px rgba(17, 24, 39, 0.14);
	z-index: 1002;
	max-height: min(72vh, 640px);
	overflow-x: hidden;
	overflow-y: auto;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	transform: translateY(6px);
}

.mega-menu-inner {
	padding: 18px 15px 22px;
}

.mega-menu-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 14px;
	padding: 0 0 12px;
	border-bottom: 1px solid #e8eef2;
}

.mega-menu-heading__label {
	color: var(--heading-color, #111111);
	font-family: var(--heading-font, 'Poppins', sans-serif);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.mega-menu-heading__label::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 14px;
	margin-right: 10px;
	border-radius: 2px;
	background: var(--nav-green, #219b03);
	vertical-align: -2px;
}

.mega-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px 18px;
	margin: 0;
}

.mega-menu ul {
	float: none !important;
	width: auto !important;
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
	break-inside: avoid;
}

.mega-menu ul li {
	display: block;
	text-transform: capitalize;
}

.mega-menu ul li .mega-group-title {
	display: block;
	margin-bottom: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid #e7edf2;
}

.mega-menu ul li .mega-group-title a {
	color: var(--heading-color, #111111) !important;
	font-family: var(--heading-font, 'Poppins', sans-serif);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	padding: 4px 0 6px;
	text-decoration: none !important;
	display: block;
	transition: color 0.2s ease;
}

.mega-menu ul li .mega-group-title a:hover,
.mega-menu ul li .mega-group-title a:focus {
	color: var(--nav-green, #219b03) !important;
}

.mega-menu ul li > a {
	padding: 5px 0 5px 12px;
	color: var(--text-color, #222222);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	display: block;
	text-decoration: none;
	border-bottom: 0;
	position: relative;
	transition: color 0.2s ease, padding-left 0.2s ease;
}

.mega-menu ul li > a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #c5d4c0;
	transition: background 0.2s ease;
}

.mega-menu ul li > a:hover,
.mega-menu ul li > a:focus {
	color: var(--link-color, #0b71b8);
	padding-left: 14px;
	text-decoration: none;
}

.mega-menu ul li > a:hover::before,
.mega-menu ul li > a:focus::before {
	background: var(--link-color, #0b71b8);
}

.mega-group--wide {
	grid-column: span 2;
	margin: 0 0 12px;
	break-inside: avoid;
}

.mega-group--wide .mega-group-title {
	display: block;
	margin-bottom: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid #e7edf2;
}

.mega-group--wide .mega-group-title a {
	color: var(--heading-color, #111111) !important;
	font-family: var(--heading-font, 'Poppins', sans-serif);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	padding: 4px 0 6px;
	text-decoration: none !important;
	display: block;
	transition: color 0.2s ease;
}

.mega-group--wide .mega-group-title a:hover,
.mega-group--wide .mega-group-title a:focus {
	color: var(--nav-green, #219b03) !important;
}

.mega-group-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.mega-group-col {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mega-group-col li {
	display: block;
	text-transform: capitalize;
}

.mega-group-col li > a {
	padding: 5px 0 5px 12px;
	color: var(--text-color, #222222);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	display: block;
	text-decoration: none;
	position: relative;
	transition: color 0.2s ease, padding-left 0.2s ease;
}

.mega-group-col li > a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #c5d4c0;
	transition: background 0.2s ease;
}

.mega-group-col li > a:hover,
.mega-group-col li > a:focus {
	color: var(--link-color, #0b71b8);
	padding-left: 14px;
	text-decoration: none;
}

.mega-group-col li > a:hover::before,
.mega-group-col li > a:focus::before {
	background: var(--link-color, #0b71b8);
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.mega-group--wide {
		grid-column: span 2;
	}
}

@media (min-width: 1400px) {
	.mega-group--wide {
		grid-column: span 2;
	}
}

.mega-menu,
.mega-menu-inner {
	scrollbar-width: thin;
	scrollbar-color: #c8d6c3 #f4f7f2;
}

.mega-menu::-webkit-scrollbar,
.mega-menu-inner::-webkit-scrollbar {
	width: 8px;
}

.mega-menu::-webkit-scrollbar-thumb,
.mega-menu-inner::-webkit-scrollbar-thumb {
	background: #c8d6c3;
	border-radius: 8px;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.mega-row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.mega-row {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.mega-menu-inner {
		padding: 20px 12px 24px;
	}
}

@media (min-width: 1400px) {
	.mega-row {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* Standard dropdown menus — match mega menu polish */
@media (min-width: 992px) {
	.navbar-expand-lg .navbar-nav .dropdown-menu {
		background: #fff !important;
		border: 0 !important;
		border-top: 3px solid var(--nav-green, #219b03) !important;
		border-radius: 0 0 8px 8px !important;
		box-shadow: 0 14px 28px rgba(17, 24, 39, 0.12) !important;
		min-width: 260px;
		padding: 0 !important;
		overflow: hidden;
	}

	.navigation .dropdown-heading {
		padding: 12px 18px 10px;
		background: #f7faf5;
		border-bottom: 1px solid #e5ebe2;
		color: var(--heading-color, #111111);
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu li .dropdown-item {
		color: var(--text-color, #222222);
		font-size: 13px;
		font-weight: 500;
		padding: 10px 18px;
		transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu li .dropdown-item:hover,
	.navbar-expand-lg .navbar-nav .dropdown-menu li .dropdown-item:focus {
		background: #f4f9f1 !important;
		color: var(--link-color, #0b71b8) !important;
		padding-left: 22px !important;
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu li .dropdown-item i {
		color: var(--nav-green, #219b03);
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu li .second-drop,
	.navbar-expand-lg .navbar-nav .dropdown-menu li .third-drop {
		background: #fff;
		border-left: 1px solid #e8eef2;
		box-shadow: 8px 8px 20px rgba(17, 24, 39, 0.08);
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu li .second-drop ul li a,
	.navbar-expand-lg .navbar-nav .dropdown-menu li .third-drop li a {
		color: var(--text-color, #222222) !important;
		font-size: 13px;
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu li .second-drop ul li:hover,
	.navbar-expand-lg .navbar-nav .dropdown-menu li .third-drop li:hover {
		background: #f4f9f1;
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu li .second-drop ul li:hover a,
	.navbar-expand-lg .navbar-nav .dropdown-menu li .third-drop li:hover a {
		color: var(--link-color, #0b71b8) !important;
	}
}

/* =============================================================================
   Booking funnel — make-booking / reserve pages
   ============================================================================= */

.booking-funnel-page {
	background: linear-gradient(180deg, #f3f7ef 0%, #f8faf6 220px, #f4f6f8 100%);
	padding: 24px 0 56px;
	min-height: 60vh;
}

.booking-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	font-size: 13px;
}

.booking-breadcrumb a {
	color: var(--link-color, #0b71b8);
	font-weight: 600;
	text-decoration: none;
}

.booking-breadcrumb a:hover {
	color: var(--accent-blue-dark, #085a92);
	text-decoration: underline;
}

.booking-breadcrumb span:last-child {
	color: var(--text-muted, #444444);
	font-weight: 600;
}

.booking-funnel-hero {
	margin-bottom: 22px;
	max-width: 760px;
}

.booking-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(33, 155, 3, 0.1);
	color: var(--brand-green-dark, #197802);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.booking-funnel-hero h1,
.booking-funnel-page h1 {
	margin: 0 0 10px;
	color: var(--heading-color, #111111);
	font-size: clamp(1.65rem, 3vw, 2.2rem);
	font-weight: 800;
	line-height: 1.2;
}

.booking-intro {
	margin: 0;
	color: var(--text-color, #222222);
	font-size: 1rem;
	line-height: 1.65;
	max-width: 680px;
}

.booking-funnel-grid {
	display: grid;
	gap: 24px;
	align-items: start;
}

@media (min-width: 992px) {
	.booking-funnel-grid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
		gap: 28px;
	}
}

.booking-funnel-card,
.booking-funnel-summary {
	background: #fff;
	border: 1px solid #e3e9ee;
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(17, 24, 39, 0.07);
	overflow: hidden;
}

.booking-funnel-card {
	padding: 24px 22px 28px;
}

.booking-funnel-form__section {
	margin-bottom: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid #edf1f4;
}

.booking-funnel-form__section:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 20px;
}

.booking-funnel-form__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	color: var(--heading-color, #111111);
	font-size: 1.1rem;
	font-weight: 700;
}

.booking-funnel-form__heading::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 18px;
	border-radius: 2px;
	background: var(--nav-green, #219b03);
	flex-shrink: 0;
}

.booking-funnel-form__lead {
	margin: -8px 0 16px;
	color: var(--text-muted, #444444);
	font-size: 0.95rem;
	line-height: 1.55;
}

.booking-funnel-form label,
.booking-funnel-card label {
	display: block;
	margin-bottom: 6px;
	color: var(--heading-color, #111111);
	font-size: 14px;
	font-weight: 600;
}

.booking-funnel-form .form-control,
.booking-funnel-form .form-select,
.booking-funnel-card .form-control,
.booking-funnel-card .form-select {
	min-height: 46px;
	border: 1px solid #d5dde5;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 15px;
	color: var(--text-color, #222222);
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.booking-funnel-form .form-control:focus,
.booking-funnel-form .form-select:focus,
.booking-funnel-card .form-control:focus,
.booking-funnel-card .form-select:focus {
	border-color: var(--nav-green, #219b03);
	box-shadow: 0 0 0 3px rgba(33, 155, 3, 0.12);
	outline: 0;
}

.booking-funnel-form textarea.form-control {
	min-height: 120px;
	resize: vertical;
}

.booking-funnel-form .error,
.booking-funnel-card .error {
	margin-top: 6px;
	color: #c62828;
	font-size: 13px;
	font-weight: 600;
}

.booking-funnel-form .help-block {
	display: block;
	margin-top: 6px;
	color: #c62828;
	font-size: 13px;
}

/* Travel date options */
.booking-date-option {
	margin-bottom: 12px;
	padding: 14px 16px;
	border: 1px solid #e3e9ee;
	border-radius: 10px;
	background: #fafcf8;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.booking-date-option:has(.form-check-input:checked) {
	border-color: rgba(33, 155, 3, 0.45);
	background: #f4faf1;
}

.booking-date-option .form-check {
	margin: 0;
}

.booking-date-option .form-check-label {
	margin: 0;
	font-weight: 600;
	color: var(--heading-color, #111111);
	cursor: pointer;
}

.booking-date-option__panel {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed #dde5df;
}

.booking-date-option__hint {
	margin: 0;
	color: var(--text-muted, #444444);
	font-size: 14px;
	line-height: 1.5;
}

.booking-date-display {
	min-height: 46px;
	display: flex;
	align-items: center;
	padding: 10px 14px;
	border: 1px solid #d5dde5;
	border-radius: 8px;
	background: #f7f9fb;
	color: var(--text-color, #222222);
	font-size: 15px;
	font-weight: 600;
}

/* Single calendar icon on date fields (hide native browser icon) */
.booking-date-wrap {
	position: relative;
}

.booking-date-wrap .booking-date-input,
.booking-funnel-form .booking-date-wrap input[type="date"] {
	padding-right: 44px;
}

.booking-date-wrap input[type="date"]::-webkit-calendar-picker-indicator {
	display: none;
	-webkit-appearance: none;
}

.booking-date-wrap .booking-date-icon {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--nav-green, #219b03);
	cursor: pointer;
	z-index: 2;
}

.booking-date-wrap .booking-date-icon:hover {
	background: rgba(33, 155, 3, 0.1);
}

/* Completion options */
.booking-completion-options {
	display: grid;
	gap: 12px;
}

.booking-completion-option {
	position: relative;
	display: grid;
	gap: 6px;
	padding: 16px 16px 16px 52px;
	border: 2px solid #e3e9ee;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.booking-completion-option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.booking-completion-option__icon {
	position: absolute;
	left: 16px;
	top: 18px;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #eef5ea;
	color: var(--nav-green, #219b03);
	font-size: 13px;
}

.booking-completion-option__badge {
	display: inline-block;
	width: fit-content;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--nav-green, #219b03);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.booking-completion-option__title {
	color: var(--heading-color, #111111);
	font-size: 15px;
	font-weight: 700;
}

.booking-completion-option__text {
	color: var(--text-muted, #444444);
	font-size: 13px;
	line-height: 1.5;
}

.booking-completion-option.is-selected,
.booking-completion-option:has(input:checked) {
	border-color: var(--nav-green, #219b03);
	background: #f8fcf6;
	box-shadow: 0 8px 20px rgba(33, 155, 3, 0.08);
}

.booking-alert {
	margin-bottom: 12px;
	padding: 12px 14px;
	border-radius: 8px;
	border-left: 4px solid var(--accent-blue, #0b71b8);
	background: #f0f7fc;
	color: #1a4f72;
	font-size: 14px;
	line-height: 1.5;
}

/* Terms consent */
.booking-funnel-form__consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}

.booking-funnel-form__consent input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 3px;
	flex-shrink: 0;
	accent-color: var(--nav-green, #219b03);
}

.booking-funnel-form__consent span {
	color: var(--text-color, #222222);
	font-size: 14px;
	line-height: 1.55;
}

.booking-funnel-form__consent a {
	color: var(--link-color, #0b71b8);
	font-weight: 600;
}

/* Actions */
.booking-funnel-actions {
	margin-top: 8px;
}

.booking-continue-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 14px 20px;
	border: 0;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.booking-continue-btn--primary {
	background: linear-gradient(to right, var(--nav-green, #219b03), var(--brand-green-light, #68cd03));
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(33, 155, 3, 0.25);
}

.booking-continue-btn--primary:hover {
	background: linear-gradient(to right, var(--brand-green-dark, #197802), var(--nav-green, #219b03));
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(33, 155, 3, 0.3);
}

.booking-continue-btn:disabled {
	opacity: 0.65;
	cursor: not-allowed;
	transform: none;
}

.booking-funnel-actions__note {
	margin: 12px 0 0;
	text-align: center;
	color: var(--text-muted, #444444);
	font-size: 13px;
	line-height: 1.5;
}

#loader.booking-funnel-loader {
	display: none !important;
	position: fixed;
	inset: 0;
	z-index: 2000;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.75);
}

#loader.booking-funnel-loader.is-active {
	display: flex !important;
}

/* Summary sidebar */
.booking-funnel-summary {
	position: relative;
}

@media (min-width: 992px) {
	.booking-funnel-summary {
		position: sticky;
		top: 88px;
	}
}

.booking-funnel-summary__media img {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
}

.booking-funnel-summary__body {
	padding: 20px 18px 22px;
}

.booking-funnel-summary__body h2 {
	margin: 0 0 14px;
	color: var(--heading-color, #111111);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.35;
}

.booking-funnel-summary__meta {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 10px;
	color: var(--text-color, #222222);
	font-size: 14px;
	line-height: 1.45;
}

.booking-funnel-summary__meta i {
	margin-top: 2px;
	color: var(--nav-green, #219b03);
	width: 16px;
	text-align: center;
	flex-shrink: 0;
}

.booking-funnel-summary__totals {
	margin: 16px 0 14px;
	padding: 14px;
	border-radius: 10px;
	background: linear-gradient(135deg, #f4faf1 0%, #eef6ea 100%);
	border: 1px solid #dce9d6;
}

.booking-funnel-summary__price {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
}

.booking-funnel-summary__price + .booking-funnel-summary__price {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed #c9dcc0;
}

.booking-funnel-summary__price-label {
	color: var(--text-muted, #444444);
	font-size: 13px;
	font-weight: 600;
}

.booking-funnel-summary__price-value {
	color: var(--nav-green, #219b03);
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.1;
}

.booking-funnel-summary__price-value--muted {
	color: var(--heading-color, #111111);
	font-size: 1.05rem;
}

.booking-funnel-discounts {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #edf1f4;
}

.booking-funnel-discounts h3 {
	margin: 0 0 10px;
	color: var(--heading-color, #111111);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.booking-funnel-discounts ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.booking-funnel-discounts li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f0f3f6;
	color: var(--text-color, #222222);
	font-size: 13px;
}

.booking-funnel-discounts li:last-child {
	border-bottom: 0;
}

.booking-funnel-discounts li span:last-child {
	font-weight: 700;
	color: var(--nav-green, #219b03);
}

.booking-funnel-summary__secure {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	padding: 10px 12px;
	border-radius: 8px;
	background: #f0f7fc;
	color: #1a4f72;
	font-size: 13px;
	font-weight: 600;
}

.booking-funnel-summary__secure i {
	color: var(--accent-blue, #0b71b8);
}

.booking-funnel-payments {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #edf1f4;
}

.booking-funnel-payments h3 {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--heading-color, #111111);
}

.booking-funnel-payments p {
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--text-muted, #444444);
}

.booking-funnel-payments__logos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.booking-funnel-payments__logos img,
.booking-funnel-payments > img {
	max-height: 36px;
	width: auto;
}

@media (max-width: 991.98px) {
	.booking-funnel-page {
		padding: 16px 0 40px;
	}

	.booking-funnel-card {
		padding: 18px 16px 22px;
	}

	.booking-funnel-summary__media img {
		height: 160px;
	}

	.booking-completion-option {
		padding-left: 48px;
	}
}

/* Card images — thumb-first loading with responsive cover */
.card-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background-color: #e8eef2;
}

.card-image.is-loaded {
	animation: card-image-fade-in 0.25s ease;
}

@keyframes card-image-fade-in {
	from { opacity: 0.82; }
	to { opacity: 1; }
}

.package .package-img .card-image,
.region-card .card-image.region-card__image,
.home-activity-card__media .card-image,
.blog.my-blog .content .card-image,
.blog-list-thumb .card-image,
.recent-post-thumb .card-image,
.team-member-card .team-img .card-image,
.destination-activity-thumb .card-image,
article .card .card-image,
.blog-post-nav__thumb .card-image,
.booking-funnel-summary__media .card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.team-member-card .team-img {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 12px;
}

.recent-post-thumb .card-image {
	width: 72px;
	height: 72px;
	border-radius: 10px;
}

.blog-post-nav__thumb .card-image {
	width: 100%;
	height: 100%;
	border-radius: 10px;
}

@media (max-width: 767.98px) {
	.package .package-img,
	.package .package-img > a {
		min-height: 200px;
	}

	.region-card {
		min-height: 180px;
	}

	.home-activity-card__media {
		min-height: 110px;
	}

	.team-member-card .team-img {
		max-width: 220px;
		margin-inline: auto;
	}

	article .card .card-image,
	.destination-activity-thumb .card-image {
		min-height: 180px;
	}
}

/* Header search — expandable field + AJAX suggestions */
.header-search {
	position: relative;
}

.header-search--expandable .header-search__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 38px;
	padding: 0;
	border: 1px solid #c8dceb;
	border-radius: 8px;
	background: #fff;
	color: #20465f;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.header-search--expandable .header-search__trigger:hover,
.header-search--expandable.is-open .header-search__trigger {
	background: #0b71b8;
	border-color: #0b71b8;
	color: #fff;
}

.header-search--expandable .header-search__panel {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: min(420px, calc(100vw - 24px));
	z-index: 10060;
}

.header-search__field {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid #dbe7ef;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(15, 45, 66, 0.14);
}

.header-search__field > i {
	flex: 0 0 auto;
	color: #0b71b8;
	font-size: 15px;
}

.header-search__input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: transparent;
	color: #12334a;
	font-size: 15px;
	line-height: 1.4;
	padding: 4px 0;
	outline: none;
	box-shadow: none;
}

.header-search__input::placeholder {
	color: #6b7f8d;
	opacity: 1;
}

.header-search__close {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 50%;
	background: #edf2f5;
	color: #466071;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.header-search__close:hover {
	background: #dce7ee;
	color: #12334a;
}

.header-search-results {
	display: none;
	position: absolute;
	left: 0;
	top: calc(100% + 7px);
	width: 100%;
	z-index: 10050;
	background: #fff;
	border: 1px solid #e3eaef;
	border-radius: 12px;
	overflow: hidden;
	max-height: min(55vh, 420px);
	overflow-y: auto;
	box-shadow: 0 12px 26px rgba(21, 45, 60, 0.14);
}

.header-search--expandable .header-search-results {
	position: static;
	margin-top: 8px;
}

.search-suggestion-group + .search-suggestion-group {
	border-top: 1px solid #edf2f5;
}

.search-suggestion-heading {
	padding: 9px 14px 5px;
	color: #668091;
	background: #f7fafc;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.search-suggestion-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	color: #13334a;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.3;
}

.search-suggestion-item__text {
	flex: 1 1 auto;
	min-width: 0;
}

.search-suggestion-item__type {
	flex: 0 0 auto;
	padding: 2px 8px;
	border-radius: 999px;
	background: #eef6fb;
	color: #0b71b8;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

.search-suggestion-item i {
	width: 18px;
	text-align: center;
	color: #0b71b8;
	flex-shrink: 0;
}

.search-suggestion-item:hover,
.search-suggestion-item.is-active {
	background: #eaf6fb;
	color: #075989;
}

.search-suggestion-empty,
.search-suggestion-loading {
	padding: 15px;
	color: #637887;
	font-size: 14px;
	background: #fff;
}

.small-nav-wraper.search-results-open {
	z-index: 10050;
}

/* Mobile header — logo row */
.small-nav-wraper .small-nav {
	padding: 8px 0;
	background: #fff;
}

.small-nav-wraper .small-nav .container {
	padding-left: 12px;
	padding-right: 12px;
}

.small-nav-wraper .navbar-brand {
	color: #111 !important;
}

.small-nav-wraper .navbar-brand .cname span {
	color: #111 !important;
	font-weight: 700;
}

.small-nav-wraper .navbar-brand img {
	height: 45px;
	width: auto;
}

.small-nav-wraper .top-m-icon {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.small-nav-wraper .top-m-icon a {
	color: #111;
	font-size: 22px;
	line-height: 1;
	text-decoration: none;
}

/* Mobile header — green search + menu row */
.small-nav-wraper .small-nv-frm {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	background: var(--primary-color, #219b03) !important;
}

.small-nav-wraper .small-nv-frm .navbar-toggler {
	flex: 0 0 auto;
	margin: 0;
	padding: 8px 4px 8px 8px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none !important;
}

.small-nav-wraper .small-nv-frm .navbar-toggler:focus {
	box-shadow: none !important;
	outline: none;
}

.small-nav-wraper .small-nv-frm .navbar-toggler span {
	color: #fff;
	display: flex;
	align-items: center;
	font-weight: 600;
	font-size: 15px;
	white-space: nowrap;
}

.small-nav-wraper .small-nv-frm .navbar-toggler span i {
	margin-right: 8px;
}

.small-nav-wraper form.seach-form.header-search--mobile,
.small-nav-wraper .seach-form.header-search--mobile {
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
	max-width: none;
	padding: 0 12px !important;
	height: 46px;
	background: #f3f8fb !important;
	border: 1px solid #dbe7ef !important;
	border-radius: 999px !important;
	display: flex !important;
	align-items: center;
	position: relative;
}

.small-nav-wraper .seach-form.header-search--mobile > i {
	color: #0b71b8;
	font-size: 17px;
	flex: 0 0 auto;
}

.small-nav-wraper .seach-form.header-search--mobile .header-search__input,
.small-nav-wraper .seach-form.header-search--mobile .form-control {
	flex: 1 1 auto;
	min-width: 0;
	width: 100% !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin-left: 8px;
	margin-right: 4px;
	padding: 0 !important;
	color: #12334a !important;
	font-size: 15px;
	box-shadow: none !important;
	outline: none;
}

.small-nav-wraper .seach-form.header-search--mobile .header-search__input:focus,
.small-nav-wraper .seach-form.header-search--mobile .form-control:focus {
	background: transparent !important;
	color: #12334a !important;
	box-shadow: none !important;
}

.small-nav-wraper .seach-form.header-search--mobile .header-search__input::placeholder,
.small-nav-wraper .seach-form.header-search--mobile .form-control::placeholder {
	color: #6b7f8d !important;
	opacity: 1;
}

.small-nav-wraper .seach-form.header-search--mobile .header-search-results {
	left: 0;
	right: 0;
	width: auto;
	top: calc(100% + 7px);
}

@media (max-width: 991.98px) {
	.small-nav-wraper .small-nv-frm {
		padding: 9px max(calc((100vw - 720px) / 2), 12px);
	}

	.small-nav-wraper .small-nav .container {
		padding-left: max(calc((100vw - 720px) / 2), 12px);
		padding-right: max(calc((100vw - 720px) / 2), 12px);
	}
}

@media (max-width: 575.98px) {
	.small-nav-wraper .navbar-brand .cname span {
		font-size: 15px;
	}

	.small-nav-wraper .top-m-icon a {
		font-size: 20px;
	}

	.small-nav-wraper .small-nv-frm .navbar-toggler span {
		font-size: 14px;
	}
}

/* Mobile hamburger drawer */
@media (max-width: 999.98px) {
	#nav-side {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: auto !important;
		width: 100% !important;
		height: 100vh !important;
		z-index: 99999 !important;
		background: rgba(0, 0, 0, 0.42) !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}

	#nav-side.is-open {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	#n-side {
		width: min(88vw, 420px) !important;
		max-width: 420px;
		height: 100% !important;
		overflow-x: hidden;
		overflow-y: auto;
		background: #fff !important;
		box-shadow: 4px 0 18px rgba(0, 0, 0, 0.16);
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		-webkit-overflow-scrolling: touch;
	}

	#nav-side.is-open #n-side {
		transform: translateX(0) !important;
	}

	body.mobile-nav-open,
	body.menu-open {
		overflow: hidden !important;
	}

	#nav-side .accordion-button {
		background: #fff;
		box-shadow: none;
	}

	#nav-side .accordion-button:not(.collapsed) {
		background: #f4faf1;
		color: var(--primary-color, #219b03);
	}

	.mobile-nav-accordion-header {
		display: flex;
		align-items: stretch;
		gap: 0;
		padding: 0;
		margin: 0;
		background: #fff;
		border-bottom: 1px solid #e8ecef;
	}

	.mobile-nav-accordion-header__link {
		flex: 1 1 auto;
		display: flex;
		align-items: center;
		padding: 14px 16px;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.3;
		color: #0f1f3d;
		text-decoration: none;
		min-width: 0;
	}

	.mobile-nav-accordion-header__link:hover,
	.mobile-nav-accordion-header__link:focus {
		color: var(--primary-color, #219b03);
		text-decoration: none;
	}

	.mobile-nav-accordion-header__toggle {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		min-width: 44px;
		margin: 8px 12px 8px 0;
		padding: 0;
		border: 1px solid #d5dbe3;
		border-radius: 8px;
		background: #fff;
		color: #0f1f3d;
		box-shadow: none;
		cursor: pointer;
	}

	.mobile-nav-accordion-header__toggle:hover,
	.mobile-nav-accordion-header__toggle:focus {
		border-color: var(--primary-color, #219b03);
		color: var(--primary-color, #219b03);
		outline: none;
	}

	.mobile-nav-accordion-header__toggle:not(.collapsed) {
		border-color: var(--primary-color, #219b03);
		color: var(--primary-color, #219b03);
		background: #f4faf1;
	}

	.mobile-nav-accordion-header__icon {
		font-size: 14px;
		line-height: 1;
		pointer-events: none;
	}

	.mobile-nav-accordion-header__icon--minus {
		display: none;
	}

	.mobile-nav-accordion-header__toggle:not(.collapsed) .mobile-nav-accordion-header__icon--plus {
		display: none;
	}

	.mobile-nav-accordion-header__toggle:not(.collapsed) .mobile-nav-accordion-header__icon--minus {
		display: inline-block;
	}

	#nav-side .accordion-item {
		border: 0;
	}

	#nav-side .accordion-body {
		padding: 0;
	}

	#nav-side .accordion-body > li > a.dropdown-item,
	#nav-side .nav-link {
		padding: 12px 16px 12px 24px;
		font-weight: 600;
		color: #0f1f3d;
		border-bottom: 1px solid #eef1f4;
	}

	#nav-side .accordion-body .accordion-body > li > a.dropdown-item {
		padding-left: 36px;
	}

	#nav-side .accordion-body .accordion-body .accordion-body > li > a.dropdown-item {
		padding-left: 48px;
	}
}

@media (max-width: 999.98px) {
	.top-header .far-right-section {
		display: none !important;
	}
}

@media (min-width: 1000px) {
	.small-nav-wraper .header-search--mobile {
		display: none !important;
	}

	.far-right-section {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
}

/* Trip enquiry + review modals */
.trip-enquiry-modal .modal-content,
.trip-review-modal .modal-content {
	border: 0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 24px 48px rgba(15, 45, 66, 0.18);
}

.trip-enquiry-modal .modal-header,
.trip-review-modal .modal-header {
	padding: 20px 22px 14px;
	border-bottom: 1px solid #e8eef2;
	background: linear-gradient(180deg, #f8fbf6 0%, #fff 100%);
}

.trip-enquiry-modal__eyebrow,
.trip-review-modal__eyebrow {
	display: block;
	margin-bottom: 4px;
	color: var(--nav-green, #219b03);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.trip-enquiry-modal__head .modal-title,
.trip-review-modal__head .modal-title {
	color: #12334a;
	font-weight: 800;
}

.trip-enquiry-modal .modal-body,
.trip-review-modal .modal-body {
	padding: 18px 22px 8px;
}

.trip-enquiry-modal__lead,
.trip-review-modal__lead {
	margin: 0 0 16px;
	color: #5d7383;
	font-size: 14px;
	line-height: 1.55;
}

.trip-enquiry-modal .form-label,
.trip-review-modal .form-label {
	margin-bottom: 6px;
	color: #12334a;
	font-size: 0.9rem;
	font-weight: 700;
}

.trip-enquiry-modal .form-control,
.trip-review-modal .form-control {
	min-height: 44px;
	border: 1px solid #d5e2ea;
	border-radius: 10px;
	padding: 10px 14px;
	color: #12334a;
	background: #fbfdff;
	box-shadow: none;
}

.trip-enquiry-modal .form-control:focus,
.trip-review-modal .form-control:focus {
	border-color: var(--accent-blue, #0b71b8);
	box-shadow: 0 0 0 3px rgba(11, 113, 184, 0.14);
}

.trip-enquiry-modal .error,
.trip-review-modal .error {
	margin-top: 4px;
	color: #c0392b;
	font-size: 0.82rem;
	min-height: 0;
}

.trip-enquiry-modal__footer,
.trip-review-modal__footer {
	padding: 14px 22px 18px;
	border-top: 1px solid #e8eef2;
	background: #f9fbfc;
	gap: 10px;
}

.trip-enquiry-modal__submit,
.trip-review-modal__submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--nav-green, #219b03);
	font-weight: 700;
	box-shadow: 0 8px 20px rgba(33, 155, 3, 0.24);
}

.trip-enquiry-modal__submit:hover,
.trip-enquiry-modal__submit:focus,
.trip-review-modal__submit:hover,
.trip-review-modal__submit:focus {
	background: var(--brand-green-dark, #1a7f04);
}

.trip-enquiry-modal__response,
.trip-review-modal__response {
	margin-top: 12px;
	font-size: 14px;
}

.trip-review-modal__optional {
	color: #6b7f8d;
	font-weight: 500;
}

.trip-review-modal__photo {
	margin-bottom: 16px;
	padding: 14px;
	border: 1px dashed #cfdce6;
	border-radius: 12px;
	background: #f7fafc;
}

.trip-review-modal__photo-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.trip-review-modal__photo-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #c8d6e0;
	border-radius: 999px;
	background: #fff;
	color: #12334a;
	font-weight: 600;
}

.trip-review-modal__photo-btn:hover {
	background: #eef6fb;
	border-color: var(--accent-blue, #0b71b8);
	color: var(--accent-blue, #0b71b8);
}

.trip-review-modal__crop {
	margin-top: 12px;
}

.trip-review-modal__confirm-photo {
	margin-top: 10px;
	border-radius: 999px;
}

.trip-review-modal__rating {
	padding: 8px 0 2px;
}

.trip-review-modal__rating .caption {
	margin-left: 8px;
	color: #5d7383;
	font-size: 13px;
}

.trip-review-modal__rating .rating-container .empty-stars,
.trip-review-modal__rating .rating-container .filled-stars {
	font-size: 22px;
}

#trip-reviews .btn-outline-primary[href="#reviews"],
#trip-reviews .btn-outline-primary[data-bs-target="#reviews"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid var(--nav-green, #219b03);
	border-radius: 999px;
	color: var(--nav-green, #219b03);
	font-weight: 700;
	background: #fff;
}

#trip-reviews .btn-outline-primary[href="#reviews"]:hover,
#trip-reviews .btn-outline-primary[data-bs-target="#reviews"]:hover {
	background: var(--nav-green, #219b03);
	color: #fff;
}

@media (max-width: 575.98px) {
	.trip-enquiry-modal .modal-header,
	.trip-review-modal .modal-header,
	.trip-enquiry-modal .modal-body,
	.trip-review-modal .modal-body,
	.trip-enquiry-modal__footer,
	.trip-review-modal__footer {
		padding-left: 16px;
		padding-right: 16px;
	}

	.trip-enquiry-modal__footer,
	.trip-review-modal__footer {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.trip-enquiry-modal__footer .btn,
	.trip-review-modal__footer .btn {
		width: 100%;
		justify-content: center;
	}
}

/* =============================================================================
   Uniform box / card corner radius (Appearance → card_border_radius)
   ============================================================================= */
.package,
.region-card,
.home-activity-card,
.blog.my-blog .blog-list-card,
.blog.my-blog .content,
.blog.my-blog .content.blog-list-card,
.taxonomy-intro-card,
.activity-intro,
.about-us .content,
.dlist,
.destination-content,
.destination-content-wrap .destination-activity-card,
article > .container > .row > [class*="col-"] > .row > [class*="col-"] > .card,
.blog-list-card,
.blog-rec-trips,
.blog-rec-trip-card,
.trip-cost-section .cost-list-card,
.trip-cost-section .cost-rich-content ul li,
.team-member-card .team-img,
.booking-funnel-card,
.contact-info-card,
.contact-form-card,
.contact-hero__brand-card-inner,
.trip-planner-card,
.sidebar-price-card,
.profile-sidebar,
.info-box,
.article-toc,
.blog-sidebar .widget,
.blog-details .search-widget,
.blog-details .category-widget,
.blog-details .side-blog,
.blog-post-nav__thumb,
.recent-post-thumb .card-image,
.blog-post-nav__thumb .card-image,
.welcome .wel-search,
.icon-all-top .all-icon-detail .content .cont-1,
.pack-details .side-section,
.blog-post-cta,
.blog-post-nav__card,
.modal-content {
	border-radius: var(--card-radius, 12px) !important;
}

/* Image-overlay card titles must stay white on dark scrims */
.region-card__title,
.region-card:hover .region-card__title {
	color: #fff !important;
}
