/* ==========================================================================
   NEPAL TRIP SERVICES — TRIP PACKAGE DETAILS MASTER STYLESHEET
   File: public/css/trip-details.css
   ========================================================================== */

	/* Base Link Styling in Content */
	.pack-details a:not(.dep-btn-join):not(.dep-private-btn),
	.pack-details p a:not(.dep-btn-join):not(.dep-private-btn),
	.pack-details li a:not(.dep-btn-join):not(.dep-private-btn),
	.pack-details div a:not(.dep-btn-join):not(.dep-private-btn),
	.pack-details span a:not(.dep-btn-join):not(.dep-private-btn) {
		color: #006ec1 !important;
		text-decoration: underline !important;
		font-weight: 600;
		transition: color 0.2s ease;
	}
	.pack-details a:not(.dep-btn-join):not(.dep-private-btn):hover,
	.pack-details p a:not(.dep-btn-join):not(.dep-private-btn):hover,
	.pack-details li a:not(.dep-btn-join):not(.dep-private-btn):hover,
	.pack-details div a:not(.dep-btn-join):not(.dep-private-btn):hover,
	.pack-details span a:not(.dep-btn-join):not(.dep-private-btn):hover {
		color: #084c8d !important;
		text-decoration: underline !important;
	}
	.pack-details a b,
	.pack-details a strong {
		color: #006ec1 !important;
	}

	/* ==========================================================================
	   MODERN 3-COLUMN HERO GALLERY BANNER (DESKTOP HOVER + 2-ROW MOBILE GRID)
	   ========================================================================== */
	.pkg-top-banner-section {
		padding-top: 16px;
		padding-bottom: 6px;
		background: #ffffff;
	}
	.pkg-banner-grid {
		display: flex;
		gap: 12px;
		width: 100%;
		height: 480px;
		overflow: hidden;
		position: relative;
		border-radius: 8px;
	}
	.pkg-banner-item {
		position: relative;
		border-radius: 8px;
		overflow: hidden;
		background: #e2e8f0;
		min-width: 0;
		height: 100%;
		transform: translate3d(0, 0, 0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		/* The small delay on the way back stops a collapse/expand flicker when the cursor crosses the gap between photos */
		transition: flex 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.09s;
	}
	.pkg-banner-item-main {
		flex: 2 1 0%; /* Normal State: ~50% width */
	}
	.pkg-banner-item-second {
		flex: 1 1 0%; /* Normal State: ~25% width */
	}
	.pkg-banner-item-third {
		flex: 1 1 0%; /* Normal State: ~25% width */
	}
	.pkg-banner-link {
		display: block;
		width: 100%;
		height: 100%;
		position: relative;
		overflow: hidden;
		text-decoration: none !important;
	}
	.pkg-banner-link img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		display: block;
		cursor: pointer;
		transform: translate3d(0, 0, 0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transition: filter 0.5s ease;
	}
	@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
		/* Smooth hover: each photo keeps a fixed size (its widest state) and stays centred, so the animated
		   panel only reveals more or less of it. No per-frame image re-scaling or repainting. */
		.pkg-banner-grid {
			container-type: inline-size;
			/* Own compositing layer: resizing the panels no longer repaints the whole page */
			transform: translateZ(0);
		}
		.pkg-banner-link img {
			position: absolute;
			top: 0;
			left: 50%;
			height: 100%;
			max-width: none;
			transform: translate3d(-50%, 0, 0);
			will-change: transform;
			transition: none;
		}
		.pkg-banner-item-main .pkg-banner-link img {
			width: 100%;
			width: calc((100cqw - 24px) * 0.5);
		}
		.pkg-banner-item-second .pkg-banner-link img,
		.pkg-banner-item-third .pkg-banner-link img {
			width: 100%;
			width: calc((100cqw - 24px) * 0.425);
		}
		.pkg-banner-grid:has(.pkg-banner-item:hover) .pkg-banner-item {
			transition-delay: 0s;
		}

		/* Fallback direct item hover */
		.pkg-banner-item-second:hover,
		.pkg-banner-item-third:hover {
			flex: 1.7 1 0%;
			z-index: 2;
		}

		/* HOVER SECOND: Second expands to ~42.5%, Main shrinks to ~35%, Third shrinks to ~22.5% */
		.pkg-banner-grid:has(.pkg-banner-item-second:hover) .pkg-banner-item-main {
			flex: 1.4 1 0%;
		}
		.pkg-banner-grid:has(.pkg-banner-item-second:hover) .pkg-banner-item-second {
			flex: 1.7 1 0%;
			z-index: 2;
		}
		.pkg-banner-grid:has(.pkg-banner-item-second:hover) .pkg-banner-item-third {
			flex: 0.9 1 0%;
		}

		/* HOVER THIRD: Third expands to ~42.5%, Main shrinks to ~35%, Second shrinks to ~22.5% */
		.pkg-banner-grid:has(.pkg-banner-item-third:hover) .pkg-banner-item-main {
			flex: 1.4 1 0%;
		}
		.pkg-banner-grid:has(.pkg-banner-item-third:hover) .pkg-banner-item-second {
			flex: 0.9 1 0%;
		}
		.pkg-banner-grid:has(.pkg-banner-item-third:hover) .pkg-banner-item-third {
			flex: 1.7 1 0%;
			z-index: 2;
		}

		/* (The 3% brightness on the hovered photo was removed: it repainted the whole image every frame.) */
	}

	/* Floating Wishlist Button on 3rd Image */
	.pkg-banner-wishlist-btn {
		position: absolute;
		top: 16px;
		right: 16px;
		width: 42px;
		height: 42px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.94);
		backdrop-filter: blur(8px);
		border: 1px solid rgba(255, 255, 255, 0.7);
		color: #475569;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
		transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
		z-index: 5;
	}
	.pkg-banner-wishlist-btn:hover {
		background: #ffffff;
		color: #e11d48;
		transform: scale(1.08);
	}
	.pkg-banner-wishlist-btn.is-active {
		background: #ffffff;
		color: #e11d48;
	}
	.pkg-banner-wishlist-btn.is-active svg {
		fill: #e11d48;
	}

	/* Floating Circular Dark Blue Camera Button (matching reference image) */
	.pkg-camera-btn {
		position: absolute;
		bottom: 16px;
		right: 16px;
		width: 44px;
		height: 44px;
		border-radius: 50%;
		background: #0357af;
		border: 2px solid #ffffff;
		color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.15rem;
		cursor: pointer;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
		transition: all 0.25s ease;
		z-index: 5;
	}
	.pkg-camera-btn:hover {
		background: #02468c;
		transform: scale(1.1);
		color: #ffffff;
		box-shadow: 0 6px 20px rgba(3, 87, 175, 0.45);
	}

	/* ==========================================================================
	   BREADCRUMBS SECTION (DIRECTLY BELOW TOP BANNER)
	   ========================================================================== */
	.pkg-breadcrumb-section {
		background: #ffffff;
		border-bottom: 0;
		padding: 8px 0 0;
		margin-bottom: 16px;
	}
	/* Warm cream strip spanning the page container (package pages only) */
	.pkg-breadcrumb-section .pkg-breadcrumb-list {
		padding: 9px 16px;
		border-radius: 8px;
		background: #FFF7EF;
	}
	.pkg-breadcrumb-list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		list-style: none;
		margin: 0;
		padding: 0;
		font-size: 0.88rem;
		color: #64748b;
	}
	.pkg-breadcrumb-list a {
		color: #475569 !important;
		text-decoration: underline !important;
		font-weight: 500;
		transition: color 0.2s ease;
	}
	.pkg-breadcrumb-list a:hover {
		color: #0357af !important;
	}
	.pkg-breadcrumb-sep {
		color: #94a3b8;
		font-size: 0.85rem;
	}
	.pkg-breadcrumb-current {
		color: #0f172a;
		font-weight: 600;
	}

	/* Trip Title & Meta Details Header */
	.pkg-header-meta {
		margin-bottom: 24px;
	}
	/* Title block above the gallery banner: keeps the .pack-details title/link styles, without that wrapper's outer spacing */
	.pack-details.pkg-title-area {
		margin-top: 0;
		padding-bottom: 0;
	}
	.pkg-title-area .pkg-header-meta {
		margin-bottom: 0;
	}
	.pkg-header-title {
		font-size: 2.15rem;
		font-weight: 700;
		color: #0f172a;
		line-height: 1.25;
		margin-top: 4px;
		margin-bottom: 12px;
		letter-spacing: -0.02em;
	}
	.pkg-header-subrow {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 14px 20px;
		font-size: 0.95rem;
		color: #475569;
	}
	.pkg-header-rating {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		background: #fef3c7;
		color: #92400e;
		padding: 4px 10px;
		border-radius: 20px;
		font-weight: 700;
		font-size: 0.88rem;
	}
	.pkg-header-rating i {
		color: #f59e0b;
	}
	.pkg-header-meta-item {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		color: #334155;
		font-weight: 500;
	}
	.pkg-header-meta-item i,
	.pkg-header-meta-item svg {
		color: #0357af;
	}

	/* ==========================================================================
	   STICKY PRICING / BOOKING CARD (navy price header + cream body)
	   Brand: navy #10466E, orange #F7A32F, Mulish (inherited)
	   ========================================================================== */
	.pkg-sticky-sidebar {
		position: sticky;
		top: 85px;
		z-index: 10;
		margin-bottom: 30px;
	}
	.pkg-pricing-card {
		background: #FFF7EF;
		border-radius: 10px;
		overflow: hidden;
		box-shadow: 0 6px 24px rgba(16, 70, 110, 0.12);
	}
	.pkg-pc-head {
		position: relative;
		background: #10466E;
		color: #ffffff;
		padding: 22px 22px 22px;
		border-radius: 20px 20px 0 0;
	}
	.pkg-pricing-card.has-discount .pkg-pc-head {
		padding-bottom: 54px;
	}
	.pkg-pricing-tag {
		display: inline-block;
		margin-bottom: 10px;
		padding: 4px 12px;
		background: #F7A32F;
		color: #10466E;
		border-radius: 999px;
		font-size: 0.72rem;
		font-weight: 800;
		letter-spacing: 0.05em;
		text-transform: uppercase;
	}
	.pkg-pc-wishlist-btn {
		position: absolute;
		top: 20px;
		right: 20px;
		width: 40px;
		height: 40px;
		color: #10466E;
	}
	/* "Save X per person" ribbon (only when the offer price is lower than the 1-pax price) */
	.pkg-pc-save {
		position: absolute;
		top: 0;
		right: 20px;
		width: 104px;
		padding: 10px 6px 20px;
		background: #FCE3B4;
		color: #10466E;
		text-align: center;
		line-height: 1.15;
		clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 84%, 0 100%);
	}
	.pkg-pc-save span {
		display: block;
		font-size: 0.72rem;
		font-weight: 800;
	}
	.pkg-pc-save span:first-child {
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}
	.pkg-pc-save strong {
		display: block;
		font-size: 1.3rem;
		font-weight: 900;
		color: #10466E;
	}
	/* With the ribbon, the heart sits centred under it; tag and note keep clear of both */
	.pkg-pc-head.has-save .pkg-pc-wishlist-btn {
		top: 98px;
		right: 52px;
	}
	.pkg-pc-head.has-save .pkg-pricing-tag {
		max-width: calc(100% - 118px);
	}
	.pkg-pc-head.has-save .pkg-price-note {
		padding-right: 66px;
	}
	.pkg-price-from {
		font-size: 0.9rem;
		font-weight: 700;
		color: rgba(255, 255, 255, 0.85);
		margin-bottom: 2px;
	}
	.pkg-price-val {
		font-size: 2rem;
		font-weight: 900;
		color: #ffffff;
		line-height: 1.1;
	}
	.pkg-price-note {
		font-size: 0.82rem;
		color: rgba(255, 255, 255, 0.78);
		margin-top: 4px;
	}
	.pkg-pc-body {
		padding: 0 18px 18px;
	}
	.pkg-pricing-card:not(.has-discount) .pkg-pc-body {
		padding-top: 18px;
	}

	/* Group Discounts (collapsible white panel overlapping the navy header) */
	.pkg-discount-wrap {
		position: relative;
		margin: -36px 0 16px;
		background: #ffffff;
		border-radius: 12px;
		box-shadow: 0 2px 10px rgba(16, 70, 110, 0.08);
		overflow: hidden;
	}
	.pkg-discount-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
		padding: 13px 16px;
		background: #E8F1F7;
		border: 0;
		color: #10466E;
		font: inherit;
		text-align: left;
		cursor: pointer;
	}
	.pkg-discount-title {
		font-size: 0.9rem;
		font-weight: 800;
		letter-spacing: 0.02em;
		text-transform: uppercase;
	}
	.pkg-discount-toggle i {
		font-size: 0.85rem;
		transition: transform 0.25s ease;
	}
	.pkg-discount-wrap.is-collapsed .pkg-discount-toggle i {
		transform: rotate(-90deg);
	}
	.pkg-discount-panel {
		display: grid;
		grid-template-rows: 1fr;
		transition: grid-template-rows 0.3s ease;
	}
	.pkg-discount-wrap.is-collapsed .pkg-discount-panel {
		grid-template-rows: 0fr;
	}
	.pkg-discount-inner {
		min-height: 0;
		overflow: hidden;
		padding: 0 16px;
	}
	.pkg-discount-subtitle {
		font-size: 0.78rem;
		color: #64748b;
		line-height: 1.4;
		padding-top: 10px;
	}
	.pkg-discount-table {
		font-size: 0.88rem;
	}
	.pkg-discount-header,
	.pkg-discount-row {
		display: flex;
		justify-content: space-between;
		gap: 10px;
		padding: 9px 0;
		border-bottom: 1px solid #E3EEF6;
	}
	.pkg-discount-header {
		font-weight: 800;
		color: #10466E;
	}
	.pkg-discount-row {
		color: #334155;
	}
	.pkg-discount-row b {
		color: #10466E;
	}
	.pkg-discount-note {
		font-size: 0.78rem;
		color: #64748b;
		padding: 8px 0 12px;
	}

	/* Booking buttons (ID scope beats the generic .pack-details link colours) */
	/* Book This Trip full width; Check Availability + Make an Enquiry share the next row */
	.pkg-pc-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-bottom: 14px;
	}
	.pkg-pc-actions .pkg-pc-btn-book,
	.pkg-pc-actions .pkg-pc-btn-book + .pkg-hero-enq-btn {
		grid-column: 1 / -1;
	}
	#pkg-pricing-card .pkg-pc-actions .pkg-pc-btn-avail,
	#pkg-pricing-card .pkg-pc-actions .pkg-pc-btn-avail + .pkg-hero-enq-btn {
		min-height: 44px;
		padding: 10px 8px;
		font-size: 0.8rem;
		letter-spacing: 0.01em;
	}
	/* Very small phones: keep both labels on one line */
	@media (max-width: 379.98px) {
		#pkg-pricing-card .pkg-pc-actions .pkg-pc-btn-avail,
		#pkg-pricing-card .pkg-pc-actions .pkg-pc-btn-avail + .pkg-hero-enq-btn {
			padding: 10px 4px;
			font-size: 0.72rem;
			letter-spacing: 0;
		}
	}
	#pkg-pricing-card .pkg-pc-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 48px;
		padding: 12px 18px;
		border: 0;
		border-radius: 10px;
		font: inherit;
		font-size: 0.98rem;
		font-weight: 800;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		text-align: center;
		text-decoration: none !important;
		cursor: pointer;
		box-shadow: none;
		transition: background-color 0.2s ease, filter 0.2s ease;
	}
	#pkg-pricing-card .pkg-pc-btn-book {
		background: #C2700A;
		color: #ffffff !important;
	}
	#pkg-pricing-card .pkg-pc-btn-avail {
		background: #CBE7F8;
		border: 1px solid #9ACFEF !important;
		color: #10466E !important;
	}
	#pkg-pricing-card .pkg-hero-enq-btn {
		background: #10466E;
		color: #ffffff !important;
	}
	#pkg-pricing-card .pkg-pc-btn:hover {
		filter: brightness(0.94);
		transform: none;
	}

	/* Tour Expert Card */
	.pkg-expert-card {
		display: flex;
		align-items: center;
		gap: 12px;
		background: #ffffff;
		border: 1px solid #E3EEF6;
		border-radius: 12px;
		padding: 12px 14px;
		margin-bottom: 12px;
	}
	.pkg-expert-avatar-wrap {
		position: relative;
		width: 52px;
		height: 52px;
		flex-shrink: 0;
	}
	.pkg-expert-avatar {
		width: 52px;
		height: 52px;
		border-radius: 50%;
		object-fit: cover;
		border: 2px solid #ffffff;
		box-shadow: 0 0 0 1px #E3EEF6;
	}
	.pkg-expert-online {
		position: absolute;
		bottom: 2px;
		right: 2px;
		width: 11px;
		height: 11px;
		background: #10b981;
		border: 2px solid #ffffff;
		border-radius: 50%;
	}
	.pkg-expert-details {
		flex-grow: 1;
		min-width: 0;
	}
	.pkg-expert-title {
		font-size: 0.78rem;
		color: #64748b;
		line-height: 1.2;
	}
	.pkg-expert-name {
		font-size: 1rem;
		font-weight: 800;
		color: #10466E;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.pkg-expert-actions {
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.pkg-chat-btn,
	#pkg-pricing-card .pkg-chat-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		border-radius: 50%;
		color: #ffffff !important;
		font-size: 1rem;
		text-decoration: none !important;
		transition: transform 0.2s ease, opacity 0.2s ease;
	}
	.pkg-chat-btn:hover {
		transform: scale(1.1);
		color: #ffffff !important;
		opacity: 0.9;
	}
	.pkg-btn-wa {
		background: #25d366 !important;
	}
	.pkg-btn-vb {
		background: #7360f2 !important;
	}

	/* Performance Badge */
	.pkg-response-banner {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		background: #ffffff;
		border-radius: 8px;
		padding: 8px 10px;
		font-size: 0.78rem;
		color: #475569;
		text-align: center;
	}
	.pkg-response-banner i {
		color: #10466E;
		font-size: 0.85rem;
	}
	.pkg-response-banner strong {
		color: #10466E;
	}

	/* Review bar */
	#pkg-pricing-card .pkg-pc-reviews {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-top: 12px;
		padding: 12px 16px;
		background: #10466E;
		border-radius: 12px;
		color: #ffffff !important;
		font-weight: 600;
		text-decoration: none !important;
	}
	.pkg-pc-reviews-score {
		font-size: 1.15rem;
		font-weight: 900;
		padding-right: 12px;
		border-right: 1px solid rgba(255, 255, 255, 0.35);
	}
	.pkg-pc-reviews-score i {
		color: #F7A32F;
	}
	.pkg-pc-reviews-count {
		font-size: 0.85rem;
		color: rgba(255, 255, 255, 0.85);
	}
	.pkg-pc-reviews-link {
		margin-left: auto;
		font-size: 0.85rem;
		color: #ffffff;
		white-space: nowrap;
	}
	.pkg-pc-reviews-link i {
		font-size: 0.7rem;
		margin-left: 4px;
	}
	/* Tablet & mobile (single column): show the price card right after Trip Fact instead of after all content.
	   The main column's two children join the row so the sidebar column can be ordered between them. */
	@media (max-width: 991.98px) {
		.pack-details .pkg-main-col {
			display: contents;
		}
		.pack-details .pkg-main-col > .trip-fact-section,
		.pack-details .pkg-main-col > .content {
			flex: 0 0 auto;
			width: calc(100% - var(--bs-gutter-x, 1.5rem));
			max-width: calc(100% - var(--bs-gutter-x, 1.5rem));
			margin-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
			margin-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
		}
		.pack-details .pkg-main-col > .trip-fact-section {
			order: 1;
		}
		.pack-details .pkg-side-col {
			order: 2;
		}
		.pack-details .pkg-main-col > .content {
			order: 3;
		}
		.pack-details .pkg-side-col .pkg-sticky-sidebar {
			margin-top: 0;
			margin-bottom: 24px;
		}
	}
	@media (prefers-reduced-motion: reduce) {
		.pkg-discount-panel,
		.pkg-discount-toggle i {
			transition: none;
		}
	}

	/* ==========================================================================
	   TRIP FACT (REDESIGNED MINIMAL MULTI-COLUMN SECTION)
	   ========================================================================== */
	.trip-fact-section {
		background: #ffffff;
		padding: 24px 0 16px 0;
		margin-top: 10px;
		margin-bottom: 24px;
		border-bottom: 1px solid #f1f5f9;
	}
	.trip-fact-title {
		font-size: 1.35rem;
		font-weight: 700;
		color: #0f172a;
		margin: 0 0 22px 0;
		letter-spacing: -0.01em;
	}
	.trip-fact-grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 24px;
		row-gap: 24px;
	}
	.trip-fact-item {
		display: flex;
		align-items: flex-start;
		gap: 12px;
		min-width: 0;
		transition: transform 0.2s ease;
	}
	.trip-fact-icon {
		flex: 0 0 38px;
		width: 38px;
		height: 38px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #0874a6;
		background: #f0f7fb;
		border: 1px solid rgba(8, 116, 166, 0.14);
		border-radius: 10px;
		margin-top: 1px;
		transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	}
	.trip-fact-item:hover .trip-fact-icon {
		background: #0874a6;
		color: #ffffff;
		border-color: #0874a6;
		box-shadow: 0 4px 12px rgba(8, 116, 166, 0.25);
		transform: translateY(-2px);
	}
	.trip-fact-icon svg {
		width: 24px;
		height: 24px;
		stroke: currentColor;
		fill: none;
		display: block;
		transition: transform 0.25s ease;
	}
	.trip-fact-item:hover .trip-fact-icon svg {
		transform: scale(1.05);
	}
	.trip-fact-content {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		flex-direction: column;
	}
	.trip-fact-label {
		font-size: 0.82rem;
		color: #64748b;
		font-weight: 500;
		margin: 0 0 3px 0;
		line-height: 1.25;
		letter-spacing: 0.01em;
	}
	.trip-fact-value {
		font-size: 0.95rem;
		font-weight: 700;
		color: #0f172a;
		line-height: 1.35;
		margin: 0;
		word-break: break-word;
		overflow-wrap: break-word;
	}

	@media (max-width: 1199px) and (min-width: 768px) {
		.trip-fact-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			column-gap: 20px;
			row-gap: 20px;
		}
	}
	@media (max-width: 767px) {
		.trip-fact-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			column-gap: 14px;
			row-gap: 18px;
		}
		.trip-fact-icon {
			flex: 0 0 32px;
			width: 32px;
			height: 32px;
			border-radius: 8px;
		}
		.trip-fact-icon svg {
			width: 20px;
			height: 20px;
		}
		.trip-fact-label {
			font-size: 0.78rem;
		}
		.trip-fact-value {
			font-size: 0.88rem;
		}
	}
	@media (max-width: 380px) {
		.trip-fact-grid {
			grid-template-columns: 1fr;
			row-gap: 14px;
		}
	}

	/* Mobile & Tablet Responsive Layout */
	@media (max-width: 991px) and (min-width: 768px) {
		.pkg-banner-grid {
			display: flex;
			gap: 10px;
			height: 360px;
		}
		.pkg-banner-item {
			min-width: 0;
			height: 100%;
			transition: none;
		}
		.pkg-banner-item-main {
			flex: 2 1 0%;
		}
		.pkg-banner-item-second,
		.pkg-banner-item-third {
			flex: 1 1 0%;
		}
		.pkg-header-title {
			font-size: 1.8rem;
		}
		.pkg-sticky-sidebar {
			position: static;
			margin-top: 25px;
		}
	}
	/* Mobile Breakpoint (<= 767px): 2-Row Structured Grid */
	@media (max-width: 767.98px) {
		.pkg-banner-grid {
			display: grid !important;
			grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
			grid-template-rows: auto auto !important;
			gap: 8px !important;
			height: auto !important;
			/* Reset desktop GPU/animation properties — not needed on touch/mobile */
			transition: none;
			transform: none;
			contain: none;
			will-change: auto;
		}
		.pkg-banner-item {
			flex: unset !important;
			min-width: 0 !important;
			transform: none;
			-webkit-backface-visibility: visible;
			backface-visibility: visible;
			transition: none;
			will-change: auto;
		}
		.pkg-banner-item-main {
			grid-column: 1 / span 2 !important;
			height: 320px !important;
		}
		.pkg-banner-item-second,
		.pkg-banner-item-third {
			grid-column: span 1 !important;
			height: 160px !important;
		}
		.pkg-banner-link img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center;
			/* Reset desktop hover animation properties on mobile */
			transition: none;
			transform: none;
			filter: none;
			will-change: auto;
			-webkit-backface-visibility: visible;
			backface-visibility: visible;
		}
		.pkg-header-title {
			font-size: 1.5rem;
		}
		.pkg-sticky-sidebar {
			position: static;
			margin-top: 25px;
		}
		/* Scale down action buttons on smaller mobile secondary images */
		.pkg-banner-wishlist-btn {
			top: 8px;
			right: 8px;
			width: 34px;
			height: 34px;
		}
		.pkg-banner-wishlist-btn svg {
			width: 14px;
			height: 14px;
		}
		.pkg-camera-btn {
			bottom: 8px;
			right: 8px;
			width: 36px;
			height: 36px;
			font-size: 0.95rem;
		}
	}
	@media (max-width: 480px) {
		.pkg-banner-item-main {
			height: 260px;
		}
		.pkg-banner-item-second,
		.pkg-banner-item-third {
			height: 130px;
		}
		.pkg-banner-wishlist-btn {
			top: 6px;
			right: 6px;
			width: 30px;
			height: 30px;
		}
		.pkg-banner-wishlist-btn svg {
			width: 12px;
			height: 12px;
		}
		.pkg-camera-btn {
			bottom: 6px;
			right: 6px;
			width: 32px;
			height: 32px;
			font-size: 0.85rem;
		}
	}
		/* ==========================================================================
		   PACKAGE INFO CARD — Consistent Bordered Card UI for Content Sections
		   ========================================================================== */
		.package-info-card,
		#trip-highlights,
		#overview,
		#itinerary,
		#cost-info,
		#fixed-departures,
		#best-season-weather,
		#equipment-checklist {
			scroll-margin-top: 70px;
		}
		.package-info-card {
			background: #ffffff;
			border: 1px solid #e2e8f0;
			border-radius: 10px;
			box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
			padding: 24px;
			margin-bottom: 24px;
			overflow: hidden;
			word-wrap: break-word;
			overflow-wrap: break-word;
		}
		.package-info-card img {
			max-width: 100%;
			height: auto;
		}
		.package-info-card > h2:first-child,
		.package-info-card > h3:first-child {
			font-size: 1.35rem;
			font-weight: 600;
			color: #0874a6;
			margin-top: 0;
			margin-bottom: 20px;
			line-height: 1.3;
		}
		.package-info-card#trip-intro > h2:first-child,
		.package-info-card#trip-highlights > h2:first-child,
		#trip-highlights > h2:first-child,
		.package-info-card#overview > h2:first-child,
		#overview > h2:first-child,
		#overview h2:first-of-type,
		.package-info-card#season-weather > h2:first-child,
		#season-weather > h2:first-child,
		.package-info-card#trekking-equipment > h2:first-child,
		#trekking-equipment > h2:first-child,
		.package-info-card#fixed-departures h2,
		#fixed-departures h2 {
			color: #0874a6 !important;
			margin-top: 0;
			margin-bottom: 20px;
		}
		.package-info-card#trip-intro > h2:first-child::after,
		.package-info-card#trip-highlights > h2:first-child::after,
		#trip-highlights > h2:first-child::after,
		.package-info-card#overview > h2:first-child::after,
		#overview > h2:first-child::after,
		#overview h2:first-of-type::after,
		.package-info-card#season-weather > h2:first-child::after,
		#season-weather > h2:first-child::after,
		.package-info-card#trekking-equipment > h2:first-child::after,
		#trekking-equipment > h2:first-child::after,
		.package-info-card#fixed-departures h2::after,
		#fixed-departures h2::after {
			content: "";
			display: block;
			height: 2px;
			width: 70px;
			border-radius: 20px;
			background: #0874a6;
			margin-bottom: 10px;
			margin-top: 6px;
		}
		/* Trip-fact card: override its own bottom border */
		.package-info-card.trip-fact-section {
			border-bottom: 1px solid #e2e8f0;
			padding: 24px;
			margin-top: 0;
		}
		/* Trip Highlights specific styles */
		#trip-highlights {
			padding-top: 24px;
			padding-bottom: 24px;
		}
		.pack-details .content #trip-highlights .highlights-content ul,
		.pack-details .content #trip-highlights .highlights-content ol,
		.pack-details .content #trip-highlights ul,
		.pack-details .content #trip-highlights ol,
		.pack-details #trip-highlights .highlights-content ul,
		.pack-details #trip-highlights .highlights-content ol,
		.pack-details #trip-highlights ul,
		.pack-details #trip-highlights ol,
		#trip-highlights .highlights-content ul,
		#trip-highlights .highlights-content ol,
		#trip-highlights ul,
		#trip-highlights ol {
			list-style: none !important;
			list-style-type: none !important;
			padding: 0 !important;
			padding-left: 0 !important;
			padding-inline-start: 0 !important;
			padding-inline: 0 !important;
			margin: 8px 0 !important;
			margin-left: 0 !important;
			margin-inline-start: 0 !important;
			border: none !important;
			display: flex !important;
			flex-direction: column !important;
			gap: 6px !important;
		}
		.pack-details .content #trip-highlights .highlights-content ul li,
		.pack-details .content #trip-highlights .highlights-content ol li,
		.pack-details .content #trip-highlights ul li,
		.pack-details .content #trip-highlights ol li,
		.pack-details #trip-highlights .highlights-content ul li,
		.pack-details #trip-highlights .highlights-content ol li,
		.pack-details #trip-highlights ul li,
		.pack-details #trip-highlights ol li,
		#trip-highlights .highlights-content ul li,
		#trip-highlights .highlights-content ol li,
		#trip-highlights ul li,
		#trip-highlights ol li {
			display: block !important;
			align-items: flex-start !important;
			position: static !important;
			gap: 8px !important;
			padding: 0 !important;
			padding-left: 0 !important;
			padding-top: 0 !important;
			padding-bottom: 0 !important;
			padding-right: 0 !important;
			padding-inline-start: 0 !important;
			padding-inline: 0 !important;
			margin: 0 !important;
			margin-left: 0 !important;
			margin-bottom: 0 !important;
			margin-inline-start: 0 !important;
			line-height: 1.6 !important;
			font-size: 15px !important;
			color: #334155 !important;
			list-style: none !important;
			list-style-type: none !important;
			word-wrap: break-word !important;
			overflow-wrap: break-word !important;
		}
		.pack-details .content #trip-highlights .highlights-content ul li p,
		.pack-details .content #trip-highlights .highlights-content ol li p,
		.pack-details .content #trip-highlights ul li p,
		.pack-details .content #trip-highlights ol li p,
		#trip-highlights .highlights-content ul li p,
		#trip-highlights .highlights-content ol li p,
		#trip-highlights ul li p,
		#trip-highlights ol li p {
			margin: 0 !important;
			padding: 0 !important;
			display: inline !important;
		}
		.pack-details .content #trip-highlights .highlights-content ul li strong,
		.pack-details .content #trip-highlights .highlights-content ol li strong,
		.pack-details .content #trip-highlights ul li strong,
		.pack-details .content #trip-highlights ol li strong,
		#trip-highlights .highlights-content ul li strong,
		#trip-highlights .highlights-content ol li strong,
		#trip-highlights ul li strong,
		#trip-highlights ol li strong {
			color: #0f172a !important;
			font-weight: 600 !important;
		}
		.pack-details .content #trip-highlights .highlights-content ul li:before,
		.pack-details .content #trip-highlights .highlights-content ul li::before,
		.pack-details .content #trip-highlights .highlights-content ol li:before,
		.pack-details .content #trip-highlights .highlights-content ol li::before,
		.pack-details .content #trip-highlights ul li:before,
		.pack-details .content #trip-highlights ul li::before,
		.pack-details .content #trip-highlights ol li:before,
		.pack-details .content #trip-highlights ol li::before,
		.pack-details #trip-highlights .highlights-content ul li:before,
		.pack-details #trip-highlights .highlights-content ul li::before,
		.pack-details #trip-highlights .highlights-content ol li:before,
		.pack-details #trip-highlights .highlights-content ol li::before,
		.pack-details #trip-highlights ul li:before,
		.pack-details #trip-highlights ul li::before,
		.pack-details #trip-highlights ol li:before,
		.pack-details #trip-highlights ol li::before,
		#trip-highlights .highlights-content ul li:before,
		#trip-highlights .highlights-content ul li::before,
		#trip-highlights .highlights-content ol li:before,
		#trip-highlights .highlights-content ol li::before,
		#trip-highlights ul li:before,
		#trip-highlights ul li::before,
		#trip-highlights ol li:before,
		#trip-highlights ol li::before {
			content: "\f0a4" !important;
			font-family: 'Font Awesome 6 Free', 'FontAwesome' !important;
			font-weight: 400 !important;
			color: #6e6e6e !important;
			font-size: 14.5px !important;
			line-height: 1.6 !important;
			flex: 0 0 18px !important;
			width: 18px !important;
			min-width: 18px !important;
			max-width: 18px !important;
			position: static !important;
			left: auto !important;
			top: auto !important;
			display: inline-block !important;
			text-align: left !important;
			box-sizing: border-box !important;
			margin: 0 !important;
			margin-top: 0 !important;
			padding: 0 !important;
			font-style: normal !important;
			font-variant: normal !important;
			text-rendering: auto !important;
			-webkit-font-smoothing: antialiased !important;
		}
		/* Tablet adjustments */
		@media (max-width: 991px) {
			.package-info-card {
				padding: 20px;
				margin-bottom: 20px;
				border-radius: 8px;
			}
			.pack-details .content #trip-highlights .highlights-content ul li,
			.pack-details .content #trip-highlights .highlights-content ol li,
			.pack-details .content #trip-highlights ul li,
			.pack-details .content #trip-highlights ol li,
			.pack-details #trip-highlights .highlights-content ul li,
			.pack-details #trip-highlights .highlights-content ol li,
			.pack-details #trip-highlights ul li,
			.pack-details #trip-highlights ol li,
			#trip-highlights .highlights-content ul li,
			#trip-highlights .highlights-content ol li,
			#trip-highlights ul li,
			#trip-highlights ol li {
				font-size: 14px !important;
				margin: 0 !important;
				margin-bottom: 0 !important;
				padding: 0 !important;
				padding-left: 0 !important;
			}
		}
		/* Mobile adjustments */
		@media (max-width: 767px) {
			.package-info-card {
				padding: 16px;
				margin-bottom: 16px;
				border-radius: 8px;
			}
			.package-info-card > h2:first-child,
			.package-info-card > h3:first-child {
				font-size: 1.2rem;
				margin-bottom: 14px;
			}
			.pack-details .content #trip-highlights .highlights-content ul li,
			.pack-details .content #trip-highlights .highlights-content ol li,
			.pack-details .content #trip-highlights ul li,
			.pack-details .content #trip-highlights ol li,
			.pack-details #trip-highlights .highlights-content ul li,
			.pack-details #trip-highlights .highlights-content ol li,
			.pack-details #trip-highlights ul li,
			.pack-details #trip-highlights ol li,
			#trip-highlights .highlights-content ul li,
			#trip-highlights .highlights-content ol li,
			#trip-highlights ul li,
			#trip-highlights ol li {
				font-size: 14px !important;
				margin: 0 !important;
				margin-bottom: 0 !important;
				padding: 0 !important;
				padding-left: 0 !important;
			}
		}
		/* Small mobile adjustments */
		@media (max-width: 380px) {
			.package-info-card {
				padding: 14px;
				margin-bottom: 14px;
			}
			.pack-details .content #trip-highlights .highlights-content ul li,
			.pack-details .content #trip-highlights .highlights-content ol li,
			.pack-details .content #trip-highlights ul li,
			.pack-details .content #trip-highlights ol li,
			.pack-details #trip-highlights .highlights-content ul li,
			.pack-details #trip-highlights .highlights-content ol li,
			.pack-details #trip-highlights ul li,
			.pack-details #trip-highlights ol li,
			#trip-highlights .highlights-content ul li,
			#trip-highlights .highlights-content ol li,
			#trip-highlights ul li,
			#trip-highlights ol li {
				font-size: 13px !important;
				margin: 0 !important;
				margin-bottom: 0 !important;
				padding: 0 !important;
				padding-left: 0 !important;
			}
		}

		/* ── Season & Weather Section ── */
		.season-weather-section {
			padding-top: 25px;
			padding-bottom: 15px;
		}
		.season-weather-subtitle {
			font-size: 0.88rem;
			color: #64748b;
			margin-top: -10px;
			margin-bottom: 20px;
			line-height: 1.4;
		}
		.season-weather-grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 16px;
			margin-top: 14px;
		}
		.season-card {
			background: #ffffff;
			border: 1px solid #e2e8f0;
			border-radius: 12px;
			padding: 18px 12px 18px;
			text-align: center;
			transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
			position: relative;
			overflow: hidden;
			display: flex;
			flex-direction: column;
			box-shadow: 0 1px 3px rgba(16, 70, 110, 0.04);
		}
		.season-card.is-recommended {
			border-color: rgba(247, 163, 47, 0.45);
			background: linear-gradient(180deg, rgba(247, 163, 47, 0.02) 0%, #ffffff 50%);
			box-shadow: 0 2px 8px rgba(247, 163, 47, 0.08);
		}
		.season-card.is-good {
			border-color: #cbd5e1;
			box-shadow: 0 1px 3px rgba(16, 70, 110, 0.04);
		}
		.season-card.is-not-recommended {
			border-color: #e2e8f0;
			opacity: 0.92;
		}

		.season-badge-wrap {
			min-height: 24px;
			margin-bottom: 8px;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		.season-recommended-tag {
			display: inline-flex;
			align-items: center;
			gap: 4px;
			background: #fffbeb;
			color: #92400e;
			border: 1px solid #fde68a;
			font-size: 0.65rem;
			font-weight: 700;
			padding: 2px 7px;
			border-radius: 12px;
			text-transform: uppercase;
			letter-spacing: 0.02em;
			white-space: nowrap;
		}
		.season-recommended-tag svg {
			width: 11px;
			height: 11px;
			fill: #f59e0b;
			color: #f59e0b;
			flex-shrink: 0;
		}
		.season-good-tag {
			display: inline-flex;
			align-items: center;
			gap: 4px;
			background: #f0fdf4;
			color: #166534;
			border: 1px solid #bbf7d0;
			font-size: 0.65rem;
			font-weight: 700;
			padding: 2px 7px;
			border-radius: 12px;
			text-transform: uppercase;
			letter-spacing: 0.02em;
			white-space: nowrap;
		}
		.season-good-tag svg {
			width: 11px;
			height: 11px;
			color: #16a34a;
			stroke-width: 3;
			flex-shrink: 0;
		}
		.season-not-recommended-tag {
			display: inline-flex;
			align-items: center;
			gap: 4px;
			background: #f8fafc;
			color: #e11919;
			border: 1px solid #e2e8f0;
			font-size: 0.65rem;
			font-weight: 700;
			padding: 2px 7px;
			border-radius: 12px;
			text-transform: uppercase;
			letter-spacing: 0.02em;
			white-space: nowrap;
		}
		.season-not-recommended-tag svg {
			width: 11px;
			height: 11px;
			color: #e11919;
			flex-shrink: 0;
		}

		.season-card-icon {
			width: 44px;
			height: 44px;
			border-radius: 50%;
			background: #f1f5f9;
			color: #10466E;
			display: flex;
			align-items: center;
			justify-content: center;
			margin: 0 auto 10px;
			transition: transform 0.25s ease, background-color 0.25s ease;
		}
		.season-card-icon svg {
			width: 22px;
			height: 22px;
			color: #10466E;
		}

		.season-card-title {
			font-size: 0.95rem;
			font-weight: 700;
			color: #10466E;
			margin-bottom: 3px;
			letter-spacing: -0.01em;
		}

		.season-card-months {
			font-size: 0.78rem;
			color: #64748b;
			font-weight: 500;
			margin-bottom: 12px;
			letter-spacing: 0.01em;
		}

		.season-meta-box {
			background: #f8fafc;
			border-radius: 8px;
			padding: 8px 10px;
			margin-bottom: 12px;
			display: flex;
			flex-direction: column;
			gap: 6px;
			border: 1px solid #f1f5f9;
		}
		.season-meta-row {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 6px;
			font-size: 0.78rem;
			color: #334155;
		}
		.season-meta-row svg {
			width: 13px;
			height: 13px;
			color: #64748b;
			flex-shrink: 0;
		}
		.season-meta-label {
			color: #64748b;
			font-size: 0.72rem;
		}
		.season-meta-val {
			font-weight: 600;
			color: #1e293b;
		}

		.condition-badge {
			display: inline-block;
			font-size: 0.72rem;
			font-weight: 600;
			padding: 2px 8px;
			border-radius: 6px;
			text-align: center;
		}
		.condition-excellent {
			background: #dcfce7;
			color: #15803d;
			border: 1px solid #bbf7d0;
		}
		.condition-good {
			background: #e0f2fe;
			color: #0369a1;
			border: 1px solid #bae6fd;
		}
		.condition-moderate {
			background: #fef3c7;
			color: #b45309;
			border: 1px solid #fde68a;
		}
		.condition-challenging {
			background: #f1f5f9;
			color: #475569;
			border: 1px solid #e2e8f0;
		}

		.season-card-weather {
			font-size: 0.82rem;
			color: #475569;
			line-height: 1.55;
			margin-bottom: 0;
			flex-grow: 1;
			text-align: left;
		}
		.season-card-note {
			font-size: 0.76rem;
			color: #64748b;
			font-style: italic;
			margin-top: 10px;
			padding-top: 8px;
			border-top: 1px dashed #e2e8f0;
			margin-bottom: 0;
			text-align: left;
		}

		/* Hover — desktop only */
		@media (hover: hover) and (pointer: fine) {
			.season-card:hover {
				transform: translateY(-3px);
				box-shadow: 0 8px 24px rgba(16, 70, 110, 0.08);
				border-color: #cbd5e1;
			}
			.season-card:hover .season-card-icon {
				transform: scale(1.06);
				background: #e2e8f0;
			}
			.season-card.is-recommended:hover {
				border-color: rgba(247, 163, 47, 0.7);
				box-shadow: 0 8px 24px rgba(247, 163, 47, 0.12);
			}
		}

		/* Tablet: 2×2 grid */
		@media (max-width: 991px) {
			.season-weather-grid {
				grid-template-columns: repeat(2, 1fr);
				gap: 14px;
			}
			.season-card {
				padding: 16px 12px 16px;
			}
			.season-card-title {
				font-size: 0.92rem;
			}
		}
		/* Mobile: 2-column */
		@media (max-width: 767px) {
			.season-weather-grid {
				grid-template-columns: repeat(2, 1fr);
				gap: 10px;
			}
			.season-card {
				padding: 14px 10px 14px;
			}
			.season-card-icon {
				width: 36px;
				height: 36px;
				margin-bottom: 8px;
			}
			.season-card-icon svg {
				width: 18px;
				height: 18px;
			}
			.season-card-title {
				font-size: 0.86rem;
			}
			.season-card-months { font-size: 0.72rem; }
			.season-card-weather { font-size: 0.78rem; }
			.season-card-note { font-size: 0.72rem; }
			.season-meta-row { font-size: 0.74rem; }
		}
		/* Very small mobile: single column */
		@media (max-width: 380px) {
			.season-weather-grid {
				grid-template-columns: 1fr;
				gap: 10px;
			}
			.season-card {
				padding: 14px 12px 12px;
			}
			.season-card-title {
				font-size: 0.90rem;
			}
		}

		/* ── Trekking Equipment Checklist Section ── */
		.equipment-checklist-section {
			padding-top: 25px;
			padding-bottom: 15px;
		}
		.equipment-checklist-subtitle {
			font-size: 0.88rem;
			color: #64748b;
			margin-top: -10px;
			margin-bottom: 20px;
			line-height: 1.4;
		}
		.equipment-grid {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 20px;
			margin-top: 12px;
		}
		.equipment-card {
			background: #ffffff;
			border: 1px solid #e8ecf1;
			border-radius: 10px;
			padding: 20px 18px;
			display: flex;
			flex-direction: column;
			height: auto;
			box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
			transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
			min-width: 0;
			overflow: hidden;
		}
		.equipment-card-header {
			display: flex;
			align-items: center;
			gap: 12px;
			padding-bottom: 12px;
			margin-bottom: 14px;
			border-bottom: 1px solid #f1f5f9;
		}
		.equipment-card-icon-badge {
			width: 42px;
			height: 42px;
			border-radius: 8px;
			background: #f0f7fb;
			color: #0874a6;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
			transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
		}
		.equipment-card-svg-icon {
			width: 25px;
			height: 25px;
			display: block;
			object-fit: contain;
			filter: invert(27%) sepia(85%) saturate(1450%) hue-rotate(175deg) brightness(92%) contrast(96%);
			transition: filter 0.2s ease;
		}
		.equipment-card-title {
			font-size: 1.05rem;
			font-weight: 700;
			color: #1e293b;
			margin: 0;
			padding: 0;
			line-height: 1.25;
			word-break: break-word;
		}
		.equipment-list {
			list-style: none !important;
			padding: 0 !important;
			margin: 0 !important;
			display: flex;
			flex-direction: column;
			gap: 10px;
		}
		.equipment-item {
			display: flex;
			align-items: flex-start;
			gap: 10px;
			font-size: 0.9rem;
			color: #334155;
			line-height: 1.5;
			word-break: break-word;
			overflow-wrap: anywhere;
		}
		.equipment-bullet {
			color: #0874a6;
			font-size: 0.85rem;
			line-height: 1.5;
			flex-shrink: 0;
			user-select: none;
			font-weight: bold;
		}
		.equipment-item-text {
			flex: 1;
		}

		/* Hover effect for desktop */
		@media (hover: hover) and (pointer: fine) {
			.equipment-card:hover {
				transform: translateY(-3px);
				box-shadow: 0 6px 18px rgba(8, 116, 166, 0.08);
				border-color: #cbd5e1;
			}
			.equipment-card:hover .equipment-card-icon-badge {
				background: #0874a6;
				color: #ffffff;
			}
			.equipment-card:hover .equipment-card-svg-icon {
				filter: brightness(0) invert(1);
			}
		}

		/* Tablet & Mobile Breakpoints */
		@media (max-width: 767px) {
			.equipment-grid {
				grid-template-columns: 1fr;
				gap: 16px;
			}
			.equipment-card {
				padding: 16px 14px;
			}
			.equipment-card-icon-badge {
				width: 38px;
				height: 38px;
			}
			.equipment-card-svg-icon {
				width: 24px;
				height: 24px;
			}
			.equipment-card-title {
				font-size: 0.98rem;
				line-height: 1.25;
			}
			.equipment-item {
				font-size: 0.86rem;
				gap: 8px;
			}
		}

		/* =========================================================
		   EXPERT ITINERARY — OUTLINE & DETAILED REDESIGN
		   ========================================================= */
		.itinerary-section {
			background: #ffffff;
			border-radius: 12px;
			padding: 24px 28px;
			margin-bottom: 30px;
			box-shadow: 0 1px 4px rgba(0,0,0,0.05);
		}
		.itinerary-header-bar {
			display: flex;
			align-items: center;
			justify-content: space-between;
			flex-wrap: wrap;
			gap: 16px;
			margin-bottom: 28px;
			padding-bottom: 18px;
			border-bottom: 1px solid #f1f5f9;
		}
		.itinerary-main-heading {
			font-size: 1.75rem;
			font-weight: 700;
			margin: 0;
			line-height: 1.2;
			letter-spacing: -0.01em;
		}
		.itinerary-main-heading .heading-dark {
			color: #123459;
		}
		.itinerary-main-heading .heading-blue {
			color: #0082d6;
		}
		.itinerary-mode-toggle {
			display: inline-flex;
			align-items: center;
			background: #f1f5f9;
			padding: 4px;
			border-radius: 9999px;
			border: 1px solid #e2e8f0;
		}
		.itinerary-toggle-btn {
			display: inline-flex;
			align-items: center;
			gap: 7px;
			background: transparent;
			border: none;
			outline: none;
			padding: 7px 18px;
			border-radius: 9999px;
			font-size: 0.82rem;
			font-weight: 700;
			letter-spacing: 0.04em;
			color: #64748b;
			cursor: pointer;
			transition: all 0.22s ease;
		}
		.itinerary-toggle-btn svg {
			flex-shrink: 0;
			transition: stroke 0.22s ease;
		}
		.itinerary-toggle-btn:hover {
			color: #0082d6;
		}
		.itinerary-toggle-btn.active {
			background: #ffffff;
			color: #0082d6;
			box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
		}
		/* Timeline Container */
		.itinerary-timeline-container {
			position: relative;
		}
		.itinerary-day-row {
			display: flex;
			position: relative;
			gap: 20px;
		}
		/* Timeline Column */
		.itinerary-timeline-col {
			display: flex;
			flex-direction: column;
			align-items: center;
			flex-shrink: 0;
			width: 38px;
			position: relative;
		}
		.itinerary-badge {
			width: 38px;
			height: 38px;
			border-radius: 50%;
			background: #e8f4fc;
			color: #0082d6;
			font-size: 0.82rem;
			font-weight: 700;
			display: flex;
			align-items: center;
			justify-content: center;
			z-index: 2;
			transition: all 0.22s ease;
			border: 2px solid #ffffff;
			box-shadow: 0 0 0 1px #e2e8f0;
		}
		.itinerary-day-row.is-open .itinerary-badge,
		.itinerary-timeline-container.mode-detailed .itinerary-day-row .itinerary-badge {
			background: #0082d6;
			color: #ffffff;
			box-shadow: 0 3px 10px rgba(0, 130, 214, 0.35);
		}
		.itinerary-line {
			position: absolute;
			top: 38px;
			bottom: -8px;
			left: 50%;
			transform: translateX(-50%);
			width: 2px;
			background: #e2e8f0;
			z-index: 1;
		}
		.itinerary-day-row:last-child .itinerary-line {
			display: none;
		}
		/* Content Column */
		.itinerary-content-col {
			flex: 1;
			min-width: 0;
			padding-bottom: 24px;
		}
		.itinerary-day-row:last-child .itinerary-content-col {
			padding-bottom: 0;
		}
		/* Day Header */
		.itinerary-day-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 16px;
			padding: 10px 14px;
			border-radius: 10px;
			cursor: pointer;
			background: #ffffff;
			border: 1px solid transparent;
			transition: all 0.2s ease;
			user-select: none;
		}
		.itinerary-day-header:hover {
			background: #f8fafc;
			border-color: #e2e8f0;
		}
		.itinerary-header-info {
			flex: 1;
			min-width: 0;
		}
		.itinerary-day-label {
			display: block;
			font-size: 0.70rem;
			font-weight: 800;
			letter-spacing: 0.05em;
			color: #0082d6;
			margin-bottom: 2px;
			text-transform: uppercase;
		}
		/* Day Title */
		.pack-details .itinerary-day-header h3.itinerary-title,
		.pack-details h3.itinerary-title,
		.pack-details .itinerary-title,
		.itinerary-section .itinerary-title,
		.itinerary-title {
			font-size: 0.95rem;
			font-weight: 600;
			color: #000000;
			margin: 0;
			padding-top: 0;
			line-height: 1.35;
			white-space: nowrap;
			transition: color 0.2s ease;
		}
		.pack-details .itinerary-day-header:hover h3.itinerary-title,
		.pack-details .itinerary-day-header:focus h3.itinerary-title,
		.pack-details .itinerary-day-header:active h3.itinerary-title,
		.pack-details .itinerary-day-header:hover .itinerary-title,
		.pack-details .itinerary-day-header:focus .itinerary-title,
		.pack-details .itinerary-day-header:active .itinerary-title,
		.itinerary-day-header:hover .itinerary-title,
		.itinerary-title:hover,
		.itinerary-title:focus,
		.itinerary-title:active {
			color: #000000;
		}
		/* Chevron Button */
		.itinerary-chevron-wrap {
			width: 32px;
			height: 32px;
			border-radius: 50%;
			background: #f0f7fc;
			color: #0082d6;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
			transition: all 0.25s ease;
		}
		.itinerary-chevron-wrap svg {
			transition: transform 0.25s ease;
		}
		.itinerary-day-header:hover .itinerary-chevron-wrap {
			background: #0082d6;
			color: #ffffff;
		}
		.itinerary-day-row.is-open .itinerary-chevron-wrap svg {
			transform: rotate(180deg);
		}
		/* Day Body */
		.itinerary-day-body {
			display: none;
			padding: 14px 14px 10px 14px;
			animation: fadeInItinerary 0.25s ease forwards;
		}
		.itinerary-day-row.is-open .itinerary-day-body {
			display: block;
		}
		@keyframes fadeInItinerary {
			from { opacity: 0; transform: translateY(-4px); }
			to { opacity: 1; transform: translateY(0); }
		}
		/* Description Text */
		.itinerary-desc {
			color: #475569;
			font-size: 0.94rem;
			line-height: 1.65;
			margin-bottom: 18px;
		}
		.itinerary-desc p {
			margin-bottom: 10px;
		}
		.itinerary-desc p:last-child {
			margin-bottom: 0;
		}
		/* Metadata Box */
		.itinerary-meta-box {
			display: flex;
			flex-wrap: wrap;
			gap: 12px;
			background: #f8fafc;
			border: 1px solid #e2e8f0;
			border-radius: 8px;
			padding: 12px 16px;
			margin-bottom: 18px;
		}
		.itinerary-meta-cell {
			display: flex;
			align-items: center;
			gap: 10px;
			flex: 1;
			min-width: 130px;
		}
		.itinerary-meta-icon {
			width: 34px;
			height: 34px;
			border-radius: 6px;
			background: #e8f4fc;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
		}
		.itinerary-meta-texts {
			display: flex;
			flex-direction: column;
		}
		.itinerary-meta-label {
			font-size: 0.72rem;
			font-weight: 600;
			text-transform: uppercase;
			letter-spacing: 0.04em;
			color: #94a3b8;
			line-height: 1.2;
		}
		.itinerary-meta-val {
			font-size: 0.84rem;
			font-weight: 700;
			color: #123459;
			line-height: 1.3;
		}
		/* Itinerary Images — Single-line Gallery Row */
		.itinerary-day-body .itnr-img {
			display: flex;
			flex-wrap: nowrap;
			gap: 12px;
			margin-top: 14px;
			overflow-x: auto;
			scrollbar-width: thin;
			-webkit-overflow-scrolling: touch;
		}
		.itinerary-day-body .itnr-img a {
			flex: 1 1 0;
			max-width: 220px;
			min-width: 100px;
			height: 135px;
			aspect-ratio: 220 / 135;
			display: block;
			border-radius: 8px;
			overflow: hidden;
			position: relative;
			box-shadow: 0 2px 6px rgba(0,0,0,0.06);
			transition: transform 0.2s ease, box-shadow 0.2s ease;
			flex-shrink: 0;
		}
		.itinerary-day-body .itnr-img a:hover {
			transform: translateY(-2px);
			box-shadow: 0 4px 12px rgba(0,0,0,0.12);
		}
		.itinerary-day-body .itnr-img img {
			display: block;
			width: 100%;
			height: 100%;
			aspect-ratio: 220 / 135;
			object-fit: cover;
			border-radius: 8px;
		}
		/* Responsive Styles */
		@media (max-width: 767px) {
			.itinerary-section {
				padding: 18px 16px;
				border-radius: 10px;
			}
			.itinerary-header-bar {
				margin-bottom: 20px;
				padding-bottom: 14px;
			}
			.itinerary-main-heading {
				font-size: 1.45rem;
			}
			.itinerary-day-row {
				gap: 12px;
			}
			.itinerary-timeline-col {
				width: 36px;
			}
			.itinerary-badge {
				width: 34px;
				height: 34px;
				font-size: 0.78rem;
			}
			.itinerary-line {
				top: 34px;
			}
			.itinerary-day-header {
				padding: 6px 10px;
			}
			.pack-details .itinerary-day-header h3.itinerary-title,
			.pack-details h3.itinerary-title,
			.pack-details .itinerary-title,
			.itinerary-section .itinerary-title,
			.itinerary-title {
				font-size: 0.88rem;
				white-space: normal;
				overflow: visible;
				text-overflow: unset;
				line-height: 1.35;
				padding-top: 0;
				color: #000000;
			}
			.itinerary-chevron-wrap {
				width: 28px;
				height: 28px;
			}
			.itinerary-day-body {
				padding: 10px 4px;
			}
			.itinerary-meta-box {
				flex-direction: column;
				gap: 8px;
				padding: 10px 12px;
			}
			.itinerary-meta-cell {
				min-width: 100%;
			}
			.itinerary-day-body .itnr-img a {
				height: 110px;
				min-width: 85px;
				max-width: 150px;
			}
			.itinerary-day-body .itnr-img img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
/* =========================================================
   FIXED DEPARTURES (package page): month tabs + departure rows + private trip banner
   Layout from the owner's reference design; brand colours #10466E / #F7A32F; Mulish
   ========================================================= */
.dep-month-group {
	display: none;
}

.dep-month-group.is-active {
	display: block;
}

#fixed-departures.fd-section {
	background: #FFF7EF;
	border-color: #FDE9D6;
}

.fd-select-label {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: #424242;
}

/* Month tabs */
.fd-month-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}

