/* Accessibility fixes — robsmithddsfresno.com, 2026-10-09 (a11y widget rollout, SOP Step 5/5a).
   Loaded after the Divi stylesheets by BaseLayout.astro. Every rule is scoped to the element it fixes. */

/* visually hidden, still read by screen readers */
.sr-only,
#sidebar .screen-reader-text {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
  margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important; border: 0 !important; display: block !important;
}

/* blog sidebar search button: #666 on #ddd was 4.22:1 -> #555 = 5.49:1 */
#sidebar #searchsubmit { color: #555; }

/* links inside running text are identifiable without colour */
main .entry-content p a:not(.et_pb_button),
main .et_pb_text_inner p a:not(.et_pb_button),
main .logged-in-as a,
main .comment-notes a { text-decoration: underline; }

/* 24px minimum targets: header top-bar address / phone, archive post titles */
.et-l--header .et_pb_text_inner a { display: inline-block; min-height: 24px; line-height: 24px; }
#left-area .entry-title a { display: inline-block; min-height: 24px; }

/* the fixed "Schedule an Appointment" bar (45px) covered the footer's bottom row
   (Designed By credit, Sitemap / Privacy / Terms / Accessibility, copyright) at every width */
.et-l--footer .et_pb_section_1_tb_footer.columnbottom { padding-bottom: 50px !important; }

/* Divi contact form (contact-us.html): placeholder-only fields -> visible labels */
.et_pb_contact_form_container .et_pb_contact_form_label { display: block !important; margin: 0 0 4px; font-weight: 600; color: #333; }
.et_pb_contact_form_container .a11y-req { font-weight: 400; }

/* blog posts: "You must be logged in to post a comment" link */
main #respond p a { text-decoration: underline; }

/* legal pages: contents links at least 24px tall */
.lg-toc li a { display: inline-block; min-height: 24px; line-height: 24px; }

/* keyboard focus: elements whose theme CSS removed the outline */
.et_pb_menu .mobile_menu_bar:focus-visible,
.slick-dots button:focus-visible,
.a11y-carousel-toggle:focus-visible { outline: 3px solid #533c0f !important; outline-offset: 2px; }

/* pause/play control for the auto-rotating "Our Office" carousel */
.a11y-carousel-toggle {
  display: block; margin: 0 auto 12px; padding: 6px 14px; min-height: 32px;
  background: #533c0f; color: #fff; border: 0; border-radius: 4px; font: inherit; font-size: 14px; cursor: pointer;
}
.a11y-carousel-toggle:hover { background: #3d2c0b; }

/* hover / focus colours that fell under 4.5:1 */
/* header menu: #1ea4d0 on white 2.89:1 -> #177fa2 4.57:1; PAY NOW (brown pill) keeps white text */
#page-container .smith-nav ul li a:hover,
#page-container .smith-nav ul li a:focus-visible { color: #177fa2 !important; }
#page-container .smith-nav ul li.book_now a:hover,
#page-container .smith-nav ul li.book_now a:focus-visible { color: #fff !important; }
/* homepage service blurbs: white on #52beda 2.16:1 -> #367f92 4.56:1 */
body #main-content .cont-blurb:hover { background-color: #367f92; }
/* "Why Choose Us" feature links sit on black: hover turned them #113b69 (1.85:1) -> stay white, underline */
.why-choose .tt-feature-link:hover,
.why-choose .tt-feature-link:focus { color: #fff !important; text-decoration: underline; }
/* blog sidebar links: hover #82c0c7 on white 2.04:1 -> #547c81 4.59:1 */
#sidebar .et_pb_widget a:hover { color: #547c81; }
