/* =====================================================================
   STALKERX — NEWS page  (scope: body.zx.zx-news)  · depends on zx-theme.css
   ===================================================================== */

/* ---------------- HERO BANNER ---------------- */
.zx-news .zx-news-hero {
    position: relative; min-height: 46vh; display: flex; align-items: flex-end;
    overflow: hidden; margin-top: 0; padding-top: 30px; /* breathing room below fixed header on short viewports */
}
.zx-news .zx-news-hero-bg {
    position: absolute; inset: 0; z-index: 0;
    background: url('/img/redesign/news_hero.jpg') center 42%/cover no-repeat;
    transform: scale(1.05); filter: saturate(.92) contrast(1.05);
}
.zx-news .zx-news-hero-bg::after {
    content: ""; position: absolute; inset: 0;
    background:
      radial-gradient(120% 90% at 50% 0%, transparent 30%, rgba(8,11,10,.5) 100%),
      linear-gradient(180deg, rgba(8,11,10,.7) 0%, rgba(8,11,10,.2) 40%, rgba(8,11,10,.82) 85%, var(--zx-bg) 100%);
}
.zx-news .zx-news-hero-scan {
    position: absolute; inset: 0; z-index: 2; pointer-events: none;
    background: repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.1) 3px, rgba(0,0,0,0) 4px);
    opacity: .35; mix-blend-mode: multiply;
}
.zx-news .zx-news-hero-inner {
    position: relative; z-index: 3; max-width: 1640px; width: 100%; margin: 0 auto;
    padding: 0 20px 46px;
}
.zx-news .zx-news-hero-eyebrow {
    font-family: var(--font-mono); font-size: 13px; letter-spacing: 5px; text-transform: uppercase;
    color: var(--zx-amber); margin-bottom: 18px; display: flex; align-items: center; gap: 12px;
}
.zx-news .zx-news-hero-eyebrow::before { content: ""; width: 40px; height: 1px; background: var(--zx-amber); }
.zx-news .zx-news-hero-title {
    font-family: var(--font-display); font-weight: 900; font-size: clamp(40px, 7vw, 96px);
    line-height: .9; letter-spacing: -2px; text-transform: uppercase; color: #f2f0e8; margin: 0;
    text-shadow: 0 0 50px rgba(0,0,0,.6);
}
.zx-news .zx-news-hero-sub { max-width: 520px; margin: 20px 0 0; font-size: 15px; line-height: 1.6; color: rgba(217,222,212,.78); }
.zx-news .zx-news-hero-count { color: var(--zx-amber); font-family: var(--font-mono); }

/* ---------------- GRID ---------------- */
.zx-news .zx-news-section { padding-block: 56px; }
.zx-news .zx-news-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.zx-news .zx-news-card {
    display: flex; flex-direction: column; text-decoration: none; overflow: hidden;
    border: 1px solid var(--zx-line-2); background: var(--zx-bg-2); transition: border-color .25s;
    isolation: isolate;
}
.zx-news .zx-news-card::after { /* top corner tick */
    content: ""; position: absolute; top: 8px; left: 8px; width: 11px; height: 11px;
    border-top: 1px solid var(--zx-amber-dim); border-left: 1px solid var(--zx-amber-dim);
    opacity: 0; transition: opacity .25s; z-index: 4;
}
.zx-news .zx-news-card { position: relative; }
.zx-news .zx-news-card:hover { border-color: var(--zx-amber-dim); }
.zx-news .zx-news-card:hover::after { opacity: 1; }

.zx-news .zx-news-card-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.zx-news .zx-news-card-media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    filter: saturate(.9) contrast(1.03); transition: filter .3s ease;
}
.zx-news .zx-news-card:hover .zx-news-card-media img { filter: saturate(1.05) contrast(1.06) brightness(1.08); }
.zx-news .zx-news-card-media::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(14,19,18,.55) 100%);
}
.zx-news .zx-news-card-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.zx-news .zx-news-card-title {
    font-family: var(--font-display); font-weight: 700; font-size: 17px; line-height: 1.2;
    letter-spacing: -.3px; text-transform: uppercase; color: #f2f0e8; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.zx-news .zx-news-card:hover .zx-news-card-title { color: var(--zx-amber); }
.zx-news .zx-news-card-excerpt {
    font-size: 13.5px; line-height: 1.55; color: rgba(217,222,212,.62); margin: 0; flex: 1;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.zx-news .zx-news-card-meta {
    display: flex; align-items: center; gap: 16px; padding-top: 12px;
    border-top: 1px solid var(--zx-line); font-family: var(--font-mono); font-size: 11.5px;
    letter-spacing: 1px; text-transform: uppercase; color: var(--zx-dim);
}
.zx-news .zx-news-card-meta span { display: inline-flex; align-items: center; gap: 6px; }
.zx-news .zx-news-card-meta i { color: var(--zx-amber); font-size: 11px; }
.zx-news .zx-news-card-meta .zx-news-card-readmore { margin-left: auto; color: var(--zx-amber-dim); transition: gap .25s, color .25s; }
.zx-news .zx-news-card:hover .zx-news-card-readmore { color: var(--zx-amber); gap: 10px; }

/* ---------------- PAGINATION ---------------- */
/* Внешний вид задаёт общий .zx-pager в style.css - здесь только отступ. */
.zx-news .zx-news-pagination { margin-top: 44px; display: flex; justify-content: center; }
.zx-news .zx-news-pagination.is-top { margin-top: 0; margin-bottom: 24px; }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 1024px) { .zx-news .zx-news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 860px)  { .zx-news .zx-news-hero { min-height: 40vh; } .zx-news .zx-news-section { padding-block: 40px; } }
@media (max-width: 560px)  {
    .zx-news .zx-news-grid { grid-template-columns: 1fr; }
    .zx-news .zx-news-hero-inner { padding-bottom: 34px; }
    .zx-news .zx-news-hero-title { letter-spacing: -1px; }
}

/* mobile: keep long hero eyebrow on one line */
@media (max-width: 560px) {
    .zx-news .zx-news-hero-eyebrow { font-size: 11px; letter-spacing: 2px; gap: 9px; }
    .zx-news .zx-news-hero-eyebrow::before { width: 22px; }
}
