/*
Theme Name: Честь имею.31
Template: generatepress
Description: Дочерняя тема регионального издания «Честь имею.31». Газетная сетка, строгая газета.
Author: Честь имею.31
Version: 1.0.0
Text Domain: chest31-child
*/

:root{
  --accent:#8a1620;
  --ink:#1a1a1a;
  --muted:#595959; /* ≥4.5:1 на белом и на --bg-soft */
  --line:#e3e3e3;
  --line-soft:#eee;
  --bg:#fff;
  --bg-soft:#f4f4f4;
  --maxw:min(2000px, 95vw); /* широкая полоса жмётся к краям экрана: «Главное» у правого края */
  --body:1180px;   /* центрированная читаемая полоса для архивов */
  --read:760px;    /* колонка лонгрида */
  --serif:"PT Serif", Georgia, serif;
  --sans:"PT Sans", Arial, sans-serif;
}

*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;}
.site-wrap{overflow-x:clip;}
a{color:inherit;text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 16px;}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:12px 18px;z-index:100;font-weight:700;}
.skip-link:focus{left:0;text-decoration:none;}

.topbar{background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;min-height:34px;}
.topbar__links a{display:inline-block;margin-left:10px;padding:13px 2px;}

.masthead{text-align:center;padding:18px 0 10px;}
.masthead__logo{font-family:var(--serif);font-weight:700;font-size:34px;letter-spacing:1px;color:var(--ink);}
.masthead__logo:hover{text-decoration:none;}
.masthead__accent{color:var(--accent);}
.masthead__tagline{font-size:11px;letter-spacing:2px;color:var(--muted);margin-top:4px;text-transform:uppercase;}

.mainnav{border-top:2px solid var(--accent);border-bottom:1px solid var(--line);}
.mainnav__inner{display:flex;align-items:center;gap:18px;}
.mainnav__list{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:0 22px;justify-content:center;list-style:none;margin:0;padding:0;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.5px;}
.mainnav__list a{display:block;padding:14px 2px;}
.mainnav__list a:hover{color:var(--accent);text-decoration:none;}
.mainnav__list .current-menu-item a{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);}

.searchform{display:flex;align-items:center;border:1px solid var(--line);background:var(--bg);}
.searchform__input{border:0;outline-offset:-2px;padding:10px 12px;font:inherit;font-size:14px;width:160px;background:transparent;}
.searchform__submit{border:0;background:transparent;color:var(--muted);padding:11px 12px;cursor:pointer;display:flex;align-items:center;}
.searchform__submit:hover{color:var(--accent);}
.searchform--page .searchform{display:inline-flex;margin-top:4px;}
.searchform--page .searchform__input{width:260px;}

.chest-main{max-width:var(--maxw);margin:0 auto;padding:clamp(24px,2.4vw,34px) 16px 44px;}

/* ГЛАВНАЯ — асимметричный «журнальный» экран:
   крупный лид слева (визуальный вес → точка входа взгляда),
   рубрика «Главное» уходит к правому краю полосы. */
.home-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(290px,24vw,360px);
  gap:clamp(28px,4.5vw,72px);
  align-items:start;
  padding-bottom:clamp(26px,3vw,42px);
  border-bottom:1px solid var(--line);
}
.home-lead{min-width:0;}
/* Текст лида держим читаемым, фото заполняет широкую колонку. */
.home-lead :is(.lead__cat,.lead__title,.lead__excerpt,.lead__meta){max-width:760px;}
.lead__thumb img,.lead__thumb-placeholder{width:100%;height:clamp(260px,30vw,440px);object-fit:cover;background:#dcdcdc;border-radius:4px;display:block;}
.lead__cat,.post__cat,.card__cat{color:var(--accent);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.6px;margin-top:14px;}
.lead__title{font-family:var(--serif);font-size:clamp(28px,3.1vw,42px);line-height:1.12;margin:8px 0 10px;}
.lead__title a:hover{color:var(--accent);text-decoration:none;}
.lead__excerpt{color:#3a3a3a;font-size:17px;line-height:1.55;max-width:62ch;}
.lead__meta,.card__meta,.post__meta{color:var(--muted);font-size:12px;margin-top:10px;}

.home-aside{min-width:0;}
.home-aside .block-head{color:var(--accent);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.6px;border-bottom:2px solid var(--accent);padding-bottom:6px;margin:0 0 2px;}
.top-item{display:flex;gap:10px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line-soft);font-family:var(--serif);font-size:15px;line-height:1.3;}
.top-item:last-child{border-bottom:0;}
.top-item:hover{text-decoration:none;}
.top-item:hover .top-item__title{color:var(--accent);}
.top-item__num{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;}

/* Лента и колонки — во всю ширину полосы, как и hero (единая левая ось). */
.home-feed{margin-top:clamp(28px,3.5vw,48px);}
.home-feed .cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}

.block-head{font-weight:700;text-transform:uppercase;font-size:13px;margin:26px 0 12px;}
.block-head--rule{border-bottom:1px solid var(--line);padding-bottom:6px;}

