.modal__wrapper_vision {
  width: 760px;
  max-width: 95vw;
}

#vision-settings:target .modal__overlay {
  display: flex;
}

.vision-modal {
  display: grid;
  gap: 20px;
}

.vision-modal__row {
  display: grid;
  gap: 10px;
}

.vision-modal__label {
  font-size: 18px;
  font-weight: 600;
  color: #0a0a0a;
}

.vision-modal__options {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.vision-modal__options label,
.vision-modal__switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #e2e2e2;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 500;
}

.vision-modal__actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 8px;
}

.vision-modal__actions .outlinedBtn,
.vision-modal__actions .blueBtn {
  min-width: 150px;
}

html.vision-enabled {
  --vision-font-scale: 1;
  --vision-line-height: 1.4;
  --vision-bg: #ffffff;
  --vision-text: #0a0a0a;
  --vision-link: #0202b3;
}

html.vision-enabled body {
  background: var(--vision-bg) !important;
  color: var(--vision-text) !important;
}

html.vision-enabled p,
html.vision-enabled span,
html.vision-enabled a,
html.vision-enabled li,
html.vision-enabled label,
html.vision-enabled button,
html.vision-enabled input,
html.vision-enabled textarea,
html.vision-enabled h1,
html.vision-enabled h2,
html.vision-enabled h3,
html.vision-enabled h4 {
  line-height: var(--vision-line-height) !important;
}

html.vision-enabled .text,
html.vision-enabled .h1Title,
html.vision-enabled .h2Title,
html.vision-enabled .h3Title {
  font-size: calc(1em * var(--vision-font-scale)) !important;
}

html.vision-enabled a {
  color: var(--vision-link) !important;
}

html.vision-enabled.vision-theme-dark {
  --vision-bg: #000000;
  --vision-text: #ffffff;
  --vision-link: #ffff00;
}

html.vision-enabled.vision-theme-light {
  --vision-bg: #f7f7f7;
  --vision-text: #111111;
  --vision-link: #001ea8;
}

html.vision-images-off img {
  display: none !important;
}

@media (max-width: 540px) {
  .vision-modal__actions {
    flex-direction: column;
  }

  .vision-modal__actions .outlinedBtn,
  .vision-modal__actions .blueBtn {
    width: 100%;
  }
}

/* Footer-specific overrides for accessibility mode */
html.vision-enabled {
  --vision-footer-bg: #000083;
  --vision-footer-text: #ffffff;
  --vision-footer-link: #ffffff;
  --vision-footer-muted: rgba(255, 255, 255, 0.82);
}

html.vision-enabled.vision-theme-dark {
  --vision-footer-bg: #000000;
  --vision-footer-text: #ffffff;
  --vision-footer-link: #ffff00;
  --vision-footer-muted: rgba(255, 255, 255, 0.88);
}

html.vision-enabled.vision-theme-light {
  --vision-footer-bg: #f7f7f7;
  --vision-footer-text: #111111;
  --vision-footer-link: #001ea8;
  --vision-footer-muted: rgba(17, 17, 17, 0.82);
}

html.vision-enabled footer,
html.vision-enabled .footer,
html.vision-enabled .footer__wrap,
html.vision-enabled .footer__top,
html.vision-enabled .footer__topContent,
html.vision-enabled .footer__bottom,
html.vision-enabled .footer__botMainContent,
html.vision-enabled .addresses,
html.vision-enabled .call-menu,
html.vision-enabled .tools,
html.vision-enabled .copyrights {
  background: var(--vision-footer-bg) !important;
  color: var(--vision-footer-text) !important;
  border-color: var(--vision-footer-muted) !important;
}

html.vision-enabled footer p,
html.vision-enabled footer span,
html.vision-enabled footer div,
html.vision-enabled footer li,
html.vision-enabled footer strong,
html.vision-enabled footer small,
html.vision-enabled footer .text,
html.vision-enabled footer .footer__navCol li span,
html.vision-enabled footer .footer__phoneLink,
html.vision-enabled footer .footer__emailLink,
html.vision-enabled footer .footer__placeLink span,
html.vision-enabled footer .tools__app-label,
html.vision-enabled footer .copyrights__warning,
html.vision-enabled footer .copyrights__reserved,
html.vision-enabled footer .dev,
html.vision-enabled footer .footer__botCenter p {
  color: var(--vision-footer-text) !important;
  opacity: 1 !important;
}

html.vision-enabled footer a,
html.vision-enabled footer .footer__navCol li a,
html.vision-enabled footer .footer__alternativeVersion,
html.vision-enabled footer .footer__botLinks a,
html.vision-enabled footer .footer__reviewsInfo a,
html.vision-enabled footer .footer-menu a,
html.vision-enabled footer .services-menu-footer a,
html.vision-enabled footer .tools__dms-link,
html.vision-enabled footer .tools__vision-link {
  color: var(--vision-footer-link) !important;
}

html.vision-enabled footer .button_bordered,
html.vision-enabled footer .button_outlined,
html.vision-enabled footer .button_blue,
html.vision-enabled footer .borderBtn,
html.vision-enabled footer .outlinedBtn,
html.vision-enabled footer .blueBtn,
html.vision-enabled footer .tools__social-link,
html.vision-enabled footer .footer__subscribeForm,
html.vision-enabled footer .footer__subscribeForm input,
html.vision-enabled footer .footer__reviews {
  background: transparent !important;
  color: var(--vision-footer-text) !important;
  border-color: var(--vision-footer-link) !important;
  box-shadow: none !important;
}

html.vision-enabled footer .blueBtn span,
html.vision-enabled footer .outlinedBtn span,
html.vision-enabled footer .borderBtn span {
  color: var(--vision-footer-text) !important;
}

