.booking-page{--res-paper-muted:var(--res-secondary);--booking-line:#aeb7a9;--booking-surface:#fff;--booking-size:16px;--booking-space:24px;--booking-radius:14px;--booking-icon:22px;min-height:100svh;color:var(--res-body);background:var(--res-paper);font-size:var(--booking-size);line-height:1.45}.booking-web-trial{border:1px solid var(--booking-line);border-radius:var(--booking-radius);background:#fff;padding:20px}.booking-web-trial h3{font-family:var(--res-serif);margin-bottom:12px;font-size:26px;line-height:1.2}.booking-web-trial>p{font-size:13px;line-height:1.65}.booking-web-trial label{margin:20px 0 7px;font-size:12px;display:block}.booking-web-trial select{width:100%;min-height:46px;color:var(--res-body);background:#fff;border:1px solid #aeb7a9;border-radius:6px;padding:10px;font-size:16px}.booking-web-trial .booking-price-note{margin-top:14px}.booking-header{z-index:3;width:48%;color:var(--res-paper);justify-content:space-between;align-items:center;gap:24px;padding:28px 40px;display:flex;position:absolute;inset:0 auto auto 0}.booking-brand{width:200px;display:block}.booking-brand img{width:100%;height:auto;display:block}.booking-header :focus-visible{outline-color:var(--res-paper)}.booking-menu-toggle{place-items:center;width:48px;min-height:48px;padding:0;display:grid}.booking-menu-toggle svg{stroke-width:1.5px;width:40px;height:40px}.booking-main{grid-template-columns:minmax(0,.48fr) minmax(0,.52fr);align-items:start;display:grid}.booking-scene{background:#080808;height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden}.booking-scene-photo,.booking-scene-photo img{width:100%;height:100%;display:block}.booking-scene-photo{opacity:.48;position:absolute;inset:0}.booking-scene-photo img{object-fit:cover;object-position:54% center}.booking-content{width:100%;min-width:0;max-width:900px;padding:30px clamp(28px,3vw,56px) 40px}.booking-previous{min-height:44px;font-size:var(--booking-size);align-items:center;gap:12px;margin-bottom:16px;padding:0;display:flex}.booking-previous>span:first-child{color:var(--res-ink);font-size:25px}.booking-progress-head{margin-bottom:24px}.booking-steps{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.booking-steps li{position:relative}.booking-steps li:not(:last-child):after{content:"";background:#c7c8bf;height:1px;position:absolute;top:24px;left:calc(50% + 35px);right:calc(35px - 50%)}.booking-steps li:has([data-state=complete]):after{background:var(--res-ink)}.booking-steps button{width:100%;font-size:var(--booking-size);flex-direction:column;align-items:center;gap:10px;padding:4px 0;display:flex}.booking-steps button:disabled{cursor:default;color:#797d75}.booking-steps button[data-state=current]{color:var(--res-ink);font-weight:600}.booking-step-marker{border:1px solid #b5b8ae;border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;display:grid;position:relative}.booking-step-check{width:25px;height:25px;display:none}[data-state=complete] .booking-step-marker{color:var(--res-paper);background:var(--res-ink);border-color:var(--res-ink)}[data-state=complete] .booking-step-number{display:none}[data-state=complete] .booking-step-check{display:block}[data-state=current] .booking-step-marker{border:3px solid var(--res-ink)}.booking-flow-heading{margin-bottom:var(--booking-space)}.booking-flow-heading h2{color:var(--res-heading);font:400 clamp(34px, 3.2vw, 48px)/1.1 var(--res-serif);letter-spacing:-.04em;margin:0}.booking-section-copy{color:var(--res-secondary);font-size:var(--booking-size);margin-top:8px;line-height:1.45}.booking-grid{gap:var(--booking-space);flex-direction:column;display:flex}.booking-panel{width:100%;min-width:0}.booking-selection{background:var(--booking-surface);border:1px solid #e1d9cb;border-radius:18px;grid-template-columns:31% minmax(0,1fr);gap:12px 22px;padding:18px;display:grid;box-shadow:0 5px 26px #56412006}.booking-selection-photo{border-radius:10px;grid-row:1/3;width:100%;position:relative;overflow:hidden}.booking-selection-photo img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.booking-selection-body,.booking-selection-price{min-width:0}.booking-selection-heading{justify-content:space-between;align-items:center;gap:8px;margin:-6px 0 8px;display:flex}.booking-selection-heading h3{font:400 27px/1.1 var(--res-serif);letter-spacing:-.035em;color:var(--res-heading)}.booking-text-button{min-height:44px;color:var(--res-ink);text-underline-offset:4px;justify-content:center;align-items:center;gap:6px;padding:8px 0;font-size:13px;text-decoration:underline;display:inline-flex}.booking-selection-heading .booking-text-button{text-decoration:none}.booking-selection svg{width:var(--booking-icon);height:var(--booking-icon);color:#29453e;flex-shrink:0}.booking-selection-heading svg{width:18px;height:18px}.booking-selection-meta{color:#575d56;gap:5px;font-size:13px;line-height:1.3;display:grid}.booking-selection-meta p{align-items:flex-start;gap:10px;margin:0;display:flex}.booking-selection-dates>span{flex-wrap:wrap;align-items:center;gap:3px 8px;display:flex}.booking-selection-dates time{white-space:nowrap}.booking-selection-price{border-top:1px solid #d8d1c3;padding-top:12px}.booking-selection-amount{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.booking-selection-amount>span{color:#575d56;align-items:center;gap:6px;font-size:13px;display:inline-flex}.booking-selection-amount svg{width:16px;height:16px}.booking-selection-amount strong{color:#11130f;white-space:nowrap;font:600 29px/1.15 var(--res-serif);letter-spacing:-.045em}.booking-selection-price-note{color:#656862;margin-top:3px;font-size:12px;line-height:1.4}.booking-page fieldset{border:0;min-width:0;margin:0;padding:0}.booking-fields{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.booking-field{min-width:0}.booking-field label{font-size:var(--booking-size);color:var(--res-body);margin-bottom:7px;font-weight:500;line-height:1.2;display:block}.booking-field input,.booking-field select,.booking-field textarea{border-radius:var(--booking-radius);background:var(--booking-surface);width:100%;min-width:0;max-width:100%;min-height:52px;color:var(--res-body);font:inherit;border:1px solid #a9b3a7;padding:12px 16px;font-size:16px;line-height:1.4;display:block}.booking-field input::placeholder,.booking-field textarea::placeholder{color:#797d75;opacity:1}.booking-contact .booking-field input,.booking-contact .booking-field textarea,.booking-phone-control{background:var(--booking-surface);border-color:var(--booking-line)}.booking-field textarea{resize:vertical;min-height:100px}.booking-field :is(input,select,textarea):focus-visible,.phone-country-dialog>input:focus-visible{outline:2px solid var(--res-ink);outline-offset:-2px}.booking-field [aria-invalid=true],.booking-contact .booking-field [aria-invalid=true]{border-color:var(--res-error)}.booking-field :is(input,textarea)[aria-invalid=true]:focus-visible{outline-color:var(--res-error)}.booking-phone-control{border:1px solid var(--booking-line);border-radius:var(--booking-radius);min-height:52px;display:flex;position:relative}.booking-phone-control:has([aria-invalid=true]){border-color:var(--res-error)}.booking-phone-control input{border-radius:0 var(--booking-radius) var(--booking-radius) 0;border:0;flex:1;padding-inline:12px}.booking-contact .booking-phone-control input{background:0 0}.booking-phone-control:has(input:focus-visible):not(:has([aria-invalid=true])){border-color:var(--res-ink)}.booking-phone-control input:focus-visible{outline:none}.booking-field-hint{color:var(--res-secondary);margin-top:7px;font-size:12px;line-height:1.5}.booking-request{background:var(--booking-surface);border:1px solid #e1d9cb;border-radius:16px;margin-top:4px;padding:0 18px}.booking-request summary{cursor:pointer;align-items:center;gap:12px;min-height:64px;font-size:14px;list-style:none;display:flex}.booking-request summary::-webkit-details-marker,.booking-edit summary::-webkit-details-marker{display:none}.booking-request summary>svg{color:var(--res-ink);flex-shrink:0;width:24px;height:24px}.booking-request summary>svg:last-child{width:20px;height:20px;margin-left:auto}.booking-request[open] summary>svg:last-child{transform:rotate(180deg)}.booking-request summary span span{color:var(--res-secondary)}.booking-request>.booking-field{padding:8px 0 18px}.booking-button{border:1px solid var(--res-ink);border-radius:var(--action-radius);width:100%;min-height:56px;color:var(--res-paper);background:var(--res-ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:24px;padding:12px 18px;font-size:17px;font-weight:550;transition:background-color .16s,transform .14s;display:flex}:is(.booking-contact,.booking-review,.booking-payment) .booking-button{margin-top:var(--booking-space);font-family:var(--res-serif);letter-spacing:-.025em;font-size:25px;font-weight:400}.booking-review .booking-button{gap:16px}.booking-button svg{width:26px;height:26px}.booking-button:not(:disabled):active{transform:scale(.985)}.booking-button:disabled{cursor:not-allowed;color:#52675f;background:#e6ebe2;border-color:#c4cfc0}.booking-button-outline{color:var(--res-ink);background:0 0;margin-top:16px}.booking-next-hint{color:var(--res-secondary);justify-content:center;align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;display:flex}.booking-next-hint svg{flex-shrink:0;width:18px;height:18px}.booking-dates{grid-template-columns:1fr 1fr;gap:12px;display:grid}.booking-dates>div{background:var(--booking-surface);border-radius:var(--booking-radius);border:1px solid #a9b3a7;padding:12px}.booking-dates dt{color:var(--res-secondary);font-size:12px}.booking-dates dd{margin-top:4px;font-size:14px}.booking-stay-line p{color:var(--res-secondary);margin:12px 0;font-size:13px}.booking-edit{border-block:1px solid #d3d4c9}.booking-edit summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;font-size:13px;display:flex}.booking-edit summary span{font-size:22px}.booking-edit[open] summary span{transform:rotate(45deg)}.booking-edit form{padding:8px 0 20px}.booking-date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 12px}.booking-wide{grid-column:1/-1}.booking-date{position:relative}.booking-date input{z-index:1;opacity:0;cursor:pointer;height:52px;position:relative}.booking-date>span{background:var(--booking-surface);pointer-events:none;border-radius:var(--booking-radius);border:1px solid #a9b3a7;height:52px;padding:14px 10px;font-size:14px;position:absolute;inset:auto 0 0}.booking-date>span:after{content:"";float:right;border:1px solid;border-top-width:3px;border-radius:2px;width:12px;height:12px;margin-top:4px}.booking-date:focus-within>span{outline:2px solid var(--res-ink);outline-offset:-2px}.booking-date:has([aria-invalid=true])>span{border-color:var(--res-error)}.booking-price{padding-top:24px}.booking-price h3,.booking-review h3{margin-bottom:12px;font-size:16px;font-weight:600}.booking-status,.booking-price-note{color:var(--res-secondary);margin:8px 0 16px;font-size:12px;line-height:1.6}.booking-total{border-top:1px solid #d3d4c9;justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px;font-size:13px;display:flex}.booking-total strong{font:400 30px/1.2 var(--res-serif);white-space:nowrap;letter-spacing:-.035em}.booking-breakdown{margin-block:16px;font-size:13px}.booking-breakdown>div{justify-content:space-between;gap:12px;margin-top:8px;display:flex}.booking-breakdown dd{white-space:nowrap;margin:0}.booking-stay-next{margin-top:24px}.booking-review-header{justify-content:space-between;align-items:center;gap:12px;margin:-6px 0 4px;display:flex}.booking-review-header h3{color:var(--res-heading);font:400 27px/1.1 var(--res-serif);letter-spacing:-.035em;margin:0}.booking-review-header .booking-text-button{text-decoration:none}.booking-review-header svg{width:18px;height:18px}.booking-review-contact{background:var(--booking-surface);border:1px solid #e1d9cb;border-radius:18px;padding:18px;box-shadow:0 5px 26px #56412006}.booking-review dl{gap:0;margin:0;display:grid}.booking-review dl>div{border-top:1px solid #e1d9cb;grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:12px;padding-block:10px;display:grid}.booking-review dl>[data-contact-field=requests]{grid-template-columns:minmax(0,1fr);gap:5px}.booking-review dt{color:var(--res-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.booking-review dt svg{width:20px;height:20px;color:var(--res-body);flex-shrink:0}.booking-review dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:15px}.booking-error{color:var(--res-error);margin-top:7px;font-size:12px;line-height:1.5}.booking-page:is([data-step="2"],[data-step="3"]) .booking-price{background:var(--booking-surface);border:1px solid #e1d9cb;border-radius:13px;margin-top:12px;padding:12px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-price>h3,.booking-page:is([data-step="2"],[data-step="3"]) .booking-price>.booking-status,.booking-page:is([data-step="2"],[data-step="3"]) .booking-price>.booking-total,.booking-page:is([data-step="2"],[data-step="3"]) .booking-price>[data-booking-retry]{display:none}.booking-preview{border-left:2px solid #b3a185;padding-left:12px;font-size:13px}.booking-menu{width:min(430px,100vw - 32px);color:var(--res-body);background:var(--res-paper);border:1px solid #d8d1c3;border-radius:20px;padding:24px}.booking-menu::backdrop{background:#0009}.booking-menu-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.booking-menu-head h2{font:400 32px/1.1 var(--res-serif)}.booking-menu-brand{width:172px}.booking-menu-brand img{width:100%;height:auto;display:block}.booking-menu-head button{place-items:center;width:44px;height:44px;display:grid}.booking-menu nav{gap:8px;margin-top:24px;display:grid}.booking-menu nav a{border-bottom:1px solid #d8d1c3;padding:12px 0}@media (hover:hover){.booking-button:not(:disabled):hover{background:var(--action-forest-hover);color:var(--res-paper)}.booking-text-button:hover,.booking-previous:hover{color:#216451}}@media (width>=1700px){.booking-content{margin-inline:auto}}@media (width<=999px){.booking-page{--booking-size:clamp(14px, 2.65vw, 25px);--booking-space:clamp(20px, 2.55vw, 24px);--booking-radius:clamp(12px, 1.8vw, 18px);--booking-icon:clamp(19px, 3vw, 26px)}.booking-header{width:100%;height:clamp(128px,34.2vw,320px);padding:clamp(18px,3.5vw,32px) 4.8vw}.booking-brand{width:clamp(145px,25vw,215px)}.booking-menu-toggle svg{width:clamp(30px,6vw,52px);height:clamp(30px,6vw,52px)}.booking-main{display:block}.booking-scene{height:clamp(128px,34.2vw,320px);min-height:0;position:relative}.booking-scene-photo img{object-position:center 30%}.booking-content{z-index:2;background:var(--res-paper);border-radius:0;width:100%;max-width:none;margin-top:0;padding:10px 5.5vw clamp(22px,2.6vw,28px);position:relative}.booking-previous{margin-bottom:8px}.booking-previous>span:first-child{font-size:clamp(22px,3vw,28px)}.booking-progress-head{margin:0 0 clamp(22px,2.8vw,24px)}.booking-steps button{gap:8px}.booking-step-marker{width:clamp(36px,6.8vw,64px);height:clamp(36px,6.8vw,64px);font-size:clamp(16px,3vw,26px)}.booking-step-check{width:clamp(21px,3.8vw,32px);height:clamp(21px,3.8vw,32px)}.booking-steps li:not(:last-child):after{top:calc(clamp(36px,6.8vw,64px)/2 + 4px);left:calc(50% + clamp(26px,6vw,52px));right:calc(-50% + clamp(26px,6vw,52px))}[data-state=current] .booking-step-marker{border-width:clamp(2px,.45vw,4px)}:is(.booking-contact,.booking-review,.booking-payment) .booking-button{font-size:clamp(25px,4vw,38px)}.booking-section-copy{font-size:clamp(14px,3vw,28px);line-height:1.3}.booking-flow-heading h2{font-size:clamp(34px,6.8vw,64px);line-height:1.05}.booking-selection{border-radius:clamp(14px,2.4vw,22px);gap:clamp(8px,1.3vw,12px) clamp(14px,4.7vw,40px);padding:clamp(12px,2.7vw,24px)}.booking-selection-photo{border-radius:clamp(8px,1.6vw,14px)}.booking-selection-heading{margin-top:-6px;margin-bottom:clamp(4px,.7vw,6px)}.booking-selection-heading h3{font-size:clamp(23px,4vw,36px)}.booking-selection-heading .booking-text-button{font-size:clamp(12px,2.8vw,23px)}.booking-selection-heading svg{width:clamp(15px,2.5vw,23px);height:clamp(15px,2.5vw,23px)}.booking-selection-meta{gap:clamp(4px,.65vw,6px);font-size:clamp(12px,2.5vw,24px)}.booking-selection-meta p{gap:clamp(7px,2vw,18px)}.booking-selection-dates>span{gap:2px clamp(6px,1.7vw,15px)}.booking-selection-price{padding-top:clamp(8px,2vw,18px)}.booking-selection-amount>span{font-size:clamp(12px,2.6vw,23px)}.booking-selection-amount svg{width:clamp(15px,2.8vw,23px);height:clamp(15px,2.8vw,23px)}.booking-selection-amount strong{font-size:clamp(25px,4.7vw,41px)}.booking-selection-price-note{font-size:clamp(11px,2.2vw,19px)}.booking-fields{gap:20px}.booking-field input,.booking-field select,.booking-field textarea{min-height:clamp(50px,7.8vw,74px);padding:clamp(12px,1.8vw,17px) clamp(14px,3vw,26px);font-size:clamp(16px,2.9vw,25px)}.booking-phone-control{min-height:clamp(50px,7.8vw,74px)}.booking-phone-control input{padding-inline:clamp(12px,2.4vw,22px)}.booking-field-hint{font-size:clamp(12px,2.3vw,20px)}.booking-request{border-radius:clamp(14px,2.4vw,22px);padding-inline:clamp(14px,4vw,34px)}.booking-request summary{gap:clamp(10px,3vw,26px);min-height:clamp(60px,8.9vw,84px);font-size:clamp(14px,2.8vw,24px)}.booking-request summary>svg{width:clamp(22px,4vw,34px);height:clamp(22px,4vw,34px)}.booking-request summary>svg:last-child{width:clamp(18px,3.2vw,27px);height:clamp(18px,3.2vw,27px)}.booking-button{gap:clamp(22px,5vw,44px);min-height:clamp(56px,9vw,86px);font-size:clamp(17px,3.2vw,28px)}.booking-button svg{width:clamp(24px,4vw,34px);height:clamp(24px,4vw,34px)}.booking-next-hint{gap:clamp(8px,1.5vw,14px);margin-top:clamp(12px,2vw,18px);font-size:clamp(12px,2.4vw,21px)}.booking-next-hint svg{width:clamp(18px,2.8vw,24px);height:clamp(18px,2.8vw,24px)}.booking-date-fields .booking-field input{min-height:52px}}@media (width>=600px) and (width<=999px){.booking-steps{margin-inline:-5.1vw}.booking-flow-heading{margin-bottom:20px}.booking-selection{grid-template-columns:33.333% minmax(0,1fr);width:calc(100% + 20px);margin-inline:-10px}.booking-phone-field{margin-top:12px}.booking-request{margin-top:10px}}@media (width<=370px){.booking-selection{grid-template-columns:29% minmax(0,1fr);column-gap:12px}.booking-selection-photo{grid-row:1;min-height:0}.booking-selection-price{grid-column:1/-1}.booking-selection-amount{flex-wrap:nowrap}.booking-selection-price-note{margin-top:5px}}@media (prefers-reduced-motion:reduce){.booking-button{transition:none}.booking-button:not(:disabled):active{transform:none}}@media (width<=600px){.booking-page{--booking-space:12px;--booking-radius:11px;--booking-size:14px;--booking-icon:17px}.booking-header{height:128px;padding:12px 20px}.booking-brand{width:clamp(152px,41.5vw,178px)}.booking-menu-toggle,.booking-menu-toggle svg{width:32px}.booking-menu-toggle{min-width:44px;min-height:44px}.booking-scene{height:128px}.booking-scene-photo img{object-position:center 38%}.booking-content{padding:6px 20px 16px}.booking-previous{gap:8px;margin-bottom:0;font-size:13px}.booking-previous>span:first-child{font-size:20px}.booking-progress-head{margin-bottom:12px}.booking-steps button{gap:2px;font-size:12px}.booking-step-marker{width:28px;height:28px;font-size:14px}.booking-step-check{width:19px;height:19px}.booking-steps li:not(:last-child):after{top:18px;left:calc(50% + 22px);right:calc(22px - 50%)}.booking-flow-heading h2{font-size:30px;line-height:1.08}.booking-section-copy[data-booking-contact-copy]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booking-selection{border-radius:13px;grid-template-columns:78px minmax(0,1fr);gap:7px 12px;padding:10px 12px}.booking-selection-photo{border-radius:8px;grid-row:1;min-height:78px}.booking-selection-body{min-height:78px}.booking-selection-heading{margin:-8px 0 0}.booking-selection-heading h3{font-size:21px}.booking-selection-heading .booking-text-button{font-size:12px}.booking-selection-heading svg{width:14px;height:14px}.booking-selection-meta{flex-wrap:wrap;gap:3px 12px;font-size:12px;display:flex}.booking-selection-meta p{gap:5px}.booking-selection-dates{width:100%}.booking-selection-dates>span{gap:3px 5px}.booking-selection-price{grid-column:1/-1;padding-top:7px}.booking-selection-amount{flex-wrap:nowrap;align-items:center;gap:8px}.booking-selection-amount>span{font-size:12px}.booking-selection-amount strong{font-size:25px}.booking-selection-price-note{margin-top:0;font-size:11px}.booking-review-contact{border-radius:13px;padding:10px 12px}.booking-review-header h3{font-size:21px}.booking-review-header .booking-text-button{font-size:12px}.booking-review-header svg{width:14px;height:14px}.booking-review dl>div{grid-template-columns:95px minmax(0,1fr);gap:10px;padding-block:9px}.booking-review dd{font-size:14px}.booking-contact .booking-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px}.booking-contact .booking-field:has([name=email]),.booking-phone-field{grid-column:1/-1}.booking-field label{margin-bottom:6px;font-size:13px}.booking-contact .booking-field input{min-height:46px;padding:10px 12px;font-size:16px}.booking-phone-control{min-height:46px}.booking-phone-control input{padding-inline:10px}.booking-phone-prefix-hint{display:none}.booking-field-hint{margin-top:6px;font-size:11px}.booking-request{border-radius:11px;margin:0;padding-inline:12px}.booking-request summary{gap:10px;min-height:46px;font-size:13px}.booking-request summary>svg{width:20px;height:20px}.booking-request summary>svg:last-child{width:17px;height:17px}.booking-button{min-height:48px;font-size:16px}:is(.booking-contact,.booking-review,.booking-payment) .booking-button{margin-top:12px;font-size:25px}.booking-next-hint{gap:6px;margin-top:8px;font-size:11px}.booking-next-hint svg{width:16px;height:16px}}@media (width>=1000px){.booking-content{padding-top:18px;padding-bottom:20px}.booking-previous{margin-bottom:6px;font-size:14px}.booking-progress-head,.booking-flow-heading{margin-bottom:18px}.booking-flow-heading h2{font-size:40px}.booking-section-copy{font-size:14px}.booking-grid{gap:18px}.booking-selection{grid-template-columns:100px minmax(0,1fr);gap:8px 16px;padding:12px}.booking-selection-photo{grid-row:1;min-height:82px}.booking-selection-heading{margin-bottom:0}.booking-selection-meta{flex-wrap:wrap;gap:4px 14px;display:flex}.booking-selection-dates{width:100%}.booking-selection-price{grid-column:1/-1;padding-top:8px}.booking-contact .booking-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.booking-contact .booking-field:has([name=email]),.booking-phone-field{grid-column:1/-1}.booking-field label{font-size:14px}.booking-contact .booking-field input,.booking-phone-control,.booking-request summary{min-height:48px}:is(.booking-contact,.booking-review,.booking-payment) .booking-button{min-height:50px;margin-top:16px}.booking-next-hint{margin-top:10px}}.booking-phone-country{border-radius:var(--booking-radius) 0 0 var(--booking-radius);min-height:44px;color:var(--res-body);font:500 16px/1 var(--res-sans);white-space:nowrap;font-variant-numeric:tabular-nums;background:0 0;border:0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;gap:8px;padding:0 12px;display:inline-flex;position:relative}.booking-phone-country:after{content:"";background:#d6d8cf;width:1px;position:absolute;inset:9px 0 9px auto}.booking-phone-country img{object-fit:contain;border-radius:2px;width:27px;height:18px;box-shadow:0 0 0 1px #00000012}.booking-phone-country>svg{flex-shrink:0;width:16px;height:16px}.booking-phone-country [data-phone-globe]{width:25px;height:20px;display:inline-flex}.booking-phone-country [data-phone-globe] svg{width:25px;height:20px}.booking-phone-country:focus-visible{outline:2px solid var(--res-ink);outline-offset:-2px}.phone-country-dialog{width:min(440px,100vw - 24px);height:min(620px,100dvh - 24px);max-height:min(620px,100dvh - 24px);color:var(--res-body);background:#fff;border:1px solid #d8d1c3;border-radius:20px;padding:18px;overflow:hidden}.phone-country-dialog[open]{flex-direction:column;display:flex}.phone-country-dialog::backdrop{background:#0009}.phone-country-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.phone-country-head h2{font:400 28px/1.1 var(--res-serif);color:var(--res-heading)}.phone-country-head button{flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.phone-country-dialog>input{border:1px solid var(--booking-line);width:100%;min-width:0;min-height:46px;color:var(--res-body);font:400 16px/1.4 var(--res-sans);background:#fff;border-radius:10px;flex-shrink:0;padding:10px 12px;display:block}.phone-country-results{color:var(--res-secondary);flex-shrink:0;margin:10px 2px;font-size:12px}.phone-country-list{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.phone-country-list>button{width:100%;min-height:48px;font:400 14px/1.35 var(--res-sans);text-align:left;color:var(--res-body);border-radius:8px;grid-template-columns:27px minmax(0,1fr) 46px 18px;align-items:center;gap:10px;padding:10px 8px;display:grid}.phone-country-list img{object-fit:contain;border-radius:2px;width:27px;height:18px;display:block;box-shadow:0 0 0 1px #00000012}.phone-country-list svg{width:25px;height:20px}.phone-country-code{color:var(--res-secondary);text-align:right;font-variant-numeric:tabular-nums}.phone-country-check{visibility:hidden;color:var(--res-ink);text-align:right}.phone-country-list [aria-selected=true]{background:#edf2ec;font-weight:600}.phone-country-list [aria-selected=true] .phone-country-check{visibility:visible}.phone-country-list>button:focus-visible{outline:2px solid var(--res-ink);outline-offset:-2px;background:#edf2ec}.phone-country-empty{color:var(--res-secondary);padding:24px 8px;font-size:14px}@media (hover:hover){.phone-country-list>button:hover{background:#f0f3ed}}@media (width<=600px){.booking-phone-country{gap:7px;padding-inline:10px}.phone-country-dialog{padding:14px}}.booking-page:is([data-step="2"],[data-step="3"]) [data-state=current] .booking-step-marker{background:var(--res-ink);color:var(--res-paper)}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection{grid-template-columns:minmax(82px,31%) minmax(0,1fr);gap:12px 16px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-body{display:contents}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-heading{grid-area:1/1/auto/-1;margin:-6px 0 -4px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-photo{aspect-ratio:1.6;grid-area:2/1;min-height:82px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-meta{flex-wrap:wrap;grid-area:2/2;align-content:center;align-items:center;gap:8px 12px;display:flex}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-dates{flex-basis:100%}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-meta>p:last-child{border-left:1px solid #e1d9cb;padding-left:12px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-price{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-amount{display:contents}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-amount>span{grid-area:1/1}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-amount>strong{grid-area:1/2/3}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-price-note{grid-area:2/1}.booking-page:is([data-step="2"],[data-step="3"]) [data-booking-selected-retry]{grid-column:1/-1}.booking-page:is([data-step="2"],[data-step="3"]) [data-booking-final-note]{margin-bottom:0}@media (width<=600px){.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection{gap:8px 12px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-meta{gap:6px 8px;font-size:11px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-meta>p:last-child{padding-left:8px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-photo{min-height:76px}.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-price-note{margin-top:4px}}.booking-next-hint small{font-size:inherit;margin-top:4px;display:block}[data-feedback-enhanced] [data-contact-error]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booking-field-tooltip{z-index:30;border:1px solid var(--res-error);width:max-content;max-width:calc(100vw - 24px);color:var(--res-error);font:400 12px/1.45 var(--res-sans);overflow-wrap:anywhere;pointer-events:none;background:#fff;border-radius:10px;padding:8px 12px;position:fixed;box-shadow:0 4px 16px #102b2514}.booking-flow-navigation{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.booking-flow-navigation .booking-previous{flex-shrink:0;gap:8px;margin:0;font-size:13px}.booking-flow-navigation .booking-progress-head{margin:0}.booking-flow-navigation .booking-steps{gap:24px;margin:0;display:flex}.booking-flow-navigation .booking-steps button{flex-direction:row;gap:7px;min-height:44px;padding:0;font-size:12px}.booking-flow-navigation .booking-step-marker{border-width:1px;width:26px;height:26px;font-size:12px}.booking-flow-navigation [data-state=current] .booking-step-marker{color:var(--res-paper);background:var(--res-ink);border-color:var(--res-ink)}.booking-flow-navigation .booking-step-check{width:16px;height:16px}.booking-flow-navigation .booking-steps li:not(:last-child):after{width:12px;top:50%;left:calc(100% + 6px);right:auto}@media (width<=600px){.booking-flow-navigation{margin-bottom:10px}.booking-contact .booking-section-copy[data-booking-contact-copy]{clip-path:none;white-space:normal;width:auto;height:auto;margin:4px 0 0;padding:0;font-size:12px;position:static;overflow:visible}}@media (width<=380px){.booking-flow-navigation{gap:10px}.booking-flow-navigation .booking-previous{gap:6px;font-size:12px}.booking-flow-navigation .booking-previous>span:first-child{font-size:18px}.booking-flow-navigation .booking-steps{gap:14px}.booking-flow-navigation .booking-steps button{gap:4px;font-size:11px}.booking-flow-navigation .booking-step-marker{width:22px;height:22px;font-size:11px}.booking-flow-navigation .booking-steps li:not(:last-child):after{width:6px;left:calc(100% + 4px)}}.booking-payment-card{background:var(--booking-surface);border:1px solid #e1d9cb;border-radius:18px;padding:18px;box-shadow:0 5px 26px #56412006}.booking-payment-card h3{color:var(--res-heading);font:400 27px/1.1 var(--res-serif);letter-spacing:-.035em;margin:0}.booking-payment-card>p{color:var(--res-secondary);margin-top:12px;font-size:14px;line-height:1.5}.booking-payment-badge{color:var(--res-secondary);white-space:nowrap;background:#f4ede2;border-radius:20px;padding:5px 9px;font-size:11px}.booking-payment-fields{border:0;grid-template-columns:1fr 1fr;gap:14px 12px;min-width:0;margin:0;padding:12px 0 0;display:grid}.booking-payment-fields .booking-field{min-width:0}.booking-payment-fields .booking-wide{grid-column:1/-1}.booking-payment-fields input:disabled{opacity:1;color:var(--res-secondary);-webkit-text-fill-color:var(--res-secondary);cursor:default;background:#faf8f4}.booking-payment .booking-button{gap:16px;font-size:clamp(21px,2.5vw,25px)}@media (width<=600px){.booking-payment-card{border-radius:13px;padding:12px}.booking-payment-card h3{font-size:21px}.booking-payment-fields{gap:12px}.booking-payment-fields input{min-height:46px;padding:10px 12px;font-size:16px}.booking-payment-fields label{font-size:12px}.booking-payment .booking-button{gap:10px;font-size:22px}}.booking-express-payment{margin-top:14px}.booking-express-payment>p{color:var(--res-secondary);margin:0 0 8px;font-size:12px}.booking-wallet-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.booking-wallet{min-height:40px;font:600 16px/1.2 var(--res-sans);opacity:1;cursor:default;border:1px solid #bcc5ba;border-radius:7px;justify-content:center;align-items:center;padding:7px 14px;display:flex}.booking-wallet-apple{color:#fff;background:#171916;border-color:#171916}.booking-wallet-google{color:#242622;background:#fff;border-color:#c6ccc4}.booking-payment-divider{color:var(--res-secondary);align-items:center;gap:12px;margin:16px 0;font-size:11px;display:flex}.booking-payment-divider:before,.booking-payment-divider:after{content:"";background:#e1d9cb;flex:1;height:1px}.booking-card-method{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.booking-card-brands{gap:5px;display:flex}.booking-card-brands>span{min-height:24px;color:var(--res-secondary);border:1px solid #e1d9cb;border-radius:5px;align-items:center;padding:3px 6px;font-size:10px;font-weight:600;display:inline-flex}.booking-card-brands img{object-fit:contain;width:30px;height:18px;display:block}.booking-payment-card>.booking-methods-note{margin:12px 0 0;font-size:11px;line-height:1.5}.booking-stripe-preview{color:var(--res-secondary);border-top:1px solid #e1d9cb;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding-top:12px;font-size:11px;display:flex}.booking-stripe-preview svg{width:15px;height:15px}.booking-stripe-preview strong{color:var(--res-heading);font-size:13px;font-weight:700}@media (width<=600px){.booking-payment-divider{margin-block:12px}.booking-express-payment{margin-top:10px}.booking-payment-card>.booking-methods-note{font-size:10px}}.booking-page{--booking-line:#b8c0b3;--booking-muted:#60665e}.booking-flow-navigation{border-bottom:1px solid #154c3f1c;padding-bottom:6px}.booking-flow-heading h2{text-wrap:balance;letter-spacing:-.035em;font-size:clamp(32px,4.4vw,40px);line-height:1.12}.booking-section-copy{color:var(--booking-muted);margin-top:6px;font-size:14px;line-height:1.5}.booking-contact .booking-field label,.booking-payment-fields .booking-field label{color:var(--res-body);font-weight:500}.booking-selection,.booking-review-contact,.booking-payment-card{border-color:#ded8cc;box-shadow:0 8px 24px #253d2f05}.booking-selection-heading h3,.booking-review-header h3,.booking-payment-card h3{color:var(--res-heading);letter-spacing:-.035em;font-size:26px;line-height:1.2}.booking-selection-meta,.booking-page:is([data-step="2"],[data-step="3"]) .booking-selection-meta{color:#454c45;font-size:13px;line-height:1.5}.booking-selection-amount>span{color:var(--booking-muted);font-size:13px}.booking-selection-amount strong{letter-spacing:-.035em;font-size:32px;font-weight:400}.booking-selection-price-note,.booking-field-hint,.booking-next-hint,.booking-payment-card>.booking-methods-note,.booking-stripe-preview{color:var(--booking-muted);font-size:12px;line-height:1.5}.booking-field :is(input,textarea)::placeholder{color:#70756d}.booking-review dt{color:var(--booking-muted);font-size:13px;font-weight:500}.booking-review dd{color:var(--res-body);line-height:1.5}.booking-review .booking-review-header{margin-bottom:8px}:is(.booking-contact,.booking-review,.booking-payment) .booking-button{border-radius:var(--action-radius);min-height:54px;line-height:1.2;box-shadow:0 5px 16px #154c3f09}:is(.booking-contact,.booking-review,.booking-payment) .booking-button:disabled{box-shadow:none}.booking-wallet img{object-fit:contain;flex-shrink:0;width:58px;max-width:100%;height:24px;display:block}.booking-payment .booking-review-header{align-items:center}.booking-payment-fields .booking-field label{font-size:13px}@media (width<=600px){.booking-flow-heading h2{font-size:32px;line-height:1.12}.booking-contact .booking-section-copy[data-booking-contact-copy]{color:var(--booking-muted);margin-top:5px;font-size:13px}.booking-selection,.booking-review-contact,.booking-payment-card{border-radius:16px}.booking-selection-amount strong{font-size:28px}.booking-selection-heading h3,.booking-review-header h3,.booking-payment-card h3{font-size:23px}.booking-payment-card h3{font-size:22px}.booking-payment-fields .booking-field label{font-size:12px}}@media (width>=601px) and (width<=999px){.booking-page{--booking-size:16px;--booking-icon:20px;--booking-radius:14px;--booking-space:20px}.booking-content{max-width:720px;margin-inline:auto;padding-inline:28px}.booking-selection{grid-template-columns:130px minmax(0,1fr);gap:12px 20px;width:100%;margin-inline:0;padding:16px}.booking-selection-heading .booking-text-button{font-size:14px}.booking-selection-photo{grid-row:1;min-height:110px}.booking-selection-price{grid-column:1/-1;padding-top:10px}.booking-selection-meta p{gap:8px}.booking-selection-amount svg,.booking-selection-heading svg{width:18px;height:18px}.booking-contact .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-contact .booking-field:has([name=email]),.booking-phone-field{grid-column:1/-1}.booking-field label{font-size:14px}.booking-field :is(input,select,textarea),.booking-phone-control{min-height:50px;font-size:16px}.booking-field :is(input,select,textarea){padding:12px 14px}.booking-phone-field,.booking-request{margin-top:0}.booking-request{padding-inline:16px}.booking-request summary{gap:12px;min-height:50px;font-size:14px}.booking-request summary>svg{width:22px;height:22px}:is(.booking-contact,.booking-review,.booking-payment) .booking-button{min-height:54px;font-size:25px}.booking-next-hint svg{width:18px;height:18px}}@media (width<=360px){.booking-selection-amount strong{font-size:25px}.booking-selection-heading h3{white-space:nowrap;font-size:21px}.booking-page[data-step="1"] .booking-selection{grid-template-columns:68px minmax(0,1fr)}}@media (width<=600px){.booking-page[data-step="3"] .booking-flow-navigation{margin-bottom:8px;padding-bottom:2px}.booking-page[data-step="3"] .booking-flow-heading{margin-bottom:10px}.booking-page[data-step="3"] .booking-grid{gap:10px}.booking-page[data-step="3"] .booking-selection{grid-template-columns:56px minmax(0,1fr);gap:0 10px;padding:12px 14px}.booking-page[data-step="3"] .booking-selection-heading{grid-area:1/2;margin:-2px 0 -4px}.booking-page[data-step="3"] .booking-selection-heading h3{font-size:21px}.booking-page[data-step="3"] .booking-selection-photo{aspect-ratio:auto;grid-row:1/3;align-self:center;height:64px;min-height:0}.booking-page[data-step="3"] .booking-selection-meta{grid-row:2;gap:2px 8px;padding-bottom:8px;font-size:12px}.booking-page[data-step="3"] .booking-selection-price{grid-row:3;padding-top:8px}.booking-page[data-step="3"] .booking-selection-amount strong{font-size:27px}.booking-page[data-step="3"] .booking-selection-price-note{margin-top:0}.booking-payment-card{padding:16px 12px 10px}.booking-payment .booking-review-header{margin-top:0;margin-bottom:0}.booking-express-payment{margin-top:4px}.booking-express-payment>p{margin-bottom:4px}.booking-payment-divider{margin-block:6px}.booking-payment-fields{gap:8px 12px}.booking-payment-fields .booking-field label{margin-bottom:4px}.booking-payment-fields input{min-height:44px;padding-block:9px}.booking-payment-card>.booking-methods-note{margin-top:6px}.booking-stripe-preview{margin-top:6px;padding-top:6px}.booking-payment .booking-button{min-height:50px;margin-top:10px}.booking-payment .booking-next-hint{margin-top:6px}}@media (width<=360px){.booking-page[data-step="3"] .booking-selection-price{column-gap:8px}.booking-page[data-step="3"] .booking-selection-amount>span{font-size:12px}.booking-page[data-step="3"] .booking-selection-amount strong{grid-row:1;font-size:25px}.booking-page[data-step="3"] .booking-selection-price-note{grid-column:1/-1}}.booking-extra{margin-top:4px}.booking-extra-option{background:var(--booking-surface);cursor:pointer;border:1px solid #e1d9cb;border-radius:16px;align-items:center;gap:14px;min-height:64px;padding:14px 18px;font-size:14px;display:flex}.booking-extra-option:has(input:checked){border-color:var(--res-ink)}.booking-extra-option input{width:20px;height:20px;accent-color:var(--res-ink);flex-shrink:0}.booking-extra-text{gap:3px;display:grid}.booking-extra-text span{color:var(--res-secondary);font-size:12px;line-height:1.5}.booking-extra-price{white-space:nowrap;margin-left:auto;font-weight:600}.booking-extra-note{color:var(--res-secondary);margin-top:8px;font-size:12px;line-height:1.5}.booking-pay-frame h3{margin:0 0 8px}.booking-pay-iframe{border:1px solid var(--vm-border,#d9dfd3);background:#fff;border-radius:16px;width:100%;min-height:680px;margin-top:16px;display:block}@media (width<=640px){.booking-pay-iframe{min-height:760px}}
