/*----------  Body CSS  ----------*/
:root {
    --color-white: #fff;
    --color-btn: #0CB2DB;
    --color-btn1: #1C2D31;

    --text-color: #909DA1;
    --primary-color: #0CB2DB;
    --title-color: #fff;
    --color-black1: #1E1E1E;

    --color-border: rgb(10 10 10 / 10%);
    --color-border1: rgb(10 10 10 / 40%);
    --color-border2: rgb(255 255 255 / 10%);
    --color-white-op5: rgb(255 255 255 / 5%);
    --color-white-op16: rgb(255 255 255 / 16%);
    --color-white-op20: rgb(255 255 255 / 20%);
    --color-white-op50: rgb(255 255 255 / 50%);
    --color-white-op60: rgb(255 255 255 / 60%);
    --color-white-op70: rgb(255 255 255 / 70%);
    --color-white-op80: rgb(255 255 255 / 80%);
    --transition: 500ms ease-in-out;
    --font-weight-normal: 400;
    --font-weight-bold: 700;
    --font-weight-semibold: 600;
    --font-weight-medium: 500;



    /* background color */
    --theme-bg-color: #1C2D31;
    --theme-bg-color2: #122327;
    --theme-bg-color3: #D6EEF3;
    --theme-bg-color4: #EDF5F6;
    --theme-bg-color5: #20353B;

    --color-gradient-1: linear-gradient(180deg, #212121 0%, #171717 100%);
    --border-grdient-1: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.08) 100%);


    /* Font Family */
    --text-font: "Inter", sans-serif;
    --title-font: "Barlow Condensed", sans-serif;
    --style-font: "Satisfy", sans-serif;

    /* Font Family */
    --container-width: 1470px;

    /* light color */
    --color-white2: #EDF5F6;
    --title-color2: #122327;

}


html,
body {
    overflow-x: hidden;
    width: 100%;
    overflow-x: clip;
}

::-webkit-scrollbar-track {
    background-color: var(--title-color);
    border-left: 1px solid var(--title-color);
}

::-webkit-scrollbar {
    width: 7px;
    background-color: var(--title-color);
}

::-webkit-scrollbar-thumb {
    background: var(--primary-color);
}

:root {
    --natural: #fff;
}

body {
    font-size: 16px;
    line-height: 26px;
    color: var(--text-color);
    font-weight: 400;
    font-family: var(--text-font);
    margin: 0;
}

p {
    font-size: 16px;
    line-height: 28px;
    color: var(--text-color);
    font-weight: 400;
    font-family: var(--text-font);
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 80px;
    line-height: 1.2;
    color: var(--title-color);
    font-weight: 800;
    font-family: var(--title-font);
    font-style: normal;
    -webkit-transition: .5s;
    transition: .5s;
    margin: 0;
}

h1 {
    font-size: 80px;
}

h2 {
    font-size: 35px;

}

h3 {
    font-size: 30px;
}

h4 {
    font-size: 24px;
}

h5 {
    font-size: 20px;
}

h6 {
    font-size: 18px;
}

.align-items-center {
    -ms-flex-align: center !important;
    align-items: center !important;
}

.d-flex {
    display: -ms-flexbox !important;
    display: flex !important;
}

a {
    text-decoration: none;
    -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
    color: var(--text-color);
}

.uppercase {
    text-transform: uppercase;
}

.capitalize {
    text-transform: capitalize;
}

.text-right {
    text-align: right;
}

.text-white {
    color: var(--color-white)
}

a:focus,
.btn:focus {
    text-decoration: none;
    outline: none;
}

a:focus,
a:hover {
    text-decoration: none;
    text-decoration: none;
}

.uppercase {
    text-transform: uppercase;
}

.capitalize {
    text-transform: capitalize;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: inherit;
    -webkit-transition: .5s;
    transition: .5s;
}

ul {
    margin: 0px;
    padding: 0px;
}

ul li {
    list-style: none;
}

input:focus,
button:focus {
    border-color: none;
    outline-color: none;
    border: 1px solid none;
}

textarea:focus {
    border-color: var(--text-color);
    outline-color: var(--title-color);
}

label {
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
}

a,
i,
cite,
em,
var,
address,
dfn,
ol,
li,
ul {
    font-style: normal;
    font-weight: 400;
    list-style: none;
}

figure {
    margin: 0;
}

img {
    max-width: 100%;
}

.section-border {
    border-bottom: 1px solid var(--color-border);
    flex-grow: 1;
    transform-origin: left;
    transform: scaleX(0);
}

.image-anime {
    position: relative;
    overflow: hidden;
}

.image-anime:after {
    content: "";
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgb(18 35 39 / 11%);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after {
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: visible;
    overflow: hidden;
}

.reveal img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.data-img-hover {
    position: relative;
    width: 100%;
}

.data-img-hover img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
}

.data-img-hover canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.data-img-hover canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    opacity: 1 !important;
}

.border-color {
    border-bottom: 1px solid var(--color-border2);
}

.defult-btn a {
    display: inline-block;
    background: var(--primary-color);
    font-family: var(--title-font);
    color: var(--color-white);
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 2.3px;
    padding: 15px 40px;
    margin-top: 30px;
    border-radius: 30px;
    transition: 0.5s;
    position: relative;
    z-index: 1;
}

.defult-btn a::before {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background: var(--title-color);
    border-radius: 30px;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    transition: .5s;
    clip-path: polygon(50% 0, 50% 0, 50% 50%, 50% 100%, 50% 100%, 50% 50%);
    z-index: -1;
}

.defult-btn a:hover::before {
    clip-path: polygon(25% -70%, 75% -70%, 120% 50%, 75% 170%, 25% 170%, -20% 50%);
}


.defult-btn a:hover {
    color: var(--theme-bg-color2);
}

.defult-btn a svg {
    margin-left: 10px;
    transition: 0.5s;
}

.defult-btn a:hover svg {
    filter: brightness(0);
}

.auto-container {
    position: static;
    max-width: var(--container-width);
    padding: 0px 15px;
    margin: 0 auto;
    width: 100%;
}

/* Default Background */

*::-moz-selection {
    background: var(--primary-color);
    color: var(--color-white);
    text-shadow: none;
}

::-moz-selection {
    background: var(--primary-color);
    color: var(--color-white);
    text-shadow: none;
}

::selection {
    background: var(--primary-color);
    color: var(--color-white);
    text-shadow: none;
}

::placeholder {
    font-size: 16px;
    color: var(--color-white);
}

::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: var(--color-white);
}

::-moz-placeholder {
    /* Firefox 19+ */
    color: var(--color-white);
}

:-ms-input-placeholder {
    /* IE 10+ */

    color: var(--color-white);
}

:-moz-placeholder {
    /* Firefox 18- */

    color: var(--color-white);
}

.boxed {
    position: relative;
    padding: 30px;
    height: 100%;
    left: 0;
    z-index: 5;
    background: var(--theme-bg-color4);
}

.boxed.two {
    z-index: inherit;
}

.style__radius {
    border-radius: 30px;
}

.border_bg {
    border-bottom: 1px solid #cccdd894;
    padding-bottom: 120px;
}

.p-d {
    padding: 120px 0 90px;
}

.m-l-50 {
    margin-left: 50px;
}

/* Padding Top Css */
.pt-10 {
    padding-top: 10px;
}

.pt-20 {
    padding-top: 20px;
}

.pt-30 {
    padding-top: 30px;
}

.pt-22 {
    padding-top: 22px;
}


/* padding bottom css */
.pb-10 {
    padding-bottom: 10px;
}

.pb-30 {
    padding-bottom: 30px;
}

.pb-40 {
    padding-bottom: 40px;
}

.pb-45 {
    padding-bottom: 45px;
}

.pb-50 {
    padding-bottom: 50px;
}

.pb-60 {
    padding-bottom: 60px;
}

.pb-100 {
    padding-bottom: 100px;
}

.pb-70 {
    padding-bottom: 70px;
}

.pl-130 {
    padding-left: 130px;
}

.pr-0 {
    padding-right: 0px;
}

.pl-0 {
    padding-left: 0px;
}

.pl-40 {
    padding-left: 40px;
}

.pr-40 {
    padding-right: 40px;
}

/* =========================================================
  <--- CENTRALIZED CUSTOM OVERRIDES FOR BLACKLINE --->
============================================================ */

html {
	scroll-behavior: smooth;
}

body {
	background-color: #0a0e17;
}

.travel-boking,
.about-section-one,
.populer-section,
.main-footer-one {
	background-image: none !important;
}

.travel-boking { background-color: #111b22 !important; }
.about-section-one {
	background-color: #081117 !important;
	padding: 90px 0 !important;
	position: relative;
	width: 100%;
}
.about-section-one .auto-container {
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
}
.about-section-one .about-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}
.about-section-one .about-icon-box {
	display: flex !important;
	align-items: flex-start !important;
	gap: 18px !important;
	margin-top: 24px !important;
	margin-bottom: 0 !important;
}
.about-section-one .about-icon-box .about-icon {
	flex: 0 0 54px !important;
	width: 54px !important;
	height: 54px !important;
	border-radius: 50% !important;
	background: rgba(12, 178, 219, 0.12) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}
.about-section-one .about-icon-box .about-icon svg {
	width: 28px !important;
	height: 28px !important;
}
.about-section-one .about-icon-box .about-icon-box-content {
	flex: 1 !important;
}
.about-section-one .about-icon-box .about-icon-box-content h1 {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #fff !important;
	margin: 0 0 6px !important;
	letter-spacing: 0.5px !important;
	display: block !important;
}
.about-section-one .about-icon-box .about-icon-box-content p {
	font-size: 15px !important;
	color: #94a3b8 !important;
	line-height: 1.6 !important;
	margin: 0 !important;
	width: 100% !important;
	padding: 0 !important;
}
.about-section-one .about-btn {
	margin-top: 32px !important;
}
.populer-section { background-color: #0b141b !important; }
.main-footer-one { background-color: #060d13 !important; }
#contact .contact-info_item {
	background-image: none !important;
	background-color: #101b22 !important;
}

/* Hero background base stays lightweight; each slide owns its Madeira image. */
.hero-section-1 {
	position: relative;
	background: #09151a !important;
}

.hero-section-1::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1;
}

.hero-section-1 > * {
	position: relative;
	z-index: 2;
}

/* What's Included cards */
.includes-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 30px;
	margin-top: 40px;
}

.include-card {
	background: var(--theme-bg-color5);
	border: 1px solid var(--color-border2);
	border-radius: 12px;
	padding: 35px 25px;
	text-align: center;
	transition: all 0.4s ease;
}

.include-card:hover {
	transform: translateY(-8px);
	border-color: var(--primary-color);
	box-shadow: 0 20px 40px rgba(12, 178, 219, 0.1);
}

.include-card .include-icon {
	font-size: 42px;
	margin-bottom: 18px;
	display: block;
}

.include-card h3 {
	color: var(--color-white);
	font-family: var(--title-font);
	font-size: 22px;
	letter-spacing: 2px;
	margin-bottom: 8px;
}

.include-card p {
	color: var(--text-color);
	font-size: 15px;
}

/* Logistics table */
.logistics-table {
	width: 100%;
	margin-top: 50px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border-radius: 12px;
	border: 1px solid var(--color-border2);
}

.logistics-table th {
	background: var(--primary-color);
	color: var(--color-white);
	font-family: var(--title-font);
	font-size: 18px;
	letter-spacing: 2px;
	padding: 16px 20px;
	text-align: left;
}

.logistics-table td {
	padding: 14px 20px;
	color: var(--color-white);
	border-bottom: 1px solid var(--color-border2);
	font-size: 15px;
}

.logistics-table tr:last-child td { border-bottom: none; }

.logistics-table tbody tr {
	background: var(--theme-bg-color5);
	transition: background 0.3s ease;
}

.logistics-table tbody tr:hover { background: var(--theme-bg-color); }

.logistics-note {
	margin-top: 20px;
	color: var(--text-color);
	font-style: italic;
	font-size: 14px;
}

.blackline-section { padding: 100px 0; }

/* Language switcher */
.lang-switcher {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-right: 15px;
	vertical-align: middle;
}

.lang-btn {
	background: none;
	border: 2px solid transparent;
	border-radius: 4px;
	cursor: pointer;
	font-size: 18px;
	opacity: 0.6;
	transition: all 0.3s;
	padding: 2px 4px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.lang-btn:hover { opacity: 1; }
.lang-btn.active { opacity: 1; border-color: #0CB2DB; }

.header-account {
	display: inline-flex;
	align-items: center;
	margin-left: 10px;
	vertical-align: middle;
}

.header-account a {
	color: #0CB2DB;
	text-decoration: none;
	font-size: 14px;
	padding: 8px 16px;
	border: 1px solid rgba(12, 178, 219, 0.3);
	border-radius: 6px;
	transition: all 0.3s;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	line-height: 1;
}

.header-account a:hover {
	background: #0CB2DB;
	color: #fff;
}

/* Mobile Header and Logo position */
.mobile-menu {
	position: relative;
}

.mobile-logo {
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1000;
}

.mobile-logo img {
	max-height: 80px !important;
	display: block;
}

/* Continuous Floating & Pulsing Glow for Logos */
@keyframes logoPulseFloat {
	0% {
		transform: translateY(0);
		filter: drop-shadow(0 0 2px rgba(12, 178, 219, 0.15));
	}
	50% {
		transform: translateY(-4px);
		filter: drop-shadow(0 0 10px rgba(12, 178, 219, 0.6));
	}
	100% {
		transform: translateY(0);
		filter: drop-shadow(0 0 2px rgba(12, 178, 219, 0.15));
	}
}

.header-logo img,
.mobile-logo img {
	animation: logoPulseFloat 4s ease-in-out infinite;
	transition: all 0.3s ease;
}

.header-logo img:hover,
.mobile-logo img:hover {
	animation-play-state: paused;
	filter: drop-shadow(0 0 14px rgba(12, 178, 219, 0.8)) !important;
	transform: scale(1.05) translateY(-4px) !important;
}

/* Ripped paper divider at the bottom of the Hero */
.hero-divider {
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	z-index: 4;
	line-height: 0;
	pointer-events: none;
}

.hero-divider img {
	width: 100%;
	display: block;
}

/* Destination section uses the site background palette without an image dependency. */
.destination-section {
	background-color: #0e1f22 !important;
	background-image: none !important;
}

/* =========================================================
  RESPONSIVE LAYOUT OVERRIDES (MOBILE & TABLET FIXES)
============================================================ */

/* 1. Prevent character-by-character wrapping on rotated section title labels */
.section-title h1 span,
.section-title h2 span,
.text-effect h1 span,
.text-effect h2 span,
.text-effect span {
	white-space: nowrap !important;
	display: inline-block !important;
}

/* Reset badge styling for secondary spans in titles that should be plain text */
.section-title h1 span.plain-title,
.section-title h2 span.plain-title,
.text-effect h1 span.plain-title,
.text-effect h2 span.plain-title {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	border: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	transform: none !important;
	display: inline !important;
	position: static !important;
	margin-right: 0 !important;
	margin-left: 6px !important;
	background: none !important;
}

/* 2. Hero Content & Title Responsiveness (Desktop, Laptop, Tablet & Mobile) */
.hero-section-1 .hero_content {
	max-width: 960px !important;
	margin: 0 auto !important;
	padding: 40px 15px !important;
	text-align: center !important;
	position: relative !important;
	z-index: 5 !important;
}

.hero-section-1 .hero_content span {
	font-family: var(--style-font) !important;
	font-size: 26px !important;
	color: var(--primary-color) !important;
	text-transform: uppercase !important;
	letter-spacing: 3px !important;
	display: block !important;
	margin-bottom: 15px !important;
}

.hero-section-1 .hero_content h1 {
	font-family: var(--title-font) !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	font-size: 72px !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	margin: 0 0 25px 0 !important;
	text-shadow: 0 4px 20px rgba(0, 0, 0, 0.6) !important;
}

@media (max-width: 991px) {
	.hero-section-1 .hero_content h1 {
		font-size: 52px !important;
		line-height: 1.15 !important;
	}
	.hero-section-1 .hero_content span {
		font-size: 22px !important;
	}
}

@media (max-width: 575px) {
	.hero-section-1 .hero_content h1 {
		font-size: 36px !important;
		line-height: 1.2 !important;
	}
	.hero-section-1 .hero_content span {
		font-size: 18px !important;
	}
	.hero-section-1 .hero-journey-box h2 {
		font-size: 18px !important;
		line-height: 26px !important;
	}
	.hero-section-1 .hero-journey-box {
		padding: 20px 15px !important;
	}
}

/* 3. Booking form stacking on mobile and tablet */
@media (max-width: 767px) {
	.travel-boking .booking-box {
		grid-template-columns: 1fr !important;
		gap: 15px !important;
		margin-left: 0 !important;
		padding: 15px !important;
	}
	.travel-boking .bokking-main-card {
		width: 100% !important;
		margin-bottom: 10px !important;
	}
	.travel-boking .booking-button {
		margin-top: 10px !important;
	}
	.bokking-tabs .tab-buttons {
		justify-content: center !important;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.travel-boking .booking-box {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
		margin-left: 0 !important;
	}
}

/* 4. Table responsive container styling */
.table-responsive {
	width: 100% !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch;
	margin-top: 25px !important;
	margin-bottom: 25px !important;
}
.table-responsive::-webkit-scrollbar {
	height: 6px;
}
.table-responsive::-webkit-scrollbar-thumb {
	background: var(--primary-color);
	border-radius: 3px;
}

/* =========================================================
   HERO BANNER SWIPER SLIDER STYLES
============================================================ */
.hero-slider-container {
	position: relative !important;
	overflow: hidden !important;
	background: #091316 !important;
	padding: 0 !important;
}

.hero-main-swiper {
	width: 100% !important;
	height: 100% !important;
}

.hero-bg-slide {
	position: relative !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	min-height: 980px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding-top: 100px !important;
	padding-bottom: 80px !important;
}

.hero-bg-1 {
	background-image: url('../images/madeira/hero-sao-vicente.jpg') !important;
}

.hero-bg-2 {
	background-image: url('../images/madeira/hero-pico-arieiro.jpg') !important;
}

.hero-bg-3 {
	background-image: url('../images/madeira/hero-madeira-coast.jpg') !important;
}

.hero-bg-overlay {
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(14, 31, 34, 0.45) 0%, rgba(14, 31, 34, 0.75) 100%) !important;
	z-index: 1 !important;
}

.hero-bg-slide .auto-container {
	position: relative !important;
	z-index: 2 !important;
}

/* Slider Navigation Buttons */
.hero-slider-nav {
	position: absolute !important;
	top: 50% !important;
	width: 100% !important;
	transform: translateY(-50%) !important;
	display: flex !important;
	justify-content: space-between !important;
	padding: 0 30px !important;
	z-index: 10 !important;
	pointer-events: none !important;
}

.hero-slider-prev,
.hero-slider-next {
	pointer-events: auto !important;
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.15) !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 20px !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
}

.hero-slider-prev:hover,
.hero-slider-next:hover {
	background: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	color: #ffffff !important;
	transform: scale(1.1) !important;
}

/* Pagination Dots */
.hero-slider-pagination {
	bottom: 30px !important;
	z-index: 10 !important;
}

.hero-slider-pagination .swiper-pagination-bullet {
	width: 14px !important;
	height: 14px !important;
	background: rgba(255, 255, 255, 0.5) !important;
	opacity: 1 !important;
	margin: 0 6px !important;
	transition: all 0.3s ease !important;
}

.hero-slider-pagination .swiper-pagination-bullet-active {
	background: var(--primary-color) !important;
	width: 36px !important;
	border-radius: 8px !important;
}

@media (max-width: 767px) {
	.hero-slider-nav {
		display: none !important;
	}
	.hero-bg-slide {
		min-height: 750px !important;
		padding-top: 80px !important;
	}
}
/* Booking form feedback */
.booking-form-feedback {
    display: none;
    margin: 0 0 18px;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 15px;
}

.booking-form-feedback:not(:empty) {
    display: block;
    color: #dbeafe;
    background: rgba(59, 130, 246, 0.16);
    border: 1px solid rgba(59, 130, 246, 0.45);
}

.booking-form-feedback.success {
    color: #dcfce7;
    background: rgba(34, 197, 94, 0.16);
    border-color: rgba(34, 197, 94, 0.45);
}

.booking-form-feedback.error {
    color: #fee2e2;
    background: rgba(239, 68, 68, 0.16);
    border-color: rgba(239, 68, 68, 0.45);
}

.contact-form button:disabled {
    cursor: wait;
    opacity: 0.65;
}

/* =========================================================
   PUBLIC SITE LAYOUT STABILIZATION
   Keeps typography and section geometry consistent at every width.
============================================================ */
html,
body {
	max-width: 100%;
}

body {
	font-family: var(--text-font) !important;
	line-height: 1.6;
}

#home,
#booking,
#destinations,
#about,
#tours,
#gallery,
#includes,
#contact {
	scroll-margin-top: 112px;
}

/* Desktop navigation: one compact, vertically centered row. */
.travelik-header-area {
	min-height: 104px !important;
	background: #0b151b;
	z-index: 100 !important;
}

.travelik-header-area .container-fluid {
	padding-inline: 18px !important;
}

.travelik-header-area .row.header-wrap {
	min-height: 104px !important;
	padding: 0 12px !important;
	flex-wrap: nowrap !important;
}

.travelik-header-area .header-menu,
.travelik-header-area .header-menu > ul,
.travelik-header-area .header-right-wrapper,
.travelik-header-area .header-sidebar {
	display: flex !important;
	align-items: center !important;
}

.travelik-header-area .header-menu > ul {
	flex-wrap: nowrap !important;
	white-space: nowrap;
	margin: 0 !important;
}

.travelik-header-area .header-sidbar-button {
	flex: 0 0 auto;
	margin-right: 9px !important;
}

.travelik-header-area .header-menu ul li a {
	padding: 42px 7px !important;
	font-family: var(--title-font), sans-serif !important;
	font-size: 15px !important;
	line-height: 20px !important;
	letter-spacing: 1px !important;
}

.travelik-header-area .header-logo img {
	width: auto !important;
	max-width: 158px !important;
	max-height: 76px !important;
}

.travelik-header-area .header-right-wrapper {
	justify-content: flex-end !important;
	gap: 8px;
	white-space: nowrap;
}

.travelik-header-area .header-sidebar {
	justify-content: flex-end;
	gap: 7px;
}

.travelik-header-area .lang-switcher {
	gap: 3px;
	margin: 0 !important;
}

.travelik-header-area .lang-btn {
	width: 31px;
	height: 31px;
	padding: 0 !important;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 7px;
	background: rgba(255,255,255,.04);
	color: #c9d4dc;
	font-family: var(--text-font);
	font-size: 10px !important;
	font-weight: 800;
	line-height: 29px;
	opacity: 1;
}

.travelik-header-area .lang-btn.active {
	background: rgba(12,178,219,.15);
	border-color: var(--primary-color);
	color: #fff;
}

.travelik-header-area .header-account {
	margin: 0 !important;
}

.travelik-header-area .header-account a {
	min-height: 36px;
	padding: 7px 10px;
	font-size: 12px;
}

.travelik-header-area .header-btn {
	margin-left: 0 !important;
}

.travelik-header-area .header-btn a {
	min-height: 38px;
	padding: 11px 14px !important;
	font-size: 13px !important;
	line-height: 1 !important;
}

/* Hero: Balanced height & distributed content */
.hero-section-1 {
	height: 670px !important;
	min-height: 670px !important;
	margin-top: 0 !important;
	position: relative !important;
	overflow: hidden !important;
}

.hero-main-swiper,
.hero-main-swiper .swiper-wrapper,
.hero-main-swiper .swiper-slide {
	height: 100% !important;
}

