.aigenix-pricing-toggle-wrapper {
  display: flex;
  inline-size: 100%;
}

.aigenix-pricing-toggle {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem;
  user-select: none;
}

.aigenix-pricing-toggle__label {
  font-family: var(--aigenix-core-font-display);
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--aigenix-core-text-muted);
  transition: color 180ms ease;
  position: relative;
  display: inline-flex;
  align-items: center;
}

.aigenix-pricing-toggle__label--active {
  color: var(--aigenix-core-text);
}

/* Switch */
.aigenix-pricing-toggle__switch {
  display: inline-block;
  inline-size: 3.5rem;
  block-size: 1.85rem;
  background-color: var(--aigenix-core-border);
  border: 1px solid transparent;
  border-radius: var(--aigenix-core-radius-full);
  position: relative;
  cursor: pointer;
  padding: 0;
  transition: background-color 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms ease;
}

.aigenix-pricing-toggle__switch:hover,
.aigenix-pricing-toggle__switch:focus-visible {
  border-color: var(--aigenix-core-border-strong);
}

.aigenix-pricing-toggle__switch[aria-checked="true"] {
  background-color: var(--aigenix-core-brand);
}

/* Handle */
.aigenix-pricing-toggle__handle {
  position: absolute;
  inline-size: 1.35rem;
  block-size: 1.35rem;
  border-radius: var(--aigenix-core-radius-full);
  background-color: #ffffff;
  left: 0.25rem;
  top: 0.2rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.aigenix-pricing-toggle__switch[aria-checked="true"] .aigenix-pricing-toggle__handle {
  transform: translateX(1.65rem);
}

/* Discount Badge */
.aigenix-pricing-toggle__discount {
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 800;
  color: var(--aigenix-core-accent);
  background-color: rgba(246, 63, 136, 0.12);
  border: 1px solid var(--aigenix-core-accent);
  padding: 0.15rem 0.5rem;
  border-radius: var(--aigenix-core-radius-full);
  margin-inline-start: 0.5rem;
  vertical-align: middle;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
