
/* ===============================
   HIDE ALL ELEMENTOR LOADERS & SPINNERS
   =============================== */

/* Hide Elementor App Loader */
.elementor-app-loader,
.elementor-app-loader-js,
#elementor-app-loader-js,
#elementor-app-loader-js-before,
script[id*="elementor-app-loader"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Hide the rotating dashicons icon */
.dashicons-image-rotate,
.dashicons-before.dashicons-image-rotate,
span.dashicons-image-rotate,
.dashicons.dashicons-image-rotate {
    display: none !important;
    animation: none !important;
    background: none !important;
}

/* Hide any Elementor loading elements */
.elementor-loading,
.elementor-loader,
.elementor-loader-wrapper,
.elementor-loader-ellipsis,
.elementor-preview-loading,
.elementor-invisible {
    display: none !important;
}

/* Hide all dashicons that might spin */
.dashicons-update,
.dashicons-spinner,
.dashicons-admin-appearance,
[class*="dashicons-spin"] {
    display: none !important;
    animation: none !important;
}

/* Hide any loading overlay */
.blockUI,
.blockOverlay,
.blockMsg {
    display: none !important;
}

/* Hide all spinners and rotating elements */
[class*="spinner"],
[class*="spinner"]:before,
[class*="spinner"]:after,
[class*="rotate"],
.fa-spinner,
.fa-spin,
.fa-circle-o-notch,
.fa-refresh {
    display: none !important;
    animation: none !important;
}
/* ===============================
   HIDE ALL SVG SPINNERS & LOADERS
   =============================== */

/* Hide the main spinning SVG loader */
svg[viewBox="-1 -1 102 102"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Hide all SVG elements that are used as loaders */
svg[class*="spin"],
svg[class*="loader"],
svg[class*="preload"],
svg[class*="spinner"] {
    display: none !important;
}

/* Hide all rotating SVG elements */
svg[style*="animation"],
svg[style*="rotate"] {
    display: none !important;
}

/* Hide specific SVG spinners from Elementor/XStore */
svg.quotes,
svg.dashicons,
svg[class*="eicon"],
svg[class*="elementor"] {
    display: none !important;
}

/* Hide any SVG that is used for loading animation */
.elementor-loader-wrapper svg,
.etheme-loader svg,
.preloader svg,
.loader svg {
    display: none !important;
}

/* Hide any container that might contain spinners */
.elementor-loader-wrapper,
.etheme-loader-wrapper,
.preloader-container {
    display: none !important;
}












/* ===============================
   VEE TELECOM LOADER - BASE STYLES
   =============================== */

/* Fullscreen Loader Container */
#vt-loader {
    position: fixed;
    inset: 0;
    background: rgba(245, 245, 245, 0.15);
    backdrop-filter: blur(2px);
    z-index: 999999999;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: visible;
    opacity: 1;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Center Circle Container */
.vt-circle {
    position: relative;
    width: 100px;
    height: 100px;
    z-index: 100;
    transform: translateZ(0);
}

/* Pseudo-element Base Setup */
.vt-circle::before,
.vt-circle::after {
    content: '';
    position: absolute;
    box-sizing: border-box;
}

/* Logo Styling */
.vt-circle img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 52px !important;
    height: auto !important;
    z-index: 9999 !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

/* Hide Loader After Page Load */
body.loaded #vt-loader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Order Page Specific */
body.vt-checkout-page #vt-loader {
    background: rgba(245, 245, 245, 0.15);
    backdrop-filter: blur(1px);
}

body.loaded.vt-checkout-page #vt-loader {
    opacity: 1;
    visibility: visible;
}

/* Animation Keyframes (Base) */
@keyframes vt-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes vt-spin-reverse {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}

@keyframes vt-spin-square {
    0% { transform: rotate(45deg); }
    100% { transform: rotate(405deg); }
}

@keyframes vt-spin-square-reverse {
    0% { transform: rotate(-45deg); }
    100% { transform: rotate(-405deg); }
}

/* Safari Support */
@-webkit-keyframes vt-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@-webkit-keyframes vt-spin-reverse {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}