/**
 * Segmented control — MUD (Figma: segment-figma.css).
 *
 * Markup (tabs or toggle group):
 * <div class="asp-segmented-control" role="tablist"> … </div>
 * <button type="button" class="asp-segmented-control__item" role="tab" aria-selected="true">…</button>
 * (Toggle groups may use aria-pressed instead of aria-selected.)
 *
 * Modifier: .asp-segmented-control--fluid — full width of parent (segments share space equally).
 */

.asp-segmented-control {
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--spacing-6);
  max-width: 100%;
  padding: var(--spacing-6);
  background: var(--gray-100);
  border-radius: var(--border-radius-full);
}

.asp-segmented-control--fluid {
  display: flex;
  width: 100%;
}

.asp-segmented-control__item {
  box-sizing: border-box;
  position: relative;
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  min-height: 40px;
  padding: 0 var(--spacing-16);
  margin: 0;
  border: none;
  border-radius: var(--border-radius-full);
  background: var(--gray-100);
  font-family: var(--font-family-base);
  font-size: var(--text-desktop-body-sm-size);
  font-weight: 400;
  line-height: 20px; /* Figma Desktop/Body/Small (token height is 150%) */
  text-align: center;
  color: var(--gray-700);
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    font-weight 0.15s ease,
    box-shadow 0.15s ease;
}

.asp-segmented-control--fluid .asp-segmented-control__item {
  flex: 1 1 0;
  min-width: 68px;
}

/* Selected — Mode=On (Figma #1E1E1E + Drop Shadow/100) */
.asp-segmented-control__item[aria-selected='true'],
.asp-segmented-control__item[aria-pressed='true'],
.asp-segmented-control__item.is-selected {
  background: #1e1e1e;
  box-shadow:
    0 0 0.5px rgba(0, 0, 0, 0.3),
    0 1px 3px rgba(0, 0, 0, 0.16);
  font-weight: var(--text-desktop-body-sm-500-weight);
  color: var(--white);
}

/* Unselected hover — #D9D9D9 */
.asp-segmented-control__item:hover:not([aria-selected='true']):not([aria-pressed='true']):not(.is-selected):not(:disabled) {
  background: var(--gray-200);
}

.asp-segmented-control__item:hover:is([aria-selected='true'], [aria-pressed='true'], .is-selected):not(:disabled) {
  background: #2a2a2a;
}

/* Focus — Focus Ring/Medium (white 2px + blue 5px) */
.asp-segmented-control__item:focus {
  outline: none;
}

.asp-segmented-control__item:focus-visible {
  box-shadow:
    0 0 0 2px var(--white),
    0 0 0 5px var(--color-border-focus);
}

.asp-segmented-control__item[aria-selected='true']:focus-visible,
.asp-segmented-control__item[aria-pressed='true']:focus-visible,
.asp-segmented-control__item.is-selected:focus-visible {
  box-shadow:
    0 0 0.5px rgba(0, 0, 0, 0.3),
    0 1px 3px rgba(0, 0, 0, 0.16),
    0 0 0 2px var(--white),
    0 0 0 5px var(--color-border-focus);
}

.asp-segmented-control__item:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}

@media (max-width: 575.98px) {
  .asp-segmented-control {
    padding: var(--spacing-4);
  }

  .asp-segmented-control__item {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .asp-segmented-control__item {
    transition: none;
  }
}
