.product-self-clean-section {
    position: relative;
    width: 100%;
    height: 300vh;
    background-color: white;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-direction: column;
    overflow: visible;
    padding: 0 15px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    will-change: transform;
}
.self-clean-image {
    display: none;
}
.self-clean-image-mob {
    display: inline-block;
    margin-top: 105px;
    position: sticky;
    top: 105px;
    width: 100%;
    max-width: 900px;
    height: auto;
    z-index: 4; 
    display: block;
    margin-left: auto;
    margin-right: auto;
    flex-shrink: 0; 
}

.self-clean-text-holder {
    position: sticky;
    top: 37vh;
    width: 100%;
    text-align: center;
    z-index: 8;
}
.self-clean-text-holder h2 {
    line-height: 1.05;
    margin-bottom: 24px;
}

.self-clean-text-holder p {
    max-width: 640px;
    margin:0 auto
}
.self-clean-bubbles {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 6;
    width: 100%;
    max-width: 1920px;
    height: auto;
    pointer-events: none;
}
.self-clean-bubbles-desktop {
    display: none;
}
.self-clean-bubbles-mobile {
    display: inline-block;
}
@media (max-width: 320px) {

}

/* === RESPONSIVE BREAKPOINTS === */
@media (min-width: 320px) and (max-width: 389px) and (min-height: 600px) {    
    .self-clean-text-holder {       
        top: 46vh;       
    }    
    .self-clean-image-mob {
        top: 130px;
        margin-top: 130px;
    }
}
@media (min-width: 320px) and (max-width: 389px) and (min-height: 700px) {
    .self-clean-image-mob {
        top: 150px;
        margin-top: 150px;
    }
    .self-clean-text-holder {
        top: 44vh;
    }
}
@media (min-width: 320px) and (max-width: 389px) and (min-height: 750px) {
   
}   

@media (min-width: 320px) and (max-width: 389px) and (min-height: 800px) {  

    .self-clean-image-mob {
        top: 176px;
        margin-top: 175px;
    }
    .self-clean-text-holder {
        top: 45vh;
    }
 }
@media (min-width: 320px) and (max-width: 389px) and (min-height: 850px) { 
   
}
@media (min-width: 320px) and (max-width: 389px) and (min-height: 900px) {
   
 }
@media (min-width: 390px) and (max-width: 767px) and (min-height: 600px) {
    
}
@media (min-width: 390px) and (max-width: 767px) and (min-height: 750px) { 
    .product-self-clean-section {
        height: 280vh;
    } 
    .self-clean-text-holder {
        top: 46vh;       
    }
    .self-clean-image-mob {
        top: 200px;
        margin-top: 200px;
    }
}
@media (min-width: 390px) and (max-width: 767px) and (min-height: 800px) {
     .self-clean-image-mob {
        top: 220px;
        margin-top: 220px;
    }
}
@media (min-width: 390px) and (max-width: 767px) and (min-height: 850px) {
    .self-clean-image-mob {
        top: 220px;
        margin-top: 220px;
    }
} 
@media (min-width: 390px) and (max-width: 767px) and (min-height: 900px) {
    .product-self-clean-section {
        height: 270vh;
    }
    .self-clean-image-mob {
        top: 220px;
        margin-top: 220px;
    }
} 


/* MD - ≥768px */
@media (min-width: 768px) {
    .product-self-clean-section {
        height: 170vh;
    } 
    .self-clean-text-holder {
        top: 43vh;
    }
    .self-clean-text-holder {
        top: 32vh;
        margin-top: 32vh;
    }
    .self-clean-image-mob {
        display: none;
    }
    .self-clean-image {
        margin-top: 200px;
        position: sticky;
        top: 100px;
        width: 100%;
        max-width: 500px;
        height: auto;
        z-index: 4; 
        display: block;
        margin-left: auto;
        margin-right: auto;
        flex-shrink: 0; 
        margin-top:100px;
        max-width: 500px;
    }    
    
    .self-clean-bubbles {
        top: 40px;
    }
    .self-clean-bubbles-desktop {
        display: inline-block;
    }
    .self-clean-bubbles-mobile {
        display: none;
    }  
}


/* LG - ≥992px */
@media (min-width: 992px) {
    .product-self-clean-section {
        height: 220vh;
    } 
    .self-clean-text-holder {
        top: 43vh;
    }
    .self-clean-text-holder {
        top: 60vh;
        margin-top: 33vh;
    }
    .self-clean-image {
        max-width: 600px;
        margin-top: 100px;
        top:120px;
    }
    .self-clean-bubbles {
        max-width: 90%;
        top:0px;
    }
}

