/* ==========================================
   1. GLOBAL SETTINGS (JEDAI STYLE)
   ========================================== */
@import url('https://fonts.googleapis.com/css2?family=Russo+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

:root {
  
  /* палитра */
  --ink: #0A0A0A;
  --paper: #FFFFFF;
  --accent: #ff8500;
  --accent-hover: #FF7A29;
  --red:#ef4444;
  --green:#22c55e;
  --blue:#39b7ff;
  --orange:#f59e0b;
  --sky:#38bdf8;
  
  /* ТАБЫ / ТАБЛИЦЫ */
  --comic-accent: #FFB400;    /* Акцент (Желтый по дефолту) */
  --comic-bg: #FFFFFF;        /* Фон кнопок/таблиц */
  --comic-ink: #000000;       /* Цвет текста и границ */

  --comic-border: 2px solid var(--comic-ink); /* Толщина рамок */
  --comic-radius: 12px;       /* Скругление */
  --comic-shadow: 4px 4px 0px var(--comic-ink); /* Жесткая тень */
  
  /* --- ЦВЕТА ДЛЯ ТЕКСТА ЗАГОЛОВКОВ --- */
  --title-orange: var(--accent);
  --title-amber: #ffb400;
  
  /* ВИДЖЕТ */
  --sm-accent: #fbbf24;        /* янтарный */
  --sm-accent-hover: #fcd34d;  /* ховер янтаря */  
  
  /* --- КАРТОЧКИ (как на втором скрине) --- */
  --card-bg: #FFF5F0;   
  --card-border: var(--accent); 
  
  /* единый “цвет заголовков” (не такой оранжевый как accent) */
  --kp-title: #FF5E00;
  --kp-title-bg: #ffb400;  /* amber / тёплый янтарь */
  --kp-title-fg: #000;     /* текст чёрный */ 

  /* ЖЕСТКАЯ ТЕНЬ (важно: blur = 0px) */
  --shadow: 4px 4px 0px var(--ink);
  --shadow-hover: 2px 2px 0px var(--ink); /* Тень при нажатии */  
  
  --font-head:'Russo One', Arial, sans-serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Helvetica, Arial, sans-serif;

  /* карточки */
  --kp-gap:18px;
  --kp-radius:14px;
  --kp-radius-lg:18px;
  --kp-accent:var(--accent);

  /* карта */
  --kp-map-mobile-h:60svh;
  --kp-map-desktop-max:560px;
  --kp-map-gap-m:16px;
  --kp-map-gap-d:28px;
  --kp-map-radius:12px;

  /* геометрия */
  --stroke:3px;
  --stroke-thin:1px;
  --radius:14px;
  --spine-width:5px;
  --shadow:6px 6px 0 var(--ink);
  --shadow-sm:4px 4px 0 var(--ink);
  --gap:clamp(14px,2.5vw,24px);
  --kp-hdd-gap: -6px;

  /* виджеты legacy */
  --drawer-pt:calc(100px + env(safe-area-inset-top));
  --resorts-max-h:150px;
}

/* Базовый скролл */
html { scroll-behavior: smooth; scroll-padding-top: 70px; }
[id]{ scroll-margin-top:50px; }

/* Утилита для скрытия (была в вашем коде) */
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; overflow: hidden;
}

/* ====== БАЗОВЫЙ ТЕКСТ СТАТЬИ ====== */
.kp-comic{
  font-family: var(--font-body) !important;
  color: var(--ink);
}

/* Типографика Героя */
.kp-hero2__h1 {
  font-family: var(--font-head); /* Russo One */
  font-size: clamp(28px, 8.5vw, 46px); line-height: 1.1;
  margin: 0; color: var(--kp-title);
  text-shadow: 3px 3px 0 #000;
  text-transform: uppercase;
}
.kp-hero2__h1{
  font-family: var(--font-head) !important; /* Russo One */
  font-weight: 400 !important;
}
.text-orange {
  color: var(--title-orange);
}
.text-amber {
  color: var(--title-amber);
}

/* ====== ВКЛЮЧАЕМ 2 СТРОКИ ТОЛЬКО ГДЕ НАДО ====== */
.kp-hero2__h1.kp-h1--2lines{
  display:block;               /* обычный поток */
}

.kp-hero2__h1.kp-h1--2lines .kp-h1line{
  display:block;               /* каждая строка — отдельный блок */
  white-space:nowrap;          /* не рвём внутри строки */
}

/* если совсем узкий телефон — разрешим перенос внутри строки */
@media (max-width: 420px){
  .kp-hero2__h1.kp-h1--2lines .kp-h1line{
    white-space:normal;
  }
}


/* (если захочешь переносить после 1-го или 3-го — меняешь цифру) */
@media (max-width: 899px){
  .kp-hero2__h1{
    font-size: clamp(24px, 7.8vw, 38px);
    line-height: 1.12;
  }
  .kp-hero2__h1 .text-amber{
    font-size: .95em;
  }
}

/* телефон */
@media (max-width: 600px){
  .kp-hero2__h1{
    font-size: clamp(22px, 9.2vw, 26px);
    line-height: 1.15;
  }
  .kp-hero2__h1 .text-amber{
    font-size: .9em;
  }
}

.kp-hero2__sub {
  font-family: Arial, sans-serif; font-weight: 700;
  font-size: clamp(14px, 1.7vw, 22px);
  display: inline-block;
  background: var(--kp-title-bg); color: var(--kp-title-fg);
  border: 3px solid var(--ink); border-radius: 12px;
  padding: .5em .85em; margin-top: .45em;
  box-shadow: 6px 6px 0 var(--ink);
  margin-bottom: 18px;
}

/* ====== H2 / H3 — RUSSO ONE ВЕЗДЕ В КОМИКСЕ ====== */
.kp-comic .kp-comic__body h2,
.kp-comic .kp-comic__body h3{
  font-family: var(--font-head) !important;
  font-weight: 400 !important;   /* Russo One и так жирный */
  color: var(--kp-title-fg);
  -webkit-text-fill-color: var(--ink); /* тильда/сafarи фикс */
  line-height: 1.2;
  letter-spacing: 0.02em;
}

