/* ============================================================
   Roslindale — @font-face CSS
   font-family: "Roslindale" matches exactly what Figma uses.

   Figma "font-style" → CSS font-weight mapping:
   Extra Light   → 200
   Light         → 300
   Regular       → 400
   Medium        → 500
   Semi Bold     → 600
   Bold          → 700
   Black         → 900
   Ultra         → 950

   Figma shows style names like "Display Narrow Regular" as labels.
   In CSS, you pick the right file via font-family + font-weight + font-style.
   Use font-variation-settings for sub-styles (Narrow, Condensed, etc.)
   OR use the dedicated family names below.
   ============================================================ */


/* ── DISPLAY NARROW ───────────────────────────────────────── */

@font-face {
  font-family: "Roslindale Display Narrow";
  src: url("/wp-content/themes/customtheme/fonts/Roslindale-DisplayNarrowExtraLight-Testing.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roslindale Display Narrow";
  src: url("/wp-content/themes/customtheme/fonts/Roslindale-DisplayNarrowLight-Testing.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roslindale Display Narrow";
  src: url("/wp-content/themes/customtheme/fonts/Roslindale-DisplayNarrowRegular-Testing.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roslindale Display Narrow";
  src: url("/wp-content/themes/customtheme/fonts/Roslindale-DisplayNarrowMedium-Testing.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roslindale Display Narrow";
  src: url("/wp-content/themes/customtheme/fonts/Roslindale-DisplayNarrowSemiBold-Testing.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roslindale Display Narrow";
  src: url("/wp-content/themes/customtheme/fonts/Roslindale-DisplayNarrowBold-Testing.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roslindale Display Narrow";
  src: url("/wp-content/themes/customtheme/fonts/Roslindale-DisplayNarrowBlack-Testing.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roslindale Display Narrow";
  src: url("/wp-content/themes/customtheme/fonts/Roslindale-DisplayNarrowUltra-Testing.ttf") format("truetype");
  font-weight: 950;
  font-style: normal;
  font-display: swap;
}


/* ============================================================
   HOW TO MATCH FIGMA STYLES → CSS

   Figma shows:
     font-family: Roslindale
     font-weight: 400
     font-style: Display Narrow Regular

   The "font-style" in Figma is NOT a CSS property.
   It is just a label showing which sub-family + weight.
   Translate it like this:

   "Display Narrow Regular"  → font-family: "Roslindale Display Narrow"; font-weight: 400;
   "Display Narrow Bold"     → font-family: "Roslindale Display Narrow"; font-weight: 700;
   "Display Narrow SemiBold" → font-family: "Roslindale Display Narrow"; font-weight: 600;
   "Display Regular"         → font-family: "Roslindale Display";        font-weight: 400;
   "Display Bold"            → font-family: "Roslindale Display";        font-weight: 700;
   "Display Condensed Regular" → font-family: "Roslindale Display Condensed"; font-weight: 400;
   "Text Regular"            → font-family: "Roslindale Text";           font-weight: 400;
   "Deck Narrow Regular"     → font-family: "Roslindale Deck Narrow";    font-weight: 400;

   YOUR FIGMA EXAMPLE:
     font-style: Display Narrow Regular → Use this CSS:

   .your-element {
     font-family: "Roslindale Display Narrow", Georgia, serif;
     font-weight: 400;
     font-style: normal;
     font-size: 22px;
     line-height: 130%;
     letter-spacing: 0px;
   }
   ============================================================ */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    font-size:16px;
    font-weight:400;
    letter-spacing:-0.5px;
    color:#222;
}

.container{
    width:100%;
    max-width:1320px;
    margin:auto;
    padding:0 20px;
}

a{
    text-decoration:none;
}

/* ==========================
   TOP BAR
========================== */

.top-bar{
    background:#163460;
    color:#fff;
    padding:14px 0;
}

.top-bar .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.top-left{
    display:flex;
    gap:30px;
    flex-wrap:wrap;
}

.top-left a,
.top-left span{
    color:#fff;
    font-size:14px;
        display: flex;
    align-items: center;
    gap: 8px;
}

.top-right{
    display:flex;
    gap:12px;
}

.top-right a{
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
}

/* ==========================
   HEADER
========================== */

.main-header{
    background:#fff;
    padding:10px 0;
}

.main-header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.logo img{
    max-width:170px;
}

nav ul{
    display:flex;
    gap:30px;
    list-style:none;
}

nav ul li a{
    color:#1b1b1b;
    font-size:16px;
    transition:.3s;
}

nav ul li.active a{
    border-bottom:2px solid #163460;
    padding-bottom:8px;
}

.header-btn{
    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );
    color:#111;
    padding:5px 20px;
    border-radius:12px;
    display:flex;
    align-items:center;
    gap:20px;
    font-weight:600;
}

.header-btn span{
    width:42px;
    height:42px;
    background:#fff;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ==========================
   HERO SECTION
========================== */

.hero-banner{
    position:relative;
    min-height:680px;
        margin-bottom: 150px;
}

.hero-banner video{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.overlay{
    position:absolute;
    inset:0;
    background:rgba(7,27,61,.55);
}

.hero-content{
    position:relative;
    z-index:2;
    padding-top:130px;
}

.hero-tag{
    display:inline-block;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
    color:#fff;
    padding:15px 25px;
    margin-bottom:30px;
    font-family: 'Roslindale Display Narrow';
    font-weight: 400;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0%;
}

.hero-content h1{
    font-family:'Roslindale Display Narrow';
    font-size:64px;
    line-height:125%;
    text-transform:uppercase;
    color:#fff;
    max-width:850px;
    margin-bottom:40px;
    font-weight:400;
}

.explore-btn{
    width:270px;
    height:52px;
    border:2px solid rgba(255,255,255,.8);
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    color:#fff;
    font-size:18px;
}

/* ==========================
   BOOKING BOX
========================== */

.booking-box{
    position:absolute;
    left:50%;
    bottom: -110px;
    transform:translateX(-50%);
    width:90%;
    max-width:1280px;
    background:#fff;
    z-index:3;
}

.booking-box{
    background:#fff;
    border-radius:24px;
    padding:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.booking-box h3{
    font-family: 'Roslindale Display Narrow', serif;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.1;
    color: #0B1A30;
    margin-bottom: 20px;
}

.booking-form{
    display:flex;
    grid-template-columns:1fr 1fr 1fr 270px;
    gap:20px;
    align-items:end;
}
.booking-form>div{
	flex:1;
}
.booking-form>button{
	flex:1;
}
.form-group label{
    display:block;

    font-size:18px;
    font-weight:500;

    color:#222;

    margin-bottom:12px;
}

.input-wrap{
    position:relative;
}

.input-wrap input{
    width:100%;
    height:50px;

    border:1px solid #D9D9D9;
    border-radius:8px;

    padding:0 30px;

    font-size:16px;
    color:#222;

    background:#fff;
}

.input-wrap input::placeholder{
    color:#777;
}

.location svg{
    position:absolute;
    left:5px;
    top:50%;

    transform:translateY(-50%);

    width:24px;
    height:24px;

    color:#111;
}

.location input{
    padding-left:60px;
}

.date svg{
    position:absolute;
    right:25px;
    top:50%;

    transform:translateY(-50%);

    width:24px;
    height:24px;

    pointer-events:none;
}

.date input{
    padding-right:60px;
}

/* Remove browser date icon */

.date input::-webkit-calendar-picker-indicator{
    opacity:0;
    position:absolute;
    right:0;
    width:100%;
    height:100%;
    cursor:pointer;
}

.booking-btn{
    height:50px;

    border:none;
    border-radius:8px;

    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );

    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;

    font-size:18px;
    font-weight:500;

    color:#000;

    cursor:pointer;
}

.booking-btn span{
    font-size:32px;
    line-height:1;
}

/* =======================
   TABLET
======================= */

@media(max-width:1200px){

    .booking-form{
        grid-template-columns:1fr 1fr;
    }

    .booking-btn{
        grid-column:1/-1;
    }

}

/* =======================
   MOBILE
======================= */

@media(max-width:767px){

    .booking-box{
        padding:25px 20px;
    }

    .booking-box h3{
        font-size:34px;
    }

    .booking-form{
        grid-template-columns:1fr;
        gap:20px;
    }

    .input-wrap input{
        height:70px;
        font-size:16px;
    }

    .booking-btn{
        height:70px;
        font-size:18px;
    }

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:1200px){

    nav{
        display:none;
    }

    .hero-content h1{
        font-size:52px;
    }

}

@media(max-width:991px){

    .top-bar .container{
        flex-direction:column;
    }

    .hero-banner{
        min-height:650px;
    }

    .hero-content h1{
        font-size:42px;
    }

}

@media(max-width:767px){

    .main-header .container{
        flex-wrap:wrap;
        gap:15px;
    }

    .header-btn{
        width:100%;
        justify-content:center;
    }

    .hero-content{
        padding-top:40px;
    }

    .hero-content h1{
        font-size:34px;
    }

    .hero-tag{
        font-size:14px;
    }

    .explore-btn{
        width:220px;
        height:60px;
        font-size:18px;
    }


}

/* ==========================
   MOBILE HEADER ADDITIONS
   Add this CSS to your existing style.css
   Add the HTML snippet to your header
   Add the JS snippet before </body>
========================== */

/* ──────────────────────────────────────
   HAMBURGER BUTTON (hidden on desktop)
────────────────────────────────────── */

.hamburger-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    justify-content: center;
}

.hamburger-btn span {
    display: block;
    width: 26px;
    height: 2px;
    background: #0B1A30;
    border-radius: 2px;
    transition: 0.3s;
}

/* ──────────────────────────────────────
   MOBILE DRAWER OVERLAY
────────────────────────────────────── */

.mobile-menu-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 9998;
}

.mobile-menu-overlay.active {
    display: block;
}

/* ──────────────────────────────────────
   MOBILE DRAWER PANEL
────────────────────────────────────── */

.mobile-menu-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 320px;
    height: 100%;
    background: #fff;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform 0.35s ease;
    overflow-y: auto;
}

.mobile-menu-drawer.active {
    transform: translateX(0);
}

/* Drawer Header */

.drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #e8e8e8;
    flex-shrink: 0;
}

.drawer-header .drawer-logo img {
    max-width: 140px;
    display: block;
}

.drawer-close {
    background: none;
    border: none;
    cursor: pointer;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: background 0.2s;
}

.drawer-close:hover {
    background: #f3f3f3;
}

.drawer-close svg {
    width: 22px;
    height: 22px;
    color: #0B1A30;
}

/* Drawer Body – nav links */

.drawer-body {
    flex: 1;
    padding: 24px 20px;
}

.drawer-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}

.drawer-nav li {
    border-bottom: 1px solid #f0f0f0;
}

.drawer-nav li a {
    display: block;
    padding: 15px 0;
    color: #0B1A30;
    font-size: 17px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}

.drawer-nav li a:hover {
    color: #163460;
}

.drawer-nav li.active a {
    color: #163460;
    font-weight: 600;
}

/* Drawer CTA button inside nav body */

.drawer-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 28px;
    height: 52px;
    border-radius: 12px;
    background: linear-gradient(182.73deg, #ACDE56 2.22%, #83CF00 97.67%);
    color: #111;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.drawer-cta span {
    width: 36px;
    height: 36px;
    background: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Drawer Footer – social icons */

.drawer-footer {
    padding: 20px;
    border-top: 1px solid #e8e8e8;
    flex-shrink: 0;
}

.drawer-footer p {
    font-size: 13px;
    color: #777;
    margin-bottom: 14px;
}

.drawer-social {
    display: flex;
    gap: 10px;
}

.drawer-social a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #163460;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.drawer-social a:hover {
    background: #0B1A30;
}

/* ──────────────────────────────────────
   MOBILE OVERRIDES  (≤767px)
────────────────────────────────────── */

@media (max-width: 767px) {

    /* TOP BAR: show only phone + email, hide address + social */

    .top-left span {
        display: none; /* hide address/location */
    }

    .top-right {
        display: none; /* hide social row */
    }

    .top-bar .container {
        flex-direction: row;
        justify-content: flex-start;
    }

    .top-left {
        gap: 16px;
    }

    .top-left a {
        font-size: 13px;
    }

    /* MAIN HEADER: logo left + hamburger right */

    .main-header .container {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 0;
    }

    /* Hide desktop nav & CTA button */
    nav,
    .header-btn {
        display: none !important;
    }

    /* Show hamburger */
    .hamburger-btn {
        display: flex;
    }

.top-left {
    justify-content: space-between;
    width: 100%;
}
}

.featured-experiences{
    padding:30px 0;
    background:#fff;
    overflow:hidden;
}


/*=====================
SECTION HEADER
=====================*/

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:30px;
}

.section-tag{
    display:flex;
    align-items:center;
    gap:12px;
    color:#243229;
    font-size:18px;
    font-weight:500;
    margin-bottom:20px;
}

.section-tag .dot{
    width:14px;
    height:14px;
    border-radius:50%;
    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );
}