.hero-bg-slide {
	height: 670px !important;
	min-height: 670px !important;
	padding: 45px 0 95px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.hero-section-1 .hero_content {
	max-width: 900px !important;
	margin: 0 auto !important;
	padding: 0 30px !important;
	text-align: center !important;
}

.hero-section-1 .hero_content > span,
.hero-kicker-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px;
	border-radius: 999px;
	background: rgba(12, 178, 219, 0.14);
	border: 1px solid rgba(12, 178, 219, 0.35);
	color: #0CB2DB !important;
	font-family: var(--text-font) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 2.5px !important;
	text-transform: uppercase;
	margin-bottom: 12px !important;
	backdrop-filter: blur(8px);
}

.hero-section-1 .hero_content h1,
.hero-main-title {
	font-family: var(--title-font) !important;
	font-size: clamp(38px, 4.5vw, 62px) !important;
	font-weight: 900 !important;
	line-height: 1.02 !important;
	letter-spacing: 0.5px !important;
	color: #ffffff !important;
	text-transform: uppercase;
	margin: 0 0 16px !important;
	text-shadow: 0 4px 24px rgba(0,0,0,0.7);
}

.hero-section-1 .hero-journey-box {
	display: block !important;
	width: min(580px, 100%) !important;
	margin: 0 auto !important;
	padding: 18px 26px 20px !important;
	background: rgba(6, 12, 16, 0.82) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 16px !important;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
	text-align: center;
}

.hero-section-1 .hero-journey-box h2 {
	font-family: var(--text-font) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	letter-spacing: .3px !important;
	color: rgba(255, 255, 255, 0.9) !important;
	margin: 0 0 12px !important;
}

.hero-section-1 .hero-btn a,
.hero-section-1 .hero-btn button,
.hero-section-1 .hero-btn .hero-btn-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 !important;
	padding: 10px 22px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase;
	border-radius: 8px !important;
	background: var(--primary-color, #0cb2db) !important;
	color: #ffffff !important;
	border: 1px solid var(--primary-color, #0cb2db) !important;
	cursor: pointer !important;
	outline: none !important;
	box-shadow: 0 4px 18px rgba(12, 178, 219, 0.35) !important;
	transition: all 0.3s ease;
	text-decoration: none !important;
}

.hero-section-1 .hero-btn a:hover,
.hero-section-1 .hero-btn button:hover,
.hero-section-1 .hero-btn .hero-btn-link:hover {
	background: #38bdf8 !important;
	border-color: #38bdf8 !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(12, 178, 219, 0.5) !important;
}

.hero-section-1 .hero-btn a svg,
.hero-section-1 .hero-btn button svg,
.hero-section-1 .hero-btn .hero-btn-link svg,
.hero-section-1 .hero-btn a i,
.hero-section-1 .hero-btn button i,
.hero-section-1 .hero-btn .hero-btn-link i {
	color: currentColor !important;
	fill: currentColor !important;
	transition: transform 0.25s ease;
}

.hero-section-1 .hero-btn a:hover svg,
.hero-section-1 .hero-btn button:hover svg,
.hero-section-1 .hero-btn .hero-btn-link:hover svg,
.hero-section-1 .hero-btn a:hover i,
.hero-section-1 .hero-btn button:hover i,
.hero-section-1 .hero-btn .hero-btn-link:hover i {
	transform: scale(1.15) translateX(2px);
}

.hero-slider-pagination {
	bottom: 122px !important;
	z-index: 25 !important;
}

.hero-slider-prev,
.hero-slider-next {
	top: 44% !important;
	width: 44px !important;
	height: 44px !important;
	font-size: 16px !important;
}

/* Booking search: elevated smoothly above hero base */
#booking.hero-integrated-booking-container {
	position: relative !important;
	z-index: 30 !important;
	margin-top: -95px !important;
	margin-bottom: 55px !important;
}

.hero-integrated-booking {
	padding: 20px 24px !important;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 20px !important;
	background: #060606 !important;
	box-shadow: 0 20px 50px rgba(0,0,0,.5);
}

.travel-boking .booking-box {
	display: grid;
	grid-template-columns: minmax(230px, 1.25fr) minmax(180px, .85fr) minmax(240px, 1.1fr) minmax(210px, .9fr) !important;
	align-items: end !important;
	gap: 14px !important;
	margin-left: 0 !important;
}

.travel-boking .booking-title {
	min-height: 25px;
	margin: 0 0 9px !important;
	font-size: 13px !important;
	line-height: 1.25 !important;
}

.travel-boking .booking-title > i {
	width: 22px;
	margin-right: 7px;
	color: #0cb2db;
	text-align: center;
}

.travel-boking .booking-input-box select,
.travel-boking .booking-input-box input,
.travel-boking .booking-button button {
	width: 100% !important;
	height: 54px !important;
	min-height: 54px !important;
	box-sizing: border-box;
}

.travel-boking .booking-input-box {
	display: block !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
}

.travel-boking .booking-input-box select,
.travel-boking .booking-input-box input {
	padding: 0 48px 0 20px !important;
	border: 1px solid #303030 !important;
	border-radius: 999px !important;
	background-color: #000 !important;
	color: #f4f4f4 !important;
}

#booking-search-form select,
#booking-request-form select {
	color-scheme: dark;
}

#booking-search-form select option,
#booking-request-form select option {
	background: #0b0b0b !important;
	color: #f4f7f8 !important;
	font-family: var(--text-font) !important;
	font-weight: 500 !important;
}

#booking-search-form select option[value=""],
#booking-search-form select option:disabled,
#booking-request-form select option[value=""],
#booking-request-form select option:disabled {
	background: #080808 !important;
	color: #9ba8ae !important;
}

#booking-search-form select option:checked,
#booking-request-form select option:checked {
	background: #0cb2db linear-gradient(0deg, #0cb2db 0%, #0cb2db 100%) !important;
	color: #001218 !important;
}

.travel-boking .booking-button {
	margin: 0 !important;
}

.travel-boking .booking-button button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 10px 18px !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	letter-spacing: .07em !important;
	line-height: 1.2 !important;
	text-align: center;
	white-space: nowrap;
}

.travel-boking .booking-button button i {
	margin: 0 !important;
}

.travel-boking .booking-button button::before {
	border-radius: inherit !important;
}

.travel-boking .booking-input-box select:disabled {
	cursor: not-allowed;
	opacity: .62;
}

.search-capacity-note {
	min-height: 22px;
	margin: 13px 2px 0;
	color: #95a3aa;
	font-size: 12px;
	line-height: 1.45;
}

.search-capacity-note.has-extra-capacity {
	color: #d8c990;
}

.search-capacity-note.has-extra-capacity::before {
	margin-right: 7px;
	color: #18bce4;
	content: "\f05a";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}

body.availability-check-open {
	overflow: hidden !important;
}

.availability-check-modal[hidden] {
	display: none !important;
}

.availability-check-modal {
	position: fixed;
	inset: 0;
	z-index: 1000002;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
	background: rgba(0,0,0,.88);
	backdrop-filter: blur(10px);
}

.availability-check-dialog {
	position: relative;
	width: min(560px, 100%);
	padding: 36px;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 26px;
	background: #050505;
	box-shadow: 0 32px 100px rgba(0,0,0,.78);
	text-align: center;
}

.availability-check-close {
	position: absolute;
	top: 16px;
	right: 16px;
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 50%;
	background: #0b0b0b;
	color: #fff;
	cursor: pointer;
}

.availability-check-icon {
	display: grid;
	width: 72px;
	height: 72px;
	margin: 0 auto 18px;
	place-items: center;
	border: 1px solid rgba(12,178,219,.42);
	border-radius: 50%;
	background: rgba(12,178,219,.11);
	color: #21c5ec;
	font-size: 28px;
}

.availability-check-icon.unavailable {
	border-color: rgba(239,68,68,.45);
	background: rgba(239,68,68,.1);
	color: #f87171;
}

.availability-check-icon.incomplete {
	border-color: rgba(245,158,11,.45);
	background: rgba(245,158,11,.1);
	color: #fbbf24;
}

.availability-check-kicker {
	color: #21c5ec;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .16em;
}

.availability-check-dialog h2 {
	margin: 9px 42px 12px;
	color: #fff;
	font-family: var(--title-font);
	font-size: clamp(32px, 5vw, 46px);
	line-height: 1;
}

.availability-check-dialog > p {
	max-width: 460px;
	margin: 0 auto;
	color: #a9b4ba;
	font-size: 14px;
	line-height: 1.65;
}

.availability-check-summary {
	display: grid;
	gap: 8px;
	margin: 24px 0 0;
	text-align: left;
}

.availability-check-summary[hidden] {
	display: none !important;
}

.availability-check-summary > div {
	display: grid;
	grid-template-columns: 112px minmax(0,1fr);
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid rgba(255,255,255,.09);
	border-radius: 12px;
	background: #0a0a0a;
}

.availability-check-summary dt {
	color: #77858c;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.availability-check-summary dd {
	margin: 0;
	color: #f5f7f8;
	font-size: 13px;
	font-weight: 600;
}

.availability-check-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 26px;
}

.availability-check-actions button {
	min-height: 48px;
	padding: 11px 22px;
	border-radius: 999px;
	font-family: var(--title-font);
	font-size: 12px;
	letter-spacing: .06em;
	cursor: pointer;
}

.availability-check-cancel {
	border: 1px solid rgba(255,255,255,.18);
	background: #090909;
	color: #d7e0e4;
}

.availability-check-confirm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border: 1px solid #0cb2db;
	background: #0cb2db;
	color: #ffffff;
}

.availability-check-confirm[hidden] {
	display: none !important;
}

@media (max-width: 575px) {
	.availability-check-dialog {
		padding: 32px 18px 22px;
		border-radius: 20px;
	}
	.availability-check-summary > div {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	.availability-check-actions {
		flex-direction: column-reverse;
	}
	.availability-check-actions button {
		width: 100%;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.travel-boking .booking-box {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Shared section rhythm and readable headings. */
.destination-section,
.about-section-one,
.populer-section,
.photography-sectoin,
.blackline-section {
	margin-top: 0 !important;
	padding-top: 96px !important;
	padding-bottom: 96px !important;
}

.populer-section {
	padding-inline: 30px !important;
}

.section-main-title {
	margin-bottom: 46px !important;
}

.section-title h1,
.section-title h2 {
	white-space: normal !important;
	font-family: var(--title-font), sans-serif !important;
	font-size: clamp(46px, 5vw, 70px) !important;
	font-weight: 400 !important;
	line-height: .98 !important;
	letter-spacing: .5px !important;
	margin: 0 !important;
	text-wrap: balance;
}

.section-title h1 + h1,
.section-title h2 + h2,
.section-title h1 + h2,
.section-title h2 + h1 {
	margin-top: 4px !important;
}

.section-title .split-line div {
	opacity: 1 !important;
	transform: none !important;
}

.section-title h1 > span:not(.plain-title),
.section-title h2 > span:not(.plain-title) {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	height: 30px;
	margin: 0 12px 8px 0 !important;
	padding: 5px 12px !important;
	transform: none !important;
	border: 1px solid rgba(12,178,219,.55) !important;
	border-radius: 99px !important;
	background: rgba(12,178,219,.08) !important;
	color: var(--primary-color) !important;
	font-family: var(--text-font) !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 18px !important;
	letter-spacing: 1.5px !important;
	vertical-align: middle;
}

.section-title h1 > span.plain-title,
.section-title h2 > span.plain-title {
	margin-left: 4px !important;
	display: inline !important;
}

.section-desc {
	width: 100% !important;
	max-width: 570px;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
}

.destination-section .row.align-items-center .section-desc {
	margin-left: auto !important;
}

/* Independent, scalable controls for dynamic destination and tour sliders. */
.section-slider-controls,
.destination__arrow__bx.section-slider-controls {
	position: static;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 26px;
}

.tour-slider-controls {
	justify-content: center;
	width: 100%;
	margin-top: 32px;
}

.section-slider-button {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 50%;
	background: #080808;
	color: #d9e3e8;
	font-size: 17px;
	cursor: pointer;
	transition: background .25s ease, border-color .25s ease, color .25s ease, opacity .25s ease;
}

.section-slider-button:hover,
.section-slider-button:focus-visible {
	border-color: var(--primary-color);
	background: var(--primary-color);
	color: #fff;
}

.section-slider-pagination,
.swiper-pagination.section-slider-pagination {
	position: static !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 62px;
	color: #dce7ec;
	font-family: var(--text-font);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
}

.section-slider-pagination .swiper-pagination-current {
	color: var(--primary-color);
}

.section-slider-button.swiper-button-disabled {
	opacity: .35;
	cursor: default;
}

.section-slider-button.swiper-button-lock,
.section-slider-pagination.swiper-pagination-lock {
	display: none !important;
}

.about-section-one .about-thumb {
	margin-left: 0 !important;
}

.about-section-one .about-thumb img {
	max-width: 100% !important;
	height: auto !important;
}

.populer-country {
	font-size: clamp(30px, 3vw, 42px) !important;
	line-height: 1 !important;
}

.populer-contnet .popular-title {
	font-size: 25px !important;
	line-height: 1.15 !important;
}

.includes-grid {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 18px;
	margin-top: 34px;
}

.include-card {
	padding: 28px 20px;
}

.logistics-table {
	margin-top: 34px;
}

/* Footer is compact enough to remain a footer, not another oversized hero. */
.main-footer-one {
	margin-top: 0 !important;
}

.main-footer-section {
	padding: 96px 0 20px !important;
}

.footer-sing-up-title {
	font-size: clamp(30px, 3.3vw, 48px) !important;
	line-height: 1.02 !important;
}

.footer-automation-title .typing {
	font-size: clamp(90px, 16vw, 230px) !important;
	line-height: .8 !important;
}

.travelling-title h2 {
	white-space: pre-line;
}

@media (max-width: 1450px) {
	.travelik-header-area .header-call-info { display: none !important; }
	.travelik-header-area .header-menu ul li a { padding-inline: 6px !important; font-size: 14px !important; }
	.travelik-header-area .header-logo img { max-width: 140px !important; }
}

@media (min-width: 992px) and (max-width: 1199px) {
	.travelik-header-area .header-sidbar-button { display: none !important; }
	.travelik-header-area .header-menu ul li a { padding-inline: 5px !important; font-size: 13px !important; letter-spacing: .5px !important; }
	.travelik-header-area .header-account a { width: auto; padding: 0 12px; justify-content: center; font-size: 12px; }
	.travelik-header-area .header-account a i { font-size: 12px; }
	.travelik-header-area .header-btn a { padding-inline: 10px !important; }
}

@media (max-width: 991px) {
	.mobile-menu-area,
	.mobile-menu {
		min-height: 82px;
		background: #0b151b !important;
	}

	.mean-container .mean-nav {
		position: relative;
		z-index: 1101;
		background: #081218 !important;
		box-shadow: 0 22px 48px rgba(0, 0, 0, .38);
	}

	.mean-container .mean-nav ul,
	.mean-container .mean-nav ul li {
		background: #081218 !important;
	}

	.mean-container .mean-nav ul li a {
		padding: 15px 20px !important;
		border-top: 1px solid rgba(255, 255, 255, .08) !important;
		background: transparent !important;
		color: #e7eef2 !important;
		font-family: var(--text-font) !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		letter-spacing: .3px;
	}

	.mean-container .mean-nav ul li a:hover,
	.mean-container .mean-nav ul li a:focus-visible {
		padding-left: 25px !important;
		background: rgba(12, 178, 219, .1) !important;
		color: #fff !important;
	}

	.mean-container .mean-nav .mobile-nav-tools {
		padding: 13px 20px;
		border-top: 1px solid rgba(255, 255, 255, .08);
	}

	.mean-container .mean-nav .language-select {
		display: flex;
		width: 100%;
		border-radius: 10px;
		background: rgba(255, 255, 255, .055);
	}

	.mean-container .mean-nav .language-select select {
		width: 100%;
		font-size: 13px;
	}

	.mean-container .mean-nav .mobile-book-link a {
		background: linear-gradient(135deg, #13bce4, #0786a7) !important;
		color: #fff !important;
		box-shadow: inset 0 1px rgba(255, 255, 255, .2);
	}

	.mean-container .mean-bar .meanmenu-reveal {
		border-radius: 10px;
		color: #fff !important;
	}

	.mobile-menu-area:has(.meanmenu-reveal.meanclose) .mobile-logo {
		opacity: 0;
		visibility: hidden;
	}

	.mobile-logo img { max-height: 62px !important; max-width: 142px !important; }
	.hero-section-1,
	.hero-bg-slide { height: auto !important; min-height: 520px !important; }
	.hero-bg-slide { padding: 40px 0 50px !important; }
	.hero-section-1 .hero_content { padding-inline: 24px !important; }
	#booking.hero-integrated-booking-container { margin-top: 24px !important; margin-bottom: 45px !important; }
	.travel-boking .booking-box { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	.destination-section,
	.about-section-one,
	.populer-section,
	.photography-sectoin,
	.blackline-section { padding-top: 74px !important; padding-bottom: 74px !important; }
	.section-main-title { margin-bottom: 34px !important; }
	.section-title h1, .section-title h2 { font-size: clamp(40px, 8vw, 58px) !important; }
	.destination-section .row.align-items-center .section-desc { margin: 24px 0 0 !important; }
	.footer-widget-content { margin-bottom: 38px !important; }
}

@media (max-width: 767px) {
	.travel-boking .booking-box { grid-template-columns: 1fr !important; }
	#booking.hero-integrated-booking-container { margin-top: 18px !important; margin-bottom: 35px !important; padding-inline: 12px !important; }
	.hero-integrated-booking { padding: 18px 14px !important; border-radius: 16px !important; }
}

@media (max-width: 575px) {
	.hero-section-1 { padding-top: 0 !important; }
	.hero-bg-slide { height: auto !important; min-height: auto !important; padding: 105px 0 55px !important; }
	.hero-section-1 .hero_content { padding: 4px 8px !important; }
	.hero-section-1 .hero-journey-box { padding: 14px 14px !important; width: 100% !important; border-radius: 14px !important; }
	.hero-section-1 .hero-journey-box h2 { font-size: 13px !important; line-height: 1.4 !important; margin-bottom: 12px !important; }
	.hero-section-1 .hero-btn a { padding: 9px 20px !important; font-size: 11.5px !important; }
	.hero-integrated-booking { padding: 14px 12px !important; }
	.travel-boking .booking-box { grid-template-columns: 1fr !important; padding: 0 !important; }
	.travel-boking .bokking-main-card { margin-bottom: 0 !important; }
	.section-title h1, .section-title h2 { font-size: clamp(36px, 11vw, 48px) !important; }
	.section-title h1 > span:not(.plain-title), .section-title h2 > span:not(.plain-title) { display: table !important; margin-bottom: 12px !important; }
	.destination-section,
	.about-section-one,
	.populer-section,
	.photography-sectoin,
	.blackline-section { padding-top: 62px !important; padding-bottom: 62px !important; }
	.populer-section { padding-inline: 12px !important; }
	.includes-grid { grid-template-columns: 1fr; }
	.main-footer-section { padding-top: 70px !important; }
	.footer-automation-title .typing { font-size: 27vw !important; }
}

/* =========================================================
   SECTION-BY-SECTION CONSISTENCY PASS
============================================================ */

/* Decorative figures must never cover functional copy. */
.about-section-one .about-shape {
	display: none !important;
}

.about-icon-box .about-icon-box-content {
	min-width: 0;
	flex: 1;
}

.about-icon-box .about-icon-box-content p {
	width: 100% !important;
	max-width: 520px;
}

/* Structural content remains visible even when scroll animations are delayed. */
#destinations .wow,
#about .wow,
#tours .wow,
#gallery .wow,
#includes .wow,
#contact .wow,
#destinations .reveal,
#about .reveal,
#tours .reveal,
#gallery .reveal,
#includes .reveal,
#contact .reveal {
	visibility: visible !important;
	opacity: 1 !important;
	animation: none !important;
	transform: none !important;
}

#destinations .reveal img,
#about .reveal img,
#tours .reveal img,
#gallery .reveal img,
#includes .reveal img,
#contact .reveal img {
	opacity: 1 !important;
	transform: none !important;
}

/* Gallery: a bounded carousel keeps large media catalogues compact. */
#gallery .row.pb-50 {
	align-items: flex-end !important;
	padding-bottom: 0 !important;
}

#gallery .counter-single-box {
	justify-content: flex-end;
	gap: 12px;
}

#gallery .counter-title h2 {
	display: flex !important;
	align-items: flex-end;
	margin: 0 !important;
	font-size: 72px !important;
	line-height: .85 !important;
	white-space: nowrap;
}

#gallery .counter-title h2 span {
	font-size: .48em;
	line-height: 1;
	margin-left: 2px;
}

#gallery .counter-des p {
	margin: 0 !important;
	font-size: 17px !important;
	line-height: 1.35 !important;
	text-align: left;
}

#gallery .gallery-marquee {
	margin-top: 34px;
	padding: 0 18px;
	overflow: hidden;
}

#gallery .gelary-track {
	display: flex !important;
	gap: 0 !important;
	width: 100%;
	animation: none !important;
}

#gallery .galary-thumb {
	display: block !important;
	position: relative;
	width: auto;
	min-width: 0 !important;
	height: 310px;
	margin: 0 !important;
	overflow: hidden;
	border-radius: 12px;
	transform: none !important;
}

.lens-slider-controls {
	justify-content: center;
	margin-top: 26px;
}

#gallery .galary-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	opacity: 1 !important;
	transform: none !important;
}

#gallery .galary-thumb > a {
	display: block;
	width: 100%;
	height: 100%;
}

#gallery .galary-thumb figcaption {
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 48px 18px 16px;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .88));
	color: #fff;
	pointer-events: none;
}

#gallery .galary-thumb figcaption strong {
	font-family: var(--title-font);
	font-size: 20px;
	letter-spacing: .02em;
}

#gallery .galary-thumb figcaption span {
	font-size: 13px;
	line-height: 1.45;
}

#gallery .galary-thumb figcaption a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: inherit;
	pointer-events: auto;
}

#gallery .galary-all-sp {
	display: none !important;
}

/* Compact call-to-action banner. */
.travelling-offer-section {
	min-height: 0 !important;
	padding: 68px 0 !important;
	overflow: hidden;
}

.travelling-offer-section .auto-container,
.travelling-offer-section .row {
	position: relative;
	z-index: 2;
}

.travelling-offer-section .travelling-img {
	display: none !important;
}

.travelling-offer-section .travelling-offer {
	padding-left: 0 !important;
	text-align: center;
}

.travelling-offer-section .travelling-title h2 {
	margin: 0;
	font-size: clamp(38px, 4vw, 54px) !important;
	line-height: 1.02 !important;
}

.travelling-offer-section .travelling-offer h1 {
	margin: 0;
	font-size: clamp(48px, 5vw, 68px) !important;
	line-height: .9 !important;
}

.travelling-offer-section .travelling-offer p {
	margin: 10px 0 0;
	font-size: 17px;
}

/* Included cards remain equally sized and readable. */
#includes .includes-grid {
	align-items: stretch;
}

#includes .include-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 205px;
}

#includes .include-card p {
	margin: 0;
}

/* Contact cards and the map/form columns use the same height. */
#contact .contact-info_item > [class*="col-"] {
	display: flex;
}

#contact .contact-service-box {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

#contact > .container > .row.align-items-center {
	align-items: stretch !important;
}

#contact > .container > .row.align-items-center > [class*="col-"] {
	display: flex;
	flex-direction: column;
}

#contact .google-map,
#contact .contact-form-box {
	height: 100%;
}

#contact .google-map iframe {
	display: block;
	height: 100% !important;
	min-height: 711px;
}

/* Footer: readable body font, visible CTA, stable brand wordmark. */
.main-footer-one {
	padding: 88px 0 12px !important;
}

.main-footer-one .main-footer-section {
	padding: 0 !important;
}

.footer-widget-content.text-center {
	margin-right: 0 !important;
}

.footer-widget-content .footer-desc {
	width: 92% !important;
	font-family: var(--text-font) !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

footer .form-input-bx a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	min-height: 46px;
	padding: 12px 24px !important;
	overflow: visible !important;
	border-radius: 99px;
	background: var(--primary-color) !important;
	color: #fff !important;
	font-family: var(--title-font), sans-serif;
	font-size: 17px !important;
	letter-spacing: 1.5px;
	text-decoration: none;
}

