/* ==========================================================================
   Accessibility remediation — WCAG 2.1 AA
   Added for RMS Investments per EnableUser audit (June 2026).
   Loaded after style.css / responsive.css so these rules win.
   ========================================================================== */

/* --- Skip to main content link (WCAG 2.4.1 Bypass Blocks) ----------------- */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100000;
    padding: 10px 16px;
    background: #ffffff;
    color: #1a1a1a;
    font-weight: 700;
    border: 2px solid #1a1a1a;
    border-radius: 0 0 4px 0;
}

.skip-link:focus {
    left: 0;
    outline: 3px solid #ed9241;
    outline-offset: 0;
}

/* Target of the skip link should not show a persistent outline on programmatic focus */
#main-content:focus {
    outline: none;
}

/* --- Visible keyboard focus indicators (WCAG 2.4.7) ----------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #ed9241;
    outline-offset: 2px;
}

/* --- Disclosures content links: contrast on the dark #3a4148 panel --------
   Default UA link blue fails 4.5:1 on the dark slate background.
   #8ab4f8 gives ~5:1; underline so colour is not the only cue (WCAG 1.4.1). */
.disclosures-area a {
    color: #8ab4f8;
    text-decoration: underline;
}

.disclosures-area a:hover,
.disclosures-area a:focus {
    color: #cfe0fc;
    text-decoration: underline;
}

/* Disclosures data tables inherit the dark #3a4148 panel background, so table
   links keep the light #8ab4f8 above (~4.9:1) rather than a dark colour. */

/* --- Links must not rely on colour alone (WCAG 1.4.1, G183) ---------------
   The global `a { text-decoration: none }` in style.css left body links with a
   1.00:1 colour difference from surrounding text (identical colour), so an
   underline is the only reliable cue. Underline content + footer links. */
.footer-area a,
.welcome-area a,
.service-area .content a,
.contact-area .content a {
    text-decoration: underline;
}

.footer-area a:hover,
.footer-area a:focus,
.welcome-area a:hover,
.welcome-area a:focus,
.service-area .content a:hover,
.service-area .content a:focus,
.contact-area .content a:hover,
.contact-area .content a:focus {
    text-decoration: underline;
}

/* Main-nav dropdown trigger was flagged at 1.83:1 vs surrounding text.
   Underline the top-level nav links so the cue is not colour alone. */
.main-menu .navigation > li > a {
    text-decoration: underline;
}

/* --- Placeholder text contrast >= 4.5:1 (WCAG 1.4.3) ----------------------
   Default placeholder rendered at 2.85:1 on the white field. #6a6a6a is
   ~5.4:1. opacity:1 is required — Firefox dims placeholders by default. */
.form-control::placeholder {
    color: #6a6a6a;
    opacity: 1;
}

.form-control::-webkit-input-placeholder {
    color: #6a6a6a;
    opacity: 1;
}

.form-control::-moz-placeholder {
    color: #6a6a6a;
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: #6a6a6a;
}

/* --- Form field borders: non-text contrast >= 3:1 (WCAG 1.4.11) ----------
   Bootstrap's default #ccc border is ~1.6:1 on white. #595959 is ~7:1. */
.contact-area .form-control,
.contact-form .form-control,
form .form-control {
    border: 1px solid #595959;
}

.contact-area .form-control:focus,
.contact-form .form-control:focus,
form .form-control:focus {
    border-color: #1a1a1a;
    box-shadow: 0 0 0 2px rgba(237, 146, 65, 0.45);
}

/* Visible, persistent labels for the contact form */
.contact-area form label,
.contact-form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #1a1a1a;
}

/* Promoted page-title <h1>s (were <h2>) — keep them visually identical to the
   old headings so the level-one-heading fix causes no visual change. */
.service-area .title h1,
.contact-area .title h1,
.disclosures-area .title h1 {
    font-family: futura-book, Sans-Serif;
    font-size: 25px;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 0;
}

.service-area .title h1,
.contact-area .title h1 {
    color: #000;
}

.disclosures-area .title h1 {
    color: #fff;
}

/* Homepage complaint-data table caption (replaces the old fake-caption cell) */
.welcome-area table caption {
    caption-side: top;
    text-align: left;
    color: #000;
    padding: 8px 0;
}

.welcome-area table caption .table-title {
    display: block;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 6px;
}

.welcome-area table caption .table-subtitle {
    display: block;
    font-size: 14px;
    font-weight: 400;
}

.welcome-area table thead th {
    text-align: left;
    vertical-align: top;
}

/* Long-description text for complex images, kept available to AT
   while not disrupting the visual layout. */
.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
