*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;color:#e0e0e0}.booking-container{max-width:800px;margin:0 auto;padding:2rem}.booking-header{text-align:center;margin-bottom:2rem}.booking-header h1{font-size:2rem;font-weight:700;color:#fff;margin-bottom:.5rem}.booking-header p{color:#a0a0a0;font-size:1rem}.brand-selector{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.brand-btn{padding:.75rem 1.5rem;border:2px solid #333;background:#ffffff0d;color:#fff;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:500}.brand-btn:hover{background:#ffffff1a}.brand-btn.active{border-color:#4f8cff;background:#4f8cff33}.event-types{display:grid;gap:1rem;margin-bottom:2rem}.event-card{background:#ffffff0d;border:2px solid transparent;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s}.event-card:hover{background:#ffffff14;border-color:#333}.event-card.selected{border-color:#4f8cff;background:#4f8cff26}.event-card h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:#fff}.event-card .duration{color:#4f8cff;font-size:.9rem;font-weight:500}.calendar-section{background:#ffffff08;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-nav h3{font-size:1.1rem;color:#fff}.nav-btn{background:#ffffff1a;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.nav-btn:hover{background:#ffffff26}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1.5rem}.day-btn{background:#ffffff0d;border:2px solid transparent;border-radius:8px;padding:.75rem .5rem;text-align:center;cursor:pointer;transition:all .2s;color:#fff}.day-btn:hover:not(:disabled){background:#ffffff1a}.day-btn.selected{border-color:#4f8cff;background:#4f8cff33}.day-btn.today{border-color:gold}.day-btn:disabled{opacity:.3;cursor:not-allowed}.day-btn .day-name{font-size:.7rem;color:#888;display:block}.day-btn .day-num{font-size:1.2rem;font-weight:600;display:block}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.time-slot{background:#ffffff14;border:2px solid transparent;border-radius:6px;padding:.75rem;text-align:center;cursor:pointer;transition:all .2s;color:#fff;font-size:.9rem}.time-slot:hover{background:#4f8cff33;border-color:#4f8cff}.time-slot.selected{background:#4f8cff;border-color:#4f8cff}.time-slot.high-energy{border-left:3px solid #4ade80}.booking-form{background:#ffffff08;border-radius:12px;padding:1.5rem}.booking-form h3{margin-bottom:1.5rem;color:#fff}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#a0a0a0}.form-group input,.form-group textarea{width:100%;padding:.75rem;background:#ffffff14;border:1px solid #333;border-radius:6px;color:#fff;font-size:1rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4f8cff}.submit-btn{width:100%;padding:1rem;background:#4f8cff;border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:#3a7ae8}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.confirmation{text-align:center;padding:3rem}.confirmation .icon{font-size:4rem;margin-bottom:1rem}.confirmation h2{color:#4ade80;margin-bottom:1rem}.confirmation .details{background:#ffffff0d;border-radius:8px;padding:1.5rem;margin:1.5rem 0;text-align:left}.confirmation .details p{margin:.5rem 0}.ots-link{display:inline-block;margin-top:1rem;padding:1rem 2rem;background:#4f8cff;color:#fff;text-decoration:none;border-radius:8px;font-weight:600}.ots-warning{margin-top:1rem;padding:1rem;background:#fbbf2433;border-radius:8px;color:#fbbf24;font-size:.9rem}.loading{text-align:center;padding:2rem;color:#888}.error{background:#ef444433;color:#ef4444;padding:1rem;border-radius:8px;margin-bottom:1rem}@media (max-width: 600px){.booking-container{padding:1rem}.week-days{grid-template-columns:repeat(7,1fr);gap:.25rem}.day-btn{padding:.5rem .25rem}.day-btn .day-name{font-size:.6rem}.day-btn .day-num{font-size:1rem}}
