:root {
  --brand: #c2185b;
  --brand-dark: #880e4f;
}
.bg-brand { background-color: var(--brand) !important; }
.text-bg-brand { background-color: var(--brand) !important; color: #fff !important; }
.hero { background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%); }
.card { transition: transform .15s ease, box-shadow .15s ease; }
.card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.12) !important; }
.post-body { font-size: 1.1rem; line-height: 1.75; }
.post-body img { max-width: 100%; height: auto; }
.post-body figure { margin: 1.5rem 0; }
.post-body table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.post-body th, .post-body td { border: 1px solid var(--bs-border-color); padding: .5rem; }
.post-thumb { aspect-ratio: 16 / 9; object-fit: cover; }
.post-body a { color: var(--brand); }
.post-body .read-more { border-left: 4px solid var(--brand); background: #fce4ec; padding: .6rem 1rem; border-radius: 0 .375rem .375rem 0; }
.text-brand { color: var(--brand) !important; }
.btn-outline-brand { --bs-btn-color: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand); --bs-btn-hover-border-color: var(--brand); --bs-btn-hover-color: #fff; --bs-btn-active-bg: var(--brand-dark); --bs-btn-active-color: #fff; }
.lead-intro { font-size: 1.1rem; line-height: 1.7; }
.lead-intro a, .accordion-body a { color: var(--brand); }
.featured-thumb { width: 88px; height: 60px; object-fit: cover; }
.topics-menu { max-height: 75vh; overflow-y: auto; }
.accordion-button:not(.collapsed) { color: var(--brand-dark); background-color: #fce4ec; }
.accordion-button:focus { box-shadow: 0 0 0 .25rem rgba(194, 24, 91, .2); }
