/* HERO SECTION */

:root {
      --primary-blue: #0161B0;
      --accent-blue: #00a8ff;
      --accent: #F3D26A;
      --white: #FFFFFF;
      --machine-color: #f5f7fa;
    }

    /* Container */
    .loader-machine-container {
      position: fixed;
      inset: 0;
      background: linear-gradient(135deg, var(--primary-blue), #014c8c);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      z-index: 999999;
      transition: opacity .8s ease, visibility .8s ease;
    }

    .loader-machine-container.hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    /* Washing Machine */
    .washing-machine-loader {
      width: 140px;
      height: 180px;
      background: var(--machine-color);
      border-radius: 15px;
      animation: vibrate .1s infinite;
    }

    .washing-machine-dashboard {
      height: 40px;
      padding: 10px;
    }

    .washing-machine-led {
      width: 30px;
      height: 10px;
      background: #2f3640;
      border-radius: 3px;
      animation: led-pulse 1.5s infinite alternate;
    }

    /* Door */
    .washing-machine-door-rim {
      width: 100px;
      height: 100px;
      margin: auto;
      border-radius: 50%;
      background: #dcdde1;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .washing-machine-drum {
      width: 80px;
      height: 80px;
      border-radius: 50%;
      background: var(--primary-blue);
      overflow: hidden;
      position: relative;
    }

    .washing-machine-water {
      position: absolute;
      width: 200%;
      height: 100%;
      left: -50%;
      bottom: -10px;
      background: linear-gradient(45deg, var(--primary-blue), var(--accent-blue));
      border-radius: 42%;
      animation: spin-water 2s linear infinite;
      opacity: .7;
    }

    /* Progress bar */
    .loading-progress-container {
      width: 200px;
      height: 4px;
      background: rgba(255, 255, 255, .2);
      margin-top: 20px;
      border-radius: 2px;
    }

    .loading-progress-bar {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, var(--accent), #ffd166);
      transition: width .3s ease;
    }

    /* Text */
    .loader-text {
      margin-top: 25px;
    }

    .loader-subtext {
      color: rgba(255, 255, 255, .8);
      font-size: .9rem;
    }

    /* Animations */
    @keyframes vibrate {
      0% {
        transform: translate(0);
      }

      50% {
        transform: translate(1px, -1px);
      }

      100% {
        transform: translate(-1px, 1px);
      }
    }

    @keyframes spin-water {
      from {
        transform: rotate(0deg);
      }

      to {
        transform: rotate(360deg);
      }
    }

    @keyframes led-pulse {
      from {
        box-shadow: 0 0 5px var(--accent-blue);
      }

      to {
        box-shadow: 0 0 20px var(--accent-blue);
      }
    }