/* RFC Knowledge Base Styles */

.rfc-page { background-color: var(--white); }

.rfc-content { max-width: 860px; margin: 0 auto; padding: 2rem 1rem; }
.rfc-content h1 { margin-bottom: 0.25rem; }
.rfc-content h2 { margin-top: 2.5rem; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--border-color); }
.rfc-content h3 { margin-top: 2rem; margin-bottom: 0.75rem; }

.rfc-meta { color: var(--muted-text); margin-bottom: 2rem; }
.rfc-meta .badge { font-weight: 500; font-size: 0.8rem; }

.rfc-eli5 {
  background: linear-gradient(135deg, rgba(0,45,179,0.05), rgba(0,45,179,0.02));
  border-left: 4px solid var(--primary);
  padding: 1.25rem 1.5rem;
  border-radius: 0 8px 8px 0;
  margin: 1.5rem 0;
}
.rfc-eli5 strong { color: var(--primary); }
.theme-dark .rfc-eli5 { background: linear-gradient(135deg, rgba(0,45,179,0.15), rgba(0,45,179,0.05)); }
@media (prefers-color-scheme: dark) {
  .theme-auto .rfc-eli5 { background: linear-gradient(135deg, rgba(0,45,179,0.15), rgba(0,45,179,0.05)); }
}

.smtp-transcript {
  background-color: #1e1e2e;
  color: #cdd6f4;
  border-radius: 8px;
  padding: 1.25rem;
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
  font-size: 0.85rem;
  overflow-x: auto;
  margin: 1rem 0;
  line-height: 1.6;
}
.smtp-transcript .cmd,
.smtp-transcript .resp,
.smtp-transcript .comment { display: block; }
.smtp-transcript .cmd { color: #89b4fa; }
.smtp-transcript .resp { color: #a6e3a1; }
.smtp-transcript .comment { color: #6c7086; font-style: italic; }

.rfc-related {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.rfc-related-card {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1rem;
  text-decoration: none;
  color: var(--body-color);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.rfc-related-card:hover {
  border-color: var(--primary);
  box-shadow: 0 2px 8px rgba(0,45,179,0.1);
  color: var(--body-color);
}
.rfc-related-card .rfc-num { font-weight: 600; color: var(--primary); font-size: 0.85rem; }
.rfc-related-card .rfc-title { font-size: 0.9rem; }

/* Index page */
.rfc-index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 0.75rem;
}
.rfc-index-card {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  text-decoration: none;
  color: var(--body-color);
  transition: border-color 0.15s;
  font-size: 0.9rem;
}
.rfc-index-card:hover { border-color: var(--primary); color: var(--body-color); }
.rfc-index-card .num { font-weight: 600; color: var(--primary); white-space: nowrap; min-width: 70px; }

.rfc-category { margin-top: 2.5rem; margin-bottom: 1rem; }

.rfc-search {
  max-width: 500px;
  margin: 1.5rem 0;
}

.badge-current { background-color: #198754; }
.badge-obsolete { background-color: #dc3545; }
.badge-important { background-color: #0d6efd; }

.rfc-toc {
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  font-size: 0.85rem;
}
.rfc-toc a { color: var(--muted-text); text-decoration: none; display: block; padding: 0.2rem 0; }
.rfc-toc a:hover { color: var(--primary); }

/* DNS record examples */
.dns-record {
  background-color: #f8f9fa;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 1rem;
  font-family: monospace;
  font-size: 0.85rem;
  overflow-x: auto;
  margin: 1rem 0;
}
.theme-dark .dns-record { background-color: #1e1e2e; }
@media (prefers-color-scheme: dark) {
  .theme-auto .dns-record { background-color: #1e1e2e; }
}

/* Tables in dark mode */
.theme-dark .rfc-content .table { --bs-table-bg: transparent; --bs-table-color: var(--body-color); --bs-table-border-color: var(--border-color); }
@media (prefers-color-scheme: dark) {
  .theme-auto .rfc-content .table { --bs-table-bg: transparent; --bs-table-color: var(--body-color); --bs-table-border-color: var(--border-color); }
}
