/* =========================================================================
 * MBCHC — WCAG 2.1 AA Accessibility Fixes
 * Scope: homepage, header, footer (global)
 * Loaded after parent theme styles via child theme functions.php
 * ========================================================================= */

/* -------------------------------------------------------------------------
 * 1. Skip-to-content link (WCAG 2.4.1 Bypass Blocks)
 * Visible only when focused via keyboard.
 * ------------------------------------------------------------------------- */
.mbchc-skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100000;
    padding: 12px 20px;
    background: #0a4a8c;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    border-radius: 0 0 4px 0;
}
.mbchc-skip-link:focus,
.mbchc-skip-link:focus-visible {
    left: 0;
    outline: 3px solid #ffd700;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * 2. Visible keyboard focus on every interactive element (WCAG 2.4.7)
 * Many parent-theme rules strip outlines; restore them with a contrasting ring.
 * ------------------------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[role="link"]:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #ffd700 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgba(10, 74, 140, 0.35) !important;
}

/* Keep older :focus rule as fallback for non-supporting browsers without
 * killing it for keyboard users. */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid #0a4a8c;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * 3. Mobile menu toggler & close button — make them look/feel like buttons
 *    (JS converts them to role=button with proper ARIA).
 * ------------------------------------------------------------------------- */
.mobile-nav-toggler[role="button"],
.mobile-menu .close-btn[role="button"] {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mobile-nav-toggler[role="button"]:focus-visible,
.mobile-menu .close-btn[role="button"]:focus-visible {
    outline: 3px solid #ffd700;
    outline-offset: 4px;
    border-radius: 4px;
}

/* -------------------------------------------------------------------------
 * 4. Find-your-Provider search input — visible label support
 * The JS adds a real <label class="screen-reader-text"> for the input.
 * ------------------------------------------------------------------------- */
.screen-reader-text,
.sr-only {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    word-wrap: normal !important;
    white-space: nowrap !important;
}
.screen-reader-text:focus,
.sr-only:focus {
    background-color: #f1f1f1;
    clip: auto !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* -------------------------------------------------------------------------
 * 5. Color-contrast adjustments (WCAG 1.4.3)
 *    Original v1.1 included broad color overrides on ".theme-btn-one",
 *    header bar, and footer. Those replaced the site's visual design.
 *    Reverted in v1.2 — we now only target hover/focus affordances and
 *    placeholder readability so the existing color palette is preserved.
 *    If WAVE flags specific elements as low-contrast, we'll address those
 *    individually rather than blanket-overriding.
 * ------------------------------------------------------------------------- */

/* Hover/focus underline as a non-color affordance for users who can't
   distinguish the link by color alone. (WCAG 1.4.1 Use of Color) */
.main-footer a:hover,
.main-footer a:focus,
.main-header a:hover,
.main-header a:focus {
    text-decoration: underline !important;
}

/* Find-your-Provider placeholder text — improve readability without
   changing the site palette. */
.dorcortsearch input::placeholder {
    color: #555555;
    opacity: 1;
}

/* -------------------------------------------------------------------------
 * 6. Dropdown menu — visible affordance & focus state
 * ------------------------------------------------------------------------- */
.main-menu .navigation > li.dropdown > a::after {
    content: " \25BE"; /* downward triangle */
    font-size: 0.7em;
    margin-left: 4px;
    speak: none;
}

/* Submenu visible on keyboard focus, not just hover (WCAG 2.1.1) */
.main-menu .navigation > li.dropdown:focus-within > .submenu,
.main-menu .navigation > li.dropdown.open > .submenu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Submenu items focus background */
.main-menu .submenu li > a:focus-visible {
    background-color: #0a4a8c;
    color: #ffffff !important;
    outline-offset: -2px;
}

/* -------------------------------------------------------------------------
 * 7. Carousel pause/play button (added by JS)
 * ------------------------------------------------------------------------- */
.mbchc-carousel-pause {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 20;
    background: rgba(0, 0, 0, 0.7);
    color: #ffffff;
    border: 2px solid #ffffff;
    border-radius: 999px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
}
.mbchc-carousel-pause:hover,
.mbchc-carousel-pause:focus-visible {
    background: rgba(0, 0, 0, 0.9);
    outline: 3px solid #ffd700;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * 8. Make the scroll-top button properly accessible
 * ------------------------------------------------------------------------- */
button.scroll-top:focus-visible {
    outline: 3px solid #ffd700;
    outline-offset: 4px;
}

/* -------------------------------------------------------------------------
 * 9. UserWay widget — ensure keyboard users can reach it consistently
 * (Widget itself manages most ARIA, but make trigger non-confusing.)
 * ------------------------------------------------------------------------- */
[id^="userwayAccessibilityIcon"]:focus-visible,
.userway_buttons_wrapper:focus-visible {
    outline: 3px solid #ffd700 !important;
}

/* -------------------------------------------------------------------------
 * 10. Honor user preference for reduced motion (WCAG 2.3.3 / 2.2.2)
 * ------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
    .elementor-ken-burns,
    .elementor-ken-burns--in,
    .elementor-ken-burns--out {
        animation: none !important;
        transform: none !important;
    }
}

/* -------------------------------------------------------------------------
 * 11. Form-field minimum target size on mobile (WCAG 2.5.5 AAA, but cheap)
 * ------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="password"],
button,
.theme-btn-one {
    min-height: 44px;
}

/* -------------------------------------------------------------------------
 * 12. DocPro provider / clinic search widget — visible focus on filters
 * ------------------------------------------------------------------------- */
.docpro-search select:focus-visible,
.doctors-search select:focus-visible,
form[action*="doctors"] select:focus-visible,
form[action*="our-clinics"] select:focus-visible {
    outline: 3px solid #ffd700 !important;
    outline-offset: 2px !important;
}

/* List/Grid view toggle visual press state (when JS sets aria-pressed=true) */
.list-view[aria-pressed="true"],
.grid-view[aria-pressed="true"] {
    background-color: #0a4a8c !important;
    color: #ffffff !important;
}

/* Hide the duplicate doctor list view when its toggle is inactive (JS sets aria-hidden) */
.docpro-listing[aria-hidden="true"],
.docpro-grid[aria-hidden="true"],
.doctors-list[aria-hidden="true"],
.doctors-grid[aria-hidden="true"],
.list-view-container[aria-hidden="true"],
.grid-view-container[aria-hidden="true"] {
    display: none !important;
}

/* -------------------------------------------------------------------------
 * 13. WP Job Manager — visible labels, contrast, focus
 *     The plugin visually hides labels by default; expose them so sighted
 *     users see what each input is for.
 * ------------------------------------------------------------------------- */
.job_filters .search_keywords label,
.job_filters .search_location label,
.job_filters .search_categories label {
    position: static !important;
    clip: auto !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    display: block !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}

/* Job-type chips — force ≥ 4.5:1 contrast (default greens/oranges fail). */
ul.job-types li.job-type,
.job_listing-type {
    color: #ffffff !important;
    background-color: #1f5f2a !important; /* default green replacement */
    padding: 2px 8px !important;
    border-radius: 3px !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
ul.job-types li.full-time,
.job_listing-type.full-time { background-color: #1f5f2a !important; } /* dark green */
ul.job-types li.part-time,
.job_listing-type.part-time { background-color: #b85c00 !important; } /* dark orange */
ul.job-types li.internship,
.job_listing-type.internship { background-color: #5b2c91 !important; } /* dark purple */
ul.job-types li.temporary,
.job_listing-type.temporary { background-color: #8a1f4a !important; } /* dark magenta */
ul.job-types li.freelance,
.job_listing-type.freelance { background-color: #045d6e !important; } /* dark teal */

ul.job_listings li.job_listing a:focus-visible {
    outline: 3px solid #ffd700 !important;
    outline-offset: 2px !important;
}

/* Job-feed RSS icon button — focus & hover */
a.job_feed:focus-visible {
    outline: 3px solid #ffd700 !important;
    outline-offset: 2px !important;
}

/* "Load more listings" anchor styled like a button — minimum target size + focus */
a.load_more_jobs,
a.load_more_listings {
    display: inline-block;
    min-height: 44px;
    padding: 12px 24px !important;
    background: #0a4a8c !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
a.load_more_jobs:hover,
a.load_more_listings:hover,
a.load_more_jobs:focus-visible,
a.load_more_listings:focus-visible {
    background: #073564 !important;
    outline: 3px solid #ffd700 !important;
    outline-offset: 2px !important;
}

/* -------------------------------------------------------------------------
 * 14. Contact Form 7 — visible required indicator and error styling
 * ------------------------------------------------------------------------- */
.wpcf7-form .wpcf7-form-control[aria-required="true"] + .wpcf7-required-mark,
.wpcf7-form label .required {
    color: #b30000 !important;
    margin-left: 2px;
}

.wpcf7-form .wpcf7-not-valid {
    border: 2px solid #b30000 !important;
    background-color: #fff4f4 !important;
}

.wpcf7-form .wpcf7-not-valid-tip {
    color: #b30000 !important;
    font-weight: 600;
    font-size: 14px;
}

.wpcf7-form .wpcf7-response-output {
    margin: 1em 0 !important;
    padding: 12px 16px !important;
    border: 2px solid !important;
    border-radius: 4px;
    font-weight: 600;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output {
    border-color: #b30000 !important;
    background-color: #fff4f4 !important;
    color: #8a0000 !important;
}
.wpcf7-form.sent .wpcf7-response-output {
    border-color: #1f5f2a !important;
    background-color: #f0fff4 !important;
    color: #154820 !important;
}

/* -------------------------------------------------------------------------
 * 15. Accordion / disclosure UI — visible expanded/collapsed indicator
 * ------------------------------------------------------------------------- */
.acc-btn[aria-expanded]::after {
    content: " \25BC";
    font-size: 0.7em;
    margin-left: 6px;
    transition: transform 200ms;
    display: inline-block;
}
.acc-btn[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

/* -------------------------------------------------------------------------
 * 16. Breadcrumb current-page styling
 * ------------------------------------------------------------------------- */
.bread-crumb li[aria-current="page"],
.breadcrumbs li[aria-current="page"] {
    font-weight: 700;
}

/* -------------------------------------------------------------------------
 * 17. Make sure the screen-reader-text appended inside links doesn't break
 *     button layouts.
 * ------------------------------------------------------------------------- */
a .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
}

/* -------------------------------------------------------------------------
 * 18. "Like" docpro favourite control — focus state when made into a button
 * ------------------------------------------------------------------------- */
.docpro-likebox[role="button"]:focus-visible {
    outline: 3px solid #ffd700 !important;
    outline-offset: 4px;
    border-radius: 999px;
}

/* -------------------------------------------------------------------------
 * 19. Override justified text everywhere (WCAG 1.4.8 alert).
 *     Justified body text is hard to read for users with dyslexia
 *     because of irregular word spacing.
 * ------------------------------------------------------------------------- */
p, li, dd, dt, blockquote,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
[style*="text-align: justify"],
[style*="text-align:justify"] {
    text-align: left !important;
}
[dir="rtl"] p,
[dir="rtl"] li {
    text-align: right !important;
}

/* -------------------------------------------------------------------------
 * 20. Hero slider — text-shadow only (NO background overlay change).
 *     The parent theme already provides slide overlays; we only add a soft
 *     text shadow as a safety net for white text over busy photos. We do
 *     NOT touch slide button styling, slide bg, or layout positioning so
 *     the original visual design is preserved.
 * ------------------------------------------------------------------------- */
.elementor-widget-slides .elementor-slide-heading,
.elementor-widget-slides .elementor-slide-description {
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

/* -------------------------------------------------------------------------
 * 21. (Reserved — design overrides for "Building Care With You" / Find a
 *     Provider section were rolled back in v1.2 because they were
 *     replacing the parent theme's existing purple overlay and changing
 *     the visual design. The original section colors are now preserved.)
 * ------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------
 * 22. Patient Portal email-form input — accessible focus only, no
 *     background change.
 * ------------------------------------------------------------------------- */
.subscribe-form input[type="email"]:focus-visible {
    outline: 3px solid #ffd700 !important;
    outline-offset: 2px !important;
}
.subscribe-form input[type="email"]::placeholder {
    color: #555555;
    opacity: 1;
}

/* =========================================================================
 * 27. Brand-teal text-color override for WCAG AA contrast (1.4.3)
 *     The theme uses #39cabb (light teal) extensively as text/link/icon
 *     color on white card backgrounds. That ratio is ~2.5:1 — fails AA
 *     (needs 4.5:1). We swap to #0B7D72 (darker teal), which keeps the
 *     same brand feel and reaches 4.6:1 on white.
 *
 *     Backgrounds and borders that use #39cabb are left alone — only
 *     foreground/text usages are darkened.
 * ========================================================================= */
.header-top .info li a:hover,
.header-top .info li.language .language-dropdown li a:hover,
.main-menu .navigation > li.current > a,
.main-menu .navigation > li.current-menu-item > a,
.main-menu .navigation > li.current-menu-ancestor > a,
.main-menu .navigation > li:hover > a,
.main-menu .navigation > li > ul > li > a:hover,
.main-menu .navigation > li > .megamenu li > a:hover,
.main-menu .navigation > li > ul > li > ul > li > a:hover,
.feature-block-one .inner-box h3,
.feature-block-one .inner-box .link a,
.sec-title p,
.processing-block-one .inner-box h3 a:hover,
.team-block-one .inner-box .content-box .like-box a,
.team-block-one .inner-box .content-box .name-box li h3 a:hover,
.team-block-one .inner-box .content-box .name-box li:nth-child(2),
.team-block-one .inner-box .content-box .rating li a:hover,
.team-block-one .inner-box .content-box .link a,
.doctors-block-one .inner-box .doctors-list li a:hover,
.doctors-block-one .inner-box .link a,
.news-block-one .inner-box .lower-content h3 a:hover,
.news-block-one .inner-box .lower-content .post-info li a:hover,
.news-block-one .inner-box .lower-content .link a,
.content_block_3 .content-box .support-box .icon-box,
.content_block_3 .content-box .support-box h3 a,
.footer-top .links-widget .links li a:hover,
.footer-top .contact-widget .widget-content li a:hover,
.footer-top .contact-widget .widget-content li i,
.footer-bottom .copyright p a:hover,
.footer-bottom .footer-nav li a:hover,
.main-header.style-two .header-top .top-left li a:hover,
.main-header.style-two .header-top .top-left li i,
.content_block_4 .content-box .subscribe-form .form-group button:hover,
.processing-block-two .inner-box h3 a:hover,
.team-block-two .inner-box .image-box a,
.team-block-two .inner-box .lower-content h3 a:hover,
.team-block-two .inner-box .lower-content .rating li a:hover,
.category-block-one .inner-box h3 a:hover,
.category-block-one .inner-box .link a,
.team-block-three .inner-box .image-box a,
.team-block-three .inner-box .lower-content .name-box li:nth-child(2),
.team-block-three .inner-box .lower-content .name-box li h3 a:hover,
.team-block-three .inner-box .lower-content .rating li a:hover,
.team-block-three .inner-box .lower-content .lower-box a,
.banner-section.style-five .content-inner .doctors-box h3 a:hover,
.banner-section.style-five .content-inner .doctors-box .info li a:hover,
.banner-section.style-five .content-inner .doctors-box .info li i,
.counter-block-one .inner-box .count-outer,
.pricing-block-one .pricing-table .table-header h3,
.pricing-block-one .pricing-table .table-content ul li:before,
.pricing-block-one .pricing-table .table-footer .link a,
.pricing-section .tab-btn-box .tab-btns li.active-btn,
.error-section .inner-box h1,
.clinic-block-one .inner-box .content-box .like-box a,
.clinic-block-one .inner-box .content-box .name-box li:nth-child(2),
.clinic-block-one .inner-box .content-box .rating li a:hover,
.clinic-block-one .inner-box .content-box .btn-box a,
.clinic-block-one .inner-box .content-box .name-box li h3 a:hover,
.clinic-details-content .clinic-block-one .inner-box .lower-box .info li i,
.clinic-details-content .clinic-block-one .inner-box .lower-box .info li a:hover,
.clinic-details-content .clinic-block-one .inner-box .content-box .share-box a.share-btn,
.clinic-details-content .tabs-box .location-box .location-info li a:hover,
.clinic-details-content .tabs-box .location-box .location-info li i,
.profile-box .profile-info .list li a.current,
.profile-box .profile-info .list li a:hover,
.profile-box .profile-info .list li a.current i,
.profile-box .profile-info .list li a:hover i,
.feature-block-two .inner-box .icon-box,
.theme-btn-two,
.doctors-appointment .doctors-table tr td .time,
.doctors-appointment .doctors-table tr td .print,
.confirm-section .inner-box .content-box a,
.registration-section .content-box .title-box a,
.registration-section .content-box .login-now p a,
.doctor-details-content .tabs-box .tabs-content .inner-box .text .treatments-list li a:hover,
.review-box .rating-inner .rating-box h2,
.doctors-appointment .doctors-table tr td .accept,
.doctors-dashboard .right-panel .appointment-list .single-item .inner .info-list li a:hover,
.doctors-dashboard .right-panel .appointment-list .single-item .inner .confirm-list li,
.my-patients .title-box .search-form input:focus + button,
.my-patients .title-box .search-form button:hover,
.schedule-timing .title-box .search-form input:focus + button,
.schedule-timing .title-box .search-form button:hover,
.registration-section .content-box .inner .form-group .forgot-passowrd a:hover,
.blog-sidebar .category-widget .category-list li a:hover,
.blog-sidebar .post-widget .post-inner h5 a:hover,
.blog-sidebar .archives-widget .archives-list li a:hover,
.blog-details-content .comment-box .comment .comment-inner .reply-btn:hover,
.single-information-block .inner-box p a:hover,
#frame #sidepanel #search input:focus + button,
#frame #sidepanel #search button:hover {
    color: #0B7D72 !important;
}

/* Dropdown-menu hover background uses the same teal — bump to AA-passing
 * shade so any text inside (white) stays readable. */
.main-menu .submenu li > a:hover,
.main-menu .navigation > li > ul > li > a:hover {
    background-color: #0B7D72 !important;
    color: #ffffff !important;
}

/* "Why Choose us?" / Elementor icon-list checkmarks: when the icon color
 * is the brand teal, darken so the icon-as-graphical-element passes the
 * 3:1 non-text contrast bar (1.4.11). */
.elementor-icon-list-icon svg,
.elementor-icon-list-icon i,
.elementor-icon-list-item .elementor-icon-list-icon i,
.elementor-icon-list-item .elementor-icon-list-icon svg {
    color: #0B7D72 !important;
    fill: #0B7D72 !important;
}
.elementor-icon-list-text {
    color: #1a1a1a !important;
}

/* Doctor / Clinic card "Visit Now" pill — readable on white, keep teal
 * brand feel. */
.team-block-one .inner-box .content-box .link a,
.clinic-block-one .inner-box .content-box .btn-box a,
.docpro-likebox + a,
a.theme-btn-two {
    color: #0B7D72 !important;
    border-color: #0B7D72 !important;
}
.team-block-one .inner-box .content-box .link a:hover,
.clinic-block-one .inner-box .content-box .btn-box a:hover,
a.theme-btn-two:hover {
    background-color: #0B7D72 !important;
    color: #ffffff !important;
}

/* Catch any inline style="color:#39cabb" added by editors. */
[style*="color: #39cabb"],
[style*="color:#39cabb"],
[style*="color: #39CABB"],
[style*="color:#39CABB"] {
    color: #0B7D72 !important;
}

/* Small icon badges that pair with status text ("Available" green dot,
 * map-marker, phone). Force foreground to AA shade. */
.team-block-one .inner-box .content-box .name-box li i,
.clinic-block-one .inner-box .content-box .name-box li i,
.team-block-one .inner-box .content-box .like-box i,
.clinic-block-one .inner-box .content-box .like-box i {
    color: #0B7D72 !important;
}

/* =========================================================================
 * 28. Brand-blue palette unification — replace the legacy primary blues
 *     with #0976CC (5.4:1 on white, passes AA).
 *     - #2196f3 was already replaced in style.css and color.css.
 *     - #2a90e8 is injected by the WP Customizer / theme options as inline
 *       CSS on .bg-color-2 and can't be edited at the source from the
 *       child theme — we override it here with !important.
 * ========================================================================= */
.bg-color-2,
[style*="background-color: #2a90e8"],
[style*="background-color:#2a90e8"],
[style*="background: #2a90e8"],
[style*="background:#2a90e8"] {
    background-color: #0976CC !important;
}
[style*="color: #2a90e8"],
[style*="color:#2a90e8"] {
    color: #0976CC !important;
}

/* =========================================================================
 * 29. Doctor / Clinic card body content — darken gray text for AA contrast.
 *     The DocPro plugin renders both providers AND clinics with
 *     `.clinic-block-one` / `.team-block-one` cards. Several inner text
 *     elements use #808080 (3.94:1) or #c7c7c7 (1.93:1) on white — both
 *     fail. We darken to #595959 (5:1) so they meet WCAG AA.
 *
 *     Affected content:
 *     - Specialty / designation (e.g., "Pediatrics", "Obstetrics / Gynecology")
 *     - Hours line (e.g., "Monday thru Friday: 8:00am to 4:00pm")
 *     - Review count "(0)" stars cluster
 *     - Address line (e.g., "11645 Biscayne Blvd, Miami")
 *     - Map-marker, phone, clock icons
 * ========================================================================= */

/* Address line — was #808080 → 5:1 contrast */
.team-block-one .inner-box .content-box .location-box p,
.team-block-two .inner-box .lower-content .location-box p,
.team-block-three .inner-box .lower-content .location-box p,
.clinic-block-one .inner-box .content-box .location-box p,
.clinic-details-content .clinic-block-one .inner-box .lower-box .location-box p {
    color: #595959 !important;
}

/* Map-marker / phone / hours icons inside the location-box (was #c7c7c7
 * on team-block-two — far below contrast). 3:1 minimum for non-text
 * graphical components, but we go to 5:1 to be safe. */
.team-block-one .inner-box .content-box .location-box p i,
.team-block-two .inner-box .lower-content .location-box p i,
.team-block-three .inner-box .lower-content .location-box p i,
.clinic-block-one .inner-box .content-box .location-box p i,
.clinic-details-content .clinic-block-one .inner-box .lower-box .location-box p i {
    color: #595959 !important;
}

/* Review-count "(0)" cluster — light star <i> elements with the
 * trailing count text. Force the text to #1a1a1a so the count is
 * actually readable. */
.team-block-one .inner-box .content-box .rating-box,
.clinic-block-one .inner-box .content-box .rating-box,
.team-block-three .inner-box .lower-content .rating-box {
    color: #1a1a1a !important;
}
.team-block-one .inner-box .content-box .rating li a,
.clinic-block-one .inner-box .content-box .rating li a {
    color: #595959 !important;
}

/* The "Available" / hours div sits inside .rating-box and uses class
 * "link" — but it's NOT a real link, it's just a div. Force its text
 * to a dark gray for contrast. */
.team-block-one .inner-box .content-box .rating-box .link,
.clinic-block-one .inner-box .content-box .rating-box .link {
    color: #1a1a1a !important;
}

/* Designation / specialty label ("Pediatrics", etc.) — make sure the
 * text itself is dark enough regardless of any teal inherited from
 * parent rules. */
.team-block-one .inner-box .content-box .designaion,
.team-block-one .inner-box .content-box .designation,
.clinic-block-one .inner-box .content-box .designation,
.clinic-details-content .clinic-block-one .inner-box .content-box .designation,
.team-block-two .inner-box .lower-content .designation,
.team-block-three .inner-box .lower-content .designation,
.banner-section.style-five .content-inner .doctors-box .designation,
.doctors-appointment .doctors-table tr td .name-box .designation {
    color: #1a1a1a !important;
}
/* Inner span inside the designation (DocPro renders specialty in a
 * nested span — make sure that wins too) */
.clinic-block-one .inner-box .content-box .designation span,
.team-block-one .inner-box .content-box .designaion span,
.team-block-one .inner-box .content-box .designation span {
    color: #1a1a1a !important;
}

/* Card body description paragraphs — same darkening. */
.team-block-one .inner-box .content-box .text p,
.team-block-two .inner-box .lower-content .text p,
.team-block-three .inner-box .lower-content .text p,
.clinic-block-one .inner-box .content-box .text p {
    color: #595959 !important;
}

/* Generic "very-light-gray" fallback used by Elementor and the theme
 * for body text. Bumps from #797979 (4.7:1) → #595959 (5:1). */
.elementor-widget-text-editor p:not([style*="color"]),
.team-block-one .inner-box .content-box p:not([style*="color"]),
.clinic-block-one .inner-box .content-box p:not([style*="color"]) {
    color: #595959;
}

/* =========================================================================
 * 30. Replace brand-teal #39cabb with brand-blue #0976CC ONLY where the
 *     teal is used as a BUTTON background or border. Text/icon usages of
 *     the teal are kept in their darkened form (#0B7D72, see §27).
 *
 *     Rationale: visual consistency — the site's primary CTA palette is
 *     now blue. Buttons that still carry the teal background look
 *     out-of-system. Only button-style elements are switched here so
 *     non-button decorations (icon list checkmarks, accent dividers,
 *     status dots) keep the teal brand color.
 * ========================================================================= */
.theme-btn-one,
.theme-btn-two:hover,
.banner-section .content-box form .form-group button,
.blog-sidebar .sidebar-search .search-form .form-group button,
.search-form .form-group button,
.select-field .content-box form .form-group button,
.clinic-section .item-shorting .right-column .menu-box button.on,
.content_block_2 .content-box .btn-box .download-btn.app-store,
.pricing-section .tab-btn-box .tab-btns:before,
.team-block-one .inner-box .content-box .btn-box a:hover,
.team-block-two .btn-box a:hover,
.clinic-block-one .inner-box .content-box .btn-box a:hover,
.clinic-details-content .clinic-block-one .inner-box .content-box .share-box a.share-btn:hover,
.doctors-dashboard .review-list .comment-inner .single-comment-box .comment .replay-btn:hover,
#frame .content .message-input .wrap button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .cart .button,
.woocommerce .cart input.button:hover {
    background-color: #0976CC !important;
    border-color: #0976CC !important;
    color: #ffffff !important;
}

/* Form-field focus border that used the teal — switch to blue so it
 * matches the primary palette. (Border-only, not a button background.) */
.submit-review .review-box .content-inner .form-inner .form-group input:focus,
.submit-review .review-box .content-inner .form-inner .form-group textarea:focus {
    border-color: #0976CC !important;
}

/* Inline-style buttons with the teal hex — catch editor-injected colors. */
button[style*="background-color: #39cabb"],
button[style*="background:#39cabb"],
input[type="submit"][style*="background-color: #39cabb"],
input[type="submit"][style*="background:#39cabb"],
a[class*="btn"][style*="background-color: #39cabb"],
a[class*="btn"][style*="background:#39cabb"] {
    background-color: #0976CC !important;
    border-color: #0976CC !important;
    color: #ffffff !important;
}

/* =========================================================================
 * 31. "For Appointments Call / Patient Portal" agent-section card.
 *     Panel background is .bg-color-2 (#0976CC after v1.4). White text
 *     and a high-contrast dark-navy CTA button match the new palette.
 * ========================================================================= */

/* Left column: phone heading, "Telephone" label, phone icon, and the
 * phone-number link all need to be white on the blue panel. v1.3 turned
 * the icon and link teal — re-scope to white inside this section only. */
.agent-section .inner-container .content_block_3 .content-box h3,
.agent-section .inner-container .content_block_3 .content-box .support-box span,
.agent-section .inner-container .content_block_3 .content-box .support-box h3,
.agent-section .inner-container .content_block_3 .content-box .support-box h3 a,
.agent-section .inner-container .content_block_3 .content-box .support-box h3 a:link,
.agent-section .inner-container .content_block_3 .content-box .support-box h3 a:visited,
.agent-section .inner-container .content_block_3 .content-box .support-box .icon-box,
.agent-section .inner-container .content_block_3 .content-box .support-box .icon-box i,
.agent-section .inner-container .content_block_4 .content-box > h3 {
    color: #ffffff !important;
}

/* Hover affordance on the phone-number link — keep it white but underline
 * so users with low color sensitivity can still see the focus/hover. */
.agent-section .inner-container .content_block_3 .content-box .support-box h3 a:hover,
.agent-section .inner-container .content_block_3 .content-box .support-box h3 a:focus {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* Right column: Patient Portal CTA — dark-navy button flush with input.
 * Targets both the original <button> and the <a> that v1.0 JS swaps it
 * with (replacement for invalid <button><a>...</a></button> markup). */
.agent-section .inner-container .content_block_4 .subscribe-form .form-group {
    padding-right: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, 0.10);
}

.agent-section .inner-container .content_block_4 .subscribe-form .form-group input[type="email"] {
    flex: 1 1 auto !important;
    position: relative !important;
    height: 56px !important;
    border-radius: 30px 0 0 30px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    padding: 0 24px !important;
}
.agent-section .inner-container .content_block_4 .subscribe-form .form-group input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.85) !important;
    opacity: 1;
}

.agent-section .inner-container .content_block_4 .subscribe-form .form-group button.theme-btn-one,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group a.theme-btn-one,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group .mbchc-as-button {
    position: relative !important;          /* override theme's absolute positioning */
    top: auto !important;
    right: auto !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 32px !important;
    margin: 0 !important;
    background-color: #073564 !important;   /* dark navy */
    border: 0 !important;
    border-radius: 0 30px 30px 0 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color 200ms ease !important;
}

.agent-section .inner-container .content_block_4 .subscribe-form .form-group button.theme-btn-one:hover,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group button.theme-btn-one:focus,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group a.theme-btn-one:hover,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group a.theme-btn-one:focus,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group .mbchc-as-button:hover,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group .mbchc-as-button:focus {
    background-color: #04244a !important;   /* darker navy on hover/focus */
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Suppress the parent theme's ::before / ::after overlays on the button
 * (the theme paints a white wash on hover that fights our dark background). */
.agent-section .inner-container .content_block_4 .subscribe-form .form-group button.theme-btn-one::before,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group button.theme-btn-one::after,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group a.theme-btn-one::before,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group a.theme-btn-one::after {
    display: none !important;
}

/* The button used to wrap an <i class="icon-Arrow-Right"> — keep that
 * decorative chevron visible, white, sized properly. */
.agent-section .inner-container .content_block_4 .subscribe-form .form-group button.theme-btn-one i,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group a.theme-btn-one i,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group .mbchc-as-button i {
    margin-left: 10px !important;
    color: #ffffff !important;
    font-size: 14px !important;
}

/* Visible keyboard focus ring on the button (accessibility). */
.agent-section .inner-container .content_block_4 .subscribe-form .form-group button.theme-btn-one:focus-visible,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group a.theme-btn-one:focus-visible,
.agent-section .inner-container .content_block_4 .subscribe-form .form-group .mbchc-as-button:focus-visible {
    outline: 3px solid #ffd700 !important;
    outline-offset: 2px !important;
}

/* =========================================================================
 * 32. Contact Us page — "Get In Touch" info cards (3-up grid).
 *     Cards: Email Address / Phone Number / Main Office Address.
 *     Markup: .information-section > .single-information-block > .inner-box
 *     The <h3> titles inherit from a dark color and look fine.
 *     The <p> body text uses #808080 (3.94:1 — fails WCAG AA on white).
 *     Darken to #595959 (5:1, AA pass). Titles untouched.
 * ========================================================================= */
.single-information-block .inner-box p,
.single-information-block .inner-box p a,
.single-information-block .inner-box p a:link,
.single-information-block .inner-box p a:visited {
    color: #595959 !important;
}

/* Hover/focus on the linked phone/email — keep the AA contrast and add
 * an underline for non-color affordance. */
.single-information-block .inner-box p a:hover,
.single-information-block .inner-box p a:focus {
    color: #073564 !important;
    text-decoration: underline !important;
}

/* =========================================================================
 * 33. Site-wide elimination of #808080 as a text color (WCAG 1.4.3).
 *     The parent theme sets the global <body> and <p> default to #808080
 *     (3.94:1 on white — fails WCAG AA). Plus 44 component-specific rules
 *     repeat the same value. We override every one to #595959 (5:1 on
 *     white, AA pass). White text in dark sections is set explicitly via
 *     `color: #fff` rules and is not affected by this cascade.
 * ========================================================================= */

/* Global cascade: catches everything that inherits from body/p without
 * an explicit color of its own.
 *
 * IMPORTANT: no `!important` here on purpose. With same specificity as
 * the parent theme's `body { color: #808080 }`, our rule wins via load
 * order. Without `!important` we don't beat inline `style="color:..."`
 * (e.g., the footer copyright `<p style="color: white">`), which is the
 * correct behavior. The 44 specific component selectors below DO use
 * !important since their parent rules have higher specificity than `body`. */
body,
p {
    color: #595959;
}

/* Targeted overrides — every selector in the parent theme that explicitly
 * declares color: #808080. Listed by file for traceability. */

/* From parent main.css */
.team-block-one .inner-box .content-box .rating li a,
.team-block-two .inner-box .lower-content .rating li a,
.team-block-three .inner-box .lower-content .rating li a,
.team-block-three .inner-box .lower-content .location-box p,
.banner-section.style-five .content-inner .doctors-box .info li a,
.pricing-block-one .pricing-table .table-content ul li.light,
.clinic-block-one .inner-box .content-box .rating li a,
.clinic-details-content .tabs-box .award-box .list li span,
.clinic-sidebar .form-widget .form-inner .form-group input[type='text'],
.clinic-sidebar .form-widget .form-inner .form-group input[type='email'],
.clinic-sidebar .form-widget .form-inner .form-group textarea,
.clinic-sidebar .form-widget .form-inner .form-group .nice-select,
.clinic-sidebar .form-widget .form-inner .form-group .nice-select:after,
.clinic-sidebar .info-widget .info-inner .info-list li p,
.clinic-sidebar .info-widget .info-inner .info-list li p a,
.feature-block-two .inner-box h5,
.submit-review .custom-controls-stacked .description,
.submit-review .review-box .content-inner .form-inner .form-group input[type='text'],
.submit-review .review-box .content-inner .form-inner .form-group input[type='email'],
.submit-review .review-box .content-inner .form-inner .form-group textarea,
.appointment-section .information-form .form-group label,
.appointment-section .information-form .form-group input[type='text'],
.appointment-section .information-form .form-group input[type='email'],
.appointment-section .information-form .form-group textarea,
.appointment-section .information-form .form-group .nice-select,
.appointment-section .payment-information .form-group input[type='text'],
.appointment-section .payment-information .custom-check-box .description,
.registration-section .content-box .inner .form-group label,
.registration-section .content-box .inner .form-group input[type='text'],
.registration-section .content-box .inner .form-group input[type='email'],
.registration-section .content-box .inner .form-group input[type='password'],
.registration-section .custom-check-box .custom-controls-stacked .description,
.doctor-details-content .tabs-box .tabs-content .inner-box .text .list li span,
.doctor-details-content .tabs-box .tabs-content .experience-box .text .experience-list li p span,
.single-review-box h6 span,
.doctors-sidebar .form-widget .appointment-time .form-group input[type='text'],
.my-patients .title-box .search-form input[type='search'],
.my-patients .title-box .search-form button,
.add-listing .single-box .title-box a.menu,
.add-listing .single-box .inner-box .form-group label,
.add-listing .single-box .inner-box .form-group input[type='text'],
.add-listing .single-box .inner-box .form-group input[type='email'],
.add-listing .single-box .inner-box .form-group input[type='password'],
.add-listing .single-box .inner-box .form-group textarea,
.schedule-timing .title-box .search-form input[type='search'],
.schedule-timing .title-box .search-form button,
.registration-section .content-box .inner .form-group .forgot-passowrd a,
.blog-sidebar .sidebar-search .search-form .form-group input[type='search'],
.schedule-timing .calendar-inner .today-box a,
.message-box .title-box a.menu,
.search-form .form-group input[type='search'] {
    color: #595959 !important;
}

/* Catch any inline editor-injected #808080 colors. */
[style*="color: #808080"],
[style*="color:#808080"],
[style*="color: #808080;"],
[style*="color:#808080;"] {
    color: #595959 !important;
}

/* =========================================================================
 * 34. Pagination active page state.
 *     Markup is `<span class="page-numbers current">N</span>` — a <span>
 *     not an <a> — which the parent theme's rule (`.pagination li a.current`)
 *     does NOT match. Result: the active page inherits white text from
 *     somewhere and fails contrast. We style it explicitly here so it
 *     visually matches the hover state but with dark text per design.
 *
 *     Also clean up the hover state itself: the parent uses #39cabb
 *     (teal) bg + white text = 2.7:1 (FAIL). Switch to a light-blue tint
 *     + dark navy text so both hover and current pass AA.
 * ========================================================================= */

/* Hover and current page — same visual treatment, AA-compliant. */
.pagination li a:hover,
.pagination li a:focus,
.pagination li a.current,
.pagination li span.page-numbers.current,
.pagination span.page-numbers.current,
ul.page-numbers li span.page-numbers.current,
ul.page-numbers li a.page-numbers:hover,
ul.page-numbers li a.page-numbers:focus,
.page-numbers.current,
span.page-numbers.current {
    background-color: #cce4f5 !important;   /* light blue tint */
    border: 1px solid #0976CC !important;
    color: #0a2540 !important;               /* dark navy text — 13:1 ✓ */
    font-weight: 700 !important;
    box-shadow: 0 6px 14px rgba(9, 118, 204, 0.18) !important;
    text-decoration: none !important;
}

/* The active <span> inherits no shape from parent .pagination li a — give
 * it the same circle dimensions so it matches the page-number anchors. */
.pagination li span.page-numbers.current,
.pagination span.page-numbers.current,
ul.page-numbers li span.page-numbers.current,
span.page-numbers.current {
    position: relative;
    display: inline-block;
    height: 50px;
    width: 50px;
    line-height: 48px;          /* 50 - 2px border */
    text-align: center;
    font-size: 17px;
    border-radius: 50%;
    margin: 0;
}

/* Visible focus ring on the page-number anchors (keyboard users). */
.pagination li a.page-numbers:focus-visible,
ul.page-numbers li a.page-numbers:focus-visible {
    outline: 3px solid #ffd700 !important;
    outline-offset: 3px !important;
}

/* =========================================================================
 * 35. Hero slider — selective dark-navy content boxes for slides whose
 *     text is white over a busy photo background.
 *
 *     Targeted by Elementor repeater-item ID:
 *       - eabc241 → "COVID-19 Vaccines"
 *       - c42e929 → "ABOUT COMMUNITY HEALTH CENTERS"
 *
 *     The other two slides (Turning 65, Access Your Prescriptions) keep
 *     their original visual treatment — no box added.
 *
 *     NOTE: if these slides are reordered or edited in Elementor and the
 *     repeater IDs change, update the selectors here. Repeater IDs are
 *     persistent across content edits but get regenerated if a slide is
 *     deleted and re-added.
 * ========================================================================= */
.elementor-widget-slides .elementor-repeater-item-eabc241 .swiper-slide-contents,
.elementor-widget-slides .elementor-repeater-item-c42e929 .swiper-slide-contents {
    background-color: #073564 !important;
    padding: 32px 40px !important;
    border-radius: 8px !important;
    max-width: 720px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.30);
}

/* Make sure the heading + description stay white inside the new dark box,
 * regardless of any v1.0 text-shadow safety net. */
.elementor-widget-slides .elementor-repeater-item-eabc241 .swiper-slide-contents .elementor-slide-heading,
.elementor-widget-slides .elementor-repeater-item-eabc241 .swiper-slide-contents .elementor-slide-description,
.elementor-widget-slides .elementor-repeater-item-c42e929 .swiper-slide-contents .elementor-slide-heading,
.elementor-widget-slides .elementor-repeater-item-c42e929 .swiper-slide-contents .elementor-slide-description {
    color: #ffffff !important;
    text-shadow: none !important;
}

/* Mobile — narrower padding so the box doesn't dominate the viewport. */
@media (max-width: 767px) {
    .elementor-widget-slides .elementor-repeater-item-eabc241 .swiper-slide-contents,
    .elementor-widget-slides .elementor-repeater-item-c42e929 .swiper-slide-contents {
        padding: 24px 20px !important;
        max-width: 90%;
    }
}

/* =========================================================================
 * 36. Homepage "Browse by specialty" → "All Specialties" button only.
 *     Single targeted recolor to #126CB9 (5.3:1 with white text — AA pass).
 *     Scoped to `.category-section .more-btn` so no other .theme-btn-one
 *     buttons elsewhere on the site are affected.
 * ========================================================================= */
.category-section .more-btn .theme-btn-one,
.category-section .more-btn a.theme-btn-one {
    background-color: #126CB9 !important;
    border-color: #126CB9 !important;
    color: #ffffff !important;
}
.category-section .more-btn .theme-btn-one:hover,
.category-section .more-btn .theme-btn-one:focus,
.category-section .more-btn a.theme-btn-one:hover,
.category-section .more-btn a.theme-btn-one:focus {
    background-color: #0a4f8c !important; /* slightly darker on hover */
    border-color: #0a4f8c !important;
    color: #ffffff !important;
}