.fd-tab {
	min-width: 118px;
	padding: 9px 18px;
	border: 0;
	border-radius: 6px;
	background: #ffffff;
	color: #1e293b;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.fd-tab:hover {
	background: #FDE9D6;
}

.fd-tab.active {
	background: #F7A32F;
	color: #ffffff;
	font-weight: 600;
}

.fd-tab:focus-visible {
	outline: 2px solid #10466E;
	outline-offset: 2px;
}

/* Departure rows */
.fd-row {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 0.9fr) auto;
	align-items: center;
	gap: 10px 20px;
	margin: 0 0 10px;
	padding: 16px 20px;
	border-radius: 14px;
	background: #FFEEDF;
}

.fd-cell {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.fd-date {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: #2b2b2b;
}

.fd-sub {
	font-size: 14px;
	line-height: 1.4;
	color: #5b5b5b;
}

.fd-status-text {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: #3a3a3a;
}

.fd-status-text.status-limited,
.fd-status-text.status-filling {
	color: #B45309;
}

.fd-status-text.status-closed {
	color: #94a3b8;
}

.fd-price-now {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
	color: #10466E;
}

.fd-price-was {
	font-size: 15px;
	line-height: 1.3;
	color: #9a918a;
	text-decoration: line-through;
}

.fd-action {
	align-items: flex-end;
}

a.dep-btn-join.fd-join,
.fd-closed-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 116px;
	padding: 10px 22px;
	border: 0;
	border-radius: 999px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

a.dep-btn-join.fd-join {
	background: #10466E;
	color: #ffffff !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}

a.dep-btn-join.fd-join:hover,
a.dep-btn-join.fd-join:focus-visible {
	background: #0B3452;
	outline: none;
}

.fd-closed-btn {
	background: #cbd5e1;
	color: #ffffff;
	cursor: not-allowed;
}

.fd-row.is-closed {
	opacity: 0.75;
}

.fd-note {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #6b5b4b;
}

.fd-everyday-notice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 16px 0 0;
	padding: 12px 16px;
	border-radius: 10px;
	background: #ffffff;
	font-size: 14px;
	line-height: 1.55;
	color: #475569;
}

.fd-everyday-notice svg {
	flex-shrink: 0;
	margin-top: 1px;
	color: #F7A32F;
}

/* Private trip banner (same theme as the departure rows) */
.dep-private-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 16px;
	padding: 22px 24px;
	border-radius: 14px;
	background: #FFEEDF;
}

