/* ========================================
   STATE.CSS - SMACSS state layer
   ======================================== */

/* Generic visibility/state helpers */
.is-hidden {
  display: none !important;
}

.is-visible {
  display: block !important;
}

.is-active {
  opacity: 1 !important;
}

.is-disabled {
  pointer-events: none !important;
  opacity: 0.55 !important;
}

.is-loading {
  position: relative;
  pointer-events: none;
}

.is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(15, 23, 42, 0.06), rgba(255, 255, 255, 0));
  animation: state-shimmer 1.2s linear infinite;
}

/* ARIA-driven defaults */
[aria-hidden="true"] {
  visibility: hidden;
}

[aria-busy="true"] {
  cursor: progress;
}

/* Utility state for accessibility */
.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

@keyframes state-shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
