/* SiteTie 247 — keyboard, focus and desktop/tablet accessibility layer. */
:root{--st-focus:#4d5cff;--st-focus-ring:0 0 0 3px rgba(77,92,255,.22)}
:where(button,a,input,select,textarea,[role="button"],[tabindex]):focus{outline:none}
:where(button,a,input,select,textarea,[role="button"],[tabindex]):focus-visible{outline:3px solid var(--st-focus)!important;outline-offset:2px!important;box-shadow:var(--st-focus-ring)!important}
:where(button,[role="button"]):disabled{cursor:not-allowed;opacity:.58}
@media (hover:hover) and (pointer:fine){
  :where(button,a,[role="button"]):not(:disabled){cursor:pointer}
  #hsiDemoNav button:hover,.hsi-stat:hover,.st75-more-item:hover{filter:brightness(.985)}
}
/* Make all dialog families keyboard-readable and internally scrollable. */
:where(.overlay,[id$="Overlay"],[id*="Overlay"])[aria-hidden="false"],
:where(.overlay,[id$="Overlay"],[id*="Overlay"]).open{overscroll-behavior:contain}
:where(.sheet,[class$="-sheet"],[class*=" sheet"]){overscroll-behavior:contain}
:where(.st231-body,.st240-body,.st243-body,[class$="-body"]){scrollbar-gutter:stable}
/* Desktop keyboard users need a visible skip target without changing mobile UI. */
#st247Skip{position:fixed;left:12px;top:12px;z-index:30000;transform:translateY(-160%);background:#111a35;color:#fff;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:800;transition:transform .15s ease}
#st247Skip:focus{transform:translateY(0)}
/* Avoid focus being hidden under fixed bottom navigation. */
:where(button,a,input,select,textarea,[tabindex]):focus-visible{scroll-margin-top:86px;scroll-margin-bottom:110px}
@media (max-width:650px){:where(button,a,input,select,textarea,[tabindex]):focus-visible{scroll-margin-bottom:118px}}
@media (prefers-contrast:more){:where(button,a,input,select,textarea,[role="button"],[tabindex]):focus-visible{outline-width:4px!important;outline-color:#1b2cff!important}}
@media (prefers-reduced-motion:reduce){#st247Skip{transition:none}}
