/* =========================================================================
   СОВЕТСКОЕ ФОТО — внутренние страницы: ленты «Новости» и «Статьи», материал.
   Подключается после main.css и опирается на его токены.
   ========================================================================= */

.page{ padding-top:calc(var(--header-h) + clamp(40px,6vw,90px)); padding-bottom:var(--sec); min-height:70vh; }
.page .post__fig::after{ display:none; }

/* Хлебные крошки */
.crumbs{ display:flex; flex-wrap:wrap; gap:.4em 1em; margin-bottom:clamp(22px,3vw,40px);
         font-family:var(--f-mono); font-size:var(--t-micro); letter-spacing:.18em; text-transform:uppercase; color:var(--fg-dim); }
.crumbs a:hover{ color:var(--red); }
.crumbs span[aria-hidden]{ color:var(--red); }

/* ---------- Лента новостей: как на старом сайте — фото слева, текст справа */
.chips{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:clamp(30px,4vw,56px); }
.nlist{ border-top:1px solid var(--line); }
.nrow{ display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); gap:clamp(18px,3vw,44px);
       padding-block:clamp(22px,2.6vw,36px); border-bottom:1px solid var(--line); align-items:start; }
.nrow[hidden]{ display:none; }
.nrow__fig{ display:block; aspect-ratio:4/3; overflow:hidden; background:var(--paper-3); }
.nrow__fig img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--e-out); }
.nrow:hover .nrow__fig img{ transform:scale(1.05); }
.nrow__t{ font-family:var(--f-display); font-weight:700; text-transform:uppercase; letter-spacing:-.02em;
          font-size:clamp(1.05rem,1.7vw,1.55rem); line-height:1.12; margin-bottom:.6em; text-wrap:balance; }
.nrow__t a:hover{ color:var(--red); }
.nrow__d{ color:var(--fg-dim); max-width:70ch; margin-bottom:1em; }
.meta{ display:flex; flex-wrap:wrap; gap:.4em 1.2em; font-family:var(--f-mono); font-size:.66rem;
       letter-spacing:.16em; text-transform:uppercase; color:var(--gray-2); }
.meta b{ color:var(--red); font-weight:600; }
@media (max-width:700px){ .nrow{ grid-template-columns:minmax(0,1fr); } }
.nlist__empty{ padding-block:40px; color:var(--fg-dim); }

/* ---------- Материал */
.art{ max-width:820px; margin-inline:auto; }
.art__head{ margin-bottom:clamp(30px,4vw,56px); }
.art__h1{ font-size:clamp(1.9rem,4.6vw,3.6rem); line-height:.96; margin-block:.35em .4em; }
.art__sub{ font-family:var(--f-display); font-weight:600; font-size:clamp(1rem,1.6vw,1.3rem); text-transform:uppercase; letter-spacing:-.01em; margin-bottom:.8em; }
.art__lead{ font-size:var(--t-lead); line-height:1.45; color:var(--ink); border-left:6px solid var(--red); padding-left:clamp(14px,2vw,26px); }
.art__hero{ margin:0 auto clamp(30px,4vw,56px); max-width:1180px; }
.art__hero img{ width:100%; max-height:80vh; object-fit:cover; }

.body{ font-size:clamp(1.02rem,1.12vw,1.16rem); line-height:1.65; }
.body > * + *{ margin-top:1.05em; }
.body p{ text-wrap:pretty; }
.body a{ color:var(--red); text-decoration:underline; text-underline-offset:.18em; text-decoration-thickness:1px; word-break:break-word; }
.body h2{ font-family:var(--f-display); font-weight:800; text-transform:uppercase; letter-spacing:-.025em;
          font-size:clamp(1.3rem,2.3vw,1.9rem); line-height:1.05; margin-top:1.9em; text-wrap:balance; }
.body blockquote{ margin-block:1.8em; padding:clamp(18px,2.4vw,30px) clamp(18px,2.6vw,34px);
                  background:var(--paper-2); border-left:6px solid var(--red);
                  font-size:1.08em; line-height:1.55; font-style:italic; }
.body ul{ padding-left:1.2em; list-style:square; } .body li + li{ margin-top:.4em; }
.body figure{ margin-block:1.8em; }
.body figure img{ width:100%; height:auto; background:var(--paper-3); }
.body figcaption,.body .cap{ margin-top:.7em; font-family:var(--f-mono); font-size:.72rem; letter-spacing:.04em; line-height:1.55; color:var(--gray-2); }
.body .wide{ margin-inline:calc(50% - min(48vw, 640px)); }
.gal{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr)); gap:8px; }
.gal a{ display:block; aspect-ratio:1; overflow:hidden; background:var(--paper-3); cursor:zoom-in; }
.gal img{ width:100%; height:100% !important; object-fit:cover; transition:transform .9s var(--e-out); }
.gal a:hover img{ transform:scale(1.05); }
.video{ position:relative; aspect-ratio:16/9; background:var(--ink); }
.video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

.art__foot{ margin-top:clamp(50px,6vw,90px); padding-top:clamp(24px,3vw,40px); border-top:1px solid var(--line);
            display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; align-items:center; }

.more-art{ margin-top:clamp(60px,8vw,120px); }

/* Просмотр фото на весь экран */
.lbox{ position:fixed; inset:0; z-index:2000; background:rgba(12,12,13,.96); display:grid; place-items:center; padding:clamp(12px,3vw,40px); }
.lbox[hidden]{ display:none; }
.lbox img{ max-width:100%; max-height:calc(100vh - 110px); object-fit:contain; }
.lbox__bar{ position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:12px;
            padding:14px var(--pad); color:var(--paper); font-family:var(--f-mono); font-size:.7rem; letter-spacing:.14em; }
.lbox button{ color:var(--paper); min-width:44px; min-height:44px; font-size:1.3rem; }
.lbox button:hover{ color:var(--red); }
.lbox__x{ position:absolute; top:12px; right:16px; }