.section-header h2{
    font-family:'Roslindale Display Narrow', serif;
    font-size:46px;
    line-height:1;
    font-weight:400;
    color:#0B1A30;
}

.section-header h2 span{
    color:#3683F0;
}

/*=====================
ARROWS
=====================*/

.custom-arrows{
    display:flex;
    gap:18px;
}

.custom-arrows button{
    border:none;
    background:none;
    cursor:pointer;
}

.custom-arrows button svg{
    width:48px;
    height:48px;
    padding:12px;
    border:1px solid #bfc3cb;
}

.tour-next svg{
    background:#0B1A30;
    color:#fff;
    border:none;
}

.custom-arrows small{
    display:block;
    text-align:center;
    margin-top:8px;
    font-size:14px;
    color:#0B1A30;
}

/*=====================
SLIDER
=====================*/

.featured-slider{
    margin:0 -12px;
}

.featured-slider .slick-slide{
    margin:0 8px;
}

.tour-card{
    position:relative;
    height:640px !important;
    overflow:hidden;
}

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

.tour-card .overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        180deg,
        rgba(11,26,48,0) 42.1%,
        rgba(11,26,48,.88) 100%
    );
}

.tour-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:35px;
    z-index:2;
}

.tour-content h3{
    font-family:'Roslindale Display Narrow', serif;
    color:#fff;
    font-size:28px;
    font-weight:400;
    line-height:1.1;
}

/*=====================
GLASS INFO BOX
=====================*/

.tour-info{
    margin-top:20px;
    padding:28px;
    backdrop-filter:blur(12px);
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.2);
    display: none;
}
.featured-slider .tour-card:hover .tour-info {
  display: block
}
.tour-info p{
    color:#fff;
    font-size:18px;
    line-height:1.6;
    margin-bottom:20px;
}

.tour-meta{
    border-top:1px solid rgba(255,255,255,.35);
    padding-top:18px;
    display:flex;
    justify-content:space-between;
}

.tour-meta span{
    color:#fff;
    font-size:18px;
}

/*=====================
SLICK
=====================*/

.slick-track{
    display:flex;
}

.slick-slide{
    height:inherit;
}

/*=====================
TABLET
=====================*/

@media(max-width:991px){

    .section-header{
        flex-direction:column;
        gap:30px;
    }

    .section-header h2{
        font-size:56px;
    }

    .tour-card{
        height:550px !important;
    }

    .tour-content h3{
        font-size:40px;
    }
.featured-slider .tour-card .tour-info {
    display: block;
}
}

/*=====================
MOBILE
=====================*/

@media(max-width:767px){

    .featured-experiences{
        padding:20px 0;
    }

    .section-header h2{
        font-size:42px;
    }

    .tour-card{
        height:420px !important;
    }

    .tour-content{
        padding:20px;
    }

    .tour-content h3{
        font-size:32px;
    }

    .tour-info{
        padding:18px;
    }

    .tour-info p{
        font-size:16px;
    }

    .tour-meta{
        flex-direction:column;
        gap:10px;
    }
.featured-slider .tour-card .tour-info {
    display: block;
}
}


.about-section{
    padding:30px 0 0;
    background:#F3F7FF;
    overflow:hidden;
}

/* Full Width Layout */

.about-grid{
    display:grid;
    grid-template-columns:56% 44%;
    align-items:start;
}

/* LEFT */

.about-left{
    padding-right:32px;
}

.about-heading-wrap{
    max-width:840px;
    padding:20px 70px 40px;
}

.about-tag{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;

    font-family:'Poppins',sans-serif;
    font-size:16px;
    font-weight:500;
    color:#16243a;
}

.about-tag .dot{
    width:14px;
    height:14px;
    border-radius:50%;
    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );
}

.about-heading-wrap h2{
    font-family:'Roslindale Display Narrow',serif;
    font-size:46px;
    line-height:1.35;
    font-weight:400;
    color:#0B1A30;
    letter-spacing:-1px;
}

.about-heading-wrap h2 span{
    color:#3683F0;
}

.about-image-large{
    width:100%;
}

.about-image-large img{
    width:100%;
    height:620px;
    object-fit:cover;
    display:block;
}

/* RIGHT */

.about-right{
    padding-right:0;
}

.about-image-small img{
    width:100%;
    height:450px;
    object-fit:cover;
    display:block;
}

.about-content{
    padding:35px 70px 0 50px;
}

.about-content p{
    font-family:'Poppins',sans-serif;
    font-size:17px;
    line-height:1.6;
    color:#2d3138;
    margin-bottom:24px;
}

.about-buttons{
    display:flex;
    gap:22px;
    margin-top:35px;
}

/* Primary Button */

.btn-primary{
    min-width:230px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;

    border-radius:12px;

    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );

    color:#0B1A30;
    font-size:18px;
    font-weight:500;
}

.btn-primary span{
    width:40px;
    height:36px;
    background:#fff;
    border-radius:6px;

    display:flex;
    align-items:center;
    justify-content:center;
}

/* Outline Button */

.btn-outline{
    min-width:230px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;

    border-radius:12px;
    border:1.5px solid #0B1A30;

    color:#0B1A30;
    font-size:18px;
    font-weight:500;
}

.btn-outline span{
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ======================
   RESPONSIVE
====================== */

@media(max-width:1200px){

    .about-grid{
        grid-template-columns:1fr;
    }

    .about-left{
        padding-right:0;
    }

    .about-heading-wrap{
        max-width:100%;
        padding:20px 30px 30px;
    }

    .about-content{
        padding:30px;
    }

}

@media(max-width:767px){

    .about-section{
        padding:30px 0;
    }

    .about-heading-wrap{
        padding:20px;
    }

    .about-heading-wrap h2{
        font-size:34px;
        line-height:1.3;
    }

    .about-image-large img{
        height:350px;
    }

    .about-image-small img{
        height:280px;
    }

    .about-content{
        padding:25px 20px;
    }

    .about-content p{
        font-size:16px;
    }

    .about-buttons{
        flex-direction:column;
    }

    .btn-primary,
    .btn-outline{
        width:100%;
        min-width:100%;
    }

}

/* ==================================================
   SPECIAL PACKAGES SECTION
================================================== */

.special-packages{
    padding:40px 0 0;
    background:#fff;
    overflow:hidden;
}

/* ==================================================
   HEADING AREA
================================================== */

.packages-heading{
    max-width:900px;
    margin:0 auto 20px;
    text-align:center;
    padding:0 20px;
}



.packages-heading h2{
    font-family:'Roslindale Display Narrow',serif;
    font-size:46px;
    font-weight:400;
    line-height:1.15;
    color:#0B1A30;
    margin-bottom:10px;
}
.packages-heading span.section-tag {
    justify-content: center;
}

.packages-heading h2 span{
    color:#3683F0;
}

.packages-heading p{
    max-width:760px;
    margin:0 auto;

    font-family:'Poppins',sans-serif;
    font-size:17px;
    font-weight:400;
    line-height:1.5;
    color:#3F4A5D;
}

/* ==================================================
   SLIDER WRAPPER
================================================== */

.packages-slider-wrap{
    position:relative;
}

.packages-slider{
    margin:0;
}

/* ==================================================
   SLIDE
================================================== */

.package-slide{
    position:relative;
    overflow:hidden;
    height:550px;
}

.package-slide img{
    width:100%;
    object-fit:cover;
}


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

.package-slide .overlay{
    position:absolute;
    inset:0;
    background:rgba(11,26,48,.45);
}

/* ==================================================
   CONTENT
================================================== */

.slide-content{
    position:absolute;
    inset:0;
    z-index:2;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;

    padding:75px 65px;
}

/* ==================================================
   LEFT SIDE TITLE
================================================== */

.slide-left{
    max-width:420px;
}

.slide-left h3{
    font-family:'Roslindale Display Narrow',serif;
    font-size:54px;
    font-weight:400;
    line-height:.95;
    color:#fff;
}

/* ==================================================
   RIGHT SIDE CONTENT
================================================== */

.slide-right{
    max-width:390px;
    align-self:flex-end;
    margin-bottom:20px;
}

.slide-right p{
    font-family:'Poppins',sans-serif;
    font-size:17px;
    font-weight:400;
    line-height:1.5;
    color:#fff;
    margin-bottom:24px;
}

.view-btn{
    width:180px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.8);

    font-family:'Roslindale Display Narrow',serif;
    font-size:22px;
    font-weight:400;
    color:#fff;

    transition:.3s;
}

