.ndbs { --ndbs-card: 240px; --ndbs-gap: 20px; width: 100%; min-width: 0; }
.ndbs, .ndbs * { box-sizing: border-box; }
.ndbs .ndbs__controls { display: flex; justify-content: center; gap: 8px; margin-bottom: 16px; }
.ndbs .ndbs__controls[hidden] { display: none; }
.ndbs .ndbs__controls button { cursor: pointer; font: inherit; padding: 8px 12px; border: 1px solid #aaa; border-radius: 4px; color: #222; background: #fff; }
.ndbs .ndbs__controls button:disabled { opacity: .45; cursor: default; }
.ndbs .ndbs__viewport { max-width: 100%; margin-inline: auto; overflow-x: auto; direction: ltr; overscroll-behavior-x: contain; scrollbar-width: thin; }
.ndbs.ndbs--ready .ndbs__viewport { scrollbar-width: none; }
.ndbs.ndbs--ready .ndbs__viewport::-webkit-scrollbar { display: none; }
.ndbs .ndbs__track { display: flex; gap: var(--ndbs-gap); width: max-content; align-items: stretch; }
.ndbs .ndbs__card { flex: 0 0 var(--ndbs-card); width: var(--ndbs-card); margin: 0; padding: 0; border: 1px solid #ddd; background: #fff; border-radius: 6px; overflow: hidden; color: #222; }
.ndbs .ndbs__image { display: block; width: 100%; height: 160px; overflow: hidden; background: #eee; }
.ndbs .ndbs__image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.ndbs .ndbs__placeholder { display: grid; place-items: center; height: 100%; color: #666; }
.ndbs .ndbs__body { display: flex; flex-direction: column; padding: 16px; }
.ndbs .ndbs__title { font-size: 17px; line-height: 1.5; height: 3em; margin: 0 0 10px; }
.ndbs .ndbs__title a { color: inherit; text-decoration: none; }
.ndbs .ndbs__title, .ndbs .ndbs__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
.ndbs .ndbs__excerpt { font-size: 14px; line-height: 1.7; height: 5.1em; -webkit-line-clamp: 3; margin: 0 0 14px; }
.ndbs .ndbs__more { font-size: 14px; color: #175c88; margin-top: auto; }
.ndbs a:focus-visible, .ndbs button:focus-visible, .ndbs__viewport:focus-visible { outline: 3px solid #175c88; outline-offset: -3px; }
.ndbs .ndbs__image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 160px;
    overflow: hidden;
    background: #f5f5f5;
}

.ndbs .ndbs__image img {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    transform: none !important;
}