footer .form-input-bx a span {
	position: static !important;
	display: inline !important;
	width: auto !important;
	height: auto !important;
	font-size: inherit !important;
}

.footer-bottom {
	margin-top: 38px !important;
}

.footer-automation-title .typing {
	min-height: 0;
	margin: 0 !important;
	font-size: clamp(72px, 13vw, 170px) !important;
	line-height: .9 !important;
	letter-spacing: .08em !important;
}

/* Language and account tools are also available inside the mobile menu. */
.mobile-menu-languages {
	display: flex;
	gap: 8px;
	padding: 13px 5%;
}

.mobile-menu-languages .lang-btn {
	width: 38px;
	height: 32px;
	border: 1px solid rgba(255,255,255,.2);
	background: rgba(255,255,255,.05);
	color: #fff;
	font-family: var(--text-font);
	font-size: 11px;
	font-weight: 800;
}

@media (max-width: 991px) {
	#gallery .galary-thumb { height: 250px; }
	.travelling-offer-section .row { row-gap: 24px; text-align: center; }
	.travelling-offer-section .bokking-btn { text-align: center; }
	#contact .google-map iframe { min-height: 460px; }
	.footer-widget-content .footer-desc { width: 100% !important; }
}

@media (max-width: 575px) {
	#about .about-thumb { margin-bottom: 34px; }
	#about .about-icon-box { align-items: flex-start; gap: 14px; }
	#about .about-icon { flex: 0 0 56px; width: 56px; height: 56px; line-height: 56px; }
	#gallery .row.pb-50 { text-align: center; }
	#gallery .counter-single-box { justify-content: center; margin-top: 24px; }
	#gallery .gallery-marquee { padding: 0 12px; }
	#gallery .galary-thumb { height: 210px; }
	.travelling-offer-section { padding: 54px 20px !important; }
	.travelling-offer-section .travelling-title h2 { font-size: 38px !important; }
	#includes .includes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	#includes .include-card { min-height: 0; padding: 22px 18px; }
	#includes .include-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
	#includes .include-card .include-icon { font-size: 34px; margin-bottom: 10px; }
	#contact .contact-info_item { margin-bottom: 34px !important; }
	#contact .contact-service-box { padding: 26px 20px !important; }
	#contact .google-map { margin-bottom: 24px; }
	#contact .google-map iframe { min-height: 360px; }
	#contact .contact-form-box { height: auto; }
	.main-footer-one { padding-top: 66px !important; }
	.footer-widget-content { text-align: center !important; }
	.footer-widget-content .footer-desc { margin-inline: auto; }
	.footer-widget-content .footer-title::before { left: 50%; transform: translateX(-50%); }
	.footer-widget-content .footer-menu li a { justify-content: center; }
	.footer-automation-title .typing { font-size: 21vw !important; letter-spacing: .04em !important; }
}

@media (max-width: 359px) {
	#includes .includes-grid { grid-template-columns: 1fr; }
	#includes .include-card:last-child:nth-child(odd) { grid-column: auto; }
}

/* Tour cards always expose their primary action, including touch devices. */
#tours .populer-btn-and-days {
	display: flex;
	justify-content: flex-end;
	margin-top: auto;
}

#tours .populer-single-box .populer-btn {
	width: 100%;
	margin-top: 0;
}

#tours .populer-single-box .populer-btn a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid rgba(12, 178, 219, .55);
	border-radius: 99px;
	opacity: 1;
	letter-spacing: 1px;
}

#tours .populer-single-box .populer-btn a:hover {
	background: var(--primary-color);
	color: var(--color-white);
}

.footer-links-column .footer-widget-content {
	width: min(100%, 280px);
	margin-left: auto;
}

@media (max-width: 767px) {
	.footer-links-column .footer-widget-content {
		margin-inline: auto;
	}
}

@media (max-width: 575px) {
	/* Long translated title fragments must wrap on narrow phones. */
	.section-title h1 > span.plain-title,
	.section-title h2 > span.plain-title {
		display: inline !important;
		max-width: 100%;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	/* Convert the logistics comparison into readable mobile cards. */
	#includes .table-responsive {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}
}

/* Compact system footer: identity, navigation and legal line only. */
.main-footer-one {
	padding: 0 !important;
}

.main-footer-one .main-footer-section {
	padding: 54px 0 0 !important;
}

.main-footer-one .main-footer-section > .auto-container > .row {
	align-items: flex-start;
}

.main-footer-one .footer-widget-content {
	margin-bottom: 0 !important;
}

.main-footer-one .footer-widget-content .logo {
	margin-bottom: 18px;
}

.main-footer-one .footer-widget-content .logo img {
	display: block;
	width: min(100%, 260px);
	height: auto;
}

.main-footer-one .footer-widget-content .footer-desc {
	width: min(100%, 520px) !important;
	margin: 0 !important;
}

.main-footer-one .footer-links-column .footer-widget-content {
	width: 100%;
}

.main-footer-one .footer-links-column .footer-title {
	margin-bottom: 18px !important;
	font-size: 19px !important;
	font-weight: 700;
	font-family: var(--title-font);
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #fff !important;
	position: relative;
	padding-bottom: 8px;
}

.main-footer-one .footer-links-column .footer-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 24px;
	height: 2px;
	background: var(--primary-color);
	border-radius: 2px;
}

.main-footer-one .footer-links-column .footer-menu {
	display: flex;
	flex-direction: column;
	gap: 11px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.main-footer-one .footer-links-column .footer-menu li {
	margin: 0 !important;
}

.main-footer-one .footer-links-column .footer-menu li a {
	display: inline-flex;
	align-items: center;
	padding: 0 !important;
	font-size: 14.5px;
	color: #9aa8ae;
	text-decoration: none;
	transition: color .2s ease, transform .2s ease;
	white-space: nowrap;
}

.main-footer-one .footer-links-column .footer-menu li a:hover {
	color: #fff;
	transform: translateX(4px);
}

.main-footer-one .footer-links-column .footer-menu li a::before {
	display: none;
}

.main-footer-one .footer-bottom {
	margin-top: 42px !important;
	padding: 18px 0;
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.main-footer-one .footer-copyright {
	margin: 0;
	color: var(--text-color);
	font-family: var(--text-font);
	font-size: 14px;
	letter-spacing: .3px;
}

@media (max-width: 767px) {
	.main-footer-one .main-footer-section {
		padding-top: 44px !important;
	}

	.main-footer-one .footer-widget-content {
		margin-bottom: 30px !important;
		text-align: center !important;
	}

	.main-footer-one .footer-links-column .footer-title::after {
		left: 50%;
		transform: translateX(-50%);
	}

	.main-footer-one .footer-widget-content .logo img,
	.main-footer-one .footer-widget-content .footer-desc {
		margin-inline: auto !important;
	}

	.main-footer-one .footer-widget-content .logo img {
		width: min(100%, 220px);
	}

	.main-footer-one .footer-links-column .footer-menu {
		align-items: center;
	}

	.main-footer-one .footer-links-column .footer-menu li a {
		justify-content: center;
		white-space: normal;
	}

	.main-footer-one .footer-links-column .footer-menu li a:hover {
		transform: none;
	}

	.main-footer-one .footer-bottom {
		margin-top: 4px !important;
	}
}

/* Refined navigation actions. */
.travelik-header-area .header-menu ul li a {
	position: relative;
	transition: color .25s ease, transform .25s ease !important;
}

.travelik-header-area .header-menu ul li a::after {
	content: '';
	position: absolute;
	left: 7px;
	right: 7px;
	bottom: 31px;
	height: 2px;
	border-radius: 2px;
	background: var(--primary-color);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .25s ease;
}

.travelik-header-area .header-menu ul li a:hover,
.travelik-header-area .header-menu ul li a:focus-visible {
	color: #fff !important;
}

.travelik-header-area .header-menu ul li a:hover::after,
.travelik-header-area .header-menu ul li a:focus-visible::after {
	transform: scaleX(1);
}

.travelik-header-area .lang-switcher {
	gap: 2px;
	padding: 4px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 999px;
	background: rgba(255, 255, 255, .035);
}

.travelik-header-area .lang-btn {
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	transition: color .2s ease, background .2s ease, box-shadow .2s ease;
}

.travelik-header-area .lang-btn:hover,
.travelik-header-area .lang-btn:focus-visible {
	background: rgba(255, 255, 255, .1);
	color: #fff;
}

.travelik-header-area .lang-btn.active {
	border: 0;
	background: var(--primary-color);
	box-shadow: 0 5px 16px rgba(12, 178, 219, .32);
}

.language-select {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	background: rgba(255, 255, 255, .04);
	color: var(--primary-color);
}

.language-select select {
	width: 42px;
	border: 0;
	outline: 0;
	background: transparent;
	color: #fff;
	font-family: var(--text-font);
	font-size: 11px;
	font-weight: 800;
	cursor: pointer;
}

.language-select select option {
	background: #081218;
	color: #fff;
}

.travelik-header-area .header-account a {
	min-height: 42px;
	padding: 10px 15px;
	border-color: rgba(12, 178, 219, .32);
	border-radius: 999px;
	background: rgba(12, 178, 219, .06);
	font-weight: 700;
}

.travelik-header-area .header-account a:hover,
.travelik-header-area .header-account a:focus-visible {
	background: rgba(12, 178, 219, .16);
	box-shadow: 0 8px 24px rgba(12, 178, 219, .16);
}

.travelik-header-area .header-btn a::before,
.header-btn a::before {
	display: none !important;
}

.travelik-header-area .header-btn a,
.header-btn a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 22px !important;
	border: 1px solid rgba(255, 255, 255, .22);
	background: linear-gradient(135deg, #13bce4, #0786a7) !important;
	box-shadow: 0 10px 28px rgba(12, 178, 219, .25);
	color: #ffffff !important;
	font-weight: 700;
	letter-spacing: 1px;
	border-radius: 55px;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
	z-index: 1;
}

.travelik-header-area .header-btn a:hover,
.travelik-header-area .header-btn a:focus-visible,
.header-btn a:hover,
.sticky .header-btn a:hover {
	background: linear-gradient(135deg, #26d2fa, #0284c7) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(12, 178, 219, .55);
	border-color: rgba(255, 255, 255, 0.45);
}

.travelik-header-area .header-btn a svg,
.header-btn a svg {
	display: inline-block;
	margin-left: 10px;
	transition: transform 0.3s ease;
	filter: none !important;
}

.travelik-header-area .header-btn a svg path,
.header-btn a svg path {
	fill: #ffffff !important;
}

.travelik-header-area .header-btn a:hover svg,
.header-btn a:hover svg {
	transform: translateX(4px);
	filter: none !important;
}

.mobile-book-link a {
	color: #fff !important;
	background: var(--primary-color) !important;
}

/* Slider copy enters in sequence whenever a slide becomes active. */
.hero-main-swiper .hero_content > span,
.hero-main-swiper .hero_content h1,
.hero-main-swiper .hero-journey-box,
.hero-main-swiper .hero-journey-box h2 > span,
.hero-main-swiper .hero-media-action {
	opacity: 0;
	will-change: opacity, transform;
}

.hero-main-swiper .swiper-slide-active .hero_content > span {
	animation: hero-copy-rise .7s cubic-bezier(.2,.75,.25,1) .12s both;
}

.hero-main-swiper .swiper-slide-active .hero_content h1 {
	animation: hero-title-reveal .9s cubic-bezier(.16,1,.3,1) .22s both;
}

.hero-main-swiper .swiper-slide-active .hero-journey-box {
	animation: hero-card-enter .72s cubic-bezier(.2,.75,.25,1) .4s both;
}

.hero-main-swiper .swiper-slide-active .hero-journey-box h2 > span {
	display: inline-block;
	animation: hero-copy-rise .58s cubic-bezier(.2,.75,.25,1) both;
}

.hero-main-swiper .swiper-slide-active .hero-journey-box h2 > span:nth-of-type(1) { animation-delay: .52s; }
.hero-main-swiper .swiper-slide-active .hero-journey-box h2 > span:nth-of-type(2) { animation-delay: .61s; }
.hero-main-swiper .swiper-slide-active .hero-journey-box h2 > span:nth-of-type(3) { animation-delay: .7s; }

.hero-main-swiper .swiper-slide-active .hero-media-action {
	animation: hero-play-enter .7s cubic-bezier(.2,.75,.25,1) .78s both;
}

@keyframes hero-copy-rise {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-title-reveal {
	from { opacity: 0; transform: translateY(42px) scale(.97); filter: blur(7px); }
	to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes hero-card-enter {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-play-enter {
	from { opacity: 0; transform: translateX(24px); }
	to { opacity: 1; transform: translateX(0); }
}

/* Standalone play control: circle remains the primary affordance. */
.hero-media-action {
	display: flex;
	justify-content: center;
	margin-top: 21px;
}

.hero-media-action .hero-video-trigger {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	text-align: left;
}

.hero-play-circle {
	position: relative;
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	flex: 0 0 68px;
	border: 9px solid rgba(255, 255, 255, .13);
	border-radius: 50%;
	background: var(--primary-color);
	box-shadow: 0 12px 34px rgba(12, 178, 219, .35);
	transition: transform .25s ease, box-shadow .25s ease;
}

.hero-play-circle::after {
	content: '';
	position: absolute;
	inset: -10px;
	border: 1px solid rgba(12, 178, 219, .46);
	border-radius: inherit;
	animation: hero-play-pulse 2.1s ease-out infinite;
}

.hero-play-circle i {
	margin-left: 3px;
	font-size: 17px;
}

.hero-play-label {
	position: relative;
	display: inline-block;
	padding-bottom: 6px;
	font-family: var(--title-font);
	font-size: 19px;
	line-height: 1;
	letter-spacing: 1.6px;
	text-transform: uppercase;
}

.hero-play-label::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--primary-color);
	transform-origin: left;
	transition: transform .25s ease;
}

.hero-video-trigger:hover .hero-play-circle,
.hero-video-trigger:focus-visible .hero-play-circle {
	transform: scale(1.08);
	box-shadow: 0 16px 42px rgba(12, 178, 219, .5);
}

.hero-video-trigger:hover .hero-play-label::after,
.hero-video-trigger:focus-visible .hero-play-label::after {
	transform: scaleX(.45);
}

@keyframes hero-play-pulse {
	0% { opacity: .75; transform: scale(.9); }
	75%, 100% { opacity: 0; transform: scale(1.38); }
}

body.video-modal-open {
	overflow: hidden;
}

.blackline-video-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(2, 8, 12, .88);
	backdrop-filter: blur(14px);
	opacity: 0;
	transition: opacity .25s ease;
}

.blackline-video-modal[hidden] {
	display: none;
}

.blackline-video-modal.is-open {
	opacity: 1;
}

.blackline-video-dialog {
	position: relative;
	display: grid;
	grid-template-columns: minmax(280px, 460px) minmax(240px, 380px);
	gap: 32px;
	align-items: center;
	width: min(100%, 920px);
	max-height: calc(100vh - 48px);
	padding: 28px;
	overflow: auto;
	border: 1px solid rgba(12, 178, 219, .38);
	border-radius: 22px;
	background: #081117;
	box-shadow: 0 28px 90px rgba(0, 0, 0, .65);
}

.blackline-video-close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50%;
	background: rgba(4, 12, 17, .82);
	color: #fff;
	font-size: 20px;
}

.blackline-video-frame {
	position: relative;
	width: 100%;
	max-height: calc(85vh - 100px);
	min-height: 280px;
	margin-inline: auto;
	overflow: hidden;
	border-radius: 16px;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.blackline-video-loader {
	position: absolute;
	inset: 0;
	z-index: 10;
	background: rgba(4, 9, 14, 0.94);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	color: #ffffff;
	font-family: var(--text-font, 'Inter', sans-serif);
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.blackline-video-loader.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.blackline-video-loader i {
	font-size: 38px;
	color: var(--primary-color, #0cb2db);
	filter: drop-shadow(0 0 16px rgba(12, 178, 219, 0.6));
}

.blackline-video-loader-text {
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #dce5ed;
	text-align: center;
	padding: 0 16px;
}

.blackline-video-progress-bar {
	width: min(220px, 70%);
	height: 4px;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 10px;
	overflow: hidden;
	margin-top: 4px;
}

.blackline-video-progress-fill {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, #0cb2db, #41cff2);
	border-radius: 10px;
	transition: width 0.2s ease;
}

.blackline-video-frame video {
	display: block;
	width: 100%;
	max-height: calc(85vh - 100px);
	object-fit: contain;
	background: #000;
	border-radius: 16px;
}

.blackline-video-kicker {
	display: inline-block;
	margin-bottom: 14px;
	color: var(--primary-color);
	font-family: var(--text-font);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
}

.blackline-video-copy h2 {
	margin-bottom: 14px;
	color: #fff;
	font-family: var(--title-font);
	font-size: clamp(38px, 5vw, 62px);
	line-height: 1;
}

.blackline-video-copy p {
	margin: 0;
	color: var(--text-color);
	font-family: var(--text-font);
	font-size: 17px;
	line-height: 1.7;
}

@media (max-width: 767px) {
	.blackline-video-modal {
		padding: 10px;
	}

	.blackline-video-dialog {
		grid-template-columns: 1fr;
		gap: 20px;
		width: min(100%, 430px);
		padding: 18px;
	}

	.blackline-video-frame {
		width: min(100%, 300px);
		max-height: 66vh;
	}

	.blackline-video-copy {
		text-align: center;
	}

	.blackline-video-copy h2 {
		font-size: 36px;
	}

	.blackline-video-copy p {
		font-size: 15px;
	}

	.hero-media-action {
		margin-top: 16px;
	}

	.hero-media-action .hero-video-trigger {
		gap: 12px;
	}

	.hero-play-circle {
		width: 58px;
		height: 58px;
		flex-basis: 58px;
		border-width: 7px;
	}

	.hero-play-label {
		font-size: 16px;
		letter-spacing: 1.2px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-main-swiper .hero_content > span,
	.hero-main-swiper .hero_content h1,
	.hero-main-swiper .hero-journey-box,
	.hero-main-swiper .hero-journey-box h2 > span,
	.hero-main-swiper .hero-media-action {
		opacity: 1;
		animation: none !important;
		transform: none !important;
		filter: none !important;
	}

	.hero-play-circle::after {
		animation: none;
	}
}

/* === What's included: lightweight contextual icon cards === */
#includes .includes-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	margin-top: 42px;
}

#includes .include-card {
	--include-rgb: 12, 178, 219;
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	min-width: 0;
	min-height: 242px;
	padding: 24px 20px 22px;
	overflow: hidden;
	border: 1px solid rgba(var(--include-rgb), .28);
	border-radius: 16px;
	background:
		radial-gradient(circle at 82% 8%, rgba(var(--include-rgb), .18), transparent 37%),
		linear-gradient(145deg, #172c34, #102128 72%);
	box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
	text-align: left;
}

#includes .include-card::before {
	content: '';
	position: absolute;
	right: -34px;
	top: -36px;
	width: 120px;
	height: 120px;
	border: 1px solid rgba(var(--include-rgb), .24);
	border-radius: 50%;
	box-shadow: 0 0 0 18px rgba(var(--include-rgb), .04);
	pointer-events: none;
}

#includes .include-card::after {
	content: '';
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 0;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: linear-gradient(90deg, rgba(var(--include-rgb), .95), rgba(var(--include-rgb), 0));
	transform: scaleX(.38);
	transform-origin: left;
	transition: transform .35s ease;
}

#includes .include-card--lunch { --include-rgb: 245, 177, 74; }
#includes .include-card--drinks { --include-rgb: 232, 121, 157; }
#includes .include-card--water { --include-rgb: 64, 193, 234; }
#includes .include-card--chargers { --include-rgb: 160, 132, 245; }
#includes .include-card--towels { --include-rgb: 67, 211, 161; }

#includes .include-number {
	position: absolute;
	top: 16px;
	right: 17px;
	color: rgba(255, 255, 255, .2);
	font-family: var(--title-font);
	font-size: 17px;
	letter-spacing: 1px;
}

#includes .include-card .include-icon {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 68px;
	width: 68px;
	height: 68px;
	margin: 0 0 26px;
	border: 1px solid rgba(var(--include-rgb), .48);
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(var(--include-rgb), .22), rgba(var(--include-rgb), .07));
	color: rgb(var(--include-rgb));
	font-size: 27px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 12px 30px rgba(0, 0, 0, .16);
	transition: transform .35s ease, background .35s ease, color .35s ease;
}

#includes .include-card-content {
	position: relative;
	z-index: 1;
	margin-top: auto;
}

#includes .include-card h3 {
	margin: 0 0 8px;
	color: #fff;
	font-family: var(--title-font);
	font-size: clamp(19px, 1.45vw, 23px);
	line-height: 1;
	letter-spacing: 1.4px;
}

#includes .include-card p {
	margin: 0;
	color: rgba(215, 231, 237, .74);
	font-size: 12px;
	line-height: 1.55;
}

#includes .include-card:hover {
	transform: translateY(-7px);
	border-color: rgba(var(--include-rgb), .7);
	box-shadow: 0 24px 55px rgba(0, 0, 0, .26);
}

#includes .include-card:hover::after { transform: scaleX(1); }

#includes .include-card:hover .include-icon {
	transform: translateY(-3px) rotate(-3deg);
	background: rgb(var(--include-rgb));
	color: #071318;
}

#includes .includes-logistics-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	margin-top: 54px;
	padding: 0 2px 16px;
	border-bottom: 1px solid rgba(148, 215, 229, .18);
}

#includes .includes-logistics-heading span {
	display: block;
	margin-bottom: 7px;
	color: var(--primary-color);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 2px;
}

#includes .includes-logistics-heading h2 {
	margin: 0;
	color: #fff;
	font-family: var(--title-font);
	font-size: clamp(26px, 2.3vw, 36px);
	line-height: 1;
	letter-spacing: 1px;
}

#includes .includes-logistics-heading p {
	max-width: 430px;
	margin: 0;
	color: var(--text-color);
	font-size: 13px;
	line-height: 1.55;
	text-align: right;
}

#includes .logistics-table { margin-top: 18px; }

@media (max-width: 1199px) {
	#includes .includes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	#includes .includes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 30px; }
	#includes .include-card { min-height: 218px; padding: 19px 16px; border-radius: 13px; }
	#includes .include-card:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 190px; }
	#includes .include-card .include-icon { flex-basis: 54px; width: 54px; height: 54px; margin-bottom: 22px; border-radius: 16px; font-size: 22px; }
	#includes .include-card h3 { font-size: 18px; letter-spacing: .8px; }
	#includes .include-card p { font-size: 11px; }
	#includes .includes-logistics-heading { display: block; margin-top: 40px; }
	#includes .includes-logistics-heading p { margin-top: 9px; text-align: left; }
}

@media (max-width: 359px) {
	#includes .includes-grid { grid-template-columns: 1fr; }
	#includes .include-card,
	#includes .include-card:last-child:nth-child(odd) { grid-column: auto; min-height: 205px; }
}

/* === About: clean two-image layout without overlap === */
#about .row {
	align-items: center;
}

#about .about-thumb {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	height: clamp(520px, 41vw, 650px);
	margin: 0 !important;
	line-height: 0;
}

#about .about-thumb figure,
#about .about-thumb .about-img2 {
	position: relative !important;
	inset: auto !important;
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid rgba(148, 215, 229, .16);
	border-radius: 18px;
	background: #102128;
	box-shadow: 0 20px 45px rgba(0, 0, 0, .2);
}

#about .about-thumb figure::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 65%, rgba(3, 13, 18, .24));
}

#about .about-thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
}

#about .about-content {
	padding-left: clamp(10px, 2vw, 30px);
}

/* === Included: a genuinely centered heading at every language width === */
#includes .includes-section-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

