﻿/* Home page fixes - desktop hero preserved, mobile cleaned */

.home-page,
.home-page * {
    box-sizing: border-box;
}

    .home-page img,
    .home-page video {
        max-width: 100%;
        height: auto;
    }

/* Do not hide this section if animation JS does not add .show */
.feature-box {
    opacity: 1;
    transform: none;
    transition: all 0.7s ease;
    margin-bottom: 20px;
}

    .feature-box.show {
        opacity: 1;
        transform: translateY(0);
    }

.work-carousel-col {
    float: none;
    margin-left: auto;
    margin-right: auto;
}

.recent-work-item em,
.recent-work-item img {
    display: block;
    width: 100%;
}

.recent-work-description strong,
.recent-work-description b {
    white-space: normal;
    line-height: 1.35;
}

.pricing-section {
    clear: both;
    width: 100%;
}

/* Fix large empty space below testimonials caused by global carousel height rules */
.mix-block .carousel-inner,
.testimonials-v1 .carousel,
.testimonials-v1 .carousel-inner,
.testimonials-v1 .carousel-inner > .item {
    min-height: 0 !important;
    height: auto !important;
}

.mix-block {
    margin-bottom: 25px !important;
}

/* Hover color image effect */
.client-item {
    position: relative;
}

    .client-item .color-img {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .client-item:hover .color-img {
        opacity: 1;
    }

/* ---------------- Mobile only ---------------- */
@media (max-width: 767px) {
    .page-slider {
        margin-bottom: 25px !important;
    }

        /* Scope slider height only to the top home slider, not every carousel on the page */
        .page-slider .carousel-slider,
        .page-slider .carousel-inner,
        .page-slider .carousel-inner > .item {
            min-height: 0 !important;
            height: auto !important;
        }

            .page-slider .carousel-inner > .item .container {
                width: 100% !important;
                padding: 45px 15px 48px !important;
            }

        .page-slider .carousel-position-six,
        .page-slider .carousel-position-seven {
            position: relative !important;
            left: auto !important;
            right: auto !important;
            top: auto !important;
            bottom: auto !important;
            max-width: 100% !important;
            width: 100% !important;
            text-align: center !important;
            padding: 0 8px !important;
            z-index: 3 !important;
        }

        .page-slider .carousel-title-v6 {
            font-size: 24px !important;
            line-height: 1.25 !important;
            margin-bottom: 14px !important;
        }

        .page-slider .carousel-subtitle-v6 {
            font-size: 15px !important;
            line-height: 1.5 !important;
        }

        .page-slider .carousel-subtitle-v7 {
            font-size: 14px !important;
            line-height: 1.55 !important;
        }

        .page-slider .carousel-position-six br,
        .page-slider .carousel-position-seven br {
            display: none !important;
        }

        .page-slider .carousel-btn-green {
            display: inline-block !important;
            margin-top: 8px !important;
            padding: 10px 18px !important;
            font-size: 14px !important;
            white-space: normal !important;
        }

        /* Center first-slide phone/video on mobile only. Desktop keeps original layout. */
        .page-slider .carousel-item-eight > .container {
            text-align: center !important;
            overflow: hidden !important;
        }

        .page-slider .carousel-item-eight .video-background {
            position: relative !important;
            left: auto !important;
            right: auto !important;
            top: auto !important;
            bottom: auto !important;
            display: block !important;
            width: 92vw !important;
            max-width: 360px !important;
            margin: 22px auto 0 auto !important;
            padding: 0 !important;
            transform: none !important;
            text-align: center !important;
            z-index: 2 !important;
        }

            .page-slider .carousel-item-eight .video-background video,
            .page-slider .carousel-item-eight .video-background .hero-phone-video {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                height: auto !important;
                margin: 0 auto !important;
                border-radius: 14px !important;
            }

        .page-slider .carousel-control-frontend {
            display: none !important;
        }

        .page-slider .carousel-indicators-frontend {
            bottom: 8px !important;
        }

    .service-box > div {
        margin-bottom: 25px;
        text-align: center;
    }

    .service-box-heading em {
        float: none !important;
        display: inline-block !important;
        margin-right: 0 !important;
        margin-bottom: 8px !important;
    }

    .service-box-heading span {
        display: block;
        font-size: 18px;
        line-height: 1.3;
    }

    .quote-v1 {
        text-align: center;
        padding: 18px 12px;
    }

        .quote-v1 .text-right {
            text-align: center !important;
            margin-top: 15px;
        }

    .feature-row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

        .feature-row .feature-box {
            display: block !important;
            width: 100% !important;
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
            margin-bottom: 15px;
            padding: 18px 12px;
            border: 1px solid #eee;
            border-radius: 10px;
            background: #fff;
        }

    .home-work-section .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .home-work-section [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 20px;
    }

    /* Center Our Product images/cards on mobile */
    .home-work-section .recent-work,
    .home-work-section .owl-carousel,
    .home-work-section .owl-wrapper-outer,
    .home-work-section .owl-wrapper,
    .home-work-section .owl-item {
        text-align: center !important;
    }

    .home-work-section .recent-work-item {
        max-width: 330px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
        text-align: center !important;
    }

        .home-work-section .recent-work-item em,
        .home-work-section .recent-work-item img {
            margin-left: auto !important;
            margin-right: auto !important;
        }

    .home-work-section .recent-work-description {
        text-align: center !important;
    }

    /* Pricing full mobile width */
    .pricing-section {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        overflow: hidden !important;
    }

        .pricing-section .container,
        .pricing-section .container-fluid {
            width: 100% !important;
            max-width: 100% !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .pricing-section .row {
            margin-left: 0 !important;
            margin-right: 0 !important;
        }

        .pricing-section [class*="col-"] {
            float: none !important;
            width: 100% !important;
            max-width: 100% !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            margin-bottom: 16px !important;
        }

        .pricing-section .pricing,
        .pricing-section .pricing-content,
        .pricing-section .pricing-table,
        .pricing-section .price,
        .pricing-section .panel,
        .pricing-section .thumbnail,
        .pricing-section .card {
            width: 100% !important;
            max-width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }

    .nav-tabs > li {
        float: none !important;
        display: block !important;
        margin-bottom: 6px;
    }

        .nav-tabs > li > a {
            text-align: center;
            border-radius: 4px;
        }

    .tab-content {
        text-align: center;
    }

    .tab-pane img {
        margin: 0 auto 15px;
        max-width: 180px;
    }

    .testimonials-v1 {
        margin-top: 25px;
    }

    .carousel-info {
        text-align: center;
    }

        .carousel-info .pull-left {
            float: none !important;
            display: block;
            margin: 0 auto 8px;
        }

    .front-step-col {
        margin-bottom: 15px;
    }

    .front-step {
        min-height: 0 !important;
        padding: 20px 15px !important;
    }

        .front-step h2 {
            font-size: 20px;
            line-height: 1.3;
        }

    .our-clients {
        text-align: center;
    }

        .our-clients .col-md-3 {
            margin-bottom: 15px;
        }
}

@media (max-width: 480px) {
    .page-slider .carousel-title-v6 {
        font-size: 21px !important;
    }

    .page-slider .carousel-item-eight .video-background {
        width: 94vw !important;
        max-width: 340px !important;
    }
}


/* =====================================================
   Home Products Carousel - Mobile Compatibility
   ===================================================== */

.home-products-row {
    clear: both;
}

.home-products-carousel .home-product-card {
    width: 100%;
}

    .home-products-carousel .home-product-card em {
        display: block;
        width: 100%;
        overflow: hidden;
    }

.home-products-carousel .home-product-img {
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.home-product-description {
    display: block;
    min-height: 105px;
}

    .home-product-description strong,
    .home-product-description b {
        display: block;
        white-space: normal;
        line-height: 1.4;
    }

@media (max-width: 767px) {
    .home-products-row {
        margin-left: 0;
        margin-right: 0;
    }

        .home-products-row .col-xs-12 {
            padding-left: 10px;
            padding-right: 10px;
        }

    .home-products-carousel {
        text-align: center;
    }

        .home-products-carousel .owl-wrapper,
        .home-products-carousel .owl-item {
            display: flex !important;
            justify-content: center;
        }

        .home-products-carousel .home-product-card {
            max-width: 320px;
            margin-left: auto;
            margin-right: auto;
            text-align: center;
        }

            .home-products-carousel .home-product-card em {
                border-radius: 8px;
            }

        .home-products-carousel .home-product-img {
            width: 100%;
            height: 190px;
            object-fit: cover;
            margin-left: auto;
            margin-right: auto;
        }

    .home-product-description {
        min-height: auto;
        padding: 12px 10px;
        text-align: center;
    }

        .home-product-description strong {
            font-size: 17px;
            line-height: 1.3;
            margin-bottom: 6px;
        }

        .home-product-description b {
            font-size: 13px;
            line-height: 1.45;
        }
}

@media (max-width: 480px) {
    .home-products-carousel .home-product-card {
        max-width: 290px;
    }

    .home-products-carousel .home-product-img {
        height: 175px;
    }
}
