/* Newsgrabber — Stas-Clear. Плитка ленты с источником. */
.ng-feed { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; }

.ng-feed__card {
    display: flex; flex-direction: column; overflow: hidden;
    border: 1px solid #d0d7de; border-radius: 8px; background: #fff;
    transition: box-shadow .15s ease, transform .15s ease;
}
.ng-feed__card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 140, 186, .18); }

.ng-feed__image { aspect-ratio: 16 / 9; overflow: hidden; background: #f2f4f6; }
.ng-feed__image img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ng-feed__body { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 16px; flex: 1 1 auto; }

.ng-feed__meta { display: flex; align-items: center; gap: 10px; font-size: .8203125rem; color: #888; }
.ng-feed__source { display: inline-flex; align-items: center; gap: 6px; }
.ng-feed__favicon { width: 16px; height: 16px; border-radius: 3px; flex: 0 0 16px; }
.ng-feed__favicon--empty {
    display: inline-flex; align-items: center; justify-content: center;
    background: #e6eaee; color: #5a6672; font-size: 10px; font-weight: 600; line-height: 1;
}
.ng-feed__date { white-space: nowrap; }

.ng-feed__title { margin: 0; font-size: 1.0625rem; line-height: 1.35; }
.ng-feed__title a { color: #1e2224; text-decoration: none; }
.ng-feed__title a:hover { color: #008cba; }

.ng-feed__text { font-size: .9375rem; line-height: 1.5; color: #444; }
.ng-feed__text p { margin: 0 0 .5em; }
.ng-feed__text p:last-child { margin-bottom: 0; }

.ng-feed__origin { margin-top: auto; font-size: .8203125rem; color: #888; text-decoration: none; }
.ng-feed__origin:hover { color: #008cba; text-decoration: underline; }

@media (max-width: 575.98px) {
    .ng-feed { grid-template-columns: 1fr; gap: 14px; }
}
