/* Global Variables */
:root {
    /* Colors */
    --color-primary: #FCB600;
    /* Golden Yellow */
    --color-text: #424242;
    /* Dark Charcoal */
    --color-text-light: #757575;
    /* Lighter text for secondary info */
    --color-bg: #FFFFFF;
    /* White */
    --color-bg-secondary: #F5EEDC;
    /* Cream/Beige for sub-nav */
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-star: #FFD700;
    /* Gold for stars */

    /* Typography */
    --font-main: 'Montserrat', sans-serif;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extra-bold: 800;

    /* Typography Scale - Mobile First */
    --font-size-h1: 2rem;
    --font-size-h2: 1.45rem;
    --font-size-h3: 1.2rem;
    --font-size-h4: 1rem;
    --font-size-body: 0.9375rem;
    --font-size-small: 0.875rem;

    /* Spacing - Mobile First */
    --spacing-xs: 0.6rem;
    --spacing-sm: 1.2rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2.25rem;
    --spacing-xl: 3.5rem;

    /* Section Spacing - Consistent for all devices */
    --section-padding-y: 2.8rem;
    --section-margin-bottom: 0;

    /* Container Padding */
    --container-padding: 1rem;

    /* Layout */
    --container-width: 1250px;
    --header-height: 70px;
    --border-radius: 4px;
    --transition-speed: 0.3s;
}

/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-main);
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    font-size: var(--font-size-body);
    top: 0 !important;
}

/* Base Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    margin: 0;
}

h1 {
    font-size: var(--font-size-h1);
}

h2 {
    font-size: var(--font-size-h2);
}

h3 {
    font-size: var(--font-size-h3);
}

p {
    font-size: var(--font-size-body);
    line-height: 1.7;
    margin: 0;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color var(--transition-speed);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

button{
    font-family: var(--font-main);
}
.mt-1{
    margin-top: 0.5rem;
}
.mt-2{
    margin-top: 1rem;
}
.mt-3{
    margin-top: 1.5rem;
}

.mb-1{
    margin-bottom: 0.5rem;
}
.mb-2{
    margin-bottom: 1rem;
}
.mb-3{
    margin-bottom: 1.5rem;
}
/* Add padding to body when white header is used to prevent overlap */
main {
    padding-top: 71px; /* Height of header */
}

/* Container */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

/* Typography Helpers */
.bold-text {
    font-weight: var(--font-weight-bold);
}

.highlight-text {
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
}

/* --- Components --- */

/* Header - Transparent & Overlay */
.header {
    position: absolute;
    /* Overlay on Hero */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background: transparent;
    padding-top: 0.3rem ;
    padding-bottom: 0.3rem;
}

.header-container {
    max-width: 1400px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
}

.logo-img {
    height: 55px;
    border-radius: 8px;
    background: transparent;
    /* Remove white background */
}

/* Default Desktop Nav State (Hidden) */
.desktop-nav {
    display: none;
}

/* Header Action Icons */
.header-actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.icon-btn .fa-phone-alt{
    font-size: 1.1rem;
}

.icon-btn,
.mobile-menu-btn {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    /* width: 40px;
    height: 40px; */
    /* border-radius: 50%; */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-speed);
    font-size: 1.5rem;
}

.icon-btn:hover,
.mobile-menu-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.05);
}

/* Navigation Overlay (Full Screen) */
.nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--color-white);
    z-index: 200;
    display: flex;
    flex-direction: column;
    padding: var(--spacing-md);
    transform: translateX(100%);
    /* Slide out default */
    transition: transform 0.4s ease-in-out;
}

.nav-overlay.active {
    transform: translateX(0);
}

/* Nav Header - Logo and Close Button Row */
.nav-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-sm);
}

.nav-logo img {
    height: 70px;
}

.close-menu-btn {
    background: none;
    border: none;
    font-size: 1.7rem;
    cursor: pointer;
    color: var(--color-text);
    transition: transform var(--transition-speed);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.close-menu-btn:hover {
    transform: scale(1.1);
}

.nav-content {
    padding-left: var(--spacing-sm);
    padding-right: var(--spacing-sm);
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.nav-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    /* Removing gap, using padding instead for control */
}

.nav-link {
    font-size: 1rem;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    padding: 15px 0;
    /* Reduced padding */
}

.nav-link i {
    font-size: 1rem;
    color: #b4b4b4;
}

.nav-link.highlight {
    color: var(--color-primary);
}

/* Dropdown Menu Styles */
.dropdown-item-parent {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--color-white);
    min-width: 220px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border-radius: 8px;
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 1000;
    border: 1px solid rgba(0,0,0,0.05);
}

