.citizen-skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 2147483647;
  padding: 10px 14px; border-radius: 8px; color: #fff; background: #071f3f;
  font: 800 14px/1 system-ui, sans-serif; transform: translateY(-150%);
}
.citizen-skip-link:focus { transform: translateY(0); }
.citizen-mobile-nav { display: none; }

html.citizen-large-text { font-size: 112.5%; }
html.citizen-large-text .safety-center { font-size: 18px; }
html.citizen-large-text .safety-center h2 { font-size: 34px; }
html.citizen-large-text .safety-center small,
html.citizen-large-text .safety-center__hint,
html.citizen-large-text .safety-center__contact { font-size: 16px !important; line-height: 1.45; }
html.citizen-high-contrast .safety-center { border: 3px solid #fff; color: #fff; background: #000; }
html.citizen-high-contrast .safety-center__head { background: #000; }
html.citizen-high-contrast .safety-center__status,
html.citizen-high-contrast .safety-center__action,
html.citizen-high-contrast .safety-center__result,
html.citizen-high-contrast .safety-center__local { border: 2px solid #fff !important; color: #fff !important; background: #000 !important; }

@media (max-width: 640px) {
  .site-header .header-logo { max-height: 92px !important; }
  .site-header .header-title { padding-top: 8px !important; padding-bottom: 8px !important; }
  .hotline-action-bar, .messenger-float-btn { display: none !important; }
  html body .hotline-action-bar,
  body > .hotline-action-bar,
  body .messenger-float-btn { display: none !important; visibility: hidden !important; }
  .citizen-mobile-nav {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147481500;
    display: grid; grid-template-columns: repeat(5, minmax(0,1fr));
    padding: 6px 5px calc(6px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #b5c7d8; background: #fff;
    box-shadow: 0 -8px 22px rgba(5, 24, 48, .16);
  }
  .citizen-mobile-nav button {
    min-width: 0; min-height: 50px; padding: 4px 2px; border: 0;
    color: #18324b; background: transparent; font: 750 11px/1.15 system-ui, sans-serif;
  }
  .citizen-mobile-nav button span { display: block; margin-bottom: 3px; font-size: 19px; }
  .citizen-mobile-nav button.is-safety { color: #fff; background: #b42318; border-radius: 10px; }
  html.citizen-large-text .citizen-mobile-nav button { font-size: 13px; }
}
@media print { .citizen-mobile-nav, .citizen-skip-link { display: none !important; } }
