/* ============================================================
   ПАКЕТИ И ЦЕНИ — 07.08.2026
   ============================================================

   ⚠️ ВСИЧКО ТУК Е С ПРЕДСТАВКА `pk-`.
   Нито едно правило не пипа общите класове на сайта. Единствените чужди
   имена, които се срещат, са `.main-button` и `Shantell` — те идват от
   style.css и се ползват както са, без да се променят.

   Изключение са добавките за цвят и наклон (`.yellow`, `.blue`, `.pink`,
   `.green`, `.left`, `.center`, `.right`). Те НИКОГА не стоят сами —
   винаги са закачени за `.pk-…`, тоест не могат да уловят чужд елемент.
   Имената им са същите като в pricing.css нарочно: стойностите идват от
   едно и също място в data/packages.php.

   Стъпки на пречупване: 1200 · 1024 · 767 · 430
   ============================================================ */

/* ── общи части на секциите ────────────────────────────── */

.pk-sekciya {
  width: 100%;
  padding: 96px 20px;
}

/* Уводът към пакетите е долепен до самите пакети — иначе между заглавието
   и картите зее цяла секция разстояние. */
.pk-stegnata { padding-block: 72px; }
.pk-bez-gorno { padding-top: 0; }

.pk-krem { background-color: var(--background-beige-01); }

.pk-sredishte {
  width: 100%;
  max-width: var(--shirina-v-sekciya);
  margin-inline: auto;
}

/* Въпросите и връзките се четат по-добре в по-тясна колона. */
.pk-tyasno { max-width: 820px; }

.pk-glava {
  max-width: 760px;
  margin-bottom: 44px;
}

.pk-nadred {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent-orange-text);
}

.pk-h2 {
  font-size: clamp(26px, 3.6vw, 42px);
  line-height: 1.2;
  color: var(--text-01);
}

.pk-podzaglavie {
  margin-top: 14px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-03);
}

/* ── заглавен екран ────────────────────────────────────── */

.pk-hero {
  width: 100%;
  /* Лентата горе е лепната и покрива първите ~90px. */
  padding: 132px 20px 72px;
}

.pk-hero-inner {
  width: 100%;
  max-width: var(--shirina-v-sekciya);
  margin-inline: auto;
  display: grid;
  /* minmax(0, …) — без него дългият текст разширява колоната и разлюлява
     цялата страница настрани (точка О18). */
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
}

/* Текстовите колони в двете двуколонни подредби. `min-width: 0` пуска
   клетката да стане по-тясна от най-дългата си дума — без него дълъг адрес
   или заглавие разпъва решетката и разлюлява страницата (точка О18). */
.pk-hero-tekst,
.pk-cta-tekst { min-width: 0; }

.pk-etiket {
  display: inline-block;
  margin-bottom: 16px;
  padding: 6px 16px;
  border-radius: 999px;
  background-color: var(--background-beige-01);
  color: var(--accent-orange-text);
  font-size: 14px;
  font-weight: 700;
}

.pk-h1 {
  font-size: clamp(32px, 5vw, 56px);
  line-height: 1.14;
  color: var(--text-01);
}

.pk-akcent {
  display: block;
  color: var(--accent-orange-text);
}

.pk-lead {
  margin-top: 18px;
  max-width: 540px;
  font-size: 17px;
  line-height: 1.7;
  color: var(--text-03);
}

.pk-polzi {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.pk-polza {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  /* Без това дългият текст в дясната клетка разпъва реда. */
  min-width: 0;
}

.pk-polza-znak {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: var(--background-beige-01);
}

.pk-polza-ime {
  display: block;
  font-weight: 700;
  color: var(--text-01);
}

.pk-polza-tekst {
  display: block;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-03);
}

