/* Responsive Media Queries */

/* Tablet & Mobile Improvements */
@media (max-width: 991px) {

    html,
    body {
        overflow-x: hidden;
    }

    /* section, .section, .footer {
        padding: 60px 0 !important;
    } */

    .section-title {
        font-size: 28px !important;
        margin-bottom: 25px !important;
        line-height: 1.3 !important;
    }

    .sub-title-wrapper {
        margin-bottom: 15px !important;
    }

    .features-text-col h2 {
        margin-bottom: 10px !important;
    }

    .features-text-col p.description {
        margin-bottom: 15px !important;
    }

    .hero h1 {
        font-size: 36px !important;
        line-height: 1.2 !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 600px !important;
    }

    .hero p {
        font-size: 16px !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 500px !important;
    }

    .hero-content {
        display: flex ;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
    }

    .hero .label-wrapper {
        justify-content: center !important;
        width: 100% !important;
    }

    .about-stats-row-exact {
        margin-top: 60px;
        flex-wrap: wrap;
        gap: 40px;
        justify-content: center;
    }

    .features-list-grid {
        margin-top: 10px !important;
    }

    .features-grid-two-col {
        --bs-gutter-x: 0 !important;
        --bs-gutter-y: 1rem !important;
    }

    .about-text-content {
        padding-top: 0;
        text-align: center !important;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .about-text-content .sub-title-wrapper {
        justify-content: center !important;
        width: 100%;
    }

    .about-text-content h2.about-title.left-align,
    .about-text-content p.description {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }

    .about-text-content h2.about-title br {
        display: none;
    }

    /* .mini-cta h2 {
        font-size: 24px !important;
        text-align: left !important;
        padding-left: 0 !important;
        margin-bottom: 0 !important;
        max-width: 70% !important;
        line-height: 1.4 !important;
    } */

    .mini-cta {
        padding: 50px 0 !important;
        text-align: center !important;
    }

    .mini-cta .container {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
        padding: 0 20px !important;
    }

    .mini-cta h2 {
        font-size: 26px !important;
        text-align: center !important;
        max-width: 100% !important;
        margin-bottom: 40px !important;
        line-height: 1.3 !important;
        padding-left: 0 !important;
    }

    .btn-contact {
        margin: 0 auto !important;
        display: inline-block !important;
    }

    .contact-banner-v3 {
        height: auto !important;
        padding: 60px 0 !important;
    }

    /* Footer Alignment Improvements */
    .footer-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 40px !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    /* Proper Structure for 599px to 990px Range */
    @media (min-width: 599px) {
        .footer-col.col-12 {
            flex: 0 0 50% !important;
            max-width: 50% !important;
            text-align: left !important;
            align-items: flex-start !important;
            margin-bottom: 0 !important;
        }

        .footer-contact-col {
            text-align: right !important;
            align-items: flex-end !important;
        }



        .footer-links-wrapper {
            width: 100% !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            padding-left: 0 !important;
        }

        .footer-links-wrapper .d-flex {
            width: 100% !important;
            max-width: 350px !important;
            /* justify-content: flex-start !important; */
            gap: 100px !important;
            margin: 0 !important;
        }

        .footer-col h3 {
            text-align: inherit !important;
            margin-bottom: 15px !important;
        }
    }

    .footer-col h3 {
        /* text-align: center !important; */
        width: 100% !important;
    }

    .footer-links-wrapper {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        /* gap: 30px !important; */
        padding-left: 0 !important;
    }

    .footer-links-wrapper .d-flex {
        width: 100% !important;
        max-width: 350px !important;
        /* justify-content: center !important; */
        gap: 100px !important;
        margin: 0 auto !important;
    }

    .footer-links-wrapper ul {
        text-align: left !important;
        padding: 0 !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
        gap: 20px !important;
    }

    .footer-links-wrapper ul.offset-list {
        margin-left: 0 !important;
        margin-top: 0 !important;
    }

    .footer-contact-col {
        align-items: center !important;
    }



    .footer-logo {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .footer-desc {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .social-links {
        justify-content: center !important;
        margin-left: 0 !important;
    }


    /* Features Section Centering */
    .features-text-col {
        /* text-align: center !important; */
        display: flex;
        flex-direction: column;
        align-items: center;
        /* margin-bottom: 40px; */
    }

    .features-text-col p.description {
        margin-left: auto;
        margin-right: auto;
    }

    .feature-item-vertical {
        align-items: center !important;
        text-align: center !important;
        padding-right: 0 !important;
        margin-top: 0px !important;
        padding-left: 0 !important;
    }

    /* Gallery Section Centering */
    .gallery-right-col {
        gap: 20px !important;
    }
}

/* Specific Mobile Fixes */
@media (max-width: 768px) {
    .container {
        padding: 0 15px;
        margin: 0 auto !important;
    }

    .hero h1 {
        font-size: 32px !important;
    }

    .stat-item-exact h3 {
        font-size: 28px;
    }

    .feature-item-vertical {
        align-items: center;
        text-align: center;
        margin-bottom: 5px !important;
    }

    .features-text-col p.description {
        max-width: 100% !important;
        padding: 0 10px;
    }

    .features-text-col p.description br {
        display: none;
    }

    .feature-content-mini {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .gallery-text-content h3 {
        font-size: 24px !important;
    }

    .footer-col {
        margin-bottom: 30px !important;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-col ul {
        padding: 0;
    }

    /* Testimonials horizontal scroll refinement */
    .testimonial-scroll-wrapper {
        gap: 20px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .testimonial-box-v2 {
        min-width: 260px !important;
        max-width: 260px !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
    }

    .testimonial-box-v2 p {
        font-size: 13px !important;
        line-height: 1.6 !important;
        max-width: 220px !important;
        margin-bottom: 15px !important;
    }

    .user-meta {
        gap: 8px !important;
    }

    .user-avatar {
        width: 35px !important;
        height: 35px !important;
    }

    .user-info h4 {
        font-size: 13px !important;
    }

    .our-company {
        margin-top: 40px;
    }

    .user-info span {
        font-size: 10px !important;
    }

    .stars {
        font-size: 6px !important;
    }

    .testimonial-dots {
        margin-top: 20px !important;
    }

    /* Refined About Grid for 768px */
    .about-grid-2-col {
        display: flex;
        flex-direction: column;
        gap: 0 !important;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .about-main-img {
        margin-top: 0 !important;
        margin-bottom: 30px !important;
        height: auto !important;
        /* max-height: 400px; */
        width: 100%;
        object-fit: cover;
    }

    .about-text-content {
        padding-top: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .about-secondary-img-wrapper {
        margin-top: 40px !important;
    }

    .about-secondary-img {
        height: auto !important;
        max-height: 300px;
    }

    .about-stats-row-exact {
        margin-top: 20px !important;
        gap: 15px !important;
        flex-wrap: wrap;
        justify-content: center;
    }

    .stat-item-exact {
        flex: 1;
        min-width: 120px;
        text-align: center;
    }
}

/* @media (max-width: 1200px) and (min-width: 1025px) {

    .about-grid-2-col {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .about-stats-row-exact {
        flex-wrap: wrap;
        gap: 30px;
    }

    .stat-divider {
        display: none;
    }
} */

/* Tablet & Large Mobile (max-width: 1200px) */
@media (max-width: 1200px) {
    .about-grid-2-col {
        grid-template-columns: 1fr;
        gap: 20px;
        column-gap: 40px;
    }

    .about-main-img {
        width: 100% !important;
        height: auto !important;
        /* max-height: 500px; */
        margin-bottom: 20px;
    }

    .about-text-content {
        text-align: center !important;
        margin-top: 40px;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 0 !important;
    }

    .about-text-content h2 {
        font-size: 36px;
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }

    .about-text-content .description {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .about-text-content .sub-title-wrapper {
        justify-content: center !important;
        width: 100%;
    }

    .about-text-content h2.about-title br {
        display: none;
    }

    .about-stats-row-exact {
        justify-content: center !important;
        gap: 20px !important;
        flex-wrap: wrap !important;
        margin-top: 40px !important;
    }

    .stat-item-exact h3 {
        font-size: 30px;
    }

    .stat-divider {
        display: none;
    }
}

/* Mobile Devices (max-width: 768px) */
@media (max-width: 768px) {
    .about-grid-2-col {
        display: flex;
        flex-direction: column;
        gap: 0 !important;
        width: 100%;
    }

    .about-main-img {
        margin-top: 0 !important;
        margin-bottom: 30px !important;
        /* max-height: 400px; */
    }

    .about-text-content {
        padding-top: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .about-secondary-img-wrapper {
        margin-top: 40px !important;
    }

    .about-secondary-img {
        height: auto !important;
        max-height: 300px;
    }

    .about-stats-row-exact {
        margin-top: 20px !important;
        gap: 15px !important;
        justify-content: center;
    }

    .stat-item-exact {
        flex: 1;
        min-width: 120px;
        text-align: center;
    }

    .stat-item-exact h3 {
        font-size: 28px;
    }
}

/* Very Small Devices */
@media (max-width: 480px) {
    .hero h1 {
        font-size: 28px !important;
    }

    .btn-enquire {
        width: 50%;
        text-align: center;
    }

    .section-title {
        font-size: 28px !important;
    }

    .footer-links-grid {
        gap: 40px !important;
    }
}

/* ==========================================================================
   PRODUCTS 2 - ISOLATED DITTO RESPONSIVE STYLES (UNIFIED SECTION)
   ========================================================================== */

/* --- ABOUT CONTENT RESPONSIVE --- */
@media (max-width: 1200px) {
    .products2-unified-section .about-grid-2-col {
        grid-template-columns: 1fr;
        gap: 20px;
        column-gap: 40px;
    }
}

@media (max-width: 991px) {
    .products2-unified-section .about-stats-row-exact {
        margin-top: 60px;
        flex-wrap: wrap;
        gap: 40px;
        justify-content: center;
    }

    .products2-unified-section .about-text-content {
        padding-top: 0;
        text-align: center !important;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 768px) {
    .products2-unified-section .about-grid-2-col {
        display: flex;
        flex-direction: column;
        gap: 0 !important;
    }

    .products2-unified-section .about-main-img {
        margin-top: 0 !important;
        margin-bottom: 30px !important;
    }

    .products2-unified-section .about-secondary-img-wrapper {
        margin-top: 40px !important;
    }

    .products2-unified-section .about-secondary-img {
        height: auto !important;
        max-height: 300px;
    }

    .products2-unified-section .about-stats-row-exact {
        margin-top: 20px !important;
        gap: 15px !important;
        justify-content: center;
    }

    .products2-unified-section .stat-item {
        flex: 1;
        min-width: 120px;
        text-align: center;
    }
}

/* --- GALLERY RESPONSIVE DITTO --- */
@media (max-width: 991px) {
    .products2-unified-section .gallery-grid {
        grid-template-columns: 1fr;
    }

    .products2-unified-section .gallery-right-col {
        gap: 20px !important;
    }

    .products2-unified-section .gallery-card {
        height: 400px !important;
    }


    .products2-unified-section .gallery-card.large-card {
        height: 520px !important;
    }

    /* Center text content in tab view */
    .products2-unified-section .gallery-text-content {
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        text-align: center !important;
        width: 90% !important;
    }

    .products2-unified-section .gallery-text-content p {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ==========================================================================
   PRODUCTS 2 - MOBILE GALLERY (ONE BY ONE LISTING)
   Strictly scoped to .products2-unified-section — does NOT affect any other section
   ========================================================================== */

@media (max-width: 768px) {

    /* Force each gallery column to full width — one card per row */
    .products2-unified-section .gallery-grid .col-lg-6,
    .products2-unified-section .gallery-grid .col-md-12 {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* Stack the right column cards vertically */
    .products2-unified-section .gallery-right-col {
        flex-direction: column !important;
        gap: 16px !important;
    }

    /* Each right-col card takes full width */
    .products2-unified-section .gallery-right-col>div {
        width: 100% !important;
        flex: unset !important;
    }

    /* Uniform card heights on mobile */
    .products2-unified-section .gallery-card,
    .products2-unified-section .gallery-card.large-card,
    .products2-unified-section .gallery-card.small-card {
        height: 380px !important;
    }

    /* Add spacing between each stacked card */
    .products2-unified-section .gallery-grid>div+div {
        margin-top: 16px;
    }
}