/* MINVODY consistency audit — Phase 4: accessibility only. */
:root{
  --focus-ring:#5AA3E6;
  --focus-ring-shadow:rgba(8,20,38,.22);
}

:where(a[href],button,input,select,textarea,[tabindex]:not([tabindex="-1"]),.leaflet-interactive):focus-visible{
  outline:3px solid var(--focus-ring)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.82),0 0 0 6px var(--focus-ring-shadow)!important;
}

.menu :focus-visible{
  --focus-ring:#fff;
  --focus-ring-shadow:rgba(90,163,230,.58);
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

html.menu-is-open,
html.menu-is-open body{overflow:hidden!important}

.menu[aria-hidden="true"]{pointer-events:none}

.carousel__nav:disabled,
.carousel__nav[aria-disabled="true"]{
  pointer-events:none;
}

.ft__main a[data-unresolved-link]{
  cursor:default;
}

.form-status{
  grid-column:1 / -1;
  margin:0;
  padding:13px 16px;
  border-radius:var(--radius-control,14px);
  border:1px solid rgba(44,120,184,.22);
  background:#F3F7FA;
  color:#0E2038;
  font-size:14px;
  line-height:1.55;
}
.form-status[hidden]{display:none}

@media (pointer:coarse), (max-width:768px){
  .nav__btn,
  .menu__close,
  .carousel__nav,
  .bstage__arrow,
  .news__nav button,
  .switch button,
  .leaflet-control-zoom a{
    min-width:44px;
    min-height:44px;
  }

  .bdots button{
    box-sizing:content-box;
    position:relative;
    padding:18.5px;
    margin:-18.5px;
    background-clip:content-box;
  }
}

@media (prefers-reduced-motion:reduce){
  :where(a[href],button,input,select,textarea,[tabindex]):focus-visible{
    transition:none!important;
  }
}
