/* northstreetsmiles.com — accessibility fixes (a11y rollout 2026-10-09). Scoped rules only; loaded after the
   page CSS from BaseLayout. Source of truth for re-runs: /opt/site-builder/_in-progress/northstreetsmiles.com/_a11y/ */

/* visually hidden text for screen readers (sr-only h1s, link context) */
.sr-only{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}

/* visible keyboard focus everywhere: dark-green ring + white halo reads on the dark nav and on light sections */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #1c3321!important;outline-offset:2px!important;
  box-shadow:0 0 0 5px #fff!important}

/* keep focused items clear of the floating accessibility button (bottom-left) when tabbing to the page end */
html{scroll-padding-bottom:84px}

/* links inside running text are identified by more than colour (axe link-in-text-block) */
#main-content .et_pb_text_inner p a:not(.et_pb_button),#main-content .et_pb_text_inner li a:not(.et_pb_button),
#main-content .entry-content p a:not(.et_pb_button),#main-content .entry-content li a:not(.et_pb_button),
#main-content .et_pb_toggle_content a{text-decoration:underline!important;text-underline-offset:2px}

/* jump-link lists on the service pages (phones): #0c71c3 on #eaeaea/#e2e2e2 was 4.19/3.89:1 -> #0b67b1 4.5+:1 */
@media (max-width:980px){.ulRow .et_pb_text_inner ul li a{color:#0b67b1!important}}

/* Divi contact forms: show the field labels (were display:none, placeholder-only), give fields a visible edge */
.et_pb_contact_form .et_pb_contact_form_label{display:block!important;margin:0 0 6px!important;font-size:15px!important;
  font-weight:600!important;color:#1b1b1b!important;line-height:1.3!important}
.et_pb_contact_form .input,.et_pb_contact_form .et_pb_contact_select{border:1px solid #6b6b6b!important}
.et_pb_contact_form .input::placeholder{color:#595959!important;opacity:1!important}

/* legal + accessibility pages: contents links are at least 24px tall targets */
.lg-toc li a{display:inline-block;padding:2px 0}

/* FAQ toggles: the injected button fills the title and looks exactly like the title text */
.et_pb_toggle_title .nss-tgl{all:unset;display:block;width:100%;cursor:pointer;font:inherit;color:inherit;
  letter-spacing:inherit;text-transform:inherit;line-height:inherit;box-sizing:border-box}

/* homepage CTA band: the texts are now real links; they keep the band's look */
.nss-blurb-link,.nss-blurb-link:hover{color:inherit!important;text-decoration:none!important}

/* icon-font glyphs drawn with ::before/::after are not read aloud (empty alternative text) */
.et_pb_button:not([data-icon]):before,.et_pb_button:not([data-icon]):after{content:"5" / ""}
.et_pb_button[data-icon]:before,.et_pb_button[data-icon]:after{content:attr(data-icon) / ""}
.et_pb_toggle_close .et_pb_toggle_title:before{content:"\e050" / ""!important}
.et_pb_toggle_open .et_pb_toggle_title:before{content:"\e04f" / ""!important}
.mobile_menu_bar:before{content:"a" / ""}

/* footer legal row grew (Privacy / Terms / Accessibility added): give the middle column room so
   "Accessibility" does not drop onto a line of its own on desktop */
@media (min-width:981px){
  .columnbottom .et_pb_row .et_pb_column_1_3{width:27%!important;margin-right:2%!important}
  .columnbottom .et_pb_row .et_pb_column_1_3.middelfooterbar{width:42%!important}
  .columnbottom .et_pb_row .et_pb_column_1_3.et-last-child{margin-right:0!important}
}

/* "Menu" word beside the mobile hamburger: drawn by CSS, no extra screen-reader text (ADA 2026-10-29) */
.nss-menu-word::before{content:"Menu";content:"Menu" / ""}

/* native video players: visible keyboard focus (ADA 2026-10-29) */
video:focus-visible{outline:3px solid #1c3321!important;outline-offset:2px}
