/* achh — хабы главной (этап 08b). Только на главной. Токены — скина ach. */
body .achh{--g:var(--ach-green,#0a5c3c);--gd:var(--ach-green-d,#07452c);--gl:var(--ach-green-l,#0f7a4f);
  --au:var(--ach-gold,#f2b01e);--aud:var(--ach-gold-d,#c98d0a);--sa:var(--ach-sand,#faf7f1);
  --ln:var(--ach-line,#e3ded2);--ink:var(--ach-ink,#12211a);--mut:var(--ach-mut,#5d6b63);
  box-sizing:border-box;width:100%;max-width:100%;margin:28px 0 32px;font-family:Roboto,Arial,sans-serif;
  color:var(--ink);text-align:left;clear:both}
body .achh *,body .achh *::before,body .achh *::after{box-sizing:border-box}
body .achh a{text-decoration:none!important;color:inherit!important;display:flex;min-width:0}
body .achh a:focus-visible{outline:3px solid var(--au);outline-offset:2px}
body .achh span,body .achh b,body .achh i{display:block;font-style:normal}
body .achh .achh-hd{margin:0 0 14px;padding:0 0 10px;border-bottom:2px solid var(--ln)}
body .achh .achh-k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--aud)}
body .achh .achh-t{font-size:22px;line-height:1.25;font-weight:700;color:var(--ink);margin-top:2px}
body .achh .achh-n{font-size:16px;line-height:1.3;font-weight:700;color:var(--g)}
body .achh .achh-x{font-size:14px;line-height:1.45;color:var(--mut);margin-top:4px}
body .achh img.achh-im{display:block;width:100%!important;max-width:100%!important;height:100%!important;
  object-fit:cover;margin:0!important;border:0;border-radius:0;float:none!important}
body .achh img.achh-im--fit{object-fit:contain;background:#fff}
body .achh .achh-fr{position:relative;overflow:hidden;background:var(--sa);aspect-ratio:16/10;flex:none}
body .achh .achh-ic{width:26px;height:26px;display:block}

/* A — рейтинги: ведущая карточка + список */
body .achh--rank .achh-rk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px}
body .achh--rank .achh-lead{flex-direction:column;background:#fff;border:1px solid var(--ln);border-radius:4px;overflow:hidden}
body .achh--rank .achh-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--g);color:#fff;border-radius:4px;width:64px;height:64px;flex:none}
body .achh--rank .achh-tile b{font-size:16px;line-height:1;font-weight:700;color:var(--au);margin-top:3px}
body .achh--rank .achh-tile .achh-ic{width:22px;height:22px}
body .achh--rank .achh-tile--big{width:100%;height:auto;min-height:150px;border-radius:0;
  background:linear-gradient(135deg,var(--gd),var(--gl));padding:18px}
body .achh--rank .achh-tile--big .achh-ic{width:40px;height:40px;color:var(--au)}
body .achh--rank .achh-tile--big b{font-size:40px;color:#fff;margin-top:8px}
body .achh--rank .achh-tile--big i{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#d6e8de}
body .achh--rank .achh-lead .achh-bd{padding:16px 18px 18px}
body .achh--rank .achh-lead .achh-n{font-size:19px}
body .achh .achh-more{margin-top:12px;font-size:14px;font-weight:700;color:var(--g)}
body .achh .achh-more::after{content:" \2192"}
body .achh--rank .achh-ls{list-style:none!important;margin:0!important;padding:0!important;display:flex;
  flex-direction:column;gap:10px}
body .achh--rank .achh-ls li{margin:0!important;padding:0!important;list-style:none!important}
body .achh--rank .achh-ls li::before{content:none!important}
body .achh--rank .achh-ls a{align-items:center;gap:14px;background:#fff;border:1px solid var(--ln);
  border-radius:4px;padding:10px 14px 10px 10px;height:100%}
body .achh--rank .achh-ls .achh-tile:nth-child(2){background:var(--sa);color:var(--g);border:1px solid var(--ln)}
body .achh--rank .achh-ls .achh-tile b{color:var(--ink)}
body .achh--rank .achh-no{font-size:13px;font-weight:700;color:var(--aud);width:20px;flex:none;text-align:center}
body .achh--rank .achh-ls .achh-bd{min-width:0}
body .achh--rank .achh-lead:hover,body .achh--rank .achh-ls a:hover{border-color:var(--g)}
body .achh .achh-note{font-size:12.5px!important;color:var(--mut)!important;margin:10px 0 0!important}

/* B — слоты: фото-сетка, подпись под кадром */
body .achh--gal .achh-gg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body .achh--gal .achh-gc{flex-direction:column;background:#fff;border:1px solid var(--ln);border-radius:4px;overflow:hidden}
body .achh--gal .achh-gc .achh-fr{aspect-ratio:256/170}
body .achh--gal .achh-gc .achh-bd{padding:12px 14px 14px;border-top:3px solid var(--au)}
body .achh--gal .achh-gc:hover{border-color:var(--g)}
body .achh--gal .achh-gc:hover .achh-n{text-decoration:underline}

/* C — способы играть: тёмная полоса, медиа-строки */
body .achh--rows{background:var(--gd);border-radius:4px;padding:20px 20px 22px}
body .achh--rows .achh-hd{border-bottom-color:rgba(255,255,255,.18)}
body .achh--rows .achh-k{color:var(--au)}
body .achh--rows .achh-t{color:#fff}
body .achh--rows .achh-mg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body .achh--rows .achh-mr{align-items:stretch;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:4px;overflow:hidden}
body .achh--rows .achh-mr .achh-fr{width:38%;aspect-ratio:auto;min-height:118px;background:#0b3a26}
body .achh--rows .achh-mr .achh-bd{padding:12px 14px;min-width:0;flex:1}
body .achh--rows .achh-n{color:#fff}
body .achh--rows .achh-x{color:#cfe0d6}
body .achh--rows .achh-f{margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--au)}
body .achh--rows .achh-mr:hover{background:rgba(255,255,255,.12);border-color:var(--au)}

/* D — Южная Африка: цифра со страницы над заголовком */
body .achh--fig{background:var(--sa);border:1px solid var(--ln);border-radius:4px;padding:20px}
body .achh--fig .achh-fg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body .achh--fig .achh-fc{flex-direction:column;background:#fff;border:1px solid var(--ln);border-radius:4px;overflow:hidden}
body .achh--fig .achh-fc .achh-fr{aspect-ratio:256/170;background:#fff}
body .achh--fig .achh-bd{padding:12px 14px 14px}
body .achh--fig .achh-fig{border-left:3px solid var(--au);padding-left:10px;margin-bottom:10px}
body .achh--fig .achh-fig b{font-size:24px;line-height:1.1;font-weight:800;color:var(--ink)}
body .achh--fig .achh-fig i{font-size:12px;line-height:1.35;color:var(--mut);margin-top:3px}
body .achh--fig .achh-n{font-size:15px}
body .achh--fig .achh-fc:hover{border-color:var(--g)}

/* контекстные ссылки в абзацах донора: правило скина красит p целиком в ink */
body .oxy-rich-text[id] p a.achh-ln{color:var(--ach-green,#0a5c3c)!important;text-decoration:underline!important;
  text-underline-offset:2px;font-weight:500}
body .oxy-rich-text[id] p a.achh-ln:hover{color:var(--ach-green-d,#07452c)!important}

/* кнопка-якорь на витрину */
body .oxy-rich-text[id] p.achh-jump{margin:14px 0 6px!important}
body .oxy-rich-text[id] p.achh-jump a{display:inline-block;background:var(--ach-gold,#f2b01e);color:var(--ach-ink,#12211a)!important;
  font-weight:700;font-size:15px;line-height:1.3;padding:11px 18px;border-radius:4px;text-decoration:none!important}
body .oxy-rich-text[id] p.achh-jump a::after{content:" \2193"}
body .oxy-rich-text[id] p.achh-jump a:hover{background:var(--ach-gold-d,#c98d0a)}

/* кредиты фото — одна строка в конце листа */
body .achh-cred{margin:18px 0 0;font-size:12px;line-height:1.6;color:var(--ach-mut,#5d6b63)}
body .achh-cred a{color:var(--ach-mut,#5d6b63)!important;text-decoration:underline!important}

@media (max-width:900px){
  body .achh--gal .achh-gg,body .achh--fig .achh-fg{grid-template-columns:repeat(2,minmax(0,1fr))}
  body .achh--rank .achh-rk{grid-template-columns:minmax(0,1fr)}
  body .achh--rank .achh-tile--big{min-height:120px}
}
@media (max-width:640px){
  body .achh--rows .achh-mg{grid-template-columns:minmax(0,1fr)}
  body .achh--rows{padding:16px 14px 18px}
  body .achh--fig{padding:14px}
  body .achh .achh-t{font-size:19px}
  body .achh--gal .achh-gg{gap:10px}
  body .achh--gal .achh-gc .achh-bd{padding:10px}
  body .achh--gal .achh-x{font-size:13px}
}
@media (max-width:640px){
  body .achh--fig .achh-fg{gap:10px}
  body .achh--fig .achh-bd{padding:10px}
  body .achh--fig .achh-fig{padding-left:8px;margin-bottom:8px}
  body .achh--fig .achh-fig b{font-size:18px}
  body .achh--fig .achh-fig i{font-size:11.5px}
  body .achh--fig .achh-n{font-size:14px}
  body .achh--fig .achh-x{display:none}
}
@media (max-width:420px){body .achh--rows .achh-mr .achh-fr{width:34%}}

/* лист главной: секции 35 и 47 (рейтинги, слоты) стояли шире листа и на мобилке без поля — равняем по rich-text 78 */
body #div_block-45-100,body #div_block-50-100{box-sizing:border-box;width:100%;padding-left:20px!important;padding-right:20px!important}
@media (max-width:640px){body #div_block-45-100,body #div_block-50-100{padding-left:14px!important;padding-right:14px!important}}
body .achh .achh-note a.achh-st{display:inline;color:var(--g)!important;text-decoration:underline!important;font-weight:500}
