/* ========================================
   3D VIDEO EFFECTS - RESPONSIVE DESIGN
   UPDATED WITH LARGER SIZES
   ======================================== */

/* Homepage Scroll Video */
.center-part2 {
    perspective: 1200px;
    perspective-origin: center;
}

.scroll-video {
    width: 260px;
    height: 260px;
    object-fit: cover;
    border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%;
    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.25),
        0 20px 50px rgba(185, 255, 102, 0.3),
        inset 0 -8px 20px rgba(0, 0, 0, 0.08);
    margin: 150px auto 0 auto;
    animation: blob-morph 6s ease-in-out infinite;
    transform-style: preserve-3d;
    transition: transform 0.2s ease-out;
    display: block;
    cursor: default;
}

/* Small Mobile (480px+) */
@media (min-width: 480px) {
    .scroll-video {
        width: 280px;
        height: 280px;
    }
}

/* Tablet (768px+) */
@media (min-width: 768px) {
    .scroll-video {
        width: 360px;
        height: 360px;
        margin-left: auto;
        margin-right: 0;
    }
}

/* Desktop (1024px+) */
@media (min-width: 1024px) {
    .scroll-video {
        width: 450px;
        height: 450px;
        margin-top: 40px;
    }
}

/* Large Desktop (1440px+) */
@media (min-width: 1440px) {
    .scroll-video {
        width: 500px;
        height: 500px;
    }
}

/* Extra Large (1920px+) */
@media (min-width: 1920px) {
    .scroll-video {
        width: 550px;
        height: 550px;
    }
}

/* ========================================
   TENANT PAGE 3D VIDEO
   ======================================== */

.tenant-3d-video {
    width: 100%;
    max-width: 300px;
    height: auto;
    border-radius: 20px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.3),
        0 30px 80px rgba(185, 255, 102, 0.2);
    transform: perspective(1000px) rotateY(0deg);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    display: block;
    margin: 0 auto;
}

.tenant-3d-video:hover {
    transform: perspective(1000px) rotateY(0deg) scale(1.03);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.4),
        0 40px 100px rgba(185, 255, 102, 0.3);
}

/* Small Mobile (480px+) */
@media (min-width: 480px) {
    .tenant-3d-video {
        max-width: 320px;
    }
}

/* Tablet (768px+) - Enable 3D tilt */
@media (min-width: 768px) {
    .tenant-3d-video {
        max-width: 400px;
        transform: perspective(1000px) rotateY(-5deg);
        margin: 0;
    }

    .tenant-3d-video:hover {
        transform: perspective(1000px) rotateY(0deg) scale(1.05);
    }
}

/* Desktop (1024px+) */
@media (min-width: 1024px) {
    .tenant-3d-video {
        max-width: 500px;
    }
}

/* Large Desktop (1440px+) */
@media (min-width: 1440px) {
    .tenant-3d-video {
        max-width: 550px;
    }
}

/* Extra Large (1920px+) */
@media (min-width: 1920px) {
    .tenant-3d-video {
        max-width: 600px;
    }
}

/* ========================================
   OWNER PAGE 3D VIDEO
   ======================================== */

.owner-3d-video {
    width: 100%;
    max-width: 300px;
    height: auto;
    border-radius: 20px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.3),
        0 30px 80px rgba(185, 255, 102, 0.2);
    transform: perspective(1000px) rotateY(0deg);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    display: block;
    margin: 0 auto;
}

.owner-3d-video:hover {
    transform: perspective(1000px) rotateY(0deg) scale(1.03);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.4),
        0 40px 100px rgba(185, 255, 102, 0.3);
}

/* Small Mobile (480px+) */
@media (min-width: 480px) {
    .owner-3d-video {
        max-width: 320px;
    }
}

/* Tablet (768px+) - Enable 3D tilt */
@media (min-width: 768px) {
    .owner-3d-video {
        max-width: 400px;
        transform: perspective(1000px) rotateY(5deg);
        margin: 0;
    }

    .owner-3d-video:hover {
        transform: perspective(1000px) rotateY(0deg) scale(1.05);
    }
}

/* Desktop (1024px+) */
@media (min-width: 1024px) {
    .owner-3d-video {
        max-width: 500px;
    }
}

/* Large Desktop (1440px+) */
@media (min-width: 1440px) {
    .owner-3d-video {
        max-width: 550px;
    }
}

/* Extra Large (1920px+) */
@media (min-width: 1920px) {
    .owner-3d-video {
        max-width: 600px;
    }
}

/* ========================================
   3D PARALLAX CONTAINER
   ======================================== */

.parallax-3d-container {
    position: relative;
    transform-style: preserve-3d;
    perspective: 1000px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (min-width: 768px) {
    .parallax-3d-container {
        justify-content: flex-start;
    }
}

/* ========================================
   FLOATING ANIMATION
   ======================================== */

@keyframes float-3d {

    0%,
    100% {
        transform: translateY(0px) rotateX(0deg);
    }

    50% {
        transform: translateY(-15px) rotateX(3deg);
    }
}

.floating-video {
    animation: float-3d 4s ease-in-out infinite;
}

/* ========================================
   ACCESSIBILITY & PERFORMANCE
   ======================================== */

/* Disable animations for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {

    .scroll-video,
    .tenant-3d-video,
    .owner-3d-video,
    .floating-video {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

/* Disable heavy 3D on very small screens for performance */
@media (max-width: 380px) {

    .scroll-video,
    .tenant-3d-video,
    .owner-3d-video {
        transform: none !important;
    }

    .floating-video {
        animation: none;
    }

    .scroll-video {
        width: 240px;
        height: 240px;
    }

    .tenant-3d-video,
    .owner-3d-video {
        max-width: 280px;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {

    .tenant-3d-video:hover,
    .owner-3d-video:hover {
        transform: perspective(1000px) rotateY(0deg) scale(1.02);
    }
}