.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;height:100vh;height:-webkit-fill-available;height:100dvh;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;overflow:hidden}.modal-overlay,.modal-overlay .modal-content{transform:translateZ(0);touch-action:manipulation;-webkit-overflow-scrolling:touch}.modal-overlay .modal-content{background:#1a1a1a!important;color:#fff;padding:2rem;border-radius:8px;position:relative;width:90%;max-width:500px;max-height:90vh;max-height:-webkit-fill-available;max-height:90dvh;box-shadow:0 4px 24px rgba(0,0,0,.7);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1001;overflow-y:auto;overflow-x:hidden}.modal-overlay .modal-content a{margin:0 auto 20px;padding:0 25px 25px;color:#bada55!important;transition:all .5s ease}.modal-overlay .modal-content a:hover{color:#97ba28!important}.modal-overlay .modal-content p.success-message{color:#bada55!important;padding-top:40px;text-align:center}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#e0e0e0;padding:.5rem;line-height:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;min-width:44px}.modal-close:hover{color:#fff}.modal-overlay .modal-content h2{margin-top:0;margin-bottom:1.5rem;color:#fff}.form-group{margin-bottom:1.5rem}.modal-overlay .form-group label{display:block;margin-bottom:.5rem;color:#e0e0e0}.modal-overlay .form-group input{width:100%;padding:.75rem;border:1px solid #555;border-radius:4px;font-size:1rem;background:#2a2a2a;color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px;touch-action:manipulation}.modal-overlay .form-group input:focus{outline:none;border-color:#bada55;box-shadow:0 0 0 2px rgba(186,218,85,.25)}.submit-button{background-color:#bada55;color:#111;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;width:100%;transition:background-color .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;position:relative;z-index:1002;-webkit-user-select:none;-moz-user-select:none;user-select:none}.submit-button:hover{background-color:#97ba28}@supports (-webkit-touch-callout:none){.modal-overlay{position:-webkit-sticky;position:sticky}.modal-content,.modal-overlay{-webkit-overflow-scrolling:touch}.modal-content{max-height:90vh;max-height:-webkit-fill-available;max-height:90dvh;overflow-y:auto;transform:translateZ(0);touch-action:manipulation}.submit-button{-webkit-touch-callout:none;-webkit-user-select:none;min-height:44px;min-width:44px;transform:translateZ(0)}body.modal-open{-webkit-overflow-scrolling:touch;position:fixed;width:100%}}body.modal-open{overflow:hidden;position:fixed;width:100%}@supports (-webkit-touch-callout:none){body.modal-open{-webkit-overflow-scrolling:touch;position:fixed;width:100%}}.modal-content form:not(:has(.form-group:has(input[type=password]))) .submit-button{margin-top:.5rem}.modal-content form .form-group:last-of-type{margin-bottom:1rem}.book-page{background:#111;min-height:100vh;padding:4rem 0 5rem;color:#fff}.book-page h1{font-size:2rem;font-weight:500;color:#fff;text-shadow:none;margin-bottom:.5rem}.book-intro{color:#aaa;font-size:.95rem;margin-bottom:2.5rem;line-height:1.6}.book-form{max-width:640px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}.book-form .form-group{margin-bottom:1.5rem}.book-form .form-group label{display:block;margin-bottom:.4rem;color:#ccc;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.book-form .form-group input,.book-form .form-group select,.book-form .form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #333;border-radius:8px;background:#1a1a1a;color:#fff;font-size:.95rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}.book-form .form-group select{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 d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.book-form .form-group select option{background:#1a1a1a;color:#fff}.book-form .form-group input:focus,.book-form .form-group select:focus,.book-form .form-group textarea:focus{outline:none;border-color:#bada55;box-shadow:0 0 0 2px rgba(186,218,85,.2)}.book-form .form-group input::placeholder,.book-form .form-group textarea::placeholder{color:#555}.book-form .form-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.5;cursor:pointer}.book-form .form-group textarea{resize:vertical;min-height:100px}.field-hint{display:block;margin-top:.3rem;font-size:.78rem;color:#666}.book-submit{background:#bada55;color:#111;border:none;padding:.85rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:.5rem}.book-submit:hover{background:#97ba28}.book-submit:disabled{background:#444;color:#777;cursor:not-allowed}.book-submit:focus-visible{outline:2px solid #bada55;outline-offset:3px}.book-success{background:rgba(186,218,85,.1);border:1px solid rgba(186,218,85,.4);border-radius:8px;color:#bada55}.book-error,.book-success{margin-top:1.25rem;padding:1rem 1.25rem;font-size:.95rem}.book-error{background:hsla(0,100%,71%,.1);border:1px solid hsla(0,100%,71%,.4);border-radius:8px;color:#ff6b6b}.book-divider{border:none;border-top:1px solid #222;margin:2.5rem 0}@media (max-width:640px){.form-row{grid-template-columns:1fr;gap:0}}.booking-modal-content{max-width:680px!important;max-height:90vh;overflow-y:auto}.booking-modal-content h2{color:#fff;font-size:1.5rem;margin-bottom:.25rem}