#includes .includes-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	margin: 0 auto 14px;
	padding: 5px 11px;
	border: 1px solid rgba(12, 178, 219, .55);
	border-radius: 999px;
	background: rgba(12, 178, 219, .08);
	color: var(--primary-color);
	font-family: var(--text-font);
	font-size: 10px;
	font-weight: 800;
	line-height: 18px;
	letter-spacing: 1.5px;
}

#includes .includes-section-title {
	width: 100%;
	text-align: center;
}

#includes .includes-section-title h1 {
	width: 100%;
	text-align: center !important;
}

#includes .includes-section-heading .section-desc {
	max-width: 700px;
	margin: 18px auto 0 !important;
	text-align: center;
}

@media (max-width: 1199px) {
	#about .row { row-gap: 42px; }
	#about .about-thumb { height: min(68vw, 620px); }
	#about .about-content { padding-left: 0; }
}

@media (max-width: 575px) {
	#about .row { row-gap: 30px; }
	#about .about-thumb {
		gap: 9px;
		height: clamp(250px, 78vw, 320px);
		margin-bottom: 0 !important;
	}
	#about .about-thumb figure,
	#about .about-thumb .about-img2 { border-radius: 12px; }
	#includes .includes-kicker { margin-bottom: 11px; }
	#includes .includes-section-heading .section-desc { margin-top: 14px !important; }
}

/* === Hero booking: safer bottom clearance and readable localized dates === */
@media (min-width: 992px) {
	#booking.hero-integrated-booking-container {
		margin-top: -95px !important;
	}

	/* Keep the hero pagination above the overlapping booking widget. */
	.hero-slider-pagination {
		bottom: 122px !important;
	}
}

.localized-date-field {
	position: relative;
}

.localized-date-field input[type="date"] {
	position: relative;
	z-index: 1;
	padding-right: 48px !important;
	color: #f4fbfd !important;
	color-scheme: dark;
	caret-color: #f4fbfd;
}

.localized-date-field input[type="date"]::-webkit-datetime-edit,
.localized-date-field input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.localized-date-field input[type="date"]::-webkit-datetime-edit-day-field,
.localized-date-field input[type="date"]::-webkit-datetime-edit-month-field,
.localized-date-field input[type="date"]::-webkit-datetime-edit-year-field,
.localized-date-field input[type="date"]::-webkit-datetime-edit-text {
	color: #f4fbfd;
}

.localized-date-field input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	cursor: pointer;
}

.date-picker-icon {
	position: absolute;
	z-index: 2;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	color: rgba(244, 251, 253, .92);
	font-size: 15px;
	pointer-events: none;
}

.localized-date-field:not(.has-value):not(:focus-within) input[type="date"] {
	color: transparent !important;
}

.localized-date-field:not(.has-value):not(:focus-within) input[type="date"]::-webkit-datetime-edit,
.localized-date-field:not(.has-value):not(:focus-within) input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.localized-date-field:not(.has-value):not(:focus-within) input[type="date"]::-webkit-datetime-edit-day-field,
.localized-date-field:not(.has-value):not(:focus-within) input[type="date"]::-webkit-datetime-edit-month-field,
.localized-date-field:not(.has-value):not(:focus-within) input[type="date"]::-webkit-datetime-edit-year-field,
.localized-date-field:not(.has-value):not(:focus-within) input[type="date"]::-webkit-datetime-edit-text {
	color: transparent;
}

.date-format-placeholder {
	position: absolute;
	z-index: 2;
	left: 18px;
	right: 48px;
	top: 50%;
	transform: translateY(-50%);
	overflow: hidden;
	color: rgba(244, 251, 253, .82);
	font-family: var(--text-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	pointer-events: none;
	transition: opacity .18s ease;
}

.localized-date-field.has-value .date-format-placeholder,
.localized-date-field:focus-within .date-format-placeholder {
	opacity: 0;
}

.localized-date-field--contact .date-format-placeholder {
	left: 20px;
	font-size: 15px;
}

/* =========================================================
   BLACK SURFACE SYSTEM — PUBLIC WEBSITE
============================================================ */
:root {
	--color-btn1: #050505;
	--color-black1: #050505;
	--theme-bg-color: #000;
	--theme-bg-color2: #030303;
	--theme-bg-color3: #070707;
	--theme-bg-color4: #080808;
	--theme-bg-color5: #0a0a0a;
	--color-gradient-1: linear-gradient(180deg, #0c0c0c 0%, #000 100%);
	--border-grdient-1: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .82) 100%);
}

html,
body {
	background-color: #000 !important;
}

.travelik-header-area,
.travelik-header-area.sticky,
.mobile-menu-area,
.mean-container .mean-bar,
.mean-container .mean-nav {
	background: rgba(0, 0, 0, .96) !important;
}

.mobile-menu-languages .lang-btn,
.travelik-header-area .lang-btn,
.travelik-header-area .header-account a {
	background-color: rgba(0, 0, 0, .62) !important;
}

.hero-section-1::before {
	background: rgba(0, 0, 0, .5) !important;
}

.hero-bg-slide::before {
	background: linear-gradient(180deg, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, .82) 100%) !important;
}

.hero-section-1 .hero-journey-box,
.hero-integrated-booking,
.travel-boking {
	background: rgba(3, 3, 3, .96) !important;
}

.destination-section,
.about-section-one,
.populer-section,
.photography-sectoin,
.team-sectoin,
.testimonial-sectoin,
.latest-blog-section,
.testimonial-section,
.blog-section,
.blackline-section,
#contact,
.main-footer-one,
.main-footer-section {
	background-color: #000 !important;
	background-image: none !important;
}

.populer-single-box,
.single-testi-box,
.team-single-box,
.single-blog-box,
.client-card,
.counter-single-box,
.blog-single-box,
#contact .contact-service-box,
#contact .contact-info_item {
	background-color: rgba(5, 5, 5, .94) !important;
	background-image: none !important;
	border-color: #242424 !important;
}

.travelling-offer-section::before,
.travelling-offer-section::after,
.gallery-overlay,
.image-anime::after {
	background-color: rgba(0, 0, 0, .62) !important;
}

#contact .contact-form-box {
	background: #050505 !important;
	border: 1px solid #242424;
	border-radius: 28px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .72);
	padding: 38px 36px 32px !important;
	margin-bottom: 0 !important;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#contact .contact-form-box h1,
#contact .contact-form-box h2,
#contact .contact-form-box h3,
#contact .contact-form-box label {
	color: #fff !important;
}

#contact .contact-form-box .form__title {
	font-size: 32px !important;
	font-weight: 700;
	color: #fff !important;
	text-align: center;
	margin-bottom: 6px !important;
	letter-spacing: 0.5px;
}

#contact .booking-request-intro {
	max-width: 520px;
	margin: 0 auto 20px !important;
	color: #9aa8ae !important;
	font-size: 13.5px;
	line-height: 1.5;
	text-align: center;
}

#contact .form-box input,
#contact .form-box select,
#contact .form-box textarea {
	background-color: #000 !important;
	border: 1px solid #303030 !important;
	color: #f4f4f4 !important;
	font-family: var(--text-font);
	font-size: 14px;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

#contact #booking-request-form .form-box {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	margin-bottom: 12px;
	transition: filter .25s ease;
}

#booking-request-form {
	scroll-margin-top: 112px;
}

#contact #booking-request-form .form-box.is-prefilled {
	filter: drop-shadow(0 0 8px rgba(12, 178, 219, .4));
}

#contact #booking-request-form .form-box.is-prefilled input,
#contact #booking-request-form .form-box.is-prefilled select {
	border-color: var(--primary-color) !important;
}

.booking-form-feedback.prefilled {
	color: #cffafe;
	background: rgba(12, 178, 219, .12);
	border-color: rgba(12, 178, 219, .45);
}

#contact #booking-request-form .form-box input,
#contact #booking-request-form .form-box select {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: 48px;
	min-height: 48px;
	padding: 0 20px;
	border-radius: 999px !important;
	box-sizing: border-box !important;
	line-height: 1.2;
}

#contact #booking-request-form .form-box select {
	padding-right: 48px;
	-webkit-appearance: none;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #d5dde1 50%), linear-gradient(135deg, #d5dde1 50%, transparent 50%);
	background-position: calc(100% - 23px) 20px, calc(100% - 17px) 20px;
	background-repeat: no-repeat;
	background-size: 6px 6px, 6px 6px;
	cursor: pointer;
}

#contact #booking-request-form .form-box textarea {
	width: 100%;
	min-height: 84px;
	height: 84px;
	max-height: 180px;
	padding: 12px 20px;
	border-radius: 18px !important;
	line-height: 1.45;
	resize: vertical;
}

#contact #booking-request-form .form-box input:hover,
#contact #booking-request-form .form-box select:hover,
#contact #booking-request-form .form-box textarea:hover {
	border-color: #464646 !important;
}

#contact #booking-request-form .form-box input:focus,
#contact #booking-request-form .form-box select:focus,
#contact #booking-request-form .form-box textarea:focus {
	border-color: var(--primary-color) !important;
	box-shadow: 0 0 0 3px rgba(12, 178, 219, .14);
	outline: 0;
}

#contact #booking-request-form .localized-date-field input[type="date"] {
	padding-right: 52px !important;
}

#contact #booking-request-form .date-picker-icon {
	right: 21px;
	color: #d5dde1;
}

#contact #booking-request-form .date-format-placeholder {
	left: 20px;
	right: 52px;
}

#contact #booking-request-form .contact-form {
	display: flex;
	width: 100%;
	padding: 0;
	margin-top: 4px;
}

#contact #booking-request-form .contact-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 28px;
	margin-top: 2px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

#contact #booking-request-form .contact-form button:focus-visible {
	outline: 3px solid rgba(12, 178, 219, .3);
	outline-offset: 3px;
}

#contact .form-box input::placeholder,
#contact .form-box textarea::placeholder {
	color: #929292 !important;
}

#contact .form-box select option {
	background: #000;
	color: #fff;
}

@media (max-width: 575px) {
	#contact .contact-form-box {
		padding: 30px 18px 28px !important;
		border-radius: 20px;
	}

	#contact .contact-form-box .form__title {
		font-size: clamp(26px, 8vw, 32px) !important;
		margin-bottom: 8px !important;
	}

	#contact #booking-request-form .contact-form button {
		width: 100%;
	}
}

#includes .include-card {
	background: linear-gradient(145deg, #0b0b0b, #020202 72%) !important;
	box-shadow: 0 18px 42px rgba(0, 0, 0, .62);
}

#includes .include-card::before {
	border-color: rgba(0, 0, 0, .78);
	box-shadow: 0 0 0 18px rgba(0, 0, 0, .3);
}

#includes .include-card .include-icon {
	background: rgba(0, 0, 0, .72);
}

#about .about-thumb figure,
#about .about-thumb .about-img2 {
	background: #000;
	box-shadow: 0 20px 45px rgba(0, 0, 0, .62);
}

.section-title h1 > span:not(.plain-title),
.section-title h2 > span:not(.plain-title),
#includes .includes-kicker {
	background-color: rgba(0, 0, 0, .68) !important;
}

.blackline-video-modal {
	background: rgba(0, 0, 0, .9) !important;
}

.blackline-video-dialog,
.blackline-video-copy {
	background-color: #050505 !important;
}

.logistics-table,
.logistics-table tbody tr,
.logistics-table td {
	background-color: #050505 !important;
}

.logistics-table tbody tr:hover {
	background-color: #0b0b0b !important;
}

/* === MeanMenu: fully black mobile navigation === */
@media (max-width: 991px) {
	.mobile-menu-area,
	.mobile-menu,
	.mobile-menu.mean-container,
	.mean-container,
	.mean-container .mean-bar,
	.mean-container .mean-nav,
	.mean-container .mean-nav ul,
	.mean-container .mean-nav ul li,
	.mean-container .mean-nav ul li a,
	.mean-container .mean-nav ul li li a,
	.mean-container .mean-nav ul li a.mean-expand,
	.mean-container .mean-bar .meanmenu-reveal {
		background-color: #000 !important;
		background-image: none !important;
	}

	.mean-container .mean-nav ul li {
		border-color: #202020 !important;
	}

	.mean-container .mean-nav ul li a,
	.mean-container .mean-nav ul li li a {
		color: #f5f5f5 !important;
		border-color: #202020 !important;
	}

	.mean-container .mean-nav ul li a:hover,
	.mean-container .mean-nav ul li a:focus-visible,
	.mean-container .mean-nav ul li a.mean-expand:hover {
		background-color: #0a0a0a !important;
	}

	.mean-container .mean-nav .language-select {
		background: #050505 !important;
		border-color: #252525 !important;
	}
}

/* === Custom index image zoom viewer === */
.index-zoom-image {
	cursor: zoom-in;
}

.index-zoom-image:focus-visible {
	outline: 3px solid var(--primary-color);
	outline-offset: 4px;
}

body.image-zoom-open {
	overflow: hidden !important;
}

/* ==========================================================================
   DYNAMIC TOUR CARDS (COMPACT & SLEEK 2-COLUMN LAYOUT)
   ========================================================================== */
.popular__slider__active .swiper-wrapper { align-items:stretch; }
.popular__slider__active .swiper-slide { display:flex; height:auto; }
.popular__slider__active .swiper-slide > .col-lg-12 { display:flex; width:100%; height:100%; }
.popular__slider__active .populer-single-box { 
	display:flex; 
	flex-direction:column; 
	width:100%; 
	height:100%; 
	padding: 0 !important;
	background: #060b14;
	border: 1px solid rgba(255,255,255,0.09);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.popular__slider__active .populer-single-box:hover {
	transform: translateY(-3px);
	border-color: rgba(12,178,219,0.4);
	box-shadow: 0 12px 35px rgba(0,0,0,0.6);
}
.tour-thumb-duration-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 5;
	background: rgba(3, 7, 18, 0.78);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #f8fafc;
	font-family: var(--title-font);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 6px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}
.popular__slider__active .populer-thumb {
	position: relative;
	overflow: hidden;
	height: 310px;
	background: #020617;
	cursor: pointer;
}
.popular__slider__active .populer-thumb figure {
	margin: 0;
	width: 100%;
	height: 100%;
}
.popular__slider__active .populer-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.popular__slider__active .populer-thumb:hover img,
.popular__slider__active .populer-single-box:hover .populer-thumb img {
	transform: scale(1.06);
}
.popular__slider__active .populer-contnet.tour-card-compact-content { 
	display: flex; 
	flex: 1; 
	flex-direction: column; 
	padding: 13px 15px 14px; 
	gap: 6px;
}

/* Top Bar inside Card */
.tour-card-top-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	flex-wrap: wrap;
}
.tour-type-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 8px;
	border-radius: 6px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 1.2;
}
.tour-type-badge.private {
	background: rgba(12, 178, 219, 0.12);
	border: 1px solid rgba(12, 178, 219, 0.35);
	color: #38bdf8;
}
.tour-type-badge.shared {
	background: rgba(168, 85, 247, 0.15);
	border: 1px solid rgba(168, 85, 247, 0.4);
	color: #c084fc;
}
.tour-type-badge.transfer {
	background: rgba(34, 197, 94, 0.15);
	border: 1px solid rgba(34, 197, 94, 0.4);
	color: #4ade80;
}
.tour-type-badge.chauffeur {
	background: rgba(245, 158, 11, 0.15);
	border: 1px solid rgba(245, 158, 11, 0.4);
	color: #fbbf24;
}
.tour-card-offer-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: rgba(245, 158, 11, 0.18);
	border: 1px solid #f59e0b;
	color: #fde047;
	font-size: 10px;
	font-weight: 800;
	padding: 2px 7px;
	border-radius: 6px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	box-shadow: 0 0 8px rgba(245,158,11,0.25);
}

/* Tour Title & 2-Column Header Row */
.tour-card-header-2col {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 8px !important;
	margin-bottom: 5px !important;
}
.tour-card-header-2col .popular-title {
	margin: 0 !important;
	min-width: 0;
	line-height: 1.2 !important;
}
.tour-card-title-button { 
	width: 100%; 
	padding: 0; 
	border: 0; 
	background: transparent; 
	color: #ffffff; 
	text-align: left; 
	cursor: pointer; 
	font-family: var(--title-font);
	font-size: 15.5px;
	font-weight: 800;
	line-height: 1.25;
	transition: color 0.15s ease;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
}
.tour-card-title-button:hover,
.tour-card-title-button:focus-visible { 
	color: #38bdf8; 
}
.tour-card-top-badges {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	flex-shrink: 0;
	white-space: nowrap;
}
.tour-card-top-badges .tour-type-badge {
	padding: 3.5px 8px;
	font-size: 10px;
	font-weight: 800;
	border-radius: 6px;
}
.tour-card-clamped { 
	overflow: hidden; 
	text-overflow: ellipsis; 
	white-space: nowrap;
}

/* ==========================================================================
   TOUR CARD INTERNAL PROPORTIONS & LUXURY SPLIT ROW
   ========================================================================== */

/* Upper 2-Col: Description (Left) + Pricing & Specs (Right) with Synchronized 3-Row Height */
.tour-card-body-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	align-items: stretch;
	margin: 6px 0 8px;
	box-sizing: border-box;
}

/* Description box: 3 lines text + 1 line link */
.tour-card-desc {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: rgba(255, 255, 255, 0.025);
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 9px;
	padding: 7px 9px;
	cursor: pointer;
	text-align: left;
	min-height: 80px;
	box-sizing: border-box;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.tour-card-desc:hover {
	background: rgba(12, 178, 219, 0.04);
	border-color: rgba(12, 178, 219, 0.25);
}
.tour-card-desc-text {
	font-family: "Inter", sans-serif;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.35;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.tour-card-readmore {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #0cb2db;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-top: 2px;
	text-transform: uppercase;
}
.tour-card-readmore i {
	font-size: 8.5px;
}

/* Right Column (Price, Specs & Extra Pax in 3 Synchronized Rows) */
.tour-card-price-col {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: 0;
}
.tour-card-price-container {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	background: linear-gradient(135deg, rgba(12, 178, 219, 0.08) 0%, rgba(5, 12, 20, 0.6) 100%);
	border: 1px solid rgba(12, 178, 219, 0.22);
	border-radius: 9px;
	padding: 7px 9px;
	min-height: 80px;
	box-sizing: border-box;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}
.tour-card-price-row {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 4px;
	white-space: nowrap;
	width: 100%;
}
.tour-card-old-price {
	font-size: 11px;
	font-weight: 600;
	color: #94a3b8;
	text-decoration: line-through;
	text-decoration-color: #ef4444;
	opacity: 0.85;
	margin: 0;
	white-space: nowrap;
}
.tour-card-current-price {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 20px;
	font-weight: 800;
	color: #41cff2;
	letter-spacing: -0.01em;
	line-height: 1;
	white-space: nowrap;
}
.tour-card-price-unit {
	font-family: "Inter", sans-serif;
	font-size: 9px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.55);
	text-transform: uppercase;
	margin: 0;
	letter-spacing: 0.03em;
	white-space: nowrap;
}
.tour-card-specs-line {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	font-size: 9.5px;
	font-weight: 700;
	color: #e2e8f0;
	background: rgba(0, 0, 0, 0.45);
	padding: 2px 6px;
	border-radius: 5px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	line-height: 1.2;
	white-space: nowrap;
}
.tour-card-specs-line i {
	color: #0cb2db;
	font-size: 9px;
}
.tour-card-specs-dot {
	color: rgba(255, 255, 255, 0.35);
}
.tour-card-extra-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	margin-top: 1px;
}
.extra-pax-hint {
	font-size: 9px;
	font-weight: 700;
	color: #00e5ff;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

/* ==========================================================================
   SPLIT ROW: EXACT 50% SERVICIOS + 50% ITINERARIO
   ========================================================================== */
.tour-card-split-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0 !important;
	align-items: stretch !important;
	width: 100% !important;
	background: linear-gradient(180deg, rgba(10, 18, 29, 0.8) 0%, rgba(5, 10, 18, 0.95) 100%) !important;
	border: 1px solid rgba(12, 178, 219, 0.2) !important;
	border-radius: 10px !important;
	margin: 4px 0 8px !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
}

/* Left block: Services (50%) */
.tour-card-services-block {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 8px 9px;
	border-right: 1px solid rgba(12, 178, 219, 0.16);
	min-width: 0;
	background: rgba(255, 255, 255, 0.015);
	box-sizing: border-box;
	overflow: hidden;
}
.tour-card-services-label,
.tour-card-route-label {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 10px;
	font-weight: 800;
	color: #0cb2db;
	text-transform: uppercase;
	letter-spacing: .05em;
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.tour-card-services-label i,
.tour-card-route-label i {
	font-size: 9.5px;
	flex-shrink: 0;
}
.tour-card-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4px;
	align-content: start;
}
.tour-service-chip-box {
	height: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(12, 178, 219, 0.09);
	border: 1px solid rgba(12, 178, 219, 0.28);
	border-radius: 5px;
	font-size: 11px;
	color: #41cff2;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
	box-sizing: border-box;
}
.tour-service-chip-box:hover {
	background: rgba(12, 178, 219, 0.3);
	border-color: #0cb2db;
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 3px 8px rgba(12, 178, 219, 0.35);
}
.tour-service-chip-box.is-more {
	background: rgba(12, 178, 219, 0.22);
	border-color: rgba(12, 178, 219, 0.5);
	color: #ffffff;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.02em;
}
.tour-service-chip-box.is-more:hover {
	background: #0cb2db;
	color: #ffffff;
}
.tour-services-none {
	font-family: "Inter", sans-serif;
	font-size: 10px;
	color: #64748b;
	font-style: italic;
	grid-column: 1 / -1;
	padding: 2px 0;
}

