/* === Preloader base === */
#emw-preloader {
    position: fixed;
    inset: 0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 2.5s ease;
  }
  .emw-dots {
    display: flex;
    gap: var(--emw-gap, 0.2rem);
    align-items: center;
    justify-content: center;
  }
  .emw-dot {
    width: var(--emw-size, 70px);
    height: var(--emw-size, 70px);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: emw-bounce 2s infinite ease-in-out both;
  }
  .emw-dot1 { animation-delay: -0.32s; }
  .emw-dot2 { animation-delay: -0.16s; }
  .emw-dot svg { width: 100%; height: auto; }
  .emw-dot1 svg .cls-1 { fill: var(--emw-c1, #FFD700) !important; }
  .emw-dot2 svg .cls-1 { fill: var(--emw-c2, #FF3B30) !important; }
  .emw-dot3 svg .cls-1 { fill: var(--emw-c3, #34C759) !important; }
  
  @keyframes emw-bounce {
    0%, 80%, 100% { transform: translateY(0); opacity: 0.85; }
    40% { transform: translateY(-25px); opacity: 1; }
  }
  