/* GLOBAL STYLES */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Poppins', sans-serif; }

/* NAVBAR & DROPDOWN */
.navbar { background: #fff; padding: 0 5%; height: 100px; display: flex; align-items: center; position: relative; z-index: 2000; width: 100%; }
.nav-container { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.logo img { height: 110px; }
.nav-links { display: flex; list-style: none; gap: 20px; }
.nav-links a { text-decoration: none; color: #333; font-weight: 600; font-size: 14px; }









.dropdown { position: relative; }
.dropdown-content { display: none; position: absolute; top: 100%; left: 0; background: #fff; min-width: 180px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); border-radius: 8px; list-style: none; padding: 10px 0; }
.dropdown:hover .dropdown-content { display: block; }
.dropdown-content li a { padding: 10px 20px; display: block; border-bottom: 1px solid #eee; }
.soon-badge { background: #ff4d4d; color: #fff; font-size: 10px; padding: 2px 5px; border-radius: 4px; margin-left: 5px; }




/* --- Desktop Styling --- */
.dropdown-content li {
    position: relative; /* Base for nested menu */
}

/* The secondary menu (hidden by default) */
.submenu {
    position: absolute;
    left: 100%; /* Push to the right of the state name */
    top: 0;
    background: #fff;
    min-width: 200px;
    display: none; /* Hidden */
    /* list-shadow: 0 8px 16px rgba(0,0,0,0.1); */
    border-left: 3px solid #0B2F56; /* Brand accent line */
    padding: 0;
    list-style: none;
    z-index: 100;
}

/* Show on Hover (Desktop) */
.has-submenu:hover > .submenu {
    display: block;
}

.submenu li a {
    padding: 12px 20px;
    font-size: 0.9rem;
    color: #333;
    display: block;
    border-bottom: 1px solid #f0f0f0;
}

.submenu li a:hover {
    background: #f8f9fa;
    color: #0B2F56;
}

.coming-soon-link {
    font-style: italic;
    color: #999 !important;
    cursor: default;
}

/* --- Mobile Styling (The "Pretty" Fix) --- */
@media screen and (max-width: 768px) {
    /* Make the menus stack instead of flying out */
    .submenu {
        position: static; 
        display: none; 
        width: 100%;
        background: #fdfdfd;
        border-left: none;
        padding-left: 15px; /* Indent the specific trips */
    }

    /* In mobile, we show it when the parent is clicked or active */
    .has-submenu.active .submenu {
        display: block;
    }
    
    .dropdown-content li a i {
        float: right; /* Put arrows on the right side */
    }
}










.nav-right { display: flex; align-items: center; gap: 15px; }
.book-now { background: #000; color: #fff; border: none; padding: 10px 20px; border-radius: 8px; font-weight: bold; cursor: pointer; }
.menu-icon { display: none; font-size: 24px; cursor: pointer; }

/* HERO SECTION */
.hero-wrapper { padding: 10px; background: #fff; }
.hero { position: relative; height: 95vh; width: 100%; overflow: hidden; display: flex; align-items: center; justify-content: center; border-radius: 15px; background: #000; }
.hero-video { position: absolute; width: 100%; height: 100%; object-fit: cover; z-index: 1; filter: brightness(0.6); pointer-events: none; }
.hero-overlay { position: relative; z-index: 2; text-align: center; color: #fff; width: 90%; }
.hero-overlay h1 { font-size: clamp(2.2rem, 8vw, 4.5rem); font-family: 'Playfair Display', serif; margin-bottom: 10px; }
.slogan { font-size: 1.2rem; margin-bottom: 20px; }

/* RESPONSIVE SEARCH BOX */
.search-box { background: #fff; padding: 12px 25px; border-radius: 40px; display: flex; align-items: center; max-width: 480px; margin: 20px auto; color: #333; width: 100%; }
.search-box input { border: none; outline: none; width: 100%; font-size: 16px; }
.search-box i { color: #888; }

/* TOP NOTCH */
.top-notch { padding: 60px 0 60px 5%; overflow: hidden; }
.section-title {
    text-align: center;
    width: 100%;
    margin: 0 auto 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    /* Reduced min-size from 2rem to 1.4rem for mobile safety */
    font-size: clamp(1.3rem, 5vw, 3rem);
    font-family: 'Great Vibes', cursive;
    padding: 0 5%;
        margin-bottom: 10px;
    margin-top: 0px;
   color: #2c3e50;
}

.trips-grid { display: flex; gap: 15px; overflow-x: auto; padding-bottom: 20px; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; margin-top: 50px; }
.trips-grid::-webkit-scrollbar { display: none; }
.trip-card { flex: 0 0 82%; background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.08); scroll-snap-align: start; border: 1px solid #eee; }

/* IMAGE SLIDER */
.card-slider { position: relative; height: 250px; background: #f4f4f4; overflow: hidden; }
.slides { height: 100%; width: 100%; }
.slides img { width: 100%; height: 100%; object-fit: cover; display: none; }
.slides img.active { display: block; }

.prev-arrow, .next-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; text-shadow: 0 0 5px #000; z-index: 10; padding: 15px; }
.next-arrow { right: 5px; }
.prev-arrow { left: 5px; }

/* CARD DETAILS */
.card-details { padding: 15px; background: #fff; }
.trip-title { font-size: 1.2rem; color: #222; margin-bottom: 5px; }
.price-row { display: flex; justify-content: space-between; margin: 12px 0; font-weight: 600; font-size: 1rem; }
.card-footer { display: flex; justify-content: space-between; align-items: center; }
.view-btn { background: #000; color: #fff; border: none; padding: 9px 18px; border-radius: 6px; cursor: pointer; font-size: 14px; }
.wa-icon { height: 26px; width: 26px; cursor: pointer; }

/* PAGINATION */
.slider-pagination { text-align: center; padding-right: 5%; margin-top: 10px; }
.dot { height: 8px; width: 8px; background-color: #bbb; border-radius: 50%; display: inline-block; margin: 0 5px; transition: 0.3s; }
.dot.active { background-color: #000; width: 20px; border-radius: 10px; }

/* WHATSAPP */
.whatsapp-float { position: fixed; bottom: 25px; right: 25px; z-index: 3000; transition: transform 0.3s; }
.whatsapp-float:hover { transform: scale(1.1); }
.whatsapp-float img { width: 55px; height: 55px; }

/* CUSTOMIZE SECTION */
.customize-section { padding: 0px 5%; background: #fff; text-align: left; }
/* Main attractive slogan (Large centered text) */
.slogan-attractive { 
    text-align: center;
    width: 100%;
    margin: -10px auto 0;
    white-space: nowrap;
    overflow: hidden;
   text-overflow: ellipsis;
    font-size: clamp(1rem, 1vw, 2.5rem);
    font-weight: 200;
    color: #1a1a1a9c;
    padding: 0 5%;
}

/* Secondary sub-slogan (Smaller grey text) */
.sub-slogan { 
    text-align: center;
    width: 100%;
    margin: 0 auto 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    /* Very small min-size for long phrases like "Your Pace, Your Way..." */
    font-size: clamp(0.7rem, 4vw, 1.1rem); 
    color: #666; 
    padding: 0 5%; 
}

.interest-container { width: 100%; overflow: hidden; position: relative; padding: 20px 0; }
.interest-scroll { display: flex; gap: 30px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 10px; }
.interest-scroll::-webkit-scrollbar { display: none; }

.interest-item { flex: 0 0 150px; display: flex; flex-direction: column; align-items: center; cursor: pointer; transition: transform 0.3s ease; }
.bubble-wrapper { width: 140px; height: 140px; border-radius: 50%; overflow: hidden; border: 3px solid #eee; margin-bottom: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.bubble-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }

.interest-item:hover .bubble-wrapper img { transform: scale(1.15); }
.interest-item:hover { transform: translateY(-5px); }
.interest-item span { font-weight: 600; font-size: 0.9rem; color: #333; text-align: center; }

/* NAVIGATION BUTTONS GLOBAL */
.interest-nav { margin-top: 20px; display: flex; justify-content: flex-start; gap: 20px; }
.interest-nav button { background: none; border: none; color: #888; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: color 0.3s; }
.interest-nav button:hover { color: #000; }

/* MEDIA QUERIES */
@media (max-width: 1024px) {
    .menu-icon { display: block; }
    .nav-links { display: none; position: absolute; top: 100px; left: 0; width: 100%; background: #fff; flex-direction: column; padding: 20px; box-shadow: 0 5px 10px rgba(0,0,0,0.05); }
    .nav-links.active { display: flex; }
    .nav-links li { width: 100%; padding: 10px 0; border-bottom: 1px solid #f0f0f0; }
    .dropdown-content { position: static; box-shadow: none; border: none; padding-left: 20px; display: block; }
}

@media (min-width: 1025px) {
    /* Critical Fix: Ensure overflow-x is auto so buttons can scroll */
    .trips-grid { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
    .trip-card { flex: 0 0 350px; }
    .slider-pagination { display: none; }
}

@media (max-width: 768px) {
    .bubble-wrapper { width: 110px; height: 110px; }
    .interest-item { flex: 0 0 120px; }
    /* .slogan-attractive { font-size: 1.4rem; } */
}
@media (max-width: 1025px) {
    .section-title { font-size: clamp(1.2rem, 9vw, 2rem); }
    .slogan-attractive { font-size: clamp(1.5rem, 6vw, 1.5rem); }
    .sub-slogan { font-size: 0.49rem; } /* Forces a tiny size if the phrase is long */
}
@media (max-width: 650px) {
    .section-title { font-size: clamp(1.2rem, 9vw, 2rem); }
    .slogan-attractive { font-size: clamp(0.9rem, 4.5vw, 1.5rem); }
    .sub-slogan { font-size: 0.3rem; } /* Forces a tiny size if the phrase is long */
}


@media (max-width: 480px) {
    .section-title { font-size: clamp(1.2rem, 9vw, 2rem); }
    .slogan-attractive { font-size: clamp(0.6rem, 3vw, 1.5rem); }
    .sub-slogan { font-size: 0.49rem; } /* Forces a tiny size if the phrase is long */
}



  




/* SQUAD SECTION STYLES */
.squad-section {
    padding: 60px 5%;
    background: #fff;
    text-align: center;
}

.squad-container {
    max-width: 900px;
    margin: 0 auto;
}

.squad-img {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    margin-bottom: 30px;
}

/* QUOTE STYLING */
.quote-wrapper {
    position: relative;
    padding: 0 20px;
}

.squad-quote {
    font-size: clamp(1rem, 4vw, 1.5rem);
    font-style: italic;
    color: #333;
    line-height: 1.6;
    font-weight: 500;
    max-width: 700px;
    margin: 0 auto;
    /* Ensuring the quote doesn't wrap awkwardly on small phones */
    padding: 10px 0;
}

.quote-wrapper i {
    color: #4ecdc4; /* Using the same brand color as your dots */
    font-size: 1.2rem;
    margin: 10px;
}

/* RESPONSIVE FIX FOR MOBILE */
@media (max-width: 480px) {
    .squad-section {
        padding: 40px 5%;
    }
    .squad-img {
        border-radius: 12px;
    }
    .squad-quote {
        font-size: 0.95rem; /* Slightly smaller for mobile visibility */
    }
}



:root {
    --logo-navy: #0B2F56; /* Navy from your logo */
}

.promise-section {
    padding: 80px 5%;
    background: #fdfdfd;
}

.promise-grid {
    display: grid;
    /* This creates 3 columns on desktop, forming 2 rows with 6 cards */
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1200px;
    margin: 40px auto 0;
}

.promise-card {
    background: #fff;
    padding: 40px 30px;
    border-radius: 20px;
    border: 1px solid #f0f0f0;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.promise-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(11, 47, 86, 0.08);
    border-color: var(--logo-navy);
}

.promise-icon {
    font-size: 2.2rem;
    color: var(--logo-navy);
    margin-bottom: 20px;
}

.promise-card h3 {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--logo-navy);
    /* Prevents title wrapping on smaller desktop screens */
    white-space: nowrap;
}

.promise-card p {
    font-size: 0.95rem;
    color: #555;
    line-height: 1.6;
}

/* RESPONSIVE BREAKPOINTS */

/* Tablets: 2 columns */
@media (max-width: 992px) {
    .promise-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Phones: 1 column */
@media (max-width: 600px) {
    .promise-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .promise-card h3 {
        font-size: 1.1rem;
        /* Ensures titles shrink for mobile width as requested before */
        font-size: clamp(1rem, 5vw, 1.2rem);
    }

    .promise-section {
        padding: 50px 5%;
    }
}












.faq-section {
    padding: 80px 5%;
    background: #fff;
}

.faq-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.2fr; /* Split layout */
    gap: 60px;
    align-items: start;
}

.faq-image-box {
    background: #f9f9f9;
    padding: 40px;
    border-radius: 20px;
    text-align: center;
}

.faq-path-img {
    width: 100%;
    max-width: 250px;
    opacity: 0.8;
}

.faq-small-text {
    margin-top: 20px;
    font-size: 0.85rem;
    color: var(--logo-navy);
    font-weight: 600;
}

/* Accordion Styles */
.faq-item {
    border-bottom: 1px solid #eee;
    margin-bottom: 10px;
}

.faq-question {
    width: 100%;
    padding: 25px 0;
    background: none;
    border: none;
    text-align: left;
    font-size: 1.15rem;
    font-weight: 600;
    color: #1a1a1a;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: 0.3s;
}

.faq-question:hover { color: var(--logo-navy); }

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.faq-answer p {
    padding: 0 0 25px 0;
    color: #666;
    line-height: 1.6;
}

.faq-item.active .faq-answer { max-height: 200px; }
.faq-item.active i { transform: rotate(45deg); color: var(--logo-navy); }

/* MOBILE RESPONSIVE */
@media (max-width: 900px) {
    .faq-container { grid-template-columns: 1fr; gap: 40px; }
    .faq-branding { text-align: center; }
    .faq-branding h2, .faq-branding h3, .faq-branding p { text-align: center !important; }
}








/* Unique wrapper to prevent interference with other sections */
.faq-heading-group {
    display: flex;
    flex-direction: column;
    gap: 5px; /* Adjust this to increase/decrease space between the two lines */
    margin-bottom: 15px;
}

.faq-main-heading {
    font-family: 'Your-Cursive-Font', cursive; /* Use your specific font here */
    font-size: 3rem;
    margin: 0;
    line-height: 1.2;
    color: #1a1a1a;
}

.faq-sub-heading {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0;
    color: var(--logo-navy); /* Using your #0B2F56 Navy */
    line-height: 1.2;
}

.faq-description {
    color: #666;
    font-size: 1.1rem;
    margin-bottom: 30px;
}

/* Ensure the image card stays clean */
.faq-illustration-card {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 20px;
    text-align: center;
}

.path-img {
    width: 100%;
    max-width: 250px;
    height: auto;
}









.site-footer {
    background-color: #000000eb; /* Black color as requested in notes */
    color: #ffffff;
    padding-top: 80px;
    min-height: 80vh; /* Makes it nearly a full scroll length */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
    padding: 0 5%;
}

.footer-logo {
    width: 170px;      /* Adjust size here */
    height: auto;
    display: block;
    object-fit: contain; /* Ensures logo fits perfectly without cutting */
    
    /* Visibility Fix for Black Background */
    /* filter: brightness(0) invert(1); Turns navy logo white */
    /* opacity: 0.9; */
    /* transition: transform 0.3s ease; */
    margin-bottom: 20px;
}

.footer-slogan {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 30px;
    opacity: 0.8;
}

.footer-socials a {
    color: #ffffff;
    font-size: 1.8rem;
    margin-right: 25px;
    transition: 0.3s ease;
}

.footer-socials a:hover {
    color: #b2b6d7; /* Your brand accent color */
}

.footer-col h4 {
    font-size: 1.2rem;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-col ul {
    list-style: none;
    padding: 0;
}

.footer-col ul li {
    margin-bottom: 15px;
}

.footer-col ul li a {
    color: #ffffff;
    text-decoration: none;
    opacity: 0.7;
    transition: 0.3s;
}

.footer-col ul li a:hover {
    opacity: 1;
    padding-left: 5px;
}

.footer-bottom {
    background-color: #000000eb; /* Slightly darker black for copyright */
    padding: 30px 0;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom p {
    font-size: 0.9rem;
    opacity: 0.5;
}

/* Responsive for mobile */
@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer-socials {
        display: flex;
        justify-content: center;
    }
    .footer-logo {
        margin: 0 auto 25px;
    }
}












html {
    scroll-behavior: smooth;
}

/* Optional: Highlight the grid when searched */
#tripsGrid {
    scroll-margin-top: 100px; /* Gives some space at the top after scrolling */
}









/* Import the Cursive Font */
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@600&display=swap');

.honeymoon-heading {
    text-align: center;
    margin-bottom: 40px;
}

.honeymoon-heading h2 {
    font-family:  'Great Vibes', cursive;;
    font-size: 3rem; /* Adjust size as needed */
    color: #2c3e50; /* Or your brand's dark color */
    letter-spacing: 1px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.1); /* Subtle shadow for depth */
    margin-bottom: 10px;
}

.honeymoon-heading span {
    display: block;
    font-family: 'Poppins', sans-serif; /* Standard font for sub-text */
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: #888;
    margin-top: -10px;
}