@media (min-width: 1024px) and (max-height:1366px) {
    .product-self-clean-section {
        height: 180vh;
    }
    .self-clean-text-holder {
        top: 30vh;
        margin-top: 45vh;
    }
    .self-clean-bubbles {
        top:15px;
    }
}
@media (min-width: 1024px) and (max-height:768px){
    .product-self-clean-section {
        height: 220vh;
    } 
    .self-clean-text-holder {
        top: 60vh;
        margin-top: 50vh;
    }
}
@media (min-width: 1024px) and (max-height:600px) {
    .product-self-clean-section {
        height: 250vh;
    }
    .self-clean-text-holder {
        top: 64vh;
        margin-top: 50vh;
    }
}

/* XL - ≥1200px */
@media (min-width: 1200px) {
    .product-self-clean-section {
        height: 240vh;
    }
    .self-clean-text-holder {
        top: 64vh;
        margin-top: 38vh;
    }
    
    .self-clean-image {
        max-width: 500px;
        margin-top: 100px;        
        top:160px;
    }
    .self-clean-bubbles {
        width: auto;
        max-width: 70%;
        top: 20px;
    }
   
}
@media (min-width: 1280px) and (max-height:1024px) {
    .product-self-clean-section {
        height: 190vh;
    }
    .self-clean-text-holder {
        top: 43vh;
        margin-top: 38vh;
    }
}

@media (min-width: 1280px) and (max-height:720px) {
    .product-self-clean-section {
        height: 250vh;
    }
    .self-clean-text-holder {
        top: 62vh;
        margin-top: 38vh;
    }
}

@media (min-width: 1360px) {
    .product-self-clean-section {
        height: 260vh;
    }
    .self-clean-text-holder {
        top: 60vh;
        margin-top: 38vh;
    }
    .self-clean-image {
        margin-top: 90px;
        max-width: 550px;  
        top: 140px;     
    }
}

/* XXL - ≥1400px */
@media (min-width: 1400px) {  
    .self-clean-bubbles {       
        max-width: 100%;
        top: 20px;
    }
    .self-clean-text-holder {
        top: 50vh;
    }
    
}
@media (min-width: 1500px) {
    .product-self-clean-section {
        height: 200vh;
    }
    .self-clean-text-holder {
        top: 42vh;
    }
}
@media (min-width: 1536px) {
    .product-self-clean-section {
        height: 250vh;
    }
    .self-clean-text-holder {
        top: 53vh;
    }
}
@media (min-width: 1600px) {
    .product-self-clean-section {
        height: 250vh;
    }
    .self-clean-text-holder {
        top: 62vh;
        margin-top: 38vh;
    }
    .self-clean-image {
        max-width: 700px;
        margin-top: 110px;
    }
}

/* ≥1920px */
@media (min-width: 1920px) {
    .product-self-clean-section {
        height: 220vh;
    }
    .self-clean-image {
        top: 150px;
        margin-top: 130px;
        max-width: 800px;
    }
    .self-clean-text-holder {
        top: 54vh;
    }
    .self-clean-bubbles {        
        top: 50px;
    }
}
@media (min-width: 2048px) {
    .self-clean-text-holder {
        top: 56vh;
        margin-top: 18vh;
    }
    .self-clean-image {
        width: auto;
        max-width: 1400px;
        margin-top: 140px;
    }
    .product-self-clean-section {
        height: 220vh;
    }
    .self-clean-bubbles { 
        top: 60px;
    }

}
@media (min-width: 2560px) {
    .self-clean-text-holder {
       top:46vh;
       margin-top: 36vh;
    }
    .self-clean-image {
        width: auto;
        max-width: 1400px;
        margin-top: 15vh;
        top:15vh
    }
    .product-self-clean-section {
        height: 220vh;
    }
    .self-clean-bubbles { 
        top: 9vh;
        width: 60%;
    }

}

/* === SAFARI & IPHONE OPTIMIZATIONS === */
/* Safari sticky positioning fix */
@supports (-webkit-touch-callout: none) {
    .self-clean-image,
    .self-clean-image-mob {
        position: -webkit-sticky;
        position: sticky;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    
    .self-clean-text-holder {
        position: -webkit-sticky;
        position: sticky;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* iPhone specific fixes - iOS Safari only */
@supports (-webkit-touch-callout: none) and (pointer: coarse) {
    .product-self-clean-section {
        height: auto;
        min-height: 180vh;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        will-change: transform;
    }
    
    .self-clean-image,
    .self-clean-image-mob {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        will-change: transform;
    }
    
    .self-clean-text-holder {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        will-change: transform;
    }
    
    .self-clean-bubbles {
        width: 95%;
        max-width: 100vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

/* Force hardware acceleration - Safari/iOS only */
@supports (-webkit-touch-callout: none) {
    .self-clean-image,
    .self-clean-image-mob,
    .self-clean-text-holder {
        will-change: transform;
    }
}