/* Tap targets and focus visibility.
   WCAG 2.5.5 (Target Size, AAA 44x44) and 2.5.8 (Minimum, AA 24x24).
   Scoped to chrome and buttons so body copy and inline prose links are untouched. */

/* Menu toggle: was 44x44, one notch under the 48x48 Lighthouse guideline. */
.site-header .nav-toggle {
  min-width: 48px;
  min-height: 48px;
}

/* Buttons everywhere: comfortable height without changing their look. */
.button,
a.button,
button.button,
input[type="submit"],
button[type="submit"] {
  min-height: 44px;
}

/* Touch devices only, so desktop density is unchanged. */
@media (pointer: coarse) {
  .site-header .nav a,
  .site-nav a,
  .site-footer nav a,
  .site-footer ul a,
  .footer-contact-item,
  .topbar a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  /* Vertical breathing room between stacked footer links so targets do not abut. */
  .site-footer ul li + li {
    margin-top: 4px;
  }
}

/* Keyboard focus was relying on the browser default, which the dark chrome hides. */
.site-header a:focus-visible,
.site-header button:focus-visible,
.site-footer a:focus-visible,
.button:focus-visible {
  outline: 3px solid #4da3ff;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Phone links are the primary conversion action, so give them a real target.
   Third-party consent UI (.cky-*) is deliberately untouched: it is CookieYes markup
   and restyling a consent surface risks breaking it. */
@media (pointer: coarse) {
  a[href^="tel:"] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .hero-contact a[href^="tel:"] {
    min-height: 44px;
  }
}

/* In-content CTA links and mail links: were 39px and 19px. */
@media (pointer: coarse) {
  .text-link,
  a[href^="mailto:"] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  /* Skip link sits just under the bar at 43px. */
  a.skip {
    min-height: 44px;
  }
}
