/* ==========================================================================
   БК Проверка — дизайн-система.
   Палитра, шрифты и компоненты перенесены из structure_v2.html.
   Никакого обязательного JS: весь контент в HTML.
   ========================================================================== */

:root{
  --ink:#0f1b2d; --muted:#5b6b80; --line:#dbe3ee; --bg:#ffffff; --soft:#f3f6fa;
  --brand:#0b6e4f; --brand2:#12a37a; --accent:#f2b705; --warn:#c2410c; --blue:#2563eb;
  --radius:10px; --radius-lg:14px; --wrap:1180px;
  --font:Manrope,"Noto Sans","DejaVu Sans","Segoe UI",system-ui,-apple-system,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);
  font-size:16px;line-height:1.5;
}
img{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.visually-hidden{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(--ink);color:#fff;padding:10px 14px;z-index:99}
.skip-link:focus{left:8px;top:8px}

/* ---------- Шапка ---------- */
/* Одна строка: бренд · меню · 18+, выравнивание по центру по вертикали.
   Меню на десктопе — строго без переноса; на мобильных — <details> без JS. */
.site-header{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20}
.header-inner{display:flex;flex-wrap:nowrap;align-items:center;gap:14px;min-height:58px}
.brand-link{display:flex;flex:none;align-items:center;gap:10px;color:#fff;font-weight:800;letter-spacing:-.3px}
.brand-link:hover{text-decoration:none}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--brand2);color:#04231a;font-weight:800;font-size:14px}
.brand-text{display:flex;flex-direction:column;line-height:1.05;font-size:17px}
.brand-text small{font-size:10.5px;font-weight:600;color:#a7f3d0;text-transform:uppercase;letter-spacing:1px}
.site-nav-desktop{display:flex;flex-wrap:nowrap;align-items:center;gap:0;margin-left:auto;min-width:0}
.site-nav-desktop a{display:block;color:#dbe3ee;font-size:13px;font-weight:600;padding:8px 8px;border-radius:8px;white-space:nowrap}
.site-nav-desktop a:hover,.site-nav-desktop a[aria-current="page"]{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
.site-nav-mobile{display:none}
.site-nav-toggle{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;color:#fff;font-size:14px;font-weight:700;padding:8px 12px;border:1px solid rgba(255,255,255,.35);border-radius:9px}
.site-nav-toggle::-webkit-details-marker{display:none}
.site-nav-toggle::marker{content:""}
.site-nav-mobile[open] .site-nav-toggle{background:rgba(255,255,255,.12)}
.age-badge{flex:none;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800}
@media (max-width:900px){
  .site-nav-desktop{display:none}
  .site-nav-mobile{display:block;position:relative;margin-left:auto}
  .site-nav-mobile-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:40;min-width:236px;max-height:70vh;overflow:auto;background:var(--ink);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:2px;box-shadow:0 16px 34px rgba(0,0,0,.4)}
  .site-nav-mobile-panel a{color:#dbe3ee;font-size:14.5px;font-weight:600;padding:11px 12px;border-radius:8px;white-space:normal}
  .site-nav-mobile-panel a:hover,.site-nav-mobile-panel a[aria-current="page"]{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
}

/* ---------- Хлебные крошки — внутри общего контейнера .wrap ---------- */
.crumbs{background:var(--soft);border-bottom:1px solid var(--line);font-size:13px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:9px 0}
.crumbs li+li::before{content:"›";color:var(--muted);margin-right:6px}
.crumbs a{color:var(--muted)}
.crumbs [aria-current="page"]{color:var(--ink);font-weight:600}

/* ---------- Сетка страницы ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start;padding-top:24px;padding-bottom:48px}
.article{min-width:0}
.sidebar{position:sticky;top:76px;display:flex;flex-direction:column;gap:16px}
@media (max-width:980px){
  .layout{grid-template-columns:1fr}
  .sidebar{position:static}
}

/* ---------- Заголовки и текст ---------- */
.kicker{font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--brand);margin:0 0 8px}
h1{font-size:34px;line-height:1.15;margin:0 0 12px;font-weight:800;letter-spacing:-.7px}
h2{font-size:24px;line-height:1.25;margin:34px 0 10px;font-weight:800;letter-spacing:-.3px}
h3{font-size:18px;margin:22px 0 8px;font-weight:700}
h4{font-size:16px;margin:18px 0 6px;font-weight:700}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin:0 0 6px}
blockquote{margin:0 0 16px;padding:12px 16px;background:var(--soft);border-left:4px solid var(--brand2);border-radius:0 var(--radius) var(--radius) 0;color:#243447}
hr{border:0;border-top:1px solid var(--line);margin:28px 0}
code{background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:14px}
mark.todo{background:#fff3c4;color:#7a5a00;border-radius:4px;padding:1px 4px;font-weight:600;white-space:normal}

.meta-line{font-size:13.5px;color:var(--muted);margin:0 0 4px}
.article-head{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}

/* ---------- BLUF ---------- */
.bluf{background:#e8f6f0;border:1px solid #bfe6d6;border-left:5px solid var(--brand);border-radius:var(--radius-lg);padding:16px 18px;margin:0 0 24px}
.bluf-label{margin:0 0 6px;font-size:11.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--brand)}
.bluf p{margin:0 0 8px;font-size:17px;line-height:1.55}
.bluf p:last-child{margin-bottom:0}

/* ---------- Таблицы ---------- */
/* Прокрутка — только внутри своего блока (.table-wrap) и с аккуратным скроллбаром;
   сама страница по горизонтали не едет. */
.table-wrap{max-width:100%;overflow-x:auto;margin:0 0 20px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9fb0c6 var(--soft)}
.table-wrap::-webkit-scrollbar{height:8px}
.table-wrap::-webkit-scrollbar-track{background:var(--soft);border-radius:999px}
.table-wrap::-webkit-scrollbar-thumb{background:#9fb0c6;border-radius:999px}
.table-wrap::-webkit-scrollbar-thumb:hover{background:#7d90a8}
table{width:100%;border-collapse:collapse;font-size:14.5px}
caption{caption-side:top;text-align:left;font-size:12.5px;color:var(--muted);padding:0 0 6px}
th{text-align:left;font-weight:700;color:var(--muted);border-bottom:2px solid var(--ink);padding:9px 10px;vertical-align:bottom}
td{border-bottom:1px solid var(--line);padding:9px 10px;vertical-align:top}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tbody tr:hover{background:var(--soft)}

/* ---------- Бейджи, оценки, метки ---------- */
.tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--soft);color:var(--muted);margin:0 4px 4px 0}
.tag.g{background:#dcf5ec;color:var(--brand)}
.tag.y{background:#fff3c4;color:#8a6500}
.tag.r{background:#fde4d6;color:var(--warn)}
.tag.b{background:#dde8ff;color:var(--blue)}
.stars{color:var(--accent);letter-spacing:-.5px;font-weight:700;white-space:nowrap}

/* ---------- Карточки ---------- */
.card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;background:#fff}
.card.soft{background:var(--soft);border-color:transparent}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:820px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
.stat{font-size:26px;font-weight:800;color:var(--brand);line-height:1.1}
.stat small{display:block;font-size:12.5px;color:var(--muted);font-weight:600;margin-top:4px}

/* ---------- Рейтинговая таблица ---------- */
/* Десктоп: таблица целиком помещается в контейнер, перенос текста в ячейках,
   фиксированные ширины колонок — горизонтальной прокрутки нет. */
.rating-wrap{overflow-x:visible}
.rating-table{table-layout:fixed;width:100%;font-size:13.5px}
.rating-table col.c-num{width:5%}
.rating-table col.c-bk{width:25%}
.rating-table col.c-score{width:14%}
.rating-table col.c-out{width:18%}
.rating-table col.c-margin{width:16%}
.rating-table col.c-cta{width:22%}
.rating-table th,.rating-table td{padding:8px 8px;overflow-wrap:anywhere;word-break:break-word}
.rating-table thead th{font-size:12.5px;letter-spacing:.3px;text-transform:uppercase}
.rating-table .bk-cell{display:flex;align-items:center;gap:10px;min-width:0}
.rating-table .bk-cell>span{min-width:0}
.bk-logo{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--ink);color:#fff;font-size:12px;font-weight:800}
.bk-name{font-weight:700;display:block}
.bk-sub{display:block;font-size:12.5px;color:var(--muted)}
.rating-table .bk-sub{font-size:12px;overflow-wrap:anywhere}
.rating-table .stars{white-space:normal;overflow-wrap:anywhere}
.btn{display:inline-block;background:var(--brand);color:#fff;font-weight:700;border-radius:9px;padding:10px 16px;text-align:center;white-space:nowrap}
.btn:hover{background:#095c42;text-decoration:none;color:#fff}
.btn[aria-disabled="true"],.btn.is-disabled{background:var(--soft);color:var(--muted);border:1px dashed var(--line);cursor:not-allowed}
.rating-table .btn{display:block;width:100%;white-space:normal;padding:8px 10px;font-size:12.5px;line-height:1.3}
/* Длинная подпись disabled-кнопки не должна вылезать за сайдбар. */
.cta-box .btn{display:block;width:100%;white-space:normal;overflow-wrap:anywhere}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
/* Планшет (600–1000px): компактная таблица, всё ещё без прокрутки. */
@media (max-width:1000px){
  .rating-table{font-size:12.5px}
  .rating-table th,.rating-table td{padding:6px 6px}
  .rating-table .btn{font-size:11.5px;padding:7px 8px}
}

/* ---------- Вердикт, плюсы/минусы, оценка по блокам ---------- */
.verdict{background:var(--soft);border-radius:var(--radius-lg);padding:16px 18px;margin:0 0 20px}
.verdict h3{margin-top:0}
.proscons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px}
.proscons .card h3{margin-top:0}
.pros li::marker{color:var(--brand)}
.cons li::marker{color:var(--warn)}
@media (max-width:700px){.proscons{grid-template-columns:minmax(0,1fr)}}
.scores{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 20px}
.scores .score{background:var(--soft);border-radius:var(--radius);padding:12px;text-align:center;min-width:0;overflow-wrap:anywhere}
.scores .score b{display:block;font-size:19px;color:var(--brand)}
.scores .score span{font-size:12.5px;color:var(--muted)}
@media (max-width:820px){.scores{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.scores{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Предупреждения и заглушки ---------- */
.notice{background:#fff7e0;border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:12px 16px;margin:0 0 20px;font-size:15px}
.notice.warn{background:#fdece3;border-left-color:var(--warn)}
.notice.stub{background:#eef2f7;border-left-color:var(--muted)}
.ad-plate{background:#fff7e0;border:1px dashed #d9a400;color:#7a5a00;border-radius:var(--radius);padding:10px 14px;font-size:13.5px;margin:0 0 20px}

/* ---------- Меню кластера бренда ---------- */
.cluster-nav{border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 12px;margin:0 0 22px;background:#fff}
.cluster-nav ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.cluster-nav a{display:inline-block;font-size:13.5px;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--soft);color:var(--ink)}
.cluster-nav a[aria-current="page"]{background:var(--brand);color:#fff}
.cluster-nav a:hover{text-decoration:none;background:#e2eaf4}

/* ---------- FAQ ---------- */
.faq{margin:32px 0 0;border-top:1px solid var(--line);padding-top:18px}
.faq h2{margin-top:0}
.faq-item{border-bottom:1px solid var(--line);padding:12px 0}
.faq-item:last-child{border-bottom:0}
.faq-item h3{margin:0 0 6px;font-size:17px}
.faq-item p{margin:0;color:#243447}

/* ---------- Источники ---------- */
.sources{margin:32px 0 0;border-top:1px solid var(--line);padding-top:18px}
.sources h2{font-size:19px;margin-top:0}
.sources ol{font-size:14.5px;color:var(--muted)}
.sources .todo-text{color:var(--warn)}

/* ---------- Сайдбар ---------- */
.side-block{border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px}
.side-block h2{font-size:16px;margin:0 0 10px}
.side-block ul{list-style:none;margin:0;padding:0}
.side-block li{margin:0 0 8px;font-size:14.5px}
.side-block .side-note{font-size:12.5px;color:var(--muted);margin:0}
.cta-box{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:16px}
.cta-box h2{color:#fff;font-size:16px;margin:0 0 8px}
.cta-box p{margin:0 0 12px;font-size:13.5px;color:#cbd5e1}

/* ---------- Подвал ---------- */
.site-footer{background:var(--ink);color:#cbd5e1;margin-top:auto;padding:28px 0}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.footer-brand{color:#fff;font-weight:800;margin:0 0 8px}
.footer-col p{margin:0 0 8px;font-size:13.5px}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:0 0 6px}
.site-footer a{color:#a7f3d0}
.footer-small{font-size:12.5px;color:#8fa1b8}
@media (max-width:820px){.footer-inner{grid-template-columns:1fr}}

/* ---------- Мобильная закреплённая кнопка ---------- */
.mobile-cta{display:none}
@media (max-width:760px){
  .mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);padding:9px 12px;box-shadow:0 -4px 14px rgba(15,27,45,.08)}
  .mobile-cta .btn{width:100%;display:block}
  .mobile-cta .mobile-note{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:5px}
  body{padding-bottom:76px}
  h1{font-size:27px}
  h2{font-size:21px}
}

/* ---------- Мобильные карточки вместо таблицы рейтинга ---------- */
@media (max-width:760px){
  .rating-wrap{overflow-x:visible}
  .rating-table{font-size:14px}
  .rating-table colgroup{display:none}
  .rating-table thead{display:none}
  .rating-table,.rating-table tbody,.rating-table tr,.rating-table td{display:block;width:100%}
  .rating-table tr{border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px;margin:0 0 12px;background:#fff}
  .rating-table td{border:0;padding:4px 0}
  .rating-table td[data-label]::before{content:attr(data-label) ": ";color:var(--muted);font-weight:600;font-size:12.5px}
  .rating-table .bk-cell{margin-bottom:6px}
  .rating-table td.cell-cta{padding-top:10px}
  .rating-table .btn{width:100%;display:block;font-size:14px;padding:10px 14px}
}

/* ---------- Мобильные аккордеоны длинных блоков карточки ---------- */
/* Чистый HTML+CSS (скрытый checkbox + label), без JavaScript.
   На десктопе разделы всегда раскрыты, контент остаётся в HTML. */
.m-acc{display:block}
.m-acc-cb{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.m-acc-head{display:block}
.m-acc-body{display:block}
@media (max-width:760px){
  .m-acc{border-top:1px solid var(--line);margin-top:4px}
  .m-acc-head{position:relative;cursor:pointer;padding-right:34px}
  .m-acc-head h2{margin:14px 0 10px}
  .m-acc-head::after{content:"▾";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--brand);font-size:18px;line-height:1}
  .m-acc-cb:checked ~ .m-acc-head::after{content:"▴"}
  .m-acc-cb:not(:checked) ~ .m-acc-body{display:none}
  .m-acc-cb:focus-visible ~ .m-acc-head{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
}
