/* Shared interaction refinements. Original page structure and content stay intact. */
.layout :is(button, a, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--is-focus, #0071e3);
  outline-offset: 3px;
}

/* Keep keyboard indicators inside horizontally scrolling navigation and menus. */
.layout :is(.cc-analysis-tab, .nav-button, .ui-account-item):focus-visible {
  outline-offset: -3px;
  border-radius: 5px;
}
.layout .lp-custom:has(input[type="radio"]:focus-visible) {
  outline: 3px solid #0071e3;
  outline-offset: 3px;
}
.layout .lp-custom-input[aria-invalid="true"]:focus-visible {
  outline-color: #b42318;
}
.layout :is(input, select, textarea) {
  scroll-margin-block: 100px 24px;
}
.layout .ui-account-panel :is(button, a, select):focus-visible {
  outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
  .layout *, .layout *::before, .layout *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
