/* Government-style accessibility tools */
.topbar,
.topbar .container-fluid,
.topbar .links,
.utility-bar,
.utility-bar .wrap,
.utility-bar .util-group {
  overflow: visible;
}

.topbar .links,
.utility-bar .util-group {
  align-items: center;
}

/* Utility bar (new header) — light trigger on dark background */
.utility-bar .gov-a11y {
  z-index: 10070;
}

.utility-bar .gov-a11y__trigger {
  color: #e8edf0;
  padding: 4px 8px;
  border-radius: 4px;
}

.utility-bar .gov-a11y__trigger:hover,
.utility-bar .gov-a11y__trigger:focus-visible,
.utility-bar .gov-a11y:hover .gov-a11y__trigger,
.utility-bar .gov-a11y:focus-within .gov-a11y__trigger {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.utility-bar .gov-a11y__trigger .gov-a11y__trigger-icon {
  opacity: 0.95;
}

.utility-bar .gov-a11y__trigger:hover .gov-a11y__trigger-icon,
.utility-bar .gov-a11y__trigger:focus-visible .gov-a11y__trigger-icon,
.utility-bar .gov-a11y:hover .gov-a11y__trigger .gov-a11y__trigger-icon,
.utility-bar .gov-a11y:focus-within .gov-a11y__trigger .gov-a11y__trigger-icon {
  opacity: 1;
  filter: brightness(1.15);
}

.gov-a11y {
  position: relative;
  display: inline-flex;
  align-items: center;
  z-index: 10070;
}

.gov-a11y__trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 4px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
  text-transform: none;
  letter-spacing: normal;
}

.gov-a11y__trigger:hover,
.gov-a11y__trigger:focus-visible,
.gov-a11y:hover .gov-a11y__trigger,
.gov-a11y:focus-within .gov-a11y__trigger {
  color: var(--theme-primary, #a75e57);
  background: transparent;
}

.gov-a11y__trigger:focus-visible {
  outline: 2px solid var(--theme-primary, #a75e57);
  outline-offset: 2px;
}

.gov-a11y__trigger-icon {
  flex-shrink: 0;
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  border: 0;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

/* Hover bridge + panel */
.gov-a11y__panel::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}

.gov-a11y__panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: auto;
  z-index: 10080;
  width: 380px;
  max-width: min(380px, calc(100vw - 24px));
  margin-top: 4px;
  padding: 0;
  background: #fff;
  border: 1px solid #d4d4d4;
  border-radius: 6px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  pointer-events: none;
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

/* JS sets alignment class based on available viewport space */
.gov-a11y.is-panel-right .gov-a11y__panel {
  left: auto;
  right: 0;
}

.gov-a11y.is-panel-left .gov-a11y__panel {
  left: 0;
  right: auto;
}

.gov-a11y:hover .gov-a11y__panel,
.gov-a11y:focus-within .gov-a11y__panel,
.gov-a11y.is-open .gov-a11y__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.gov-a11y__title {
  margin: 0;
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  color: #1a1a1a;
  line-height: 1.3;
}

.gov-a11y__body {
  padding: 12px 14px 14px;
}

.gov-a11y__section + .gov-a11y__section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #efefef;
}

.gov-a11y__section-title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  color: #333;
  line-height: 1.2;
}

/* Grid rows */
.gov-a11y__grid {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.gov-a11y__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gov-a11y__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 66.666%;
  margin-top: 8px;
}

.gov-a11y__grid + .gov-a11y__grid {
  margin-top: 8px;
}

/* Tool cards — reset Bootstrap / theme button styles */
.gov-a11y__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  height: 92px;
  margin: 0;
  padding: 8px 4px 6px;
  border: 1px solid #d0d0d0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #222 !important;
  box-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color 0.15s ease, background-color 0.15s ease;
  -webkit-appearance: none;
  appearance: none;
}

