/* AHM Hosting v3.0.59 — Touch-only highlights, without blue focus rectangles.
 * Loaded after the page/tool styles. No layout, content or PDF rules change. */
html { -webkit-tap-highlight-color: transparent; }
:where(a, button, summary, input, select, textarea, [role="button"], [tabindex]) {
  -webkit-tap-highlight-color: transparent;
}
/* Non-keyboard focus should never leave a temporary colored rectangle. */
:where(a, button, summary, input, select, textarea, [role="button"], [tabindex]):focus:not(:focus-visible) {
  outline: none !important;
}
/* Keep a visible, neutral focus indicator for keyboard/switch navigation.
   The skip link retains its own high-contrast keyboard focus styling. */
:where(a, button, summary, input, select, textarea, [role="button"], [tabindex]):not(.skip-link):focus-visible {
  outline: 2px solid #34455d !important;
  outline-offset: 3px !important;
}
/* The browser may mark programmatically focused elements focus-visible even
   after a tap; tracked pointer input takes precedence over that heuristic. */
html.ahm-pointer-input :where(a, button, summary, input, select, textarea, [role="button"], [tabindex]):not(.skip-link):focus {
  outline: none !important;
}
/* A selected device selector should keep its normal selected appearance,
   but not add the temporary focus halo on a pointer tap. */
html.ahm-pointer-input .speed-device input:focus-visible + span {
  box-shadow: none;
}

/* V3.0.71 — Text fields do not get the dark rectangular focus outline.
 * Preserve a discreet, non-box keyboard indicator for accessibility. */
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):is(:focus, :focus-visible) {
  outline: none !important;
  outline-offset: 0 !important;
}
html:not(.ahm-pointer-input) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus-visible {
  box-shadow: inset 0 -2px 0 rgba(35, 92, 230, .42);
}
html.ahm-pointer-input :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
  box-shadow: none !important;
}

/* V3.0.72 — Fix cascade specificity: the global :focus-visible rule uses
   :not(.skip-link) and wins over the older :where(input...) override.
   Text fields must not gain a dark rectangle or a blue inset underline
   when tapped. Keep checkbox/radio and interactive keyboard outlines. */
html body :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):is(:focus, :focus-visible) {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}
/* The homepage field is wrapped in a div; never add a second focus box.
   Preserve the same border/shadow in both idle and focused states. */
html body .batch-report .batch-domain-wrap:focus-within {
  outline: none !important;
  border-color: #d0ddf1 !important;
  box-shadow: 0 7px 19px rgba(21,62,122,.04) !important;
}