.view-btn:hover{
    background:#fff;
    color:#0B1A30;
}

/* ==================================================
   CUSTOM ARROWS
================================================== */

.slider-arrows{
    position:absolute;
    top:78px;
    right:65px;

    z-index:10;

    display:flex;
    gap:12px;
}

.package-prev,
.package-next{
    border:none;
    background:none;
    cursor:pointer;
    padding:0;
}

.package-prev svg,
.package-next svg{
    width:58px;
    height:58px;
    padding:16px;
    display:block;
}

.package-prev svg{
    border:1px solid rgba(255,255,255,.8);
    color:#fff;
}

.package-next svg{
    background:#fff;
    color:#0B1A30;
}

.package-prev span,
.package-next span{
    display:block;
    text-align:center;
    margin-top:8px;

    font-size:12px;
    color:#fff;
}

/* ==================================================
   SLICK DOTS
================================================== */

.packages-slider .slick-dots{
    position:absolute;
    bottom:42px;

    left:65px;
    right:65px;

    display:flex !important;
    gap:12px;

    margin:0;
    padding:0;

    list-style:none;

    z-index:5;
}

.packages-slider .slick-dots li{
    flex:1;
    margin:0;
    height:4px;
}

.packages-slider .slick-dots li button{
    width:100%;
    height:4px;

    border:none;
    padding:0;

    background:rgba(255,255,255,.30);

    font-size:0;
    cursor:pointer;
}

.packages-slider .slick-dots li button:before{
    display:none;
}

.packages-slider .slick-dots li.slick-active button{
    background:#fff;
}

/* ==================================================
   SLICK FIXES
================================================== */

.packages-slider .slick-slide{
    height:auto;
}

/* ==================================================
   LARGE DESKTOP
================================================== */

@media (min-width:1600px){

    .package-slide{
        height:600px;
    }

    .slide-left h3{
        font-size:60px;
    }

}

/* ==================================================
   TABLET
================================================== */

@media (max-width:991px){

    .packages-heading{
        margin-bottom:30px;
    }

    .packages-heading h2{
        font-size:38px;
    }

    .packages-heading p{
        font-size:16px;
    }

    .package-slide{
        height:550px;
    }

    .slide-content{
        padding:50px 40px;
    }

    .slide-left h3{
        font-size:42px;
    }

    .slide-right{
        max-width:320px;
        margin-bottom:20px;
    }

    .slide-right p{
        font-size:16px;
    }

    .slider-arrows{
        right:40px;
        top:50px;
    }

    .packages-slider .slick-dots{
        left:40px;
        right:40px;
    }

}

/* ==================================================
   MOBILE
================================================== */

@media (max-width:767px){

    .special-packages{
        padding:30px 0 0;
    }

    .packages-heading{
        margin-bottom:25px;
    }

    .packages-heading h2{
        font-size:32px;
        line-height:1.2;
    }

    .packages-heading p{
        font-size:15px;
    }

    .package-slide{
        height:520px;
    }

    .slide-content{
        padding:25px;

        flex-direction:column;
        justify-content:center;
        gap:25px;
    }

    .slide-left{
        max-width:100%;
    }

    .slide-left h3{
        font-size:34px;
    }

    .slide-right{
        max-width:100%;
        margin-bottom:0;
        align-self:flex-start;
    }

    .slide-right p{
        font-size:15px;
        margin-bottom:18px;
    }

    .view-btn{
        width:150px;
        height:42px;
        font-size:18px;
    }

    .slider-arrows{
        top:20px;
        right:20px;
        gap:8px;
    }

    .package-prev svg,
    .package-next svg{
        width:48px;
        height:48px;
        padding:12px;
    }

    .package-prev span,
    .package-next span{
        font-size:10px;
    }

    .packages-slider .slick-dots{
        left:20px;
        right:20px;
        bottom:20px;
    }
    .package-slide img {
    height: 380px;
}
}

.why-choose-section{
    padding:80px 0;
    background:#001E49;
}

.why-choose-grid{
    display:grid;
    grid-template-columns:1fr 30px 440px;
    gap:40px;
    align-items:start;
}

/* Left */

.why-choose-grid .section-tag{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:25px;

    color:#fff;
    font-size:16px;
}

.dot{
    width:12px;
    height:12px;
    border-radius:50%;

    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );
}

.why-left h2{
    max-width:620px;

    font-family:'Roslindale Display Narrow',serif;
    font-size:46px;
    line-height:1.15;
    font-weight:400;
    color:#fff;

    margin-bottom:25px;
}

.why-left h2 span{
    color:#3683F0;
}

.why-left p{
    max-width:640px;

    font-size:17px;
    line-height:1.5;
    color:#fff;

    margin-bottom:35px;
}

.why-image{
    border-radius:22px;
    overflow:hidden;
    border:10px solid rgba(255,255,255,.12);
}

.why-image img{
    width:100%;
    display:block;
    height:500px;
    object-fit:cover;
}

/* Center Line */

.progress-line{
    position:relative;
    width:4px;
    height:100%;
    min-height:780px;

    background:#fff;
    border-radius:50px;

    margin:auto;
}

.progress-fill{
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:210px;

    background:#9CE216;
    border-radius:50px;
}

/* Right Cards */

.why-right{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.why-card{
    display:flex;
    gap:16px;

    padding:20px;

    background:#F8F8F8;
    border-radius:4px;
}

.icon-box{
    width:48px;
    min-width:48px;
    height:48px;

    background:#9CE216;
    border-radius:3px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.icon-box img{
    width:24px;
}

.card-content h3{
    font-family:'Roslindale Display Narrow',serif;
    font-size:22px;
    line-height:1.2;
    font-weight:400;
    color:#0B1A30;

    margin-bottom:10px;
}

.card-content h3 span{
    color:#3683F0;
}

.card-content p{
    font-size:17px;
    line-height:1.4;
    color:#4B5563;
}

/* Responsive */

@media(max-width:1199px){

    .why-choose-grid{
        grid-template-columns:1fr;
    }

    .progress-line{
        display:none;
    }

    .why-right{
        margin-top:40px;
    }

}

@media(max-width:767px){

    .why-choose-section{
        padding:50px 0;
    }

    .why-left h2{
        font-size:34px;
    }

    .why-left p,
    .card-content p{
        font-size:15px;
    }

    .card-content h3{
        font-size:20px;
    }

    .why-image img{
        height:300px;
    }

    .why-card{
        padding:16px;
    }
.why-choose-grid {
    gap: 10px;
}
}

/* =================================
   POPULAR TOUR
================================= */

.popular-tour{
    padding:0;
    margin:0;
}

.popular-tour-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
}

/* =================================
   CONTENT
================================= */

.popular-tour-content{
    background:#F8F8F8;

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:80px 100px;
}


.popular-tour-content h2{
    font-family:'Roslindale Display Narrow',serif;
    font-size:46px;
    font-weight:400;
    line-height:1.15;

    color:#0B1A30;

    margin-bottom:24px;
}

.popular-tour-content h2 span{
    color:#3683F0;
}

.popular-tour-content p{
    max-width:560px;

    font-size:17px;
    line-height:1.6;
    color:#4B5563;

    margin-bottom:25px;
}

/* =================================
   FEATURES
================================= */

.tour-features{
    display:flex;
    flex-wrap:wrap;
    gap:16px;

    margin-bottom:30px;
}

.feature-item{
    height:40px;

    padding:0 18px;

    border:1px solid #8A94A6;
    border-radius:8px;

    display:flex;
    align-items:center;
    gap:10px;

    font-size:15px;
    color:#4B5563;
}

.feature-item i{
    color:#4B5563;
}

/* =================================
   BUTTON
================================= */

.tour-btn{
    width:220px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;

    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );

    border-radius:10px;

    color:#0B1A30;
    font-weight:500;
}

.tour-btn span{
    width:36px;
    height:32px;

    background:#fff;
    border-radius:6px;

    display:flex;
    align-items:center;
    justify-content:center;
}

/* =================================
   IMAGE
================================= */

.popular-tour-image{
    height:100%;
}

.popular-tour-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* =================================
   TABLET
================================= */

@media(max-width:991px){

    .popular-tour-grid{
        grid-template-columns:1fr;
    }

    .popular-tour-image{
        order:-1;
    }

    .popular-tour-content{
        padding:60px 40px;
    }

}
@media (max-width: 768px) {
    .popular-tour-content {
        padding: 40px 15px;
    }
    .feature-item {
    padding: 0 10px;
    gap: 8px;
    font-size: 14px;
}
.popular-tour-content h2 {
    font-size: 36px;
}
}

/* ===================================
   BOOKING PROCESS
=================================== */

