/* ==========================================================================
   Главная — новости (site/layouts/180-news.php). Только var(--es-*).
   ========================================================================== */
body.main-page .home-news__grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px}
body.main-page .home-news__card {display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: var(--es-radius); background: #fff; box-shadow: 0 1px 0 var(--es-border); transition: box-shadow .25s, transform .25s}
body.main-page .home-news__card:hover {box-shadow: var(--es-shadow-hover); transform: translateY(-4px)}
body.main-page .home-news__media {display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--es-surface-alt)}
body.main-page .home-news__media picture,
body.main-page .home-news__media img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease}
body.main-page .home-news__card:hover .home-news__media img {transform: scale(1.05)}
body.main-page .home-news__media-empty {display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--es-muted); font-size: 40px}
body.main-page .home-news__body {display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 22px 24px 24px}
body.main-page .home-news__date {margin-bottom: 10px; color: var(--es-muted); font-size: 13px; font-weight: 600}
body.main-page .home-news__title {margin: 0; color: var(--es-heading); font-size: 19px; font-weight: 700; line-height: 1.35}
body.main-page .home-news__title a {color: inherit; transition: color .2s}
body.main-page .home-news__title a:hover {text-decoration: underline; text-decoration-color: var(--es-primary); text-decoration-thickness: 3px}
body.main-page .home-news__text {margin: 10px 0 0; color: var(--es-text); font-size: 15px; line-height: 1.6}
body.main-page .home-news__more {margin-top: auto; padding-top: 18px}

@media (max-width: 992px) {
    body.main-page .home-news__grid {grid-template-columns: repeat(2, minmax(0, 1fr))}
    body.main-page .home-news__card:nth-child(3) {display: none}
}
@media (max-width: 600px) {
    body.main-page .home-news__grid {grid-template-columns: 1fr; gap: 18px}
    body.main-page .home-news__card:nth-child(3) {display: flex}
}