/* Right block: Route / Itinerary (50%) */
.tour-card-route-block {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 8px 9px;
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
}
.tour-card-route-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	min-width: 0;
}
.tour-route-timeline {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.tour-route-step {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.tour-route-step i {
	font-size: 10.5px;
	flex-shrink: 0;
	width: 14px;
	text-align: center;
}
.tour-route-step.is-start i {
	color: #34d399;
}
.tour-route-step.is-end i {
	color: #f87171;
}
.tour-route-step-content {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: left;
}
.tour-route-step-content span {
	font-family: "Inter", sans-serif;
	font-size: 11px;
	font-weight: 700;
	color: #e2e8f0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: block;
}

/* Intermediate Timeline Connectors */
.tour-route-line-mid {
	display: flex;
	align-items: center;
	gap: 6px;
	padding-left: 5px;
	margin: 1px 0;
}
.tour-route-line-mid.is-direct {
	padding-left: 6px;
}
.tour-route-line-track {
	width: 2px;
	height: 10px;
	background: linear-gradient(180deg, #34d399 0%, rgba(12, 178, 219, 0.4) 50%, #f87171 100%);
	border-radius: 2px;
	display: block;
	flex-shrink: 0;
}
.tour-route-more-pill {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #38bdf8;
	background: rgba(12, 178, 219, 0.12);
	border: 1px solid rgba(12, 178, 219, 0.3);
	border-radius: 12px;
	padding: 1px 7px;
	line-height: 1.2;
	cursor: pointer;
	transition: all 0.2s ease;
}
.tour-route-more-pill:hover {
	background: rgba(12, 178, 219, 0.3);
	color: #ffffff;
	border-color: #0cb2db;
	transform: translateX(2px);
}
.tour-route-dots-direct {
	display: inline-flex;
	align-items: center;
	gap: 3px;
}
.tour-route-dots-direct i {
	width: 3px;
	height: 3px;
	background: rgba(12, 178, 219, 0.6);
	border-radius: 50%;
	display: block;
}

/* Direct Transfer Timeline */
.tour-route-line-direct {
	display: flex;
	align-items: center;
	gap: 6px;
	padding-left: 5px;
	margin: 1px 0;
}
.tour-route-line-direct em {
	font-family: "Inter", sans-serif;
	font-size: 10px;
	color: #38bdf8;
	font-style: normal;
	display: flex;
	align-items: center;
	gap: 3px;
}

/* Chauffeur Service Layout */
.tour-route-chauffeur-box {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: left;
}
.tour-route-chauffeur-main {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: #ffffff;
}
.tour-route-chauffeur-main i {
	color: #0cb2db;
	font-size: 11px;
}
.tour-route-chauffeur-main strong {
	font-family: "Inter", sans-serif;
	font-weight: 700;
	color: #e2e8f0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.tour-route-chauffeur-badges {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}
.tour-route-chauffeur-badges span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 9.5px;
	color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 4px;
	padding: 1px 5px;
}
.tour-route-chauffeur-badges span i {
	color: #fbbf24;
	font-size: 9px;
}

/* Schedule Mini Notice */
.tour-schedule-compact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	background: rgba(0,0,0,0.35);
	border: 1px solid rgba(255,255,255,0.06);
	padding: 3px 7px;
	border-radius: 5px;
	margin-top: 1px;
	font-size: 10.5px;
	color: #cbd5e1;
}
.tour-schedule-compact .tour-schedule-info strong {
	color: #fff;
	font-size: 11px;
}

/* Tour Card Action Buttons */
.tour-card-btn-grid { 
	display: grid !important; 
	grid-template-columns: 1fr 1.25fr !important; 
	gap: 7px !important; 
	margin-top: auto !important; 
	padding-top: 6px !important; 
	width: 100% !important;
}
.tour-card-action-btn {
	height: 38px;
	padding: 0 10px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-family: var(--title-font);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	white-space: nowrap;
}
.tour-card-action-btn.secondary {
	background: rgba(255, 255, 255, 0.05);
	border: 1.5px solid rgba(255, 255, 255, 0.22);
	color: #f8fafc;
}
.tour-card-action-btn.secondary:hover,
.tour-card-action-btn.secondary:focus-visible {
	background: rgba(12, 178, 219, 0.18);
	border-color: var(--primary-color, #0cb2db);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(12, 178, 219, 0.25);
}
.tour-card-action-btn.primary {
	background: linear-gradient(135deg, #0cb2db 0%, #0284c7 100%);
	border: 1.5px solid #38bdf8;
	color: #ffffff !important;
	font-weight: 800;
	box-shadow: 0 4px 14px rgba(12, 178, 219, 0.35);
}
.tour-card-action-btn.primary:hover,
.tour-card-action-btn.primary:focus-visible {
	background: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 100%);
	box-shadow: 0 6px 20px rgba(12, 178, 219, 0.55);
	transform: translateY(-1px);
	color: #ffffff !important;
}
.tour-card-action-btn.primary .arrow-icon {
	transition: transform 0.2s ease;
}
.tour-card-action-btn.primary:hover .arrow-icon {
	transform: translateX(3px);
}

/* ==========================================================================
   LUXURY FULLSCREEN & EXPANSIVE TOUR DETAILS MODAL
   ========================================================================== */
body.tour-details-open { overflow:hidden !important; }
.tour-details-modal[hidden] { display:none !important; }
.tour-details-modal { 
	position: fixed; 
	inset: 0; 
	z-index: 100000; 
	display: flex; 
	align-items: center; 
	justify-content: center; 
	padding: 20px; 
	background: rgba(0, 0, 0, 0.88); 
	backdrop-filter: blur(14px); 
}
.tour-details-dialog { 
	width: min(1140px, 96vw); 
	max-height: calc(100vh - 40px); 
	overflow-y: auto; 
	overflow-x: hidden;
	border: 1.5px solid rgba(255, 255, 255, 0.14); 
	border-radius: 22px; 
	background: #070d18; 
	box-shadow: 0 35px 120px rgba(0, 0, 0, 0.95); 
	color: #f8fafc;
	display: flex;
	flex-direction: column;
}
.tour-details-modal-head { 
	position: sticky; 
	top: 0; 
	z-index: 10; 
	display: flex; 
	align-items: center; 
	justify-content: space-between; 
	gap: 16px; 
	padding: 12px 24px; 
	border-bottom: 1px solid rgba(255, 255, 255, 0.1); 
	background: rgba(7, 13, 24, 0.97); 
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.tour-modal-brand-wrap {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.tour-modal-brand-logo {
	height: 28px;
	width: auto;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
}
.tour-modal-brand-divider {
	display: inline-block;
	width: 1px;
	height: 18px;
	background: rgba(255, 255, 255, 0.2);
}
.tour-modal-brand-kicker {
	color: #8cecff; 
	font-size: 11.5px; 
	font-weight: 800; 
	letter-spacing: .12em; 
	text-transform: uppercase; 
	font-family: var(--title-font), sans-serif;
}
.tour-details-modal-head button { 
	display: grid; 
	place-items: center; 
	width: 36px; 
	height: 36px; 
	border: 1px solid rgba(255, 255, 255, 0.18); 
	border-radius: 50%; 
	background: rgba(255, 255, 255, 0.05); 
	color: #fff; 
	cursor: pointer; 
	transition: all 0.2s ease;
}
.tour-details-modal-head button:hover {
	background: rgba(239, 68, 68, 0.25);
	border-color: #ef4444;
	transform: rotate(90deg);
}
.tour-details-modal-body { padding: 24px; }

/* 2-Column Showcase Layout inside Modal */
.tour-details-layout-grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 28px;
	align-items: start;
}
.tour-details-left-col {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 10px;
}
.tour-details-right-col {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.tour-details-meta-header {
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.8) 0%, rgba(10, 18, 29, 0.95) 100%);
	border: 1px solid rgba(12, 178, 219, 0.22);
	border-radius: 12px;
	padding: 10px 12px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
	margin-bottom: 6px;
	box-sizing: border-box;
}
.tour-details-meta-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	align-items: stretch;
	width: 100%;
}
@media (max-width: 991px) {
	.tour-details-meta-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.tour-details-meta-grid {
		grid-template-columns: 1fr;
	}
}

.tour-meta-slot {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	padding: 7px 9px;
	min-height: 58px;
	box-sizing: border-box;
}
.tour-meta-slot-label {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 10px;
	font-weight: 800;
	color: #0cb2db;
	text-transform: uppercase;
	letter-spacing: .06em;
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 4px;
	white-space: nowrap;
}
.tour-meta-slot-label i {
	font-size: 9.5px;
}
.tour-meta-slot-value {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}
.tour-meta-val-text {
	font-family: "Outfit", sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #ffffff;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.tour-meta-val-text i {
	color: #0cb2db;
	font-size: 11px;
}
.tour-meta-extra-pill {
	font-size: 9.5px;
	font-weight: 800;
	color: #00e5ff;
	background: rgba(0, 229, 255, 0.12);
	border: 1px solid rgba(0, 229, 255, 0.3);
	padding: 2px 6px;
	border-radius: 4px;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.tour-meta-slot.price-slot {
	background: linear-gradient(135deg, rgba(12, 178, 219, 0.12) 0%, rgba(5, 12, 20, 0.6) 100%);
	border-color: rgba(12, 178, 219, 0.3);
}
.tour-meta-slot-value.price-val {
	display: flex;
	align-items: baseline;
	gap: 4px;
	flex-wrap: nowrap;
	white-space: nowrap;
}
.tour-modal-old-price {
	font-size: 11.5px;
	font-weight: 600;
	color: #94a3b8;
	text-decoration: line-through;
	text-decoration-color: #ef4444;
	opacity: 0.85;
}
.tour-modal-current-price {
	font-family: "Outfit", sans-serif;
	font-size: 19px;
	font-weight: 800;
	color: #00e5ff;
	line-height: 1;
	letter-spacing: -0.02em;
}
.tour-modal-current-price.is-offer {
	color: #38bdf8;
}
.tour-modal-unit {
	font-size: 9px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.6);
	text-transform: uppercase;
	letter-spacing: .03em;
}
	letter-spacing: -0.02em;
	line-height: 1;
}
.tour-modal-unit {
	font-size: 11.5px;
	font-weight: 700;
	color: #cbd5e1;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.tour-details-title { 
	margin: 0; 
	color: #fff; 
	font-family: var(--title-font); 
	font-size: clamp(24px, 3.5vw, 36px); 
	line-height: 1.15; 
	font-weight: 800;
}
.tour-details-subtitle {
	margin: -8px 0 0;
	font-size: 14.5px;
	color: #94a3b8;
	line-height: 1.5;
	font-weight: 500;
}
.tour-details-description {
	background: rgba(255, 255, 255, 0.02);
	border-left: 3px solid #0cb2db;
	padding: 10px 14px;
	border-radius: 0 8px 8px 0;
}
.tour-details-description p {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.6;
	color: #cbd5e1;
}

/* Public Tour Modal Photo Gallery */
.tour-modal-gallery { 
	display: flex; 
	flex-direction: column; 
	gap: 10px; 
	width: 100%;
}
.tour-modal-gallery-main { 
	position: relative; 
	width: 100%; 
	height: clamp(240px, 38vh, 350px); 
	border-radius: 16px; 
	overflow: hidden; 
	background: #020617; 
	border: 1.5px solid rgba(255, 255, 255, 0.14); 
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
	cursor: pointer;
	transition: border-color 0.25s ease;
}
.tour-modal-gallery-main:hover {
	border-color: #0cb2db;
}
.tour-modal-gallery-hero-img { 
	width: 100%; 
	height: 100%; 
	object-fit: cover; 
	display: block; 
	transition: transform 0.35s ease, opacity 0.25s ease; 
}
.tour-modal-gallery-main:hover .tour-modal-gallery-hero-img {
	transform: scale(1.03);
}
.tour-modal-image-counter {
	position: absolute;
	bottom: 10px;
	right: 10px;
	background: rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #f8fafc;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	gap: 5px;
	z-index: 2;
}
.tour-modal-zoom-overlay {
	position: absolute;
	top: 10px;
	right: 10px;
	background: rgba(7, 13, 24, 0.85);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(12, 178, 219, 0.4);
	color: #67e8f9;
	font-size: 10.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 4px 10px;
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	opacity: 0.85;
	transition: all 0.2s ease;
	z-index: 2;
}
.tour-modal-gallery-main:hover .tour-modal-zoom-overlay {
	opacity: 1;
	background: #0cb2db;
	color: #ffffff;
	border-color: #0cb2db;
}
.tour-modal-gallery-thumbs { 
	display: grid !important; 
	grid-template-columns: repeat(3, 1fr) !important; 
	gap: 8px !important; 
	margin-top: 10px !important; 
	padding-bottom: 0 !important; 
	overflow-x: visible !important; 
}
.tour-modal-thumb-btn { 
	width: 100% !important; 
	aspect-ratio: 16 / 11 !important; 
	height: auto !important; 
	flex-shrink: initial !important; 
	padding: 0 !important; 
	border-radius: 8px !important; 
	overflow: hidden !important; 
	border: 2px solid rgba(255, 255, 255, 0.12) !important; 
	background: #0f172a !important; 
	cursor: pointer !important; 
	opacity: .75 !important; 
	box-sizing: border-box !important; 
	transition: all .2s cubic-bezier(0.16, 1, 0.3, 1) !important; 
}
.tour-modal-thumb-btn img { 
	width: 100% !important; 
	height: 100% !important; 
	object-fit: cover !important; 
	display: block !important; 
}
.tour-modal-thumb-btn:hover { 
	opacity: 1 !important; 
	border-color: #0cb2db !important; 
	transform: translateY(-2px) !important; 
	box-shadow: 0 4px 12px rgba(12, 178, 219, 0.35) !important; 
}
.tour-modal-thumb-btn.active { 
	opacity: 1 !important; 
	border-color: #00e5ff !important; 
	box-shadow: 0 0 14px rgba(0, 229, 255, 0.6) !important; 
}

/* Highlights Box */
.tour-details-highlights-box {
	background: rgba(251, 191, 36, 0.06);
	border: 1px solid rgba(251, 191, 36, 0.25);
	border-radius: 12px;
	padding: 14px 16px;
}
.tour-details-highlights-box h4 {
	margin: 0 0 6px 0;
	color: #fbbf24;
	font-size: 12.5px;
	font-weight: 800;
	display: flex;
	align-items: center;
	gap: 6px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.tour-details-highlights-box p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: #cbd5e1;
}

/* ==========================================================================
   LOCATIONS ITINERARY: STEP-BY-STEP TRAIL ROADMAP ("CAMINITO")
   ========================================================================== */
.tour-details-trail-roadmap {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 10px;
	position: relative;
}
.tour-trail-node {
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 14px;
	position: relative;
	min-height: 58px;
}
.tour-trail-indicator {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}
.tour-trail-bullet {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-size: 11.5px;
	font-weight: 900;
	background: rgba(12, 178, 219, 0.15);
	border: 1.5px solid #0cb2db;
	color: #67e8f9;
	flex-shrink: 0;
	z-index: 2;
	box-shadow: 0 0 10px rgba(12, 178, 219, 0.25);
}
.tour-trail-node.is-start .tour-trail-bullet {
	background: #0cb2db;
	color: #ffffff;
	border-color: #38bdf8;
	box-shadow: 0 0 14px rgba(12, 178, 219, 0.6);
}
.tour-trail-node.is-end .tour-trail-bullet {
	background: #38bdf8;
	color: #ffffff;
	border-color: #67e8f9;
	box-shadow: 0 0 14px rgba(56, 189, 248, 0.6);
}
.tour-trail-line {
	width: 2px;
	flex-grow: 1;
	background: linear-gradient(to bottom, #0cb2db, rgba(12, 178, 219, 0.25));
	margin: 4px 0;
}
.tour-trail-card {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 8px 14px 12px;
	background: rgba(255, 255, 255, 0.025);
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 10px;
	margin-bottom: 10px;
	transition: all 0.2s ease;
}
.tour-trail-node:hover .tour-trail-card {
	background: rgba(12, 178, 219, 0.06);
	border-color: rgba(12, 178, 219, 0.3);
	transform: translateX(2px);
}
.tour-trail-card-head {
	display: flex;
	align-items: center;
	gap: 8px;
}
.tour-trail-tag {
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #94a3b8;
	background: rgba(255, 255, 255, 0.06);
	padding: 2px 7px;
	border-radius: 4px;
}
.tour-trail-tag.is-start {
	color: #0cb2db;
	background: rgba(12, 178, 219, 0.12);
	border: 1px solid rgba(12, 178, 219, 0.25);
}
.tour-trail-tag.is-end {
	color: #38bdf8;
	background: rgba(56, 189, 248, 0.12);
	border: 1px solid rgba(56, 189, 248, 0.25);
}
.tour-trail-name {
	font-size: 14px;
	font-weight: 700;
	color: #f1f5f9;
}
.tour-trail-desc {
	margin: 0;
	font-size: 12px;
	color: #94a3b8;
	line-height: 1.45;
}

/* ==========================================================================
   INCLUDED SERVICES: 2-COL GRID + 8-ITEM LIMIT & FADE OVERLAY
   ========================================================================== */
.tour-details-service-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
}
.tour-service-card-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 4px 10px;
	align-items: flex-start;
	padding: 10px 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	color: #fff;
	background: rgba(255, 255, 255, 0.025);
	transition: all 0.2s ease;
}
.tour-service-card-item:hover {
	background: rgba(12, 178, 219, 0.08);
	border-color: rgba(12, 178, 219, 0.3);
}
.tour-service-card-item > i {
	color: #0cb2db;
	font-size: 14px;
	margin-top: 3px;
}
.tour-service-card-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.tour-service-card-text b {
	font-size: 12.5px;
	font-weight: 700;
	color: #f8fafc;
	line-height: 1.3;
}
.tour-service-card-text small {
	color: #94a3b8;
	font-size: 11px;
	line-height: 1.4;
}