.booking-process{
    padding:70px 0;
    margin:0;

    background:
    linear-gradient(0deg,#011838,#011838),
    linear-gradient(
        106.05deg,
        rgba(36,94,174,.20) -1.7%,
        rgba(1,24,56,0) 64.47%
    ),
    linear-gradient(
        279.76deg,
        rgba(36,94,174,.20) -2.59%,
        rgba(1,24,56,0) 43.59%
    );
}

/* remove spacing between sections */

.special-packages,
.popular-tour,
.why-choose-section,
.booking-process{
    margin:0;
}

.special-packages{
    padding-bottom:0;
}

.popular-tour{
    padding:0;
}



/* ===================================
   HEADING
=================================== */

.process-heading{
    text-align:center;
    margin-bottom:55px;
}

.process-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;

    margin-bottom:18px;

    color:#fff;
    font-size:16px;
    font-weight:500;
}

.process-tag .dot{
    width:12px;
    height:12px;
    border-radius:50%;

    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );
}

.process-heading h2{
    font-family:'Roslindale Display Narrow',serif;
    font-size:46px;
    font-weight:400;
    line-height:1.1;
    color:#fff;
}

.process-heading h2 span{
    color:#3683F0;
}

/* ===================================
   GRID
=================================== */

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

/* ===================================
   CARD
=================================== */

.process-card{
    position:relative;

    background:#F7F7F7;

    border-radius:18px;

    padding:34px 22px 22px;

    min-height:178px;
}

.step-number{
    position:absolute;
    right:-10px;
    top:-10px;

    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#A4DB24;

    border:5px solid #011838;
    border-radius:50%;

    color:#fff;
    font-size:18px;
    font-weight:600;
}

.process-card h3{
    font-size:24px;
    line-height:1.2;
    font-weight:500;
    color:#16243A;

    margin-bottom:18px;
}

.process-card h3 span{
    color:#3683F0;
}

.card-divider{
    height:1px;
    background:#A9AFB9;
    margin-bottom:15px;
}

.process-card p{
    font-size:17px;
    line-height:1.45;
    color:#4B5563;
}

.card-footer{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:15px;
}

.card-icon{
    color:#011838;
    flex-shrink:0;
}

/* ===================================
   TABLET
=================================== */

@media(max-width:991px){

    .booking-process{
        padding:60px 0;
    }

    .process-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .process-heading h2{
        font-size:38px;
    }

}

/* ===================================
   MOBILE
=================================== */

@media(max-width:767px){

    .booking-process{
        padding:50px 0;
    }

    .process-heading{
        margin-bottom:35px;
    }

    .process-heading h2{
        font-size:32px;
    }

    .process-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .process-card{
        min-height:auto;
        padding:28px 18px 20px;
    }

    .process-card h3{
        font-size:22px;
    }

    .process-card p{
        font-size:15px;
    }

}

/* ==================================
   SAFETY SECTION
================================== */

.safety-section{
    padding:30px 0;
    background:#fff;
}

.safety-wrapper{
    display:grid;
    grid-template-columns:52% 48%;
    border-radius:24px;
    overflow:hidden;
}

/* ==================================
   IMAGE
================================== */

.safety-image{
    height:100%;
}

.safety-image img{
    width:100%;
    height:100%;
    min-height:560px;
    object-fit:cover;
    display:block;
}

/* ==================================
   CONTENT
================================== */

.safety-content{
    background:#F4F7FC;
    padding:70px 35px;

    display:flex;
    flex-direction:column;
    justify-content:center;
}



.safety-content h2{
    font-family:'Roslindale Display Narrow',serif;
    font-size:46px;
    line-height:1.15;
    font-weight:400;

    color:#0B1A30;

    margin-bottom:28px;
}

.safety-content h2 span{
    color:#3683F0;
}

.safety-content p{
    font-size:17px;
    line-height:1.5;
    color:#4A5568;

    margin-bottom:32px;
}

/* ==================================
   FEATURES
================================== */

.safety-features{
    display:flex;
    gap:12px;
    flex-wrap:wrap;

    margin-bottom:35px;
}

.feature-box{
    display:flex;
    align-items:center;
    gap:12px;

    background:#fff;

    padding:10px 14px;
    border-radius:8px;

    min-height:52px;

    flex:1;
    min-width:170px;
}

.feature-icon{
    width:36px;
    height:36px;

    border-radius:6px;

    background:#2D68C4;

    display:flex;
    align-items:center;
    justify-content:center;
}

.feature-icon img{
    width:18px;
}

.feature-box span{
    font-size:13px;
    line-height:1.3;
    color:#0B1A30;
	    width: calc(100% - 36px);
}

/* ==================================
   BUTTON
================================== */

.safety-btn{
    width:305px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;

    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );

    border-radius:12px;

    color:#0B1A30;
    font-size:18px;
    font-weight:500;
}

.safety-btn span{
    width:44px;
    height:40px;

    border-radius:8px;
    background:#fff;

    display:flex;
    align-items:center;
    justify-content:center;
}

/* ==================================
   TABLET
================================== */

@media(max-width:991px){

    .safety-wrapper{
        grid-template-columns:1fr;
    }

    .safety-image img{
        min-height:400px;
    }

    .safety-content{
        padding:50px 30px;
    }

    .safety-content h2{
        font-size:38px;
    }

}

/* ==================================
   MOBILE
================================== */

@media(max-width:767px){

    .safety-section{
        padding:20px 0;
    }

    .safety-image img{
        min-height:280px;
    }

    .safety-content{
        padding:30px 20px;
    }

    .safety-content h2{
        font-size:32px;
    }

    .safety-content p{
        font-size:15px;
    }

    .safety-features{
        flex-direction:column;
    }

    .feature-box{
        min-width:100%;
    }

    .safety-btn{
        width:100%;
        font-size:16px;
    }

}

.gallery-section{
    padding:30px 0;
    background:#fff;
}

.gallery-heading{
    text-align:center;
    margin-bottom:50px;
}
.gallery-heading span.section-tag {
    text-align: center;
    justify-content: center;
}

.gallery-heading h2{
    font-family:'Roslindale Display Narrow',serif;
    font-size:46px;
    font-weight:400;
    line-height:1.15;
}

.gallery-heading h2 span{
    color:#3683F0;
}

/* ====================
FEATURED LAYOUT
==================== */

.featured-gallery{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:20px;

    grid-template-areas:
    "item1 item2 item3"
    "item4 item2 item5"
    "item6 item6 item5";
}

.item-1{grid-area:item1;}
.item-2{grid-area:item2;}
.item-3{grid-area:item3;}
.item-4{grid-area:item4;}
.item-5{grid-area:item5;}
.item-6{grid-area:item6;}

.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:14px;
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.gallery-item:hover img{
    transform:scale(1.05);
}

.item-1,
.item-3,
.item-4{
    height:250px;
}

.item-2{
    height:515px;
}

.item-5{
    height:540px;
}

.item-6{
    height:270px;
}

/* ====================
PLAY BUTTON
==================== */

.play-btn{
    position:absolute;
    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:70px;
    height:70px;

    border-radius:50%;

    background:#9BDD16;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:26px;
}

/* ====================
NORMAL GALLERY
==================== */

.gallery-grid{
    margin-top:20px;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.gallery-grid a{
    border-radius:14px;
    overflow:hidden;
    display:block;
}

.gallery-grid img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
}

/* ====================
TABLET
==================== */

@media(max-width:991px){

    .featured-gallery{
        grid-template-columns:repeat(2,1fr);

        grid-template-areas:
        "item1 item2"
        "item3 item2"
        "item4 item5"
        "item6 item6";
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

/* ====================
MOBILE
==================== */

@media(max-width:767px){

    .gallery-heading h2{
        font-size:32px;
    }

     .featured-gallery {
        display: flex;
        flex-wrap: wrap;
        gap: 0px 15px;
    }

    .gallery-item {
        display: flex;
        height: 220px !important;
        margin-bottom: 15px;
        width: 48%;
    }

        .gallery-grid {
        grid-template-columns: 1fr 1fr;
    }
    .gallery-heading {
    margin-bottom: 20px;
}
.section-tag {
    margin-bottom: 10px;
}
.gallery-item img {
    height: auto;
}
.gallery-grid img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}
}
/* ==================================
   FAQ SECTION
================================== */

.faq-section{
    padding:80px 0;
    background:#011838;
}

.faq-grid{
    display:grid;
    grid-template-columns:450px 1fr;
    gap:70px;
    align-items:start;
}

/* ==================================
   LEFT SIDE
================================== */


.faq-left h2{
    font-family:'Roslindale Display Narrow',serif;
    font-size:46px;
    line-height:1.1;
    font-weight:400;
    color:#fff;

    margin-bottom:40px;
}
.faq-left span.section-tag {
    color: #fff;
}
.faq-left h2 span{
    color:#3683F0;
}

/* ==================================
   IMAGE CARD
================================== */

.faq-banner{
    position:relative;
    border-radius:18px;
    overflow:hidden;
}

.faq-banner img{
    width:100%;
    height:330px;
    object-fit:cover;
    display:block;
}

.faq-banner::after{
    content:'';
    position:absolute;
    inset:0;

    background:linear-gradient(
        180deg,
        rgba(0,0,0,.10) 0%,
        rgba(0,0,0,.50) 100%
    );
}

.faq-banner-content{
    position:absolute;
    inset:0;
    z-index:2;

    padding:22px;

    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.faq-banner-content h3{
    font-family:'Roslindale Display Narrow',serif;
    font-size:28px;
    line-height:1.15;
    color:#fff;
    font-weight:400;
}

/* Button */

.faq-btn{
    width:215px;
    height:46px;

    background:#fff;
    border-radius:40px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 6px 0 22px;

    color:#16243A;
    font-size:16px;
}

.faq-btn span{
    width:38px;
    height:38px;

    border-radius:50%;

    background:#9DDD19;

    display:flex;
    align-items:center;
    justify-content:center;
}

/* ==================================
   FAQ ACCORDION
================================== */

.faq-right{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.faq-item{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
}

.faq-question{
    width:100%;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:18px 20px;

    border:none;
    background:none;

    cursor:pointer;
    text-align:left;
}

.faq-question span{
    font-size:22px;
    line-height:1.3;
    font-weight:500;
    color:#16243A;
}

.faq-icon{
    width:34px;
    height:34px;

    border:1px solid #AAB0BA;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    font-size:22px;
    color:#16243A;
}

.faq-answer{
    padding:0 20px 20px;
}

.faq-answer p{
    font-size:17px;
    line-height:1.6;
    color:#4B5563;
}

.faq-item:not(.active) .faq-answer{
    display:none;
}

/* ==================================
   TABLET
================================== */

@media(max-width:991px){

    .faq-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .faq-left h2{
        font-size:38px;
    }

    .faq-banner img{
        height:400px;
    }

}

/* ==================================
   MOBILE
================================== */

@media(max-width:767px){

    .faq-section{
        padding:50px 0;
    }

    .faq-left h2{
        font-size:32px;
    }

    .faq-banner img{
        height:280px;
    }

    .faq-question{
        padding:16px;
    }

    .faq-question span{
        font-size:18px;
    }

    .faq-answer{
        padding:0 16px 16px;
    }

    .faq-answer p{
        font-size:15px;
    }

    .faq-btn{
        width:190px;
        font-size:15px;
    }

}

/* ===================================
   CTA IMAGE BANNER
=================================== */

.cta-banner{
    padding:30px 0;
    position:relative;
    z-index:2;
}

.cta-banner-inner{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    min-height:450px;
}

/* Image */

.cta-banner-inner img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
}

/* Overlay */

.cta-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(1,24,56,.88) 0%,
        rgba(1,24,56,.70) 30%,
        rgba(1,24,56,.15) 70%,
        rgba(1,24,56,0) 100%
    );
}

