/* Новочеркасская неделя — газетный стиль */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#faf8f3;
  --bg-card:#ffffff;
  --bg-alt:#f1ede4;
  --text:#1a1a1a;
  --text-soft:#3d3d3d;
  --text-muted:#6b6b6b;
  --brand:#8b1e1e;
  --brand-dark:#6e1414;
  --brand-light:#a93434;
  --accent:#c8941f;
  --accent-dark:#a87a14;
  --border:#e2dccd;
  --link:#8b1e1e;
  --link-hover:#c8941f;
}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Serif","PT Serif","Times New Roman",Georgia,serif;
  font-size:17px;
  line-height:1.7;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
a{color:var(--link);text-decoration:none;transition:color .15s}
a:hover{color:var(--link-hover);text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:1240px;margin:0 auto;padding:0 20px}

/* ===== Шапка ===== */
.site-header{
  background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);
  border-bottom:4px double var(--brand);
  padding:14px 0 0;
  position:relative;
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.brand-block{display:flex;align-items:center;gap:14px}
.brand-logo{
  width:64px;height:64px;
  background:var(--brand);
  color:#fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:"Jost","Inter",sans-serif;
  font-weight:800;font-size:28px;
  letter-spacing:-1px;
  border:3px solid var(--accent);
  box-shadow:0 2px 8px rgba(139,30,30,.25);
  flex-shrink:0;
}
.brand-name{
  font-family:"Jost","Inter",sans-serif;
  font-weight:800;
  font-size:30px;
  letter-spacing:-0.5px;
  color:var(--brand);
  line-height:1;
}
.brand-tagline{
  font-size:12px;
  color:var(--text-muted);
  letter-spacing:2px;
  text-transform:uppercase;
  margin-top:4px;
  font-family:"Jost","Inter",sans-serif;
  font-weight:500;
}
.header-meta{
  text-align:right;
  font-family:"Jost","Inter",sans-serif;
  font-size:13px;
  color:var(--text-muted);
}
.header-meta .date{
  font-weight:600;
  color:var(--text-soft);
  font-size:14px;
}
.header-meta .weather{margin-top:2px}

/* ===== Навигация ===== */
.main-nav{
  background:var(--brand);
  color:#fff;
  margin-top:14px;
}
.main-nav .container{padding:0 20px}
.main-nav ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
.main-nav li{position:relative}
.main-nav a{
  display:block;
  padding:14px 18px;
  color:#fff;
  font-family:"Jost","Inter",sans-serif;
  font-weight:500;
  font-size:14px;
  letter-spacing:0.3px;
  text-transform:uppercase;
  transition:background .15s;
}
.main-nav a:hover,.main-nav a.active{
  background:var(--brand-dark);
  color:var(--accent);
  text-decoration:none;
}
.main-nav a::after{content:""}

/* ===== Hero на главной ===== */
.hero{
  padding:32px 0 24px;
  border-bottom:1px solid var(--border);
}
.hero-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:32px;
}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero-lead{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:box-shadow .2s;
}
.hero-lead:hover{box-shadow:0 4px 12px rgba(139,30,30,.08)}
.hero-lead-img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:var(--bg-alt);
}
.hero-lead-body{padding:20px 24px 24px}
.hero-lead .cat-badge{margin-bottom:12px}
.hero-lead h2{
  font-family:"Jost","Inter",sans-serif;
  font-size:28px;
  font-weight:700;
  line-height:1.2;
  margin-bottom:12px;
}
.hero-lead h2 a{color:var(--text)}
.hero-lead h2 a:hover{color:var(--brand);text-decoration:none}
.hero-lead .excerpt{
  font-size:16px;
  color:var(--text-soft);
  line-height:1.55;
}
.hero-side{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.hero-side-item{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:4px;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  transition:box-shadow .2s;
}
.hero-side-item:hover{box-shadow:0 3px 10px rgba(0,0,0,.06)}
.hero-side-item .cat-badge{font-size:11px}
.hero-side-item h3{
  font-family:"Jost","Inter",sans-serif;
  font-size:17px;
  font-weight:600;
  line-height:1.25;
}
.hero-side-item h3 a{color:var(--text)}
.hero-side-item h3 a:hover{color:var(--brand);text-decoration:none}
.hero-side-item .meta{font-size:12px;color:var(--text-muted)}

/* ===== Cat badge ===== */
.cat-badge{
  display:inline-block;
  background:var(--brand);
  color:#fff;
  font-family:"Jost","Inter",sans-serif;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1px;
  padding:4px 10px;
  border-radius:2px;
}
.cat-badge.accent{background:var(--accent)}
.cat-badge.ghost{
  background:transparent;
  color:var(--brand);
  border:1px solid var(--brand);
}

/* ===== Сетка рубрик ===== */
.section{padding:32px 0;border-bottom:1px solid var(--border)}
.section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom:20px;
  border-bottom:2px solid var(--brand);
  padding-bottom:8px;
}
.section-head h2{
  font-family:"Jost","Inter",sans-serif;
  font-size:22px;
  font-weight:700;
  color:var(--brand);
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.section-head a{font-size:13px;font-family:"Jost","Inter",sans-serif;color:var(--text-muted)}
.section-head a:hover{color:var(--brand)}

.article-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
@media (max-width:900px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.article-grid{grid-template-columns:1fr}}
.card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:4px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:box-shadow .2s,transform .2s;
}
.card:hover{
  box-shadow:0 6px 18px rgba(139,30,30,.1);
  transform:translateY(-2px);
}
.card-img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  background:var(--bg-alt);
}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .cat-badge{align-self:flex-start;font-size:10px}
.card h3{
  font-family:"Jost","Inter",sans-serif;
  font-size:18px;
  font-weight:600;
  line-height:1.25;
  color:var(--text);
}
.card h3 a{color:inherit}
.card h3 a:hover{color:var(--brand);text-decoration:none}
.card .excerpt{font-size:14px;color:var(--text-soft);line-height:1.5;flex:1}
.card .meta{
  font-size:12px;
  color:var(--text-muted);
  font-family:"Jost","Inter",sans-serif;
  margin-top:auto;
}

