/* ================= 00. ШРИФТЫ (локальные, у донора текстовых нет) ============ */
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('/media/bvt/fonts/archivo-latin-ext-500.7301cde3.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('/media/bvt/fonts/archivo-latin-500.65449f16.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('/media/bvt/fonts/archivo-latin-ext-500.7301cde3.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('/media/bvt/fonts/archivo-latin-500.65449f16.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url('/media/bvt/fonts/sourceserif4-latin-ext-400.ae2b8105.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url('/media/bvt/fonts/sourceserif4-latin-400.4c4d14ec.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url('/media/bvt/fonts/sourceserif4-latin-ext-400.ae2b8105.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url('/media/bvt/fonts/sourceserif4-latin-400.4c4d14ec.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* ================= 01. ТОКЕНЫ ============================================== */
:root{
  --canvas:#e7e3da; --paper:#fffdf9; --tint:#f4f0e6; --tint2:#eef3f8;
  /* --ink3 на бумаге даёт 5,2:1. Прежний #6f7c8c держал 4,19 — ниже порога 4.5
     (R3 гейта, подпись «Imagem do arquivo editorial», 28.09.2026) */
  --ink:#17212e; --ink2:#4d5a6b; --ink3:#5f6b79; --line:#d9d3c6; --line2:#c4bcab;
  --azul:#1c4f86; --azul-d:#11314f; --azul-l:#dbe6f2;
  --amber:#d99414; --amber-d:#8a5a06; --amber-l:#fbf0d8; --cta-ink:#1e1503;
  --ok:#1d7a4c; --warn:#b3301f;
  --w-text:760px; --w-wide:888px; --w-frame:1120px;
  --pad:20px; --gap:22px; --sheet:34px;
  --ff-h:'Archivo','Segoe UI',Arial,sans-serif;
  --ff-b:'Source Serif 4',Georgia,'Times New Roman',serif;
  --ff-m:'Archivo','Segoe UI',Arial,sans-serif;
}
@media (max-width:760px){ :root{ --pad:14px; --gap:0px; --sheet:16px; } }

/* ================= 02. СБРОС СЛОЯ ДОНОРА (равная специфичность, лист ниже) == */
:where(.bvt-page) body,:where(.bvt-page) html{background:var(--canvas);}
:where(.bvt-page) header,:where(.bvt-page) footer,:where(.bvt-page) nav,
:where(.bvt-page) aside,:where(.bvt-page) section{background:none;border:0;box-shadow:none;}
:where(.bvt-page) h1,:where(.bvt-page) h2,:where(.bvt-page) h3,:where(.bvt-page) h4{
  color:var(--ink);background:none;border:0;}
:where(.bvt-page) h2:after,:where(.bvt-page) h2:before,
:where(.bvt-page) h3:after,:where(.bvt-page) h3:before{content:none;}
:where(.bvt-page) a{color:var(--azul);}
:where(.bvt-page) figcaption{position:static;}
:where(.bvt-page) table{border-collapse:collapse;}
:where(.bvt-page) hr{border:0;border-top:1px solid var(--line);margin:22px 0;}

html,body{margin:0;padding:0;}
body.bvt-page{background:var(--canvas);color:var(--ink);
  font-family:var(--ff-b);font-size:17px;line-height:1.62;
  -webkit-text-size-adjust:100%;}
.bvt-page *,.bvt-page *:before,.bvt-page *:after{box-sizing:border-box;}
.bvt-page img{max-width:100%;height:auto;}
.bvt-page i.fa,.bvt-page i[class^="fa-"],.bvt-page span.fa{display:none;}
.bvt-page .header,.bvt-page .footer,.bvt-page .floating-buttons,
.bvt-page .cookie-container,.bvt-page .header__burger-nav,
.bvt-page .site_support,.bvt-page .gdpr_confirm{display:none;}
/* Коробки темы. ⚠ `.grid-x` — флексбокс донора: если снять с `.cell` max-width,
   flex-basis:auto растягивает ячейку до max-content (абзац в одну строку 2617px).
   Поэтому сетку донора гасим ЦЕЛИКОМ в блок, а ячейке оставляем max-width:100%. */
.bvt-page .grid-x,.bvt-page .grid-y,.bvt-page .fixed-contain{display:block;}
.bvt-page .wrapper,.bvt-page .container,.bvt-page .grid-x,.bvt-page .cell,
.bvt-page .column,.bvt-page .columns,.bvt-page .main-content{max-width:100%;width:auto;
  margin-left:0;margin-right:0;padding-left:0;padding-right:0;float:none;}
.bvt-page .wrapper,.bvt-page .container{max-width:none;}
/* ⚠ Утилиты отбивок донора помечены `!important` (`.px-4{padding-left:1.5rem!important}`,
   при root 18px это 27 px с каждой стороны), и сброс сетки выше их НЕ перебивает.
   Замер на телефоне 390: колонка сжималась до 284 px, витрине оставалось 62 px на
   имя бренда и текст шёл столбиком по одному слову (R21) при зелёном R7. Поля
   страницы держит `--sheet`, донорские внутри колонки только дублируют его.
   Единственное место в листе, где `!important` оправдан: утилиту иначе не перебить. */
.bvt-page .px-1,.bvt-page .px-2,.bvt-page .px-3,.bvt-page .px-4,
.bvt-page .pl-3,.bvt-page .pl-4,.bvt-page .pr-3,.bvt-page .pr-4{
  padding-left:0!important;padding-right:0!important;}
.bvt-page #content h2,.bvt-page #content h3,.bvt-page #content p,
.bvt-page #content ul,.bvt-page #content ol{max-width:none;width:auto;}

/* ================= 03. ШАПКА ============================================== */
.bvt-hd{background:var(--azul-d);color:#fff;}
.bvt-hd a{color:#fff;text-decoration:none;}
/* space-between, а не margin-left:auto у слогана: его гасит собственное же
   правило `.bvt-page p{margin:0 0 15px}` — оно специфичнее (0,1,1) > (0,1,0) */
.bvt-hd__top{max-width:var(--w-frame);margin:0 auto;padding:14px var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:18px;}
.bvt-hd__logo{display:flex;align-items:center;gap:10px;font-family:var(--ff-h);
  font-weight:700;font-size:21px;letter-spacing:-.2px;line-height:1.1;}
.bvt-hd__logo svg{display:block;width:34px;height:34px;flex:0 0 34px;}
.bvt-hd__logo b{color:var(--amber);font-weight:700;}
.bvt-hd .bvt-hd__tag{font-family:var(--ff-h);font-size:12px;line-height:1.25;color:#b8cbe0;
  margin:0;text-align:right;max-width:340px;}
.bvt-hd__tag strong{display:block;color:#fff;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;font-size:11px;}

/* полоса рубрик: тот же центрирующий контейнер, что логотип (R20) */
.bvt-nav{background:var(--azul);border-top:1px solid #2a639f;}
.bvt-nav__in{max-width:var(--w-frame);margin:0 auto;padding-left:var(--pad);
  padding-right:var(--pad);}
/* специфичность (0,3,1) — донорские `#page ul`/`.wrapper ul` слабее */
body .bvt-hd .bvt-nav ul{list-style:none;margin-top:0;margin-bottom:0;
  padding-left:0;padding-right:0;text-indent:0;}
/* R20: первый пункт меню встаёт на ту же вертикаль, что логотип строкой выше —
   отрицательный отступ гасит собственный padding ссылки (13px 15px) */
.bvt-nav__l1{display:flex;flex-wrap:nowrap;align-items:stretch;margin-left:-15px;}
.bvt-nav__l1>li{position:relative;}
.bvt-nav__l1>li>a{display:block;font-family:var(--ff-h);font-weight:500;font-size:15px;
  letter-spacing:.01em;padding:13px 15px;white-space:nowrap;
  border-bottom:3px solid transparent;}
.bvt-nav__l1>li>a:hover,.bvt-nav__l1>li>a:focus{border-bottom-color:var(--amber);
  background:#17457a;}
.bvt-nav__l1>li[data-bvt-on]>a{border-bottom-color:var(--amber);}
/* текущая страница в обвязке: ссылка ОСТАЁТСЯ ссылкой (так у порталов верхней
   страны), но помечена `aria-current` — и глазом, и читалкой */
.bvt-nav__l1>li>a[aria-current]{border-bottom-color:var(--amber);font-weight:700;}
body .bvt-hd .bvt-nav__dd a[aria-current]{font-weight:700;background:var(--amber-l);}
.bvt-ft a[aria-current]{font-weight:700;}
.bvt-nav__dd{position:absolute;left:0;top:100%;z-index:60;min-width:246px;
  background:var(--paper);border:1px solid var(--line2);
  box-shadow:0 14px 34px rgba(17,49,79,.24);
  visibility:hidden;opacity:0;}
.bvt-nav__l1>li:hover>.bvt-nav__dd,.bvt-nav__l1>li:focus-within>.bvt-nav__dd{
  visibility:visible;opacity:1;}
.bvt-nav__dd li{border-top:1px solid var(--line);}
.bvt-nav__dd li:first-child{border-top:0;}
/* цвет пунктов подменю задан ЯВНО и специфичнее общей перекраски шапки */
body .bvt-hd .bvt-nav__dd a{display:block;padding:10px 14px;font-family:var(--ff-h);
  font-size:14.5px;line-height:1.35;color:var(--ink)!important;}
body .bvt-hd .bvt-nav__dd a:hover,body .bvt-hd .bvt-nav__dd a:focus{
  background:var(--amber-l);color:var(--azul-d)!important;}

/* ⚠ «Fechar menu» — элемент ТОЛЬКО мобильный. Правило display:block стоит внутри
   @media(max-width:900px); без базового display:none надпись видна на десктопе. */
.bvt-burger,.bvt-burger__lbl,.bvt-nav__close{display:none;}

/* ================= 04. КРОШКИ + КИКЕР ==================================== */
.bvt-crumb{max-width:var(--w-frame);margin:0 auto;padding:10px var(--pad) 0;
  font-family:var(--ff-h);font-size:12.5px;color:var(--ink2);}
.bvt-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.bvt-crumb li:not(:first-child):before{content:"›";margin-right:6px;color:var(--ink3);}
.bvt-crumb a{color:var(--ink2);text-decoration:none;}
.bvt-crumb a:hover{text-decoration:underline;}

/* ================= 05. ЛИСТ КОНТЕНТА (холст/лист) ======================== */
.bvt-page #content{max-width:calc(var(--w-wide) + var(--sheet)*2);margin:var(--gap) auto 34px;
  background:var(--paper);border:1px solid var(--line);
  box-shadow:0 1px 0 #fff inset,0 10px 30px rgba(23,33,46,.07);
  padding:var(--sheet);}
.bvt-page--text #content{max-width:calc(var(--w-text) + var(--sheet)*2);}
.bvt-page #content-area{max-width:none;padding:0;margin:0;}
.bvt-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;}
.bvt-grid>*{min-width:0;}
.bvt-grid:has(>.bvt-rail){grid-template-columns:minmax(0,1fr) 258px;}
.bvt-col{min-width:0;}

/* полоса заголовка: кикер + H1 + мета, ≤ 1/3 первого экрана */
.bvt-head{border-bottom:2px solid var(--azul);padding-bottom:14px;margin-bottom:20px;}
.bvt-kicker{font-family:var(--ff-h);font-size:11.5px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--azul);margin:0 0 6px;}
.bvt-page h1,.bvt-page h1.page-title,.bvt-page h1.entry-title{
  font-family:var(--ff-h);font-weight:700;font-size:35px;line-height:1.14;
  letter-spacing:-.6px;margin:0 0 8px;hyphens:manual;overflow-wrap:break-word;}
.bvt-meta{font-family:var(--ff-h);font-size:12.5px;color:var(--ink2);margin:0;
  display:flex;flex-wrap:wrap;gap:6px 14px;}

/* спек-строка (манера boardgamegeek: данные сразу под именем) */
.bvt-spec{font-family:var(--ff-m);font-size:13px;line-height:1.5;margin:12px 0 0;
  display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);}
/* боковые поля ячеек — не меньше 16 px: ниже этого текст «липнет к краю» (gate_padding) */
.bvt-spec div{background:var(--tint);padding:8px 16px;flex:1 1 auto;min-width:0;}
.bvt-spec dt{display:block;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink3);margin:0 0 2px;}
.bvt-spec dd{display:block;margin:0;font-weight:700;color:var(--ink);font-size:14px;}

/* ⛔ Чипов быстрых ссылок на сайте НЕТ: их работу делают блоки карточек кластера
   (08b, C08.1) и врезка перелинковки в статьях, а правило скина без разметки — это
   красный C09.31. Появится разметка — вернётся и правило (обводка-пилюля свободна). */

/* ================= 06. ТЕКСТ СТАТЬИ ====================================== */
.bvt-page h2,.bvt-page h3,.bvt-page h4{font-family:var(--ff-h);line-height:1.2;
  hyphens:manual;overflow-wrap:break-word;}
.bvt-page h2{font-size:25px;font-weight:700;letter-spacing:-.3px;margin:34px 0 12px;
  padding-top:12px;border-top:3px solid var(--azul);}
.bvt-page h3{font-size:19.5px;font-weight:700;margin:26px 0 8px;}
.bvt-page h4{font-size:16.5px;font-weight:700;margin:20px 0 6px;color:var(--ink2);}
.bvt-page p{margin:0 0 15px;}
.bvt-page #content ul,.bvt-page #content ol{margin:0 0 16px;padding-left:22px;}
.bvt-page #content li{margin:0 0 6px;}
/* список донора, где каждый пункт — только знак платёжки: столбик из 9 буллитов
   с иконкой 20 px читается как брак. Разворачиваем в ряд (/888-casino/, 28.09.2026) */
.bvt-page #content ul:has(>li>img:only-child){display:flex;flex-wrap:wrap;
  align-items:center;gap:10px 14px;list-style:none;padding-left:0;margin:10px 0 18px;}
.bvt-page #content ul:has(>li>img:only-child)>li{margin:0;}
.bvt-page #content ul:has(>li>img:only-child) img{display:block;max-height:26px;width:auto;}
/* ⚠ ПРАВИЛО 4. `#content` внутри `:where()` весит 0 ⇒ правило (0,1,1): сильнее голого
   `a` донора, но СЛАБЕЕ его же `.secondary-oplist-responsive-table table .btn.cta`
   (0,3,1), который красит кнопку проданного блока в белый. С `.bvt-page #content a`
   (1,1,1) надпись «Jogar agora» становилась тёмной на красном (снимок 28.09.2026). */
.bvt-page :where(#content) a{color:var(--azul);text-decoration:underline;
  text-underline-offset:2px;text-decoration-thickness:1px;}
.bvt-page :where(#content) a:hover{color:var(--amber-d);}
/* кнопки проданного блока подчёркиваться не должны — вид донора сохраняется */
.bvt-page :where(#content) a.btn,.bvt-page :where(#content) a.cta,
.bvt-page :where(#content) .opPlay a,.bvt-page :where(#content) .opLogo a{
  text-decoration:none;}
/* ⚠ ПРАВИЛО 4 наоборот: НАДПИСЬ НА ЦВЕТНОЙ КНОПКЕ ДОНОРА — это тоже «без изменений».
   У донора кнопка `.opPlay a.cta.btn` красная (#f00) с белой надписью, но её белый
   цвет живёт в правиле `.secondary-oplist-responsive-table table .btn.cta` — оно бьёт
   только по ОДНОМУ из двух его же блоков. В `table.opTable` правило не срабатывает,
   и надпись брал наш `a{color:var(--azul)}`: тёмно-синее на красном = 2,09 (R3 на
   главной, 29.09.2026). То же у ленты «Bónus sem Depósito» на #f5330d. Возвращаем
   донорский белый на его же плашках: селектор (0,2,1) сильнее нашего (0,1,1). */
.bvt-page .opPlay a,.bvt-page a.btn,.bvt-page a.cta,
.bvt-page .ribbonWrapper,.bvt-page .ribbonWrapper span{color:#fff;}
/* ⚠ БЕЛОГО НА КРАСНОМ НЕ ХВАТАЕТ: у донора `.btn{background:red}` — это ровно 4,00,
   а лента `/pokerstars-casino/` идёт инлайном `style="background:#f5330d"` — 3,92.
   Оба ниже порога 4,5, то есть белую надпись вернуть мало, надо темнее плашку.
   Берём свой `--warn` (#b3301f) — тот же «красный призыв», но 6,25 под белым.
   Плашка перекрашивается, АДРЕС И ТЕКСТ КНОПКИ НЕ ТРОГАЮТСЯ (ПРАВИЛО 4: переносится
   ссылка, а не байты цвета). Инлайн бьётся только `!important`, и он тут ТОЛЬКО
   на фон — лента ровно одна на весь сайт (перепись 29.09.2026). */
.bvt-page a.btn,.bvt-page .opPlay a.btn,.bvt-page .opPlay a.cta{background:var(--warn);}
.bvt-page .ribbonWrapper[style]{background:var(--warn)!important;}
/* `blockquote p` у донора — #8a8a8a, это 3,40:1. Правило (0,1,2) перебивает его же
   (0,0,2); `!important` здесь разрешён — он ТОЛЬКО на цвет (R3, 28.09.2026) */
.bvt-page blockquote,.bvt-page blockquote p{margin-top:0;
  font-style:italic;color:var(--ink2)!important;}
.bvt-page blockquote{margin:20px 0;padding:2px 0 2px 18px;border-left:4px solid var(--amber);}
/* серые классы донора, не попавшие в проданный блок */
.bvt-page #content .subheader,.bvt-page #content .text-muted,
.bvt-page #content .text-secondary,.bvt-page #content .entry-posted-on,
.bvt-page #content cite,.bvt-page #content figcaption{color:var(--ink2)!important;}
.bvt-page pre{max-width:100%;overflow-x:auto;}
.bvt-page pre code{white-space:pre-wrap;overflow-wrap:anywhere;}
.bvt-page small{font-size:12.5px;color:var(--ink2);}

/* маркеры списков — свой знак, не готовый набор */
.bvt-page #content .bvt-col ul:not(.bvt-ft__list) li::marker{color:var(--amber-d);}

/* ================= 07. КАРТИНКИ ========================================== */
.bvt-page figure{margin:0 0 18px;}
.bvt-fig{float:right;width:clamp(170px,32%,300px);margin:4px 0 14px 20px;}
.bvt-fig img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  border:1px solid var(--line2);}
.bvt-figc{font-family:var(--ff-h);font-size:12px;line-height:1.4;color:var(--ink2);
  margin-top:6px;}
.bvt-figcr{display:block;font-size:11px;color:var(--ink3);margin-top:2px;}

/* ================= 08. ТАБЛИЦЫ =========================================== */
.bvt-tbl{margin:20px 0;}
.bvt-tbl__hint{display:none;font-family:var(--ff-h);font-size:12px;color:var(--ink2);
  margin-bottom:6px;}
/* ⚠ ПРАВИЛО 4: проданный рейтинг-блок (.opTable/.newOpTable) переносится БЕЗ изменений.
   Поэтому оформление висит на `.bvt-tbl` — обёртке, которую ставит только dress_tables()
   и только НЕ проданным таблицам. Селектор `#content table` красил и шапку баннера:
   пустые `th` донора вылезали тремя тёмными квадратами (снимок 28.09.2026). */
/* ⚠ РАМКА У САМОЙ ТАБЛИЦЫ И ПРОЗРАЧНЫЕ СТРОКИ — не украшение, а R23. Лист донора
   красит `tr` в #f1f1f1, наш лист — `td` чётной строки в --tint, и полотно таблицы
   белое на бумаге #fffdf9: 1,02 у таблицы и 1,12 у строки, то есть коробки на
   странице физически не видно (13 находок на /legislacao-jogo/, 29.09.2026).
   Зебра остаётся на ЯЧЕЙКЕ (у неё своя граница), донорский фон строки снимается,
   а таблица получает контур — по нему её и видно на бумаге. */
.bvt-tbl table{width:100%;border-collapse:collapse;font-family:var(--ff-h);
  font-size:14px;background:#fff;border:1px solid var(--line2);}
/* ⛔ СЕЛЕКТОР СЧИТАЕТСЯ, А НЕ УГАДЫВАЕТСЯ: у донора `tbody tr:nth-child(2n)` — это
   (0,1,2), а `tbody,tfoot,thead{background-color:#fefefe}` — (0,0,1) на «почти
   бумагу». Первая правка дала `.bvt-tbl tr` (0,1,1) и молча проиграла: строка
   осталась #f1f1f1 (проба 29.09.2026 после пересборки). Держим (0,1,3). */
.bvt-tbl table tbody,.bvt-tbl table thead,.bvt-tbl table tfoot,
.bvt-tbl table tbody tr,.bvt-tbl table thead tr,.bvt-tbl table tfoot tr{
  background:transparent;}
.bvt-tbl caption{display:block;text-align:left;font-family:var(--ff-h);
  font-weight:700;font-size:15px;color:var(--ink);margin-bottom:8px;}
.bvt-tbl th,.bvt-tbl td{padding:10px 16px;border:1px solid var(--line);
  text-align:left;vertical-align:top;height:auto!important;}
.bvt-tbl th{background:var(--azul-d);color:#fff!important;font-weight:700;
  font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;}
.bvt-tbl thead:empty,.bvt-tbl tr:empty{display:none;}
.bvt-tbl tbody tr:nth-child(even) td{background:var(--tint);}
.bvt-tbl--wide{overflow-x:auto;}
.bvt-tbl--wide table{width:max-content;min-width:100%;max-width:none;}
.bvt-tbl--wide th,.bvt-tbl--wide td{max-width:340px;}
.bvt-tbl--wide .bvt-tbl__hint{display:block;}

/* ================= 09. ВИДЖЕТЫ =========================================== */
.bvt-w{margin:26px 0;border:1px solid var(--line2);background:var(--tint2);}
/* у .bvt-w есть рамка ⇒ поля детей НЕ схлопываются наружу: без обнуления
   margin-top заголовка над тёмной плашкой оставалась пустая полоса в 34 px */
.bvt-w>:first-child{margin-top:0;}
.bvt-w>:last-child{margin-bottom:0;}
.bvt-page .bvt-w__h{margin:0;}
.bvt-w__h{display:flex;align-items:center;gap:9px;padding:11px 16px;
  background:var(--azul-d);color:#fff;font-family:var(--ff-h);font-weight:700;
  font-size:14.5px;letter-spacing:.02em;}
.bvt-w__h svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:var(--amber);
  stroke-width:1.9;}
.bvt-w__b{padding:16px;}
.bvt-w__note{font-family:var(--ff-h);font-size:11.5px;color:var(--ink2);
  padding:0 16px 12px;margin:0;}
/* ⚠ БЛОК КАРТОЧЕК КЛАСТЕРА ЖИВЁТ ВНЕ КОЛОНКИ. Точка вставки у 08b — перед подвалом,
   то есть снаружи `#content`, и рамку страницы ему никто не даёт: на 1440 секция
   разъезжалась во весь экран, заголовок и сноска упирались в край окна (R7 на 24
   адресах, 29.09.2026). Ширина берётся ТА ЖЕ, что у листа контента, иначе блок
   не встаёт в одну колонку с текстом над ним. */
.bvt-cl-w{max-width:calc(var(--w-wide) + var(--sheet)*2);margin-left:auto;margin-right:auto;}
.bvt-page--text .bvt-cl-w{max-width:calc(var(--w-text) + var(--sheet)*2);}
/* на узком экране `max-width` уже не держит: секция снова во весь экран, и коробки
   её детей (у них своё внутреннее поле, но не внешнее) упираются в край — R7 меряет
   КОРОБКУ, а не буквы. Отступ берём равным полю листа, чтобы блок встал в одну
   вертикаль с текстом над ним. */
@media (max-width:760px){
  .bvt-cl-w{margin-left:var(--sheet);margin-right:var(--sheet);}
}

/* 09a. карта Португалии */
.bvt-map{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start;}
.bvt-map svg{width:100%;height:auto;display:block;}
.bvt-map .bvt-map__land{fill:#e3ecf5;stroke:var(--azul);stroke-width:1.3;}
.bvt-map .bvt-map__pin{fill:var(--amber);stroke:var(--azul-d);stroke-width:1.1;}
.bvt-map ol{list-style:none;margin:0;padding:0;font-family:var(--ff-h);font-size:14px;}
.bvt-map li{display:flex;gap:10px;align-items:baseline;padding:7px 0;
  border-bottom:1px solid var(--line);}
.bvt-map li:last-child{border-bottom:0;}
.bvt-map__n{flex:0 0 22px;height:22px;display:inline-flex;align-items:center;
  justify-content:center;background:var(--azul-d);color:#fff!important;font-size:12px;
  font-weight:700;}
.bvt-map li>a{min-width:0;overflow-wrap:anywhere;}
.bvt-map__reg{margin-left:auto;padding-left:10px;color:var(--ink2);font-size:12.5px;
  white-space:nowrap;text-align:right;}

/* 09b. барометр платёжек / роллover — плотные строки-табло */
.bvt-bar{font-family:var(--ff-h);font-size:14px;}
.bvt-bar__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;
  padding:9px 0;border-bottom:1px solid var(--line);}
.bvt-bar__row:last-child{border-bottom:0;}
.bvt-bar__k{color:var(--ink2);}
.bvt-bar__v{font-weight:700;}
.bvt-sq{display:inline-flex;align-items:center;justify-content:center;min-width:44px;
  padding:4px 8px;background:var(--azul-d);color:#fff!important;font-family:var(--ff-h);
  font-weight:700;font-size:14px;}
.bvt-sq--amber{background:var(--amber);color:var(--cta-ink)!important;}

/* ================= 10. CTA И ПЛИТА БРЕНДА ================================ */
/* ⛔ СЕЛЕКТОР ПЕРЕЧИСЛЯЕТ ОБА ПОКОЛЕНИЯ ДОНОРА. `a.button` — первое (обзоры
   вроде `/888-casino/`), `a.btn` — второе (`/pokerstars-casino/`, одна страница).
   Пропущенное поколение не краснеет ни в одном гейте: кнопка остаётся кнопкой,
   только донорского тёмно-красного цвета посреди нашей янтарной вёрстки, и
   видно это лишь глазом на снимке 12.4a. */
.bvt-page #content a.bvt-cta,.bvt-page .button.green,.bvt-page a.button,
.bvt-page #content a.btn{
  display:inline-block;background:var(--amber);color:var(--cta-ink)!important;
  font-family:var(--ff-h);font-weight:700;font-size:15px;line-height:1.2;
  text-decoration:none;padding:12px 20px;border:0;border-bottom:3px solid var(--amber-d);
  border-radius:3px;text-shadow:none;}
.bvt-page #content a.bvt-cta:hover,.bvt-page .button.green:hover,.bvt-page a.button:hover,
.bvt-page #content a.btn:hover{
  background:#c58410;color:var(--cta-ink)!important;padding:12px 20px;}
.bvt-page .button.expanded{display:block;text-align:center;}
.bvt-cta__fine{font-family:var(--ff-h);font-size:11.5px;color:var(--ink2);margin:7px 0 0;}
/* Плита бренда второго поколения: сумма бонуса строкой, кнопка на всю ширину
   колонки, подзаголовки фактов — тем же капсом, что и остальные ярлыки скина. */
.bvt-page #content .btnWrap{margin:0 0 10px;}
.bvt-page #content .btnWrap>a.btn{display:block;text-align:center;}
.bvt-page #content p.bonus{font-family:var(--ff-h);font-weight:700;font-size:19px;
  color:var(--ink);margin:0 0 12px;}
.bvt-page #content .payments>.title,.bvt-page #content .software>.title,
.bvt-page #content .support>.title{font-family:var(--ff-h);font-weight:700;
  font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);
  margin:18px 0 8px;}

/* ================= 10b. ВИТРИНА (08) ====================================== */
/* Префикс `bvtv-` занят ТОЛЬКО витриной: иначе C11.4 считает витринами чужие блоки,
   а `gate_render.js` ищет ровно эти имена — корень `section.bvtv-wrap`, строки
   `.bvtv-list > li`, скрытый хвост `.bvtv-hid`, «показать все» `.bvtv-more`.
   Лист ОДИН на весь сайт и подключён везде: отдельным `<link>` витрина осталась бы
   без стилей, когда стадия каркаса снимет ссылку (casinoslog.com, R10 «фильтры не режут»).

   ⛔ Порядок правил значащий: 1) хвост скрыт, 2) ПОКАЗАТЬ подходящие под активный
   фильтр, 3) СПРЯТАТЬ не подходящие. Вес у (2) и (3) равный, пересечение двух фильтров
   работает только потому, что «спрятать» ниже. Переставишь — фильтры сложатся как «или».
   ⛔ Инпуты — прямые братья списка и стоят ДО `<ol>`: `~` работает только вперёд.
   ⛔ Ось добавляется ОДНОЙ правкой: список `AXES` в `bvt_08_crit.py` + четыре строки здесь.
   ⛔ Обводка-пилюля на сайте занята чипами быстрых ссылок (05.0р, «один приём — один тип»),
   поэтому факты и фильтры витрины — залитые прямоугольники, а номер — квадрат `.bvt-sq`. */
.bvtv-wrap{margin:26px 0 30px;container-type:inline-size;}
.bvtv-h2{scroll-margin-top:18px;}
.bvtv-sub{font-family:var(--ff-h);font-size:13px;color:var(--ink2);margin:0 0 12px;}
.bvtv-bar{display:flex;flex-wrap:wrap;gap:8px 9px;align-items:center;
  padding:11px 16px;background:var(--tint);border:1px solid var(--line2);border-bottom:0;}
.bvtv-bar-l{font-family:var(--ff-h);font-weight:700;font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink3);margin-right:2px;}
.bvtv-f,.bvtv-more{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;
  pointer-events:none;}
