.bm-carousel { margin-bottom: 38px; }
.bm-carousel-track { position: relative; }
.bm-carousel .bm-slide[hidden], .bm-carousel-controls[hidden] { display: none !important; }
.bm-carousel-controls { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 12px; }
.bm-carousel-controls button { min-width: 44px; min-height: 44px; border: 1px solid var(--border); border-radius: 6px; color: var(--ink); background: var(--soft); padding: 8px 14px; font: 700 13px var(--sans); cursor: pointer; }
.bm-carousel-controls button:hover { border-color: var(--accent); }
.bm-carousel-controls button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.bm-carousel-position { font: 600 13px var(--sans); color: var(--muted); min-width: 42px; text-align: center; }
.bm-compact-topics { border-top: 1px solid var(--border); padding-top: 24px; margin: 36px 0; }
.bm-compact-topics ul { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.bm-compact-topics li a { display: block; padding: 9px 13px; background: var(--soft); border: 1px solid var(--border); border-radius: 6px; font-size: 13px; font-weight: 600; }
@media (max-width: 360px) {
  .bm-carousel .feat-overlay { padding: 12px; }
  .bm-carousel .feat-title { font-size: 18px; }
  .bm-carousel .feat-cat { font-size: 10px; margin-bottom: 6px; }
}
@media (prefers-reduced-motion: reduce) { .bm-carousel .post-card-thumb img { transition: none; } }