.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.card{border-top:1px solid var(--line-soft);padding-top:12px;}
.card__thumb img,.card__thumb-placeholder{width:100%;height:150px;object-fit:cover;background:#e2e2e2;border-radius:3px;display:block;}
.card__title{font-family:var(--serif);font-size:16px;line-height:1.25;margin:8px 0 0;}
.card__title a:hover{color:var(--accent);text-decoration:none;}
.feed-more{margin-top:16px;}
.feed-more a{color:var(--accent);font-weight:700;}

.home-columns{background:#faf7f3;border-top:1px solid var(--line-soft);padding:clamp(18px,2vw,28px);margin-top:clamp(28px,3.5vw,48px);border-radius:4px;}
.columns-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px;}
.column-item__title{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.3;margin:0;}
.column-item__excerpt{color:#444;font-size:14px;}
.column-item__meta{color:var(--muted);font-size:12px;}

/* СТАТЬЯ — одна центрированная колонка; «Читайте также» ниже, в той же оси. */
.article-shell{max-width:var(--read);margin:0 auto;}
.content-band{max-width:var(--body);margin:0 auto;}
.post{margin:0;}
.post__title{font-family:var(--serif);font-size:clamp(28px,3.4vw,38px);line-height:1.14;margin:8px 0 10px;}
.post__hero{margin:16px 0;}
.post__body{font-family:var(--serif);font-size:18px;line-height:1.7;}
.post__body p{margin:0 0 1.1em;}
.post__body--dropcap > p:first-child::first-letter{float:left;font-family:var(--serif);font-weight:700;font-size:3.1em;line-height:.85;padding:4px 8px 0 0;color:var(--accent);}
.post__tags{margin-top:20px;}
.post__tags a{display:inline-block;margin-right:10px;color:var(--muted);font-size:13px;}

.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;border-top:1px solid var(--line);padding-top:16px;}
.post-nav__item{display:block;}
.post-nav__item:hover{text-decoration:none;}
.post-nav__item--next{text-align:right;grid-column:2;}
.post-nav__label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;}
.post-nav__title{display:block;font-family:var(--serif);font-size:16px;line-height:1.3;margin-top:4px;}
.post-nav__item:hover .post-nav__title{color:var(--accent);}

.related{max-width:none;margin-top:clamp(34px,4vw,52px);}

.breadcrumbs{font-size:12px;color:var(--muted);margin:0 0 12px;}
.breadcrumbs a{color:var(--muted);}
.breadcrumbs a:hover{color:var(--accent);}

.archive-head{border-bottom:2px solid var(--accent);padding-bottom:8px;margin-bottom:18px;}
.archive-head__title{font-family:var(--serif);font-size:26px;margin:0;}
.archive-head__desc{color:var(--muted);margin-top:6px;}
.empty{color:var(--muted);}

.page-article{max-width:var(--read);margin:0 auto;}
.page-article__title{font-family:var(--serif);font-size:30px;}
.page-article__body{font-family:var(--serif);font-size:17px;line-height:1.7;}

.notfound{max-width:600px;margin:40px auto;text-align:center;}
.notfound h1{font-family:var(--serif);font-size:30px;}

/* Поиск Pagefind — подгоняем под фирменный акцент. */
.pf-search{--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--ink);--pagefind-ui-font:var(--sans);--pagefind-ui-border-radius:4px;--pagefind-ui-scale:.92;margin-top:8px;}

.ad-slot{margin:18px 0;}
.ad-slot:empty{display:none;}

.site-footer{background:var(--ink);color:#cfcfcf;margin-top:40px;padding:24px 0;font-size:13px;line-height:1.7;}
.site-footer__brand{color:#fff;font-family:var(--serif);font-weight:700;letter-spacing:1px;margin-bottom:6px;}
.site-footer a{color:#fff;}

.pagination{margin:26px 0;}
.pagination .page-numbers{display:inline-block;padding:11px 15px;border:1px solid var(--line);margin-right:6px;}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent);}

/* Узкие десктопы/планшеты: «Главное» уходит под лид. */
@media (max-width:980px){
  .home-top{grid-template-columns:1fr;gap:24px;padding-bottom:22px;}
  .home-aside{border-top:1px solid var(--line);padding-top:6px;}
  .lead__title{max-width:none;}
}
@media (max-width:860px){
  .cards-grid{grid-template-columns:1fr 1fr;}
  .columns-grid{grid-template-columns:1fr;}
  /* На узких экранах меню и поиск — отдельными строками; рубрики прокручиваются по горизонтали. */
  .mainnav__inner{display:block;}
  .mainnav__list{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .mainnav__list::-webkit-scrollbar{display:none;}
  .mainnav__list li{flex:0 0 auto;}
  .searchform{width:100%;border:0;border-top:1px solid var(--line);}
  .searchform__input{flex:1;width:auto;}
}
@media (max-width:560px){
  .cards-grid{grid-template-columns:1fr;}
  .masthead__logo{font-size:26px;}
  .post-nav{grid-template-columns:1fr;}
  .post-nav__item--next{text-align:left;grid-column:auto;}
}

@media (prefers-reduced-motion:no-preference){
  a,.searchform__submit{transition:color .15s ease-out;}
}
