/* Земельные новости: лента карточек и детальная страница. */

/* ---------- Лента /news ---------- */
.news-list{max-width:860px;margin:0 auto;padding:32px 24px;display:flex;flex-direction:column;gap:16px}
.news-card{display:block;padding:20px 22px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.news-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12);text-decoration:none}
.news-card-date{font-size:.82rem;color:var(--muted);margin-bottom:6px}
.news-card-title{font-size:1.15rem;font-weight:700;line-height:1.35;margin:0 0 8px}
.news-card-summary{font-size:.92rem;color:var(--muted);line-height:1.55;margin:0 0 10px;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card-more{font-size:.88rem;color:var(--primary);font-weight:600}
.news-empty{text-align:center;padding:48px 16px;color:var(--muted)}
.news-empty strong{display:block;color:var(--text);font-size:1.05rem;margin-bottom:6px}

/* ---------- Детальная /news/{id} ---------- */
.news-article{max-width:760px;margin:0 auto;padding:28px 24px 56px}
.news-article .breadcrumbs{margin-bottom:20px}
.news-article .article-header{margin-bottom:22px}
.news-article .article-header h1{font-size:1.9rem;line-height:1.25;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}
.news-article .article-meta{font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 16px}
.news-article .article-meta span{position:relative}
.news-article .article-meta span + span::before{content:"·";margin-right:12px;color:var(--border)}

.news-lead{margin:0 0 28px;padding:16px 20px;font-size:1.06rem;line-height:1.65;color:var(--text);background:var(--card);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:10px;white-space:pre-line}

.news-article-body{font-size:1.04rem;line-height:1.8;color:var(--text)}
.news-article-body > p{margin:0 0 18px}
.news-article-body > p:last-child{margin-bottom:0}
.news-article-body h2{font-size:1.32rem;font-weight:700;line-height:1.35;margin:34px 0 14px}
.news-article-body h3{font-size:1.12rem;font-weight:600;line-height:1.4;margin:26px 0 10px}
.news-article-body ul,.news-article-body ol{margin:0 0 18px;padding-left:22px}
.news-article-body li{margin-bottom:8px}
.news-article-body strong{font-weight:600}
.news-article-body a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.news-article-body blockquote{margin:0 0 18px;padding:14px 20px;background:var(--card);border-left:3px solid var(--border);border-radius:0 8px 8px 0;color:var(--muted)}
.news-article-body img{max-width:100%;height:auto;border-radius:10px;margin:8px 0 18px}

.news-source{margin:26px 0 0;padding:12px 16px;font-size:.85rem;line-height:1.5;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:10px;word-break:break-all}
.news-source a{color:var(--primary)}

.news-article .cta-box{margin:36px 0}
.news-article .related-section{margin-top:32px;padding-top:22px}
.news-article .related-link{justify-content:flex-start}

@media(max-width:640px){
  .news-list{padding:20px 16px}
  .news-card{padding:16px}
  .news-article{padding:18px 16px 44px}
  .news-article .article-header h1{font-size:1.45rem}
  .news-lead{padding:14px 16px;font-size:1rem}
  .news-article-body{font-size:1rem}
}