.bvtv-bar label{display:inline-flex;align-items:center;gap:7px;background:#fff;
  border:1px solid var(--line2);border-radius:2px;padding:5px 12px;cursor:pointer;
  font-family:var(--ff-h);font-size:13px;color:var(--ink);user-select:none;}
.bvtv-bar label:hover{border-color:var(--azul);color:var(--azul);}
.bvtv-bar label:before{content:"";width:9px;height:9px;border:1px solid var(--line2);}
.bvtv-list{list-style:none;margin:0;padding:0;}
/* Раскладка строки — ОБЛАСТЯМИ, а не порядком колонок: имя бренда вынесено из
   `.bvtv-body` прямым элементом грида, чтобы на телефоне оно встало рядом с плиткой
   знака, а не отдельным ярусом. На десктопе два ряда колонки 3 (имя, затем траст и
   факты) дают ту же картинку, что и прежняя вложенность. */
.bvtv-list>li{margin:0;display:grid;grid-template-columns:44px 176px minmax(0,1fr) 288px;
  grid-template-areas:"n logo name go" "n logo body go";
  gap:0 20px;align-items:center;min-height:150px;background:var(--paper);
  border:1px solid var(--line2);border-bottom:0;padding:14px 16px;}
.bvtv-list>li:last-child{border-bottom:1px solid var(--line2);}
.bvtv-list>li:nth-child(even){background:var(--tint);}
.bvtv-list>li.bvtv-top{border-left:4px solid var(--azul);padding-left:13px;}
.bvtv-n{grid-area:n;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;
  background:var(--azul-d);color:#fff;font-family:var(--ff-h);font-weight:700;font-size:16px;
  line-height:1;}
