/**
 * Accessibility Menu chrome.
 * Shown on all in-scope pages, including viewports under 769px (200% zoom).
 */

body.lc-a11y-p1 .lc-a11y-menu {
  display: block;
}

.lc-a11y-menu {
  display: none;
}

.lc-a11y-menu__launch {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 100060;
  width: 48px;
  height: 48px;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 50%;
  background: #0a4650;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(10, 70, 80, 0.28);
  overflow: hidden;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Visually hide accessible name; keep for AT. Used by launch + form labels. */
.lc-a11y-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;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.lc-a11y-menu__launch[aria-expanded="true"] {
  visibility: hidden;
}

.lc-a11y-menu__dialog {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 100061;
  width: min(360px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(10, 70, 80, 0.22);
  color: #0a4650;
}

.lc-a11y-menu__dialog[hidden] {
  display: none !important;
}

.lc-a11y-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #0a4650;
  color: #fff;
  padding: 12px 14px;
  border-radius: 12px 12px 0 0;
}

.lc-a11y-menu__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
}

.lc-a11y-menu__close {
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  width: 44px;
  height: 44px;
  cursor: pointer;
}

.lc-a11y-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lc-a11y-menu__row {
  display: grid;
  grid-template-columns: 28px 1fr 48px;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e6eef0;
}

.lc-a11y-menu__icon {
  color: #0a4650;
  display: flex;
}

.lc-a11y-menu__label {
  font-size: 0.95rem;
}

.lc-a11y-menu__switch {
  width: 44px;
  height: 26px;
  border: 0;
  border-radius: 999px;
  background: #c5c5c5;
  position: relative;
  cursor: pointer;
}

.lc-a11y-menu__switch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
}

.lc-a11y-menu__switch[aria-checked="true"] {
  background: #0a4650;
}

.lc-a11y-menu__switch[aria-checked="true"]::after {
  left: auto;
  right: 3px;
}

.lc-a11y-menu__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px 16px;
}

.lc-a11y-menu__footer:not(:has(.lc-a11y-menu__statement)) {
  justify-content: flex-end;
}

.lc-a11y-menu__statement {
  color: #0a4650;
  text-decoration: underline;
  font-weight: 600;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.lc-a11y-menu__reset {
  background: #fff;
  color: #0a4650;
  border: 2px solid #0a4650;
  border-radius: 8px;
  padding: 8px 16px;
  min-height: 44px;
  cursor: pointer;
  font-weight: 600;
}
