/* Purchase layout uses the shared FlexAdmin cards, controls and theme tokens. */
.credit-purchase {
  container-type: inline-size;
}

.credit-purchase-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}

.credit-purchase-block {
  min-width: 0;
}

.credit-purchase-divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  color: var(--muted-color);
  font-size: .75rem;
  font-weight: 700;
}

.credit-purchase-divider::before,
.credit-purchase-divider::after {
  content: "";
  flex: 1;
  width: 1px;
  background: var(--border-color);
}

.credit-purchase-divider span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  background: var(--surface-color);
}

.credit-pack-options .credit-pack-option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
  padding: 9px 12px;
  font-size: .875rem;
  cursor: pointer;
}

.credit-pack-option .form-check-input {
  flex-shrink: 0;
}

.credit-pack-option:has(input:checked) {
  background: color-mix(in srgb, var(--accent-color) 10%, var(--surface-color));
  box-shadow: inset 3px 0 var(--accent-color);
}

.credit-pack-option:focus-within {
  outline: 2px solid var(--accent-color);
  outline-offset: -2px;
}

@container (max-width: 759px) {
  .credit-purchase-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .credit-purchase-divider {
    flex-direction: row;
  }

  .credit-purchase-divider::before,
  .credit-purchase-divider::after {
    width: auto;
    height: 1px;
  }
}

@supports not (container-type: inline-size) {
  @media (max-width: 1199px) {
    .credit-purchase-layout { grid-template-columns: minmax(0, 1fr); }
    .credit-purchase-divider { flex-direction: row; }
    .credit-purchase-divider::before,
    .credit-purchase-divider::after { width: auto; height: 1px; }
  }
}
