/* Shared header overrides — covers every public page with data-site-header. */
/* Edge-to-edge masthead content + language selector v4
   The non-scrolled header uses the available viewport width rather than
   constraining its content to the 1240px editorial column. */
@media (min-width:1101px) {
  body:not(.has-scrolled) .rail,
  body:not(.has-scrolled) .rail.webglass-microheader {
    left:0 !important;
    right:0 !important;
    top:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:14px clamp(18px, 2vw, 36px) !important;
    box-sizing:border-box !important;
    transform:none !important;
    border-radius:0 !important;
    gap:clamp(16px,2vw,36px) !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
  }
  body:not(.has-scrolled) .rail:hover,
  body:not(.has-scrolled) .rail.webglass-microheader:hover {
    left:0 !important;
    width:100% !important;
    transform:none !important;
    border-radius:0 !important;
  }
  body:not(.has-scrolled) .rail .rail-panel {
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) max-content !important;
    align-items:center !important;
    gap:clamp(12px,2vw,28px) !important;
    margin:0 !important;
  }
  body:not(.has-scrolled) .rail .brand {
    margin:0 !important;
    transform:none !important;
    white-space:nowrap;
  }
}

/* The globe is a single circular icon action, positioned immediately
   before the search control even if auth/search buttons are rerendered. */
