/* ============================================================
   soboleznovaniya.ru — РЕДИЗАЙН 2026 · архивы (листинг)
   Каталог открыток (page_for_posts) + категории + теги.
   Заголовок/описание/карточки — из WP. Дизайн = обёртка.
   Самодостаточный файл: опирается только на tokens.css.
   ============================================================ */

/* ---- HERO архива ---- */
.arch-hero{ padding:40px 0 30px; }
.arch-eyebrow{
  font-size:13px; font-weight:var(--fw-semibold); letter-spacing:0.02em;
  color:var(--muted); margin:0 0 18px;
}
.arch-title{ margin:0; max-width:18ch; }
.arch-lead{
  margin:24px 0 0; max-width:56ch; font-size:19px; line-height:1.55;
  color:var(--graphite);
}
.arch-hero .inner-crumb{ margin-bottom:22px; }
.inner-crumb__sep{ color:var(--muted); margin:0 4px; font-weight:var(--fw-medium); }

/* ---- Чипы-фильтр (каталог открыток) ---- */
.arch-chips{ display:flex; flex-wrap:wrap; gap:10px; padding:4px 0 26px; }
.arch-chip{
  font-family:inherit; font-weight:var(--fw-semibold); font-size:15px;
  padding:11px 18px; border-radius:11px; cursor:pointer;
  background:var(--cloud); color:var(--ink); border:1px solid var(--cloud);
  transition:all .15s;
}
.arch-chip:hover{ border-color:var(--line-3); }
.arch-chip.is-on{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* ---- Сетка карточек ---- */
.arch-grid{
  padding:14px 0 8px;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:18px;
}

.acard{
  display:flex; flex-direction:column; gap:14px;
  text-decoration:none; color:inherit;
}
.acard.is-hidden{ display:none; }
.acard__art{
  aspect-ratio:4/3; border-radius:18px; position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center; padding:28px;
  background:var(--cloud);
  transition:transform .18s ease;
}
.acard:hover .acard__art{ transform:translateY(-3px); }
.acard__art--img{ padding:0; }
.acard__img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block;
}
.acard__brace{
  position:absolute; top:16px; left:18px; font-size:34px;
  font-weight:var(--fw-extrabold); color:rgba(255,255,255,.22);
  letter-spacing:var(--track-display);
}
.acard__ph-title{
  font-size:24px; font-weight:var(--fw-bold); color:#fff; text-align:center;
  letter-spacing:-0.02em; line-height:1.18;
}

.acard__body{ display:flex; flex-direction:column; gap:8px; }
.acard__title{
  font-size:20px; font-weight:var(--fw-bold); color:var(--ink);
  letter-spacing:-0.02em; line-height:1.22;
}
.acard__excerpt{
  font-size:15px; line-height:1.45; color:var(--graphite);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.acard__tag{
  align-self:flex-start; margin-top:2px;
  font-size:12px; font-weight:var(--fw-semibold); letter-spacing:0.04em;
  text-transform:uppercase; color:var(--ink);
  background:var(--cloud); padding:7px 11px; border-radius:var(--r-xs);
}

/* градиенты карточек-плейсхолдеров (как в каталоге открыток) */
.g-dark{  background:linear-gradient(150deg,#3A3B40,#16171A); }
.g-slate{ background:linear-gradient(150deg,#6B6E76,#43454C); }
.g-taupe{ background:linear-gradient(150deg,#7C746C,#4E4742); }
.g-green{ background:linear-gradient(150deg,#5A6B66,#36433F); }
.g-blue{  background:linear-gradient(150deg,#5C6470,#3A4049); }
.g-mauve{ background:linear-gradient(150deg,#857B83,#544E56); }

/* ---- Пагинация ---- */
.arch-pager{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  padding:34px 0 8px;
}
.arch-pager .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; height:44px; padding:0 14px;
  border-radius:var(--r-chip); border:1px solid var(--line-3);
  font-weight:var(--fw-semibold); font-size:15px; color:var(--ink);
  text-decoration:none; transition:all .15s;
}
.arch-pager a.page-numbers:hover{ border-color:var(--ink); }
.arch-pager .page-numbers.current{ background:var(--ink); color:#fff; border-color:var(--ink); }
.arch-pager .page-numbers.dots{ border:none; min-width:auto; padding:0 4px; color:var(--muted); }

/* ---- Пусто ---- */
.arch-empty{
  padding:60px 0; text-align:center;
}
.arch-empty p{ margin:0 0 22px; font-size:19px; color:var(--graphite); }

/* ---- 404 / страница не найдена ---- */
.nf{ padding:60px 0 72px; max-width:720px; }
.nf__title{ margin:18px 0 0; }
.nf__lead{ margin:22px 0 0; font-size:19px; line-height:1.55; color:var(--graphite); max-width:52ch; }
.nf-search{ display:flex; gap:10px; margin:30px 0 26px; max-width:560px; }
.nf-search__input{
  flex:1; font-family:inherit; font-size:16px; color:var(--ink);
  padding:14px 18px; border-radius:var(--r-chip);
  border:1px solid var(--border-3); background:var(--paper); outline:none;
}
.nf-search__input:focus{ border-color:var(--ink); }
.nf-search__btn{
  font-family:inherit; font-weight:var(--fw-semibold); font-size:15px; cursor:pointer;
  padding:14px 22px; border-radius:var(--r-chip);
  background:var(--ink); color:#fff; border:1px solid var(--ink);
}
.nf__links{ display:flex; flex-wrap:wrap; gap:12px; }

@media (max-width:640px){
  .nf{ padding:36px 0 48px; }
  .nf-search{ flex-direction:column; }
  .nf-search__btn{ width:100%; }
  .arch-title{ font-size:40px; max-width:none; overflow-wrap:break-word; }
  .arch-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .acard__ph-title{ font-size:17px; }
  .acard__title{ font-size:17px; }
  .acard__art{ padding:18px; }
  .arch-hero{ padding-top:28px; }
}