.dropdown-item-parent:hover > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
}

.dropdown-link:hover {
    background-color: #f9f9f9;
    color: var(--color-primary);
    border-left-color: var(--color-primary);
    padding-left: 25px;
}

/* Nested Dropdown Styles (Desktop) */
.dropdown-submenu {
    position: relative;
    width: 100%;
}

.dropdown-submenu .dropdown-menu {
    top: 0;        /* Align top with parent item */
    left: 100%;        /* Fly out to the right */
    margin-top: 0;
    margin-left: 0;    /* Remove gap to prevent mouse-leave */
}

/* Ensure sub-menu stays visible on hover */
.dropdown-submenu:hover > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Arrow rotation for desktop submenu */
.dropdown-submenu:hover > a .fa-chevron-right {
    transform: rotate(90deg); /* Optional: rotate if desired, or keep right */
    transition: transform 0.2s;
}

/* Mobile Dropdown Styles */
.mobile-dropdown-menu {
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
    background-color: #f9f9f9;
}

.mobile-dropdown-parent.active > .mobile-dropdown-menu {
    height: auto;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

.mobile-dropdown-parent.active > a .rotate-icon {
    transform: rotate(90deg);
    color: var(--color-primary);
}

.mobile-dropdown-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px 10px 30px; /* Level 1 Indent */
    color: var(--color-text);
    font-size: 0.9rem;
    border-left: 2px solid transparent;
}

/* Level 2 Indent (Nested items) */
.mobile-dropdown-menu .mobile-dropdown-menu .mobile-dropdown-link {
    padding-left: 50px; 
    font-size: 0.85rem;
}

.mobile-dropdown-link:hover {
    color: var(--color-primary);
    background-color: #f0f0f0;
    border-left-color: var(--color-primary);
}

.rotate-icon {
    transition: transform 0.3s ease;
    width: 20px;
    text-align: center;
}

.skiptranslate {
    /* visibility: hidden !important; */
    display: none !important;
}

/* Language Switcher */
.lang-switcher {
    position: relative;
    z-index: 101;
}

.lang-btn {
    background: transparent;
    border: none;
    color: var(--color-white);
    padding: 6px 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem; /* Slightly larger text */
    font-weight: 600;
    transition: all 0.3s ease;
    font-family: var(--font-main);
    opacity: 0.9;
}

.lang-btn:hover {
    opacity: 1;
    transform: translateY(-1px);
}

.lang-btn i {
    font-size: 1rem;
}

.lang-dropdown {
    position: absolute;
    top: 100%; /* Closer to button */
    right: 0;
    background: var(--color-white);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding: 8px 0; /* More padding */
    min-width: 150px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(0,0,0,0.05); /* Subtle border */
    overflow: hidden; /* For rounding */
}

.lang-switcher:hover .lang-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.lang-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.2s;
    font-weight: 500;
}

.lang-option:hover {
    background: #f5f5f5;
    color: var(--color-primary);
}

.lang-option.active {
    font-weight: 700;
    color: var(--color-primary);
    background: #fffdf5;
}

/* Mobile Menu Language Switcher */
.mobile-lang-switcher {
    margin: 20px;
    padding: 20px 0;
    border-top: 1px solid #eee;
    display: flex;
    gap: 15px;
    justify-content: center;
}

.mobile-lang-btn {
    padding: 8px 16px;
    border: 1px solid #eee;
    border-radius: 20px;
    color: var(--color-text);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}

.mobile-lang-btn.active {
    background: var(--color-primary);
    color: var(--color-text); /* Black on yellow */
    border-color: var(--color-primary);
}

/* Header White Override for Language Switcher */
.header-white .lang-btn {
    color: var(--color-text);
}

.header-white .lang-btn:hover {
    background: rgba(0, 0, 0, 0.05);
}

/* Hero Section */
.hero {
    position: relative;
    height: 55vh;
    /* Full screen */
    display: flex;
    align-items: center;
    /* Center vertical */
    justify-content: center;
    /*enter container horizontally */
    color: var(--color-white);
}

