@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Outfit:wght@100..900&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:Montserrat,sans-serif}body{overflow-x:hidden;background:#000}main{width:100%;max-width:100%;margin:0 auto;box-sizing:border-box}section{padding:0em 20rem}html{font-size:62.5%;scroll-padding-top:18rem}a{text-decoration:none;color:inherit}button{outline:none;border:none;background-color:transparent;text-align:inherit}ul{list-style:none}::-webkit-scrollbar{width:0}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:.8rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(3.2rem)}to{opacity:1;transform:translateY(0)}}.booking-form-wrapper{color:#fff;padding:16rem;position:relative}.booking-form-header{text-align:center;margin-bottom:6.4rem;animation:fadeInUp .8s ease-out}.booking-form-title{font-size:4.8rem;font-weight:600;line-height:1.2;color:#fff;margin:0 0 1.6rem;letter-spacing:-.02em}.booking-form-subtitle{font-size:1.8rem;line-height:1.6;color:#adabaf;margin:0 auto;max-width:600px}.booking-form{max-width:100rem;margin:0 auto;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:4.8rem;backdrop-filter:blur(.8rem);animation:fadeInUp .8s ease-out .2s both;position:relative}.booking-form .form-section{margin-bottom:4rem}.booking-form .form-section:last-child{margin-bottom:0}.booking-form .form-section-title{font-size:1.8rem;font-weight:600;color:#fff;margin:0 0 2.4rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,.1);letter-spacing:.01em}.booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.booking-form .form-group{margin-bottom:2.4rem}.booking-form .form-label{display:block;margin-bottom:.8rem;font-weight:500;color:#fff;font-size:1.4rem}.booking-form .form-input,.booking-form .form-select,.booking-form .form-textarea{width:100%;padding:1.2rem;border:1px solid rgba(255,255,255,.2);border-radius:.8rem;font-size:1.4rem;background:#ffffff0d;color:#fff;transition:all .3s ease;font-family:inherit;box-sizing:border-box}.booking-form .form-input:focus,.booking-form .form-select:focus,.booking-form .form-textarea:focus{outline:none;border-color:#358f51;box-shadow:0 0 0 3px #358f5133}.booking-form .form-input:invalid:not(:placeholder-shown),.booking-form .form-select:invalid:not(:placeholder-shown),.booking-form .form-textarea:invalid:not(:placeholder-shown){border-color:#ff6b6b99;box-shadow:0 0 0 2px #ff6b6b33}.booking-form .form-input:valid:not(:placeholder-shown),.booking-form .form-select:valid:not(:placeholder-shown),.booking-form .form-textarea:valid:not(:placeholder-shown){border-color:#51cf6699}.booking-form .form-input::placeholder,.booking-form .form-select::placeholder,.booking-form .form-textarea::placeholder{color:#9b999d}.booking-form .custom-date-input{display:flex;align-items:center;gap:.8rem}.booking-form .custom-date-input .date-part{text-align:center;min-width:60px}.booking-form .custom-date-input .date-part.date-year{min-width:80px}.booking-form .custom-date-input .date-separator{color:#9b999d;font-weight:500;font-size:1.6rem}.booking-form .country-autocomplete{position:relative}.booking-form .country-autocomplete .country-suggestions{position:absolute;top:100%;left:0;right:0;background:#000000f2;border:1px solid rgba(255,255,255,.2);border-top:none;border-radius:0 0 .8rem .8rem;max-height:200px;overflow-y:auto;z-index:10;display:none}.booking-form .country-autocomplete .country-suggestions.show{display:block}.booking-form .country-autocomplete .country-suggestions .country-option{padding:1.2rem 1.6rem;cursor:pointer;color:#fff;font-size:1.4rem;transition:background-color .2s ease}.booking-form .country-autocomplete .country-suggestions .country-option:hover,.booking-form .country-autocomplete .country-suggestions .country-option.highlighted{background:#358f5133}.booking-form .country-autocomplete .country-suggestions .country-option:last-child{border-radius:0 0 .8rem .8rem}.booking-form .checkbox-group{display:flex;align-items:flex-start;gap:1.2rem;margin-bottom:1.6rem}.booking-form .form-checkbox{display:none}.booking-form .checkbox-label{display:flex;align-items:flex-start;gap:1.2rem;cursor:pointer;font-size:1.4rem;line-height:1.5;color:#fff;user-select:none}.booking-form .checkbox-custom{flex-shrink:0;width:2rem;height:2rem;border:2px solid rgba(255,255,255,.3);border-radius:.4rem;background:transparent;transition:all .3s ease;position:relative;margin-top:.2rem}.booking-form .checkbox-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:.6rem;height:1.2rem;border:2px solid #ffffff;border-top:none;border-left:none;transform-origin:center;transition:transform .2s ease}.booking-form .form-checkbox:checked+.checkbox-label .checkbox-custom{background:#358f51;border-color:#358f51}.booking-form .form-checkbox:checked+.checkbox-label .checkbox-custom:after{transform:translate(-50%,-60%) rotate(45deg) scale(1)}.booking-form .form-checkbox:focus+.checkbox-label .checkbox-custom{box-shadow:0 0 0 3px #358f5133}.booking-form .checkbox-text{flex:1}.booking-form .checkbox-text strong{color:#40a961;font-weight:600}.booking-form .checkbox-label:hover .checkbox-custom{border-color:#ffffff80}.booking-form .form-checkbox:checked+.checkbox-label:hover .checkbox-custom{border-color:#40a961;background:#40a961}.booking-form .form-error{font-size:1.2rem;color:#ff6b6b;margin-top:.4rem;min-height:16px;opacity:0;transition:opacity .3s ease}.booking-form .form-error.show{opacity:1}.booking-form .form-select{cursor:pointer;padding-right:3.2rem;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.2rem center;background-size:1.6rem;appearance:none;-webkit-appearance:none;-moz-appearance:none}.booking-form .form-select option{background-color:#000!important;color:#fff!important;padding:.8rem 1.2rem!important}.booking-form .form-select option:hover{background-color:#358f51!important;color:#fff!important}.booking-form .form-select option:checked,.booking-form .form-select option:focus{background-color:#358f51!important;color:#fff!important}.booking-form .form-textarea{resize:vertical;min-height:80px}.booking-form .character-count{text-align:right;font-size:1.2rem;color:#9b999d;margin-top:.4rem}.booking-form .contact-info{margin:2.4rem 0;padding-top:2.4rem;border-top:1px solid rgba(255,255,255,.1)}.booking-form .contact-info__title{font-size:1.6rem;font-weight:600;color:#fff;margin:0 0 1.6rem}.booking-form .contact-info__items{display:flex;gap:4rem}.booking-form .contact-info__item{display:flex;align-items:center;gap:.8rem;font-size:1.4rem}.booking-form .contact-info__icon{color:#40a961;display:flex;align-items:center}.booking-form .contact-info__value{color:#adabaf;text-decoration:none;transition:color .2s ease}.booking-form .contact-info__value:hover{color:#40a961}.booking-form .form-actions{display:flex;gap:1.6rem;justify-content:flex-end;padding-top:2.4rem;border-top:1px solid rgba(255,255,255,.1)}.success-message{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;border-radius:inherit;z-index:100}.success-message .success-content{text-align:center;color:#fff}.success-message .success-content svg{color:#358f51;margin-bottom:1.6rem}.success-message .success-content h3{font-size:2rem;font-weight:600;margin:0 0 .8rem;color:#fff}.success-message .success-content p{font-size:1.6rem;color:#adabaf;margin:0;line-height:1.5}.error-message{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;border-radius:inherit;z-index:100}.error-message .error-content{text-align:center;color:#fff}.error-message .error-content svg{color:#ef4444;margin-bottom:1.6rem}.error-message .error-content h3{font-size:2rem;font-weight:600;margin:0 0 .8rem;color:#fff}.error-message .error-content p{font-size:1.6rem;color:#adabaf;margin:0 0 2.4rem;line-height:1.5;max-width:400px}.error-message .error-content .retry-button{background:#ef4444;color:#fff;border:none;padding:1.2rem 2.4rem;border-radius:.8rem;font-size:1.4rem;font-weight:500;cursor:pointer;transition:background-color .3s ease}.error-message .error-content .retry-button:hover{background:#dc2626}@media (max-width: 1200px){.booking-form-wrapper{padding:8rem 3.2rem 12rem}.booking-form-title{font-size:3.2rem;margin-top:8rem}}@media (max-width: 768px){.booking-form-wrapper{padding:6.4rem 2rem 8rem}.booking-form-title{font-size:3.2rem}.booking-form-subtitle{font-size:1.6rem}.booking-form{padding:3.2rem}.booking-form .form-row{grid-template-columns:1fr;gap:0}.booking-form .contact-info__items{flex-direction:column;gap:1.6rem}.booking-form .form-actions{flex-direction:column;gap:1.2rem}.booking-form .form-actions .form-button{width:100%;justify-content:center}}@media (max-width: 480px){.booking-form-wrapper{padding:4.8rem 1.6rem 6.4rem}.booking-form-title{font-size:2.8rem}.booking-form{padding:2.4rem}.booking-form .form-input,.booking-form .form-select,.booking-form .form-textarea{padding:1.2rem;font-size:1.4rem}}
