/* =========================================================
GLOBAL ACCESSIBILITY FIXES
========================================================= */

/* Explicit base colors (required for contrast consistency) */
body {
    color: #111111;
    background-color: #ffffff;
}

/* Link contrast */
a {
    color: #005a9c;
}

a:hover,
a:focus {
    color: #00467a;
}

/* Strong visible focus (keyboard users) */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
[tabindex]:focus {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
}

/* Form field contrast */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
textarea,
select {
    border: 1px solid #767676;
    background-color: #ffffff;
    color: #111111;
}

/* Screen-reader utility */
.screen-reader-text,
.sr-only,
.sr-only.page-title-fallback {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}

/* Make skip link visible on focus */
a.sr-only:focus,
a.screen-reader-text:focus {
    position: fixed !important;
    top: 10px;
    left: 10px;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 16px;
    clip-path: none;
    white-space: normal;
    background: #000000;
    color: #ffffff;
    z-index: 99999;
    text-decoration: none;
}

/* =========================================================
PAGE-SPECIFIC LINK CONTRAST FIXES
========================================================= */

/* Person with Stroke and Families (page-id-4916) */
body.page-id-4916 a {
    color: #005a9c;
}

body.page-id-4916 a:hover,
body.page-id-4916 a:focus {
    color: #00467a;
}

/* Primary Care Providers (page-id-5997) */
body.page-id-5997 a {
    color: #005a9c;
}

body.page-id-5997 a:hover,
body.page-id-5997 a:focus {
    color: #00467a;
}

/* Patient and Care Partner Education (page-id-6532) */
body.page-id-6532 a {
    color: #005a9c;
}

body.page-id-6532 a:hover,
body.page-id-6532 a:focus {
    color: #00467a;
}

/* =========================================================
HERO OVERLAY FIX (SAFE VERSION)
page-id-6532 ONLY
========================================================= */

/* Target ONLY first Elementor section (hero) */
body.page-id-6532 .elementor-top-section:first-of-type {
    position: relative;
}

/* Overlay layer */
body.page-id-6532 .elementor-top-section:first-of-type::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
    z-index: 0;
}

/* Ensure content sits above overlay */
body.page-id-6532 .elementor-top-section:first-of-type > .elementor-container,
body.page-id-6532 .elementor-top-section:first-of-type .elementor-column,
body.page-id-6532 .elementor-top-section:first-of-type .elementor-widget-wrap,
body.page-id-6532 .elementor-top-section:first-of-type .elementor-element {
    position: relative;
    z-index: 1;
}

/* Improve heading readability */
body.page-id-6532 .elementor-top-section:first-of-type h1,
body.page-id-6532 .elementor-top-section:first-of-type h2,
body.page-id-6532 .elementor-top-section:first-of-type .elementor-heading-title {
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* =========================================================
BUTTON / CTA CONTRAST FIXES
========================================================= */

a.button.black,
button.button.black {
    color: #ffffff;
    background-color: #1f1f1f;
    border-color: #1f1f1f;
}

a.button.black:hover,
a.button.black:focus,
button.button.black:hover,
button.button.black:focus {
    color: #ffffff;
    background-color: #000000;
    border-color: #000000;
}

/* =========================================================
INPUT CLASS PATTERN SUPPORT
========================================================= */

input.input,
textarea.input,
select.input {
    border: 1px solid #767676;
    background-color: #ffffff;
    color: #111111;
}