.bvtv-list>li.bvtv-top .bvtv-n{background:var(--amber);color:var(--cta-ink);}
/* ⛔ ПЛИТКА ЗНАКА: подложка БЕЛАЯ (R15 мерит её у родителя картинки), знак вписан
   целиком (`contain`). Холст файла 300×120 (2,5:1) — пропорция бокса обязана совпасть,
   иначе `contain` оставляет поля и длинная сторона знака падает ниже пола R15.
   Геометрия посчитана, а не на глаз: 176×70,4 минус поле 4 и рамка 1 = 166×60,4 ⇒
   знак 151×60 (пол 100 px, запас 51 %). */
.bvtv-logo{grid-area:logo;display:block;width:176px;aspect-ratio:5/2;background:#fff;
  border:1px solid var(--line);padding:4px;}
.bvtv-logo img{display:block;width:100%;height:100%;object-fit:contain;}
.bvtv-body{grid-area:body;min-width:0;}
/* ⛔ Поля внутренностей карточки — через `.bvt-page #content`: у донора
   `#content h3{margin:26px 0 8px}` и `#content p,#content ul{margin-bottom:15px}`
   (0,1,1) перебивают одноклассовое правило независимо от порядка листов. Замер до
   правки: имя несло 26 px сверху, траст 15 px снизу, чипы 16 px — 57 px пустоты
   в каждой строке и мобильная высота 362 px при полосе 150–290 (R9). */
