/* Newtack theme controls. Generated by build_theme.py; do not edit. */
nt-theme-toggle,
nt-theme-switch {
  color: var(--nt-text-primary);
}

.nt-theme-toggle__button,
.nt-theme-switch__option {
  align-items: center;
  appearance: none;
  background: var(--nt-surface-raised);
  border: var(--nt-p-border-hairline) solid var(--nt-rule-hairline);
  color: var(--nt-text-primary);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  margin: 0;
  min-height: var(--nt-p-space-10);
  min-width: var(--nt-p-space-10);
  padding: var(--nt-p-space-2);
  transition: background-color var(--nt-p-motion-duration-fast) var(--nt-p-motion-easing-standard), color var(--nt-p-motion-duration-fast) var(--nt-p-motion-easing-standard), border-color var(--nt-p-motion-duration-fast) var(--nt-p-motion-easing-standard);
}

.nt-theme-toggle__button {
  border-radius: var(--nt-p-radius-md);
}

.nt-theme-toggle__button:hover,
.nt-theme-switch__option:hover {
  background: var(--nt-accent-wash);
  border-color: var(--nt-accent-default);
}

.nt-theme-toggle__button:focus-visible,
.nt-theme-switch__option:focus-visible {
  outline: var(--nt-p-border-strong) solid var(--nt-accent-default);
  outline-offset: var(--nt-p-space-1);
}

.nt-theme-toggle__button svg,
.nt-theme-switch__option svg {
  display: block;
  height: var(--nt-p-space-5);
  pointer-events: none;
  width: var(--nt-p-space-5);
}

.nt-theme-switch__group {
  display: inline-flex;
}

.nt-theme-switch__option + .nt-theme-switch__option {
  margin-left: calc(var(--nt-p-border-hairline) * -1);
}

.nt-theme-switch__option:first-child {
  border-radius: var(--nt-p-radius-md) 0 0 var(--nt-p-radius-md);
}

.nt-theme-switch__option:last-child {
  border-radius: 0 var(--nt-p-radius-md) var(--nt-p-radius-md) 0;
}

.nt-theme-switch__option[aria-checked="true"] {
  background: var(--nt-accent-default);
  border-color: var(--nt-accent-default);
  color: var(--nt-text-on-accent);
  position: relative;
  z-index: 1;
}

/* SINGLE APPROVED LOCATION: top-right of a positioned masthead/header,
   aligned to its optical centre with one design-system clear-space inset. */
.nt-theme-slot {
  align-items: center;
  display: flex;
  inset-block-start: var(--nt-p-space-6);
  inset-inline-end: var(--nt-p-space-6);
  min-height: var(--nt-p-space-10);
  position: absolute;
}

@media (prefers-reduced-motion: reduce) {
  .nt-theme-toggle__button,
  .nt-theme-switch__option {
    transition: none;
  }
}