/* Content */

.cta-content{
    position:relative;
    z-index:2;

    max-width:620px;

    padding:65px 70px;
}

.cta-content h2{
    font-family:'Roslindale Display Narrow',serif;
    font-size:58px;
    line-height:1.05;
    font-weight:400;
    color:#fff;

    margin-bottom:25px;
}

.cta-content p{
    max-width:560px;

    font-size:17px;
    line-height:1.5;
    color:#fff;

    margin-bottom:45px;
}

/* Buttons */

.cta-buttons{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

/* Primary */

.cta-btn-primary{
    height:54px;
    min-width:235px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;

    padding:0 8px 0 25px;

    border-radius:12px;

    background:linear-gradient(
        182.73deg,
        #ACDE56 2.22%,
        #83CF00 97.67%
    );

    color:#011838;
    font-size:17px;
    font-weight:500;
}

.cta-btn-primary span{
    width:38px;
    height:38px;

    border-radius:6px;
    background:#fff;

    display:flex;
    align-items:center;
    justify-content:center;
}

/* Outline */

.cta-btn-outline{
    height:54px;
    min-width:220px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;

    padding:0 8px 0 25px;

    border-radius:12px;

    border:1px solid rgba(255,255,255,.7);

    color:#fff;
    font-size:17px;
    font-weight:500;

    backdrop-filter:blur(4px);
}

.cta-btn-outline span{
    width:38px;
    height:38px;

    border-radius:6px;

    display:flex;
    align-items:center;
    justify-content:center;
}

/* ===================================
   TABLET
=================================== */

@media(max-width:991px){

    .cta-banner-inner{
        min-height:auto;
    }

    .cta-content{
        padding:50px 40px;
        max-width:520px;
    }

    .cta-content h2{
        font-size:46px;
    }

}

/* ===================================
   MOBILE
=================================== */

@media(max-width:767px){

    .cta-banner{
        padding:20px 0;
    }

    .cta-banner-inner{
        min-height:auto;
    }

    .cta-overlay{
        background:
        linear-gradient(
            180deg,
            rgba(1,24,56,.75) 0%,
            rgba(1,24,56,.85) 100%
        );
    }

    .cta-content{
        padding:35px 25px;
    }

    .cta-content h2{
        font-size:34px;
    }

    .cta-content p{
        font-size:15px;
        margin-bottom:30px;
    }

    .cta-buttons{
        flex-direction:column;
    }

    .cta-btn-primary,
    .cta-btn-outline{
        width:100%;
        min-width:100%;
    }

}
section.cta-banner {
    margin-bottom: -120px;
}
/* ==========================
   FOOTER
========================== */

.site-footer{
    background:#001E49;
    padding:160px 0 25px;
    overflow:hidden;
}

.site-footer a{
    text-decoration:none;
}

/* ==========================
   TOP
========================== */

.footer-top{
    display:grid;
    grid-template-columns:1.3fr 1.7fr;
    gap:60px;
    align-items:start;
}

/* ==========================
   INFO
========================== */

.footer-logo{
    display:inline-block;
    margin-bottom:35px;
}

.footer-logo img{
    max-width:170px;
}

.footer-contact{
    margin-bottom:120px;
}

.footer-contact p{
    color:#fff;
    font-size:20px;
    margin-bottom:18px;
}

.footer-contact a{
    display:flex;
    align-items:center;
    gap:12px;

    color:#fff;
    font-size:18px;

    margin-bottom:14px;
}

.footer-social span{
    display:block;
    color:#fff;
    margin-bottom:18px;
}

.social-icons{
    display:flex;
    gap:14px;
}

.social-icons a{
    width:34px;
    height:34px;

    border-radius:50%;

    color:#001E49;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:15px;
}

/* ==========================
   MENU
========================== */

.footer-menu-wrap{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:60px;
}

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

.footer-menu li{
    margin-bottom:18px;
}

.footer-menu a{
    color:#fff;
    font-size:18px;
}

/* ==========================
   NEWSLETTER
========================== */

.footer-newsletter{
    background:#3E82ED;
    padding:22px;
    grid-column: 1 / -1;
}

.footer-newsletter p{
    color:#fff;
    font-size:16px;
    line-height:1.5;
    margin-bottom:18px;
}

.footer-newsletter label{
    display:block;
    color:#fff;
    margin-bottom:10px;
}

.footer-newsletter form{
    display:flex;
}

.footer-newsletter input{
    flex:1;
    height:50px;

    border:none;
    outline:none;

    padding:0 15px;

    font-size:16px;
}

.footer-newsletter button{
    border:none;
    cursor:pointer;

    width:160px;

    background:#001E49;
    color:#fff;

    font-size:16px;
}

.footer-newsletter small{
    display:block;
    color:#fff;
    margin-top:12px;
    font-size:13px;
}

/* ==========================
   LARGE TEXT
========================== */

.footer-tagline{
    margin-top:80px;
    margin-bottom:60px;

    font-family:'Roslindale Display Narrow', serif;
    font-size:98px;
    line-height:0.95;
    font-weight:400;

    background:linear-gradient(
        171.59deg,
        #005ADA 6.71%,
        #D6FF8E 119.03%
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    color:transparent;
}

/* ==========================
   BOTTOM
========================== */

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.25);

    padding-top:22px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.footer-bottom a,
.footer-bottom span{
    color:#fff;
    font-size:16px;
}

/* ==========================
   TABLET
========================== */

@media(max-width:1199px){

    .footer-top{
        grid-template-columns:1fr;
        gap:40px;
    }

    .footer-contact{
        margin-bottom:40px;
    }

    .footer-tagline{
        font-size:90px;
        margin-top:50px;
    }

}


/* ==========================
   MOBILE
========================== */

@media(max-width:767px){

    .site-footer{
        padding:130px 0 20px;
    }

    .footer-menu-wrap{
        gap:30px;
    }

    .footer-newsletter form{
        flex-direction:column;
        gap:10px;
    }

    .footer-newsletter button{
        width:100%;
        height:50px;
    }

    .footer-tagline{
        font-size:48px;
        line-height:1.05;
        margin:40px 0;
    }

    .footer-bottom{
        flex-direction:column;
        text-align:center;
    }

    .footer-contact p{
        font-size:18px;
    }

    .footer-contact a,
    .footer-menu a{
        font-size:16px;
    }
     .about-right {
      display: flex;
      flex-direction: column-reverse;
  }

}

@media(max-width:960px){
  .about-right {
      display: flex;
      flex-direction: column-reverse;
  }
}


/* ===================================
   PAGE BANNER
=================================== */

.page-banner{
    padding:90px 0 80px;
    text-align:center;
    background:#fff;
}

.page-banner-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:135px;
    height:52px;

    padding:0 25px;

    background:#27559D;

    color:#fff;

    font-family:'Roslindale Display Narrow';
    font-size:20px;
    font-weight:400;
    letter-spacing:.5px;

    margin-bottom:35px;
}

.page-banner h1{
    margin:0 auto 25px;

    max-width:1100px;

    font-family:'Roslindale Display Narrow';
    font-size:64px;
    font-weight:400;
    line-height:1;
    text-transform:uppercase;

    color:#0B1A30;
}

.page-banner h1 span{
    color:#27559D;
}

.page-banner p{
    max-width:780px;
    margin:0 auto;

    font-size:17px;
    line-height:1.5;
    font-weight:400;

    color:#4B5563;
}
.featured-sliderr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.featured-sliderr .tour-card .tour-content .tour-info {
    display: block;
}
section.featured-experiences.inside {
    background: #F3F7FF;
}
section.featured-experiences.inside .section-header {
    align-items: center;
}
.custom-arrows.select {
    align-items: center;
}

.featured-sliderr .tour-card {
    height: 430px;
}

.custom-arrows select {
    padding: 7px 20px;
    border: 1px solid #B2B2B2;
}
/* ==========================
   TABLET
========================== */

@media (max-width: 991px){

    .page-banner{
        padding:70px 0 80px;
    }

    .page-banner h1{
        font-size:62px;
    }

    .page-banner p{
        max-width:650px;
    }

}

/* ==========================
   MOBILE
========================== */

@media (max-width: 767px){

    .page-banner{
        padding:50px 0 60px;
    }

    .page-banner-tag{
        min-width:110px;
        height:42px;
        font-size:18px;
        margin-bottom:25px;
    }

    .page-banner h1{
        font-size:42px;
        line-height:1.05;
        margin-bottom:20px;
    }

    .page-banner p{
        font-size:16px;
        line-height:1.6;
    }

}

body.wp-singular.is-singular .main-header {
    border-bottom: solid 1px #ddd;
}


.featured-tour-section{
    padding:30px 0;
}

.featured-tour-header{
    text-align:center;
    margin-bottom:35px;
}

.tour-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:16px;
}

.tour-label span{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#9CD71D;
}

.featured-tour-header h2{
    font-family:'Roslindale Display Narrow', serif;
    font-size:46px;
    font-weight:400;
    color:#0B1A30;
}