.bvt-page #content .bvtv-name{grid-area:name;min-width:0;font-family:var(--ff-h);
  font-size:20px;font-weight:700;line-height:1.14;margin:0 0 3px;}
.bvtv-name a{color:var(--ink);text-decoration:none;}
.bvtv-name a:hover{color:var(--azul);text-decoration:underline;}
/* Интерлиньяж траста задан явно: донорский `#content p{line-height:2}` давал строке
   12,5 px высоту 24 px — семь пикселей пустоты в каждой строке витрины. */
.bvt-page #content .bvtv-tr{font-family:var(--ff-h);font-size:12.5px;line-height:1.45;
  color:var(--ink3);margin:0 0 6px;}
.bvt-page #content .bvtv-facts{display:flex;flex-wrap:wrap;gap:5px 6px;margin:0;
  padding:0;list-style:none;}
.bvt-page #content .bvtv-facts li{margin:0;font-family:var(--ff-h);font-size:12px;
  color:var(--ink2);background:var(--azul-l);padding:3px 9px;line-height:1.5;}
/* Панель оффера (08.4a): голая сумма рядом с кнопкой — брак. Подпись типа сверху,
   сумма крупным кеглем, механика и условия ниже. Боковое поле 16 px — ниже этого
   gate_padding пишет «текст у края» на каждой странице с витриной. */
