.booking-page{min-height:100vh;padding:48px 0 96px;background:radial-gradient(1000px 500px at 85% -5%,rgba(214,163,84,.08),transparent 60%),var(--ink)}.booking-container{max-width:1040px}.booking-head{margin-bottom:28px}.booking-head h1{font-size:clamp(2.6rem,6vw,4rem);margin-bottom:24px}.booking-page .gold{color:var(--gold)}.stepper{list-style:none;display:flex;gap:8px;padding:0;margin:0;flex-wrap:wrap}.step-dot{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:#6e6a60;padding:8px 16px 8px 8px;border:1px solid var(--line);border-radius:100px;transition:all .2s ease}.step-dot span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffff0f;font-size:.8rem}.step-dot.active{color:var(--cream);border-color:#d6a35480}.step-dot.active span{background:var(--gold);color:#161310}.step-dot.done{color:var(--gold)}.step-dot.done span{background:var(--gold-soft);color:var(--gold)}.choice-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.choice{display:flex;align-items:baseline;gap:10px;background:var(--ink-2);border:1px solid var(--line);border-radius:100px;color:var(--cream);padding:9px 18px;cursor:pointer;font-family:var(--font-body);font-size:.88rem;transition:border-color .15s ease}.choice:hover{border-color:var(--gold)}.choice small{color:var(--cream-dim);font-size:.75rem}.choice strong{font-weight:600}.choice .edit{color:var(--gold);font-size:.78rem;text-decoration:underline}.step{display:none}.step.active{display:block;animation:stepIn .35s ease}@keyframes stepIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.filter-bar{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.svc-search{width:100%;max-width:460px;background:var(--ink-2);border:1px solid var(--line-strong);border-radius:100px;color:var(--cream);font-family:var(--font-body);font-size:.95rem;padding:13px 22px;outline:none;transition:border-color .15s ease}.svc-search:focus{border-color:var(--gold)}.svc-search::placeholder{color:#6e6a60}.cat-tabs{display:flex;gap:8px;flex-wrap:wrap}.cat-tab{font-family:var(--font-body);font-size:.88rem;font-weight:600;background:transparent;color:var(--cream-dim);border:1px solid var(--line-strong);border-radius:100px;padding:9px 22px;cursor:pointer;transition:all .15s ease}.cat-tab:hover{color:var(--cream);border-color:var(--gold)}.cat-tab.active{background:var(--gold);border-color:var(--gold);color:#161310}.svc-group[hidden]{display:none}.group-title{font-size:1.3rem;color:var(--gold);letter-spacing:.08em;margin:26px 0 14px}.svc-group:first-of-type .group-title{margin-top:0}.pick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.pick-card{display:flex;gap:16px;align-items:stretch;text-align:left;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:0;cursor:pointer;overflow:hidden;color:var(--cream);font-family:var(--font-body);transition:border-color .16s ease,transform .16s ease}.pick-card:hover{border-color:var(--gold);transform:translateY(-2px)}.pick-card[hidden]{display:none}.pick-card img{width:108px;min-height:108px;object-fit:cover;flex-shrink:0}.pick-body{display:flex;flex-direction:column;gap:4px;padding:16px 16px 14px 0;flex:1;min-width:0}.pick-card:not(:has(img)) .pick-body{padding-left:16px}.pick-body strong{font-size:1.05rem;font-weight:600}.pick-body small{color:var(--cream-dim);font-size:.82rem;line-height:1.45}.pick-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:8px}.pick-meta b{font-family:var(--font-display);font-size:1.3rem;color:var(--gold);font-weight:700}.pick-meta i{font-style:normal;font-size:.8rem;color:var(--cream-dim)}.staff-grid{grid-template-columns:repeat(2,1fr)}.staff-pick{align-items:center;padding:18px;gap:16px}.staff-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-deep));display:grid;place-items:center;font-family:var(--font-display);font-size:1.7rem;font-weight:700;color:#161310;flex-shrink:0;overflow:hidden}.staff-avatar img{width:100%;height:100%;object-fit:cover}.staff-pick .pick-body{padding:0}.pick-arrow{color:var(--gold);font-size:1.6rem;padding-right:4px}.step-hint{color:var(--cream-dim);margin-top:18px}.datetime-grid{display:grid;grid-template-columns:minmax(330px,420px) 1fr;gap:20px;align-items:start}.card-block{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.cal-head strong{font-family:var(--font-display);font-size:1.45rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--cream)}.cal-nav{background:transparent;color:var(--cream);border:1px solid var(--line-strong);border-radius:10px;width:38px;height:38px;font-size:1.25rem;cursor:pointer;transition:all .15s;line-height:1}.cal-nav:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.cal-nav:disabled{opacity:.25;cursor:not-allowed}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-days{margin-bottom:8px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6e6a60;text-align:center}.cal-cell{aspect-ratio:1;display:grid;place-items:center;background:transparent;border:none;border-radius:50%;color:#55524a;font-size:.95rem;font-family:var(--font-body);font-weight:500;cursor:not-allowed;transition:background .12s ease,color .12s ease,box-shadow .12s ease;position:relative}.cal-cell.bookable{color:var(--cream);cursor:pointer;background:#ffffff0b}.cal-cell.bookable:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.85}.cal-cell.bookable:hover{background:var(--gold-soft);color:var(--gold)}.cal-cell.today{box-shadow:inset 0 0 0 1px var(--line-strong)}.cal-cell.selected,.cal-cell.selected:hover{background:var(--gold);color:#161310;font-weight:700;box-shadow:0 6px 18px -6px #d6a35499}.cal-cell.selected:after{background:#161310}.cal-legend{display:flex;gap:18px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.78rem;color:var(--cream-dim)}.cal-legend span{display:inline-flex;align-items:center;gap:7px}.cal-legend .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-free{background:var(--gold)}.dot-off{background:#444138}.times h3{font-size:1.05rem;letter-spacing:.02em;margin-bottom:18px;color:var(--cream);font-family:var(--font-body);font-weight:600;text-transform:none}.times h3 em{color:var(--gold);font-style:normal}.time-group{margin-bottom:20px}.time-group:last-child{margin-bottom:0}.time-group h4{font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-dim);margin:0 0 10px}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px}.time-slot{padding:12px 0;background:#ffffff0b;border:1px solid transparent;border-radius:10px;color:var(--cream);font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;font-family:var(--font-body);transition:all .12s ease}.time-slot:hover:not(:disabled){border-color:var(--gold);background:var(--gold-soft);color:var(--gold);transform:translateY(-1px)}.time-slot.taken{background:transparent;border:1px dashed rgba(255,255,255,.08);color:#4a473f;text-decoration:line-through;cursor:not-allowed}.times-loading{color:var(--cream-dim)}.details-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}.details-form{display:flex;flex-direction:column;gap:18px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hp{position:absolute;left:-9999px;opacity:0;height:0}.form-error{background:#c0392b24;border:1px solid rgba(192,57,43,.4);color:#e57368;padding:12px 16px;border-radius:var(--radius);font-size:.92rem;margin:0}.btn-big{padding:17px 32px;font-size:1.02rem}.privacy-note{color:#6e6a60;font-size:.82rem;margin:0}.summary h3{font-size:1.2rem;color:var(--gold);letter-spacing:.08em;margin-bottom:16px}.summary dl{margin:0;display:flex;flex-direction:column;gap:10px}.summary dl>div{display:flex;justify-content:space-between;gap:12px;font-size:.95rem}.summary dt{color:var(--cream-dim)}.summary dd{margin:0;font-weight:600;text-align:right}.summary .total{border-top:1px solid var(--line);padding-top:12px;margin-top:6px}.summary .total dd{font-family:var(--font-display);font-size:1.5rem;color:var(--gold)}.summary .pay-note{color:#6e6a60;font-size:.82rem;margin:10px 0 0}.done-box{text-align:center;padding:64px 24px;max-width:520px;margin:0 auto}.done-icon{width:84px;height:84px;margin:0 auto 24px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#161310;font-size:2.6rem;font-weight:700;display:grid;place-items:center;animation:pop .5s cubic-bezier(.16,1.4,.3,1)}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.done-box h2{font-size:clamp(2.2rem,5vw,3rem);margin-bottom:14px}.done-box p{color:var(--cream-dim);margin-bottom:30px}.done-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.wizard-nav{margin-top:28px}@media(max-width:820px){.pick-grid,.staff-grid,.datetime-grid,.details-grid{grid-template-columns:1fr}.summary{order:-1}.form-row{grid-template-columns:1fr}.pick-card img{width:88px;min-height:88px}}
