/* Reversible accessibility baseline. No changes to the established RTL treatment. */
html[data-li-a11y] {
  --li-a11y-header: 84px;
  scroll-padding-top: calc(var(--li-a11y-header) + 16px);
}
html[data-li-a11y] main [id] { scroll-margin-top: 8px !important; }
html[data-li-a11y] [data-li-main-target] { min-width: 0; }
html[data-li-a11y] [data-li-main-target]:focus { outline: none; }
html[data-li-a11y] :is(.reveal, .reveal-left, .reveal-right):focus-within {
  opacity: 1 !important; transform: none !important; transition: none !important;
}
html[data-li-a11y]:not([data-li-a11y-input='pointer']) :is(a, button, input, select, textarea, summary, [tabindex]):not([data-li-main-target]):focus-visible,
html[data-li-a11y]:not([data-li-a11y-input='pointer']) #header[data-li-navigation] :focus-visible {
  outline: 2px solid #14213b !important;
  outline-offset: 3px !important;
  /* A white inner band keeps the navy indicator visible on dark surfaces. */
  box-shadow: 0 0 0 5px #fff !important;
  scroll-margin-bottom: 100px;
}
html[data-li-a11y][data-li-a11y-input='pointer'] :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
html[data-li-a11y][data-li-a11y-input='pointer'] #header[data-li-navigation] :focus-visible {
  /* Text fields may match :focus-visible after a pointer click in browsers. */
  outline: none !important;
}
html[data-li-a11y]:not([data-li-a11y-input='pointer']) :is(.supplier-cookie-switch, .entry-ban-choices) input:focus-visible + span,
html[data-li-a11y]:not([data-li-a11y-input='pointer']) .visa-mode-option:has(input:focus-visible) {
  outline: 2px solid #14213b !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px #fff !important;
}
html[data-li-a11y][data-li-a11y-input='pointer'] :is(.supplier-cookie-switch, .entry-ban-choices) input:focus-visible + span,
html[data-li-a11y][data-li-a11y-input='pointer'] .visa-mode-option:has(input:focus-visible) {
  outline: none !important;
}
html[data-li-a11y] #li-a11y-skip {
  position: fixed !important;
  z-index: 13000;
  inset-block-start: max(12px, env(safe-area-inset-top));
  inset-inline-start: 12px;
  width: auto;
  max-width: calc(100vw - 24px);
  padding: 12px 18px;
  border: 1px solid #14213b;
  border-radius: 4px;
  background: #fff;
  color: #14213b;
  font: 600 16px/1.5 'Outfit', Tahoma, Arial, sans-serif;
  text-decoration: underline;
  text-underline-offset: 3px;
  transform: translateY(calc(-100% - 24px));
  opacity: 0;
  pointer-events: none;
}
html[data-li-a11y]:not([data-li-a11y-input='pointer']) #li-a11y-skip:focus-visible {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}
html[data-li-a11y] :where(button, summary, a[role="button"]) { min-width: 44px; min-height: 44px; }
html[data-li-a11y] .supplier-cookie-close { width: 44px; height: 44px; }
html[data-li-a11y] #header[data-li-navigation] :is(.li-nav-icon, .li-nav-mobile-trigger) {
  width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
}
html[data-li-a11y] #header[data-li-navigation] .li-nav-language summary { min-height: 44px !important; }
html[data-li-a11y] #header[data-li-navigation] .li-nav-brand { display: flex !important; align-items: center !important; min-height: 44px !important; }
html[data-li-a11y] #header[data-li-navigation] .li-nav-language-native { color: #526073 !important; }
html[data-li-a11y] #header[data-li-navigation] :is(.li-nav-services, .li-nav-language-options) { scroll-padding-block: 12px; }
html[data-li-a11y] .entry-ban-guide-page .page-head .entry-ban-hero-imprint { color: #f34c57; }
html[data-li-a11y] .blog-v5-pilot .v5-cookie-dismiss {
  width: 44px; height: 44px; top: 5px; right: 6px;
}
html[data-li-a11y] footer.li-v4-footer .fsoc { width: 44px; height: 44px; }
html[data-li-a11y] #floatUp[data-li-back-top] {
  width: 44px; height: 44px; min-width: 44px; min-height: 44px;
  justify-content: center; padding: 0; border: 1px solid #8793a5; border-radius: 50%;
  background: #fff; color: #14213b; box-shadow: 0 2px 10px #14213b15;
}
html[data-li-a11y] #floatUp[data-li-back-top]:not(.visible) { visibility: hidden; pointer-events: none; }
html[data-li-a11y] main :is(.is-table-scroll, .editorial-table-wrap, .entry-ban-v4-table:not(.v5-route-map)) {
  box-sizing: border-box; min-width: 0; max-width: 100%; overflow-x: auto;
  overscroll-behavior-x: contain; scroll-padding: 8px;
}
html[data-li-a11y] main :is(.article-main, .entry-ban-guide-prose, .article-inner) { min-width: 0; }
html[data-li-a11y] main :is(img, video, iframe) { max-width: 100%; }
html[data-li-a11y] main :is(th, td) { overflow-wrap: break-word; }
html[data-li-a11y] main :is(input:not([type="radio"]):not([type="checkbox"]), select, textarea) {
  box-sizing: border-box; min-width: 0; max-width: 100%; border-color: #7b8799;
}
html[data-li-a11y] .entry-ban-choices input:not(:checked) + span { border-color: #7b8799; }
@media (pointer: coarse), (max-width: 1100px) {
  html[data-li-a11y] #header[data-li-navigation] :is(.li-nav-group li a, .li-nav-all, .li-nav-mobile-links > a) {
    min-height: 44px !important;
  }
  html[data-li-a11y] .entry-ban-toc nav a,
  html[data-li-a11y] footer.li-v4-footer :is(.flinks a, .fci-link) {
    display: flex; align-items: center; min-height: 44px;
  }
  html[data-li-a11y] .blog-v5-pilot .v5-route-map td a { min-height: 44px; }
}
@media (max-height: 420px) {
  html[data-li-a11y] #header[data-li-navigation] { --li-nav-height: 64px; }
  html[data-li-a11y] #header[data-li-navigation] .li-nav-brand img { height: 36px !important; }
  html[data-li-a11y] .chat-widget {
    position: static !important; inset: auto !important; width: fit-content;
    margin: 20px 24px 24px auto !important;
  }
  html[data-li-a11y] .supplier-cookie-panel {
    max-height: calc(100dvh - var(--li-a11y-header) - 12px) !important; overflow: auto;
  }
  html[data-li-a11y] .supplier-cookie-dialog { max-height: calc(100dvh - 16px); }
  html[data-li-a11y] #floatUp { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-li-a11y] { scroll-behavior: auto !important; }
  html[data-li-a11y] :is(.reveal, .reveal-left, .reveal-right) {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}
/* Mobile audit MB-07/08: retain the approved foreground palette and typeface.
   A narrow navy halo separates the existing red glyphs from their background;
   no box, full-photo overlay, font stroke/weight or layout is introduced. */
section.li-home-hero h1 em,
#contact.cta .cta-heading em,
#contact.cta .cta-c h4 .li-contrast-text {
  text-shadow: -1px -1px 0 #111927, 1px -1px 0 #111927,
               -1px 1px 0 #111927, 1px 1px 0 #111927,
               0 2px 8px rgba(17,25,39,.65);
}
#contact.cta .cta-c p a.li-home-contact-link {
  color: inherit;
  font: inherit;
  text-decoration: inherit;
}
@media (max-width: 980px), (pointer: coarse) {
  html body .search-bar input,
  html body .ebook-field input,
  html body .ebook-field textarea,
  html body .blog-contact .review-request-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  html body .blog-contact .review-request-form select,
  html body .blog-contact .review-request-form textarea,
  html body #visa-form .visa-field input {
    font-size: 16px !important;
  }
}