.hero-bg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4));
    /* Lighter overlay for better image visibility */
    z-index: -1;
}

.hero-content {
    position: relative;
    z-index: 10;
    margin-top: 0;
    padding: var(--header-height) var(--container-padding) var(--spacing-xl);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    text-align: center;
    max-width: 100%;
}

.hero h1 {
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-extra-bold);
    text-transform: uppercase;
    margin-bottom: var(--spacing-sm);
    line-height: 1.1;
    letter-spacing: 0.02em;
}

/* Trust Signals (Stars) */
.trust-signals {
    margin-bottom: var(--spacing-lg);
}

.stars {
    color: var(--color-star);
    margin-bottom: 8px;
    font-size: 1.3rem;
}

.trust-text {
    font-size: 0.95rem;
    /* Improved readability */
    font-weight: var(--font-weight-medium);
    text-decoration: underline;
    opacity: 0.95;
    line-height: 1.5;
}

/* Breadcrumbs */
.hero-breadcrumbs {
    font-size: 0.875rem;
    /* Improved readability */
    font-weight: var(--font-weight-medium);
    color: rgba(255, 255, 255, 0.9);
    position: absolute;
    bottom: 6%;
    /* Safe area margin */
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 2 * var(--container-padding));
    text-align: center;
    padding: 0 var(--spacing-sm);
}

/* Secondary Navigation Bar */
.secondary-nav-bar {
    background-color: var(--color-bg-secondary);
    padding: var(--spacing-sm) 0;
    border-bottom: 1px solid #ddd;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Hide scrollbar but keep functionality */
.secondary-nav-bar::-webkit-scrollbar {
    display: none;
}

.secondary-nav-bar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.secondary-nav-content {
    display: flex;
    gap: var(--spacing-sm);
    min-width: min-content;
    padding: 0 1rem; /* Add padding since no container wrapper */
}

.sec-nav-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: var(--font-weight-semibold);
    font-size: 0.8rem;
    white-space: nowrap;
    flex-shrink: 0;
    color: var(--color-text);
    cursor: pointer;
    gap: var(--spacing-xs);
}

/* Trust Bar Scroll Indicator */
.trust-bar {
    position: relative;
}

.trust-scroll-indicator {
    position: absolute;
    bottom: 0px;
    left: 0;
    /* width set dynamically by JS to match scrollWidth */
    height: 3px; /* Slightly taller */
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 2px;
    padding: 0 1rem; /* Add padding inside instead */
    box-sizing: border-box;
}

.trust-scroll-indicator.visible {
    opacity: 1;
}

.trust-scroll-progress {
    height: 100%;
    background: var(--color-primary);
    width: 65px; /* Larger thumb for visibility */
    border-radius: 4px;
    transform: translateX(0);
    will-change: transform;
    transition: transform 0.1s ease-out; /* Smooth movement */
}

/* Section Spacing Base */
.section {
    padding: var(--section-padding-y) 0;
    margin-bottom: var(--section-margin-bottom);
}

/* Introduction */
.introduction {
    background-color: var(--color-bg);
}

.intro-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

.intro-content h2 {
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--spacing-md);
    color: var(--color-text);
    text-align: center;
    line-height: 1.3;
}

.intro-content p {
    font-size: var(--font-size-body);
    margin-bottom: var(--spacing-sm);
    color: #555;
    line-height: 1.75;
    font-weight: var(--font-weight-regular);
}

/* Wrapper for fade effect */
.intro-content>p:first-child {
    position: relative;
    margin-bottom: 0;
}

/* Fade-out gradient overlay when text is collapsed */
.intro-content::before {
    content: '';
    position: absolute;
    bottom: 0;
    /* Position above the button */
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.95), white);
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.4s ease;
    z-index: 1;
}

/* Hide gradient when expanded */
.intro-content.expanded::before {
    opacity: 0;
}

/* Show More / Hidden Text Logic */
.intro-more-text {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
    opacity: 0;
}

.intro-more-text.expanded {
    padding-top: 18px;
    max-height: 500px;
    /* Arbitrary large height */
    opacity: 1;
    transition: max-height 0.6s ease-in, opacity 0.4s ease-in;
}

