/* 
Sandesh Bhatta Trekking Theme Custom Design System

Enqueued dynamically after Bootstrap.
*/

:root{
--primary: #ff5e14;
--primary-hover: #e04e0d;
--primary-light: #1aa1c8;
--dark-blue: #0b2240;
--dark-blue-light: #05101e;
--text-dark: #2c3a47;
--text-light: #6f8294;
--bg-light: #f6f8fb;
--gold: #ffb300;
--border-color: #e2e8f0;
--font-heading: 'Outfit', sans-serif;
--font-editorial: "Plaid XL", Arial, Helvetica, sans-serif;
--radius: 12px;
--transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Base resets & Typography overrides */
body {
font-family: "HK Grotesk", Arial, Helvetica, sans-serif;
color: var(--text-dark);
background-color: #fdfdfd;
font-weight: 400;
line-height: 1.6;
}

h1, , h3, h4, h5, h6 {
font-family: var(--font-heading);
font-weight: 700;
color: var(--dark-blue);
}

.text-primary {
color:#1aa1c8!important;
}
.font-playfair {
font-family: var(--font-editorial) !important;
}
.sw{
padding:0.7rem;
}

/* Gradients */
.text-gradient {
background: linear-gradient(135deg, #ff5e14 0%, #ffaa00 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: inline-block;
}

.text-gradient-gold {
background: linear-gradient(135deg, #ffd700 0%, #ffaa00 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: inline-block;
}

/* Premium White Sticky Nav */
/*==============================
Header
==============================*/

.site-header{
    width:100%;
    left:0;
    z-index:999;
    transition:.35s ease;
}

.home-header{
    position:absolute;
    background:transparent;
}

.inner-header{
    position:relative;
    background:#fff;
    box-shadow:0 2px 12px rgba(0,0,0,.05);
}

.site-header.scrolled{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.navbar-nav .nav-link {
font-weight: 600;
padding: 0.5rem 1.1rem !important;
font-size: 0.95rem;
text-transform: uppercase;
transition: var(--transition);
position: relative;
}
.home-header .nav-link{
    color:#fff !important;
}
.home-header.scrolled .nav-link{
    color:#2c3a47 !important;
}
.inner-header .nav-link{
    color:#2c3a47 !important;
}
.site-header.scrolled .nav-link{
    color:#2c3a47!important;
}

.navbar-nav .active > .nav-link {
color: #00a4b4 !important;
}
.navbar img{
width:180px;
height:60px;
}
.navbar-toggler{
    border:none;
    padding:0;
    background:transparent;
}
.navbar-toggler:focus{
	box-shadow:none!important;
}
.navbar-toggler[aria-expanded="true"] .hamburger span{
    background:transparent;
}

.navbar-toggler[aria-expanded="true"] .hamburger::before{
    top:9px;
    transform:rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .hamburger::after{
    bottom:9px;
    transform:rotate(-45deg);
}
.hamburger{
    width:30px;
    height:20px;
    display:block;
    position:relative;
}

.hamburger span,
.hamburger::before,
.hamburger::after{
    position:absolute;
    left:0;
    width:100%;
    height:2px;
    background:#fff;
    content:"";
    transition:.3s;
}

.hamburger span{
    top:50%;
    transform:translateY(-50%);
}

.hamburger::before{
    top:0;
}

.hamburger::after{
    bottom:0;
}

.inner-header .hamburger span,
.inner-header .hamburger::before,
.inner-header .hamburger::after,
.site-header.scrolled .hamburger span,
.site-header.scrolled .hamburger::before,
.site-header.scrolled .hamburger::after{

    background:#222;

}

/* Inner pages */
.inner-header .custom-toggler span,
.site-header.scrolled .custom-toggler span{
    background:#222;
}
@media(max-width:991px){
.offcanvas{
    width:100%;	
}

.offcanvas-header{
    border-bottom:1px solid #eee
}

.mobile-menu{
    list-style:none;
    margin:0;
    padding:0;
}

.mobile-menu li{
    border-bottom:1px solid #eee;
    position:relative;
}

.mobile-menu li a{
    display:block;
    padding:10px;
    color:#222;
    font-weight:600;
    text-decoration:none;
	font-size:14px;
}

/* Arrow */
.mobile-menu .menu-item-has-children > a{
    position:relative;
}

.mobile-menu .menu-item-has-children > a:after{
	 font-family:"Font Awesome 6 Free";
    content:"\f078"; 
    font-weight:900;  
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    font-size:16px;
    transition:.3s;
}
.mobile-menu .menu-item-has-children.active > a:after{
    content:"⌃";      
}
/* Hide submenu */

.mobile-menu .sub-menu{
    display:none;
    list-style:none;
    margin:0;
    padding-left:0px;
}

/* Show submenu */
.mobile-menu .menu-item-has-children.active>.sub-menu{
    display:block;
}
}

/* Hero Section */
.hero-section {
    position: relative;
    height: 100vh;
    min-height: 580px;
    overflow: hidden;
}

.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: 0;
}
.hero-overlay {
background:
linear-gradient(
90deg,
rgba(8,25,48,.78),
rgba(8,25,48,.45),
rgba(8,25,48,.25)
);
}
.w{
font-size: .875rem;
line-height: 20px;
letter-spacing: -.1px;
font-weight: 500;
background-color:#34acb1!important;
}
.hero-content {
max-width: 900px;
}
.hero-content h1 {
text-shadow: 0 0 10px #000 !important;
font-size:3rem!important;
}
.hero-content p {
	font-weight:600;
text-shadow: 0 0 10px #000 !important;
font-size:1rem!important;
}
.max-w-600 {
max-width: 600px;
}
.tracking-wider {
letter-spacing: 1px;
font-size:16px;
}

/* Animations */
.animate-up-1 { animation: fadeInUp 0.6s ease both; }
.animate-up-2 { animation: fadeInUp 0.8s 0.2s ease both; }
.animate-up-3 { animation: fadeInUp 1s 0.4s ease both; }
.animate-up-4 { animation: fadeInUp 1.2s 0.6s ease both; }

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(25px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* Trip Search Form Styles */
.search-form-wrapper{
    position: absolute;
    left: 50%;
    transform: translateX(-50%)!important;
    width: 100%;
    z-index: 50;
}
.trip-search{
    position:relative;
    z-index:20;
}

.trip-search-form{
    width:100%;
}

.search-box{
    display:flex;
    align-items:stretch;
    background:#fff;
    border-radius:6px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.12);
}

.search-item{
    flex:1;
    padding:1.25rem 1.5rem;
    border-right:1px solid #ececec;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:110px;
}

.search-item:last-of-type{
    border-right:none;
}

.search-item label{
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1.2px;
    color:#7d8694;
    font-weight:700;
    margin-bottom:10px;
	text-align:start;
}

.search-item select{
    width:100%;
    border:none;
    outline:none;
    background:transparent;
    font-size:1rem;
    font-weight:600;
    color:#1b2430;
    cursor:pointer;

    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    padding:0;
    box-shadow:none;
}

.search-item select:focus{
    box-shadow:none;
}

.search-submit{
	gap:5px;
    width:260px;
    background:#f77c22;
    color:#fff;
    border:none;
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    transition:.3s;
    cursor:pointer;
}

.search-submit i{
    font-size:18px;
}

.search-submit span{
    text-transform:uppercase;
    font-size:18px;
    font-weight:700;
    letter-spacing:1px;
}

.search-submit:hover{
    background:#ea6910;
}
@media(max-width:991px){

.search-box{
    flex-direction:column;
}

.search-item{
	display:none;
    border-right:none;
    border-bottom:1px solid #eee;
    min-height:85px;
}
.search-submit{
    width:100%;
	padding:1rem;
}
}
/* Custom Buttons */
.btn{
	border-radius:0!important;
}
.btn-primary {
background-color: var(--primary);
border-color: var(--primary);
transition: var(--transition);
}
.btn-primary, .btn-primary {
background-color: var(--primary-hover);
border-color: var(--primary-hover);
transform: translateY(-1px);
}
.btn-outline-primary {
color: var(--primary);
border-color: var(--primary);
transition: var(--transition);
}
.btn-outline-primary {
background-color: var(--primary);
border-color: var(--primary);
color: #ffffff;
}
.bg-light-primary {
background-color: var(--primary-light);
}

/* Section Header Dividers */
.divider {
width: 60px;
height: 3px;
background: var(--primary);
margin-top: 15px;
border-radius: 2px;
}
.py-6 {
padding-top: 5.5rem;
padding-bottom: 5.5rem;
}

/* Aboutcollage and badge */
.about-image-collage {
position: relative;
padding-right: 30px;
}
.video-box{
    position:relative;
    margin:auto;
}

.video-box img{
	height:450px;
    width:100%;
    display:block;
    border-radius:12px;
}

/* Play Button */

.play-btn{
    position:absolute;
    top:40%;
    left:40%;
    border:none;
    background:transparent;
    cursor:pointer;
}

.play-btn svg{
    width:100px;
    height:100px;
	border:2px solid #fff;
    animation:rotate 12s linear infinite;
	border-radius:50%;
}

.play-btn text{
    fill:#fff;
    font-size:13px;
    letter-spacing:2px;
	font-weight:600;
}

.play-icon{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:50px;
    height:50px;
    background:transparent;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-size:25px;
	padding:5px;
	border:2px solid #fff;
}

@keyframes rotate{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

/* Popup */

.video-popup{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.85);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.video-popup.active{
    display:flex;
}

.popup-content{
    position:relative;
    width:90%;
    max-width:900px;
}

.popup-content iframe{
    width:100%;
    aspect-ratio:16/9;
    border:none;
}

.close{
    position:absolute;
    right:-10px;
    top:-45px;
    color:#fff;
    font-size:40px;
    cursor:pointer;
}
.floating-badge {
position: absolute;
bottom: -25px;
right: 0;
background: #ffffff;
padding: 20px 25px;
border-radius: var(--radius);
border-left: 5px solid var(--primary);
min-width: 180px;
}
.floating-badge .number {
display: block;
font-size: 2.2rem;
line-height: 1;
margin-bottom: 5px;
}
.floating-badge .text {
display: block;
font-size: 0.8rem;
font-weight: 700;
color: var(--text-light);
text-uppercase;
}
.feature-icon {
width: 42px;
height: 42px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
}

/* Trip Cards Layout */
.card-body{
padding-top:1rem;
}
.trip-card-image {
overflow: hidden;
height: 375px;
}
.trip-card-image img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius:0;
}
.duration-badge {
z-index: 2;
}
.price-tag-overlay {
z-index: 2;
background: linear-gradient(135deg, var(--primary) 0%, #ff8800 100%);
font-size: 1.05rem;
}
.trip-meta {
font-weight: 600;
}
.card-title{
font-size:18px;
}
.pricing span{
font-size:14px;
}
.pricing span span{
padding:0px 5px;
font-size:18px;
color:#1aa1c8;
font-weight:700;
}
s{
color:#1aa1c8;
}

.trip-meta-custom{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    width:100%;
    padding:15px 0;
}

/* Days Section */
.trip-days{
    display:flex;
    align-items:center;
    gap:6px;
}

.trip-number{
    font-size:12px;
    font-weight:700;
    color:#1aa1c8;
    line-height:1;
}

/* Difficulty Section */
.trip-difficulty{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.difficulty-ring{
    --size:50px;
    width:var(--size);
    height:var(--size);
    border-radius:50%;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
    conic-gradient(
        #1aa1c8 0 var(--progress),
        #9d9d9d var(--progress) 100%
    );
}

.difficulty-ring::before{
    content:"";
    position:absolute;
    width:35px;
    height:35px;
    background:#fff;
    border-radius:50%;
}

.difficulty-ring span{
    position:relative;
    z-index:2;
    font-size:18px;
    font-weight:700;
    color:#333;
}

.difficulty-name{
    margin-top:8px;
    font-size:12px;
    letter-spacing:2px;
    color:#777;
    text-transform:uppercase;
}
/* Owl Carousel Styling */
.owl-carousel .owl-stage-outer {
padding: 15px 0;
}
.owl-theme .owl-nav [class='owl-'] {
background: #ffffff !important;
color: var(--dark-blue) !important;
font-size: 1.2rem !important;
border-radius: 50% !important;
width: 44px !important;
height: 44px !important;
line-height: 42px !important;
padding: 0 !important;
margin: 0 8px !important;
box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
transition: var(--transition) !important;
}
.owl-theme .owl-nav [class*='owl-'] {
    color: #FFF!important;
    font-size: 14px!important;
    margin: 5px;
    padding: 4px 7px!important;
    background: #D6D6D6 !important;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px;
}
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
	  padding: 4px 7px!important;
}
/* Departures Table Custom */
.shape svg{
background-color:rgba(248,249,250)!important;
transform: scaleY(-1)!important;
}
.upcoming-tripshome{
background:#1aa1c8;
padding:0rem 0rem 3rem 0rem;
}

.tripu-card{
background:#f5f5f5;
border-radius:10px;
padding:18px;
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:20px;
flex-wrap:wrap;
}

.tripu-left{
display:flex;
align-items:center;
gap:20px;
width:35%;
}

.tripu-image img{
width:100px;
height:100px;
object-fit:cover;
border-radius:8px;
}

.tripu-info h3{
font-size:18px;
font-weight:700;
margin:0 0 10px;
}

.tripu-start,
.tripu-end,
.tripu-availability,
.tripu-price{
display:flex;
flex-direction:column;
}

.tripu-start span,
.tripu-end span,
.tripu-availability span,
.tripu-price span{
font-size:14px;
color:#444;
}

.tripu-start strong,
.tripu-end strong,
.tripu-availability strong,
.tripu-price strong{
font-size:16px;
font-weight:700;
}

.tripu-price strong{
color:#2168a8;
}

.tripu-btn a{
background:#ff5e14;
color:#fff;
text-decoration:none;
padding:0.5rem 1rem;
border-radius:6px;
font-weight:700;
}

/* Tablet */
@media (max-width: 991px) {
.tripu-card {
gap: 20px;
justify-content: flex-start;
}

.tripu-left {
    width: 100%;
}

.tripu-start,
.tripu-end,
.tripu-availability,
.tripu-price {
    flex: 1 1 calc(50% - 20px);
    min-width: 150px;
}

.tripu-btn {
    width: 100%;
    text-align: left;
}
}

/* Mobile */
@media (max-width: 768px) {

.upcoming-tripshome {
    padding: 1rem 0 3rem;
}

.tripu-card {
    align-items: flex-start;
    padding: 15px;
}

.tripu-left {
    width: 100%;
    gap: 15px;
}

.tripu-image img {
    width: 100%;
    max-width: 120px;
    height: auto;
}

.tripu-info h3 {
    font-size: 18px;
    line-height: 1.4;
}

.tripu-start,
.tripu-end,
.tripu-availability,
.tripu-price {
    width: 100%;
}

.tripu-start strong,
.tripu-end strong,
.tripu-availability strong,
.tripu-price strong {
    font-size: 15px;
}

.tripu-btn {
    width: 100%;
    margin-top: 10px;
}

.tripu-btn a {
    width: 100%;
    text-align: center;
    padding: 12px 20px;
}
}

/* Popular Regions */
.popular-destination-section {
padding: 80px 0;
}

.destination-card{
    overflow: hidden;
}
.destination-card img:hover{
    transform: scale(1.1);
}
.destination-card img{
overflow:hidden;
transition: all .3s ease-out;
height:380px;
object-fit:cover;
filter: brightness(60%);
}

.destination-content h3{
text-align:center;
position: absolute;
left: 40%;
top: 90%;
transform: translate(-30%, -50%);
}
.destination-content h3 a{
margin:0;
font-size:18px;
color:white;
font-weight:700;
text-decoration:none;
}

.tour-count{
position: absolute;
top: 3%;
left: 75%;
display;
background:#ff5e14;
padding:0 8px;
border-radius:4px;
margin-bottom:10px;
font-size:12px;
font-weight:400;
color:white;
}

/* speak to expert carousel */
.exper{
  display: flex;
  flex-wrap: wrap;
  padding: 50px 30px;
  gap: 20px;
  flex-direction: row;
  justify-content: center;
}


.expert-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 0px;
}


.expert-carousel {
  position: relative;
  width: 100%;
  height: 220px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.expert-carousel img {
  border-radius: 50%;
  border: 4px solid #fff;
  object-fit: cover;
  width: 80px;
  height: 80px;
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: pointer;
  position: absolute;
  transform-origin: center bottom;
}

.expert-carousel .center {
  width: 110px;
  height: 110px;
  z-index: 10;
  border: 6px solid #fff;
  left: 24%;
  transform: translateX(-50%);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.expert-carousel .left,
.expert-carousel .left2,
.expert-carousel .left3,
.expert-carousel .right,
.expert-carousel .right2,
.expert-carousel .right3,
.expert-carousel .hidden-left,
.expert-carousel .hidden-right {
  top: 12px;
  transform: translateX(-50%) scale(0.9);
}

.expert-carousel .left { left: 14%; z-index: 5; }
.expert-carousel .left2 { left: 6%; z-index: 4; }
.expert-carousel .left3 { left: 5%; z-index: 3; }

.expert-carousel .right { left: 34%; z-index: 5; }
.expert-carousel .right2 { left: 44%; z-index: 4; }
.expert-carousel .right3 { left: 44%; z-index: 3; }

.expert-carousel .hidden-left { left: -10%; z-index: 0; opacity: 0; }
.expert-carousel .hidden-right { left: 110%; z-index: 0; opacity: 0; }

.expert-info {
  position: absolute;
  top: 100px;
  left: 0;
  width: 50%;
  text-align: center;
  transform: translateY(40px);
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.expert-info.active {
  opacity: 1;
  transform: translateY(20px);
}

.expert-info h3 {
  margin: 5px 0;
  color: white;
  font-size: 18px;
}

.expert-info p {
  margin: 0;
  color: white;
  font-size: 14px;
}
.expert-info a{
	text-decoration:none;
	color:white;
}
.expert-info a i{
	color:green;
	font-size:16px;
	font-weight:700;
}
.expert-container {
  position: relative;
  height: 100%;
  width: 100%;
}

@media (max-width: 1024px) {
  .expert-section {
    margin: 60px 20px;
    padding: 30px 20px;
    gap: 40px;
		flex-direction:column!important;
  }

  .expert-carousel {
    height: 250px;
  }
}

@media (max-width: 768px) {

  .exper{
    padding: 30px 15px;
  }

  .expert-carousel {
    height: 230px;
  }

  .expert-carousel img {
    width: 70px;
    height: 70px;
  }

  .expert-carousel .center {
    width: 90px;
    height: 90px;
  }

  /* Recenter the avatar train for a full-width stacked layout instead of
     the desktop's off-center spacing (which assumed a 2-column layout) */
  .expert-carousel .left2  { left: 14%; }
  .expert-carousel .left   { left: 32%; }
  .expert-carousel .center { left: 50%; }
  .expert-carousel .right  { left: 68%; }
  .expert-carousel .right2 { left: 86%; }

  .expert-info {
    width: 92%;
    left: 4%;
    top: 92px;
  }

  .expert-info h3 {
    font-size: 16px;
  }

  .expert-info p {
    font-size: 13px;
  }
}

@media (max-width: 420px) {
  .expert-carousel {
    height: 200px;
  }

  .expert-carousel img {
    width: 56px;
    height: 56px;
  }

  .expert-carousel .center {
    width: 74px;
    height: 74px;
  }

  .expert-carousel .left2  { left: 8%; opacity: .65; }
  .expert-carousel .left   { left: 29%; }
  .expert-carousel .center { left: 50%; }
  .expert-carousel .right  { left: 71%; }
  .expert-carousel .right2 { left: 92%; opacity: .65; }

  .expert-info {
    top: 78px;
  }

  .expert-info h3 {
    font-size: 14px;
  }

  .expert-info p {
    font-size: 12px;
  }

  .expert-info .whatsapp-link {
    font-size: 12px;
  }
}

/* speak to expert carousel   */


/* Video Testimonial */
.video-testimonials{
background:#fff;
position:relative;
overflow:hidden;
}

.video-card{
display:block;
text-decoration:none;
}

.thumb{
position:relative;
border-radius:12px;
overflow:hidden;
}

.thumb img{
width:100%;
height:200px;
object-fit:cover;
transition:.5s;
display:block;
filter: brightness(60%);
}

.video-card:hover img{
transform:scale(1.08);
}

.play{
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
transition:.3s;
}

.video-card:hover .play{
transform:translate(-50%,-50%) scale(1.1);
}

.contentreview{
padding-top:16px;
text-align:center;
}

.contentreview h3{
font-size:16px;
font-weight:700;
color:#222;
}

.contentreview p{
font-size:20px;
color:#555;
}

.swiper-button-prev{
width:40px!important;
height:40px!important;
background:#fff;
border-radius:50%;
box-shadow:0 10px 25px rgba(0,0,0,.15);
left:-1%!important;
top:40%!important;
}
.swiper-button-next{
width:40px!important;
height:40px!important;
background:#fff;
border-radius:50%;
box-shadow:0 10px 25px rgba(0,0,0,.15);
left:98%!important;
top:40%!important;
}

.swiper-button-next:after,
.swiper-button-prev:after{
font-size:16px!important;
color:#111;
font-weight:bold;
}

@media(max-width:991px){
.thumb img{
height:220px;
}

.content h3{
font-size:22px;
}

.content p{
font-size:17px;
}
}
/* Hide the default owl prev/next arrow buttons — replaced with rounded dots below */
.destination-carousel .owl-nav,
.popular-packages-carousel .owl-nav{
    display:none !important;
}

/* Center pagination */
.destination-carousel .owl-dots,
.popular-packages-carousel .owl-dots{
    display:flex !important;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:35px;
}

/* Remove Owl spacing */
.destination-carousel .owl-dot,
.popular-packages-carousel .owl-dot{
    margin:0 !important;
}

.destination-carousel .owl-dot span,
.popular-packages-carousel .owl-dot span{
    margin:0 !important;
    width:8px !important;
    height:8px !important;
    border-radius:100px !important;
    background:#d6e9ec !important;
    transition:all .25s ease;
}

/* Active */
.destination-carousel .owl-dot.active span,
.popular-packages-carousel .owl-dot.active span{
    width:30px !important;
    height:8px !important;
    border-radius:100px !important;
    background:#00a4b4 !important;
}
/* Popular Regions */
/* Blog Cards */
.blog-card {
transition: var(--transition);
}
.blog-card {
transform: translateY(-8px);
box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important;
}
.blog-card-image {
overflow: hidden;
height: 220px;
}
.blog-card-image img {
transition: var(--transition);
width: 100%;
height: 100%;
object-fit: cover;
}
.blog-card .blog-card-image:hover img {
transform: scale(1.06);
}
.date-badge {
z-index: 2;
}

/* Newsletter Section */
.newsletter-section {
background: linear-gradient(135deg, var(--dark-blue) 0%, var(--dark-blue-light) 100%);
border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.newsletter-form input {
height: 52px;
border: 1px solid rgba(255, 255, 255, 0.15);
background-color: rgba(255, 255, 255, 0.06);
color: #ffffff;
}
.newsletter-form input::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.newsletter-form input {
background-color: rgba(255, 255, 255, 0.1);
border-color: var(--primary);
color: #ffffff;
}
.newsletter-form button {
height: 52px;
}

/* Single Trip Banner */
.trip-banner {
height: 65vh;
min-height: 480px;
background-size: cover;
background-position: center center;
}

/* Utility colour helpers used in single-trip.php */
.bg-light-success {
background-color: #f0fdf4 !important;
}
.bg-light-danger {
background-color: #fff5f5 !important;
}
.bg-light-primary {
background-color: rgba(255, 94, 20, 0.07) !important;
border-radius: 8px;
}

/* Extra font-size utilities (Bootstrap 5 only ships fs-1 to fs-6) */
.fs-7 {
font-size: 0.875rem !important;
}
.fs-8 {
font-size: 0.75rem !important;
}

/* Extra font-weight utilities */
.fw-extrabold {
font-weight: 800 !important;
}

/* Trip stats bar polish */
.trip-stats-bar {
position: relative;
z-index: 10;
}
.trip-stats-bar .h5 {
font-size: 1.1rem;
}

/* Trip content section top spacing */
.trip-content-section {
padding-top: 3rem;
padding-bottom: 4rem;
}

/* Sidebar inquiry card form controls */
.inquiry-card .form-control {
border-radius: 8px;
border: 1px solid var(--border-color);
padding: 10px 14px;
font-size: 0.95rem;
transition: var(--transition);
}
.inquiry-card .form-control {
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(255, 94, 20, 0.1);
}

/* Include / Exclude list items spacing */
.include-list li,
.exclude-list li {
padding: 4px 0;
}

/* Departure table hover */
.table-hover tbody tr {
background-color: rgba(255, 94, 20, 0.04);
}

/* Bootstrap z-index utilities (for Bootstrap < 5.3 compatibility) */
.z-1 { z-index: 1 !important; }
.z-2 { z-index: 2 !important; }
.z-3 { z-index: 3 !important; }
.z-10 { z-index: 10 !important; }

/* Line-height utility used in trip tab bodies */
.leading-relaxed {
line-height: 1.75 !important;
}

.banner-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(180deg, rgba(11, 34, 64, 0.3) 0%, rgba(5, 16, 30, 0.8) 100%);
z-index: 1;
}

/* Single Trip Stats floating bar */
.border-end-md {
border-right: 1px solid var(--border-color);
}
@media (max-width: 767.98px) {
.border-end-md {
border-right: 0;
border-bottom: 1px solid var(--border-color);
}
}

/* Trip Tabs styling */
.trip-navigation-tabs {
flex-wrap: nowrap;
white-space: nowrap;
}
.trip-navigation-tabs .nav-link {
color: var(--text-light);
font-size: 0.95rem;
padding: 10px 22px;
transition: var(--transition);
}
.trip-navigation-tabs .nav-link.active {
background-color: var(--primary) !important;
color: #ffffff !important;
}
.sticky-tabs {
position: sticky;
top: 90px;
z-index: 99;
background-color: #ffffff !important;
}
.wysiwyg-content p {
margin-bottom: 1.5rem;
color: #3f4e5a;
font-size: 1rem;
line-height: 1.7;
}

/* Itinerary & FAQ Accordion styling */
.accordion-button:focus{
	border:none;
	box-shadow:none;
}
.accordion-button(.collapsed) {
background-color: var(--primary-light);
color: var(--primary);
box-shadow: none;
}
.accordion-button {
box-shadow: none;
border-color: transparent;
}
/* .accordion-button::after {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f078";
background-image: none;
font-size: 0.9rem;
} */
.accordion-button(.collapsed)::after {
content: "\f077";
background-image: none;
transform: rotate(0);
}

/* Sidebar sticky content */
/* .sticky-sidebar {
position: sticky;
top: 95px;
z-index: 10;
} */
.inquiry-card .card-header {
background-color: var(--dark-blue) !important;
}

/* Blog Typography */
.blog-typography p {
font-size: 1.05rem;
line-height: 1.8;
color: #2d3748;
margin-bottom: 1.75rem;
}
.blog-typography h2, .blog-typography h3 {
font-family: var(--font-heading);
margin-top: 2rem;
margin-bottom: 1rem;
font-weight: 700;
}

/* ===================================================
   WONDROUS FOOTER - COMPREHENSIVE DARK THEME SYSTEM
   Styled precisely after image_465d7c.png
=================================================== */
.wondrous-footer .footer-wrapper {
    background: linear-gradient(to bottom, #11141a 0%, #1a222f 100%);
    border: none;
    border-radius: 0px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.footer-silhouette-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
   background-image: url('https://wondrousnepal.com/wp-content/uploads/2026/07/Gemini_Generated_Image_135a7a135a7a135a.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom center;
    opacity: 0.08; 
    z-index: 0; 
    pointer-events: none;
}

/* ===================================================
   HEADER BAR & BACK TO TOP BUTTON
=================================================== */

.footer-header-bar {
    position: relative;
    z-index: 5;
}

.scroll-top-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #ffffff;
    color: #111111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.scroll-top-btn i {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.scroll-top-btn:hover {
    background: #155d32;
    color: #ffffff !important;
    transform: translateY(-3px);
}

.scroll-top-btn:hover i {
    transform: translateY(-2px);
}

/* ===================================================
   GRID DIVIDERS & STRUCTURING
=================================================== */

.footer-main-links {
    position: relative;
    z-index: 2;
}

.footer-divider {
    border-color: rgba(255, 255, 255, 0.07) !important;
    margin: 0;
    opacity: 1;
}

/* ===================================================
   WORDPRESS DYNAMIC CUSTOM LOGO FIXES
=================================================== */

.footer-logo {
    display: flex;
    align-items: center;
}

.footer-logo img.custom-logo,
.footer-logo .custom-logo-link img {
    max-width: 200px !important;
    height: auto !important;
    display: block;
    object-fit: contain;
}

.logo-text.fw-extrabold.text-gradient {
    font-size: 24px;
    font-weight: 800;
    background: linear-gradient(45deg, #ffffff, #155d32);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: -0.5px;
}

/* ===================================================
   4 COLUMN TYPOGRAPHY & LISTS
=================================================== */

.footer-col-title {
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    margin-bottom: 22px !important;
    letter-spacing: 0.8px;
}

.footer-menu li {
    margin-bottom: 12px !important;
}

.footer-menu li a {
    font-size: 14px !important;
    color: white!important;
    text-decoration: none !important;
    transition: color 0.25s ease;
    display: inline-block;
}

.footer-menu li a:hover {
    color: #ffffff !important;
}

/* Contact Column Raw Elements */
.footer-contact-info li {
    font-size: 14px;
    color: #9e9e9e !important;
    margin-bottom: 12px;
    line-height: 1.5;
}

.footer-contact-info li strong {
    color: #ffffff;
    font-weight: 600;
    display: inline-block;
    margin-right: 4px;
}

/* ===================================================
   NEWSLETTER INPUTS & FORM
=================================================== */

.max-width-form {
    max-width: 500px;
}

.newsletter-title {
    font-size: 15px;
    letter-spacing: 0.8px;
    font-weight: 700;
}

.newsletter-sub {
    font-size: 14px;
    color: white !important;
    line-height: 1.6;
}

.dark-theme .footer-input {
    height: 46px;
    border: 1px solid #262626 !important;
    background: #181818 !important;
    color: #ffffff !important;
    font-size: 13.5px;
    border-radius: 4px !important;
}

.dark-theme .footer-input::placeholder {
    color: #555555;
}

.dark-theme .footer-input:focus {
    border-color: #155d32 !important;
    box-shadow: 0 0 0 2px rgba(21, 93, 50, 0.2) !important;
}

.dark-theme .btn-newsletter-submit {
    width: 46px;
    min-width: 46px;
    height: 46px;
    border-radius: 4px !important;
    background: #155d32;
    color: #ffffff;
    border: none;
    transition: background 0.2s ease;
}

.dark-theme .btn-newsletter-submit:hover {
    background: #1b733e;
}

/* ===================================================
   SOCIAL BUTTON OUTLETS
=================================================== */

.social-icons-bottom .social-circle-btn {
    width: 36px;
    height: 36px;
    border: 1px solid #262626;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #9e9e9e;
    background: #161616;
    transition: all 0.25s ease;
    text-decoration: none;
}

.social-icons-bottom .social-circle-btn:hover {
    background: #ffffff;
    color: #111111 !important;
    border-color: #ffffff;
    transform: translateY(-2px);
}

/* ===================================================
   CREDENTIAL PROCESSING & ACCREDITATIONS
=================================================== */

.payment-icons img {
    height: 30px !important;
    width: auto !important;
    object-fit: contain;
}

.payment-icons img:hover {
    opacity: 1;
}

.badge-dark {
    background: #161616;
    border: 1px solid #262626;
    color: #9e9e9e;
    font-size: 11px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    display: inline-block;
}

/* ===================================================
   BASE COPYRIGHT FOOTER STRIP
=================================================== */

.copyright-container .col-12 {
    background: #0b0b0b;
    border-top: 1px solid rgba(255,255,255,0.03);
}

.copyright-container p {
    font-size: 13px;
    color: #555555 !important;
}

.utility-footer-links a {
    color: #555555 !important;
    font-size: 13px;
    transition: color 0.2s ease;
}

.utility-footer-links a:hover {
    color: #ffffff !important;
}

/* ===================================================
   FLUID RESPONSIVE ENGINE
=================================================== */

@media(max-width: 991px) {
    .footer-header-bar {
        padding-left: 15px;
        padding-right: 15px;
    }
    .footer-main-links,
    .footer-middle-actions, 
    .footer-bottom-row {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .max-width-form {
        max-width: 100%;
    }
}

@media(max-width: 767px) {
    .footer-header-bar {
        text-align: center;
    }
    .footer-logo {
        justify-content: center;
    }
    .scroll-top-btn {
        width: 40px;
        height: 40px;
    }
    .footer-middle-actions {
        text-align: center;
    }
    .newsletter-form {
        flex-direction: column;
    }
    .dark-theme .btn-newsletter-submit {
        width: 100%;
    }
    .payment-icons,
    .association-icons,
    .social-icons-bottom {
        justify-content: center !important;
    }
    .copyright-container .col-12 {
        text-align: center !important;
    }
    .copyright-container p {
        text-align: center !important;
    }
    .utility-footer-links {
        margin-top: 12px;
    }
}

/* Scrollbar tweaks for tab navigation */
.trip-navigation-tabs::-webkit-scrollbar {
height: 4px;
}
.trip-navigation-tabs::-webkit-scrollbar-track {
background: #f1f1f1;
}
.trip-navigation-tabs::-webkit-scrollbar-thumb {
background: #ccc;
border-radius: 4px;
}
.trip-navigation-tabs::-webkit-scrollbar-thumb {
background: #999;
}

/* Mega Menu Custom Styling */
.mega-dropdown {
position: static !important;
}

.mega-menu-wrapper {
width: 100vw;
left: 50% !important;
right: auto !important;
transform: translateX(-50%) !important;
top: 100% !important;
margin-top: 0 !important;
border-radius: 0 0 8px 8px !important;
box-shadow: 0 15px 30px rgba(0,0,0,0.15) !important;
background: #ffffff;
z-index: 1000;
max-height: 80vh;
overflow-y: auto;
padding: 0 !important;
border-top: 3px solid #00a4b4 !important; /* Top colored line */
}

/* Invisible hover bridge: extends the hover zone upward so the mouse
never loses contact with the dropdown while traveling from the nav
link to the mega-menu panel. */
.navbar-nav .dropdown-menu::before {
content: '';
display: block;
position: absolute;
top: -10px;
left: 0;
right: 0;
height: 10px;
}

/* Mega menu left region list */
.mega-menu-left-pane {
padding-right: 0 !important;
background-color: #fcfcfc !important;
border-right: 1px solid var(--border-color) !important;
}

.mega-menu-left-pane .nav-pills .nav-link {
color: #333333 !important;
background-color: transparent !important;
font-size: 0.95rem;
font-weight: 700;
border-radius: 0 !important;
border-bottom: 1px solid #f0f0f0 !important;
transition: var(--transition);
position: relative;
border-right: 2px solid transparent !important;
}

.mega-menu-left-pane .nav-pills .nav-link.active {
color: #00a4b4 !important;
background-color: #ffffff !important;
border-right: 3px solid #00a4b4 !important; /* Blue vertical indicator line */
}

.mega-menu-left-pane .nav-pills .nav-link {
color: #00a4b4 !important;
background-color: #f7f9fa !important;
}

/* Mega menu right pane details */
.mega-menu-right-pane {
background-color: #ffffff;
}

.mega-trip-list li a {
color: #333333 !important;
font-size: 0.9rem;
font-weight: 600;
transition: var(--transition);
display: block;
}

.mega-trip-list li a span.fw-normal {
color: #777777;
font-weight: 400 !important;
font-size: 0.8rem;
margin-left: 6px;
}

.mega-trip-list li a {
color: #00a4b4 !important;
transform: translateX(4px);
}

.btn-explore-all {
background-color: #0b2240 !important;
color: #ffffff !important;
border: none !important;
border-radius: 4px !important;
font-size: 0.85rem !important;
padding: 8px 20px !important;
transition: var(--transition) !important;
}

.btn-explore-all {
background-color: #00a4b4 !important;
transform: translateY(-2px);
}

/* Red Highlight Contact link */
.nav-link-contact-red {
color: #ff3a3a !important;
font-weight: 700 !important;
}

.nav-link-contact-red::after {
display: none !important;
}

/* Custom Dropdown Ticks /
.navbar-nav .dropdown-toggle::after {
content: "\f0d7" !important; / fa-caret-down */
font-family: "Font Awesome 6 Free" !important;
font-weight: 900 !important;
border: 0 !important;
font-size: 0.75rem !important;
margin-left: 6px !important;
color: #00a4b4 !important;
vertical-align: middle !important;
transition: var(--transition);
}
.navbar-nav .dropdown.show .dropdown-toggle::after {
transform: rotate(180deg);
}

/* Search Dropdown Overlay */
.search-menu-item .search-trigger-btn i {
font-size: 1.1rem;
transition: var(--transition);
color: #2c3a47 !important;
}

.search-menu-item .search-trigger-btn i {
color: #00a4b4 !important;
}

.search-dropdown-overlay {
position: absolute;
top: 100%;
right: 0;
width: 280px;
background: #ffffff;
border: 1px solid var(--border-color);
z-index: 1050;
margin-top: 10px;
transition: var(--transition);
}
.search-dropdown-overlay.show {
display: block !important;
}

/* Toggler and responsive fixes */
.navbar-toggler-icon {
background-image: url("data/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2811, 34, 64, 0.85%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

@media (max-width: 991px) {
.navbar-collapse {
background: #ffffff;
padding: 15px;
border-radius: 8px;
box-shadow: 0 10px 20px rgba(0,0,0,0.05);
margin-top: 10px;
}
.mega-menu-wrapper {
width: 100% !important;
left: 0 !important;
transform: none !important;
max-height: none !important;
box-shadow: none !important;
border: 0 !important;
}
.mega-menu-left-pane {
border-right: 0 !important;
border-bottom: 1px solid var(--border-color) !important;
}
}

/* Homepage FAQ Section Accordion Customization */
.home-faq-section .accordion-item {
border: 0;
border-bottom: 1px solid var(--border-color);
background-color: transparent;
}
.home-faq-section .accordion-item {
border-bottom: 0;
}
.home-faq-section .accordion-button {
font-size: 1.05rem;
color: var(--dark-blue);
transition: var(--transition);
background-color: transparent;
}
.home-faq-section .accordion-button(.collapsed) {
color: #00a4b4;
background-color: transparent;
}

/* Speak to Expert Layout */
.ms-n3 {
margin-left: -16px !important;
}
.expert-avatars img {
transition: var(--transition);
}
.expert-avatars img {
transform: translateY(-5px);
z-index: 5 !important;
}

/* Re-designed Blog Layout */
.btn-view-all-blog {
border: 2px solid #00a4b4 !important;
color: #00a4b4 !important;
font-weight: 700 !important;
background: transparent !important;
padding: 8px 22px !important;
border-radius: 4px !important;
transition: var(--transition) !important;
text-transform: uppercase;
font-size: 0.85rem;
}

.featured-blog-card {
transition: var(--transition);
}
.featured-blog-card .featured-blog-img-wrapper:hover img {
transform: scale(1.04);
}
.featured-blog-img-wrapper img {
cursor:pointer;
filter: brightness(60%);
transition: var(--transition);
object-fit: cover;
}
.featured-blog-content a {
transition: var(--transition);
}
.featured-blog-content a {
color: #fff !important;
}

.blog-list-thumb img {
transition: var(--transition);
object-fit: cover;
}
.blog-list-item .blog-list-thumb:hover img {
transform: scale(1.08);
}
.blog-list-item a {
transition: var(--transition);
}
}

/* Dropdown Submenus (Nested Menus) */
@media (min-width: 992px) {
.dropdown-menu .dropdown-submenu {
position: relative;
}
.dropdown-menu .dropdown-submenu .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: 0px;
border-radius: 8px;
display: none;
}
.dropdown-menu .dropdown-submenu > .dropdown-menu {
display: block;
}
}
@media (max-width: 991.98px) {
.dropdown-menu .dropdown-submenu .dropdown-menu {
position: static;
margin-left: 15px;
box-shadow: none !important;
background-color: rgba(0, 0, 0, 0.02);
}
}

/* Visually Stunning Single Trip Page Layout Styles */
.hero {
position: relative;
height: 400px;
overflow: hidden;
background: #000;
}
.hero .background-section {
position: relative;
width: 100%;
height: 100%;
}
.hero .background-section img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.7;
}
.hero .content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
color: #ffffff;
width: 90%;
max-width: 900px;
z-index: 5;
}
.hero .content h1 {
font-family: var(--font-editorial);
font-size: 2.8rem;
font-weight: 700;
color: #ffffff;
margin-bottom: 10px;
text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.trip-title{
	font-size:2rem;
	font-weight:800;
}
.custom-breadcrumb {
	margin-bottom:10px;
    font-size: 0.9rem;
}

.custom-breadcrumb .breadcrumb-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.custom-breadcrumb .breadcrumb-list li {
    display: flex;
    align-items: center;
    color: black;
}

.custom-breadcrumb .breadcrumb-list li:not(:last-child)::after {
    content: "\00bb"; 
    margin: 0 10px;
    color: black;
}

.custom-breadcrumb .breadcrumb-list li a {
    color: black;
    font-weight: 500;
}

.custom-breadcrumb .breadcrumb-list li a:hover {
    color: #1aa1c8 ;
}

.custom-breadcrumb .breadcrumb-list li.active {
    color: #1aa1c8 ;
    font-weight: 500;
}
.breadcrumb-share-wrapper{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:1rem 0 0;
    position:relative;
}
.breadcrumb-wrapper a, .breadcrumb-wrapper span{
	font-weight:500;
	font-size:14px;
	color:black;
	text-decoration:none;
}

.share-dropdown{
    position:relative;
}

.share-btn{
    background:none;
    border:none;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    font-size:16px;
    color:#666;
    font-weight:500;
}

.share-btn i{
    font-size:18px;
}

.share-menu{
    position:absolute;
    top:45px;
    right:0;
    width:58px;
    background:#fff;
    border:1px solid #ddd;
    border-radius:4px;
    box-shadow:0 5px 15px rgba(0,0,0,.15);
    display:none;
    z-index:999;
}

.share-menu::before{
    content:'';
    position:absolute;
    top:-8px;
    right:18px;
    width:14px;
    height:14px;
    background:#fff;
    border-left:1px solid #ddd;
    border-top:1px solid #ddd;
    transform:rotate(45deg);
}

.share-menu a{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    height:55px;
    text-decoration:none;
    border-bottom:1px solid #eee;
    font-size:28px;
    transition:.3s;
}

.share-menu a:last-child{
    border-bottom:none;
}

.share-menu a:hover{
    background:#f5f5f5;
}

.share-menu .fa-facebook-f{
    color:#1877F2;
}

.share-menu .fa-x-twitter{
    color:#000;
}

.share-menu .fa-telegram-plane{
    color:#2AABEE;
}

.share-menu .fa-whatsapp{
    color:#25D366;
}

.share-menu.active{
    display:block;
}

.fancybox-hidden {
  display: none;
}

.trip-hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
	margin-top:20px;
	height:auto;
}

.trip-hero-split img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* LEFT IMAGE */
.hero-left {
  border-radius: 8px;
  overflow: hidden;
}

/* RIGHT GRID */
.hero-right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr); /* IMPORTANT */
  gap: 6px;
  height: 100%;
  position: relative;
}

.hero-right .grid-item {
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
}

.hero-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* SEE ALL BUTTON */
.see-all {
  position: absolute;
  bottom: 16px;
  right: 16px;
  background: rgba(0,0,0,0.7);
  color: #fff!important;
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 14px;
  text-decoration: none;
  z-index: 2;
}

.see-all:hover {
  background: #000;
	color:white!important;
	 text-decoration: none!important;
}
@media (max-width: 768px) {
	.swiper-button-next {
		left:92%!important;
	}
  .trip-hero-split {
    grid-template-columns: 1fr;
  }
	.hero-left{
		padding-top:0%!important;
	}


  .hero-right {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1024px) {
  .trip-hero-split {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0 1rem;
  }
	.hero-left{
		padding-top:15%;
	}

  .hero-right {
    grid-template-columns: repeat(2, 1fr);
  }
}
#trip-sticky-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  z-index: 999;
  transform: translateY(-100%);
  transition: transform 0.35s ease;
  padding:1rem;
}

/* SHOW AFTER SCROLL */
#trip-sticky-nav.show {
  transform: translateY(0);
}

/* MENU */
.trip-nav-inner {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.trip-nav-inner ul {
  display: flex;
  gap: 2.25rem;
  list-style: none;
  padding: 0.5rem 1rem;
  margin: 0;
  width: max-content;
}

.trip-nav-inner li a {
  text-decoration: none;
  color: #475569;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}
.trip-nav-inner li a i{
padding-right:6px;
}
.trip-nav-inner li.active a {
  color: #1aa1c8;
  font-weight: 600;
  position: relative;
}

.trip-nav-inner li.active a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 3px;
  background: #1aa1c8;
  border-radius: 3px;
}

/* DESKTOP ONLY: no horizontal scroll bar */
@media (min-width: 992px) {
  .trip-nav-inner {
    overflow: visible;
  }
}

/* Trip Facts Box */
.trip-facts {
    background: #ffffff;
    border-radius: 8px;
    padding: 24px 28px;
    margin-bottom: 30px;
    border: 1px solid #e2e8f0;
}

.facts-container {
    display: flex;
    flex-wrap: wrap;
    row-gap: 22px;
}

.facts-container .item {
    display: flex;
    align-items: center;
    width: 25%;
    padding-right: 16px;
    box-sizing: border-box;
}

.facts-container .item .left {
    color: #00a4b4;
    font-size: 1.4rem;
    width: 32px;
    min-width: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
}

.facts-container .item .right span {
    display: block;
    font-size: 0.8rem;
    color: #718096;
    font-weight: 600;
    line-height: 1.3;
}

.facts-container .item .right p {
    margin: 2px 0 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--dark-blue, #0a2540);
    line-height: 1.25;
}

.reviews-stars-top i {
    color: #ffb300;
    font-size: 0.75rem;
}

/* Tablet: 2 items per row, still inline */
@media (max-width: 991px) {
    .facts-container .item {
        width: 50%;
    }
}

/* Mobile: card style with 2 items per row, matching reference design */
@media (max-width: 768px) {
    .trip-facts {
        padding: 18px 16px;
    }

    .facts-container {
        row-gap: 18px;
    }

    .facts-container .item {
        width: 50%!important;
        padding-right: 8px;
		padding-bottom:10px;
    }

    .facts-container .item .left {
        font-size: 1.2rem;
        width: 26px;
        min-width: 26px;
        margin-right: 8px;
    }

    .facts-container .item .right span {
        font-size: 0.7rem;
    }

    .facts-container .item .right p {
        font-size: 0.9rem;
    }
}
/* Description / Highlights / Gallery section headings */
.description h2,
.highlights h2,
.gallery h2,
.downloads h2,
.map h2,
.trip-date-section h2,
.include-content h2,
.exclude-content h2,
.Packing-List h2,
.accordion-controls h2,
.video-wrapper h2,
.detailed-itinery h2,
.upcoming-trips h2,
.faq-section-container h2
{
font-weight: 700!important;
letter-spacing: 0.5px;
font-size: 1.5rem;
text-transform: uppercase;
line-height: 1.25;
margin: 2rem 0 1rem;
}
.highlights ul{
	padding-left:20px;
}
.highlights ul li{
	list-style-type: square;	
margin-bottom:10px;
}

.highlights ul li::marker{
	color:#1aa1c8;
	font-size:1.5em;
}
.trip-content p {
    margin-bottom: 20px;
}

/* Hide paragraphs after the second */
.trip-content.collapsed p:nth-of-type(n+3) {
    display: none;
}

.show-more-btn {
    background: #fff;
    color: #1aa1c8 ;
    border: 2px solid #1aa1c8;
    border-radius: 50px;
    padding: 12px 35px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: .3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.show-more-btn:hover {
    background: #1aa1c8;
    color: #fff;
}

.show-more-btn i {
    transition: .3s;
}

.show-more-btn.active i {
    transform: rotate(180deg);
}
/* Polished sticky sidebar */
/* =========================
   SIDEBAR WRAPPER
========================= */
.sidebar.sticky{
   position: sticky;
   right: 0;
   top: 15%;
   background: #fff;
   border: 1px solid #e6edf1;
   border-radius: 16px;
   overflow: hidden;
   box-shadow: 0 10px 35px rgba(11,34,64,0.09);
   height:fit-content;
   margin:0rem 2rem;
transition: var(--transition);
}

/* =========================
   RIBBON
========================= */
.ribbon{
    background: linear-gradient(120deg, #00a4b4 0%, #027f8c 100%);
    color: #fff;
    padding:12px 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    z-index: 10;
    position: relative;
}

.ribbon .private,
.ribbon .best,
.ribbon .group,
.ribbon .guaranteed{
    display:flex;
    align-items:center;
	justify-content:center;
    gap:8px;
}

.ribbon i{
    background: rgba(255,255,255,0.2);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

/* =========================
   TRIP INFO
========================= */
.days-info{
    font-size: 13px;
    color: #94a3b8;
    margin:22px 16px 0;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

.days-info .from{
    margin: 0 5px;
    color: #b0bcc7;
    text-transform: lowercase;
}

.days-info s{
    color: #ff7a1a;
    opacity: .75;
}

.pp{
    font-size: 30px;
    margin-bottom:16px;
	text-align:center;
    font-weight: 900;
    color: var(--dark-blue);
    letter-spacing: -0.5px;
}

.pp b{
    font-weight: 800;
    font-size: 20px;
    color: #00a4b4;
    vertical-align: 2px;
}

.pp sup{
    color: #94a3b8;
    font-weight: 600 !important;
}

/* =========================
   COLLAPSIBLE BUTTON
========================= */
.collapsible-btn{
    width: calc(100% - 32px);
    margin: 0 16px 16px;
    padding: 12px 15px;
    border: 1px dashed #00a4b4;
    cursor: pointer!important;
    background: rgba(0,164,180,0.06);
    color: #027f8c;
    font-weight: 700;
    font-size: 13.5px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: var(--transition);
	gap:8px;
}

.collapsible-btn:hover{
    background: #00a4b4;
	color:#fff;
	border-color: #00a4b4;
}

.collapsible-btn.active i{
    transform: rotate(135deg);
}

.collapsible-btn i{
    transition: var(--transition);
}

/* =========================
   GROUP DISCOUNTS
========================= */
.group-discounts{
    display: none;
    background: #f7fafc;
    margin: 0 16px 16px;
    border-radius: 10px;
    padding: 4px 0;
    border: 1px solid #edf2f7;
}

.group-discounts .items{
    display: flex;
    justify-content: space-between;
    padding: 10px 16px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--dark-blue);
    position: relative;
}

.group-discounts .items:not(:last-child){
    border-bottom: 1px dashed #dce4ea;
}

.group-discounts .items .right{
    color: #00a4b4;
    font-weight: 800;
}

.group-discounts .line {
    display: none;
}

/* =========================
   FEATURES
========================= */
.feature{
	padding:18px 20px 4px;
    border-top: 1px solid #f0f2f5;
}

.feature ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.feature ul li{
    font-size: 13.5px;
    color: var(--dark-blue);
    font-weight: 600;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.feature ul li::before{
    content: "\f00c";
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 10px;
    color: #fff;
    background: #00a4b4;
    width: 18px;
    height: 18px;
    min-width: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =========================
   CTA BUTTONS
========================= */
.cta{
    padding: 6px 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cta .btn,
.cta .open-popup, 
.cta .available{
    width: 100%;
    padding: 13px;
    border-radius: 10px;
    font-weight: 700;
    text-align: center;
    border: none;
    cursor: pointer;
    transition: var(--transition);
}

.cta .btn:hover,
.cta .open-popup:hover,
.cta .available:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}

/* Enquire */
.cta .open-popup{
    background: #fff;
	border:1.5px solid #00a4b4;
}
.cta .open-popup a{
	text-decoration:none;
	 color: #00a4b4;
     font-weight: 700;
}

/* Book Now */
.cta .btn{
    background: linear-gradient(120deg, #00a4b4 0%, #027f8c 100%);
    box-shadow: 0 6px 16px rgba(0,164,180,0.28);
}
.cta .btn a{
   text-decoration:none;
    color: white;
}
.cta .available{
	background: linear-gradient(120deg, #ff7a1a 0%, #e2660c 100%);
    box-shadow: 0 6px 16px rgba(255,122,26,0.25);
}
.cta .available a{
	 text-decoration:none;
	color:white;
}
/* =========================
   RESPONSIVE
========================= */
@media (max-width: 768px){

    .sidebar.sticky{
        position: relative;
        top: auto;
        margin-top: 20px;
    }

    .days-info{
        font-size: 12px;
    }

    .pp{
        font-size: 26px;
    }

    .sidebar h6{
        font-size: 20px;
    }

    .collapsible-btn{
        font-size: 13px;
    }

    .group-discounts .row.items{
        font-size: 13px;
    }
}

/* Detailed Itinerary & FAQ Accordion Styling */
.detailed-itinery .accordion,
.faq .accordion {
margin-bottom: 15px;
}
.detailed-itinery .accordion-item,
.faq .accordion-item {
border: none!important;
margin-bottom: 12px;
overflow: hidden;
}
.detailed-itinery .accordion-item-header,
.faq .accordion-item-header {
background: #ffffff;
padding: 16px 20px;
font-weight: 800;
font-size: 1rem;
color: var(--dark-blue);
cursor: pointer;
display: flex;
align-items: center;
transition: var(--transition);
border-bottom: 1.5px solid #e2e8f0 !important;
}
.detailed-itinery .accordion-item-header::after,
.faq .accordion-item-header::after {
content: '\f067';
font-family: 'Font Awesome 6 Free';
font-weight: 900;
font-size: 1.1rem;
color: #4a5568;
background: transparent;
width: auto;
height: auto;
min-width: 0;
border-radius: 0;
margin-left: 16px;
transition: var(--transition);
}
.detailed-itinery .accordion-item-header.active,
.faq .accordion-item-header.active {
background: #f8fafc;
color: #00a4b4;
}
.detailed-itinery .accordion-item-header.active::after,
.faq .accordion-item-header.active::after {
content: '\f068';
color: #00a4b4;
background: transparent;
}
.detailed-itinery .accordion-item-body,
.faq .accordion-item-body {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
background: #ffffff;
}
.detailed-itinery .accordion-item-body-content,
.faq .accordion-item-body-content {
padding: 20px;
border-top: 1.5px solid #edf2f7;
}
.itinerary-note{
margin-top:20px;
padding: 1.5rem;
background: #f7fafc;	
}

/* =========================
   ITINERARY HEADING + EXPAND ALL
========================= */
.detailed-itinery-heading{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.detailed-itinery-heading h2{
    margin: 0 0 1rem;
}
.itinerary-expand-all{
    margin-bottom: 1rem;
}

/* =========================
   ITINERARY TIMELINE (Day-to-day design)
========================= */
.itinerary-timeline{
    position: relative;
    padding-left: 46px;
}
.itinerary-timeline::before{
    content: '';
    position: absolute;
    left: 15px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: repeating-linear-gradient(
        to bottom,
        #cfe9ec 0,
        #cfe9ec 6px,
        transparent 6px,
        transparent 12px
    );
}
.itinerary-timeline .timeline-item{
    position: relative;
}
.timeline-marker{
    position: absolute;
    left: -46px;
    top: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #eef1f4;
    border: none;
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    z-index: 2;
    transition: var(--transition);
}
.timeline-marker::before{
    content: '\f3c5';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}
.timeline-item:has(.accordion-item-header.active) .timeline-marker,
.timeline-item:hover .timeline-marker{
    background: #00a4b4;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(0,164,180,0.15);
}
.accordion-item-header .day-label{
    color: #00a4b4;
    margin-right: 6px;
    font-weight: 800;
}
.accordion-item-header .day-heading-text{
    color: var(--dark-blue);
    font-weight: 700;
}

@media(max-width:576px){
    .itinerary-timeline{
        padding-left: 34px;
    }
    .itinerary-timeline::before{
        left: 11px;
    }
    .timeline-marker{
        left: -34px;
        width: 26px;
        height: 26px;
        font-size: 11px;
    }
}

/* =========================
   ITINERARY META ROW (Lodge / Meals / Distance etc.)
   Single inline row, like the reference design
========================= */
.itinery-desc{
padding: 1.25rem 1.5rem;
background: rgba(0,164,180,0.06);
border: 1px solid rgba(0,164,180,0.15);
border-radius: 10px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px 40px;
}
.itinery-desc .item {
display: flex;
align-items: center;
text-align: left;
gap:10px;
margin-bottom:0;
}
.itinery-desc .item i {
font-size: 15px;
color: #00a4b4;
width: 18px;
text-align: center;
}
.itinery-desc .item p {
margin: 0;
font-size: 14px;
color: var(--dark-blue);
font-weight: 700;
white-space: nowrap;
}
.itinery-desc .item p.info {
font-weight: 400;
color: #4a5568;
white-space: normal;
}
@media(max-width:576px){
.itinery-desc{
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 1rem;
}
}
.itinerary-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin:30px 0;
}

.itinerary-gallery a{
    display:block;
    overflow:hidden;
    border-radius:12px;
}

.itinerary-gallery img{
    width:100%;
    height:250px;
    object-fit:cover;
    display:block;
    transition:.35s;
}

.itinerary-gallery img:hover{
    transform:scale(1.08);
}

@media(max-width:991px){
.itinerary-gallery{
    grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:768px){
.itinerary-gallery{
    grid-template-columns:1fr;
}
.itinerary-gallery img{
    height:200px;
}

}
/* Inclusions & Exclusions Styles */
.incl-excl-section {
    margin-top: 30px;
}

.include-content ul {
    list-style: none;
    padding-left: 0;
}

.include-content ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}
.include-content ul li::before{
    content: "\f058"; 
    font-family: "Font Awesome 6 Free";
    font-weight: 900; 
    position: absolute;
    left: 0;
    color: #00a4b4;
    font-size: 16px;
}
.exclude-content{
	margin-top:2rem;
}
.exclude-content ul {
    list-style: none;
    padding-left: 0;
}

.exclude-content ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}
.exclude-content ul li::before{
    content: "\f057"; 
    font-family: "Font Awesome 6 Free";
    font-weight: 900; 
    position: absolute;
    left: 0;
    color: #00a4b4;
    font-size: 16px;
}

/* Map Image Styling */
.mapdownload {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.map img {
border-radius: 8px;
box-shadow: 0 8px 20px rgba(0,0,0,0.06);
width: 100%;
}
.mapdownload a {
background: #f8fafc;
border: 1.5px solid #00a4b4;
border-radius: 30px;
padding: 10px 24px;
transition: var(--transition);
margin-right: 15px;
margin-bottom: 15px;
text-decoration: none;
color:#00a4b4;
}

/* Packing list */
.packing-wrapper{
 display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
    margin:40px 0;

}

.packing-card{
    background:#fff;
    border-radius:12px;
    padding:28px;
    transition:.3s;
	box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.packing-card:hover{
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.packing-header{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
}

.packing-header i{
    font-size:25px;
    color:#1aa1c8;
    width:30px;
    text-align:center;
}

.packing-header h3{
    margin:0;
    font-size:1.5rem;
    color:#1aa1c8;
    font-weight:700;
}

.packing-items{
    list-style:none;
    margin:0;
    padding:0;
}

.packing-items li{
    position:relative;
    padding-left:28px;
    margin-bottom:14px;
    line-height:1.6;
    font-size:17px;
    color:#444;

}

.packing-items li:last-child{
    margin-bottom:0;
}

.packing-items li:before{
   content: "✿";
    position:absolute;
    left:0;
    top:0;
    color:#2d9fd4;
    font-size:18px;
    font-weight:bold;

}

@media(max-width:768px){
.packing-wrapper{
    grid-template-columns:1fr;
}
}

/* useful information */
/* Accordion - ONLY for other_field */
.accordion-controls {
    display: flex;
    box-shadow: none !important;
    justify-content: space-between;
}
.toggle-all-btn{
	background:transparent;
	border:none;
	padding:10px;
	color:#1aa1c8;
}
#useful-info .other_field .accordion-item {
    border: 1px solid #dee2e6;
    border-radius: 6px!important;
    margin-bottom: 20px!important;
	margin-top:0px!important;
    overflow: hidden;
	align-items:center;
	width:100%;
	padding:0!important;
}

/* Header */
.other_field .accordion-header {
    background: white;
    color: #fff;
    display: flex;
    align-items: center;
    cursor: pointer;
	padding:1rem;
}
.other_field.other-active .accordion-header {
	background:whitesmoke;
}

.other_field.other-active .accordion-header::after{
    border-right: solid black;
	 border-bottom: solid black;
}
.other_field .accordion-header::after{
content: "";
    border: solid #333;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 5px;
    transform: translateY(-50%) rotate(45deg) !important;
    transition: transform 0.3s ease;
}
.other_field .accordion-header h3 {
    margin: 0;
   	font-size:1.25rem!important;
    color: black!important;
	width:95%;
	font-weight:600;
}
.other_field .accordion-header h3 i {
    color: #1aa1c8;
	padding-right:10px;
}
.other_field.accordion-item {
    border: 1px solid #dee2e6;
    margin-top: 0px !important;
    overflow: hidden;
    align-items: center;
    width: 100%;
    padding: 0 !important;
	 margin-bottom: 12px;
    border-radius: 6px !important;
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);
}
/* Content */
.other_field .accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    background: #fff;
    padding: 0 20px;
}

.other_field.active .accordion-content {
    padding: 0 20px;
    max-height: 5000px; /* enough for long content */
}

.other_field.active .accordion-arrow {
    transform: rotate(180deg);
}
.
.other_field.open .accordion-content {
    display: block;
}

.video-wrapper{
	margin:2rem 0rem;
}
.video-wrapper iframe{
	height:450px;
	width:100%;
}

.faq-section-container {
    margin: 40px auto;
    padding: 0 20px;
}

.faq-wrapper {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}

/* =========================
   FAQ SIDEBAR — polished card style
========================= */
.faq-sidebar {
    position: sticky;
    top: 100px; /* Adjust based on your header height */
    background: #ffffff;
    border: 1px solid #00a4b4;
    border-radius: var(--radius);
    box-shadow: 0 6px 20px rgba(0,0,0,0.05);
    padding: 14px;
    overflow: hidden;
}

.faq-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.faq-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text-dark);
    transition: var(--transition);
    border-left: 3px solid transparent;
    border-radius: 10px;
    position: relative;
}

.faq-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    text-align: center;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0,164,180,0.08);
    color: #00a4b4;
    transition: var(--transition);
}

.faq-nav-item:hover {
    background-color: var(--bg-light);
    color: #00a4b4;
    transform: translateX(4px);
}

.faq-nav-item:hover .faq-icon {
    background: rgba(0,164,180,0.15);
}

.faq-nav-item.active {
    background: linear-gradient(90deg, rgba(0,164,180,0.1), rgba(0,164,180,0.02));
    color: #00a4b4;
    border-left-color: #00a4b4;
    box-shadow: 0 2px 10px rgba(0,164,180,0.08);
}

.faq-nav-item.active .faq-icon {
    background: #00a4b4;
    color: #fff;
}

/* Main Accordions Content Area Styling */
.faq-category-block {
    margin-bottom: 50px;
}

.faq-block-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.faq-block-header h3 {
    color: #00a4b4;
    margin: 0;
    font-size: 25px;
	font-weight:800;
	display:flex;
	align-items:center;
	gap:10px;
}

.expand-all-btn {
    background: none;
    border: none;
    color: var(--text-dark);
    text-decoration: none;
    cursor: pointer;
    font-weight: 500;
}

/* Accordion Accordion Items */
.faq-accordion-item {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    margin-bottom: 12px;
    overflow: hidden;
}

.faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: none;
    border: none;
    padding: 18px 20px;
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-dark);
    cursor: pointer;
    transition: background 0.2s ease;
}

.faq-question:hover {
    background-color: #fafafa;
}

.arrow-icon {
    transition: transform 0.3s ease;
}

.faq-accordion-item.open .arrow-icon {
    transform: rotate(180deg);
}

/* Smooth Accordion Height Animation */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}

.faq-accordion-item.open .faq-answer {
    max-height: 1000px; /* Big enough value to hold the content */
    transition: max-height 0.3s cubic-bezier(1, 0, 1, 0);
}

.faq-answer-inner {
    padding: 0 20px 20px 20px;
    color: #555;
    line-height: 1.6;
}

/* --- Mobile Responsiveness --- */
@media (max-width: 768px) {
    .faq-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .faq-sidebar {
        position: relative;
        top: 0;
        overflow-x: auto;
        white-space: nowrap;
        padding: 10px;
    }

    .faq-nav-list {
        display: flex;
        gap: 10px;
    }

    .faq-nav-item {
        padding: 8px 14px;
        border-left: none;
        border-bottom: 3px solid transparent;
        border-radius: 30px;
        background: var(--bg-light);
        white-space: nowrap;
    }

    .faq-icon {
        width: 26px;
        height: 26px;
        min-width: 26px;
        font-size: 0.85rem;
    }

    .faq-nav-item:hover {
        transform: none;
    }

    .faq-nav-item.active {
        border-left-color: transparent;
        border-bottom-color: transparent;
        background: #00a4b4;
        color: #fff;
    }

    .faq-nav-item.active .faq-icon {
        background: rgba(255,255,255,0.2);
        color: #fff;
    }
}

/* Upcoming Trips Grid */
.upcoming-trips {
background: #ffffff;
border: 1.5px solid #e2e8f0;
border-radius: 8px;
padding: 24px;
margin-bottom: 30px;
}
.upcoming-trips select {
background: #f8fafc;
border: 1.5px solid #cbd5e1;
border-radius: 4px;
padding: 8px 16px;
font-weight: 700;
color: var(--dark-blue);
margin-bottom: 20px;
outline: none;
font-size: 0.88rem;
}
.upcoming-trips .header-row {
background: #f1f5f9;
padding: 12px 20px;
border-radius: 4px;
font-weight: 700;
font-size: 0.72rem;
color: #475569;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 15px;
}
.upcoming-trips .row-items {
border: 1.5px solid #e2e8f0;
border-radius: 6px;
padding: 15px 20px;
margin-bottom: 12px;
transition: var(--transition);
background: #ffffff;
}
.upcoming-trips .row-items {
box-shadow: 0 6px 15px rgba(0,0,0,0.05);
border-color: #cbd5e1;
}
.upcoming-trips .pricing-sec s {
color: #94a3b8;
font-size: 0.82rem;
}
.upcoming-trips .pricing-sec p {
margin: 0;
font-size: 1.15rem;
font-weight: 800;
color: #188c3b;
}
.upcoming-trips .pricing-sec p span {
font-size: 0.68rem;
background: rgba(24, 140, 59, 0.1);
color: #188c3b;
padding: 2px 6px;
border-radius: 4px;
font-weight: 800;
margin-left: 5px;
}
.upcoming-trips .days-sec b {
font-size: 0.95rem;
color: var(--dark-blue);
}
.upcoming-trips .days-sec span {
font-size: 0.82rem;
color: #64748b;
}
.upcoming-trips .status div {
font-size: 0.72rem;
font-weight: 800;
text-transform: uppercase;
color: #188c3b;
background: rgba(24, 140, 59, 0.08);
padding: 4px 10px;
border-radius: 30px;
display: inline-block;
}
.upcoming-trips .enquire-btn {
background: #00a4b4;
border: none;
border-radius: 30px;
padding: 8px 18px;
transition: var(--transition);
}
.upcoming-trips .enquire-btn a {
color: #ffffff !important;
text-decoration: none;
font-weight: 700;
font-size: 0.82rem;
}
.upcoming-trips .enquire-btn {
background: #0b2240;
}

/* Quick Enquiry Popup Form */
.popup-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(11, 34, 64, 0.7);
backdrop-filter: blur(4px);
z-index: 10000;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
pointer-events: none;
transition: var(--transition);
}
.popup-container.active {
opacity: 1;
pointer-events: auto;
}
.popup-content {
background: #ffffff;
border-radius: 8px;
padding: 30px;
width: 90%;
max-width: 500px;
position: relative;
box-shadow: 0 15px 40px rgba(0,0,0,0.2);
transform: scale(0.92);
transition: var(--transition);
}
.popup-container.active .popup-content {
transform: scale(1);
}
.popup-content #close {
position: absolute;
top: 15px;
right: 15px;
font-size: 1.25rem;
color: #a0aec0;
cursor: pointer;
transition: all 0.2s ease;
}
.popup-content #close {
color: #ff3a3a;
}

/* Single-trip page mobile layout extras */
@media (max-width: 767.98px) {
.upcoming-trips .header-row {
display: none;
}
.upcoming-trips .col-7,
.upcoming-trips .col-5 {
width: 100% !important;
margin-bottom: 10px;
}
.upcoming-trips .bottom-buttons {
text-align: left;
}
}

/* ===================================================
UTILITY ADDITIONS
=================================================== */

/* Fade-in helper used with IntersectionObserver */
.opacity-0 {
opacity: 1!important;
transform: translateY(20px);
transition: opacity 0.55s ease, transform 0.55s ease;
}
.opacity-0.animate-up-1 {
opacity: 1;
transform: translateY(0);
}

/* Mobile hamburger open state */
#menu-single.open div {
background-color: var(--primary);
}
#menu-single.open div(1) {
transform: rotate(45deg) translate(4px, 4px);
}
#menu-single.open div(2) {
opacity: 0;
}
#menu-single.open div(3) {
transform: rotate(-45deg) translate(4px, -4px);
}

