.appointments-booking{background:var(--appointments-surface);border:1px solid var(--appointments-border);border-radius:var(--motif-radius-card, 1rem);box-shadow:var(--motif-shadow-card);display:grid;gap:1.5rem;margin:clamp(1rem,4vw,3rem) auto;max-width:min(56rem,var(--layout-content-width, 100%));padding:clamp(1.25rem,4vw,2.5rem)}.appointments-booking :where(h1,h2,h3,p){margin:0}.appointments-booking h1{color:var(--motif-color-heading, inherit);font-family:var(--motif-font-h1, inherit);font-size:var(--motif-type-h2, 2rem);line-height:var(--motif-line-tight, 1.2)}.appointments-booking h2{font-size:var(--motif-type-h3, 1.4rem)}.appointments-booking h3{font-size:var(--motif-type-h4, 1.1rem)}.appointments-booking__header,.appointments-booking__planner,.appointments-booking__contact,.appointments-booking__private,.appointments-booking__results,.appointments-booking__slots,.appointments-booking__day,.appointments-booking__selection,.appointments-booking__private-link,.appointments-booking__preparation,.appointments-booking__feedback,.appointments-booking__feedback form,.appointments-booking__preparation-list,.appointments-booking__preparation-item{display:grid;gap:1rem}.appointments-booking__header>p,.appointments-booking__service-detail,.appointments-booking__contact>p,.appointments-booking__private-link p,.appointments-booking__results-heading p{color:var(--appointments-muted)}.appointments-booking__eyebrow{font-size:var(--motif-type-label, 0.9rem);font-weight:700}.appointments-booking__steps{border-block:1px solid var(--appointments-border);display:grid;gap:0.5rem;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:1rem 0}.appointments-booking__steps li{align-items:center;color:var(--appointments-muted);display:flex;gap:0.5rem;font-size:var(--motif-type-label, 0.9rem)}.appointments-booking__steps span{align-items:center;border:1px solid var(--appointments-border);border-radius:50%;display:inline-flex;flex:0 0 1.75rem;height:1.75rem;width:1.75rem;justify-content:center}.appointments-booking__steps [aria-current=step]{color:var(--appointments-ink);font-weight:700}.appointments-booking__steps [aria-current=step] span{background:var(--appointments-accent);border-color:var(--appointments-accent);color:var(--appointments-on-accent)}.appointments-booking__status,.appointments-booking__selection,.appointments-booking__preparation-item{background:var(--appointments-soft);border:1px solid var(--appointments-border);border-radius:var(--motif-radius-control, 0.5rem);padding:1rem 1.25rem}.appointments-booking__choices{align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.appointments-booking label{color:var(--appointments-ink);display:grid;font-size:var(--motif-type-label, 0.9rem);font-weight:600;gap:0.4rem}.appointments-booking .appointments-field__description{color:var(--appointments-muted);display:block;font-size:var(--motif-type-caption, 0.85rem);font-weight:400}.appointments-booking__add-ons{border:1px solid var(--appointments-border);border-radius:var(--motif-radius-control, 0.5rem);grid-column:1 / -1;margin:0;padding:1rem}.appointments-booking__add-ons label,.appointments-booking__feedback fieldset label{align-items:center;display:flex;gap:0.5rem;min-height:2.75rem}.appointments-booking__results-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:0.5rem 1rem;justify-content:space-between}.appointments-booking__slot-grid{display:grid;gap:0.65rem;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}.appointments-booking__slot{background:var(--appointments-surface);border-color:var(--appointments-border);color:var(--appointments-ink);display:grid;gap:0.25rem;text-align:start}.appointments-booking__days{display:flex;flex-wrap:wrap;gap:0.5rem}.appointments-booking__day-choice{align-items:center;background:var(--appointments-surface);border-color:var(--appointments-border);color:var(--appointments-ink);display:grid;flex:0 1 9rem;gap:0.25rem;min-height:2.75rem;text-align:start}.appointments-booking__day-choice[aria-pressed=true]{background:var(--appointments-soft);border-color:var(--appointments-accent);box-shadow:inset 0 0 0 1px var(--appointments-accent)}.appointments-booking__day-choice small{color:var(--appointments-muted);font-size:var(--motif-type-caption, 0.85rem);font-weight:400}.appointments-booking__slot small{font-size:var(--motif-type-caption, 0.85rem);font-weight:400}.appointments-booking__slot:hover:not(:disabled),.appointments-booking__slot[aria-pressed=true]{background:var(--appointments-soft);border-color:var(--appointments-accent);color:var(--appointments-ink)}.appointments-booking__slot[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--appointments-accent)}.appointments-booking__contact,.appointments-booking__preparation,.appointments-booking__feedback{border-top:1px solid var(--appointments-border);padding-top:1.25rem}.appointments-booking__actions,.appointments-booking__feedback fieldset{display:flex;flex-wrap:wrap;gap:0.75rem}.appointments-booking__feedback fieldset{border:0;margin:0;padding:0}.appointments-booking__appointment-state,.appointments-booking__preparation-state{font-weight:700}.appointments-booking__private-link input{font-size:var(--motif-type-caption, 0.85rem)}@media(max-width:600px){.appointments-booking__choices{grid-template-columns:1fr}.appointments-booking__steps li{align-items:flex-start;flex-direction:column}.appointments-booking__actions>button{flex:1 1 100%}}