.read-more-link {
    display: inline-block;
    position: relative;
    z-index: 2;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text);
    background: transparent;
    border: none;
    border-bottom: 2px solid var(--color-text);
    padding-top: 8px;
    cursor: pointer;
    text-transform: none;
    font-size: 0.9rem;
    transition: all var(--transition-speed);
    text-decoration: none;
}

.read-more-link:hover {
    border-bottom-color: var(--color-primary);
    color: var(--color-primary);
}

.read-more-link i {
    margin-left: 5px;
    font-size: 0.75rem;
    transition: transform var(--transition-speed);
}

.read-more-link:hover i {
    transform: translateY(2px);
}

/* Adventure Trips Section */
.adventure-trips {
    background-color: #f9f9f9;
}

.section-title {
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-bold);
    text-align: center;
    color: var(--color-text);
    margin-bottom: var(--spacing-xs);
}

.section-subtitle {
    font-size: var(--font-size-body);
    text-align: center;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-xs);
}

.trips-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
}

.trip-card {
    background: var(--color-white);
    /* border-radius: 12px; */
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform var(--transition-speed), box-shadow var(--transition-speed);
}

.trip-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.trip-image {
    position: relative;
    width: 100%;
    height: 240px;
    overflow: hidden;
}

.trip-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.trip-card:hover .trip-image img {
    transform: scale(1.08);
}

.trip-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background-color: var(--color-primary);
    color: var(--color-bg);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.trip-content {
    padding: var(--spacing-md);
}

.tab-btn.active,
.filter-btn.active {
    color: var(--color-text);
    font-weight: var(--font-weight-bold);
    border-bottom-color: var(--color-primary);
}
.trip-title {
    font-size: var(--font-size-h3);
    font-weight: var(--font-weight-bold);
    color: var(--color-text);
    margin-bottom: var(--spacing-xs);
}

.trip-description {
    font-size: var(--font-size-body);
    line-height: 1.5;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-md);
}

.trip-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    border-bottom: 1px solid #eee;
}

.trip-detail {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--color-text);
}

.trip-detail i {
    color: var(--color-primary);
    width: 16px;
}

.trip-detail strong {
    font-weight: var(--font-weight-semibold);
}

.trip-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 24px;
    background-color: var(--color-text);
    color: var(--color-white);
    border: none;
    /* border-radius: 6px; */
    font-size: 0.9375rem;
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--transition-speed);
}

.trip-btn:hover {
    background-color: var(--color-primary);
    color: var(--color-text);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(254, 203, 0, 0.3);
}

.trip-btn i {
    font-size: 1.285rem;
}

/* Tablet Breakpoint */
@media (min-width: 768px) {
    :root {
        --container-padding: 1.5rem;   /* Reduced from 2rem */
        --spacing-lg: 2.5rem;        /* Reduced from 3rem */
        --spacing-xl: 3.5rem;        /* Reduced from 4.5rem */
        --section-padding-y: 3rem;   /* Reduced from 4rem */

        /* Typography Scale - Tablet */
        --font-size-h1: 2.5rem;      /* Reduced from 3rem */
        --font-size-h2: 1.75rem;     /* Reduced from 2rem */
        --font-size-h3: 1.4rem;      /* Reduced from 1.5rem */
        --font-size-body: 1rem;
        --font-size-small: 0.9375rem;
    }

    .logo-img {
        height: 60px; /* Reduced from 65px */
    }

    .trust-text {
        font-size: var(--font-size-body);
    }

    .hero-breadcrumbs {
        font-size: 0.9375rem;
        bottom: 10%;
    }



    .trips-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-md);
    }
}