.bvtv-go{grid-area:go;display:flex;flex-direction:column;gap:7px;text-align:center;}
.bvtv-offer{background:var(--amber-l);border:1px solid var(--line2);padding:7px 16px;}
.bvtv-ok{display:block;font-family:var(--ff-h);font-weight:700;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);}
.bvtv-ov{display:block;font-family:var(--ff-h);font-weight:700;font-size:19px;
  line-height:1.08;color:var(--amber-d);margin:1px 0 2px;}
.bvtv-om{display:block;font-family:var(--ff-h);font-size:12px;color:var(--ink2);
  line-height:1.35;}
.bvtv-oc{display:block;font-family:var(--ff-h);font-size:11.5px;color:var(--ink3);
  line-height:1.35;margin-top:2px;}
.bvtv-go a.bvt-cta{display:block;width:100%;text-align:center;}
.bvtv-go small{font-family:var(--ff-h);font-size:11px;color:var(--ink3);line-height:1.35;}
.bvtv-lbl{display:block;text-align:center;margin:14px 0 0;}
.bvtv-lbl span{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:var(--ff-h);font-weight:700;font-size:14px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--azul);background:#fff;
  border:2px solid var(--azul);padding:9px 22px;}
.bvtv-lbl span:hover{background:var(--azul-l);}
.bvtv-foot{font-size:12.5px;color:var(--ink2);margin:12px 0 0;line-height:1.55;}
/* 1) хвост скрыт до нажатия. `li.bvtv-hid` (0,1,1), иначе `display:grid` строки его
   перебивает и «показать все» мёртв */
.bvtv-list>li.bvtv-hid{display:none;}
.bvtv-more:checked~.bvtv-list>li.bvtv-hid{display:grid;}
.bvtv-more:checked~.bvtv-lbl{display:none;}
.bvtv-f:checked~.bvtv-lbl{display:none;}
/* 2) фильтр включён — показать подходящие, ВКЛЮЧАЯ скрытый хвост */
#bvtv-ax-f-dep10:checked~.bvtv-list>li.bvtv-x-f-dep10,
#bvtv-ax-f-pack1000:checked~.bvtv-list>li.bvtv-x-f-pack1000,
#bvtv-ax-f-sports:checked~.bvtv-list>li.bvtv-x-f-sports,
#bvtv-ax-f-wager35:checked~.bvtv-list>li.bvtv-x-f-wager35,
#bvtv-ax-soft-microgaming:checked~.bvtv-list>li.bvtv-x-soft-microgaming,
#bvtv-ax-pay-multibanco:checked~.bvtv-list>li.bvtv-x-pay-multibanco,
#bvtv-ax-f-fs250:checked~.bvtv-list>li.bvtv-x-f-fs250,
#bvtv-ax-f-ptsite:checked~.bvtv-list>li.bvtv-x-f-ptsite,
#bvtv-ax-pay-googlepay:checked~.bvtv-list>li.bvtv-x-pay-googlepay{display:grid;}
/* 3) и спрятать не подходящие — НИЖЕ (2), иначе два фильтра сложатся как «или» */
#bvtv-ax-f-dep10:checked~.bvtv-list>li:not(.bvtv-x-f-dep10),
#bvtv-ax-f-pack1000:checked~.bvtv-list>li:not(.bvtv-x-f-pack1000),
#bvtv-ax-f-sports:checked~.bvtv-list>li:not(.bvtv-x-f-sports),
#bvtv-ax-f-wager35:checked~.bvtv-list>li:not(.bvtv-x-f-wager35),
#bvtv-ax-soft-microgaming:checked~.bvtv-list>li:not(.bvtv-x-soft-microgaming),
#bvtv-ax-pay-multibanco:checked~.bvtv-list>li:not(.bvtv-x-pay-multibanco),
#bvtv-ax-f-fs250:checked~.bvtv-list>li:not(.bvtv-x-f-fs250),
#bvtv-ax-f-ptsite:checked~.bvtv-list>li:not(.bvtv-x-f-ptsite),
#bvtv-ax-pay-googlepay:checked~.bvtv-list>li:not(.bvtv-x-pay-googlepay){display:none;}
/* нажатая кнопка фильтра видна */
#bvtv-ax-f-dep10:checked~.bvtv-bar label[for="bvtv-ax-f-dep10"],
#bvtv-ax-f-pack1000:checked~.bvtv-bar label[for="bvtv-ax-f-pack1000"],
#bvtv-ax-f-sports:checked~.bvtv-bar label[for="bvtv-ax-f-sports"],
#bvtv-ax-f-wager35:checked~.bvtv-bar label[for="bvtv-ax-f-wager35"],
#bvtv-ax-soft-microgaming:checked~.bvtv-bar label[for="bvtv-ax-soft-microgaming"],
#bvtv-ax-pay-multibanco:checked~.bvtv-bar label[for="bvtv-ax-pay-multibanco"],
#bvtv-ax-f-fs250:checked~.bvtv-bar label[for="bvtv-ax-f-fs250"],
#bvtv-ax-f-ptsite:checked~.bvtv-bar label[for="bvtv-ax-f-ptsite"],
#bvtv-ax-pay-googlepay:checked~.bvtv-bar label[for="bvtv-ax-pay-googlepay"]{background:var(--azul);border-color:var(--azul);color:#fff;}
#bvtv-ax-f-dep10:checked~.bvtv-bar label[for="bvtv-ax-f-dep10"]:before,
#bvtv-ax-f-pack1000:checked~.bvtv-bar label[for="bvtv-ax-f-pack1000"]:before,
#bvtv-ax-f-sports:checked~.bvtv-bar label[for="bvtv-ax-f-sports"]:before,
#bvtv-ax-f-wager35:checked~.bvtv-bar label[for="bvtv-ax-f-wager35"]:before,
#bvtv-ax-soft-microgaming:checked~.bvtv-bar label[for="bvtv-ax-soft-microgaming"]:before,
#bvtv-ax-pay-multibanco:checked~.bvtv-bar label[for="bvtv-ax-pay-multibanco"]:before,
#bvtv-ax-f-fs250:checked~.bvtv-bar label[for="bvtv-ax-f-fs250"]:before,
#bvtv-ax-f-ptsite:checked~.bvtv-bar label[for="bvtv-ax-f-ptsite"]:before,
#bvtv-ax-pay-googlepay:checked~.bvtv-bar label[for="bvtv-ax-pay-googlepay"]:before{background:#fff;border-color:#fff;}
.bvtv-f:focus-visible~.bvtv-bar label,.bvtv-more:focus-visible~.bvtv-lbl span{
  outline:2px solid var(--azul);outline-offset:2px;}
