/*
 * STOP SMOKE — публичные брендовые страницы (новости, книга «Умный Щит»).
 * Тёмная тема лэндинга, шрифт Ruberoid. Подключается из 'self' (assets/).
 * Кастомный CSS оправдан: сохраняет визуальный стиль лэндинга (тёмная тема),
 * который недостижим стандартными компонентами Bootstrap.
 */
@font-face { font-family:'Ruberoid'; src:url('/fonts/Ruberoid-Regular.woff2') format('woff2'),url('/fonts/Ruberoid-Regular.woff') format('woff'); font-weight:400; font-display:swap; }
@font-face { font-family:'Ruberoid'; src:url('/fonts/Ruberoid-Medium.woff2') format('woff2'),url('/fonts/Ruberoid-Medium.woff') format('woff'); font-weight:500; font-display:swap; }
@font-face { font-family:'Ruberoid'; src:url('/fonts/Ruberoid-SemiBold.woff2') format('woff2'),url('/fonts/Ruberoid-SemiBold.woff') format('woff'); font-weight:600; font-display:swap; }
@font-face { font-family:'Ruberoid'; src:url('/fonts/Ruberoid-Bold.woff2') format('woff2'),url('/fonts/Ruberoid-Bold.woff') format('woff'); font-weight:700; font-display:swap; }