/* Mobile sticky nav UL toggle */
@media (max-width: 767.98px) {
.horizontal-nav-menu ul {
display: none;
flex-direction: column;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: #ffffff;
box-shadow: 0 10px 30px rgba(0,0,0,0.08);
z-index: 200;
padding: 10px 0;
}
.horizontal-nav-menu ul li a {
padding: 12px 20px;
border-bottom: none;
font-size: 0.82rem;
}
.horizontal-nav-menu nav {
flex-wrap: wrap;
}
.menu-hamberger {
display: flex;
flex-direction: column;
justify-content: space-between;
width: 22px;
height: 15px;
padding: 10px 15px;
box-sizing: content-box;
cursor: pointer;
}
.menu-hamberger div {
width: 100%;
height: 2px;
background: var(--dark-blue);
border-radius: 2px;
transition: var(--transition);
}
}

/* ===================================================
FOOTER STYLES
=================================================== */

/* Footer column heading */
.footer-col-title {
font-size: 0.78rem !important;
letter-spacing: 1.2px;
margin-bottom: 18px !important;
position: relative;
padding-bottom: 10px;
}
.footer-col-title::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 28px;
height: 2px;
background: var(--primary);
border-radius: 2px;
}

/* Footer links */
.footer-menu li a {
transition: var(--transition);
padding: 1px 0;
}