.pk-butoni {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.pk-buton-vtori {
  display: inline-flex;
  align-items: center;
  /* 44px височина на пипане — точка О7. */
  min-height: 44px;
  padding: 12px 26px;
  border: 2px solid var(--accent-orange-text);
  border-radius: 999px;
  color: var(--accent-orange-text);
  font-size: 16px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.pk-vruzka-red {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  font-size: 15px;
  color: var(--text-03);
}

.pk-vruzka-red a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  color: var(--accent-orange-text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.pk-hero-foto {
  min-width: 0;
  border-radius: 28px;
  overflow: hidden;
  background-color: var(--background-beige-01);
}

.pk-hero-foto img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* ── деца / възрастни — 16.10.2026 ─────────────────────── */

/*
 * Два бутона над лентата. Само на /paketi-i-ceni — виж $pkSVazrastni в
 * sections/paketi-danni.php. Избраният е бял с тъмна рамка, като бутоните
 * в контурен вид другаде по сайта; другият е в бежа на лентата под него,
 * за да личи, че двете са един избор на две нива.
 */
.pk-kategorii {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: 0 auto 18px;
}

.pk-kat {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 300px;
  /* Точка О7 — далеч над 44px, но да е записано. */
  min-height: 72px;
  padding: 16px 26px 16px 18px;
  border: 2px solid transparent;
  border-radius: 22px;
  background-color: var(--beige-02);
  font-family: inherit;
  text-align: left;
  color: var(--text-01);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.pk-kat:hover { background-color: var(--beige-03); }

/* Лекият наклон е същият похват като цветните значки с броя деца. */
.pk-kat[aria-pressed="true"] {
  border-color: var(--text-01);
  background-color: var(--white);
  transform: rotate(-1deg);
}

.pk-kat[data-pk-kat="vazrastni"][aria-pressed="true"] { transform: rotate(1deg); }

.pk-kat:focus-visible {
  outline: 2px solid var(--accent-orange-text);
  outline-offset: 3px;
}

.pk-kat-ikona {
  flex: none;
  width: 44px;
  height: 44px;
}

.pk-kat-ime {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

.pk-kat-uvod {
  max-width: 640px;
  margin: 0 auto 26px;
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
  color: var(--text-03);
}

/*
 * Заглавията на двете групи панели. Видими са САМО без скрипт — тогава
 * двете групи стоят една под друга. Със скрипт ги крие pk.js.
 */
.pk-grupa + .pk-grupa { margin-top: 72px; }

.pk-grupa-glava {
  max-width: 720px;
  margin: 0 auto 40px;
  text-align: center;
}

.pk-grupa-ime {
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.2;
  color: var(--text-01);
}

.pk-grupa-tekst {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-03);
}

/* Подробностите под ред от пакетите за възрастни — в документа на клиента
   стоят в наклонени черти: /чери, краставичка…/. */
.pk-podrobno {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-03);
  opacity: 0.8;
}

/* „Не включва залата" под Брънч, Пикник и Соаре — в бежа на условията. */
.pk-dobavka {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  max-width: 760px;
  margin: 22px auto 0;
  padding: 12px 18px;
  border-radius: 14px;
  background-color: var(--background-beige-01);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--text-01);
}

.pk-dobavka .pk-znak { margin-top: 3px; }

.pk-dobavka a {
  color: var(--accent-orange-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── лентата с разделите ───────────────────────────────── */

.pk-lenta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
  margin-bottom: 44px;
  padding: 14px 18px;
  border-radius: 22px;
  background-color: var(--background-beige-01);
}

/*
 * Двата размера на раздела стоят като променливи, защото ги ползват ТРИ
 * правила: покойният вид, избраният вид и невидимото копие, което пази
 * ширината. Разминат ли се, бутонът пак започва да подскача — виж
 * бележката при ::after.
 */
.pk-tab {
  --pk-tab-razmer: 16px;
  --pk-tab-razmer-izbran: 19px;

  position: relative;
  /* 44px височина на пипане — точка О7. */
  min-height: 44px;
  padding: 10px 18px 18px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  font-family: inherit;
  font-size: var(--pk-tab-razmer);
  color: var(--text-01);
  cursor: pointer;
}

/*
 * ⚠️ ЗАПАЗЕНО МЯСТО ЗА ИЗБРАНИЯ НАДПИС — точка О16.
 * Избраният раздел е с по-удебелен И ПО-ЕДЪР шрифт, а такъв текст е по-широк.
 * Без запазено място бутонът порасва при щракване и избутва съседите си
 * настрани. Невидимото копие държи ширината на най-широкия вариант.
 *
 * ⚠️ РАЗМЕРЪТ ТУК ТРЯБВА ДА Е ТОЧНО КОЛКОТО ПРИ .pk-tab-izbran. Дотук копието
 * пазеше само за удебеляване; на 10.08.2026 избраният стана и по-едър и ако
 * този ред беше останал на основния размер, запазеното място щеше да е
 * по-тясно от истинския надпис и цялата лента щеше да се мести при всяко
 * щракване — точно каквото О16 е дошла да оправи.
 */
.pk-tab::after {
  content: attr(data-pk-nadpis);
  display: block;
  height: 0;
  overflow: hidden;
  font-weight: 700;
  font-size: var(--pk-tab-razmer-izbran);
  visibility: hidden;
  pointer-events: none;
}

/*
 * ⚠️ НЕ САМО УДЕБЕЛЯВАНЕ. Разликата само по тежест на шрифта се губи в лента
 * от седем надписа — окото не я хваща, докато не сравни два съседни. Размерът
 * се вижда отдалеч и без сравняване.
 */
.pk-tab-izbran {
  font-weight: 700;
  font-size: var(--pk-tab-razmer-izbran);
}

/* Ръкописната черта се появява само под избрания раздел. */
.pk-tab-cherta {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 2px;
  width: auto;
  height: auto;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.pk-tab-izbran .pk-tab-cherta { opacity: 1; }

.pk-tab:focus-visible {
  outline: 2px solid var(--accent-orange-text);
  outline-offset: 2px;
}

/* Чертата заема цялата ширина и изтласква трите допълнения на свой ред —
   те се ПРИБАВЯТ към пакет, а не се избират вместо него. */
.pk-lenta-razdelitel {
  flex-basis: 100%;
  height: 1px;
  margin: 6px 0;
  background-color: var(--border);
}

/* Допълненията са с една степен по-дребни от пакетите — и в покой, и когато
   са избрани. Разликата между двете степени е същата, за да изглежда като
   един ход, а не като два различни. */
.pk-tab-dopalnitelen {
  --pk-tab-razmer: 15px;
  --pk-tab-razmer-izbran: 18px;
}

/* ── панелите ──────────────────────────────────────────── */

/*
 * ⚠️⚠️ ПАЗАЧИ — НЕ СЕ МАХАТ.
 *
 * Скриптът крие панелите и лентата с атрибута `hidden`. Авторско правило
 * с `display:` ПОБЕЖДАВА `hidden` и елементът остава на екрана, без нито
 * една грешка никъде. Точно това счупи целия сайт на 05.08.2026.
 *
 * Всеки елемент тук, който получава `display:` и може да бъде скрит,
 * трябва да има реда си в този блок.
 */
.pk-panel[hidden],
.pk-lenta[hidden],
.pk-akordeon-btn[hidden],
.pk-kategorii[hidden],
.pk-kat-uvod[hidden],
.pk-grupa[hidden],
.pk-grupa-glava[hidden],
.pk-tab[hidden],
.pk-lenta-razdelitel[hidden] {
  display: none;
}

/* ══ АКОРДЕОНЪТ — ВИЖДА СЕ САМО ПОД 768px ═════════════════
 *
 * Тук е само СКРИВАНЕТО на широк екран. Всичко останало за него стои в
 * блока `max-width: 767px` долу, при един коментар.
 */
.pk-akordeon-btn {
  display: none;
}

/* Панелите са един под друг, ако скриптът не се зареди. Разстоянието е
   за точно този случай. */
.pk-panel + .pk-panel { margin-top: 64px; }

.pk-panel-glava {
  max-width: 720px;
  margin: 0 auto 34px;
  text-align: center;
}

.pk-panel-ime {
  font-size: clamp(26px, 3.4vw, 40px);
  line-height: 1.2;
  color: var(--text-01);
}

.pk-panel-vodach {
  margin-top: 12px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-03);
}

.pk-panel-belejka {
  margin-top: 26px;
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
  color: var(--text-03);
}

.pk-panel-cta {
  margin-top: 34px;
  display: flex;
  justify-content: center;
}

/* ── картите ───────────────────────────────────────────── */

/*
 * ЕДИН ПАКЕТ — ЕДНА КАРТА. Трите степени по брой деца са вътре в нея.
 * Картата е центрирана и с граница по ширина: ред от 1100 пиксела не се
 * чете, окото губи началото на следващия.
 */
.pk-karti {
  display: flex;
  justify-content: center;
}

.pk-karti .pk-karta {
  width: 100%;
  max-width: 760px;

  /* Котвата на знаменцата. Без нея те биха се закачили за най-близкия
     позициониран прародител и биха отлетели някъде из секцията. */
  position: relative;
}

/* ══ ЗНАМЕНЦАТА ГОРЕ-ВДЯСНО ═══════════════════════════════
 *
 * Същата картинка като на началната страница. Там тя ляга върху третата
 * значка с броя деца; тук нарочно не докосва нищо.
 *
 * КАК СА ИЗБРАНИ ЧИСЛАТА (широк екран, карта 763×775):
 *   · името е центрирано и текстът му свършва около 495px от левия ръб
 *   · редът с цените започва на 106px от горния ръб
 *   · знаменцата са 132px широки, тоест 108px високи (157:129)
 *   · при `top: -24px` долният им край пада на 84px — 22px над цените
 *   · при `right: -6px` левият им край пада на 637px — вдясно от името
 *
 * ⚠️ ПОРАСНАТ ЛИ, ЩЕ ЛЕГНАТ ВЪРХУ ЦЕНИТЕ. Двете числа, които ги държат
 * настрана, са ширината и `top`. Сменя ли се едното, се проверява другото.
 */
.pk-karti .pk-znamenca {
  position: absolute;
  top: -24px;
  right: -6px;
  width: 132px;
  height: auto;

  /*
   * Под картата, не над нея. Дори да се сбърка някога сметката горе,
   * знаменцата ще минат ЗАД цените, а не върху тях — украса не бива да
   * може да скрие число.
   */
  z-index: 0;
  pointer-events: none;
}

/* Съдържанието остава над украсата. */
.pk-karti .pk-karta > *:not(.pk-znamenca) {
  position: relative;
  z-index: 1;
}

.pk-karta {
  display: flex;
  flex-direction: column;
  padding: 34px 32px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background-color: var(--white);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/*
 * Значката с броя деца — същите цветове и същият лек наклон, които стояха
 * над старите карти. Цветът и наклонът идват от data/packages.php, тоест
 * не се пишат тук.
 */
.pk-etiket-deca {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--text-02);
  white-space: nowrap;
}

.pk-etiket-deca.yellow { background-color: var(--accent-yellow); }
.pk-etiket-deca.blue   { background-color: var(--accent-blue); }
.pk-etiket-deca.pink   { background-color: var(--accent-pink); }
.pk-etiket-deca.green  { background-color: var(--accent-green); }
.pk-etiket-deca.orange { background-color: var(--accent-orange); }

.pk-etiket-deca.left   { transform: rotate(-3deg); }
.pk-etiket-deca.center { transform: rotate(0deg); }
.pk-etiket-deca.right  { transform: rotate(3deg); }

.pk-karta-ime {
  position: relative;
  /* Място за ръкописната черта отдолу — тя е извън потока. */
  padding-bottom: 16px;
  font-size: clamp(21px, 2.2vw, 26px);
  line-height: 1.25;
  color: var(--text-01);
}

/*
 * Ръкописното подчертаване. Абсолютно, за да не мени височината на реда, и
 * подравнено вляво по началото на името.
 */
.pk-karta-cherta {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  max-width: 230px;
  height: auto;
}

.pk-cena {
  margin: 18px 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
  font-family: "Shantell Sans", cursive;
  font-size: clamp(34px, 3.6vw, 42px);
  line-height: 1;
  color: var(--text-01);
}

.pk-cena span {
  font-family: inherit;
  font-size: 0.55em;
}

/* ══ ТЕКСТЪТ В КАРТАТА НА ПАКЕТА Е ЦЕНТРИРАН ══════════════
 *
 * Само в картите на пакетите (`.pk-karti .pk-karta`).
 *
 * ⚠️ ЧАСТИЧНО ОТМЕНЕНО НА 10.08.2026 — виж „ОТМЕТКИТЕ В КАРТИТЕ НА
 * УСЛУГИТЕ" по-долу. Дотук тук пишеше, че картите на допълнителните услуги
 * остават подравнени вляво. Това вече важи само за таблиците с числа
 * (`.pk-redove`); списъците с отметки в тях се центрират на широк екран.
 *
 * Всичко долу е ЕДИН блок нарочно: центрирането пипа шест различни неща
 * (име, черта, редове, разгъване, списък, условия) и разпръснато из файла
 * би се загубило. Реши ли се да отпадне, отпада целият блок.
 */

.pk-karti .pk-karta { text-align: center; }

/* Ръкописната черта се центрира под името, вместо да тръгва отляво. */
.pk-karti .pk-karta-cherta {
  left: 0;
  right: 0;
  width: min(100%, 260px);
  margin-inline: auto;
}

/* Редовете са flex — центрирането им иска `justify-content`, а не
   `text-align`. Отметката остава залепена за текста си. */
.pk-karti .pk-spisak li { justify-content: center; }

/* Разгъването „Виж повече" е inline-flex, тоест текстът на родителя го
   центрира. */
.pk-karti .pk-menyu-detail { text-align: center; }

/* Точките отпадат — центриран списък с точки отляво изглежда счупен. */
.pk-karti .pk-menyu-spisak {
  list-style: none;
  margin-left: 0;
}

/* ── трите степени в една карта ────────────────────────── */

.pk-ceni {
  list-style: none;
  margin: 22px 0 0;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--border);
  display: grid;
  /* auto-fit — на тесен екран трите падат едно под друго сами, вместо да
     се смачкват. */
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 20px 16px;
}

.pk-cena-blok {
  display: grid;
  justify-items: center;
  gap: 12px;
  min-width: 0;
  text-align: center;
}

/* ══ ТРИТЕ СТЕПЕНИ ПОД 540px: ДВЕ ГОРЕ, ТРЕТАТА В СРЕДАТА ══
 *
 * `auto-fit` горе слага толкова колони, колкото се побират. Щом станат две,
 * трите степени се разпадат на 2 + 1 и последната — „20 деца" — застава в
 * лявата колона на втория ред, под първата. Излиза стълбица, не решетка:
 * дясната половина на втория ред зее празна.
 *
 * Тук подредбата се заковава: две колони, а третата се разпъва през двете и
 * се центрира сама — `.pk-cena-blok` вече е `justify-items: center`.
 *
 * ⚠️ ПРАГЪТ Е 540px, ЗАЩОТО ОТ ~525px НАГОРЕ И ТРИТЕ СЕ ПОБИРАТ НА ЕДИН РЕД.
 * Останеше ли правилото без пречупване, при три колони `1 / -1` щеше да
 * изхвърли „20 деца" на собствен ред през цялата ширина на картата —
 * тоест точно обратното на това, за което е.
 *
 * ⚠️ САМО В КАРТИТЕ НА ПАКЕТИТЕ (`.pk-karti`). Същият клас носят и цените в
 * картите на услугите, където броят им е друг.
 *
 * ⚠️ `:nth-child(3):last-child` — тоест само когато степените са точно три.
 * Пази от деня, в който някой пакет получи четвърта степен.
 */
@media (max-width: 540px) {
  .pk-karti .pk-ceni {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pk-karti .pk-ceni > .pk-cena-blok:nth-child(3):last-child {
    grid-column: 1 / -1;
  }
}

/* Значката тук е центрирана и без отстъп отдолу — той идва от решетката. */
.pk-cena-blok .pk-etiket-deca {
  align-self: auto;
  margin-bottom: 0;
}

.pk-cena-blok .pk-cena {
  margin: 0;
  padding: 0;
  border-bottom: 0;
  font-size: clamp(28px, 3.2vw, 38px);
}

/* ── списъкът в картата ────────────────────────────────── */

.pk-spisak {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.pk-spisak li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-03);
}

/*
 * Тънката черта между редовете — тя дава на картата вида от стария сайт:
 * списък, разграфен на редове, а не сбита колона от точки.
 */
.pk-spisak-redove li {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--neutral-03);
}

.pk-spisak-redove li:last-child { border-bottom: 0; }

.pk-znak {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 3px;
}

/*
 * ЦВЕТНАТА ЗВЕЗДИЧКА СОЧИ КЪМ УСЛОВИЯТА В ДЪНОТО НА КАРТАТА, не украсява.
 *
 * ⚠️ Ползват се ТЪМНИТЕ варианти на цветовете. Оригиналните --accent-blue и
 * --accent-pink падат на 2.1:1 върху бяло — знак, който трябва да се намери
 * с поглед, не бива да е блед. Същото решение като в pricing.css.
 */
.pk-zvezda {
  margin-left: 3px;
  font-weight: 800;
}

.pk-zvezda.blue { color: var(--accent-blue-text); }
.pk-zvezda.pink { color: var(--accent-pink-text); }

/* Редът с детското меню — по-тежък, защото носи и разгъването. */
.pk-red-menyu { color: var(--text-01); }

.pk-menyu-red-ime {
  display: block;
  font-weight: 700;
}

/* <details> вместо бутон: браузърът поема отварянето, клавиатурата и
   екранния четец. */
.pk-menyu-detail { margin-top: 8px; }

.pk-menyu-detail summary {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 18px;
  border: 1px solid var(--text-01);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-01);
  cursor: pointer;
  list-style: none;
}

