/* ============================================================================
   casinoweekends.com — каркас «WEEKENDER»
   Референсы-иконы дизайна: Time Out (редакционные листинги: кикеры-плашки,
   крупные порядковые номера, плотная, но упорядоченная сетка) и Financial Times
   (тонированная «бумага», волосяные линейки, сдержанный цвет, серьёзная типографика).
   Шрифты — ДОНОРСКИЕ: Rubik (заголовки/интерфейс) и PT Sans (текст), лежат локально.
   ========================================================================= */

:root {
  --paper:      #f7f2e9;   /* тонированная бумага, а не белый */
  --paper-2:    #fffdf8;   /* плашка карточки */
  --ink:        #171a20;
  --ink-2:      #454b55;
  --ink-3:      #5c626b;   /* контраст к бумаге 5.4:1 */
  --rule:       #ddd3c2;   /* волосяная линейка */
  --rule-2:     #ebe3d6;
  --claret:     #8f2434;   /* основной акцент */
  --claret-d:   #6d1926;
  --teal:       #12655c;   /* второй акцент, ссылки */
  --brass:      #c19a3f;   /* тонкая золотая черта */
  --wrap:       1120px;    /* ширина хрома */
  --content:    888px;     /* ширина контента (витрины, таблицы, карточки) */
  --pad:        20px;
  --f-disp: "Rubik", "Roboto", "Helvetica Neue", Arial, sans-serif;
  --f-text: "PT Sans", "Rubik", Georgia, serif;
}
@media (max-width: 700px) { :root { --pad: 14px; } }

/* --- нейтрализация правил темы донора на ГОЛЫЕ теги (05.12a) --------------- */
body > header, body > footer, body > nav,
#page-wrapper > header, #page-wrapper > footer,
#wrapper > header, #wrapper > footer { position: static !important; }
.cwk-hd, .cwk-hd *, .cwk-ft, .cwk-ft * { box-sizing: border-box; }
.cwk-hd::before, .cwk-hd::after,
.cwk-ft::before, .cwk-ft::after { content: none !important; }
.cwk-hd > *, .cwk-ft > * { position: relative; z-index: 3; }
#page, #page-wrapper, #wrapper, #main, .site, .site-content { display: block !important; }
body { background: var(--paper) !important; color: var(--ink); }
body, p, li, td, th, dd, dt { font-family: var(--f-text); }
h1, h2, h3, h4, h5, .cwk-hd, .cwk-ft { font-family: var(--f-disp); }

/* --- ширины и центрирование (05.15/05.15a/05.15c) -------------------------- */
.cwk-wrap { width: 100%; max-width: var(--wrap); margin-left: auto; margin-right: auto;
            padding-left: var(--pad); padding-right: var(--pad); }
body .container, body .container-fluid, body .fusion-row, body #content,
body .site-content, body main > .row {
  width: auto !important; max-width: var(--content) !important;
  margin-left: auto !important; margin-right: auto !important;
  padding-left: var(--pad) !important; padding-right: var(--pad) !important;
  float: none !important;
}
body .container .container, body .fusion-row .fusion-row {
  padding-left: 0 !important; padding-right: 0 !important; max-width: none !important;
}
/* колонка контента занимает сетку целиком — сайдбар снят физически (05.18c).
   ⛔ Только ВЕРХНЕУРОВНЕВАЯ колонка: внутренние .col-* донора (панель фактов .container1,
   строка витрины) обязаны остаться бутстраповскими, иначе хаб рассыпается в 30 000 px. */
body .container > .row > .col-md-9, body .container > .row > .col-md-8,
body .container > .row > .col-lg-9, body #content > .row > [class*="col-md-"],
body > #page-wrapper .content-block, body article.post {
  width: auto !important; max-width: 100% !important; flex: 1 1 auto !important;
  min-width: 0 !important; float: none !important;
}

/* --- типографика контента (05.16b) ---------------------------------------- */
body p, body li, body td, body dd { font-size: 17px; line-height: 1.72; color: var(--ink-2); }
@media (max-width: 700px) { body p, body li, body td, body dd { font-size: 16px; } }
body h1 { font-size: 40px; line-height: 1.16; font-weight: 700; letter-spacing: -.015em;
          color: var(--ink); margin: 0 0 14px; }
body h2 { font-size: 27px; line-height: 1.24; font-weight: 700; letter-spacing: -.01em;
          color: var(--ink); margin: 40px 0 14px; padding-top: 14px;
          border-top: 1px solid var(--rule); }
body h2::first-line { }
body h3 { font-size: 20px; line-height: 1.3; font-weight: 600; color: var(--ink);
          margin: 28px 0 10px; }
