/*
 * Стили формы записи #popup-reception (новая форма).
 * Шрифты CloserText / Vishenka не дублируются — они уже подключены в /local/templates/fabrica/css/style.css.
 * Стили air-datepicker — в этом же файле (не разделяю, чтобы не плодить файлы).
 */

.reception-form__inner {
  overflow: hidden auto;
  overflow: clip auto;
  transform: translate3d(0, 0, 0);
}
@document url-prefix() {
  .reception-form__inner {
    scrollbar-color: var(--color-grey-darkest) var(--color-dark);
    scrollbar-width: thin;
  }
}
.reception-master-card__input,
.reception-service-card__input,
.reception-times__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
}
.reception-action__btn,
.reception-action__desc a,
.reception-categories__btn,
.reception-filter__btn,
.reception-ordering-action__btn,
.reception-ordering-contacts__copy,
.reception-ordering__btn,
.reception-popup,
.reception-popup__close,
.reception-schedule-alert__btn,
.reception-service-card__desc a,
.reception-service-card__icon,
.reception-service-card__icon svg,
.reception-times__btn,
.reception-times__head svg {
  transition-duration: var(--transition-duration);
  transition-property: color,background-color,border-color,opacity,transform;
}
.reception-action__main > *,
.reception-ordering__info > * {
  min-width: 0;
}
.reception-form__body {
  font-family: CloserText,system-ui,sans-serif;
  font-weight: 400;
}
.reception-form__title span {
  font-family: Vishenka,sans-serif;
  font-weight: 400;
}
.air-datepicker-cell.-day-.-other-month-,
.air-datepicker-cell.-year-.-other-decade- {
  color: var(--adp-color-other-month);
}
.air-datepicker-cell.-day-.-other-month-:hover,
.air-datepicker-cell.-year-.-other-decade-:hover {
  color: var(--adp-color-other-month-hover);
}
.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month-,
.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade- {
  color: var(--adp-color-other-month);
}
.-selected-.air-datepicker-cell.-day-.-other-month-,
.-selected-.air-datepicker-cell.-year-.-other-decade- {
  color: #fff;
  background: var(--adp-background-color-selected-other-month);
}
.-selected-.-focus-.air-datepicker-cell.-day-.-other-month-,
.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade- {
  background: var(--adp-background-color-selected-other-month-focused);
}
.-in-range-.air-datepicker-cell.-day-.-other-month-,
.-in-range-.air-datepicker-cell.-year-.-other-decade- {
  background-color: var(--adp-background-color-in-range);
  color: var(--adp-color);
}
.-in-range-.-focus-.air-datepicker-cell.-day-.-other-month-,
.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade- {
  background-color: var(--adp-background-color-in-range-focused);
}
.air-datepicker-cell.-day-.-other-month-:empty,
.air-datepicker-cell.-year-.-other-decade-:empty {
  background: none;
  border: none;
}
.air-datepicker-cell {
  border-radius: var(--adp-cell-border-radius);
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.air-datepicker-cell.-focus- {
  background: var(--adp-cell-background-color-hover);
}
.air-datepicker-cell.-current- {
  color: var(--adp-color-current-date);
}
.air-datepicker-cell.-current-.-focus- {
  color: var(--adp-color);
}
.air-datepicker-cell.-current-.-in-range- {
  color: var(--adp-color-current-date);
}
.air-datepicker-cell.-disabled- {
  cursor: default;
  color: var(--adp-color-disabled);
}
.air-datepicker-cell.-disabled-.-focus- {
  color: var(--adp-color-disabled);
}
.air-datepicker-cell.-disabled-.-in-range- {
  color: var(--adp-color-disabled-in-range);
}
.air-datepicker-cell.-disabled-.-current-.-focus- {
  color: var(--adp-color-disabled);
}
.air-datepicker-cell.-in-range- {
  background: var(--adp-cell-background-color-in-range);
  border-radius: 0;
}
.air-datepicker-cell.-in-range-.-focus-,
.air-datepicker-cell.-in-range-:hover {
  background: var(--adp-cell-background-color-in-range-hover);
}
.air-datepicker-cell.-range-from- {
  border: 1px solid var(--adp-cell-border-color-in-range);
  background-color: var(--adp-cell-background-color-in-range);
  border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius);
}
.air-datepicker-cell.-range-to- {
  border: 1px solid var(--adp-cell-border-color-in-range);
  background-color: var(--adp-cell-background-color-in-range);
  border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0;
}
.air-datepicker-cell.-range-to-.-range-from- {
  border-radius: var(--adp-cell-border-radius);
}
.air-datepicker-cell.-selected- {
  color: #fff;
  border: none;
  background: var(--adp-cell-background-color-selected);
}
.air-datepicker-cell.-selected-.-current- {
  color: #fff;
  background: var(--adp-cell-background-color-selected);
}
.air-datepicker-cell.-selected-.-focus- {
  background: var(--adp-cell-background-color-selected-hover);
}
.air-datepicker-body {
  transition: all var(--adp-transition-duration) var(--adp-transition-ease);
}
.air-datepicker-body.-hidden- {
  display: none;
}
.air-datepicker-body--day-names {
  display: grid;
  grid-template-columns: repeat(7, var(--adp-day-cell-width));
  margin: 8px 0 3px;
}
.air-datepicker-body--day-name {
  color: var(--adp-day-name-color);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.8em;
}
.air-datepicker-body--day-name.-clickable- {
  cursor: pointer;
}
.air-datepicker-body--day-name.-clickable-:hover {
  color: var(--adp-day-name-color-hover);
}
.air-datepicker-body--cells {
  display: grid;
}
.air-datepicker-body--cells.-days- {
  grid-template-columns: repeat(7, var(--adp-day-cell-width));
  grid-auto-rows: var(--adp-day-cell-height);
}
.air-datepicker-body--cells.-months- {
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: var(--adp-month-cell-height);
}
.air-datepicker-body--cells.-years- {
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: var(--adp-year-cell-height);
}
.air-datepicker-nav {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--adp-border-color-inner);
  min-height: var(--adp-nav-height);
  padding: var(--adp-padding);
  box-sizing: content-box;
}
.-only-timepicker- .air-datepicker-nav {
  display: none;
}
.air-datepicker-nav--action,
.air-datepicker-nav--title {
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.air-datepicker-nav--action {
  width: var(--adp-nav-action-size);
  border-radius: var(--adp-border-radius);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.air-datepicker-nav--action:hover {
  background: var(--adp-background-color-hover);
}
.air-datepicker-nav--action:active {
  background: var(--adp-background-color-active);
}
.air-datepicker-nav--action.-disabled- {
  visibility: hidden;
}
.air-datepicker-nav--action svg {
  width: 32px;
  height: 32px;
}
.air-datepicker-nav--action path {
  fill: none;
  stroke: var(--adp-nav-arrow-color);
  stroke-width: 2px;
}
.air-datepicker-nav--title {
  border-radius: var(--adp-border-radius);
  padding: 0 8px;
}
.air-datepicker-nav--title i {
  font-style: normal;
  color: var(--adp-nav-color-secondary);
  margin-left: 0.3em;
}
.air-datepicker-nav--title:hover {
  background: var(--adp-background-color-hover);
}
.air-datepicker-nav--title:active {
  background: var(--adp-background-color-active);
}
.air-datepicker-nav--title.-disabled- {
  cursor: default;
  background: none;
}
.air-datepicker-buttons {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
}
.air-datepicker-button {
  display: inline-flex;
  color: var(--adp-btn-color);
  border-radius: var(--adp-btn-border-radius);
  cursor: pointer;
  height: var(--adp-btn-height);
  border: none;
  background: rgba(255, 255, 255, 0);
}
.air-datepicker-button:hover {
  color: var(--adp-btn-color-hover);
  background: var(--adp-btn-background-color-hover);
}
.air-datepicker-button:focus {
  color: var(--adp-btn-color-hover);
  background: var(--adp-btn-background-color-hover);
  outline: 0;
}
.air-datepicker-button:active {
  background: var(--adp-btn-background-color-active);
}
.air-datepicker-button span {
  outline: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.air-datepicker-time {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-column-gap: 12px;
  align-items: center;
  position: relative;
  padding: 0 var(--adp-time-padding-inner);
}
.-only-timepicker- .air-datepicker-time {
  border-top: none;
}
.air-datepicker-time--current {
  display: flex;
  align-items: center;
  flex: 1;
  font-size: 14px;
  text-align: center;
}
.air-datepicker-time--current-colon {
  margin: 0 2px 3px;
  line-height: 1;
}
.air-datepicker-time--current-hours,
.air-datepicker-time--current-minutes {
  line-height: 1;
  font-size: 19px;
  font-family: "Century Gothic",CenturyGothic,AppleGothic,sans-serif;
  position: relative;
  z-index: 1;
}
.air-datepicker-time--current-hours:after,
.air-datepicker-time--current-minutes:after {
  content: "";
  background: var(--adp-background-color-hover);
  border-radius: var(--adp-border-radius);
  position: absolute;
  left: -2px;
  top: -3px;
  right: -2px;
  bottom: -2px;
  z-index: -1;
  opacity: 0;
}
.air-datepicker-time--current-hours.-focus-:after,
.air-datepicker-time--current-minutes.-focus-:after {
  opacity: 1;
}
.air-datepicker-time--current-ampm {
  text-transform: uppercase;
  align-self: flex-end;
  color: var(--adp-time-day-period-color);
  margin-left: 6px;
  font-size: 11px;
  margin-bottom: 1px;
}
.air-datepicker-time--row {
  display: flex;
  align-items: center;
  font-size: 11px;
  height: 17px;
  background: linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat;
}
.air-datepicker-time--row:first-child {
  margin-bottom: 4px;
}
.air-datepicker-time--row input[type=range] {
  background: none;
  cursor: pointer;
  flex: 1;
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
}
.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
}
.air-datepicker-time--row input[type=range]::-ms-tooltip {
  display: none;
}
.air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb {
  border-color: var(--adp-time-track-color-hover);
}
.air-datepicker-time--row input[type=range]:hover::-moz-range-thumb {
  border-color: var(--adp-time-track-color-hover);
}
.air-datepicker-time--row input[type=range]:hover::-ms-thumb {
  border-color: var(--adp-time-track-color-hover);
}
.air-datepicker-time--row input[type=range]:focus {
  outline: 0;
}
.air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb {
  background: var(--adp-cell-background-color-selected);
  border-color: var(--adp-cell-background-color-selected);
}
.air-datepicker-time--row input[type=range]:focus::-moz-range-thumb {
  background: var(--adp-cell-background-color-selected);
  border-color: var(--adp-cell-background-color-selected);
}
.air-datepicker-time--row input[type=range]:focus::-ms-thumb {
  background: var(--adp-cell-background-color-selected);
  border-color: var(--adp-cell-background-color-selected);
}
.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid var(--adp-time-track-color);
  background: #fff;
  cursor: pointer;
  -webkit-transition: background var(--adp-transition-duration);
  transition: background var(--adp-transition-duration);
}
.air-datepicker-time--row input[type=range]::-moz-range-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid var(--adp-time-track-color);
  background: #fff;
  cursor: pointer;
  -moz-transition: background var(--adp-transition-duration);
  transition: background var(--adp-transition-duration);
}
.air-datepicker-time--row input[type=range]::-ms-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid var(--adp-time-track-color);
  background: #fff;
  cursor: pointer;
  -ms-transition: background var(--adp-transition-duration);
  transition: background var(--adp-transition-duration);
}
.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
  margin-top: calc(var(--adp-time-thumb-size) / 2 * -1);
}
.air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track {
  border: none;
  height: var(--adp-time-track-height);
  cursor: pointer;
  color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0);
}
.air-datepicker-time--row input[type=range]::-moz-range-track {
  border: none;
  height: var(--adp-time-track-height);
  cursor: pointer;
  color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0);
}
.air-datepicker-time--row input[type=range]::-ms-track {
  border: none;
  height: var(--adp-time-track-height);
  cursor: pointer;
  color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0);
}
.air-datepicker-time--row input[type=range]::-ms-fill-lower {
  background: rgba(0, 0, 0, 0);
}
.air-datepicker-time--row input[type=range]::-ms-fill-upper {
  background: rgba(0, 0, 0, 0);
}
.air-datepicker {
  --adp-font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  --adp-font-size: 14px;
  --adp-width: 246px;
  --adp-z-index: 100;
  --adp-padding: 4px;
  --adp-grid-areas: "nav" "body" "timepicker" "buttons";
  --adp-transition-duration: .3s;
  --adp-transition-ease: ease-out;
  --adp-transition-offset: 8px;
  --adp-background-color: #fff;
  --adp-background-color-hover: #f0f0f0;
  --adp-background-color-active: #eaeaea;
  --adp-background-color-in-range: rgba(92, 196, 239, .1);
  --adp-background-color-in-range-focused: rgba(92, 196, 239, .2);
  --adp-background-color-selected-other-month-focused: #8ad5f4;
  --adp-background-color-selected-other-month: #a2ddf6;
  --adp-color: #4a4a4a;
  --adp-color-secondary: #9c9c9c;
  --adp-accent-color: #4eb5e6;
  --adp-color-current-date: var(--adp-accent-color);
  --adp-color-other-month: #dedede;
  --adp-color-disabled: #aeaeae;
  --adp-color-disabled-in-range: #939393;
  --adp-color-other-month-hover: #c5c5c5;
  --adp-border-color: #dbdbdb;
  --adp-border-color-inner: #efefef;
  --adp-border-radius: 4px;
  --adp-border-color-inline: #d7d7d7;
  --adp-nav-height: 32px;
  --adp-nav-arrow-color: var(--adp-color-secondary);
  --adp-nav-action-size: 32px;
  --adp-nav-color-secondary: var(--adp-color-secondary);
  --adp-day-name-color: #ff9a19;
  --adp-day-name-color-hover: #8ad5f4;
  --adp-day-cell-width: 1fr;
  --adp-day-cell-height: 32px;
  --adp-month-cell-height: 42px;
  --adp-year-cell-height: 56px;
  --adp-pointer-size: 10px;
  --adp-poiner-border-radius: 2px;
  --adp-pointer-offset: 14px;
  --adp-cell-border-radius: 4px;
  --adp-cell-background-color-hover: var(--adp-background-color-hover);
  --adp-cell-background-color-selected: #5cc4ef;
  --adp-cell-background-color-selected-hover: #45bced;
  --adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1);
  --adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2);
  --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected);
  --adp-btn-height: 32px;
  --adp-btn-color: var(--adp-accent-color);
  --adp-btn-color-hover: var(--adp-color);
  --adp-btn-border-radius: var(--adp-border-radius);
  --adp-btn-background-color-hover: var(--adp-background-color-hover);
  --adp-btn-background-color-active: var(--adp-background-color-active);
  --adp-time-track-height: 1px;
  --adp-time-track-color: #dedede;
  --adp-time-track-color-hover: #b1b1b1;
  --adp-time-thumb-size: 12px;
  --adp-time-padding-inner: 10px;
  --adp-time-day-period-color: var(--adp-color-secondary);
  --adp-mobile-font-size: 16px;
  --adp-mobile-nav-height: 40px;
  --adp-mobile-width: 320px;
  --adp-mobile-day-cell-height: 38px;
  --adp-mobile-month-cell-height: 48px;
  --adp-mobile-year-cell-height: 64px;
}
.air-datepicker-overlay {
  --adp-overlay-background-color: rgba(0, 0, 0, .3);
  --adp-overlay-transition-duration: .3s;
  --adp-overlay-transition-ease: ease-out;
  --adp-overlay-z-index: 99;
}
.air-datepicker {
  background: var(--adp-background-color);
  border: 1px solid var(--adp-border-color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: var(--adp-border-radius);
  box-sizing: content-box;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(4, max-content);
  grid-template-areas: var(--adp-grid-areas);
  font-family: var(--adp-font-family),sans-serif;
  font-size: var(--adp-font-size);
  color: var(--adp-color);
  width: var(--adp-width);
  position: absolute;
  transition: opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease);
  z-index: var(--adp-z-index);
}
.air-datepicker:not(.-custom-position-) {
  opacity: 0;
}
.air-datepicker.-from-top- {
  transform: translateY(calc(var(--adp-transition-offset) * -1));
}
.air-datepicker.-from-right- {
  transform: translateX(var(--adp-transition-offset));
}
.air-datepicker.-from-bottom- {
  transform: translateY(var(--adp-transition-offset));
}
.air-datepicker.-from-left- {
  transform: translateX(calc(var(--adp-transition-offset) * -1));
}
.air-datepicker.-active-:not(.-custom-position-) {
  transform: translate(0, 0);
  opacity: 1;
}
.air-datepicker.-active-.-custom-position- {
  transition: none;
}
.air-datepicker.-inline- {
  border-color: var(--adp-border-color-inline);
  box-shadow: none;
  position: static;
  left: auto;
  right: auto;
  opacity: 1;
  transform: none;
}
.air-datepicker.-inline- .air-datepicker--pointer {
  display: none;
}
.air-datepicker.-is-mobile- {
  --adp-font-size: var(--adp-mobile-font-size);
  --adp-day-cell-height: var(--adp-mobile-day-cell-height);
  --adp-month-cell-height: var(--adp-mobile-month-cell-height);
  --adp-year-cell-height: var(--adp-mobile-year-cell-height);
  --adp-nav-height: var(--adp-mobile-nav-height);
  --adp-nav-action-size: var(--adp-mobile-nav-height);
  position: fixed;
  width: var(--adp-mobile-width);
  border: none;
}
.air-datepicker.-is-mobile- * {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.air-datepicker.-is-mobile- .air-datepicker--pointer {
  display: none;
}
.air-datepicker.-is-mobile-:not(.-custom-position-) {
  transform: translate(-50%, calc(-50% + var(--adp-transition-offset)));
}
.air-datepicker.-is-mobile-.-active-:not(.-custom-position-) {
  transform: translate(-50%, -50%);
}
.air-datepicker.-custom-position- {
  transition: none;
}
.air-datepicker-global-container {
  position: absolute;
  left: 0;
  top: 0;
}
.air-datepicker--pointer {
  --pointer-half-size: calc(var(--adp-pointer-size) / 2);
  position: absolute;
  width: var(--adp-pointer-size);
  height: var(--adp-pointer-size);
  z-index: -1;
}
.air-datepicker--pointer:after {
  content: "";
  position: absolute;
  background: #fff;
  border-top: 1px solid var(--adp-border-color-inline);
  border-right: 1px solid var(--adp-border-color-inline);
  border-top-right-radius: var(--adp-poiner-border-radius);
  width: var(--adp-pointer-size);
  height: var(--adp-pointer-size);
  box-sizing: border-box;
}
.-top-center- .air-datepicker--pointer,
.-top-left- .air-datepicker--pointer,
.-top-right- .air-datepicker--pointer,
[data-popper-placement^=top] .air-datepicker--pointer {
  top: calc(100% - var(--pointer-half-size) + 1px);
}
.-top-center- .air-datepicker--pointer:after,
.-top-left- .air-datepicker--pointer:after,
.-top-right- .air-datepicker--pointer:after,
[data-popper-placement^=top] .air-datepicker--pointer:after {
  transform: rotate(135deg);
}
.-right-bottom- .air-datepicker--pointer,
.-right-center- .air-datepicker--pointer,
.-right-top- .air-datepicker--pointer,
[data-popper-placement^=right] .air-datepicker--pointer {
  right: calc(100% - var(--pointer-half-size) + 1px);
}
.-right-bottom- .air-datepicker--pointer:after,
.-right-center- .air-datepicker--pointer:after,
.-right-top- .air-datepicker--pointer:after,
[data-popper-placement^=right] .air-datepicker--pointer:after {
  transform: rotate(225deg);
}
.-bottom-center- .air-datepicker--pointer,
.-bottom-left- .air-datepicker--pointer,
.-bottom-right- .air-datepicker--pointer,
[data-popper-placement^=bottom] .air-datepicker--pointer {
  bottom: calc(100% - var(--pointer-half-size) + 1px);
}
.-bottom-center- .air-datepicker--pointer:after,
.-bottom-left- .air-datepicker--pointer:after,
.-bottom-right- .air-datepicker--pointer:after,
[data-popper-placement^=bottom] .air-datepicker--pointer:after {
  transform: rotate(315deg);
}
.-left-bottom- .air-datepicker--pointer,
.-left-center- .air-datepicker--pointer,
.-left-top- .air-datepicker--pointer,
[data-popper-placement^=left] .air-datepicker--pointer {
  left: calc(100% - var(--pointer-half-size) + 1px);
}
.-left-bottom- .air-datepicker--pointer:after,
.-left-center- .air-datepicker--pointer:after,
.-left-top- .air-datepicker--pointer:after,
[data-popper-placement^=left] .air-datepicker--pointer:after {
  transform: rotate(45deg);
}
.-bottom-left- .air-datepicker--pointer,
.-top-left- .air-datepicker--pointer {
  left: var(--adp-pointer-offset);
}
.-bottom-right- .air-datepicker--pointer,
.-top-right- .air-datepicker--pointer {
  right: var(--adp-pointer-offset);
}
.-bottom-center- .air-datepicker--pointer,
.-top-center- .air-datepicker--pointer {
  left: calc(50% - var(--adp-pointer-size) / 2);
}
.-left-top- .air-datepicker--pointer,
.-right-top- .air-datepicker--pointer {
  top: var(--adp-pointer-offset);
}
.-left-bottom- .air-datepicker--pointer,
.-right-bottom- .air-datepicker--pointer {
  bottom: var(--adp-pointer-offset);
}
.-left-center- .air-datepicker--pointer,
.-right-center- .air-datepicker--pointer {
  top: calc(50% - var(--adp-pointer-size) / 2);
}
.air-datepicker--navigation {
  grid-area: nav;
}
.air-datepicker--content {
  box-sizing: content-box;
  padding: var(--adp-padding);
  grid-area: body;
}
.-only-timepicker- .air-datepicker--content {
  display: none;
}
.air-datepicker--time {
  grid-area: timepicker;
}
.air-datepicker--buttons {
  grid-area: buttons;
}
.air-datepicker--buttons,
.air-datepicker--time {
  padding: var(--adp-padding);
  border-top: 1px solid var(--adp-border-color-inner);
}
.air-datepicker-overlay {
  position: fixed;
  background: var(--adp-overlay-background-color);
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  opacity: 0;
  transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s;
  transition-delay: 0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration);
  z-index: var(--adp-overlay-z-index);
}
.air-datepicker-overlay.-active- {
  opacity: 1;
  width: 100%;
  height: 100%;
  transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s;
}
.reception-popup {
  --padding-side: 12px;
  --color-dark: #161616;
  --color-grey: #f1f1f1;
  --color-grey-dark: #e9e9e9;
  --color-grey-darkest: #aeb6ba;
  --color-white: #fff;
  --color-accent: #0524dd;
  --color-accent-dark: #001cc2;
  --color-red: #fe3b1f;
  position: fixed;
  inset: 0;
  z-index: -5;
  display: flex;
  visibility: hidden;
  justify-content: flex-end;
  line-height: 1.4;
  pointer-events: none;
  background-color: rgba(22, 22, 22, 0.5);
  opacity: 0;
}
._is-reception-popup-open .reception-popup {
  z-index: 110;
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
html._is-reception-popup-open,
html._is-reception-popup-open body {
  overflow: hidden;
}
.reception-form__step,
.reception-form__inner {
  min-height: 0;
}
.reception-popup__body {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  overflow: clip;
  background-color: var(--color-white);
}
.reception-popup__close {
  z-index: 1;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  padding: 4px var(--padding-side);
  font-size: 14px;
  color: var(--color-white);
  background-color: var(--color-dark);
  border: none;
}
.reception-popup__close:focus-visible {
  color: var(--color-white);
  outline: 0;
  background-color: var(--color-grey-dark);
}
.reception-popup__inner {
  flex-grow: 1;
  max-height: 100%;
  overflow: hidden;
  overflow: clip;
}
.reception-form {
  height: 100%;
}
.reception-form button > * {
  pointer-events: none;
}
.reception-form textarea {
  resize: vertical;
}
.reception-form [hidden] {
  display: none!important;
}
.reception-form__body {
  height: 100%;
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-main);
  background-color: var(--color-neutral);
}
.reception-form__step {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  overflow: clip;
}
.reception-form__step[hidden] {
  display: none;
}
.reception-form__head {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 22px var(--padding-side);
  border-bottom: 1px solid var(--color-dark);
}
.reception-form__heading {
  display: flex;
  gap: 20px;
  align-items: center;
}
.reception-form__title {
  position: relative;
  width: 100%;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
}
.reception-form__title span {
  position: absolute;
  top: 45%;
  right: 0;
  font-size: 40px;
  line-height: 1;
  color: var(--color-accent);
  text-transform: lowercase;
  white-space: nowrap;
  transform: translateY(-50%) rotate(-6deg);
}
.reception-form__subtitle {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}
.reception-form__back {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  background-color: transparent;
  border: none;
}
.reception-form__back::after {
  position: absolute;
  inset: -12px;
  content: "";
}
.reception-form__back svg {
  flex-shrink: 0;
  width: 20px;
  height: 13px;
}
.reception-form__inner {
  flex-grow: 1;
  width: 100%;
  max-width: 100%;
}
.reception-form__content {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.reception-form__content > *:nth-last-child(2) {
  flex: 1 1 auto;
}
.reception-filter {
  margin-right: calc(-1 * var(--padding-offset));
  margin-left: calc(-1 * var(--padding-offset));
  overflow: hidden;
}
.reception-filter_heading {
  --padding-offset: var(--padding-side);
}
.reception-filter__body {
  display: flex;
  gap: 20px;
  align-items: center;
  max-width: 100%;
  padding: 0 var(--padding-offset);
  overflow: auto;
  scrollbar-width: none;
  transform: translate3d(0, 0, 0);
}
.reception-filter__body::-webkit-scrollbar {
  display: none;
}
.reception-filter__btn {
  padding: 9px 23px;
  font-size: 14px;
  font-weight: 400;
  color: var(--color-dark);
  white-space: nowrap;
  background-color: transparent;
  border: 1px solid var(--color-dark);
}
.reception-filter__btn:focus-visible {
  outline: 0;
  background-color: var(--color-grey);
}
.reception-filter__btn:active {
  background-color: var(--color-grey-darkest);
}
.reception-filter__btn._is-active {
  color: var(--color-white)!important;
  background-color: var(--color-dark)!important;
}
.reception-action {
  position: sticky;
  bottom: 0;
  z-index: 1;
  margin-top: -1px;
  overflow: hidden;
  background-color: var(--color-white);
}
.reception-action__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 25px var(--padding-side) 20px;
  border-top: 1px solid var(--color-dark);
}
.reception-action__head {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
}
.reception-action__info,
.reception-action__text {
  font-size: 14px;
  font-weight: 400;
}
.reception-action__text span {
  color: var(--color-grey-darkest);
}
/* Подсказка под счётчиком на шаге Service: появляется когда выбран слот
   (часть услуг может быть серой, надо подсказать, как открыть остальные). */