/* Список статей (вертикально) */
.list-articles{display:flex;flex-direction:column;gap:0}
.list-item{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--border);
}
.list-item:last-child{border-bottom:none}
@media (max-width:600px){.list-item{grid-template-columns:1fr}}
.list-item-img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:var(--bg-alt);
  border-radius:3px;
}
.list-item-body{display:flex;flex-direction:column;gap:6px}
.list-item h3{
  font-family:"Jost","Inter",sans-serif;
  font-size:20px;
  font-weight:600;
  line-height:1.25;
}
.list-item h3 a{color:var(--text)}
.list-item h3 a:hover{color:var(--brand);text-decoration:none}
.list-item .excerpt{font-size:14px;color:var(--text-soft);line-height:1.55}
.list-item .meta{font-size:12px;color:var(--text-muted);font-family:"Jost","Inter",sans-serif}

/* ===== Статья ===== */
.article-page{padding:32px 0 48px}
.article-layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:48px;
}
@media (max-width:900px){.article-layout{grid-template-columns:1fr}}
.article-main{max-width:760px;margin:0 auto;width:100%}
.article-header{margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:20px}
.article-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.article-title{
  font-family:"Jost","Inter",sans-serif;
  font-size:38px;
  font-weight:800;
  line-height:1.15;
  color:var(--text);
  margin-bottom:14px;
  letter-spacing:-0.5px;
}
@media (max-width:600px){.article-title{font-size:28px}}
.article-excerpt{
  font-size:18px;
  color:var(--text-soft);
  line-height:1.5;
  font-style:italic;
  border-left:3px solid var(--accent);
  padding-left:14px;
  margin-bottom:16px;
}
.article-meta{
  display:flex;
  align-items:center;
  gap:14px;
  font-family:"Jost","Inter",sans-serif;
  font-size:13px;
  color:var(--text-muted);
}
.article-meta .date{color:var(--text-soft);font-weight:600}
.article-featured-img{
  width:100%;
  max-height:520px;
  object-fit:cover;
  border-radius:4px;
  margin-bottom:24px;
}
.article-content{
  font-size:18px;
  line-height:1.75;
  color:var(--text);
}
.article-content p{margin-bottom:18px}
.article-content h2,.article-content h3{
  font-family:"Jost","Inter",sans-serif;
  margin-top:28px;margin-bottom:12px;
  line-height:1.25;
}
.article-content h2{font-size:24px}
.article-content h3{font-size:20px}
.article-content img{
  border-radius:4px;
  margin:18px 0;
  border:1px solid var(--border);
}
.article-content figcaption{
  font-size:13px;
  color:var(--text-muted);
  text-align:center;
  font-style:italic;
  margin-top:-12px;margin-bottom:18px;
}
.article-content blockquote{
  border-left:4px solid var(--brand);
  padding:8px 18px;
  margin:18px 0;
  background:var(--bg-alt);
  font-style:italic;
  color:var(--text-soft);
}
.article-content ul,.article-content ol{padding-left:24px;margin-bottom:18px}
.article-content li{margin-bottom:6px}
.article-content a{color:var(--brand);text-decoration:underline}
.article-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--border);
}
.article-tags .tag{
  font-family:"Jost","Inter",sans-serif;
  font-size:12px;
  background:var(--bg-alt);
  color:var(--text-soft);
  padding:4px 10px;
  border-radius:2px;
  border:1px solid var(--border);
}
.article-tags .tag:hover{background:var(--brand);color:#fff;text-decoration:none;border-color:var(--brand)}

/* Sidebar */
.sidebar{display:flex;flex-direction:column;gap:24px}
.sidebar-block{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:4px;
  padding:18px;
}
.sidebar-block h3{
  font-family:"Jost","Inter",sans-serif;
  font-size:16px;
  font-weight:700;
  color:var(--brand);
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin-bottom:14px;
  padding-bottom:8px;
  border-bottom:2px solid var(--brand);
}
.sidebar-popular{display:flex;flex-direction:column;gap:12px}
.sidebar-popular-item{display:flex;gap:10px;align-items:flex-start}
.sidebar-popular-item .num{
  font-family:"Jost","Inter",sans-serif;
  font-weight:800;
  font-size:24px;
  color:var(--accent);
  line-height:1;
  width:24px;
  flex-shrink:0;
}
.sidebar-popular-item .title{
  font-family:"Jost","Inter",sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.3;
}
.sidebar-popular-item .title a{color:var(--text)}
.sidebar-popular-item .title a:hover{color:var(--brand);text-decoration:none}
.sidebar-popular-item .date{font-size:11px;color:var(--text-muted);margin-top:2px}

/* ===== Footer ===== */
.site-footer{
  background:var(--text);
  color:#cfcfcf;
  padding:42px 0 24px;
  margin-top:32px;
}
.site-footer .container{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:32px;
}
@media (max-width:800px){.site-footer .container{grid-template-columns:1fr 1fr}}
.footer-brand h3{
  font-family:"Jost","Inter",sans-serif;
  color:#fff;
  font-size:22px;
  margin-bottom:10px;
}
.footer-brand p{font-size:14px;line-height:1.6}
.footer-col h4{
  font-family:"Jost","Inter",sans-serif;
  color:var(--accent);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:12px;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.footer-col a{color:#cfcfcf;font-size:14px}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{
  border-top:1px solid #444;
  margin-top:32px;
  padding-top:18px;
  font-size:13px;
  color:#9a9a9a;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
}
.footer-bottom a{color:#9a9a9a}

/* ===== Breadcrumbs ===== */
.breadcrumbs{
  font-family:"Jost","Inter",sans-serif;
  font-size:13px;
  color:var(--text-muted);
  padding:14px 0;
}
.breadcrumbs a{color:var(--text-muted)}
.breadcrumbs a:hover{color:var(--brand)}
.breadcrumbs span.sep{margin:0 8px;color:var(--border)}

/* ===== Page header ===== */
.page-header{
  padding:24px 0 14px;
  border-bottom:2px solid var(--brand);
  margin-bottom:24px;
}
.page-header h1{
  font-family:"Jost","Inter",sans-serif;
  font-size:32px;
  font-weight:800;
  color:var(--brand);
  letter-spacing:-0.3px;
}

/* ===== Pagination ===== */
.pagination{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:32px;
  font-family:"Jost","Inter",sans-serif;
}
.pagination a,.pagination span{
  display:inline-block;
  padding:8px 14px;
  border:1px solid var(--border);
  border-radius:3px;
  font-size:14px;
  color:var(--text-soft);
  background:var(--bg-card);
}
.pagination a:hover{background:var(--brand);color:#fff;border-color:var(--brand);text-decoration:none}
.pagination .current{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ===== About / static ===== */
.static-content{
  max-width:760px;
  margin:0 auto;
  padding:24px 0 48px;
}
.static-content h2{
  font-family:"Jost","Inter",sans-serif;
  color:var(--brand);
  margin-top:24px;margin-bottom:12px;
}
.static-content p{margin-bottom:14px}

/* ===== Mobile nav ===== */
.menu-toggle{display:none}
@media (max-width:768px){
  .menu-toggle{
    display:block;
    background:transparent;
    border:0;
    color:#fff;
    font-size:24px;
    padding:10px;
    cursor:pointer;
  }
  .main-nav .container{position:relative}
  .main-nav ul{
    display:none;
    flex-direction:column;
    position:absolute;
    top:100%;left:0;right:0;
    background:var(--brand);
    z-index:50;
    box-shadow:0 4px 12px rgba(0,0,0,.2);
  }
  .main-nav ul.open{display:flex}
  .main-nav a{padding:12px 20px}
  .header-meta{display:none}
}
