.demo-booking{box-sizing:border-box;color:#263641;font-size:16px;line-height:1.5;margin:0 auto;max-width:920px;min-height:420px;padding:30px 15px;text-align:left}.demo-booking [hidden]{display:none!important}.demo-booking__shell{display:grid;gap:15px}@media(min-width:720px){.demo-booking__shell{gap:30px;grid-template-columns:260px minmax(0,1fr)}}.demo-booking__aside{font-size:14px}@media(min-width:720px){.demo-booking__aside{border-right:1px solid #ddd;padding-right:30px}}.demo-booking__brief{background:#f3f5f4;border:1px solid #ddd;border-radius:10px;color:#263641;cursor:pointer;display:block;font:inherit;font-weight:600;padding:10px 14px;text-align:left;width:100%}.demo-booking__brief:after{color:#6a7e95;content:"▾";float:right}@media(min-width:720px){.demo-booking__brief{display:none}}.demo-booking__aside-body{display:none;padding-top:15px}@media(min-width:720px){.demo-booking__aside-body{display:block;padding-top:0}}.demo-booking__aside.is-open .demo-booking__aside-body{display:block}.demo-booking__aside.is-open .demo-booking__brief:after{content:"▴"}.demo-booking__logo{display:block;height:40px;margin-bottom:15px;width:auto}.demo-booking__brand{font-size:16px;font-weight:600;margin:0 0 15px}.demo-booking__summary-list{list-style:none;margin:0 0 15px;padding:0}.demo-booking__summary-list:empty{display:none}.demo-booking__summary-item{align-items:baseline;border-bottom:1px solid #f3f5f4;display:flex;font-weight:600;gap:10px;justify-content:space-between;padding:6px 0}.demo-booking__about{color:#6a7e95;margin:0 0 15px}.demo-booking__call{color:#263641;margin:0 0 10px}.demo-booking__call a{color:#169148;font-weight:600;white-space:nowrap}.demo-booking__aside-link{margin:0}.demo-booking__aside-link a{color:#6a7e95;text-decoration:underline}.demo-booking__link{background:none;border:0;color:#169148;cursor:pointer;font:inherit;font-size:14px;font-weight:500;padding:0;text-decoration:underline;white-space:nowrap}.demo-booking__progress{margin-bottom:15px}.demo-booking__steps{display:flex;gap:6px;list-style:none;margin:0;padding:0}.demo-booking__step{flex:1 1 0;min-width:0}.demo-booking__step-btn{background:none;border:0;cursor:pointer;display:block;height:20px;padding:7px 0;width:100%}.demo-booking__step-btn:before{background:#f3f5f4;border-radius:3px;content:"";display:block;height:6px;transition:background-color .15s linear}.demo-booking__step-btn:disabled{cursor:default}.demo-booking__step-btn:focus-visible{border-radius:4px;outline:2px solid #169148;outline-offset:2px}.demo-booking__step.is-current .demo-booking__step-btn:before,.demo-booking__step.is-done .demo-booking__step-btn:before{background:#169148}.demo-booking__step.is-current .demo-booking__step-btn{cursor:default}.demo-booking__step.is-open .demo-booking__step-btn:before{background:rgba(22,145,72,.35)}.demo-booking__step.is-done .demo-booking__step-btn:hover:before,.demo-booking__step.is-open .demo-booking__step-btn:hover:before{background:#116e36}.demo-booking__legend{color:#6a7e95;font-size:12px;margin:0}.demo-booking__req{color:#d33}.demo-booking__lead{margin:0 0 20px}.demo-booking__title{font-size:24px;font-weight:600;line-height:1.3;margin:0 0 20px;outline:none}.demo-booking__options{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.demo-booking__option{background:#fff;border:1px solid #ddd;border-radius:12px;color:#263641;cursor:pointer;font:inherit;font-weight:500;padding:14px 15px;transition:border-color .15s linear,background-color .15s linear}.demo-booking__option:focus-visible,.demo-booking__option:hover{background:#f3f5f4;border-color:#169148}.demo-booking__option.is-selected{background:rgba(22,145,72,.1);border-color:#169148;color:#169148;font-weight:700}.demo-booking__back{background:none;border:0;color:#6a7e95;cursor:pointer;font:inherit;font-size:14px;margin-top:15px;padding:6px 0}.demo-booking__back:hover{color:#169148}.demo-booking__status,.demo-booking__summary{color:#6a7e95;margin:0 0 15px}.demo-booking__summary{color:#263641;font-weight:600}.demo-booking__notice{background:#f3f5f4;border-radius:10px;color:#263641;font-size:14px;margin:0 0 15px;padding:10px 14px}.demo-booking__notice:empty{display:none}.demo-booking__cal-layout{display:grid;gap:30px}@media(min-width:1000px){.demo-booking__cal-layout{align-items:start;grid-template-columns:minmax(0,1fr) 220px}}.demo-booking__cal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.demo-booking__cal-month{font-weight:600;text-transform:capitalize}.demo-booking__cal-nav{background:rgba(22,145,72,.1);border:0;border-radius:50%;color:#169148;cursor:pointer;font-size:22px;height:36px;line-height:1;width:36px}.demo-booking__cal-nav:hover:not(:disabled){background:rgba(22,145,72,.2)}.demo-booking__cal-nav:disabled{background:none;color:#c4c4c4;cursor:default}.demo-booking__cal-grid{display:grid;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center}.demo-booking__cal-weekday{color:#6a7e95;font-size:12px;font-weight:600;padding:6px 0;text-transform:uppercase}.demo-booking__cal-day{aspect-ratio:1;background:none;border:0;border-radius:50%;color:#adadad;font:inherit;font-size:14px;max-width:44px;padding:0;position:relative;width:100%}.demo-booking__cal-day.is-available{background:rgba(22,145,72,.1);color:#169148;cursor:pointer;font-weight:700}.demo-booking__cal-day.is-available:hover{background:rgba(22,145,72,.2)}.demo-booking__cal-day.is-selected,.demo-booking__cal-day.is-selected:hover{background:#169148;color:#fff}.demo-booking__cal-day:focus-visible{outline:2px solid #263641;outline-offset:2px}.demo-booking__cal-day.is-today:after{background:currentColor;border-radius:50%;bottom:5px;content:"";height:4px;left:50%;margin-left:-2px;position:absolute;width:4px}.demo-booking__tz-line{color:#6a7e95;font-size:14px;margin:15px 0 0}.demo-booking__tz-line strong{color:#263641}.demo-booking__tz-label{color:#6a7e95;display:block;font-size:14px;margin-top:15px}.demo-booking__tz{background:none;border:0;border-bottom:1px dashed #ddd;color:#263641;cursor:pointer;display:inline-block;font:inherit;font-size:14px;max-width:100%;padding:4px 6px}.demo-booking__slots-title{font-size:16px;font-weight:600;margin:0 0 10px}.demo-booking__times{display:grid;gap:10px}@media(min-width:1000px){.demo-booking__times{max-height:340px;overflow-y:auto;padding-right:4px}}.demo-booking__time-row{display:flex;gap:6px}.demo-booking__time,.demo-booking__time-next{background:#fff;border:1px solid #169148;border-radius:10px;color:#169148;cursor:pointer;flex:1 1 0;font:inherit;font-weight:600;min-width:0;padding:12px 8px}.demo-booking__time:hover{background:rgba(22,145,72,.08)}.demo-booking__time-next{background:#169148;color:#fff;display:none}.demo-booking__time-row.is-active .demo-booking__time{background:#6a7e95;border-color:#6a7e95;color:#fff}.demo-booking__time-row.is-active .demo-booking__time-next{display:block}.demo-booking__form{display:grid;gap:15px}.demo-booking__hint{color:#6a7e95;display:block;font-size:12px;margin-top:5px}.demo-booking__agree{color:#6a7e95;font-size:12px;margin:0;text-align:center}.demo-booking__agree a{color:inherit;text-decoration:underline}.demo-booking__field{display:block}.demo-booking__label{display:block;font-size:14px;font-weight:500;margin-bottom:5px}.demo-booking__input{background:#fff;border:1px solid #ddd;border-radius:10px;box-sizing:border-box;color:#263641;display:block;font:inherit;padding:12px 14px;width:100%}.demo-booking__input:focus{border-color:#169148;outline:none}.demo-booking__input[aria-invalid=true]{border-color:#d33}.demo-booking .iti{display:block}.demo-booking__field--phone .demo-booking__input{padding-left:52px}.demo-booking__error{color:#d33;display:block;font-size:12px;margin-top:5px;min-height:0}.demo-booking__error:empty{display:none}.demo-booking__trap{height:1px;left:-9999px;opacity:0;position:absolute;width:1px}.demo-booking__submit{max-width:none}.demo-booking__embed{min-height:700px;min-width:320px}@media(max-width:480px){.demo-booking__options{grid-template-columns:1fr}}.demo-booking-open{overflow:hidden}.demo-booking-modal{align-items:center;background:rgba(43,43,58,.5);bottom:0;display:flex;justify-content:center;left:0;padding:15px;position:fixed;right:0;top:0;z-index:100000}.demo-booking-modal__dialog{background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.35);max-height:100%;max-width:940px;outline:none;overflow-y:auto;position:relative;width:100%}.demo-booking-modal__close{background:none;border:0;color:#6a7e95;cursor:pointer;font-size:28px;height:36px;line-height:1;position:absolute;right:14px;top:10px;width:36px;z-index:1}.demo-booking-modal__close:hover{color:#263641}.demo-booking-modal .demo-booking{min-height:0;padding-top:40px}