/* Newsletter input placeholder */
.footer-input::placeholder {
color: rgba(255,255,255,0.45) !important;
}

/* Social icon buttons hover */
.hover-primary-bg {
background-color: var(--primary) !important;
border-color: var(--primary) !important;
}

/* Payment icon hover */
.payment-icons i {
transition: var(--transition);
cursor: default;
}
.payment-icons i {
color: var(--primary) !important;
transform: translateY(-3px);
}

/* Association badges */
.association-icons img {
height: 30px !important;
width: auto !important;
object-fit: contain;
 transition: opacity 0.25s ease;
}

/* Pulsing phone button */
@keyframes pulse-ring {
0% { box-shadow: 0 0 0 0 rgba(255,94,20,0.55); }
70% { box-shadow: 0 0 0 12px rgba(255,94,20,0); }
100% { box-shadow: 0 0 0 0 rgba(255,94,20,0); }
}
.animate-pulse-btn {
animation: pulse-ring 2s ease-out infinite;
}

/* Footer responsive tweaks */
@media (max-width: 991.98px) {
.footer-col-title {
margin-top: 8px !important;
}
}
@media (max-width: 575.98px) {
.newsletter-form {
flex-direction: column;
}
.newsletter-form .btn-newsletter-submit {
width: 100% !important;
border-radius: 30px !important;
}
}

