/* Scoped styles — avoid bleeding into Bootstrap */
.os-wrap { --os-green:#29a36a; --os-amber:#e0a100; --os-red:#c03b3b; }
.os-wrap .os-badge{ display:inline-block; padding:.2rem .5rem; font-size:.75rem; border-radius:999px; color:#fff }
.os-wrap .os-ready{ background: var(--os-green); }
.os-wrap .os-considered{ background: var(--os-amber); }
.os-wrap .os-sponsored{ background: var(--os-red); }
.os-wrap .os-thumb{ width:56px; height:56px; object-fit:cover; border-radius:8px }
.os-wrap .os-photo{ max-height:420px; object-fit:cover; border-radius:12px }
.os-wrap .os-carousel .btn{ min-width:92px }
.os-wrap .os-card{ min-height: 460px }
.os-wrap .os-timeline{ display:flex; gap:18px; flex-wrap:wrap; border-top:1px dashed #ddd; padding-top:14px }
.os-wrap .os-step{ display:flex; align-items:center; gap:8px; background:#f8f9fa; border:1px solid #e9ecef; padding:8px 12px; border-radius:999px }
.os-wrap .os-step i{ font-size:1rem }

.os-wrap .os-filterbar{ background:#fff; border:1px solid #e9ecef; border-radius:12px }
.os-wrap .os-filterbar .form-label{ font-weight:600; font-size:.85rem }