.gov-a11y__item:hover,
.gov-a11y__item:focus-visible {
  border-color: var(--theme-primary, #a75e57) !important;
  background: #faf6f5 !important;
  outline: none !important;
  box-shadow: none !important;
}

.gov-a11y__item.is-selected {
  border-color: var(--theme-primary, #a75e57) !important;
  background: #fdf8f7 !important;
}

.gov-a11y__item.is-selected .gov-a11y__label {
  text-decoration: underline;
  font-weight: 600;
  color: #111;
}

.gov-a11y__item.is-selected::after {
  content: "";
  position: absolute;
  top: 5px;
  right: 5px;
  width: 16px;
  height: 16px;
  background: #43a047 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/10px no-repeat;
  border-radius: 50%;
  pointer-events: none;
}

.gov-a11y__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  margin: 0 0 4px;
}

.gov-a11y__icon svg {
  display: block;
  width: 28px;
  height: 28px;
  max-width: 100%;
  max-height: 100%;
}

.gov-a11y__icon--text {
  font-size: 20px;
  font-weight: 700;
  line-height: 36px;
  color: #111;
}

.gov-a11y__label {
  display: block;
  width: 100%;
  min-height: 28px;
  margin: 0;
  padding: 0 2px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.25;
  color: #333;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

/* Page accessibility modes */

/* High Contrast — full-page black / white text / yellow links (gov portal style) */
html.nclt-a11y--high-contrast,
html.nclt-a11y--high-contrast body {
  background-color: #000 !important;
  color: #fff !important;
}

html.nclt-a11y--high-contrast main.container > section::before,
html.nclt-a11y--high-contrast main.container > section:nth-of-type(odd)::before,
html.nclt-a11y--high-contrast main.container > section:nth-of-type(even)::before {
  background: #000 !important;
}

html.nclt-a11y--high-contrast body :where(
  h1, h2, h3, h4, h5, h6,
  p, li, dt, dd, label, legend, figcaption,
  td, th, caption, blockquote, small, strong, em, b, i, span,
  .heading-second, .page-title, .field__label,
  .welcome-lead, .president-name, .president-designation,
  .search-tabs-lead, .muted, .bench-date-search__label,
  .tblock h3, .photo-gallery-heading, .search-side-ticker__head,
  .footer-col-title, .footer-address, .footer-nic-credit,
  .brand-name-en, .brand-name-full, .brand-tag,
  .wel-bdr-heading span, .wel-heading, .logo-sec p, .logo-sec p span
) {
  color: #fff !important;
}

html.nclt-a11y--high-contrast body a:not(.gov-a11y__item):not(.gov-a11y__trigger) {
  color: #ffff00 !important;
}

html.nclt-a11y--high-contrast body a:not(.gov-a11y__item):not(.gov-a11y__trigger):visited {
  color: #ffff00 !important;
}

html.nclt-a11y--high-contrast body a:not(.gov-a11y__item):not(.gov-a11y__trigger):hover,
html.nclt-a11y--high-contrast body a:not(.gov-a11y__item):not(.gov-a11y__trigger):focus {
  color: #000 !important;
  background-color: #ffff00 !important;
  outline: 2px solid #ffff00 !important;
}

/* Layout shells — legacy + current NCLT header/footer markup */
html.nclt-a11y--high-contrast header,
html.nclt-a11y--high-contrast .top-header,
html.nclt-a11y--high-contrast .top-right-nav,
html.nclt-a11y--high-contrast .logo-sec-wraper,
html.nclt-a11y--high-contrast .logo-sec-wraper .wt-bg,
html.nclt-a11y--high-contrast .logo-sec,
html.nclt-a11y--high-contrast .menu-sec-wraper,
html.nclt-a11y--high-contrast .menu-sec,
html.nclt-a11y--high-contrast .search-sec,
html.nclt-a11y--high-contrast .brand,
html.nclt-a11y--high-contrast .brand-text,
html.nclt-a11y--high-contrast .brand-emblem,
html.nclt-a11y--high-contrast .nav-scroll,
html.nclt-a11y--high-contrast .nav-scroll-outer,
html.nclt-a11y--high-contrast .home-slider-sec,
html.nclt-a11y--high-contrast .wel-wrap,
html.nclt-a11y--high-contrast .wel-bdr-heading,
html.nclt-a11y--high-contrast .wel-heading,
html.nclt-a11y--high-contrast .National-sec,
html.nclt-a11y--high-contrast .gallery-sec,
html.nclt-a11y--high-contrast .judgement-wrap,
html.nclt-a11y--high-contrast .footer-bottom-sec,
html.nclt-a11y--high-contrast .footer-nav-sec,
html.nclt-a11y--high-contrast .footer-web-links,
html.nclt-a11y--high-contrast .footer-top-slider,
html.nclt-a11y--high-contrast .footer-bottom-slider,
html.nclt-a11y--high-contrast ul.nice-menu,
html.nclt-a11y--high-contrast ul.nice-menu li,
html.nclt-a11y--high-contrast .menuparent,
html.nclt-a11y--high-contrast .topbar,
html.nclt-a11y--high-contrast .utility-bar,
html.nclt-a11y--high-contrast .brand-bar,
html.nclt-a11y--high-contrast .live-ticker,
html.nclt-a11y--high-contrast .branding,
html.nclt-a11y--high-contrast .nav,
html.nclt-a11y--high-contrast .flash-sec,
html.nclt-a11y--high-contrast .ticker-container,
html.nclt-a11y--high-contrast .ticker-label,
html.nclt-a11y--high-contrast .ticker-track,
html.nclt-a11y--high-contrast .ticker-scroll,
html.nclt-a11y--high-contrast .banner-section,
html.nclt-a11y--high-contrast #mid-section,
html.nclt-a11y--high-contrast main,
html.nclt-a11y--high-contrast main.container,
html.nclt-a11y--high-contrast .layout-content,
html.nclt-a11y--high-contrast .region-content,
html.nclt-a11y--high-contrast .page-content,
html.nclt-a11y--high-contrast .container,
html.nclt-a11y--high-contrast .container-fluid,
html.nclt-a11y--high-contrast .row,
html.nclt-a11y--high-contrast [class*="col-"],
html.nclt-a11y--high-contrast .paragraph,
html.nclt-a11y--high-contrast .intro-two-col,
html.nclt-a11y--high-contrast .search-tabs-section,
html.nclt-a11y--high-contrast .benches-section,
html.nclt-a11y--high-contrast .benches-section__inner,
html.nclt-a11y--high-contrast .twocol,
html.nclt-a11y--high-contrast .photo-gallery-section,
html.nclt-a11y--high-contrast .infinite-sider-section,
html.nclt-a11y--high-contrast .infinite-sider,
html.nclt-a11y--high-contrast .logos,
html.nclt-a11y--high-contrast .site-footer,
html.nclt-a11y--high-contrast .footer-main,
html.nclt-a11y--high-contrast .footer-bottom,
html.nclt-a11y--high-contrast .footer-bottom-inner,
html.nclt-a11y--high-contrast .bench-landing,
html.nclt-a11y--high-contrast .white-box,
html.nclt-a11y--high-contrast .card,
html.nclt-a11y--high-contrast .panel,
html.nclt-a11y--high-contrast .welcome,
html.nclt-a11y--high-contrast .president-card,
html.nclt-a11y--high-contrast .block,
html.nclt-a11y--high-contrast .views-row,
html.nclt-a11y--high-contrast table,
html.nclt-a11y--high-contrast .table-responsive {
  background-color: #000 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

html.nclt-a11y--high-contrast .nav {
  background: #000 !important;
}

html.nclt-a11y--high-contrast .top-header,
html.nclt-a11y--high-contrast .top-header ul li,
html.nclt-a11y--high-contrast .top-header ul li a,
html.nclt-a11y--high-contrast .topbar .links,
html.nclt-a11y--high-contrast .topbar .links a,
html.nclt-a11y--high-contrast .utility-bar,
html.nclt-a11y--high-contrast .utility-bar .util-link,
html.nclt-a11y--high-contrast .utility-bar .util-btn,
html.nclt-a11y--high-contrast .utility-bar .contrast-group button,
html.nclt-a11y--high-contrast .brand-bar,
html.nclt-a11y--high-contrast .brand-bar .brand-name-en,
html.nclt-a11y--high-contrast .brand-name-en,
html.nclt-a11y--high-contrast .brand-name-full,
html.nclt-a11y--high-contrast .brand-tag,
html.nclt-a11y--high-contrast .brand-bar .brand-name-full,
html.nclt-a11y--high-contrast .brand-bar .brand-tag,
html.nclt-a11y--high-contrast .brand-bar .govt-mark,
html.nclt-a11y--high-contrast .live-ticker,
html.nclt-a11y--high-contrast .font-controls a,
html.nclt-a11y--high-contrast .menu-sec ul li a,
html.nclt-a11y--high-contrast ul.nice-menu li a {
  color: #ffff00 !important;
}

html.nclt-a11y--high-contrast .nav-menu > li > a,
html.nclt-a11y--high-contrast .nav-menu .submenu a,
html.nclt-a11y--high-contrast .submenu,
html.nclt-a11y--high-contrast .menu-sec ul li .menuparent,
html.nclt-a11y--high-contrast .menu-sec ul li .menuparent li a,
html.nclt-a11y--high-contrast ul.nice-menu ul li a {
  color: #fff !important;
  background-color: #000 !important;
  border-color: #fff !important;
}

html.nclt-a11y--high-contrast .nav-menu > li:hover > a,
html.nclt-a11y--high-contrast .nav-menu > li:focus-within > a {
  color: #000 !important;
  background-color: #ffff00 !important;
}

/* Case search + announcements */
html.nclt-a11y--high-contrast .search-tabs-wrap,
html.nclt-a11y--high-contrast .search-tabs,
html.nclt-a11y--high-contrast .search-tabs-content,
html.nclt-a11y--high-contrast .notice-strip,
html.nclt-a11y--high-contrast .notice-strip-vertical,
html.nclt-a11y--high-contrast .search-side-ticker,
html.nclt-a11y--high-contrast .ticker-vertical-outer,
html.nclt-a11y--high-contrast .ticker-vertical,
html.nclt-a11y--high-contrast .ticker-vertical__track {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

html.nclt-a11y--high-contrast .search-tabs .nav-link {
  color: #fff !important;
  background-color: #000 !important;
  border-color: #fff !important;
}

html.nclt-a11y--high-contrast .search-tabs .nav-link.active {
  color: #000 !important;
  background-color: #ffff00 !important;
  border-color: #ffff00 !important;
  box-shadow: none !important;
}

html.nclt-a11y--high-contrast .search-tabs .nav-link:hover {
  color: #000 !important;
  background-color: #ffff00 !important;
}

/* NCLT benches grid */
html.nclt-a11y--high-contrast .grid-benches,
html.nclt-a11y--high-contrast .bench.bench-tile,
html.nclt-a11y--high-contrast .bench-tile {
  background-color: #000 !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

html.nclt-a11y--high-contrast .bench-tile__icon,
html.nclt-a11y--high-contrast .bench-tile__name {
  color: #fff !important;
}

html.nclt-a11y--high-contrast .bench-tile:hover {
  background-color: #ffff00 !important;
  color: #000 !important;
  border-color: #ffff00 !important;
}

html.nclt-a11y--high-contrast .bench-tile:hover .bench-tile__icon,
html.nclt-a11y--high-contrast .bench-tile:hover .bench-tile__name {
  color: #000 !important;
}

/* Tenders / events */
html.nclt-a11y--high-contrast .tblock,
html.nclt-a11y--high-contrast .tenders-vertical__track a,
html.nclt-a11y--high-contrast .event-card,
html.nclt-a11y--high-contrast .event-card__link,
html.nclt-a11y--high-contrast .event-card__body,
html.nclt-a11y--high-contrast .event-card__img-wrap,
html.nclt-a11y--high-contrast .event-card__date,
html.nclt-a11y--high-contrast .event-card__title,
html.nclt-a11y--high-contrast .more-links-cta {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* Photo gallery + logo strip */
html.nclt-a11y--high-contrast .gallery-carousel-wrap,
html.nclt-a11y--high-contrast .gallery-card,
html.nclt-a11y--high-contrast .gallery-card__img-wrap,
html.nclt-a11y--high-contrast .gallery-card__caption,
html.nclt-a11y--high-contrast .logos-slide {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

html.nclt-a11y--high-contrast .gallery-carousel .owl-nav button.owl-prev,
html.nclt-a11y--high-contrast .gallery-carousel .owl-nav button.owl-next,
html.nclt-a11y--high-contrast .events-carousel .owl-nav button.owl-prev,
html.nclt-a11y--high-contrast .events-carousel .owl-nav button.owl-next,
html.nclt-a11y--high-contrast .banner-carousel .owl-nav button {
  background-color: #000 !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

/* Footer */
html.nclt-a11y--high-contrast .site-footer a,
html.nclt-a11y--high-contrast .footer-list a,
html.nclt-a11y--high-contrast .footer-site-link {
  color: #ffff00 !important;
}

html.nclt-a11y--high-contrast .footer-map-wrap {
  background-color: #000 !important;
  border-color: #fff !important;
}

html.nclt-a11y--high-contrast .footer-back-top {
  background-color: #ffff00 !important;
  color: #000 !important;
  border: 1px solid #fff !important;
}

/* Forms */
html.nclt-a11y--high-contrast input,
html.nclt-a11y--high-contrast select,
html.nclt-a11y--high-contrast textarea,
html.nclt-a11y--high-contrast .topbar-search,
html.nclt-a11y--high-contrast .topbar-search input {
  background-color: #000 !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

html.nclt-a11y--high-contrast button,
html.nclt-a11y--high-contrast .btn,
html.nclt-a11y--high-contrast input[type="submit"],
html.nclt-a11y--high-contrast input[type="button"],
html.nclt-a11y--high-contrast .login-btn,
html.nclt-a11y--high-contrast .login-btn a,
html.nclt-a11y--high-contrast .login-btn a.is-active,
html.nclt-a11y--high-contrast .bench-date-search__btn,
html.nclt-a11y--high-contrast .query button {
  background-color: #000 !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  background-image: none !important;
}

html.nclt-a11y--high-contrast button:hover,
html.nclt-a11y--high-contrast .btn:hover,
html.nclt-a11y--high-contrast .login-btn:hover,
html.nclt-a11y--high-contrast .login-btn a:hover,
html.nclt-a11y--high-contrast .login-btn a.is-active:hover,
html.nclt-a11y--high-contrast .bench-date-search__btn:hover {
  background-color: #ffff00 !important;
  color: #000 !important;
  border-color: #ffff00 !important;
}

html.nclt-a11y--high-contrast table th,
html.nclt-a11y--high-contrast table td {
  background-color: #000 !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

html.nclt-a11y--high-contrast table thead th {
  background-color: #1a1a1a !important;
}

html.nclt-a11y--high-contrast hr {
  border-color: #fff !important;
  background-color: #fff !important;
}

html.nclt-a11y--high-contrast .breadcrumb,
html.nclt-a11y--high-contrast .pager__item a {
  background-color: #000 !important;
  color: #ffff00 !important;
}

html.nclt-a11y--high-contrast img,
html.nclt-a11y--high-contrast video,
html.nclt-a11y--high-contrast picture {
  opacity: 0.95;
}

/* Accessibility panel stays readable in high contrast */
html.nclt-a11y--high-contrast .gov-a11y__panel,
html.nclt-a11y--high-contrast .gov-a11y__panel * {
  background-color: #fff !important;
  color: #000 !important;
  border-color: #333 !important;
}

html.nclt-a11y--high-contrast .gov-a11y__item {
  background-color: #fff !important;
  color: #222 !important;
  border-color: #333 !important;
}

html.nclt-a11y--high-contrast .gov-a11y__item.is-selected {
  border-color: #000 !important;
  background-color: #f5f5f5 !important;
}

html.nclt-a11y--high-contrast .gov-a11y__trigger {
  background: transparent !important;
}

html.nclt-a11y--high-contrast .gov-a11y__trigger:hover,
html.nclt-a11y--high-contrast .gov-a11y__trigger:focus-visible {
  color: #ffff00 !important;
}

html.nclt-a11y--highlight-links body a:not(.gov-a11y__item):not(.gov-a11y__trigger):not(.brand) {
  background: #ff0 !important;
  color: #000 !important;
  text-decoration: underline !important;
  padding: 0 2px;
}

/* Invert — full-page like govt portal reference (images invert too) */
html.nclt-a11y--invert {
  filter: invert(1) hue-rotate(180deg);
  background-color: #000;
}

html.nclt-a11y--invert .gov-a11y,
html.nclt-a11y--invert #nclt-a11y-cursor {
  filter: invert(1) hue-rotate(180deg);
}

html.nclt-a11y--saturation {
  filter: saturate(2);
}

html.nclt-a11y--saturation .gov-a11y,
html.nclt-a11y--saturation #nclt-a11y-cursor {
  filter: saturate(0.5);
}

html.nclt-a11y--text-spacing body p,
html.nclt-a11y--text-spacing body li,
html.nclt-a11y--text-spacing body td,
html.nclt-a11y--text-spacing body th,
html.nclt-a11y--text-spacing body h1,
html.nclt-a11y--text-spacing body h2,
html.nclt-a11y--text-spacing body h3,
html.nclt-a11y--text-spacing body h4 {
  letter-spacing: 0.08em !important;
  word-spacing: 0.16em !important;
}

html.nclt-a11y--line-height body p,
html.nclt-a11y--line-height body li,
html.nclt-a11y--line-height body td,
html.nclt-a11y--line-height body th {
  line-height: 2 !important;
}

html.nclt-a11y--hide-images body img,
html.nclt-a11y--hide-images body picture {
  visibility: hidden !important;
}

/* Big Cursor — custom arrow / hand / I-beam (JS-driven) */
html.nclt-a11y--big-cursor,
html.nclt-a11y--big-cursor * {
  cursor: none !important;
}

.nclt-a11y-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483646;
  pointer-events: none;
  will-change: transform;
}

.nclt-a11y-cursor__pointer {
  display: block;
  width: 72px;
  height: 72px;
  line-height: 0;
}

.nclt-a11y-cursor__pointer svg {
  display: block;
  width: 72px;
  height: 72px;
}

.nclt-a11y-cursor__hand {
  display: none;
  width: 47px;
  height: 72px;
  line-height: 0;
}

.nclt-a11y-cursor__hand img {
  display: block;
  width: 47px;
  height: 72px;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.nclt-a11y-cursor.is-pointer .nclt-a11y-cursor__pointer {
  display: none;
}

.nclt-a11y-cursor.is-pointer .nclt-a11y-cursor__hand {
  display: block;
  margin: 0 0 0 -24px;
}

.nclt-a11y-cursor.is-text .nclt-a11y-cursor__pointer,
.nclt-a11y-cursor.is-text .nclt-a11y-cursor__hand {
  display: none;
}

.nclt-a11y-cursor__ibeam {
  display: none;
  width: 8px;
  height: 56px;
  background: #000;
  border-radius: 1px;
}

.nclt-a11y-cursor.is-text .nclt-a11y-cursor__ibeam {
  display: block;
  margin: 0 0 0 -4px;
}

html.nclt-a11y--high-contrast .nclt-a11y-cursor__pointer svg path {
  fill: #fff !important;
}

html.nclt-a11y--high-contrast .nclt-a11y-cursor__hand img {
  filter: brightness(0) invert(1);
}

html.nclt-a11y--high-contrast .nclt-a11y-cursor__ibeam {
  background: #fff;
}


@media (max-width: 520px) {
  .gov-a11y__panel {
    width: min(320px, calc(100vw - 16px));
  }

  .gov-a11y.is-panel-left .gov-a11y__panel {
    left: 0;
    right: auto;
  }

  .gov-a11y.is-panel-right .gov-a11y__panel {
    left: auto;
    right: 0;
  }

  .gov-a11y__grid--2 {
    max-width: 100%;
  }

  .gov-a11y__trigger-text {
    display: none;
  }

  .gov-a11y__item {
    height: 86px;
  }
}

/* ============================================================
   ACCESSIBILITY ICON — PNG trigger image
   ============================================================ */

/* Default (dark top-header) */
.top-header .gov-a11y__trigger .gov-a11y__trigger-icon {
  filter: brightness(0) invert(1);
  opacity: 0.95;
}

.top-header .gov-a11y__trigger:hover .gov-a11y__trigger-icon,
.top-header .gov-a11y__trigger:focus-visible .gov-a11y__trigger-icon,
.top-header .gov-a11y:hover .gov-a11y__trigger .gov-a11y__trigger-icon,
.top-header .gov-a11y:focus-within .gov-a11y__trigger .gov-a11y__trigger-icon {
  filter: brightness(0) saturate(100%) invert(88%) sepia(78%) saturate(1200%) hue-rotate(358deg) brightness(104%);
  opacity: 1;
}

/* Hover / focus — light header contexts */
.gov-a11y__trigger:hover .gov-a11y__trigger-icon,
.gov-a11y__trigger:focus-visible .gov-a11y__trigger-icon,
.gov-a11y:hover .gov-a11y__trigger .gov-a11y__trigger-icon,
.gov-a11y:focus-within .gov-a11y__trigger .gov-a11y__trigger-icon {
  filter: brightness(1.08);
}

/* High-contrast black mode — force white icon */
html.nclt-a11y--high-contrast .gov-a11y__trigger .gov-a11y__trigger-icon {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

html.nclt-a11y--high-contrast .gov-a11y__trigger:hover .gov-a11y__trigger-icon,
html.nclt-a11y--high-contrast .gov-a11y__trigger:focus-visible .gov-a11y__trigger-icon {
  filter: brightness(0) saturate(100%) invert(88%) sepia(78%) saturate(1200%) hue-rotate(358deg) brightness(104%) !important;
}

/* Invert mode */
html.nclt-a11y--invert .gov-a11y__trigger .gov-a11y__trigger-icon {
  filter: brightness(0) invert(1);
}