/* Desktop Breakpoint */
@media (min-width: 992px) {
    :root {
        --container-padding: 2rem;       /* Reduced from 2.5rem */
        --spacing-md: 1.5rem;            /* Reduced from 2rem */
        --spacing-lg: 2.5rem;              /* Reduced from 4rem */
        --spacing-xl: 4.5rem;            /* Reduced from 6rem */
        --section-padding-y: 3.5rem;     /* Reduced from 5rem */

        /* Typography Scale - Desktop */
        --font-size-h1: 3rem;            /* Reduced from 4.5rem */
        --font-size-h2: 2rem;            /* Reduced from 2.5rem */
        --font-size-h3: 1.5rem;          /* Reduced from 1.75rem */
        --font-size-body: 1rem;          /* Kept standard */
        --font-size-small: 0.9375rem;
    }

    main {
        padding-top: 75px; /* Height of header */
    }

    .mobile-menu-btn {
        display: none;
    }

    .desktop-nav {
        display: block;
    }

    .desktop-nav-list {
        display: flex;
        gap: 1.5rem;
        /* Reduced from 1.75rem */
        align-items: center;
        justify-content: flex-end;
    }

    .desktop-nav-list .nav-link {
        border: none;
        font-size: 0.86rem;
        padding: 0;
        /* color: var(--color-white); */
        /* text-transform: uppercase; */
        letter-spacing: 0.2xpx;
        font-weight: var(--font-weight-semibold);
        transition: color var(--transition-speed);
        gap: .6rem;
    }

    .desktop-nav-list .nav-link:hover {
        color: var(--color-primary);
    }

    .logo-img {
        height: 65px; /* Reduced from 70px */
    }

    /* .hero{
        height: 60vh;
    } */

    .hero h1 {
        letter-spacing: 0.03em;
    }

    .stars {
        font-size: 1.25rem; /* Reduced from 1.4rem */
    }

    .trust-text {
        font-size: var(--font-size-body);
    }

    .hero-breadcrumbs {
        font-size: 0.9375rem;
        bottom: 8%;
    }

    .secondary-nav-content {
        max-width: var(--container-width);
        margin: 0 auto;
        flex-direction: row;
        justify-content: center; /* Center items on desktop */
        gap: var(--spacing-md); /* Reduced from --spacing-lg */
    }

    .sec-nav-item {
        border-right: 1px solid #ccc;
        padding-right: var(--spacing-md);
        font-size: 0.9rem;
    }

    .sec-nav-item:last-child {
        border: none;
    }

    /* Hide trust bar scroll indicator on desktop */
    .trust-scroll-indicator {
        display: none;
    }

    /* Show all introduction content on desktop */
    .intro-more-text {
        max-height: none !important;
        opacity: 1 !important;
        padding-top: 18px;
    }

    /* Hide gradient overlay on desktop */
    .intro-content::before {
        display: none;
    }

    /* Hide read more button on desktop */
    .read-more-link {
        display: none;
    }



    .trips-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spacing-lg);
    }

    .trip-image {
        height: 220px; /* Reduced from 240px */
    }

    .trip-details {
        justify-content: space-between;
    }

    /* Full-width sticky tabs on desktop */
    .trips-tabs-container {
        position: sticky;
        top: 0 !important; /* Override base 55px - stick to top of page */
        left: 0;
        right: 0;
        width: 100vw;
        margin-left: calc(-50vw + 50%); /* Break out of container */
        margin-right: calc(-50vw + 50%);
        background: #f9f9f9 !important; /* Match section background */
        box-shadow: none !important; /* Remove shadow initially */
        z-index: 90;
    }

    /* White background only when stuck */
    .trips-tabs-container.is-stuck {
        background: #ffffff !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
    }

    .trips-tabs-container .trips-tabs {
        max-width: var(--container-width);
        margin: 0 auto;
        padding: 0 var(--container-padding);
    }
}

/* Large Desktop */
@media (min-width: 1400px) {
    .desktop-nav-list {
        gap: 1.6rem;
    }

    :root {
        /* Typography Scale - Large Desktop */
        --font-size-h1: 3.5rem; /* Reduced significantly from 5.5rem */
    }
}

/* =========================================
   Global Footer Styles
   ========================================= */
.site-footer {
    background-color: #1a1a1a;
    color: #e0e0e0;
    padding-top: 4rem;
    font-size: 0.95rem;
    margin-top: 0rem; /* Removing default section margin if any */
}

.footer-top {
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
}

@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    }
}

.footer-widget h3 {
    color: var(--color-white);
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
    position: relative;
    padding-bottom: 0.8rem;
    font-weight: 700;
}

.footer-widget h3::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: var(--color-primary);
}

.footer-logo img {
    height: 60px;
    margin-bottom: 1.2rem;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.footer-desc {
    color: #a0a0a0;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    max-width: 300px;
}

/* Social Icons */
.social-links {
    display: flex;
    gap: 0.8rem;
}

.social-link {
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--color-white);
    transition: all 0.3s ease;
    font-size: 1rem;
    text-decoration: none;
}

.social-link:hover {
    background: var(--color-primary);
    color: #000;
    transform: translateY(-3px);
}

