/* AL 2026-05-13 T0710Z #207: contractorstandards.org brand-identity overlay.
   acknowledged-not-a-fork: this is a domain-scoped overlay loaded AFTER /_canon/style.css
   on contractorstandards.org pages ONLY. !important defeats the canonical chrome on
   purpose — the cascade fight is intentional: canonical chrome is generic ANA-network,
   this overlay establishes the distinct Contractor Pledge brand identity per Eli
   directive (T0540Z stand-on-giants, T0445Z LLM-Vision approved for design).
   Loaded AFTER style.css via <link> in CS pages only — no impact on entity pages. */

:root {
  --cs-steel:        #1f3a52;
  --cs-steel-dark:   #142838;
  --cs-safety:       #ffc107;
  --cs-safety-dark:  #e0a800;
  --cs-orange:       #ff6b35;
  --cs-orange-dark:  #e8541d;
  --cs-graphite:     #2a3441;
  --cs-concrete:     #f4f5f7;
  --cs-edge:         #d4d8de;
}

body header {
  background: linear-gradient(180deg, var(--cs-steel) 0%, var(--cs-steel-dark) 100%);
  border-bottom: 3px solid var(--cs-safety);
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
body .site-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: 0.06em;
}
body .site-brand .brand-logo { display: none; }
/* AL 2026-05-13 T0840Z: Eli T0835Z — "contractor standards stands on its own,
   not just an ANA program". Dropped "Pledge Program" subtagline. ANA mention
   moves to footer ("Part of Authority Network America"). Wordmark stands alone. */
body .site-brand::before {
  content: "CONTRACTOR STANDARDS";
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #fff;
  line-height: 1;
}
body .site-brand::after {
  content: "Standards of business for the trades";
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cs-safety);
  line-height: 1;
  margin-top: 0.2rem;
}
@media (max-width: 599px) {
  body .site-brand::before { font-size: 0.85rem; letter-spacing: 0.05em; }
  body .site-brand::after { font-size: 0.55rem; letter-spacing: 0.06em; }
}

/* removing-fork: AL 2026-05-13 T2015Z Eli T2012Z — search is canon. CS doesn't
 * need a domain-scoped search-icon overlay. Canonical .search-icon (style.css)
 * now uses transparent bg + white-on-dark which works on both CS and Oviedo
 * dark headers. Removing the CS fork so both sites render identical search. */

/* AL 2026-05-13 T0745Z: scoped to .btn class only — vision-critique flagged
   href-substring selectors over-applied (in-prose links got button styling). */
body a.btn,
body button.btn,
body .ana-pledge-card--find {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.75rem 1.5rem;
  background: var(--cs-safety);
  color: var(--cs-graphite);
  font-weight: 700;
  text-decoration: none;
  border: 2px solid var(--cs-safety-dark);
  border-radius: 6px;
  box-shadow: 0 2px 0 var(--cs-safety-dark);
  transition: transform 0.12s, box-shadow 0.12s, background 0.15s;
}
body a.btn:hover,
body button.btn:hover,
body .ana-pledge-card--find:hover {
  background: var(--cs-safety-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 0 var(--cs-safety-dark);
}

/* AL 2026-05-13 T0745Z: scoped to .pledge-list / .cs-numbered class — vision-critique
   flagged broad `body main ol` over-applied (every numbered list got pledge styling). */
body main ol.pledge-list > li,
body main ol.cs-numbered > li {
  position: relative;
  padding-left: 3rem;
  margin-bottom: 1.5rem;
  list-style: none;
  counter-increment: cs-step;
  line-height: 1.6;
}
body main ol.pledge-list,
body main ol.cs-numbered {
  counter-reset: cs-step;
  padding-left: 0;
}
body main ol.pledge-list > li::before,
body main ol.cs-numbered > li::before {
  content: counter(cs-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 2.25rem;
  height: 2.25rem;
  background: var(--cs-safety);
  color: var(--cs-graphite);
  border-radius: 50%;
  font-weight: 800;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--cs-safety-dark);
}

body main h1 {
  color: var(--cs-steel);
  border-bottom: 4px solid var(--cs-safety);
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

/* AL 2026-05-13 T0950Z CS-3 Opus audit: document-control header. Standards
   bodies (NIST/ANSI/ISO) always carry these — Standard ID, version, effective
   date, registry pointer, status. Establishes the page AS the standard, not
   a wiki article about a standard. */
body main .standard-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.5rem 1.5rem;
  background: var(--cs-concrete);
  border: 1px solid var(--cs-edge);
  border-left: 4px solid var(--cs-steel);
  border-radius: 4px;
  padding: 1rem 1.25rem;
  margin: 1.5rem 0 2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, sans-serif;
  font-size: 0.86rem;
}
body main .standard-meta .sm-row {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
body main .standard-meta .sm-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cs-graphite);
  opacity: 0.65;
  font-weight: 600;
}
body main .standard-meta .sm-value {
  color: var(--cs-steel);
  font-weight: 600;
  font-size: 0.95rem;
}
body main .standard-meta .sm-active {
  color: #2d7d4a;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
body main .standard-meta .sm-active::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #2d7d4a;
  border-radius: 50%;
  display: inline-block;
}
body main h2 {
  color: var(--cs-steel-dark);
  border-left: 4px solid var(--cs-orange);
  padding-left: 0.85rem;
  margin-top: 2.25rem;
}

body footer {
  background: var(--cs-steel-dark);
  color: #d4dff5;
  border-top: 3px solid var(--cs-safety);
}
body footer a { color: #fff; font-weight: 500; }
body footer a:hover { color: var(--cs-safety); }