/* Services Fade Overlay & More Button */
.tour-services-fade-wrap {
	position: relative;
	margin-top: -12px;
	padding-top: 30px;
	background: linear-gradient(to bottom, rgba(7, 13, 24, 0) 0%, rgba(7, 13, 24, 0.95) 60%, #070d18 100%);
	display: flex;
	justify-content: center;
	z-index: 3;
}
.btn-tour-all-services-aux {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: rgba(12, 178, 219, 0.15);
	border: 1.5px solid rgba(12, 178, 219, 0.45);
	border-radius: 999px;
	color: #38bdf8;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
	transition: all 0.2s ease;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
.btn-tour-all-services-aux:hover {
	background: #0cb2db;
	color: #000;
	border-color: #0cb2db;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(12, 178, 219, 0.4);
}

/* ==========================================================================
   AUXILIARY MODAL: ALL INCLUDED SERVICES
   ========================================================================== */
.tour-services-aux-modal[hidden] { display: none !important; }
.tour-services-aux-modal {
	position: fixed;
	inset: 0;
	z-index: 100010;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, 0.88);
	backdrop-filter: blur(14px);
}
.tour-services-aux-dialog {
	width: min(780px, 94vw);
	max-height: calc(100vh - 80px);
	overflow-y: auto;
	border: 1.5px solid rgba(12, 178, 219, 0.35);
	border-radius: 18px;
	background: #070d18;
	box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95);
	color: #f8fafc;
	display: flex;
	flex-direction: column;
}
.tour-services-aux-head {
	position: sticky;
	top: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(7, 13, 24, 0.97);
	backdrop-filter: blur(10px);
}
.tour-services-aux-head button {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	cursor: pointer;
	transition: all 0.2s ease;
}
.tour-services-aux-head button:hover {
	background: rgba(239, 68, 68, 0.3);
	border-color: #ef4444;
	transform: rotate(90deg);
}
.tour-services-aux-body {
	padding: 22px;
}
.tour-aux-services-header {
	margin-bottom: 16px;
}
.tour-aux-services-header h3 {
	font-size: 16px;
	font-weight: 800;
	color: #fff;
	margin: 0 0 6px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.tour-aux-services-header h3 i {
	color: #0cb2db;
}
.tour-aux-services-header p {
	margin: 0;
	font-size: 13px;
	color: #94a3b8;
}
.tour-aux-services-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.tour-service-card-item.is-expanded {
	padding: 12px 14px;
}

/* Sections inside modal */
.tour-details-section {
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.tour-details-section h3 {
	margin: 0 0 10px 0;
	color: #f8fafc;
	font-size: 14px;
	font-weight: 800;
	display: flex;
	align-items: center;
	gap: 7px;
	letter-spacing: 0.02em;
}
.tour-details-section h3 i {
	color: var(--primary-color, #0cb2db);
}

/* Departure Box */
.tour-details-departure-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.1);
}
.tour-details-departure-box strong {
	color: #fff;
	font-size: 13px;
}
.tour-details-departure-box p {
	margin: 4px 0 0 0;
	width: 100%;
	font-size: 12px;
	color: #94a3b8;
}

/* Sticky Booking Action at Bottom of Modal */
.tour-details-cta-sticky {
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.tour-details-book-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 14px 20px;
	border-radius: 12px;
	background: linear-gradient(135deg, #0cb2db 0%, #0284c7 100%);
	border: 1.5px solid #38bdf8;
	color: #ffffff !important;
	font-family: var(--title-font);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(12, 178, 219, 0.35);
	transition: all 0.25s ease;
}
.tour-details-book-btn:hover {
	background: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 100%);
	box-shadow: 0 10px 30px rgba(12, 178, 219, 0.55);
	transform: translateY(-2px);
	color: #ffffff !important;
}

.tour-details-policies article { padding:12px 0; border-top:1px solid rgba(255,255,255,.08); }
.tour-details-policies article:first-child { border-top:0; }
.tour-details-policies article strong { color:#fff; font-size:12.5px; }
.tour-details-policies article small { color:#67e8f9; }
.tour-details-policies article p { margin-top:5px !important; font-size:12px; color:#94a3b8; line-height:1.5; }
#includes .includes-grid { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.include-coverage { display:block; margin-top:9px; color:#67e8f9; font-size:9px; line-height:1.4; }
.includes-empty { grid-column:1/-1; padding:28px; border:1px dashed rgba(255,255,255,.15); border-radius:12px; color:#94a3b8; text-align:center; }
.logistics-table { min-width:980px; }
.logistics-service-list { display:flex; flex-wrap:wrap; gap:5px; min-width:230px; }

/* Image zoom lightbox z-index overlay */
.index-image-zoom {
	z-index: 100020 !important;
}

@media (max-width: 991px) {
	.tour-details-layout-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.tour-details-left-col {
		position: static;
	}
	.tour-modal-gallery-main {
		height: 280px;
	}
}

@media (max-width:767px) {
    .tour-schedule-public { grid-template-columns:1fr; }
    .tour-status-badge { justify-self:start; }
    .tour-card-gallery figure { height:52px; }
	.tour-card-btn-grid { grid-template-columns: 1fr !important; }
	.tour-details-modal { padding: 8px; }
	.tour-details-dialog { max-height: calc(100vh - 16px); border-radius: 16px; }
	.tour-details-modal-head { padding: 10px 14px; gap: 10px; }
	.tour-modal-brand-wrap { gap: 10px; }
	.tour-modal-brand-logo { height: 22px; }
	.tour-modal-brand-divider { height: 14px; }
	.tour-modal-brand-kicker { font-size: 10px; letter-spacing: .08em; }
	.tour-details-modal-body { padding: 16px 14px; }
	.tour-details-metrics { grid-template-columns: 1fr; }
	.tour-details-service-list { grid-template-columns: 1fr; }
	.tour-modal-gallery-main { height: 220px; }
}

body.image-zoom-open .prgoress_indicator,
body.tour-details-open .prgoress_indicator {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.footer-developer-credit {
	margin: 6px 0 0;
	color: #78858d;
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .04em;
}

.footer-developer-credit a {
	color: #a9bac3;
	font-weight: 700;
	text-decoration: none;
	transition: color .2s ease;
}

.footer-developer-credit a:hover,
.footer-developer-credit a:focus-visible {
	color: var(--primary-color);
}

.index-image-zoom {
	position: fixed;
	inset: 0;
	z-index: 1000001;
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) 76px;
	align-items: center;
	padding: 28px;
	background: rgba(0, 0, 0, .96);
	backdrop-filter: blur(12px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .24s ease, visibility .24s ease;
}

.index-image-zoom.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.index-image-zoom-stage {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: min(88vh, 920px);
}

.index-image-zoom-stage > img {
	display: block;
	max-width: 100%;
	max-height: calc(100% - 62px);
	width: auto;
	height: auto;
	object-fit: contain;
	border: 1px solid #242424;
	border-radius: 12px;
	background: #000;
	box-shadow: 0 30px 100px rgba(0, 0, 0, .9);
}

.index-image-zoom-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 46px;
	padding-top: 13px;
	color: #d6d6d6;
	text-align: center;
}

.index-image-zoom-meta p {
	margin: 0;
	color: #e8e8e8;
	font-size: 14px;
	line-height: 1.4;
}

.index-image-zoom-meta span {
	flex: 0 0 auto;
	color: #8e8e8e;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
}

.index-image-zoom-close,
.index-image-zoom-nav {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid #303030;
	border-radius: 50%;
	background: rgba(0, 0, 0, .88);
	color: #fff;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.index-image-zoom-close:hover,
.index-image-zoom-nav:hover,
.index-image-zoom-close:focus-visible,
.index-image-zoom-nav:focus-visible {
	border-color: var(--primary-color);
	background: #090909;
	color: var(--primary-color);
	outline: none;
}

.index-image-zoom-close {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 2;
}

.index-image-zoom-nav {
	justify-self: center;
	font-size: 17px;
}

.index-image-zoom-prev { grid-column: 1; }
.index-image-zoom-next { grid-column: 3; }

@media (max-width: 767px) {
	.index-image-zoom {
		grid-template-columns: 52px minmax(0, 1fr) 52px;
		padding: 18px 8px;
	}

	.index-image-zoom-stage {
		height: 84vh;
	}

	.index-image-zoom-stage > img {
		max-height: calc(100% - 76px);
		border-radius: 8px;
	}

	.index-image-zoom-close {
		top: 14px;
		right: 14px;
	}

	.index-image-zoom-close,
	.index-image-zoom-nav {
		width: 42px;
		height: 42px;
	}

	.index-image-zoom-meta {
		flex-direction: column;
		gap: 4px;
		min-height: 64px;
		padding-inline: 4px;
	}

	.index-image-zoom-meta p {
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.index-image-zoom {
		transition: none;
	}
}
/* Live availability and commercial pricing */
.populer-single-box{position:relative}.tour-availability-ribbon{position:absolute;z-index:8;top:16px;right:-7px;padding:8px 16px;border-radius:999px 0 0 999px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 7px 24px rgba(0,0,0,.38)}.tour-availability-ribbon.low{background:#bd7100}.tour-availability-ribbon.full{background:#a52d36}.populer-price h2 del,.tour-details-metrics del{color:#758087;font-weight:500;margin-right:6px;text-decoration-thickness:2px}.populer-price h2 strong{color:#13bce5}.tour-offer-label{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:5px 9px;border:1px solid rgba(12,178,219,.45);border-radius:999px;color:#13bce5;font-size:11px;font-weight:800}.tour-status-badge.low{background:#8a5200;color:#ffd394}.tour-status-badge.available{background:#073e2f;color:#76edc2}#contact_schedule_wrap[hidden]{display:none!important}
.schedule-price-preview:empty{display:none!important;min-height:0!important;margin:0!important}.schedule-price-preview:not(:empty){display:block;margin:6px 4px 10px;color:#b8c4ca}.schedule-price-preview del{color:#7f8a90;margin-right:6px}.schedule-price-preview strong{color:#13bce5}
.booking-capacity-note:empty{display:none!important;min-height:0!important;margin:0!important}.booking-capacity-note:not(:empty){display:block;width:100%;margin:-4px 2px 14px;color:#9ba7ad;font-size:12.5px;line-height:1.45}.booking-capacity-note.has-extra-capacity{color:#d8c990}.booking-capacity-note.has-extra-capacity::before{content:"\f05a";margin-right:6px;color:#18bce4;font-family:"Font Awesome 6 Free";font-weight:900}
.pickup-other-field[hidden]{display:none!important}.pickup-other-field:not([hidden]){margin-top:12px!important}

.tour-route-card-button{width:100%;padding:0!important;text-align:left}
#tours .populer-single-box .populer-contnet .populer-list .tour-route-card{display:flex!important;min-height:116px;margin:0!important;flex-direction:column;align-items:stretch;justify-content:center;gap:8px}
#tours .populer-single-box .populer-contnet .populer-list .tour-route-card-point{position:relative;display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;margin:0!important;color:#fff}
.tour-route-card-point>i{display:grid;place-items:center;width:22px;height:22px;margin-top:2px;color:#11bce5;font-size:14px}
#tours .populer-single-box .populer-contnet .populer-list .tour-route-card-point>span{display:flex!important;min-width:0;margin:0!important;flex-direction:column;align-items:flex-start}
.tour-route-card-point small{display:block;margin:0 0 4px;color:#87959d;font-size:11px;font-weight:800;letter-spacing:.1em;line-height:1.25;text-transform:uppercase}
.tour-route-card-point b{display:block;overflow:visible;color:#c3cdd2;font-size:15px;font-weight:600;line-height:1.45;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
#tours .populer-single-box .populer-contnet .populer-list .tour-route-card-ellipsis{display:grid!important;width:22px;height:19px;margin:0!important;place-items:center;gap:1px;padding:2px 0}
.tour-route-card-ellipsis i{display:block;width:3px;height:3px;border-radius:50%;background:#61717a}

/* Public help centre and privacy pages. */
.faq-section{background:#000}
.faq-heading{max-width:820px;margin:0 auto 46px}
.faq-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:start}
.faq-categories{display:grid;gap:8px;position:sticky;top:120px}
.faq-categories button{display:flex;width:100%;padding:12px 15px;border:1px solid #262626;border-radius:999px;background:#050505;color:#9da9af;font-size:13px;font-weight:700;text-align:left;cursor:pointer;transition:.2s ease}
.faq-categories button:hover,.faq-categories button.active{border-color:#0cb2db;background:rgba(12,178,219,.1);color:#fff}
.faq-list{display:grid;gap:11px}
.faq-item{overflow:hidden;border:1px solid #242424;border-radius:15px;background:#050505}
.faq-item summary{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;gap:12px;align-items:center;padding:20px 22px;color:#fff;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary>span{color:#0cb2db;font-size:11px;font-weight:800;letter-spacing:.1em}
.faq-item summary strong{font-size:16px;line-height:1.4}
.faq-item summary i{display:grid;width:24px;height:24px;place-items:center;color:#0cb2db;transition:transform .25s ease}
.faq-item[open] summary i{transform:rotate(45deg)}
.faq-item>div{padding:0 22px 21px 72px}
.faq-item p{margin:0;color:#a7b3b9;font-size:14px;line-height:1.75}
.faq-filter-empty{margin:0;padding:30px;border:1px dashed #303030;border-radius:14px;color:#8e9ba2;text-align:center}
.faq-support{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:30px;padding:20px 24px;border:1px solid rgba(12,178,219,.28);border-radius:16px;background:rgba(12,178,219,.06)}
.faq-support>div{display:flex;gap:14px;align-items:center}
.faq-support>div>i{color:#0cb2db;font-size:25px}
.faq-support span,.faq-support strong,.faq-support small{display:block}
.faq-support strong{color:#fff}
.faq-support small{margin-top:3px;color:#95a2a9}
.faq-support>a{display:inline-flex;gap:9px;align-items:center;padding:12px 18px;border-radius:999px;background:#0cb2db;color:#001018;font-size:12px;font-weight:800;text-transform:uppercase}
.booking-privacy-short{display:flex;gap:10px;align-items:flex-start;margin:16px 2px 0;color:#87959c;font-size:12.5px;line-height:1.5}
.booking-privacy-short i{margin-top:3px;color:#0cb2db;flex-shrink:0;font-size:13px}
.booking-privacy-short span{display:inline;flex:1}
.booking-privacy-short a{color:#41cff2;text-decoration:underline;display:inline}

.legal-page{min-height:100vh;background:#000;color:#d5dde1;font-family:var(--text-font,Arial,sans-serif)}
.legal-header{display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:90px;padding:15px max(24px,calc((100vw - 1220px)/2));border-bottom:1px solid #222;background:#000}
.legal-header img{width:150px;max-height:58px;object-fit:contain}
.legal-header nav{display:flex;gap:22px;margin-left:auto}
.legal-header nav a,.legal-footer a{color:#b7c2c7}
.legal-header nav a:hover,.legal-footer a:hover{color:#0cb2db}
.legal-languages{display:flex;gap:5px;padding:4px;border:1px solid #292929;border-radius:999px}
.legal-languages a{display:grid;width:34px;height:30px;place-items:center;border-radius:999px;color:#89959b;font-size:11px;font-weight:800}
.legal-languages a.active{background:#0cb2db;color:#001018}
.legal-shell{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:72px 0 80px}
.legal-hero{max-width:900px;margin-bottom:40px}
.legal-hero>span,.legal-kicker{color:#0cb2db;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.legal-hero h1{margin:13px 0;color:#fff;font-family:var(--title-font);font-size:clamp(42px,7vw,82px);font-weight:500;letter-spacing:.02em;line-height:.95;text-transform:uppercase}
.legal-hero p{max-width:760px;margin:0;color:#aab5ba;font-size:18px;line-height:1.65}
.legal-hero small{display:block;margin-top:16px;color:#718087}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.legal-card{padding:25px;border:1px solid #252525;border-radius:16px;background:#050505}
.legal-card h2{margin:0 0 14px;color:#fff;font-size:18px}
.legal-card p,.legal-card li{color:#aeb9be;font-size:14px;line-height:1.75}
.legal-card ul{display:grid;gap:8px;margin:0;padding-left:20px}
.legal-card a{color:#43d1f2;text-decoration:underline}
.legal-warning{padding:12px;border-left:3px solid #e2a91e;background:rgba(226,169,30,.07)}
.legal-request-card{margin-top:34px;padding:30px;border:1px solid rgba(12,178,219,.32);border-radius:20px;background:linear-gradient(145deg,rgba(12,178,219,.07),#030303 50%)}
.legal-request-card h2{margin:8px 0;color:#fff;font-size:27px}
.legal-request-card>div>p{max-width:760px;color:#9eabb1}
.legal-request-form{margin-top:24px}
.legal-checkbox{display:flex;gap:10px;align-items:flex-start;color:#b7c2c7;line-height:1.5;cursor:pointer}
.legal-checkbox input{width:18px;height:18px;margin-top:2px;accent-color:#0cb2db}
.legal-success{margin-top:22px;padding:22px;border:1px solid #1b8f61;border-radius:14px;background:rgba(27,143,97,.1)}
.legal-success>i{color:#4ee0a3;font-size:24px}
.legal-success strong{display:block;margin-top:9px;color:#fff;font-size:20px}
.legal-success b{color:#4ee0a3;letter-spacing:.12em}
.legal-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px max(24px,calc((100vw - 1220px)/2));border-top:1px solid #222;color:#7e8b91;background:#000}
.legal-footer p{margin:0}
@media(max-width:991px){
	.faq-layout{grid-template-columns:1fr !important;gap:24px !important}
	.faq-categories{
		display:flex !important;
		flex-wrap:wrap !important;
		justify-content:center !important;
		align-items:center !important;
		gap:8px !important;
		position:static !important;
		width:100% !important;
		max-width:100% !important;
		padding:4px 0 !important;
		overflow:visible !important;
	}
	.faq-categories button{
		width:auto !important;
		flex:0 0 auto !important;
		padding:8px 18px !important;
		font-size:12.5px !important;
		white-space:nowrap !important;
		border-radius:999px !important;
		text-align:center !important;
		justify-content:center !important;
	}
	.faq-item summary{padding:16px 18px}
	.faq-item>div{padding:0 18px 18px 58px}
	.faq-support{align-items:flex-start;flex-direction:column}
	.legal-header nav{display:none}
	.legal-shell{width:min(100% - 28px,1220px);padding-top:48px}
	.legal-grid{grid-template-columns:1fr}
	.legal-request-card{padding:21px}
	.legal-footer{align-items:flex-start;flex-direction:column}
}
.tour-route-full{position:relative;display:grid;gap:0;margin:4px 0 0;padding:0;list-style:none}
.tour-route-full li{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;min-height:64px;padding:0 0 14px}
.tour-route-full li:not(:last-child)::after{content:"";position:absolute;top:32px;bottom:-1px;left:17px;width:2px;background:linear-gradient(#0cb2db,rgba(12,178,219,.2))}
.tour-route-index{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border:2px solid rgba(12,178,219,.5);border-radius:50%;background:#071014;color:#67e8f9;font-size:12px;font-weight:900}
.tour-route-full li.is-start .tour-route-index,.tour-route-full li.is-end .tour-route-index{border-color:#0cb2db;background:#0cb2db;color:#001016}
.tour-route-full li>span:last-child{display:flex;min-width:0;flex-direction:column;padding-top:1px}
.tour-route-full li small{color:#67e8f9;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tour-route-full li b{margin-top:3px;color:#fff;font-size:14px;line-height:1.45}

/* Public legal document library */
.public-legal-intro{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;padding:18px;border:1px solid rgba(12,178,219,.25);border-radius:16px;background:rgba(12,178,219,.06)}
.public-legal-intro>i{margin-top:3px;color:#35d0ef;font-size:20px}.public-legal-intro strong{display:block;color:#fff}.public-legal-intro p{margin:5px 0 0;color:#91a0a6;font-size:13px;line-height:1.65}
.public-legal-library{display:grid;gap:11px}
.public-legal-document{overflow:hidden;border:1px solid #252d31;border-radius:17px;background:#050505}
.public-legal-document>summary{display:grid;grid-template-columns:46px minmax(0,1fr) 28px;gap:15px;align-items:center;padding:20px;cursor:pointer;list-style:none}
.public-legal-document>summary::-webkit-details-marker{display:none}.public-legal-document>summary>span{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:rgba(12,178,219,.1);color:#38d1ee}
.public-legal-document>summary div{min-width:0}.public-legal-document>summary small,.public-legal-document>summary strong,.public-legal-document>summary em{display:block}
.public-legal-document>summary small{color:#39cbe8;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.public-legal-document>summary strong{margin-top:4px;color:#fff;font-size:17px}.public-legal-document>summary em{margin-top:4px;color:#748289;font-size:10px;font-style:normal}
.public-legal-document>summary>i{color:#35cce9;transition:transform .2s}.public-legal-document[open]{border-color:rgba(12,178,219,.35)}.public-legal-document[open]>summary>i{transform:rotate(180deg)}
.public-legal-content{padding:22px 80px 26px;border-top:1px solid #222c31;color:#acb7bc;font-size:14px;line-height:1.8;white-space:normal}
.public-legal-empty{text-align:center}.public-legal-empty>i{color:#34cdea;font-size:34px}.public-legal-empty h2{margin-top:14px}.public-legal-empty .btn-admin{text-decoration:none}
.public-legal-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:24px;border:1px solid #26333a;border-radius:18px;background:#050505}
.public-legal-contact span,.public-legal-contact strong,.public-legal-contact div>a{display:block}.public-legal-contact span{color:#748188;font-size:10px}.public-legal-contact strong{margin-top:3px;color:#fff}.public-legal-contact div>a{margin-top:5px;color:#3cd0ef;font-size:12px}.public-legal-contact>.btn-admin{text-decoration:none}
.published-privacy-section{margin-top:34px;padding:26px;border:1px solid rgba(12,178,219,.25);border-radius:20px;background:linear-gradient(145deg,rgba(12,178,219,.055),#030303 42%)}
.published-privacy-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.published-privacy-heading>span{width:44px;height:44px;display:grid;flex:0 0 44px;place-items:center;border-radius:13px;background:rgba(12,178,219,.12);color:#3bd0ed}.published-privacy-heading small{color:#39cae7;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.published-privacy-heading h2{margin:4px 0 0;color:#fff;font-size:22px}.published-privacy-heading p{margin:6px 0 0;color:#87969d;font-size:12px}
.legal-footer>div{display:flex;gap:16px}.legal-footer a{color:#41cae8;text-decoration:none}
@media(max-width:700px){.public-legal-document>summary{grid-template-columns:38px minmax(0,1fr) 20px;padding:16px;gap:11px}.public-legal-document>summary>span{width:38px;height:38px}.public-legal-document>summary strong{font-size:14px}.public-legal-content{padding:18px}.public-legal-contact{align-items:flex-start;flex-direction:column}.public-legal-contact>.btn-admin{width:100%}.legal-footer>div{flex-wrap:wrap}}
.booking-access-required{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:15px 17px;border:1px solid rgba(12,178,219,.3);border-radius:16px;background:rgba(12,178,219,.08)}
.booking-access-required>i{width:42px;height:42px;display:grid;flex:0 0 42px;place-items:center;border-radius:12px;background:rgba(12,178,219,.14);color:#40d7f3}
.booking-access-required>div{min-width:0;flex:1}.booking-access-required strong{display:block;color:#fff;font-size:13px}.booking-access-required p{margin:4px 0 0;color:#93a1a7;font-size:11px;line-height:1.5}
.booking-access-required>a{display:inline-flex;min-height:38px;align-items:center;padding:8px 15px;border-radius:999px;background:#0cb2db;color:#001116;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
@media(max-width:575px){.booking-access-required{align-items:flex-start;flex-wrap:wrap}.booking-access-required>a{width:100%;justify-content:center}}

/* ── Cookie consent banner ── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:16px 20px;background:rgba(10,18,22,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(12,178,219,.2);animation:cookieSlideUp .4s ease-out}
.cookie-banner-content{display:flex;align-items:center;gap:16px;max-width:1200px;margin:0 auto;flex-wrap:wrap}
.cookie-banner-content button{flex-shrink:0;padding:8px 28px;border:none;border-radius:999px;background:#0cb2db;color:#001116;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s}
.cookie-banner-content button:hover{background:#40d7f3}
@keyframes cookieSlideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:575px){.cookie-banner-content{flex-direction:column;text-align:center}.cookie-banner-content button{width:100%}}

/* ── Tour Type Filters & Badges (Private vs Shared vs Transfers vs Chauffeur) ── */
.tour-catalog-filter-wrapper {
	max-width: 1180px;
	margin: 0 auto 36px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
	width: 100%;
}
.tour-filter-pills { 
	display: inline-flex !important; 
	gap: 8px !important; 
	padding: 6px !important; 
	background: rgba(10, 20, 26, 0.75) !important; 
	border: 1px solid rgba(255,255,255,0.12) !important; 
	border-radius: 999px !important; 
	backdrop-filter: blur(14px) !important; 
	-webkit-backdrop-filter: blur(14px) !important; 
	flex-wrap: wrap !important; 
	justify-content: center !important; 
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}
.tour-filter-pill { 
	appearance: none !important; 
	-webkit-appearance: none !important; 
	display: inline-flex !important; 
	align-items: center !important; 
	gap: 8px !important; 
	padding: 9px 20px !important; 
	border: 1px solid transparent !important; 
	border-radius: 999px !important; 
	background: transparent !important; 
	color: #94a3b8 !important; 
	font-family: var(--title-font), sans-serif !important; 
	font-size: 12.5px !important; 
	font-weight: 700 !important; 
	letter-spacing: 0.04em !important; 
	text-transform: uppercase !important; 
	cursor: pointer !important; 
	transition: all 0.25s ease !important; 
	outline: none !important; 
	box-shadow: none !important; 
}
.tour-filter-pill i { font-size: 13px !important; color: inherit !important; }
.tour-filter-pill:hover { color: #fff !important; background: rgba(255,255,255,0.08) !important; }
.tour-filter-pill.active { 
	background: var(--primary-color, #0cb2db) !important; 
	color: #ffffff !important; 
	border-color: var(--primary-color, #0cb2db) !important; 
	box-shadow: 0 4px 20px rgba(12,178,219,0.4) !important; 
}

/* Secondary Sub-filters bar (Destination, Date, Search, Reset) */
.tour-catalog-subfilters {
	display: flex;
	align-items: flex-end;
	gap: 14px;
	width: 100%;
	background: rgba(12, 22, 28, 0.65);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: 14px 20px;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
	flex-wrap: wrap;
}
.tour-subfilter-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 200px;
	min-width: 180px;
}
.tour-subfilter-item.is-search {
	flex: 1.4 1 240px;
}
.tour-subfilter-item label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #7dd3fc;
	margin: 0;
}
.tour-subfilter-select-wrap,
.tour-subfilter-input-wrap {
	position: relative;
	width: 100%;
}
.tour-subfilter-select,
.tour-subfilter-input {
	width: 100%;
	height: 42px;
	padding: 0 14px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 10px;
	color: #f8fafc;
	font-size: 13px;
	font-family: inherit;
	transition: all 0.2s ease;
	outline: none;
}
.tour-subfilter-select:hover,
.tour-subfilter-input:hover {
	border-color: rgba(56, 189, 248, 0.4);
	background: rgba(255, 255, 255, 0.06);
}
.tour-subfilter-select:focus,
.tour-subfilter-input:focus {
	border-color: #38bdf8;
	box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
	background: rgba(15, 23, 42, 0.9);
}
.tour-subfilter-select option {
	background: #0b1319;
	color: #f8fafc;
	padding: 8px;
}
.tour-subfilter-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
	padding-top: 20px;
}
.tour-filter-reset-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 42px;
	padding: 0 16px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	color: #94a3b8;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
}
.tour-filter-reset-btn:hover {
	background: rgba(239, 68, 68, 0.15);
	border-color: rgba(239, 68, 68, 0.4);
	color: #fca5a5;
}
.tour-filter-count-badge {
	font-size: 12px;
	font-weight: 800;
	color: #38bdf8;
	background: rgba(56, 189, 248, 0.1);
	border: 1px solid rgba(56, 189, 248, 0.25);
	padding: 6px 12px;
	border-radius: 999px;
	white-space: nowrap;
}

/* Empty State / Coming Soon State */
.tour-empty-filter-state {
	width: 100%;
	max-width: 920px;
	margin: 20px auto 40px;
	padding: 0 15px;
}
.tour-empty-state-card {
	position: relative;
	background: radial-gradient(circle at 50% 0%, rgba(12, 178, 219, 0.12) 0%, rgba(5, 12, 16, 0.95) 75%);
	border: 1px solid rgba(56, 189, 248, 0.25);
	border-radius: 24px;
	padding: 44px 36px;
	text-align: center;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(16px);
	overflow: hidden;
}
.tour-empty-state-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 16px;
	background: linear-gradient(135deg, rgba(245, 158, 11, 0.2), rgba(217, 119, 6, 0.3));
	border: 1px solid rgba(245, 158, 11, 0.5);
	border-radius: 999px;
	color: #fcd34d;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.tour-empty-state-icon {
	width: 74px;
	height: 74px;
	margin: 0 auto 20px;
	display: grid;
	place-items: center;
	background: rgba(56, 189, 248, 0.12);
	border: 1px solid rgba(56, 189, 248, 0.3);
	border-radius: 20px;
	color: #38bdf8;
	font-size: 32px;
	box-shadow: 0 0 30px rgba(12, 178, 219, 0.25);
}
.tour-empty-kicker {
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #38bdf8;
	margin-bottom: 8px;
}
.tour-empty-state-content h3 {
	font-size: 24px;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 14px;
	font-family: var(--title-font);
}
.tour-empty-state-content p {
	color: #94a3b8;
	font-size: 14.5px;
	line-height: 1.65;
	max-width: 680px;
	margin: 0 auto 28px;
}
.tour-empty-state-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}
.btn-empty-custom-route {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 28px;
	background: linear-gradient(135deg, #0cb2db 0%, #0284c7 100%);
	color: #ffffff;
	border-radius: 999px;
	font-size: 13.5px;
	font-weight: 800;
	text-decoration: none;
	transition: all 0.25s ease;
	box-shadow: 0 8px 25px rgba(12, 178, 219, 0.35);
}
.btn-empty-custom-route:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(12, 178, 219, 0.5);
	color: #ffffff;
}
.btn-empty-reset-filters {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 24px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #e2e8f0;
	border-radius: 999px;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.2s ease;
}
.btn-empty-reset-filters:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

/* Badges */
.tour-type-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.tour-type-badge.mini { padding: 3px 8px; font-size: 9.5px; letter-spacing: 0.04em; }
.tour-type-badge.shared { background: rgba(16,185,129,0.15); border: 1px solid rgba(16,185,129,0.4); color: #6ee7b7; }
.tour-type-badge.private { background: rgba(12,178,219,0.15); border: 1px solid rgba(12,178,219,0.4); color: #67e8f9; }
.tour-type-badge.transfer { background: rgba(168,85,247,0.15); border: 1px solid rgba(168,85,247,0.4); color: #d8b4fe; }
.tour-type-badge.chauffeur { background: rgba(245,158,11,0.15); border: 1px solid rgba(245,158,11,0.4); color: #fcd34d; }
.swiper-slide-hidden { display: none !important; }

/* ── LUXURY COMPARISON TABLE ("TODO CLARO ANTES DE SALIR") ── */
.logistics-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 10px;
	margin: 24px 0 16px;
}
.logistics-table thead th {
	background: rgba(10, 20, 26, 0.85);
	color: #38bdf8;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 14px 18px;
	border-top: 1px solid rgba(56, 189, 248, 0.2);
	border-bottom: 1px solid rgba(56, 189, 248, 0.2);
	white-space: nowrap;
}
.logistics-table thead th:first-child {
	border-top-left-radius: 12px;
	border-bottom-left-radius: 12px;
	border-left: 1px solid rgba(56, 189, 248, 0.2);
}
.logistics-table thead th:last-child {
	border-top-right-radius: 12px;
	border-bottom-right-radius: 12px;
	border-right: 1px solid rgba(56, 189, 248, 0.2);
}
.logistics-row-card {
	background: linear-gradient(90deg, rgba(15, 23, 42, 0.6) 0%, rgba(10, 18, 24, 0.75) 100%);
	border: 1px solid rgba(255, 255, 255, 0.07);
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.logistics-row-card:hover {
	background: linear-gradient(90deg, rgba(20, 35, 50, 0.85) 0%, rgba(12, 26, 36, 0.9) 100%);
	border-color: rgba(56, 189, 248, 0.35);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
.logistics-row-card td {
	padding: 16px 18px;
	vertical-align: middle;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	color: #e2e8f0;
	font-size: 13.5px;
}
.logistics-row-card td:first-child {
	border-top-left-radius: 14px;
	border-bottom-left-radius: 14px;
	border-left: 1px solid rgba(255, 255, 255, 0.05);
}
.logistics-row-card td:last-child {
	border-top-right-radius: 14px;
	border-bottom-right-radius: 14px;
	border-right: 1px solid rgba(255, 255, 255, 0.05);
}

/* Row Content Components */
.logistics-tour-identity {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	max-width: 240px;
}
.logistics-tour-title-btn {
	background: transparent;
	border: none;
	padding: 0;
	color: #ffffff;
	font-family: var(--title-font);
	font-size: 15.5px;
	font-weight: 800;
	text-align: left;
	cursor: pointer;
	transition: color 0.15s ease;
	line-height: 1.25;
}
.logistics-tour-title-btn:hover {
	color: #38bdf8;
	text-decoration: underline;
}
.logistics-tour-sub {
	color: #94a3b8;
	font-size: 11.5px;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.logistics-duration-box {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.logistics-duration-box strong {
	color: #f8fafc;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 5px;
}
.logistics-duration-box strong i {
	color: #38bdf8;
}
.logistics-duration-box small {
	color: #7dd3fc;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}
.logistics-pickup-box,
.logistics-capacity-box {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #cbd5e1;
	font-size: 12.5px;
	line-height: 1.4;
	max-width: 220px;
}
.logistics-pickup-box i {
	color: #ef4444;
	font-size: 14px;
	flex-shrink: 0;
}
.logistics-capacity-box i {
	color: #10b981;
	font-size: 14px;
	flex-shrink: 0;
}

/* Service chips in table */
.logistics-service-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-width: 260px;
}
.logistics-service-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 9px;
	background: rgba(56, 189, 248, 0.08);
	border: 1px solid rgba(56, 189, 248, 0.2);
	border-radius: 6px;
	color: #e0f2fe;
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}
.logistics-service-chip i {
	color: #38bdf8;
	font-size: 11px;
}
.logistics-service-chip.default-amenity {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.1);
	color: #94a3b8;
}
.logistics-service-chip.default-amenity i {
	color: #64748b;
}

/* Pricing and action buttons in table */
.logistics-action-box {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}
.logistics-price-tag {
	display: flex;
	align-items: baseline;
	gap: 4px;
}
.logistics-price-tag small {
	color: #94a3b8;
	font-size: 10.5px;
}
.logistics-price-tag strong {
	color: #38bdf8;
	font-size: 19px;
	font-weight: 900;
	font-family: var(--title-font);
}
.logistics-unit {
	color: #64748b;
	font-size: 10.5px;
	font-weight: 600;
}
.logistics-btn-pair {
	display: flex;
	align-items: center;
	gap: 6px;
}
.btn-logistics-details {
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	color: #94a3b8;
	cursor: pointer;
	transition: all 0.2s ease;
}
.btn-logistics-details:hover {
	background: rgba(56, 189, 248, 0.15);
	border-color: #38bdf8;
	color: #38bdf8;
}
.btn-logistics-book {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0 14px;
	background: linear-gradient(135deg, #0cb2db 0%, #0284c7 100%);
	border-radius: 8px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
	transition: all 0.2s ease;
}
.btn-logistics-book:hover {
	background: #38bdf8;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(12, 178, 219, 0.4);
}

/* Responsiveness for comparison table */
@media (max-width: 991px) {
	.tour-catalog-subfilters {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.tour-subfilter-actions {
		width: 100%;
		justify-content: space-between;
		padding-top: 6px;
		margin-left: 0;
	}
	.logistics-table,
	.logistics-table tbody {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		border: none !important;
		background: transparent !important;
	}
	.logistics-table thead {
		display: none !important;
	}
	.logistics-row-card {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
		width: 100% !important;
		margin-bottom: 16px !important;
		padding: 16px !important;
		border-radius: 16px !important;
		background: #0c1822 !important;
		border: 1px solid rgba(12, 178, 219, 0.28) !important;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
		box-sizing: border-box !important;
	}
	.logistics-row-card td {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 4px !important;
		padding: 8px 0 !important;
		width: 100% !important;
		border: none !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
		text-align: left !important;
		background: transparent !important;
		box-sizing: border-box !important;
	}
	.logistics-row-card td:last-child {
		border-bottom: none !important;
		padding-top: 6px !important;
		padding-bottom: 0 !important;
	}
	.logistics-row-card td::before {
		content: attr(data-label) !important;
		display: block !important;
		font-size: 10.5px !important;
		font-weight: 800 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.08em !important;
		color: #38bdf8 !important;
		margin-bottom: 3px !important;
	}
	.logistics-tour-identity {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: left !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 4px !important;
	}
	.logistics-tour-title-btn {
		font-size: 15.5px !important;
		font-weight: 800 !important;
		color: #ffffff !important;
		text-align: left !important;
		line-height: 1.25 !important;
	}
	.logistics-tour-sub {
		color: #94a3b8 !important;
		font-size: 12px !important;
		text-align: left !important;
	}
	.logistics-duration-box,
	.logistics-pickup-box,
	.logistics-capacity-box {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		color: #f1f5f9 !important;
		font-size: 13px !important;
		text-align: left !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.logistics-service-list {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 5px !important;
		justify-content: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.logistics-service-chip {
		display: inline-flex !important;
		align-items: center !important;
		gap: 5px !important;
		padding: 4px 8px !important;
		font-size: 11px !important;
		background: rgba(12, 178, 219, 0.12) !important;
		color: #e0f2fe !important;
		border: 1px solid rgba(12, 178, 219, 0.25) !important;
		border-radius: 6px !important;
	}
	.logistics-action-box {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		gap: 10px !important;
		margin-top: 4px !important;
	}
	.logistics-price-tag {
		display: flex !important;
		align-items: baseline !important;
		gap: 4px !important;
		color: #ffffff !important;
	}
	.logistics-price-tag strong {
		font-size: 18px !important;
		color: #38bdf8 !important;
	}
	.logistics-btn-pair {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
	}
	.btn-logistics-details {
		width: 34px !important;
		height: 34px !important;
		border-radius: 6px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	.btn-logistics-book {
		display: inline-flex !important;
		align-items: center !important;
		gap: 6px !important;
		padding: 8px 16px !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		background: #0cb2db !important;
		color: #ffffff !important;
		border-radius: 6px !important;
	}
}

/* ==========================================================================
   Services Carousel & Logistics Comparison Truncation & Modal
   ========================================================================== */

/* Services Carousel Track */
.services-carousel-wrapper {
	position: relative;
	margin-top: 36px;
	width: 100%;
}
.services-carousel {
	width: 100%;
	padding: 10px 4px 20px !important;
	overflow: hidden;
}
.services-carousel .swiper-wrapper {
	align-items: stretch;
}
.services-carousel .swiper-slide {
	height: auto;
	display: flex;
}
.services-carousel .include-card {
	width: 100%;
	height: 100%;
	min-height: 235px;
	margin: 0;
}

/* Services Slider Navigation Controls */
.services-slider-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 20px;
}
.services-slider-controls .section-slider-button {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(12, 178, 219, 0.12);
	border: 1px solid rgba(12, 178, 219, 0.35);
	color: #38bdf8;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.2s ease;
}
.services-slider-controls .section-slider-button:hover {
	background: #0cb2db;
	color: #ffffff;
	border-color: #0cb2db;
	transform: scale(1.05);
	box-shadow: 0 0 15px rgba(12, 178, 219, 0.5);
}
.services-slider-pagination {
	font-family: var(--title-font);
	font-size: 13px;
	font-weight: 700;
	color: #94a3b8;
	letter-spacing: 0.08em;
	min-width: 60px;
	text-align: center;
}

/* Logistics Comparison Table Truncation & Fade Overlay */
.logistics-table-container {
	position: relative;
	width: 100%;
}
.logistics-table-container.has-fade-truncation {
	position: relative;
}
.logistics-table-fade-wrap {
	position: relative;
	margin-top: -95px;
	z-index: 8;
	padding: 90px 20px 20px;
	background: linear-gradient(to bottom, rgba(5, 5, 5, 0) 0%, rgba(5, 5, 5, 0.85) 45%, #050505 100%);
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: auto;
}
.btn-logistics-full-modal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 26px;
	background: linear-gradient(135deg, rgba(12, 178, 219, 0.22), rgba(2, 132, 199, 0.28));
	border: 1.5px solid #0cb2db;
	border-radius: 999px;
	color: #ffffff;
	font-family: var(--title-font);
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 8px 25px rgba(12, 178, 219, 0.35);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-logistics-full-modal:hover,
.btn-logistics-full-modal:focus-visible {
	background: linear-gradient(135deg, #0cb2db, #0284c7);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 12px 35px rgba(12, 178, 219, 0.6);
}
.btn-logistics-full-modal i {
	font-size: 14px;
}

/* Full Logistics Modal */
.logistics-table-modal {
	position: fixed;
	inset: 0;
	z-index: 100005;
	background: rgba(0, 0, 0, 0.88);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}
.logistics-table-modal[hidden] {
	display: none !important;
}
.logistics-modal-dialog {
	background: #071017;
	border: 1px solid rgba(12, 178, 219, 0.35);
	border-radius: 18px;
	width: 100%;
	max-width: 1280px;
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.95);
	animation: modalSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.logistics-modal-dialog .tour-details-modal-head {
	padding: 16px 24px;
	background: rgba(12, 178, 219, 0.06);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-shrink: 0;
}
.logistics-modal-dialog .tour-details-modal-head button {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #fff;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 15px;
	transition: all 0.2s ease;
}
.logistics-modal-dialog .tour-details-modal-head button:hover {
	background: #ef4444;
	border-color: #ef4444;
	color: #fff;
	transform: rotate(90deg);
}
.logistics-modal-body {
	padding: 20px 24px;
	overflow-y: auto;
	flex: 1;
	box-sizing: border-box;
}

body.logistics-modal-open {
	overflow: hidden !important;
}

@media (max-width: 991px) {
	.logistics-table-modal {
		padding: 10px !important;
	}
	.logistics-modal-dialog {
		width: 100% !important;
		max-width: 100% !important;
		max-height: 94vh !important;
		border-radius: 16px !important;
		background: #081219 !important;
	}
	.logistics-modal-dialog .tour-details-modal-head {
		padding: 12px 14px !important;
	}
	.logistics-modal-dialog .tour-modal-brand-kicker {
		font-size: 11px !important;
		letter-spacing: 0.05em !important;
		white-space: normal !important;
		line-height: 1.25 !important;
	}
	.logistics-modal-dialog .tour-details-modal-head button {
		width: 32px !important;
		height: 32px !important;
		min-width: 32px !important;
		font-size: 13px !important;
	}
	.logistics-modal-body {
		padding: 12px !important;
	}
}

/* ==========================================================================
   MOBILE RESPONSIVENESS POLISH & ANCHOR SCROLL CLEARANCE
   ========================================================================== */

/* 1. Global smooth scroll with sticky header clearance */
html {
	scroll-padding-top: 90px;
}

#home,
#booking,
#destinations,
#about,
#tours,
#includes,
#faq,
#contact {
	scroll-margin-top: 90px;
}

/* 2. Hero Banner & Slider Mobile Adjustments */
@media (max-width: 991px) {
	.hero-section-1 {
		padding-top: 0 !important;
		margin-top: 0 !important;
		height: auto !important;
		min-height: auto !important;
	}
	.hero-main-swiper,
	.hero-main-swiper .swiper-wrapper,
	.hero-main-swiper .swiper-slide {
		height: auto !important;
		min-height: auto !important;
	}
	.hero-bg-slide {
		height: auto !important;
		min-height: auto !important;
		padding: 105px 0 45px !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: stretch !important;
	}
	.hero-slide-container {
		padding-inline: 16px !important;
	}
	.hero_content_split {
		margin-bottom: 14px !important;
	}
	.hero-kicker-tag {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		padding: 6px 14px !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		letter-spacing: 1px !important;
		text-transform: uppercase !important;
		border-radius: 999px !important;
		background: rgba(12, 178, 219, 0.18) !important;
		border: 1px solid rgba(12, 178, 219, 0.45) !important;
		color: #38bdf8 !important;
		margin: 0 auto 10px !important;
		text-align: center !important;
	}
	.hero-main-title {
		font-size: clamp(24px, 7vw, 36px) !important;
		line-height: 1.15 !important;
		margin: 0 0 14px !important;
		text-align: center !important;
		color: #ffffff !important;
	}
	.hero-journey-box {
		margin: 0 auto 16px !important;
		padding: 16px 16px !important;
		width: 100% !important;
		max-width: 480px !important;
		border-radius: 16px !important;
		background: rgba(6, 14, 20, 0.88) !important;
		backdrop-filter: blur(14px) !important;
		-webkit-backdrop-filter: blur(14px) !important;
		border: 1px solid rgba(255, 255, 255, 0.12) !important;
		text-align: center !important;
	}
	.hero-journey-box h2 {
		font-size: 13px !important;
		line-height: 1.45 !important;
		font-weight: 400 !important;
		color: rgba(255, 255, 255, 0.9) !important;
		margin: 0 0 14px !important;
	}
	.hero-btn a,
	.hero-btn button,
	.hero-btn .hero-btn-link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		padding: 10px 22px !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		letter-spacing: 0.06em !important;
		text-transform: uppercase !important;
		border-radius: 8px !important;
		background: #0cb2db !important;
		color: #ffffff !important;
		border: 1px solid #0cb2db !important;
		cursor: pointer !important;
		margin: 0 auto !important;
		box-shadow: 0 4px 18px rgba(12, 178, 219, 0.35) !important;
	}
	/* Ensure Pagination Bullets sit cleanly below the card with no overlap and no dead space */
	.hero-slider-pagination {
		position: relative !important;
		bottom: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		margin: 14px auto 0 !important;
		z-index: 25 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	.hero-slider-pagination .swiper-pagination-bullet {
		width: 9px !important;
		height: 9px !important;
		margin: 0 4px !important;
		background: rgba(255, 255, 255, 0.5) !important;
	}
	.hero-slider-pagination .swiper-pagination-bullet-active {
		width: 24px !important;
		border-radius: 6px !important;
		background: #0cb2db !important;
	}

	#booking.hero-integrated-booking-container {
		margin-top: 20px !important;
		margin-bottom: 35px !important;
		padding-inline: 14px !important;
	}
}

/* 3. Section Titles & Padding on Mobile */
@media (max-width: 991px) {
	.populer-section,
	.destination-section,
	.about-section-one,
	.blackline-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}
	.section-main-title {
		margin-bottom: 22px !important;
	}
	.section-title h2 {
		font-size: clamp(24px, 6.8vw, 34px) !important;
		line-height: 1.2 !important;
	}
}

/* 4. Filter Pills & Subfilters on Mobile */
@media (max-width: 991px) {
	.tour-catalog-filter-wrapper {
		margin-bottom: 24px !important;
	}
	.tour-filter-pills {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 6px !important;
		padding: 8px !important;
		border-radius: 16px !important;
		background: rgba(10, 20, 26, 0.85) !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.tour-filter-pill {
		padding: 7px 13px !important;
		font-size: 11.5px !important;
		border-radius: 999px !important;
		flex: 1 1 auto !important;
		justify-content: center !important;
		text-align: center !important;
		white-space: nowrap !important;
	}
	.tour-catalog-subfilters {
		padding: 12px 14px !important;
		gap: 10px !important;
		border-radius: 16px !important;
	}
	.tour-subfilter-item {
		flex: 1 1 100% !important;
		min-width: 100% !important;
	}
	.tour-subfilter-select,
	.tour-subfilter-input {
		height: 40px !important;
		font-size: 12.5px !important;
	}
	.tour-subfilter-actions {
		width: 100% !important;
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		margin-top: 4px !important;
	}
}

/* 5. Tour Cards on Mobile */
@media (max-width: 575px) {
	.populer-single-box {
		padding: 0 !important;
		border-radius: 16px !important;
	}
	.populer-single-box .populer-thumb {
		height: 250px !important;
	}
	.populer-single-box .populer-thumb img {
		height: 250px !important;
		border-radius: 16px 16px 0 0 !important;
	}
	.tour-card-header-2col {
		padding: 0 !important;
		gap: 6px !important;
	}
	.tour-card-header-2col h3 {
		font-size: 14.5px !important;
	}
}

/* 6. Scroll indicator position on mobile */
@media (max-width: 575px) {
	.prgoress_indicator {
		right: 14px !important;
		bottom: 14px !important;
		width: 40px !important;
		height: 40px !important;
	}
}

/* ==========================================================================
   STELLAR FLEET & VERTICAL VIDEO SECTION (#fleet)
   ========================================================================== */
.fleet-stellar-section {
	position: relative;
	padding: 110px 0;
	background: #03080e;
	background: radial-gradient(circle at 18% 50%, rgba(12, 178, 219, 0.1) 0%, transparent 55%),
	            radial-gradient(circle at 85% 80%, rgba(12, 178, 219, 0.06) 0%, transparent 50%),
	            #03080e;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	overflow: hidden;
}

.fleet-stellar-layout {
	display: grid;
	grid-template-columns: minmax(320px, 400px) 1fr;
	gap: 65px;
	align-items: center;
}

/* --- COLUMNA DE VIDEO VERTICAL (9:16) --- */
.fleet-video-column {
	display: flex;
	justify-content: center;
}

.fleet-video-mockup {
	width: 100%;
	max-width: 380px;
	background: linear-gradient(160deg, rgba(22, 33, 49, 0.9) 0%, rgba(6, 12, 19, 0.95) 100%);
	border: 1px solid rgba(12, 178, 219, 0.35);
	border-radius: 28px;
	padding: 16px;
	box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.85),
	            0 0 35px rgba(12, 178, 219, 0.18);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	position: relative;
	text-align: center;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.fleet-video-mockup:hover {
	transform: translateY(-4px);
	box-shadow: 0 30px 70px -15px rgba(0, 0, 0, 0.9),
	            0 0 45px rgba(12, 178, 219, 0.28);
	border-color: rgba(12, 178, 219, 0.55);
}

.fleet-video-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #41cff2;
	background: rgba(12, 178, 219, 0.14);
	border: 1px solid rgba(12, 178, 219, 0.35);
	padding: 4px 14px;
	border-radius: 20px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.fleet-video-container {
	position: relative;
	width: 100%;
	aspect-ratio: 9 / 16;
	border-radius: 20px;
	overflow: hidden;
	background: #020508;
	box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.8);
}

.fleet-video-poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	background: #020508;
	border-radius: 20px;
	z-index: 2;
	transition: opacity 0.4s ease;
	display: block;
}

.fleet-video-player {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	border-radius: 20px;
	background: #020508;
	position: relative;
	z-index: 1;
}

.fleet-play-overlay {
	position: absolute;
	inset: 0;
	background: rgba(3, 8, 14, 0.38);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	cursor: pointer;
	transition: opacity 0.35s ease, background 0.35s ease;
	z-index: 5;
	border-radius: 20px;
}

.fleet-play-overlay:hover {
	background: rgba(3, 8, 14, 0.18);
}

.fleet-play-overlay.playing {
	opacity: 0;
	pointer-events: none;
}

.fleet-play-btn {
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0cb2db, #088dae);
	color: #ffffff !important;
	border: 2px solid rgba(255, 255, 255, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	box-shadow: 0 0 28px rgba(12, 178, 219, 0.7);
	cursor: pointer;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
	padding-left: 4px;
}

.fleet-play-overlay:hover .fleet-play-btn {
	transform: scale(1.1);
	box-shadow: 0 0 40px rgba(12, 178, 219, 0.9);
}

.fleet-play-hint {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);
}

.fleet-video-footer-tag {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.65);
	margin-top: 12px;
	text-transform: uppercase;
}
.fleet-video-footer-tag i {
	color: #0cb2db;
}

/* --- COLUMNA DE CONTENIDO PRO --- */
.fleet-content-header {
	margin-bottom: 28px;
}

.fleet-kicker-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #0cb2db;
	margin-bottom: 12px;
}

.fleet-main-title {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.15;
	color: #ffffff;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.fleet-main-desc {
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.78);
	margin-bottom: 0;
}

/* --- GRID DE 4 TARJETAS DE CONFORT --- */
.fleet-specs-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-bottom: 32px;
}

.fleet-spec-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 18px 20px;
	background: rgba(14, 23, 36, 0.65);
	border: 1px solid rgba(12, 178, 219, 0.22);
	border-radius: 16px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.fleet-spec-card:hover {
	background: rgba(18, 30, 48, 0.85);
	border-color: rgba(12, 178, 219, 0.5);
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4), 0 0 20px rgba(12, 178, 219, 0.15);
}

.fleet-spec-icon-wrap {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 12px;
	background: rgba(12, 178, 219, 0.12);
	border: 1px solid rgba(12, 178, 219, 0.32);
	color: #41cff2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	transition: transform 0.3s ease, background 0.3s ease;
}

.fleet-spec-card:hover .fleet-spec-icon-wrap {
	transform: scale(1.08);
	background: rgba(12, 178, 219, 0.22);
	color: #ffffff;
}

.fleet-spec-body {
	flex: 1;
}

.fleet-spec-title {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 4px;
	line-height: 1.25;
	letter-spacing: 0.02em;
}

.fleet-spec-desc {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.5;
	margin: 0;
}

/* --- CTA BUTTON --- */
.fleet-cta-wrap {
	display: flex;
	align-items: center;
}

.fleet-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 34px;
	background: linear-gradient(135deg, #0cb2db, #088dae);
	color: #ffffff !important;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 15.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 10px;
	box-shadow: 0 6px 22px rgba(12, 178, 219, 0.35);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.fleet-cta-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 32px rgba(12, 178, 219, 0.55);
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.35);
}

.fleet-cta-btn i {
	transition: transform 0.3s ease;
}

.fleet-cta-btn:hover i {
	transform: translateX(4px);
}

/* --- RESPONSIVE MOBILE & TABLET --- */
@media (max-width: 991px) {
	.fleet-stellar-section {
		padding: 70px 0;
	}
	.fleet-stellar-layout {
		grid-template-columns: 1fr;
		gap: 45px;
	}
	.fleet-video-mockup {
		max-width: 320px;
	}
	.fleet-main-title {
		font-size: 34px;
	}
	.fleet-specs-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.fleet-cta-wrap {
		justify-content: center;
	}
	.fleet-content-header {
		text-align: center;
	}
	.fleet-kicker-tag {
		justify-content: center;
	}
}

@media (max-width: 575px) {
	.fleet-stellar-section {
		padding: 50px 0;
	}
	.fleet-video-mockup {
		max-width: 290px;
		border-radius: 22px;
		padding: 12px;
	}
	.fleet-video-container {
		border-radius: 16px;
	}
	.fleet-play-btn {
		width: 58px;
		height: 58px;
		font-size: 18px;
	}
	.fleet-main-title {
		font-size: 28px;
	}
	.fleet-main-desc {
		font-size: 14px;
	}
	.fleet-spec-card {
		padding: 14px 16px;
	}
	.fleet-spec-title {
		font-size: 16px;
	}
	.fleet-spec-desc {
		font-size: 12.5px;
	}
	.fleet-cta-btn {
		width: 100%;
		justify-content: center;
		padding: 13px 20px;
		font-size: 14.5px;
	}
}

/* ==========================================================================
   STELLAR WHO WE ARE & VERTICAL VIDEO 1 SECTION (#story)
   ========================================================================== */
.story-stellar-section {
	position: relative;
	padding: 110px 0;
	background: #04090f;
	background: radial-gradient(circle at 82% 40%, rgba(12, 178, 219, 0.09) 0%, transparent 55%),
	            radial-gradient(circle at 18% 75%, rgba(12, 178, 219, 0.06) 0%, transparent 50%),
	            #04090f;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	overflow: hidden;
}

.story-stellar-layout {
	display: grid;
	grid-template-columns: minmax(320px, 400px) 1fr;
	gap: 65px;
	align-items: center;
}

/* --- COLUMNA DE VIDEO VERTICAL (9:16) --- */
.story-video-column {
	display: flex;
	justify-content: center;
}

.story-video-mockup {
	width: 100%;
	max-width: 380px;
	background: linear-gradient(160deg, rgba(22, 33, 49, 0.9) 0%, rgba(6, 12, 19, 0.95) 100%);
	border: 1px solid rgba(12, 178, 219, 0.35);
	border-radius: 28px;
	padding: 16px;
	box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.85),
	            0 0 35px rgba(12, 178, 219, 0.18);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	position: relative;
	text-align: center;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.story-video-mockup:hover {
	transform: translateY(-4px);
	box-shadow: 0 30px 70px -15px rgba(0, 0, 0, 0.9),
	            0 0 45px rgba(12, 178, 219, 0.28);
	border-color: rgba(12, 178, 219, 0.55);
}

.story-video-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #41cff2;
	background: rgba(12, 178, 219, 0.14);
	border: 1px solid rgba(12, 178, 219, 0.35);
	padding: 4px 14px;
	border-radius: 20px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.story-video-container {
	position: relative;
	width: 100%;
	aspect-ratio: 9 / 16;
	border-radius: 20px;
	overflow: hidden;
	background: #020508;
	box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.8);
}

.story-video-poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	background: #020508;
	border-radius: 20px;
	z-index: 2;
	transition: opacity 0.4s ease;
	display: block;
}

.story-video-player {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	border-radius: 20px;
	background: #020508;
	position: relative;
	z-index: 1;
}

.story-play-overlay {
	position: absolute;
	inset: 0;
	background: rgba(3, 8, 14, 0.38);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	cursor: pointer;
	transition: opacity 0.35s ease, background 0.35s ease;
	z-index: 5;
	border-radius: 20px;
}

.story-play-overlay:hover {
	background: rgba(3, 8, 14, 0.18);
}

.story-play-overlay.playing {
	opacity: 0;
	pointer-events: none;
}

.story-play-btn {
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0cb2db, #088dae);
	color: #ffffff !important;
	border: 2px solid rgba(255, 255, 255, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	box-shadow: 0 0 28px rgba(12, 178, 219, 0.7);
	cursor: pointer;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
	padding-left: 4px;
}

.story-play-overlay:hover .story-play-btn {
	transform: scale(1.1);
	box-shadow: 0 0 40px rgba(12, 178, 219, 0.9);
}

.story-play-hint {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);
}

.story-video-footer-tag {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.65);
	margin-top: 12px;
	text-transform: uppercase;
}
.story-video-footer-tag i {
	color: #0cb2db;
}

/* --- COLUMNA DE CONTENIDO PRO --- */
.story-content-header {
	margin-bottom: 24px;
}

.story-kicker-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #0cb2db;
	margin-bottom: 12px;
}

.story-main-title {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 42px;
	font-weight: 700;
	line-height: 1.15;
	color: #ffffff;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.story-main-desc {
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.78);
	margin-bottom: 0;
}

/* --- GRID DE LOS 3 PILARES --- */
.story-pillars-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-bottom: 28px;
}

.story-pillar-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 14px 18px;
	background: rgba(14, 23, 36, 0.65);
	border: 1px solid rgba(12, 178, 219, 0.22);
	border-radius: 14px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.story-pillar-card:hover {
	background: rgba(18, 30, 48, 0.85);
	border-color: rgba(12, 178, 219, 0.5);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4), 0 0 18px rgba(12, 178, 219, 0.12);
}

.story-pillar-icon-wrap {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 10px;
	background: rgba(12, 178, 219, 0.12);
	border: 1px solid rgba(12, 178, 219, 0.32);
	color: #41cff2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	transition: transform 0.3s ease, background 0.3s ease;
}

.story-pillar-card:hover .story-pillar-icon-wrap {
	transform: scale(1.08);
	background: rgba(12, 178, 219, 0.22);
	color: #ffffff;
}

.story-pillar-body {
	flex: 1;
}

.story-pillar-title {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 17.5px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 3px;
	line-height: 1.25;
	letter-spacing: 0.02em;
}

.story-pillar-desc {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.45;
	margin: 0;
}

/* --- CTA BUTTON --- */
.story-cta-wrap {
	display: flex;
	align-items: center;
}

.story-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 34px;
	background: linear-gradient(135deg, #0cb2db, #088dae);
	color: #ffffff !important;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 15.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 10px;
	box-shadow: 0 6px 22px rgba(12, 178, 219, 0.35);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.story-cta-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 32px rgba(12, 178, 219, 0.55);
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.35);
}

.story-cta-btn i {
	transition: transform 0.3s ease;
}

.story-cta-btn:hover i {
	transform: translateX(4px);
}

/* --- RESPONSIVE MOBILE & TABLET --- */
@media (max-width: 991px) {
	.story-stellar-section {
		padding: 70px 0;
	}
	.story-stellar-layout {
		grid-template-columns: 1fr;
		gap: 45px;
	}
	.story-video-mockup {
		max-width: 320px;
	}
	.story-main-title {
		font-size: 32px;
	}
	.story-cta-wrap {
		justify-content: center;
	}
	.story-content-header {
		text-align: center;
	}
	.story-kicker-tag {
		justify-content: center;
	}
}

@media (max-width: 575px) {
	.story-stellar-section {
		padding: 50px 0;
	}
	.story-video-mockup {
		max-width: 290px;
		border-radius: 22px;
		padding: 12px;
	}
	.story-video-container {
		border-radius: 16px;
	}
	.story-play-btn {
		width: 58px;
		height: 58px;
		font-size: 18px;
	}
	.story-main-title {
		font-size: 26px;
	}
	.story-main-desc {
		font-size: 14px;
	}
	.story-pillar-card {
		padding: 12px 14px;
	}
	.story-pillar-title {
		font-size: 16px;
	}
	.story-pillar-desc {
		font-size: 12.5px;
	}
	.story-cta-btn {
		width: 100%;
		justify-content: center;
		padding: 13px 20px;
		font-size: 14.5px;
	}
}

/* === ANTI-DOUBLE-SUBMIT & BUTTON PROJECTION === */
.is-submitting,
button.is-submitting,
.btn-admin.is-submitting,
.btn-primary-full.is-submitting,
.btn-action.is-submitting {
    position: relative !important;
    cursor: wait !important;
    pointer-events: none !important;
    opacity: 0.82 !important;
    filter: brightness(1.05) !important;
    box-shadow: 0 0 16px rgba(12, 178, 219, 0.35) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.is-submitting .fa-spin {
    animation: fa-spin 0.9s infinite linear !important;
    display: inline-block;
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ==========================================================================
   DESTINATIONS SECTION (EXPLORE MADEIRA) - MODO VERTICAL / INSTAGRAM (4:5)
   ========================================================================== */
.destination-section {
    position: relative;
    padding: 100px 0 80px;
    background: #000000;
}

.destination-section .destination__swiper {
    padding-top: 10px;
    padding-bottom: 30px;
}

.destination-section .destination__swiper .swiper-slide {
    height: auto;
    display: flex;
}

.destination-single-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background: #080d14;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, box-shadow 0.4s ease;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
}

.destination-single-box:hover {
    transform: translateY(-8px);
    border-color: rgba(12, 178, 219, 0.45);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.6), 0 0 26px rgba(12, 178, 219, 0.16);
}

.destination-thumb {
    width: 100%;
    aspect-ratio: 4 / 5 !important;
    position: relative;
    overflow: hidden;
    background: #060b11;
    border-top-left-radius: 17px;
    border-top-right-radius: 17px;
}

.destination-thumb figure,
.destination-thumb figure.reveal,
.destination-thumb figure.image-anime {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
}

.destination-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.destination-single-box:hover .destination-thumb img {
    transform: scale(1.08) !important;
}

.destination-single-box .destination-content {
    padding: 18px 20px 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
    background: linear-gradient(180deg, #090e16 0%, #05080d 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.destination-single-box .destination-content h2 {
    font-family: var(--title-font, 'Outfit', 'Inter', sans-serif);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 6px 0;
    color: #ffffff;
    letter-spacing: -0.01em;
}

.destination-single-box .destination-content h2 a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.25s ease;
}

.destination-single-box .destination-content h2 a:hover {
    color: var(--primary-color, #0cb2db);
}

.destination-single-box .destination-content p {
    font-family: var(--body-font, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-color, #0cb2db);
    margin: 0;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

@media (max-width: 767px) {
    .destination-section {
        padding: 60px 0 50px;
    }
    .destination-thumb {
        aspect-ratio: 4 / 5 !important;
    }
    .destination-single-box .destination-content {
        padding: 15px 16px 18px;
    }
    .destination-single-box .destination-content h2 {
        font-size: 19px;
    }
}

/* ==========================================================================
   ABOUT SECTION (NOSOTROS) - FOTOS UNIFORMES, IDÉNTICAS Y ALINEADAS (4:5)
   ========================================================================== */
#about.about-section-one {
    position: relative;
    padding: 100px 0;
    background: #000000;
}

#about .about-thumb {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    height: clamp(480px, 38vw, 620px) !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1;
}

#about .about-thumb figure,
#about .about-thumb .about-img2,
#about .about-thumb figure.reveal,
#about .about-thumb figure.image-anime {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: #080d14 !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.5) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, box-shadow 0.4s ease !important;
}

#about .about-thumb figure:hover,
#about .about-thumb .about-img2:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(12, 178, 219, 0.45) !important;
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.65), 0 0 24px rgba(12, 178, 219, 0.16) !important;
}

#about .about-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    border-radius: 19px !important;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#about .about-thumb figure:hover img,
#about .about-thumb .about-img2:hover img {
    transform: scale(1.06) !important;
}

@media (max-width: 991px) {
    #about.about-section-one {
        padding: 60px 0;
    }
    #about .about-thumb {
        height: clamp(380px, 50vw, 480px) !important;
        gap: 14px !important;
        margin-bottom: 30px !important;
    }
}

@media (max-width: 575px) {
    #about .about-thumb {
        height: clamp(240px, 72vw, 320px) !important;
        gap: 10px !important;
    }
    #about .about-thumb figure,
    #about .about-thumb .about-img2 {
        border-radius: 14px !important;
    }
    #about .about-thumb img {
        border-radius: 13px !important;
    }
}

/* ==========================================================================
   GALLERY SECTION (GALERÍA DE BLACKLINE) - SLIDER MULTI-TARJETA UNIFORME
   ========================================================================== */
.photography-sectoin {
    position: relative;
    padding: 90px 0 70px;
    background: #000000;
}

.photography-sectoin .gallery-marquee.lens-slider {
    padding: 10px 0 25px;
    overflow: hidden;
    width: 100%;
}

.photography-sectoin .gallery-marquee .swiper-wrapper {
    display: flex !important;
    align-items: stretch !important;
}

.photography-sectoin .galary-thumb,
#gallery .galary-thumb {
    min-width: 0 !important;
    max-width: none !important;
    height: 320px !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    background: #080d14 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, box-shadow 0.4s ease !important;
}

.photography-sectoin .galary-thumb:hover,
#gallery .galary-thumb:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(12, 178, 219, 0.45) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.6), 0 0 24px rgba(12, 178, 219, 0.18) !important;
}

.photography-sectoin .galary-thumb img,
#gallery .galary-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    border-radius: 15px !important;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.photography-sectoin .galary-thumb:hover img,
#gallery .galary-thumb:hover img {
    transform: scale(1.08) !important;
}

#gallery .galary-thumb figcaption {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 48px 18px 16px;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
    color: #ffffff;
    pointer-events: none;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
}

#gallery .galary-thumb figcaption strong {
    font-family: var(--title-font, 'Outfit', 'Inter', sans-serif);
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.25;
}

#gallery .galary-thumb figcaption span {
    font-family: var(--body-font, 'Inter', sans-serif);
    font-size: 12.5px;
    color: #cbd5e1;
    line-height: 1.4;
}

@media (max-width: 991px) {
    .photography-sectoin .galary-thumb,
    #gallery .galary-thumb {
        height: 260px !important;
    }
}

@media (max-width: 575px) {
    .photography-sectoin {
        padding: 50px 0 40px;
    }
    .photography-sectoin .galary-thumb,
    #gallery .galary-thumb {
        height: 220px !important;
        border-radius: 12px !important;
    }
    .photography-sectoin .galary-thumb img,
    #gallery .galary-thumb img {
        border-radius: 11px !important;
    }
}

/* ── Select Optgroup Categorization Styling ── */
.booking-input-box select optgroup,
.form-box select optgroup,
select.form-control optgroup {
    background: #0b1120 !important;
    color: #0cb2db !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
    padding: 8px 6px 4px !important;
    text-transform: uppercase !important;
}

.booking-input-box select optgroup option,
.form-box select optgroup option,
select.form-control optgroup option {
    background: #040814 !important;
    color: #e2e8f0 !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    letter-spacing: normal !important;
    padding: 8px 10px !important;
    text-transform: none !important;
}

/* =========================================================
   ESTILOS DE ESTADOS OPERATIVOS BLACKLINE (CALENDARIO / HISTORIAL)
   ========================================================= */
.status-badge.early, .calendar-event.early { background: rgba(16, 185, 129, 0.15) !important; color: #34d399 !important; border: 1px solid rgba(16, 185, 129, 0.4) !important; }
.gcal-event-card.event-early { background: linear-gradient(135deg, rgba(5, 150, 105, 0.92), rgba(15, 23, 42, 0.95)) !important; border-left: 4px solid #10b981 !important; }

.status-badge.paused, .calendar-event.paused { background: rgba(148, 163, 184, 0.15) !important; color: #cbd5e1 !important; border: 1px solid rgba(148, 163, 184, 0.35) !important; }
.gcal-event-card.event-paused { background: linear-gradient(135deg, rgba(71, 85, 105, 0.88), rgba(15, 23, 42, 0.95)) !important; border-left: 4px solid #94a3b8 !important; }

.status-badge.diverted, .calendar-event.diverted { background: rgba(168, 85, 247, 0.15) !important; color: #c084fc !important; border: 1px solid rgba(168, 85, 247, 0.4) !important; }
.gcal-event-card.event-diverted { background: linear-gradient(135deg, rgba(147, 51, 234, 0.9), rgba(15, 23, 42, 0.95)) !important; border-left: 4px solid #a855f7 !important; }

.status-badge.incident, .calendar-event.incident { background: rgba(239, 68, 68, 0.18) !important; color: #f87171 !important; border: 1px solid rgba(239, 68, 68, 0.45) !important; }
.gcal-event-card.event-incident { background: linear-gradient(135deg, rgba(220, 38, 38, 0.92), rgba(15, 23, 42, 0.95)) !important; border-left: 4px solid #ef4444 !important; }

/* =========================================================
   MODAL RESPONSIVE DE DISPONIBILIDAD EN HERO Y BOTONERA
   ========================================================= */
body.hero-availability-modal-open {
	overflow: hidden !important;
}

.hero-availability-modal[hidden] {
	display: none !important;
}

.hero-availability-modal {
	position: fixed;
	inset: 0;
	z-index: 1000003;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(3, 7, 18, 0.85);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	opacity: 1;
	transition: opacity 0.25s ease;
}

.hero-availability-backdrop {
	position: absolute;
	inset: 0;
	cursor: pointer;
}

.hero-availability-dialog {
	position: relative;
	z-index: 2;
	width: min(640px, 100%);
	max-height: 92vh;
	overflow-y: auto;
	padding: 34px 34px 36px;
	border: 1px solid rgba(14, 165, 233, 0.35);
	border-radius: 24px;
	background: #080c13 linear-gradient(180deg, rgba(14, 165, 233, 0.08) 0%, rgba(4, 7, 12, 0.98) 32%);
	box-shadow: 0 25px 70px rgba(0, 0, 0, 0.88), 0 0 40px rgba(14, 165, 233, 0.18);
	color: #f8fafc;
	animation: heroModalSlideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes heroModalSlideIn {
	from {
		opacity: 0;
		transform: translateY(20px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.hero-availability-close {
	position: absolute;
	top: 18px;
	right: 18px;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	color: #94a3b8;
	cursor: pointer;
	transition: all 0.25s ease;
}

.hero-availability-close:hover {
	background: rgba(239, 68, 68, 0.2);
	border-color: rgba(239, 68, 68, 0.5);
	color: #f87171;
	transform: rotate(90deg);
}

.hero-availability-header {
	text-align: center;
	margin-bottom: 24px;
}

.hero-availability-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 14px;
	border-radius: 999px;
	background: rgba(14, 165, 233, 0.12);
	border: 1px solid rgba(14, 165, 233, 0.25);
	color: #38bdf8;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.hero-availability-title {
	font-family: var(--title-font, sans-serif);
	font-size: clamp(24px, 4vw, 32px);
	font-weight: 800;
	line-height: 1.2;
	color: #ffffff;
	margin: 0 0 8px;
	letter-spacing: 0.5px;
}

.hero-availability-desc {
	font-size: 13.5px;
	line-height: 1.6;
	color: #94a3b8;
	max-width: 500px;
	margin: 0 auto;
}

.hero-availability-grid {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.hero-availability-grid-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

@media (max-width: 580px) {
	.hero-availability-grid-row {
		grid-template-columns: 1fr;
	}
	.hero-availability-dialog {
		padding: 24px 18px 22px;
	}
}

.hero-availability-field label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #cbd5e1;
	margin-bottom: 8px;
}

.hero-availability-field label i {
	color: #0cb2db;
	font-size: 13px;
}

.hero-availability-select-wrap {
	position: relative;
}

.hero-availability-select-wrap select {
	width: 100%;
	height: 52px;
	padding: 0 42px 0 16px;
	border: 1px solid #28333e;
	border-radius: 12px;
	background-color: #000000;
	color: #f1f5f9;
	font-size: 13.5px;
	font-weight: 500;
	font-family: var(--text-font, sans-serif);
	color-scheme: dark;
	cursor: pointer;
	outline: none;
	transition: all 0.25s ease;
	appearance: none;
	-webkit-appearance: none;
}

.hero-availability-select-wrap select:focus {
	border-color: #0cb2db;
	box-shadow: 0 0 0 3px rgba(12, 178, 219, 0.22);
	background-color: #05080c;
}

.hero-availability-select-wrap select:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	border-color: #1e2730;
	background-color: #030609;
}

.hero-availability-select-wrap::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 18px;
	width: 7px;
	height: 7px;
	border-right: 2px solid #0cb2db;
	border-bottom: 2px solid #0cb2db;
	transform: translateY(-60%) rotate(45deg);
	pointer-events: none;
	transition: transform 0.2s ease;
}

.hero-availability-select-wrap:focus-within::after {
	transform: translateY(-30%) rotate(-135deg);
}

.hero-availability-note {
	margin: 12px 0 18px;
	font-size: 12px;
	line-height: 1.5;
	color: #64748b;
	text-align: center;
}

.hero-availability-note.has-extra-capacity {
	color: #38bdf8;
}

.hero-availability-submit-btn {
	width: 100%;
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border-radius: 14px;
	border: none;
	background: linear-gradient(135deg, #0cb2db 0%, #0284c7 100%);
	color: #ffffff;
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 6px 24px rgba(12, 178, 219, 0.4);
	transition: all 0.3s ease;
}

.hero-availability-submit-btn:hover {
	background: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 100%);
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(12, 178, 219, 0.55);
}

.hero-availability-submit-btn:active {
	transform: translateY(0);
}

/* Hero card button group */
.hero-btn-group {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.hero-section-1 .hero-btn-link.hero-btn-secondary {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	color: #f1f5f9 !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important;
	backdrop-filter: blur(4px);
}

.hero-section-1 .hero-btn-link.hero-btn-secondary:hover {
	background: rgba(255, 255, 255, 0.18) !important;
	border-color: rgba(255, 255, 255, 0.6) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45) !important;
}

@media (max-width: 575px) {
	.hero-btn-group {
		flex-direction: column;
		align-items: stretch;
	}
	.hero-btn-group .hero-btn-link {
		width: 100% !important;
		justify-content: center !important;
	}
}

/* =========================================================
   HERO MINIMALIST PILL SEARCH BAR (AIRBNB / FOUR SEASONS STYLE)
   ========================================================= */
.hero-pill-search-wrapper {
	position: relative;
	z-index: 30;
	margin-top: -55px;
	margin-bottom: 45px;
}

.hero-pill-search-bar {
	display: flex;
	align-items: center;
	padding: 10px 14px 10px 24px;
	border: 1px solid rgba(14, 165, 233, 0.32);
	border-radius: 999px;
	background: rgba(8, 12, 18, 0.88);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7), 0 0 30px rgba(14, 165, 233, 0.12);
	cursor: pointer;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	outline: none;
}

.hero-pill-search-bar:hover,
.hero-pill-search-bar:focus-visible {
	border-color: rgba(14, 165, 233, 0.65);
	background: rgba(10, 16, 26, 0.94);
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8), 0 0 40px rgba(14, 165, 233, 0.25);
	transform: translateY(-2px);
}

.hero-pill-segment {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 8px 18px;
	border-radius: 999px;
	transition: background 0.2s ease;
}

.hero-pill-segment:hover {
	background: rgba(255, 255, 255, 0.06);
}

.hero-pill-icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(12, 178, 219, 0.12);
	border: 1px solid rgba(12, 178, 219, 0.28);
	color: #38bdf8;
	font-size: 15px;
	flex-shrink: 0;
	transition: all 0.25s ease;
}

.hero-pill-segment:hover .hero-pill-icon {
	background: rgba(12, 178, 219, 0.24);
	transform: scale(1.08);
	color: #ffffff;
}

.hero-pill-content {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.hero-pill-label {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #ffffff;
	line-height: 1.2;
}

.hero-pill-subtext {
	font-size: 13px;
	color: #94a3b8;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.4;
	margin-top: 2px;
}

.hero-pill-divider {
	width: 1px;
	height: 36px;
	background: rgba(255, 255, 255, 0.12);
	margin: 0 4px;
	flex-shrink: 0;
}

.hero-pill-action {
	margin-left: 10px;
	flex-shrink: 0;
}

.hero-pill-submit-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	height: 48px;
	padding: 0 24px;
	border-radius: 999px;
	border: none;
	background: linear-gradient(135deg, #0cb2db 0%, #0284c7 100%);
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 4px 18px rgba(12, 178, 219, 0.45);
	transition: all 0.25s ease;
}

.hero-pill-submit-btn:hover {
	background: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 100%);
	transform: scale(1.03);
	box-shadow: 0 6px 24px rgba(12, 178, 219, 0.6);
}

/* Mobile search pill trigger */
.hero-pill-mobile-bar {
	display: none;
	align-items: center;
	gap: 14px;
	padding: 12px 18px;
	border: 1px solid rgba(14, 165, 233, 0.35);
	border-radius: 999px;
	background: rgba(8, 12, 18, 0.92);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.7), 0 0 25px rgba(14, 165, 233, 0.15);
	cursor: pointer;
	outline: none;
}

.hero-pill-mobile-bar:hover,
.hero-pill-mobile-bar:focus-visible {
	border-color: rgba(14, 165, 233, 0.6);
}

.hero-pill-mobile-icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0cb2db 0%, #0284c7 100%);
	color: #ffffff;
	font-size: 15px;
	flex-shrink: 0;
}

.hero-pill-mobile-text {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.hero-pill-mobile-title {
	font-size: 14px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
}

.hero-pill-mobile-sub {
	font-size: 12px;
	color: #94a3b8;
	margin-top: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hero-pill-mobile-arrow {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #38bdf8;
	font-size: 13px;
	flex-shrink: 0;
}

@media (max-width: 991px) {
	.hero-pill-search-bar {
		display: none;
	}
	.hero-pill-mobile-bar {
		display: flex;
	}
	.hero-pill-search-wrapper {
		margin-top: 15px;
		margin-bottom: 30px;
		padding-inline: 12px;
	}
}