body h4 { font-size: 17px; font-weight: 700; color: var(--ink); margin: 22px 0 8px; }
@media (max-width: 700px) { body h1 { font-size: 30px; } body h2 { font-size: 23px; } }
body a { color: var(--teal); text-decoration: none; }
body p a, body li a { text-decoration: underline; text-underline-offset: 3px;
                      text-decoration-thickness: 1px; text-decoration-color: #9dc4bf; }
body p a:hover, body li a:hover { color: var(--claret); text-decoration-color: var(--claret); }

/* ============================== ШАПКА ==================================== */
.cwk-hd { background: var(--paper); border-bottom: 1px solid var(--rule); margin: 0; }
.cwk-hd__top { background: var(--ink); color: #cfc6b6; }
.cwk-hd__top .cwk-wrap { display: flex; align-items: center; gap: 18px;
                          min-height: 34px; font-size: 12px; letter-spacing: .06em; }
.cwk-days { display: inline-flex; gap: 0; align-items: stretch; }
.cwk-days b { font-weight: 700; font-size: 10.5px; letter-spacing: .14em;
              padding: 4px 7px; color: #efe7d8; border-right: 1px solid #2e333c; }
.cwk-days b:first-child { border-left: 1px solid #2e333c; }
.cwk-days b.is-on { background: var(--claret); color: #fff; }
.cwk-tag { color: #d7cfc0; text-transform: uppercase; font-size: 11px; letter-spacing: .12em; }
.cwk-hd__top .cwk-lang { margin-left: auto; }

/* переключатель языков — выпадалка со флагом-SVG (05.4a)
   ⛔ `.cwk-hd > *` даёт КАЖДОЙ полосе шапки `position:relative;z-index:3`, то есть свой
   контекст наложения. Панель языков живёт в ВЕРХНЕЙ полосе, а спускается на нижнюю —
   и при равном z-index нижняя (позже в DOM) перекрывала её: курсор попадал в `ul` меню,
   `.cwk-lang` переставал быть `:hover`, панель схлопывалась. Поднимаем верхнюю полосу. */
.cwk-hd__top { position: relative; z-index: 9; }
.cwk-hd__main { position: relative; z-index: 3; }
.cwk-lang { position: relative; }
.cwk-lang input { position: absolute; opacity: 0; pointer-events: none; }
.cwk-lang > label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
                    padding: 6px 4px; color: #efe7d8; font-size: 12px; letter-spacing: .04em; }
.cwk-lang > label svg { width: 18px; height: 13px; display: block; }
.cwk-lang > label::after { content: ""; width: 6px; height: 6px; margin-left: 2px;
                           border-right: 1.5px solid #a49a89; border-bottom: 1.5px solid #a49a89;
                           transform: rotate(45deg) translateY(-2px); }
.cwk-lang ul { position: absolute; right: 0; top: 100%; z-index: 60; min-width: 210px;
               margin: 0; padding: 6px 0; list-style: none; background: #fff;
               border: 1px solid var(--rule); box-shadow: 0 18px 40px rgba(20,22,28,.18);
               visibility: hidden; opacity: 0; transform: translateY(-4px);
               transition: opacity .14s, transform .14s, visibility .14s; }
.cwk-lang input:checked ~ ul, .cwk-lang:hover ul, .cwk-lang:focus-within ul {
  visibility: visible; opacity: 1; transform: none; }
.cwk-lang li a { display: flex; align-items: center; gap: 10px; padding: 8px 14px;
                 color: var(--ink); font-size: 14px; font-family: var(--f-text); }
.cwk-lang li a:hover { background: #f4efe5; }
.cwk-lang li svg { width: 20px; height: 14px; flex: none; }
.cwk-lang li.is-cur a { font-weight: 700; }
.cwk-lang li.is-cur a::after { content: "•"; margin-left: auto; color: var(--claret); }

.cwk-hd__main .cwk-wrap { display: flex; align-items: center; gap: 26px;
                           min-height: 78px; }
.cwk-logo { display: inline-flex; align-items: center; gap: 11px; flex: none;
            color: var(--ink) !important; text-decoration: none !important; }
.cwk-logo svg { width: 42px; height: 42px; display: block; }
.cwk-logo__t { display: block; font-family: var(--f-disp); font-weight: 700;
               font-size: 21px; line-height: 1; letter-spacing: -.02em; }
.cwk-logo__t i { font-style: normal; color: var(--claret); }
.cwk-logo__s { display: block; font-size: 10px; letter-spacing: .18em; margin-top: 4px;
               text-transform: uppercase; color: var(--ink-3); }

.cwk-navt, .cwk-burger { display: none; }
.cwk-nav { margin-left: auto; }
.cwk-nav > ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cwk-nav > ul > li { position: relative; }
.cwk-nav > ul > li > a { display: block; padding: 28px 12px 26px; font-size: 12.5px;
                         font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
                         color: var(--ink) !important; border-bottom: 3px solid transparent; }
.cwk-nav > ul > li:hover > a, .cwk-nav > ul > li:focus-within > a {
  border-bottom-color: var(--claret); color: var(--claret) !important; }
.cwk-nav ul ul { position: absolute; left: 0; top: 100%; z-index: 50; min-width: 268px;
                 margin: 0; padding: 8px 0; list-style: none; background: #fff;
                 border: 1px solid var(--rule); border-top: 3px solid var(--claret);
                 box-shadow: 0 22px 48px rgba(20,22,28,.16);
                 visibility: hidden; opacity: 0; transform: translateY(-6px);
                 transition: opacity .15s, transform .15s, visibility .15s; }
.cwk-nav > ul > li:hover > ul, .cwk-nav > ul > li:focus-within > ul {
  visibility: visible; opacity: 1; transform: none; }
.cwk-nav ul ul li a { display: block; padding: 9px 18px; font-size: 14.5px;
                      font-family: var(--f-text); color: var(--ink-2) !important;
                      border-left: 2px solid transparent; }
.cwk-nav ul ul li a:hover { color: var(--claret) !important; background: #faf6ee;
                            border-left-color: var(--brass); }
.cwk-nav > ul > li.is-last ul { left: auto; right: 0; }

@media (max-width: 1000px) {
  .cwk-hd__main .cwk-wrap { flex-wrap: wrap; min-height: 64px; }
  .cwk-burger { display: block; margin-left: auto; width: 42px; height: 34px;
                border: 1px solid var(--rule); background: #fff; cursor: pointer;
                position: relative; }
  .cwk-burger span, .cwk-burger span::before, .cwk-burger span::after {
    position: absolute; left: 11px; width: 19px; height: 2px; background: var(--ink);
    content: ""; }
  .cwk-burger span { top: 16px; }
  .cwk-burger span::before { top: -6px; left: 0; }
  .cwk-burger span::after { top: 6px; left: 0; }
  .cwk-nav { flex-basis: 100%; margin: 0; display: none; }
  .cwk-navt:checked ~ .cwk-nav { display: block; }
  .cwk-nav > ul { display: block; padding-bottom: 12px; }
  .cwk-nav > ul > li > a { padding: 13px 0; border-bottom: 1px solid var(--rule-2); }
  .cwk-nav ul ul { position: static; visibility: visible; opacity: 1; transform: none;
                   border: 0; box-shadow: none; padding: 2px 0 10px 14px;
                   border-left: 2px solid var(--rule); }
  .cwk-nav ul ul li a { padding: 7px 0; }
}

/* ============================== ПОДВАЛ =================================== */
.cwk-ft { margin-top: 54px; background: var(--ink); color: #b9b1a4;
           font-family: var(--f-text); }
.cwk-ft a { color: #ded6c8 !important; opacity: 1 !important; text-decoration: none; }
.cwk-ft a:hover { color: #fff !important; text-decoration: underline; }
.cwk-ft__trust { border-bottom: 1px solid #262b33; }
.cwk-ft__trust .cwk-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
                            padding-top: 16px; padding-bottom: 16px; }
.cwk-trust { display: inline-flex; align-items: center; gap: 8px; background: #f4efe5;
             color: #1d2129; padding: 7px 12px; font-size: 12px; font-weight: 700;
             letter-spacing: .04em; }
.cwk-trust img { height: 20px; width: auto; display: block; }
.cwk-trust--age { background: var(--claret); color: #fff; }
.cwk-ft__cols { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr; gap: 30px;
                 padding-top: 34px; padding-bottom: 30px; }
.cwk-ft__cols h4 { font-family: var(--f-disp); font-size: 12px; letter-spacing: .14em;
                    text-transform: uppercase; color: #8b8272; margin: 0 0 14px;
                    padding-bottom: 9px; border-bottom: 1px solid #2b3039; }
.cwk-ft__cols ul { margin: 0; padding: 0; list-style: none; }
.cwk-ft__cols li { margin: 0 0 9px; font-size: 14.5px; }
.cwk-ft__about p { color: #a9a193; font-size: 14.5px; line-height: 1.66; margin: 0 0 12px; }
.cwk-ft__svc { display: flex; flex-wrap: wrap; gap: 6px 22px; padding-top: 16px;
                padding-bottom: 16px; border-top: 1px solid #262b33; font-size: 13.5px; }
.cwk-ft__legal { padding-top: 16px; padding-bottom: 26px; border-top: 1px solid #262b33;
                  font-size: 12.5px; line-height: 1.7; color: #8f8778; }
.cwk-ft__legal b { color: #cfc6b6; }
@media (max-width: 860px) { .cwk-ft__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .cwk-ft__cols { grid-template-columns: 1fr; } }

/* ====================== БЛОКИ ДОНОРА — ПЕРЕРИСОВКА ======================== */
/* 1. строка-карточка витрины донора (.item > .item-row) — перерисована целиком.
   Состав донора: .col-logo(.rank-num + .logo-box>img) | .col-rating | .col-bonus |
   .col-features | .col-btn (десктопная и мобильная кнопки-близнецы). */
body .item { background: var(--paper-2); border: 1px solid var(--rule);
             border-top: 3px solid var(--brass); margin: 0 0 12px; }
body .item:first-child { border-top-color: var(--claret); }
body .item-row { display: grid !important; float: none !important;
                 grid-template-columns: 190px 110px minmax(0,1fr) 190px;
                 grid-template-areas: "logo rating bonus btn" "feat feat feat feat";
                 gap: 12px 18px; align-items: center;
                 padding: 15px 18px !important; margin: 0 !important; }
/* ⛔ у донора на .col-* висят процентные ширины и паддинги — внутри грида они
   схлопывают колонку в полоску; сбрасываем ТОЛЬКО внутри строки витрины */
body .item-row > * { width: auto !important; max-width: none !important;
                     min-width: 0 !important; float: none !important;
                     padding-left: 0 !important; padding-right: 0 !important; }
body .item-row .logo-box { width: 100% !important; }
body .item-row .col-btn a { width: 100% !important; }
body .item-row > .col-logo { display: grid; grid-template-columns: 26px 1fr; gap: 12px;
                             align-items: center; padding-right: 16px;
                             border-right: 1px solid var(--rule-2); }
body .item-row .rank-num { font-family: var(--f-disp); font-size: 25px; font-weight: 700;
                           color: var(--claret); line-height: 1; text-align: center; }
body .item-row .logo-box { padding: 7px; min-height: 54px; display: flex;
                           align-items: center; justify-content: center; }
body .item-row .logo-box img { max-height: 40px; max-width: 100%; width: auto; height: auto; }

/* ⛔ Донор рисует плашку логотипа трюком «height:0 + padding-bottom:55% + img position:absolute»,
   а .col-features и .col-btn держит процентными ширинами в медиазапросах. Его селекторы
   специфичнее (`.table-s2 .item .item-row .col-*`), поэтому контр-правила пишем такой же
   длины и с !important — иначе плашка схлопывается в полоску, а кнопка в 0 px. */
body .item .item-row .col-logo .logo-box {
  height: auto !important; padding: 8px !important; margin: 0 !important;
  background: #fff !important; box-shadow: none !important; border-radius: 0 !important;
  border: 1px solid var(--rule-2) !important; position: static !important;
  min-height: 58px; display: flex; align-items: center; justify-content: center; }
body .item .item-row .col-logo .logo-box a {
  display: flex !important; width: 100% !important; height: auto !important;
  padding: 0 !important; align-items: center; justify-content: center; }
body .item .item-row .col-logo .logo-box a img {
  position: static !important; width: auto !important; height: auto !important;
  max-width: 100% !important; max-height: 42px !important; margin: 0 !important; }
body .item .item-row .col-features { display: block !important; width: auto !important;
                                     text-align: left !important; }
body .item .item-row .col-features ul { padding: 0 !important; }
body .item .item-row .col-features ul li { text-align: left !important; display: block;
                                           margin-bottom: 4px !important; }
body .item .item-row .col-btn { width: auto !important; display: block !important;
                                position: static !important; }
body .item .item-row .col-btn a { width: 100% !important; }

/* ⛔ .rank-num у донора display:none — без явной раскладки плашка логотипа уезжает
   в 26-пиксельную колонку номера; поэтому колонки расставлены ЯВНО. */
body .item .item-row > .col-logo    { grid-area: logo !important; }
body .item .item-row > .col-rating  { grid-area: rating !important; }
body .item .item-row > .col-bonus   { grid-area: bonus !important; min-width: 0 !important; }
body .item .item-row > .col-features{ grid-area: feat !important; width: auto !important;
                                      min-width: 0 !important; display: block !important;
                                      border-top: 1px solid var(--rule-2);
                                      padding-top: 10px !important; }
body .item .item-row .col-features ul { display: flex; flex-wrap: wrap; gap: 4px 22px; }
body .item .item-row .col-features li i,
body .item .item-row .col-features li [class*="icon-"] { display: none !important; }
body .item .item-row > .col-btn     { grid-area: btn !important; }
body .item .item-row .col-logo .rank-num { display: block !important; grid-column: 1 !important; }
body .item .item-row .col-logo .logo-box { grid-column: 2 !important; }
body .item-row .col-rating { text-align: center; }
body .item-row .col-rating .rating { white-space: nowrap; font-size: 14px; color: var(--brass); }
body .item-row .btn-read-more { display: inline-block; margin-top: 7px; font-size: 12.5px;
                                font-family: var(--f-disp); letter-spacing: .04em;
                                color: var(--teal) !important;
                                border-bottom: 1px solid #9dc4bf; text-decoration: none !important; }
body .item-row .col-bonus h5 { font-family: var(--f-disp); font-size: 14.5px; line-height: 1.4;
                               font-weight: 600; color: var(--ink); margin: 0; }
body .item-row .col-bonus strong { font-size: 21px; font-weight: 700; }
body .item-row .col-features ul { margin: 0; padding: 0; list-style: none; }
body .item-row .col-features li { font-size: 13px; line-height: 1.5; color: var(--ink-3);
                                  padding-left: 14px; position: relative; }
body .item-row .col-features li::before { content: ""; position: absolute; left: 0; top: 9px;
                                          width: 7px; height: 1px; background: var(--brass); }
body .item-row .col-btn { text-align: right; }
body .item-row .col-btn a.hidden-lg-up { display: none !important; }
body a.btn, body .btn--green {
  display: block; text-align: center; background: var(--claret) !important;
  color: #fff !important; font-family: var(--f-disp); font-weight: 700; font-size: 14px;
  letter-spacing: .02em; padding: 12px 14px; border: 0 !important;
  border-bottom: 3px solid var(--claret-d) !important; border-radius: 0 !important;
  text-decoration: none !important; }
body a.btn:hover, body .btn--green:hover { background: var(--claret-d) !important; }
body a.btn .btn-p1 { display: block; }
body a.btn .btn-p2 { display: block; font-weight: 400; font-size: 11.5px; opacity: .85;
                     margin-top: 2px; }
@media (max-width: 900px) {
  body .item-row { grid-template-columns: 1fr 1fr;
                   grid-template-areas: "logo rating" "bonus bonus" "feat feat" "btn btn";
                   gap: 12px; }
  body .item-row > .col-logo { border-right: 0; padding-right: 0; }
  body .item-row .col-bonus, body .item-row .col-features { grid-column: 1 / -1; }
  body .item-row .col-btn { grid-column: 1 / -1; text-align: stretch; }
  body .item-row .col-btn a.d-none { display: block !important; }
}

/* 2. FAQ донора — раскрытая карточка с линейкой, а не аккордеон-заглушка */
body .faq-item { background: var(--paper-2); border: 1px solid var(--rule);
                 padding: 18px 20px; margin: 0 0 10px; }
body .faq-title { font-family: var(--f-disp); font-weight: 700; font-size: 17px;
                  color: var(--ink); margin: 0 0 8px; padding: 0 0 8px;
                  border-bottom: 1px solid var(--rule-2); }
body .faq-content, body .collapse.in { display: block !important; }
body .faq-content p { margin: 0; }

/* 3. таблицы донора */
body table { width: 100% !important; border-collapse: collapse; background: var(--paper-2);
             border: 1px solid var(--rule); margin: 18px 0; }
body table th { background: var(--ink); color: #f2ece0; font-family: var(--f-disp);
                font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase;
                text-align: left; padding: 11px 14px; }
body table td { padding: 11px 14px; border-top: 1px solid var(--rule-2); font-size: 15px; }
body table tr:nth-child(even) td { background: #fbf7f0; }

/* 4. панель фактов донора (.container1 / .headermid) — своя плита, но БУТСТРАП НЕ ЛОМАЕМ */
body .container1 { background: var(--paper-2); border: 1px solid var(--rule);
                   border-left: 3px solid var(--brass); padding: 14px 16px; margin: 0 0 14px; }
/* ⛔ На страницах поколения Avada бутстраповской сетки НЕТ: колонки .col-md-2 донора
   встают друг под друга и хаб растягивается на 38 000 px. Собираем панель фактов
   своей сеткой (05.2c) — снаружи равные колонки, внутри пара «подпись → значение». */
body .container1 > .row { display: grid !important;
                          grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
                          gap: 14px 18px; align-items: start; }
body .container1 > .row > [class*="col-"] { width: auto !important; float: none !important;
                                            padding: 0 !important; }
body .container1 .row .row { display: grid !important;
                             grid-template-columns: minmax(0, auto) minmax(0, 1fr);
                             gap: 2px 10px; }
body .container1 .row .row > [class*="col-"] { width: auto !important; float: none !important;
                                               padding: 0 !important; }
body .container1 .fisrtlist li, body .container1 .fisrtlist ul li { color: var(--ink-3); }
body .container1 .headermid { font-family: var(--f-disp); font-size: 10.5px; font-weight: 700;
                              letter-spacing: .12em; text-transform: uppercase;
                              color: var(--ink-3); padding: 0 0 6px; margin: 0 0 8px;
                              border-bottom: 1px solid var(--rule-2); background: none; }
body .container1 ul { margin: 0; padding: 0; list-style: none; }
body .container1 li { font-size: 13.5px; line-height: 1.55; color: var(--ink-2); }
body .ribbon-wrapper, body .ribbon { background: var(--brass) !important; color: #23201a !important;
                                     font-family: var(--f-disp); font-size: 11px;
                                     letter-spacing: .1em; text-transform: uppercase; }

/* 5. подсказки донора: раскрыты как сноска, а не тултип на JS */
body .tooltip-el { position: relative; }
body .tooltip-text { position: static !important; display: block !important; visibility: visible !important;
                     opacity: 1 !important; background: #f2ece0 !important; color: var(--ink-2) !important;
                     border-left: 3px solid var(--brass); padding: 10px 12px; margin: 8px 0 0;
                     font-size: 13.5px; box-shadow: none !important; }

/* 6. картинки и врезки */
body .container img, body .fusion-row img { padding-left: 0 !important; padding-right: 0 !important;
                                            max-width: 100%; height: auto; }
body iframe { max-width: 100%; position: static !important; aspect-ratio: 16 / 9;
              width: 100% !important; height: auto !important; border: 0; }

/* 7. хлебные крошки */
body .breadcrumbs, body .fusion-breadcrumbs { font-family: var(--f-disp); font-size: 12px;
  letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3);
  padding: 0 0 14px; margin: 0 0 18px; border-bottom: 1px solid var(--rule-2);
  transform: none !important; }

/* 8. мёртвые органы управления донора не притворяются живыми */
body .sort-by, body .sorting, body .filters:empty { display: none !important; }

/* --- наши смысловые картинки ---------------------------------------------- */
.cwk-fig { margin: 26px 0; border: 1px solid var(--rule); background: var(--paper-2); }
.cwk-fig img { display: block; width: 100%; height: auto; }
.cwk-fig figcaption { font-size: 13px; color: var(--ink-3); padding: 10px 14px;
                      border-top: 1px solid var(--rule-2); font-family: var(--f-disp);
                      letter-spacing: .03em; }

/* ---- ВТОРОЙ ТИП КАРТОЧКИ ДОНОРА (поколение Avada): .row.bg2 / .row.bg3 --------
   Состав: <a>(.image с лентой ранга) | .bonus | .spin | .buttons(мёртвый JS-аккордеон) |
   .info | .play(CTA) | вложенный .row с T&C | раскрытый .collapse с деталями.
   Бутстрапа на этих страницах нет — без своей сетки хаб рассыпается на 38 000 px
   и блоки наезжают друг на друга. */
body .row.bg2, body .row.bg3 {
  display: grid !important;
  grid-template-columns: 108px minmax(92px,1.05fr) minmax(76px,.8fr) minmax(120px,1.7fr) 142px;
  grid-template-areas: "img bonus spin info play" "tc tc tc tc tc" "det det det det det";
  gap: 10px 16px; align-items: center; background: var(--paper-2) !important;
  border: 1px solid var(--rule); border-top: 3px solid var(--brass);
  padding: 14px 16px !important; margin: 0 0 12px !important; }
body .row.bg2 > a, body .row.bg3 > a { grid-area: img; display: block; }
body .row.bg2 .image, body .row.bg3 .image {
  width: auto !important; float: none !important; padding: 0 !important;
  min-height: 62px; background-size: contain !important; background-repeat: no-repeat !important;
  background-position: center !important; border: 1px solid var(--rule-2); position: relative; }
body .row.bg2 .ribbon-wrapper, body .row.bg3 .ribbon-wrapper {
  position: absolute !important; top: 0; left: 0; width: auto !important; height: auto !important; }
body .row.bg2 .ribbon, body .row.bg3 .ribbon {
  background: var(--claret) !important; color: #fff !important; font-family: var(--f-disp);
  font-size: 13px !important; font-weight: 700; line-height: 1 !important;
  padding: 5px 8px !important; transform: none !important; box-shadow: none !important;
  border-radius: 0 !important; width: auto !important; height: auto !important; }
body .row.bg2 .bonus  { grid-area: bonus; }
body .row.bg2 .spin   { grid-area: spin; }
body .row.bg2 .info   { grid-area: info; }
body .row.bg2 .play   { grid-area: play; }
body .row.bg3 .bonus  { grid-area: bonus; }
body .row.bg3 .spin   { grid-area: spin; }
body .row.bg3 .info   { grid-area: info; }
body .row.bg3 .play   { grid-area: play; }
body .row.bg2 > [class*="col-"], body .row.bg3 > [class*="col-"] {
  width: auto !important; float: none !important; padding: 0 !important; }
body .row.bg2 ul, body .row.bg3 ul { margin: 0; padding: 0; list-style: none; }
body .row.bg2 .bonus li, body .row.bg3 .bonus li,
body .row.bg2 .spin li, body .row.bg3 .spin li {
  font-family: var(--f-disp); font-size: 11px; letter-spacing: .09em; text-transform: uppercase;
  color: var(--ink-3) !important; line-height: 1.35; }
body .row.bg2 .bonus li.pricetag, body .row.bg3 .bonus li.pricetag,
body .row.bg2 .bonus li.blue, body .row.bg3 .bonus li.blue,
body .row.bg2 .spin li.spintag, body .row.bg3 .spin li.spintag {
  font-size: 21px !important; letter-spacing: -.01em; text-transform: none;
  color: var(--ink) !important; font-weight: 700; }
body .row.bg2 .info li, body .row.bg3 .info li { font-family: var(--f-text); font-size: 13.5px;
  line-height: 1.5; color: var(--ink-2) !important; text-transform: none; letter-spacing: 0; }
body .row.bg2 .buttons, body .row.bg3 .buttons { display: none !important; }
body .row.bg2 .play a, body .row.bg3 .play a {
  display: block; text-align: center; background: var(--claret) !important; color: #fff !important;
  font-family: var(--f-disp); font-weight: 700; font-size: 13.5px; letter-spacing: .04em;
  padding: 12px 10px; border-bottom: 3px solid var(--claret-d); text-decoration: none !important;
  text-transform: uppercase; }
body .row.bg2 .play a:hover, body .row.bg3 .play a:hover { background: var(--claret-d) !important; }
body .row.bg2 > .row, body .row.bg3 > .row {
  grid-area: tc; display: block !important; padding: 8px 0 0 !important; margin: 0 !important;
  font-size: 11.5px !important; line-height: 1.5; color: var(--ink-3) !important;
  text-align: left !important; border-top: 1px solid var(--rule-2); }
body .row.bg2 .collapse, body .row.bg3 .collapse { grid-area: det; }
@media (max-width: 900px) {
  body .row.bg2, body .row.bg3 {
    grid-template-columns: 110px 1fr;
    grid-template-areas: "img bonus" "spin spin" "info info" "play play" "tc tc" "det det"; }
}

/* фон страницы поколения Avada — свой, а не синий фон темы донора */
html, body, #wrapper, #main, #sliders-container, .fusion-row,
body.avada-has-page-background-color, html.avada-has-page-background-pattern {
  background-color: var(--paper) !important; background-image: none !important; }

/* донорские «группы» с радиальным градиентом и своей шириной: гасим фон и распрямляем колонку */
body [class*="wp-block-group"], body .top-bloc, body .listings {
  background-image: none !important; background-color: transparent !important;
  width: auto !important; max-width: none !important; padding-left: 0 !important;
  padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
body .listings { background-color: transparent !important; }

/* полоса заголовка Avada — своя: без фона темы, по сетке контента, крошки волосяной линейкой */
body .fusion-page-title-bar, body .avada-page-titlebar-wrapper {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  height: auto !important; min-height: 0 !important; padding: 0 !important; }
body .fusion-page-title-row, body .fusion-page-title-wrapper,
body .fusion-page-title-captions {
  max-width: var(--content) !important; margin-left: auto !important; margin-right: auto !important;
  padding-left: var(--pad) !important; padding-right: var(--pad) !important;
  width: auto !important; float: none !important; display: block !important; }
body .fusion-page-title-bar h1.entry-title { font-size: 38px !important; line-height: 1.16 !important;
  color: var(--ink) !important; margin: 26px 0 6px !important; letter-spacing: -.015em; }
@media (max-width: 700px) { body .fusion-page-title-bar h1.entry-title { font-size: 28px !important; } }
body .fusion-page-title-secondary { display: none !important; }

/* зазор под шапкой держим ровно один раз — на первом контейнере контента (норма 16–48) */
body .cwk-hd + * { margin-top: 0 !important; }
body #page-wrapper > .container:first-of-type,
body #wrapper .fusion-page-title-bar { padding-top: 12px !important; }
body #page-wrapper > .container, body #main > .fusion-row { padding-top: 12px; }
body .cwk-hd + * { margin-top: 0 !important; }
body #page-wrapper > .container:first-of-type > *:first-child,
body #page-wrapper > .container:first-of-type h1:first-child,
body .breadcrumbs:first-child, body .fusion-breadcrumbs:first-child { margin-top: 0 !important; }
body #page-wrapper h1:first-of-type, body #wrapper h1.entry-title { margin-top: 4px !important; }
body #page-wrapper > .container:first-of-type > :first-child,
body #main > .fusion-row > :first-child { margin-top: 0 !important; }
body .fusion-page-title-bar h1.entry-title { margin-top: 8px !important; }

/* ---- ЦВЕТОВАЯ НОРМАЛИЗАЦИЯ ДОНОРА (контраст считается, а не смотрится) --------
   У донора заголовки геро-блоков белые (фон-картинку мы сняли), ссылки оранжевые
   #e54f00 на бумаге (3.4:1), кнопки Avada зелёные #17a515 с белым текстом (2.9:1),
   заголовок FAQ — чернила на чёрном. Всё это приводится к нашей палитре. */
body h1, body h2, body h3, body h4, body h5, body h6 { color: var(--ink) !important; }
/* ⛔ ссылки ВИТРИНЫ (`cwkv-*`) сюда не попадают: у кнопки свой белый текст на гранате,
   и спор двух `!important` каждый раз кончался бирюзовой надписью на бордовом (контраст 1.2). */
body .container a:not([class*="btn"]):not([class*="button"]):not([class*="cwkv"]):not(.cwk-logo),
body .fusion-row a:not([class*="btn"]):not([class*="button"]):not([class*="cwkv"]):not(.cwk-logo),
body #content a:not([class*="btn"]):not([class*="button"]):not([class*="cwkv"]) {
  color: var(--teal) !important; }
body .container .play a, body .fusion-row .play a,
body .container .col-btn a, body .fusion-row .col-btn a,
body .container .buttons a, body .fusion-row .buttons a { color: #fff !important; }
body .fusion-button, body a.fusion-button, body .fusion-button-default {
  background: var(--claret) !important; background-image: none !important;
  border: 0 !important; border-bottom: 3px solid var(--claret-d) !important;
  border-radius: 0 !important; color: #fff !important; }
body .fusion-button .fusion-button-text, body .fusion-button-text,
body .fusion-button i { color: #fff !important; }
body [class*="faq-title"], body .faq-title, body .faq-title_inner {
  background: var(--paper-2) !important; color: var(--ink) !important; }
body span[style*="color"], body font[color], body p font, body li font { color: inherit !important; }
body .red, body .blue, body .green { color: var(--ink) !important; }

/* ⛔ Свой хром сильнее нормализации: подвал живёт ВНУТРИ #page-wrapper донора
   (у него незакрытый div), и общее правило перекрашивало ссылки и заголовки подвала. */
body .cwk-ft a, body .cwk-ft a:hover, body .cwk-ft__svc a { color: #ded6c8 !important; }
body .cwk-ft a:hover { color: #ffffff !important; }
body .cwk-ft h1, body .cwk-ft h2, body .cwk-ft h3, body .cwk-ft h4 { color: #9d9484 !important; }
body .cwk-ft p, body .cwk-ft li, body .cwk-ft__legal { color: #b9b1a4 !important; }
body .cwk-ft .cwk-trust { color: #1d2129 !important; }
body .cwk-ft .cwk-trust--age { color: #ffffff !important; }
body .cwk-hd a { color: var(--ink) !important; }
body .cwk-hd .cwk-lang a, body .cwk-hd__top .cwk-lang > label { color: #efe7d8 !important; }
body .cwk-hd .cwk-lang ul a { color: var(--ink) !important; }
body .cwk-hd .cwk-logo__s { color: #5c626b !important; }

/* ---- ЧУЖИЕ ФОНЫ И ОТСТУПЫ ДОНОРА -----------------------------------------
   Тёмные и цветные плиты донора (чёрный блок на /de/, синий #09547f в карточке,
   бирюзовая кнопка #00aeef) остались от его палитры; текст на них наш и не читается.
   Плюс блоки, которые РИСУЮТ фон, обязаны иметь свой отступ (правило владельца). */
body .container [style*="background"], body .fusion-row [style*="background"] {
  background-image: none !important; }
body .heading, body .ci-heading, body .ci-feature, body .ci-bonus_detalis,
body .ci-wrap, body .ci-btn, body .listings > div, body .top-bloc {
  background-color: transparent !important; color: var(--ink-2) !important; }
body .heading { padding: 12px 16px !important; background: var(--paper-2) !important;
                border: 1px solid var(--rule); font-family: var(--f-disp);
                font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
                color: var(--ink) !important; }
body .ci-feature, body .ci-heading, body .ci-bonus_detalis { color: var(--ink-2) !important; }
body .item, body .container1, body .row.bg2, body .row.bg3, body .faq-item,
body .tooltip-text, body .heading { padding-left: 16px !important; padding-right: 16px !important; }
@media (max-width: 700px) {
  body .item, body .container1, body .row.bg2, body .row.bg3, body .faq-item,
  body .heading { padding-left: 12px !important; padding-right: 12px !important; }
}
body .pt-cv-readmore, body a.pt-cv-readmore {
  background: var(--claret) !important; color: #fff !important; border-radius: 0 !important; }

/* остатки донорского меню и мёртвых кнопок + белый текст в наших CTA */
body .head-menu, body .head-menu--s1, body .head-menu--sticky { display: none !important; }
body a.red.collapsed, body [data-toggle="collapse"].collapsed { display: none !important; }
body .row.bg2 a, body .row.bg3 a, body .item .col-btn a, body .item a.btn,
body a.pt-cv-readmore { color: #fff !important; }
body a.pt-cv-readmore, body a.pt-cv-readmore.btn {
  background-color: var(--claret) !important; background-image: none !important;
  border: 0 !important; border-bottom: 3px solid var(--claret-d) !important;
  border-radius: 0 !important; }
body .row.bg2 .info a, body .row.bg3 .info a { color: var(--teal) !important; }

/* ---- ПОБЕДА ПО СПЕЦИФИЧНОСТИ над правилами донора (у него `:not()` и вложенность
   дают 0,3,1 и выше — наши контр-правила пишем такой же длины) -------------- */
body .container .pt-cv-wrapper a.pt-cv-readmore,
body .fusion-row .pt-cv-wrapper a.pt-cv-readmore,
body .container a.pt-cv-readmore.btn, body .fusion-row a.pt-cv-readmore.btn {
  background-color: var(--claret) !important; background-image: none !important;
  color: #fff !important; border-radius: 0 !important; }
body .container .row.bg2 .col-md-1, body .fusion-row .row.bg2 .col-md-1,
body .container .row.bg3 .col-md-1, body .fusion-row .row.bg3 .col-md-1,
body .container .row.bg2 .buttons, body .fusion-row .row.bg2 .buttons,
body .container .row.bg3 .buttons, body .fusion-row .row.bg3 .buttons { display: none !important; }
body .container .row.bg2 .play a, body .fusion-row .row.bg2 .play a,
body .container .row.bg3 .play a, body .fusion-row .row.bg3 .play a,
body .container .item .col-btn a, body .fusion-row .item .col-btn a { color: #fff !important; }
body .container .poka-popup-box, body .fusion-row .poka-popup-box {
  background: var(--paper-2) !important; color: var(--ink-2) !important; }
body .container .fn, body .fusion-row .fn,
body .container .wp-block-group__inner-container, body .fusion-row .wp-block-group__inner-container {
  color: var(--ink-2) !important; }

/* ---- последний рубеж: правила с ID оболочки (1,1,1) бьют любую цепочку классов донора */
#page-wrapper a.pt-cv-readmore, #wrapper a.pt-cv-readmore,
#page-wrapper .pt-cv-readmore, #wrapper .pt-cv-readmore {
  background: var(--claret) !important; background-image: none !important;
  color: #fff !important; border: 0 !important;
  border-bottom: 3px solid var(--claret-d) !important; border-radius: 0 !important; }
#page-wrapper .row.bg2 .col-md-1, #wrapper .row.bg2 .col-md-1,
#page-wrapper .row.bg3 .col-md-1, #wrapper .row.bg3 .col-md-1,
#page-wrapper .buttons, #wrapper .buttons { display: none !important; }
#page-wrapper .row.bg2 .play a, #wrapper .row.bg2 .play a,
#page-wrapper .row.bg3 .play a, #wrapper .row.bg3 .play a,
#page-wrapper .item .col-btn a, #wrapper .item .col-btn a,
#page-wrapper .item a.btn, #wrapper .item a.btn { color: #fff !important; }
#page-wrapper .poka-popup-box, #wrapper .poka-popup-box {
  background: var(--paper-2) !important; color: var(--ink-2) !important; }
#page-wrapper a.red, #wrapper a.red, #page-wrapper .infobtn, #wrapper .infobtn,
#page-wrapper [data-toggle="collapse"], #wrapper [data-toggle="collapse"] { display: none !important; }
.poka-popup-box, .poka-popup, .popup-box { display: none !important; }

/* хлебные крошки донора — компактная строка нашей типографики, а не полоса на 59 px */
body .breadcrumb, body .fullwidth.breadcrumb, body .text-area.breadcrumb {
  padding: 8px 0 !important; margin: 0 !important; min-height: 0 !important;
  background: transparent !important; border-bottom: 1px solid var(--rule-2);
  font-family: var(--f-disp); font-size: 11.5px; letter-spacing: .07em;
  text-transform: uppercase; color: var(--ink-3) !important; }
body .breadcrumb .container { padding-top: 0 !important; }
body .breadcrumb a { color: var(--ink-3) !important; }
body .breadcrumb ul, body .breadcrumb ol { margin: 0; padding: 0; list-style: none;
                                           display: flex; flex-wrap: wrap; gap: 6px 10px; }

/* ⛔ FAQ: ответы донора свёрнуты не только display:none, но и height:0/max-height:0 —
   правило владельца требует, чтобы ВСЕ ответы были развёрнуты (DESIGN-ELEMENTS §10). */
#page-wrapper .faq-content, #wrapper .faq-content,
#page-wrapper .collapse, #wrapper .collapse,
#page-wrapper .collapse.in, #wrapper .collapse.in,
#page-wrapper .panel-collapse, #wrapper .panel-collapse,
#page-wrapper .tab-pane, #wrapper .tab-pane {
  display: block !important; height: auto !important; max-height: none !important;
  min-height: 0 !important; overflow: visible !important; visibility: visible !important;
  opacity: 1 !important; }

/* мобильный overflow: блоки донора не шире вьюпорта */
body [class*="rank-math"], body .rank-math-block, body table, body pre, body iframe,
body .container1, body .row.bg2, body .row.bg3, body .item {
  max-width: 100% !important; box-sizing: border-box; }
body table { display: block; overflow-x: auto; }
@media (min-width: 900px) { body table { display: table; overflow-x: visible; } }

/* ⛔ горизонтальный оверфлоу на телефоне (R7): бутстраповский `.row` донора несёт
   `margin: 0 -15px`, а наш контейнер даёт padding 14px — итог 392 px при вьюпорте 390.
   Гасим отрицательные поля у ОБЫЧНЫХ рядов; перебранные нами сетки хаба (.bg2/.bg3,
   .container1) не трогаем — там своя раскладка. */
@media (max-width: 699px) {
  body .row:not(.bg2):not(.bg3) { margin-left: 0 !important; margin-right: 0 !important; }
  body .row:not(.bg2):not(.bg3) > [class*="col-"] { padding-left: 0 !important;
                                                    padding-right: 0 !important; }
  /* тот же минус-жёлоб у плагина каталога статей (pt-cv-*) */
  body .pt-cv-view { margin-left: 0 !important; margin-right: 0 !important; }
  body .pt-cv-view > .pt-cv-page > [class*="col-"] { padding-left: 0 !important;
                                                     padding-right: 0 !important; }
}

/* ==== SHOWCASE cwkv ==== */
/* ============================================================================
   ВИТРИНА casinoweekends.com — шаблон №286 `cwkv` «Weekend Ledger».
   Строка = разворот бухгалтерской книги выходного дня: гранатовая «вкладка»
   с номером во всю высоту, светлая плашка логотипа, факты волосяными чипами,
   панель оффера с латунной линейкой слева, отдельная кнопка.
   Фильтры и «показать все» — ЧИСТО CSS: чекбоксы лежат прямыми детьми секции,
   поэтому общий сосед `~` достаёт до списка без per-page правил.
   ⛔ Отступы — на ячейках, которые рисуют фон (padding-lives-on-the-block…).
   ========================================================================= */

.cwkv-wrap { margin: 34px 0 42px; font-family: var(--f-text); }
.cwkv-wrap * { box-sizing: border-box; }

body .cwkv-h2 { margin: 0 0 6px; }
.cwkv-upd { font-family: var(--f-disp); font-size: 11.5px; letter-spacing: .07em;
            text-transform: uppercase; color: var(--ink-3) !important; margin: 0 0 16px; }

/* --- фильтры ------------------------------------------------------------- */
.cwkv-fx, .cwkv-mx { position: absolute; width: 1px; height: 1px; margin: -1px;
                     padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
                     border: 0; }
.cwkv-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px;
                padding: 0 0 16px; border-bottom: 1px solid var(--rule); }
.cwkv-filters label { display: inline-block; font-family: var(--f-disp); font-size: 12.5px;
                      line-height: 1.2; letter-spacing: .02em; padding: 8px 14px;
                      border: 1px solid var(--rule); border-radius: 999px; cursor: pointer;
                      background: var(--paper-2); color: var(--ink-2); user-select: none; }
.cwkv-filters label:hover { border-color: var(--ink-3); color: var(--ink); }
.cwkv-fx:checked + .cwkv-filters label,
.cwkv-fx:checked ~ .cwkv-filters label { }
.cwkv-fx:focus-visible ~ .cwkv-filters label { outline: 2px solid var(--teal);
                                               outline-offset: 2px; }

/* --- список -------------------------------------------------------------- */
.cwkv-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cwkv-list > li.cwkv-row {
  display: grid;
  grid-template-columns: 48px 152px minmax(0, 1fr) 196px 156px;
  grid-template-areas: "rank logo main offer cta";
  align-items: center;
  margin: 0 0 10px; padding: 0;
  background: var(--paper-2);
  border: 1px solid var(--rule);
  border-radius: 3px;
  font-size: 16px;
  overflow: hidden;
}
.cwkv-list > li.cwkv-row::before, .cwkv-list > li.cwkv-row::after { content: none !important; }

.cwkv-rank { grid-area: rank; align-self: stretch; display: flex; align-items: center;
             justify-content: center; background: var(--claret); color: #fff;
             font-family: var(--f-disp); font-size: 18px; font-weight: 700; }
.cwkv-list > li.cwkv-row:first-child .cwkv-rank { background: var(--claret-d);
                                                  box-shadow: inset -3px 0 0 var(--brass); }
.cwkv-rank b { font-weight: 700; }

.cwkv-logo { grid-area: logo; display: flex; align-items: center; justify-content: center;
             padding: 16px 12px; }
.cwkv-logo img { width: 118px !important; height: 66px !important;
                 object-fit: contain; display: block; }
body .cwkv-lgo { display: block; line-height: 0; text-decoration: none !important;
                 border: 0 !important; }
body .cwkv-lgo:hover { opacity: .82; }
.cwkv-noimg { font-family: var(--f-disp); font-weight: 700; font-size: 15px;
              color: var(--ink); text-align: center; }

.cwkv-main { grid-area: main; min-width: 0; padding: 18px 8px 18px 6px; }
body .cwkv-name { font-family: var(--f-disp); font-size: 17px; line-height: 1.25;
                  font-weight: 700; color: var(--ink) !important; margin: 0 0 7px; }
.cwkv-pick { display: inline-block; margin-left: 8px; vertical-align: 2px;
             font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase;
             font-weight: 700; color: var(--claret-d); border: 1px solid var(--brass);
             border-radius: 2px; padding: 2px 6px; }
body .cwkv-chips { list-style: none !important; display: flex; flex-wrap: wrap;
                   gap: 4px 14px; margin: 0 !important; padding: 0 !important; }
body .cwkv-chips li { font-size: 13px; line-height: 1.45; color: var(--ink-3) !important;
                      margin: 0; padding: 0 0 0 13px; position: relative; }
body .cwkv-chips li::before { content: ""; position: absolute; left: 0; top: 9px;
                              width: 7px; height: 1px; background: var(--brass); }

.cwkv-offer { grid-area: offer; align-self: stretch; display: flex; flex-direction: column;
              justify-content: center; padding: 14px 16px;
              border-left: 1px solid var(--rule-2);
              box-shadow: inset 3px 0 0 var(--brass);
              background: linear-gradient(90deg, #fbf6ec, var(--paper-2)); }
.cwkv-ok { font-family: var(--f-disp); font-size: 10.5px; letter-spacing: .08em;
           text-transform: uppercase; color: var(--ink-3); margin-bottom: 3px; }
.cwkv-ov { font-family: var(--f-disp); font-size: 17px; line-height: 1.2; font-weight: 700;
           color: var(--ink); }
.cwkv-os { font-size: 13px; line-height: 1.35; color: var(--ink-3); margin-top: 3px; }
.cwkv-os:empty { display: none; }

.cwkv-cta { grid-area: cta; padding: 14px 16px; }
body .cwkv-cta a { display: block; text-align: center; font-family: var(--f-disp);
                   font-size: 14.5px; font-weight: 700; letter-spacing: .01em;
                   line-height: 1.2; padding: 13px 10px; border-radius: 3px;
                   background: var(--claret); color: #fff !important;
                   text-decoration: none !important; border: 1px solid var(--claret-d); }
body .cwkv-cta a:hover { background: var(--claret-d); }
body .cwkv-cta a:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }

.cwkv-det { margin: 9px 0 0; border-top: 1px dashed var(--rule-2); padding: 0; }
body .cwkv-det > summary { list-style: none; cursor: pointer; font-family: var(--f-disp);
                           font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
                           color: var(--ink-3); padding: 7px 0 0; }
body .cwkv-det > summary::-webkit-details-marker { display: none; }
body .cwkv-det > summary::after { content: " +"; color: var(--brass); font-weight: 700; }
body .cwkv-det[open] > summary::after { content: " \2212"; }
body .cwkv-det > ul { list-style: none !important; margin: 0 !important;
                      padding: 5px 0 4px !important; }
body .cwkv-det > ul li { font-size: 13.5px; line-height: 1.55; color: var(--ink-3) !important;
                         padding: 0 0 0 15px; position: relative; margin: 0 0 3px; }
body .cwkv-det > ul li::before { content: ""; position: absolute; left: 0; top: 9px;
                                 width: 8px; height: 1px; background: var(--rule); }

/* R9 держит строку в коридоре 150–290 px: без нижней границы карточки с двумя
   чипами садились до 121 px и список начинал «прыгать» по высоте. */
@media (min-width: 700px) { .cwkv-list > li.cwkv-row { min-height: 156px; } }

/* --- хвост и «показать все» ---------------------------------------------- */
.cwkv-list > li.cwkv-hid { display: none; }
.cwkv-mx:checked ~ .cwkv-list > li.cwkv-hid { display: grid; }
.cwkv-more { display: block; width: 100%; text-align: center; cursor: pointer;
             font-family: var(--f-disp); font-size: 13.5px; font-weight: 700;
             letter-spacing: .04em; color: var(--teal); background: transparent;
             border: 1px solid var(--rule); border-radius: 3px; padding: 12px 16px;
             margin: 4px 0 0; user-select: none; }
.cwkv-more:hover { border-color: var(--teal); background: var(--paper-2); }
.cwkv-mx:checked ~ .cwkv-more { display: none; }
.cwkv-mx:focus-visible ~ .cwkv-more { outline: 2px solid var(--teal); outline-offset: 2px; }

/* --- фильтры режут по-настоящему ----------------------------------------- */
.cwkv-q-fs:checked    ~ .cwkv-list > li.cwkv-row:not(.cwkv-is-fs)    { display: none; }
.cwkv-q-nd:checked    ~ .cwkv-list > li.cwkv-row:not(.cwkv-is-nd)    { display: none; }
.cwkv-q-wf:checked    ~ .cwkv-list > li.cwkv-row:not(.cwkv-is-wf)    { display: none; }
.cwkv-q-sport:checked ~ .cwkv-list > li.cwkv-row:not(.cwkv-is-sport) { display: none; }
.cwkv-q-big:checked   ~ .cwkv-list > li.cwkv-row:not(.cwkv-is-big)   { display: none; }
/* включённый фильтр раскрывает и хвост — иначе отбор врёт */
.cwkv-q-fs:checked ~ .cwkv-list > li.cwkv-is-fs.cwkv-hid,
.cwkv-q-nd:checked ~ .cwkv-list > li.cwkv-is-nd.cwkv-hid,
.cwkv-q-wf:checked ~ .cwkv-list > li.cwkv-is-wf.cwkv-hid,
.cwkv-q-sport:checked ~ .cwkv-list > li.cwkv-is-sport.cwkv-hid,
.cwkv-q-big:checked ~ .cwkv-list > li.cwkv-is-big.cwkv-hid { display: grid; }
/* подсветка нажатого чипа */
.cwkv-q-fs:checked    ~ .cwkv-filters label[for*="-ffs-"],
.cwkv-q-nd:checked    ~ .cwkv-filters label[for*="-fnd-"],
.cwkv-q-wf:checked    ~ .cwkv-filters label[for*="-fwf-"],
.cwkv-q-sport:checked ~ .cwkv-filters label[for*="-fsport-"],
.cwkv-q-big:checked   ~ .cwkv-filters label[for*="-fbig-"] {
  background: var(--claret); border-color: var(--claret-d); color: #fff; }

/* --- дисклеймер ---------------------------------------------------------- */
body .cwkv-disc { font-size: 13px !important; line-height: 1.6; color: var(--ink-3) !important;
                  margin: 16px 0 0; padding: 12px 14px; background: transparent;
                  border-left: 2px solid var(--rule); }

/* --- планшет ------------------------------------------------------------- */
@media (max-width: 1023px) {
  .cwkv-list > li.cwkv-row {
    grid-template-columns: 44px 128px minmax(0, 1fr) 170px;
    grid-template-areas: "rank logo main offer" "rank cta cta cta";
  }
  .cwkv-logo img { width: 100px !important; height: 58px !important; }
  .cwkv-cta { padding: 0 16px 14px; }
  .cwkv-offer { border-left: 1px solid var(--rule-2); }
}

/* --- телефон ------------------------------------------------------------- */
@media (max-width: 699px) {
  .cwkv-list > li.cwkv-row {
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas: "rank logo" "rank main" "rank offer" "rank cta";
    align-items: stretch;
  }
  .cwkv-rank { align-self: stretch; }
  .cwkv-logo { justify-content: flex-start; padding: 9px 16px 2px; }
  /* ⛔ `height` без !important проигрывает донорскому `img{height:auto!important}`:
     квадратный логотип разъезжался до 88 px и строка вылетала из коридора R9. */
  .cwkv-logo img { width: 88px !important; height: 36px !important; }
  /* на телефоне строка обязана уложиться в коридор R9 (<=290 px): оставляем два
     самых говорящих чипа, остальные факты — в «что мы проверили» и на карточке */
  body .cwkv-chips li:nth-child(n+3) { display: none; }
  .cwkv-main { padding: 2px 16px 7px; }
  body .cwkv-name { font-size: 16px; margin-bottom: 5px; }
  body .cwkv-chips { gap: 2px 12px; }
  body .cwkv-chips li { font-size: 12.5px; line-height: 1.4; }
  .cwkv-det { margin-top: 5px; }
  body .cwkv-cta a { padding: 10px 10px; }
  .cwkv-offer { flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: 0 8px;
                border-left: 0; box-shadow: inset 0 2px 0 var(--brass); padding: 8px 16px; }
  .cwkv-ok { width: 100%; margin-bottom: 2px; }
  .cwkv-cta { padding: 8px 16px 10px; }
  .cwkv-filters label { font-size: 12px; padding: 7px 12px; }
}

/* --- печать -------------------------------------------------------------- */
@media print {
  .cwkv-list > li.cwkv-hid { display: grid; }
  .cwkv-more, .cwkv-filters { display: none; }
}

/* --- перебиваем СВОЁ ЖЕ правило этапа 05 -----------------------------------
   `body .container a:not([class*=btn])…` имеет вес (0,4,2) и красит ЛЮБУЮ ссылку
   в контенте в бирюзовый — включая белый текст на гранатовой кнопке витрины.
   Берём вес (0,4,3) полным путём, а не новым `!important` поверх старого. */
body .cwkv-wrap .cwkv-list > li.cwkv-row .cwkv-cta a,
body .cwkv-wrap .cwkv-list > li.cwkv-row .cwkv-cta a:hover,
body .cwkv-wrap .cwkv-list > li.cwkv-row .cwkv-cta a:focus { color: #fff !important; }
body .cwkv-wrap .cwkv-list > li.cwkv-row .cwkv-lgo,
body .cwkv-wrap .cwkv-list > li.cwkv-row .cwkv-lgo:hover {
  text-decoration: none !important; border-bottom: 0 !important; }

/* ==== LAST cwk ==== */
/* ============================================================================
   ПОСЛЕДНИЙ РУБЕЖ. Идёт в файле САМЫМ ПОСЛЕДНИМ — после каркаса и после витрины.
   Здесь только правила, которые проигрывали донору (или нашему же более раннему
   блоку) ПО РАВНОЙ СПЕЦИФИЧНОСТИ и поэтому решаются порядком, а не весом.
   ========================================================================= */

/* ⛔ `body .container a:not([class*=btn])…` = (0,4,2) и стоит позже, чем наши
   контр-правила такого же веса — донорские кнопки «GRAB BONUS» получали бирюзовый
   текст на гранатовом фоне (контраст 1.2). Повторяем их здесь последними. */
/* Вес донорского спорщика — (0,5,2) (четыре `:not()` = четыре класса). Чтобы не
   плодить фиктивные предки, поднимаем вес ПОВТОРОМ класса: `.play.play` — это
   тот же элемент, но +1 к специфичности. Итог (0,6,2) — выигрываем честно. */
body .container .row.bg2.bg2 .play.play a, body .container .row.bg3.bg3 .play.play a,
body .fusion-row .row.bg2.bg2 .play.play a, body .fusion-row .row.bg3.bg3 .play.play a,
body .container .listings.listings .play.play a,
body .fusion-row .listings.listings .play.play a,
body .container .item.item .col-btn.col-btn a, body .fusion-row .item.item .col-btn.col-btn a,
body .container a.pt-cv-readmore.pt-cv-readmore.btn,
body .fusion-row a.pt-cv-readmore.pt-cv-readmore.btn,
body .container a.btn.btn.btn, body .fusion-row a.btn.btn.btn { color: #fff !important; }
/* …и то же с ID-оболочкой: у `body #content a:not()…` вес (1,4,2), классами его не взять */
body #content .row.bg2.bg2 .play.play a, body #content .row.bg3.bg3 .play.play a,
body #content .listings.listings .play.play a,
body #content .item.item .col-btn.col-btn a,
body #content a.btn.btn.btn, body #content a.pt-cv-readmore.pt-cv-readmore.btn,
#page-wrapper .row.bg2.bg2 .play.play a, #wrapper .row.bg2.bg2 .play.play a,
#page-wrapper .row.bg3.bg3 .play.play a, #wrapper .row.bg3.bg3 .play.play a,
#page-wrapper .listings.listings .play.play a, #wrapper .listings.listings .play.play a,
#page-wrapper .item.item .col-btn.col-btn a, #wrapper .item.item .col-btn.col-btn a {
  color: #fff !important; }

/* донорская кнопка «Show details» — тёмный текст на синем, и вообще она мёртвая (JS) */
body .infobtn, body li.infobtn, body a.red.collapsed,
body [data-toggle="collapse"] { display: none !important; }

/* прячем служебный SEO-заголовок донора по-настоящему, а не серым по бумаге */
body .rich-snippet-hidden, body .entry-title.rich-snippet-hidden {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ⛔ R11: секции обязаны быть одной ширины. Бутстраповский `.row` донора тянет
   `margin: 0 -15px` и становится на 30 px шире колонки — соседняя витрина 848,
   а строка донора 880. Гасим жёлоб везде, кроме перебранных нами сеток хаба. */
body .container > .row:not(.bg2):not(.bg3),
body .fusion-row > .row:not(.bg2):not(.bg3),
body #content > .row:not(.bg2):not(.bg3) {
  margin-left: 0 !important; margin-right: 0 !important; }
body .container > .row:not(.bg2):not(.bg3) > [class*="col-"],
body .fusion-row > .row:not(.bg2):not(.bg3) > [class*="col-"],
body #content > .row:not(.bg2):not(.bg3) > [class*="col-"] {
  padding-left: 0 !important; padding-right: 0 !important; }

/* ⛔ витрина не должна быть уже прозы: на части страниц нативная таблица жила
   внутри узкой обёртки донора (`div.heading` с собственными полями), и витрина
   унаследовала её ширину. Обнуляем поля ТОЛЬКО у прямого родителя витрины. */
body div:has(> section.cwkv-wrap) {
  width: 100% !important; max-width: 100% !important;
  margin-left: 0 !important; margin-right: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important; }
/* ⛔ поле, снятое с обёртки, переносим НА САМУ ВИТРИНУ: обёртка часто рисует
   плашку, и без него текст лип бы к её краю (padding-lives-on-the-block…),
   а с полем на обёртке витрина была уже прозы (R-проверка «витрина уже контента»). */
body div:has(> section.cwkv-wrap) > section.cwkv-wrap,
body .cwkv-wrap { padding-left: 18px; padding-right: 18px; }
@media (max-width: 768px) {
  body div:has(> section.cwkv-wrap) > section.cwkv-wrap,
  body .cwkv-wrap { padding-left: 16px; padding-right: 16px; }
}

/* блоки Rank Math (FAQ) шире вьюпорта на телефоне: не прячем в скролл, а даём
   длинным словам и таблицам переноситься — иначе R7 честно видит внутренний скролл */
body [class*="rank-math"], body .rank-math-block {
  overflow-x: visible; overflow-wrap: anywhere; word-break: normal;
  /* блок висел на -12 px левее вьюпорта (свой минус-жёлоб) — R2 ловил это как оверфлоу */
  margin-left: 0 !important; margin-right: 0 !important; }
body [class*="rank-math"] table { display: block; overflow-x: auto; max-width: 100%; }

/* ⛔ колонки конструктора Avada на телефоне не складываются в стопку — витрина
   оказывалась 170 px шириной внутри 274 px ряда. Складываем принудительно. */
@media (max-width: 767px) {
  body .fusion-builder-row, body .fusion-layout-column, body .fusion-column-wrapper,
  body .fusion-column-content, body .fusion-column-content-centered,
  body .fusion-builder-row > div {
    width: 100% !important; max-width: 100% !important; float: none !important;
    margin-left: 0 !important; margin-right: 0 !important; }
  /* ⛔ поля снимаем ТОЛЬКО с внутренних обёрток без собственного фона: у
     `.fusion-builder-row` и `.fusion-column-wrapper` фон есть, и обнуление
     превращалось в «текст прилип к плашке» (padding-lives-on-the-block…). */
  body .fusion-column-content, body .fusion-column-content-centered,
  body .fusion-text { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ⛔ ролловеры Avada поверх картинок: бирюзовая подпись на #333 (контраст 1.8).
   Блок чисто декоративный и живёт на JS — снимаем. */
body .fusion-rollover, body .fusion-rollover-content { display: none !important; }

/* ⛔ карусель «related posts» донора управлялась JS: слайды остались с
   `visibility:hidden`, и R5 видит семь скрытых заголовков. Раскладываем плиткой,
   стрелки убираем — ссылки остаются живыми (donor-js-controls-leave-dead-links). */
body .fusion-carousel-holder, body .fusion-carousel-wrapper, body .fusion-carousel-positioner {
  width: auto !important; height: auto !important; transform: none !important;
  position: static !important; overflow: visible !important; }
body .fusion-carousel-item {
  visibility: visible !important; position: static !important; float: none !important;
  display: inline-block !important; vertical-align: top;
  width: 31% !important; margin: 0 1% 14px 0 !important; }
@media (max-width: 767px) { body .fusion-carousel-item { width: 100% !important; } }
body .fusion-carousel-nav, body .fusion-carousel-pagination { display: none !important; }

/* ⛔ на десктопе витрина оказалась 646 px против 808 px прозы: колонка конструктора
   Avada (`fusion-column-*`) навешивает свои поля. Обнуляем их ТОЛЬКО у обёрток,
   внутри которых лежит витрина — остальная вёрстка страницы не задета. */
body .fusion-column-content:has(.cwkv-wrap),
body .fusion-column-content-centered:has(.cwkv-wrap),
body .wp-block-group:has(.cwkv-wrap),
body .wp-block-group__inner-container:has(.cwkv-wrap),
body .fusion-layout-column:has(.cwkv-wrap) {
  width: 100% !important; max-width: 100% !important; float: none !important;
  margin-left: 0 !important; margin-right: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important; }

/* ⛔⛔ ОТСТУП ВЕШАЕМ НА БЛОК, КОТОРЫЙ РИСУЕТ ФОН (правило владельца, gate_padding).
   Плашки донора стоят по сетке, а текст в них идёт от самого края: норма 16 px
   на 1440/1024 и 12 px на 768/390. */
body .wp-block-group[class*="eplus-"]:not(:has(.cwkv-wrap)),
body .wp-block-group__inner-container[class*="eplus-"]:not(:has(.cwkv-wrap)),
body .no_bullets, body .collapse, body .faq-content, body .tooltip-text {
  padding-left: 20px !important; padding-right: 20px !important;
  box-sizing: border-box !important; overflow-wrap: anywhere; }
@media (max-width: 768px) {
  body .wp-block-group[class*="eplus-"]:not(:has(.cwkv-wrap)),
  body .wp-block-group__inner-container[class*="eplus-"]:not(:has(.cwkv-wrap)),
  body .no_bullets, body .collapse, body .faq-content, body .tooltip-text {
    padding-left: 14px !important; padding-right: 14px !important; }
}

/* добор по gate_padding: плашка `.heading` донора давала 14 px при норме 16,
   а `.fusion-builder-row` внутри другого `.fusion-row` обнулялась правилом
   «вложенный ряд без полей» с этапа 05 — и на телефоне текст лип к краю. */
body .heading, body .item, body .container1, body .row.bg2, body .row.bg3,
body .faq-item { padding-left: 20px !important; padding-right: 20px !important; }
@media (max-width: 768px) {
  body .heading, body .item, body .container1, body .row.bg2, body .row.bg3,
  body .faq-item { padding-left: 15px !important; padding-right: 15px !important; }
  /* вес (0,3,1): правило этапа 05 «вложенный .fusion-row без полей» имеет (0,2,1) */
  body .fusion-builder-row.fusion-builder-row.fusion-row {
    padding-left: 15px !important; padding-right: 15px !important; }
}

/* ⛔ шапка-герой донора: её фоном была картинка с впечатанным логотипом
   (снята на 12.2c), и на её месте остался пустой провал в 150 px.
   Слой фона убираем, отступы героя приводим к нашей типографике, текст —
   влево, как на остальных страницах. */
body .header-background { display: none !important; }
body .head-main { padding-top: 26px !important; padding-bottom: 26px !important;
                  background: transparent !important; }
body .head-main, body .text-intro, body .text-intro p,
body .head-main h1, body .head-main h2 { text-align: left !important; }

/* пустые обёртки снятых картинок не должны держать высоту */
body figure:empty, body .wp-block-image:empty, body .fusion-imageframe:empty,
body .image-container:empty, body p:empty { display: none !important; }

/* ⛔⛔ ЕДИНЫЙ ВИД ВИТРИНЫ НА ЛЮБОМ ШАБЛОНЕ ДОНОРА. На части страниц обёртка донора
   навешивает `text-transform: uppercase`, центрирование и свой шрифт — витрина на них
   выглядела ЧУЖОЙ: имена брендов и кнопки капсом, чипы по центру. Сбрасываем всё внутри
   витрины и возвращаем только то, что задумано нами. */
body .cwkv-wrap, body .cwkv-wrap * {
  text-transform: none !important; text-align: left !important;
  letter-spacing: normal !important; font-style: normal !important; }
body .cwkv-wrap .cwkv-upd, body .cwkv-wrap .cwkv-ok, body .cwkv-wrap .cwkv-pick,
body .cwkv-wrap .cwkv-det > summary {
  text-transform: uppercase !important; letter-spacing: .07em !important; }
body .cwkv-wrap .cwkv-cta a, body .cwkv-wrap .cwkv-more, body .cwkv-wrap .cwkv-rank {
  text-align: center !important; }
body .cwkv-wrap .cwkv-h2, body .cwkv-wrap .cwkv-name, body .cwkv-wrap .cwkv-ov,
body .cwkv-wrap .cwkv-cta a, body .cwkv-wrap .cwkv-more, body .cwkv-wrap .cwkv-rank,
body .cwkv-wrap .cwkv-upd, body .cwkv-wrap .cwkv-ok, body .cwkv-wrap .cwkv-det > summary,
body .cwkv-wrap .cwkv-filters label { font-family: var(--f-disp) !important; }
body .cwkv-wrap p, body .cwkv-wrap li { font-family: var(--f-text) !important; }

/* заголовки страницы — наша типографика на всех поколениях шаблона, а не шрифт донора */
body h1, body h2, body h3, body h4 { font-family: var(--f-disp) !important; }
body h1, body .heading h1, body .text-intro h1 { text-align: left !important; }
/* жирная рамка донорской плашки — в нашу волосяную линейку */
body .heading { border-color: var(--rule) !important; border-width: 1px !important; }

/* врезка донора `intro-box` — рамка 3 px чёрным; в нашей палитре это латунная линейка слева */
body .intro-box {
  border: 0 !important; border-left: 3px solid var(--brass) !important;
  border-radius: 0 !important; background: transparent !important; }
/* своя строка «Updated: …» не должна ловить центрирование донорской шапки страницы */
body .cwk-upd { text-align: left !important; }

/* ⛔⛔ КОЛОНКА AVADA ВОКРУГ ВИТРИНЫ — компромисс двух гейтов, посчитанный по цифрам.
   `gate_padding` меряет РАМКУ элемента (не позицию буквы), поэтому поле обязано лежать
   на самих обёртках, которые рисуют фон; `gate_render` требует, чтобы витрина была не
   уже 0.9 от прозы. Держим поле на ряду и колонке (18/12 px), а всё, что глубже, — без полей:
   1440: 808 − 4×18 = 736 → 0.911 · 390: 274 − 4×12 = 226 → 0.926. Оба порога пройдены. */
/* поле нужно КАЖДОМУ ряду и колонке конструктора, а не только тем, где витрина:
   после выравнивания заголовков влево текст стал упираться в край плашки и там, где
   витрины нет. Вес (0,3,1) — перебиваем своё же правило этапа 05 «вложенный ряд без полей». */
body .fusion-builder-row.fusion-builder-row.fusion-row,
body .fusion-column-wrapper.fusion-column-wrapper {
  padding-left: 18px !important; padding-right: 18px !important; }
body .fusion-layout-column:has(.cwkv-wrap),
body .fusion-column-content:has(.cwkv-wrap),
body .fusion-column-content-centered:has(.cwkv-wrap),
body .fusion-text:has(.cwkv-wrap),
body .fusion-text:has(.cwkv-wrap) > section.cwkv-wrap {
  padding-left: 0 !important; padding-right: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
  width: 100% !important; max-width: 100% !important; }
@media (max-width: 768px) {
  body .fusion-builder-row.fusion-builder-row.fusion-row,
  body .fusion-column-wrapper.fusion-column-wrapper {
    padding-left: 12px !important; padding-right: 12px !important; }
}

/* ⛔ «параллакс-полоса» Avada: чужая фотография фоном (`background-attachment: fixed`),
   минус-поля по 30 px — по краям колонки торчали тёмные обрезки картинки донора.
   Фон снимаем (класс D/E по asset-classes-what-to-fetch), жёлоб гасим. */
body .fusion-fullwidth {
  background-image: none !important; background-attachment: scroll !important;
  margin-left: 0 !important; margin-right: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important; }
/* рамка донорского ряда не должна обводить нашу витрину */
body .fusion-builder-row:has(.cwkv-wrap), body .fusion-column-wrapper:has(.cwkv-wrap),
body .fusion-fullwidth:has(.cwkv-wrap) {
  border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