/* ===================================================
CAROUSEL VISIBILITY SAFETY
Never let Owl Carousel items (or their clones) be
hidden by the IntersectionObserver opacity helpers.
=================================================== */
.popular-packages-carousel,
.popular-packages-carousel .owl-item,
.popular-packages-carousel .owl-item .trip-card {
opacity: 1 !important;
transform: none !important;
background;
}

/* ===================================================
   BOOK NOW PAGE
=================================================== */
.booking-steps .step-item{
    padding: 10px;
}
.booking-steps .step-number{
    width: 46px;
    height: 46px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: linear-gradient(120deg, #00a4b4 0%, #027f8c 100%);
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(0,164,180,0.3);
}
.booking-trust-card{
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    box-shadow: 0 10px 30px rgba(11,34,64,0.06);
    padding: 30px 26px;
    position: sticky;
    top: 100px;
}
.booking-trust-list{
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
}
.booking-trust-list li{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 14px;
}
.booking-trust-list li i{
    color: #00a4b4;
    font-size: 16px;
}
.booking-trust-divider{
    height: 1px;
    background: var(--border-color);
    margin: 20px 0;
}
@media(max-width:991px){
    .booking-trust-card{
        position: relative;
        top: auto;
    }
}

/* ===================================================
   OUR TEAM PAGE
=================================================== */
.team-hero-stats{
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    justify-content: center;
    margin-top: 24px;
}
.team-hero-stats .stat{
    text-align: center;
}
.team-hero-stats .stat strong{
    display: block;
    font-size: 26px;
    font-weight: 800;
    color: #ffb300;
}
.team-hero-stats .stat span{
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(255,255,255,0.7);
}
.team-filter-tabs{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 40px;
}
.team-filter-tabs button{
    border: 1.5px solid var(--border-color);
    background: #fff;
    color: var(--text-dark);
    font-weight: 700;
    font-size: 13.5px;
    padding: 9px 20px;
    border-radius: 30px;
    cursor: pointer;
    transition: var(--transition);
}
.team-filter-tabs button:hover,
.team-filter-tabs button.active{
    background: #00a4b4;
    border-color: #00a4b4;
    color: #fff;
}
.team-card{
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    overflow: hidden;
    background: #fff;
    transition: var(--transition);
    height: 100%;
}
.team-card:hover{
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(11,34,64,0.1);
}
.team-card .team-img-wrap{
    position: relative;
    overflow: hidden;
    height: 280px;
}
.team-card .team-img-wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.team-card:hover .team-img-wrap img{
    transform: scale(1.08);
}
.team-card .team-socials{
    position: absolute;
    left: 0;
    right: 0;
    bottom: -50px;
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 14px 0;
    background: linear-gradient(to top, rgba(0,0,0,0.55), transparent);
    transition: var(--transition);
}
.team-card:hover .team-socials{
    bottom: 0;
}
.team-card .team-socials a{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.95);
    color: #0b2240;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: var(--transition);
}
.team-card .team-socials a:hover{
    background: #00a4b4;
    color: #fff;
}
.team-card .team-body{
    padding: 22px;
    text-align: center;
}
.team-card .team-role{
    display: inline-block;
    background: rgba(0,164,180,0.1);
    color: #00a4b4;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 4px 12px;
    border-radius: 30px;
    margin-bottom: 10px;
}
@media(max-width:576px){
    .team-card .team-img-wrap{
        height: 240px;
    }
}

