/* Keyboard, text, and widget improvements shared across the rebuilt public site. */
:root { scroll-padding-block-start: 5rem; }
html { scroll-behavior: smooth; }
body { min-width: 320px; }
.skip-link {
  position: fixed; z-index: 2000; inset-block-start: .5rem; inset-inline-start: .5rem;
  padding: .8rem 1rem; border: 3px solid #071d30; border-radius: .5rem;
  background: #fff; color: #071d30; font-size: 1rem; font-weight: 800;
  transform: translateY(-160%); transition: transform .15s ease;
}
.skip-link:focus { transform: translateY(0); outline: 3px solid #087ca5; outline-offset: 2px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #075f88 !important; outline-offset: 3px !important;
  box-shadow: 0 0 0 2px #fff !important;
}
button, input, select, textarea { font: inherit; }
.ins-a11y-toggle, .ins-chat-toggle { min-width: 48px; min-height: 48px; }
.ins-a11y-panel {
  box-sizing: border-box; max-height: min(78dvh, 38rem); overflow-y: auto;
  overscroll-behavior: contain; scrollbar-gutter: stable;
}
.a11y-heading h2 { margin: 0; color: #102c43; font-size: 1rem; line-height: 1.4; }
.a11y-font-controls button, .a11y-option, #a11y-close { min-width: 44px; min-height: 44px; cursor: pointer; }
.a11y-option { border-radius: .45rem; font-size: .9rem; }
.a11y-option[aria-pressed="true"] { outline: 2px solid #075f88; outline-offset: -2px; font-weight: 800; }
.a11y-help { margin: .65rem .15rem 0; color: #42566a; font-size: .78rem; line-height: 1.6; }
html[data-a11y-font="-1"] { font-size: 90%; }
html[data-a11y-font="1"] { font-size: 112%; }
html[data-a11y-font="2"] { font-size: 125%; }
html[data-a11y-font="3"] { font-size: 145%; }
html[data-a11y-font="4"] { font-size: 200%; }
html.ins-a11y-grayscale, html.ins-a11y-contrast { filter: none !important; }
html.ins-a11y-contrast body > *:not(.ins-a11y):not(.ins-cookie-banner):not(.ins-chat):not(.ins-popup):not(script) {
  filter: contrast(1.5) !important;
}
html.ins-a11y-underline a { text-decoration: underline !important; text-decoration-thickness: .12em; text-underline-offset: .2em; }
html.ins-a11y-spacing body { line-height: 1.8 !important; letter-spacing: .04em !important; word-spacing: .12em !important; }
html.ins-a11y-reduced-motion *, html.ins-a11y-reduced-motion *::before, html.ins-a11y-reduced-motion *::after {
  scroll-behavior: auto !important; animation-duration: .01ms !important;
  animation-iteration-count: 1 !important; transition-duration: .01ms !important;
}
.ins-chat-head { align-items: center; }
.ins-chat-title { margin: 0; color: #fff; }
.ins-chat-subtitle { margin: .15rem 0 0; }
.ins-chat-log { overscroll-behavior: contain; overflow-wrap: anywhere; }
.ins-chat-msg { width: fit-content; max-width: min(92%, 34rem); direction: rtl; text-align: start; overflow-wrap: anywhere; }
.ins-chat-msg p { line-height: 1.65; }
.ins-chat-form { direction: rtl; }
.ins-chat-input { min-width: 0; direction: rtl; text-align: start; }
.ins-chat-send { min-width: 44px; min-height: 44px; font-size: 1.2rem; }
.ins-chat-panel { max-height: calc(100dvh - 8rem); }
@media (max-width: 639px) {
  .ins-a11y { inset-inline-start: max(.75rem, env(safe-area-inset-left)); }
  .ins-a11y-panel { width: min(21rem, calc(100vw - 1.5rem)); max-height: 72dvh; }
  .ins-chat-panel {
    position: fixed; inset-inline: .625rem; inset-block-end: calc(4.5rem + env(safe-area-inset-bottom));
    width: auto; height: min(34rem, calc(100dvh - 7rem)); max-height: calc(100dvh - 7rem);
  }
  html.ins-cookie-open .ins-chat { bottom: calc(var(--ins-cookie-h, 6.5rem) + .75rem + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
