.booking-page{min-height:100vh;background:#f6f7fc;color:#202536;font-family:inherit}
.booking-wrap{max-width:640px;margin:0 auto;padding:48px 20px 80px}
.booking-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}
.booking-top .brand{font-size:20px;font-weight:800;color:#202536;text-decoration:none;letter-spacing:-.3px}
.booking-top .brand span{color:#586bf0}
.booking-top a.back{font-size:13px;color:#69718a;text-decoration:none}
.booking-top a.back:hover{color:#202536}
.booking-card{background:#fff;border:1px solid #e6e8f2;border-radius:20px;padding:32px 28px;box-shadow:0 18px 50px rgba(25,32,65,.08)}
.booking-eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#586bf0}
.booking-card h1{margin:0 0 8px;font-size:26px;letter-spacing:-.4px}
.booking-card>p{margin:0 0 24px;font-size:14px;color:#69718a;line-height:1.55}
.bk-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:20px}
.bk-service{position:relative;border:1.5px solid #e6e8f2;border-radius:14px;padding:14px 12px;background:#fff;cursor:pointer;text-align:left;font:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}
.bk-service:hover{border-color:#c3c9f5;transform:translateY(-2px)}
.bk-service:focus-visible{outline:3px solid #586bf0;outline-offset:2px}
.bk-service[aria-pressed="true"]{border-color:#586bf0;box-shadow:0 6px 18px rgba(88,107,240,.18);background:#f4f6ff}
.bk-service strong{display:block;font-size:13.5px;margin-bottom:3px}
.bk-service small{font-size:11px;color:#69718a;line-height:1.35;display:block}
.bk-field{margin-bottom:16px}
.bk-field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px}
.bk-field input,.bk-field textarea{width:100%;box-sizing:border-box;border:1.5px solid #e6e8f2;border-radius:10px;padding:11px 13px;font:inherit;font-size:14px;background:#fff;color:#202536}
.bk-field input:focus,.bk-field textarea:focus{outline:none;border-color:#586bf0;box-shadow:0 0 0 3px rgba(88,107,240,.15)}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-submit{width:100%;border:0;border-radius:12px;background:#25d366;color:#fff;font:inherit;font-size:15px;font-weight:700;padding:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s ease,transform .15s ease;margin-top:6px}
.bk-submit:hover{background:#1fba5a;transform:translateY(-1px)}
.bk-submit:focus-visible{outline:3px solid #586bf0;outline-offset:3px}
.bk-submit svg{width:18px;height:18px;fill:#fff}
.bk-note{margin:14px 0 0;font-size:12px;color:#69718a;text-align:center;line-height:1.5}
.bk-error{margin:0 0 14px;font-size:13px;color:#c0392b;background:#fdecea;border:1px solid #f5c6c0;border-radius:10px;padding:10px 12px;display:none}
.bk-error.show{display:block}
@media(max-width:520px){.booking-card{padding:24px 18px}.bk-row{grid-template-columns:1fr}}