/* перебиваем вложенные span от тильды */
.kp-comic .kp-comic__body h2 *,
.kp-comic .kp-comic__body h3 *{
  font-family: inherit !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* ====== ТВОЙ СТИЛЬ H2 (плашка) ====== */
.kp-comic .kp-comic__body h2{
  font-size: clamp(18px,2.3vw,24px);
  margin: 1em .4em .6em;
  display: inline-block;
  background: var(--kp-title-bg);
  border: var(--stroke) solid var(--ink);
  border-radius: 10px;
  padding: .2em .5em;
  text-shadow: none;
}

/* ====== H3 В ТОМ ЖЕ КЛЮЧЕ, НО СКРОМНЕЕ ====== */
.kp-comic .kp-comic__body h3{
  font-size: clamp(16px,2vw,20px);
  margin: 1.2em .4em .6em;
  display: inline-block;
  background: #fff;                 /* чтобы отличался от h2 */
  padding: .18em .45em;
}

/* параграфы как у тебя */
.kp-comic .kp-comic__body p{ margin:.4em 0 .6em; }

/* Адаптив шрифтов */
@media (max-width: 600px) {
  .kp-comic { font-size: 16px; }
  .kp-comic__body h2 { font-size: 24px; }
  .kp-comic__body h3 { font-size: 20px; }
}

/*ТАЙТЛ панель под h1*/
.kp-comic .kp-comic__title{
  display: table;
  font-family: var(--font-head) !important; /* Russo One */
  font-weight: 400 !important;              /* Russo One сам жирный */
  line-height: 1.05;
  font-size: clamp(28px,4.8vw,46px);

  color: var(--kp-title-fg);
  -webkit-text-fill-color: var(--kp-title-fg); /* тильдовский фикс */

  background: var(--kp-title-bg);
  border: var(--stroke) solid var(--ink);
  border-radius: 12px;
  padding: .35em .55em;
  max-width: 1200px;

  transform: rotate(-1.5deg);
  transform-origin: center;
  box-shadow: 6px 6px 0 var(--ink);
  margin: 0 auto 18px;
  text-transform: uppercase;
}

/* =========================
   Контент карточки
   ========================= */
.kp-comic .kp-comic__body{ padding:14px 16px 18px; min-width:0; }
.kp-comic .kp-comic__body p{ margin:.4em 0 .6em; }

/* ==========================================
   2. WIDGETS & UI COMPONENTS
   ========================================== */

/* --- A. ЛЕГЕНДА КАРТЫ (КРУЖКИ) --- */
.kp-map-legend {
  margin: 0 0 8px; display: grid; gap: 6px; padding: 10px;
  border: 1px solid rgba(0,0,0,.08); border-radius: 10px; background: #fff;
  font: 500 14px/1.25 var(--font-body);
}
.kp-map-legend__item { display: flex; align-items: center; gap: 8px; }
.kp-legend__dot {
  --dot: 14px; flex: 0 0 var(--dot); width: var(--dot); height: var(--dot);
  border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 2px rgba(0,0,0,.15);
  background-color: var(--c, #ccc); /* Фолбэк цвет */
}
/* Цвета легенды */
.kp-legend__dot[data-color="red"], .kp-legend__dot[data-color="warning"] { --c: var(--red); }
.kp-legend__dot[data-color="orange"], .kp-legend__dot[data-color="rental"] { --c: var(--orange); }
.kp-legend__dot[data-color="yellow"], .kp-legend__dot[data-color="carsharing"] { --c: #facc15; }
.kp-legend__dot[data-color="green"], .kp-legend__dot[data-color="free"] { --c: var(--green); }
.kp-legend__dot[data-color="blue"], .kp-legend__dot[data-color="parking"] { --c: #3b82f6; }
.kp-legend__dot[data-color="ev"] { --c: var(--sky); }
@media (max-width:420px){ .kp-map-legend{ font-size:13px; } }


/* ==========================================================================
   B. STICKY MINI BUTTON (WIDGET) — FINAL FIX
   ========================================================================== */

/* 1. КОНТЕЙНЕР И КНОПКА */
.kp-sticky-mini {
  position: fixed; z-index: 9999;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  display: grid; justify-items: end; gap: 8px;
  transform: translateY(120%); opacity: 0; pointer-events: none;
  transition: transform .28s ease, opacity .28s ease;
}
.kp-sticky-mini.is-ready { 
  transform: none;
  opacity: 1; pointer-events: auto; 
}

/* Кнопка (FAB) */
.kp-sm__fab {
  display: inline-grid; grid-auto-flow: column; align-items: center; gap: 10px;
  padding: 12px 16px; border-radius: 999px;
  border: var(--stroke) solid var(--ink); background: var(--sm-accent); color: var(--ink);
  font-family: var(--font-head); font-weight: 400; cursor: pointer;
  box-shadow: var(--shadow); user-select: none;
}
.kp-sm__fab:hover { transform: translateY(-2px); background: var(--sm-accent-hover); }
.kp-sm__burger { display: inline-grid; gap: 3px; }
.kp-sm__burger i { display: block; width: 16px; height: 2px; background: var(--ink); border-radius: 2px; }
.kp-fab-text { white-space: nowrap; font-size: 18px; line-height: 1; font-weight: 400; }


/* 2. ПАНЕЛЬ ФОРМЫ (Исправлено: убран скролл) */
.kp-sm__panel {
  position: absolute; right: 0; bottom: calc(100% + 12px);
  width: min(92vw, 360px); 
  max-height: min(80vh, 620px);

  background: var(--paper); color: var(--ink);
  border: var(--stroke) solid var(--ink); border-radius: var(--radius);
  box-shadow: var(--shadow);

  font-family: var(--font-body) !important;
  font-size: 15px;
  line-height: 1.45;

  transform: translate3d(0, 14px, 0); opacity: 0; pointer-events: none;
  transition: 0.25s ease; 
  
  /* ФИКС ПОЛОСЫ ПРОКРУТКИ */
  overflow-y: auto; 
  overflow-x: hidden; /* Убираем горизонтальную полосу */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Для Firefox */
  
  display: flex; flex-direction: column;
}
/* Скрываем скроллбар визуально в Chrome/Safari */
.kp-sm__panel::-webkit-scrollbar { display: none; }

.kp-sticky-mini.is-open .kp-sm__panel { transform: none; opacity: 1; pointer-events: auto; }
.kp-sticky-mini.is-open .kp-sm__fab { opacity: 0; pointer-events: none; transform: translateY(4px); }

/* --- ВНУТРЕННОСТИ --- */

/* Шапка */
.kp-sm__hdr {
  padding: 16px; border-bottom: 2px dashed rgba(0,0,0,0.15);
  background: #fff; position: relative; flex-shrink: 0;
}
.kp-sm__title {
  display: block; font-family: var(--font-head); font-size: clamp(20px, 2.2vw, 24px); 
  margin-bottom: 12px; padding-right: 30px; line-height: 1.1;
}
.kp-sm__close {
  position: absolute; top: 12px; right: 12px;
  width: 32px; height: 32px; border: 2px solid var(--ink); border-radius: 8px;
  background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center;
  padding: 0; font-weight: 400; transition: 0.1s; font-size: 18px;
}
.kp-sm__close:hover { background: var(--red); color: #fff; }

/* Промокод */
.kp-sm__chip { display: block; margin-bottom: 12px; }
.kp-sm__offer {
  background: var(--sm-accent); padding: 6px 10px; border-radius: 6px;
  border: 2px solid var(--ink); font-size: 13px; font-weight: 400;
}

/* Кнопки */
.kp-sm__cta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.kp-sm__btn {
  display: block; text-align: center; padding: 10px; border-radius: 8px;
  border: 2px solid var(--ink); font-weight: 400; text-decoration: none; font-size: 14px;
  transition: 0.1s; color: var(--ink) !important;
}
.kp-sm__btn--tg { background: #e3f2fd; }
.kp-sm__btn--wa { background: #e8f5e9; }
.kp-sm__btn:hover { transform: translateY(-2px); box-shadow: 2px 2px 0 rgba(0,0,0,0.1); }

.kp-sm__hdr p { 
  font-size: 13px; line-height: 1.4; opacity: .8; margin: 0; 
}

.kp-field label { 
  display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; 
  margin-bottom: 4px; opacity: .7; letter-spacing: 0.5px;
}

.kp-sm__legal { 
  font-size: 12px; opacity: .7; line-height: 1.35; 
  margin: 6px 0 0; text-align: center; 
}

/* ФОРМА (Выравнивание полей) */
.kp-sm__form { 
  padding: 16px; 
  display: flex; flex-direction: column; gap: 12px; 
  background: #fffef7; /* Чтобы инпуты выделялись на фоне */
}

/* Обеспечиваем корректные размеры */
.kp-sm__form * { box-sizing: border-box; }

.kp-field { width: 100%; }
.kp-field--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* Поля ввода */
.kp-sm__form input, 
.kp-sm__form select {
  width: 100%; height: 42px; padding: 0 12px;
  background: #fff; border: 2px solid var(--ink); border-radius: 8px;
  font-family: var(--font-body); font-size: 15px; color: var(--ink);
  outline: none; appearance: none;
}
.kp-sm__form input:focus, 
.kp-sm__form select:focus {
  border-color: var(--accent); box-shadow: 3px 3px 0 rgba(0,0,0,0.15);
}

/* Стрелка селекта */
.kp-sm__form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; padding-right: 30px;
}

.kp-sm__fab,
.kp-fab-text,
.kp-sm__title {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
/* =========================
   ФИНАЛЬНЫЙ АДАПТИВ (Центровка таблицы)
   ========================= */
@media (max-width: 600px) {
  .kp-sm__panel {
    /* 1. Отвязываем от родителя-кнопки */
    position: fixed; 
    z-index: 10000; /* Чтобы точно поверх всего */
    
    /* 2. Центруем по горизонтали */
    left: 12px !important;
    right: 12px !important;
    width: auto !important; /* Пусть растягивается сама */
    max-width: none; /* Убираем лимиты */
    
    /* 3. Позиция по вертикали (над кнопкой) */
    bottom: 80px; 
    
    /* 4. Настройка анимации появления */
    transform: translateY(20px);
    opacity: 0;
    pointer-events: none;
  }

  /* Состояние, когда открыто */
  .kp-sticky-mini.is-open .kp-sm__panel {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
}

/* ==========================================================================
   C. WIDGETS: TABLES, TABS & PRICING (FINAL)
   ========================================================================== */
/* --- 1. ТАБЛИЦЫ (TABLES) — CLEAN & READABLE --- */

/* Контейнер с прокруткой */
.kp-tablewrap {
  background: var(--paper);
  border: var(--stroke) solid var(--ink);
  border-radius: 12px;
  box-shadow: var(--shadow);
  margin: 0 0 24px; /* Отступ снизу побольше */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
}

/* Сама таблица */
.kp-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  /* table-layout: fixed; — Убрал, чтобы колонки подстраивались под контент */
}

/* Общие стили ячеек */
.kp-table th,
.kp-table td {
  padding: 12px 16px; /* Больше воздуха */
  border-bottom: 1px solid var(--ink);
  border-right: 1px solid var(--ink);
  vertical-align: top;
  line-height: 1.4; /* Чтобы строки не слипались */
}

/* ШАПКА (Header) — Стиль, но без грязи */
.kp-table thead th {
  background: var(--comic-accent);
  color: var(--ink);
  font-family: var(--font-head); /* Russo One */
  font-weight: 400; /* Russo One сам по себе жирный, 700 не нужно */
  font-size: 16px;  /* Чуть меньше, чтобы было аккуратно */
  text-transform: uppercase; /* Стиль GTA */
  letter-spacing: 0.03em; /* Чуть раздвигаем буквы */
  text-shadow: none; /* Убираем "рябь" */
  border-bottom: var(--stroke) solid var(--ink);
  border-top: 0;
  text-align: left;
}

/* ТЕЛО (Body) — Максимальная читаемость */
.kp-table tbody td {
  font-family: var(--font-body); /* Читаемый шрифт (Inter) */
  font-size: 15px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.6); /* Легкая прозрачность */
}

/* Убираем лишние границы */
.kp-table tbody tr:last-child td { border-bottom: none; }
.kp-table tbody tr td:last-child { border-right: none; }
.kp-table thead th:last-child { border-right: none; }

/* Стиль даты внутри таблицы (если используется) */
.kp-dates-row .dates-label {
  font-weight: 700; margin-right: .25em; display: inline-block;
}

/* Адаптив и Скролл */
@media (max-width: 899px) {
  .kp-tablewrap {
    /* Маска для индикации скролла */
    mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
  }

  .kp-table { min-width: 600px; } /* Минимальная ширина, чтобы включился скролл */
  
  .kp-table th,
  .kp-table td {
    padding: 10px 12px; /* Чуть компактнее на мобильном */
    font-size: 14px;
  }
  
  /* Сохраняем вашу логику колонок */
  .kp-table--wide thead tr > th:first-child:nth-last-child(3),
  .kp-table--wide thead tr > th:first-child:nth-last-child(3) ~ th { width: 33.33%; }
  
  .kp-table--wide thead tr > th:first-child:nth-last-child(4),
  .kp-table--wide thead tr > th:first-child:nth-last-child(4) ~ th { width: 25%; }
  
  .kp-table--wide thead tr > th:first-child:nth-last-child(5),
  .kp-table--wide thead tr > th:first-child:nth-last-child(5) ~ th { width: 20%; }
}

/* Не даём caption.visually-hidden раздувать ширину таблицы */
.kp-table caption.visually-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  caption-side: bottom;

  /* классический sr-only-паттерн */
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: normal; /* главное — убрать nowrap */
}

/* --- 2. ТАБЫ И ПЕРЕКЛЮЧАТЕЛИ (.kp-note) — COMPACT STYLE --- */
.kp-note__tabs,
.kp-season__switch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px; 
  margin-bottom: 20px;
}

/* --- СТИЛЬ КНОПОК --- */
.kp-note__tab, 
.kp-season__switch button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* ФОРМА: Полная таблетка (Bubble) */
  border-radius: 999px; 
  
  /* РАЗМЕР: Компактный по высоте */
  padding: 5px 14px; 
  
  /* ТИПОГРАФИКА: Мелкая, но жирная */
  font-family: var(--font-head);
  font-size: 10px;
  line-height: 1;
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: 0.05em;

  /* ЦВЕТА: Белые с черной рамкой */
  background-color: var(--paper);
  color: var(--ink);
  border: 2px solid #000;
  
  /* ТЕНЬ: Аккуратная, не огромная */
  box-shadow: 2px 2px 0px #000; 
  
  cursor: pointer;
  transition: all 0.15s ease;
}

/* Ховер (Наведение) */
.kp-note__tab:hover,
.kp-season__switch button:hover {
  background-color: #f3f4f6; /* Легкий серый при наведении */
  transform: translateY(-1px);
  box-shadow: 3px 3px 0px #000;
}

/* АКТИВНАЯ КНОПКА (Инверсия: Черная) */
.kp-note__tab.is-active,
.kp-season__switch button.is-active {
  background-color: var(--comic-accent);
  color: #ffffff;
  border-color: #000000;
  
  /* Убираем тень, кнопка "прилипает" */
  box-shadow: none; 
  transform: translate(2px, 2px);
}
/* --- 2. ТАБЫ И ПЕРЕКЛЮЧАТЕЛИ (.kp-note) — COMPACT STYLE --- */

/* --- НОТ ПАНЕЛЬ --- */
/* Ховер (Наведение) */
.kp-note__tab:hover {
  background-color: #f9f9f9;
  transform: translate(-1px, -1px);
  box-shadow: 5px 5px 0px var(--comic-ink);
}

/* Активная кнопка */
.kp-note__tab.is-active {
  background-color: var(--comic-accent); /* Красится в цвет страницы! */
  transform: translate(2px, 2px); /* Эффект нажатия */
  box-shadow: 2px 2px 0px var(--comic-ink); /* Тень уменьшается */
}

/* Фокус (доступность) */
.kp-note__tab:focus-visible {
  outline: 2px dashed var(--comic-ink);
  outline-offset: 4px;
}

/* Область контента (Без рамки и лишних отступов) */
.kp-note__panes {
  position: relative;
  display: grid;
  grid-auto-rows: 1fr;
  height: var(--note-max-h, 200px);
  overflow: hidden;

  /* фон для хинта (если фон статьи другой — можно переопределить) */
  --note-hint-bg: var(--paper, #fffef7);

  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.kp-note__pane {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease;
  height: 100%;
  overflow-y: auto;

  padding: 0;
  padding-right: 8px;

  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.25) transparent;
}
.kp-note__pane.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* WebKit (Chrome/Safari) — чтобы скролл реально было видно */
.kp-note__pane::-webkit-scrollbar {
  width: 6px;
}
.kp-note__pane::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.25);
  border-radius: 6px;
}
.kp-note__pane::-webkit-scrollbar-track {
  background: transparent;
}

/* === SCROLL HINT: мягкий градиент снизу === */
.kp-note__panes::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 34px;              /* сколько “съедаем” низ */
  pointer-events:none;
  z-index:2;

  background: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--note-hint-bg) 0%, transparent) 0%,
    color-mix(in srgb, var(--note-hint-bg) 70%, transparent) 70%,
    var(--note-hint-bg) 100%
  );

  opacity: .9;
  transform: translateY(0);
  transition: transform .22s ease, opacity .22s ease;
}

