body.sidebar-open {
    overflow: hidden;
}

.hero-slide {
    transition: transform 0.7s ease-in-out;
}

.hero-arrow {
    background: rgba(0, 0, 0, 0.5);
    color: #db9c28;
    padding: 0.5rem;
    border-radius: 50%;
    cursor: pointer;
}

#hero-section {
    touch-action: pan-y;
}

#hero-slider {
    display: none;
}

.no-js #hero-slider {
    display: flex;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #9ca3af;
    cursor: pointer;
    transition: background-color 0.3s;
}

.dot.active {
    background: #db9c28;
}

.tour-card,
.feature-card,
.fleet-card,
.testimonial-card,
.office-card,
.trending-tour-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tour-card:hover,
.feature-card:hover,
.fleet-card:hover,
.testimonial-card:hover,
.office-card:hover,
.trending-tour-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.fleet-carousel {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.fleet-carousel::-webkit-scrollbar {
    display: none;
}

.fleet-item {
    flex: 0 0 auto;
    width: 300px;
    scroll-snap-align: start;
    margin-right: 1rem;
}

.whatsapp-float,
.call-float {
    position: fixed;
    z-index: 50;
}

.whatsapp-float {
    bottom: 20px;
    right: 20px;
}

.call-float {
    bottom: 20px;
    left: 20px;
}

.whatsapp-float a,
.call-float a {
    background-color: #25D366;
    color: white;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s;
}

.call-float a {
    background-color: #db9c28;
}

.whatsapp-float a:hover,
.call-float a:hover {
    transform: scale(1.1);
}

@media (max-width: 640px) {
    .whatsapp-float a,
    .call-float a {
        width: 50px;
        height: 50px;
    }
    .whatsapp-float a svg,
    .call-float a svg {
        width: 24px;
        height: 24px;
    }
}


/* New Branding Section Styles */

.branding-section {
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
    padding: 4rem 2rem;
    text-align: center;
    overflow: hidden;
}

.branding-content {
    position: relative;
    z-index: 1;
    color: #fff;
}

.branding-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #db9c28;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.branding-subtitle {
    font-size: 1.25rem;
    color: #e0e0e0;
    margin-bottom: 2rem;
}

.branding-button {
    padding: 0.75rem 2rem;
    background-color: #db9c28;
    color: #000;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.branding-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(219, 156, 40, 0.5);
}

.branding-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23db9c28" fill-opacity="0.1" d="M0,64L48,80C96,96,192,128,288,128C384,128,480,96,576,85.3C672,75,768,85,864,106.7C960,128,1056,160,1152,176C1248,192,1344,192,1392,192L1440,192V320H1392C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320H0V64Z"></path></svg>');
    background-size: cover;
    animation: wave 8s infinite linear;
    opacity: 0.3;
}

@keyframes wave {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
    100% {
        transform: translateY(0);
    }
}

.branding-particle {
    position: absolute;
    width: 10px;
    height: 10px;
    background: #db9c28;
    border-radius: 50%;
    animation: float 6s infinite;
}

.branding-particle:nth-child(1) {
    top: 10%;
    left: 20%;
    animation-delay: 0s;
}

.branding-particle:nth-child(2) {
    top: 30%;
    left: 70%;
    animation-delay: 2s;
}

.branding-particle:nth-child(3) {
    top: 60%;
    left: 40%;
    animation-delay: 4s;
}

@keyframes float {
    0% {
        transform: translateY(0) scale(1);
        opacity: 0.8;
    }
    50% {
        transform: translateY(-20px) scale(1.2);
        opacity: 0.5;
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 0.8;
    }
}


/* Simple Disclaimer Section Styles */

.disclaimer-section {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
    padding: 2.5rem 1.5rem;
    text-align: center;
    border-top: 2px solid #db9c28;
    margin-top: 2rem;
}

.disclaimer-content {
    max-width: 750px;
    margin: 0 auto;
    color: #fff;
}

.disclaimer-title {
    font-size: 1.6rem;
    font-weight: 600;
    color: #db9c28;
    margin-bottom: 0.8rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
}

.disclaimer-text {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 1.2rem;
    color: #fff;
    font-weight: 400;
}

.disclaimer-button {
    padding: 0.6rem 1.8rem;
    background-color: #db9c28;
    color: #1a1a1a;
    font-weight: 500;
    border-radius: 3px;
    border: 1px solid #e5c949;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.disclaimer-button:hover {
    background-color: #e5c949;
    color: #fff;
}


/* /// */


/* Additional Styles for Images and Layout */

.text-center img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.rounded-lg {
    border-radius: 0.5rem;
}

.shadow-lg {
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
}

.object-cover {
    object-fit: cover;
}

.h-64 {
    height: 16rem;
}

.h-72 {
    height: 18rem;
}

.h-48 {
    height: 12rem;
}

.h-32 {
    height: 8rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mt-4 {
    margin-top: 1rem;
}


/* /// */


/* Ensure mobile overlay sits above floating buttons and header */

#mobile-menu {
    z-index: 9999;
    /* very high so it always overlays */
}


/* keep floating buttons below overlay */

.whatsapp-float,
.call-float {
    z-index: 80;
    /* lower than #mobile-menu but higher than header */
}


/* Small helpful class for accessibility animation (optional) */

.sr-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


/* Desktop dropdown fix */

nav .group:hover>div {
    min-width: 160px;
    /* keep your current minimum */
    max-width: 300px;
    /* allow bigger dropdown if text is long */
    width: max-content;
    /* adjust width based on text length */
    box-sizing: border-box;
    /* include padding in width */
    white-space: normal;
    /* allow text to wrap */
    word-break: break-word;
    /* break long words if necessary */
    padding: 0.25rem 0;
    /* optional padding top/bottom */
}


/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 0.5em;
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}


/* Paragraph */

p {
    margin-bottom: 1em;
}