.dep-private-left {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	min-width: 0;
}

.dep-private-icon {
	display: flex;
	flex: 0 0 52px;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #ffffff;
	color: #10466E;
}

.dep-private-text {
	min-width: 0;
}

.dep-private-badge {
	display: inline-block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: #B45309;
}

#fixed-departures .dep-private-title {
	margin: 0 0 6px;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.3;
	color: #10466E;
}

.dep-private-desc {
	margin: 0 0 12px;
	font-size: 14.5px;
	line-height: 1.6;
	color: #5b5b5b;
}

.dep-private-contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#fixed-departures a.dep-contact-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px;
	border-radius: 999px;
	background: #ffffff;
	color: #10466E !important;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#fixed-departures a.dep-contact-pill:hover,
#fixed-departures a.dep-contact-pill:focus-visible {
	background: #10466E;
	color: #ffffff !important;
	outline: none;
}

.dep-wa-pill .dep-wa-svg {
	color: #25D366;
}

.dep-private-right {
	flex-shrink: 0;
}

a.dep-private-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	border-radius: 999px;
	background: #10466E;
	color: #ffffff !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}

a.dep-private-btn:hover,
a.dep-private-btn:focus-visible {
	background: #0B3452;
	outline: none;
}

/* Tablet: date/status/price on one line, button below */
@media (max-width: 1199.98px) {
	.fd-row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto;
	}
	.fd-action {
		grid-column: 1 / -1;
		align-items: stretch;
	}
	a.dep-btn-join.fd-join,
	.fd-closed-btn {
		width: 100%;
	}
}

