.booking-form-container{border:1px solid var(--primary-blue);box-shadow:var(--shadow-medium);background:#fff;border-radius:16px;width:100%;max-width:1000px;margin:0 auto;overflow:visible}.progress-header{background:var(--primary-blue);color:#fff;border-radius:16px 16px 0 0;padding:2rem 3rem}.progress-steps{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.progress-step{flex-direction:column;align-items:center;margin:auto;display:flex}.step-circle{background:#ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.5rem;display:flex}.progress-step.active .step-circle,.progress-step.current .step-circle{color:var(--primary-blue);background:#fff}.step-number{font-size:1.3rem;font-weight:600;display:block}.step-label{text-align:center;white-space:nowrap;font-size:.9rem}.progress-bar{background:#ffffff4d;border-radius:2px;height:5px}.progress-fill{background:#fff;border-radius:2px;height:100%;transition:width .3s}.form-container{background:#fff;border-radius:0 0 16px 16px;padding:2rem;position:relative;overflow:visible}.step-content h3{text-align:left;color:var(--primary-blue);margin-bottom:1.5rem;font-size:1.1rem}.form-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.form-group{flex-direction:row;align-items:center;gap:1rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{text-align:left;white-space:nowrap;width:200px;font-size:.9rem;font-weight:500}.form-group input,.form-group select{appearance:none;background:#fff;border:1px solid #ccc;border-radius:8px;flex:1;width:100%;padding:.6rem;font-size:.9rem}.form-group select{cursor:pointer;z-index:1;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5rem 1.5rem;padding-right:3rem;position:relative}.form-group{z-index:auto;position:relative}.custom-dropdown{width:100%;position:relative}.dropdown-trigger{cursor:pointer;text-align:left;background:#fff;border:1px solid #ccc;border-radius:8px;flex:1;justify-content:space-between;align-items:center;width:100%;padding:.6rem;font-size:.9rem;transition:all .2s;display:flex}.dropdown-trigger:hover{border-color:var(--primary-blue)}.dropdown-trigger:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 2px #0066cc1a}.dropdown-arrow{color:#6b7280;transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-options{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:0 0 8px 8px;flex-direction:column;width:100%;max-height:400px;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.dropdown-option{cursor:pointer;box-sizing:border-box;text-align:left;width:100%;padding:.8rem;transition:background-color .2s;display:block}.dropdown-option:hover{background-color:var(--light-blue)}.dropdown-option.selected{background-color:var(--primary-blue);color:#fff}.dropdown-option.selected:hover{background-color:var(--secondary-blue)}.dropdown-option.no-results{color:#6b7280;cursor:default;padding:.8rem;font-style:italic}.dropdown-option.no-results:hover{background-color:#0000}.test-centre-combo-box{background:#fff;border:1px solid #ccc;border-radius:8px;align-items:center;width:100%;transition:border-color .2s;display:flex;position:relative}.test-centre-combo-box:focus-within{border-color:var(--primary-blue);box-shadow:0 0 0 2px #0066cc1a}.test-centre-input{color:#374151;background:0 0;border:none;outline:none;flex:1;padding:.8rem;font-size:1.2rem}.test-centre-input::placeholder{color:#9ca3af}.test-centre-input.error{color:#dc2626}.test-centre-combo-box:has(.test-centre-input.error){border-color:#dc2626}.test-centre-dropdown-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-left:1px solid #e5e7eb;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.test-centre-dropdown-btn:hover{color:#374151}.test-centre-dropdown-btn .dropdown-arrow{transition:transform .2s}.test-centre-dropdown-btn .dropdown-arrow.open{transform:rotate(180deg)}.form-group input:focus,.form-group select:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 2px #0066cc1a}.input-wrapper{flex-direction:column;flex:1;width:100%;display:flex}.form-group input.error,.form-group select.error,.dropdown-trigger.error{border-color:#dc3545;box-shadow:0 0 0 2px #dc35451a}.error-message{color:#dc3545;margin-top:.25rem;font-size:.875rem;display:block}.terms-container{max-width:600px;margin:0}.terms-box{background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.terms-box h4{color:var(--primary-blue);margin-bottom:1rem}.terms-text{line-height:1.5}.terms-text ul{padding-left:1.5rem}.checkbox-group{flex-direction:column;gap:1rem;display:flex}.checkbox-wrapper{flex-direction:column;display:flex}.checkbox-label{cursor:pointer;align-items:center;display:flex}.checkbox-label input[type=checkbox]{margin-right:.5rem}.checkbox-label input[type=checkbox].error{border-color:#dc3545;box-shadow:0 0 0 2px #dc35451a}.payment-summary{margin-bottom:1.5rem}.summary-card{background:#f8f9fa;border-radius:8px;padding:1.5rem}.summary-card h4{color:var(--primary-blue);margin-bottom:1rem}.summary-item{border-bottom:1px solid #ddd;justify-content:space-between;padding:.5rem 0;display:flex}.summary-item:last-child{border-bottom:none}.summary-item.total{color:var(--primary-blue);border-top:2px solid var(--primary-blue);margin-top:.5rem;padding-top:.5rem;font-size:1.2rem;font-weight:600}.dates-section{margin-top:2rem}.dates-section h4{color:var(--primary-blue);margin-bottom:1rem;font-size:1.3rem}.date-box{border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;max-width:600px;margin:1rem 0;display:grid}@media (min-width:768px){.date-box{grid-template-columns:repeat(4,1fr)}}.rad-label{border:2px solid var(--primary-blue);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto;padding:.5rem;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 8px #00000026}.rad-label:hover{border-color:var(--primary-blue);background-color:var(--light-blue)}.rad-label.selected{border-color:var(--primary-blue);background-color:var(--primary-blue);color:#fff}.rad-input{opacity:0;cursor:pointer;position:absolute}.rad-text{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:.25rem;display:flex}.centre-p{text-align:center;margin:0;font-size:.85rem;font-weight:600;line-height:1.1}.rad-label.selected .centre-p{color:#fff}.form-navigation{justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500}.btn-primary{background:var(--primary-blue);color:#fff;margin-left:auto}.btn-primary:hover{background:var(--secondary-blue)}.btn-secondary{color:var(--primary-blue);border:1px solid var(--primary-blue);background:#fff}.btn-secondary:hover{background:#f8f9fa}@media (max-width:768px){.booking-form-container{border-radius:12px;margin:0 1rem}.progress-header{padding:1.5rem 1rem}.progress-steps{text-align:center;justify-content:center;align-items:center;gap:.5 rem}.step-circle{width:2.5rem;height:2.5rem}.step-label{min-width:60px;font-size:1.2rem}.form-container{padding:1.5rem 1rem}.form-grid{grid-template-columns:1fr;gap:1rem}.step-content h3{text-align:left;font-size:1.3rem}.form-navigation{flex-direction:column-reverse;gap:.8rem}.btn-primary,.btn-secondary{width:100%;margin:0}}@media (max-width:480px){.booking-form-container{border-radius:8px;margin:0 .5rem}.progress-header{padding:1rem .5rem}.progress-steps{gap:.3rem}.step-circle{width:2rem;height:2rem}.step-label{min-width:50px;font-size:1.2rem}.form-container{padding:1rem .5rem}.step-content h3{margin-bottom:1rem;font-size:1.2rem}.terms-container,.payment-summary{margin-bottom:1rem}}
.admin-controls-container{justify-content:flex-end;width:100%;max-width:1000px;margin:0 auto 1rem;display:flex;position:relative}.admin-settings{position:relative}.settings-cog{color:#c6f8ff;cursor:pointer;background:#353535;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 12px #36363652}.settings-cog:hover{color:#fff;background:#636363;box-shadow:0 6px 20px #69696952}.settings-cog svg{transition:transform .3s}.admin-dropdown{background:#353535;border:2px solid #353535;border-radius:.5rem;min-width:225px;margin-top:2px;position:absolute;top:100%;right:0;box-shadow:0 8px 30px #0003,0 4px 12px #0000001a}.admin-menu-item{color:#83f0ff;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;padding:.4rem 1rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.admin-menu-item:hover{color:var(--primary-blue);background:#f8fafc}.admin-menu-item svg{color:#83f0ff;flex-shrink:0;transition:color .2s}.admin-menu-item:hover svg{color:var(--primary-blue)}.admin-menu-item.remove-item,.admin-menu-item.remove-item svg{color:#ffd5d5}.admin-menu-item.remove-item:hover{color:#dc2626;background:#fef2f2}.admin-menu-item.remove-item:hover svg{color:#dc2626}.popup-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.popup-content{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;width:90%;max-width:500px;padding:2rem;box-shadow:0 20px 40px #00000026}.popup-content h3{color:var(--primary-blue);margin:0 0 1.5rem;font-size:1rem;font-weight:600}.popup-content .form-group{margin-bottom:1rem}.popup-content label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.popup-content input{border:2px solid #e2e8f0;border-radius:.5rem;width:100%;padding:.75rem;font-size:.875rem;transition:border-color .2s}.popup-content input:focus{border-color:var(--primary-blue);outline:none}.popup-content select{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;width:100%;padding:.75rem;font-size:.875rem;transition:border-color .2s}.popup-content select:focus{border-color:var(--primary-blue);outline:none}.popup-message{border-radius:.5rem;margin-bottom:1rem;padding:.75rem;font-size:.875rem;font-weight:500}.popup-message.success{color:#047857;background:#d1fae5;border:1px solid #a7f3d0}.popup-message.error{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.popup-buttons{justify-content:flex-end;gap:.75rem;display:flex}.popup-btn{cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .2s}.popup-btn.primary{background:var(--primary-blue);color:#fff}.popup-btn.primary:hover{background:var(--accent-blue);transform:translateY(-1px)}.popup-btn.secondary{color:#374151;background:#f8fafc;border:1px solid #e2e8f0}.popup-btn.secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.popup-btn.danger{color:#fff;background:#dc2626}.popup-btn.danger:hover{background:#b91c1c;transform:translateY(-1px)}.custom-dropdown{width:100%;position:relative}.dropdown-trigger{color:#374151;cursor:pointer;text-align:left;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;justify-content:space-between;align-items:center;width:100%;padding:.6rem 2rem .6rem .8rem;font-size:.85rem;transition:all .2s;display:flex}.dropdown-trigger:hover{background:#f9fafb;border-color:#d1d5db}.dropdown-trigger:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.dropdown-arrow{color:#6b7280;margin-left:auto;transition:transform .2s}.dropdown-trigger[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.dropdown-options{z-index:10;background:#fff;border:2px solid #e5e7eb;border-top:none;border-radius:0 0 .5rem .5rem;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a}.dropdown-option{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:background-color .2s}.dropdown-option:hover{background:#f3f4f6}.dropdown-option:focus{background:#e5e7eb;outline:none}.dropdown-option:active{background:#d1d5db}.calendar-dropdown{z-index:10;background:#fff;border:2px solid #e5e7eb;border-top:none;border-radius:0 0 .5rem .5rem;min-width:280px;padding:1rem;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 6px -1px #0000001a}.calendar-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.calendar-nav-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.calendar-nav-btn:hover{color:#374151;background:#f3f4f6}.calendar-month-year{color:#374151;font-size:.875rem;font-weight:600}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem;display:grid}.calendar-weekday{text-align:center;color:#6b7280;padding:.25rem;font-size:.75rem;font-weight:500}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.calendar-day{cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;min-height:32px;padding:.5rem .25rem;font-size:.875rem;transition:all .2s;display:flex}.calendar-day.current-month{color:#374151}.calendar-day.other-month{color:#d1d5db}.calendar-day.current-month:hover:not(:disabled){color:#111827;background:#f3f4f6}.calendar-day.today{color:#1d4ed8;background:#dbeafe;font-weight:600}.calendar-day.selected{color:#fff;background:#3b82f6;font-weight:600}.calendar-day.selected:hover{background:#2563eb}.calendar-day.past-date{color:#d1d5db;cursor:not-allowed}.calendar-day:disabled{cursor:not-allowed}.time-combo-box{background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;align-items:center;width:100%;transition:border-color .2s;display:flex;position:relative}.time-combo-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.time-input{color:#374151;background:0 0;border:none;outline:none;flex:1;padding:.75rem 1rem;font-size:1rem}.time-input::placeholder{color:#9ca3af}.time-input:invalid{color:#dc2626}.time-combo-box:has(.time-input:invalid){border-color:#dc2626}.time-dropdown-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-left:1px solid #e5e7eb;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.time-dropdown-btn:hover{color:#374151}.time-dropdown-btn .dropdown-arrow{transition:transform .2s}.time-dropdown-btn .dropdown-arrow.open{transform:rotate(180deg)}.date-combo-box{background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;align-items:center;width:100%;transition:border-color .2s;display:flex;position:relative}.date-combo-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-input{color:#374151;background:0 0;border:none;outline:none;flex:1;padding:.75rem 1rem;font-size:1rem}.date-input::placeholder{color:#9ca3af}.date-input:invalid{color:#dc2626}.date-combo-box:has(.date-input:invalid){border-color:#dc2626}.date-dropdown-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-left:1px solid #e5e7eb;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.date-dropdown-btn:hover{color:#374151}.date-dropdown-btn .dropdown-arrow{transition:transform .2s}.date-dropdown-btn .dropdown-arrow.open{transform:rotate(180deg)}.test-centre-combo-box{background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;align-items:center;width:100%;transition:border-color .2s;display:flex;position:relative}.test-centre-combo-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.test-centre-input{color:#374151;background:0 0;border:none;outline:none;flex:1;padding:.75rem 1rem;font-size:1rem}.test-centre-input::placeholder{color:#9ca3af}.test-centre-input:invalid{color:#dc2626}.test-centre-combo-box:has(.test-centre-input:invalid){border-color:#dc2626}.test-centre-dropdown-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-left:1px solid #e5e7eb;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.test-centre-dropdown-btn:hover{color:#374151}.test-centre-dropdown-btn .dropdown-arrow{transition:transform .2s}.test-centre-dropdown-btn .dropdown-arrow.open{transform:rotate(180deg)}.dropdown-option.no-results{color:#9ca3af;cursor:default;font-style:italic}.dropdown-option.no-results:hover{background:0 0}.popup-content{z-index:1;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;width:90%;max-width:500px;padding:2rem;position:relative;box-shadow:0 20px 40px #00000026}.popup-overlay{z-index:10000}.popup-overlay .admin-controls-container{z-index:10001}.popup-overlay .admin-controls-container .custom-dropdown{z-index:10002;position:relative}.popup-overlay .admin-controls-container .custom-dropdown .dropdown-options,.popup-overlay .admin-controls-container .custom-dropdown .calendar-dropdown{z-index:10003;position:absolute}@media (max-width:768px){.admin-controls-container{padding:0 .5rem}.settings-cog{padding:.625rem}.popup-content{margin:1rem;padding:1.5rem}.popup-buttons{flex-direction:column}.popup-btn{width:100%}}
