.booking-hero{position:relative;background:#0f172a;padding:5rem 0 4rem;overflow:hidden}.booking-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(37,99,235,.25) 0,transparent 65%);pointer-events:none}.booking-hero .container{position:relative;z-index:1;display:flex;flex-direction:column;gap:.75rem}.booking-title{font-size:clamp(2rem,5vw,3rem);font-weight:900;color:#fff}.booking-subtitle{font-size:1rem;color:#94a3b8}.booking-body{padding:4rem 0 5rem;background:#f8fafc}.booking-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:start;max-width:1000px;margin:0 auto}.booking-events-single{max-width:600px;margin:0 auto}.booking-card-wrapper{display:flex;flex-direction:column}.booking-card-wrapper .booking-card{width:100%}.booking-form-inline{margin-top:0;border-top-left-radius:0;border-top-right-radius:0;border-color:currentcolor #2563eb #2563eb;border-top:#2563eb;animation:fadeUp .35s cubic-bezier(.4,0,.2,1) both}.booking-section-title{font-size:1.1rem;font-weight:800;color:#1e293b;margin-bottom:1.25rem}.booking-grid{gap:.75rem}.booking-card,.booking-grid{display:flex;flex-direction:column}.booking-card{gap:.6rem;padding:1.25rem 1.5rem;background:#ffffff;border:1.5px solid #e2e8f0;border-radius:14px;cursor:pointer;text-align:right;transition:border-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),background .25s,transform .25s cubic-bezier(.4,0,.2,1);font-family:inherit}.booking-card:hover{border-color:#93c5fd;box-shadow:0 6px 20px rgba(37,99,235,.1);transform:translateY(-2px)}.booking-card--active{border-color:#2563eb;background:#eff6ff;box-shadow:0 4px 16px rgba(37,99,235,.12)}.booking-card-wrapper:has(.booking-form-inline) .booking-card--active{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.booking-card-top{display:flex;align-items:center;justify-content:space-between}.booking-date{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;color:#2563eb;background:#dbeafe;padding:.25rem .75rem;border-radius:9999px}.booking-card h3{font-size:.95rem;font-weight:800;color:#1e293b;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.booking-card-quote{font-size:.92rem;font-weight:700;color:#475569}.booking-form-wrap{background:#ffffff;border:1.5px solid #e2e8f0;border-radius:18px;padding:2rem;box-shadow:0 1px 4px rgba(0,0,0,.05)}.booking-selected-event{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#eff6ff;border-radius:10px;border:1px solid #bfdbfe;font-size:.88rem;color:#1e293b;margin-bottom:.5rem}.booking-selected-event span{color:#64748b}.booking-selected-event strong{color:#1d4ed8;font-weight:800}.booking-form{gap:1.1rem}.booking-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.4rem}.form-group label{font-size:.88rem;font-weight:700;color:#374151}.required{color:#ef4444}.form-group input{padding:.75rem 1rem;border:1.5px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-family:inherit;color:#111827;background:#fff;direction:rtl;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.booking-error{font-size:.85rem;color:#ef4444;background:#fef2f2;padding:.6rem 1rem;border-radius:8px;border:1px solid #fecaca}.booking-success{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center}.booking-success h3{font-size:1.25rem;font-weight:800;color:#16a34a}.booking-success p{color:#64748b;font-size:.9rem}@media (max-width:768px){.booking-events-single{max-width:100%}}.form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.radio-group{display:flex;gap:2rem;margin-top:.25rem}.radio-label{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.95rem;font-weight:600;color:#374151}.radio-label input[type=radio]{width:18px;height:18px;accent-color:#2563eb;cursor:pointer}.file-upload{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1.25rem;border:2px dashed #d1d5db;border-radius:10px;background:#f9fafb;cursor:pointer;transition:all .2s;color:#6b7280;font-size:.9rem;font-weight:600}.file-upload:hover{border-color:#2563eb;background:#eff6ff;color:#2563eb}.file-name{color:#16a34a;font-weight:700}.booking-form-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;text-align:center;color:#94a3b8;font-size:.9rem}@media (max-width:480px){.form-row-2{grid-template-columns:1fr}}.students-table-wrap{overflow-x:auto;border-radius:10px;border:1.5px solid #e5e7eb}.students-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:600px}.students-table th{padding:.6rem .75rem;background:#f8fafc;color:#374151;font-weight:700;text-align:right;border-bottom:1.5px solid #e5e7eb;white-space:nowrap}.students-table td{padding:.4rem .5rem;border-bottom:1px solid #f1f5f9}.students-table tbody tr:last-child td{border-bottom:none}.students-table input,.students-table select{width:100%;padding:.4rem .6rem;border:1.5px solid #e5e7eb;border-radius:7px;font-size:.82rem;font-family:inherit;color:#111827;background:#fff;direction:rtl;transition:border-color .2s,box-shadow .2s}.students-table input:focus,.students-table select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.1)}.student-photo-btn{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;background:#eff6ff;color:#2563eb;border:1.5px solid #bfdbfe;border-radius:7px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.student-photo-btn:hover{background:#dbeafe}.students-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.students-count{font-size:.78rem;font-weight:700;color:#94a3b8;background:#f1f5f9;padding:.2rem .65rem;border-radius:9999px}.students-list{margin-bottom:.75rem}.student-card,.students-list{display:flex;flex-direction:column;gap:.75rem}.student-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;padding:1rem;animation:fadeUp .25s cubic-bezier(.4,0,.2,1) both}.student-card-header{display:flex;align-items:center;justify-content:space-between}.student-num{font-size:.82rem;font-weight:800;color:#2563eb;background:#dbeafe;padding:.2rem .75rem;border-radius:9999px}.student-remove-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:none;background:#fee2e2;color:#ef4444;cursor:pointer;transition:background .2s}.student-remove-btn:hover{background:#ef4444;color:white}.add-student-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;border:2px dashed #bfdbfe;border-radius:12px;background:#eff6ff;color:#2563eb;font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s}.add-student-btn:hover{background:#dbeafe;border-color:#2563eb}.student-card select{width:100%;padding:.75rem 1rem;border:1.5px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-family:inherit;color:#111827;background:#fff;direction:rtl;transition:border-color .2s,box-shadow .2s}.student-card select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.pricing-info-box{display:flex;flex-direction:column;gap:.85rem;background:#f0f9ff;border:1.5px solid #bae6fd;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:.5rem;font-size:.88rem;direction:rtl}.pricing-section h4{font-size:.88rem;font-weight:800;color:#0369a1;margin-bottom:.4rem}.pricing-notes ul,.pricing-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.pricing-notes ul li,.pricing-section ul li{color:#334155;padding-right:.75rem;position:relative}.pricing-notes ul li:before,.pricing-section ul li:before{content:"•";position:absolute;right:0;color:#0369a1}.pricing-section p{color:#334155;margin:0}.pricing-notes h4{font-size:.88rem;font-weight:800;color:#b45309;margin-bottom:.4rem}.pricing-notes{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.75rem 1rem}.bus-toggle-row{display:flex;gap:.5rem;margin-top:.25rem}.bus-toggle-btn{padding:.4rem 1.5rem;border-radius:8px;border:1.5px solid #cbd5e1;background:#f8fafc;color:#64748b;font-size:.9rem;cursor:pointer;transition:all .15s;font-weight:500}.bus-toggle-btn.active{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:700}.back-btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:#64748b;font-size:.9rem;cursor:pointer;padding:.4rem 0;margin-bottom:.5rem;transition:color .15s}.back-btn:hover{color:#2563eb}.login-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:4rem 2rem;text-align:center;background:#ffffff;border:1.5px solid #e2e8f0;border-radius:18px;max-width:500px;margin:0 auto;box-shadow:0 1px 4px rgba(0,0,0,.05)}.login-prompt-icon{font-size:4rem;opacity:.8}.login-prompt h2{font-size:1.5rem;font-weight:800;color:#1e293b;margin:0}.login-prompt p{font-size:1rem;color:#64748b;margin:0;line-height:1.6}.login-prompt .btn-primary{margin-top:.5rem;padding:.875rem 2rem;font-size:1rem}