:root { --navy:#071222; --navy2:#0e1c30; --red:#F14A41; --muted:#c3c9d1; }
* { box-sizing:border-box; }
body { margin:0; background:radial-gradient(1200px 600px at 80% -10%, #12243d 0%, var(--navy) 55%) fixed, var(--navy); color:#eef2f7; font-family:'Ruberoid',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; min-height:100vh; }
a { color:inherit; }
img { max-width:100%; }
.wrap { max-width:1140px; margin:0 auto; padding:0 20px; }

/* ---------- Шапка ---------- */
.site-header { position:sticky; top:0; z-index:100; background:rgba(4,11,22,.92); backdrop-filter:blur(8px); border-bottom:1px solid rgba(255,255,255,.08); }
.site-header .bar { display:flex; align-items:center; gap:18px; height:64px; }
.site-header .brand img { height:32px; display:block; }
.site-nav { display:flex; align-items:center; gap:20px; margin-left:auto; }
.site-nav a.navlink { color:#fff; text-decoration:none; font-size:14px; font-weight:500; letter-spacing:.02em; opacity:.9; white-space:nowrap; }
.site-nav a.navlink:hover, .site-nav a.navlink.active { color:var(--red); opacity:1; }
.btn { display:inline-block; padding:8px 16px; border-radius:10px; text-decoration:none; font-weight:600; font-size:14px; white-space:nowrap; line-height:1; }
.btn-login { border:1px solid rgba(255,255,255,.6); color:#fff; }
.btn-reg { background:var(--red); color:#fff; box-shadow:0 6px 18px rgba(241,74,65,.35); }

/* Языковой список (единый для всех публичных страниц) */
details.lang { position:relative; }
details.lang > summary { list-style:none; cursor:pointer; color:#fff; font-weight:600; font-size:14px; padding:8px 12px; border:1px solid rgba(255,255,255,.25); border-radius:10px; user-select:none; }
details.lang > summary::-webkit-details-marker { display:none; }
details.lang > summary::after { content:' ▾'; opacity:.7; }
details.lang[open] > summary { border-color:var(--red); }
details.lang .menu { position:absolute; right:0; top:calc(100% + 6px); background:var(--navy2); border:1px solid rgba(255,255,255,.12); border-radius:10px; overflow:hidden; min-width:120px; box-shadow:0 12px 30px rgba(0,0,0,.4); }
details.lang .menu a { display:block; padding:10px 16px; text-decoration:none; color:#fff; font-size:14px; }
details.lang .menu a:hover { background:rgba(241,74,65,.18); }
details.lang .menu a.cur { color:var(--red); font-weight:700; }
@media (max-width:860px){
    .site-nav { gap:12px; }
    .site-nav .navlink.hide-sm { display:none; }
}

/* ---------- Подвал ---------- */
.site-footer { border-top:1px solid rgba(255,255,255,.08); margin-top:60px; padding:32px 0; text-align:center; }
.site-footer img { height:34px; opacity:.9; }
.site-footer p { color:var(--muted); font-size:13px; margin:12px 0 0; }
.flash { border-radius:10px; padding:12px 16px; margin:18px 0; font-size:14px; }
.flash.success { background:rgba(40,167,69,.18); border:1px solid rgba(40,167,69,.5); }
.flash.danger { background:rgba(241,74,65,.18); border:1px solid rgba(241,74,65,.5); }

/* ==================== Книга «Умный Щит» (/shield) ==================== */
/* Контент-страницы (книга + продукты) — во всю ширину сайта, текст не «по середине». */
body.content-page .wrap { max-width:1320px; }
.shield-article { max-width:none; margin:0; padding:8px 0 24px; }
.shield-article p { line-height:1.75; margin:0 0 1rem; color:#e7ecf3; font-size:16px; }
.shield-article br + br { display:none; } /* убираем избыточные пустые строки исходника */

/* Заголовки разделов «N. …» */
.shield-section { font-size:clamp(22px,3vw,30px) !important; font-weight:700; color:#fff !important; margin:2.5rem 0 1.2rem !important; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.12); }
/* Жирные подзаголовки/вступления */
.shield-strong { font-weight:600; color:#fff !important; font-size:1.05rem; }
.shield-toc-title { font-weight:600; color:#fff !important; margin-top:1.2rem; }

/* Герой: обложка книги + заголовок + содержание */
.shield-article > div:first-child { display:flex; gap:2rem; align-items:center; flex-wrap:wrap; margin-bottom:2.5rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.1); }
.shield-article > div:first-child > img { width:280px; max-width:60%; border-radius:14px; box-shadow:0 20px 50px rgba(0,0,0,.45); }
.shield-article > div:first-child > div { flex:1 1 320px; min-width:260px; }
.shield-article > div:first-child .shield-strong { display:block; font-size:clamp(26px,4vw,40px); line-height:1.1; letter-spacing:-.01em; margin-bottom:1rem; }

/* Стрелка-маркер в разделе «Статьи по теме» */
.shield-article img[src*="arrowred"] { width:auto; height:.9em; vertical-align:baseline; margin-right:.5rem; float:none !important; }
.shield-article a { color:var(--red); text-decoration:none; }
.shield-article a:hover { text-decoration:underline; }

/* Центрированные абзацы (подпись под кнопкой «Купить») */
.shield-center { text-align:center; }

/* Кнопка «Купить» (CTA книги) */
.shield-buy { display:block; width:max-content; max-width:100%; margin:2.5rem auto 1rem; padding:16px 60px; border-radius:14px; background:var(--red); color:#fff !important; font-size:20px; font-weight:700; text-decoration:none !important; text-align:center; box-shadow:0 10px 30px rgba(241,74,65,.45); transition:transform .15s ease, box-shadow .15s ease; }
.shield-buy:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(241,74,65,.55); }

/* Таблица статистики: тёмная, читаемая, со скроллом по горизонтали на мобильных */
.shield-article .table-responsive { margin:1.5rem 0; overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:10px; border:1px solid rgba(255,255,255,.12); }
.shield-table { width:100%; border-collapse:collapse; color:#e7ecf3; font-size:14px; }
.shield-table th, .shield-table td { border:1px solid rgba(255,255,255,.12); padding:8px 10px; text-align:center; white-space:nowrap; }
.shield-table th { background:rgba(241,74,65,.15); color:#fff; font-weight:600; position:sticky; top:0; }
.shield-table tr:nth-child(even) td { background:rgba(255,255,255,.03); }

@media (max-width:575.98px){
    .shield-article > div:first-child > img { width:200px; margin:0 auto; }
    .shield-article p { font-size:15px; }
}