.featured-tour-header h2 span{
    color:#3683F0;
}

/* Card */

.featured-tour-card{
    position:relative;

    height:610px;

    border-radius:20px;
    overflow:hidden;
}

.tour-bg{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;
    object-fit:cover;
}

.tour-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        180deg,
        rgba(11,26,48,.10) 0%,
        rgba(11,26,48,.88) 100%
    );
}

/* Watermark */

.tour-watermark{
    position:absolute;

    top:35px;
    left:50%;

    transform:translateX(-50%);

    font-family:'Roslindale Display Narrow';
    font-size:82px;

    color:rgba(255,255,255,.25);

    letter-spacing:10px;

    z-index:3;
}

/* Content Slider */

.tour-content-slider{
    position:absolute;

    left:55px;
    bottom:55px;

    width:430px;

    z-index:5;
}

.tour-content-item h3{
    font-family:'Roslindale Display Narrow';
    font-size:42px;
    font-weight:400;

    color:#fff;

    margin-bottom:10px;
}

.tour-content-item p{
    color:#fff;

    font-size:17px;
    line-height:1.5;

    margin-bottom:18px;
}

.tour-actions{
    display:flex;
    align-items:center;
    gap:20px;
}

.featured-tour-section .tour-btn{
    width:145px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    border:1px solid rgba(255,255,255,.7);
    border-radius:10px;

    color:#fff;
}
.featured-slider:not(.slick-initialized), .packages-slider:not(.slick-initialized){
	display:none
}

.tour-price{
    color:#fff;
    font-size:18px;
    font-weight:600;
}

/* Image Slider */

.tour-images-wrap{
    position:absolute;

    right:-6px;
    bottom:50px;

    width:450px;

    z-index:5;
}

.tour-image-slider{
    margin-bottom:65px;
}

.tour-thumb{
    padding:0 8px;
}

.tour-thumb img{
    width:100%;
    height:290px;

    object-fit:cover;
    border-radius:16px;
}

/* Arrows */

.tour-image-slider .slick-arrow{
    position:absolute;

    bottom:-65px;

    width:42px;
    height:42px;

    border-radius:50%;
    border:1px solid rgba(255,255,255,.5);

    background:none;
    color:#fff;

    z-index:10;
}

.tour-image-slider .slick-prev{
    margin-left:0px;
}

.tour-image-slider .slick-next{
    margin-left:50px;
}

/* Responsive */

@media(max-width:991px){

    .tour-images-wrap{
        display:none;
    }

    .tour-content-slider{
        width:auto;
        left:30px;
        right:30px;
    }

    .tour-watermark{
        font-size:50px;
    }

}

@media(max-width:767px){

    .featured-tour-card{
        height:500px;
    }

    .featured-tour-header h2{
        font-size:34px;
    }

    .tour-content-item h3{
        font-size:30px;
    }

    .tour-content-slider{
        left:25px;
        right:25px;
        bottom:25px;
    }

    .tour-watermark{
        font-size:32px;
        top:25px;
    }

    .tour-actions{
        flex-direction:column;
        align-items:flex-start;
    }

}

/* ==========================
   TOP ABOUT GALLERY
========================== */
.topaboutgal {
    display: grid;
    grid-template-columns: 0.85fr 1.08fr 1.08fr 0.85fr;
    gap: 24px;
    padding-top: 50px;
    overflow: hidden;
    position: relative;
    margin-top: -160px;
}
.topaboutgal:before {
    content: "";
    width: calc(100% + 300px);
    height: 210px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    z-index: 9;
    border-radius: 100%;
}
.topheadab {
    position: relative;
    z-index: 99;
}
/* Images */

.topaboutgal-item{
    overflow:hidden;
    border-radius:10px;
    position:relative;
}

.topaboutgal-item img{
    width:100%;
    height:100%;

    display:block;
    object-fit:cover;

    transition:all .4s ease;
}

.topaboutgal-item:hover img{
    transform:scale(1.05);
}

/* Heights */


/* Optional slight perspective effect */

.topaboutgal-item-1 img{
    transform-origin:right center;
}

.topaboutgal-item-4 img{
    transform-origin:left center;
}

/* ==========================
   TABLET
========================== */

@media(max-width:991px){

    .topaboutgal{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .topaboutgal-item-1,
    .topaboutgal-item-2,
    .topaboutgal-item-3,
    .topaboutgal-item-4{
        height:380px;
    }

}

/* ==========================
   MOBILE
========================== */

@media(max-width:767px){

    .topaboutgal{
        grid-template-columns:1fr;
        gap:15px;
    }

    .topaboutgal-item-1,
    .topaboutgal-item-2,
    .topaboutgal-item-3,
    .topaboutgal-item-4{
        height:280px;
    }

}

section.about-section.whitebg {
    background: #fff;
}

/* ==========================
   MISSION SECTION
========================== */

.mission-section{
    background:#F3F7FF;
    width:100%;
    padding:70px 40px;
    overflow:hidden;
}

.mission-wrap{
    position:relative;
    max-width:1800px;
    margin:0 auto;
}

/* Label */

.mission-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    font-size:16px;
    font-weight:500;
    color:#0B1A30;

    margin-bottom:35px;
}

.mission-label span{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#9AD420;
}

/* Content */

.mission-content{
    max-width:880px;
    margin:0 auto;
    text-align:center;
}

.mission-content h2{
    font-family:'Roslindale Display Narrow', serif;
    font-size:40px;
    line-height:1.18;
    font-weight:400;
    color:#0B1A30;
    margin:0;
}

/* Floating Images */

.mission-image{
    position:absolute;
    z-index:2;
}

.mission-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.mission-image-left{
    width:250px;
    height:295px;
    left:40px;
    bottom:0px;
}

.mission-image-right{
    width:250px;
    height:295px;
    right:40px;
    top:0;
}

/* Stats */

.mission-stats{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:120px;

    margin-top:90px;
}

.mission-stat{
    text-align:center;
}

.mission-laurel{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;

    font-family:'Roslindale Display Narrow', serif;
    font-size:42px;
    line-height:1;
    margin-bottom:12px;
}

.mission-laurel::before, .mission-laurel::after {
    content: "";
    font-size: 90px;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    opacity: .8;
    background: url(/assets/vendor/easeenvironmental.com/wp-content/uploads/2026/06/leaf.webp);
    background-size: 45px 118px;
    width: 43px;
    height: 115px;
    background-repeat: no-repeat;
}

.mission-laurel::before{
    left:-55px;
}

.mission-laurel::after{
    right:-55px;
    transform:translateY(-50%) scaleX(-1);
}

.mission-laurel.blue::before,
.mission-laurel.blue::after{
    color:#5D9DFF;
}

.mission-laurel.green::before, .mission-laurel.green::after {
    color: #43DD73;
    filter: invert(72%) sepia(56%) saturate(1312%) hue-rotate(94deg) brightness(97%) contrast(92%);
}

.mission-laurel.orange::before,
.mission-laurel.orange::after{
    color:#F5B45E;
    filter: brightness(0) saturate(100%) invert(86%) sepia(21%) saturate(1478%) hue-rotate(345deg) brightness(101%) contrast(101%);

}

.mission-stat p{
    margin:0;
    font-size:16px;
    color:#0B1A30;
}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:1600px){

    .mission-content h2{
        font-size:40px;
    }

    .mission-image-left,
    .mission-image-right{
        width:220px;
        height:260px;
    }

}

@media(max-width:1200px){

    .mission-content h2{
        font-size:36px;
    }

    .mission-image{
        display:none;
    }

    .mission-stats{
        gap:60px;
    }

}

@media(max-width:767px){

    .mission-section{
        padding:50px 20px;
    }

    .mission-content h2{
        font-size:28px;
        line-height:1.3;
    }

    .mission-stats{
        flex-direction:column;
        gap:40px;
        margin-top:50px;
    }

    .mission-laurel{
        font-size:34px;
    }

    .mission-laurel::before,
    .mission-laurel::after{
        font-size:70px;
    }

    .mission-laurel::before{
        left:-55px;
    }

    .mission-laurel::after{
        right:-55px;
    }
}

/*=========================
TEAM SECTION
=========================*/

.teamsec{
    padding:30px 0;
    background:#fff;
}

.teamsec-head{
    text-align:center;
    margin-bottom:60px;
}

.teamsec-label{
    display:inline-flex;
    align-items:center;
    gap:10px;

    font-size:16px;
    font-weight:500;
    color:#0B1A30;

    margin-bottom:20px;
}

.teamsec-label span{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#9AD420;
}

.teamsec-head h2{
    margin:0;

    font-family:'Roslindale Display Narrow';
    font-size:46px;
    font-weight:400;
    line-height:1.15;
    color:#0B1A30;
}

.teamsec-head h2 span{
    color:#3683F0;
}

/*=========================
GRID
=========================*/

.teamsec-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

/*=========================
CARD
=========================*/

.teamsec-card{
    background:#F6F9FF;
    border:1px solid #ECECEC;

    padding:30px 25px 35px;

    text-align:center;

    transition:.3s ease;
}

.teamsec-card:hover{
    transform:translateY(-5px);
}

.teamsec-image{
    width:100%;
    max-width:280px;

    margin:0 auto 25px;
}

.teamsec-image img{
    width:100%;
    display:block;
}

/*=========================
NAME
=========================*/

.teamsec-card h3{
    margin:0 0 12px;

    font-family:'Roslindale Display Narrow';
    font-size:24px;
    font-weight:400;
    line-height:1.2;

    color:#0B1A30;
}

/*=========================
POSITION
=========================*/

.teamsec-card p{
    margin:0;

    font-size:16px;
    line-height:1.5;
    color:#4B5563;
}

/*=========================
TABLET
=========================*/

@media(max-width:991px){

    .teamsec-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .teamsec-head h2{
        font-size:40px;
    }

}

/*=========================
MOBILE
=========================*/

@media(max-width:767px){

    .teamsec{
        padding:30px 0;
    }

    .teamsec-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .teamsec-head{
        margin-bottom:40px;
    }

    .teamsec-head h2{
        font-size:32px;
    }

    .teamsec-card{
        padding:25px 20px;
    }

    .teamsec-card h3{
        font-size:22px;
    }

    .teamsec-card p{
        font-size:15px;
    }

}


