/* ==========================================================================
   Binary Bliss — Workstream 2 legacy bridge (staging)
   Scope: fixes the accessibility findings verified in
   /home/tauseef/workstream2-staging-audit-2026-09-19.md on pages that are still
   owned by the legacy stylesheets.

   Deliberately narrow and auditable:
     - every rule here answers ONE verified finding (ID in the comment);
     - no !important;
     - no redesign, no layout restructure, no colour beyond the canonical
       Design System v2 tokens in css/bb-tokens.css;
     - the selector set is the exact winning cascade owner recorded in
       reports/cascade_ownership.json, so specificity stays honest.
   Retire each block when its page migrates to the v2 sheets.
   ========================================================================== */

/* WS2-07 — skip link: keep the markup, make it focus-revealed.
   Previously it rendered visibly at rest on blog pages and was absent
   elsewhere. Never display:none (that removes it from the tab order). */
.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
  display: inline-block;
  padding: 12px 18px;
  background: var(--bb-ink-900);
  color: var(--bb-cloud-0);
  font-weight: var(--bb-fw-semibold);
  border-radius: 0 0 var(--bb-radius-sm) 0;
  text-decoration: none;
  transform: translateY(-130%);
  transition: transform var(--bb-motion-micro) var(--bb-ease-standard);
}
.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
  outline: var(--bb-focus-width) solid var(--bb-blue-400);
  outline-offset: var(--bb-focus-offset);
}
@media (prefers-reduced-motion: reduce) {
  .skip-link { transition: none; }
}

/* WS2-06 — measured contrast failures (computed pairs retained in
   reports/qa_deep.json). Supporting text on light surfaces. */
.section-heading p {
  color: var(--bb-text-secondary);          /* was #a6a6a6 -> 2.43:1, now 5.94:1 */
}
.single-welcome-slide .welcome-text h5 {
  color: var(--bb-text-secondary);          /* was #a6a6a6 -> 2.43:1, now 5.94:1 */
}
.copywrite-text p,
.copywrite-text p a {
  color: var(--bb-text-secondary);          /* was #a6a6a6 -> 2.43:1, now 5.94:1 */
}
.breadcrumb-area .breadcumb--con .breadcrumb .breadcrumb-item.active {
  color: var(--bb-text-secondary);          /* was #a6a6a6 -> 2.43:1, now 5.94:1 */
}

/* WS2-06 — primary action colour: #1583e9 gave 3.85:1 with white text.
   Canonical BB Blue 600 gives 7.14:1 and retires the drift accent. */
.uza-btn {
  background-color: var(--bb-accent);
  color: var(--bb-accent-text);
}
.uza-btn:focus,
.uza-btn:hover {
  background-color: var(--bb-accent-hover);
  color: var(--bb-accent-text);
}
.uza-btn.btn-3 {
  border-color: var(--bb-accent);           /* keep the border on the canonical accent;
                                               colour stays white from .uza-btn (7.14:1).
                                               Do NOT set `color` here: btn-3 is a solid
                                               button, and a same-colour text override
                                               paints blue on blue. */
}

/* WS2-06 — blog tag/kicker accent (#087ed5 = 4.24:1) */
.bbs-card-meta span,
.bbs-kicker {
  color: var(--bb-accent);
}

/* WS2-06 — supporting text on DARK surfaces: the bare legacy `p` colour
   (#707070) measured 3.6:1 on #0c1829. */
.bbs-footer p {
  color: var(--bb-text-secondary-dark);
}

/* WS2-06 — legacy eyebrow literal outside the token layer: #1583e9 on #FBFCFE
   measured 3.75:1. Canonical accent gives 7.1:1. */
.bb-related-services__eyebrow,
.bb-related-services .bb-related-services__eyebrow {
  color: var(--bb-accent);
}

/* WS2-06 — legal-page section headings carry the drift accent as a literal
   (#1583e9 = 3.85:1 at 14px). Canonical accent gives 7.14:1. */
.portfolio-details-text h6,
.uza-portfolio-single-area h6 {
  color: var(--bb-accent);
}

/* WS2-11 — touch targets. WCAG 2.2 SC 2.5.8 (24px) is the floor; 44px is the
   comfortable target. Applies to link rows measured below the floor. */
.single-footer-widget .our-link li a,
.copywrite-text p a,
.breadcrumb-area .breadcrumb-item a,
.breadcrumb-area .breadcumb--con .breadcrumb a,
.bbs-read,
.bbs-footer nav a,
.single-service-area a,
.single-footer-widget .footer-content a {
  display: inline-flex;
  align-items: center;
  min-height: var(--bb-touch-min);
}
.classynav ul li a,
.classynav ul li .nav-services-row > a,
nav.classy-navbar a {
  min-height: var(--bb-touch-min);
  display: inline-flex;
  align-items: center;
}
/* The Google Partner badge link measured 140x20 (an image link with no text). */
.single-footer-widget a[target="_blank"],
.single-contact-card a[target="_blank"] {
  display: inline-flex;
  align-items: center;
  min-height: var(--bb-touch-min);
}

/* The contact consent checkbox measured 13x13. */
.uza-contact-area input[type="checkbox"],
.form-group input[type="checkbox"] {
  width: 24px;
  height: 24px;
}

/* WS2-08 — keep the skip-link destination from painting a ring around the
   whole page while still being focusable. */
.bb-v2 main:focus,
main#main:focus {
  outline: none;
}
