/*
=====================================================
  RESPONSIVE STYLES FOR PUBLIC HOME PAGE ONLY
  Uses unique class names to avoid affecting other pages
=====================================================
*/

/* ===================================
   MOBILE STYLES (Max-width: 576px)
   =================================== */

@media (max-width: 576px) {

    /* Navigation */
    .header_section .custom_nav-container .navbar-nav {
        text-align: center;
    }

    .header_section .custom_nav-container .navbar-nav .nav-item {
        margin: 5px 0;
    }

    .header_section .navbar-brand {
        font-size: 20px;
    }

    /* Hero Section / Slider */
    .slider_section {
        padding: 30px 0 60px 0 !important;
        min-height: 850px !important;
    }

    .slider_section .detail-box h2 {
        font-size: 1.8rem !important;
    }

    .slider_section .detail-box p {
        font-size: 16px !important;
    }

    .slider_section .detail-box .btn-box {
        flex-direction: column;
        gap: 10px;
    }

    .slider_section .detail-box .btn-box a {
        width: 100% !important;
        max-width: 250px;
    }

    .slider_section .img-box {
        margin-top: 30px;
        text-align: center;
    }

    .slider_section .img-box img {
        max-width: 80%;
        height: auto;
    }

    /* Services Section */
    .service_section .heading_container h1 {
        font-size: 1.8rem;
    }

    .service_section .heading_container h3 {
        font-size: 1.2rem;
    }

    .service_section .heading_container h5 {
        font-size: 0.95rem;
    }

    .service_section .box {
        margin-top: 25px;
        padding: 15px;
    }

    .service_section .box .img-box {
        width: 80px;
        min-width: 80px;
        height: 80px;
    }

    .service_section .box .detail-box h5 {
        font-size: 1rem;
    }

    .service_section .box .detail-box p {
        font-size: 0.9rem;
    }

    /* What We Offer Section */
    .offer-section {
        flex-direction: column-reverse !important;
        padding: 20px !important;
    }

    .offer-section .offer-text {
        width: 100% !important;
        margin-bottom: 0;
    }

    .offer-section .offer-image {
        width: 100% !important;
        margin-bottom: 20px;
        display: flex;
        justify-content: center;
    }

    .offer-section .offer-image img {
        max-width: 150px !important;
        height: auto;
    }

    .offer-section .offer-text {
        width: 100% !important;
        margin-bottom: 0;
        text-align: center;
    }

    .offer-section .offer-text h2 {
        font-size: 1.8rem !important;
        margin-bottom: 10px;
        color: #333;
    }

    .offer-section .offer-text h5 {
        font-size: 1.1rem !important;
        margin-bottom: 15px;
        color: #00204a;
        font-weight: 700;
    }

    .offer-section .offer-text h6 {
        font-size: 0.95rem !important;
        line-height: 1.6;
        font-weight: normal !important;
        color: #555;
        margin-bottom: 20px;
    }

    /* Override the strong tag inside h6 to prevent entire paragraph being bold */
    .offer-section .offer-text h6 strong {
        font-weight: normal !important;
    }

    .offer-section .offer-text ul {
        text-align: left;
        /* Keep list left aligned for readability */
        padding-left: 20px;
        margin-top: 10px;
    }

    /* About Section */
    .about_section .heading_container h2 {
        font-size: 1.8rem;
    }

    .about_section .row {
        flex-direction: column-reverse;
    }

    .about_section .img-box {
        margin-bottom: 20px;
        text-align: center;
    }

    .about_section .img-box img {
        max-width: 80%;
    }

    .about_section .detail-box h3 {
        font-size: 1.3rem;
    }

    .about_section .detail-box p {
        font-size: 0.95rem;
    }

    /* Why Section - Override inline flex styles */
    .why_section .heading_container h2 {
        font-size: 1.8rem;
    }

    /* Target both the .why_container and the second div with inline flex */
    .why_section .why_container,
    .why_section .container>div[style*="display"] {
        display: block !important;
        flex-direction: column !important;
    }

    .why_section .box {
        margin-top: 30px;
        width: 100% !important;
        display: block !important;
    }

    .why_section .box .img-box {
        width: 90px;
        height: 90px;
        min-width: 90px;
        min-height: 90px;
    }

    .why_section .box .img-box img {
        width: 45px;
    }

    .why_section .box h5 {
        font-size: 1.1rem;
    }

    .why_section .box p {
        font-size: 0.9rem;
    }

    /* Footer / Info Section */
    .info_section .row {
        text-align: center;
    }

    .info_section .info_col {
        margin-bottom: 30px;
    }

    .info_section h4 {
        font-size: 1.2rem;
    }

    .info_section p,
    .info_section a {
        font-size: 0.9rem;
    }

    /* General Spacing */
    .layout_padding {
        padding: 45px 0;
    }

    .layout_padding2 {
        padding: 35px 0;
    }

    .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Buttons */
    .btn-box a {
        padding: 10px 30px !important;
        font-size: 0.9rem;
    }
}

/* ===================================
   TABLET STYLES (577px - 991px)
   =================================== */

@media (min-width: 577px) and (max-width: 991px) {

    /* Hero Section */
    .slider_section .detail-box h2 {
        font-size: 2.2rem !important;
    }

    .slider_section .detail-box p {
        font-size: 18px !important;
    }

    /* Services Section - 2 columns */
    .service_section .row .col-md-4:nth-child(3) {
        margin-top: 30px;
    }

    /* What We Offer Section */
    .offer-section {
        padding: 30px !important;
    }

    .offer-section .offer-text {
        width: 60% !important;
    }

    .offer-section .offer-image {
        width: 38% !important;
    }

    /* Why Section - 2 columns */
    .why_section .why_container {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .why_section .box {
        width: 48%;
        margin-top: 30px;
    }

    /* Footer - 2 columns */
    .info_section .info_col {
        margin-bottom: 30px;
    }
}

/* ===================================
   SMALL MOBILE (Max-width: 375px)
   =================================== */

@media (max-width: 375px) {

    .slider_section .detail-box h2 {
        font-size: 1.5rem !important;
    }

    .slider_section .detail-box p {
        font-size: 14px !important;
    }

    .offer-section {
        padding: 15px !important;
    }

    .offer-section .offer-text h2 {
        font-size: 1.3rem !important;
    }

    .service_section .heading_container h1 {
        font-size: 1.5rem;
    }

    .about_section .heading_container h2,
    .why_section .heading_container h2 {
        font-size: 1.5rem;
    }
}

/* ===================================
   LANDSCAPE MOBILE (Max-height: 500px)
   =================================== */

@media (max-height: 500px) and (orientation: landscape) {

    .slider_section {
        padding: 20px 0 40px 0 !important;
    }

    .slider_section .img-box {
        display: none;
    }

    .layout_padding {
        padding: 30px 0;
    }
}

/* ===================================
   UTILITY CLASSES FOR RESPONSIVE
   =================================== */

@media (max-width: 576px) {

    /* Hide elements on mobile if needed */
    .hide-mobile {
        display: none !important;
    }

    /* Full width on mobile */
    .full-width-mobile {
        width: 100% !important;
    }

    /* Center text on mobile */
    .text-center-mobile {
        text-align: center !important;
    }

    /* Reduce margin on mobile */
    .reduce-margin-mobile {
        margin-top: 15px !important;
        margin-bottom: 15px !important;
    }
}