/*
Theme Name: hikari
Description: Тема nodeposit-bonus-jp.com — рейтинг и гайды по入金不要ボーナス. Mobile-first, без jQuery. Данные брендов, шорткоды, schema — плагин prgvs.
Version: 1.0.0
Author: prgvs
Text Domain: hikari
*/

:root {
  --tl: #0e7c74;      /* бирюза */
  --tl-d: #0a4f4a;
  --tl-dd: #073835;
  --tl-l: #d9f2ee;
  --tl-ll: #f1faf8;
  --co: #ff6f59;      /* коралл */
  --co-d: #e8523c;
  --co-l: #ffe7e2;
  --sun: #ffc94d;
  --ink: #1d2b2a;
  --mut: #5b6b69;
  --ln: #d7e5e2;
  --bg: #f7fbfa;
  --r: 14px;
  --hd: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;
  --tx: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Yu Gothic", Meiryo, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; font: 400 16px/1.85 var(--tx); color: var(--ink); background: var(--bg); overflow-wrap: anywhere; }
img { max-width: 100%; height: auto; }
a { color: var(--tl); text-underline-offset: 3px; }
a:hover { color: var(--co-d); }
button { font: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hk-skip { position: absolute; left: -9999px; top: 0; }
.hk-skip:focus { left: 8px; top: 8px; z-index: 100; background: #fff; padding: 8px 12px; }

.hk-w { width: 100%; max-width: 1160px; margin: 0 auto; padding: 0 16px; }
.hk-narrow { max-width: 860px; }

/* ---------- Кнопки ---------- */
.hk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; cursor: pointer; border-radius: 999px; font-family: var(--hd); font-weight: 800; letter-spacing: .02em; text-decoration: none; line-height: 1.2; padding: 11px 20px; font-size: 15px; white-space: nowrap; transition: transform .12s, box-shadow .12s, background .12s; }
.hk-btn-go { background: var(--co); color: #fff; box-shadow: 0 4px 0 var(--co-d); }
.hk-btn-go::after { content: ""; width: 7px; height: 7px; border-top: 2.5px solid currentColor; border-right: 2.5px solid currentColor; transform: rotate(45deg); margin-left: 2px; }
.hk-btn-go:hover { background: #ff7f6b; color: #fff; transform: translateY(-1px); }
.hk-btn-go:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--co-d); }
.hk-btn-dark { background: var(--tl-d); color: #fff; }
.hk-btn-lg { padding: 15px 26px; font-size: 17px; }
.hk-btn-full { width: 100%; }
.hk-btn-s { padding: 8px 12px; font-size: 13px; box-shadow: 0 3px 0 var(--co-d); }
.hk-btn:focus-visible, .hk-nav-b:focus-visible, .hk-burger:focus-visible { outline: 3px solid var(--sun); outline-offset: 2px; }

/* ---------- Верхняя полоса и шапка ---------- */
.hk-top { background: var(--tl-dd); color: #cfe9e5; font-size: 12px; }
.hk-top p { margin: 0; padding: 5px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hk-top-age { display: inline-block; background: var(--co); color: #fff; font-weight: 700; border-radius: 4px; padding: 0 5px; margin-right: 4px; }

.hk-hd { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 3px solid var(--tl); }
.hk-hd-in { display: flex; align-items: center; gap: 10px; min-height: 60px; }
.hk-brand { display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--ink); margin-right: auto; min-width: 0; }
.hk-mark { flex: none; }
.hk-brand-t { font: 800 17px/1.15 var(--hd); color: var(--tl-d); white-space: nowrap; }
.hk-brand-t b { color: var(--co); margin-left: 2px; }
.hk-brand-t small { display: block; font: 400 10.5px/1.3 var(--tx); color: var(--mut); letter-spacing: .02em; }
.hk-hd-cta { padding: 9px 14px; font-size: 13px; }
@media (max-width: 479px) { .hk-hd-cta { display: none; } }
.hk-burger { width: 42px; height: 42px; flex: none; border: 2px solid var(--tl-l); border-radius: 12px; background: var(--tl-ll); cursor: pointer; position: relative; }
.hk-burger span, .hk-burger span::before, .hk-burger span::after { position: absolute; left: 10px; width: 18px; height: 2.5px; border-radius: 2px; background: var(--tl-d); content: ""; transition: transform .2s, top .2s, opacity .2s; }
.hk-burger span { top: 18px; }
.hk-burger span::before { left: 0; top: -6px; }
.hk-burger span::after { left: 0; top: 6px; }
.hk-burger[aria-expanded="true"] span { background: transparent; }
.hk-burger[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.hk-burger[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

/* меню: мобайл — выпадающая панель с аккордеонами */
.hk-nav { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 3px solid var(--tl); box-shadow: 0 18px 30px rgba(7, 56, 53, .15); max-height: calc(100vh - 90px); overflow-y: auto; display: none; }
.hk-nav.is-open { display: block; }
.hk-nav-l { list-style: none; margin: 0; padding: 6px 16px 14px; }
.hk-nav-l > li { border-bottom: 1px solid var(--ln); }
.hk-nav-b, .hk-nav-a { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 13px 2px; background: none; border: 0; font: 800 15px/1.4 var(--hd); color: var(--tl-d); cursor: pointer; text-decoration: none; text-align: left; }
.hk-nav-b::after { content: ""; width: 8px; height: 8px; border-right: 2.5px solid var(--co); border-bottom: 2.5px solid var(--co); transform: rotate(45deg); transition: transform .2s; margin: -4px 4px 0 0; }
.hk-nav-g.is-open .hk-nav-b::after { transform: rotate(-135deg); margin-top: 4px; }
.hk-sub { list-style: none; margin: 0; padding: 0 0 10px; display: none; }
.hk-nav-g.is-open .hk-sub { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 10px; }
.hk-sub a { display: block; padding: 7px 8px; border-radius: 8px; font-size: 13.5px; line-height: 1.45; color: var(--ink); text-decoration: none; background: var(--tl-ll); }
.hk-sub a:hover { background: var(--tl-l); color: var(--tl-d); }

@media (min-width: 1024px) {
  .hk-burger { display: none; }
  .hk-hd-in { min-height: 70px; gap: 22px; }
  .hk-brand-t { font-size: 20px; }
  .hk-hd-cta { padding: 11px 18px; font-size: 14px; }
  .hk-nav { position: static; display: block; background: none; border: 0; box-shadow: none; max-height: none; overflow: visible; }
  .hk-nav-l { display: flex; gap: 4px; padding: 0; }
  .hk-nav-l > li { border: 0; position: relative; }
  .hk-nav-b, .hk-nav-a { padding: 10px 12px; border-radius: 10px; font-size: 15px; gap: 8px; }
  .hk-nav-b:hover, .hk-nav-g.is-open .hk-nav-b { background: var(--tl-ll); }
  .hk-sub { position: absolute; top: calc(100% + 8px); left: 0; min-width: 300px; background: #fff; border: 2px solid var(--tl-l); border-radius: var(--r); padding: 10px; box-shadow: 0 16px 36px rgba(7, 56, 53, .16); }
  .hk-nav-g.is-open .hk-sub, .hk-nav-g:hover .hk-sub { display: grid; grid-template-columns: 1fr; gap: 2px; }
  .hk-nav-g:hover .hk-sub::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
  .hk-nav-big .hk-sub { left: auto; right: -160px; min-width: 620px; }
  .hk-nav-big.is-open .hk-sub, .hk-nav-big:hover .hk-sub { grid-template-columns: repeat(3, 1fr); }
  .hk-sub a { background: none; }
}

/* ---------- Главная: герой-баннер ---------- */
.hk-hero { position: relative; overflow: hidden; background: linear-gradient(160deg, #0e7c74 0%, #0a5c56 60%, #073835 100%); color: #fff; padding: 14px 0 22px; }
.hk-hero::before { content: ""; position: absolute; right: -80px; top: -80px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 201, 77, .28), transparent 65%); }
.hk-hero::after { content: ""; position: absolute; left: -40px; bottom: -120px; width: 260px; height: 260px; border-radius: 50%; border: 36px solid rgba(255, 111, 89, .14); }
.hk-hero-in { position: relative; z-index: 1; display: grid; gap: 14px; }
.hk-hero .hk-crumbs { color: #a8dcd5; }
.hk-hero .hk-crumbs a { color: #d9f2ee; }
.hk-kick { margin: 0 0 6px; font: 800 13px/1.4 var(--hd); color: var(--sun); display: flex; align-items: center; gap: 8px; }
.hk-kick span { background: var(--sun); color: var(--tl-dd); border-radius: 6px; padding: 2px 8px; }
.hk-hero-h1 { margin: 0 0 10px; font: 800 22px/1.45 var(--hd); letter-spacing: .01em; }
.hk-hero .hk-meta { color: #cfe9e5; }
.hk-hero .hk-meta a { color: #fff; }
.hk-hero-sub { display: none; margin: 10px 0 0; color: #d9f2ee; font-size: 14.5px; }

.hk-coupon { position: relative; background: #fff; color: var(--ink); border-radius: 18px; padding: 16px 16px 12px; box-shadow: 0 14px 32px rgba(0, 0, 0, .22); }
.hk-coupon::before, .hk-coupon::after { content: ""; position: absolute; top: 52%; width: 22px; height: 22px; border-radius: 50%; background: #0a5c56; }
.hk-coupon::before { left: -11px; }
.hk-coupon::after { right: -11px; }
.hk-coupon-rib { position: absolute; top: -10px; right: 14px; margin: 0; background: var(--sun); color: var(--tl-dd); font: 800 12px/1 var(--hd); padding: 7px 10px; border-radius: 0 0 8px 8px; }
.hk-coupon-h { display: flex; align-items: center; gap: 10px; }
.hk-coupon-n { margin: 0; font: 800 18px/1.3 var(--hd); }
.hk-coupon-k { margin: 10px 0 0; font-size: 12.5px; color: var(--mut); border-top: 2px dashed var(--ln); padding-top: 10px; }
.hk-coupon-v { margin: 0; font: 800 26px/1.25 var(--hd); color: var(--co-d); }
.hk-coupon-s { margin: 0 0 10px; font-size: 13px; color: var(--tl-d); font-weight: 700; }
.hk-coupon .hk-btn { margin-top: 6px; }
.hk-coupon-note { margin: 8px 0 0; font-size: 11.5px; color: var(--mut); text-align: center; }

.hk-perks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.hk-perks li { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px; padding: 8px 4px; text-align: center; font-size: 10.5px; line-height: 1.35; color: #d9f2ee; }
.hk-perks b { display: block; font: 800 16px/1.3 var(--hd); color: #fff; }

@media (min-width: 760px) {
  .hk-hero { padding: 26px 0 34px; }
  .hk-hero-in { grid-template-columns: 1fr 360px; gap: 18px 40px; align-items: center; }
  .hk-hero-h1 { font-size: 32px; }
  .hk-hero-sub { display: block; }
  .hk-perks { grid-column: 1 / -1; }
  .hk-perks li { font-size: 12.5px; padding: 10px; }
  .hk-perks b { font-size: 20px; }
}

/* ---------- Шапка внутренних страниц ---------- */
.hk-ph { background: linear-gradient(180deg, var(--tl-l), var(--bg)); padding: 10px 0 14px; border-bottom: 1px solid var(--ln); }
.hk-crumbs { font-size: 12px; color: var(--mut); margin: 0 0 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hk-crumbs a { color: var(--tl); }
.hk-h1 { margin: 0 0 10px; font: 800 22px/1.45 var(--hd); color: var(--tl-dd); }
.hk-404 { margin: 0; font: 800 54px/1 var(--hd); color: var(--co); }
@media (min-width: 760px) { .hk-h1 { font-size: 30px; } .hk-ph { padding: 16px 0 20px; } }

.hk-meta { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--mut); }
.hk-meta p { margin: 0; display: flex; flex-wrap: wrap; gap: 0 12px; }
.hk-meta-who a { font-weight: 700; }
.hk-av { border-radius: 50%; flex: none; display: block; }

.hk-pr { margin: 10px 0 0; font-size: 11.5px; color: var(--mut); line-height: 1.5; }
.hk-pr b { display: inline-block; border: 1px solid var(--mut); border-radius: 4px; padding: 0 5px; font-size: 10.5px; margin-right: 2px; }

.hk-strip { display: flex; align-items: center; gap: 10px; margin-top: 12px; background: #fff; border: 2px dashed var(--co); border-radius: var(--r); padding: 10px 12px; }
.hk-strip-t { flex: 1; min-width: 0; }
.hk-strip-l { margin: 0; font-size: 11.5px; color: var(--mut); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hk-strip-v { margin: 0; font: 800 15px/1.35 var(--hd); color: var(--co-d); }
.hk-strip-v small { font: 700 11px var(--tx); color: var(--tl-d); background: var(--tl-l); border-radius: 4px; padding: 1px 5px; vertical-align: 2px; }
.hk-strip .hk-btn { padding: 10px 14px; font-size: 13.5px; }
@media (max-width: 420px) { .hk-strip { flex-wrap: wrap; } .hk-strip .hk-btn { width: 100%; } }

/* ---------- Сетка: контент + боковая колонка ---------- */
.hk-grid { display: block; }
.hk-col { min-width: 0; }
.hk-side { display: none; }
@media (min-width: 1024px) {
  .hk-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 36px; align-items: start; }
  .hk-side { display: block; position: sticky; top: 92px; margin-top: 28px; }
}
.hk-side-box { background: #fff; border: 1px solid var(--ln); border-radius: var(--r); padding: 14px; margin-bottom: 14px; }
.hk-side-t { margin: 0 0 8px; font: 800 15px var(--hd); color: var(--tl-d); }
.hk-mini { list-style: none; margin: 0; padding: 0; }
.hk-mini li { display: grid; grid-template-columns: 20px 40px 1fr; align-items: center; gap: 4px 8px; padding: 10px 0; border-top: 1px solid var(--ln); }
.hk-mini li .hk-btn { grid-column: 1 / -1; }
.hk-mini-n { font: 800 16px var(--hd); color: var(--co); }
.hk-mini-name { margin: 0; font-weight: 700; font-size: 14px; line-height: 1.3; }
.hk-mini-v { margin: 0; font-size: 12px; color: var(--co-d); line-height: 1.35; }
.hk-side-more { display: block; text-align: center; font-size: 13px; margin-top: 6px; }
.hk-side-ed { display: flex; align-items: center; gap: 10px; }
.hk-side-ed p { margin: 0; line-height: 1.4; }
.hk-side-ed small { display: block; color: var(--mut); font-size: 11px; }

/* ---------- Текст статьи ---------- */
.hk-entry { padding: 18px 0 8px; font-size: 16px; }
.hk-entry > *:first-child { margin-top: 0; }
.hk-entry p { margin: 0 0 1.1em; }
.hk-entry h2 { margin: 2em 0 .8em; font: 800 20px/1.5 var(--hd); color: var(--tl-dd); padding: 0 0 8px 14px; border-left: 6px solid var(--co); border-bottom: 2px solid var(--tl-l); }
.hk-entry h3 { margin: 1.6em 0 .6em; font: 800 17px/1.5 var(--hd); color: var(--tl-d); display: flex; gap: 8px; }
.hk-entry h3::before { content: ""; flex: none; width: 10px; height: 10px; margin-top: .55em; border-radius: 3px; background: var(--tl); transform: rotate(45deg); }
@media (min-width: 760px) { .hk-entry h2 { font-size: 23px; } .hk-entry h3 { font-size: 19px; } }
.hk-entry ul, .hk-entry ol { padding-left: 1.4em; margin: 0 0 1.2em; }
.hk-entry li { margin: .3em 0; }
.hk-entry ul li::marker { color: var(--co); }
.hk-entry ol li::marker { color: var(--tl); font-weight: 700; }
.hk-entry strong { background: linear-gradient(transparent 62%, #ffe08a 62%); }

/* оглавление */
.hk-idx { margin: 1.4em 0; }
.hk-idx details { background: #fff; border: 2px solid var(--tl-l); border-radius: var(--r); }
.hk-idx summary { cursor: pointer; list-style: none; padding: 12px 16px; font: 800 15px var(--hd); color: var(--tl-d); display: flex; justify-content: space-between; align-items: center; }
.hk-idx summary::-webkit-details-marker { display: none; }
.hk-idx summary span { font: 400 12px var(--tx); color: var(--mut); }
.hk-idx ul { list-style: none; margin: 0; padding: 0 16px 12px; }
.hk-idx li { margin: 0; border-top: 1px dashed var(--ln); }
.hk-idx a { display: flex; gap: 10px; padding: 7px 0; text-decoration: none; color: var(--ink); font-size: 14.5px; line-height: 1.5; }
.hk-idx a:hover { color: var(--tl); }
.hk-idx em { font: 800 13px/1.9 var(--hd); color: var(--co); font-style: normal; }

/* таблицы (разметка контента: .tbl) */
.tbl { overflow-x: auto; margin: 0 0 1.4em; border-radius: var(--r); border: 1px solid var(--ln); background: #fff; -webkit-overflow-scrolling: touch; }
.tbl table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.tbl table:has(tr > :nth-child(3)) { min-width: 540px; }
.tbl table:has(tr > :nth-child(5)) { min-width: 680px; }
.tbl th { background: var(--tl); color: #fff; font-weight: 700; text-align: left; padding: 10px 12px; white-space: nowrap; }
.tbl td { padding: 10px 12px; border-top: 1px solid var(--ln); vertical-align: top; }
.tbl tbody tr:nth-child(even) td { background: var(--tl-ll); }
.tbl td:first-child { font-weight: 700; color: var(--tl-dd); }
.tbl td:first-child, .tbl th:first-child { min-width: 6.5em; }

/* блоки-акценты (.box) */
.box { position: relative; margin: 1.4em 0; padding: 14px 16px 4px; border-radius: var(--r); background: var(--tl-ll); border: 2px solid var(--tl-l); }
.box-t { margin: 0 0 6px !important; font: 800 14px var(--hd); color: var(--tl-d); display: flex; align-items: center; gap: 6px; }
.box-t::before { content: "✓"; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--tl); color: #fff; font-size: 12px; }
.box-tip { background: #fffaf0; border-color: #ffe7a8; }
.box-tip .box-t { color: #8a5a00; }
.box-tip .box-t::before { content: "!"; background: var(--sun); color: var(--tl-dd); }
.box-warn { background: var(--co-l); border-color: #ffc9bf; }
.box-warn .box-t { color: var(--co-d); }
.box-warn .box-t::before { content: "!"; background: var(--co); }

/* плюсы/минусы (.pc) */
.pc { display: grid; gap: 12px; margin: 1.4em 0; }
@media (min-width: 640px) { .pc { grid-template-columns: 1fr 1fr; } }
.pc-pro, .pc-con { border-radius: var(--r); padding: 12px 14px 4px; background: #fff; border: 2px solid var(--tl-l); }
.pc-con { border-color: #ffd5cc; }
.pc-t { margin: 0 0 4px !important; font: 800 15px var(--hd); color: var(--tl); }
.pc-con .pc-t { color: var(--co-d); }
.pc ul { list-style: none; padding: 0; }
.pc li { position: relative; padding-left: 22px; font-size: 14.5px; }
.pc-pro li::before { content: "＋"; position: absolute; left: 0; color: var(--tl); font-weight: 700; }
.pc-con li::before { content: "－"; position: absolute; left: 0; color: var(--co-d); font-weight: 700; }

/* FAQ (<details> в контенте) */
.hk-entry > details { margin: 0 0 10px; background: #fff; border: 1px solid var(--ln); border-radius: 12px; overflow: hidden; }
.hk-entry > details > summary { cursor: pointer; list-style: none; position: relative; padding: 13px 44px 13px 44px; font-weight: 700; line-height: 1.55; }
.hk-entry > details > summary::-webkit-details-marker { display: none; }
.hk-entry > details > summary::before { content: "Q"; position: absolute; left: 12px; top: 12px; width: 24px; height: 24px; border-radius: 50%; background: var(--tl); color: #fff; font: 800 13px/24px var(--hd); text-align: center; }
.hk-entry > details > summary::after { content: "+"; position: absolute; right: 16px; top: 10px; font: 800 20px var(--hd); color: var(--co); }
.hk-entry > details[open] > summary::after { content: "−"; }
.hk-entry > details > p { margin: 0; padding: 0 16px 14px 44px; color: #33413f; }

/* ---------- Плитка бренда (лого или текст) ---------- */
.hk-tile { flex: none; display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; overflow: hidden; background: #111; }
.hk-tile img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.45); }
.hk-tile-t::before { content: attr(data-t); color: #fff; font: 800 11px/1.1 var(--hd); text-align: center; padding: 0 3px; letter-spacing: 0; white-space: nowrap; overflow-wrap: normal; }
.hk-tile-sm::before { font-size: 9px; white-space: normal; }
.hk-strip .hk-tile { width: 48px; height: 48px; }
.hk-mini .hk-tile { width: 40px; height: 40px; border-radius: 10px; }
.hk-mini .hk-tile-t::before { font-size: 7.5px; white-space: normal; }
.hk-tone0 { background: linear-gradient(135deg, #1a8f7d, #0b5148); }
.hk-tone1 { background: linear-gradient(135deg, #5a43c9, #2c1f7a); }
.hk-tone2 { background: linear-gradient(135deg, #f0853c, #b44a17); }
.hk-tone3 { background: linear-gradient(135deg, #1f6fd1, #123f7d); }
.hk-tone4 { background: linear-gradient(135deg, #c2367a, #6e1846); }
.hk-tone5 { background: linear-gradient(135deg, #2b3a48, #0f171e); }

/* ---------- Рейтинг [prgvs_top] ---------- */
.hk-rank { margin: 1.4em 0 1.6em; }
.hk-rank-l { display: grid; gap: 12px; }
.hk-rc { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 10px 12px; background: #fff; border: 2px solid var(--ln); border-radius: 18px; padding: 16px 14px 14px; }
.hk-rc-1 { border-color: var(--sun); box-shadow: 0 8px 22px rgba(255, 201, 77, .25); }
.hk-rc-2, .hk-rc-3 { border-color: var(--tl-l); }
.hk-rc-pos { position: absolute; top: -2px; left: -2px; margin: 0; background: var(--tl); color: #fff; border-radius: 18px 0 12px 0; padding: 2px 10px 3px; font: 800 12px/1.5 var(--hd); }
.hk-rc-pos span { font-size: 16px; margin-right: 1px; }
.hk-rc-1 .hk-rc-pos { background: var(--sun); color: var(--tl-dd); }
.hk-rc .hk-tile { margin-top: 12px; }
.hk-rc-body { min-width: 0; padding-top: 8px; }
.hk-rc-name { margin: 0 !important; font: 800 17px/1.4 var(--hd); }
.hk-star { font: 700 13px var(--tx); color: #c98a00; white-space: nowrap; }
.hk-rc-ndb { margin: 2px 0 0 !important; line-height: 1.45; }
.hk-rc-ndb span { font-size: 11.5px; font-weight: 700; color: #fff; background: var(--co); border-radius: 5px; padding: 1px 6px; vertical-align: 2px; }
.hk-rc-ndb strong { font: 800 17px var(--hd); color: var(--co-d); background: none; }
.hk-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 0 !important; padding: 0 !important; }
.hk-chips li { margin: 0; font-size: 12px; line-height: 1.5; background: var(--tl-ll); border: 1px solid var(--tl-l); border-radius: 999px; padding: 1px 9px; color: var(--mut); }
.hk-chips b { color: var(--tl-dd); }
.hk-rc-dep { margin: 6px 0 0 !important; font-size: 13px; line-height: 1.5; color: #33413f; }
.hk-rc-dep span { font-weight: 700; color: var(--tl); }
.hk-rc-act { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; }
.hk-rc-act .hk-btn { flex: 1; }
.hk-more { font-size: 13px; font-weight: 700; white-space: nowrap; }
.hk-rank-note { margin: 8px 0 0 !important; font-size: 11.5px; color: var(--mut); line-height: 1.6; }
@media (min-width: 760px) {
  .hk-rc { grid-template-columns: 64px 1fr 210px; align-items: center; padding: 18px 18px 16px; }
  .hk-rc .hk-tile { width: 64px; height: 64px; margin-top: 0; }
  .hk-rc-act { grid-column: auto; flex-direction: column; gap: 6px; }
  .hk-rc-act .hk-btn { width: 100%; }
}

/* ---------- CTA-купон [prgvs_cta] ---------- */
.hk-tk { position: relative; margin: 1.6em 0; display: grid; gap: 10px; background: #fff; border: 2px solid var(--co); border-radius: 18px; padding: 16px; background-image: radial-gradient(circle at 0 50%, var(--bg) 10px, transparent 11px), radial-gradient(circle at 100% 50%, var(--bg) 10px, transparent 11px); }
.hk-tk p { margin: 0 !important; }
.hk-tk-l { display: flex; align-items: center; gap: 10px; }
.hk-tk-lbl { font-size: 11.5px; font-weight: 700; color: var(--co-d); }
.hk-tk-name { font: 800 17px/1.35 var(--hd); }
.hk-tk-m { border-top: 2px dashed var(--ln); padding-top: 10px; }
.hk-tk-k { font-size: 12px; color: var(--mut); }
.hk-tk-v { font: 800 22px/1.35 var(--hd); color: var(--co-d); }
.hk-tk-s { font-size: 12.5px; color: var(--tl-d); line-height: 1.55; margin-top: 2px !important; }
.hk-tk-r { display: flex; flex-direction: column; align-items: stretch; gap: 6px; text-align: center; }
.hk-tk-note { font-size: 11px; color: var(--mut); text-align: center; }
@media (min-width: 760px) {
  .hk-tk { grid-template-columns: 220px 1fr 220px; align-items: center; gap: 16px; padding: 18px 22px; }
  .hk-tk-m { border-top: 0; border-left: 2px dashed var(--ln); padding: 0 0 0 16px; }
  .hk-tk-note { grid-column: 1 / -1; }
}

/* ---------- Автор, похожие, ссылки ---------- */
.hk-auth { margin: 26px 0; background: #fff; border: 2px solid var(--tl-l); border-radius: 18px; padding: 16px; }
.hk-auth-t { margin: 0 0 10px; font: 800 13px var(--hd); color: #fff; background: var(--tl); display: inline-block; border-radius: 999px; padding: 3px 12px; }
.hk-auth-b { display: flex; gap: 14px; align-items: flex-start; }
.hk-auth-b p { margin: 0; }
.hk-auth-n { font: 800 18px/1.4 var(--hd); color: var(--tl-dd); }
.hk-auth-n small { font: 400 12px var(--tx); color: var(--mut); }
.hk-auth-r { font-size: 13px; color: var(--co-d); font-weight: 700; }
.hk-auth-bio { font-size: 14px; line-height: 1.75; margin-top: 6px !important; color: #33413f; }
.hk-auth-more { margin-top: 6px !important; font-size: 13.5px; font-weight: 700; }
.hk-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0 !important; margin: 8px 0 0 !important; }
.hk-tags li { margin: 0; font-size: 12px; background: var(--tl-ll); border: 1px solid var(--tl-l); border-radius: 999px; padding: 2px 10px; color: var(--tl-d); }
.hk-auth-home { background: linear-gradient(135deg, #fff 60%, var(--tl-ll)); }

.hk-rel { margin: 0 0 30px; }
.hk-rel-t { margin: 0 0 8px; font: 800 16px var(--hd); color: var(--tl-dd); }
.hk-rel ul, .hk-links { list-style: none; margin: 0 0 1.4em; padding: 0 !important; display: grid; gap: 8px; }
@media (min-width: 640px) { .hk-rel ul, .hk-links { grid-template-columns: 1fr 1fr; } }
.hk-rel li, .hk-links li { margin: 0; }
.hk-rel a, .hk-links a { display: block; position: relative; padding: 11px 32px 11px 14px; background: #fff; border: 1px solid var(--ln); border-radius: 12px; text-decoration: none; font-weight: 700; font-size: 14.5px; line-height: 1.45; color: var(--ink); }
.hk-rel a::after, .hk-links a::after { content: ""; position: absolute; right: 14px; top: 50%; width: 7px; height: 7px; border-top: 2px solid var(--co); border-right: 2px solid var(--co); transform: translateY(-50%) rotate(45deg); }
.hk-rel a:hover, .hk-links a:hover { border-color: var(--tl); color: var(--tl-d); }

.hk-cards2 { display: grid; gap: 12px; margin: 20px 0 0; }
@media (min-width: 640px) { .hk-cards2 { grid-template-columns: 1fr 1fr; } }
.hk-cc { display: flex; flex-direction: column; gap: 2px; padding: 16px; border-radius: 16px; background: #fff; border: 2px solid var(--tl-l); text-decoration: none; color: var(--ink); }
.hk-cc:hover { border-color: var(--tl); }
.hk-cc-k { font: 800 13px var(--hd); color: var(--co-d); }
.hk-cc-v { font: 800 17px var(--hd); color: var(--tl-dd); }
.hk-cc-n { font-size: 12.5px; color: var(--mut); }

.hk-search { display: flex; gap: 8px; margin: 12px 0; max-width: 520px; }
.hk-search input { flex: 1; min-width: 0; padding: 10px 14px; border: 2px solid var(--ln); border-radius: 999px; font: inherit; font-size: 15px; }

/* ---------- Подвал ---------- */
.hk-ft { background: var(--tl-dd); color: #b9d8d3; font-size: 13.5px; margin-top: 30px; padding: 30px 0 90px; }
.hk-ft a { color: #e6f5f2; text-decoration: none; }
.hk-ft a:hover { color: var(--sun); }
.hk-ft-top { display: grid; gap: 24px; }
.hk-ft-name { margin: 0 0 6px; font: 800 19px var(--hd); color: #fff; }
.hk-ft-name b { color: var(--co); }
.hk-ft-about p { margin: 0 0 10px; line-height: 1.7; }
.hk-ft-ct { list-style: none; margin: 0; padding: 0; }
.hk-ft-ct li { margin: 4px 0; }
.hk-ft-ct span { display: inline-block; min-width: 76px; color: #86b8b1; font-size: 12px; }
.hk-ft-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.hk-fc-w { grid-column: 1 / -1; }
.hk-fc-t { margin: 0 0 6px; font: 800 14px var(--hd); color: var(--sun); }
.hk-fc ul { list-style: none; margin: 0; padding: 0; }
.hk-fc li { margin: 0; line-height: 1.5; padding: 3px 0; font-size: 13px; }
.hk-fc-w ul { columns: 2; column-gap: 18px; }
.hk-ft-links { margin: 22px 0 0; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .12); border-bottom: 1px solid rgba(255, 255, 255, .12); }
.hk-flinks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.hk-ft-bot { padding-top: 14px; font-size: 12px; line-height: 1.7; }
.hk-ft-bot p { margin: 0 0 8px; }
.hk-ft-age span { display: inline-block; background: var(--co); color: #fff; font-weight: 800; border-radius: 4px; padding: 0 6px; margin-right: 6px; }
.hk-ft-disc a { text-decoration: underline; }
.hk-ft-copy { color: #86b8b1; }
@media (min-width: 900px) {
  .hk-ft { padding-bottom: 30px; }
  .hk-ft-top { grid-template-columns: 300px 1fr; gap: 40px; }
  .hk-ft-cols { grid-template-columns: 1fr 1fr 2fr; }
  .hk-fc-w { grid-column: auto; }
}

/* ---------- Липкая нижняя полоса (мобайл) ---------- */
.hk-dock { position: fixed; left: 8px; right: 8px; bottom: 8px; z-index: 60; display: flex; align-items: center; gap: 10px; background: var(--tl-dd); color: #fff; border-radius: 16px; padding: 8px 8px 8px 14px; box-shadow: 0 10px 28px rgba(0, 0, 0, .3); transition: transform .25s, opacity .25s; }
.hk-dock p { flex: 1; min-width: 0; margin: 0; line-height: 1.3; }
.hk-dock b { display: block; font: 800 14px var(--hd); }
.hk-dock span { display: block; font-size: 12px; color: var(--sun); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hk-dock .hk-btn { padding: 10px 16px; font-size: 14px; }
.hk-dock.is-off { transform: translateY(130%); opacity: 0; pointer-events: none; }
@media (min-width: 1024px) { .hk-dock { display: none; } }

.hk-main { min-height: 50vh; }
.hk-entry-home { padding-top: 6px; }
.hk-main > .hk-w > .hk-pr { margin-top: 14px; }
