/* ========================================
   Social Media Service Hero Mockup Styles
   Percentage-based responsive positioning
   Reference: public/social_media_service_hero_section.png
   ======================================== */

/* Container */
.social-media-service-hero .service-hero-illustration {
    overflow: visible;
    margin: 40px auto 40px;
    width: 100%;
}

.social-media-service-hero .service-mockup-container {
    position: relative;
    width: 100%;
    max-width: 700px;
    height: auto;
    aspect-ratio: 7 / 5;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

/* ========================================
   Element Positioning — all percentage-based
   Base: 700px × 500px (7:5 ratio)
   ======================================== */

/* Secondary Tilted Card - Left side, behind dashboard */
.social-media-service-hero .sm-secondary-float {
    position: absolute;
    z-index: 1;
    width: 42%;
    left: 4%;
    top: 10%;
    transform: rotate(-8deg);
    will-change: transform, opacity;
}

.social-media-service-hero .sm-secondary-float img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 10px 25px rgba(0, 0, 0, 0.06));
}

/* Yellow Image Card on Secondary - overlapping lower portion */
.social-media-service-hero .sm-card-bottom-float {
    position: absolute;
    z-index: 2;
    width: 24%;
    left: 15%;
    top: 36%;
    transform: rotate(-6deg);
    will-change: transform, opacity;
}

.social-media-service-hero .sm-card-bottom-float img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.1));
}

/* Main Dashboard - Right side, dominant element */
.social-media-service-hero .sm-dashboard-float {
    position: absolute;
    z-index: 3;
    width: 58%; /* ~406px of 700 */
    right: -2%;
    top: -2%;
    will-change: transform, opacity;
}

.social-media-service-hero .sm-dashboard-float img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.06));
}

/* Yellow Image Card on Dashboard - overlapping upper area */
.social-media-service-hero .sm-card-top-float {
    position: absolute;
    z-index: 5;
    width: 28%;
    left: 49%;
    top: 9%;
    transform: rotate(-5deg);
    will-change: transform, opacity;
}

.social-media-service-hero .sm-card-top-float img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.1));
}

/* Checkmark Badge - Top right corner */
.social-media-service-hero .sm-badge-float {
    position: absolute;
    z-index: 8;
    width: 10%;
    right: -7%;
    top: 10%;
    will-change: transform, opacity;
}

.social-media-service-hero .sm-badge-float img {
    width: 100%;
    height: auto;
    filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.25));
}

/* Cursor Pointer - Bottom center */
.social-media-service-hero .sm-cursor-float {
    position: absolute;
    z-index: 10;
    width: 9%;
    left: 47%;
    bottom: 17%;
    will-change: transform, opacity;
}

.social-media-service-hero .sm-cursor-float img {
    width: 100%;
    height: auto;
    filter: drop-shadow(4px 8px 0px rgba(0, 0, 0, 0.25));
}

/* Float element common styles */
.social-media-service-hero .mockup-float-element {
    transition: filter 0.3s ease;
}

.social-media-service-hero .mockup-float-element:hover img {
    filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.2)) !important;
}

/* ========================================
   Responsive — only container width changes
   All internal positions scale automatically
   ======================================== */

@media (max-width: 1200px) {
    .social-media-service-hero .service-mockup-container {
        max-width: 600px;
    }
}

@media (max-width: 1024px) {
    .social-media-service-hero .service-mockup-container {
        max-width: 520px;
    }
}

@media (max-width: 768px) {
    .social-media-service-hero .service-hero-illustration {
        margin: 30px auto 30px;
    }

    .social-media-service-hero .service-mockup-container {
        max-width: 420px;
    }
}

@media (max-width: 600px) {
    .social-media-service-hero .service-hero-illustration {
        margin: 20px auto 20px;
    }

    .social-media-service-hero .service-mockup-container {
        max-width: 100%;
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    .social-media-service-hero .service-hero-illustration {
        margin: 15px auto 15px;
    }

    .social-media-service-hero .service-mockup-container {
        max-width: 100%;
        padding: 0 5px;
    }
}

@media (max-width: 360px) {
    .social-media-service-hero .service-hero-illustration {
        margin: 10px auto 10px;
    }
}
