.is-booking-page main{background:#242424}.is-booking-page .promo-banner{display:none}.is-booking-page.has-promo-banner-mobile:not(.is-menu-open){padding-bottom:0}.booking{width:min(1680px,100vw - 120px);margin:0 auto;padding:42px 0 140px}.booking__intro{border-bottom:1px solid var(--color-line-strong);grid-template-columns:minmax(0,1fr) minmax(260px,440px);align-items:end;min-height:220px;padding:20px 0 44px;display:grid;position:relative;overflow:hidden}.booking__intro h1{z-index:1;letter-spacing:-.045em;text-transform:uppercase;color:#fff;max-width:920px;font-size:clamp(50px,4.4vw,84px);font-weight:500;line-height:.98;position:relative}.booking__script{font-family:var(--font-script);color:#fff;opacity:.04;pointer-events:none;white-space:nowrap;font-size:clamp(90px,12vw,220px);line-height:.7;position:absolute;bottom:-10px;right:25%}.booking__lead{max-width:390px;color:var(--color-text-dim);padding-bottom:5px;font-size:16px;font-weight:300}.booking__layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:clamp(32px,3vw,60px);padding-top:58px;display:grid}.booking__flow{gap:20px;min-width:0;display:grid}.booking-step{min-width:0;margin:0;padding:40px}.booking-step:disabled{opacity:.4}.booking-step legend{float:left;width:100%;font-family:var(--font-script);color:var(--color-text);align-items:baseline;gap:18px;margin-bottom:30px;padding:0;font-size:clamp(34px,2.5vw,46px);font-weight:400;line-height:.9;display:flex}.booking-step legend+*{clear:both}.booking-step legend span{color:var(--color-primary-hover)}.booking-halls{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.booking-hall{cursor:pointer;border-radius:30px;min-height:340px;display:block;position:relative;overflow:hidden}.booking-hall img{object-fit:cover;filter:saturate(.78)brightness(.72);width:100%;height:100%;min-height:340px;transition:filter .18s,transform .22s}.booking-hall--white img{object-position:left center}.booking-hall span{font-family:var(--font-display);color:#fff;font-size:clamp(24px,1.8vw,34px);font-weight:500;position:absolute;bottom:24px;left:28px}.booking-hall input{opacity:0;position:absolute}.booking-hall:after{content:"";border-radius:inherit;pointer-events:none;border:3px solid #0000;transition:border-color .18s;position:absolute;inset:0}.booking-hall:has(input:checked):after{border-color:var(--color-secondary)}.booking-hall:has(input:checked) img,.booking-hall:hover img{filter:saturate(.95)brightness(.92);transform:scale(1.015)}.booking-hall:has(input:focus-visible){outline-offset:3px;outline:3px solid #fff}.booking-date{max-width:360px;color:var(--color-text-dim);gap:10px;font-size:13px;display:grid;position:relative}.booking-date input{-webkit-appearance:none;appearance:none;color-scheme:dark;min-width:0;max-width:100%;display:block}.booking .booking-date input[type=date]{padding-block:0;line-height:51px}.booking-date input::-webkit-date-and-time-value{text-align:left;line-height:inherit;margin:0}.booking-date input::-webkit-datetime-edit{line-height:inherit;padding:0}.booking-date__toggle{width:100%;height:54px;font-family:var(--font-body);color:var(--color-text);text-align:left;cursor:pointer;background:#9a9e9414;border:1.5px solid #9a9e9480;border-radius:50px;justify-content:space-between;align-items:center;gap:12px;padding:0 1.25rem;font-size:clamp(.875rem,.8334vw,1rem);font-weight:300;transition:border-color .2s;display:none}.booking-date__toggle:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%23cb8673' stroke-width='1.5'%3E%3Crect x='2' y='3.5' width='14' height='12' rx='2.5'/%3E%3Cpath d='M2 7.5h14M6 1.8v3.4M12 1.8v3.4'/%3E%3C/svg%3E") 50%/contain no-repeat;flex:none;width:18px;height:18px}.booking-date__toggle:hover,.booking-date__toggle[aria-expanded=true]{border-color:#9a9e94e6}.booking-date__toggle:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.booking-calendar.form-panel{z-index:5;backdrop-filter:blur(18px)saturate(1.08);width:360px;color:var(--color-text);background:#3e3f3cf0;border-radius:30px;padding:24px 22px 22px;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 24px 50px #00000073}.booking-calendar.form-panel:before,.booking-calendar.form-panel:after{border-radius:30px}.booking-calendar[hidden]{display:none}.booking-step:has(.booking-calendar:not([hidden])){z-index:2}.booking-calendar>*{z-index:1;position:relative}.booking-calendar__head{text-align:center;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:18px;display:grid}.booking-calendar__head strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:18px;font-weight:500}.booking-calendar__head button,.booking-calendar__days button{font-family:var(--font-body);color:var(--color-text);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:50px;transition:border-color .2s,background .2s,color .2s}.booking-calendar__head button{background:#9a9e9414;border-color:#9a9e9480;width:40px;height:40px;font-size:20px;line-height:1}.booking-calendar__weekdays,.booking-calendar__days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.booking-calendar__weekdays{color:var(--color-text-dim);margin-bottom:8px;font-size:12px}.booking-calendar__weekdays span:nth-child(n+6),.booking-calendar__days button:nth-child(7n+6):not(:disabled),.booking-calendar__days button:nth-child(7n):not(:disabled){color:var(--color-primary-hover)}.booking-calendar__days button{aspect-ratio:1;font-size:14px}.booking-calendar__head button:hover:not(:disabled),.booking-calendar__days button:hover:not(:disabled){border-color:#9a9e94e6}.booking-calendar__head button:focus-visible,.booking-calendar__days button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:1px}.booking-calendar__days button.is-today{border-color:var(--color-primary-hover)}.booking-calendar__days .is-selected,.booking-calendar__days .is-selected:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary);color:#fff}.booking-calendar__head button:disabled,.booking-calendar__days button:disabled{color:#ffffff2e;cursor:default;background:0 0;border-color:#0000}.booking-calendar__head button:disabled{border-color:#9a9e9433}@media (hover:hover) and (pointer:fine){.booking-date input{display:none}.booking-date__toggle{display:flex}}.booking-time-select{margin-top:12px;display:none}.booking-time-select select{width:100%;height:54px;font-family:var(--font-body);color:var(--color-text);appearance:none;color-scheme:dark;background:#9a9e9414 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23cb8673' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") right 1.25rem center/12px 8px no-repeat;border:1.5px solid #9a9e9480;border-radius:50px;padding:0 2.75rem 0 1.25rem;font-size:16px;font-weight:300}.booking-time-select select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.booking-status{min-height:25px;color:var(--color-text-dim);margin-top:22px;font-size:14px}.booking-times{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:16px;display:grid}.booking-times .btn{min-height:54px;padding-inline:.5rem;font-size:15px}.booking-tariff{border:2px solid var(--color-line-strong);font-family:var(--font-body);color:var(--color-text);cursor:pointer;background:0 0;transition:border-color .2s,background .2s,color .2s}.booking-tariff:hover:not(:disabled){border-color:var(--color-primary-hover)}.booking-tariff:focus-visible{outline:2px solid var(--color-primary-hover);outline-offset:3px}.booking-tariff.is-selected{border-color:var(--color-primary);background:var(--color-primary)}.booking-tariffs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.booking-tariff{text-align:left;border-radius:40px;grid-template-rows:auto 1fr auto;gap:10px;min-height:190px;padding:26px 24px 24px;display:grid}.booking-tariff span{font-family:var(--font-display);letter-spacing:-.02em;font-size:24px;font-weight:500}.booking-tariff small{color:var(--color-text-dim);font-size:13px;font-weight:300;line-height:1.45}.booking-tariff:disabled{border-color:var(--color-text-dim);color:var(--color-text-dim);cursor:not-allowed}.booking-tariff:disabled small,.booking-tariff:disabled strong{color:var(--color-text-dim)}.booking-tariff:disabled strong{font-size:14px;font-weight:400}.booking-tariff.is-selected small{color:#ffffffc7}.booking-tariff strong{font-size:22px}.booking-tariff strong[hidden]{visibility:hidden;display:block}.booking-check{color:var(--color-text-dim);cursor:pointer;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;display:flex}.booking-check input{border:1.5px solid var(--color-primary);appearance:none;cursor:pointer;background:0 0;border-radius:5px;flex:none;width:18px;height:18px;margin:0}.booking-check input:checked{background:var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8.2 3 3 6-6.4' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center / 12px no-repeat}.booking-check input:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.booking-has-certificate{color:var(--color-text);margin-top:24px;font-size:15px}.booking-certificate-status{margin-top:14px}.booking-certificate-status:empty{display:none}.booking-guests{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:30px;margin-top:28px;padding-top:28px;display:flex}.booking-guests strong,.booking-guests small{display:block}.booking-guests small{color:var(--color-text-dim);margin-top:7px}.booking-counter{text-align:center;grid-template-columns:54px 54px 54px;align-items:center;display:grid}.booking-counter .btn{width:54px;min-height:54px;padding:0;font-size:20px}.booking-counter output{color:#fff;font-size:18px}.booking-fields,.booking-codes{gap:14px;display:grid}.booking-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-codes{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.booking-codes__apply{white-space:nowrap;place-self:center start;padding-top:calc(.75rem + .1em);padding-bottom:calc(.75rem - .1em)}.booking-summary dl div[hidden],.booking-codes__apply[hidden]{display:none}.booking-promo-status{margin-top:10px}.booking-promo-status:empty{display:none}.booking-consent{max-width:680px;margin-top:28px}.booking-marketing{max-width:680px}.booking-consent+.booking-consent,.booking-consent+.booking-marketing{margin-top:12px}.booking-consent a,.booking-marketing a{color:var(--color-text);text-underline-offset:.14em;text-decoration:underline}.booking__submit{width:100%;margin-top:24px}.booking-preview-note{max-width:560px;color:var(--color-text-dim);margin-top:14px;font-size:13px}.booking-summary.form-panel{padding:40px;position:sticky;top:30px}.booking-summary .booking-summary__title{font-family:var(--font-script);color:var(--color-text);margin-bottom:28px;font-size:35px;line-height:.8}.booking-summary dl{margin:0}.booking-summary dl div{border-top:1px solid var(--color-line);grid-template-columns:120px minmax(0,1fr);gap:16px;padding:15px 0;display:grid}.booking-summary dt,.booking-summary [data-summary-note]{color:var(--color-text-dim);font-size:13px}.booking-summary dd{text-align:right;color:#fff;margin:0;font-size:14px;line-height:1.45}.booking-summary__total{font-family:var(--font-display);color:#fff;border-top:1px solid #9a9e9480;justify-content:space-between;align-items:baseline;gap:12px;margin:18px 0;padding-top:24px;font-weight:500;display:flex}.booking-summary__total strong{text-align:right;text-wrap:balance;flex:1;min-width:0;font-size:clamp(15px,1.6vw,28px)}@media (width<=1100px){.booking{width:calc(100vw - 50px)}.booking__layout{grid-template-columns:minmax(0,1fr);gap:20px}.booking-summary.form-panel{position:relative;top:auto}.booking__submit{width:auto;min-width:270px}}@media (width<=767px){.booking{width:calc(100vw - 30px);padding:20px 0 90px}.booking__intro{min-height:0;padding-top:34px;display:block}.booking__intro h1{font-size:clamp(38px,11vw,52px)}.booking__lead{margin-top:var(--space-item)}.booking__heading{position:relative}.booking__script{font-size:calc(15.873vw - 4.7619px);inset:50% auto auto 0;transform:translateY(-50%)}.booking__intro{padding-bottom:var(--space-title)}.booking__layout{gap:var(--space-item);padding-top:var(--space-title)}.booking-step{padding:var(--space-item)}.booking__flow{gap:var(--space-item)}.booking-step legend,.booking-summary .booking-summary__title{margin-bottom:var(--space-item)}.booking-halls,.booking-tariffs,.booking-fields,.booking-codes{gap:var(--space-step)}.booking-status,.booking-has-certificate,.booking-consent,.booking__submit{margin-top:var(--space-item)}.booking-guests{margin-top:var(--space-item);padding-top:var(--space-item)}.booking-codes,.booking-consent+.booking-consent,.booking-consent+.booking-marketing,.booking-certificate-status,.booking-times,.booking-time-select,.booking-preview-note{margin-top:var(--space-step)}.booking-summary__total{margin:var(--space-item) 0;padding-top:var(--space-item)}.booking-halls,.booking-tariffs,.booking-codes{grid-template-columns:1fr}.booking-hall,.booking-hall img{min-height:270px}.booking-tariff{min-height:0;padding:22px 22px 20px}.booking-guests{flex-direction:column;align-items:flex-start}.booking-summary.form-panel{padding:var(--space-item)}.booking__submit{width:100%}.booking-date{max-width:none}.booking .field .field__input,.booking .booking-date input[type=date]{font-size:16px}.booking-time-select:not([hidden]){display:grid}.booking-times{display:none}.booking-fields{grid-template-columns:1fr}.booking-summary dl div{grid-template-columns:105px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.booking-hall img{transition:none}}.booking-submit-status:empty,.booking-checkout[hidden]{display:none}.booking-checkout{z-index:1200;background:#000000b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.booking-checkout__panel{background:#fff;border-radius:24px;width:min(480px,100%);max-height:calc(100vh - 40px);padding:44px 16px 16px;position:relative;overflow:auto}.booking-success{text-align:center;gap:16px;padding:32px 24px 24px;display:grid}.booking-success__title{margin:0;font-size:24px;line-height:1.2}.booking-success__text{color:#242424;margin:0}.booking-checkout__close{color:#242424;cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:24px;line-height:1;position:absolute;top:8px;right:8px}@media (width>=1365px){.booking{padding:0 0 var(--space-section)}.booking__intro{min-height:0;padding-top:0;padding-bottom:var(--space-title)}.booking__layout{padding-top:var(--space-title)}}@media (width<=1364px){.booking__intro{min-height:0;padding-top:0}.booking__intro h1{font-size:var(--mobile-title-size)}.booking{padding-bottom:var(--space-section)}}
