/* ============================================================
   PANDAVAZ - INLINE FIXES
   Overflow, hero, z-index, mobile, iOS SSC fix
   Updated: 2026-06-09
   ============================================================ */

/* Horizontal overflow prevention — defense in depth */
/* html { overflow-x: clip; } — see perf-scroll-fixes.css */
main { float: none !important; display: block !important; width: 100% !important; /* overflow-x:clip in perf-scroll-fixes.css */ }
/* .home-refresh { overflow-x: clip; max-width: 100vw; } — see perf-scroll-fixes.css */
/* .home-studio-flow { width: 100%; max-width: 100%; overflow-x: clip; } — see perf-scroll-fixes.css */

/* Performance: remove expensive backdrop-filter */
.testimonial-card { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.client-logo-item { will-change: auto !important; }

/* Fix: force logo items visible on page load — avoid scroll-dependent opacity bug */
.home-refresh .client-logo-item {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 0ms !important;
}

/* ============================================================
   HERO VIDEO — no scroll effects, scales to viewport
   ============================================================ */
.slider {
    width: 100%;
    height: 100svh;
    position: relative;
    overflow: hidden;
}
.slider .swiper-container,
.slider .swiper-wrapper,
.slider .swiper-slide {
    width: 100%;
    height: 100%;
}
.slider video,
.slider .video-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slider .swiper-slide .inner,
.int-hero .inner {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
}
.slider .swiper-slide .inner h2,
.int-hero .inner h2 {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
}

/* ============================================================
   Z-INDEX (non-nav elements only)
   ============================================================ */
.testimony-lower::before,
.testimony-lower::after {
    z-index: 100 !important;
}
.project-detail .project-navbar { z-index: 100 !important; }

/* ============================================================
   MOBILE — full-width, iOS SSC fix, hero text
   ============================================================ */
@media (max-width: 767px) {
    /* Edge-to-edge sections */
    section, .pg-section, .ssc-section, .ssc-intro {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .pg-section > div,
    .pg-section > .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
    }
    .split .inner, .content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .slider, .int-hero {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .slider .swiper-slide .inner,
    .int-hero .inner {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .footer, .pv-footer {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .our-people-section .container {
        max-width: 100% !important;
        padding: 0 20px !important;
        box-sizing: border-box !important;
    }
    .services-grid {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    .clients-logo-wall { width: 100% !important; }
    .about-stats { padding: 0 !important; }
    .about-stat { padding: 32px 20px !important; }
    .about-stat__num { font-size: 42px !important; }
    .about-dark-band { padding: 60px 20px !important; }
    .blog-pg-hero { padding: 120px 20px 50px !important; }
    .contact-info { padding: 40px 20px !important; }
    .contact-form-section { padding: 60px 20px !important; }
    .career-body { padding: 60px 20px !important; }
    .career-form-wrap { padding: 24px 16px !important; max-width: 100% !important; }
    .services-marquee-wrap { padding: 16px 0 !important; }
    .client-logo-port img { width: 150px !important; }

    /* VT cards */
    .vt-card { max-height: none !important; overflow: visible !important; }
    .vt-card__thumb { max-height: 360px !important; }
    .vt-track { max-height: none !important; overflow-x: auto !important; overflow-y: visible !important; }
    .vt-carousel-wrap { overflow: visible !important; }
    .vt-section { overflow: visible !important; max-height: none !important; padding-bottom: 70px !important; }

    /* SSC (Split Card) — animation handled by scroll-split-card.css, no overrides here */

    /* Hero text sizing */
    .slider .swiper-slide .inner h2 {
        font-size: clamp(28px, 10vw, 52px) !important;
        max-width: 100% !important;
        line-height: 1.05 !important;
    }
    .slider .swiper-slide .inner p {
        max-width: 100% !important;
        font-size: 14px !important;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    .pg-section { padding: 80px 40px !important; }
    .pg-hero__inner { padding: 0 40px 60px !important; }
    .career-body { padding: 80px 40px !important; }
    .contact-info { padding: 60px 40px !important; }
    .contact-form-section { padding: 80px 40px !important; }
    .about-dark-band { padding: 80px 40px !important; }
}