/* лёгкий hover: хинт чуть сдвигается вниз */
.kp-note__panes:hover::after{
  transform: translateY(6px);
  opacity: 1;
}

/* Модификаторы высоты (Ваш код) */
@media (min-width: 769px) {
  .kp-note--h100 { --note-max-h: 100px; }
  .kp-note--h150 { --note-max-h: 150px; }
  .kp-note--h200 { --note-max-h: 200px; }
  .kp-note--h300 { --note-max-h: 300px; }
  .kp-note--h400 { --note-max-h: 400px; }
  .kp-note--h550 { --note-max-h: 550px; }
  .kp-note--h1000 { --note-max-h: 1000px; }
}
@media (max-width: 768px) {
  .kp-note { --note-max-h: 300px; } /* Фикс высота для мобайла */
}

/* --- 3. ВЫБОР КУРОРТА (Resorts Table Switching) --- */
.kp-resorts { margin-top: 24px; }

.kp-resorts__panes {
  position: relative; margin-top: 16px;
  min-height: var(--resorts-max-h, 150px);
}

.kp-resorts__pane {
  position: absolute; inset: 0;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.2s ease;
}
.kp-resorts__pane.is-active {
  position: relative; opacity: 1; visibility: visible; pointer-events: auto;
}

@media (max-width: 768px) { .kp-resorts { --resorts-max-h: auto; } }
/* Высоты для десктопа */
@media (min-width: 769px) {
  .kp-resorts--h300 { --resorts-max-h: 300px; }
  .kp-resorts--h450 { --resorts-max-h: 450px; }
  .kp-resorts--h600 { --resorts-max-h: 600px; }
}

/* --- 4. ИНСТРУМЕНТЫ ЦЕН (PRICING TOOLBAR) --- */
.kp-pricing__toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
  margin: 24px 0 16px;
  padding: 16px;
  background: var(--paper);
  border: var(--stroke) solid var(--ink);
  border-radius: 12px;
}

.kp-pricing__group {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
}
.kp-pricing__group-label {
  font-weight: 700; font-size: 14px; text-transform: uppercase; opacity: 0.7;
}

/* Селекты в тулбаре (Стиль как в форме) */
.kp-pricing__select-wrap { position: relative; display: inline-flex; }

.kp-pricing__select {
  min-width: 160px; height: 40px;
  padding: 0 32px 0 12px;
  border: 2px solid var(--ink); border-radius: 8px;
  background-color: #fff;
  font-family: var(--font-body); font-weight: 600; font-size: 14px;
  appearance: none; -webkit-appearance: none; cursor: pointer;
  
  /* Иконка стрелки */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}

.kp-pricing__select:hover {
  border-color: var(--accent);
  box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
}

@media (max-width: 600px) {
  .kp-pricing__toolbar { flex-direction: column; align-items: stretch; }
  .kp-pricing__select { width: 100%; }
}

/* ==========================================
   3. NAVIGATION (MENU) & BURGER (FINAL)
   ========================================== */
.kp-nav {
  position: sticky; top: 0; z-index: 50;
}

/* Фон меню с размытием */
.kp-nav__bar {
  background: rgba(255, 254, 247, 0.9);
  border-bottom: var(--stroke) solid var(--ink);
  box-shadow: 0 4px 0 var(--ink);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.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: 8px; padding: .25em .5em; box-shadow: 4px 4px 0 var(--ink);
  transform: rotate(-1deg); transition: 0.15s;
}
.kp-nav__brand:hover { transform: rotate(0deg) scale(1.02); }

.kp-nav__brand-text {
  font-family: var(--font-head); font-size: clamp(18px, 3.5vw, 28px);
  line-height: 1; text-transform: uppercase;
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important; /* важный фикс для тильды/сфарика */
}

/* Ссылки меню (Десктоп) */
.kp-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.kp-nav__link {
  display: inline-block;
  text-decoration: none;

  /* было: Arial 700 — меняем как на HERO */
  font-family: var(--font-head) !important;   /* Russo One */
  font-weight: 400 !important;               /* Russo One сам жирный */
  text-transform: uppercase;
  letter-spacing: .6px;
  font-size: 13px;                           /* как у херо-кнопок */
  line-height: 1.1;

  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important; /* фикс тильды/сфарика */

  background: #fff;
  border: 2px solid var(--ink);
  border-radius: 8px;
  padding: .35em .6em;
  transition: 0.15s;
}
.kp-nav__list,
.kp-nav .kp-file-item{
  margin-top: 8px; /* подними/опусти число по вкусу */
}

.kp-nav__link:hover {
  transform: translateY(-2px); background: #fffbe8; box-shadow: 2px 2px 0 var(--ink);
}
.kp-nav__link.is-active { background: var(--accent); border-width: 3px; }

/* Кнопка в меню (CTA) */
.kp-nav__btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-head); text-transform: uppercase;
  background: var(--accent); color: var(--ink);
  border: var(--stroke) solid var(--ink); border-radius: var(--radius);
  padding: .4em .7em; box-shadow: 4px 4px 0 var(--ink);
  text-decoration: none; cursor: pointer; transition: 0.15s;
}
.kp-nav__btn:hover { background: var(--accent-hover); transform: translateY(-2px); }


/* =========================
   БУРГЕР (Только для открытия)
   ========================= */
.kp-burger {
  all: unset; cursor: pointer; 
  position: relative; 
  z-index: 1001; 
  width: 44px; height: 44px; 
  display: inline-grid; place-items: center;
  background: #fff; 
  border: var(--stroke) solid var(--ink); 
  border-radius: 8px;
  box-shadow: 4px 4px 0 var(--ink);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.kp-burger__line {
  position: absolute; left: 9px; right: 9px; height: 3px;
  background: var(--ink); border-radius: 2px;
  transition: 0.2s ease;
}
.kp-burger__line:nth-child(1) { top: 13px; }
.kp-burger__line:nth-child(2) { top: 20px; }
.kp-burger__line:nth-child(3) { top: 27px; }

/* При открытии меню СКРЫВАЕМ основной бургер (он больше не нужен, у нас есть крестик внутри) */
.kp-nav.is-open .kp-burger {
  opacity: 0;
  pointer-events: none;
}

/* =========================
   НОВАЯ КНОПКА ЗАКРЫТИЯ (ВНУТРИ МЕНЮ)
   ========================= */
.kp-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(0,0,0,0.1);
}

