.booking-page{align-items:center;background:linear-gradient(135deg,rgba(245,247,250,.7),rgba(195,207,226,.7)),url(/client/static/img/140-broadway.png);background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover;color:#333;display:flex;font-family:Arial,sans-serif;justify-content:center;margin:0;min-height:100vh;padding:0}[data-theme=dark] .booking-page{background:linear-gradient(135deg,hsla(0,0%,7%,.85),rgba(40,40,40,.85)),url(/client/static/img/140-broadway.png);background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover}.booking-container{margin:0 auto;max-width:760px;padding:32px 16px 48px;width:100%}.booking-card{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:32px 28px}.booking-header{margin-bottom:24px;text-align:center}.booking-logo{color:#1976d2;font-size:30px;font-weight:700;letter-spacing:1px;margin:0}.booking-logo-img{display:inline-block;height:auto;max-height:80px;max-width:260px;width:auto}.booking-header .text-muted{font-size:15px;margin:6px 0 0}.booking-section-title{border-bottom:1px solid #e6e6e6;color:#1976d2;font-size:16px;font-weight:600;margin:28px 0 12px;padding-bottom:6px}.booking-form .form-label{color:#555;font-size:13px;font-weight:600;margin-bottom:4px}.booking-form .req{color:#d32f2f}.booking-submit-row{margin-top:28px;text-align:center}.booking-submit-row .btn{min-width:220px}.booking-progress{align-items:center;display:flex;gap:12px;margin-bottom:24px}.booking-progress-bar{background-color:#e6e6e6;border-radius:3px;flex:1;height:6px;overflow:hidden}.booking-progress-bar span{background-color:#1976d2;border-radius:3px;display:block;height:100%;transition:width .25s ease;width:0}.booking-progress-label{color:#777;font-size:12px;font-weight:600;white-space:nowrap}.booking-step-title{color:#222;font-size:20px;font-weight:700;margin:0 0 6px}.booking-step-help{color:#777;font-size:14px;margin:0 0 18px}.booking-choice-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:8px}@media (max-width:560px){.booking-choice-grid{grid-template-columns:1fr}}.booking-choice{align-items:center;background-color:#fff;border:2px solid #e2e2e2;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:28px 18px;text-align:center;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.booking-choice:hover{border-color:#1976d2;box-shadow:0 4px 14px rgba(25,118,210,.15);transform:translateY(-2px)}.booking-choice-icon{color:#1976d2;font-size:34px}.booking-choice-title{color:#222;font-size:16px;font-weight:700}.booking-choice-sub{color:#777;font-size:13px}.booking-nav{align-items:center;display:flex;gap:12px;margin-top:28px}.booking-nav .btn{min-width:120px}.booking-nav #booking-next,.booking-nav #booking-submit{margin-left:auto}.booking-service-options{background-color:#fafafa;border:1px solid #e6e6e6;border-radius:8px;display:grid;gap:6px 16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:340px;overflow-y:auto;padding:14px}.booking-service-options .form-check{margin:0}.booking-service-options .form-check-label{color:#333;font-size:14px}.booking-review{background-color:#f8f9fa;border-radius:8px;display:grid;gap:6px 16px;grid-template-columns:minmax(120px,32%) 1fr;margin:0;padding:16px}.booking-review dt{color:#999;font-size:12px;font-weight:600;margin:0}.booking-review dd{color:#333;font-size:14px;margin:0;word-break:break-word}.booking-card-footer{border-top:1px solid #e6e6e6;margin-top:28px;padding-top:16px}.booking-footnote{color:#999;font-size:12px;margin:0;text-align:center}.booking-hp{display:none}.booking-success{padding:24px 12px;text-align:center}.booking-success-icon{color:#4caf50;font-size:56px;margin-bottom:12px}.booking-success h2{font-size:22px;margin:0 0 10px}.booking-success p{color:#555;font-size:15px;margin:0 0 8px}.booking-reference-line{font-size:15px}#booking-message{margin-bottom:16px}