.booking-stepper{--stepper-marker: 32px;width:100%;max-width:640px;margin-inline:auto}.booking-stepper__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}.booking-stepper__item{position:relative;display:flex;justify-content:center;min-width:0}.booking-stepper__item+.booking-stepper__item:before{content:"";position:absolute;top:calc(var(--stepper-marker) / 2 - 1px);right:50%;width:100%;height:2px;background:var(--color-border-strong)}.booking-stepper__item:is([data-state=completed],[data-state=current])+.booking-stepper__item:is([data-state=completed],[data-state=current]):before{background:var(--color-success)}.booking-stepper__step{position:relative;z-index:1;display:grid;justify-items:center;gap:var(--space-2);min-width:0;padding:0 var(--space-1);color:var(--color-text-muted);text-align:center;text-decoration:none;border-radius:var(--radius-sm)}.booking-stepper__marker{display:grid;place-items:center;width:var(--stepper-marker);height:var(--stepper-marker);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--color-text-muted);background:var(--color-surface-2);border:2px solid var(--color-border-strong);border-radius:var(--radius-pill)}.booking-stepper__label{font-size:var(--text-sm);font-weight:500;line-height:var(--leading-tight)}.booking-stepper__item[data-state=completed] .booking-stepper__step{color:var(--color-success)}.booking-stepper__item[data-state=completed] .booking-stepper__marker{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,var(--color-bg));border-color:var(--color-success)}a.booking-stepper__step:hover .booking-stepper__label{text-decoration:underline;text-underline-offset:3px}.booking-stepper__item[data-state=current] .booking-stepper__step{color:var(--color-text)}.booking-stepper__item[data-state=current] .booking-stepper__label{font-weight:700}.booking-stepper__item[data-state=current] .booking-stepper__marker{color:var(--color-white);background:var(--color-brand);border-color:var(--color-brand)}@media(max-width:639px){.booking-stepper{--stepper-marker: 28px}.booking-stepper__marker,.booking-stepper__label{font-size:var(--text-xs)}}
