.booking{--accent-hover:#692e79;--surface:#fff;--divider:1px dotted #1c1a1b47;padding:0 var(--gutter) 96px}.booking-grid{column-gap:var(--gutter);grid-template-columns:1fr 1fr;padding-top:clamp(32px,8vh,96px);display:grid}@media (width>=801px){.booking-grid{grid-template-rows:auto 1fr}.booking .side{grid-row:1/3;grid-template-rows:subgrid;display:grid}.booking .steps{grid-area:2/2}}.booking .side{align-self:start;max-width:480px;position:sticky;top:96px}.booking .steps{min-width:0;max-width:580px}.booking h1{letter-spacing:-.03em;margin-bottom:20px;font-size:clamp(34px,4vw,56px);font-weight:420;line-height:1.02}.booking .intro{color:var(--ink-soft);max-width:380px;margin-bottom:40px;font-size:17px}.booking .picked{border-top:var(--divider);margin-bottom:32px}.booking .picked div{border-bottom:var(--divider);grid-template-columns:110px 1fr;gap:16px;padding:12px 0;font-size:15px;display:grid}.booking .picked dt{color:var(--muted)}.booking .picked dd{font-weight:500}.booking .picked dd:first-letter{text-transform:uppercase}.booking .side-contact{color:var(--muted);flex-direction:column;align-items:flex-start;gap:6px;font-size:15px;display:flex}.booking .side-contact .phone{background:var(--accent);color:#fff;letter-spacing:-.01em;white-space:nowrap;border-radius:50px;align-items:center;gap:10px;margin:4px 0 2px;padding:8px 24px 8px 8px;font-size:18px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.booking .side-contact .phone-icon{background:#ffffff29;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.booking .side-contact .phone:hover{background:var(--accent-hover)}.booking h2{margin-bottom:16px;font-size:15px;font-weight:500}.booking section{border-top:var(--divider);padding:28px 0;scroll-margin-top:96px}.booking .steps>form>section:first-child{border-top:0;padding-top:0}.booking .muted{color:var(--muted);font-weight:400}.booking .status,.booking .hint{color:var(--muted);font-size:14px}.booking .hint{margin-top:12px}.booking .hint a{color:var(--ink)}.booking button{font:inherit;color:inherit;cursor:pointer}.booking .treatments{flex-direction:column;gap:8px;display:flex}.booking .choice{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;transition:all .2s;display:flex}.booking .choice.enter{animation:choice-in .7s cubic-bezier(.22, 1, .36, 1) calc(80ms + var(--i) * 90ms) both}@keyframes choice-in{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.booking .choice.enter{animation:none}}.booking .choice strong{font-weight:500}.booking .choice small{color:var(--muted);font-size:13px}.booking .choice:hover{border-color:var(--accent)}.booking .choice.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.booking .calendar-head{text-transform:capitalize;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:500;display:flex}.booking .nav{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:40px;height:40px;font-size:20px;line-height:1}.booking .nav:disabled{opacity:.3;cursor:default}.booking .calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.booking .weekday{color:var(--muted);padding:4px 0;font-size:12px}.booking .day{aspect-ratio:1;color:var(--muted);opacity:.5;background:0 0;border:0;border-radius:50%;justify-self:center;width:100%;max-width:48px}.booking .day:disabled{cursor:default}.booking .day.available{color:var(--ink);opacity:1;background:#f3e4ec;font-weight:500}.booking .day.available:hover{background:#efdce6}.booking .day.selected,.booking .day.selected:hover{background:var(--accent);color:#fff}.booking .slots{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.booking .slot{border:1px solid var(--line);background:var(--surface);border-radius:50px;padding:10px 0;transition:all .2s}.booking .slot:hover{border-color:var(--accent)}.booking .slot.selected{background:var(--accent);border-color:var(--accent);color:#fff}.booking .summary{margin-bottom:16px;font-weight:500}.booking label{flex-direction:column;gap:4px;margin-bottom:12px;font-size:14px;display:flex}.booking input,.booking textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:16px}.booking input:focus,.booking textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.booking .website{position:absolute;left:-9999px}.booking .error{color:#b42318;margin-bottom:12px;font-size:14px}.booking .cta-button{background:var(--accent);color:#fff;border:0;border-radius:50px;width:100%;margin-top:8px;padding:16px 24px;font-size:16px;transition:all .4s cubic-bezier(0,.385,.03,.985)}.booking .cta-button:hover:not(:disabled){background:var(--accent-hover)}.booking .cta-button:disabled{opacity:.6}.booking .done{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:32px 24px}@media (width<=800px){.booking-grid{grid-template-columns:1fr;padding-top:32px}.booking .side{position:static}.booking h1{margin-bottom:12px}.booking .intro{margin-bottom:32px;font-size:16px}.booking .picked{display:none}.booking .side-contact{margin-bottom:32px}}
