/* Responsive CSS for Moksha Marg Travels */

/* Prevent horizontal scroll globally */
html, body {
    overflow-x: hidden;
    width: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 1120px) {
    .slider_section .box .detail-box h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 991px) {
    /* Top Header Section Bar */
    .header_section {
        background-color: #f7c621;
        padding: 10px 0;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
        position: relative;
        z-index: 1000;
    }

    .header_section .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }

    .custom_nav-container {
        padding-top: 0;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .navbar-brand {
        margin-right: 0;
    }

    .navbar-brand span {
        font-size: 18px;
        font-weight: 800;
        color: #000000 !important;
        letter-spacing: 0.5px;
    }

    .custom_nav-container .navbar-toggler {
        padding: 4px;
        border: none;
        outline: none;
    }

    /* Mobile Navigation Drawer */
    .custom_nav-container .navbar-collapse {
        background-color: #1a1a1a;
        border-radius: 12px;
        padding: 15px 20px;
        margin-top: 15px;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    }

    .custom_nav-container .navbar-nav {
        padding-top: 0;
        width: 100%;
        align-items: flex-start;
    }

    .custom_nav-container .navbar-nav .nav-item {
        width: 100%;
    }

    .custom_nav-container .navbar-nav .nav-item .nav-link {
        margin: 0;
        padding: 12px 10px;
        color: #ffffff !important;
        text-align: left;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        font-size: 15px;
        font-weight: 500;
    }

    .custom_nav-container .navbar-nav .nav-item:last-child .nav-link {
        border-bottom: none;
    }

    .custom_nav-container .navbar-nav .nav-item.active .nav-link {
        color: #f7c621 !important;
        font-weight: bold;
    }

    /* Remove Desktop Yellow Overlay Graphic on Mobile */
    .hero_area::before {
        display: none !important;
    }

    .hero_area {
        background-position: center;
        min-height: auto;
    }

    /* Slider Section */
    .slider_section {
        padding: 30px 0 50px 0;
    }

    .slider_section div#carouselExampleIndicators {
        width: 100%;
        margin-left: 0;
    }

    .slider_section .box {
        padding-left: 0;
        margin-bottom: 25px;
        text-align: center;
    }

    .slider_section .box .detail-box {
        padding-right: 0;
    }

    .slider_section .box .detail-box h4 {
        color: #ffffff;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
        font-size: 1.2rem;
    }

    .slider_section .box .detail-box h1 {
        color: #f7c621;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85);
        font-size: 1.8rem;
        margin-bottom: 15px;
    }

    .slider_section .box .img-box {
        margin: 15px 0;
    }

    .slider_section .carousel-indicators {
        left: 0;
        justify-content: center;
        margin-bottom: 10px;
    }

    .slider_section .box .btn-box a {
        background-color: #f7c621;
        color: #000000;
        border: none;
        font-weight: bold;
        border-radius: 6px;
        padding: 10px 28px;
    }

    /* Booking Form Fix for Mobile */
    .slider_section .slider_form {
        width: 100%;
        max-width: 100%;
        margin-top: 25px;
        padding: 20px 18px;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        background-color: #222222;
    }

    .slider_section .slider_form h4 {
        font-size: 1.3rem;
        margin-bottom: 15px;
    }

    .slider_section .slider_form form input {
        border-radius: 6px;
        height: 44px;
        font-size: 14px;
        margin-bottom: 12px;
    }

    .slider_section .slider_form form .btm_input {
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }

    .slider_section .slider_form form .btm_input input {
        width: 100% !important;
        margin-right: 0 !important;
        height: 44px;
        border-radius: 6px;
        font-size: 14px;
    }

    .slider_section .slider_form form .btm_input button {
        width: 100% !important;
        min-width: 100% !important;
        height: 44px;
        border-radius: 6px;
        font-weight: bold;
        font-size: 15px;
        color: #000000;
        background-color: #f7c621;
    }

    /* About Section */
    .about_section .detail-box {
        padding-right: 0;
    }

    .about_section .img-box {
        padding: 20px 10px;
        margin-top: 20px;
    }

    .about_section .detail-box::before {
        display: none;
    }

    /* Service Section */
    .service_section .service_container {
        flex-wrap: wrap;
        gap: 15px;
    }

    .service_section .service_container .box {
        flex: 1 1 45%;
        max-width: 48%;
        margin-bottom: 20px;
    }

    /* Why Section */
    .why_section .why_container {
        padding-left: 0;
    }

    .why_section .box {
        flex-direction: column;
        text-align: center;
        margin-bottom: 25px;
    }

    .why_section .box .img-box {
        margin-right: 0;
        margin-bottom: 15px;
    }
}

@media (max-width: 768px) {
    /* Headings */
    .heading_container {
        margin-bottom: 30px;
    }

    .heading_container h2::before {
        right: -25px;
    }

    /* Service Boxes Full Width */
    .service_section {
        width: 100%;
        margin: 30px auto;
        padding: 0 15px;
    }

    .service_section .service_container .box {
        flex: 1 1 100%;
        max-width: 100%;
    }

    /* News / Gallery Cards */
    .news_section .news_container {
        padding: 0;
        gap: 20px;
    }

    .news_section .news_container .box {
        flex: 1 1 100%;
        max-width: 100%;
        width: 100%;
    }

    .news_section .news_container .date-box {
        margin-left: 10px;
    }

    /* Client Testimonials */
    .client_section .carousel-wrap {
        padding: 0;
    }

    .client_section .box {
        padding: 25px 20px 15px 20px;
        margin: 10px 5px;
    }

    .client_section .owl-carousel .owl-nav .owl-prev,
    .client_section .owl-carousel .owl-nav .owl-next {
        display: none;
    }

    /* Info Section & Footer */
    .info_section {
        padding: 40px 15px 30px 15px;
    }

    .info_section .box {
        max-width: 100%;
    }

    .info_section .info_logo img {
        width: 180px;
    }

    .info_section .info_links ul {
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }

    .info_section .info_links ul li {
        width: 100%;
        text-align: center;
    }

    .info_section .info_links ul li a {
        padding: 6px 12px;
        display: inline-block;
    }

    .info_section .info_social {
        margin: 25px auto 10px auto;
    }

    .footer_section p {
        width: 95%;
        padding: 15px 0;
        font-size: 13px;
    }
}

@media (max-width: 576px) {
    /* Padding Reductions */
    .layout_padding {
        padding: 45px 0;
    }

    .layout_padding2 {
        padding: 25px 0;
    }

    .layout_padding2-top {
        padding-top: 25px;
    }

    .layout_padding2-bottom {
        padding-bottom: 25px;
    }

    .layout_padding-top {
        padding-top: 45px;
    }

    .layout_padding-bottom {
        padding-bottom: 45px;
    }

    .slider_section .box .detail-box h1 {
        font-size: 1.5rem;
    }

    .slider_section .slider_form {
        padding: 18px 15px;
    }

    .about_section .img-box {
        padding: 15px 5px;
    }

    .about_section .img-box::before {
        width: 95%;
    }
}