body {
    font-family: 'Inter', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Poppins', sans-serif;
	
}

.site-header {
    position: relative;
}
/* Responsive Main Navigation Spacing */
.main-navigation {
    align-items: center;
    gap: 1.5rem;
}

@media (min-width: 1024px) {
    .main-navigation {
        display: flex;
    }
	
}
@media (min-width: 1280px) {
    .main-navigation {
        gap: 2rem;
    }
}


.main-navigation > .topL {
    list-style: none;
    margin: 0;
    padding: 0;
}


/* Main Navigation Links */
.main-navigation .topL-a {
    display: flex;
    align-items: center;
    color: #064E3B;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.main-navigation .topL-a:hover {
    color: #E3A008;
}

/* Desktop Dropdown */
.main-navigation .wSub {
    position: relative;
}

.main-navigation .subMenu {
    position: absolute;
    top: 100%;
    left: 0;

    min-width: 240px;
    margin: 0;
    padding: 0.75rem 0;

    list-style: none;

    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.10);

    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

/* Show Dropdown on Hover */
.main-navigation .wSub:hover > .subMenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Dropdown Items */
.main-navigation .subItem {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation .subItem-a {
    display: block;
    padding: 0.65rem 1.25rem;

    color: #374151;
    text-decoration: none;
    white-space: nowrap;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.main-navigation .subItem-a:hover {
    color: #064E3B;
    background-color: #FAFAF7;
}

/* Dropdown Arrow */
.main-navigation .wSub > .topL-a::after {
    content: "";
    width: 6px;
    height: 6px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg);
    margin-left: 0.5rem;
    margin-top: -3px;

    transition: transform 0.2s ease;
}
/* Rotate Arrow on Hover */
.main-navigation .wSub:hover > .topL-a::after {
    transform: rotate(225deg);
    margin-top: 3px;
}

/* Active / Current Navigation Item */
.main-navigation .current > .topL-a,
.main-navigation .active > .topL-a,
.main-navigation .cur-act-a {
    color: #E3A008;
}

.main-navigation .subItem.current > .subItem-a,
.main-navigation .subItem.active > .subItem-a {
    color: #064E3B;
    background-color: #FAFAF7;
    font-weight: 600;
}

/* Dropdown Item Spacing */
.main-navigation .subItem-a {
    padding: 0.7rem 1.25rem;
}


/* Mobile Menu Button */
/* Mobile Menu Button */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.mobile-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #064E3B;
    margin: 0 auto;
}

@media (max-width: 1023px) {
    .mobile-menu-toggle {
        display: flex;
    }
}
/* Mobile Navigation */
.mobile-navigation {
    display: none;
}

.mobile-navigation.is-open {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;

    background: #ffffff;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10);

    z-index: 40;
}
/* Hide header CTA on mobile */
@media (max-width: 1023px) {
    .header-cta {
        display: none;
    }
}


/* Mobile Navigation - Top Level */
.mobile-navigation {
    padding: 0.5rem 0;
}

.mobile-navigation > .topL {
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e5e7eb;
}

.mobile-navigation > .topL:last-child {
    border-bottom: 0;
}

.mobile-navigation > .topL > .topL-a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    padding: 1rem 1.5rem;

    color: #064E3B;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.mobile-navigation > .topL > .topL-a:hover {
    color: #064E3B;
    background-color: #FAFAF7;
}

/* Mobile Navigation - Submenu */

/* Mobile Navigation - Submenu */

.mobile-navigation .subMenu {
    position: static;
    min-width: 0;

    margin: 0;
    padding: 0;

    list-style: none;

    background: #FAFAF7;
    border: 0;
    border-radius: 0;
    box-shadow: none;

    display: none;
}
.mobile-navigation .subItem {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-navigation .subItem-a {
    display: block;

    padding: 0.75rem 1.5rem 0.75rem 2.5rem;

    color: #4B5563;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 400;

    border-top: 1px solid #e5e7eb;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.mobile-navigation .subItem-a:hover {
    color: #064E3B;
    background-color: #F1F5F2;
}

/* Open Mobile Submenu */
.mobile-navigation .wSub.submenu-open > .subMenu {
    display: block;
}

/* Mobile Submenu Arrow */
.mobile-navigation .wSub > .topL-a::after {
    content: "";
    width: 7px;
    height: 7px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg);
    margin-left: auto;
    margin-top: -4px;

    transition: transform 0.2s ease;
}

