/* article.css — estilos de artigo / blog post */

.article-header { padding: 32px 0 8px; }
.article-header h1 { margin: 12px 0; max-width: 820px; }
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  color: var(--text-tertiary);
  font-size: 0.9rem;
}
.article-meta time::before { content: "🗓 "; }
.reading-time::before { content: "⏱ "; }

.article-content { max-width: 760px; font-size: 1.05rem; }
.article-content > p { margin-bottom: 20px; color: var(--text-primary); }
.article-content h2 { margin: 36px 0 14px; }
.article-content h3 { margin: 24px 0 10px; }
.article-content ul, .article-content ol { margin: 0 0 20px; padding-left: 8px; }
.article-content li { margin-bottom: 8px; }
.article-content a { text-decoration: underline; text-underline-offset: 2px; }
.article-content strong { font-weight: 700; }

.lead { font-size: 1.15rem; color: var(--text-secondary); }

/* Tabela de requisitos */
.requirements-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 24px;
  font-size: 0.95rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.requirements-table th, .requirements-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--border);
}
.requirements-table th {
  background: var(--bg-secondary);
  font-weight: 600;
  width: 40%;
  color: var(--text-secondary);
}
.requirements-table tr:last-child th, .requirements-table tr:last-child td { border-bottom: none; }

/* Aviso / callout */
.callout {
  display: flex;
  gap: 12px;
  padding: 16px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--bg-secondary);
  margin: 0 0 24px;
  font-size: 0.95rem;
}
.callout.warning { border-color: color-mix(in srgb, var(--warning) 50%, var(--border)); background: color-mix(in srgb, var(--warning) 8%, var(--bg-secondary)); }
.callout.safe { border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); background: var(--accent-light); }
.callout .callout-icon { font-size: 1.25rem; line-height: 1.4; }

/* FAQ */
.faq-section details {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 0;
  margin-bottom: 12px;
  overflow: hidden;
  background: var(--bg-primary);
}
.faq-section summary {
  padding: 16px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.faq-section summary::-webkit-details-marker { display: none; }
.faq-section summary::after { content: "+"; font-size: 1.3rem; color: var(--text-tertiary); transition: transform var(--transition); }
.faq-section details[open] summary::after { transform: rotate(45deg); }
.faq-section details[open] summary { border-bottom: 1px solid var(--border); }
.faq-section details p { padding: 16px; color: var(--text-secondary); }

/* Sidebar */
.sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: calc(var(--header-height) + 24px); }

.software-info-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  background: var(--bg-secondary);
}
.software-info-card h3 { margin-bottom: 16px; }
.software-info-card dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 16px;
  margin-bottom: 20px;
  font-size: 0.9rem;
}
.software-info-card dt { color: var(--text-tertiary); }
.software-info-card dd { text-align: right; font-weight: 500; }
.download-btn { width: 100%; }
.download-disclaimer { margin-top: 8px; font-size: 0.78rem; color: var(--text-tertiary); text-align: center; }

.related-articles, .popular-categories {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
}
.related-articles h3, .popular-categories h3 { margin-bottom: 12px; font-size: 1.05rem; }
.related-articles ul, .popular-categories ul { list-style: none; }
.related-articles li, .popular-categories li { margin-bottom: 10px; }
.related-articles a { color: var(--text-primary); font-size: 0.92rem; }
.related-articles a:hover { color: var(--primary); }

@media (max-width: 768px) {
  .sidebar { position: static; }
  .article-content { max-width: 100%; }
}