.kp-drawer__title {
  font-family: var(--font-head);
  font-size: 24px; color: var(--ink); text-transform: uppercase;
}

.kp-close-btn {
  appearance: none; border: none; outline: none;
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  background: var(--accent);
  border: var(--stroke) solid var(--ink);
  border-radius: 8px;
  box-shadow: 4px 4px 0 var(--ink);
  color: var(--ink); cursor: pointer;
  transition: transform 0.1s ease;
}
.kp-close-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--ink);
}
/* Иконка крестика внутри кнопки */
.kp-close-btn svg {
  width: 24px; height: 24px;
}

/* ==========================================================================
   4. HERO SECTION & DROPDOWNS (ГЕРОЙ + ВЫПАДАЮЩИЕ КНОПКИ)
   ========================================================================== */

.kp-hero2{
  /* Фон и отступы */
  --hero2-height: clamp(420px, 58vh, 760px);
  --hero2-pt: clamp(140px, 16vh, 220px);
  --hero2-pb: clamp(48px, 8vh, 96px);
  --hero2-pos: 50% 50%;
  --hero2-dark: .35;

  /* Управление контентом (ПК дефолты) */
  --hero2-nudge-x: 0px;          /* точный сдвиг по X */
  --hero2-nudge-y: 0px;          /* точный сдвиг по Y */
  --hero2-content-align: center; /* start | center | end */
  --hero2-col-start: 1;
  --hero2-col-end: 8;

  /* Управление контентом (мобилка дефолты) */
  --hero2-nudge-x-m: var(--hero2-nudge-x);
  --hero2-nudge-y-m: var(--hero2-nudge-y);
  --hero2-content-align-m: var(--hero2-content-align);
  --hero2-slot-pad-m: clamp(8px, 3vw, 14px);

  position: relative;
  color:#fff;
  min-height: var(--hero2-height);
  padding-block: var(--hero2-pt) var(--hero2-pb);
  text-align:left;

  border:6px solid var(--ink);
  border-radius:28px;
  background-color: var(--paper);

  background-position: var(--hero2-pos);
  background-repeat:no-repeat;
  background-size:cover;

  overflow:visible;
}

/* Затемнение фона */
.kp-hero2::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgb(0 0 0 / var(--hero2-dark, .35));
  border-radius: inherit;
  pointer-events:none;
}

/* Логика смены фона */
.kp-hero2--bg{
  background-image: var(--hero2-img, var(--hero2-bg-16x9-1x));
}
@media (orientation: landscape){
  .kp-hero2--bg{ --hero2-img: var(--hero2-bg-16x9-1x); }
}
@media (orientation: portrait){
  .kp-hero2--bg{ --hero2-img: var(--hero2-bg-9x16-1x); }
}

/* Контейнер */
.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: var(--hero2-content-align, center);
  padding-bottom: clamp(8px, 2vh, 20px);
}

.kp-hero2{ overflow-x: clip; }

/* Слот контента на ПК + сдвиг */
.kp-hero2__slot{
  grid-column-start: var(--hero2-col-start, 1);
  grid-column-end: var(--hero2-col-end, 8);

  transform: translate3d(
    var(--hero2-nudge-x, 0px),
    var(--hero2-nudge-y, 0px),
    0
  );
  will-change: transform;

  box-sizing: border-box;
  max-width: 100%;
}

/* страховка от вылезания детей */
.kp-hero2__slot > *{
  max-width: 100%;
  box-sizing: border-box;
}

/* Мобилка */
@media (max-width: 899px){

  .kp-hero2__grid-12{
    align-content: var(--hero2-content-align-m, center);
  }

  .kp-hero2__slot{
    grid-column: 1 / -1;
    display:grid;
    row-gap:12px;

    padding-inline: var(--hero2-slot-pad-m);

    transform: translate3d(
      var(--hero2-nudge-x-m, 0px),
      var(--hero2-nudge-y-m, 0px),
      0
    );
  }

  /* мягкая типографика внутри hero, чтобы строки не лезли за края */
  .kp-hero2 :where(h1, .kp-hero2__title, .t-title){
    font-size: clamp(24px, 6.2vw, 34px);
    line-height: 1.1;
    text-wrap: balance;
  }
  .kp-hero2 :where(.kp-hero2__subtitle, .t-descr){
    font-size: clamp(15px, 4.1vw, 18px);
    line-height: 1.35;
  }
}


/* ==========================================
   HERO BUTTONS: SMOOTH SLIDE UP EFFECT
   ========================================== */
.kp-hero2__actions {
  display: flex; 
  align-items: center; 
  gap: 16px; 
  flex-wrap: nowrap;
  /* Важно для слоев */
  position: relative; 
  z-index: 20; 
  /* Чтобы выпадающее вверх меню не обрезалось */
  overflow: visible; 
}

/* --- КОНТЕЙНЕР (.kp-hitem) --- */
.kp-hitem {
  position: relative;
  display: inline-block;
  perspective: 800px; /* Глубина 3D */
  z-index: 1; /* Базовый слой */
}

/* При наведении поднимаем весь контейнер выше соседей, 
   чтобы выпадающий список перекрывал соседние кнопки */
.kp-hitem:hover,
.kp-hitem.is-open {
  z-index: 100;
}


