/* Accessibility floats independently at the lower left. */
html:has(.has-site-controls) {
  scroll-padding-block-start: 16px;
  scroll-padding-block-end: calc(var(--site-bottom-navigation-space, 0px) + 92px);
}
body.has-site-controls { padding-block-end: 84px; overflow-x: clip; }
body.has-site-controls .skip-link { z-index: 1070; }
#siteControls { display: contents; font-family: inherit; font-size: 1rem; line-height: 1.5; color: #172e27; }
#siteControls[hidden], #siteControls [hidden] { display: none !important; }
#siteControls *, #siteControls *::before, #siteControls *::after { box-sizing: border-box; }
#siteControls button, #siteControls a { font: inherit; letter-spacing: normal; text-transform: none; cursor: pointer; }
#siteControls button:focus-visible, #siteControls a:focus-visible {
  outline: 3px solid #164e85 !important; outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff !important;
}
#siteControls .site-control {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 54px; min-width: 44px; max-width: 100%; margin: 0; padding: 10px 18px;
  border: 2px solid #164e85; border-radius: 999px; font-weight: 750; line-height: 1.35;
  box-shadow: 0 3px 8px #172e271a; white-space: normal; overflow-wrap: anywhere;
}
#siteControls .site-control svg { width: 28px; height: 28px; flex: 0 0 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-accessibility-float {
  position: fixed; left: max(12px, env(safe-area-inset-left, 0px));
  bottom: max(calc(20px + env(safe-area-inset-bottom, 0px)), calc(var(--site-bottom-navigation-space, 0px) + 12px));
  z-index: 1060;
}
#siteControls .site-control-accessibility {
  width: 58px; height: 58px; min-height: 58px; padding: 10px; border: 2px solid #fff;
  border-radius: 50%; background: #164e85; color: #fff; box-shadow: 0 3px 12px #172e2738;
}
#siteControls .site-control-accessibility svg { width: 32px; height: 32px; flex-basis: 32px; }
#siteControls .site-control-accessibility:hover { background: #123d68; }
#siteControls .site-control-dialog {
  position: fixed; inset: 0; margin: auto; width: min(460px, calc(100% - 24px)); max-height: calc(100dvh - 32px);
  padding: 24px; border: 1px solid #707d75; border-radius: 22px;
  background: #fffef9; color: #172e27; box-shadow: 0 24px 80px #172e2733;
  overflow: auto; overscroll-behavior: contain; text-align: start;
}
.site-control-dialog:not([open]) { display: none; }
.site-control-dialog::backdrop { background: #142b246b; }
.site-control-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#siteControls h2 { margin: 0; font-size: 1.5rem; line-height: 1.3; letter-spacing: normal; overflow-wrap: anywhere; }
#siteControls p { margin: 16px 0; font-size: 0.9375rem; line-height: 1.7; overflow-wrap: anywhere; color: #405349; }
#siteControls .site-control-close { flex: 0 0 44px; width: 44px; min-height: 44px; padding: 0; border-radius: 50%; border: 1px solid #707d75; background: #fff; color: #172e27; font-size: 1.75rem; }
#siteControls .site-control-option {
  display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; min-height: 52px;
  margin: 0; padding: 12px 14px; border: 1px solid #707d75; border-radius: 12px;
  background: #fff; color: #172e27; text-align: start; overflow-wrap: anywhere;
}
#siteControls .site-control-option:hover { background: #eef4f0; }
#siteControls .site-control-option[aria-pressed="true"] { border: 2px solid #356859; padding: 11px 13px; background: #e7f0eb; font-weight: 750; }
.site-language-check { visibility: hidden; }
[aria-pressed="true"] > .site-language-check { visibility: visible; }
#siteControls .site-control-statement { display: flex; align-items: center; min-height: 44px; margin-block-start: 16px; padding-block: 8px; color: #164e85; text-decoration: underline; }
body:has(.site-control-dialog[open]) { overflow: hidden; }
@media (min-width: 1121px) {
  /* Explicit row placement prevents the RTL grid from pushing content below the rail. */
  body.has-site-controls .rail, body.has-site-controls .main { grid-row: 1; }
}
@media (max-width: 480px) {
  #siteControls .site-control-dialog { padding: 18px; }
}
@media (forced-colors: active) {
  #siteControls .site-control, #siteControls .site-control-option { border-color: ButtonText; }
  #siteControls .site-control-option[aria-pressed="true"] { outline: 2px solid Highlight; }
}