/* ===================================================
   GALLERY PAGE
=================================================== */
.gallery-filter-tabs{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 36px;
}
.gallery-filter-tabs button{
    border: 1.5px solid var(--border-color);
    background: #fff;
    color: var(--text-dark);
    font-weight: 700;
    font-size: 13.5px;
    padding: 9px 20px;
    border-radius: 30px;
    cursor: pointer;
    transition: var(--transition);
}
.gallery-filter-tabs button:hover,
.gallery-filter-tabs button.active{
    background: #00a4b4;
    border-color: #00a4b4;
    color: #fff;
}
.gallery-grid{
    columns: 4 220px;
    column-gap: 16px;
}
.gallery-grid .gallery-item{
    display: block;
    break-inside: avoid;
    margin-bottom: 16px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}
.gallery-grid .gallery-item img{
    width: 100%;
    display: block;
    transition: transform .5s ease;
}
.gallery-grid .gallery-item:hover img{
    transform: scale(1.08);
}
.gallery-grid .gallery-item .gallery-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(11,34,64,0.75), transparent 60%);
    opacity: 0;
    transition: var(--transition);
    display: flex;
    align-items: flex-end;
    padding: 14px;
}
.gallery-grid .gallery-item:hover .gallery-overlay{
    opacity: 1;
}
.gallery-grid .gallery-item .gallery-caption{
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}
.gallery-grid .gallery-item .gallery-zoom-icon{
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    color: #0b2240;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    opacity: 0;
    transition: var(--transition);
}
.gallery-grid .gallery-item:hover .gallery-zoom-icon{
    opacity: 1;
}
@media(max-width:991px){
    .gallery-grid{
        columns: 3 200px;
    }
}
@media(max-width:576px){
    .gallery-grid{
        columns: 2 140px;
        column-gap: 10px;
    }
    .gallery-grid .gallery-item{
        margin-bottom: 10px;
        border-radius: 8px;
    }
}

