/* typography-special.css */
/* LOCKED (phase 1 scaffold) — special roles (nav, footer, captions, form labels).
   Phase 1 keeps equivalence; roles can be adopted element-by-element. */

:root{
  /* Keep special roles aligned with the site's current body/UI font token
     to avoid unexpected regressions when roles are applied. */
  --ap-typo-special-font: var(--font-body);

  --ap-caption-size: 13.33px;
  --ap-caption-weight: 500;

  /* Match existing label styling (dist/styles.css label { font-size:12px; letter-spacing:0.12em; text-transform:uppercase; }) */
  --ap-form-label-size: 13.33px;
  --ap-form-label-weight: 500;

  /* Match existing header nav sizing (dist/styles.css .nav a { font-size:13px; letter-spacing:0.12em; text-transform:uppercase; }) */
  --ap-nav-size: 14.33px;
  --ap-nav-weight: 500;

  --ap-footer-size: 13.33px;
  --ap-footer-weight: 400;
}

/* Image caption role (background classes optional; not applied yet) */
.typo-image-caption{
  font-family: var(--ap-typo-special-font) !important;
  font-size: var(--ap-caption-size) !important;
  font-weight: var(--ap-caption-weight) !important;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
}
.typo-image-caption.caption-on-light{
  color:#1d2d44;
  background: rgba(255,255,255,0.85);
  padding: .5rem .75rem;
  border-radius: 4px;
}
.typo-image-caption.caption-on-dark{
  color:#fff;
  background: rgba(29,45,68,0.85);
  padding: .5rem .75rem;
  border-radius: 4px;
}

/* Form label */
.typo-form-label{
  font-family: var(--ap-typo-special-font) !important;
  font-size: var(--ap-form-label-size) !important;
  font-weight: var(--ap-form-label-weight) !important;
  line-height: 1.4;
  color: var(--color-text-primary);
}

/* Nav link */
.typo-nav-link{
  font-family: var(--ap-typo-special-font) !important;
  font-size: var(--ap-nav-size) !important;
  font-weight: var(--ap-nav-weight) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase !important;
  line-height: 1;
  color: var(--color-text-primary);
}

/* Footer */
.typo-footer, .typo-footer p, .typo-footer a{
  font-family: var(--ap-typo-special-font) !important;
  font-size: var(--ap-footer-size) !important;
  font-weight: var(--ap-footer-weight) !important;
  line-height: 1.4;
  color: var(--color-text-muted);
}

/* Footer: make help + copyright + privacy link the same color */
/* Match the copyright line (make all footer text equally readable in both themes) */
.footer.typo-footer .help,
.footer.typo-footer small,
.footer.typo-footer small a{
  color: var(--color-text-secondary) !important;
  opacity: 1 !important;
}
