:root {
            --color-primary-purple: #4a148c;
            --color-secondary-pink: #f3e5f5;
            --color-accent-orange: #ff5722;
            --color-light-pink: #f8bbd0;
            --color-text-dark: #333;
            --phone-width: 280px;
            --phone-height: 550px;
            --border-radius-xl: 40px;
            --shadow-elevation: 0 25px 50px rgba(0, 0, 0, 0.35);
        }

        /* --- 2. General Reset and Typography --- */
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        /*body {
            background-color: #ffffff;
            text-align: center;
            font-family: 'Poppins', sans-serif;
            overflow-x: hidden;
            min-height: 100vh;
        }*/

        /* Header Styling */
        .header_ss {
            padding: 60px 20px 40px;
            color: var(--color-text-dark);
        }

        .header_ss h1 {
            font-size: clamp(2.5em, 5vw, 3.5em);
            font-weight: 800;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .header_ss p {
            font-size: clamp(1em, 2vw, 1.3em);
            color: #666;
            margin-top: 15px;
            font-weight: 400;
        }

        /* --- 3. App Showcase Background Styling --- */
        .app-showcase-container {
            width: 100%;
/*            padding: 50px 0;*/
            position: relative;
            overflow: hidden;
        }
        
        /* Background Shapes (Enhanced for cleaner curves) */
        .background-curve {
            position: absolute;
            top: 0;
            height: 100%;
            width: 35%;
            z-index: -1;
            opacity: 0.9;
        }

        .background-curve.left {
            left: 0;
            background: linear-gradient(to right, var(--color-secondary-pink), #fff);
            /* Complex curve shape */
            clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
        }

        .background-curve.right {
            right: 0;
            background: linear-gradient(to left, var(--color-light-pink), #fff);
            /* Complex curve shape */
            clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
        }

        /* --- 4. Slider and Mockup Styles --- */
        .app-mockup-wrapper {
            max-width: 1300px;
            margin: 0 auto;
        }

        .slider-container {
            width: 100%;
            overflow: hidden;
        }

        .slider-track {
            margin-top:-36px!important;
            display: flex;
            transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1); /* Smoother transition */
        }

        .slide {
            min-width: 25%; 
/*            padding: 20px 10px;*/
            display: flex;
            justify-content: center;
            align-items: center;
            flex-shrink: 0;
        }

        /* Enhanced Phone Mockup Styling */
        .app-mockup {
            width: var(--phone-width);
            height: var(--phone-height);
            background-color: #000;
            border-radius: var(--border-radius-xl);
/*            box-shadow: var(--shadow-elevation);*/
            padding: 8px; /* Inner padding for screen to frame spacing */
            position: relative;
            overflow: hidden;
            border: 5px solid #000; /* Subtle frame line */
        }
        
        /* Simulating the Notch (Modern Phone Feature) */
        .app-mockup::before {
            content: '';
            position: absolute;
            top: 8px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 10px;
            background-color: #000;
            border-radius: 0 0 8px 8px;
            z-index: 10;
        }

        /* The Actual Screen Content */
        .screen-content {
            width: 100%;
            height: 100%;
            border-radius: calc(var(--border-radius-xl) - 10px); /* Inner screen border radius */
            overflow: hidden;
            background-size: cover;
            background-position: top center; /* Start content from the top */
            /* Fallback Text Style */
            display: flex;
            justify-content: center;
            align-items: center;
            font-weight: 600;
            color: #fff;
            padding-top: 20px;
        }

        /* --- Individual Screen Styles (Use real images for best results) --- */
        #screen-1 { background-color: #9c27b0; background-image: url('placeholder_home.png'); }
        #screen-2 { background-color: var(--color-accent-orange); background-image: url('placeholder_scan.png'); }
        #screen-3 { background-color: var(--color-primary-purple); background-image: url('placeholder_offers.png'); }
        #screen-4 { background-color: #d81b60; background-image: url('placeholder_gifts.png'); }


        /* --- 5. Responsiveness and Media Queries --- */
        
        /* Mobile View (1 slide visible) */
        @media (max-width: 768px) {
            .slide {
                min-width: 100%;
            }
            .app-mockup {
                width: 90%;
                height: 535px;
                max-width: 300px;
            }
            .background-curve { display: none; }
        }
        
        /* Tablet View (3 slides visible) */
        @media (min-width: 769px) and (max-width: 1024px) {
            .slide {
                min-width: 33.33%;
            }
            .app-mockup {
                width: 250px;
                height: 490px;
            }
        }