/* Responsive Styles */

/* Large Desktops */
@media screen and (max-width: 1440px) {
    section {
        padding-inline: 4%;
    }
}

/* Medium Desktops */
@media screen and (max-width: 1200px) {
    section {
        padding-inline: 3%;
        gap: 2rem;
    }

    .home_cards {
        gap: 1rem;
    }

    .home_cards .home_card {
        min-width: 180px;
        height: 220px;
    }

    .destinations_swiper {
        max-width: 95%;
    }

    .swiper-slide {
        max-width: 320px;
    }

    .footer_content {
        grid-template-columns: 1.5fr 1fr 1fr 1fr;
        gap: 1.5rem;
    }
}

/* Laptops and Tablets */
@media screen and (max-width: 1024px) {
    .header {
        height: 80px;
        padding-inline: 3%;
    }

    .header_title {
        font-size: 1.6rem;
    }

    .header_nav {
        gap: 0.2rem;
    }

    .header_nav li {
        padding-inline: 1rem;
    }

    .home {
        padding-top: 80px;
    }

    .home_content {
        max-width: 450px;
    }

    .home_cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .about_cards {
        grid-template-columns: 1fr 1fr;
    }

    .destinations_swiper {
        margin-top: 2rem;
    }

    .swiper-button-next,
    .swiper-button-prev {
        width: 45px;
        height: 45px;
    }

    .services_man-img {
        width: 250px;
    }

    .subscribe_plane-img {
        max-width: 200px;
        margin-left: -60px;
    }

    .footer_content {
        grid-template-columns: 1fr 1fr;
    }
}

/* Tablets */
@media screen and (max-width: 768px) {
    section {
        padding-block: 2rem;
        flex-direction: column;
        gap: 1.5rem;
    }

    .header {
        height: 70px;
    }

    .header_menu {
        display: block;
        font-size: 2rem;
        color: white;
        cursor: pointer;
    }

    .header.sticky .header_menu {
        color: black;
    }

    .header_menu .fa-xmark {
        display: none;
    }

    .header_nav {
        position: absolute;
        flex-direction: column;
        top: 70px;
        left: 0;
        background: white;
        width: 100%;
        padding: 0;
        height: 0;
        overflow: hidden;
        transition: 0.3s ease-out;
        gap: 0;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    }

    .header_nav.active {
        height: auto;
        padding: 1rem 5%;
    }

    .header_nav.active ~ .header_menu .fa-bars {
        display: none;
    }

    .header_nav.active ~ .header_menu .fa-xmark {
        display: block;
    }

    .header_nav li {
        width: 100%;
        margin: 0;
        margin-bottom: 0.5rem;
        border-radius: 8px;
    }
    
    .header_nav li:last-child {
        margin-bottom: 0;
    }

    .header_nav li a {
        color: black;
    }

    .home {
        text-align: center;
    }

    .home_content {
        max-width: 100%;
    }

    .home_cards {
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .about_cards {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

    .about_content {
        text-align: center;
    }

    .destinations_content {
        text-align: center;
    }

    .destinations_swiper {
        width: 100%;
    }

    .swiper-slide {
        width: 70vw;
        max-width: 300px;
    }

    .services_content {
        text-align: center;
    }

    .services_cards {
        width: 100%;
    }

    .subscribe_container {
        flex-direction: column;
        text-align: center;
    }

    .subscribe_plane-img {
        margin: 0;
        max-width: 150px;
    }

    .footer_content {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer_social {
        justify-content: center;
    }
}

/* Forecast Chart Responsive */
@media screen and (max-width: 768px) {
    .forecast_chart_container {
        padding: 1rem;
    }

    .forecast_chart {
        height: 250px;
    }
}

@media screen and (max-width: 480px) {
    .forecast_chart_container {
        padding: 0.5rem;
    }

    .forecast_chart {
        height: 200px;
    }
}

/* Mobile Devices */
@media screen and (max-width: 480px) {
    .header_title {
        font-size: 1.4rem;
    }

    .home_title {
        font-size: 2rem;
    }

    .home_cards {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .home_card {
        width: 100%;
        height: 200px;
    }

    .about_cards {
        grid-template-columns: 1fr;
    }

    .swiper-slide {
        width: 80vw;
    }

    .services_card {
        flex-direction: column;
        text-align: center;
    }

    .subscribe_input-container {
        flex-direction: column;
        gap: 1rem;
    }

    .subscribe_input,
    .subscribe_btn {
        width: 100%;
    }

    .footer_content {
        gap: 1.5rem;
    }
}