html.vision-enabled footer .footer__bottomLogoWrap > a:first-child img,
html.vision-enabled footer .footer__alternativeVersion img,
html.vision-enabled footer .footer__placeLink svg,
html.vision-enabled footer .footer__navCol li:first-child svg {
  filter: brightness(0) invert(1);
}

html.vision-enabled.vision-theme-light footer .footer__bottomLogoWrap > a:first-child img,
html.vision-enabled.vision-theme-light footer .footer__alternativeVersion img,
html.vision-enabled.vision-theme-light footer .footer__placeLink svg,
html.vision-enabled.vision-theme-light footer .footer__navCol li:first-child svg {
  filter: brightness(0);
}

html.vision-enabled footer .flamp-widget,
html.vision-enabled footer iframe,
html.vision-enabled footer .pd_widget_column,
html.vision-enabled footer .pd_logo,
html.vision-enabled footer [data-flamp-widget-id] {
  filter: none !important;
}

/* Force yellow text for dark contrast mode */
html.vision-enabled.vision-theme-dark {
  --vision-text: #ffff00;
  --vision-link: #ffff00;
}

html.vision-enabled.vision-theme-dark body,
html.vision-enabled.vision-theme-dark p,
html.vision-enabled.vision-theme-dark span,
html.vision-enabled.vision-theme-dark li,
html.vision-enabled.vision-theme-dark label,
html.vision-enabled.vision-theme-dark button,
html.vision-enabled.vision-theme-dark input,
html.vision-enabled.vision-theme-dark textarea,
html.vision-enabled.vision-theme-dark h1,
html.vision-enabled.vision-theme-dark h2,
html.vision-enabled.vision-theme-dark h3,
html.vision-enabled.vision-theme-dark h4,
html.vision-enabled.vision-theme-dark h5,
html.vision-enabled.vision-theme-dark h6,
html.vision-enabled.vision-theme-dark td,
html.vision-enabled.vision-theme-dark th,
html.vision-enabled.vision-theme-dark small,
html.vision-enabled.vision-theme-dark strong,
html.vision-enabled.vision-theme-dark em,
html.vision-enabled.vision-theme-dark .text,
html.vision-enabled.vision-theme-dark .black-text,
html.vision-enabled.vision-theme-dark .blue-text,
html.vision-enabled.vision-theme-dark .gray-link,
html.vision-enabled.vision-theme-dark .page-subtitle,
html.vision-enabled.vision-theme-dark .text-sub-header,
html.vision-enabled.vision-theme-dark .footer__navCol li span,
html.vision-enabled.vision-theme-dark .footer__phoneLink,
html.vision-enabled.vision-theme-dark .footer__emailLink,
html.vision-enabled.vision-theme-dark .footer__placeLink span,
html.vision-enabled.vision-theme-dark .tools__app-label,
html.vision-enabled.vision-theme-dark .footer__botCenter p,
html.vision-enabled.vision-theme-dark .copyrights__warning,
html.vision-enabled.vision-theme-dark .copyrights__reserved,
html.vision-enabled.vision-theme-dark .dev {
  color: #ffff00 !important;
}

html.vision-enabled.vision-theme-dark a,
html.vision-enabled.vision-theme-dark a span,
html.vision-enabled.vision-theme-dark .footer__navCol li a,
html.vision-enabled.vision-theme-dark .footer__alternativeVersion,
html.vision-enabled.vision-theme-dark .footer-menu a,
html.vision-enabled.vision-theme-dark .services-menu-footer a,
html.vision-enabled.vision-theme-dark .tools__dms-link,
html.vision-enabled.vision-theme-dark .tools__vision-link {
  color: #ffff00 !important;
}

html.vision-enabled.vision-theme-dark .button_bordered,
html.vision-enabled.vision-theme-dark .button_outlined,
html.vision-enabled.vision-theme-dark .button_blue,
html.vision-enabled.vision-theme-dark .button_white,
html.vision-enabled.vision-theme-dark .borderBtn,
html.vision-enabled.vision-theme-dark .outlinedBtn,
html.vision-enabled.vision-theme-dark .blueBtn,
html.vision-enabled.vision-theme-dark .footer__subscribeForm,
html.vision-enabled.vision-theme-dark .footer__subscribeForm input,
html.vision-enabled.vision-theme-dark .footer__reviews,
html.vision-enabled.vision-theme-dark .custom-select__list,
html.vision-enabled.vision-theme-dark .menu-root > li > ul,
html.vision-enabled.vision-theme-dark .menu-root > li > ul ul {
  background: #000 !important;
  color: #ffff00 !important;
  border-color: #ffff00 !important;
  box-shadow: none !important;
}

html.vision-enabled.vision-theme-dark .button_bordered span,
html.vision-enabled.vision-theme-dark .button_outlined span,
html.vision-enabled.vision-theme-dark .button_blue span,
html.vision-enabled.vision-theme-dark .button_white span,
html.vision-enabled.vision-theme-dark .borderBtn span,
html.vision-enabled.vision-theme-dark .outlinedBtn span,
html.vision-enabled.vision-theme-dark .blueBtn span,
html.vision-enabled.vision-theme-dark .menu-root li a.root-item,
html.vision-enabled.vision-theme-dark .menu-root li ul li a,
html.vision-enabled.vision-theme-dark .menu-root li ul li ul li a {
  color: #ffff00 !important;
}

html.vision-enabled.vision-theme-dark .menu-root li:hover a.root-item,
html.vision-enabled.vision-theme-dark .button_outlined:hover,
html.vision-enabled.vision-theme-dark .button_blue:hover {
  background: #000 !important;
  color: #ffff00 !important;
  border-color: #ffff00 !important;
}
