/* WCAG 2.2 AA overrides. Loaded after style.min.css. Brand cyan #4fc2df is decorative; text uses #005f70 / #00758a. */
body { color: #5a6268; }
.text-muted { color: #5a6268 !important; }

/* Skip link */
.skip-link { position: absolute; left: 8px; top: -100px; z-index: 100000; padding: 10px 16px; background: #1d2b2e; color: #fff; font-weight: 700; text-decoration: underline; border-radius: 0 0 4px 4px; }
.skip-link:focus { top: 0; color: #fff; outline: 3px solid #fff; outline-offset: 0; box-shadow: 0 0 0 6px #1d2b2e; }
main[tabindex="-1"]:focus { outline: none; }
#main, section[id] { scroll-margin-top: 80px; }

/* Buttons */
.btn-primary svg { fill: currentColor; }
.btn-outline-secondary { color: #495057 !important; border-color: #5a6268; }
.btn-outline-secondary:hover, .btn-outline-secondary:focus { color: #fff !important; background-color: #5a6268; border-color: #5a6268; }
.btn-secondary { color: #fff !important; background-color: #5a6268; border-color: #5a6268; }

/* Footer on #6c757d */
#footer .text-light, #footer .menu > .font-weight-bold, #footer a { color: #fff !important; }
#footer .menu a { display: inline-block; min-height: 24px; line-height: 24px; text-decoration: underline; }
#footer .menu > li { margin-bottom: 2px; }
#footer a.d-block { min-height: 24px; text-decoration: underline; }

/* Leadership block */
#leadership { background-color: #5c6b70; }

/* Grey-on-grey text and links in content */
#legal, .a-better-place, .a-better-place .px-4, .form-input-careers-request, .form-input-contact-request, .contact, .page-content, .status-updates { color: #495057; }
#legal a, .products p a, .contact a:not(.btn), .a-better-place p a, .page-content a, .status-updates a, .form-input-careers-request a, .form-input-contact-request a, .wpcf7 a {
  color: #005f70; text-decoration: underline;
}
#legal a:hover, .products p a:hover, .contact a:not(.btn):hover, .page-content a:hover { color: #003f4b; }
.pagination a, .pagination .current { text-decoration: underline; color: #005f70; }

/* Forms */
.wpcf7-not-valid-tip { color: #b00020; font-weight: 700; }
.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) { min-height: 24px; }

/* Product section heading demoted from h1 */
.products .ams .header h2.h1 { font-size: 2.5em; }
@media (max-width: 767.98px) { .products .ams .header h2.h1 { font-size: 2em; } }
.h1.header { font-size: 2.5em; }

/* Target size */
.nav-link, .navbar-brand { min-height: 24px; }
.close, .navbar-toggler { min-width: 24px; min-height: 24px; }

/* Focus visible */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #005f70; outline-offset: 2px; box-shadow: 0 0 0 2px #fff;
}
#footer :focus-visible, #leadership :focus-visible, header :focus-visible, #cookie-consent :focus-visible, .modal :focus-visible, .btn-primary:focus-visible {
  outline-color: #fff; box-shadow: 0 0 0 2px #1d2b2e;
}
.btn-primary:focus-visible { outline-color: #1d2b2e; box-shadow: 0 0 0 2px #fff; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .carousel-fade .carousel-item { transition: none !important; }
}

/* Carousel pause/play button */
.carousel { position: relative; }
.carousel-toggle { position: absolute; right: .75rem; bottom: .75rem; z-index: 5; width: 32px; height: 32px; min-width: 32px; min-height: 32px; padding: 0; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; font-size: 10px; line-height: 1; letter-spacing: -1px; opacity: .8; cursor: pointer; transition: opacity .15s ease, background-color .15s ease; }
.carousel-toggle:hover, .carousel-toggle:focus-visible { opacity: 1; background: rgba(0, 0, 0, .8); }
.carousel-toggle:focus-visible { outline: 3px solid #ffbf47; outline-offset: 2px; }
