.booking-page{min-height:100vh;display:flex;flex-direction:column;background:#ffc107;color:#000;font-family:Montserrat,sans-serif}.booking-step-enter{animation:booking-step-enter .24s ease-out}@keyframes booking-step-enter{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.booking-main{position:relative;flex:1;overflow:hidden;padding-top:24px}.booking-honeycomb{position:absolute;z-index:0;width:650px;max-width:none;opacity:.1;pointer-events:none}.booking-honeycomb--top{top:0;right:0;transform:translate(33%,-25%)}.booking-honeycomb--bottom{bottom:40px;left:0;transform:translate(-33%)}.booking-title-shell{position:sticky;top:var(--dadu-header-height);z-index:20;width:100%;margin-bottom:104px;padding:22px 24px 18px;background:#ffc107f0;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.booking-title-shell h1{max-width:1000px;margin:0 auto;font-size:clamp(24px,4vw,46px);font-weight:800;line-height:1.08}.booking-progress--sticky{width:min(760px,calc(100% - 24px));margin:18px auto 0;text-align:left}.booking-container{position:relative;z-index:10;width:min(760px,calc(100% - 48px));min-height:590px;margin:0 auto;padding:30px 0 70px}.booking-progress__labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;color:#604500;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.booking-progress__labels button{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:6px;background:transparent;color:#000;font:inherit;letter-spacing:0;text-transform:none;cursor:pointer}.booking-progress__labels button:focus-visible{outline:2px solid #000;outline-offset:3px}.booking-progress__track{height:10px;overflow:hidden;border-radius:999px;background:#a1740038}.booking-progress__track>span{display:block;width:100%;height:100%;border-radius:inherit;background:#000;transform-origin:left;transition:transform .45s ease}.booking-step{min-height:410px;display:flex;flex-direction:column;align-items:center}.booking-step h2,.booking-success h2{max-width:720px;margin:0 auto 30px;border-radius:6px;font-size:clamp(30px,5vw,48px);font-weight:800;line-height:1.12;text-align:center;outline:none}.booking-step h2:focus-visible,.booking-success h2:focus-visible{outline:2px solid #000;outline-offset:5px}.booking-options{display:grid;width:min(100%,620px);gap:14px}.booking-options--two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-option{display:flex;min-height:76px;align-items:center;padding:18px 22px;border:2px solid transparent;border-radius:18px;background:#fff;box-shadow:0 2px 8px #00000014;font-size:17px;font-weight:700;line-height:1.3;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.booking-option:hover{border-color:#00000040;box-shadow:0 7px 18px #0000001f;transform:translateY(-2px)}.booking-option:focus-within{outline:3px solid rgb(0 0 0 / 25%);outline-offset:3px}.booking-option--selected{border-color:#000;box-shadow:0 0 0 3px #0000001a}.booking-option__control,.booking-option__checkbox{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;margin-right:14px;border:2px solid #bbb}.booking-option__control{border-radius:50%}.booking-option__control span{width:12px;height:12px;border-radius:50%;background:#000}.booking-option__checkbox{border-radius:6px;font-size:16px;font-weight:900}.booking-option--selected .booking-option__control,.booking-option--selected .booking-option__checkbox{border-color:#000}.booking-unsupported{position:relative;width:min(100%,620px);margin-top:18px;padding:24px 54px 24px 24px;border:2px solid #000;border-radius:18px;background:#fff4d1;box-shadow:0 9px 24px #00000024}.booking-unsupported strong,.booking-unsupported span{display:block}.booking-unsupported strong{font-size:18px;line-height:1.35}.booking-unsupported span{margin-top:5px;color:#604500;font-size:14px;font-weight:600}.booking-unsupported button{position:absolute;top:14px;right:14px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:transparent;cursor:pointer}.booking-unsupported button:hover{background:#00000014}.booking-unsupported svg{width:20px;height:20px}.booking-next,.booking-submit{min-height:48px;border:0;border-radius:999px;background:#000;color:#fff;font-size:17px;font-weight:800;cursor:pointer;transition:background .18s ease,transform .18s ease}.booking-next{min-width:220px;margin-top:28px;padding:0 34px}.booking-next:hover,.booking-submit:hover{background:#2b2b2b}.booking-next:active,.booking-submit:active{transform:scale(.98)}.booking-next:disabled,.booking-submit:disabled{opacity:.55;cursor:not-allowed}.booking-choice-error,.booking-submit-error{margin:14px 0 0;color:#dc2626;font-size:14px;font-weight:700}.booking-form{width:min(100%,650px);padding:30px;border-radius:24px;background:#fff;box-shadow:0 12px 35px #00000021}.booking-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-form>div,.booking-form__row>div{min-width:0}.booking-form>div+div,.booking-form>.booking-form__row+div{margin-top:14px}.booking-form label{display:block;margin:0 0 7px;font-size:14px;font-weight:800}.booking-form label span{color:#777;font-weight:600}.booking-form input,.booking-form textarea{width:100%;border:1px solid #d5d5d5;border-radius:14px;background:#f9f9f9;color:#000;font:inherit;outline:none}.booking-form input{height:48px;padding:0 15px}.booking-form textarea{min-height:105px;padding:13px 15px;resize:vertical}.booking-form input:focus,.booking-form textarea:focus{border-color:#ffc107;box-shadow:0 0 0 3px #ffc10740}.booking-field-error{display:inline-flex;margin-top:5px;color:#dc2626;font-size:12px;font-weight:700}.booking-submit{width:100%;margin-top:22px;padding:0 30px}.booking-success{display:flex;min-height:370px;flex-direction:column;align-items:center;justify-content:center;border-radius:28px;background:#fff;padding:50px 32px;box-shadow:0 12px 35px #00000021;text-align:center}.booking-success__icon{display:grid;width:62px;height:62px;place-items:center;margin-bottom:18px;border-radius:50%;background:#e8f7ec;color:#19733a;font-size:30px;font-weight:900}.booking-success h2{margin-bottom:16px}.booking-success>p{max-width:590px;margin:0;color:#333;font-size:clamp(17px,2.4vw,21px);line-height:1.55}.booking-success__notice{margin-top:22px;color:#666;font-size:13px}@media(max-width:700px){.booking-main{padding-top:18px}.booking-title-shell{margin-bottom:78px;padding:12px 16px 10.5px}.booking-progress--sticky{margin-top:13.5px}.booking-container{width:calc(100% - 32px);min-height:540px;padding-top:18px;padding-bottom:52.5px}.booking-progress__labels{margin-bottom:6.75px}.booking-options{gap:10.5px}.booking-options--two-columns,.booking-form__row{grid-template-columns:1fr}.booking-step h2,.booking-success h2{margin-bottom:18px}.booking-unsupported{margin-top:13.5px;padding:18px 54px 18px 24px}.booking-unsupported span{margin-top:3.75px}.booking-next{margin-top:21px}.booking-choice-error,.booking-submit-error{margin-top:10.5px}.booking-option{min-height:68px;padding:11.25px 18px}.booking-form__row{row-gap:10.5px}.booking-form>div+div,.booking-form>.booking-form__row+div{margin-top:10.5px}.booking-form label{margin-bottom:5.25px}.booking-field-error{margin-top:3.75px}.booking-submit{margin-top:16.5px}.booking-form{padding:16.5px 18px}.booking-success{padding:37.5px 32px}.booking-success__icon{margin-bottom:13.5px}.booking-success__notice{margin-top:16.5px}}@media(prefers-reduced-motion:reduce){.booking-step-enter{animation:none}.booking-progress__track>span,.booking-option,.booking-next,.booking-submit{transition:none}}
