.reservation-block-wrapper,.reservation-block-wrapper *,.reservation-block-wrapper :after,.reservation-block-wrapper :before{box-sizing:border-box}.reservation-block-wrapper{position:relative;--wizard-error:#dc4d29;--reservation-color-unavailable:#555;margin:2rem 5%}@media(prefers-color-scheme:dark){.reservation-block-wrapper{--reservation-color-unavailable:#ccc}}.reservation-block-wrapper.is-loading-evento>:not(.reservation-evento-loading-overlay){visibility:hidden}.reservation-evento-loading-overlay{align-items:center;background:var(--wp--preset--color--background);color:var(--wp--preset--color--text);display:flex;flex-direction:column;font-size:1rem;gap:.75rem;inset:0;justify-content:center;position:absolute;z-index:10}.reservation-tabs{border-bottom:1px solid var(--wp--preset--color--post-box-border);display:flex;gap:.5rem;margin-bottom:1.5rem}.reservation-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--wp--preset--color--caption-text);cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:1rem;font-weight:600;margin-bottom:-1px;padding:.75rem 1.25rem}.reservation-tab.is-active,.reservation-tab:hover{color:var(--wp--preset--color--text)}.reservation-tab.is-active{border-bottom-color:var(--wp--preset--color--coabita-green)}.reservation-tab-panel[data-reservation-tab-panel=eventos],.reservation-tab-panel[data-reservation-tab-panel=farneis]{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem}.reservation-tab-placeholder{text-align:center}.reservation-tab-loading,.reservation-tab-placeholder{color:var(--wp--preset--color--caption-text);font-size:1rem;grid-column:1/-1}.reservation-tab-loading{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;min-height:400px}.reservation-events-list-container{container-type:inline-size;width:100%}.reservation-events-list{display:grid;gap:1.5rem;grid-template-columns:1fr;width:100%}@container (min-width: 560px){.reservation-events-list{grid-template-columns:repeat(2,1fr)}}.reservation-event-card{background:var(--wp--preset--color--post-box);border:1px solid var(--wp--preset--color--post-box-border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;overflow:hidden}.reservation-event-image,.reservation-event-image-placeholder{aspect-ratio:4/3;display:block;width:100%}.reservation-event-image{-o-object-fit:cover;object-fit:cover}.reservation-event-image-placeholder{background:var(--wp--preset--color--post-box-border)}.reservation-event-content{display:flex;flex:1;flex-direction:column;padding:1.5rem}.reservation-event-title{font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.reservation-event-date{color:var(--wp--preset--color--coabita-green);display:block;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.reservation-event-description{color:var(--wp--preset--color--text);font-size:.95rem;line-height:1.5;margin-bottom:1rem}.reservation-event-description p{margin:0 0 .75rem}.reservation-event-description p:last-child{margin-bottom:0}.reservation-event-description ol,.reservation-event-description ul{margin:0 0 .75rem;padding-left:1.25rem}.reservation-event-description h2,.reservation-event-description h3,.reservation-event-description h4{font-size:1.05rem;margin:1rem 0 .5rem}.reservation-event-description h2:first-child,.reservation-event-description h3:first-child,.reservation-event-description h4:first-child{margin-top:0}.reservation-event-book-btn{align-self:flex-start;background:var(--wp--preset--color--coabita-red);border:none;border-radius:4px;color:var(--wp--preset--color--button-text);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;margin-top:auto;padding:.65rem 1.5rem;transition:filter .15s ease}.reservation-event-book-btn:hover{filter:brightness(.9)}.reservation-lodging-intro{color:var(--wp--preset--color--text);font-size:1rem;margin:0 0 1.25rem}.reservation-lodging-contact{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.reservation-lodging-contact-link{align-items:center;background:var(--wp--preset--color--coabita-green);border-radius:4px;color:var(--wp--preset--color--button-text);display:inline-flex;font-size:.95rem;font-weight:600;padding:.6rem 1.25rem;text-decoration:none}.reservation-lodging-contact-link:hover{background:var(--wp--preset--color--button-hover)}#reservation-lodging-calendar{margin-bottom:1rem}.reservation-calendar-side{flex:1;min-width:430px}.reservation-calendar-grid-wrap{min-height:400px;position:relative}.calendar-loading{align-items:center;background:var(--wp--preset--color--background);color:var(--wp--preset--color--text);display:flex;flex-direction:column;font-size:1rem;gap:.75rem;inset:0;justify-content:center;position:absolute;z-index:5}.spinner{animation:coabita-spin .8s linear infinite;border:3px solid var(--wp--preset--color--post-box-border);border-radius:50%;border-top-color:var(--wp--preset--color--coabita-green);height:32px;width:32px}@keyframes coabita-spin{to{transform:rotate(1turn)}}.reservation-calendar-toolbar{align-items:center;display:flex;gap:.7rem;justify-content:flex-start;margin-bottom:1.75rem;padding:.7rem}.reservation-calendar-nav{align-items:center;background-color:var(--wp--preset--color--post-box);border:1px solid var(--wp--preset--color--post-box-border);border-radius:50%;color:var(--wp--preset--color--text);cursor:pointer;display:flex;flex:0 0 auto;height:48px;justify-content:center;padding:0;width:48px}.reservation-calendar-nav svg{height:22px;width:22px}.reservation-calendar-nav:hover{background-color:transparent}.reservation-calendar-nav:disabled{cursor:not-allowed}.reservation-calendar-nav:disabled svg{opacity:.35}.reservation-calendar-nav:disabled:hover{background-color:var(--wp--preset--color--post-box)}.reservation-calendar-nav-next svg{transform:scaleX(-1)}.reservation-calendar-nav-next{margin-left:auto}.reservation-calendar-title-select-wrap{align-items:center;display:inline-flex;flex:0 0 auto;position:relative}.reservation-calendar-title-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--wp--preset--color--post-box);border:1px solid var(--wp--preset--color--post-box-border);border-radius:6px;color:var(--wp--preset--color--text);cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:1.25rem;font-weight:600;padding:.6rem 2.2rem .6rem .95rem;width:auto}.reservation-calendar-title-select option{font-size:1rem;font-weight:400}.reservation-calendar-title-select:focus{outline:none}.reservation-calendar-title-select-arrow{color:var(--wp--preset--color--text);height:20px;pointer-events:none;position:absolute;right:.8rem;top:50%;transform:translateY(-50%);width:20px}.reservation-calendar-legend{color:var(--wp--preset--color--caption-text);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.5rem 1.25rem;margin-top:.85rem}.reservation-calendar-legend-item{align-items:center;display:inline-flex;gap:.4rem}.reservation-calendar-legend-swatch{border:1px solid var(--wp--preset--color--post-box-border);border-radius:3px;flex:0 0 auto;height:12px;width:12px}.reservation-calendar-legend-swatch.is-available{background:var(--wp--preset--color--background)}.reservation-calendar-legend-swatch.is-unavailable{background:var(--reservation-color-unavailable);border-color:var(--reservation-color-unavailable);opacity:.65}.reservation-calendar-legend-swatch.is-blocked{background:var(--wp--preset--color--coabita-red);border-color:var(--wp--preset--color--coabita-red);opacity:.65}.reservation-calendar-legend-swatch.is-selected{background:var(--wp--preset--color--coabita-green);border-color:var(--wp--preset--color--coabita-green);opacity:.65}.reservation-calendar-legend-swatch.is-event{background:#f5a623;border-color:#f5a623;opacity:.65}.fc .fc-daygrid-day-frame{align-items:center;display:flex;justify-content:center;min-height:60px!important}.fc .fc-daygrid-day-top{display:flex;justify-content:center;width:100%}.fc-daygrid-day-bg{z-index:1!important}.fc .fc-daygrid-day-number{color:var(--wp--preset--color--text)!important;font-size:1.2rem;font-weight:700;opacity:1!important;padding:4px!important;position:relative;text-decoration:none;z-index:5!important}.fc .fc-day-other .fc-daygrid-day-top{opacity:1!important}.fc .fc-day-other .fc-daygrid-day-number{color:color-mix(in srgb,var(--wp--preset--color--text) 75%,var(--wp--preset--color--background))!important;opacity:1!important;position:relative;z-index:5!important}.fc-event .fc-event-time,.fc-event .fc-event-title,.fc-event-title-container{display:none!important}.fc{--fc-bg-event-opacity:0.65}#fast-booking-tooltip{background-color:rgba(0,0,0,.85);border-radius:4px;color:#fff;font-size:.85rem;opacity:0;padding:6px 10px;pointer-events:none;position:fixed;transition:opacity .1s ease;white-space:nowrap;z-index:99999}.reservation-steps-indicator{align-items:center;display:grid;gap:1rem;grid-template-columns:48px 1fr 48px;margin:0 auto 2rem;width:100%}.reservation-steps-dots{display:flex;gap:2rem;justify-content:center}.reservation-steps-indicator .reservation-step-btn{box-sizing:border-box;justify-self:start;margin-top:0}.reservation-step-item{align-items:center;display:flex;gap:.5rem;opacity:.5;transition:opacity .2s}.reservation-step-item.is-active,.reservation-step-item.is-done{opacity:1}.reservation-step-number{align-items:center;background:var(--wp--preset--color--post-box-border);border-radius:50%;color:var(--wp--preset--color--text);display:flex;font-size:.9rem;font-weight:700;height:28px;justify-content:center;width:28px}.reservation-step-item.is-active .reservation-step-number,.reservation-step-item.is-done .reservation-step-number{background:var(--wp--preset--color--coabita-green);color:var(--wp--preset--color--button-text)}.reservation-step-label{font-size:.95rem;font-weight:500}.reservation-panel[data-panel="1"]{display:flex;flex-wrap:nowrap;gap:2rem;width:100%}.reservation-type-select{border-bottom:1px solid var(--wp--preset--color--post-box-border);margin-bottom:1.5rem;padding-bottom:1.5rem}.reservation-type-select h3{font-size:1.1rem;margin-bottom:1rem;margin-top:0}.reservation-type-select h4{font-size:.95rem;margin:0 0 .75rem}.reservation-space-options{margin-top:1.5rem}.reservation-type-options{display:flex;flex-wrap:nowrap;gap:1rem}.reservation-type-options.is-column-layout{align-items:flex-start;flex-direction:column}.reservation-space-option,.reservation-type-option{background:var(--wp--preset--color--background);border:2px solid var(--wp--preset--color--post-box-border);border-radius:8px;color:var(--wp--preset--color--text);cursor:pointer;flex:1;font-family:inherit;font-size:.95rem;font-weight:600;min-width:160px;padding:1rem;text-align:center;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.reservation-space-option:hover,.reservation-type-option:hover{border-color:var(--wp--preset--color--coabita-green)}.reservation-space-option.is-selected,.reservation-type-option.is-selected{background:var(--wp--preset--color--coabita-green);border-color:var(--wp--preset--color--coabita-green);color:var(--wp--preset--color--button-text)}.reservation-space-option:disabled,.reservation-type-option:disabled{cursor:not-allowed;opacity:.4}.reservation-space-option:disabled:hover,.reservation-type-option:disabled:hover{border-color:var(--wp--preset--color--post-box-border)}.wizard-hidden-field{display:none!important}.reservation-farnel-cards{display:flex;flex-wrap:nowrap;gap:1rem;visibility:hidden}.reservation-farnel-cards.is-column-layout{align-items:flex-start;flex-direction:column}.reservation-farnel-card{background:var(--wp--preset--color--background);border:2px solid var(--wp--preset--color--post-box-border);border-radius:8px;box-sizing:border-box;flex:0 0 auto;max-width:280px;min-width:200px;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.reservation-farnel-card.is-selected{background:var(--wp--preset--color--coabita-green);border-color:var(--wp--preset--color--coabita-green);color:var(--wp--preset--color--button-text)}.reservation-farnel-card.is-unavailable{cursor:not-allowed;opacity:.45}.reservation-farnel-card.is-unavailable .reservation-farnel-card-select{cursor:not-allowed}.reservation-farnel-card-select{background:transparent;border:none;color:inherit;cursor:pointer;display:block;font-family:inherit;padding:1rem;text-align:center;width:100%}.reservation-farnel-card-title{display:block;font-size:.95rem;font-weight:600}.reservation-farnel-card-descricao{display:block;font-size:.8rem;font-weight:400;margin-top:.4rem;opacity:.8}.reservation-farnel-card-more{color:inherit;display:block;font-size:.8rem;padding:0 1rem .85rem;text-align:center;text-decoration:underline}.reservation-horario-options{margin-top:1.5rem}.reservation-horario-option{background:var(--wp--preset--color--background);border:2px solid var(--wp--preset--color--post-box-border);border-radius:8px;box-sizing:border-box;color:var(--wp--preset--color--text);cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:.95rem;font-weight:600;min-width:160px;padding:1rem;text-align:center;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.reservation-horario-option.is-selected,.reservation-horario-option:hover{border-color:var(--wp--preset--color--coabita-green)}.reservation-horario-option.is-selected{background:var(--wp--preset--color--coabita-green);color:var(--wp--preset--color--button-text)}.reservation-date-info{background:var(--wp--preset--color--post-box);border:1px solid var(--wp--preset--color--post-box-border);border-radius:8px;flex:1;min-width:300px;padding:2rem}.reservation-panel[data-panel="2-3"]{align-items:flex-start;display:flex;flex-wrap:nowrap;gap:2rem;width:100%}.reservation-form-column{background:var(--wp--preset--color--post-box);border:1px solid var(--wp--preset--color--post-box-border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.05);flex:3;min-width:300px;padding:2rem}.reservation-form-column .ff-el-input--label label{font-size:14px;font-weight:700}.reservation-basket{align-self:flex-start;background:var(--wp--preset--color--post-box);border:1px solid var(--wp--preset--color--post-box-border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.05);flex:1;min-width:240px;padding:1.5rem;position:sticky;top:2rem}.reservation-basket h3{font-size:1.1rem;margin-bottom:1rem;margin-top:0}.reservation-basket-row{border-bottom:1px solid var(--wp--preset--color--post-box-border);display:flex;font-size:.9rem;gap:1rem;justify-content:space-between;padding:.6rem 0}.reservation-basket-row:last-child{border-bottom:none}.reservation-basket-total{font-size:1.1rem;font-weight:700}.reservation-basket-warning{color:var(--wizard-error);font-size:.85rem;margin:.5rem 0 0}.reservation-basket-notice{border-top:1px solid var(--wp--preset--color--post-box-border);margin-top:1rem;padding-top:1rem}.reservation-basket-notice p{color:var(--wp--preset--color--caption-text);font-size:14px;line-height:1.4;margin:0 0 .75rem}.reservation-basket-notice p:last-child{margin-bottom:0}.reservation-basket-notice a{color:var(--wp--preset--color--caption-text);text-decoration:underline}.wizard-hidden-price{display:none!important}.reservation-step-btn{background-color:var(--wp--preset--color--coabita-green);border:none;border-radius:4px;color:var(--wp--preset--color--button-text);cursor:pointer;font-size:1.1rem;margin-top:1rem;padding:1rem;transition:background-color .2s;width:100%}.reservation-step-btn:hover{background-color:var(--wp--preset--color--button-hover)}.wizard-btn-row{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1rem}.wizard-btn-row .reservation-step-btn{margin-top:0}.wizard-btn-row .ff_submit_btn_wrapper{width:auto}.wizard-btn-row .ff-btn-submit{background-color:var(--wp--preset--color--coabita-green)!important;border:none!important;border-radius:4px!important;color:var(--wp--preset--color--button-text)!important;cursor:pointer;font-size:1.1rem!important;margin-top:0!important;padding:1rem 2.5rem!important;transition:background-color .2s;width:auto!important}.wizard-btn-row .ff-btn-submit:hover{background-color:var(--wp--preset--color--button-hover)!important}#reservation-step2-next{flex:0 0 auto;padding-left:2.5rem;padding-right:2.5rem;width:auto}.reservation-step-btn.is-back{align-items:center;background-color:var(--wp--preset--color--post-box);border:1px solid var(--wp--preset--color--post-box-border);border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.05);color:var(--wp--preset--color--text);display:flex;flex:0 0 auto;height:48px;justify-content:center;padding:0;width:48px}.reservation-step-btn.is-back svg{height:20px;width:20px}.reservation-step-btn.is-back:hover{background-color:transparent}.reservation-form-column .error.text-danger,.reservation-form-column .ff-el-is-error{color:var(--wizard-error)!important}.wizard-field-invalid input,.wizard-field-invalid select,.wizard-field-invalid textarea{background-color:color-mix(in srgb,var(--wizard-error) 6%,var(--wp--preset--color--post-box));border-color:var(--wizard-error)!important;border-width:2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--wizard-error) 15%,transparent)}.wizard-field-disabled{opacity:.45}.wizard-field-disabled input{background-color:var(--wp--preset--color--post-box-border);cursor:not-allowed}.wizard-field-hint{color:var(--wp--preset--color--caption-text);font-size:14px;margin:.35rem 0 0}.wizard-section-heading{margin-top:1.5rem}.wizard-section-heading h3{font-size:20px;margin:0 0 .25rem}.wizard-section-heading p{color:var(--wp--preset--color--caption-text);font-size:16px;margin:0}.ff_pay_inline .ff-el-input--label{display:none}.iftp-ff-inline-box{align-items:center;background:var(--wp--preset--color--background);border:2px solid var(--wp--preset--color--post-box-border);border-radius:8px;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1rem}.iftp-ff-inline-brand{display:none}.iftp-ff-inline-methods{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.iftp-ff-inline-method{height:48px;width:auto}.iftp-ff-inline-hint{display:none}.wizard-field-row{display:flex;gap:1rem}.wizard-field-row .ff-el-group{flex:1;min-width:0}@media(max-width:768px){.wizard-field-row{gap:0}.reservation-panel[data-panel="1"],.wizard-field-row{flex-direction:column}.reservation-calendar-side,.reservation-date-info{min-width:100%}.reservation-calendar-toolbar{gap:.5rem;padding:.5rem}.reservation-calendar-nav{height:36px;width:36px}.reservation-calendar-nav svg{height:16px;width:16px}.reservation-calendar-title-select{font-size:1rem;padding:.4rem 1.6rem .4rem .6rem}.reservation-calendar-title-select-arrow{height:14px;right:.55rem;width:14px}.reservation-space-option,.reservation-type-option{min-width:45%}.reservation-steps-dots{gap:.75rem}.reservation-step-label{display:none}.reservation-panel[data-panel="2-3"]{flex-direction:column}.reservation-basket,.reservation-form-column{min-width:100%}.reservation-basket{order:-1;position:static}}
