.booking-page{min-height:100vh;padding:calc(70px + 3rem) 1.5rem 4rem}.booking-container{max-width:640px;margin:0 auto}.booking-header{margin-bottom:2.5rem;text-shadow:0 3px 6px rgba(0,0,0,.7)}.booking-title{font-size:clamp(2rem,5vw,2.75rem);font-weight:300;letter-spacing:-.02em;line-height:1.15;margin-bottom:.75rem;color:var(--text-primary)}.booking-subtitle{font-size:.95rem;color:var(--text-secondary);line-height:1.6;font-weight:400}.booking-form{gap:2.5rem}.booking-form,.booking-section{display:flex;flex-direction:column}.booking-section{gap:1.25rem}.booking-section-title{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.booking-field{display:flex;flex-direction:column;gap:.4rem}.booking-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.booking-label-optional{font-weight:400;color:var(--text-muted)}.booking-input,.booking-select,.booking-textarea{width:100%;padding:.75rem .875rem;background:rgba(26,26,26,.85);border:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem;font-family:inherit;line-height:1.5;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.booking-input:focus,.booking-select:focus,.booking-textarea:focus{outline:none;border-color:var(--text-primary)}.booking-input::placeholder,.booking-textarea::placeholder{color:var(--text-muted)}.booking-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999999' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.25rem}.booking-select:disabled{opacity:.6;cursor:not-allowed}.booking-select option{background:#1a1a1a;color:#ffffff}.booking-form-error a{color:inherit;text-decoration:underline}.booking-textarea{min-height:120px;resize:vertical}.booking-error{font-size:.8rem;color:#ff6b6b}.booking-radio-group{display:flex;gap:1.5rem;flex-wrap:wrap}.booking-radio{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.booking-radio input[type=radio]{accent-color:var(--text-primary);width:1rem;height:1rem;cursor:pointer}.booking-checkbox-group{display:flex;flex-direction:column;gap:.75rem}.booking-checkbox{display:flex;align-items:center;gap:.625rem;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.booking-checkbox input[type=checkbox]{accent-color:var(--text-primary);width:1rem;height:1rem;cursor:pointer;flex-shrink:0}.booking-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.booking-row-offer{grid-template-columns:1fr auto}.booking-form-error{padding:.875rem 1rem;background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.3);color:#ff6b6b;font-size:.875rem}.booking-actions{display:flex;justify-content:flex-end;padding-top:.5rem}.booking-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;background:var(--text-primary);color:var(--primary-bg);border:1px solid var(--text-primary);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition);letter-spacing:.01em}.booking-submit:hover:not(:disabled){background:var(--primary-bg);color:var(--text-primary)}.booking-submit:disabled{opacity:.6;cursor:not-allowed}.booking-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:bookingSpin .7s linear infinite}@keyframes bookingSpin{to{transform:rotate(1turn)}}.booking-success{text-align:center;padding:3rem 0;text-shadow:0 3px 6px rgba(0,0,0,.7)}.booking-success-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:400;margin-bottom:1.25rem;color:var(--text-primary)}.booking-success-text{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.booking-reset{font-size:.9rem;color:var(--text-primary);background:none;border:1px solid var(--border-color);padding:.75rem 1.25rem;cursor:pointer;font-family:inherit;transition:var(--transition)}.booking-reset:hover{background:var(--text-primary);color:var(--primary-bg);border-color:var(--text-primary)}.booking-loading-artists{font-size:.9rem;color:var(--text-muted);padding:2rem 0}@media (min-width:641px){.booking-submit{width:auto;min-width:180px}}@media (max-width:640px){.booking-page{padding:calc(56px + 2rem) 1rem 3rem}.booking-row,.booking-row-offer{grid-template-columns:1fr}}