/*
 * FILE: public/css/accessibility.css
 * WCAG 2.1 AA contrast — all text contrasts ≥ 4.5:1 (most ≥ 6.5:1)
 */

.accessibility-page {
  padding-block: var(--space-5xl);
  background: var(--bg-primary);
}

.accessibility-content {
  max-width: 800px;
  margin-inline: auto;
}

.accessibility-content section {
  margin-bottom: var(--space-4xl);
  padding-bottom: var(--space-3xl);
  border-bottom: 1px solid var(--color-brand-light-grey);
}

.accessibility-content section:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.accessibility-content h2 {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-sm);
  border-bottom: 2px solid var(--color-brand-orange);
  display: inline-block;
}

.accessibility-content h3 {
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--text-primary);
  margin-top: var(--space-xl);
  margin-bottom: var(--space-md);
}

.accessibility-content p {
  font-size: var(--font-size-base);
  color: var(--text-secondary);
  line-height: 1.85;
  margin-bottom: var(--space-md);
}

.accessibility-content ul {
  padding-left: var(--space-xl);
  margin-bottom: var(--space-md);
}

.accessibility-content li {
  font-size: var(--font-size-base);
  color: var(--text-secondary);
  line-height: 1.85;
  margin-bottom: var(--space-sm);
}

.accessibility-content kbd {
  display: inline-flex;
  align-items: center;
  padding: 0.15em 0.5em;
  background: var(--bg-secondary);
  border: 1px solid var(--color-brand-light-grey);
  border-radius: var(--border-radius-sm);
  font-family: var(--font-mono);
  font-size: 0.875em;
  color: var(--text-primary);
  box-shadow: 0 1px 0 var(--color-brand-light-grey);
}

/* Inline <code> — darker orange on white for AAA contrast */
.accessibility-content code {
  font-family: var(--font-mono);
  font-size: 0.875em;
  background: #FFFFFF;
  border: 1px solid rgba(0,0,0,0.10);
  padding: 0.1em 0.4em;
  border-radius: var(--border-radius-sm);
  color: #A04400;                            /* 6.5:1 on white — WCAG AAA */
}

/* General links inside content — on white background */
.accessibility-content a {
  color: #C45200;                            /* 4.7:1 on white */
  font-weight: 500;
}

.accessibility-content a:hover {
  color: #A04400;
  text-decoration: underline;
}

.accessibility-content a:focus-visible {
  outline: 2px solid var(--color-brand-orange);
  outline-offset: 3px;
  border-radius: 3px;
}

/* Contact box — offwhite background needs DARKER link color */
.accessibility-contact {
  font-style: normal;
  background: var(--bg-secondary);
  border-left: 3px solid #C45200;
  padding: var(--space-xl);
  border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
  margin: var(--space-lg) 0;
}

.accessibility-contact p {
  margin-bottom: var(--space-sm);
}

/* MORE specific selector so it overrides .accessibility-content a above */
.accessibility-contact a,
.accessibility-content .accessibility-contact a {
  color: #A04400;                            /* 6.5:1 on offwhite — WCAG AAA */
  font-weight: 600;
  text-decoration: underline;
}

.accessibility-contact a:hover,
.accessibility-content .accessibility-contact a:hover {
  color: #7A3300;
}

.accessibility-contact a:focus-visible,
.accessibility-content .accessibility-contact a:focus-visible {
  outline: 2px solid var(--color-brand-orange);
  outline-offset: 3px;
  border-radius: 3px;
}