/* Триъгълникът по подразбиране се маха и в двата вида браузъри. */
.pk-menyu-detail summary::-webkit-details-marker { display: none; }
.pk-menyu-detail summary::marker { content: ""; }

.pk-menyu-detail summary:focus-visible,
.pk-vapros summary:focus-visible {
  outline: 2px solid var(--accent-orange-text);
  outline-offset: 3px;
}

.pk-menyu-spisak {
  list-style: disc;
  margin: 12px 0 0 20px;
  padding: 0;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 400;
  color: var(--text-03);
}

.pk-menyu-spisak li { margin-bottom: 5px; }

/*
 * Липсващото се чете за половин секунда — червено и с кръстче, както беше.
 * Нарочно НЕ е по-бледо от останалите редове: точно това е редът, който не
 * бива да се пропусне.
 *
 * #c0341f е 4.9:1 върху бяло — над изискваните 4.5:1 (точка О2).
 */
.pk-red-bez {
  font-weight: 600;
  color: #c0341f;
}

.pk-znak-bez {
  display: grid;
  place-items: center;
  width: 16px;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1;
  color: #c0341f;
}

/*
 * ═ КАКВО ОСИГУРЯВА КЛИЕНТЪТ ПРИ НАЕМА — 08.09.2026 ═══════
 *
 * Кетърингът, напитките и декорацията НЕ са отказ — те са негова
 * работа. Затова редът НЕ е червен като `.pk-red-bez`: червеното на
 * тази страница значи „това го няма". Знакът е `info-orange.svg` —
 * същата оранжева икона, с която из сайта се бележат бележките.
 *
 * ⚠️ ЦВЕТЪТ НА ТЕКСТА НАРОЧНО ОСТАВА КАКТО НА ОСТАНАЛИТЕ РЕДОВЕ.
 * Иконата носи цвета. Три оранжеви реда един под друг биха
 * викали по-силно от самата цена над тях. По-тежкият шрифт стига.
 *
 * ⚠️ СТАР БАГ, НЕ ГО ПИПАХ: `.pk-red-bez` горе иска червено, но не
 * го получава — `.pk-spisak li` (0,1,1) бие `.pk-red-bez` (0,1,0) и текстът
 * излиза сив. Червено е само кръстчето. Поправката би пребоядисала
 * и трите карти на пакетите — чака решение от клиента.
 */
