/* МЕНЮ + БУРГЕР — Base */
.kp-nav{--ink:#000;--paper:#fffef7;--accent:#ffe600;--stroke:4px;position:sticky;top:0;z-index:50}
.kp-nav__bar{background:color-mix(in oklab,#fff 88%,transparent);border-bottom:var(--stroke) solid var(--ink);box-shadow:0 6px 0 var(--ink)}
.kp-nav__container{max-width:1400px;margin:0 auto;padding:10px 14px}
.kp-nav__grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:center}

.kp-nav__brand{display:inline-block;text-decoration:none;color:var(--ink);background:var(--accent);border:var(--stroke) solid var(--ink);border-radius:12px;padding:.25em .5em;box-shadow:6px 6px 0 var(--ink);transform:rotate(-1deg)}
.kp-nav__brand-text{font-family:Bangers,cursive;font-size:clamp(18px,3.5vw,28px);line-height:1.05}

.kp-nav__list{list-style:none;margin:0;padding:0;display:flex;gap:10px}
.kp-nav__link{display:inline-block;text-decoration:none;color:var(--ink);font-weight:900;background:#fff;border:var(--stroke) solid var(--ink);border-radius:10px;padding:.35em .6em;box-shadow:4px 4px 0 var(--ink);transition:transform .12s ease,background .15s ease}
.kp-nav__link:hover{transform:translateY(-1px) rotate(-1deg);background:#fffbe8}
.kp-nav__link.is-active{outline:4px solid #000;outline-offset:-2px}

.kp-nav__btn{display:inline-flex;align-items:center;justify-content:center;font-family:Bangers,cursive;font-weight:900;letter-spacing:.02em;background:var(--accent);color:var(--ink);border:var(--stroke) solid var(--ink);border-radius:12px;padding:.4em .7em;box-shadow:6px 6px 0 var(--ink);text-decoration:none;cursor:pointer;transition:transform .12s ease,background .15s ease}
.kp-nav__btn:hover{background:#ffd800;transform:translateY(-1px)}
.kp-nav__btn--block{display:flex;width:100%}

.kp-burger{--size:44px;all:unset;cursor:pointer;position:relative;z-index:1001;width:var(--size);height:var(--size);display:inline-grid;place-items:center;background:#fff;border:var(--stroke) solid var(--ink);border-radius:12px;box-shadow:6px 6px 0 var(--ink);transition:transform .12s ease,background .15s ease}
.kp-burger:hover{transform:translateY(-1px);background:#fffbe8}
.kp-burger:focus-visible{outline:3px solid #000;outline-offset:2px}
.kp-burger__box{width:24px;height:18px;position:relative;display:block}
.kp-burger__line{position:absolute;left:0;right:0;height:3px;background:#000;border-radius:2px;transition:transform .2s ease,opacity .2s ease,top .2s ease}
.kp-burger__line:nth-child(1){top:0}
.kp-burger__line:nth-child(2){top:7.5px}
.kp-burger__line:nth-child(3){top:15px}
.kp-nav.is-open .kp-burger__line:nth-child(1){top:7.5px;transform:rotate(45deg)}
.kp-nav.is-open .kp-burger__line:nth-child(2){opacity:0}
.kp-nav.is-open .kp-burger__line:nth-child(3){top:7.5px;transform:rotate(-45deg)}

body.kp-lock{overflow:hidden;padding-right:var(--scrollbar-width,0px)}
.kp-nav__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:999}
.kp-nav.is-open .kp-nav__backdrop{opacity:1;pointer-events:auto}

@media (min-width:900px){
  .kp-burger{display:none}
  .kp-nav__drawer,.kp-nav__backdrop{display:none!important}
  .kp-nav__brand{grid-column:1/3;justify-self:start}
  .kp-nav__desk{grid-column:3/11;justify-self:center}
  .kp-nav__actions{grid-column:11/13;justify-self:end}
}

@media (prefers-reduced-motion:reduce){.kp-nav__drawer,.kp-nav__backdrop,.kp-burger__line{transition:none!important}}

.kp-nav .kp-nav__brand,
.kp-nav .kp-nav__brand:link,
.kp-nav .kp-nav__brand:visited,
.kp-nav .kp-nav__brand:hover,
.kp-nav .kp-nav__brand:active,
.kp-nav .kp-nav__brand-text,
.kp-nav .kp-nav__link,
.kp-nav .kp-nav__link:link,
.kp-nav .kp-nav__link:visited,
.kp-nav .kp-nav__link:hover,
.kp-nav .kp-nav__link:active,
.kp-nav .kp-nav__btn,
.kp-nav .kp-nav__btn:link,
.kp-nav .kp-nav__btn:visited,
.kp-nav .kp-nav__btn:hover,
.kp-nav .kp-nav__btn:active{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}
.kp-nav .kp-nav__link *,.kp-nav .kp-nav__btn *{color:currentColor!important}

/* Desktop dropdowns */
.kp-nav__list>li{position:relative}
.kp-nav__card{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;max-width:360px;background:#fffef7;color:#000;border:var(--stroke) solid var(--ink);border-radius:12px;box-shadow:8px 8px 0 var(--ink);padding:12px 14px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease;z-index:1200;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.kp-nav__card-title{text-align:left;font-weight:900;margin:0 0 8px;font-size:15px;color:#111}
.kp-nav__card-table{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.kp-nav__card-table .kp-cell{
  display:block;
  font-size:14px;
  font-weight:700;
  color:#333;
  text-decoration:none;
  padding:.35em .6em;
  border:var(--stroke) solid transparent;
  border-radius:8px;
  transition: background .18s ease, color .18s ease, transform .15s ease;
}

.kp-nav__card-table .kp-cell:hover{
  background:var(--accent);
  color:var(--ink);
  border-color:var(--ink);
  transform:translateY(-1px);
}

.kp-nav__card-table .kp-cell:active{
  transform:translateY(0);
}
.kp-nav__list>li:hover>.kp-nav__card,.kp-nav__list>li:focus-within>.kp-nav__card{opacity:1;visibility:visible;transform:translateY(0)}
@media (max-width:899px){.kp-nav__card{display:none!important}}
.kp-nav__card::before{content:"";position:absolute;top:-10px;left:22px;width:0;height:0;border:10px solid transparent;border-bottom-color:#fffef7;filter:drop-shadow(0 -2px 0 var(--ink))}
.kp-nav__item--right>.kp-nav__card{left:auto;right:0}
.kp-nav__item--right>.kp-nav__card::before{left:auto;right:16px}

/* Inside-card reset + colors */
.kp-nav__card,.kp-nav__card *{text-shadow:none!important;letter-spacing:normal!important;text-transform:none!important}
.kp-nav__card a,.kp-nav__card a:link,.kp-nav__card a:visited,.kp-nav__card a:hover,.kp-nav__card a:active{color:#333!important;-webkit-text-fill-color:#333!important;text-decoration:none!important}
.kp-nav__card a:hover{color:var(--ink)!important;background:var(--accent);border-radius:8px;padding-inline:.2em}
.kp-nav__card .kp-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",sans-serif!important}
.kp-nav__card a{overflow-wrap:anywhere;word-break:break-word}

/* Mobile drawer + accordion */
@media (max-width:899px){
  .kp-nav__drawer{position:fixed;top:0;right:0;bottom:0;width:min(86vw,420px);height:100dvh;background:var(--paper);border-left:var(--stroke) solid var(--ink);box-shadow:-10px 0 0 var(--ink);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;backface-visibility:hidden;transform:translate3d(100%,0,0);transition:transform .3s cubic-bezier(.22,.61,.36,1);will-change:transform;z-index:1000;padding:var(--drawer-pt,calc(100px + env(safe-area-inset-top))) 16px 20px 16px}
  .kp-nav.is-open .kp-nav__drawer{transform:translate3d(0,0,0)}
  .kp-nav__mob{padding:0}
  .kp-nav__list--mob{display:flex;flex-direction:column;align-items:stretch;gap:8px}
  .kp-nav__list--mob li{margin:0}
  .kp-nav__list--mob .kp-nav__link,.kp-acc__btn{display:flex;align-items:center;justify-content:flex-start;text-align:left;width:100%;gap:8px;font-size:15px;line-height:1.2;padding:.5em .7em;margin:0;border-radius:10px;box-shadow:3px 3px 0 var(--ink)}
  .kp-nav__list--mob .kp-nav__link{font-weight:900}
  .kp-acc__btn{appearance:none;-webkit-appearance:none;background:#fff;color:var(--ink);cursor:pointer;border:var(--stroke) solid var(--ink);font-family:inherit;font-weight:900;letter-spacing:.02em}
  .kp-acc__btn:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
  .kp-acc__caret{margin-left:auto;display:inline-grid}
  .kp-acc__btn[aria-expanded="true"] .kp-acc__caret svg{transform:rotate(180deg);transition:transform .18s ease}
  .kp-acc__btn[aria-expanded="false"] .kp-acc__caret svg{transform:rotate(0);transition:transform .18s ease}
  .kp-acc__panel{padding:4px 0 0;display:flex;flex-direction:column;gap:6px}
  .kp-acc__panel .kp-nav__link{font-size:14px;line-height:1.15;padding:.4em .55em;border-radius:8px;border-width:2px;box-shadow:2px 2px 0 var(--ink);font-weight:700;background:#fff}
  .kp-acc__panel[hidden]{display:none!important}
  .kp-nav__drawer .kp-nav__btn{display:flex;width:100%;margin-top:12px}
  .kp-nav__list--mob .kp-nav__link:first-child{margin-top:0!important}
  .kp-nav__desk,.kp-nav__actions{display:none}
  .kp-nav__brand{grid-column:1/11}
  .kp-burger{grid-column:11/13;justify-self:end;display:inline-grid}
}
/* МЕНЮ + БУРГЕР*/

/*ГЕРОЙ + КНОПКИ + H1)*/
.kp-hero2{
  --ink:#000; --paper:#fffef7; --stroke:6px;
  --hero2-height: clamp(420px, 58vh, 760px);
  --hero2-pt: clamp(140px, 16vh, 220px);
  --hero2-pb: clamp(48px, 8vh, 96px);

  position: relative;
  color: #fff;
  min-height: var(--hero2-height);
  padding-block-start: var(--hero2-pt);
  padding-block-end: var(--hero2-pb);
  background: #000 no-repeat center/cover; /* фон-картинка задаётся инлайном */
  text-align: left;

  border: var(--stroke) solid var(--ink);
  border-radius: 28px;
  background-color: var(--paper);
  overflow: visible;              /* важно: даём выпадашке выходить за границы */
}
.kp-hero2::after{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,.40);
  border-radius: inherit;
}

.kp-hero2__container{ position:relative; z-index:1; max-width:1200px; margin:0 auto; padding-inline: clamp(12px, 3vw, 20px); }
.kp-hero2__grid-12{
  display:grid; grid-template-columns: repeat(12, minmax(0,1fr));
  gap: clamp(10px, 1.4vw, 16px);
  min-height: inherit; align-content:end;
  padding-bottom: clamp(8px, 2vh, 20px);
}
.kp-hero2__slot{ grid-column: 1 / 8; }
@media (max-width: 899px){ .kp-hero2__slot{ grid-column: 1 / -1; display:grid; row-gap:12px; } }

.kp-hero2__h1{
  font-family:'Bangers', cursive;
  font-size: clamp(var(--h1-min,42px), var(--h1-vw,8.5vw), var(--h1-max,60px));
  line-height:1.1; margin:0; color:#ffeb3b;
  text-shadow:0 3px 6px rgba(0,0,0,0.9);
}
.kp-hero2__sub{
  font-family:'Comic Neue', cursive; font-weight:700;
  font-size: clamp(16px, 1.7vw, 22px);
  display:inline-block; background:#ffeb3b; color:#000;
  border:5px solid #000; border-radius:12px;
  padding:.5em .85em; box-shadow:6px 6px 0 #000;
  margin-top:.45em; text-shadow:0 2px 4px rgba(0,0,0,0.5);
}

/* Ряд кнопок */
.kp-hero2__actions{
  margin-top:.65em;
  display:flex !important; align-items:center; justify-content:flex-start;
  flex-direction:row; gap:10px; flex-wrap:nowrap; overflow-x:visible;
}
@media (max-width: 899px){
  .kp-hero2__actions{ width:100%; justify-content:center; flex-wrap:wrap; gap:8px; }
}

/* Кнопка */
.kp-hbtn{
  flex:0 0 auto; white-space:nowrap; --h-stroke:3px;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Comic Neue', cursive; font-weight:900;
  font-size:16px; line-height:1.15; color:#000 !important;
  background:#fff; border: var(--h-stroke) solid #000; border-radius:999px;
  padding:.42em .85em; box-shadow:3px 3px 0 #000;
  transform: translateY(0);
  transition: transform .12s ease, background .15s ease, box-shadow .15s ease;
}
.kp-hbtn:hover{ background:#fffbe8; transform: translateY(-1px); }
.kp-hbtn:active{ transform: translateY(1px); box-shadow:2px 2px 0 #000; }
.kp-hbtn--ghost{ background:#fff; box-shadow:3px 3px 0 #000; color:#000 !important; }
.kp-hbtn.is-active{
  background:#ffe600; color:#000; border:3px solid #000; box-shadow:4px 4px 0 #000;
}
@media (max-width: 899px){
  .kp-hbtn{ font-size:15px; padding:.38em .8em; }
}

/* ===== Выпадашки ===== */
.kp-hitem{ position: relative; }

/* Подменю (по умолчанию: вверх) */
.kp-hdd{
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  z-index: 1100;                        /* ниже .kp-nav__card(1200) */
  min-width: 220px; max-width: 320px;
  background:#fffef7; color:#000;
  border: var(--stroke,3px) solid var(--ink,#000);
  border-radius:12px; box-shadow:8px 8px 0 var(--ink,#000);
  padding:8px;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s step-end;
}

/* Показ только по классу (универсально) */
.kp-hitem.is-open > .kp-hdd{
  opacity:1; visibility:visible; transform:translateY(0);
}

/* На десктопе разрешаем показывать ещё и по hover */
@media (hover:hover) and (pointer:fine){
  .kp-hitem:hover > .kp-hdd{
    opacity:1; visibility:visible; transform:translateY(0);
  }
}

/* Ссылки внутри подменю */
.kp-hdd__link{
  display:block; text-decoration:none; color:#333 !important;
  font-weight:800; font-size:15px; line-height:1.15;
  padding:.45em .6em; border-radius:8px; border:3px solid transparent;
  transition: background .15s ease, color .15s ease, transform .12s ease;
}
.kp-hdd__link:hover{
  background:#ffe600; color:#000 !important; transform:translateY(-1px);
  border-color:#000;
}

/* Стрелочка вверх */
.kp-hdd::before{
  content:"";
  position:absolute; bottom:-10px; left:20px;
  border:10px solid transparent;
  border-top-color:#fffef7;
  filter: drop-shadow(0 2px 0 var(--ink,#000));
}

/* ===== Мобилка ===== */
@media (max-width: 899px){
  /* На мобиле скрыто по умолчанию, показываем ТОЛЬКО через .is-open */
  .kp-hdd{
    left:50%; right:auto; max-width:92vw;
    transform: translate(-50%, 6px);
    opacity:0; visibility:hidden; pointer-events:none;
}

  .kp-hitem.is-open > .kp-hdd{
    opacity:1; visibility:visible; pointer-events:auto;
    transform: translate(-50%, 0);
}

  /* Левая крайняя кнопка — выпадать в ПРАВЫЙ край экрана */
  .kp-hitem--mob-rightedge > .kp-hdd{
    left:auto; right:8px; transform: translateY(6px);
    max-width: calc(100vw - 16px);
}
  .kp-hitem--mob-rightedge.is-open > .kp-hdd{
    transform: translateY(0);
}

  /* Правая крайняя кнопка — выпадать в ЛЕВЫЙ край экрана */
  .kp-hitem--mob-leftedge > .kp-hdd{
    left:8px; right:auto; transform: translateY(6px);
    max-width: calc(100vw - 16px);
}
  .kp-hitem--mob-leftedge.is-open > .kp-hdd{
    transform: translateY(0);
}

  /* Стрелочка: по центру по умолчанию, у крайних — к своему краю */
  .kp-hdd::before{ left:50%; transform:translateX(-50%); }
  .kp-hitem--mob-rightedge > .kp-hdd::before{ right:20px; left:auto; transform:none; }
  .kp-hitem--mob-leftedge  > .kp-hdd::before{ left:20px;  transform:none; }
}

/* Жёсткое скрытие (перебивает любые состояния; используется в JS-замке) */
.kp-hitem.is-closed > .kp-hdd{
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
  transform:translateY(6px) !important;
}
/*ГЕРОЙ + КНОПКИ + H1)

/*КАРТИНКИ ОТЕЛЕЙ*/
.kp-hotel__photo {
  position: relative;
  width: 100%;
  padding-top: 56.25%;  /* 16:9 */
  overflow: hidden;
  border-radius: 12px;
  margin-top: 20px;
}
.kp-hotel__photo img {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/*КАРТИНКИ ОТЕЛЕЙ*/

/*КРОШКИ*/
.kp-breadcrumbs{ 
  --ink: var(--ink, #333);             /* тёмно‑серый текст */
  --paper: var(--paper, #fffef7);      /* фон карточки */
  --accent: var(--accent, #ffe600);    /* жёлтый hover */
  --stroke: var(--stroke, 3px);
  --shadow: 6px 6px 0 var(--ink);
  margin: 12px 0 18px;
}
.kp-breadcrumbs__card{
  background: var(--paper);
  border: var(--stroke) solid var(--ink);
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: 8px 10px;
}
.kp-breadcrumbs__list{
  list-style: none; display: flex; align-items: center; gap: 8px;
  margin: 0; padding: 0; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.kp-breadcrumbs__item{ display: inline-flex; align-items: center; gap: 8px; }
.kp-breadcrumbs__link,
.kp-breadcrumbs__link:link,
.kp-breadcrumbs__link:visited{
  display: inline-block; text-decoration: none; color: blue !important;
  background: #fff; border: var(--stroke) solid var(--ink); border-radius: 999px;
  padding: .35em .7em; box-shadow: 4px 4px 0 var(--ink); font-weight: 900; white-space: nowrap;
  transition: transform .12s ease, background .15s ease, box-shadow .15s ease;
}
.kp-breadcrumbs__link:hover{ background: var(--accent); transform: translateY(-1px); box-shadow: 6px 6px 0 var(--ink); }
.kp-breadcrumbs__link:focus-visible{ outline: 3px solid var(--ink); outline-offset: 2px; }
.kp-breadcrumbs__current{
  display: inline-block; background: #fff; border: var(--stroke) solid var(--ink);
  border-radius: 999px; padding: .35em .7em; font-weight: 900; color: var(--ink);
  box-shadow: 4px 4px 0 var(--ink); white-space: nowrap;
}
.kp-breadcrumbs__sep{ width: 14px; height: 14px; flex: 0 0 14px; display: inline-grid; place-items: center; }
.kp-breadcrumbs__sep svg{ display:block; width:100%; height:100%; stroke: var(--ink); fill: none; stroke-width: 3; }
@media (max-width: 600px){ .kp-breadcrumbs__link, .kp-breadcrumbs__current{ padding:.32em .6em; font-size:14px; } .kp-breadcrumbs__sep{ width:12px; height:12px; } }
/*КРОШКИ*/

/* СТАТЬЯ + ТАБЛИЦЫ + КАРТОЧКИ + ТОС*/
/* =========================
   KP COMIC — базовые переменные
   ========================= */
.kp-comic{
  --ink:#000;                /* цвет текста */
  --paper:#fff;              /* фон “листов” */
  --accent:#ffeb3b;          /* акцент (жёлтый) */
  --shadow:0 10px 0 var(--ink);
  --radius:16px;
  --gap:clamp(14px,2.5vw,24px);
  --stroke:3px;

  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
}

/* =========================
   “Лист” комикса (фон, рамка)
   ========================= */
.kp-comic .kp-comic__bg{
  position:relative;
  background:
    radial-gradient(circle at 8px 8px,rgba(0,0,0,.06) 2px,transparent 2px) 0 0/16px 16px,
    var(--paper);
  border:var(--stroke) solid var(--ink);
  border-radius:calc(var(--radius) + 6px);
  padding:clamp(16px,3vw,28px);
}

/* =========================
   Заголовок-плашка
   ========================= */
.kp-comic .kp-comic__title{
  display: table;
  font-weight:900;
  line-height:1.05;
  font-size:clamp(28px,4.8vw,54px);
  background:var(--accent);
  border:var(--stroke) solid var(--ink);
  border-radius:12px;
  padding:.35em .55em;
  transform:rotate(-1.5deg);
  box-shadow:6px 6px 0 var(--ink);
  margin:0 auto 18px;
  transform-origin:center;
}

/* =========================
   Ремарка/лид-блок
   ========================= */
.kp-comic .kp-comic__narration {
  background: var(--paper);
  border: var(--stroke) solid var(--ink);
  border-radius: 12px;
  padding: .85em 0.75em .85em 0.5em; /* top right bottom left */
  box-shadow: 6px 6px 0 var(--ink);
  font-weight: 600;
  margin-bottom: var(--gap);
  margin-top: 1em;
}
@media (min-width: 1024px){
  .kp-comic .kp-comic__narration{
    max-width: 1400px;   /* можно 800–1000px, подбери по вкусу */
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 767.98px) {
  .kp-comic .kp-comic__narration {
    margin-left: 0;   /* рамка вровень с краем контейнера */
    margin-right: 0;
  }
}

/* =========================
   Сетка карточек
   ========================= */
.kp-comic .kp-comic__panels{ display:grid; grid-template-columns:1fr; gap:var(--gap); }
/* Наклон карточек к центру */
.kp-comic__panels > .kp-comic__panel:nth-child(odd){
  --r: 1.5;   /* левая колонка — чуть вправо */
}
.kp-comic__panels > .kp-comic__panel:nth-child(even){
  --r: -1.5;  /* правая колонка — чуть влево */
}
/* На мобиле (одна колонка) делаем ровно */
@media (max-width: 860px){
  .kp-comic__panels > .kp-comic__panel{ --r: 0; }
}
@media (min-width:860px){
  .kp-comic .kp-comic__panels{ grid-template-columns:1fr 1fr; }
}
.kp-comic__panels + .kp-comic__panels { margin-top: 32px; }

/* =========================
   Карточка: база + “въезд” при скролле
   ========================= */
.kp-comic .kp-comic__panel{
  background:var(--paper);
  border:var(--stroke) solid var(--ink);
  border-radius:var(--radius);
  box-shadow:6px 6px 0 var(--ink);
  overflow:clip;
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:260px;
  transform:rotate(calc(var(--r,0) * 1deg));
  opacity:0; translate:0 14px;
  transition:opacity .35s ease, translate .35s ease;
}
.kp-comic .kp-comic__panel.is-in{ opacity:1; translate:0 0; }

/* анимация вспышки */
@keyframes kp-ping {
  0%   { box-shadow:6px 6px 0 var(--ink); }
  30%  { box-shadow:0 0 0 4px var(--ink), 0 0 0 10px var(--accent), 6px 6px 0 var(--ink); }
  100% { box-shadow:6px 6px 0 var(--ink); }
}

/* если URL совпадает с id карточки */
.kp-comic__panel:target {
  animation: kp-ping 10s ease;
}
/* =========================
   Медиа в карточке
   ========================= */
.kp-comic .kp-comic__media{
  border-bottom:var(--stroke) solid var(--ink);
  aspect-ratio:16/9;
  background:#f2f2f2;
}
.kp-comic .kp-comic__media img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* =========================
   Контент карточки
   ========================= */
.kp-comic .kp-comic__body{ padding:14px 16px 18px; min-width:0; }
.kp-comic .kp-comic__body h2{
  font-size:clamp(18px,2.3vw,24px);
  margin: 1em .4em 0.6em;
  font-weight:900;
  display:inline-block;
  background:var(--accent);
  border:var(--stroke) solid var(--ink);
  border-radius:10px;
  padding:.2em .5em;
  color:var(--ink);
}
.kp-comic .kp-comic__body p{ margin:.4em 0 .6em; }

/* =========================
   Небольшие “бейджи”
   ========================= */
.kp-comic .kp-comic__sfx{
  display:inline-block; font-weight:900; letter-spacing:.02em;
  transform:rotate(-3deg); background:var(--accent);
  border:var(--stroke) solid var(--ink); border-radius:10px;
  padding:.15em .45em; color:var(--ink);
}

/* =========================
   CTA-кнопка
   ========================= */
.kp-comic .kp-comic__cta,
.kp-comic .kp-comic__cta:link,
.kp-comic .kp-comic__cta:visited,
.kp-comic .kp-comic__cta:hover,
.kp-comic .kp-comic__cta:active{
  display:inline-block; margin-top:var(--gap);
  text-decoration:none; color:var(--ink) !important; -webkit-text-fill-color:var(--ink) !important;
  background:var(--accent);
  border:var(--stroke) solid var(--ink); border-radius:14px;
  padding:.7em 1rem; box-shadow:6px 6px 0 var(--ink);
  font-weight:900; transform:translateY(0); transition:transform .15s ease;
}
.kp-comic .kp-comic__cta:hover{ transform:translateY(-2px); }
.kp-comic .kp-comic__cta *, .kp-comic .kp-comic__cta svg, .kp-comic .kp-comic__cta svg *{
  color:currentColor !important; fill:currentColor !important; stroke:currentColor !important;
}
/* =========================
   ССЫЛКИ В СТАТЬЕ
========================= */
.kp-link{
  color:#0057ff !important;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:.15em;
  transition:color .15s ease, background .15s ease, box-shadow .15s ease;
}

.kp-link:hover{
  text-decoration:none;
  background:var(--accent);
  border-radius:6px;
  box-shadow:3px 3px 0 var(--ink);
  padding:0 .25em;
  color:var(--ink);
}
/* =========================
   Respect: reduced motion
   ========================= */
@media (prefers-reduced-motion:reduce){
  .kp-comic .kp-comic__panel{ transition:none; transform:none; translate:0 0; opacity:1; }
  .kp-comic .kp-comic__cta{ transition:none; }
}

/* =========================
   Картинки внутри текста
   ========================= */
.kp-comic .kp-comic__media--inline{
  aspect-ratio:auto;
  border:var(--stroke) solid var(--ink);
  border-radius:12px;
  box-shadow:6px 6px 0 var(--ink);
  margin:.6em 0 .8em;
}
.kp-comic .kp-comic__cap{
  font-size:.9em; font-weight:600; padding:.5em .75em .6em;
  background:var(--paper); border-top:var(--stroke) solid var(--ink);
}
.kp-comic .kp-comic__media--11{ aspect-ratio:1/1; }
.kp-comic .kp-comic__media--43{ aspect-ratio:4/3; }
.kp-comic .kp-comic__media--23{ aspect-ratio:2/3; }
.kp-comic .kp-comic__split{ display:grid; grid-template-columns:1fr; }
@media (min-width:860px){
  .kp-comic .kp-comic__split{
    grid-template-columns:minmax(0,44%) minmax(0,56%); gap:var(--gap); align-items:start;
  }
}
.kp-comic .kp-comic__media--noborder{ border:0; box-shadow:none; border-radius:0; }

/* =========================
   Таблицы
   ========================= */
:root{
  --kp-breakpoint: 960px;
}

/* семантическая обёртка */
.kp-comic .kp-responsive-pair {}

/* мобилка: карточки видны, таблица скрыта */
.kp-comic .kp-responsive-pair .kp-tablewrap { display: none; }
.kp-comic .kp-responsive-pair .kp-cards-wrap { display: block; }

/* ПК: таблица видна, карточки скрыты */
@media (min-width: 960px){
  .kp-comic .kp-responsive-pair .kp-tablewrap { display: block; }
  .kp-comic .kp-responsive-pair .kp-cards-wrap { display: none; }
}

/* ---------- 2) Таблица (обёртка и сама таблица) ---------- */
.kp-comic :is(.kp-tablewrap, .table-wrap){
  background: var(--paper);
  border: var(--stroke) solid var(--ink);
  border-radius: 12px;
  box-shadow: 6px 6px 0 var(--ink);
  margin: .8em 0 1em;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* единый селектор для обеих таблиц */
.kp-comic :is(.kp-table, .comic-table){
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.kp-comic :is(.kp-table, .comic-table) th,
.kp-comic :is(.kp-table, .comic-table) td{
  padding: .6em .8em;
  border-bottom: var(--stroke) solid var(--ink);
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.kp-comic :is(.kp-table, .comic-table) th{
  background: var(--accent);
  font-weight: 900;
  text-align: left;
  color: var(--ink);
}

.kp-comic :is(.kp-table, .comic-table) th + th,
.kp-comic :is(.kp-table, .comic-table) td + td{
  border-left: var(--stroke) solid var(--ink);
}

/* скругления углов — теперь и для .kp-table, и для .comic-table */
.kp-comic :is(.kp-table, .comic-table) thead tr:first-child th:first-child{ border-top-left-radius: 8px; }
.kp-comic :is(.kp-table, .comic-table) thead tr:first-child th:last-child{  border-top-right-radius: 8px; }
.kp-comic :is(.kp-table, .comic-table) tbody tr:last-child td:first-child{   border-bottom-left-radius: 8px; }
.kp-comic :is(.kp-table, .comic-table) tbody tr:last-child td:last-child{    border-bottom-right-radius: 8px; }

/* безопасная «сырая» таблица внутри контента */
.kp-comic .kp-comic__body table:not(.kp-table):not(.comic-table){
  display: block;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* минимальная ширина таблиц на узких экранах (горскролл) */
@media (max-width: 860px){
  .kp-comic :is(.kp-table, .comic-table){ min-width: 520px; }
}

/* ---------- 3) Карточки ---------- */
.kp-comic .kp-cards-wrap{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.8em;
}

/* Сама карточка */
.kp-comic .kp-cards-wrap > .kp-info-card{
  display:grid;
  gap:.10em;          /* интервалы между строками карточки */
}

/* Строка карточки */
.kp-comic .kp-info-row{
  display:grid;
  grid-template-columns:minmax(120px,30%) 1fr;
  align-items:start;
  background:var(--paper);
  border:var(--stroke) solid var(--ink);
  border-radius:10px;
  box-shadow:4px 4px 0 var(--ink);
  padding:.6em .8em;
}

/* Термин и значение */
.kp-comic .kp-info-term{
  font-weight:900;
  background:var(--accent);
  border-right:var(--stroke) solid var(--ink);
  padding:.35em .6em;
  border-radius:6px 0 0 6px;
}
.kp-comic .kp-info-def{
  padding:.35em .6em;
  font-weight:500;
  line-height:1.35;
}

/* Группа значений (если используется) */
.kp-comic .kp-info-defs{ display:grid; gap:.35em; }

/* Акцентная карточка */
.kp-comic .kp-info-card--accent{
  padding:12px 14px;
  border-radius:12px;
  background:rgba(255,230,120,.15);
  outline:2px dashed rgba(255,230,120,.6);
  outline-offset:2px;
}

/* Узкие экраны: одна колонка в строке */
@media (max-width:640px){
  .kp-comic .kp-info-row{ grid-template-columns:1fr; }
  .kp-comic .kp-info-term{
    border-right:0;
    border-bottom:var(--stroke) solid var(--ink);
    border-radius:6px 6px 0 0;
  }
}

/* Мобилки: центрируем карточку и добавляем «воздуха» */
@media (max-width:960px){
  .kp-comic .kp-cards-wrap{
    justify-items: stretch;      /* центр карточек */
    padding: 0px;       /* поля от краёв экрана */
    margin-block-end: 20px;     /* отступ снизу блока карточек */
    margin-top: 15px;
    margin-left: -20px;
    margin-right: 0px;
  }
  .kp-comic .kp-cards-wrap > .kp-info-card{
    width:100%;
    max-width: none;           /* ограничение ширины карточки */
  }
  .kp-comic .kp-info-row{      /* чуть больше внутренние отступы */
    padding:.9em 1.2em;
  }
}
/* =========================
   KP TOC2 — оглавление (десктоп + мобайл)
   ========================= */
.kp-toc2{
  --ink:#000; --paper:#fff; --accent:#ffeb3b; --stroke:3px; --shadow:6px 6px 0 var(--ink);
  --sticky-top:0px;
  position:sticky; top:var(--sticky-top, 58px); z-index:60; margin:14px 0;
}
.kp-toc2__container{ max-width:100%; margin:0 auto; padding-inline:clamp(12px,3vw,20px); }

/* обёртка кнопок ТОС: на десктопе — перенос строк, на мобиле переопределим */
.kp-toc2__wrap{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content:left;
  background:var(--paper);
  border:var(--stroke) solid var(--ink);
  border-radius:14px; padding:8px; box-shadow:var(--shadow);
}
/* Десктоп: кнопки ТОС слева */
@media (min-width:900px){
  .kp-toc2__wrap{
    justify-content:center;
  }
}

/* кнопки ТОС */
.kp-toc2__btn{
  --stroke:3px;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Comic Neue',cursive; font-weight:900;
  font-size:clamp(14px,1.8vw,18px);
  color:var(--ink) !important; -webkit-text-fill-color:var(--ink) !important;
  background:#fff; border-radius:999px;
  border:var(--stroke) solid var(--ink);
  padding:.45em .9em; box-shadow:4px 4px 0 var(--ink);
  cursor:pointer; user-select:none;
  transition:transform .12s ease, background .15s ease, box-shadow .15s ease;
}
.kp-toc2__btn:hover{ background:#fffbe8; transform:translateY(-1px); }
.kp-toc2__btn:active{ transform:translateY(1px); box-shadow:3px 3px 0 var(--ink); }
.kp-toc2__btn.is-current{ outline:4px solid #000; outline-offset:-2px; }
.kp-toc2__btn *, .kp-toc2__btn svg, .kp-toc2__btn svg *{
  color:currentColor !important; fill:currentColor !important; stroke:currentColor !important;
}

/* размер кнопок ТОС на очень маленьких экранах */
@media (max-width:600px){
  .kp-toc2__btn{ font-size:clamp(13px,3.6vw,16px); padding:.4em .8em; }
}

/* отключение анимаций при reduce motion */
@media (prefers-reduced-motion:reduce){
  .kp-toc2__btn{ transition:none; transform:none; }
}
/* =========================
   МОБИЛЬНЫЙ ГОРИЗОНТАЛЬНЫЙ СКРОЛЛ ТОС
   ========================= */
@media (max-width: 899px){
.kp-toc2__wrap{
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding:8px 10px;
    scroll-snap-type:x proximity;
    mask-image:linear-gradient(to right,
                  transparent 0, black 12px,
                  black calc(100% - 12px), transparent 100%);
  }
  .kp-toc2__btn{ flex:0 0 auto; scroll-snap-align:start; }
  .kp-toc2__wrap::-webkit-scrollbar{ display:none; }
  .kp-toc2__wrap{ scrollbar-width:none; }
}

/* Подсказка под ТОС (видна только на мобиле) */
.kp-toc2__hint{
  display:none;
  margin-top:6px;
  font-size:13px; font-weight:700;
  background:var(--accent); color:var(--ink);
  border:var(--stroke) solid var(--ink);
  border-radius:10px; padding:.35em .7em;
  box-shadow:4px 4px 0 var(--ink);
  transform:rotate(-1.5deg);
  width:max-content;
}
@media(max-width:899px){
  .kp-toc2__hint{ display:inline-block; }
}
/* =========================
   Подсказка для таблиц (мобайл)
   ========================= */
.kp-swipe-hint{ display:none; }

@media (max-width:860px){
  .kp-swipe-hint{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    font-weight:900;
    line-height:1.1;
    background:var(--accent);
    color:var(--ink);
    border:var(--stroke) solid var(--ink);
    border-radius:12px;
    padding:.55em .75em;
    box-shadow:6px 6px 0 var(--ink);
    transform:rotate(-1deg);  /* комикс-стиль */
    margin:10px 0 8px;        /* ставь над таблицей */
  }
  .kp-swipe-hint::after{
    content:"→";
    font-weight:900;
  }
  .kp-swipe-hint.is-hidden{ display:none !important; }
}
/* =========================
   MINI-CARDS — карточки для главной
   ========================= */
/* ===================== KP INSIDE — Comic Menu (global) ===================== */
:root{
  --kp-gap: 18px;
  --kp-radius: 14px;
  --kp-radius-lg: 18px;
  --kp-accent:#ffb400;
}

/* СЕКЦИЯ */
.kp-artmenu{ position:relative; margin:28px 0 8px; }
.kp-artmenu__wrap{ position:relative; padding:0 56px; }  /* место для стрелок */

.kp-artmenu__head{
  display:flex; align-items:center; justify-content:space-between; margin:0 0 12px;
}
.kp-artmenu__title{ margin:0; font:800 24px/1.25 system-ui, -apple-system, Segoe UI, Roboto, Arial; color:#000; }
.kp-toc2__hint{ font-size:13px; color:#6b7683; user-select:none; margin:0 0 8px; opacity:.9; }

/* ЛЕНТА */
.kp-artmenu__row{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(280px, 320px);
  gap:var(--kp-gap);
  overflow-x:auto; overflow-y:hidden;
  padding:6px 2px 10px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;

  /* скрываем полосу прокрутки во всех браузерах */
  -ms-overflow-style:none;            /* IE/Edge legacy */
  scrollbar-width:none;               /* Firefox */
}
.kp-artmenu__row::-webkit-scrollbar{ display:none; } /* Chrome/Safari */

/* КАРТОЧКА — комикс-стиль */
.kp-artcard{
  position:relative;
  display:flex; flex-direction:column;
  background:#fff;
  border:4px solid #000;
  border-radius:18px;
  text-decoration:none; color:#000;
  scroll-snap-align:start;
  outline:none;

  /* тень как у "О проекте" */
  box-shadow:6px 6px 0 #000;
}

/* эффект нажатия */
.kp-artcard:active{
  transform:translateY(2px);
  box-shadow:3px 3px 0 #000;
}

/* Превью */
.kp-artcard__thumb{
  position:relative; overflow:hidden;
  border-radius:14px 14px 0 0;
  aspect-ratio:16/9; background:#f3f5f7;
}
.kp-artcard__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Бейдж */
.kp-artcard__badge{
  position:absolute; top:10px; left:10px;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:28px; height:28px; padding:0 8px;
  border-radius:8px; background:var(--kp-accent); color:#000;
  font-weight:900; border:3px solid #000;
}

/* Заголовок */
.kp-artcard__title{
  padding:12px 14px 14px;
  font:900 16px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:#000; letter-spacing:.2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  border-top:4px solid #000;
}

/* СТРЕЛКИ — белый круг с толстой чёрной обводкой и «тенью» */
.kp-artmenu__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px;
  background:#fff; color:#000; font-weight:900; font-size:20px;
  border:4px solid #000; box-shadow:0 6px 0 #000;
  display:grid; place-items:center; cursor:pointer; user-select:none; z-index:2;
  pointer-events:auto;
}
.kp-artmenu__nav.is-left{ left:10px; }
.kp-artmenu__nav.is-right{ right:10px; }
.kp-artmenu__nav:active{ transform:translateY(-50%) translateY(2px); box-shadow:0 3px 0 #000; }

/* Пунктирная «подложка» комикса (можешь убрать, если уже есть свой фон) */
.kp-comic__bg{
  background-image:radial-gradient(rgba(0,0,0,.06) 1px, transparent 1px);
  background-size:12px 12px; border-radius:20px;
}

/* АДАПТИВ */
@media (max-width:1200px){
  .kp-artmenu__wrap{ padding:0 48px; }
  .kp-artmenu__row{ grid-auto-columns:minmax(260px, 300px); }
}
@media (max-width:960px){
  .kp-artmenu__wrap{ padding:0 36px; }
  .kp-artmenu__row{ gap:14px; grid-auto-columns:72vw; }
  .kp-artmenu__title{ font-size:22px; }
}
@media (max-width:560px){
  .kp-artmenu__wrap{ padding:0 16px; }
  .kp-artmenu__row{ grid-auto-columns:78vw; }
  .kp-artmenu__nav{ display:none; }             /* на мобилке — свайп */
  .kp-artcard__title{ font-size:15px; padding:10px 12px 12px; }
}

/* Для пользователей с отключёнными анимациями */
@media (prefers-reduced-motion: reduce){
  .kp-artmenu__nav{ transition:none; }
}
/* =========================
   MINI-CARDS — карточки для главной
   ========================= */
   
/* =========================
   Глобальный плавный скролл к якорям
   ========================= */
html{
  scroll-behavior:smooth;     /* плавность */
  scroll-padding-top:70px;    /* запас под фикс-шапку: скорректируй при необходимости */
}
/* чтобы заголовок по якорю не прятался под шапкой */
[id]{ scroll-margin-top:50px; }

/* =========================
   ПОД ЯНДЕКС КАРТУ НА СТРАНИЦЕ
   ========================= */
.kp-map{ position:relative; aspect-ratio:16/9; overflow:hidden; border-radius: 12px;}
.kp-map__preview{ width:100%; height:100%; object-fit:cover; display:block; }

/* кнопка в комикс-стиле */
.kp-map__btn{
  position:absolute; left:10px; top:10px;
  background:var(--accent); color:var(--ink);
  border:var(--stroke) solid var(--ink);
  border-radius:12px; padding:.45em .9em;
  box-shadow:4px 4px 0 var(--ink);
  font-weight:900; cursor:pointer;
  transition:transform .12s ease;
}
.kp-map__btn:hover{ transform:translateY(-1px); }
.kp-map__btn:active{ transform:translateY(1px); }
/* СТАТЬЯ + ТАБЛИЦЫ + КАРТОЧКИ + ТОС*/

/*ПОДВАЛ*/
.kp-footer{
  --ink:#0b0b0b;
  --paper:#fffef7;
  --accent:#ffe600;
  --stroke:3px;
  --radius:16px;
  --gap: clamp(14px, 2.5vw, 24px);

  color:var(--ink);
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.kp-footer,
.kp-footer *{
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
}

/* Подложка и рамка */
.kp-footer__bg{
  background:
    radial-gradient(circle at 8px 8px, rgba(0,0,0,.06) 2px, transparent 2px) 0 0/16px 16px,
    var(--paper);
  border: var(--stroke) solid var(--ink);
  border-radius: calc(var(--radius) + 6px);
  padding: clamp(16px, 3vw, 28px);
}

/* Верхняя полоса */
.kp-footer__top{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; margin-bottom:var(--gap);
}

/* Бренд — жёлтый бейдж */
.kp-footer__brand{
  text-decoration:none; color:var(--ink);
  background: var(--accent);
  border: var(--stroke) solid var(--ink);
  border-radius: 12px;
  padding:.35em .6em;
  box-shadow: 6px 6px 0 var(--ink);
  font-family: 'Bangers', cursive;
  font-size: clamp(20px, 3.2vw, 28px);
  line-height:1.05;
  display:inline-block;
  transform: rotate(-1deg);
}
.kp-footer__tag{ margin:0; font-weight:700; }

/* Сетка колонок */
.kp-footer__grid{
  display:grid; gap: var(--gap);
  grid-template-columns: 1fr;
  margin-bottom: var(--gap);
}
@media (min-width: 860px){
  .kp-footer__grid{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}

/* Карточки-колонки */
.kp-footer__col{
  background:#fff;
  border: var(--stroke) solid var(--ink);
  border-radius: var(--radius);
  box-shadow: 6px 6px 0 var(--ink);
  padding: 14px 16px 16px;
}

/* Заголовки колонок — белые пилюли */
.kp-footer__heading{
  display:inline-block;
  font-family:'Bangers', cursive;
  font-size: 22px;
  background:#fff;
  border: var(--stroke) solid var(--ink);
  border-radius: 10px;
  padding:.25em .6em;
  margin:0 0 .6em 0;
}

/* Списки ссылок */
.kp-footer__list{ list-style:none; margin:0; padding:0; }
.kp-footer__list li{ margin:.45em 0; }
.kp-footer__list a{
  text-decoration:none; color:var(--ink); font-weight:700;
  border-bottom: 2px solid transparent;
  transition: transform .1s ease, border-color .15s ease, background .15s ease;
  padding:2px 4px; border-radius:8px;
}
.kp-footer__list a:hover{
  transform: rotate(-1deg);
  border-color: var(--ink);
  background: #fffbe8;
}

/* Соцсети */
.kp-footer__social{ display:flex; gap:10px; margin-top:.4em; }
.kp-social{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:10px;
  background:#fff; color:var(--ink);
  border: var(--stroke) solid var(--ink);
  box-shadow: 4px 4px 0 var(--ink);
  transition: transform .1s ease, background .15s ease;
}
.kp-social:hover{ transform: rotate(-2deg) scale(1.05); background: var(--accent); }

/* Форма подписки */
.kp-footer__form{ display:flex; gap:8px; margin-top:.4em; }
.kp-input{
  flex:1 1 auto; min-width:0;
  background:#fff; border: var(--stroke) solid var(--ink);
  border-radius:10px; padding:.6em .75em; font-weight:700;
}
.kp-btn{
  background: var(--accent); color:var(--ink);
  border: var(--stroke) solid var(--ink);
  border-radius:12px; padding:.6em .9em; font-weight:900;
  box-shadow: 6px 6px 0 var(--ink);
  cursor:pointer; transition: transform .1s ease, background .15s ease;
}
.kp-btn:hover{ transform: translateY(-1px); background:#ffd800; }
.kp-footer__note{ font-size:.9em; opacity:.9; margin:.6em 0 0; }

/* Нижняя полоса */
.kp-footer__bottom{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  justify-content:space-between;
  border-top: var(--stroke) solid var(--ink);
  padding-top: 12px;
}
.kp-footer__legal{ list-style:none; display:flex; gap:12px; margin:0; padding:0; }
.kp-footer__legal a{ color:inherit; text-decoration:none; border-bottom:2px solid transparent; }
.kp-footer__legal a:hover{ border-color:var(--ink); }

/* Кнопка «Наверх» */
.kp-footer__totop{
  background: #fff;
  border: var(--stroke) solid var(--ink);
  border-radius: 12px;
  width:42px; height:42px; line-height:1;
  box-shadow: 6px 6px 0 var(--ink);
  font-weight:900; cursor:pointer;
  transition: transform .1s ease, background .15s ease;
}
.kp-footer__totop:hover{ transform: rotate(-2deg); background: var(--accent); }

/* Мобилки */
@media (max-width: 600px){
  .kp-footer__form{ flex-direction:column; }
  .kp-input{ width:100%; box-sizing:border-box; }
  .kp-btn{ width:100%; box-sizing:border-box; margin-top:8px; }
}
@media (prefers-reduced-motion: reduce){
  .kp-footer__list a,
  .kp-social,
  .kp-btn,
  .kp-footer__totop{ transition: none; transform:none; }
}
/*ПОДВАЛ*/

/* ========= FILTER STYLES ========= */
:root{ --kp-ink:#111; }

#kp-guides .kp-filter{position:sticky;top:var(--kp-sticky,0px);z-index:5;background:#fff;border:2px solid var(--kp-ink);border-radius:12px;padding:.6rem .75rem;margin:12px 0 16px;box-shadow:0 6px 20px rgba(0,0,0,.06);contain:content}
#kp-guides .kp-filter__top{display:flex;align-items:center;gap:10px;margin-bottom:.5rem}
#kp-guides .kp-filter__title{font-size:14px;color:var(--kp-ink);opacity:.85}
#kp-guides .kp-filter__tools{display:flex;gap:8px;align-items:center;margin-left:auto}
#kp-guides .kp-filter__count{font-size:13px;opacity:.8;white-space:nowrap}

#kp-guides .kp-filter__wrap{display:flex;gap:8px;overflow:auto;padding-bottom:2px;scrollbar-width:thin;-ms-overflow-style:-ms-autohiding-scrollbar;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
#kp-guides .kp-filter__wrap::-webkit-scrollbar{height:6px}
#kp-guides .kp-filter__wrap::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:99px}
#kp-guides .kp-filter__hint{font-size:12px;opacity:.6;margin-top:.4rem}

#kp-guides .kp-chip{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.4em;height:36px;padding:0 1em;border-radius:999px;border:2px solid var(--kp-ink);background:#fff;color:var(--kp-ink);font:600 14px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;cursor:pointer;user-select:none;box-shadow:0 2px 0 var(--kp-ink);transition:background-color .12s ease,color .12s ease,box-shadow .12s ease,border-color .12s ease}
#kp-guides .kp-chip:hover{box-shadow:0 1px 0 var(--kp-ink)}
#kp-guides .kp-chip:active{box-shadow:0 0 0 var(--kp-ink)}
#kp-guides .kp-chip:focus-visible{outline:2px solid var(--kp-ink);outline-offset:2px}
#kp-guides .kp-chip.is-active{background:var(--kp-ink);color:#fff;border-color:var(--kp-ink)}
#kp-guides .kp-chip--ghost{background:#fff;border-style:dashed}

  /* скрытие карточек */
#kp-guides .kp-comic__panel.is-hidden{display:none !important}

  /* мобильные правки */
@media (max-width:640px){
  #kp-guides .kp-filter{border-radius:12px;margin:0 calc(-1*var(--kp-page-pad,16px)) 12px;padding:.6rem var(--kp-page-pad,16px)}
  #kp-guides .kp-filter__hint{display:block}
}

  /* сниженная анимация */
@media (prefers-reduced-motion: reduce){
  #kp-guides .kp-chip{transition:none}
}
.kp-comic__title, 
h1, h2, h3 {
  font-family: Arial, Helvetica, sans-serif; /* обычный шрифт */
  font-weight: bold;
  font-size: 1.4em;
  color: #FFD700; /* жёлтый как у тебя */
  text-shadow: 2px 2px 0 #000; /* чёрная обводка */
}

.kp-button {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  font-size: 1em;
  padding: 8px 16px;
  border-radius: 12px;
}
/* ========= FILTER STYLES ========= */