body .rail {
  overflow:visible !important;
}
body .kb-language-picker {
  display:inline-flex !important;
  flex:0 0 38px !important;
  width:38px !important;
  min-width:38px !important;
  height:38px !important;
  position:relative;
  margin:0 !important;
  padding:0 !important;
  z-index:1100;
}
body .kb-language-trigger {
  display:inline-flex !important;
  width:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  padding:0 !important;
  align-items:center;
  justify-content:center;
  flex:0 0 38px !important;
  border:1px solid #d4dfe8 !important;
  border-radius:50% !important;
  background:#f2f6f9 !important;
  color:#203648 !important;
  box-shadow:none !important;
  cursor:pointer;
  transform:none !important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
body .kb-language-trigger svg {
  display:block;
  width:19px;
  height:19px;
  stroke:currentColor;
  pointer-events:none;
}
body .kb-language-trigger:hover,
body .kb-language-picker.is-open .kb-language-trigger {
  background:#e4edf4 !important;
  border-color:#9fb6c8 !important;
  color:#10283a !important;
}
body .kb-language-trigger:focus-visible {
  outline:2px solid #327fc0 !important;
  outline-offset:3px !important;
}

body .kb-language-menu {
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  width:336px;
  max-width:calc(100vw - 28px);
  box-sizing:border-box;
  padding:14px;
  border:1px solid #d8e2eb;
  border-radius:18px;
  background:#fff;
  color:#172c40;
  box-shadow:0 18px 45px rgba(14,37,56,.17),0 2px 8px rgba(14,37,56,.07);
  z-index:1200;
  text-align:left;
}
body .kb-language-menu[hidden] {
  display:none !important;
}
body .kb-language-menu-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:8px 8px 14px;
  border-bottom:1px solid #e8eef3;
  margin-bottom:8px;
}
body .kb-language-menu-heading span:first-child {
  font-size:13px;
  font-weight:740;
  letter-spacing:-.018em;
  color:#10283a;
}
body .kb-language-menu-heading span:not(:first-child) {
  font-size:11px;
  color:#718394;
}
body .kb-language-menu-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
body .kb-language-option {
  display:flex;
  gap:7px;
  align-items:center;
  justify-content:space-between;
  min-width:0;
  min-height:42px;
  padding:9px 11px;
  text-align:left;
  background:transparent;
  color:#293e50;
  border:1px solid transparent;
  border-radius:10px;
  font-size:12.5px;
  font-weight:600;
  line-height:1.25;
  white-space:nowrap;
  cursor:pointer;
}
body .kb-language-option .kb-language-code {
  flex:0 0 auto;
  font-size:10px;
  font-weight:700;
  color:#8292a0;
}
body .kb-language-option .kb-language-name {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
body .kb-language-option:hover,
body .kb-language-option:focus-visible {
  color:#10283a;
  background:#eff4f8;
  border-color:#dce7f0;
}
body .kb-language-option[aria-checked="true"] {
  color:#114e7d;
  background:#e8f1f8;
  border-color:#c8ddeb;
}
body .kb-language-option[aria-checked="true"] .kb-language-code {
  color:#236997;
}
body .kb-language-option:focus-visible {
  outline:2px solid #327fc0 !important;
  outline-offset:0 !important;
}

@media (max-width:1100px) {
  body .kb-language-picker {
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
  }
  body .kb-language-trigger {
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }
}
@media (max-width:760px) {
  body .kb-language-menu {
    right:auto;
    left:0;
    top:calc(100% + 10px);
    width:min(336px,calc(100vw - 48px));
  }
}
@media(prefers-color-scheme:dark) {
  body .kb-language-trigger {
    background:#192b3a !important;
    color:#dceaf5 !important;
    border-color:#3b5264 !important;
  }
  body .kb-language-trigger:hover,
  body .kb-language-picker.is-open .kb-language-trigger {
    background:#284257 !important;
    color:#fff !important;
  }
  body .kb-language-menu {
    background:#132231;
    color:#e5eef7;
    border-color:#334c60;
    box-shadow:0 18px 45px rgba(0,0,0,.4);
  }
  body .kb-language-menu-heading {
    border-bottom-color:#2f465a;
  }
  body .kb-language-menu-heading span:first-child {
    color:#eef5fb;
  }
  body .kb-language-menu-heading span:last-child,
  body .kb-language-option .kb-language-code {
    color:#9eb4c6;
  }
  body .kb-language-option {
    color:#dae7f2;
  }
  body .kb-language-option:hover,
  body .kb-language-option:focus-visible {
    color:#fff;
    background:#233c50;
    border-color:#46627a;
  }
  body .kb-language-option[aria-checked="true"] {
    color:#e9f4fc;
    background:#254962;
    border-color:#46728f;
  }
}


/* Universal Kerbot header, applies to every public route with data-site-header.
   Auth/profile/search remain functional, and mobile drawer owns its layout. */
@media (min-width:1101px) {
  body:not(.has-scrolled) [data-site-header].rail {
    position:relative !important;
    width:100vw !important;
    max-width:none !important;
    left:50% !important;
    right:auto !important;
    top:0 !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
    padding:13px clamp(20px,2.2vw,40px) !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    gap:clamp(18px,2vw,34px) !important;
    min-height:82px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border:0 !important;
    border-bottom:1px solid #dbe3ea !important;
    border-radius:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  body:not(.has-scrolled) [data-site-header].rail:hover,
  body:not(.has-scrolled) [data-site-header].rail.glass-hovered {
    left:50% !important;
    width:100vw !important;
    transform:translateX(-50%) !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  body:not(.has-scrolled) [data-site-header] .rail-panel,
  body.has-scrolled [data-site-header] .rail-panel {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) max-content !important;
    align-items:center !important;
    gap:clamp(12px,1.7vw,26px) !important;
    min-width:0 !important;
    width:100% !important;
  }
  body.has-scrolled [data-site-header].rail {
    position:fixed !important;
    top:14px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(calc(100vw - 36px),1360px) !important;
    max-width:calc(100vw - 36px) !important;
    margin:0 !important;
    padding:11px 24px !important;
    min-height:64px !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    gap:clamp(15px,2vw,28px) !important;
    background:#fff !important;
    color:#12293d !important;
    border:1px solid #d7e3eb !important;
    border-radius:9999px !important;
    box-shadow:0 16px 38px rgba(8,32,54,.16) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    overflow:visible !important;
    z-index:1200 !important;
  }
  body.has-scrolled [data-site-header].rail:hover,
  body.has-scrolled [data-site-header].rail.glass-hovered {
    top:14px !important;
    left:50% !important;
    width:min(calc(100vw - 36px),1360px) !important;
    transform:translateX(-50%) !important;
    border-radius:9999px !important;
    box-shadow:0 18px 42px rgba(8,32,54,.18) !important;
  }
  body.has-scrolled.has-site-announcement-sticky [data-site-header].rail,
  body.has-scrolled.has-site-announcement-sticky [data-site-header].rail:hover {
    top:calc(8px + var(--kerbot-announcement-height,44px) + 11px) !important;
  }
  [data-site-header] .rail-actions {
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    white-space:nowrap;
    min-width:0;
  }
  [data-site-header] .rail-actions > :is(.site-search-toggle,.account-notifications-button) {
    display:inline-grid !important;
    place-items:center !important;
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    border-radius:50% !important;
    padding:0 !important;
    background:#f2f6f9 !important;
    border:1px solid #d4dfe8 !important;
    color:#213e54 !important;
    box-shadow:none !important;
  }
  [data-site-header] .rail-actions > :is(.site-search-toggle,.account-notifications-button):hover {
    background:#e5eef5 !important;
    color:#0d547f !important;
  }
  [data-site-header] .nav {
    display:flex !important;
    justify-content:flex-start;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:3px !important;
    min-width:0;
  }
  [data-site-header] .nav :is(a,.nav-dropdown-btn) {
    font-size:13px !important;
    font-weight:600 !important;
    white-space:nowrap;
    border-radius:9999px !important;
  }
  [data-site-header] .brand {
    margin:0 !important;
    gap:10px !important;
    min-width:0;
    white-space:nowrap;
  }
  [data-site-header] .brand b {
    font-size:15px !important;
    letter-spacing:-.03em !important;
    font-weight:750 !important;
    color:#122d44 !important;
  }
  [data-site-header] .brand-subtitle {
    display:block !important;
    font-size:10px !important;
    font-weight:650 !important;
    color:#74879a !important;
    letter-spacing:.09em !important;
    text-transform:uppercase;
  }
  [data-site-header] .rail-actions :is(.btn,.account-user-button,.account-logout-button) {
    min-height:38px !important;
    height:38px !important;
    border-radius:9999px !important;
    padding:0 14px !important;
    font-size:12px !important;
    font-weight:700 !important;
    box-shadow:none !important;
  }
  body.has-scrolled [data-site-header] .kb-language-picker,
  body.has-scrolled [data-site-header] .site-search-toggle {
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}

/* Mobile selector stays aligned with header action icons without breaking the drawer. */
@media (max-width:1100px) {
  [data-site-header].rail {
    overflow:visible !important;
  }
  [data-site-header] .brand-subtitle {
    font-size:10px !important;
    letter-spacing:.07em !important;
    color:#738598 !important;
  }
}
@media (prefers-color-scheme:dark) {
  body:not(.has-scrolled) [data-site-header].rail,
  body.has-scrolled [data-site-header].rail {
    background:#111b25 !important;
    color:#e7eff7 !important;
    border-color:#2e475b !important;
  }
  [data-site-header] .brand b {color:#e9f2f9 !important;}
  [data-site-header] .brand-subtitle {color:#a3b6c6 !important;}
  [data-site-header] .rail-actions > :is(.site-search-toggle,.account-notifications-button) {
    background:#192b3a !important;
    border-color:#3b5264 !important;
    color:#e7f1f9 !important;
  }
}
/* SVG caret is visually centered on the account button. */
[data-site-header] .kb-account-caret {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:13px !important;
  height:13px !important;
  transform:none !important;
  margin-left:2px !important;
}
[data-site-header] .kb-account-caret svg {
  display:block;
  width:12px;
  height:12px;
}
/* Real emoji flags instead of raw language abbreviations. */
[data-site-header] .kb-language-flag {
  flex:0 0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:20px;
  line-height:1;
  font-weight:400;
  letter-spacing:0;
}
/* Globe and search are siblings, with identical geometry and 8px rhythm. */
[data-site-header] .rail-actions .kb-language-picker {
  display:inline-flex !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  align-items:center !important;
  align-self:center !important;
  margin:0 !important;
}
[data-site-header] .rail-actions .kb-language-trigger {
  display:inline-grid !important;
  place-items:center !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  padding:0 !important;
  border:1px solid #d4dfe8 !important;
  border-radius:50% !important;
  background:#f2f6f9 !important;
  color:#203648 !important;
}
[data-site-header] .kb-language-menu {
  z-index:1800 !important;
}
[data-site-header] .kb-language-menu-heading {
  justify-content:flex-start !important;
}
[data-site-header] .kb-language-menu-heading span:first-child {
  font-size:13px !important;
  font-weight:700 !important;
}
@media (max-width:760px) {
  [data-site-header] .rail-actions .kb-language-picker {
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
  }
  [data-site-header] .rail-actions .kb-language-trigger {
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
  }
}

[data-site-header] .kb-language-flag-image {
  display:block;
  width:25px;
  height:17px;
  max-width:25px;
  object-fit:cover;
  border:1px solid rgba(28,56,77,.1);
  border-radius:3px;
  box-shadow:0 1px 1px rgba(14,36,54,.09);
}
[data-site-header] .kb-language-flag {min-width:25px;}

/* Keep the layout height stable when the desktop rail becomes fixed. */
.kb-rail-spacer { display:none; }
@media (min-width:1101px) {
  body.has-scrolled .kb-rail-spacer {
    display:block;
    height:var(--kb-header-flow-height,82px);
    min-height:0;
    pointer-events:none;
  }
}


/* Premium interactive states and predictable RTL header v8. */
[data-site-header] .nav > a.kb-nav-active,
[data-site-header] .nav > a[aria-current="page"],
[data-site-header] .nav .nav-dropdown-btn.kb-nav-active {
  background:rgba(29,101,151,.11) !important;
  color:#0c5488 !important;
  box-shadow:inset 0 0 0 1px rgba(31,105,152,.11) !important;
  border-radius:9999px !important;
  font-weight:750 !important;
}
[data-site-header] .nav > a:not(.kb-nav-active):active,
[data-site-header] .nav .nav-dropdown-btn:active {
  background:#e3edf5 !important;
  color:#0a4c7c !important;
  border-radius:9999px !important;
}
[data-site-header] .nav > a:focus-visible,
[data-site-header] .nav .nav-dropdown-btn:focus-visible,
[data-site-header] .kb-account-menu-item:focus-visible,
[data-site-header] .kb-language-option:focus-visible {
  outline:2px solid #2775ac !important;
  outline-offset:2px !important;
}
[data-site-header] .kb-language-option,
[data-site-header] .kb-account-menu .kb-account-menu-item {
  border-radius:9999px !important;
  padding-left:15px !important;
  padding-right:15px !important;
}
[data-site-header] .kb-account-menu .kb-account-menu-logout {
  margin-top:4px !important;
  border-top:0 !important;
  border-radius:9999px !important;
}
[data-site-header] .kb-account-menu-heading {
  margin-bottom:6px !important;
  padding-bottom:10px !important;
}
[data-site-header] .kb-account-menu-heading strong {
  color:#172d40;
}
@media(min-width:1101px) {
  body.home-page.has-scrolled [data-site-header] .brand-subtitle {
    display:none !important;
  }
  body.home-page.has-scrolled [data-site-header] .brand-copy {
    display:flex;
    justify-content:center;
  }
}
/* Only the *text* direction follows the chosen language.
   Never invert brand/nav/actions positions or mirror globes and search icons. */
html[dir="rtl"] [data-site-header],
html[dir="rtl"] [data-site-header].rail,
html[dir="rtl"] [data-site-header] .rail-panel,
html[dir="rtl"] [data-site-header] .nav,
html[dir="rtl"] [data-site-header] .rail-actions,
html[dir="rtl"] [data-site-header] .kb-mega-menu,
html[dir="rtl"] [data-site-header] .kb-mega-grid,
html[dir="rtl"] [data-site-header] .kb-language-menu,
html[dir="rtl"] [data-site-header] .kb-account-menu {
  direction:ltr !important;
}
html[dir="rtl"] [data-site-header] :is(.nav > a,.nav-dropdown-btn,.kb-mega-column a,.kb-mega-column h3,.kb-account-menu-item,.kb-language-name) {
  unicode-bidi:plaintext;
}
html[dir="rtl"] [data-site-header] .nav {
  flex-direction:row !important;
  justify-content:flex-start !important;
}
html[dir="rtl"] [data-site-header] .rail-actions {
  flex-direction:row !important;
  justify-content:flex-end !important;
}
html[dir="rtl"] [data-site-header] .brand {
  flex-direction:row !important;
}
html[dir="rtl"] [data-site-header] .rail-panel {
  grid-template-columns:minmax(0,1fr) max-content !important;
}
html[dir="rtl"] [data-site-header] .kb-language-menu-list {
  direction:ltr !important;
}
@media(prefers-color-scheme:dark){
  [data-site-header] .nav > a.kb-nav-active,
  [data-site-header] .nav > a[aria-current="page"],
  [data-site-header] .nav .nav-dropdown-btn.kb-nav-active {
    background:#244760 !important;
    color:#d6ecfb !important;
    box-shadow:inset 0 0 0 1px #446985 !important;
  }
  [data-site-header] .kb-account-menu-heading strong {color:#e5eef6;}
}


/* Understated navigation selection: fine dotted typography, no filled pills. */
[data-site-header] .nav > a:is(.kb-nav-active,[aria-current="page"]),
[data-site-header] .nav .nav-dropdown-btn.kb-nav-active {
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  color:#1d4763 !important;
  font-weight:670 !important;
  text-decoration:underline dotted #829eaf !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:6px !important;
}
[data-site-header] .nav > a:is(.kb-nav-active,[aria-current="page"]):hover,
[data-site-header] .nav .nav-dropdown-btn.kb-nav-active:hover {
  background:transparent !important;
  color:#105c89 !important;
  text-decoration-color:#317da7 !important;
}
@media(prefers-color-scheme:dark) {
  [data-site-header] .nav > a:is(.kb-nav-active,[aria-current="page"]),
  [data-site-header] .nav .nav-dropdown-btn.kb-nav-active {
    background:transparent !important;
    box-shadow:none !important;
    color:#d7e6f1 !important;
    text-decoration-color:#8aa9bf !important;
  }
}

/* One-line corporate wordmark on every public page except the home page. */
body:not(.home-page) [data-site-header] .brand-copy {
  display:inline-flex !important;
  align-items:center !important;
  white-space:nowrap !important;
  min-width:0;
}
body:not(.home-page) [data-site-header] .brand-subtitle {
  display:none !important;
}


/* Corporate navigation RTL correction v5.
   Do NOT mirror the outer header when Arabic/Hebrew is selected.
   Legacy rtl.css v2/v3 flipped its grid and put the account on the left. */
@media (min-width:1101px) {
  html[dir="rtl"] body [data-site-header].rail {
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    direction:ltr !important;
    align-items:center !important;
  }
  html[dir="rtl"] body [data-site-header].rail > .brand {
    display:flex !important;
    grid-column:1 !important;
    grid-row:1 !important;
    order:0 !important;
    justify-self:start !important;
    margin:0 !important;
    min-width:max-content !important;
    direction:ltr !important;
    text-align:left !important;
  }
  html[dir="rtl"] body [data-site-header].rail > .rail-panel {
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) max-content !important;
    direction:ltr !important;
    align-items:center !important;
    flex:none !important;
    width:100% !important;
    min-width:0 !important;
    gap:clamp(12px,1.7vw,26px) !important;
    order:0 !important;
  }
  html[dir="rtl"] body [data-site-header].rail .rail-panel > .nav {
    grid-column:1 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-direction:row !important;
    direction:ltr !important;
    align-items:center !important;
    justify-content:flex-start !important;
    order:0 !important;
    flex:none !important;
    min-width:0 !important;
    text-align:left !important;
  }
  html[dir="rtl"] body [data-site-header].rail .rail-panel > .rail-actions {
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-direction:row !important;
    direction:ltr !important;
    align-items:center !important;
    justify-content:flex-end !important;
    order:0 !important;
    flex:none !important;
    width:auto !important;
    white-space:nowrap !important;
    text-align:left !important;
  }
  html[dir="rtl"] body [data-site-header] > .menu-toggle {
    display:none !important;
  }
}
@media (max-width:1100px) {
  html[dir="rtl"] body [data-site-header].rail {
    direction:ltr !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  html[dir="rtl"] body [data-site-header] > .brand {
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    text-align:left !important;
  }
  html[dir="rtl"] body [data-site-header] > .menu-toggle {
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
  }
  html[dir="rtl"] body [data-site-header] .rail-panel.is-open {
    direction:ltr !important;
  }
}
html[dir="rtl"] body [data-site-header] .rail-panel > .nav > a,
html[dir="rtl"] body [data-site-header] .rail-panel .nav-dropdown-btn {
  direction:rtl !important;
  unicode-bidi:plaintext !important;
  text-align:start !important;
}
html[dir="rtl"] body [data-site-header] .brand-copy,
html[dir="rtl"] body [data-site-header] .brand-copy b {
  direction:ltr !important;
  text-align:left !important;
  unicode-bidi:isolate !important;
}
html[dir="rtl"] body .site-announcement-slot.is-utility,
html[dir="rtl"] body .site-announcement.is-utility,
html[dir="rtl"] body .site-announcement.is-utility .site-announcement-inner,
html[dir="rtl"] body .site-announcement.is-utility .site-announcement-utility,
html[dir="rtl"] body .site-announcement.is-utility .site-announcement-socials {
  direction:ltr !important;
}
html[dir="rtl"] body .site-announcement.is-utility .site-announcement-utility {
  justify-content:flex-end !important;
}


/* Shared color tokens for search, locale and account controls.
   Important: place after older light/dark overrides so the later light globe
   rule cannot override the dark theme within the floating header. */
@media (prefers-color-scheme: dark) {
  html body [data-site-header].rail .rail-actions > :is(.site-search-toggle,.account-notifications-button),
  html body [data-site-header].rail .rail-actions .kb-language-trigger,
  html body [data-site-header].rail .rail-actions > .kb-language-picker .kb-language-trigger {
    background:#192b3a !important;
    border:1px solid #3b5264 !important;
    color:#e2edf6 !important;
    box-shadow:none !important;
  }
  html body [data-site-header].rail .rail-actions > :is(.site-search-toggle,.account-notifications-button):hover,
  html body [data-site-header].rail .rail-actions .kb-language-trigger:hover,
  html body [data-site-header].rail .rail-actions .kb-language-picker.is-open .kb-language-trigger {
    background:#284257 !important;
    border-color:#7692a9 !important;
    color:#fff !important;
  }
  html body [data-site-header].rail .rail-actions .kb-account-wrap :is(.account-user-button,.account-logout-button),
  html body [data-site-header].rail .rail-actions > .btn:not(.primary) {
    background:#172838 !important;
    color:#edf4f8 !important;
    border:1px solid #334f65 !important;
    box-shadow:none !important;
    border-radius:9999px !important;
  }
  html body [data-site-header].rail .rail-actions .kb-account-wrap :is(.account-user-button,.account-logout-button):hover,
  html body [data-site-header].rail .rail-actions > .btn:not(.primary):hover {
    background:#254157 !important;
    border-color:#638099 !important;
  }
  html body [data-site-header] .kb-account-menu-heading strong {
    color:#edf5fb !important;
  }
  html body [data-site-header] .kb-language-menu {
    background:#142534 !important;
    color:#e5edf5 !important;
    border:1px solid #365166 !important;
  }
  html body [data-site-header] .kb-language-option {
    color:#ddebf6 !important;
    background:transparent !important;
  }
  html body [data-site-header] .kb-language-option:is(:hover,:focus-visible) {
    background:#213d51 !important;
    color:#fff !important;
    border-color:#496982 !important;
  }
  html body [data-site-header] .kb-language-option[aria-checked="true"] {
    background:#25475f !important;
    color:#f0f8fc !important;
    border-color:#527991 !important;
  }
  html body [data-site-header] .kb-language-menu-heading span:first-child {color:#eef6fc !important;}
  html body [data-site-header] .kb-language-menu-heading {border-bottom-color:#385166 !important;}
}
[data-site-header] .kb-language-flag-image {
  display:block;
  width:25px;
  height:17px;
  border:1px solid rgba(19,50,68,.14);
  border-radius:3px;
  flex:0 0 25px;
  object-fit:cover;
}
[data-site-header] .kb-language-option:focus-visible,
[data-site-header] .kb-language-trigger:focus-visible,
[data-site-header] .site-search-toggle:focus-visible,
[data-site-header] .kb-account-wrap button:focus-visible {
  outline:2px solid #6aa7dd !important;
  outline-offset:2px !important;
}
/* Prevent opening a language menu outside the viewport on narrow screens. */
@media(max-width:760px) {
  html body [data-site-header] .kb-language-picker .kb-language-menu {
    left:0;
    right:auto;
    max-width:min(336px,calc(100vw - 28px));
  }
}

/* 2026-10: one header interaction system for Home and internal routes.
   The current route is a pill; hover/focus is a distinct temporary state. */
[data-site-header] .nav > a:is(.kb-nav-active,.is-active,[aria-current="page"]),
[data-site-header] .nav .nav-dropdown-btn.kb-nav-active {
  background:#e5eff6 !important;
  border-radius:999px !important;
  color:#134e78 !important;
  font-weight:720 !important;
  text-decoration:none !important;
  box-shadow:inset 0 0 0 1px #c9dfe9 !important;
}
[data-site-header] .nav > a.kb-mega-current,
[data-site-header] .nav .nav-dropdown-btn.kb-mega-current {
  background:#d9eaf5 !important;
  color:#124a74 !important;
  text-decoration:none !important;
  box-shadow:inset 0 0 0 1px #9fbfd3 !important;
}
[data-site-header] .nav > a:is(.kb-nav-active,.is-active,[aria-current="page"]):hover,
[data-site-header] .nav .nav-dropdown-btn.kb-nav-active:hover {
  text-decoration:none !important;
  color:#0b4f7c !important;
}
@media(prefers-color-scheme:dark) {
  [data-site-header] .nav > a:is(.kb-nav-active,.is-active,[aria-current="page"]),
  [data-site-header] .nav .nav-dropdown-btn.kb-nav-active {
    background:#213f56 !important;
    color:#e5f2fb !important;
    box-shadow:inset 0 0 0 1px #44637a !important;
  }
  [data-site-header] .nav > a.kb-mega-current,
  [data-site-header] .nav .nav-dropdown-btn.kb-mega-current {
    background:#31546e !important;
    color:#fff !important;
    box-shadow:inset 0 0 0 1px #648ca7 !important;
  }
}

/* The phone drawer owns its language selector. Never float a detached
   popover over the login button or outside the sidebar scroll container. */
.kb-language-mobile-label,
.kb-language-mobile-current,
.kb-language-mobile-flag,
.kb-language-mobile-chevron {display:none;}
@media(max-width:1100px) {
  html body .rail-panel.is-open > .kb-language-picker {
    display:flex !important;
    flex:0 0 auto !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:22px 0 0 !important;
    padding:0 !important;
    z-index:auto !important;
    position:relative !important;
  }
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-trigger {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:54px !important;
    min-height:54px !important;
    border-radius:14px !important;
    padding:0 14px !important;
    background:#f0f6fa !important;
    border:1px solid #c8d8e5 !important;
    color:#20384a !important;
    text-align:start !important;
    box-sizing:border-box !important;
  }
  html body .rail-panel.is-open .kb-language-mobile-label {
    display:inline !important;
    font-size:14px;
    font-weight:730;
  }
  html body .rail-panel.is-open .kb-language-mobile-current {
    display:inline !important;
    margin-inline-start:auto;
    font-size:12px;
    font-weight:610;
    color:#4a687d;
    direction:auto;
    unicode-bidi:isolate;
    max-width:34%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html body .rail-panel.is-open .kb-language-mobile-flag {
    display:block !important;
    width:23px;
    height:16px;
    flex:0 0 23px;
    object-fit:cover;
    border-radius:3px;
  }
  html body .rail-panel.is-open .kb-language-mobile-chevron {
    display:inline !important;
    font-size:20px;
    line-height:1;
    transition:transform .15s ease;
  }
  html body .rail-panel.is-open .kb-language-picker.is-open .kb-language-mobile-chevron {
    transform:rotate(180deg);
  }
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-menu {
    position:static !important;
    inset:auto !important;
    transform:none !important;
    display:block;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin:8px 0 0 !important;
    padding:10px !important;
    border:1px solid #cbdce7 !important;
    border-radius:14px !important;
    box-shadow:none !important;
    background:#ffffff !important;
    overflow:visible !important;
  }
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-menu[hidden] {
    display:none !important;
  }
  html body .rail-panel.is-open .kb-language-menu-list {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
    direction:ltr !important;
  }
  html body .rail-panel.is-open .kb-language-option {
    min-width:0;
    width:100%;
    min-height:48px;
    padding:10px 9px !important;
    gap:6px;
    border-radius:10px !important;
    font-size:12.5px;
    white-space:normal !important;
    direction:ltr;
    background:transparent;
  }
  html body .rail-panel.is-open .kb-language-option .kb-language-name[dir="rtl"] {
    direction:rtl !important;
    unicode-bidi:isolate !important;
  }
  html body .rail-panel.is-open .kb-language-name {
    min-width:0;
    overflow-wrap:anywhere;
    text-overflow:clip;
  }
  html body .rail-panel.is-open .kb-language-menu-heading {
    padding:5px 7px 12px !important;
    margin:0 0 8px !important;
  }
  html body .rail-panel.is-open .rail-actions {
    margin-top:12px !important;
    padding-top:10px !important;
  }
  html body .rail-panel.is-open .nav > a:is(.kb-nav-active,.is-active,[aria-current="page"]),
  html body .rail-panel.is-open .nav .nav-dropdown-btn.kb-nav-active {
    color:#a6d9ff !important;
    background:transparent !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }
  html[dir="rtl"] body .rail-panel.is-open > .kb-language-picker {
    direction:ltr !important;
  }
}
@media(max-width:375px) {
  html body .rail-panel.is-open .kb-language-menu-list {
    grid-template-columns:1fr !important;
  }
}

@media(max-width:1100px) and (prefers-color-scheme:dark) {
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-trigger {
    background:#1a3041 !important;
    border-color:#426078 !important;
    color:#edf5fb !important;
  }
  html body .rail-panel.is-open .kb-language-mobile-current {
    color:#afc8d9 !important;
  }
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-menu {
    background:#142534 !important;
    border-color:#344f65 !important;
    color:#e7f2f9 !important;
  }
}

/* The profile icon is only introduced for consistent mobile utility rows. */
.kb-account-avatar-placeholder {display:none !important;}

/* MOBILE DRAWER UTILITY ROWS — account and locale are a single design system.
   Account UI, legacy mobile CSS and the mega-menu CSS all supply conflicting
   button backgrounds. Scope this to the portaled/open drawer only. */
@media (max-width:1100px) {
  html body .rail-panel.is-open {
    --kb-drawer-control-bg:#f1f6fa;
    --kb-drawer-control-hover:#e5eff6;
    --kb-drawer-control-text:#18384e;
    --kb-drawer-control-stroke:#c9d9e5;
    --kb-drawer-control-muted:#597589;
    --kb-drawer-control-focus:#4794c9;
  }
  /* Keep locale + profile together at the bottom, without a random
     'margin-top:auto' spacer separating them. */
  html body .rail-panel.is-open > .kb-language-picker {
    margin: auto 0 0 !important;
    padding-top:18px !important;
    width:100% !important;
  }
  html body .rail-panel.is-open > .rail-actions,
  html body .rail-panel.is-open > .rail-actions[data-authenticated="true"],
  html body .rail-panel.is-open > .rail-actions[data-authenticated="false"] {
    margin:10px 0 0 !important;
    padding:0 !important;
    width:100% !important;
    min-width:0 !important;
    align-self:stretch !important;
  }
  html body .rail-panel.is-open > .rail-actions[data-authenticated="true"] {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  html body .rail-panel.is-open .rail-actions > .kb-account-wrap {
    grid-column:1/-1 !important;
    grid-row:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
  }

  html body .rail-panel.is-open > .kb-language-picker > .kb-language-trigger,
  html body .rail-panel.is-open .rail-actions > .kb-account-wrap > .kb-account-trigger {
    display:flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:11px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    padding:0 16px !important;
    margin:0 !important;
    border:1px solid var(--kb-drawer-control-stroke) !important;
    border-radius:9999px !important;
    background:var(--kb-drawer-control-bg) !important;
    color:var(--kb-drawer-control-text) !important;
    box-shadow:none !important;
    font:inherit !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    text-align:start !important;
    direction:ltr !important;
    box-sizing:border-box !important;
    transform:none !important;
    transition:background-color .15s ease,border-color .15s ease !important;
  }
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-trigger:is(:hover,:active),
  html body .rail-panel.is-open > .kb-language-picker.is-open > .kb-language-trigger,
  html body .rail-panel.is-open .rail-actions > .kb-account-wrap > .kb-account-trigger:is(:hover,:active),
  html body .rail-panel.is-open .rail-actions > .kb-account-wrap.is-open > .kb-account-trigger {
    background:var(--kb-drawer-control-hover) !important;
    border-color:var(--kb-drawer-control-focus) !important;
    color:var(--kb-drawer-control-text) !important;
  }
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-trigger:focus-visible,
  html body .rail-panel.is-open .rail-actions > .kb-account-wrap > .kb-account-trigger:focus-visible {
    outline:2px solid var(--kb-drawer-control-focus) !important;
    outline-offset:2px !important;
  }
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-trigger > svg {
    flex:0 0 20px !important;
    width:20px !important;
    height:20px !important;
  }
  html body .rail-panel.is-open .kb-language-mobile-label,
  html body .rail-panel.is-open .kb-account-name {
    min-width:0 !important;
    max-width:none !important;
    font-size:14px !important;
    font-weight:700 !important;
    color:inherit !important;
    text-align:start !important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html body .rail-panel.is-open .kb-language-mobile-current {
    color:var(--kb-drawer-control-muted) !important;
    font-size:12px !important;
    font-weight:600 !important;
  }
  html body .rail-panel.is-open .kb-language-mobile-flag {
    flex:0 0 23px !important;
    border-radius:3px !important;
  }
  html body .rail-panel.is-open .rail-actions .kb-account-avatar-placeholder {
    display:grid !important;
    place-items:center;
    flex:0 0 20px !important;
    width:20px !important;
    height:20px !important;
    color:inherit !important;
    background:transparent !important;
    border:0 !important;
  }
  html body .rail-panel.is-open .rail-actions .kb-account-avatar-placeholder svg {
    width:19px;
    height:19px;
    display:block;
  }
  html body .rail-panel.is-open .rail-actions > .kb-account-wrap > .kb-account-trigger .kb-account-caret {
    margin:0 0 0 auto !important;
    align-self:center;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--kb-drawer-control-muted) !important;
    transform:none !important;
  }
  html body .rail-panel.is-open .rail-actions > .kb-account-wrap > .kb-account-menu {
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:8px 0 0 !important;
    padding:10px !important;
    border:1px solid var(--kb-drawer-control-stroke) !important;
    border-radius:16px !important;
    background:var(--kb-drawer-control-bg) !important;
    color:var(--kb-drawer-control-text) !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-menu {
    border:1px solid var(--kb-drawer-control-stroke) !important;
    border-radius:16px !important;
    background:var(--kb-drawer-control-bg) !important;
    color:var(--kb-drawer-control-text) !important;
  }
  html body .rail-panel.is-open .kb-language-option {
    color:var(--kb-drawer-control-text) !important;
    border-radius:10px !important;
  }
  html body .rail-panel.is-open .kb-language-option:is(:hover,:focus-visible),
  html body .rail-panel.is-open .kb-language-option[aria-checked="true"] {
    background:var(--kb-drawer-control-hover) !important;
    color:var(--kb-drawer-control-text) !important;
    border-color:var(--kb-drawer-control-stroke) !important;
  }
  html body .rail-panel.is-open .kb-account-menu .kb-account-menu-item {
    color:var(--kb-drawer-control-text) !important;
  }
  html body .rail-panel.is-open .kb-account-menu .kb-account-menu-item:is(:hover,:focus-visible) {
    background:var(--kb-drawer-control-hover) !important;
    color:var(--kb-drawer-control-text) !important;
  }
  html[dir="rtl"] body .rail-panel.is-open > .kb-language-picker,
  html[dir="rtl"] body .rail-panel.is-open > .rail-actions {
    direction:ltr !important;
  }
}
@media (max-width:1100px) and (prefers-color-scheme:dark) {
  html body .rail-panel.is-open {
    --kb-drawer-control-bg:#192c3b;
    --kb-drawer-control-hover:#254358;
    --kb-drawer-control-text:#edf5fb;
    --kb-drawer-control-stroke:#375369;
    --kb-drawer-control-muted:#b4c8d8;
    --kb-drawer-control-focus:#79b8e4;
  }
}

/* Native mobile dialogs — same overlay for languages and account actions.
   They live in document.body's top layer rather than the scrollable drawer. */
@media (max-width:1100px) {
  html body dialog.kb-mobile-popup:not([open]) {
    display:none !important;
  }
  html body dialog.kb-mobile-popup[open] {
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    margin:auto !important;
    width:min(430px,calc(100vw - 28px)) !important;
    max-width:calc(100vw - 28px) !important;
    max-height:min(78dvh,680px) !important;
    overflow:auto !important;
    overscroll-behavior:contain;
    padding:18px !important;
    border:1px solid #cadce8 !important;
    border-radius:22px !important;
    background:#f7fafc !important;
    color:#20384b !important;
    box-shadow:0 30px 80px rgba(3,15,27,.3) !important;
    box-sizing:border-box !important;
    direction:ltr !important;
    z-index:2147483000 !important;
  }
  dialog.kb-mobile-popup::backdrop {
    background:rgba(3,12,21,.68);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
  }
  html body dialog.kb-mobile-popup .kb-mobile-popup-close {
    position:absolute !important;
    top:13px !important;
    right:13px !important;
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
    border:1px solid #d0dee9 !important;
    border-radius:50% !important;
    background:#eaf1f6 !important;
    color:#263e51 !important;
    box-shadow:none !important;
    cursor:pointer;
    z-index:1;
  }
  html body dialog.kb-mobile-popup .kb-mobile-popup-close:is(:hover,:focus-visible) {
    background:#dcebf5 !important;
    border-color:#84b4d5 !important;
  }
  html body dialog.kb-mobile-popup .kb-mobile-popup-close:focus-visible {
    outline:2px solid #438fc4 !important;
    outline-offset:2px !important;
  }
  html body dialog.kb-mobile-popup .kb-mobile-popup-close svg {
    display:block;
    width:19px;
    height:19px;
  }
  html body dialog.kb-mobile-language-popup > .kb-language-menu,
  html body dialog.kb-mobile-account-popup > .kb-account-menu {
    display:block !important;
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:inherit !important;
    box-shadow:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  html body dialog.kb-mobile-popup > [hidden] {
    display:none !important;
  }
  html body dialog.kb-mobile-language-popup .kb-language-menu-heading,
  html body dialog.kb-mobile-account-popup .kb-account-menu-heading {
    margin:0 0 14px !important;
    min-height:48px !important;
    padding:11px 52px 14px 4px !important;
    border:0 !important;
    border-bottom:1px solid #d7e4ed !important;
    display:flex !important;
    align-items:center !important;
    box-sizing:border-box;
    color:#20384b !important;
  }
  html body dialog.kb-mobile-language-popup .kb-language-menu-heading span:first-child,
  html body dialog.kb-mobile-account-popup .kb-account-menu-heading strong {
    font-size:19px !important;
    font-weight:750 !important;
    line-height:1.3 !important;
    color:#20384b !important;
    letter-spacing:-.025em !important;
    unicode-bidi:plaintext;
  }
  html body dialog.kb-mobile-language-popup .kb-language-menu-list {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  html body dialog.kb-mobile-language-popup .kb-language-option {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:9px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:52px !important;
    padding:10px 12px !important;
    border:1px solid transparent !important;
    border-radius:13px !important;
    background:#edf3f7 !important;
    color:#243b4e !important;
    font-size:13px !important;
    line-height:1.3 !important;
    text-align:start !important;
    box-sizing:border-box !important;
    cursor:pointer;
  }
  html body dialog.kb-mobile-language-popup .kb-language-option:is(:hover,:focus-visible),
  html body dialog.kb-mobile-language-popup .kb-language-option[aria-checked="true"] {
    background:#dfedf7 !important;
    border-color:#6ca8d1 !important;
    color:#13446d !important;
    outline-offset:2px !important;
  }
  html body dialog.kb-mobile-language-popup .kb-language-option .kb-language-name {
    min-width:0;
    overflow-wrap:anywhere;
    text-overflow:clip;
    unicode-bidi:plaintext;
  }
  html body dialog.kb-mobile-language-popup .kb-language-flag-image {
    display:block;
    flex:0 0 25px;
    width:25px;
    height:17px;
    border-radius:3px;
    object-fit:cover;
  }
  html body dialog.kb-mobile-account-popup .kb-account-menu-item {
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
    min-height:54px !important;
    margin:5px 0 !important;
    padding:12px 14px !important;
    border:1px solid transparent !important;
    border-radius:13px !important;
    background:#edf3f7 !important;
    color:#243b4e !important;
    font-size:14px !important;
    font-weight:650 !important;
    line-height:1.35 !important;
    text-decoration:none !important;
    text-align:start !important;
    white-space:normal !important;
    box-shadow:none !important;
  }
  html body dialog.kb-mobile-account-popup .kb-account-menu-item:is(:hover,:focus-visible) {
    background:#dfedf7 !important;
    border-color:#6ca8d1 !important;
    color:#13446d !important;
  }
  html body dialog.kb-mobile-popup :is(.kb-language-option,.kb-account-menu-item)::after {
    content:none !important;
    display:none !important;
  }
  html body .rail-panel.is-open .kb-language-mobile-chevron svg {
    display:block !important;
    width:12px;
    height:12px;
    stroke:currentColor;
  }
  html body .rail-panel.is-open .kb-language-picker.is-open .kb-language-mobile-chevron {
    transform:none !important;
  }
  html body .rail-panel.is-open .kb-language-mobile-chevron {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    color:var(--kb-drawer-control-muted) !important;
    margin-left:0 !important;
    font-size:0 !important;
    transition:none !important;
  }
}
@media (max-width:360px) {
  html body dialog.kb-mobile-language-popup .kb-language-menu-list {
    grid-template-columns:1fr !important;
  }
}
@media (max-width:1100px) and (prefers-color-scheme:dark) {
  html body dialog.kb-mobile-popup[open] {
    background:#111e2a !important;
    border-color:#3c5870 !important;
    color:#eaf3fa !important;
    box-shadow:0 30px 80px rgba(0,0,0,.64) !important;
  }
  html body dialog.kb-mobile-popup .kb-mobile-popup-close {
    background:#21384b !important;
    border-color:#3c5870 !important;
    color:#eaf3fa !important;
  }
  html body dialog.kb-mobile-popup .kb-mobile-popup-close:is(:hover,:focus-visible) {
    background:#2c506c !important;
    border-color:#87b9df !important;
  }
  html body dialog.kb-mobile-language-popup .kb-language-menu-heading,
  html body dialog.kb-mobile-account-popup .kb-account-menu-heading {
    border-bottom-color:#344d60 !important;
    color:#edf6fc !important;
  }
  html body dialog.kb-mobile-language-popup .kb-language-menu-heading span:first-child,
  html body dialog.kb-mobile-account-popup .kb-account-menu-heading strong {
    color:#edf6fc !important;
  }
  html body dialog.kb-mobile-language-popup .kb-language-option,
  html body dialog.kb-mobile-account-popup .kb-account-menu-item {
    background:#1b3143 !important;
    color:#dfedf7 !important;
  }
  html body dialog.kb-mobile-language-popup .kb-language-option:is(:hover,:focus-visible),
  html body dialog.kb-mobile-language-popup .kb-language-option[aria-checked="true"],
  html body dialog.kb-mobile-account-popup .kb-account-menu-item:is(:hover,:focus-visible) {
    background:#29485e !important;
    border-color:#679cc0 !important;
    color:#fff !important;
  }
}

/* Shared responsive contract: compact header from 1100px down means exactly
   one tablet/phone drawer. Use quiet pills for actions and no menu chevrons. */
@media (max-width:1100px) {
  html body .rail-panel.is-open > .kb-language-picker > .kb-language-trigger,
  html body .rail-panel.is-open .rail-actions > .kb-account-wrap > .kb-account-trigger {
    border-radius:9999px !important;
  }
  html body .rail-panel.is-open .kb-language-mobile-chevron,
  html body .rail-panel.is-open .kb-account-caret {
    display:none !important;
  }
  /* Never render the legacy right-facing arrows on menu links. Products
     retain the non-arrow plus/minus indicator for an expandable subsection. */
  html body .rail-panel.is-open .nav > a::after {
    content:none !important;
    display:none !important;
  }
  html body .rail-panel.is-open .nav-dropdown-btn::after {
    content:"+" !important;
    display:inline-block !important;
    font-size:22px !important;
    font-weight:400 !important;
    color:var(--muted) !important;
    transform:none !important;
  }
  html body .rail-panel.is-open .nav-dropdown[aria-expanded="true"] .nav-dropdown-btn::after {
    content:"−" !important;
  }

  /* Flat mobile page controls have the same full pill radius in both themes,
     including all language options and account actions inside the popups. */
  html body dialog.kb-mobile-language-popup .kb-language-option,
  html body dialog.kb-mobile-account-popup .kb-account-menu-item {
    border-radius:9999px !important;
  }
  html body dialog.kb-mobile-account-popup .kb-account-menu-logout {
    border-radius:9999px !important;
    border-top:1px solid transparent !important;
  }
  html body dialog.kb-mobile-popup .kb-mobile-popup-close {
    border-radius:50% !important;
  }
  html body .rail-panel.is-open .rail-actions :is(.btn,.account-user-button,.account-logout-button) {
    border-radius:9999px !important;
  }
}

/* Language choices: bidi-isolated text, invariant name-left / flag-right layout.
   The popup is portaled outside the header, so selectors must work on body. */
html body .kb-language-menu-list {
  direction:ltr !important;
}
html body .kb-language-menu-list > .kb-language-option {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  direction:ltr !important;
  text-align:left !important;
  gap:8px !important;
}
html body .kb-language-menu-list > .kb-language-option > .kb-language-name {
  display:block;
  min-width:0 !important;
  flex:1 1 auto;
  order:0 !important;
  text-align:left !important;
  unicode-bidi:isolate !important;
  overflow:hidden;
  text-overflow:ellipsis;
}
html body .kb-language-menu-list > .kb-language-option > .kb-language-name[dir="rtl"] {
  direction:rtl !important;
  unicode-bidi:isolate !important;
  text-align:left !important;
}
html body .kb-language-menu-list > .kb-language-option > .kb-language-flag {
  display:inline-flex !important;
  flex:0 0 25px !important;
  order:1 !important;
  align-items:center;
  justify-content:center;
  width:25px !important;
  min-width:25px !important;
  margin:0 !important;
  direction:ltr !important;
}
html body .kb-language-menu-list .kb-language-flag-image {
  display:block !important;
  width:25px !important;
  height:17px !important;
  max-width:25px !important;
  flex:0 0 25px !important;
  margin:0 !important;
  object-fit:cover !important;
  transform:none !important;
}
html[dir="rtl"] body .kb-language-menu-list > .kb-language-option {
  direction:ltr !important;
}

/* Official 4:3 flags: keep the full geometry visible. The older 25x17
   object-fit:cover rule cut off important details (notably Korean trigrams). */
html body .kb-language-flag,
html body .kb-language-menu-list > .kb-language-option > .kb-language-flag {
  flex:0 0 26px !important;
  width:26px !important;
  min-width:26px !important;
  height:20px !important;
  align-items:center !important;
  justify-content:center !important;
}
html body .kb-language-flag-image,
html body .kb-language-menu-list .kb-language-flag-image {
  display:block !important;
  flex:0 0 26px !important;
  width:26px !important;
  height:20px !important;
  max-width:26px !important;
  min-width:26px !important;
  max-height:20px !important;
  padding:0 !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  border:0 !important;
  border-radius:2px !important;
  background:#fff !important;
  box-shadow:0 0 0 1px rgba(25,52,75,.16) !important;
}
@media (max-width:1100px) {
  html body dialog.kb-mobile-language-popup .kb-language-flag,
  html body dialog.kb-mobile-language-popup .kb-language-flag-image {
    flex:0 0 28px !important;
    width:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    height:21px !important;
    max-height:21px !important;
    object-fit:contain !important;
  }
}