/* ==========================
   FAQ HERO BANNER
========================== */

.faqhero{
    position:relative;

    width:100%;
    min-height:400px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    overflow:hidden;

    
}

/* Dark Overlay */

.faqhero-overlay{
    position:absolute;
    inset:0;

    background:rgba(11,26,48,.45);
}

/* Content */

.faqhero-content{
    position:relative;
    z-index:2;

    width:100%;
    max-width:1000px;

    padding:30px 20px;
}

/* Heading */

.faqhero h1{
    margin:0 0 20px;

    font-family:'Roslindale Display Narrow', serif;
    font-size:64px;
    font-weight:400;
    line-height:1.25;

    text-transform:uppercase;
    color:#FFFFFF;
}

.faqhero h1 span{
    display:block;
    color:#3683F0;
}

/* Description */

.faqhero p{
    margin:0;

    font-family:'Poppins', sans-serif;
    font-size:16px;
    font-weight:400;
    line-height:1.5;

    color:#FFFFFF;
}

/* ==========================
   TABLET
========================== */

@media(max-width:991px){

    .faqhero{
        min-height:350px;
    }

    .faqhero h1{
        font-size:52px;
    }

}

/* ==========================
   MOBILE
========================== */

@media(max-width:767px){

    .faqhero{
        min-height:290px;
    }

    .faqhero h1{
        font-size:34px;
        line-height:1;
    }

    .faqhero p{
        font-size:14px;
    }

}


/* ==========================
FAQ TABS
========================== */

.faqtabs{
    padding:30px 0;
}

.faqtabs-wrap{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:60px;
    align-items:start;
}

/* LEFT TABS */

.faqtabs-sidebar{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.faqtabs-tab{
    height:76px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 8px 0 20px;

    border:1px solid #D9D9D9;
    border-radius:50px;

    background:#fff;
    cursor:pointer;

    font-size:18px;
    color:#0B1A30;

    transition:.3s;
}

.faqtabs-tab.active{
    border-color:#3683F0;
}

.faqtabs-tab i{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#F1F1F1;
    color:#0B1A30;
    font-style:normal;
    font-size:22px;
}

.faqtabs-tab.active i{
    background:#3683F0;
    color:#fff;
}

/* RIGHT CONTENT */

.faqtabs-pane{
    display:none;
}

.faqtabs-pane.active{
    display:block;
}

/* ACCORDION */

.faqtabs-item{
    border:1px solid #DCDCDC;
    border-radius:20px;
    margin-bottom:18px;
    overflow:hidden;
}

.faqtabs-item.active{
    background:#F5F8FF;
}

.faqtabs-question{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:24px 24px;
    cursor:pointer;
}

.faqtabs-question h3{
    margin:0;

    font-family:'Roslindale Display Narrow';
    font-size:28px;
    font-weight:400;
    color:#0B1A30;
}

.faqtabs-question span{
    width:42px;
    height:42px;

    border:1px solid #0B1A30;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;
    flex-shrink:0;
}

.faqtabs-answer{
    display:none;
    padding:0 24px 24px;
}

.faqtabs-item.active .faqtabs-answer{
    display:block;
}

.faqtabs-answer p{
    margin:0;

    font-size:17px;
    line-height:1.6;
    color:#333;
    max-width:800px;
}

/* RESPONSIVE */

@media(max-width:991px){

    .faqtabs-wrap{
        grid-template-columns:1fr;
        gap:30px;
    }

    .faqtabs-sidebar{
        overflow-x:auto;
        flex-direction:row;
    }

    .faqtabs-tab{
        min-width:260px;
    }

}

@media(max-width:767px){

    .faqtabs-question{
        padding:20px;
    }

    .faqtabs-question h3{
        font-size:22px;
        padding-right:15px;
    }

    .faqtabs-answer{
        padding:0 20px 20px;
    }

}
/* ==========================
CONTACT FORM PAGE
========================== */

.conactformpage{
    padding:30px 0;
}

.conactformpage-wrap{
    display:grid;
    grid-template-columns:520px 1fr;
    gap:30px;
}

/* LEFT SIDE */

.conactformpage-info{
    background:#041E48;
    border-radius:30px;
    padding:50px 45px;
    color:#fff;

    display:flex;
    flex-direction:column;
}

.conactformpage-info h2{
    font-family:'Roslindale Display Narrow';
    font-size:46px;
    font-weight:400;
    line-height:1.1;
    margin:0 0 25px;
}

.conactformpage-info > p{
    font-size:17px;
    line-height:1.6;
    max-width:340px;
    margin:0;
}

.conactformpage-details{
    margin-top:auto;
    padding-top:80px;
}

.conactformpage-item{
    display:flex;
    gap:16px;
    margin-bottom:35px;
}

.conactformpage-icon{
    width:24px;
    min-width:24px;
    margin-top:4px;
}

.conactformpage-item h4{
    margin:0 0 8px;
    font-family:'Roslindale Display Narrow';
    font-size:20px;
    font-weight:400;
    color:#fff;
}

.conactformpage-item p{
    margin:0;
    font-size:16px;
    line-height:1.6;
    color:#fff;
}

/* RIGHT SIDE */

.conactformpage-form{
    background:#F3F7FF;
    border-radius:30px;
    padding:45px;
}

.conactformpage-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:25px;
}

.conactformpage-field label{
    display:block;
    margin-bottom:12px;

    font-family:'Roslindale Display Narrow';
    font-size:20px;
    color:#0B1A30;
}

.conactformpage-field input,
.conactformpage-field textarea{
    width:100%;
    border:1px solid #E3D7C8;
    background:#fff;
    border-radius:14px;

    font-size:16px;
    color:#0B1A30;
}

.conactformpage-field input{
    height:64px;
    padding:0 22px;
}

.conactformpage-field textarea{
    height:180px;
    resize:none;
    padding:20px 22px;
}

.conactformpage-check{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin:25px 0 35px;
}

.conactformpage-check input{
    width:18px;
    height:18px;
    margin-top:4px;
}

.conactformpage-check span{
    font-size:15px;
    line-height:1.6;
    color:#667085;
}

.conactformpage-btn{
    width:100%;
    height:68px;

    border:none;
    border-radius:60px;

    background:#3E7DE0;
    color:#fff;

    font-size:22px;
    font-weight:500;

    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;

    cursor:pointer;
}

.conactformpage-btn-dot{
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff;
}

/* RESPONSIVE */

@media(max-width:1200px){

    .conactformpage-wrap{
        grid-template-columns:1fr;
    }

    .conactformpage-details{
        padding-top:50px;
    }

}

@media(max-width:767px){

    .conactformpage-info,
    .conactformpage-form{
        padding:30px 25px;
        border-radius:20px;
    }

    .conactformpage-row{
        grid-template-columns:1fr;
        gap:15px;
        margin-bottom:15px;
    }

    .conactformpage-info h2{
        font-size:34px;
    }

    .conactformpage-field label{
        font-size:18px;
    }

    .conactformpage-btn{
        height:60px;
        font-size:18px;
    }

}

.conactformpage-map{
    margin-top:35px;
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.15);
}

.conactformpage-map iframe{
    width:100%;
    height:380px;
    border:0;
    display:block;
}


/* =========================
   TOUR HERO SECTION
========================= */

.tourhero{
    padding:40px 0;
    background:#fff;
}

.tourhero-container{
    max-width:1320px;
    margin:0 auto;
    padding:0 20px;
}

/* Content */

.tourhero-content{
    max-width:760px;
    margin-bottom:30px;
}

.tourhero-content h1{
    margin:0 0 18px;
    font-family:'Roslindale Display Narrow', serif;
    font-size:58px;
    line-height:1.05;
    font-weight:400;
    text-transform:uppercase;
    color:#08172F;
}

.tourhero-content h1 span{
    color:#2F72E7;
}

.tourhero-content p{
    margin:0;
    max-width:650px;
    font-family:'Poppins', sans-serif;
    font-size:18px;
    line-height:1.6;
    color:#4E5A6B;
}

/* Gallery */

.tourhero-gallery{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:20px;
    align-items:stretch;
}

.tourhero-mainimg{
    overflow:hidden;
    border-radius:0;
}

.tourhero-mainimg img{
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
    display:block;
}

.tourhero-sideimgs{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.tourhero-thumb{
    flex:1;
    overflow:hidden;
}

.tourhero-thumb img{
    width:100%;
    height:100%;
    min-height:250px;
    object-fit:cover;
    display:block;
}

/* =========================
   TABLET
========================= */

@media (max-width:991px){

    .tourhero{
        padding:35px 0;
    }

    .tourhero-content h1{
        font-size:42px;
    }

    .tourhero-content p{
        font-size:16px;
    }

    .tourhero-gallery{
        grid-template-columns:1fr;
    }

    .tourhero-mainimg img{
        min-height:420px;
    }

    .tourhero-sideimgs{
        flex-direction:row;
    }

    .tourhero-thumb{
        width:50%;
    }

    .tourhero-thumb img{
        min-height:220px;
    }
}

/* =========================
   MOBILE
========================= */

@media (max-width:767px){

    .tourhero{
        padding:30px 0;
    }

    .tourhero-container{
        padding:0 15px;
    }

    .tourhero-content{
        margin-bottom:20px;
    }

    .tourhero-content h1{
        font-size:32px;
        line-height:1.1;
        margin-bottom:12px;
    }

    .tourhero-content p{
        font-size:15px;
        line-height:1.6;
    }

    .tourhero-gallery{
        gap:12px;
    }

    .tourhero-mainimg img{
        min-height:300px;
    }

    .tourhero-sideimgs{
        flex-direction:column;
        gap:12px;
    }

    .tourhero-thumb{
        width:100%;
    }

    .tourhero-thumb img{
        min-height:180px;
    }
}

/* ==========================
   TOUR DETAILS
========================== */

.tourdetailsec{
    padding:40px 0;
    background:#fff;
}

.tourdetailsec-container{
    max-width:1320px;
    margin:0 auto;
    padding:0 20px;
}

.tourdetailsec-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:40px;
    align-items:start;
}

/* ==========================
   FEATURES BOX
========================== */

