/* seasons.css — styles for Arcane Druid season progress bar */

/* Season progress — base container */
.season-progress {
  --ad-bg: #e6eef8;           /* background track */
  --ad-fill: #2b90ff;         /* fill color */
  --ad-accent: rgba(255,255,255,0.25); /* stripe highlight */
  --ad-height: 14px;
  --ad-radius: 999px;
  --ad-transition: 900ms cubic-bezier(.2,.9,.2,1);

  display: block;
  width: 100%;
  background: var(--ad-bg);
  border-radius: var(--ad-radius);
  height: var(--ad-height);
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}

/* Inner fill bar */
.season-progress .bar {
  display: block;
  height: 100%;
  width: 0%; /* set inline by PHP as e.g. style="width:42%;" */
  background: linear-gradient(90deg, var(--ad-fill) 0%, color-mix(in srgb, var(--ad-fill) 85%, black 15%) 100%);
  border-radius: var(--ad-radius);
  transition: width var(--ad-transition), background 250ms ease;
  position: relative;
  overflow: hidden;
}

/* Animated diagonal stripes (subtle) */
.season-progress .bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(
    135deg,
    rgba(255,255,255,0.10) 0%,
    rgba(255,255,255,0.10) 25%,
    rgba(255,255,255,0.00) 25%,
    rgba(255,255,255,0.00) 50%
  );
  background-size: 18px 18px;
  opacity: 0.35;
  transform: translateX(0);
  transition: transform 900ms linear;
  pointer-events: none;
}

/* Make the stripes move with filled width (subtle motion) */
.season-progress .bar[data-animated="1"]::before {
  animation: ad-stripes 3s linear infinite;
}
@keyframes ad-stripes {
  from { transform: translateX(0); }
  to   { transform: translateX(-18px); }
}

/* Text overlay (percentage) — optional */
.season-progress .pct-label {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  line-height: 1;
  color: #0b243a;
  font-weight: 600;
  text-shadow: 0 1px 0 rgba(255,255,255,0.6);
  pointer-events: none;
}

/* Small / compact variant */
.season-progress.small { --ad-height: 8px; }
.season-progress.large { --ad-height: 22px; }

/* Accessibility: ensure contrast when fill is very small */
.season-progress .bar[data-min-contrast="1"] {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.45) , inset 0 -1px 0 rgba(0,0,0,0.06);
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .season-progress .bar,
  .season-progress .bar::before {
    transition: none !important;
    animation: none !important;
  }
}
