.etos-reservation-form{--etos-reservation-form-field-width:420px;--etos-reservation-form-field-gap:1.25rem;--etos-reservation-form-select-height:48px;--etos-reservation-form-border-color:var( --themeht-border-dark-color,#d9d9d9 );--etos-reservation-form-text-color:var( --themeht-secondary-color,#1a1a1a );--etos-reservation-form-muted-color:#8c8c8c;--etos-reservation-form-button-bg:var( --themeht-primary-color,#5d8cc2 );--etos-reservation-form-button-bg-hover:var( --themeht-secondary-color,#4a74a8 );width:100%}.etos-reservation-form.etos-reservation-form--loading .etos-reservation-form__select{cursor:wait;opacity:.75}.etos-reservation-form .etos-reservation-form__submit{background:var(--etos-reservation-form-button-bg);border:0;border-radius:6px;color:var(--themeht-white-color,#fff);cursor:pointer;display:block;font-size:.875rem;font-weight:600;letter-spacing:.04em;line-height:1.2;margin-inline:auto;max-width:100%;padding:1rem 1.5rem;text-align:center;text-transform:uppercase;width:var(--etos-reservation-form-field-width)}.etos-reservation-form .etos-reservation-form__submit:focus,.etos-reservation-form .etos-reservation-form__submit:hover{background:var(--etos-reservation-form-button-bg-hover);color:var(--themeht-white-color,#fff);outline:none}.etos-reservation-form .etos-reservation-form__submit:disabled{cursor:not-allowed;opacity:.55}.etos-reservation-form .etos-egabinet-slots-panel{margin-top:1rem;width:100%}.etos-reservation-form .etos-egabinet-slots-panel[hidden]{display:none!important}.etos-reservation-form .etos-egabinet-slots-panel.is-open{display:block}.etos-reservation-form .etos-reservation-form__booking-fields{display:flex;flex-direction:column;gap:var(--etos-reservation-form-field-gap)}.etos-reservation-form .etos-reservation-form__booking-fields[hidden]{display:none!important}.etos-reservation-form .etos-reservation-form__slot-summary{background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:6px;color:var(--etos-reservation-form-text-color);margin:1rem auto 0;padding:.75rem 1rem;text-align:center;width:var(--etos-reservation-form-field-width)}.etos-reservation-form .etos-reservation-form__slot-summary[hidden]{display:none!important}.etos-reservation-form .etos-reservation-form__slot-summary-service{font-size:1rem;font-weight:600;line-height:1.4;margin:0 0 .35rem}.etos-reservation-form .etos-reservation-form__slot-summary-text{font-size:.9375rem;line-height:1.5;margin:0}.etos-reservation-form .etos-reservation-form__slot-summary-change{display:block;margin-top:1rem}.etos-reservation-form .etos-reservation-form__slot-summary-change[hidden]{display:none!important}.etos-reservation-form .etos-egabinet-slots-week{width:100%}.etos-reservation-form .etos-egabinet-slots-week__toolbar{align-items:center;display:grid;gap:.75rem;grid-template-columns:1.75rem 1fr 1.75rem;margin-bottom:.75rem;position:relative}.etos-reservation-form .etos-egabinet-slots-week__range{background:transparent;border:0;color:var(--etos-reservation-form-text-color);cursor:pointer;font-size:.875rem;font-weight:600;line-height:1.2;min-width:0;padding:0;text-align:center;transition:color .15s ease;white-space:nowrap}.etos-reservation-form .etos-egabinet-slots-week__range:focus,.etos-reservation-form .etos-egabinet-slots-week__range:hover{color:var(--etos-reservation-form-button-bg);outline:none;text-decoration:underline}.etos-reservation-form .etos-egabinet-slots-week__picker{background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.12);left:50%;padding:.75rem;position:absolute;top:calc(100% + .375rem);transform:translateX(-50%);width:min(18rem,100vw - 2rem);z-index:20}.etos-reservation-form .etos-egabinet-slots-week__picker-header{align-items:center;display:grid;gap:.5rem;grid-template-columns:1.75rem 1fr 1.75rem;margin-bottom:.625rem}.etos-reservation-form .etos-egabinet-slots-week__picker-title{color:var(--etos-reservation-form-text-color);font-size:.875rem;font-weight:600;line-height:1.2;text-align:center}.etos-reservation-form .etos-egabinet-slots-week__picker-nav{align-items:center;background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:4px;color:var(--etos-reservation-form-text-color);cursor:pointer;display:inline-flex;font-size:.875rem;height:1.75rem;justify-content:center;line-height:1;padding:0;transition:background-color .15s ease,border-color .15s ease;width:1.75rem}.etos-reservation-form .etos-egabinet-slots-week__picker-nav:focus,.etos-reservation-form .etos-egabinet-slots-week__picker-nav:hover{background:#f7f7f7;border-color:var(--etos-reservation-form-text-color);outline:none}.etos-reservation-form .etos-egabinet-slots-week__picker-weekdays{color:var(--etos-reservation-form-muted-color);display:grid;font-size:.6875rem;font-weight:600;gap:.125rem;grid-template-columns:repeat(7,1fr);line-height:1.2;margin-bottom:.375rem;text-align:center}.etos-reservation-form .etos-egabinet-slots-week__picker-grid{display:grid;gap:.125rem;grid-template-columns:repeat(7,1fr)}.etos-reservation-form .etos-egabinet-slots-week__picker-day{align-items:center;aspect-ratio:1;background:transparent;border:0;border-radius:4px;color:var(--etos-reservation-form-text-color);display:inline-flex;font-size:.8125rem;justify-content:center;line-height:1;padding:0;width:100%}.etos-reservation-form .etos-egabinet-slots-week__picker-day.is-empty{visibility:hidden}.etos-reservation-form .etos-egabinet-slots-week__picker-day.is-disabled{color:var(--etos-reservation-form-muted-color);opacity:.45}.etos-reservation-form .etos-egabinet-slots-week__picker-day.is-selectable{cursor:pointer;transition:background-color .15s ease,color .15s ease}.etos-reservation-form .etos-egabinet-slots-week__picker-day.is-selectable:focus,.etos-reservation-form .etos-egabinet-slots-week__picker-day.is-selectable:hover{background:#f7f7f7;outline:none}.etos-reservation-form .etos-egabinet-slots-week__picker-day.is-today{font-weight:700}.etos-reservation-form .etos-egabinet-slots-week__picker-day.is-selected{background:rgba(93,140,194,.15);color:var(--etos-reservation-form-button-bg);font-weight:700}.etos-reservation-form .etos-egabinet-slots-week__nav-spacer{display:block;flex-shrink:0;height:1.75rem;width:1.75rem}.etos-reservation-form .etos-egabinet-slots-week__grid{display:grid;gap:.75rem;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.etos-reservation-form .etos-egabinet-slots-week__day{background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:6px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.etos-reservation-form .etos-egabinet-slots-week__day.is-today .etos-egabinet-slots-week__day-header{background:rgba(93,140,194,.08);color:var(--etos-reservation-form-button-bg)}.etos-reservation-form .etos-egabinet-slots-week__day.is-today .etos-egabinet-slots-week__day-label{font-weight:700}.etos-reservation-form .etos-egabinet-slots-week__day.is-highlighted{border-color:var(--etos-reservation-form-button-bg)}.etos-reservation-form .etos-egabinet-slots-week__day.is-highlighted .etos-egabinet-slots-week__day-header{background:rgba(93,140,194,.12)}.etos-reservation-form .etos-egabinet-slots-week__day-header{background:#fafafa;border-bottom:1px solid var(--etos-reservation-form-border-color);color:var(--etos-reservation-form-text-color);font-size:.8125rem;font-weight:600;line-height:1.2;padding:.625rem .375rem;text-align:center}.etos-reservation-form .etos-egabinet-slots-week__day-label{display:block;white-space:nowrap}.etos-reservation-form .etos-egabinet-slots-week__nav{align-items:center;background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:4px;color:var(--etos-reservation-form-text-color);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.875rem;height:1.75rem;justify-content:center;line-height:1;padding:0;transition:background-color .15s ease,border-color .15s ease;width:1.75rem}.etos-reservation-form .etos-egabinet-slots-week__nav:focus,.etos-reservation-form .etos-egabinet-slots-week__nav:hover{background:#f7f7f7;border-color:var(--etos-reservation-form-text-color);outline:none}.etos-reservation-form .etos-egabinet-slots-week__day-slots{display:flex;flex-direction:column;gap:.375rem;max-height:280px;overflow-y:auto;padding:.5rem}.etos-reservation-form .etos-egabinet-slots-week__empty{color:var(--etos-reservation-form-muted-color);font-size:.8125rem;line-height:1.4;margin:0;padding:.5rem 0;text-align:center}.etos-reservation-form .etos-egabinet-slots-week__slot{align-items:center;background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:4px;color:var(--etos-reservation-form-text-color);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:.125rem;padding:.5rem .375rem;text-align:center;transition:background-color .15s ease,border-color .15s ease;width:100%}.etos-reservation-form .etos-egabinet-slots-week__slot:focus,.etos-reservation-form .etos-egabinet-slots-week__slot:hover{background:#f7f7f7;border-color:var(--etos-reservation-form-button-bg);outline:none}.etos-reservation-form .etos-egabinet-slots-week__slot.is-selected{background:rgba(93,140,194,.12);border-color:var(--etos-reservation-form-button-bg);font-weight:600}.etos-reservation-form .etos-egabinet-slots-week__slot.is-loading{cursor:wait;opacity:.6}.etos-reservation-form .etos-egabinet-slots-week__slot-time{font-size:.875rem;font-weight:600;line-height:1.2}.etos-reservation-form .etos-egabinet-slots-week__slot-doctor{color:var(--etos-reservation-form-muted-color);font-size:.6875rem;line-height:1.3}@media(max-width:640px){.etos-reservation-form .etos-egabinet-slots-week__grid{display:flex;gap:.625rem;overflow-x:auto;padding-bottom:.25rem}.etos-reservation-form .etos-egabinet-slots-week__day{flex:0 0 min(9rem,42vw)}.etos-reservation-form .etos-egabinet-slots-week__day-header{font-size:.75rem}}.etos-reservation-form .etos-egabinet-slots-message{color:var(--etos-reservation-form-text-color);font-size:.875rem;margin:0;text-align:center}.etos-reservation-form .etos-egabinet-slots-message--error{color:#b32d2e}.etos-reservation-form .etos-egabinet-slots-message--loading{align-items:center;display:flex;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 0}.etos-reservation-form .etos-egabinet-slots-message--loading:before{animation:etos-reservation-form-spin .8s linear infinite;border:2px solid var(--etos-reservation-form-border-color);border-radius:50%;border-top-color:var(--etos-reservation-form-button-bg);content:"";height:1rem;width:1rem}.etos-reservation-form .etos-reservation-form__input{background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:6px;color:var(--etos-reservation-form-text-color);font-size:.9375rem;height:auto;line-height:1.4;margin:0 auto;min-height:var(--etos-reservation-form-select-height);padding:.75rem 1rem;transition:border-color .15s ease,box-shadow .15s ease;width:var(--etos-reservation-form-field-width)}.etos-reservation-form .etos-reservation-form__input:focus{border-color:var(--etos-reservation-form-button-bg);box-shadow:0 0 0 2px rgba(93,140,194,.15);outline:none}.etos-reservation-form .etos-reservation-form__sms-code{align-items:center;display:flex;gap:.5rem;justify-content:center;margin:0 auto;width:var(--etos-reservation-form-field-width)}.etos-reservation-form .etos-reservation-form__sms-digit{background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:6px;color:var(--etos-reservation-form-text-color);flex:0 0 2.75rem;font-size:1.125rem;font-weight:600;height:2.75rem;line-height:1;margin:0;padding:0;text-align:center;transition:border-color .15s ease,box-shadow .15s ease;width:2.75rem}.etos-reservation-form .etos-reservation-form__sms-digit:focus{border-color:var(--etos-reservation-form-button-bg);box-shadow:0 0 0 2px rgba(93,140,194,.15);outline:none}.etos-reservation-form .etos-reservation-form__sms-sep{color:var(--etos-reservation-form-muted-color);flex:0 0 auto;font-size:1.25rem;font-weight:600;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes etos-reservation-form-spin{to{transform:rotate(1turn)}}.etos-reservation-form__actions{align-items:stretch;display:flex;flex-direction:column;margin-top:.25rem;width:100%}.etos-reservation-form__actions[hidden]{display:none!important}.etos-reservation-form__form{display:flex;flex-direction:column;gap:var(--etos-reservation-form-field-gap)}.etos-reservation-form__field{display:flex;flex-direction:column;gap:.5rem}.etos-reservation-form__field[hidden]{display:none!important}.etos-reservation-form__label,.etos-reservation-form__select-wrap{margin:0 auto;max-width:100%;width:400px}.etos-reservation-form__label{font-size:.9375rem;font-weight:600;line-height:1.4}.etos-reservation-form__label,.etos-reservation-form__required{color:var(--etos-reservation-form-text-color)}.etos-reservation-form__select-wrap{position:relative}.etos-reservation-form__select-wrap:after{border-bottom:2px solid var(--etos-reservation-form-muted-color);border-right:2px solid var(--etos-reservation-form-muted-color);content:"";height:.5rem;pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-65%) rotate(45deg);width:.5rem}.etos-reservation-form__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid var(--etos-reservation-form-border-color);border-radius:6px;color:var(--etos-reservation-form-text-color);cursor:pointer;font-size:.9375rem;line-height:1.4;min-height:var(--etos-reservation-form-select-height);padding:.75rem 2.5rem .75rem 1rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.etos-reservation-form__select:focus{border-color:var(--etos-reservation-form-button-bg);box-shadow:0 0 0 2px rgba(93,140,194,.15);outline:none}.etos-reservation-form__select:disabled{background:#f7f7f7;color:var(--etos-reservation-form-muted-color);cursor:not-allowed}.etos-reservation-form__select option[value=""],.etos-reservation-form__select:invalid{color:var(--etos-reservation-form-muted-color)}.etos-reservation-form__header{color:var(--etos-reservation-form-text-color,#1a1a1a);font-family:var(--themeht-secondary-font,inherit);font-size:30px;font-weight:700;line-height:40px;margin:0 0 1.5rem;text-align:center}.etos-reservation-form__header a{color:inherit;font-weight:inherit;text-decoration:underline!important}.etos-reservation-form__header a:hover{font-weight:700;text-decoration:underline!important}.etos-reservation-form__notice{font-size:.9375rem;line-height:1.5;margin:0 0 1rem;text-align:center}.etos-reservation-form__notice[hidden]{display:none!important}.etos-reservation-form__notice--error{color:#b32d2e}.etos-reservation-form__patient{display:flex;flex-direction:column;gap:var(--etos-reservation-form-field-gap);margin-top:.25rem}.etos-reservation-form__patient[hidden]{display:none!important}.etos-reservation-form__patient-details{display:flex;flex-direction:column;gap:var(--etos-reservation-form-field-gap)}.etos-reservation-form__patient-details[hidden]{display:none!important}.etos-reservation-form__patient-heading{color:var(--etos-reservation-form-text-color);font-size:.9375rem;font-weight:600;line-height:1.4;margin:0 0 .25rem;text-align:center}.etos-reservation-form__sms{display:flex;flex-direction:column;gap:var(--etos-reservation-form-field-gap)}.etos-reservation-form__sms-phone[hidden],.etos-reservation-form__sms[hidden]{display:none!important}.etos-reservation-form__sms-phone .etos-reservation-form__input[readonly]{background:#f3f4f6;color:var(--etos-reservation-form-text-color);cursor:default}.etos-reservation-form__sms-phone .etos-reservation-form__input[readonly]:focus{border-color:var(--etos-reservation-form-border-color);box-shadow:none}.etos-reservation-form__sms-back{background:transparent;border:0;color:var(--etos-reservation-form-button-bg);cursor:pointer;display:block;font-size:.875rem;line-height:1.4;margin:0 auto;padding:.25rem .5rem;text-align:center;text-decoration:underline;width:var(--etos-reservation-form-field-width)}.etos-reservation-form__sms-back:focus,.etos-reservation-form__sms-back:hover{color:var(--etos-reservation-form-button-bg-hover);outline:none}.etos-reservation-form__checkboxes{display:flex;flex-direction:column;gap:.75rem;margin:0 auto;width:var(--etos-reservation-form-field-width)}.etos-reservation-form__checkbox{align-items:flex-start;color:var(--etos-reservation-form-text-color);cursor:pointer;display:flex;font-size:.875rem;gap:.625rem;line-height:1.5;margin:0}.etos-reservation-form__checkbox input{flex-shrink:0;margin-top:.2rem}.etos-reservation-form__checkbox a{color:var(--etos-reservation-form-button-bg);text-decoration:underline}.etos-reservation-form__checkbox--optional{opacity:.85}.etos-reservation-form__vat-details{display:flex;flex-direction:column;gap:var(--etos-reservation-form-field-gap)}.etos-reservation-form__vat-details[hidden]{display:none!important}.etos-reservation-form__book{background:var(--etos-reservation-form-button-bg);border:0;border-radius:6px;color:var(--themeht-white-color,#fff);cursor:pointer;font-size:.875rem;font-weight:600;letter-spacing:.04em;line-height:1.2;margin:0 auto;padding:1rem 1.5rem;text-align:center;text-transform:uppercase;width:var(--etos-reservation-form-field-width)}.etos-reservation-form__book:focus,.etos-reservation-form__book:hover{background:var(--etos-reservation-form-button-bg-hover);color:var(--themeht-white-color,#fff);outline:none}.etos-reservation-form__book:disabled{cursor:not-allowed;opacity:.55}.etos-reservation-form__feedback{border-radius:6px;font-size:.9375rem;line-height:1.5;margin:.5rem auto 0;padding:.75rem 1rem;width:var(--etos-reservation-form-field-width)}.etos-reservation-form__feedback[hidden]{display:none!important}.etos-reservation-form__feedback--success{background:#edf7ed;color:#1e4620}.etos-reservation-form__feedback--error{background:#fcf0f1;color:#b32d2e}.etos-reservation-form__success{margin:1.5rem auto 0;max-width:420px;text-align:center;width:100%}.etos-reservation-form__success[hidden]{display:none!important}.etos-reservation-form__success-title{background:#edf7ed;border-radius:8px;color:#1e4620;font-size:1rem;line-height:1.6;margin:0;padding:.75rem 1rem}.etos-reservation-form__success-details{font-size:1rem;line-height:1.6;margin:1rem 0 0}.etos-reservation-form__success-summary{border-collapse:collapse;font-size:.9375rem;margin:1rem 0 0;text-align:left;width:100%}.etos-reservation-form__success-summary td,.etos-reservation-form__success-summary th{border-bottom:1px solid rgba(0,0,0,.08);padding:.5rem .75rem}.etos-reservation-form__success-summary th{background:rgba(0,0,0,.03);font-weight:600;width:40%}.etos-reservation-form__success-summary td{background:#fff;text-align:right}.etos-reservation-form__success-summary tr:last-child td,.etos-reservation-form__success-summary tr:last-child th{border-bottom:none}.etos-reservation-form--confirmed .etos-reservation-form__form{display:none}.etos-reservation-form--editor .etos-reservation-form__select:disabled{opacity:1}