.tourdetailsec-features{
    background:#071B3A;
    padding:35px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px 40px;
}

.tourdetailsec-feature{
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.tourdetailsec-icon{
    color:#A6E327;
    font-size:18px;
    line-height:1;
    flex-shrink:0;
}

.tourdetailsec-feature h4{
    margin:0 0 5px;
    color:#fff;
    font-family:'Roslindale Display Narrow',serif;
    font-size:22px;
    font-weight:400;
    line-height:1;
}

.tourdetailsec-feature p{
    margin:0;
    color:#D6DDEA;
    font-size:15px;
    line-height:1.5;
    font-family:'Poppins',sans-serif;
}

/* ==========================
   DESCRIPTION
========================== */

.tourdetailsec-description{
    margin-top:40px;
}

.tourdetailsec-description h2{
    margin:0 0 15px;
    font-family:'Roslindale Display Narrow',serif;
    font-size:34px;
    color:#08172F;
    font-weight:400;
}

.tourdetailsec-description p{
    margin:0 0 18px;
    font-family:'Poppins',sans-serif;
    font-size:16px;
    line-height:1.5;
    color:#2D3748;
}

/* ==========================
   SIDEBAR
========================== */

.tourdetailsec-sidebar{
    position:sticky;
    top:30px;
}

.tourdetailsec-booking{
    background:#F5F8FF;
    padding:25px;
    border:1px solid #E5ECF8;
}

.tourdetailsec-booking h3{
    margin:0 0 15px;
    font-family:'Roslindale Display Narrow',serif;
    font-size:32px;
    font-weight:400;
    color:#08172F;
}

/* ==========================
   FORM
========================== */

.tourdetailsec-field{
    margin-bottom:20px;
}

.tourdetailsec-field label{
    display:block;
    margin-bottom:0px;
    font-size:15px;
    color:#08172F;
    font-family:'Poppins',sans-serif;
}

.tourdetailsec-inputwrap{
    position:relative;
}

.tourdetailsec-inputwrap span svg {
    height: 19px;
}

.tourdetailsec-inputwrap span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
    font-size: 14px;
    height: 20px;
}

.tourdetailsec-inputwrap span:last-child{
    left:auto;
    right:15px;
}

.tourdetailsec-inputwrap input{
    width:100%;
    height:48px;
    border:1px solid #BFC7D4;
    background:#fff;
    padding:0 45px;
    font-size:16px;
    font-family:'Poppins',sans-serif;
}

.tourdetailsec-btn{
    width:100%;
    height:48px;
    border:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    font-size:18px;
    font-weight:500;
    font-family:'Poppins',sans-serif;
    background:linear-gradient(182.73deg,#ACDE56 2.22%,#83CF00 97.67%);
}

.tourdetailsec-btn span{
    width:38px;
    height:38px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

/* ==========================
   TABLET
========================== */

@media(max-width:991px){

    .tourdetailsec-grid{
        grid-template-columns:1fr;
    }

    .tourdetailsec-sidebar{
        position:relative;
        top:auto;
    }

    .tourdetailsec-features{
        grid-template-columns:1fr 1fr;
    }
}

/* ==========================
   MOBILE
========================== */

@media(max-width:767px){

    .tourdetailsec{
        padding:30px 0;
    }

    .tourdetailsec-container{
        padding:0 15px;
    }

    .tourdetailsec-features{
        grid-template-columns:1fr;
        gap:25px;
        padding:25px;
    }

    .tourdetailsec-feature h4{
        font-size:20px;
    }

    .tourdetailsec-description{
        margin-top:30px;
    }

    .tourdetailsec-description h2{
        font-size:38px;
        margin-bottom:20px;
    }

    .tourdetailsec-description p{
        font-size:16px;
        line-height:1.8;
    }

    .tourdetailsec-booking{
        padding:20px;
    }

    .tourdetailsec-booking h3{
        font-size:28px;
    }

    .tourdetailsec-btn{
        font-size:16px;
    }
}

/* =========================
   TOUR PRICE BOX
========================= */

.tourpricebox{
    background:#071B3A;
    padding:30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    min-height:220px;
	margin-bottom:20px;
}

.tourpricebox-content{
    flex:1;
}

.tourpricebox-label{
    display:block;
    font-family:'Poppins',sans-serif;
    font-size:18px;
    font-weight:500;
    color:#fff;
    letter-spacing:1px;
    margin-bottom:12px;
}

.tourpricebox-price{
    font-family:'Roslindale Display Narrow',serif;
    font-size:42px;
    line-height:1;
    color:#fff;
    margin-bottom:18px;
}

.tourpricebox-rating{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:20px;
}

.tourpricebox-stars{
    color:#FFB300;
    font-size:34px;
    line-height:1;
    letter-spacing:4px;
}

.tourpricebox-rating span{
    color:#fff;
    font-family:'Roslindale Display Narrow',serif;
    font-size:21px;
}

.tourpricebox-divider{
    width:100%;
    height:1px;
    background:rgba(255,255,255,.8);
}

.tourpricebox-logo{
    width:60px;
    flex-shrink:0;
}

.tourpricebox-logo img{
    width:100%;
    display:block;
}

/* =========================
   TABLET
========================= */

@media(max-width:991px){

    .tourpricebox-price{
        font-size:38px;
    }

    .tourpricebox-stars{
        font-size:34px;
    }

    .tourpricebox-rating span{
        font-size:24px;
    }

    .tourpricebox-logo{
        width:110px;
    }
}

/* =========================
   MOBILE
========================= */

@media(max-width:767px){

    .tourpricebox{
        padding:20px;
        flex-direction:column;
        align-items:flex-start;
        min-height:auto;
    }

    .tourpricebox-logo{
        width:90px;
        align-self:flex-end;
    }

    .tourpricebox-label{
        font-size:15px;
        margin-bottom:10px;
    }

    .tourpricebox-price{
        font-size:26px;
        margin-bottom:15px;
    }

    .tourpricebox-stars{
        font-size:24px;
        letter-spacing:2px;
    }

    .tourpricebox-rating span{
        font-size:18px;
    }
}

/* =========================
   TOUR DETAILS INFO
========================= */

.tourdetailinfo{
    margin-top:40px;
}

.tourdetailinfo-block{
    padding:35px 0;
    border-top:1px solid #DCE3EE;
}

.tourdetailinfo-block:first-child{
    padding-top:15px;
}

/* Headings */

.tourdetailinfo h2{
    margin:0 0 6px;
    font-family:'Roslindale Display Narrow', serif;
    font-size:34px;
    line-height:1.1;
    font-weight:400;
    color:#08172F;
}

.tourdetailinfo-subtitle{
    display:block;
    margin-bottom:15px;
    font-size:14px;
    color:#5E6878;
    font-family:'Poppins', sans-serif;
}

/* Lists */

.tourdetailinfo ul{
    margin:0;
    padding-left:18px;
}

.tourdetailinfo li{
    margin-bottom:10px;
    color:#222;
    font-size:16px;
    line-height:1.5;
    font-family:'Poppins', sans-serif;
}

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

/* Columns */

.tourdetailinfo-cols{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}

.tourdetailinfo-col h4,
.tourdetailinfo-address h4{
    margin:0 0 12px;
    font-family:'Roslindale Display Narrow', serif;
    font-size:22px;
    font-weight:400;
    color:#08172F;
}

/* Address */

.tourdetailinfo-address{
    margin-top:30px;
}

.tourdetailinfo-address a{
    display:inline-block;
    margin-top:15px;
    color:#2F72E7;
    text-decoration:none;
    font-size:15px;
    font-weight:500;
}

/* Map */

.tourdetailinfo-map{
    margin-top:20px;
    border-radius:6px;
    overflow:hidden;
}

.tourdetailinfo-map iframe{
    width:100%;
    height:320px;
    border:0;
    display:block;
}

/* =========================
   TABLET
========================= */

@media(max-width:991px){

    .tourdetailinfo h2{
        font-size:32px;
    }

    .tourdetailinfo-cols{
        gap:30px;
    }

}

/* =========================
   MOBILE
========================= */

@media(max-width:767px){

    .tourdetailinfo{
        margin-top:30px;
    }

    .tourdetailinfo-block{
        padding:25px 0;
    }

    .tourdetailinfo h2{
        font-size:26px;
    }

    .tourdetailinfo-cols{
        grid-template-columns:1fr;
        gap:20px;
    }

    .tourdetailinfo li{
        font-size:15px;
        line-height:1.7;
    }

    .tourdetailinfo-map iframe{
        height:250px;
    }

}

.tourdetailsec-inputwrap input#dateField {
    padding: 0 15px;
}
.tourhero-gallery.packages {
    grid-template-columns: 1fr;
}
.tourdetailsec-description.pack {
    margin-top: 0;
}

/* Homepage booking results */
#hero-booking-results {
    margin-top: 32px;
    padding: 0 16px;
}

.hero-results-loading,
.hero-results-empty,
.hero-results-error {
    text-align: center;
    padding: 24px;
    font-size: 16px;
    color: #555;
}

.hero-results-error { color: #c0392b; }

.hero-results-grid {
    display: grid;
    grid-template-columns: repeat( auto-fill, minmax(280px, 1fr) );
    gap: 24px;
}

.pkg-result-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,.10);
    display: flex;
    flex-direction: column;
}

.pkg-result-img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

.pkg-result-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pkg-result-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #0b1a30;
}

.pkg-result-excerpt {
    font-size: 14px;
    color: #555;
    margin: 0 0 12px;
    flex: 1;
}

.pkg-result-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    font-size: 13px;
}

.pkg-result-price { font-weight: 700; color: #0b1a30; font-size: 15px; }

.pkg-spots { color: #27ae60; }
.pkg-spots.warning { color: #e67e22; font-weight: 600; }

.pkg-result-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #0b1a30;
    color: #fff;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: background .2s;
}

.pkg-result-btn:hover { background: #1a3a60; color: #fff; }

/* Hero select styling to match existing inputs */
.hero-select {
    width: 100%;
    height: 50px;
    border: 1px solid #D9D9D9;
    border-radius: 8px;
    padding: 0 30px;
    font-size: 16px;
    color: #222;
    background: #fff;
}