
/* ====== Theme ====== */
:root{
  --bg: #0b0b0d;
  --panel: #121216;
  --soft: #17171c;
  --text: #e9e9ee;
  --muted: #a7a7b0;
  --brand: #e34b4b;     /* красный под тему сайта */
  --brand-2: #ffd166;   /* акцент/золото */
  --radius: 14px;
  --shadow: 0 12px 30px rgba(0,0,0,.45);
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  font: 16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}

/* ====== Helpers ====== */
.container{max-width:1120px;margin:0 auto;padding:0 16px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img{display:block;max-width:100%;height:auto;border-radius:12px}

/* ====== Header ====== */
.site-header{padding:12px 0;border-bottom:1px solid #1e1e24;background:linear-gradient(180deg,#0f0f13,transparent)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:700;color:#fff;text-decoration:none}
.back{font-size:.95rem;color:var(--muted)}
.breadcrumb{margin:8px 0 0;color:var(--muted);font-size:.9rem}
.breadcrumb a{color:var(--muted)}
.breadcrumb span{opacity:.6;margin:0 6px}

/* ====== Hero ====== */
.hero{padding:28px 0 8px}
.hero__inner{
  display:grid;
  grid-template-columns: 1.3fr .9fr;
  gap:24px;
  align-items:center;
}
.hero__copy h1{font-size:clamp(28px,4.5vw,44px);line-height:1.1;margin:0 0 8px}
.hero__copy p{color:var(--muted);margin:0 0 12px}
.meta{display:flex;gap:12px;padding:0;margin:0;list-style:none;color:var(--brand-2)}
.hero__media img{box-shadow: var(--shadow)}

/* ====== Layout ====== */
.layout{
  display:grid;
  grid-template-columns: minmax(0,1fr) 320px;
  gap:28px;
  padding:28px 0 64px;
}

/* ====== Article ====== */
.article{min-width:0}
.article h2{font-size:clamp(22px,3.6vw,30px);margin:28px 0 8px}
.article p{color:#ddd}
.article ol,.article ul{padding-left:20px}
.article li{margin:6px 0}

/* TOC */
.toc{background:var(--soft);border:1px solid #222;border-radius:var(--radius);padding:16px;margin:0 0 18px}
.toc strong{display:block;margin:0 0 8px}
.toc a{color:#fff}
.toc ol{margin:0;padding-left:18px}

/* Cards & grids */
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{
  background:var(--panel);
  border:1px solid #1e1e24;
  border-radius:var(--radius);
  padding:16px;
  box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover{
  transform: translateY(-4px);
  border-color: #2a2a35;
  box-shadow: 0 18px 42px rgba(227,75,75,.18);
}
.card.soft{background:var(--soft)}
.check li::marker{content:"✔  "}
.dash li::marker{content:"—  "}

/* Callout */
.callout{
  border-left:4px solid var(--brand);
  padding:12px 14px;
  background: linear-gradient(90deg, rgba(227,75,75,.1), transparent 60%);
  border-radius:10px;
  margin:14px 0;
}
.callout.info strong{color:var(--brand)}

/* FAQ */
.faq details{
  background:var(--panel);
  border:1px solid #1f1f25;
  border-radius:10px;
  padding:12px 14px;
  margin:10px 0;
}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:10px 0 0}

/* CTA */
.btn{
  display:inline-block;
  background:var(--brand);
  color:#fff;
  padding:10px 14px;
  border-radius:10px;
  font-weight:600;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(227,75,75,.25)}

/* ====== Sidebar ====== */
.sidebar{display:flex;flex-direction:column;gap:18px}
.widget h3{margin:0 0 8px}
.facts{margin:0;padding-left:16px}
.links{margin:0;padding-left:16px}

/* ====== Footer ====== */
.site-footer{border-top:1px solid #1f1f25;padding:24px 0;color:var(--muted);font-size:.95rem}

/* ====== Responsive ====== */
@media (max-width: 960px){
  .layout{grid-template-columns: 1fr}
  .sidebar{order:-1}
  .layout{
    padding: 0 10px;
  }
}
@media (max-width: 760px){
  .hero__inner{grid-template-columns:1fr;gap:16px}
  .meta{flex-wrap:wrap}
  .grid.two{grid-template-columns:1fr}
}