/* Links Lists */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.8rem;
}

.footer-links a {
    color: #a0a0a0;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.footer-links a:hover {
    color: var(--color-primary);
    padding-left: 5px;
}

/* Contact Info */
.contact-info {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-info li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.2rem;
    color: #a0a0a0;
    line-height: 1.5;
}

.contact-info i {
    color: var(--color-primary);
    margin-top: 5px;
    font-size: 1rem;
}

/* Scroll to Top Button */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--color-primary);
    color: var(--color-text);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    box-shadow: 0 4px 20px rgba(252, 182, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
    -webkit-tap-highlight-color: transparent; /* Remove tap highlight on mobile */
}

.scroll-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-to-top:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(252, 182, 0, 0.6);
    background: #ffc933;
}

.scroll-to-top i {
    transition: transform 0.3s ease;
}

.scroll-to-top:hover i {
    transform: translateY(-3px);
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .scroll-to-top {
        bottom: 20px;
        right: 20px;
        width: 45px;
        height: 45px;
        font-size: 1.1rem;
    }
    
    /* Disable hover effects on mobile */
    .scroll-to-top:hover {
        transform: translateY(0);
        box-shadow: 0 4px 20px rgba(252, 182, 0, 0.4);
        background: var(--color-primary);
    }
    
    .scroll-to-top:hover i {
        transform: translateY(0);
    }
}

/* Footer Bottom */
.footer-bottom {
    padding: 1.5rem 0;
    text-align: center;
    color: #666;
    font-size: 0.85rem;
}

.footer-bottom p {
    margin: 0;
}

.footer-bottom a {
    color: #888;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-bottom a:hover {
    color: var(--color-primary);
}

/* =========================================
   Trip Card Slider & Interactivity
   ========================================= */
.trip-card[data-link] {
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.trip-card[data-link]:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Card Slider Styles */
.card-slider-container {
    position: relative;
    width: 100%;
}

.card-slides {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex; /* Horizontal layout */
    overflow-x: auto; /* Enable horizontal scroll */
    scroll-snap-type: x mandatory; /* Snap to slides */
    scrollbar-width: none; /* Hide scrollbar Firefox */
    -ms-overflow-style: none; /* Hide scrollbar IE/Edge */
    scroll-behavior: smooth;
}

.card-slides::-webkit-scrollbar {
    display: none; /* Hide scrollbar Chrome/Safari */
}

.card-slide {
    flex: 0 0 100%; /* Each slide takes full width */
    width: 100%;
    height: 100%;
    object-fit: cover;
    scroll-snap-align: start; /* Snap point */
    scroll-snap-stop: always; /* Force stop at each slide */
    border-radius: 0; /* Override any defaults */
}

/* Ensure no scale transform on hover specifically for slides to prevent jitter */
.trip-card:hover .card-slide {
    transform: none; 
}

/* Slider Navigation Buttons */
.card-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
    font-size: 0.8rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 5;
    opacity: 0;
    transition: all 0.3s ease;
}

.card-nav-btn:hover {
    background: white;
    transform: translateY(-50%) scale(1.1);
    color: var(--color-primary);
}

.card-nav-btn.prev {
    left: 10px;
}

.card-nav-btn.next {
    right: 10px;
}

/* Show buttons on hover only for desktop */
@media (min-width: 992px) {
    .trip-card:hover .card-nav-btn {
        opacity: 1;
    }
}

/* Hide navigation buttons on mobile/tablet */
@media (max-width: 991px) {
    .card-nav-btn {
        display: none !important;
    }
}

.card-indicators {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 2;
    background: rgba(0, 0, 0, 0.3); /* improved visibility */
    padding: 4px 8px;
    border-radius: 12px;
}

.card-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.card-indicator.active {
    background: var(--color-primary);
    transform: scale(1.2);
}

.trip-badge {
    z-index: 20;
}