/* Узкая колонка — складываемся по КОНТЕЙНЕРУ, не по экрану: та же витрина стоит и в
   полосе 888, и в колонке с рельсом (604). Плитка знака не уменьшается. */
@container (max-width:700px){
  .bvtv-list>li{grid-template-columns:40px 176px minmax(0,1fr);
    grid-template-areas:"n logo name" "body body body" "go go go";
    gap:10px 16px;min-height:0;}
  .bvtv-n{align-self:start;}
  .bvt-page #content .bvtv-name{margin:0;}
  .bvtv-go{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px;
    text-align:left;}
  .bvtv-offer{flex:1 1 210px;text-align:left;}
  .bvtv-go a.bvt-cta{flex:1 1 150px;width:auto;}
  .bvtv-go small{flex:1 1 100%;}
}
/* ⛔ R9 на телефоне: ярусов ТРИ, и порядок в них посчитан, а не на глаз.
   1) номер + плитка + ИМЯ: плитка 112 px оставляет имени 158 px (одна-две строки),
      знак выходит 104×42 — выше пола 90 px (R15) с запасом 15 %. Поле плитки 3 px,
      не 4: при 4 знак падает до 87 px и R15 краснеет на мобиле при зелёном десктопе.
   2) траст и факты — НА ВСЮ ширину (292 px): в колонке 158 px траст занимал 4–6 строк
      (72–96 px), а два чипа — 106 px; на всей ширине это 18 + 22 px.
   3) панель оффера тоже на всю ширину: в 56 % (177 px) условия ролловера вставали
      тремя строками. Итог 274 px вместо 444 при полосе 150–290. */
@container (max-width:430px){
  .bvtv-list>li{grid-template-columns:26px 112px minmax(0,1fr);
    grid-template-areas:"n logo name" "body body body" "go go go";
    gap:8px 10px;padding:12px;}
  .bvtv-list>li.bvtv-top{padding-left:9px;}
  .bvtv-n{width:24px;height:24px;font-size:13px;}
  .bvtv-logo{width:112px;padding:3px;}
  .bvt-page #content .bvtv-name{font-size:17px;margin:0;}
  .bvt-page #content .bvtv-tr{font-size:12px;margin:0 0 5px;}
  .bvtv-facts li:nth-child(n+3){display:none;}
  /* Панель и кнопка — каждая НА ВСЮ ширину. В два столбца (58/34 %) кнопка получает
     106 px и «Obter bónus» ломается на два слова в столбик (R21), а условия ролловера
     в 175 px встают тремя строками: панель 133 px против 73 px на всю ширину.
     Кнопка остаётся 45 px высотой — палец, а не 39 px «для высоты строки». */
  .bvtv-go{gap:5px 9px;}
  .bvtv-offer{flex:1 1 100%;padding:5px 12px;}
  .bvtv-ov{font-size:17px;line-height:1.05;}
  .bvtv-om,.bvtv-oc{font-size:11px;line-height:1.25;}
  .bvtv-go small{line-height:1.2;}
  .bvtv-go a.bvt-cta{flex:1 1 100%;padding:11px 12px;}
}

/* ---- кнопка-якорь на витрину из первого абзаца (08, владелец 28.09.2026) -------
   ⛔ НЕ красится цветом `/go/` (амбер): партнёрский уход и прокрутка внутри страницы —
   разные сущности. Азулежу на белом: #fff на #1c4f86 = 8,0:1 — посчитано.
   Прокрутка — css, без JS; у заголовка витрины свой `scroll-margin-top`. */
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
.bvt-jump{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:18px 0 22px;padding:13px 16px;background:var(--azul-l);
  border-left:4px solid var(--azul);}
.bvt-jump__t{font-family:var(--ff-h);font-size:13.5px;color:var(--azul-d);margin:0;
  flex:1 1 200px;}
.bvt-page #content a.bvt-jump__b{display:inline-block;background:var(--azul);
  color:#fff!important;font-family:var(--ff-h);font-weight:700;font-size:14.5px;
  line-height:1.2;text-decoration:none;padding:11px 18px;border:0;
  border-bottom:3px solid var(--azul-d);border-radius:3px;}
.bvt-page #content a.bvt-jump__b:hover{background:var(--azul-d);}

/* ================= 11. РЕЛЬС (на обзоре остаётся, вынесен из блока обзора) = */
.bvt-rail{min-width:0;font-family:var(--ff-h);}
.bvt-rail__box{border:1px solid var(--line2);background:var(--tint);padding:16px;
  margin-bottom:18px;}
.bvt-rail .review-thumbnail{background:#fff;border:1px solid var(--line);padding:16px;
  display:flex;align-items:center;justify-content:center;min-height:106px;}
.bvt-rail .review-thumbnail img{max-height:86px;width:auto;object-fit:contain;}
.bvt-rail h2,.bvt-rail .side-title{font-size:15px;margin:14px 0 8px;border-top:0;
  padding-top:0;}
.bvt-rail p{font-size:12.5px;color:var(--ink2);}

/* ================= 12. ЗА / ПРОТИВ ======================================= */
/* ⛔ Своей плашки «за/против» на обзорах НЕТ, и правила под неё тоже: минусы (T4)
   стоят в тексте обзора донора — перепись 29.09.2026 нашла их на 33 обзорах из 34.
   Назначать их своей плашкой не из чего: фактов по этим операторам в пуле нет,
   а «числа только из источника» (правило 5). Появятся факты — вернётся и плашка. */

/* ================= 13. ОГЛАВЛЕНИЕ (своё, свёрнутое) ====================== */
.bvt-toc{margin:20px 0;border:1px solid var(--line2);background:var(--tint);}
.bvt-toc>summary{cursor:pointer;font-family:var(--ff-h);font-weight:700;font-size:14.5px;
  padding:11px 16px;list-style:none;}
.bvt-toc>summary::-webkit-details-marker{display:none;}
.bvt-toc>summary:after{content:"+";float:right;color:var(--azul);font-weight:700;}
.bvt-toc[open]>summary:after{content:"\2212";}
.bvt-toc ol{margin:0;padding:0 16px 14px 34px;font-family:var(--ff-h);font-size:14px;}
.bvt-toc li{margin:5px 0;}

/* ================= 14. ЛЕНТА АНОНСОВ (блог/хабы) ========================= */
.bvt-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0;
  padding:0;list-style:none;}
.bvt-feed>li{display:flex;flex-direction:column;border:1px solid var(--line);
  background:#fff;}
.bvt-feed__txt{display:flex;flex-direction:column;flex:1;padding:14px;}
.bvt-feed__k{font-family:var(--ff-h);font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--azul);margin:0 0 6px;}
.bvt-feed h3{font-size:18px;margin:0 0 8px;}
.bvt-feed h3 a{text-decoration:none;color:var(--ink);}
.bvt-feed h3 a:hover{color:var(--azul);}
.bvt-feed p{font-size:14.5px;color:var(--ink2);margin:0 0 10px;}
/* ⚠ ЛИШНЮЮ ВЫСОТУ РЯДА ЗАБИРАЕТ АНОНС, А НЕ ВОЗДУХ. Высоту ряда задаёт самая
   длинная карточка, а `margin-top:auto` у меты сгоняло её вниз и всё лишнее
   превращалось в дыру посреди карточки: R24 «растянута в пустоту 84px в коробке
   310» на /blog/ и 64px на /blog/estrategia/ (29.09.2026). Мета и так последняя
   в колонке — прижимать её нечем, достаточно дать расти абзацу анонса. */
.bvt-feed__txt>p:not([class]){flex:1 1 auto;}
.bvt-feed__meta{margin-top:0;padding-top:12px;font-family:var(--ff-h);font-size:12px;
  color:var(--ink3);}