/* --- КНОПКА-ПАПКА (.kp-hbtn) --- */
.kp-hbtn {
  /* --- ВАЖНО: КНОПКА ВСЕГДА ВЫШЕ МЕНЮ --- */
  z-index: 20; 
  
  /* Настройки */
  --spine-color: var(--accent, #FF5E00);
  --spine-width: 6px;
  
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 24px 0 calc(var(--spine-width) + 16px);
  
  font-family: var(--font-head, sans-serif);
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ink, #000) !important;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  
  /* Градиентный фон */
  background: linear-gradient(90deg, color-mix(in srgb, var(--spine-color) 15%, #fff) 0%, #fff 100%);
  border: 2px solid var(--ink, #000);
  border-radius: 6px;
  
  /* Тень */
  box-shadow: 4px 4px 0 var(--ink, #000);
  
  /* Анимация кнопки */
  transform-origin: 50% 100%;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), 
              box-shadow 0.3s ease, 
              background 0.2s;
}

/* Корешок */
.kp-hbtn::before {
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0;
  width: var(--spine-width);
  background: var(--spine-color);
  border-right: 2px solid var(--ink, #000);
  border-radius: 4px 0 0 4px;
}

/* HOVER ЭФФЕКТ КНОПКИ */
.kp-hitem:hover .kp-hbtn,
.kp-hitem.is-open .kp-hbtn {
  transform: rotateX(-12deg); /* поднимается только верх */
  box-shadow: 0 12px 20px -6px rgba(0,0,0,0.25); /* тень вверх */
  background: linear-gradient(90deg,
              color-mix(in srgb, var(--spine-color) 20%, #fff) 0%,
              #f3f4f6 100%); /* hover чуть темнее, НЕ белый */
}

/* =========================================================
   DROPDOWN (.kp-hdd) — VARIANT A (TRANSITION DIAGONAL) [ACTIVE]
   Плавный выезд вверх + диагональный наклон за счёт transform
   ========================================================= */
.kp-hdd {
  z-index: 10;

  position: absolute;
  left: 0;
  bottom: calc(100% + var(--kp-hdd-gap)); /* меню всегда “над” кнопкой */

  min-width: 220px;
  background: #fff;
  border: 2px solid var(--ink, #000);
  border-radius: 6px;
  box-shadow: 6px 6px 0 rgba(0,0,0,0.15);

  padding: 10px 0;
  display: flex;
  flex-direction: column;
  gap: 2px;

  /* скрыто */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  /* СТАРТ: как будто “внутри папки” + диагональ */
  transform:
    translateY(18px)    /* прячем вниз */
    translateX(-8px)    /* уводим влево для диагонали */
    scale(.96)
    rotateZ(7deg);      /* стартовый наклон */

  transform-origin: bottom left;

  will-change: transform, opacity;

  transition:
    opacity .18s ease,
    transform .52s cubic-bezier(.22,.61,.36,1), /* мягкий “easeOut” */
    visibility 0s linear .52s;                  /* синхронизируем с transform */
}

/* ОТКРЫТО */
.kp-hitem:hover .kp-hdd,
.kp-hitem.is-open .kp-hdd {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  /* ФИНАЛ: выехало вверх и “лист” слегка наклонён */
  transform:
    translateY(0)
    translateX(0)
    scale(1)
    rotateZ(-4deg);

  transition-delay: 0s, 0s, 0s;
}

/* --- ССЫЛКИ ВНУТРИ (как текст на херо-кнопках) --- */
.kp-hdd__link{
  display:block;
  padding:8px 16px;

  font-family: var(--font-head) !important; /* Russo One */
  font-size: 13px;
  font-weight: 400 !important;             /* Russo One сам жирный */
  letter-spacing: .5px;
  line-height: 1.25;

  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important; /* тильда/сафари фикс */
  text-decoration:none !important;

  text-transform: uppercase; /* если не хочешь капсом — закомментируй */

  border-left:3px solid transparent;
  transition: background .12s ease, color .12s ease, border-color .12s ease;
}

/* перебиваем возможные span/стили тильды внутри ссылок */
.kp-hdd__link *{
  font-family: inherit !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  text-transform: inherit !important;
}

/* чтобы "visited" не красил в оранжевый/фиолетовый */
.kp-hdd__link:visited{ 
  color: var(--ink) !important; 
  -webkit-text-fill-color: var(--ink) !important;
}

.kp-hdd__link:hover,
.kp-hdd__link:focus-visible{
  background:#eef0f3;                 /* чуть темнее, не белая */
  color: var(--ink) !important;
  border-left-color: var(--accent);
  outline: none;
}
/* --- МОБИЛЬНАЯ АДАПТАЦИЯ HERO DROPDOWNS --- */
@media (max-width: 899px){

  /* 1) Кнопки прижаты влево */
  .kp-hero2__actions{
    justify-content: flex-start; /* было center */
    gap: 10px;
    flex-wrap: wrap;
    
  }

  /* 2) На таче ховер не используем */
  .kp-hitem:hover .kp-hdd{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform:
      translateY(18px)
      translateX(-8px)
      scale(.96)
      rotateZ(7deg);
  }

  /* 3) БАЗА для выпадашек на мобиле: стартуем от кнопки слева */
  .kp-hdd{
    left: 0;               /* старт от левого края кнопки */
    right: auto;
    min-width: 210px;      /* можно чуть уже, чтобы не лезло за экран */
    max-width: 92vw;
    rotate: 0deg;          /* на случай наследования */

    /* ВАЖНО: не центрируем */
    transform-origin: bottom left;
  }

  /* ====== ВЕРХНИЙ РЯД — ОТКРЫВАЕМ ВВЕРХ ======
     (если у тебя 2 верхние кнопки — это 1 и 2) */
  .kp-hero2__actions .kp-hitem:nth-child(-n+2) .kp-hdd{
    bottom: calc(100% + var(--kp-hdd-gap)); /* вверх */
    top: auto;

    transform:
      translateY(18px)
      translateX(-8px)
      scale(.96)
      rotateZ(7deg);
    transform-origin: bottom left;
  }

  .kp-hero2__actions .kp-hitem:nth-child(-n+2).is-open .kp-hdd{
    transform:
      translateY(0)
      translateX(0)
      scale(1)
      rotateZ(-4deg);
  }

  /* ====== НИЖНИЙ РЯД — ОТКРЫВАЕМ ВНИЗ ======
     (3 и 4 кнопки в твоём случае) */
  .kp-hero2__actions .kp-hitem:nth-child(n+3) .kp-hdd{
    top: calc(100% + var(--kp-hdd-gap));    /* вниз */
    bottom: auto;

    /* старт “внутри папки”, но вверх относительно себя */
    transform:
      translateY(-18px)
      translateX(-8px)
      scale(.96)
      rotateZ(-7deg);
    transform-origin: top left;
  }

  .kp-hero2__actions .kp-hitem:nth-child(n+3).is-open .kp-hdd{
    transform:
      translateY(0)
      translateX(0)
      scale(1)
      rotateZ(4deg);
  }

  /* открываем на мобиле только по классу */
  .kp-hitem.is-open .kp-hdd{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s, 0s, 0s;
  }
}

/* БЭКДРОП — базово (чтобы не ломать парсинг и был один источник правды) */
.kp-nav__backdrop{
  position:fixed; inset:0;
  background:rgba(0,0,0,.55);
  z-index:1500;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .3s ease, visibility 0s linear .3s;
}

/* открыт */
.kp-nav.is-open .kp-nav__backdrop{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition-delay:0s,0s;
}

@media (max-width: 899px){

  /* --- ДРОВЕР --- */
  .kp-nav__drawer{
    position:fixed; top:0; right:0; bottom:0; z-index:2000;
    width:min(86vw, 420px);
    height:100dvh;
    background:var(--paper);
    border-left:var(--stroke) solid var(--ink);
    padding:20px 16px;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;

    transform:translate3d(100%,0,0);
    transition:transform .3s cubic-bezier(.22,.61,.36,1);
    display:flex; flex-direction:column;
  }
  .kp-nav.is-open .kp-nav__drawer{ transform:translate3d(0,0,0); }

  /* Шапка мобайл */
  .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;
  }

  /* Моб. список */
  .kp-nav__mob{ padding:0; }
  .kp-nav__list--mob{
    display:flex; flex-direction:column; gap:10px;
    align-items:stretch;
  }

  /* --- АККОРДЕОН --- */
  .kp-acc{ width:100%; }

  .kp-acc__btn{
    width:85%;
    display:flex; align-items:center; justify-content:space-between;
    text-align:left;
    padding:12px 16px;

    background:#fffef7;
    color:var(--ink);
    font-family:var(--font-head);
    font-size:16px;
    text-transform:uppercase;

    border:var(--stroke) solid var(--ink);
    border-radius:10px;
    box-shadow:3px 3px 0 var(--ink);
    cursor:pointer;
    transition:.15s ease;
  }
  .kp-acc__btn:hover{ background:#fffbe8; }
  .kp-acc__btn:active{ transform:translateY(1px); box-shadow:1px 1px 0 var(--ink); }

  .kp-acc__caret{ display:inline-grid; transition:transform .2s ease; }
  .kp-acc__btn[aria-expanded="true"] .kp-acc__caret svg{ transform:rotate(180deg); }

  .kp-acc__panel{
    display:flex; flex-direction:column; gap:8px;
    padding:8px 0 8px 12px;
    margin-left:6px;
    border-left:3px solid rgba(0,0,0,.15);
  }
  .kp-acc__panel[hidden]{ display:none !important; }

  .kp-acc__panel .kp-nav__link{
    display:block;
    font-family:var(--font-body);
    font-weight:700; font-size:14px;
    padding:10px 14px;

    background:#fff;
    color:var(--ink);
    text-decoration:none;

    border:2px solid var(--ink);
    border-radius:8px;
    box-shadow:2px 2px 0 var(--ink);
  }
  .kp-acc__panel .kp-nav__link:active{
    transform:translateY(1px);
    box-shadow:none;
  }
}

@media (max-width: 899px){

  /* Текст в кнопках-заголовках аккордеона */
  .kp-nav__drawer .kp-acc__btn,
  .kp-nav__drawer .kp-acc__btn *{
    font-family: var(--font-head) !important;
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-transform: uppercase !important;
  }

  /* Текст в ссылках внутри дровера (список/панели) */
  .kp-nav__drawer .kp-nav__link,
  .kp-nav__drawer .kp-nav__link *{
    font-family: var(--font-body) !important;
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
  }

}

/* --- UTILITIES & VISIBILITY --- */

/* На десктопе моб.части скрываем ЖЁСТКО */
@media (min-width: 900px){
  .kp-burger,
  .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; }
}

/* Reduce Motion */
@media (prefers-reduced-motion: reduce){
  .kp-nav__drawer,
  .kp-nav__backdrop,
  .kp-burger__line,
  .kp-file-drop,
  .kp-file-btn{
    transition:none !important;
  }
}

/* ==========================================
   3D КАРТОЧКИ (FULL GRADIENT EDITION)
   Фон: Градиент (цвет -> белый)
   Корешок: Градиент (яркий -> темный)
   ========================================== */

.kp-hero__cards {
  position: absolute; left: 66%; top: 60%;
  transform: translate(-50%, 70%);
  width: min(880px, calc(100% - clamp(24px, 6vw, 64px)));
  display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr));
  z-index: 5; perspective: 1000px;
}

.kp-hcard {
  position: relative; 
  display: flex; 
  flex-direction: column; 
  justify-content: space-between;
  gap: 8px; 
  min-height: 130px; 
  padding: 16px;
  border-radius: 6px; 
  text-decoration: none; 
  text-align: left;

  /* 1. Базовый цвет */
  --card-local: var(--accent); 

  /* 2. ГРАДИЕНТНЫЙ ФОН ТЕЛА КАРТОЧКИ (Слева направо) */
  /* Слева насыщенно (15%), справа чисто белый */
  background: linear-gradient(
    90deg, 
    color-mix(in srgb, var(--card-local) 15%, #ffffff) 0%, 
    #ffffff 100%
  );

  color: var(--ink) !important;
  border: 3px solid var(--ink); 
  box-shadow: 6px 6px 0 var(--ink);
  
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
}

/* --- 3. ГРАДИЕНТНЫЙ КОРЕШОК (ИЗМЕНЕНО) --- */
.kp-hcard::before {
  content: ""; 
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 12px; 
  
  /* Вертикальный градиент для объема корешка */
  /* Сверху: Чистый цвет */
  /* Снизу: Смесь с черным (затемнение на 15%) */
  background: linear-gradient(
    180deg, 
    var(--card-local) 0%, 
    color-mix(in srgb, var(--card-local), #000 15%) 100%
  );
  
  border-right: 3px solid var(--ink); 
  z-index: 1;
}

/* Ховер */
.kp-hcard:hover {
  transform: rotateY(-12deg) translateY(-5px);
  box-shadow: 15px 20px 10px rgba(0,0,0,0.15), 6px 6px 0 var(--ink);
  
  /* При ховере фон тела становится чуть насыщеннее (25%) */
  background: linear-gradient(
    90deg, 
    color-mix(in srgb, var(--card-local) 25%, #ffffff) 0%, 
    #ffffff 100%
  );
  z-index: 10;
}

.kp-hcard__title {
  margin-left: 14px; font-family: var(--font-head);
  font-weight: 400; font-size: clamp(16px, 2.2vw, 22px); line-height: 1.1;
  text-transform: uppercase; z-index: 2; pointer-events: none;
}

.kp-hcard__icon { width: 40px; height: 40px; margin-left: 14px; z-index: 2; }

.kp-hcard__icon svg { 
  width: 100%; height: 100%; 
  stroke: var(--card-local); 
  stroke-width: 2.5; fill: none; 
}

/* Цвета (градиенты подстроятся сами) */
.kp-hcard.is-amber { --card-local: #ffb400; }
.kp-hcard.is-sky   { --card-local: #39b7ff; }
.kp-hcard.is-green { --card-local: #00e676; }

/* Адаптив */
@media (max-width: 1024px) { .kp-hero__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
  .kp-hero__cards {
    top: auto; bottom: -70px; left: 50%; transform: translateX(-50%, 70%);
    width: 94%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px;
    perspective: none;
  }
  .kp-hcard {
    min-height: 90px; padding: 8px 6px; border-width: 2px; border-radius: 8px;
    box-shadow: 3px 3px 0 var(--ink); transform-origin: center;
    /* Мобильный градиент чуть слабее (10%) */
    background: linear-gradient(90deg, color-mix(in srgb, var(--card-local) 10%, #ffffff) 0%, #ffffff 100%);
  }
  .kp-hcard:hover { transform: translateY(-2px); box-shadow: 2px 2px 0 var(--ink); }
  .kp-hcard::before { width: 5px; border-right-width: 2px; }
  .kp-hcard__icon { width: 24px; height: 24px; margin-left: 4px; }
  .kp-hcard__icon svg { stroke-width: 2; }
  .kp-hcard__title { font-size: 11px; margin-left: 4px; }
}

/* ==========================================
   1. КОНТЕЙНЕР СПИСКА
   ========================================== */
.kp-menu-list {
  display: flex;           
  flex-wrap: wrap;         
  align-items: center;     
  gap: 12px;               
  
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  
  width: auto;
  max-width: 100%;
  position: relative;
  z-index: 10;
}

/* ==========================================
   2. СТИЛИ ЭЛЕМЕНТА
   ========================================== */
.kp-file-item {
  position: relative;
  display: inline-flex;    
  align-items: center;
  height: auto;            
  
  perspective: 1000px; 
  z-index: 1;
  margin: 0;               
}

.kp-file-item:hover {
  z-index: 100;
}

/* ==========================================
   3. КНОПКА-ОБЛОЖКА (С КОРЕШКОМ И ГРАДИЕНТОМ)
   ========================================== */
.kp-file-btn {
  /* --- ЛОКАЛЬНЫЕ ПЕРЕМЕННЫЕ --- */
  --btn-stroke: 1.5px;
  --btn-shadow: 2px;
  --btn-radius: 6px;
  --spine-width: 6px; /* Ширина корешка */
  /* Цвет корешка по умолчанию (оранжевый) */
  --card-local: var(--accent);

  position: relative;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;

  min-height: 30px;
  /* Отступ слева учитывает ширину корешка */
  padding: 4px 12px 4px calc(var(--spine-width) + 10px);

  white-space: nowrap;
  font-family: var(--font-head);

  /* --- ТИПОГРАФИКА --- */
  font-size: 14px;
  letter-spacing: 0.8px;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  color: var(--ink);

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  appearance: none;

  /* --- ФОН КНОПКИ (ГРАДИЕНТ ОТ КОРЕШКА) --- */
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--card-local) 15%, #ffffff) 0%,
    #ffffff 100%
  );

  /* --- РАМКА И ТЕНЬ --- */
  border: var(--btn-stroke) solid var(--ink);
  border-radius: var(--btn-radius);
  box-shadow: var(--btn-shadow) var(--btn-shadow) 0 var(--ink);

  cursor: pointer;
  transform-origin: 50% 0%;
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;

  transition:
    transform .2s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow .2s cubic-bezier(0.2, 0.8, 0.2, 1),
    background .15s;
}

/* --- ВОТ ОН, КОРЕШОК! (ПСЕВДОЭЛЕМЕНТ) --- */
.kp-file-btn::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: var(--spine-width); /* Ширина из переменной */

  /* Цвет корешка */
  background: var(--card-local);

  /* Черная полоска-разделитель справа от корешка */
  border-right: var(--btn-stroke) solid var(--ink);

  /* Скругление только левых углов, чтобы совпадало с кнопкой */
  border-radius: calc(var(--btn-radius) - var(--btn-stroke)) 0 0 calc(var(--btn-radius) - var(--btn-stroke));

  z-index: 1; /* Корешок поверх фона кнопки */
}

/* --- ИКОНКА СТРЕЛОЧКИ --- */
.kp-file-btn svg {
  width: 10px; height: 10px;
  flex-shrink: 0;
  transition: transform .2s ease;
  opacity: 0.8;
  stroke-width: 2.5px;
}
/* ==========================================
   4. ВЫПАДАЮЩЕЕ МЕНЮ
   ========================================== */
.kp-file-drop {
  position: absolute;
  left: 0;
  min-width: 190px;
  width: max-content;      

  background: var(--paper);
  border: 1.5px solid var(--ink); 
  border-radius: 6px; 
  box-shadow: 3px 3px 0 rgba(0,0,0,0.15);
  
  padding: 6px; 
  display: flex;
  flex-direction: column;
  gap: 2px;

  z-index: 5;
  top: 100%;
  margin-top: -10px; 
  padding-top: 26px;       

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform-origin: top left; 
  transform: translateY(-15px) rotateX(-10deg) rotateZ(-3deg); 

  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  
  backface-visibility: hidden; 
  -webkit-font-smoothing: subpixel-antialiased;
}


/* ==========================================
   5. СОСТОЯНИЯ (HOVER / OPEN)
   ========================================== */

.kp-file-item:hover .kp-file-btn,
.kp-file-item:focus-within .kp-file-btn,
.kp-file-item.is-open .kp-file-btn {
  /* --- ИЗМЕНЕНИЕ: ПРИ НАВЕДЕНИИ ФОН ЯРЧЕ --- */
  background: linear-gradient(
    90deg, 
    color-mix(in srgb, var(--card-local) 25%, #ffffff) 0%, 
    #ffffff 100%
  );
  
  transform: rotateX(12deg) translateZ(0);
  box-shadow: 0 6px 12px -3px rgba(0,0,0,0.1); 
  z-index: 20;
}

.kp-file-item:hover .kp-file-btn svg,
.kp-file-item.is-open .kp-file-btn svg {
  transform: rotate(180deg);
}

/* Остальное без изменений */
.kp-file-item:hover .kp-file-drop,
.kp-file-item:focus-within .kp-file-drop,
.kp-file-item.is-open .kp-file-drop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) rotateX(0deg) rotateZ(4.5deg);
}

/* ==========================================
   6. ССЫЛКИ ВНУТРИ (ЧИСТАЯ ЧИТАЕМОСТЬ)
   ========================================== */
.kp-file-link {
  display: block;
  padding: 9px 14px;

  /* было Inter — делаем как HERO */
  font-family: var(--font-head) !important;   /* Russo One */
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.15;
  letter-spacing: .6px;
  text-transform: uppercase;
  white-space: nowrap;

  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important; /* тильда/сфарик фикс */

  text-decoration: none !important;
  border: none !important;
  background-image: none !important;
  opacity: 1 !important;

  transition: background .15s ease, color .15s ease;
}

.kp-file-link:hover {
  background: #f4f4f5 !important;         
  color: #000000 !important;  
  /* Добавил микро-тень тексту при наведении для контраста */
  text-shadow: 0 0 0.5px rgba(0,0,0,0.1);            
}

/* Цвета */
.kp-file-btn{ --card-local: var(--accent); }


/* ==========================================
   7. МОБИЛЬНАЯ ВЕРСИЯ (ACCORDION MODE)
   ========================================== */
@media (max-width: 960px) {
  
  /* Контейнер: превращаем строку в колонку */
  .kp-menu-list {
    flex-direction: column;
    align-items: stretch; /* Кнопки на всю ширину */
    gap: 8px;
    width: 100%;
  }

  /* Элемент: занимает 100% */
  .kp-file-item {
    display: block; /* Block чтобы вложенные элементы вели себя предсказуемо */
    width: 100%;
    margin-bottom: 4px;
  }

  /* Кнопка: на всю ширину, стрелка справа */
  .kp-file-btn {
    width: 100%;
    display: flex;
    justify-content: space-between; /* Текст слева, стрелка справа */
    
    font-size: 12px; /* Чуть крупнее для пальцев */
    padding: 10px 16px 10px calc(var(--spine-width) + 12px);
    height: auto;
    min-height: 44px; /* Стандартный тач-таргет */
  }

  /* Отключаем 3D эффекты на мобиле (они тормозят и выглядят странно при скролле) */
  .kp-file-btn,
  .kp-file-item:hover .kp-file-btn,
  .kp-file-item.is-open .kp-file-btn {
    transform: none !important; 
    box-shadow: 2px 2px 0 var(--ink); /* Оставляем простую тень */
    background: var(--paper); /* Без белой вспышки */
  }

  /* Выпадающее меню: Становится АККОРДЕОНОМ */
  .kp-file-drop {
    position: static; /* Важно! Толкает контент вниз */
    width: 100%;
    min-width: 100%;
    
    transform: none !important; /* Без диагоналей и поворотов */
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    
    /* Стили аккордеона */
    box-shadow: none;
    border: none;
    border-left: 2px solid var(--card-local); /* Цветная линия слева вместо рамки */
    border-radius: 0 0 6px 6px;
    background: rgba(255,255,255, 0.5); /* Чуть прозрачный фон */
    
    margin-top: 0;
    padding: 0 0 0 12px; /* Отступ слева */
    
    /* Скрываем по умолчанию (через display none, так надежнее для аккордеона) */
    display: none; 
  }

  /* Когда открыто (класс .is-open добавляется JS-ом) */
  .kp-file-item.is-open .kp-file-drop {
    display: flex;
    animation: mobileFadeIn 0.2s ease;
  }
  
  @keyframes mobileFadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* Ссылки на мобиле */
  .kp-file-link {
    padding: 12px 16px; /* Крупные зоны клика */
    font-size: 14px !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important; /* Разделители */
    color: #000 !important; /* Принудительный черный */
  }
  
  .kp-file-link:last-child {
    border-bottom: none !important;
  }
}

/* ==========================================================================
   5. TOC (GTA STYLE) — HARD SHADOWS & BOLD LINES
   ========================================================================== */
.kp-toc2 {
  position: sticky; top: 0px; z-index: 40;
  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: 12px;
  justify-content: center;
  
  /* --- НАСТРОЙКА КОНТЕЙНЕРА --- */
  /* По умолчанию прозрачный (как на скринах) */
  background: transparent; 
  border: none;
  padding: 8px 0;
  box-shadow: none;


  background: #fffbe8;
  border: 3px solid #000000;
  border-radius: 14px;
  padding: 12px;
  box-shadow: 6px 6px 0 #000000;
}

/* Кнопки навигации */
.kp-toc2__btn {
  display: inline-flex; align-items: center; justify-content: center;
  
  /* Шрифт */
  font-family: 'Arial Black', 'Helvetica Neue', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(12px, 1.5vw, 14px);
  letter-spacing: 0.05em;
  
  /* Цвета и Форма */
  color: #000000 !important;
  background: #ffffff;
  border: 2px solid #000000; /* Чуть тоньше рамка кнопки, если есть общая рамка */
  border-radius: 8px;       
  padding: 0.6em 1.2em;
  
  /* Тень кнопки */
  box-shadow: 3px 3px 0 #000000; 
  
  text-decoration: none; cursor: pointer; user-select: none;
  transition: transform 0.1s ease, box-shadow 0.1s ease, background 0.15s;
}

/* Ховер эффект */
.kp-toc2__btn:hover {
  background: #fff;
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 #000000;
}

/* Эффект нажатия */
.kp-toc2__btn:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 #000000;
}

/* МОБИЛЬНАЯ ВЕРСИЯ */
@media (max-width: 899px) {
  .kp-toc2__wrap {
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 10px 12px;
    scrollbar-width: none; 
  }
  .kp-toc2__wrap::-webkit-scrollbar { display: none; }
  
  .kp-toc2__btn { 
    flex: 0 0 auto; 
    white-space: nowrap;
  }
}

/* --- ПОДСКАЗКА (МИНИМАЛИЗМ - ТЕКСТ СО СТРЕЛКОЙ) --- */
.kp-toc2__hint { display: none; }

@media (max-width: 899px) {
  .kp-toc2__hint {
    display: inline-flex; 
    align-items: center;
    gap: 4px;
    
    /* Отступы: чуть ниже меню */
    margin: 4px 0 10px 8px;
    padding: 0; /* Без паддингов, так как нет рамки */
    
    /* Стиль текста: просто аккуратная надпись */
    font-family: 'Arial', sans-serif;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #000;
    opacity: 0.7; /* Чуть приглушаем, чтобы не спорила с кнопками */
    
    background: transparent;
    border: none;
    box-shadow: none;
    pointer-events: none;
  }

  /* Анимированная стрелка */
  .kp-toc2__hint::after {
    content: "→"; 
    display: inline-block;
    font-weight: bold;
    font-size: 12px;
    animation: kp-hint-bounce 1s infinite;
  }

  @keyframes kp-hint-bounce {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(3px); }
  }
}

/* ==========================================================================
   4. КОНТЕНТ СТРАНИЦЫ И ПОДВАЛ (FINAL BLOCK)
   ========================================================================== */

/* --- A. ХЛЕБНЫЕ КРОШКИ (Breadcrumbs) --- */
.kp-breadcrumbs {
  margin: 8px 0 14px;
  --bc-ink: var(--ink);
  --bc-dim: rgba(0,0,0,.55);
}
.kp-breadcrumbs__list { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; flex-wrap: wrap; }
.kp-breadcrumbs__item { display: inline-flex; align-items: center; gap: 6px; }

/* Ссылки */
.kp-breadcrumbs__link {
  color: var(--bc-dim); text-decoration: none; font-weight: 600; font-size: 14px;
  border: none; background: none; padding: 0; transition: 0.2s;
}
.kp-breadcrumbs__link:hover { color: var(--bc-ink); text-decoration: underline; }

/* Текущая страница */
.kp-breadcrumbs__current { font-weight: 800; color: var(--bc-ink); font-size: 14px; }

/* Разделитель */
.kp-breadcrumbs__sep::before { content: "›"; color: var(--bc-dim); font-weight: 700; }


/* --- B. ФОТО ОТЕЛЕЙ (Адаптивные) --- */
.kp-hotel__photo {
  position: relative; width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
  border-radius: 12px; margin-top: 20px; overflow: hidden;
  border: 2px solid var(--ink); /* Добавил рамку для стиля */
  box-shadow: 4px 4px 0 var(--ink);
}
.kp-hotel__photo img {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;
}

/* ==========================================================================
   C. ТИПОГРАФИКА СТАТЬИ (.kp-comic) — CLEAN & READABLE
   ========================================================================== */

/* Основной текст */
.kp-comic {
  font-family: var(--font-body); /* Inter / Roboto */
  color: var(--ink);
  line-height: 1.6; /* Важно! Воздух между строками */
  font-size: 18px;  /* Комфортный размер для чтения */
}

/* --- СПИСКИ (UL, OL) --- */
.kp-comic__body ul,
.kp-comic__body ol {
  margin-bottom: 1.5em;
  padding-left: 20px;
}

.kp-comic__body li {
  margin-bottom: 8px;
  line-height: 1.55;
  /* Убираем лишнюю жирность, делаем текст спокойнее */
  font-weight: 400; 
}

/* Маркеры списка */
.kp-comic__body ul li::marker {
  color: var(--accent); /* Желтые точки */
  font-size: 1.2em;
}

/* --- ДЕКОР (Акцентный блок) --- */
.kp-subtle-bg {
  background: #fffef0; /* Очень легкий желтый */
  border-left: 4px solid var(--accent);
  border-radius: 4px;
  padding: 16px 20px;
  margin: 24px 0;
  font-style: normal; /* Убрал курсив, он часто мылит */
}
/* Убираем лишние отступы у последнего абзаца в плашке */
.kp-subtle-bg > *:last-child { margin-bottom: 0; }

/* Адаптив шрифтов */
@media (max-width: 600px) {
  .kp-comic { font-size: 16px; }
  .kp-comic__body h2 { font-size: 24px; }
  .kp-comic__body h3 { font-size: 20px; }
}


/* ==========================================
   D. ПОДВАЛ (FOOTER) — CUSTOM GTA STYLE
   ========================================== */
.kp-footer {
  /* Используем глобальные переменные, но можно переопределить локально */
  margin-top: 40px;
  padding: 20px 0;
  font-family: var(--font-body);
  color: var(--ink);
}

/* Жесткий сброс цветов для Tilda */
.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);
  box-shadow: var(--shadow); /* Глобальная тень */
}

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

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

/* Сетка колонок */
.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: var(--font-head); /* Russo One */
  font-size: 18px; text-transform: uppercase;
  background: #fff;
  border: var(--stroke) solid var(--ink); border-radius: 10px;
  padding: .25em .6em; margin: 0 0 .8em 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; display: inline-block;
}
.kp-footer__list a:hover {
  border-color: var(--ink); background: #fffbe8; transform: translateX(4px);
}

/* Соцсети */
.kp-footer__social { display: flex; gap: 10px; margin-top: .8em; }
.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: translateY(-2px); 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;
  font-family: var(--font-body);
}
.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;
  font-family: var(--font-head); text-transform: uppercase;
}
.kp-btn:hover { transform: translateY(-1px); background: var(--accent-hover); }
.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;
  display: grid; place-items: center;
  box-shadow: 6px 6px 0 var(--ink);
  font-weight: 900; cursor: pointer;
  transition: transform .1s ease, background .15s ease;
}
.kp-footer__totop:hover { background: var(--accent); transform: translateY(-2px); }

/* Адаптив */
@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; }
}