.pk-red-sam {
  font-weight: 600;
}

/*
 * Наемът е ЕДНА карта в двуколонна решетка, тоест вътре в нея условията са
 * една колона. Останалото в картата е центрирано (виж блока с отметките
 * по-долу), затова и те се центрират — иначе долната трета на картата
 * тръгва отляво, а горните две трети стоят в средата.
 */
.pk-usluga .pk-usloviya { padding-top: 18px; }
.pk-usluga .pk-uslovie { text-align: center; }

/* ── разгъването с тематичната анимация (само Лукс) ────── */

.pk-poveche {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.pk-poveche summary {
  display: flex;
  align-items: center;
  /* 44px височина на пипане — точка О7. */
  min-height: 44px;
  font-size: 16px;
  font-weight: 600;
  color: var(--accent-orange-text);
  cursor: pointer;
}

.pk-poveche summary:focus-visible {
  outline: 2px solid var(--accent-orange-text);
  outline-offset: 3px;
}

.pk-poveche .pk-spisak {
  margin-top: 14px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px 24px;
}

/* ── условията в дъното на картата ─────────────────────── */

.pk-usloviya {
  list-style: none;
  /* `auto` избутва условията до долния край на картата. Работи, защото
     .pk-karta е колона. */
  margin: auto 0 0;
  padding: 22px 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px 14px;
}

.pk-uslovie {
  min-width: 0;
  padding: 10px 14px;
  border-radius: 12px;
  background-color: var(--background-beige-01);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-03);
}