/* ================= 15. БЛОК ЦЕННОСТИ ===================================== */
.bvt-val{margin:26px 0;background:var(--azul-d);color:#fff;padding:20px var(--pad);}
.bvt-val h2{color:#fff;border-top:0;padding-top:0;margin:0 0 14px;font-size:20px;}
.bvt-val__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.bvt-val__i{display:flex;gap:10px;align-items:flex-start;}
.bvt-val__i svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:var(--amber);
  stroke-width:1.8;}
.bvt-val__n{display:block;font-family:var(--ff-h);font-weight:700;font-size:23px;
  line-height:1.1;color:var(--amber);}
.bvt-val__t{font-family:var(--ff-h);font-size:13px;color:#cfdced;}
.bvt-val__lnk{display:inline-block;margin-top:14px;font-family:var(--ff-h);font-weight:700;
  font-size:14.5px;color:var(--amber)!important;}

/* ================= 15b. ПОДПИСЬ РЕДАКЦИИ (09.28-п) ======================= */
/* ⛔ Поля внутренностей — через `.bvt-page #content`: у донора `#content p{margin-bottom:15px}`
   (0,1,1) перебивает одноклассовое правило независимо от порядка листов. */
.bvt-sig{margin:30px 0 4px;padding:16px 18px;background:var(--azul-l);
  border-left:4px solid var(--azul);display:flex;gap:14px;align-items:flex-start;}
.bvt-sig__m{width:34px;height:34px;flex:0 0 34px;color:var(--azul);}
.bvt-page #content .bvt-sig__h{font-family:var(--ff-h);font-weight:700;font-size:15px;
  color:var(--azul-d);margin:0 0 6px;letter-spacing:.01em;}
.bvt-page #content .bvt-sig p{font-size:14px;line-height:1.55;color:var(--ink2);margin:0 0 7px;}
.bvt-page #content .bvt-sig p:last-child{margin:0;}
.bvt-sig__f{font-family:var(--ff-h);}
/* ⚠ --ink3 держит 4,5 НА БУМАГЕ, а подпись редакции лежит на --azul-l (#dbe6f2):
   там тот же цвет даёт 4,30 — ниже порога на КАЖДОЙ странице сайта (R3, 29.09.2026).
   Порог проверяется против ФАКТИЧЕСКОЙ подложки, а не против бумаги. */
.bvt-sig__d{display:block;margin-top:4px;font-size:12.5px;color:var(--ink2);}
.bvt-ft__val{margin:0 0 8px;font-size:13px;line-height:1.5;color:#cfdced;}
.bvt-ft__val b{color:#fff;}

/* ================= 16. ВИДЖЕТЫ ВЛАДЕЛЬЦА (fortunida) ===================== */
#subscribe-form-target,#feedback-form{font-family:var(--ff-h);}
#subscribe-form-target input[aria-hidden="true"][tabindex="-1"],
#feedback-form input[aria-hidden="true"][tabindex="-1"]{left:0!important;pointer-events:none;}
#subscribe-form-target .subscribe-form-container,#feedback-form .feedback-form-container{
  border:1px solid var(--line2);background:var(--tint);}
#subscribe-form-target .subscribe-form-header,#feedback-form .feedback-form-header{
  color:var(--ink)!important;}
#subscribe-form-target .subscribe-form-submit,#feedback-form .feedback-form-submit{
  background:var(--amber)!important;color:var(--cta-ink)!important;
  font-family:var(--ff-h);font-weight:700;border:0!important;}
#subscribe-form-target .subscribe-form-privacy,#feedback-form .feedback-form-privacy{
  color:var(--ink2)!important;font-size:12px;}
#subscribe-form-target .subscribe-form-input,#feedback-form .feedback-form-input{
  color:var(--ink)!important;background:#fff!important;border:1px solid var(--line2)!important;}

/* ================= 17. ПОДВАЛ ============================================ */
.bvt-ft{background:var(--azul-d);color:#c5d3e2;font-family:var(--ff-h);font-size:14px;
  margin-top:40px;}
