/* Accessibility overrides: contrast, tap targets, cookie banner. Visual change is limited to passing WCAG AA. */

.a11y-hero-overlay {
  background-image: linear-gradient(to right, rgba(17, 24, 32, 0.96), rgba(17, 24, 32, 0.84) 48%, rgba(17, 24, 32, 0.62)) !important;
}

.hero-dots {
  gap: 0 !important;
}
.hero-dot {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.hero-dot.is-active {
  width: 48px !important;
  background: transparent !important;
}
.hero-dot::after {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.65);
  transition: background .25s ease, width .25s ease;
}
.hero-dot.is-active::after {
  width: 1.35rem;
  background: #AEB7C0;
}
.hero-dot:hover::after,
.hero-dot:focus-visible::after {
  background: #fff;
}

footer[data-wgs-chrome="footer"] a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}
footer[data-wgs-chrome="footer"] ul {
  display: flex;
  flex-direction: column;
  gap: 0;
}
footer[data-wgs-chrome="footer"] .footer-social {
  min-width: 48px;
  min-height: 48px;
  width: 48px;
  height: 48px;
}

#menu-btn,
.header-call-btn {
  min-width: 48px;
  min-height: 48px;
  width: 48px;
  height: 48px;
}

.nav-link,
#mobile-nav a,
.nav-drop-menu a,
.btn-primary,
.btn-ghost,
.btn-navy,
.signup-cta {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
}
#mobile-nav a {
  display: flex;
}
[data-gallery-filters] button {
  min-height: 48px;
  min-width: 48px;
  padding-left: 1rem;
  padding-right: 1rem;
}

.nav-link {
  color: rgba(255, 255, 255, 0.8);
}
.nav-drop-menu a {
  color: rgba(255, 255, 255, 0.8);
}
.legal-prose p,
.legal-prose li {
  color: rgba(17, 24, 32, 0.8);
}
.nav-drop-foot {
  color: #8FB4C8 !important;
}
.bg-navy .text-amp,
header .text-amp {
  color: #8FB4C8;
}

#cookie-banner {
  position: fixed;
  z-index: 80;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  max-width: 40rem;
  margin-inline: auto;
  background: #111820;
  color: #fff;
  border: 1px solid rgba(174, 183, 192, 0.4);
  padding: 1.25rem 1.35rem;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}
#cookie-banner p {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
}
#cookie-banner .cookie-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}
#cookie-banner .cookie-btn {
  min-height: 48px;
  min-width: 8.5rem;
  padding: 0.75rem 1.25rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
#cookie-banner .cookie-btn-accept {
  background: #3D718F;
  color: #fff;
  border: 1px solid #3D718F;
}
#cookie-banner .cookie-btn-decline {
  background: #3D718F;
  color: #fff;
  border: 1px solid #3D718F;
}
#cookie-banner .cookie-btn:hover {
  background: #2F5A73;
  border-color: #2F5A73;
}