/* --- E. ФИЛЬТРЫ (ЕСЛИ ЕСТЬ НА СТРАНИЦЕ) --- */
#kp-guides .kp-filter {
  position: sticky; top: 70px; z-index: 40;
  background: #fff; border: 2px solid var(--ink); border-radius: 12px;
  padding: 10px; margin: 12px 0; box-shadow: 4px 4px 0 rgba(0,0,0,0.1);
}
.kp-chip {
  display: inline-flex; align-items: center; height: 32px; padding: 0 12px;
  border-radius: 99px; border: 2px solid var(--ink); background: #fff;
  font-weight: 700; font-size: 13px; cursor: pointer; margin-right: 8px;
  transition: 0.1s;
}
.kp-chip.is-active { background: var(--ink); color: #fff; }

/* КАРТОЧКИ НА ГЛАВНЙ */
.kp-artmenu { position: relative; margin: 28px 0 8px; }
.kp-artmenu__wrap { position: relative; padding: 0; }

.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-artmenu__row {
  /* 1. ВЕРНУЛИ СЕТКУ (Чтобы карточки встали в ряд, а не на весь экран) */
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 320px); /* Фиксируем ширину карточек */
  gap: var(--kp-gap); /* Или поставьте gap: 20px; если переменная не задана */
  
  /* 2. НАСТРОЙКИ ПРОКРУТКИ */
  overflow-x: auto; 
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;

  /* 3. ОТСТУП ПОД СКРОЛЛ */
  /* Важно: делаем отступ снизу 24px, чтобы жирный скролл не перекрывал тень карточек */
  padding: 6px 2px 24px; 
  
  /* 4. ЦВЕТА СКРОЛЛА (Firefox) */
  scrollbar-width: auto; /* Делаем стандартную толщину, чтобы было видно */
  scrollbar-color: #ff8500 #ffffff; /* Ползунок / Трек */
}

