/* HERO SECTION */
.hero-section {
    position: relative;
    width: 100%;
    height: 800px; /* Default large screen height */
    overflow: hidden;
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Hero Overlay */
.hero-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    background: rgba(255, 255, 255, 0.9); /* Matches Products */
    border-radius: 20px;
    padding: 30px 40px;
    max-width: 400px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Hero Title */
.hero-title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 10px;
    color: #000;
}

/* Hero Tagline */
.hero-tagline {
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
}

/* Hero Description */
.hero-description {
    font-size: 1rem;
    color: #555;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Ensure all tour cards have equal height */
.tour-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Keeps content distributed */
    height: 100%; /* Ensures uniform height */
    border: none;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease-in-out;
    overflow: hidden;
}

/* Ensure images have uniform height */
.tour-card img {
    width: 100%;
    height: 220px; /* Adjust to a fixed height */
    object-fit: cover;
    object-position: center;
}

/* Fix card body height and spacing */
.tour-card .card-body {
    flex-grow: 1; /* Ensures equal spacing */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Ensures button stays at the bottom */
    padding: 20px;
}

/* Make sure buttons align at the bottom */
.tour-card .custom-btn-2 {
    margin-top: auto; /* Push button to the bottom */
    align-self: center;
}


/* Button Styling from Home CSS */
.custom-btn-2 {
    background-color: #00509e; /* Primary button color */
    color: #fff; /* White text for contrast */
    border-radius: 5px; /* Slightly rounded corners */
    font-weight: bold; /* Bold font for button text */
    text-align: center;
    display: inline-block; /* Ensures proper button dimensions */
    width: 150px;
    justify-content: center;

}

.custom-btn-2:hover {
    background-color: #003566; /* Darker blue on hover */
    text-decoration: none; /* Ensures no underline on hover */
    color: #fff;
}

/* FAQ Section */
.accordion-button {
    font-weight: bold;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-item {
    border-radius: 10px;
    margin-bottom: 10px;
}

/* ✅ MEDIA QUERIES FOR MOBILE */
/* 📱 Adjust for Tablets (Landscape) (1024px and below) */
@media (max-width: 1220px) {
    .hero-section {
        height: 500px; /* Reduce height for landscape tablets */
    }

    .hero-overlay {
        padding: 20px 30px; /* Slightly smaller padding */
        max-width: 350px;
    }

    .hero-title {
        font-size: 2rem; /* Adjust title size */
    }

    .hero-tagline {
        font-size: 1rem;
    }

    .hero-description {
        font-size: 0.9rem;
    }
}


/* 📱 Tablet Screens (992px and below) */
@media (max-width: 992px) {
    .tour-card img {
        height: 200px; /* Adjust image height for tablets */
    }
}

/* 📱 Mobile Screens (768px and below) */
@media (max-width: 768px) {
    .hero-section {
        height: 400px; /* Further reduce hero height */
    }

    .hero-overlay {
        padding: 15px 25px; /* Reduce padding */
        max-width: 320px;
    }

    .hero-title {
        font-size: 1.8rem;
    }

    .hero-tagline {
        font-size: 0.95rem;
    }

    .hero-description {
        font-size: 0.85rem;
    }

    .tour-card {
        height: auto; /* Allow flexible height */
    }

    .tour-card img {
        height: 180px; /* Reduce image height */
    }

    .tour-card .card-body {
        padding: 15px;
    }
}

/* 📱 Small Mobile Screens (500px and below) */
@media (max-width: 500px) {
    .hero-section {
        height: 300px; /* Make hero even smaller */
    }

    .hero-overlay {
        padding: 10px 20px;
        max-width: 270px;
    }

    .hero-title {
        font-size: 1.5rem; /* Further scale title */
    }

    .hero-tagline {
        font-size: 0.85rem;
    }

    .hero-description {
        font-size: 0.8rem;
    }
    .tour-card img {
        height: 160px; /* Make images smaller */
    }

    .tour-card .card-body {
        padding: 10px;
    }
}