.reception-action__hint {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--color-dark);
}
.reception-action__main {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.reception-action__main_submit {
  flex-direction: column-reverse;
}
.reception-action__btn {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 30px;
  font-size: 14px;
  font-weight: 300;
  color: var(--color-white);
  background-color: var(--color-accent);
  border: none;
}
.reception-action__btn:focus-visible {
  outline: 0;
  background-color: var(--color-accent-dark);
}
.reception-action__btn:disabled {
  color: var(--color-white);
  cursor: progress;
  opacity: 0.7;
}
.reception-action__btn_center {
  justify-content: center;
  text-align: center;
}
/* Серый вариант под «Сделать новую запись» на success-экране, чтобы
   акцент уходил на синюю «Заполнить анкету пациента». Палитра — из
   .reception-ordering-action__btn («Перенести запись»): меняем только
   фон и цвет текста, остальное наследуем от .reception-action__btn. */
.reception-action__btn_secondary {
  color: var(--color-dark);
  background-color: var(--color-grey);
}
.reception-action__btn_secondary:focus-visible {
  background-color: var(--color-grey-dark);
}
.reception-action__btn svg {
  flex-shrink: 0;
}
.reception-action__desc {
  align-self: center;
  font-size: 12px;
  font-weight: 300;
}
.reception-action__desc a {
  color: var(--color-accent);
  text-decoration: underline;
}
.reception-action__desc a:focus-visible {
  color: var(--color-accent-dark);
  outline: 0;
}
.reception-categories__item {
  border-bottom: 1px solid var(--color-dark);
}
.reception-categories__btn {
  display: flex;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 64px;
  padding-left: 12px;
  font-size: 16px;
  font-weight: 300;
  color: var(--color-dark);
  background-color: var(--color-white);
  border: none;
}
.reception-categories__btn:focus-visible {
  outline: 0;
  background-color: var(--color-grey);
}
.reception-categories__btn:active {
  background-color: var(--color-grey-dark);
}
.reception-categories__btn::before {
  color: var(--color-accent);
  content: "—";
}
.reception-categories__btn svg {
  flex-shrink: 0;
  width: auto;
  height: 100%;
  aspect-ratio: 70/63;
  margin-left: auto;
}
.reception-masters {
  display: flex;
  flex-direction: column;
}
.reception-masters__item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: var(--padding-side);
  border-bottom: 1px solid var(--color-dark);
}
.reception-masters__item._is-active {
  background-color: var(--color-grey);
}
.reception-master-card__input:not(:checked) ~ .reception-master-card__body {
  cursor: pointer;
}
.reception-master-card__input:checked ~ * .reception-master-card__icon::after {
  content: "";
  opacity: 1;
}
.reception-master-card__body {
  display: flex;
  gap: 22px;
  align-items: center;
}
.reception-master-card__logo {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  align-self: flex-start;
  justify-content: center;
  width: 48px;
  height: 48px;
  overflow: hidden;
  font-size: 14px;
  color: var(--color-white);
  text-transform: uppercase;
  background-color: var(--color-accent);
  border-radius: 15px;
}
.reception-master-card__logo img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  white-space: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.reception-master-card__logo span {
  max-width: 2.5em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reception-master-card__content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.reception-master-card__name {
  font-size: 16px;
  font-weight: 500;
}
.reception-master-card__profession {
  font-size: 14px;
  font-weight: 300;
  color: var(--color-grey-darkest);
}
/* На success-экране (внутри .reception-ordering__info) аватар врача чуть крупнее: 68×68. */
.reception-ordering__info .reception-master-card__logo {
  width: 68px;
  height: 68px;
  border-radius: 18px;
}
.reception-ordering__info .reception-master-card__logo span {
  font-size: 18px;
}
.reception-master-card__icon {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-self: flex-start;
  width: 20px;
  height: 20px;
  margin-left: auto;
  border: 2px solid var(--color-dark);
  border-radius: 50%;
}
.reception-master-card__icon::after {
  position: absolute;
  inset: 0;
  content: "";
  background-color: var(--color-accent);
  border: 3px solid var(--color-white);
  border-radius: 50%;
  opacity: 0;
}
.reception-times {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.reception-times__head {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
}
.reception-times__head[data-time-spoller] {
  position: relative;
  cursor: pointer;
}
.reception-times__head[data-time-spoller]::after {
  position: absolute;
  inset: -5px;
  content: "";
}
.reception-times__head[data-time-spoller]._is-hide + .reception-times__items {
  display: none;
}
.reception-times__head[data-time-spoller]._is-hide svg {
  transform: scale(1, -1);
}
.reception-times__head svg {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
}
.reception-times__text {
  font-size: 16px;
  font-weight: 300;
  color: var(--color-dark);
}
.reception-times__text b,
.reception-times__text span,
.reception-times__text strong {
  font-weight: 400;
  color: var(--color-accent);
}
.reception-times__items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.reception-times__item {
  display: flex;
  flex-shrink: 0;
}
.reception-times__input:not(:checked):focus-visible ~ .reception-times__btn,
.reception-times__input:not(:checked):hover ~ .reception-times__btn {
  color: var(--color-accent);
  border-color: var(--color-accent);
}
.reception-times__input:checked ~ .reception-times__btn {
  color: var(--color-white);
  background-color: var(--color-accent);
  border-color: transparent;
}
.reception-times__btn {
  padding: 5px 17px;
  font-size: 14px;
  font-weight: 400;
  color: var(--color-dark);
  cursor: pointer;
  border: 1px solid var(--color-dark);
}
.reception-schedule-alert {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  text-align: center;
}
.reception-schedule-alert__title {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
}
.reception-schedule-alert__text {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
}
.reception-schedule-alert__btn {
  width: 100%;
  max-width: 300px;
  padding: 8px 30px;
  font-size: 14px;
  font-weight: 400;
  color: var(--color-white);
  cursor: pointer;
  background-color: var(--color-dark);
  border: none;
}
.reception-schedule-alert__btn:focus-visible {
  outline: 0;
  background-color: var(--color-accent);
}
.reception-schedule-alert__btn:active {
  background-color: var(--color-accent-dark);
}
.reception-schedule__box {
  padding: 22px var(--padding-side);
  border-bottom: 1px solid var(--color-dark);
}
.reception-schedule__loading {
  padding: 24px 0;
  font-size: 14px;
  color: var(--color-grey-darkest);
  text-align: center;
}

/* ===== Универсальный лоадер =====
   Контейнер получает класс .reception-loader. Внутри лежит .reception-loader__layer
   (создаётся JS-ом единожды). Когда добавляется ._is-loading — layer показывается:
   непрозрачный белый фон, по центру спиннер + подпись. Задержка появления 250мс
   делается на стороне JS, чтобы на тёплом кэше layer вообще не мигнул. */
.reception-loader {
  position: relative;
  min-height: 140px;
}
.reception-loader__layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 10;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 20px;
  background-color: #fff;
}
.reception-loader._is-loading > .reception-loader__layer {
  display: flex;
}
.reception-loader__spinner {
  width: 38px;
  height: 38px;
  border: 3px solid var(--color-grey-dark, #e9e9e9);
  border-top-color: var(--color-accent, #0524dd);
  border-radius: 50%;
  animation: reception-spin 0.8s linear infinite;
}
.reception-loader__text {
  max-width: 280px;
  font-size: 13px;
  color: var(--color-grey-darkest, #aeb6ba);
  text-align: center;
}
@keyframes reception-spin {
  to { transform: rotate(360deg); }
}

/* ===== Тосты-уведомления (вместо browser alert) ===== */
/* Контейнер тостов лежит в <body> — не наследует переменные .reception-popup,
   поэтому объявляем их локально (тот же набор и значения, что у формы). */
.reception-toasts {
  --color-dark: #161616;
  --color-grey: #f1f1f1;
  --color-grey-dark: #e9e9e9;
  --color-grey-darkest: #aeb6ba;
  --color-white: #fff;
  --color-accent: #0524dd;
  --color-accent-dark: #001cc2;
  --color-red: #fe3b1f;
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 200;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
  max-width: calc(100vw - 32px);
}
.reception-toast {
  position: relative;
  width: 320px;
  max-width: 100%;
  padding: 16px 38px 18px 18px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--color-dark, #161616);
  background-color: #fff;
  border: 1px solid var(--color-grey-dark, #e9e9e9);
  box-shadow: 0 8px 24px rgba(22, 22, 22, 0.12);
  pointer-events: auto;
  overflow: hidden;
  animation: reception-toast-in 0.25s ease-out;
}
.reception-toast._is-closing {
  animation: reception-toast-out 0.2s ease-in forwards;
}
.reception-toast__title {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
}
.reception-toast__text {
  color: var(--color-grey-darkest, #6a737d);
}
.reception-toast__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 22px;
  height: 22px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: var(--color-grey-darkest, #aeb6ba);
}
.reception-toast__close::before,
.reception-toast__close::after {
  position: absolute;
  top: 10px;
  left: 4px;
  width: 14px;
  height: 1.5px;
  content: "";
  background-color: currentColor;
}
.reception-toast__close::before { transform: rotate(45deg); }
.reception-toast__close::after  { transform: rotate(-45deg); }
.reception-toast__close:hover { color: var(--color-dark, #161616); }
.reception-toast__progress {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  background-color: var(--color-accent, #0524dd);
  animation: reception-toast-progress var(--toast-duration, 4500ms) linear forwards;
}
.reception-toast__actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.reception-toast__action {
  flex: 1 1 auto;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 400;
  color: var(--color-dark);
  background-color: transparent;
  border: 1px solid var(--color-grey-dark);
  cursor: pointer;
  transition: background-color var(--transition-duration, 0.2s), color var(--transition-duration, 0.2s);
}
.reception-toast__action:hover {
  background-color: var(--color-grey);
}
.reception-toast__action._is-primary {
  color: #fff;
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
.reception-toast__action._is-primary:hover {
  background-color: var(--color-accent-dark);
}
.reception-toast__action._is-danger {
  color: #fff;
  background-color: var(--color-red);
  border-color: var(--color-red);
}
.reception-toast__action._is-danger:hover {
  filter: brightness(0.92);
}
.reception-toast:hover .reception-toast__progress {
  animation-play-state: paused;
}
@keyframes reception-toast-in {
  from { transform: translateX(120%); opacity: 0; }
  to   { transform: translateX(0);    opacity: 1; }
}
@keyframes reception-toast-out {
  to { transform: translateX(120%); opacity: 0; }
}
@keyframes reception-toast-progress {
  from { width: 100%; }
  to   { width: 0; }
}

.air-datepicker {
  --adp-font-family: inherit;
  --adp-width: 100%;
  --adp-padding: 0;
  --adp-color-disabled: var(--color-grey-darkest);
  --adp-border-radius: 0;
  --adp-cell-border-radius: 0;
  --adp-color-other-month: var(--color-grey-darkest);
  --adp-day-name-cell-height: 32px;
  --adp-day-cell-height: 32px;
  --adp-background-color: var(--color-white);
  --adp-background-color-hover: var(--color-grey);
  --adp-background-color-active: var(--color-grey-dark);
  --adp-color: var(--color-dark);
  --adp-color-secondary: var(--color-dark);
  --adp-accent-color: var(--color-accent);
  --adp-color-current-date: var(--color-white);
  --adp-cell-background-color-hover: var(--color-grey);
  --adp-cell-background-color-selected: var(--color-accent);
  --adp-nav-height: 40px;
  --adp-nav-arrow-color: var(--color-accent);
  --adp-nav-action-size: var(--adp-nav-height);
  --adp-nav-color-secondary: var(--adp-color-secondary);
  --adp-day-name-color: var(--color-dark);
  --adp-day-name-color-hover: var(--color-dark);
  --adp-cell-background-color-selected-hover: var(--color-accent-dark);
  border: none;
}
.air-datepicker-nav {
  gap: 20px;
  border: none;
}
.air-datepicker-nav--title {
  padding: 0 20px;
  font-size: 16px;
}
.air-datepicker-body--day-names {
  gap: 10px;
  margin: 10px 0;
}
.air-datepicker-body--day-name {
  height: var(--adp-day-name-cell-height);
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
}
.air-datepicker-body--cells {
  gap: 10px;
}
.air-datepicker-cell.-current- {
  color: var(--color-white)!important;
  background-color: var(--color-dark)!important;
}
.air-datepicker-cell.-disabled-,
.air-datepicker-cell.-selected-:not(.-month-, .-year-) {
  pointer-events: none;
}
.air-datepicker-cell.-selected- {
  color: var(--color-white)!important;
  background-color: var(--adp-cell-background-color-selected)!important;
}
.reception-services__box {
  position: relative;
  border-bottom: 1px solid var(--color-dark);
}
.reception-services__head {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 15px var(--padding-side);
  color: var(--color-white);
  background-color: var(--color-dark);
}
.reception-services__title {
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
}
.reception-services__title:not(:last-child) {
  margin-bottom: 10px;
}
.reception-services__text {
  font-size: 12px;
  font-weight: 300;
}
.reception-services__text b,
.reception-services__text strong {
  font-weight: 400;
}
.reception-services__items {
  display: flex;
  flex-direction: column;
  padding: 14px var(--padding-side);
}
.reception-services__item {
  padding: 14px 0;
}
.reception-services__item + .reception-services__item {
  border-top: 1px solid var(--color-grey);
}
/* Услуга, не помещающаяся в выбранное окно: видна, но не выбираема */
.reception-services__item._is-disabled {
  opacity: 0.45;
  pointer-events: none;
  user-select: none;
}
.reception-services__item._is-disabled .reception-service-card__icon {
  display: none;
}
.reception-service-card {
  display: flex;
  flex-direction: column;
  gap: 6px 20px;
}
.reception-service-card__body {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  justify-content: space-between;
}
.reception-service-card__input ~ .reception-service-card__content {
  cursor: pointer;
}
.reception-service-card__input:not(:checked):focus-visible ~ .reception-service-card__icon,
.reception-service-card__input:not(:checked):hover ~ .reception-service-card__icon {
  background-color: var(--color-grey);
}
.reception-service-card__input:checked ~ .reception-service-card__icon {
  background-color: var(--color-dark);
}
.reception-service-card__input:checked ~ .reception-service-card__icon svg {
  opacity: 1;
}
.reception-service-card__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-top: 5px;
  border: 1px solid var(--color-dark);
}
.reception-service-card__icon svg {
  width: 14px;
  height: 14px;
  margin: -1px;
  opacity: 0;
}
.reception-service-card__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px 20px;
}
.reception-service-card__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.reception-service-card__title {
  max-width: 384px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}
.reception-service-card__footnote {
  font-size: 12px;
  font-weight: 300;
  color: var(--color-grey-darkest);
}
.reception-service-card__result {
  display: flex;
  align-items: center;
}
.reception-service-card__duration {
  display: flex;
  align-items: center;
  padding-top: 1px;
  font-size: 14px;
  font-weight: 300;
}
.reception-service-card__duration::after {
  margin: 0 6px;
  color: var(--color-grey-darkest);
  content: "•";
}
.reception-service-card__cost {
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}
.reception-service-card__desc {
  font-size: 12px;
  font-weight: 400;
}
.reception-service-card__desc p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.reception-service-card__desc a {
  color: var(--color-accent);
}
.reception-service-card__desc a:focus-visible {
  color: var(--color-accent-dark);
  outline: 0;
}
/* Подсказка над кнопкой «Заполнить анкету пациента» на success-экране.
   Стилистически наследник .reception-service-card__desc, но без line-clamp:
   нужен полный текст из двух абзацев. */
.reception-success__profile-hint {
  font-size: 12px;
  font-weight: 400;
}
.reception-success__profile-hint p {
  margin: 0;
}
.reception-success__profile-hint p + p {
  margin-top: 8px;
}
.reception-success__profile-hint a {
  color: var(--color-accent);
}
.reception-success__profile-hint a:focus-visible {
  color: var(--color-accent-dark);
  outline: 0;
}
.reception-ordering__item {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 15px var(--padding-side);
  border-bottom: 1px solid var(--color-dark);
}
.reception-ordering__info {
  display: grid;
  gap: 18px 22px;
}
.reception-ordering__status {
  display: flex;
  flex-direction: row-reverse;
  gap: 18px 22px;
  align-items: flex-start;
  justify-content: space-between;
}
.reception-ordering__label {
  flex-shrink: 0;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 300;
  color: var(--color-white);
  background-color: var(--color-accent);
}
.reception-ordering__choise {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  justify-content: space-between;
}
.reception-ordering__choise .reception-ordering__title {
  align-self: center;
}
.reception-ordering__period {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}
.reception-ordering__date {
  color: var(--color-accent);
}
.reception-ordering__btn {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--color-dark);
  background-color: var(--color-grey);
  border: none;
}
.reception-ordering__btn:focus-visible {
  outline: 0;
  background-color: var(--color-grey-dark);
}
.reception-ordering__btn svg {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
}
.reception-ordering__title {
  font-size: 16px;
  font-weight: 500;
}
.reception-ordering__title span {
  margin-left: 8px;
  font-size: 14px;
  font-weight: 300;
  color: var(--color-accent);
}
.reception-ordering__service {
  padding: 5px 0;
}
.reception-ordering__result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 0 5px;
  border-top: 1px solid var(--color-grey);
}
.reception-ordering__cost {
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}
.reception-ordering-data__head {
  padding: 15px var(--padding-side);
  color: var(--color-white);
  background-color: var(--color-dark);
}
.reception-ordering-data__title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}
.reception-ordering-data__form {
  display: flex;
  flex-direction: column;
  padding: 0 var(--padding-side);
}
.reception-ordering-data__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 12px;
  border-bottom: 1px solid var(--color-dark);
}
.reception-ordering-data__label {
  font-size: 12px;
}
.reception-ordering-data__input {
  min-height: 20px;
  padding: 0;
  font-size: 16px;
  outline: 0;
  border: none;
}
.reception-ordering-action,
.reception-ordering-action__extra,
.reception-ordering-action__main {
  display: flex;
  flex-direction: column;
  gap: 20px 5px;
}
.reception-ordering-action__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 300;
  color: var(--color-dark);
  background-color: var(--color-grey);
}
.reception-ordering-action__btn:focus-visible {
  outline: 0;
  background-color: var(--color-grey-dark);
}
.reception-ordering-action__btn_cancel {
  color: var(--color-red);
}
.reception-ordering-contacts__head {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  justify-content: space-between;
}
.reception-ordering-contacts__head:not(:last-child) {
  margin-bottom: 15px;
}
.reception-ordering-contacts__title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}
.reception-ordering-contacts__address {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-accent);
}
.reception-ordering-contacts__copy {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--color-dark);
  background-color: var(--color-grey);
  border: none;
}
.reception-ordering-contacts__copy:focus-visible {
  outline: 0;
  background-color: var(--color-grey-dark);
}
.reception-ordering-contacts__copy svg {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
}
.reception-ordering-contacts__map iframe {
  display: block;
  width: 100%;
  height: 230px;
  border: none;
}
@media (min-width: 575.98px) {
  .reception-form__title {
    font-size: 28px;
  }
}
@media (min-width: 767.98px) {
  .reception-popup {
    --padding-side: 20px;
  }
  .reception-popup__body {
    max-width: 616px;
  }
  .reception-popup__close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 8px 22px;
    color: var(--color-dark);
    background-color: var(--color-grey);
  }
  .reception-form__head {
    padding: 30px var(--padding-side);
  }
  .reception-form__heading_main {
    border-bottom-width: 3px;
  }
  .reception-form__title {
    width: auto;
    padding-bottom: 0.23em;
    font-size: 36px;
  }
  .reception-form__title span {
    top: 38%;
    right: auto;
    left: 75%;
    transform: translateY(11%) rotate(-11deg);
  }
  .reception-form__subtitle {
    font-size: 18px;
    font-weight: 400;
  }
  .reception-action__main_submit {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: start;
  }
  .reception-times__items {
    gap: 14px;
  }
  .reception-schedule__box {
    padding: var(--padding-side);
  }
  .air-datepicker {
    --adp-day-name-cell-height: 36px;
  }
  .air-datepicker-body--day-name {
    font-size: 16px;
    font-weight: 500;
  }
  .reception-service-card__content {
    flex-grow: 1;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
  .reception-service-card__content_with-time {
    padding-bottom: calc(1.4em + 6px);
  }
  .reception-service-card__head {
    align-self: center;
  }
  .reception-service-card__duration {
    position: absolute;
    bottom: 0;
    left: 0;
    color: var(--color-grey-darkest);
  }
  .reception-service-card__duration::after {
    display: none;
  }
  .reception-ordering__info {
    grid-template-columns: 1fr 1fr;
    align-items: end;
  }
  .reception-ordering__status {
    flex-direction: column;
  }
  .reception-ordering-data__head {
    padding: var(--padding-side);
  }
  .reception-ordering-data__title {
    font-size: 18px;
    font-weight: 400;
  }
  .reception-ordering-data__form {
    padding: 0;
  }
  .reception-ordering-data__item {
    padding: 14px var(--padding-side);
  }
  .reception-ordering-data__label {
    font-size: 14px;
  }
  .reception-ordering-action {
    flex-direction: row;
    justify-content: space-between;
  }
  .reception-ordering-action__extra,
  .reception-ordering-action__main {
    flex-direction: row;
  }
  .reception-ordering-action__extra {
    justify-content: flex-end;
  }
}
@media (min-width: 1279.98px) {
  .reception-popup {
    --padding-side: 30px;
  }
  .reception-form__title {
    font-size: 48px;
  }
  .reception-form__title span {
    top: 45%;
  }
  .reception-form__subtitle,
  .reception-ordering-data__title {
    font-size: 20px;
  }
}
@media (max-width: 767.98px) {
  /* iOS Safari fix (только мобильные): inset:0 биндится к layout viewport,
     который больше visual viewport на размер URL-bar — нижняя часть попапа
     уходит под URL-bar. --reception-vh из reception.js = window.innerHeight,
     точный visible viewport. --reception-step-vh = innerHeight - close.height,
     ровно то место, которое доступно для шага формы (каскад height:100%
     в form/form__body/form__step ломается на iOS из-за отсутствия specified
     height у промежуточных flex-stretch родителей). */
  .reception-popup {
    height: var(--reception-vh, 100dvh);
  }
  .reception-popup__inner {
    max-height: var(--reception-vh, 100dvh);
  }
  .reception-form__step {
    max-height: var(--reception-step-vh, var(--reception-vh, 100dvh));
  }
  .reception-times {
    padding-bottom: 12px;
  }
  .reception-ordering-action,
  .reception-ordering-action__extra,
  .reception-ordering-action__main {
    gap: 10px 5px;
  }
  .reception-ordering-action__btn_main {
    color: var(--color-white);
    background-color: var(--color-dark);
  }
  .reception-ordering-action__btn_cancel {
    order: -1;
  }
}
@media (any-hover: hover) {
  .reception-form__inner::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }
  .reception-form__inner::-webkit-scrollbar-thumb {
    background-color: var(--color-grey-darkest);
    border: 1px solid var(--color-dark);
    border-radius: 5px;
  }
  .reception-form__inner::-webkit-scrollbar-track {
    background-color: var(--color-dark);
  }
  .reception-popup__close:not(:active):hover {
    color: var(--color-white);
    background-color: var(--color-grey-dark);
  }
  .reception-filter__btn:not(:active):hover {
    background-color: var(--color-grey);
  }
  .reception-action__btn:not(:active):hover {
    background-color: var(--color-accent-dark);
  }
  /* Секондари-кнопка наследует общий hover-фон (тёмно-синий), но её базовый
     цвет текста — тёмный, поэтому на hover он становится нечитаемым. Переключаем
     на белый — заодно явно красим SVG (на случай если в кэше осталась старая
     разметка с fill="white"/<color>, не привязанная к currentColor). */
  .reception-action__btn_secondary:not(:active):hover {
    color: var(--color-white);
  }
  .reception-action__btn_secondary:not(:active):hover svg path {
    fill: var(--color-white);
  }
  .reception-action__desc a:not(:active):hover {
    color: var(--color-accent-dark);
  }
  .reception-categories__btn:not(:active):hover {
    background-color: var(--color-grey);
  }
  .reception-schedule-alert__btn:not(:active):hover {
    background-color: var(--color-accent);
  }
  .reception-service-card__desc a:not(:active):hover {
    color: var(--color-accent-dark);
  }
  .reception-ordering-action__btn:not(:active):hover,
  .reception-ordering-contacts__copy:not(:active):hover,
  .reception-ordering__btn:not(:active):hover {
    background-color: var(--color-grey-dark);
  }
}