/* --- СТИЛИ СКРОЛЛБАРА (Chrome, Safari) --- */

/* Сама полоса прокрутки (делаем её высокой/жирной) */
.kp-artmenu__row::-webkit-scrollbar {
  height: 16px; 
}

/* Фон (Трек) - Белый с черной рамкой */
.kp-artmenu__row::-webkit-scrollbar-track {
  background: #ffffff;
  border: 2px solid #000000;
  border-radius: 99px;
  margin: 0 20px; /* Отступ по краям */
}

/* Ползунок (Бегунок) - Оранжевый с черной рамкой */
.kp-artmenu__row::-webkit-scrollbar-thumb {
  background-color: #ff8500; 
  border: 3px solid #000000;
  border-radius: 99px;
}

/* Ползунок при наведении */
.kp-artmenu__row::-webkit-scrollbar-thumb:hover {
  background-color: #d97706;
}

/* КАРТОЧКА — комикс-стиль */
.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;

  /* --- АНИМАЦИЯ (НОВОЕ) --- */
  /* Плавный переход для трансформации, тени и цвета */
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), 
              box-shadow 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
              border-color 0.2s ease;
  
  /* Чтобы зум картинки не вылезал за границы */
  overflow: hidden; 
}

/* --- HOVER ЭФФЕКТ (НОВОЕ) --- */
@media (hover: hover) {
  .kp-artcard:hover {
    /* Карточка "взлетает" вверх и влево */
    transform: translate(-4px, -4px);
    /* Тень растет, компенсируя полет */
    box-shadow: 10px 10px 0 #000;
    
    /* Опционально: можно красить рамку в акцент */
    /* border-color: var(--kp-accent); */
  }
}

