/* Theme layer — typography, colors, and formatting from appearance settings */

body {
	font-family: var(--body-font, 'Inter', sans-serif);
	font-size: var(--base-font-size, 16px);
	line-height: var(--line-height-body, 1.6);
	color: var(--text-color, #4a5568);
}

h1, h2, h3, h4, h5, h6,
.title h1, .title h2, .new-page h1 {
	font-family: var(--heading-font, 'Outfit', sans-serif);
	color: var(--heading-color, #173342);
	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, #173342); }
h3 { font-size: var(--h3-size, 1.35rem); color: var(--heading-color, #173342); }
h4 { font-size: var(--h4-size, 1.2rem); color: var(--heading-color, #173342); }
h5 { font-size: var(--h5-size, 1.1rem); color: var(--heading-color, #173342); }
h6 { font-size: var(--h6-size, 1rem); color: var(--heading-color, #173342); }

p, li, label, .form-control, .form-select {
	font-family: var(--body-font, 'Inter', sans-serif);
	font-size: var(--base-font-size, 16px);
	line-height: var(--line-height-body, 1.6);
	color: var(--text-color, #4a5568);
}

p a, a:not(.btn):not(.nav-link):not(.dropdown-item):not(.package-hover__btn) {
	color: var(--link-color, var(--primary-color));
	font-weight: 600;
}

p a:hover, a:not(.btn):not(.nav-link):not(.dropdown-item):not(.package-hover__btn):hover {
	color: var(--secondary-color, #ff8a00);
}

.btn-primary,
.welcome .lilnk a,
.my-slider-ban .my-ban .ban-overlay .ban-link a:last-child {
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	border-radius: var(--btn-radius, 4px);
}

.btn-primary:hover,
.welcome .lilnk a:hover {
	background-color: var(--secondary-color) !important;
	border-color: var(--secondary-color) !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,
.title h2,
.new-page h1,
.welcome .content > h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--heading-font, 'Outfit', sans-serif);
	font-size: var(--section-title-size, 1.75rem);
	font-weight: 700;
	color: var(--heading-color, #173342);
	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 page title */
.trippage h1,
.pack-details .col-md-12 > h1 {
	font-family: var(--heading-font, 'Outfit', sans-serif);
	font-size: var(--h2-size, 1.75rem);
	font-weight: 800;
	color: var(--heading-color, #173342);
	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, #173342);
}

/* Package / trip cards */
.package {
	border-radius: var(--card-radius, 8px);
	box-shadow: var(--card-shadow, 0 4px 10px rgba(0,0,0,0.1));
}

.package{
	background:#fff;
	border:1px solid #dde4eb;
	border-radius:2px;
	box-shadow:0 2px 7px rgba(16,32,48,.12);
	display:flex;
	flex-direction:column;
	height:100%;
	overflow:hidden;
}

.package-img{
	display:block;
	min-height:244px;
	position:relative;
	text-decoration:none;
}

.package-img-thumb{
	height:244px;
	overflow:hidden;
	width:100%;
}

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

.package-wishlist{
	align-items:center;
	background:rgba(174,204,229,.92);
	border-radius:50%;
	color:#0875cb;
	display:flex;
	font-size:21px;
	height:32px;
	justify-content:center;
	left:8px;
	position:absolute;
	top:8px;
	width:32px;
	z-index:2;
}

.package-badge{
	background:#22aede;
	bottom:-12px;
	color:#fff;
	display:inline-flex;
	font-size:13px;
	font-weight:500;
	left:10px;
	line-height:1;
	padding:8px 10px;
	position:absolute;
	z-index:2;
}

.all-down{
	display:flex;
	flex:1;
	flex-direction:column;
	padding:24px 16px 16px;
}

.package-title{
	font-size:17px;
	font-weight:800;
	line-height:1.35;
	margin:0 0 26px;
}

.package-title a{
	color:#101820;
	text-decoration:none;
}

.package-start-price{
	color:#17202a;
	font-size:14px;
	line-height:1.2;
	margin:0 0 13px;
}

.package-start-price strong{
	color:#0875cb;
	font-size:16px;
	font-weight:800;
}

.package-start-price small{
	color:#111;
	font-size:12px;
	font-weight:500;
}

.package-footer{
	align-items:center;
	display:flex;
	gap:12px;
	justify-content:space-between;
	margin-top:auto;
}

.package-duration,
.package-rating{
	align-items:center;
	display:flex;
	font-size:14px;
	line-height:1.2;
	min-width:0;
	white-space:nowrap;
}

.package-duration{
	color:#111;
	gap:5px;
}

.package-duration i{
	color:#111;
	font-size:15px;
}

.package-rating{
	color:#111;
	gap:4px;
	justify-content:flex-end;
}

.package-rating i,
.package-rating strong{
	color:#14a02e;
}

.package-rating strong{
	font-size:16px;
	font-weight:800;
}

.package-rating span{
	font-size:13px;
}

.package-badge {
	background: linear-gradient(135deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 65%, #000));
}

.package-hover__btn {
	background: var(--primary-color);
	border-radius: var(--btn-radius, 999px);
}

.package-hover__btn:hover {
	background: var(--secondary-color);
}

.package-title {
	font-family: var(--heading-font, 'Outfit', sans-serif);
}

.package-title a:hover {
	color: var(--primary-color);
}

.package-meta__item strong,
.icon-all-top .all-icon-detail .content .fact-value-row b {
	color: var(--primary-color);
}

/* Blog */
.blog.my-blog .content .blog-meta .blog-cat,
.blog.my-blog .content .blog-meta i,
.blog.my-blog .content .blg-title:hover,
.blog.my-blog .content .blog-read-more:hover,
.blog-sidebar .category-item a:hover,
.blog-sidebar .badge,
.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);
}

/* Footer uses dark heading color — not primary blue */
.site-footer,
footer.site-footer {
	background: var(--heading-color, #173342);
}

/* Welcome block */
.welcome .content > h3 {
	font-family: var(--heading-font, 'Outfit', sans-serif);
	font-size: var(--h3-size, 1.25rem);
	color: var(--heading-color, #173342);
	margin-bottom: 15px;
}

.welcome .welcome-text,
.welcome .content > div:not(.lilnk) {
	font-family: var(--body-font, 'Inter', sans-serif);
	font-size: var(--base-font-size, 16px);
	line-height: var(--line-height-body, 1.6);
}

.welcome .lilnk .welcome-link-btn,
.welcome .lilnk .welcome-link-btn:hover,
.welcome .lilnk .welcome-link-btn:focus,
.welcome .lilnk .welcome-link-btn:visited {
	color: var(--button-text-color, #ffffff) !important;
	font-size: var(--base-font-size, 16px);
	font-weight: 700;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
}

.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-page {
	background: #f4f8fb;
}

.trip-planner-page .container {
	max-width: 1180px;
}

.trip-planner-intro {
	margin-left: auto;
	margin-right: auto;
	max-width: 720px;
}

.trip-planner-eyebrow {
	color: var(--secondary-color, #f07800);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.trip-planner-title {
	color: #0f2f57;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 0 12px;
}

.trip-planner-lead {
	color: #52677a;
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
}

.trip-planner-shell {
	background: #fff;
	border: 1px solid #dce7f2;
	border-radius: 8px;
	box-shadow: 0 18px 45px rgba(15, 45, 76, .10);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	overflow: hidden;
}

.trip-planner-shell::after {
	background: linear-gradient(180deg, #0b4388 0%, #0f66a8 100%);
	color: #fff;
	content: "Local experts review every request and reply with a practical plan.";
	display: flex;
	font-size: 20px;
	font-weight: 900;
	grid-column: 2;
	grid-row: 1 / span 3;
	line-height: 1.35;
	padding: 34px 28px;
}

.trip-planner-steps,
.trip-planner-form,
.trip-planner-loader,
.trip-planner-response {
	grid-column: 1;
}

.trip-planner-steps {
	background: #f9fbfd;
	border-bottom: 1px solid #e3edf6;
	padding: 26px 30px 20px;
	position: relative;
}

.trip-planner-steps__track span {
	background: linear-gradient(90deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 55%, #000));
}

.trip-planner-steps__track {
	background: #dbe6f0;
	border-radius: 999px;
	height: 4px;
	left: 62px;
	position: absolute;
	right: 62px;
	top: 48px;
}

.trip-planner-steps__track span {
	border-radius: inherit;
	display: block;
	height: 100%;
	transition: width .25s ease;
}

.trip-planner-steps__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 1;
}

.trip-planner-steps__item {
	align-items: center;
	color: #7a8b9b;
	display: flex;
	flex-direction: column;
	font-size: 13px;
	font-weight: 800;
	gap: 8px;
	text-align: center;
}

.trip-planner-steps__item span {
	align-items: center;
	background: #fff;
	border: 2px solid #cfddea;
	border-radius: 50%;
	color: #516579;
	display: flex;
	font-size: 14px;
	font-weight: 900;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.trip-planner-steps__item.is-active,
.trip-planner-steps__item.is-complete {
	color: #0f2f57;
}

.trip-planner-steps__item.is-active span,
.trip-planner-steps__item.is-complete span {
	background: var(--primary-color, #0f66a8);
	border-color: var(--primary-color, #0f66a8);
	color: #fff;
}

.trip-planner-form {
	padding: 30px;
}

.trip-planner-panel h2 {
	color: #102b4a;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0 0 20px;
}

.trip-planner-cards {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trip-planner-cards--stack {
	grid-template-columns: 1fr;
}

.trip-planner-cards--accommodation {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trip-planner-card {
	background: #fff;
	border: 1px solid #dbe6f0;
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 112px;
	padding: 18px;
	position: relative;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.trip-planner-card:hover {
	border-color: #9fc8e8;
	box-shadow: 0 10px 24px rgba(15, 45, 76, .08);
	transform: translateY(-1px);
}

.trip-planner-card:has(input:checked) {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color, #0f66a8) 16%, transparent);
}

.trip-planner-card input[type="radio"] {
	position: absolute;
	right: 14px;
	top: 14px;
}

.trip-planner-card__icon {
	align-items: center;
	background: #eaf4fb;
	border-radius: 8px;
	color: var(--primary-color, #0f66a8);
	display: inline-flex;
	font-size: 20px;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.trip-planner-card strong {
	color: #182f46;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.25;
}

.trip-planner-card small {
	color: #66798b;
	font-size: 13px;
	line-height: 1.45;
}

.trip-planner-card--wide {
	min-height: 0;
	padding-right: 46px;
}

.trip-planner-label,
.trip-planner-form label {
	color: #21364a;
	font-size: 14px;
	font-weight: 900;
	margin-bottom: 8px;
}

.trip-planner-form .form-control {
	background-color: #fff;
	border: 1px solid #cedcea;
	border-radius: 7px;
	color: #1a2d40;
	font-size: 15px;
	min-height: 46px;
}

.trip-planner-form .form-control:focus {
	border-color: var(--primary-color, #0f66a8);
	box-shadow: 0 0 0 3px rgba(15, 102, 168, .14);
}

.trip-planner-error {
	color: #d92d20;
	font-size: 12px;
	font-weight: 700;
	margin-top: 6px;
	min-height: 18px;
}

.trip-planner-actions {
	align-items: center;
	border-top: 1px solid #e5edf5;
	display: flex;
	justify-content: space-between;
	margin-top: 26px;
	padding-top: 22px;
}

.trip-planner-btn {
	align-items: center;
	border-radius: 6px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 900;
	gap: 8px;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
}

.trip-planner-btn--primary {
	background: var(--secondary-color, #f07800) !important;
	border-color: var(--secondary-color, #f07800) !important;
	color: #fff !important;
}

.trip-planner-btn--ghost {
	background: #eef4fa !important;
	border-color: #d8e4ef !important;
	color: #123d68 !important;
}

.trip-planner-date-panel {
	background: #f8fbfe;
	border: 1px solid #e2ebf3;
	border-radius: 8px;
	padding: 16px;
}

.trip-planner-loader,
.trip-planner-response {
	padding: 0 30px 30px;
}

@media (max-width: 991.98px) {
	.trip-planner-shell {
		display: block;
	}

	.trip-planner-shell::after {
		display: none;
	}

	.trip-planner-cards,
	.trip-planner-cards--accommodation {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px) {
	.trip-planner-page {
		padding-top: 28px !important;
	}

	.trip-planner-steps {
		padding: 20px 16px 16px;
	}

	.trip-planner-steps__track {
		display: none;
	}

	.trip-planner-steps__item small {
		font-size: 11px;
	}

	.trip-planner-steps__item span {
		height: 34px;
		width: 34px;
	}

	.trip-planner-form {
		padding: 20px 16px;
	}

	.trip-planner-cards,
	.trip-planner-cards--accommodation {
		grid-template-columns: 1fr;
	}

	.trip-planner-actions {
		align-items: stretch;
		flex-direction: column-reverse;
		gap: 10px;
	}

	.trip-planner-actions > span {
		display: none;
	}

	.trip-planner-btn {
		width: 100%;
	}
}

/* Rich content inside trip/blog pages */
.pack-details .content,
.trip-overview-content,
.tripinfo,
.blog-article-body {
	font-family: var(--body-font, 'Inter', sans-serif);
	font-size: var(--base-font-size, 16px);
	line-height: var(--line-height-body, 1.6);
	color: var(--text-color, #4a5568);
}

.pack-details .content h3,
.pack-details .content h4,
.trip-overview-content h3,
.trip-overview-content h4 {
	font-family: var(--heading-font, 'Outfit', sans-serif);
	color: var(--heading-color, #173342);
}

@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: #edf4fa;
}
.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{
	color: #466071;
	font-size: 13px;
}
.new-page .com-back-1 a,
.com-back .com-back-1 a{
	color: #075989;
	font-weight: 600;
	text-decoration: none;
}
.new-page .com-back-1 a:hover,
.com-back .com-back-1 a:hover{
	color: #06a3df;
}
.inner-title{
	margin: 10px 0 18px;
	color: #173342;
	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,
.package{
	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: #173342;
	text-decoration: none;
}
article .card .card-body h5 a:hover{
	color: #06a3df;
}
article .card img{
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}
.about-us .content,
.dlist,
.destination-content{
	background: #fff;
	border: 1px solid #e2ebf1;
	border-radius: 14px;
	padding: 22px;
	box-shadow: 0 8px 24px rgba(15, 45, 66, 0.06);
}
.about-us .content h1{
	margin-top: 0;
	margin-bottom: 14px;
	font-size: clamp(1.65rem, 2.2vw, 2.2rem);
	color: #173342;
}
.about-us .content p,
.dlist p,
.destination-description p{
	color: #4e6574;
	line-height: 1.72;
}
.blog.my-blog{
	background: #f7fbfd;
}
.blog.my-blog .content{
	background: #fff;
	border: 1px solid #e4edf3;
	border-radius: 12px;
	overflow: hidden;
}
@media (max-width: 767.98px){
	.inner-title{
		margin-top: 8px;
		margin-bottom: 14px;
	}
	.about-us .content,
	.dlist,
	.destination-content{
		padding: 16px;
		border-radius: 12px;
	}
	article .card img{
		height: 200px;
	}
}

/* Screenshot-style trip cards */
.package{
	background:#fff;
	border:1px solid #dde4eb;
	border-radius:2px;
	box-shadow:0 2px 7px rgba(16,32,48,.12);
	display:flex;
	flex-direction:column;
	height:100%;
	overflow:hidden;
}
.package-img{
	display:block;
	min-height:244px;
	position:relative;
	text-decoration:none;
}
.package-img-thumb{
	height:244px;
	overflow:hidden;
	width:100%;
}
.package-img-thumb img{
	display:block;
	height:100%;
	object-fit:cover;
	width:100%;
}
.package-wishlist{
	align-items:center;
	background:rgba(174,204,229,.92);
	border-radius:50%;
	color:#0875cb;
	display:flex;
	font-size:21px;
	height:32px;
	justify-content:center;
	left:8px;
	position:absolute;
	top:8px;
	width:32px;
	z-index:2;
}
.package-badge{
	background:#22aede;
	bottom:-12px;
	color:#fff;
	display:inline-flex;
	font-size:13px;
	font-weight:500;
	left:10px;
	line-height:1;
	padding:8px 10px;
	position:absolute;
	z-index:2;
}
.all-down{
	display:flex;
	flex:1;
	flex-direction:column;
	padding:24px 16px 16px;
}
.package-title{
	font-size:17px;
	font-weight:800;
	line-height:1.35;
	margin:0 0 26px;
}
.package-title a{
	color:#101820;
	text-decoration:none;
}
.package-title a:hover{
	color:#0875cb;
}
.package-start-price{
	color:#17202a;
	font-size:14px;
	line-height:1.2;
	margin:0 0 13px;
}
.package-start-price strong{
	color:#0875cb;
	font-size:16px;
	font-weight:800;
}
.package-start-price small{
	color:#111;
	font-size:12px;
	font-weight:500;
}
.package-footer{
	align-items:center;
	display:flex;
	gap:12px;
	justify-content:space-between;
	margin-top:auto;
}
.package-duration,
.package-rating{
	align-items:center;
	display:flex;
	font-size:14px;
	line-height:1.2;
	min-width:0;
	white-space:nowrap;
}
.package-duration{
	color:#111;
	gap:5px;
}
.package-duration i{
	color:#111;
	font-size:15px;
}
.package-rating{
	color:#111;
	gap:4px;
	justify-content:flex-end;
}
.package-rating i,
.package-rating strong{
	color:#14a02e;
}
.package-rating strong{
	font-size:16px;
	font-weight:800;
}
.package-rating span{
	font-size:13px;
}
@media (max-width: 575.98px){
	.package-img,
	.package-img-thumb{
		height:220px;
		min-height:220px;
	}
	.package-footer{
		align-items:flex-start;
		flex-direction:column;
		gap:8px;
	}
}
@media (min-width: 1200px) {
	.container {
		max-width: 1280px;
	}
}

@media (min-width: 1600px) {
	.container {
		max-width: 1360px;
	}
}
