/* BrazilEstadão News — main.css */
:root {
  --color-primary: #1a3a5c;
  --color-accent: #f5a623;
  --color-light: #e8f0fe;
}
body { font-family: 'Segoe UI', Arial, sans-serif; color: #222; }
.site-header { box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.navbar-brand svg { vertical-align: middle; }
.cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; background: #222; color: #fff; z-index: 9999; border-top: 3px solid var(--color-accent); }
.hero-section { background: linear-gradient(135deg, var(--color-primary) 60%, var(--color-accent) 100%); color: #fff; padding: 4rem 0; }
.hero-section h1 { font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 800; }
.section-title { color: var(--color-primary); border-left: 4px solid var(--color-accent); padding-left: .75rem; margin-bottom: 1.5rem; }
.card-accent { border-top: 4px solid var(--color-accent); }
.timeline { list-style: none; padding: 0; position: relative; }
.timeline::before { content:''; position:absolute; left:1.2rem; top:0; bottom:0; width:3px; background:var(--color-accent); }
.timeline-item { padding-left: 3rem; position: relative; margin-bottom: 2rem; }
.timeline-item::before { content: attr(data-step); position: absolute; left: 0; top: 0; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--color-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; }
.fact-panel { background: var(--color-light); border-left: 4px solid var(--color-accent); padding: 1rem 1.25rem; margin: 1rem 0; border-radius: 0 .5rem .5rem 0; }
.toc-box { background: var(--color-light); border: 1px solid #ddd; border-radius: .5rem; padding: 1rem 1.5rem; margin-bottom: 2rem; }
.toc-box ol { margin: 0; padding-left: 1.2rem; }
table.table thead { background: var(--color-primary); color: #fff; }
.badge-accent { background: var(--color-accent); color: #222; }
details summary { cursor: pointer; font-weight: 600; color: var(--color-primary); padding: .5rem 0; }
details[open] summary { color: var(--color-accent); }
.review-card { border-left: 4px solid var(--color-accent); }
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.btn-primary-custom { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.btn-primary-custom:hover { background: var(--color-accent); border-color: var(--color-accent); color: #222; }
.checklist li::before { content: '✓ '; color: var(--color-accent); font-weight: 700; }
.checklist { list-style: none; padding-left: 0; }
@media (max-width: 768px) { .hero-section { padding: 2rem 0; } }