/* Phones: two columns per row, full-width button */
@media (max-width: 767.98px) {
	/* Month tabs: one swipeable row */
	.fd-month-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 2px;
	}
	.fd-month-tabs::-webkit-scrollbar {
		display: none;
	}
	.fd-tab {
		flex: 0 0 auto;
		min-width: 104px;
		padding: 9px 14px;
		font-size: 14px;
	}
	.fd-row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 12px 14px;
		padding: 14px 16px;
	}
	.fd-date,
	.fd-status-text {
		font-size: 15px;
	}
	.fd-sub {
		font-size: 13px;
	}
	.fd-price-now {
		font-size: 17px;
	}
	.dep-private-banner {
		flex-direction: column;
		align-items: stretch;
		padding: 20px 18px;
	}
	.dep-private-left {
		flex-direction: column;
		gap: 12px;
	}
	a.dep-private-btn {
		width: 100%;
	}
}


/* ==========================================================================
   SECTION 12: FREQUENTLY ASKED QUESTIONS (FAQS) ACCORDION
   ========================================================================== */
								.faq-question {
									font-size: 18px;
									font-weight: bold;
									cursor: pointer;
									position: relative;
									padding: 12px 12px 12px 36px;
									background: #f7f7f7;
									margin-top: 10px;
									border-left: 4px solid #eb3d54;
								}
								.faq-question:hover {
									background: #eee;
								}
								.faq-icon {
									position: absolute;
									left: 12px;
									top: 50%;
									transform: translateY(-50%);
									font-size: 20px;
									font-weight: bold;
								}
								.faq-answer-wrapper {
									overflow: hidden;
									max-height: 0;
									transition: max-height 0.3s ease-out;
								}
								.faq-answer-wrapper.open {
									padding: 10px 0;
								}