/* Пояснението под условието — например кога започва овъртаймът (09.10.2026). */
.pk-uslovie-poyasnenie {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.45;
  font-weight: var(--bold);
  color: var(--text-01);
}

/* ── допълнителни услуги ───────────────────────────────── */

.pk-uslugi {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.pk-usluga {
  display: flex;
  flex-direction: column;
  padding: 28px 26px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background-color: var(--white);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.pk-usluga-tekst {
  margin-top: 18px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-03);
}

/* ══ ОТМЕТКИТЕ В КАРТИТЕ НА УСЛУГИТЕ СЕ ЦЕНТРИРАТ ═════════
 *
 * Името на услугата, ръкописната черта под него, етикетите с времето и
 * цените — всичко в горната половина на картата стои в средата. Само
 * списъкът с отметки тръгваше отляво и картата излизаше разполовена:
 * центрирана горе, подравнена вляво долу.
 *
 * ⚠️ САМО `.pk-spisak`, НЕ `.pk-redove`. Вторите са таблици „услуга … цена"
 * — два края на един ред, които се четат по колона. Центрирани, числата
 * започват на различно място на всеки ред и колоната изчезва.
 *
 * ⚠️ САМО НА ШИРОК ЕКРАН. Под 768px картите стават една колона в цялата
 * ширина на телефона и центрираният списък се разпилява — виж отмяната в
 * блока `max-width: 767px`.
 *
 * Редовете са flex, затова центрирането иска `justify-content`, а не само
 * `text-align`. `text-align` пък трябва за втория ред на надпис, който се е
 * пренесъл. Двете вървят заедно, както в картите на пакетите горе.
 */
.pk-usluga .pk-spisak li {
  justify-content: center;
  text-align: center;
}

/* ── таблиците с таксите ───────────────────────────────── */

/*
 * ДВЕ КОЛОНИ С ЕДНАКВА ВИСОЧИНА.
 *
 * `align-items` нарочно НЕ е `start`: при `stretch` (стойността по
 * подразбиране) двете карти се изпъват до височината на по-високата и
 * долните им ръбове съвпадат. Дотук бяха три колони с `start` и дясната
 * стърчеше надолу, а под двете леви зееше празно.
 */
.pk-tablici {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.pk-tablica {
  padding: 28px 26px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background-color: var(--white);
}

.pk-tablica-ime {
  margin-bottom: 14px;
  font-size: 20px;
  line-height: 1.25;
  color: var(--accent-orange-text);
}

/* Втората таблица в същата карта — с черта над себе си, за да не изглежда
   като продължение на първата. */
.pk-tablica-vtora {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

.pk-redove {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pk-redove li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--neutral-03);
  font-size: 15px;
  color: var(--text-03);
}

.pk-redove li:last-child { border-bottom: 0; }

.pk-redove strong {
  color: var(--text-01);
  white-space: nowrap;
}

.pk-tablica-belejka {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-03);
}

/* ── почасова игра ─────────────────────────────────────── */

.pk-chas {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 30px;
  align-items: center;
}

.pk-chas-foto {
  min-width: 0;
  border-radius: 24px;
  overflow: hidden;
  background-color: var(--background-beige-01);
}

.pk-chas-foto img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

/* ── добре е да знаете ─────────────────────────────────── */

/* Бяла кутия с бежови хапчета вътре — както е в картите. */
.pk-znaete {
  padding: 36px 34px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background-color: var(--white);
}

.pk-znaete-glava {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.pk-znaete-spisak {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

.pk-znaete-red {
  min-width: 0;
  padding: 12px 16px;
  border-radius: 12px;
  background-color: var(--background-beige-01);
  font-size: 16px;
  line-height: 1.55;
  color: var(--text-03);
}

.pk-znaete-tekst {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-03);
}

/* Връзката към менюто в реда с напитките влиза при останалите —
   един вид на връзка в цялата страница, не нов за едно място. */
.pk-znaete-tekst a,
.pk-usluga-tekst a,
.pk-red-sam a,
.pk-panel-belejka a,
.pk-vapros a {
  color: var(--accent-orange-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── главният призив ───────────────────────────────────── */

.pk-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 46px;
  align-items: center;
  padding: 44px;
  border-radius: 28px;
  background-color: var(--white);
}

.pk-cta-ime {
  margin-top: 4px;
  font-size: clamp(24px, 3.2vw, 38px);
  line-height: 1.2;
  color: var(--text-01);
}

.pk-cta-uvod {
  margin-top: 14px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-03);
}

.pk-cta-foto {
  min-width: 0;
  border-radius: 22px;
  overflow: hidden;
  background-color: var(--background-beige-01);
}

.pk-cta-foto img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* ── комплиментите ─────────────────────────────────────── */

.pk-doverie {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.pk-doverie-red {
  display: grid;
  justify-items: start;
  gap: 6px;
  padding: 26px 24px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background-color: var(--white);
}

.pk-doverie-znak {
  width: 52px;
  height: 52px;
  margin-bottom: 6px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: var(--background-beige-01);
}

.pk-doverie-ime {
  font-weight: 700;
  font-size: 17px;
  color: var(--text-01);
}

.pk-doverie-tekst {
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-03);
}

/* ── чести въпроси ─────────────────────────────────────── */

.pk-vaprosi { border-top: 1px solid var(--border); }

.pk-vapros { border-bottom: 1px solid var(--border); }

.pk-vapros summary {
  cursor: pointer;
  /* 44px височина на пипане при дребен шрифт — точка О7. */
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 14px 0;
  font-size: 17px;
  font-weight: 600;
  color: var(--text-01);
}

.pk-vapros p {
  padding: 0 0 16px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-03);
}

.pk-vruzki {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  font-size: 15px;
}

.pk-vruzki a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--accent-orange-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── появяване ─────────────────────────────────────────── */

/*
 * Скриването е под `.pk-js`, който се слага от вграден скрипт в самата
 * страница. Не се ли зареди assets/js/pk.js, същият вграден скрипт маха
 * класа след `load` и всичко се вижда. Тоест счупен скрипт НЕ оставя
 * празна страница.
 */
.pk-js .pk-anim {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.pk-js .pk-anim.pk-vidim {
  opacity: 1;
  transform: none;
}

/* ── движение по желание ───────────────────────────────── */

@media (hover: hover) and (pointer: fine) {
  .pk-karta:hover,
  .pk-usluga:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(49, 47, 48, 0.1);
    border-color: var(--accent-orange);
  }

  .pk-tab:hover { color: var(--accent-orange-text); }

  .pk-buton-vtori:hover {
    background-color: var(--accent-orange-text);
    color: var(--white);
  }

  .pk-menyu-detail summary:hover {
    background-color: var(--background-beige-01);
  }

  .pk-vruzka-red a:hover { border-bottom-color: currentColor; }
}

@media (prefers-reduced-motion: reduce) {
  .pk-js .pk-anim {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .pk-karta,
  .pk-usluga,
  .pk-buton-vtori,
  .pk-tab-cherta { transition: none; }

  /* Акордеонът НЕ е тук, а в собствен блок най-долу — виж бележката там. */

  .pk-karta:hover,
  .pk-usluga:hover { transform: none; }
}

/* ── по-тесни екрани ───────────────────────────────────── */

@media (max-width: 1200px) {
  .pk-karti,
  .pk-uslugi,
  .pk-tablici { gap: 18px; }

  .pk-karta { padding: 28px 24px; }
  .pk-cta { padding: 36px; gap: 34px; }
}

@media (max-width: 1024px) {
  .pk-sekciya { padding: 72px 20px; }
  .pk-stegnata { padding-block: 56px; }
  .pk-bez-gorno { padding-top: 0; }

  .pk-hero { padding-top: 116px; }

  .pk-hero-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  /* Снимката пада под текста — първото, което трябва да се прочете, е
     заглавието, а не илюстрацията. */
  .pk-hero-foto { order: 2; }

  /* .pk-tablici го няма тук нарочно — то и без това е на две колони. */
  .pk-uslugi,
  .pk-doverie {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pk-chas,
  .pk-cta {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .pk-cta-foto { order: 2; }
}

@media (max-width: 767px) {
  .pk-sekciya { padding: 60px 16px; }
  .pk-stegnata { padding-block: 44px; }
  .pk-hero { padding: 104px 16px 52px; }

  .pk-glava { margin-bottom: 30px; }

  .pk-uslugi,
  .pk-tablici,
  .pk-doverie {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  /*
   * Отметките се връщат вляво. Горе картите са три в редица и всяка е
   * тясна — там центрираният списък се чете като едно нещо. Тук картата
   * заема цялата ширина на телефона и центрирането разпилява началата на
   * редовете: окото няма откъде да тръгне надолу по списъка.
   */
  .pk-usluga .pk-spisak li {
    justify-content: flex-start;
    text-align: left;
  }

  /* Същото важи и за условията на наема. */
  .pk-usluga .pk-uslovie { text-align: left; }

  /*
   * Знаменцата се смаляват заедно с картата. На телефон името се пренася на
   * два реда и стига по-надясно, а цените се качват по-нагоре — старите
   * 132px биха легнали и върху двете.
   */
  .pk-karti .pk-znamenca {
    top: -16px;
    right: -4px;
    width: 92px;
  }

  /* ══════════════════════════════════════════════════════════════════════
   *  ИЗБОРЪТ НА ПАКЕТ Е АКОРДЕОН, НЕ ЛЕНТА — 10.08.2026
   * ══════════════════════════════════════════════════════════════════════
   *
   * Лентата с разделите ставаше хоризонтален скрол: седем надписа в един
   * ред, от които се виждат два и половина. Човек не вижда какво изобщо
   * има за избиране и не забелязва, че редът се плъзга.
   *
   * Сега същият избор е списък от шест реда. Отвореният показва
   * съдържанието си точно под себе си; другите пет остават на екрана и се
   * сменя с едно натискане, без превъртане нагоре.
   *
   * Обяснението за разметката стои при $pkAkordeonGlava в paketi-i-ceni.php.
   */

  .pk-lenta { display: none; }

  /* Деца / възрастни: двата бутона един до друг, иконата над надписа —
     „Пакети за възрастни" иначе не се събира в половин телефон. */
  .pk-kategorii {
    gap: 10px;
    margin-bottom: 14px;
  }

  .pk-kat {
    flex: 1 1 0;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 14px 10px;
    text-align: center;
  }

  .pk-kat-ikona {
    width: 36px;
    height: 36px;
  }

  .pk-kat-ime { font-size: 17px; }

  .pk-kat-uvod {
    margin-bottom: 20px;
    font-size: 14px;
  }

  .pk-dobavka {
    justify-content: flex-start;
    text-align: left;
    font-size: 14px;
  }

  .pk-akordeon-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;

    /* Точка О7 — целта за пръст е поне 44px. */
    min-height: 56px;
    padding: 14px 16px;

    border: 1px solid var(--border);
    border-radius: 16px;
    background-color: var(--white);
    font-family: inherit;
    text-align: left;
    color: var(--text-01);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }

  .pk-akordeon-ime {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
  }

  /* Най-ниската цена на пакета. Приглушена — тя е ориентир, а не самата
     цена; истинските три са вътре в панела. */
  .pk-akordeon-ot {
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-03);
    white-space: nowrap;
  }

  /* Стрелката е рисувана, не знак от шрифта — „▾" излиза различно голяма в
     различните браузъри. Същото решение като при .navbar-grupa-strelka. */
  .pk-akordeon-strelka {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin-right: 4px;
    border-right: 2.5px solid var(--accent-orange-text);
    border-bottom: 2.5px solid var(--accent-orange-text);
    transform: translateY(-3px) rotate(45deg);
    transition: transform 0.2s ease;
  }

  /* ── отвореният ред ─────────────────────────────────── */

  .pk-akordeon-btn[aria-expanded="true"] {
    border-color: var(--accent-orange);
    background-color: var(--background-beige-01);
  }

  .pk-akordeon-btn[aria-expanded="true"] .pk-akordeon-strelka {
    transform: translateY(1px) rotate(-135deg);
  }

  .pk-akordeon-btn:focus-visible {
    outline: 2px solid var(--accent-orange-text);
    outline-offset: 2px;
  }

  /*
   * ⚠️ СВИВАНЕТО СТАВА ОТТУК. Всичко в затворения панел се скрива освен
   * собствения му заглавен ред.
   *
   * Това правило СКРИВА, не показва — затова не влиза в спора с атрибута
   * `hidden`, за който предупреждава блокът „ПАЗАЧИ" горе. Панелът остава
   * видим и на телефон, а скриптът не му пипа `hidden`; вместо това слага
   * и маха `data-pk-otvoren`. Виж двата режима в pk.js.
   */
  .pk-panel:not([data-pk-otvoren]) > *:not(.pk-akordeon-btn) {
    display: none;
  }

  /*
   * ⚠️ ПОД `.pk-js`, А НЕ ПРЯКО. Панелите вече не са отделни страници една
   * след друга, а редове в списък — между два затворени реда 44px са дупка.
   *
   * Но 44px не са били произволни: те са за случая БЕЗ JavaScript, когато
   * акордеон няма и шестте панела стоят разгънати един под друг. Там 10px
   * биха слепили шест цели страници. Затова стеснението важи само когато
   * скриптът се е обадил — тогава и само тогава списъкът е списък.
   *
   * Правилото с 44px стои по-долу в същия блок и остава за другия случай;
   * `.pk-js` пред селектора е по-тежко и печели независимо от реда.
   */
  .pk-js .pk-panel + .pk-panel { margin-top: 10px; }

  /* Затвореният ред е само бутон — долепен до следващия. Отвореният си взема
     въздух, за да личи докъде стига съдържанието му. */
  .pk-js .pk-panel[data-pk-otvoren] {
    margin-top: 18px;
    margin-bottom: 22px;
  }

  .pk-panel[data-pk-otvoren] .pk-akordeon-btn {
    margin-bottom: 22px;
  }

  /*
   * Името вече стои в заглавния ред. Оставено, то се повтаря два пъти едно
   * под друго — веднъж в реда, веднъж в главата на панела.
   */
  .pk-panel-glava .pk-panel-ime { display: none; }

  .pk-panel-glava {
    margin-bottom: 22px;
  }

  /*
   * Лентата с разделите става един ред с превъртане настрани, вместо
   * четири реда бутони. Отрицателните полета я пускат до самия ръб на
   * екрана — иначе последният раздел изглежда като последен, а не като
   * „има още надясно".
   */
  .pk-lenta {
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin-inline: -16px;
    padding-inline: 16px;
    border-radius: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .pk-lenta::-webkit-scrollbar { display: none; }

  .pk-tab { flex: 0 0 auto; white-space: nowrap; }

  /* Разделителят няма смисъл в един ред — там няма горе и долу. */
  .pk-lenta-razdelitel {
    flex: 0 0 1px;
    height: 26px;
    margin: 0 4px;
  }

  .pk-karta { padding: 26px 20px; }
  .pk-usluga { padding: 24px 20px; }
  .pk-tablica { padding: 24px 20px; }
  .pk-znaete { padding: 26px 22px; }
  .pk-cta { padding: 26px 22px; }

  /* Само за случая без JavaScript — виж `.pk-js .pk-panel + .pk-panel` горе. */
  .pk-panel + .pk-panel { margin-top: 44px; }

  /* Двата бутона в заглавния екран заемат цялата ширина — на телефон
     половин бутон до половин бутон не се уцелва с палец. */
  .pk-butoni { flex-direction: column; align-items: stretch; }
  .pk-butoni > * { justify-content: center; text-align: center; }

  .pk-znaete-spisak { grid-template-columns: minmax(0, 1fr); }
}

/*
 * ══ ЗНАМЕНЦАТА НА ТЯСНО ═══════════════════════════════════
 *
 * Под ~440px картата се стеснява дотам, че името „Пакет Стандарт" стига до
 * дясната ѝ третина и знаменцата лягат върху него. Мерено: при 430px им
 * остават 5px, при 360px вече се застъпват с 40px.
 *
 * Затова тук картата получава ЛЕНТА ОТГОРЕ — името слиза с толкова, колкото
 * знаменцата заемат, и двете спират да се борят за същия ред. Смаляване
 * само по себе си не стига: за да се разминат при 320px, знаменцата трябва
 * да паднат под 45px и се превръщат в петънце.
 *
 * Прагът е 520px, а не 440px — дотам има запас за по-дълго име на пакет.
 */
@media (max-width: 520px) {
  .pk-karti .pk-karta { padding-top: 68px; }

  .pk-karti .pk-znamenca {
    top: -14px;
    right: -4px;
    width: 86px;
  }
}

@media (max-width: 430px) {
  .pk-karta { padding: 22px 18px; }
  .pk-cena { font-size: 34px; }
  .pk-vapros summary { font-size: 16px; }
}

/* ══ ЛЕКОТО ПОЛЮШВАНЕ ═════════════════════════════════════════════════════
 * Движението и спирането му при „по-малко движение" стоят на едно място —
 * `--plavane` в style.css. Тук се казва само КОИ карти го правят.
 *
 * Съседните не бива да плуват в такт, иначе цялата решетка се люлее като
 * един блок. Отрицателното забавяне ги пуска вече започнали, вместо да
 * чакат реда си.
 * ═══════════════════════════════════════════════════════════════════════ */

.pk-karta,
.pk-usluga {
  animation: var(--plavane);
}

.pk-karta:nth-child(3n + 2),
.pk-usluga:nth-child(3n + 2) {
  animation-duration: 8.1s;
  animation-delay: -2.4s;
}

.pk-karta:nth-child(3n + 3),
.pk-usluga:nth-child(3n + 3) {
  animation-duration: 6.6s;
  animation-delay: -4.9s;
}

/*
 * ⚠️ БЛОКЪТ Е НАКРАЯ НА ФАЙЛА НАРОЧНО — 10.08.2026.
 *
 * Преходите на акордеона се обявяват вътре в `@media (max-width: 767px)`,
 * който стои СЛЕД общия блок за „по-малко движение" горе. Медийната заявка
 * не добавя тежест на селектора, тоест при еднаква тежест печели по-долният.
 * Сложени горе при другите, тези два реда просто не вършеха нищо — измерено:
 * `transition-duration` си оставаше 0.2s при включено „по-малко движение".
 *
 * Смени ли се някога редът на блоковете във файла, това пак трябва да остане
 * след правилата, които отменя.
 */
@media (prefers-reduced-motion: reduce) {
  .pk-akordeon-btn,
  .pk-akordeon-strelka {
    transition: none;
  }
}