/* Mobile Submenu Arrow - Open */
.mobile-navigation .wSub.submenu-open > .topL-a::after {
    transform: rotate(225deg);
    margin-top: 4px;
}
/* ==========================================
PARTNERS MARQUEE
========================================== */

.partners-marquee {
    width: max-content;
    animation: partners-scroll 35s linear infinite;
}

.partners-marquee:hover {
    animation-play-state: paused;
}

.partner-logo {
    opacity: 0.45;
    filter: grayscale(100%);
    transition: all .35s ease;
}

.partner-logo:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.08);
}

@keyframes partners-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}


/* ==========================================
   TOUR HIGHLIGHTS
========================================== */


.tour-highlights-grid ul{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.25rem;
    list-style:none;
    padding:0;
    margin:0;
}

.tour-highlights-grid li{
    position:relative;
    background:#fff;
    border-radius:1rem;
    padding:1.5rem;
    padding-left:4.5rem;
    box-shadow:0 1px 3px rgba(0,0,0,.08);
    transition:.3s;
}

.tour-highlights-grid li:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.tour-highlights-grid li::before{
    content:"✓";
    position:absolute;
    left:1.5rem;
    top:1.5rem;
    width:2.2rem;
    height:2.2rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:.75rem;
    background:rgba(6,78,59,.1);
    color:#064E3B;
    font-weight:700;
    font-size:1.1rem;
}
/* ==========================================
   ITINERARY CONTENT
========================================== */


#itinerary .itinerary-content {
    counter-reset: itinerary-day;
}


/* Day Heading */

#itinerary .itinerary-content h3 {

    counter-increment: itinerary-day;

    position: relative;

    padding-left: 3.8rem;

    font-size: 1.25rem;
    font-weight: 700;
    color: #064E3B;

    margin-top: 2rem;
    margin-bottom: .75rem;

}


/* First Day */

#itinerary .itinerary-content h3:first-child {

    margin-top: 0;

}


/* Day Separator */

#itinerary .itinerary-content h3:not(:first-child) {

    border-top: 1px solid #e5e7eb;

    padding-top: 2rem;

}


/* Number Circle */

#itinerary .itinerary-content h3::before {

    content: counter(itinerary-day);

    position: absolute;

    left: 0;
    top: 2rem;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 2.25rem;
    height: 2.25rem;

    border-radius: 9999px;

    background: #064E3B;
    color: white;

    font-size: .875rem;
    font-weight: 700;

}


/* First Day Circle Alignment */

#itinerary .itinerary-content h3:first-child::before {

    top: 0;

}



/* Paragraph */

#itinerary .itinerary-content p {

    color: #4b5563;

    line-height: 1.8;

    margin-bottom: 1rem;

}



/* Activity Tags */

#itinerary .itinerary-content ul {

    display: flex;

    flex-wrap: wrap;

    gap: .75rem;

    margin-top: 1rem;

    margin-bottom: 1.5rem;

}



/* Tag Style */

#itinerary .itinerary-content li {

    background: #F1F5F2;

    color: #064E3B;

    padding: .45rem .9rem;

    border-radius: 999px;

    font-size: .875rem;

    font-weight: 500;

}


/* ==========================================
   INCLUDES / EXCLUDES
========================================== */


/* Common Content */

.includes-content h3,
.excludes-content h3 {

    font-size:1.25rem;
    font-weight:700;
    margin-bottom:1rem;

}


/* Lists */

.includes-content ul,
.excludes-content ul {

    display:flex;
    flex-direction:column;
    gap:.75rem;

}


/* List Items */

.includes-content li,
.excludes-content li {

    position:relative;

    padding-left:2rem;

    color:#4b5563;

    line-height:1.6;

}


