.booking-modal-close,.conversation-modal-content .modal-close,.course-modal-close,.modal-close,.universal-contact-close,button[aria-label*=Close],button[aria-label=Close]{position:absolute;top:1.25rem;right:1.25rem;width:40px;height:40px;background:rgba(255,255,255,.1);border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);z-index:1000;padding:0;color:var(--text)}.booking-modal-close:hover,.conversation-modal-content .modal-close:hover,.course-modal-close:hover,.modal-close:hover,.universal-contact-close:hover,button[aria-label*=Close]:hover,button[aria-label=Close]:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.5);color:#dc2626;transform:rotate(90deg) scale(1.1)}.booking-modal-close:active,.modal-close:active,.universal-contact-close:active{transform:rotate(90deg) scale(.95)}.booking-modal-close svg,.conversation-modal-content .modal-close svg,.course-modal-close svg,.modal-close svg,.universal-contact-close svg{width:20px;height:20px;stroke-width:2.5px}@media (max-width:768px){.booking-modal-close,.conversation-modal-content .modal-close,.course-modal-close,.modal-close,.universal-contact-close{top:.75rem;right:.75rem;width:36px;height:36px}.booking-modal-close svg,.conversation-modal-content .modal-close svg,.course-modal-close svg,.modal-close svg,.universal-contact-close svg{width:18px;height:18px}}.form-message,.form-status{display:none;padding:1rem 1.25rem;border-radius:var(--radius);margin-top:1rem;animation:slideDown .3s ease;align-items:flex-start;gap:.75rem;font-size:.9375rem;line-height:1.5}.form-message.success,.form-status.success{display:flex;background:rgba(34,197,94,.1);border:2px solid rgba(34,197,94,.3);color:#15803d}.form-message.error,.form-status.error{display:flex;background:rgba(239,68,68,.1);border:2px solid rgba(239,68,68,.3);color:#b91c1c}.form-message svg,.form-status svg{flex-shrink:0;margin-top:.125rem}.form-status strong{display:block;font-weight:700;margin-bottom:.25rem}.booking-modal-overlay,.conversation-overlay,.modal-backdrop,.universal-contact-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .3s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.booking-modal-container,.conversation-modal-content,.course-modal-container,.universal-contact-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;animation:slideUp .4s cubic-bezier(.16,1,.3,1);max-height:90vh;overflow-y:auto}.btn-primary .btn-loader,.btn-submit .btn-loader{display:inline-flex;align-items:center;gap:.5rem}.spinner{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon-large{width:80px;height:80px;margin:0 auto 1.5rem;color:#22c55e;animation:scaleIn .5s cubic-bezier(.16,1,.3,1)}@keyframes scaleIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}button[type=submit]:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}button[type=submit]:not(:disabled):active{transform:translateY(0)}body.modal-open{overflow:hidden}.booking-modal-close:focus-visible,.modal-close:focus-visible,.universal-contact-close:focus-visible{outline:2px solid var(--navy-primary);outline-offset:2px}.universal-contact-success{text-align:center;padding:3rem 2rem}.universal-contact-success h3{font-size:1.75rem;font-weight:700;margin:0 0 .75rem;color:var(--primary)}.universal-contact-success p{font-size:1.125rem;color:var(--muted);margin:0 0 2rem;line-height:1.6}@media (max-width:768px){.booking-modal-container,.conversation-modal-content,.universal-contact-modal{width:95vw;max-height:95vh}}@media (max-width:480px){.booking-modal-container,.conversation-modal-content,.universal-contact-modal{width:100vw;max-height:100vh;border-radius:0;top:0;left:0;transform:none}}