/* ==========================================================================
   SECTION 13: COST INFORMATION (INCLUDES / EXCLUDES & PRICING TABLE)
   ========================================================================== */
.pack-details .content #cost-info,
.package-info-card#cost-info,
#cost-info {
	padding-top: 24px !important;
}

#cost-info h2,
#cost-info .includes > h2:first-child {
	color: #0874a6 !important;
	font-size: 1.35rem;
	font-weight: 600;
	margin-top: 0;
	margin-bottom: 20px;
	line-height: 1.3;
}

#cost-info h2::after,
#cost-info .includes > h2:first-child::after {
	content: "";
	display: block;
	height: 2px;
	width: 70px;
	border-radius: 20px;
	background: #0874a6;
	margin-bottom: 16px;
	margin-top: 6px;
}

/* Paragraphs & Typography inside Cost Info */
#cost-info p {
	color: #334155;
	font-size: 14.5px;
	line-height: 1.6;
	margin-bottom: 14px;
}

#cost-info p strong,
#cost-info p b {
	color: #0f172a;
	font-weight: 700;
}

/* Group Discount Pricing Table */
#cost-info table {
	width: 100%;
	max-width: 600px;
	border-collapse: separate;
	border-spacing: 0;
	margin: 16px 0 20px 0;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	overflow: hidden;
	font-size: 14px;
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