.bvt-ft a{color:#e4ecf5;text-decoration:none;}
.bvt-ft a:hover{color:var(--amber)!important;text-decoration:underline;}
.bvt-ft__trust{background:#0c2540;border-bottom:1px solid #1e4671;}
.bvt-ft__trust-in{max-width:var(--w-frame);margin:0 auto;padding:22px var(--pad);
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;}
.bvt-ft__trust p{margin:0 0 10px;line-height:1.55;color:#b6c8db;}
.bvt-ft__marks{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.bvt-ft__mark{display:flex;align-items:center;gap:8px;background:#14304f;
  border:1px solid #23507f;padding:8px 12px;font-size:12.5px;color:#dde7f2;}
.bvt-ft__mark svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:var(--amber);
  stroke-width:1.8;}
.bvt-ft__mark img{height:26px;width:auto;display:block;}
.bvt-ft__mark b{color:#fff;}
.bvt-ft__cols{max-width:var(--w-frame);margin:0 auto;padding:24px var(--pad);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.bvt-ft__h{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--amber);margin:0 0 10px;}
.bvt-ft__list{list-style:none;margin:0;padding:0;}
.bvt-ft__list li{margin:0 0 7px;line-height:1.4;}
.bvt-ft__svc{border-top:1px solid #1e4671;}
.bvt-ft__svc-in{max-width:var(--w-frame);margin:0 auto;padding:14px var(--pad);
  display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;}
.bvt-ft__base{border-top:1px solid #1e4671;}
.bvt-ft__base-in{max-width:var(--w-frame);margin:0 auto;padding:14px var(--pad);
  font-size:12.5px;color:#93a8bf;}

/* ================= 18. МОБИЛКА =========================================== */
@media (max-width:1040px){
  .bvt-grid:has(>.bvt-rail){grid-template-columns:minmax(0,1fr);}
  .bvt-val__g{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bvt-ft__cols{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .bvt-burger__lbl{display:flex;align-items:center;justify-content:center;
    width:46px;height:46px;margin-left:auto;cursor:pointer;flex:0 0 46px;
    border:1px solid #2f6198;background:#163d66;}
  .bvt-burger__lbl span{display:block;width:22px;height:2px;background:#fff;
    position:relative;}
  .bvt-burger__lbl span:before,.bvt-burger__lbl span:after{content:"";position:absolute;
    left:0;width:22px;height:2px;background:#fff;}
  .bvt-burger__lbl span:before{top:-7px;}
  .bvt-burger__lbl span:after{top:7px;}
  .bvt-hd__tag{display:none;}
  .bvt-nav{display:none;}
  .bvt-burger:checked ~ .bvt-nav{display:block;}
  .bvt-nav__in{padding-top:6px;padding-bottom:6px;}
  .bvt-nav__l1{display:block;margin-left:0;}
  .bvt-nav__l1>li{border-top:1px solid #2a639f;}
  .bvt-nav__l1>li:first-child{border-top:0;}
  .bvt-nav__l1>li>a{padding:13px 4px;font-size:16px;border-bottom:0;}
  .bvt-nav__dd{position:static;min-width:0;visibility:inherit;opacity:1;background:#17457a;
    border:0;box-shadow:none;padding-bottom:6px;}
  body .bvt-hd .bvt-nav__dd a{color:#e4ecf5!important;padding:11px 16px;min-height:44px;}
  body .bvt-hd .bvt-nav__dd a:hover,body .bvt-hd .bvt-nav__dd a:focus{
    background:#1c4f86;color:#fff!important;}
  .bvt-nav__close{display:block;padding:14px 4px;font-family:var(--ff-h);font-size:15px;
    color:#b8cbe0;border-top:1px solid #2a639f;}
}
@media (max-width:760px){
  body.bvt-page{font-size:16.5px;}
  .bvt-page #content{border-left:0;border-right:0;margin-top:0;}
  .bvt-page h1,.bvt-page h1.page-title,.bvt-page h1.entry-title{font-size:27px;}
  .bvt-page h2{font-size:21px;}
  .bvt-page h3{font-size:18px;}
  .bvt-fig{float:right;width:45%;margin:3px 0 12px 14px;}
  .bvt-map{grid-template-columns:minmax(0,1fr);}
  /* «Espinho · Chaves · Monte Gordo» одной строкой вылезала за экран на 36 px */
  .bvt-map li{flex-wrap:wrap;}
  .bvt-map__reg{white-space:normal;}
  .bvt-feed{grid-template-columns:minmax(0,1fr);}
  .bvt-val__g{grid-template-columns:minmax(0,1fr);}
  /* знак подписи на телефоне съедает 48 px ширины текста — прячем, подпись остаётся */
  .bvt-sig{padding:14px;gap:0;}
  .bvt-sig__m{display:none;}
  .bvt-ft__trust-in{grid-template-columns:minmax(0,1fr);}
  .bvt-ft__cols{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bvt-tbl--wide th,.bvt-tbl--wide td{max-width:260px;}
}

/* карточная раскладка таблиц: ≤640 все, широкие (6+) — всегда */
@media (max-width:640px){
  .bvt-page #content .bvt-tbl--card table,
  .bvt-page #content .bvt-tbl--card tbody,
  .bvt-page #content .bvt-tbl--card tr,
  .bvt-page #content .bvt-tbl--card td{display:block;width:auto;}
  .bvt-page #content .bvt-tbl--card thead{display:none;}
  .bvt-page #content .bvt-tbl--card tr{border:1px solid var(--line2);margin-bottom:12px;
    background:#fff;}
  .bvt-page #content .bvt-tbl--card td{border:0;border-bottom:1px solid var(--line);
    padding:9px 13px;}
  .bvt-page #content .bvt-tbl--card tr td:last-child{border-bottom:0;}
  .bvt-page #content .bvt-tbl--card td[data-bvt-l]:before{content:attr(data-bvt-l);
    display:block;font-family:var(--ff-h);font-size:10.5px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--ink3);margin-bottom:3px;}
  .bvt-page #content .bvt-tbl--card tbody tr:nth-child(even) td{background:transparent;}
  .bvt-tbl--card.bvt-tbl--wide{overflow-x:visible;}
  .bvt-tbl--card.bvt-tbl--wide table{width:100%;min-width:0;}
  .bvt-tbl--card .bvt-tbl__hint{display:none;}
}

/* ============ 17. ЗАМЕНА УРЕЗАННЫХ ДОНОРСКИХ ЗНАКОВ (этап 09) ==============
   Archivarix урезал донорские иконки до 20 px и оставил размер в имени файла,
   а разметка выводила их в 30–110 px. Знак рисуем сами, платёжку и бренд пишем
   словом. ⚠️ Селекторы с `#content`: донорский лист бьёт по `#content p img` и
   одноклассовое правило проигрывает специфичностью. */
.bvt-page .bvt-yn,.bvt-page #content .bvt-yn{display:inline-flex;align-items:center;
  justify-content:center;width:1.32em;height:1.32em;flex:0 0 auto;margin:0 .5em 0 0;
  vertical-align:-.26em;border-radius:50%;}
.bvt-page .bvt-yn svg,.bvt-page #content .bvt-yn svg{width:.82em;height:.82em;
  fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;
  stroke-linejoin:round;}
.bvt-page .bvt-yn--y{background:#e3f2e9;color:var(--ok);}
.bvt-page .bvt-yn--n{background:#fbe7e4;color:var(--warn);}
.bvt-page .bvt-yn--tel,.bvt-page .bvt-yn--sky,.bvt-page .bvt-yn--web,
.bvt-page .bvt-yn--mail{background:var(--azul-l);color:var(--azul);}
.bvt-page td .bvt-yn,.bvt-page #content td .bvt-yn{margin:0;}
.bvt-page .bvt-pay,.bvt-page #content .bvt-pay{display:inline-block;
  font-family:var(--ff-m);font-size:12.5px;line-height:1.5;letter-spacing:.02em;
  color:var(--ink2);background:var(--tint2);border:1px solid var(--line);
  border-radius:4px;padding:2px 8px;margin:0 4px 4px 0;white-space:nowrap;}
.bvt-page li>.bvt-pay:only-child{margin:0;}
.bvt-page .bvt-brand,.bvt-page #content .bvt-brand{font-family:var(--ff-h);
  font-weight:600;color:var(--ink);white-space:nowrap;}

/* ⛔ Индекса раздела на сайте НЕТ: сирот ноль (C09.18), детей хаба печатают блоки
   карточек кластера (08b). Правило без разметки — красный C09.31. */

/* ====== 18. БЛОК КАРТОЧЕК КЛАСТЕРА (этап 08b, C08.1) ======================
   ⛔ Коробка плитки — пол по R18 гейта рендера: 88x66 на десктопе и 78x60 на
   телефоне. Меньше нельзя: на casinowert.com плитка 46x46 принимала обложку
   страницы и файл 958 px рисовался 44 px. Колонка minmax(298px,1fr), а не 258 —
   иначе тексту карточки остаётся 150 px.
   ⛔ Заголовок и подпись внутри ссылки — БЛОЧНЫЕ span'ы: без display:block они
   читаются одной строкой («…and HoFrom 11 June 2024, Australian…»).
   ⚠️ Селекторы с `.bvt-page`: донорский лист бьёт по `#content a` и `#content p`,
   одноклассовое правило проигрывает специфичностью. */
.bvt-page .bvt-cl{display:grid;gap:12px;
  grid-template-columns:repeat(auto-fill,minmax(298px,1fr));}
.bvt-page .bvt-cl__c{display:flex;gap:12px;align-items:flex-start;
  padding:12px;background:var(--paper);border:1px solid var(--line);
  border-radius:3px;text-decoration:none!important;color:var(--ink)!important;
  transition:border-color .14s,box-shadow .14s;}
.bvt-page .bvt-cl__c:hover,.bvt-page .bvt-cl__c:focus-visible{
  border-color:var(--amber);box-shadow:0 2px 0 var(--amber-l);}
.bvt-page .bvt-cl__t{flex:0 0 88px;width:88px;height:66px;display:flex;
  align-items:center;justify-content:center;border-radius:2px;
  font-family:var(--ff-h);font-weight:700;font-size:27px;letter-spacing:.5px;
  background:var(--azul-l);color:var(--azul-d);border:1px solid var(--line);}
.bvt-page .bvt-cl__t--op{background:var(--azul-d);color:#fff;border-color:var(--azul-d);}
.bvt-page .bvt-cl__t--bn{background:var(--amber-l);color:var(--amber-d);}
.bvt-page .bvt-cl__t--jg{background:var(--tint2);color:var(--azul);}
.bvt-page .bvt-cl__t--pg{background:var(--tint);color:var(--ink2);}
.bvt-page .bvt-cl__t--sw{background:#e6efe9;color:var(--ok);}
.bvt-page .bvt-cl__t--lg{background:var(--canvas);color:var(--ink);}
.bvt-page .bvt-cl__t--tp{background:var(--azul-l);color:var(--azul-d);}
.bvt-page .bvt-cl__t--bl{background:#f3e7e5;color:var(--warn);}
.bvt-page .bvt-cl__t--rd{background:var(--tint);color:var(--ink3);}
.bvt-page .bvt-cl__x{display:block;min-width:0;}
.bvt-page .bvt-cl__m{display:block;font-family:var(--ff-h);font-size:10.5px;
  font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--amber-d);}
.bvt-page .bvt-cl__n{display:block;font-family:var(--ff-h);font-weight:600;
  font-size:15px;line-height:1.28;margin:2px 0 3px;color:var(--azul-d);}
.bvt-page .bvt-cl__c:hover .bvt-cl__n{text-decoration:underline;}
.bvt-page .bvt-cl__d{display:block;font-size:12.5px;line-height:1.42;
  color:var(--ink2);}
@media (max-width:760px){
  .bvt-page .bvt-cl{grid-template-columns:1fr;gap:9px;}
  .bvt-page .bvt-cl__c{padding:10px;gap:10px;}
  .bvt-page .bvt-cl__t{flex:0 0 78px;width:78px;height:60px;font-size:24px;}
  .bvt-page .bvt-cl__n{font-size:14.5px;}
}

/* печать/доступность */
.bvt-page a:focus-visible,.bvt-page summary:focus-visible{outline:3px solid var(--amber);
  outline-offset:2px;}
