/* 02-forms-faq-upload.css - FAQ, contact form controls, custom select, file upload and form button basics.
   Generated from styles/bundle.min.css. Keep numeric load order. */
.faq{--faq-inline-pad:clamp(0.06rem,0.25vw,0.14rem);--faq-answer-indent:1.62rem;--faq-bubble-border-strong:rgba(212,184,154,.12);--faq-bubble-border-soft:rgba(212,184,154,.06);--faq-bubble-q-bg:linear-gradient(135deg,rgba(212,184,154,.18),hsla(28,26%,66%,.08)),hsla(28,26%,66%,.1);--faq-bubble-a-bg:linear-gradient(135deg,rgba(212,184,154,.12),hsla(28,26%,66%,.05)),hsla(28,26%,66%,.08);--faq-bubble-shadow-strong:0 0.15rem 0.4rem rgba(212,184,154,.05),inset 0 1px 0 rgba(212,184,154,.15);--faq-bubble-shadow-soft:0 0.1rem 0.3rem rgba(212,184,154,.04),inset 0 1px 0 rgba(212,184,154,.08);margin-top:0}
.faq__item{margin:0 0 1.2rem;padding:0;text-align:left;position:relative}
.faq__question{width:100%;margin:0;padding:0 var(--faq-inline-pad);font-weight:800;font-size:clamp(1.05rem,3.1vw,1.24rem);text-transform:uppercase;display:inline-flex;align-items:flex-start;flex-wrap:wrap;gap:.62rem;cursor:pointer;list-style:none;line-height:1.35;position:relative;user-select:none}
.faq__question:before{content:none}
.faq__question:after{content:"";position:static;display:inline-block;width:.95rem;height:.95rem;border:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' viewBox='0 0 24 24'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:100% 100%;transform-origin:center;transition:transform .25s ease;flex:0 0 auto;margin-top:.1rem;opacity:.98}
.faq__question:focus-visible{outline:2px solid hsla(0,0%,100%,.45);outline-offset:4px;border-radius:.3rem}
.faq__answer{max-height:0;overflow:hidden;opacity:0;margin:0;position:relative;padding-left:calc(var(--faq-inline-pad) + var(--faq-answer-indent));padding-right:var(--faq-inline-pad);font-family:Lato,sans-serif!important;font-size:1.2rem!important;color:hsla(0,0%,100%,.92)!important;line-height:1.6!important;font-weight:400!important;text-align:left;letter-spacing:.01em;transition:max-height .25s ease,opacity .25s ease,margin-top .25s ease}
.faq__item.is-open .faq__answer{max-height:72rem;opacity:1;margin-top:.62rem;margin-bottom:1.08rem}
.faq__answer>p{position:relative;margin-top:0;padding-left:0}
.faq__answer:before{content:"";position:absolute;left:calc(var(--faq-inline-pad) + .22rem);top:.94rem;transform:translateY(-50%);width:.9rem;height:.9rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:100% 100%;opacity:.96}
#faqSpoiler{display:flex;flex-direction:column;gap:1.02rem;margin-top:.18rem}
#faqSpoiler .faq__item{display:flex;flex-direction:column;gap:.58rem;margin:0}
#faqSpoiler .faq__question{--faq-q-border:var(--faq-bubble-border-strong);--faq-q-bg:var(--faq-bubble-q-bg);align-self:flex-start;width:min(100%,432px)!important;max-width:432px!important;margin:0;padding:.78rem 1.02rem .8rem;border-radius:1.08rem 1.08rem .22rem 1.08rem;border:2px solid var(--faq-q-border);background:var(--faq-q-bg);backdrop-filter:blur(12px) saturate(112%);-webkit-backdrop-filter:blur(12px) saturate(112%);color:#fff;font-size:clamp(.98rem,2.8vw,1.08rem);font-weight:800;text-transform:none;line-height:1.35;letter-spacing:.01em;cursor:default;box-shadow:var(--faq-bubble-shadow-strong);user-select:text;position:relative;isolation:isolate;transition:all .3s ease}
#faqSpoiler .faq__question:hover{border-color:rgba(212,184,154,.75);background:linear-gradient(135deg,rgba(212,184,154,.25),hsla(28,26%,66%,.12)),hsla(28,26%,66%,.15);box-shadow:0 2px 8px rgba(212,184,154,.06),inset 0 1px 0 rgba(212,184,154,.15)}
#faqSpoiler .faq__question:after{content:none}
#faqSpoiler .faq__question:focus-visible{outline:1px solid rgba(var(--site-bg-light-rgb),.78);outline-offset:2px;border-radius:1.08rem 1.08rem .22rem 1.08rem}
#faqSpoiler .faq__answer,#faqSpoiler .faq__item.is-open .faq__answer{--faq-a-border:var(--faq-bubble-border-soft);--faq-a-bg:var(--faq-bubble-a-bg);align-self:center;width:min(100%,432px)!important;max-width:432px!important;max-height:none;opacity:1;overflow:visible;margin:0 auto;padding:.84rem 1rem .88rem;border-radius:1.08rem 1.08rem 1.08rem .22rem;border:1px solid var(--faq-a-border);background:var(--faq-a-bg);backdrop-filter:blur(12px) saturate(112%);-webkit-backdrop-filter:blur(12px) saturate(112%);color:rgba(255,247,238,.97)!important;box-shadow:var(--faq-bubble-shadow-soft);transition:all .3s ease;position:relative;isolation:isolate}
#faqSpoiler .faq__answer:hover,#faqSpoiler .faq__item.is-open .faq__answer:hover{border-color:rgba(212,184,154,.55);background:linear-gradient(135deg,rgba(212,184,154,.18),hsla(28,26%,66%,.08)),hsla(28,26%,66%,.12);box-shadow:0 2px 6px rgba(212,184,154,.05),inset 0 1px 0 rgba(212,184,154,.1)}
#faqSpoiler .faq__answer:after{content:none}
#faqSpoiler .faq__answer:before{content:none}
#faqSpoiler .faq__answer>p{margin:0 0 .58rem;padding-left:0}
#faqSpoiler .faq__answer>p:last-child{margin-bottom:0}
#faqSpoiler .faq__answer--map,#faqSpoiler .faq__item.is-open .faq__answer--map{align-self:center;width:min(100%,432px);max-width:432px;max-height:460px;margin-left:auto;margin-right:auto;overflow:hidden;border-radius:1.08rem!important}
#faqSpoiler .faq__answer--map .map-container{width:100%;height:clamp(14rem,46vw,20.5rem)}
.contact-form{width:100%;background:transparent;border:none;padding:0;box-shadow:none;border-radius:0;position:relative;overflow:visible}
#calendarHeaderTitle,#faqSectionTitle,#servicesSectionTitle{display:block;font-size:2.8rem!important;font-weight:800!important;letter-spacing:1px!important;line-height:1.2!important;text-transform:uppercase;color:rgba(255,248,239,.98)!important;text-shadow:0 1px 8px rgba(var(--site-bg-shadow-rgb),.12)!important;text-align:center}
#calendarHeaderTitle{width:min(100%,var(--calendar-main-max-width));max-width:min(100%,var(--calendar-main-max-width));margin-left:auto;margin-right:auto;text-align:center}
#servicesSectionTitle{width:100%;max-width:100%;margin-left:auto!important;margin-right:auto!important;text-align:center!important;display:block}
#calendarHeaderTitle.calendar-title--hidden{display:none!important}
#calendarHeaderTitle.calendar-title--warning{color:#f3cd53!important;text-shadow:0 0 12px rgba(243,205,83,.42)!important}
.contact-form__group{margin-bottom:2rem;overflow:visible!important}
.contact-form__group.dropdown-open{position:relative;z-index:1000000}
.file-attach{margin-bottom:2rem}
.contact-form__label{font-weight:800;text-transform:uppercase;font-size:.9rem;letter-spacing:1px}
.contact-form__input,.contact-form__textarea{width:100%;padding:1rem;background:linear-gradient(146deg,rgba(212,184,154,.2),rgba(139,111,90,.2));border:1px solid hsla(28,26%,66%,.5);border-radius:.8rem;color:var(--text-white);font-size:1rem;outline:none;transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease;font-family:inherit;-webkit-appearance:none;appearance:none;box-shadow:none;line-height:1.3;-webkit-user-select:text;user-select:text;touch-action:manipulation;pointer-events:auto}
.contact-form__input,.custom-select__trigger{min-height:3.3rem;height:3.3rem;box-sizing:border-box}
.file-attach__btn{min-height:5.25rem;height:5.25rem;box-sizing:border-box}
.contact-form__input--has-content,.contact-form__input:focus,.contact-form__textarea:focus{background:linear-gradient(146deg,rgba(212,184,154,.4),rgba(139,111,90,.4));color:#5a3d2a;caret-color:#5a3d2a;box-shadow:0 2px .5rem rgba(0,0,0,.12);border-color:hsla(28,26%,66%,.8)}
.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:var(--placeholder-color)}
.contact-form__input:focus::placeholder,.contact-form__textarea:focus::placeholder{color:rgba(90,61,42,.5);opacity:.5}
#bookingModal .contact-form__input:focus::placeholder,#bookingModal .contact-form__textarea:focus::placeholder{color:rgba(90,61,42,.5)!important;opacity:.5!important}
#bookingModal .contact-form__input:-webkit-autofill,#bookingModal .contact-form__input:-webkit-autofill:focus,#bookingModal .contact-form__input:-webkit-autofill:hover,#bookingModal .contact-form__textarea:-webkit-autofill,#bookingModal .contact-form__textarea:-webkit-autofill:focus,#bookingModal .contact-form__textarea:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-white)!important;caret-color:var(--text-white)!important;border:1px solid hsla(28,26%,66%,.5)!important;-webkit-box-shadow:inset 0 0 0 1000px rgba(70,48,34,.92)!important;box-shadow:inset 0 0 0 1000px rgba(70,48,34,.92)!important;transition:background-color 99999s ease-in-out 0s!important}
#bookingModal .contact-form__input:autofill,#bookingModal .contact-form__textarea:autofill{color:var(--text-white)!important;caret-color:var(--text-white)!important;box-shadow:inset 0 0 0 1000px rgba(70,48,34,.92)!important}
.contact-form__textarea{resize:none;min-height:7.9rem;overflow-y:hidden}
.contact-form__checkbox-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}
.contact-form__checkbox{width:1.55rem;height:1.55rem;border-radius:.48rem;margin:0;padding:0;appearance:none;-webkit-appearance:none;border:2px solid rgba(90,61,42,.8);background:linear-gradient(135deg,#5a3d2a,#432a1a);cursor:pointer;flex-shrink:0;transform:scale(1);position:relative;transition:transform .14s ease,filter .14s ease,background-color .14s ease,border-color .14s ease}
.contact-form__checkbox:after{content:"";position:absolute;left:50%;top:50%;width:.44rem;height:.8rem;box-sizing:border-box;border-right:.19rem solid transparent;border-bottom:.19rem solid transparent;transform:translate(-50%,-58%) rotate(45deg) scale(.62);opacity:0;transition:opacity .14s ease,transform .14s ease}
.contact-form__checkbox:hover{transform:scale(1.03);filter:none}
.contact-form__checkbox:active{transform:scale(.98)}
.contact-form__checkbox:focus-visible{outline:2px solid rgba(212,184,154,.72);outline-offset:2px}
.contact-form__checkbox:checked{transform:scale(1);background:hsla(0,0%,100%,.98);border-color:rgba(212,184,154,.94)}
.contact-form__checkbox:checked:after{border-right-color:#5a3d2a;border-bottom-color:#5a3d2a;opacity:1;transform:translate(-50%,-58%) rotate(45deg) scale(1)}
.contact-form__checkbox:checked:hover{transform:scale(1.03)}
.contact-form__checkbox-label{font-size:1.08rem;font-weight:900;cursor:pointer;font-family:Lato,sans-serif!important;letter-spacing:.01em;color:#fff;display:flex;align-items:center;gap:.5rem}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;width:min(100%,32rem);margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__terms-row{display:flex;align-items:center;justify-content:center;gap:.55rem}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox-label{display:inline-block;white-space:normal;text-align:center;line-height:1.25;font-weight:900;letter-spacing:.01em}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox{margin-top:.1rem}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox-label,#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox-label span{color:rgba(255,246,235,.98)!important;text-shadow:none}
.contact-form__terms-link{color:#fff;text-decoration:none;cursor:pointer;transition:none;font-weight:900;font-size:1.02em;display:flex;align-items:center;text-shadow:none}
.contact-form__checkbox-wrapper.file-attach__terms .contact-form__terms-row{margin:0 auto!important}
.contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox{margin-top:.1rem!important}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__terms-link{display:inline;color:inherit!important;-webkit-text-fill-color:inherit!important;text-shadow:inherit!important;font-weight:400!important;letter-spacing:inherit;text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.12em}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__terms-link:hover{color:inherit!important;-webkit-text-fill-color:inherit!important;text-shadow:inherit!important}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__terms-link .contact-form__terms-word{color:inherit!important;-webkit-text-fill-color:inherit!important;font-weight:inherit!important}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox{box-shadow:inset 0 1px 0 rgba(255,235,214,.2),0 0 0 0 rgba(var(--modal-design-tone-rgb),0);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .14s ease}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox,#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox:active,#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox:checked,#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox:checked:hover,#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox:hover{filter:none!important}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox:focus-visible{outline:none!important}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms.checkbox-need-tap-flash .contact-form__checkbox{animation:bookingCheckboxTapFrameFlash 1.5s cubic-bezier(.16,1,.3,1) 1 both!important;box-shadow:0 0 0 0 rgba(255,244,164,0),0 0 0 0 rgba(95,205,239,0);transform-origin:center;will-change:transform,box-shadow,border-color}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms.checkbox-need-tap-flash .contact-form__checkbox:not(:checked):after{opacity:0!important;animation:none!important;filter:none!important;transform:translate(-50%,-58%) rotate(45deg) scale(.62)}
#bookingModal .contact-form__checkbox-wrapper.file-attach__terms.checkbox-need-tap-flash .contact-form__checkbox:active,#bookingModal .contact-form__checkbox-wrapper.file-attach__terms.checkbox-need-tap-flash .contact-form__checkbox:hover{animation-play-state:running}
@keyframes bookingCheckboxTapFrameFlash{0%{transform:scale(1);border-color:#fff4a4!important;background:#593a2e!important;box-shadow:0 0 0 4px #fff4a4,0 0 16px 6px #fff4a4,0 0 28px 12px #5fcdef}15%{transform:scale(1.15);border-color:#fff4a4!important;background:#593a2e!important;box-shadow:0 0 0 6px rgba(255,244,164,.9),0 0 24px 10px rgba(255,244,164,.9),0 0 40px 18px rgba(95,205,239,.8)}to{transform:scale(1);border-color:rgba(90,61,42,.8)!important;background:#5a3d2a!important;box-shadow:0 0 0 16px rgba(255,244,164,0),0 0 48px 24px rgba(255,244,164,0),0 0 64px 36px rgba(95,205,239,0)}}
@media (prefers-reduced-motion:reduce){#bookingModal .contact-form__checkbox-wrapper.file-attach__terms.checkbox-need-tap-flash .contact-form__checkbox,#bookingModal .contact-form__checkbox-wrapper.file-attach__terms.checkbox-need-tap-flash .contact-form__checkbox:not(:checked):after{animation:none!important}#bookingModal .contact-form__checkbox-wrapper.file-attach__terms.checkbox-need-tap-flash .contact-form__checkbox:not(:checked):after{opacity:0;transform:translate(-50%,-58%) rotate(45deg) scale(.72)}}
.contact-form__terms-word{text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.1em}
.contact-form__terms-plain{font-weight:400!important}
.contact-form__terms-link:hover{color:#fff;text-shadow:none}
.contact-form__checkbox-wrapper.file-attach__terms{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;width:min(100%,32rem);margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
.contact-form__checkbox-wrapper.file-attach__terms .contact-form__terms-row{display:flex;align-items:center;justify-content:center;gap:.55rem}
.contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox-label{display:inline-block;white-space:normal;text-align:center;line-height:1.25;font-weight:900;letter-spacing:.01em}
.contact-form__checkbox-wrapper.file-attach__terms .contact-form__checkbox{margin-top:.1rem}
.faq-google-form-link{color:#fff!important;display:inline-flex;align-items:center;white-space:nowrap;font-weight:400;text-decoration:underline!important;text-underline-offset:.12em;text-decoration-thickness:2px;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;outline:none!important;border-radius:0!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important}
.faq-google-form-link:hover{color:#fff!important}
@keyframes bookingHintSoftPulse{0%,to{opacity:.92}50%{opacity:1}}
.contact-form__submit-button{width:100%;padding:.8rem 2rem;background:linear-gradient(146deg,rgba(212,184,154,.8),rgba(139,111,90,.8));color:#fff;border:none;border-radius:2rem;font-weight:600;font-size:1rem;text-transform:uppercase;cursor:pointer;transition:all .3s ease;margin:.5rem auto 2rem;position:relative;box-shadow:0 2px 12px 0 hsla(0,0%,100%,.12)}
#confirmBookingBtn{display:inline-block;width:auto;min-width:14rem;max-width:96%;padding:.8rem 2rem;min-height:4.5rem;line-height:1;font-weight:900;font-size:clamp(1.2rem,4vw,2rem);letter-spacing:.06em;background:linear-gradient(135deg,#72523a,#5a3d2a);color:#fff;border:1px solid rgba(var(--modal-design-tone-rgb),.98);box-shadow:none;border-radius:999px;transition:background-color .2s ease,box-shadow .2s ease}
#confirmBookingBtn:hover{background:linear-gradient(135deg,#7d5b41,#643020)!important;border-color:rgba(90,61,42,.98)!important;color:#fff!important;transform:none;box-shadow:none}
#confirmBookingBtn:active{background:linear-gradient(135deg,#5a3d2a,#432a1a)!important;border-color:rgba(90,61,42,.98)!important;color:#fff!important;transform:none}
#confirmBookingBtn{position:relative;z-index:4;pointer-events:auto!important;white-space:normal}
#confirmBookingBtn:disabled,#confirmBookingBtn[aria-disabled=true]{background:rgba(var(--modal-design-tone-rgb),.88)!important;border-color:rgba(var(--modal-design-tone-rgb),.9)!important;color:hsla(0,0%,100%,.9)!important;cursor:not-allowed!important;pointer-events:none!important;box-shadow:none!important;opacity:.88}
#bookingForm.booking-form--intake-paused .contact-form__checkbox-wrapper,#bookingForm.booking-form--intake-paused>.contact-form__group{opacity:.58;transition:opacity .18s ease}
.contact-form__submit-button:hover{transform:translateY(-2px);background:linear-gradient(146deg,#d4b89a,#8b6f5a);box-shadow:0 .5rem 1.3rem hsla(0,0%,100%,.35)}
