/* Webflow's display:flex on checkout-* classes outranks the UA [hidden] rule. */
.checkout-layout [hidden] {
  display: none !important;
}

.checkout-layout .checkout-continue {
  margin-top: 16px;
}

/* Label and arrow are separate flex items. A typed space reads as no gap. */
.checkout-switch-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.checkout-layout .checkout-frame {
  min-height: 450px;
}

/* Seat stepper and cycle pill: pricing-proposal page CSS, scoped to the configurator. */
[data-checkout-seats] .pp-seat-input::-webkit-outer-spin-button,
[data-checkout-seats] .pp-seat-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

[data-checkout-seats] .pp-cycle {
  position: relative;
}

[data-checkout-seats] .pp-cycle::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  top: var(--pp-pill-y, 0px);
  width: var(--pp-pill-w, 0px);
  height: var(--pp-pill-h, 0px);
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #00000040;
  border-radius: 16px;
  box-shadow: 0 1px 3px #00000026;
  transform: translateX(var(--pp-pill-x, 0px));
  pointer-events: none;
}

[data-checkout-seats] .pp-cycle[data-pill="1"]::before {
  transition-property: transform, width, height, top;
  transition-duration: 0.28s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-checkout-seats] .pp-cycle > [data-cycle] {
  position: relative;
  z-index: 1;
  transition: color 0.2s ease;
}

[data-checkout-seats] .pp-cycle[data-pill] > [data-cycle] {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-checkout-seats] .pp-cycle::before,
  [data-checkout-seats] .pp-cycle > [data-cycle] {
    transition: none;
  }
}
