.booking-shell{display:flex;flex:1 0 auto;flex-direction:column}.booking-container{margin-inline:auto;max-width:1000px;padding:1.5rem 15px 3rem;width:100%}@media (width >= 1024px){.booking-container{padding-left:30px;padding-right:30px}}.booking-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:50vh;padding:2rem 15px;text-align:center}.booking-loading__spinner{animation:booking-spin .8s linear infinite;border:3px solid var(--color-primary);border-radius:50%;border-top:3px solid transparent;height:2.5rem;width:2.5rem}.booking-loading__text{font-size:var(--text-md);margin:0}.booking-loading__fallback{color:var(--color-primary);font-weight:500}@keyframes booking-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.booking-loading__spinner{animation:none}}.booking-back{align-items:center;background:none;border:none;color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-s);font-weight:500;gap:.5rem;margin-bottom:1rem;padding:0}.booking-back:hover{color:var(--color-secondary)}.booking-head{margin-bottom:1.5rem}.booking-subtitle{font-size:var(--text-xl);line-height:1.3;margin-top:.75rem}.booking-required-hint{color:var(--color-grey-dark);font-size:var(--text-s);margin-bottom:1.25rem}.booking-accordion{border-bottom:1px solid var(--color-grey-light)}.booking-step{border-top:1px solid var(--color-grey-light);scroll-margin-top:1rem}.booking-step__header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.booking-step__toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex:1;font:inherit;gap:.75rem;padding:1.875rem 0;text-align:left}.booking-step__toggle:disabled{cursor:default}.booking-step__header-right{align-items:center;display:flex;gap:1rem}.booking-badge{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;font-size:var(--text-base);font-weight:500;height:32px;justify-content:center;line-height:1;padding-top:3px;width:32px}.booking-badge--active{background:var(--color-primary);color:var(--color-on-primary)}.booking-badge--done{background:var(--color-green);color:var(--color-white)}.booking-badge--idle{background:var(--color-grey-light);color:var(--color-grey-dark)}.booking-step__icon{font-size:var(--text-md);line-height:1}.booking-step__title{font-size:var(--text-lg);font-weight:500}.booking-step__title--section{display:block;margin-top:2rem}.booking-step--active .booking-step__icon,.booking-step--active .booking-step__title{color:var(--color-primary)}.booking-step--done .booking-step__icon,.booking-step--done .booking-step__title{color:var(--color-font)}.booking-step--idle .booking-step__icon,.booking-step--idle .booking-step__title{color:var(--color-grey)}.booking-step__edit{align-items:center;background:var(--color-background);border:none;border-radius:30px;color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1.5rem;font-weight:500;height:56px;justify-content:center;line-height:1;padding:10px;width:56px}.booking-step__edit>span{display:none}.booking-step__edit:hover{color:var(--color-secondary)}.booking-step__chevron{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--text-s);padding:0}.booking-step__chevron:disabled{color:var(--color-grey);cursor:default}.booking-step__summary{color:var(--color-font);font-size:var(--text-s);padding:0 0 1.25rem}.booking-step__body{padding-bottom:2rem}.booking-summary-list{list-style:none;margin:0;padding:0}.booking-summary-room__part{display:block}@media (width >= 768px){.booking-summary-room__part{display:inline}.booking-summary-room__part:not(:first-child):before{content:" / "}}.booking-grid{align-items:start;display:grid;gap:1rem 2rem;grid-template-columns:1fr}@media (width >= 768px){.booking-grid{grid-template-columns:1fr 1fr}}.booking-field{display:flex;flex-direction:column;scroll-margin-top:1rem}.booking-field--wide{grid-column:1/-1}.booking-field__label{align-items:center;display:flex;font-size:var(--text-s);gap:.4rem;margin-bottom:.25rem}.booking-field__sublabel{color:var(--color-grey-dark);display:block;font-size:var(--text-s);margin-bottom:.25rem}.booking-field__control{align-items:center;display:flex;gap:.75rem;margin-top:auto}.booking-field__input{flex:1;min-width:0}.booking-field__status{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:1.6rem}.booking-valid{font-size:1.6rem;line-height:1}.booking-field--error .booking-field__label{color:var(--color-red)}.booking-field--error .booking-stepper,.booking-field--error input,.booking-field--error select{border-color:var(--color-red)}.booking-field__error{color:var(--color-red);font-size:var(--text-xxs);line-height:1.4;margin:.35rem 0 0}.booking input[type=date],.booking input[type=email],.booking input[type=tel],.booking input[type=text],.booking select{font-size:var(--text-base)}.booking input[type=date],.booking input[type=email],.booking input[type=tel],.booking input[type=text]{padding-bottom:.4rem;padding-top:1rem}.booking select{border-radius:10px;height:56px;min-height:56px;padding:1rem 2.25rem .4rem .75rem}.booking-dob,.booking-phone{display:flex;gap:.5rem}.booking-dob>select{flex:1;min-width:0}.booking-phone>select{flex:0 0 135px}.booking-phone>input{flex:1;min-width:0}.booking-stepper{align-items:center;background:var(--color-white);border:1px solid var(--color-grey-light);border-radius:10px;display:grid;grid-template-columns:44px 1fr 44px;min-height:56px}.booking-stepper.is-disabled{opacity:.5}.booking-stepper__btn{background:none;border:none;color:var(--color-font);cursor:pointer;font-size:var(--text-md);height:56px;line-height:1}.booking-stepper__btn:disabled{color:var(--color-grey-light);cursor:not-allowed}.booking-stepper__value{font-size:var(--text-base);text-align:center}.booking-tooltip{display:inline-flex;position:relative}.booking-tooltip__trigger{background:none;border:none;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:var(--text-xs);padding:0}.booking-tooltip__pop{align-items:flex-start;background:var(--color-background);border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.12);color:var(--color-font);display:flex;font-size:var(--text-xs);gap:.6rem;left:0;line-height:var(--line-height-md);max-width:calc(100vw - 2rem);padding:1rem 2.25rem 1rem 1rem;position:absolute;top:calc(100% + 8px);width:max-content;z-index:5}@media (width >= 768px){.booking-tooltip__pop{max-width:360px}}.booking-tooltip__pop-icon{color:var(--color-blue);flex:0 0 auto;font-size:var(--text-md);line-height:1;margin-top:.1rem}.booking-tooltip__close{background:none;border:none;color:var(--color-grey-dark);cursor:pointer;padding:0;position:absolute;right:6px;top:6px}.booking-checkbox__label{margin:0}.booking-checkbox--boxed,.booking-checkbox__label{align-items:center;cursor:pointer;display:inline-flex;font-size:var(--text-s)}.booking-checkbox--boxed{background:var(--color-background);border-radius:10px;gap:.4rem;margin-top:1rem;padding:.6rem .9rem}.booking-hp{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.booking-takeover{background:var(--color-background);border-radius:10px;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem;max-width:460px;padding:1rem}.booking-step-footer{align-items:center;border-top:1px solid var(--color-grey-light);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem}.booking-step-footer--end{justify-content:flex-end}.booking-step-footer>.cta_button{margin-left:auto}.booking-price{display:flex;flex-direction:column;gap:.6rem}.booking-price__label{font-size:var(--text-base);font-weight:500}.booking-price__hint{color:var(--color-grey-dark);font-size:var(--text-xs);max-width:32rem}.booking-price-badge{align-self:flex-start;background:var(--color-tertiary);border-radius:10px;color:var(--color-on-tertiary);font-size:var(--text-xl);justify-content:center;padding-inline:calc(var(--spacing)*3);padding-top:calc(var(--spacing)*1)}.booking-btn,.booking-price-badge{align-items:center;display:inline-flex}.booking-btn{background:var(--color-primary);border:none;border-radius:40px;color:var(--color-on-primary);cursor:pointer;font-family:inherit;font-weight:500;gap:10px;line-height:var(--line-height-xs);padding:16px 30px 12px;text-decoration:none;transition:color .3s ease,background-color .3s ease}.booking-btn:focus-visible,.booking-btn:hover{background:var(--color-secondary);color:var(--color-on-secondary)}.booking-btn:disabled{cursor:not-allowed;opacity:.5}.booking-btn:disabled:hover{background:var(--color-primary);color:var(--color-on-primary)}.booking-spin{animation:booking-spin .8s linear infinite;display:inline-block}.booking-person__title{font-size:var(--text-base);font-weight:500;margin-bottom:1rem}.booking-person+.booking-person{border-top:1px solid var(--color-grey-light);margin-top:1.5rem;padding-top:1.5rem}.booking-dialog-overlay{align-items:center;background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}.booking-dialog{background:var(--color-white);border-radius:var(--radius-box);max-width:480px;padding:2rem;width:100%}.booking-dialog__title{margin-bottom:1rem}.booking-dialog__text{margin-bottom:1.5rem}.booking-dialog__actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}.booking-dialog__actions .cta_button:after{content:none}.booking-review__head{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.booking-reservation{align-items:center;background:var(--color-mint);border-radius:40px;color:var(--color-font);display:flex;font-size:var(--text-xxs);gap:.5rem;justify-content:center;order:-1;padding:.4rem 1rem}.booking-reservation i{font-size:1.2em;line-height:1;position:relative;top:.1em}.booking-reservation--expiring{background:var(--color-rose);color:var(--color-white)}@media (width >= 768px){.booking-review__head{align-items:center;flex-flow:row wrap;justify-content:space-between}.booking-reservation{display:inline-flex;justify-content:flex-start;order:0}}.booking-review__intro{margin-bottom:1.5rem}.booking-trust{background:var(--color-tertiary);border-radius:var(--radius-box);display:grid;grid-template-columns:1fr;margin-bottom:1rem;overflow:hidden}@media (width >= 768px){.booking-trust{grid-template-columns:1fr 1.2fr}}.booking-trust__media{align-items:center;background:var(--color-grey-light);display:none;justify-content:center;min-height:160px;position:relative}@media (width >= 768px){.booking-trust__media{display:flex}}.booking-trust__media img{height:100%;object-fit:cover;width:100%}.booking-trust__body{padding:1.5rem}.booking-trust__title{font-size:var(--text-lg);margin-bottom:1rem}@media (width >= 768px){.booking-trust__title{font-size:var(--text-xl)}}.booking-trust__list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.booking-trust__list li{align-items:flex-start;display:flex;font-size:var(--text-base);gap:.5rem;margin:0}.booking-trust__list i{color:var(--color-font);margin-top:.15rem}.booking-rating{align-items:center;display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.5rem;width:fit-content}.booking-rating__logo{flex-shrink:0;height:24px;margin-bottom:.25rem;width:auto}.booking-rating__head{align-items:center;display:flex;gap:.375rem}.booking-rating__score{color:var(--color-font);font-size:var(--text-md);font-weight:500;line-height:1}.booking-rating__stars{align-items:center;color:var(--color-google-star);display:flex;font-size:var(--text-lg)}.booking-rating__stars i{line-height:1;margin:0 -.0625rem}.booking-rating__star--muted{color:var(--color-grey-light)}.booking-rating__count{color:var(--color-grey);font-size:var(--text-xxs);line-height:1}.booking-section{border-top:1px solid var(--color-grey-light);padding:1.5rem 0}.booking-section__head{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.booking-section__lead{font-weight:500;margin-bottom:1rem}.booking-section__note{font-size:var(--text-base);margin-top:1rem}.booking-section__note a{font-weight:500}.booking-section__title{font-size:var(--text-md);font-weight:500;margin:1.5rem 0 1rem}.booking-edit-link{align-items:center;background:var(--color-background);border:none;border-radius:30px;color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1.5rem;font-weight:500;height:56px;justify-content:center;line-height:1;padding:10px;width:56px}.booking-edit-link>span{display:none}.booking-edit-link:hover{color:var(--color-secondary)}@media (width >= 768px){.booking-edit-link,.booking-step__edit{background:none;border-radius:0;font-size:var(--text-s);gap:.4rem;height:auto;padding:0;width:auto}.booking-edit-link>span,.booking-step__edit>span{display:inline}}.booking-detail-list{display:flex;flex-direction:column;gap:.6rem;list-style:none;margin:0;padding:0}.booking-detail-row{align-items:flex-start;display:flex;gap:.6rem;margin:0}.booking-detail-row i{color:var(--color-font);margin-top:.15rem}.booking-review__persons{display:grid;gap:1.5rem;grid-template-columns:1fr}@media (width >= 768px){.booking-review__persons{grid-template-columns:1fr 1fr}}.booking-review__person h3{font-size:var(--text-base);font-weight:500;margin-bottom:.5rem}@media (width >= 768px){.booking-review__person h3{font-size:var(--text-lg)}}.booking-review__contact p,.booking-review__person p{margin:0}.booking-total{align-items:center;display:flex;gap:1rem}.booking-total__note{color:var(--color-grey-dark)}.booking-payment{background:var(--color-background);border-radius:var(--radius-box);margin:1.5rem 0;padding:1.5rem}.booking-payment__bullets{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0 0 1rem;padding:0}.booking-payment__bullets li{align-items:center;display:flex;gap:.5rem;margin:0}.booking-payment__bullets i{color:var(--color-primary)}.booking-payment__rows{border-top:1px solid var(--color-grey-light);display:flex;flex-direction:column;gap:.5rem;padding-top:1rem}.booking-payment__row{display:flex;gap:1rem;justify-content:space-between}.booking-payment__row span:last-child{font-weight:500}.booking-legal-block{margin-top:2rem;scroll-margin-top:1rem}.booking-legal-info{margin-bottom:1.25rem}.booking-legal-info__title{font-size:var(--text-md);font-weight:500;margin:0 0 .35rem}.booking-legal-info__text{font-size:var(--text-xxs);line-height:var(--line-height-md);margin:0}.booking-legal-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.booking-legal-separator{border:0;border-top:1px solid var(--color-grey-light);margin:1.5rem 0}.booking-legal-group__intro{font-size:var(--text-xxs);line-height:var(--line-height-md);margin:0}.booking-required-hint--legal{margin-bottom:0;margin-top:.75rem}.booking-legal__item{align-items:flex-start;cursor:pointer;display:flex;font-size:var(--text-xxs);gap:.1rem;line-height:var(--line-height-md);margin:0}.booking-legal__item input{margin-top:.2rem}.sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.booking-pay-notice{background:var(--color-background);border-left:4px solid var(--color-primary);border-radius:var(--radius-box);font-size:var(--text-s);margin:0 0 1.5rem;padding:.85rem 1rem}.booking-pay-notice--alert{align-items:center;background:var(--color-red);border-left-color:rgba(0,0,0,.25);color:#fff;display:flex;font-weight:500;gap:.6rem}.booking-pay-notice__icon{flex-shrink:0;font-size:1.1em;line-height:1.3;margin-top:.1em}.booking-pay-methods{border:0;display:flex;flex-direction:column;gap:1rem;margin:0;padding:0}.booking-pay-option{align-items:flex-start;background:var(--color-background);border:2px solid transparent;border-radius:var(--radius-box);cursor:pointer;display:flex;gap:.85rem;padding:1rem 1.25rem;transition:border-color .2s ease,background-color .2s ease}.booking-pay-option--selected{border-color:var(--color-primary)}.booking-pay-option input{accent-color:var(--color-primary);margin-top:.25rem}.booking-pay-option:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.booking-pay-option__body{display:flex;flex-direction:column;gap:.25rem}.booking-pay-option__title{align-items:center;display:flex;flex-wrap:wrap;font-weight:500;gap:.5rem}.booking-pay-option__hint{color:var(--color-grey-dark);font-size:var(--text-xs)}.booking-pay-option--featured{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-background));border-color:var(--color-primary)}.booking-pay-option__badge{align-items:center;background:var(--color-primary);border-radius:999px;color:var(--color-on-primary);display:inline-flex;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;padding:.1rem .5rem;text-transform:uppercase}.booking-confirmed{align-items:flex-start;background:color-mix(in srgb,var(--color-green) 10%,var(--color-background));border-left:4px solid var(--color-green);border-radius:var(--radius-box);display:flex;gap:1rem;margin:0 0 1.5rem;padding:1.25rem 1.5rem}.booking-confirmed__icon{align-items:center;background:var(--color-green);border-radius:50%;color:var(--color-on-primary);display:inline-flex;flex:0 0 auto;font-size:var(--text-md);height:40px;justify-content:center;width:40px}.booking-confirmed__title{font-size:var(--text-md);margin:0 0 .25rem}.booking-confirmed__text{font-size:var(--text-s);margin:0}.booking-success{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:2rem auto;max-width:34rem;padding:2rem 1.5rem;text-align:center}.booking-success__icon{align-items:center;background:var(--color-primary);border-radius:50%;color:var(--color-on-primary);display:inline-flex;font-size:var(--text-md);height:64px;justify-content:center;width:64px}.booking-success .booking-btn{margin-top:.5rem}.booking-container{padding-bottom:7rem}[data-tour-cta-bar].is-popup-open [data-tour-cta-toggle] .icon-phone,[data-tour-cta-toggle] .icon-close{display:none}[data-tour-cta-bar].is-popup-open [data-tour-cta-toggle] .icon-close{display:inline-block}.tour-cta-popup{opacity:0;transform:translateY(.5rem);transition:opacity .3s ease,transform .3s ease}[data-tour-cta-bar].is-popup-open .tour-cta-popup{opacity:1;transform:translateY(0)}@media (width >= 768px){[data-tour-cta-consult-only] .tour-cta-popup{left:50%;margin-left:-11rem;right:auto}}@media (prefers-reduced-motion:reduce){.tour-cta-popup{transform:none;transition:none}}