.booking-page{background-color:#0e0e0e;min-height:100vh;padding:clamp(2rem,5vw,5rem) clamp(1rem,4vw,3rem)}.booking-layout{grid-template-columns:1fr 480px;align-items:start;gap:clamp(2rem,5vw,5rem);max-width:1100px;margin:0 auto;display:grid}.booking-pitch{position:sticky;top:5rem}.booking-pitch__eyebrow{color:#ffc107;text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem;font-size:.8rem;font-weight:600}.booking-pitch__headline{color:#fff;margin:0 0 1.25rem;font-family:Ethnocentric,monospace;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;line-height:1.2}.booking-pitch__body{color:#999;margin:0 0 2rem;font-size:.95rem;line-height:1.7}.booking-pitch__section-label{color:#555;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .75rem;font-size:.72rem;font-weight:600}.booking-pitch__list{flex-direction:column;gap:.6rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.booking-pitch__list li{color:#ccc;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.booking-pitch__list li span:first-child{text-align:center;flex-shrink:0;width:1.5rem;font-size:1.1rem}.booking-pitch__who{flex-direction:column;gap:.5rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.booking-pitch__who li{color:#888;padding-left:1rem;font-size:.88rem;position:relative}.booking-pitch__who li:before{content:"→";color:#ffc107;position:absolute;left:0}.booking-pitch__callout{color:#ddd;background:#ffc10712;border-left:3px solid #ffc107;border-radius:0 8px 8px 0;padding:.9rem 1.2rem;font-size:.9rem;font-style:italic;line-height:1.5}.booking-form-col{min-width:0}.booking-card{background:#1a1a1a;border:1px solid #ffc10726;border-radius:16px;overflow:hidden}.booking-state{color:#aaa;text-align:center;background:#1a1a1a;border:1px solid #ffc10726;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.booking-state a{color:#ffc107}.booking-state--error{color:#ff6b6b}.booking-spinner{border:3px solid #ffc10726;border-top-color:#ffc107;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite booking-spin}@keyframes booking-spin{to{transform:rotate(360deg)}}.booking-section{border-bottom:1px solid #ffffff0f;padding:1.25rem 1.5rem}.booking-section--promo{background:#ffffff05}.booking-label{color:#666;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem;font-size:.75rem;font-weight:600}.booking-label__tz,.booking-label__optional{color:#444;text-transform:none;font-size:.72rem;font-weight:400}.booking-dates{flex-wrap:wrap;gap:.4rem;display:flex}.booking-date-chip{cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:center;min-width:54px;padding:.5rem .8rem;transition:border-color .15s,background .15s;display:flex}.booking-date-chip:hover{background:#ffc1070a;border-color:#ffc10766}.booking-date-chip.is-selected{background:#ffc1071a;border-color:#ffc107}.booking-date-chip__weekday{color:#555;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.booking-date-chip__date{color:#fff;margin-top:2px;font-size:.85rem;font-weight:600}.booking-date-chip.is-selected .booking-date-chip__weekday{color:#ffc107}.booking-times{flex-wrap:wrap;gap:.4rem;display:flex}.booking-time-chip{color:#ccc;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:8px;padding:.45rem .85rem;font-size:.85rem;transition:border-color .15s,background .15s}.booking-time-chip:hover{background:#ffc1070a;border-color:#ffc10766}.booking-time-chip.is-selected{color:#ffc107;background:#ffc1071a;border-color:#ffc107;font-weight:600}.booking-form{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.booking-field{flex-direction:column;gap:.35rem;display:flex}.booking-field--full{grid-column:1/-1}.booking-field label{color:#666;font-size:.78rem}.booking-field input,.booking-field textarea{color:#fff;resize:vertical;background:#111;border:1px solid #ffffff1a;border-radius:8px;outline:none;padding:.55rem .75rem;font-family:inherit;font-size:.88rem;transition:border-color .15s}.booking-field input:focus,.booking-field textarea:focus{border-color:#ffc107}.booking-promo{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.booking-promo__input{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#111;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:160px;padding:.5rem .75rem;font-family:monospace;font-size:.88rem;transition:border-color .15s}.booking-promo__input:focus{border-color:#ffc107}.booking-promo__input.is-valid{border-color:#34d399}.booking-promo__input.is-invalid{border-color:#ff6b6b}.booking-promo__status{color:#666;font-size:.82rem}.booking-promo__status--ok{color:#34d399;font-weight:600}.booking-promo__status--err{color:#ff6b6b}.booking-summary{color:#bbb;background:#ffc1070d;border-top:1px solid #ffc1071f;align-items:center;gap:.6rem;padding:.9rem 1.5rem;font-size:.83rem;display:flex}.booking-pay-btn{color:#111;cursor:pointer;letter-spacing:.01em;background:#ffc107;border:none;border-radius:10px;width:calc(100% - 3rem);margin:1.25rem 1.5rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:800;transition:background .15s,opacity .15s;display:block}.booking-pay-btn:hover:not(:disabled){background:#ffda5b}.booking-pay-btn:disabled{opacity:.35;cursor:not-allowed}.booking-pay-btn--free{color:#0a2e1f;background:#34d399}.booking-pay-btn--free:hover:not(:disabled){background:#6ee7b7}.booking-hint{text-align:center;color:#444;margin:0 1.5rem 1.25rem;font-size:.78rem}.booking-error-msg{color:#ff6b6b;margin:0 1.5rem .5rem;font-size:.82rem}.booking-success{text-align:center;background:#1a1a1a;border:1px solid #ffc10726;border-radius:16px;max-width:480px;margin:0 auto;padding:3rem 2rem}.booking-success__icon{color:#fff;background:linear-gradient(135deg,#34d399,#10b981);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 1.5rem;font-size:1.8rem;line-height:1;display:flex}.booking-success h2{color:#fff;margin:0 0 1rem;font-size:1.5rem}.booking-success p{color:#aaa;margin:0 0 .75rem;line-height:1.6}.booking-success__sub{font-size:.88rem;margin-bottom:2rem!important}@media (max-width:800px){.booking-layout{grid-template-columns:1fr}.booking-pitch{position:static}.booking-form{grid-template-columns:1fr}.booking-field--full{grid-column:1}}