/* Include Check Icon */

.includes-content li::before {

    content:"✓";

    position:absolute;

    left:0;

    color:#064E3B;

    font-weight:700;

}


/* Exclude Cross Icon */

.excludes-content li::before {

    content:"×";

    position:absolute;

    left:0;

    color:#dc2626;

    font-weight:700;

}


/* ==========================================
   HOTELS TABLE
========================================== */


#tour-hotels .hotel-table {

    border-collapse: collapse;

}


#tour-hotels th {

    background:#064E3B;
    color:white;

    padding:1rem;

    font-size:.875rem;
    font-weight:600;

}


#tour-hotels td {

    padding:1rem;

    color:#4b5563;

    border-bottom:1px solid #e5e7eb;

}


#tour-hotels tr:last-child td {

    border-bottom:none;

}


#tour-hotels tbody tr {

    transition:.3s ease;

}


#tour-hotels tbody tr:hover {

    background:#F1F5F2;

}


#gallery img{

    width:100% !important;
    height:14rem !important;
    object-fit:cover;
    border-radius:0.75rem;
    cursor:pointer;
    transition:300ms ease;

}

#gallery img:hover{

    transform:scale(1.05);

}

#gallery p{
    display: contents;
    margin:0;
}
/* ==========================================
   FAQ
========================================== */

#faq .faq-content{
    display:flex;
    flex-direction:column;
    gap:1rem;
}

/* Question */

#faq h3{
    position:relative;
    margin:0;
    padding:1.25rem 4.5rem 1.25rem 1.5rem;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    cursor:pointer;
    color:#064E3B;
    font-size:1.1rem;
    font-weight:600;
    transition:.3s;
}

#faq h3:hover{
    background:#f9fafb;
}

/* Plus icon */

#faq h3::after{
    content:"+";
    position:absolute;
    right:1.5rem;
    top:50%;
    transform:translateY(-50%);
    font-size:1.6rem;
    color:#E3A008;
    transition:.3s;
}

/* Open */

#faq h3.active{
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
}

#faq h3.active::after{
    transform:translateY(-50%) rotate(45deg);
}

/* Answer */

#faq p{
    display:none;
    margin:0 0 1rem;
    padding:1.5rem;
    background:#fff;
    border:1px solid #e5e7eb;
    border-top:none;
    border-bottom-left-radius:12px;
    border-bottom-right-radius:12px;
    line-height:1.8;
    color:#4b5563;
}

#faq p.open{
    display:block;
}

/* ==========================================
DESTINATION CONTENT
========================================== */

.destination-content article{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:1.5rem;
    padding:2rem;
}

.destination-content article + article{
    margin-top:2rem;
}

.destination-content h3{
    font-size:1.75rem;
    font-weight:700;
    color:#064E3B;
    margin-bottom:1rem;
}

.destination-content p{
    color:#4b5563;
    line-height:1.9;
    margin-bottom:1.25rem;
}

.destination-content img{
    width:100%;
    border-radius:1rem;
    margin:1.5rem 0;
    display:block;
}

.destination-content ul{
    display:grid;
    gap:.75rem;
    margin-top:1.5rem;
}

.destination-content li{
    list-style:none;
    background:#F8FAF8;
    border:1px solid #e5e7eb;
    padding:.9rem 1rem;
    border-radius:.75rem;
}

.destination-extra{
    overflow:hidden;
    max-height:0;
    opacity:0;
    transition:max-height .45s ease, opacity .3s ease;
}

.destination-extra.open{
    opacity:1;
}

.destination-toggle{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    margin-top:.5rem;
    color:#064E3B;
    font-weight:600;
    cursor:pointer;
    background:none;
    border:none;
    padding:0;
    transition:.3s;
}

.destination-toggle:hover{
    color:#E3A008;
}

/* ==========================================
THINGS TO DO
========================================== */

.things-content ul{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:1.5rem;

}

.things-content li{

    list-style:none;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:1rem;
    padding:2rem;
    transition:.3s;

}