/* --- ACTIVE ЭФФЕКТ (НАЖАТИЕ) --- */
.kp-artcard:active {
  /* Вдавливаем обратно */
  transform: translate(2px, 2px) !important; 
  box-shadow: 2px 2px 0 #000 !important;
  transition: transform 0.05s ease, box-shadow 0.05s ease;
}

/* Превью */
.kp-artcard__thumb {
  position: relative; overflow: hidden;
  /* Радиус чуть меньше, чтобы вписывался в бордер */
  border-bottom: 4px solid #000; /* Разделитель между фото и текстом */
  aspect-ratio: 16/9; background: #f3f5f7;
}

.kp-artcard__thumb img { 
  width: 100%; height: 100%; 
  object-fit: cover; display: block;
  
  /* --- АНИМАЦИЯ КАРТИНКИ --- */
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* При наведении на карточку зумим картинку */
.kp-artcard:hover .kp-artcard__thumb img {
  transform: scale(1.06);
}

/* Бейдж */
.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;
  font-size: 12px; 
  z-index: 2;
  box-shadow: 2px 2px 0 #000; /* Добавил маленькую тень бейджу для стиля */
}

/* Заголовок */
.kp-artcard__title {
  padding: 14px 16px 16px; /* Чуть больше воздуха */
  font: 900 16px/1.3 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: #000; letter-spacing: .2px;
  
  /* Убрал обрезку, обычно заголовки лучше показывать целиком, или оставь как было */
  /* white-space: nowrap; overflow: hidden; text-overflow: ellipsis; */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;

  transition: color 0.2s ease;
}

/* При наведении красим заголовок (опционально) */
.kp-artcard:hover .kp-artcard__title {
  color: #d97706; 
}

/* АДАПТИВ (твой код + мелкие правки) */
@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: 80vw; } /* Чуть шире на моб */
  .kp-artmenu__nav { display: none; }             
  .kp-artcard__title { font-size: 15px; padding: 12px; }
  
  /* На мобилках убираем ховер-эффекты, оставляем только active */
  .kp-artcard:hover { transform: none; box-shadow: 6px 6px 0 #000; }
  .kp-artcard:active { transform: scale(0.98); box-shadow: 2px 2px 0 #000; }
}

.kp-text-small {
  font-size: 0.875rem; 
  line-height: 1.4;
}

/* FAQ */
/* Заголовок + список */
.kp-faq__title{font-size:22px;margin:0 0 16px}
.kp-faq__list{display:grid;gap:8px}

/* Карточка FAQ */
.kp-faq__item{
  border:1px solid var(--stroke,rgba(0,0,0,.12));
  border-radius:12px;
  background:var(--card,rgba(0,0,0,.03));
  overflow:hidden;
  transition:box-shadow .15s ease, transform .12s ease;
  scroll-margin-top: 84px;
}
.kp-faq__item:hover{box-shadow:0 1px 0 rgba(0,0,0,.06);transform:translateY(-1px)}
.kp-faq__item.is-target{
  box-shadow:0 0 0 2px var(--accent,#ffd54f) inset;
  background:var(--card-hover,rgba(0,0,0,.06));
}
/* Кнопка-вопрос (summary) */
.kp-faq__q{
  cursor:pointer; padding:12px 16px;
  font-weight:700; list-style:none; position:relative; color:inherit;
}
.kp-faq__q::-webkit-details-marker{display:none}

/* Индикатор стрелки по умолчанию */
.kp-faq__q::after{
  content:"▾";
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  color:rgba(0,0,0,.35);
  transition:transform .2s ease, color .15s ease;
}
.kp-faq__item[open] .kp-faq__q{border-bottom:1px solid var(--stroke,rgba(0,0,0,.1))}
.kp-faq__item[open] .kp-faq__q::after{transform:translateY(-50%) rotate(180deg)}
.kp-faq__item:hover .kp-faq__q::after,
.kp-faq__item:focus-within .kp-faq__q::after{color:rgba(0,0,0,.6)}

/* Ответ (для обычного варианта) */
.kp-faq__a{padding:12px 16px}

/* Фокус клавиатурой */
.kp-faq__item:focus-within .kp-faq__q{
  outline:0;
  box-shadow:0 0 0 2px var(--accent,#ffd54f) inset;
  background:var(--card-hover,rgba(0,0,0,.06));
}

/* --- Модификатор inline: вопрос⇄ответ в одной строке --- */
.kp-faq--inline .kp-faq__a{display:none}                /* прячем блок ответа */
.kp-faq--inline .kp-faq__q::after{content:"❓"}          /* значок по умолчанию */
.kp-faq--inline[open] .kp-faq__q{border-bottom:0}       /* линия не нужна */
.kp-faq--inline[open] .kp-faq__q::after{content:"↩";transform:none}

/* Плавная подмена текста */
.kp-faq__label{display:inline-block;transition:opacity .15s ease}
.kp-faq__label.is-fading { opacity:.5; transition:opacity .18s ease; }
/* FAQ */

/* =========================
   “Лист” комикса (фон, рамка)
   ========================= */
.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__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: 0;
  margin-bottom: var(--gap);
  margin-top: 1em;
}
.kp-comic__narration p + p {
  margin-top: 1.2em;
}
@media (min-width: 1024px){
  .kp-comic .kp-comic__narration{
    max-width: 1200px;   /* можно 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); }
/* Наклон карточек к центру */
@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);
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:260px;
}

/* анимация вспышки */
@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{
  --radius: 12px;              /* настраиваемый радиус */
  border-radius: var(--radius);
  overflow: hidden;            /* обрезаем содержимое по радиусу */
  aspect-ratio: 16/9;
  background: #f2f2f2;
  position: relative;
  margin:15px 0 15px
}
.kp-comic .kp-comic__media img{
  width:100%; height:100%; object-fit:cover; display:block;
}
/* =========================
   ССЫЛКИ В СТАТЬЕ
========================= */
.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,
    text-decoration-thickness .15s ease;
}

.kp-link:hover{
  color:#003ec9 !important;               /* чуть темнее */
  background:rgba(0,87,255,.08);          /* лёгкая подсветка */
  box-shadow:0 0 0 3px rgba(0,87,255,.08);/* мягкий “ореол” */
  border-radius:4px;                      /* чтобы подсветка была аккуратной */
  text-decoration-thickness:3px;          /* подчёрк чуть жирнее */
}
/* =========================
   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;
}
/* =========================
   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-map{ margin:12px 0 var(--kp-map-gap-m); }
@media (min-width:769px){
  .kp-map{ margin:16px 0 var(--kp-map-gap-d); }
}

.kp-map__slot{ line-height:0; }
.kp-map-frame{
  display:block; width:100%; border:0; border-radius:0
}

@media (max-width:768px){
  .kp-map-frame{ height:var(--kp-map-mobile-h); }
}
@media (min-width:769px){
  .kp-map-frame{ aspect-ratio:16/9; height:auto; max-height:var(--kp-map-desktop-max); }
}

.kp-map__previewwrap{
  position: relative;
  overflow: hidden;
  border-radius: var(--kp-map-radius);
}

/* Изображение всегда заполняет контейнер, кадрируем при необходимости */
.kp-map__preview{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right;
}

/* Ландшафт: 16:9 */
@media (orientation: landscape){
  .kp-map__previewwrap{ aspect-ratio: 16 / 9; }
}

/* Портрет: 9:16 */
@media (orientation: portrait){
  .kp-map__previewwrap{ aspect-ratio: 9 / 12; }
}

.kp-map__slot[hidden]{ display:none; }
.kp-map.is-open .kp-map__previewwrap{ display:none; }
.kp-map.is-open .kp-map__slot{
  display:block;
  border-radius:var(--kp-map-radius);
  overflow:hidden;
}
.kp-map.is-open .kp-map__slot[hidden]{ display:block !important; }

.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); }

@supports (-webkit-touch-callout:none){
  .kp-map.is-open .kp-map__slot{
    -webkit-mask-image:-webkit-radial-gradient(white,black);
    contain:paint;
  }
}

/*
 .kp-subtle-bg{
   --_bg: rgba(255, 225, 100, .14);
   --_stroke: rgba(0, 0, 0, .06);

  background: var(--_bg);
  border-radius: clamp(6px, 1.2vw, 10px);
  padding: .45rem .65rem;
  outline: 1px solid var(--_stroke);
  outline-offset: 0;
  box-shadow: 0 1px 0 rgba(0,0,0,.04) inset;
  transition: background .2s ease, outline-color .2s ease;
  margin-block: clamp(6px, 0.6rem, 12px);
}

@media (prefers-color-scheme: dark){
  .kp-subtle-bg{
    --_bg: rgba(255, 225, 100, .10);
    --_stroke: rgba(255,255,255,.08);
    box-shadow: 0 1px 0 rgba(255,255,255,.04) inset;
  }
}

@supports (color: oklch(62% 0.15 100)){
  .kp-subtle-bg{
    --paper: var(--paper, oklch(98% 0.01 95));
    --accent: var(--accent: oklch(88% 0.13 70));

    --_bg: color-mix(in oklch, var(--accent) 16%, transparent);
    --_stroke: color-mix(in oklch, var(--accent) 22%, transparent);
    background: var(--_bg);
    outline-color: var(--_stroke);
  }
  @media (prefers-color-scheme: dark){
    .kp-subtle-bg{
      --paper: var(--paper, oklch(22% 0.01 95));
      --accent: var(--accent: oklch(88% 0.13 70));
      --_bg: color-mix(in oklch, var(--accent) 18%, transparent);
      --_stroke: color-mix(in oklch, var(--accent) 26%, transparent);
      background: var(--_bg);
      outline-color: var(--_stroke);
    }
  }
}

.kp-subtle-bg:hover{
  outline-color: color-mix(in oklab, currentColor 14%, transparent);
}  */