/* Gymnity Airfold band: isolated styles for real loading states. */
@media screen {
  .airfold-band-loader {
    --airfold-loader-color: var(--brand-indigo, var(--blue, #21348c));
    --airfold-loader-fold: rgb(145 162 231 / 30%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    box-sizing: border-box;
    min-block-size: 6rem;
    max-inline-size: 100%;
    padding: 1rem;
    color: var(--muted, #49546f);
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: center;
  }

  .airfold-band-loader[hidden] { display: none !important; }

  .airfold-band-loader--compact {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    min-block-size: 3rem;
    padding: 0.5rem 0;
    text-align: start;
  }

  #sync-status .airfold-band-loader {
    --airfold-loader-color: currentColor;
    min-block-size: 32px;
    padding: 0;
    color: inherit;
    font-size: inherit;
  }

  .airfold-band-loader__band {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    inline-size: 91px;
    block-size: 32px;
  }

  .airfold-band-loader__segment {
    position: relative;
    display: block;
    flex: 0 0 27px;
    inline-size: 27px;
    block-size: 26px;
    background: var(--airfold-loader-color);
    clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%);
    animation: gymnity-airfold-band 1.8s ease-in-out infinite;
    animation-delay: 0s;
  }

  .airfold-band-loader__segment::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--airfold-loader-fold);
    clip-path: polygon(100% 0, 78% 100%, 52% 100%);
  }

  .airfold-band-loader__segment:nth-child(2) { animation-delay: -0.324s; }
  .airfold-band-loader__segment:nth-child(3) { animation-delay: -0.648s; }

  .airfold-band-loader__label {
    min-inline-size: 0;
    max-inline-size: 100%;
    overflow-wrap: anywhere;
  }

  @keyframes gymnity-airfold-band {
    0%, 100% { opacity: 0.25; transform: translateY(3px); }
    38%, 55% { opacity: 1; transform: translateY(-3px); }
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  .airfold-band-loader__segment {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

@media screen and (forced-colors: active) {
  .airfold-band-loader { color: CanvasText; }
  .airfold-band-loader__segment {
    forced-color-adjust: none;
    background: CanvasText;
  }
  .airfold-band-loader__segment::after { display: none; }
}

@media print {
  .airfold-band-loader { display: none !important; }
}