/* ===================================================
   SHARED INNER PAGE BANNER — responsive sizing
=================================================== */
@media(max-width:768px){
    .page-banner .display-4{
        font-size: 2.1rem;
    }
    .page-banner .lead{
        font-size: 1rem;
    }
}
@media(max-width:480px){
    .page-banner .display-4{
        font-size: 1.7rem;
    }
    .team-hero-stats{
        gap: 18px;
    }
    .team-hero-stats .stat strong{
        font-size: 20px;
    }
}

/* ===================================================
   BLOG SINGLE — Table of Contents
=================================================== */
.post-toc{
    background: #f7fafc;
    border: 1px solid var(--border-color);
    border-left: 4px solid #00a4b4;
    border-radius: 10px;
    margin-bottom: 32px;
    overflow: hidden;
}
.post-toc-toggle{
    width: 100%;
    background: transparent;
    border: none;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 800;
    font-size: 15px;
    color: var(--dark-blue);
    cursor: pointer;
}
.post-toc-chevron{
    color: #00a4b4;
    font-size: 13px;
    transition: transform .25s ease;
}
.post-toc.collapsed .post-toc-chevron{
    transform: rotate(180deg);
}
.post-toc-body{
    max-height: 600px;
    overflow-y: auto;
    padding: 0 18px 16px;
    transition: max-height .3s ease, padding .3s ease;
}
.post-toc.collapsed .post-toc-body{
    max-height: 0;
    padding: 0 18px;
}
.post-toc-list{
    list-style: none;
    margin: 0;
    padding: 0;
}
.post-toc-list li{
    border-top: 1px dashed #dfe7ec;
}
.post-toc-list li:first-child{
    border-top: none;
}
.post-toc-list a{
    display: block;
    padding: 9px 0;
    font-size: 14px;
    font-weight: 600;
    color: #4a5568;
    text-decoration: none;
    transition: var(--transition);
}
.post-toc-list a:hover{
    color: #00a4b4;
    padding-left: 6px;
}
.post-toc-list .post-toc-level-3 a{
    padding-left: 18px;
    font-weight: 500;
    font-size: 13.5px;
    color: #718096;
}
@media(max-width:576px){
    .post-toc-toggle{
        font-size: 14px;
        padding: 12px 14px;
    }
    .post-toc-body{
        padding: 0 14px 14px;
    }
    .post-toc.collapsed .post-toc-body{
        padding: 0 14px;
    }
}

