/* Small accessibility fixes; the reference design and its breakpoints remain intact. */
:focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
html { scroll-padding-top: 76px; }
.pv-root .pv-modal { padding: 16px 18px; overflow: hidden; }
.pv-modal .pv-dialog { display: flex; flex-direction: column; max-height: calc(100dvh - 32px); }
.pv-modal .pv-dialog-head { flex: none; }
.pv-modal .pv-dialog-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.submission-status { margin: 0; font-size: 13px; line-height: 1.4; }
.submission-status[data-state="error"] { color: #b42318; }
.submission-status[data-state="pending"]::before, [data-enquiry-status][data-state="pending"]::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  margin-inline-end: .45em;
  vertical-align: -.13em;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  animation: submission-spin .85s linear infinite;
}
@keyframes submission-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media (max-width: 767px) {
  .pv-root .pv-dialog { max-width: calc(100vw - 24px); }
  .pv-root .pv-head { flex-wrap: wrap; }
  .pv-root .pv-head .pv-title { flex: 1 1 100%; }
  .pv-root .pv-head h2, .pv-root .pv-head-sub { white-space: normal; overflow: visible; }
}
