/* Scoped availability layout corrections. Provider behavior stays unchanged. */
html .consultant-tools-root.ctp .ct-time-block,
html .consultant-tools-root.ctp .ct-time-block label,
html .consultant-tools-root.ctp .ct-time-block input {
  min-width: 0;
}

html .consultant-tools-root.ctp .ct-time-block input {
  width: 100%;
  min-height: 44px;
  font-size: 16px;
}

html .consultant-tools-root.ctp .ct-remove-button {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}

html .consultant-tools-root.ctp .ct-review-drawer {
  overscroll-behavior: contain;
  scroll-padding-block: 16px;
}

html .consultant-tools-root.ctp .ct-review-list summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  cursor: pointer;
}

@media (max-width: 1099px) {
  html .consultant-tools-root.ctp[data-pending]:not([data-pending='0']) .ct-mobile-actionbar {
    position: fixed;
    display: flex;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 45;
  }

  html .consultant-tools-root.ctp[data-pending]:not([data-pending='0']) .ct-main {
    padding-bottom: calc(104px + env(safe-area-inset-bottom));
  }

  html .consultant-tools-root.ctp .ct-panel input,
  html .consultant-tools-root.ctp .ct-panel select,
  html .consultant-tools-root.ctp .ct-panel textarea {
    font-size: 16px;
    scroll-margin-block: 88px;
  }
}

@media (max-width: 479px) {
  html .consultant-tools-root.ctp .ct-success-banner {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  html .consultant-tools-root.ctp .ct-success-actions {
    grid-column: 2;
  }

  html .consultant-tools-root.ctp .ct-success-dismiss {
    width: 44px;
    height: 44px;
  }

  html .consultant-tools-root.ctp .ct-preset-row,
  html .consultant-tools-root.ctp .ct-apply-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
  }

  html .consultant-tools-root.ctp .ct-preset-row > span,
  html .consultant-tools-root.ctp .ct-apply-row > span {
    grid-column: 1 / -1;
  }

  html .consultant-tools-root.ctp .ct-preset-row > button,
  html .consultant-tools-root.ctp .ct-apply-row > button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    white-space: normal;
  }

  html .consultant-tools-root.ctp .ct-time-block {
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-areas: 'start remove' 'end remove';
    gap: 12px;
  }

  html .consultant-tools-root.ctp .ct-time-block > label:first-of-type {
    grid-area: start;
  }

  html .consultant-tools-root.ctp .ct-time-block > label:last-of-type {
    grid-area: end;
  }

  html .consultant-tools-root.ctp .ct-time-arrow {
    display: none;
  }

  html .consultant-tools-root.ctp .ct-time-block > .ct-remove-button {
    grid-area: remove;
    align-self: center;
  }
}