.things-content li:hover{

    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.things-icon{

    width:64px;
    height:64px;
    border-radius:9999px;
    background:#F8F5EB;
    color:#E3A008;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:1.5rem;

}

.things-icon svg{

    width:30px;
    height:30px;

}

.things-content strong{

    display:block;
    font-size:1.25rem;
    color:#064E3B;
    margin-bottom:.75rem;

}

.things-content p{

    color:#6b7280;
    line-height:1.8;
    margin:0;

}
.table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}


table {
    width: 100%;
	min-width:700px;
	max-width:none;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 1.5rem;
}


table thead {
    background: #064E3B;
    color: #fff;
}

table th {
    padding: 1rem 1.25rem;
    text-align: left;
    font-weight: 600;
}

table td {
    padding: 1rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    color: #4b5563;
    line-height: 1.7;
    vertical-align: top;
}

table tbody tr:nth-child(even) {
    background: #F8FAF8;
}

table tbody tr:hover {
    background: #FDF9EC;
}

table td:first-child {
    font-weight: 600;
    color: #064E3B;
}


/* ==========================================
HOTEL AMENITIES
========================================== */

.hotel-amenities ul {

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;

}

.hotel-amenities li {

    display: flex;
    align-items: center;
    gap: 1rem;

    padding: 1.25rem;

    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;

    color: #1f2937;
    font-weight: 500;

    transition: all .3s ease;

}

.hotel-amenities li:hover {

    border-color: #064E3B;
    transform: translateY(-2px);

}

.hotel-amenities li i {

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;
    flex-shrink: 0;

    background: #F1F5F2;
    border: 1px solid #D1E7DD;
    border-radius: 12px;

    color: #064E3B;

}

.hotel-amenities li span {

    line-height: 1.5;

}

.hotel-amenities li i,
.hotel-amenities li svg {

    color: #064E3B;
    stroke: #064E3B;

}


.blog-content{

    color:#374151;
    line-height:1.9;

}

.blog-content h2{

    font-size:2rem;
    font-weight:700;
    color:#111827;
    margin-top:3rem;
    margin-bottom:1rem;

}

.blog-content h3{

    font-size:1.5rem;
    font-weight:600;
    margin-top:2rem;
    margin-bottom:.75rem;

}

.blog-content p{

    margin-bottom:1.5rem;

}

.blog-content img{

    width:100%;
    border-radius:24px;
    margin:2rem 0;

}

.blog-content ul,
.blog-content ol{

    margin:1.5rem 0;
    padding-left:1.5rem;

}

.blog-content li{

    margin-bottom:.75rem;

}

.blog-content table{

    width:100%;
    margin:2rem 0;

}


/* ==========================================
   FLOATING CTA BAR
========================================== */

.floating-cta {
    position: fixed;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);

    display: flex;
    align-items: center;

    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;

    padding: 6px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);

    z-index: 50;
}


/* Individual buttons */

.floating-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-width: 150px;
    padding: 12px 20px;

    border-radius: 9999px;

    font-weight: 600;
    font-size: 14px;

    text-decoration: none;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        opacity 0.2s ease,
        transform 0.2s ease;
}


/* Inquire */

.floating-cta-inquiry {
    background: #E3A008;
    color: #ffffff;
}

.floating-cta-inquiry:hover {
    opacity: 0.9;
}


/* WhatsApp */

.floating-cta-whatsapp {
    color: #15803d;
}

.floating-cta-whatsapp:hover {
    background: #f0fdf4;
}


/* Call */

.floating-cta-call {
    color: #064E3B;
}

.floating-cta-call:hover {
    background: #f0f5f3;
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {

    .floating-cta {
        left: 10px;
        right: 10px;
        bottom: 10px;

        transform: none;

        width: auto;

        padding: 5px;

        border-radius: 18px;

        gap: 3px;
    }


    .floating-cta-btn {

        min-width: 0;
        flex: 1;

        padding: 11px 6px;

        gap: 5px;

        font-size: 12px;

        border-radius: 14px;
    }


    .floating-cta-btn svg,
    .floating-cta-btn img {

        width: 18px;
        height: 18px;
    }

}