/* Reserve the normal time, name and submit spaces in the unavailable state. */
body .aell-booking-form #timefield { min-height: 34px; }
body .aell-booking-form #timefield > .busy { display: none; }
body .aell-booking-form .aell-name-field { position: relative; }
body .aell-booking-form .aell-availability-notice { display: none; }
body .aell-booking-unavailable #app_name { visibility: hidden; }
body .aell-booking-unavailable .aell-availability-notice {
  position: absolute;
  inset: 10px 10px auto;
  height: 34px;
  display: flex;
  align-items: center;
  line-height: 17px;
}
body .aell-booking-unavailable .subnow {
  display: inline-block !important;
  visibility: hidden;
  pointer-events: none;
}

body .appforms .aell-map-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 18px;
  white-space: nowrap;
}
body .appforms .aell-map-help {
  display: inline-flex;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
body .appforms .aell-map-help .material-icons { font-size: 18px; line-height: 1; }
body .appforms .aell-map-help:focus-visible { outline: 2px solid #009de2; outline-offset: 1px; }
body .appforms #app_comment { height: 78px; }

.dtp .dtp-picker { position: relative; }
body .dtp .dtp-content .dtp-date-view .dtp-picker { padding-top: 6px; }
.dtp .dtp-picker-month { display: none; }
.dtp .aell-calendar-status {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 20px;
  box-sizing: border-box;
  visibility: hidden;
  background: rgba(255, 255, 255, .9);
  color: #222;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
}
.dtp .aell-calendar-status.is-visible { visibility: visible; }
.dtp .aell-calendar-status > span:last-child {
  max-width: 190px;
  padding: 10px 14px;
  box-sizing: border-box;
  background: #ffd701;
  border-radius: 4px;
}
.dtp .aell-loading-spinner {
  display: none;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  box-sizing: border-box;
  border: 4px solid #c9dce7;
  border-top-color: #009de2;
  border-radius: 50%;
  animation: aell-calendar-spin .8s linear infinite;
}
.dtp .is-loading .aell-loading-spinner { display: block; }
@keyframes aell-calendar-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .dtp .aell-loading-spinner { animation: none; }
}