#cost-info table thead tr th,
#cost-info table tr th,
#cost-info table th {
	background: #f8fafc;
	color: #1e293b;
	font-weight: 700;
	font-size: 13.5px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	padding: 12px 18px;
	border-bottom: 2px solid #e2e8f0;
	border-top: none;
	border-left: none;
	border-right: none;
	text-align: left;
}

#cost-info table tbody tr td,
#cost-info table tr td,
#cost-info table td {
	padding: 11px 18px;
	color: #334155;
	border-bottom: 1px solid #f1f5f9;
	border-top: none;
	border-left: none;
	border-right: none;
	vertical-align: middle;
	line-height: 1.5;
}

#cost-info table tbody tr:nth-child(even) td,
#cost-info table tr:nth-child(even) td {
	background: #fbfcfe;
}

#cost-info table tbody tr:hover td,
#cost-info table tr:hover td {
	background: #f1f5f9;
}

#cost-info table tbody tr:last-child td,
#cost-info table tr:last-child td {
	border-bottom: none;
}

#cost-info table td strong,
#cost-info table td b {
	color: #0874a6;
	font-weight: 700;
}

/* Cost Includes Card (Emerald Green Accent) */
#cost-info .includes,
.pack-details .content #cost-info .includes {
	background: #ffffff;
	border: 1px solid #d1fae5;
	border-left: 4px solid #10b981;
	border-radius: 10px;
	padding: 22px 24px;
	margin-top: 0 !important;
	margin-bottom: 24px;
	box-shadow: 0 2px 6px rgba(16, 185, 129, 0.04);
}