/* Sticky Tabs Navigation */
.trips-tabs-container {
    position: sticky;
    top: 55px; /* Adjusted for transparent header offset if needed, or stick to top */
    z-index: 90; /* Below header if header is 100 */
    background: #f9f9f9;
    backdrop-filter: blur(5px);
    padding: 1rem 0;
    margin-bottom: 2rem;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

.trips-tabs-container.is-stuck {
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.trips-tabs {
    display: flex;
    justify-content: center;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 5px; /* For scrollbar if needed */
}

/* Hide scrollbar for tabs */
.trips-tabs::-webkit-scrollbar {
    display: none;
}
.trips-tabs {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.tab-btn,
.filter-btn {
    background: transparent;
    border: 1px solid #eee;
    padding: 0.7rem 1.4rem;
    font-family: var(--font-main);
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--color-text);
    cursor: pointer;
    border-radius: 50px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.tab-btn:hover,
.filter-btn:hover {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background: rgba(252, 182, 0, 0.05);
}

.tab-btn.active,
.filter-btn.active {
    background: var(--color-primary);
    color: var(--color-text); /* Black/Dark text on yellow */
    border-color: var(--color-primary);
    box-shadow: 0 4px 10px rgba(252, 182, 0, 0.3);
}

/* Card Filtering Animation */
.trip-card {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    transform: scale(1);
    transform-origin: center top;
}

.trip-card.hide {
    display: none;
    opacity: 0;
    transform: scale(0.95);
}

/* Mobile Adjustments for Tabs */
@media (max-width: 768px) {
    .trips-tabs-container {
        top: 0; 
        margin: 0 -1rem 2rem -1rem; /* Full width */
        padding: 1rem 1rem;
        border-bottom: 1px solid #e8e8e8;
    }
    
    .trips-tabs {
        justify-content: flex-start; /* Align left for scroll */
    }

    .tab-btn {
        padding: 0.5rem 1rem;
        font-size: 0.85rem;
        background: #fff;
    }
}

/* Custom Scroll Indicator */
.scroll-indicator {
    position: absolute;
    bottom: 0px;
    left: 1rem; /* Match mobile container padding */
    width: calc(100% - 2rem); /* Match content width */
    height: 3px;
    background: transparent;
    pointer-events: none; /* Non-interactive */
    opacity: 0;
    transition: opacity 0.3s ease;
}

.scroll-indicator.visible {
    opacity: 1;
}

.scroll-progress {
    height: 100%;
    background: var(--color-primary);
    width: 60px; /* Fixed size thumb */
    border-radius: 4px; /* Fully rounded */
    transform: translateX(0);
    will-change: transform;
}

/* Tab Dropdown Styles */
.tab-dropdown-parent {
    position: relative;
    display: inline-block;
}

.tab-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border-radius: 8px;
    padding: 8px 0;
    min-width: 160px;
    visibility: hidden;
    opacity: 0;
    transition: all 0.2s ease;
    z-index: 9999;
    margin-top: 10px; /* Space between button and menu */
}

/* Arrow for the dropdown menu box */
.tab-dropdown-menu::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 6px 6px 6px;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
}

.tab-dropdown-menu.active {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.tab-dropdown-item {
    display: block;
    width: 100%;
    padding: 10px 15px;
    text-align: left;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 0.95rem;
    color: var(--color-text);
    font-family: var(--font-main);
    transition: background 0.2s, color 0.2s;
}

.tab-dropdown-item:hover {
    background-color: #f9f9f9;
    color: var(--color-primary);
}

.tab-dropdown-item.active {
    color: var(--color-primary);
    font-weight: 600;
    background-color: #f5f5f5;
}

.tab-btn .fa-chevron-down {
    margin-left: 6px;
    font-size: 0.8em;
    transition: transform 0.3s ease;
}

.tab-btn.dropdown-open .fa-chevron-down {
    transform: rotate(180deg);
}

/* Ensure overflow doesn't clip the dropdown - REMOVED to restore scroll */
/* .trips-tabs-container { overflow: visible; } */
/* .trips-tabs { flex-wrap: wrap; } */

/* Mobile Sticky Header */
@media (max-width: 991px) {
    .header, .header.header-white {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        background-color: var(--color-white) !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.2);
        padding: 0.5rem 0;
        z-index: 80 !important; 
    }

    /* .logo-img {
        height: 45px;
    }

    .icon-btn, 
    .mobile-menu-btn {
        background-color: transparent;
        border: 1px solid #ddd;
        color: var(--color-text);
    }

    .icon-btn:hover, 
    .mobile-menu-btn:hover {
        background-color: #f5f5f5;
        color: var(--color-primary);
    } */

     /* Adjust sticky tabs to sit below header */
    /* .trips-tabs-container {
        top: 75px !important;
        z-index: 99 !important; 
    } */

}