/* ===================================================
   BLOG SINGLE — general responsive polish
=================================================== */
.blog-typography h2{
    font-size: 1.6rem;
    scroll-margin-top: 100px;
}
.blog-typography h3{
    font-size: 1.3rem;
    scroll-margin-top: 100px;
}
.blog-typography img{
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
@media(max-width:768px){
    .blog-banner .display-4{
        font-size: 1.9rem;
    }
    .blog-typography h2{
        font-size: 1.35rem;
    }
    .blog-typography h3{
        font-size: 1.15rem;
    }
    .author-bio-box{
        flex-direction: column;
        text-align: center;
    }
    .author-bio-box .author-avatar{
        margin: 0 auto;
    }
}
.mobile-sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.12);
    padding: 10px 15px;
    display: flex!important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.mobile-sticky-cta.show {
    transform: translateY(0);
}

@media (min-width: 768px) {
    .mobile-sticky-cta { display: none !important; }
}

.mobile-sticky-cta .whatsapp-btn {
    background: #25D366;
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
	text-decoration:none;
}

.mobile-sticky-cta .price-block {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.mobile-sticky-cta .price-block .price {
    font-weight: 700;
    font-size: 15px;
    color: #222;
}

.mobile-sticky-cta .price-block .per-person {
    font-size: 11px;
    color: #777;
}

.mobile-sticky-cta .cta-buttons {
    display: flex;
    gap: 8px;
}

.mobile-sticky-cta .btn-book,
.mobile-sticky-cta .btn-inquire {
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    display: inline-block;
    text-decoration: none;
}

.mobile-sticky-cta .btn-book {
    background: #0d6efd; /* swap for your brand color */
    color: #fff;
}

.mobile-sticky-cta .btn-inquire {
    border: 1px solid #0d6efd;
    color: #0d6efd;
    background: #fff;
}