#cost-info > .excludes:first-child {
	margin-top: 0 !important;
}

#cost-info .includes h3 {
	color: #065f46;
	font-size: 1.15rem;
	font-weight: 700;
	margin-top: 18px;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}

#cost-info .includes h3:first-of-type {
	margin-top: 0;
}

#cost-info .includes ul,
.pack-details .content #cost-info .includes ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#cost-info .includes ul li,
.pack-details .content #cost-info .includes ul li {
	position: relative !important;
	display: block !important;
	padding-left: 28px !important;
	padding-top: 2px !important;
	padding-bottom: 2px !important;
	color: #334155 !important;
	font-size: 14.5px !important;
	line-height: 1.6 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

#cost-info .includes ul li::before,
.pack-details .content #cost-info .includes ul li::before {
	content: "\f058" !important;
	font-family: "Font Awesome 6 Free", "FontAwesome" !important;
	font-weight: 400 !important;
	color: green !important;
	position: absolute !important;
	left: 0 !important;
	top: 3px !important;
	font-size: 15px !important;
	line-height: 1 !important;
	height: auto !important;
	width: auto !important;
}

/* Cost Excludes Card (Crimson Red Accent) */
#cost-info .excludes,
.pack-details .content #cost-info .excludes {
	background: #ffffff;
	border: 1px solid #fee2e2;
	border-left: 4px solid #ef4444;
	border-radius: 10px;
	padding: 22px 24px;
	margin-top: 24px;
	margin-bottom: 10px;
	box-shadow: 0 2px 6px rgba(239, 68, 68, 0.04);
}

#cost-info .excludes h3 {
	color: #991b1b;
	font-size: 1.15rem;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}

#cost-info .excludes ul,
.pack-details .content #cost-info .excludes ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#cost-info .excludes ul li,
.pack-details .content #cost-info .excludes ul li {
	position: relative !important;
	display: block !important;
	padding-left: 28px !important;
	padding-top: 2px !important;
	padding-bottom: 2px !important;
	color: #334155 !important;
	font-size: 14.5px !important;
	line-height: 1.6 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

#cost-info .excludes ul li::before,
.pack-details .content #cost-info .excludes ul li::before {
	content: "\f00d" !important;
	font-family: "Font Awesome 6 Free", "FontAwesome" !important;
	font-weight: 900 !important;
	color: #eb3d54 !important;
	position: absolute !important;
	left: 0 !important;
	top: 3px !important;
	font-size: 15px !important;
	line-height: 1 !important;
	height: auto !important;
	width: auto !important;
}

/* Tablet & Mobile Responsiveness */
@media (max-width: 991px) {
	#cost-info .includes,
	#cost-info .excludes {
		padding: 20px 20px;
	}
	#cost-info table th,
	#cost-info table td {
		padding: 10px 14px;
	}
}

@media (max-width: 767px) {
	.pack-details .content #cost-info,
	.package-info-card#cost-info {
		padding: 16px 14px !important;
	}
	#cost-info .includes {
		padding: 16px 14px;
		margin-top: 0 !important;
		margin-bottom: 16px;
	}
	#cost-info > .excludes:first-child {
		margin-top: 0 !important;
	}
	#cost-info .excludes {
		padding: 16px 14px;
		margin-top: 16px;
		margin-bottom: 16px;
	}
	#cost-info .includes ul li,
	#cost-info .excludes ul li {
		font-size: 14px !important;
		padding-left: 24px !important;
	}
	#cost-info .includes ul li::before,
	#cost-info .excludes ul li::before {
		font-size: 14px !important;
		top: 3px !important;
	}
	#cost-info table {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		font-size: 13px;
		margin: 12px 0 16px 0;
		background:
			linear-gradient(to right, #ffffff 30%, rgba(255, 255, 255, 0)),
			linear-gradient(to right, rgba(255, 255, 255, 0), #ffffff 70%) 100% 0,
			radial-gradient(farthest-side at 0 50%, rgba(16, 70, 110, 0.18), rgba(0, 0, 0, 0)),
			radial-gradient(farthest-side at 100% 50%, rgba(16, 70, 110, 0.18), rgba(0, 0, 0, 0)) 100% 0;
		background-repeat: no-repeat;
		background-color: #ffffff;
		background-size: 36px 100%, 36px 100%, 12px 100%, 12px 100%;
		background-attachment: local, local, scroll, scroll;
		scrollbar-width: thin;
		scrollbar-color: #10466E #f1f5f9;
	}
	#cost-info table::-webkit-scrollbar {
		height: 5px;
	}
	#cost-info table::-webkit-scrollbar-track {
		background: #f1f5f9;
		border-radius: 4px;
	}
	#cost-info table::-webkit-scrollbar-thumb {
		background: #10466E;
		border-radius: 4px;
	}
	#cost-info table th,
	#cost-info table td {
		padding: 9px 12px;
		white-space: nowrap;
	}
}

@media (max-width: 380px) {
	#cost-info .includes,
	#cost-info .excludes {
		padding: 14px 10px;
	}
	#cost-info .includes ul li,
	#cost-info .excludes ul li {
		font-size: 13px !important;
		padding-left: 22px !important;
	}
}

/* ==========================================================================
   SECTION 14: TRIP OVERVIEW SECTION POLISH
   ========================================================================== */
#overview,
.package-info-card#overview {
	padding: 24px;
	margin-bottom: 24px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	color: #334155;
	font-size: 15px;
	line-height: 1.7;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

#overview h2,
.package-info-card#overview h2 {
	color: #0874a6;
	font-size: 1.35rem;
	font-weight: 600;
	margin-top: 24px;
	margin-bottom: 16px;
	line-height: 1.35;
	letter-spacing: -0.2px;
}

#overview h2:first-child,
.package-info-card#overview > h2:first-child,
#overview h2:first-of-type {
	margin-top: 0;
}

#overview h3,
.package-info-card#overview h3 {
	color: #0f294a;
	font-size: 1.15rem;
	font-weight: 600;
	margin-top: 20px;
	margin-bottom: 12px;
	line-height: 1.4;
}

#overview h4,
.package-info-card#overview h4 {
	color: #1e293b;
	font-size: 1.05rem;
	font-weight: 600;
	margin-top: 16px;
	margin-bottom: 10px;
	line-height: 1.45;
}

#overview p,
.package-info-card#overview p {
	color: #334155;
	font-size: 15px;
	line-height: 1.7;
	margin-top: 0;
	margin-bottom: 16px;
}

#overview p:last-child,
.package-info-card#overview p:last-child {
	margin-bottom: 0;
}

#overview strong,
#overview b,
.package-info-card#overview strong,
.package-info-card#overview b {
	color: #0f172a;
	font-weight: 600;
}

#overview a,
.package-info-card#overview a {
	color: #0874a6;
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 0.2s ease;
}

#overview a:hover,
.package-info-card#overview a:hover {
	color: #065980;
}

#overview ul,
.package-info-card#overview ul,
.pack-details .content #overview ul,
.pack-details #overview ul {
	list-style: none !important;
	list-style-type: none !important;
	padding: 0 !important;
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
	margin: 8px 0 14px 0 !important;
	margin-left: 0 !important;
	border: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

#overview ul li,
.package-info-card#overview ul li,
.pack-details .content #overview ul li,
.pack-details #overview ul li {
	display: block !important;
	align-items: flex-start !important;
	position: static !important;
	gap: 8px !important;
	padding: 0 !important;
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
	margin: 0 !important;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
	color: #334155 !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	list-style: none !important;
	list-style-type: none !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
}

