/**
 * IndiaCode Customization - Preloader Styles
 * 
 * @package IndiaCode Customization
 * @since 1.0.0
 */

/* Preloader Container */
#iccu-preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff;
    z-index: 999999;
    display: flex !important;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
    opacity: 1;
    visibility: visible;
    overflow: hidden;
}

/* Preloader Hidden State */
#iccu-preloader.iccu-preloader-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Preloader Inner Container */
.iccu-preloader-inner {
    text-align: center;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 180px;
    max-height: 180px;
    width: 100%;
    height: 100%;
}

/* Preloader Image - Desktop */
.iccu-preloader-image {
    max-width: 180px !important;
    max-height: 180px !important;
    width: 180px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* Override WooCommerce and other plugin styles */
#iccu-preloader img,
#iccu-preloader .iccu-preloader-image,
.iccu-preloader img,
.iccu-preloader img.iccu-preloader-image {
    max-width: 180px !important;
    max-height: 180px !important;
    width: 180px !important;
    height: auto !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}

/* Tablet Responsive - 768px to 1024px */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .iccu-preloader-inner {
        max-width: 160px;
        max-height: 160px;
    }
    
    .iccu-preloader-image,
    #iccu-preloader img,
    #iccu-preloader .iccu-preloader-image,
    .iccu-preloader img,
    .iccu-preloader img.iccu-preloader-image {
        max-width: 160px !important;
        max-height: 160px !important;
        width: 160px !important;
    }
}

/* Mobile Landscape & Small Tablet - 481px to 768px */
@media screen and (min-width: 481px) and (max-width: 768px) {
    .iccu-preloader-inner {
        max-width: 140px;
        max-height: 140px;
    }
    
    .iccu-preloader-image,
    #iccu-preloader img,
    #iccu-preloader .iccu-preloader-image,
    .iccu-preloader img,
    .iccu-preloader img.iccu-preloader-image {
        max-width: 140px !important;
        max-height: 140px !important;
        width: 140px !important;
    }
}

/* Mobile Portrait - 320px to 480px */
@media screen and (max-width: 480px) {
    .iccu-preloader-inner {
        max-width: 120px;
        max-height: 120px;
    }
    
    .iccu-preloader-image,
    #iccu-preloader img,
    #iccu-preloader .iccu-preloader-image,
    .iccu-preloader img,
    .iccu-preloader img.iccu-preloader-image {
        max-width: 120px !important;
        max-height: 120px !important;
        width: 120px !important;
    }
}

/* Extra Small Mobile - Below 375px */
@media screen and (max-width: 374px) {
    .iccu-preloader-inner {
        max-width: 100px;
        max-height: 100px;
    }
    
    .iccu-preloader-image,
    #iccu-preloader img,
    #iccu-preloader .iccu-preloader-image,
    .iccu-preloader img,
    .iccu-preloader img.iccu-preloader-image {
        max-width: 100px !important;
        max-height: 100px !important;
        width: 100px !important;
    }
}

/* Prevent body scroll when preloader is active */
body.iccu-preloader-active {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
}

/* Override any theme or plugin styles */
#iccu-preloader * {
    box-sizing: border-box !important;
}

/* Ensure preloader is always on top */
#iccu-preloader {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

/* Smooth rendering */
#iccu-preloader,
#iccu-preloader * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