#overview ul li:before,
#overview ul li::before,
.package-info-card#overview ul li:before,
.package-info-card#overview ul li::before,
.pack-details .content #overview ul li:before,
.pack-details .content #overview ul li::before,
.pack-details #overview ul li:before,
.pack-details #overview ul li::before {
	content: "\f0a4" !important;
	font-family: "Font Awesome 6 Free", "FontAwesome" !important;
	font-weight: 400 !important;
	color: #6e6e6e !important;
	font-size: 14.5px !important;
	line-height: 1.6 !important;
	flex: 0 0 18px !important;
	width: 18px !important;
	min-width: 18px !important;
	max-width: 18px !important;
	position: static !important;
	left: auto !important;
	top: auto !important;
	display: inline-block !important;
	text-align: left !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	margin-top: 0 !important;
	padding: 0 !important;
	font-style: normal !important;
	font-variant: normal !important;
	text-rendering: auto !important;
	-webkit-font-smoothing: antialiased !important;
}

/* Itinerary day text: bullet lists use the same hand icon as Overview / Highlights */
.pack-details .content .itinerary-desc ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 8px 0 14px 0 !important;
}
.pack-details .content .itinerary-desc ul li {
	position: relative !important;
	display: block !important;
	padding: 0 0 0 26px !important;
	margin: 0 0 6px 0 !important;
	list-style: none !important;
	overflow-wrap: break-word !important;
}
.pack-details .content .itinerary-desc ul li::before {
	content: "\f0a4" !important;
	font-family: "Font Awesome 6 Free", "FontAwesome" !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: #6e6e6e !important;
	font-size: 14.5px !important;
	line-height: inherit !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	-webkit-font-smoothing: antialiased !important;
}

#overview ol,
.package-info-card#overview ol {
	padding-left: 20px !important;
	margin: 14px 0 18px 0 !important;
	color: #334155;
}

#overview ol li,
.package-info-card#overview ol li {
	font-size: 15px;
	line-height: 1.65;
	margin-bottom: 8px;
	color: #334155;
}

#overview blockquote,
.package-info-card#overview blockquote {
	margin: 18px 0;
	padding: 14px 20px;
	background: #f8fafc;
	border-left: 4px solid #0874a6;
	border-radius: 0 8px 8px 0;
	color: #475569;
	font-style: italic;
	font-size: 14.5px;
	line-height: 1.65;
}

#overview img,
.package-info-card#overview img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 14px 0;
}

/* Overview Tables (Robust Desktop/Tablet and Mobile Touch-Scroll) */
#overview table,
.package-info-card#overview table,
.pack-details .content #overview table {
	width: 100% !important;
	max-width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	margin: 18px 0 20px 0 !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	font-size: 14px !important;
	display: table !important;
}

#overview table thead,
.pack-details .content #overview table thead,
.pack-details .content #overview thead {
	display: table-header-group !important;
	background: #f8fafc !important;
}

#overview table tbody,
.pack-details .content #overview table tbody,
.pack-details .content #overview tbody {
	display: table-row-group !important;
}

#overview table tr,
.pack-details .content #overview table tr,
.pack-details .content #overview tr {
	display: table-row !important;
	flex-direction: unset !important;
	border-bottom: 1px solid #f1f5f9 !important;
	transition: background 0.15s ease !important;
}

#overview table tbody tr:last-child {
	border-bottom: none !important;
}

#overview table tbody tr:hover {
	background: #f8fafc !important;
}

#overview table th,
.pack-details .content #overview table th,
.pack-details .content #overview th {
	display: table-cell !important;
	padding: 12px 16px !important;
	text-align: left !important;
	font-weight: 700 !important;
	font-size: 13.5px !important;
	color: #0f294a !important;
	background: #f1f5f9 !important;
	border-bottom: 2px solid #cbd5e1 !important;
	border-right: 1px solid #e2e8f0 !important;
	white-space: nowrap !important;
}

#overview table th:last-child {
	border-right: none !important;
}

#overview table td,
.pack-details .content #overview table td,
.pack-details .content #overview td {
	display: table-cell !important;
	padding: 12px 16px !important;
	font-size: 14px !important;
	color: #334155 !important;
	border-bottom: 1px solid #f1f5f9 !important;
	border-right: 1px solid #f1f5f9 !important;
	line-height: 1.55 !important;
}

#overview table td:last-child {
	border-right: none !important;
}

/* Tablet & Mobile Responsiveness for Overview */
@media (max-width: 991px) {
	#overview,
	.package-info-card#overview {
		padding: 20px;
		margin-bottom: 20px;
	}
	#overview table th,
	#overview table td {
		padding: 10px 14px !important;
	}
}

@media (max-width: 767px) {
	#overview,
	.package-info-card#overview {
		padding: 16px 14px;
		margin-bottom: 16px;
		font-size: 14.5px;
	}
	#overview h2,
	.package-info-card#overview h2 {
		font-size: 1.2rem;
		margin-top: 18px;
		margin-bottom: 12px;
	}
	#overview h3,
	.package-info-card#overview h3 {
		font-size: 1.1rem;
	}
	#overview p,
	.package-info-card#overview p {
		font-size: 14.5px;
		line-height: 1.65;
		margin-bottom: 14px;
	}
	#overview ul li,
	.package-info-card#overview ul li {
		font-size: 14px !important;
		padding-left: 0 !important;
	}
	#overview ul li:before,
	#overview ul li::before,
	.package-info-card#overview ul li:before,
	.package-info-card#overview ul li::before {
		font-size: 13.5px !important;
		flex: 0 0 18px !important;
		width: 18px !important;
		min-width: 18px !important;
		max-width: 18px !important;
		top: auto !important;
		left: auto !important;
		position: static !important;
	}
	#overview table,
	.pack-details .content #overview table {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior-x: contain !important;
		font-size: 13px !important;
		margin: 12px 0 16px 0 !important;
		background:
			linear-gradient(to right, #ffffff 30%, rgba(255, 255, 255, 0)),
			linear-gradient(to right, rgba(255, 255, 255, 0), #ffffff 70%) 100% 0,
			radial-gradient(farthest-side at 0 50%, rgba(16, 70, 110, 0.18), rgba(0, 0, 0, 0)),
			radial-gradient(farthest-side at 100% 50%, rgba(16, 70, 110, 0.18), rgba(0, 0, 0, 0)) 100% 0 !important;
		background-repeat: no-repeat !important;
		background-color: #ffffff !important;
		background-size: 36px 100%, 36px 100%, 12px 100%, 12px 100% !important;
		background-attachment: local, local, scroll, scroll !important;
		scrollbar-width: thin !important;
		scrollbar-color: #10466E #f1f5f9 !important;
	}
	#overview table::-webkit-scrollbar,
	.pack-details .content #overview table::-webkit-scrollbar {
		height: 5px !important;
	}
	#overview table::-webkit-scrollbar-track,
	.pack-details .content #overview table::-webkit-scrollbar-track {
		background: #f1f5f9 !important;
		border-radius: 4px !important;
	}
	#overview table::-webkit-scrollbar-thumb,
	.pack-details .content #overview table::-webkit-scrollbar-thumb {
		background: #10466E !important;
		border-radius: 4px !important;
	}
	#overview table th,
	#overview table td,
	.pack-details .content #overview table th,
	.pack-details .content #overview table td {
		padding: 9px 12px !important;
		white-space: nowrap !important;
	}
}

@media (max-width: 380px) {
	#overview,
	.package-info-card#overview {
		padding: 14px 10px;
	}
	#overview ul li,
	.package-info-card#overview ul li {
		font-size: 13px !important;
		padding-left: 0 !important;
	}
}

/* ==========================================================================
   PACKAGE SECTION NAVBAR (#dnvd) - navy bar, white line icons + Title Case labels
   Icons: public/images/nav-icons/*.svg, painted with CSS mask in the text colour
   (replace an SVG file to change an icon). Overrides the older #dnvd rules in
   style.css / header.php and the inline white background set by custom.js.
   ========================================================================== */
#dnvd.nts-section-nav {
	padding: var(--nts-dnvd-offset, 0px) 0 0 !important; /* top padding = sticky mobile header height (set by the page script) */
	overflow: hidden !important;
	background: #103256 !important;
	border-bottom: 0 !important;
	box-shadow: 0 4px 14px rgba(16, 50, 86, 0.18) !important;
}

#dnvd.nts-section-nav .container-fluid {
	padding: 0 16px;
}

#dnvd.nts-section-nav .navbar-nav {
	flex-direction: row !important;
	flex-wrap: nowrap;
	justify-content: flex-start !important;
	align-items: center;
	gap: 26px;
	width: 100%;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

#dnvd.nts-section-nav .navbar-nav::-webkit-scrollbar {
	display: none;
}

/* Centred when everything fits; scrolls from the first item when it does not */
#dnvd.nts-section-nav .navbar-nav > .nav-item:first-child {
	margin-left: auto;
}

#dnvd.nts-section-nav .navbar-nav > .nav-item:last-child {
	margin-right: auto;
}

#dnvd.nts-section-nav .nav-link {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	padding: 12px 0 !important;
	border-bottom: 0 !important;
	background: transparent !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2;
	white-space: nowrap;
}

#dnvd.nts-section-nav .navbar-nav .nav-link span {
	display: inline-block !important;
	margin: 0 !important;
	color: inherit !important;
	text-transform: none !important;
}

#dnvd.nts-section-nav .nts-nav-icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: var(--nts-nav-icon) center / contain no-repeat;
	mask: var(--nts-nav-icon) center / contain no-repeat;
}

#dnvd.nts-section-nav .navbar-nav .nav-link:hover,
#dnvd.nts-section-nav .navbar-nav .nav-link:focus-visible,
#dnvd.nts-section-nav .navbar-nav .nav-link.active,
#dnvd.nts-section-nav .navbar-nav .nav-link.active span {
	color: #F7A32F !important;
	outline: none;
}

@media (max-width: 1279.98px) {
	#dnvd.nts-section-nav .navbar-nav {
		gap: 20px;
	}
	#dnvd.nts-section-nav .nav-link {
		font-size: 13.5px !important;
	}
}

@media (max-width: 767.98px) {
	#dnvd.nts-section-nav .navbar-nav {
		gap: 18px;
	}
	#dnvd.nts-section-nav .nav-link {
		padding: 11px 0 !important;
		font-size: 13px !important;
	}
	#dnvd.nts-section-nav .nts-nav-icon {
		width: 18px;
		height: 18px;
	}
}
