/*
 * KIGIP — тонкий шар поверх стилів EduBlink.
 * Розмітка сторінок (головна + ступені I–IV) використовує нативні класи
 * теми/edublink-core (edublink-section-heading, edu-btn, eb-accordion,
 * eb-tabs, course-style-1, edublink-team-item, edublink-category-1,
 * edublink-feature-item). Тут — лише розкладка секцій і дрібні kigip-блоки.
 */

/* Змінні потрібні всюди, де є наші блоки: на сторінці «Про нас»
   обгортка інша (.kigip-about), і без цього кольори «випадали». */
.kigip-eb,
.kigip-about,
[class*="kigip-eb-"] {
  --kigip-green: var(--edublink-color-primary, #608758);
  --kigip-ink: var(--edublink-color-heading, #181818);
  --kigip-muted: var(--edublink-color-body, #808080);
  --kigip-line: rgba(16, 24, 40, .1);
  --kigip-soft: #eef3ea;
  --kigip-sand: #f7f5ee;
}
.kigip-eb {
  --kigip-green: var(--edublink-color-primary, #608758);
  --kigip-ink: var(--edublink-color-heading, #181818);
  --kigip-muted: var(--edublink-color-body, #808080);
  --kigip-line: rgba(16, 24, 40, .1);
  --kigip-soft: #eef3ea;
  --kigip-sand: #f7f5ee;
  overflow: hidden;
}

/* ── Секції ── */
.kigip-eb-section { padding: 100px 0; }
.kigip-eb-section--alt { background: var(--edublink-color-shade, #f5f5f5); }
.kigip-eb-section--tight { padding: 56px 0; }
.kigip-eb-section .kigip-eb-heading { margin-bottom: 40px; }
.kigip-eb-heading--center { text-align: center; }
.kigip-eb-heading--center .title-shape { display: inline-block; }
.kigip-eb-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.kigip-eb-section__head .kigip-eb-heading { margin-bottom: 0; }
.kigip-eb-subhead { text-align: center; margin: 56px 0 26px; }
.kigip-eb-subhead h3 { margin-bottom: 8px; }

/* ── Сітка: відступи рядів ── */
.kigip-eb .edublink-row { row-gap: 30px; }
.kigip-eb .edublink-row > [class*="edublink-col"] { display: flex; flex-direction: column; }
.kigip-eb .edublink-row > [class*="edublink-col"] > * { flex: 1 1 auto; }

/* ── Hero ── */
.kigip-eb-hero {
  position: relative;
  /* Колір фону — як у демо EduBlink (секція dbcab9a): холодний
     сіро-блакитний #EAF0F2, а не зеленуватий градієнт. Знизу відступу
     немає: фото має спускатися впритул до темної смуги «Студентам». */
  padding: 110px 0 0;
  background: #eaf0f2;
  overflow: hidden;
}
.kigip-eb-hero--inner { padding: 90px 0 70px; }
/* По низу, а не по центру: фото має діставати темної смуги «Студентам». */
.kigip-eb-hero__row { align-items: flex-end; }
.kigip-eb-hero__heading .heading { font-size: 48px; line-height: 1.15; }
.kigip-eb-hero--inner .kigip-eb-hero__heading .heading { font-size: 40px; }
.kigip-eb-hero__lead { margin: 22px 0 0; font-size: 17px; line-height: 1.7; }
.kigip-eb-hero__actions { margin-top: 30px; display: flex; gap: 14px; flex-wrap: wrap; }
.kigip-eb-hero__facts { margin-top: 26px; }
.kigip-eb-hero__facts strong { margin-right: 6px; }
.kigip-eb-hero__media { position: relative; }
.kigip-eb-hero__media img {
  width: 100%;
  /* Знизу кутів немає: фото сідає впритул на темну смугу «Студентам»,
     тож заокруглення там читалося б як щілина. */
  border-radius: 20px 20px 0 0;
  object-fit: cover;
  display: block;
}
/* Текстова колонка зберігає нижній відступ — інакше вона теж поїде вниз. */
.kigip-eb-hero__row > [class*="edublink-col"]:first-child { padding-bottom: 90px; }
.kigip-eb-hero__card {
  position: absolute;
  left: -34px;
  bottom: 34px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 20px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 18px 46px rgba(16, 24, 40, .16);
  transition: transform .25s ease;
}
.kigip-eb-hero__card:hover { transform: translateY(-4px); }
.kigip-eb-hero__card-label { font-size: 14px; font-weight: 700; color: var(--kigip-ink); }
.kigip-eb-hero__card-row { display: flex; align-items: center; gap: 12px; }
.kigip-eb-hero__card-avatars { display: flex; align-items: center; }
.kigip-eb-hero__card-avatars img,
.kigip-eb-hero__card-avatars b {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #fff;
  margin-left: -10px;
  object-fit: cover;
}
.kigip-eb-hero__card-avatars img:first-child { margin-left: 0; }
.kigip-eb-hero__card-avatars b {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  background: var(--kigip-green);
  color: #fff;
}
.kigip-eb-hero__card-note {
  font-size: 12.5px;
  color: var(--kigip-muted);
  max-width: 130px;
  line-height: 1.35;
}
.kigip-eb-hero__card-note strong { display: block; color: var(--kigip-ink); font-size: 14px; }
@media (max-width: 1024px) {
  .kigip-eb-hero__card { left: 12px; bottom: 12px; }
}


/* ── Декоративні шейпи hero (з assets/images/shapes, як у демо) ── */
.kigip-eb-shape {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.kigip-eb-hero > .edublink-container { position: relative; z-index: 1; }
.kigip-eb-shape--dots-l {
  left: -40px;
  top: 60px;
  width: 150px;
  opacity: .55;
  animation: kigip-float 7s ease-in-out infinite;
}
.kigip-eb-shape--waves {
  left: 55%;
  top: 56px;
  width: 96px;
  animation: kigip-float 6s ease-in-out 1s infinite;
}
.kigip-eb-shape--circle {
  right: 4%;
  top: 90px;
  width: 120px;
  animation: kigip-spin 26s linear infinite;
}
.kigip-eb-shape--dots-r {
  right: -30px;
  bottom: 80px;
  width: 120px;
  opacity: .5;
  animation: kigip-float 8s ease-in-out .5s infinite;
}
.kigip-eb-shape--dot {
  left: 52%;
  top: 44%;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f8b81f;
  animation: kigip-float 5s ease-in-out infinite;
}
@keyframes kigip-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-16px); }
}
@keyframes kigip-spin {
  to { transform: rotate(360deg); }
}
@media (max-width: 1024px) {
  .kigip-eb-shape--waves, .kigip-eb-shape--dot { display: none; }
}
/* На вузькому екрані колонка тексту займає всю ширину, і шейпи, які на
   десктопі лежать у порожнечі збоку, налазять на заголовок: пунктирне
   коло перекривало H1, крапки — надзаголовок. Прикраса не варта того,
   щоб псувати читабельність, тому на мобільному прибираємо всі. */
@media (max-width: 767px) {
  .kigip-eb-shape { display: none; }
}


/* ── Анонси: картки course-style-1 на повну висоту ── */
.kigip-eb-courses .edublink-single-course { height: 100%; }
.kigip-eb-courses .edublink-single-course .inner { height: 100%; display: flex; flex-direction: column; }

/*
 * Заголовки різної довжини (один або два рядки) зсували ціну й мету.
 * Робимо .content колонкою і притискаємо ціну з метою донизу —
 * тоді в усіх картках вони стоять на одній лінії.
 */
.kigip-eb-courses .edublink-single-course .inner > .content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.kigip-eb-courses .edublink-single-course .content .title { margin-bottom: 14px; }
.kigip-eb-courses .edublink-single-course .content .course-price { margin-top: auto; }
.kigip-eb-courses .edublink-single-course .content .course-meta { margin-bottom: 0; }

/*
 * Плашка типу («Лекція», «Курс») у темі — inline-block, тобто по ширині
 * тексту. Але ми зробили .content флекс-колонкою заради рівних висот,
 * а флекс блокіфікує дітей — плашка розтягувалась на всю картку.
 * align-self повертає їй ширину за вмістом.
 */
.kigip-eb-courses .edublink-single-course .content .course-level { align-self: flex-start; }

/*
 * У теми є окреме правило .course-thumb { aspect-ratio: 16/9 }, і разом
 * із фіксованою висотою мініатюри ширина рахувалась від висоти
 * (200 × 16/9 = 355px) — праворуч від фото лишалась біла смуга.
 * Знімаємо співвідношення і розтягуємо посилання з фото на всю картку.
 */
.kigip-eb-courses .edublink-single-course .thumbnail,
.kigip-eb-courses .edublink-single-course .thumbnail .course-thumb {
  aspect-ratio: auto;
  display: block;
  width: 100%;
  overflow: hidden;
}
.kigip-eb-courses .edublink-single-course .thumbnail .course-thumb img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}

/* ── Кнопка-привид (друга кнопка) ── */
.kigip-eb .edu-btn.kigip-btn-ghost {
  background: transparent;
  color: var(--kigip-green);
  border: 1px solid var(--kigip-green);
}
.kigip-eb .edu-btn.kigip-btn-ghost:hover { background: var(--kigip-green); color: #fff; }
.kigip-eb-btn-row { text-align: center; margin-top: 40px; }
.kigip-eb-btn-row p { margin-bottom: 16px; }

/* ── Чекліст ── */
.kigip-eb-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.kigip-eb-checklist li { position: relative; padding-left: 30px; line-height: 1.6; }
.kigip-eb-checklist li i {
  position: absolute;
  left: 0;
  top: 3px;
  color: var(--kigip-green);
  font-size: 16px;
}
.kigip-eb-plainlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.kigip-eb-plainlist li { position: relative; padding-left: 22px; line-height: 1.6; }
.kigip-eb-plainlist li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--kigip-muted);
}

/* ── Панелі ── */
.kigip-eb-panel {
  background: #fff;
  border: 1px solid var(--kigip-line);
  border-radius: 12px;
  padding: 32px;
  height: 100%;
}
.kigip-eb-panel .title { margin-bottom: 16px; }
.kigip-eb-panel--wide { max-width: 860px; margin: 0 auto; height: auto; }
.kigip-eb-panel--accent {
  border-color: var(--kigip-green);
  background: var(--kigip-soft);
}
.kigip-eb-panel--accent .pre-heading {
  color: var(--kigip-green);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  display: block;
  margin-bottom: 8px;
}
.kigip-eb-panel + .kigip-eb-panel--wide,
.kigip-eb-numbered + .kigip-eb-panel--wide { margin-top: 30px; }

/* ── Feature-картки: рамка як у демо ── */
.kigip-feature-card {
  border: 1px solid var(--kigip-line);
  border-radius: 12px;
  padding: 30px 26px;
  background: #fff;
  height: 100%;
  transition: box-shadow .25s ease, transform .25s ease;
}
.kigip-feature-card:hover { box-shadow: 0 16px 40px rgba(16, 24, 40, .08); transform: translateY(-3px); }
.kigip-feature-card .icon { font-size: 34px; color: var(--kigip-green); margin-bottom: 16px; }
.kigip-feature-card .title { margin-bottom: 10px; }
.kigip-feature-list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.kigip-feature-list li { position: relative; padding-left: 24px; font-size: 14px; }
.kigip-feature-list li i { position: absolute; left: 0; top: 3px; color: var(--kigip-green); font-size: 13px; }

/* ── Пронумеровані картки (01–0N) ── */
.kigip-numbered-item {
  background: #fff;
  border: 1px solid var(--kigip-line);
  border-radius: 12px;
  padding: 28px 24px;
  height: 100%;
}
.kigip-numbered-num {
  display: inline-block;
  font-size: 15px;
  font-weight: 800;
  color: var(--kigip-green);
  background: var(--kigip-soft);
  border-radius: 8px;
  padding: 6px 12px;
  margin-bottom: 14px;
}
.kigip-numbered-item .title { margin-bottom: 8px; }
.kigip-numbered-item .description { margin: 0; font-size: 14.5px; line-height: 1.65; }

/* ── Категорії «Освіта в КІГіП» (Top Categories) ── */
.kigip-eb-categories .edublink-category-1 { height: 100%; }
.kigip-category-note { margin: 6px 0 0; font-size: 13.5px; color: var(--kigip-muted); }

/*
 * У демо кожна плашка має свій пастельний колір — в Elementor він
 * прописується інлайном для кожного елемента репітера. Повторюємо
 * палітру класами.
 *
 * Селектори навмисно з двох класів: edublink-core-main.css підключається
 * ПІСЛЯ нашого файлу, а його .edublink-category-1{background:...} має таку
 * саму вагу — одинарний клас програв би за порядком підключення.
 */
.kigip-eb-categories .kigip-cat--1 { background: rgba(26, 182, 157, .08); }
.kigip-eb-categories .kigip-cat--1 .icon { color: #1ab69d; }
.kigip-eb-categories .kigip-cat--1:hover { background: #1ab69d; }

.kigip-eb-categories .kigip-cat--2 { background: rgba(238, 74, 94, .08); }
.kigip-eb-categories .kigip-cat--2 .icon { color: #ee4a5e; }
.kigip-eb-categories .kigip-cat--2:hover { background: #ee4a5e; }

.kigip-eb-categories .kigip-cat--3 { background: rgba(35, 189, 51, .09); }
.kigip-eb-categories .kigip-cat--3 .icon { color: #23bd33; }
.kigip-eb-categories .kigip-cat--3:hover { background: #23bd33; }

.kigip-eb-categories .kigip-cat--4 { background: rgba(248, 184, 31, .14); }
.kigip-eb-categories .kigip-cat--4 .icon { color: #f0a500; }
.kigip-eb-categories .kigip-cat--4:hover { background: #f0a500; }

.kigip-eb-categories .kigip-cat--5 { background: rgba(142, 86, 255, .08); }
.kigip-eb-categories .kigip-cat--5 .icon { color: #8e56ff; }
.kigip-eb-categories .kigip-cat--5:hover { background: #8e56ff; }

.kigip-eb-categories .kigip-cat--6 { background: rgba(238, 74, 146, .08); }
.kigip-eb-categories .kigip-cat--6 .icon { color: #ee4a92; }
.kigip-eb-categories .kigip-cat--6:hover { background: #ee4a92; }

.kigip-eb-categories .edublink-category-1:hover .icon,
.kigip-eb-categories .edublink-category-1:hover .title a { color: #fff !important; }


/* ── «Про нас»: медіа-композиція з головної демо ── */
.kigip-eb-about { align-items: center; }
.kigip-eb-about-media {
  position: relative;
  padding: 40px 0 70px 0;
  min-height: 520px;
}
.kigip-eb-about-media__photo {
  position: relative;
  z-index: 2;
  width: 74%;
  border-radius: 8px;
  overflow: hidden;
}
.kigip-eb-about-media__photo img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
}
/* картка з відео — заходить згори праворуч */
.kigip-eb-about-media__video {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  width: 66%;
  max-width: 300px;
  background: #fff;
  border-radius: 8px;
  padding: 12px 12px 16px;
  box-shadow: 0 20px 50px rgba(16, 24, 40, .14);
}
.kigip-eb-about-media__video-thumb {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  aspect-ratio: 26 / 15;
  background: var(--kigip-soft);
}
.kigip-eb-about-media__video-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kigip-eb-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #f5325b;
  box-shadow: 0 8px 22px rgba(16, 24, 40, .22);
  transition: transform .2s ease;
}
.kigip-eb-play:hover { transform: scale(1.1); }
.kigip-eb-play svg { margin-left: 2px; }
/* сірі смужки-заглушки під прев’ю, як у демо */
.kigip-eb-about-media__bar {
  display: block;
  height: 8px;
  border-radius: 4px;
  background: #eef0f3;
  margin-top: 12px;
}
.kigip-eb-about-media__bar--short { width: 55%; }

/* бейдж із цифрою — знизу праворуч */
.kigip-eb-about-media__badge {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  padding: 18px 24px;
  box-shadow: 0 20px 50px rgba(16, 24, 40, .14);
}
.edublink-h-main-about-us.kigip-eb-about-media__badge { background: #fff; border-radius: 8px; }
.kigip-eb-about-media__badge .about-us-media { display: flex; align-items: center; gap: 14px; }
.kigip-eb-about-media__badge .icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  font-size: 24px;
}
.kigip-eb-about-media__badge h6 { margin: 0 0 2px; font-size: 22px; color: var(--kigip-green); }
.kigip-eb-about-media__badge span { font-size: 14px; color: var(--kigip-muted); }

/* декор */
.kigip-eb-about-media__dots { position: absolute; z-index: 1; pointer-events: none; }
.kigip-eb-about-media__dots--tl { left: 8px; top: 0; width: 110px; opacity: .8; }
.kigip-eb-about-media__dots--br { left: 34%; bottom: 0; width: 120px; opacity: .7; }
.kigip-eb-about-media__blob {
  position: absolute;
  right: 6%;
  top: 12%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: #f7f8fa;
  z-index: 0;
}

@media (max-width: 991px) {
  .kigip-eb-about-media { min-height: 0; padding: 30px 0 60px; }
  .kigip-eb-about-media__photo { width: 82%; }
  .kigip-eb-about-media__photo img { height: 320px; }
  .kigip-eb-about-media__video { max-width: 240px; }
  .kigip-eb-about-media__blob { display: none; }
}

/* вкладки стилю 1 (як About на university) */
.kigip-eb-about .eb-tabs-style-1 .eb-tabs-title-wrapper { margin-bottom: 22px; }
.kigip-eb-about .eb-tab-content p { line-height: 1.75; }

/* ── Фото-розділювач + біла картка з плашками (university) ── */
.kigip-eb-band { position: relative; background: #fff; }
.kigip-eb-band__photo {
  height: 260px;
  background-size: cover;
  /* кадр по нижньому краю — верхівка фото (голови) лишається за межами смуги */
  background-position: center bottom;
  background-repeat: no-repeat;
}
.kigip-eb-band .edublink-container { position: relative; }
.kigip-eb-band__card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 20px 40px 0 rgba(42, 11, 88, .1);
  padding: 44px 40px;
  margin-top: -100px;
  position: relative;
  z-index: 2;
}
.kigip-eb-band__item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
.kigip-eb-band__item .edublink-icon-box-icon {
  flex: 0 0 auto;
  font-size: 40px;
  line-height: 1;
  color: var(--kigip-green);
}
.kigip-eb-band__item .edublink-icon-box-title {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.3;
  color: var(--kigip-ink);
}
.kigip-eb-band__item .edublink-icon-box-details p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--kigip-muted);
}
/* сусідні секції не мають злипатися з карткою */
.kigip-eb-band + .kigip-eb-section { padding-top: 70px; }

@media (max-width: 991px) {
  .kigip-eb-band__card { grid-template-columns: 1fr; gap: 24px; padding: 32px 26px; margin-top: -70px; }
  .kigip-eb-band__photo { height: 200px; }
}

/* ── Акордеони ── */
.kigip-eb-accordion-wrap { max-width: 900px; margin: 0 auto; }
.kigip-accordion-scroll { max-height: 560px; overflow-y: auto; padding-right: 10px; }
.kigip-accordion-scroll::-webkit-scrollbar { width: 6px; }
.kigip-accordion-scroll::-webkit-scrollbar-thumb { background: var(--kigip-line); border-radius: 3px; }

/* ── Медіа з цитатою (метод, 1 ступінь) ── */
.kigip-eb-media-quote img { width: 100%; border-radius: 14px; object-fit: cover; }
.kigip-eb-media-quote blockquote {
  margin: -40px 18px 0;
  position: relative;
  background: #fff;
  border-radius: 12px;
  border-left: 4px solid var(--kigip-green);
  box-shadow: 0 14px 34px rgba(16, 24, 40, .1);
  padding: 22px 24px;
}
.kigip-eb-media-quote blockquote p { margin: 0 0 8px; font-style: italic; line-height: 1.65; }
.kigip-eb-media-quote cite { font-style: normal; font-weight: 700; color: var(--kigip-green); font-size: 14px; }

/* ── Сходи ступенів ── */
.kigip-eb-ladder {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 34px;
}
.kigip-eb-ladder__step {
  background: #fff;
  border: 1px solid var(--kigip-line);
  border-radius: 12px;
  padding: 22px 18px;
  display: grid;
  gap: 4px;
  position: relative;
}
.kigip-eb-ladder__step.is-current { border-color: var(--kigip-green); background: var(--kigip-soft); }
.kigip-eb-ladder__num { font-size: 24px; font-weight: 800; color: var(--kigip-green); }
.kigip-eb-ladder__step em {
  position: absolute;
  top: 14px;
  right: 14px;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  background: var(--kigip-green);
  border-radius: 999px;
  padding: 3px 10px;
}

/* ── Details (факти) ── */
.kigip-eb-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin: 0;
}
.kigip-eb-details > div {
  background: #fff;
  border: 1px solid var(--kigip-line);
  border-radius: 12px;
  padding: 18px 20px;
}
.kigip-eb-details dt { font-size: 13px; color: var(--kigip-muted); margin-bottom: 4px; }
.kigip-eb-details dd { margin: 0; font-weight: 700; color: var(--kigip-ink); }

/* ── Теги (сертифікати, запрошені тренери) ── */
.kigip-eb-tags { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 30px; }
.kigip-eb-tag {
  background: #fff;
  border: 1px solid var(--kigip-line);
  border-radius: 999px;
  padding: 9px 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--kigip-ink);
}


/* ── «Що кажуть студенти» (віджет testimonial теми, стиль 1) ── */
.kigip-eb-testimonials__row { align-items: center; }
.kigip-eb-testimonials__lead { margin: 0 0 26px; line-height: 1.75; color: var(--kigip-muted); }
.kigip-eb-testimonials__panel {
  background: #f6f7f8;
  border-radius: 16px;
  padding: 32px;
}
.kigip-eb-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.kigip-eb-testimonials .eb-testimonial-grid {
  background: #fff;
  border-radius: 12px;
  padding: 30px 26px;
  height: 100%;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .06);
}
.kigip-eb-testimonials .eb-testimonial-grid .thumbnail {
  position: relative;
  width: 66px;
  margin-bottom: 22px;
}
.kigip-eb-testimonials .testimonial-author-avatar {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.kigip-eb-testimonials__initials {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  font-weight: 700;
  font-size: 22px;
}
.kigip-eb-testimonials .qoute-icon {
  position: absolute;
  right: -6px;
  bottom: -2px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--kigip-green);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  border: 2px solid #fff;
}
.kigip-eb-testimonials .description {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.75;
  color: var(--kigip-muted);
}
.kigip-eb-testimonials .rating-icon { color: #f8b81f; margin-bottom: 12px; letter-spacing: 2px; }
.kigip-eb-testimonials .rating-icon i { font-size: 13px; }
.kigip-eb-testimonials .content .title { margin: 0 0 2px; font-size: 17px; }
.kigip-eb-testimonials .content .subtitle { font-size: 13.5px; color: var(--kigip-muted); }

@media (max-width: 767px) {
  .kigip-eb-testimonials__grid { grid-template-columns: 1fr; }
  .kigip-eb-testimonials__panel { padding: 20px; }
}

/* ── Відгуки Google: карусель карток (референс клієнта) ── */
.kigip-greviews-sec .kigip-eb-heading { margin-bottom: 36px; }
.kigip-greviews { position: relative; }
.kigip-greviews__rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 60px) / 4);
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 4px;
}
.kigip-greviews__rail::-webkit-scrollbar { display: none; }
.kigip-greviews__rail > .kigip-greview { scroll-snap-align: start; }

.kigip-greview {
  background: #fff;
  border: 1px solid var(--kigip-line);
  border-radius: 10px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
}
.kigip-greview__head { display: flex; align-items: center; gap: 10px; }
.kigip-greview__ava {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.kigip-greview__ava--letter {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--kigip-green);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
}
.kigip-greview__who { flex: 1; min-width: 0; }
.kigip-greview__who strong {
  display: block;
  font-size: 14.5px;
  line-height: 1.3;
  color: var(--kigip-ink);
}
.kigip-greview__who em {
  display: block;
  font-style: normal;
  font-size: 12.5px;
  color: var(--kigip-muted);
}
.kigip-greview__g { flex: 0 0 auto; }
.kigip-greview__stars { color: #f8b81f; letter-spacing: 1px; line-height: 1; }
.kigip-greview__stars i { font-size: 14px; }
.kigip-greview__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--kigip-ink);
  /* довгі відгуки обрізаємо — далі за посиланням */
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kigip-greview__more {
  margin-top: auto;
  font-size: 13px;
  color: var(--kigip-muted);
}
.kigip-greview__more:hover { color: var(--kigip-green); }

/* стрілки */
.kigip-greviews__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--kigip-line);
  background: #fff;
  color: var(--kigip-ink);
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(16, 24, 40, .12);
  transition: background .2s ease, color .2s ease, opacity .2s ease;
}
.kigip-greviews__arrow:hover { background: var(--kigip-green); border-color: var(--kigip-green); color: #fff; }
.kigip-greviews__arrow--prev { left: -16px; }
.kigip-greviews__arrow--next { right: -16px; }
.kigip-greviews__arrow.is-hidden { opacity: 0; pointer-events: none; }

.kigip-greviews__summary {
  margin: 22px 0 0;
  text-align: center;
  font-size: 13.5px;
  color: var(--kigip-muted);
}
.kigip-greviews__summary a { color: var(--kigip-muted); text-decoration: underline; }
.kigip-greviews__summary a:hover { color: var(--kigip-green); }

@media (max-width: 1100px) { .kigip-greviews__rail { grid-auto-columns: calc((100% - 40px) / 3); } }
@media (max-width: 860px)  { .kigip-greviews__rail { grid-auto-columns: calc((100% - 20px) / 2); } }
@media (max-width: 560px)  {
  .kigip-greviews__rail { grid-auto-columns: 86%; }
  .kigip-greviews__arrow--prev { left: -6px; }
  .kigip-greviews__arrow--next { right: -6px; }
}
/* Стрілки на телефоні нема куди відсунути: вони лягають просто на текст
   відгуку й перекривають перші слова. Гортання пальцем працює й без них. */
@media (max-width: 575px) {
  .kigip-greviews__arrow,
  .kigip-eb-teamcar__arrow,
  .kigip-eb-team__arrow,
  .kigip-eb-tl__arrow { display: none; }
}

/* ── Контактний банер (demo.edublink.co, під відгуками) ── */
.kigip-eb-contact { padding: 20px 0 60px; }
/* у демо цей блок стоїть у вужчому контейнері — 800px */
.kigip-eb-contact__wrap { position: relative; max-width: 800px; margin: 0 auto; }
.kigip-eb-contact__box {
  position: relative;
  z-index: 2;
  /* Той самий зелений, що в смузі з цифрами й кнопках. Раніше тут
     стояв бірюзовий градієнт демо. */
  background: linear-gradient(-90deg, #608758 0%, #4c6f45 100%);
  border-radius: 10px;
  padding: 50px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  flex-wrap: wrap;
  overflow: hidden;
}
/* тонкі лінії-топографія, як на банері демо */
.kigip-eb-contact__box::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-radial-gradient(circle at 70% 50%, rgba(255, 255, 255, .07) 0 1px, transparent 1px 26px);
  pointer-events: none;
}
.kigip-eb-contact__item { position: relative; z-index: 1; text-align: center; }
.kigip-eb-contact__label {
  display: block;
  color: rgba(255, 255, 255, .82);
  font-size: 15px;
  margin-bottom: 4px;
}
.kigip-eb-contact__value {
  display: inline-block;
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
}
.kigip-eb-contact__value:hover { color: #fff; text-decoration: underline; }
.kigip-eb-contact__or {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  color: var(--kigip-ink);
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*
 * Декоративні фігури — віджет animation, тип mouse-track:
 * рухаються за курсором (див. kigip-edublink.js).
 * Розміри й координати — від контейнера 800px, як у демо.
 * Відʼємний z-index не використовуємо: фон сторінки перекривав би фігури.
 */
.kigip-eb-contact__shape {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  will-change: transform;
  transition: transform .35s cubic-bezier(.22, .61, .36, 1);
}
.kigip-eb-contact__shape--dots   { width: 132px; left: -55px;  top: -30px; }
.kigip-eb-contact__shape--blob   { width: 106px; left: -105px; top: -10px; z-index: 3; }
.kigip-eb-contact__shape--dots-r { width: 106px; right: -35px; bottom: -50px; }


/* у демо фігури приховані на планшетах і телефонах */
@media (max-width: 1199px) {
  .kigip-eb-contact__shape { display: none; }
}
@media (max-width: 767px) {
  .kigip-eb-contact__box { padding: 34px 22px; gap: 20px; }
  .kigip-eb-contact__value { font-size: 21px; }
}

/* ── Тренери (віджет team теми, стиль 1) ── */
.kigip-eb-instructors .edublink-team-item { text-align: center; }
.kigip-eb-instructors .thumbnail-wrap {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: #e7ebe9;
}
/*
 * У теми .edublink-team-item .thumbnail має margin-bottom: 25px.
 * Наша обгортка з фоном і overflow:hidden показувала цей відступ
 * сірою смугою під фото — прибираємо.
 */
.kigip-eb-instructors .thumbnail-wrap .thumbnail { margin-bottom: 0; line-height: 0; }
.kigip-eb-instructors .thumbnail img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.kigip-eb-instructors .edublink-team-item:hover .thumbnail img { transform: scale(1.05); }
.kigip-eb-instructors .kigip-team-initials {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 3 / 4;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  font-size: 42px;
  font-weight: 800;
}
/* кнопка «поділитися» — розкривається у стовпчик соцмереж */
.kigip-eb-instructors .team-share-info {
  position: absolute;
  top: 16px;
  right: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kigip-eb-instructors .team-share-info li a {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--kigip-green);
  font-size: 14px;
  box-shadow: 0 4px 14px rgba(16, 24, 40, .12);
  transition: background .2s ease, color .2s ease;
}
.kigip-eb-instructors .team-share-info li a:hover { background: var(--kigip-green); color: #fff; }
.kigip-eb-instructors .team-share-info li:not(:first-child) {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}
.kigip-eb-instructors .edublink-team-item:hover .team-share-info li:not(:first-child) {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.kigip-eb-instructors .content { padding-top: 18px; }
.kigip-eb-instructors .content .title { margin: 0 0 4px; font-size: 18px; }
.kigip-eb-instructors .content .designation { font-size: 14px; color: var(--kigip-muted); }

/* ── Таблиця «Найближчі старти» (курси LearnDash) ── */
.kigip-starts .kigip-eb-section__head { margin-bottom: 30px; }
.kigip-starts__wrap {
  border: 1px solid var(--kigip-line);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.kigip-starts__table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.kigip-starts__table thead th {
  background: #f4f7f4;
  padding: 14px 20px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #6b7d6b;
  text-align: left;
  border: 0;
}
.kigip-starts__table tbody td {
  padding: 18px 20px;
  border-top: 1px solid var(--kigip-line);
  vertical-align: middle;
  font-size: 14.5px;
  color: var(--kigip-ink);
}
.kigip-starts__table tbody tr:hover { background: #fafbfa; }
.kigip-starts__title {
  display: block;
  font-weight: 700;
  color: var(--kigip-ink);
  line-height: 1.35;
}
.kigip-starts__title:hover { color: var(--kigip-green); }
.kigip-starts__sub {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  color: var(--kigip-muted);
}

/* формат */
.kigip-starts__format {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
}
.kigip-starts__format i { font-size: 13px; }
.kigip-starts__format--online { background: #eef1f4; color: #3f4d5a; }
.kigip-starts__format--city   { background: #fdf1e3; color: #d1791b; }
.kigip-starts__format--record { background: #eef1f4; color: #3f4d5a; }

/* місця: кольорова тільки крапка, текст — темний, як у референсі */
.kigip-starts__seats {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 700;
  white-space: nowrap;
  color: #24341f;
}
.kigip-starts__seats::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: 0 0 auto;
}
.kigip-starts__seats--ok::before   { background: #22a05b; }
.kigip-starts__seats--few::before  { background: #e0483d; }
.kigip-starts__seats--none::before { background: #b3b8bd; }
.kigip-starts__seats--none { color: #8b8f97; }

/* кнопка */
.kigip-starts__action { text-align: right; white-space: nowrap; }
/* Кнопка в таблиці стартів — .edu-btn теми. Тут лише розміри під рядок:
   повна висота 60px у таблиці задирала б рядки. Колір, радіус, заливка
   при наведенні — усе з теми, нічого не перевизначаємо. */
.kigip-starts__btn.edu-btn {
  min-width: 148px;
  height: 44px;
  line-height: 46px;
  padding: 0 20px;
  font-size: 14px;
}
.kigip-starts__btn.is-disabled {
  background: #e6e8ea;
  color: #8b8f97;
  pointer-events: none;
}
/* У неактивної кнопки прибираємо і градієнт-заливку теми, і стрілку. */
.kigip-starts__btn.is-disabled::after { display: none; }
.kigip-starts__btn.is-disabled i { display: none; }

@media (max-width: 860px) {
  .kigip-starts__table thead { display: none; }
  .kigip-starts__table, .kigip-starts__table tbody, .kigip-starts__table tr, .kigip-starts__table td { display: block; width: 100%; }
  .kigip-starts__table tr { border-top: 1px solid var(--kigip-line); padding: 8px 0; }
  .kigip-starts__table tbody td { border: 0; padding: 6px 18px; }
  .kigip-starts__table tbody td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: #9aa39a;
    margin-bottom: 3px;
  }
  .kigip-starts__action { text-align: left; padding-bottom: 14px !important; }
}

/* ── Дорожня карта «Від першого кроку до тренера» ── */
.kigip-eb-roadmap {
  padding: 100px 0;
  background-color: #eef3ee;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.kigip-eb-roadmap .kigip-eb-heading { margin-bottom: 56px; }
.kigip-eb-roadmap .sub-heading p { max-width: 560px; margin: 10px auto 0; }

.kigip-roadmap {
  display: grid;
  grid-template-columns: repeat(var(--kigip-roadmap-cols, 4), 1fr);
  gap: 0;
}
.kigip-roadmap__step {
  position: relative;
  text-align: center;
  padding: 0 18px;
}
/* лінія між кружками */
.kigip-roadmap__step::before {
  content: '';
  position: absolute;
  top: 36px;
  left: 0;
  right: 50%;
  height: 1px;
  background: rgba(60, 90, 60, .3);
}
.kigip-roadmap__step::after {
  content: '';
  position: absolute;
  top: 36px;
  left: 50%;
  right: 0;
  height: 1px;
  background: rgba(60, 90, 60, .3);
}
.kigip-roadmap__step:first-child::before,
.kigip-roadmap__step:last-child::after { display: none; }

.kigip-roadmap__dot {
  position: relative;
  z-index: 1;
  width: 72px;
  height: 72px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(60, 90, 60, .35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  color: #2f4a2f;
}
.kigip-roadmap__dot { transition: background .25s ease, border-color .25s ease, color .25s ease; }
.kigip-roadmap__step.is-current .kigip-roadmap__dot,
.kigip-roadmap__step:hover .kigip-roadmap__dot,
.kigip-roadmap__dot:hover {
  background: #3d5c3d;
  border-color: #3d5c3d;
  color: #fff;
}
/* активний крок при наведенні — трохи темніший, щоб реакція була помітна */
.kigip-roadmap__step.is-current:hover .kigip-roadmap__dot { background: #2f4a2f; border-color: #2f4a2f; }

.kigip-roadmap__label {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #6b7d6b;
  margin-bottom: 6px;
}
.kigip-roadmap__title {
  margin: 0 0 14px;
  font-size: 20px;
  color: #24341f;
}
.kigip-roadmap__meta {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: grid;
  gap: 2px;
}
.kigip-roadmap__meta li {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: #3d5c3d;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.kigip-roadmap__meta i { font-size: 14px; color: #6f8b6f; }
.kigip-roadmap__text {
  font-size: 13.5px;
  line-height: 1.6;
  color: #6b7d6b;
  margin: 0 0 18px;
}
.kigip-roadmap__btn {
  display: inline-block;
  padding: 9px 20px;
  border-radius: 999px;
  border: 1px solid rgba(60, 90, 60, .35);
  background: transparent;
  color: #2f4a2f;
  font-size: 13px;
  font-weight: 600;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.kigip-roadmap__btn:hover {
  background: #3d5c3d;
  border-color: #3d5c3d;
  color: #fff;
}
.kigip-roadmap__step.is-current .kigip-roadmap__btn {
  background: #3d5c3d;
  border-color: #3d5c3d;
  color: #fff;
}
.kigip-roadmap__step.is-current .kigip-roadmap__btn:hover { background: #2f4a2f; }

@media (max-width: 991px) {
  .kigip-roadmap { grid-template-columns: repeat(2, 1fr); row-gap: 44px; }
  .kigip-roadmap__step::before,
  .kigip-roadmap__step::after { display: none; }
}
@media (max-width: 560px) {
  .kigip-roadmap { grid-template-columns: 1fr; }
  .kigip-eb-roadmap { padding: 64px 0; }
}

/* ── Дрібниці ── */
.kigip-eb-note { text-align: center; margin: 26px auto 0; max-width: 720px; color: var(--kigip-muted); font-size: 14px; }
.kigip-eb-notice {
  background: var(--kigip-soft);
  padding: 14px 0;
  font-weight: 600;
}
.kigip-eb-notice i { color: var(--kigip-green); margin-right: 8px; }
.kigip-eb-link-row { margin-top: 16px; }
.kigip-eb-link-row a { color: var(--kigip-green); font-weight: 700; }
.kigip-eb-rte { line-height: 1.7; }
.kigip-eb-rte--center { max-width: 760px; margin: 0 auto; text-align: center; }


/* ── Студентам: темна панель (за ТЗ) ── */
.kigip-students { background: #1e2b22; }
.kigip-students__inner {
  display: flex;
  align-items: center;
  gap: 28px;
  padding-top: 14px;
  padding-bottom: 14px;
  overflow-x: auto;
  /* Смуга гортається пальцем, а системний скролбар під нею на мобільному
     виглядав як помилка верстки. Ховаємо його, як у стрічці відгуків. */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.kigip-students__inner::-webkit-scrollbar { display: none; }
.kigip-students__inner { padding-top: 0; padding-bottom: 0; }
.kigip-students__label {
  color: #fff;
  font-weight: 800;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .5px;
  white-space: nowrap;
  background: var(--kigip-green);
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 16px 26px;
  margin-left: -26px;
}
.kigip-students__links { display: flex; gap: 24px; }
.kigip-students__links a {
  color: rgba(255, 255, 255, .82);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.kigip-students__links a:hover { color: #fff; }


/* ── CTA (demo.edublink.co, «Get Your Quality Skills Certificate») ── */
.kigip-eb-cta {
  position: relative;
  /* фігури виступають за межі секції, як у демо;
     горизонтально сторінку підстраховує overflow у .kigip-eb */
  overflow: visible;
  padding: 87px 0 95px;
  background-color: #f0f4f5;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.kigip-eb-cta .edublink-container { position: relative; z-index: 2; }
.kigip-eb-cta__inner { position: relative; z-index: 2; }
.kigip-eb-cta__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.kigip-eb-cta__inner--solo { grid-template-columns: 1fr; text-align: center; }
.kigip-eb-cta__inner--solo .kigip-eb-cta__text { max-width: 720px; margin: 0 auto; }
.kigip-eb-cta__title {
  margin: 0 0 14px;
  font-size: 36px;
  line-height: 1.39;
  font-weight: 700;
  color: var(--kigip-ink);
}
.kigip-eb-cta__text p { margin: 0 0 26px; color: var(--kigip-muted); line-height: 1.7; }
.kigip-eb-cta__text .edu-btn { margin-top: 6px; }

/* форма, коли її підключено (сторінки ступенів) */
.kigip-eb-cta__form {
  background: #fff;
  border-radius: 14px;
  padding: 34px;
  box-shadow: 0 24px 60px rgba(16, 24, 40, .12);
}
.kigip-eb-cta__form .ff-btn-submit {
  background: var(--kigip-green) !important;
  border-color: var(--kigip-green) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
}
.kigip-eb-cta__form .ff-btn-submit:hover { background: #159a85 !important; border-color: #159a85 !important; }

/*
 * Фігури: mouse-track. В Elementor вони позиціонуються від контейнера
 * (1200px), а не від секції — інакше «розлітаються» по краях екрана.
 * Розміри й координати зняті з demo.edublink.co.
 */
.kigip-eb-cta__shape {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  will-change: transform;
  transition: transform .35s cubic-bezier(.22, .61, .36, 1);
}
.kigip-eb-cta__shape--1 { width: 101px; left: 30px;    bottom: 10px; }
.kigip-eb-cta__shape--2 { width: 120px; left: -50px;   bottom: -50px; }
.kigip-eb-cta__shape--3 { width: 159px; right: -230px; top: -55px; }
.kigip-eb-cta__shape--4 { width: 186px; right: -180px; top: -120px; }

@media (max-width: 1199px) {
  .kigip-eb-cta__shape { display: none; }
}
@media (max-width: 991px) {
  .kigip-eb-cta { padding: 64px 0 70px; }
  .kigip-eb-cta__inner { grid-template-columns: 1fr; }
  .kigip-eb-cta__title { font-size: 28px; }
}


/* ── Легасі: маршрут, прапори, тултіпи (стилі зі старого kigip-home.css) ── */
.kigip-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}
.kigip-section {
  padding: 78px 0;
}
.kigip-eyebrow {
  margin: 0 0 12px;
  color: var(--kigip-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}
.kigip-btn,
.kigip-link,
.kigip-event,
.kigip-program,
.kigip-post {
  text-decoration: none;
}
.kigip-standards {
  margin-top: 42px;
  /* Лінії зверху немає — у демо блок стандартів нічим не відбитий. */
  padding-top: 0;
}
.kigip-standards > span {
  display: block;
  margin-bottom: 12px;
  color: var(--kigip-muted);
  font-weight: 700;
}
.kigip-standards__items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.kigip-standard {
  position: relative;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--kigip-line);
  border-radius: 6px;
  background: #fff;
  cursor: default;
}
.kigip-standard__flag {
  color: var(--kigip-green);
  font-size: 12px;
  font-weight: 900;
}
.kigip-tooltip {
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  z-index: 5;
  width: min(310px, 78vw);
  padding: 12px 14px;
  border-radius: 6px;
  background: var(--kigip-ink);
  color: #fff;
  font-size: 13px;
  line-height: 1.45;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.kigip-standard:hover .kigip-tooltip,
.kigip-standard:focus .kigip-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.kigip-section__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
  margin-bottom: 34px;
}
.kigip-section__head p {
  max-width: 540px;
  margin: 10px 0 0;
}
.kigip-section__head--center {
  justify-content: center;
  text-align: center;
}
.kigip-event,
.kigip-review,
.kigip-post {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  border: 1px solid var(--kigip-line);
  border-radius: 8px;
  background: #fff;
  color: var(--kigip-ink);
  box-shadow: 0 12px 34px rgba(22, 32, 51, .06);
}
.kigip-event span,
.kigip-event em,
.kigip-post span {
  color: var(--kigip-muted);
  font-style: normal;
  font-weight: 700;
}
.kigip-about,
.kigip-reviews,
.kigip-partners,
.kigip-faq {
  background: #fff;
}
.kigip-programs,
.kigip-partners h2 {
  margin-bottom: 26px;
  font-size: 32px;
}
.kigip-partners__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.kigip-partner {
  display: flex;
  min-height: 110px;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border: 1px solid var(--kigip-line);
  border-radius: 8px;
  background: #fff;
  color: var(--kigip-green-dark);
}
.kigip-partner img {
  max-width: 150px;
  max-height: 70px;
}
.kigip-post {
  min-height: 280px;
  padding: 0;
  overflow: hidden;
}
.kigip-post img {
  width: 100%;
  height: 170px;
  object-fit: cover;
  background: var(--kigip-soft);
}
.kigip-post strong,
.kigip-post span {
  margin-left: 22px;
  margin-right: 22px;
}
.kigip-post strong {
  margin-top: 18px;
  font-size: 20px;
  line-height: 1.25;
}
.kigip-post span {
  margin-bottom: 22px;
}
/* ── Команда: слайдер ── */
.kigip-team .kigip-section__head { position: relative; }
.kigip-container {
    width: min(100% - 28px, 1180px);
  }
.kigip-section {
    padding: 54px 0;
  }
.kigip-section__head,
  .kigip-cta__box {
    align-items: flex-start;
    flex-direction: column;
  }
.kigip-programs__grid,
  .kigip-events__grid,
  .kigip-reviews__grid,
  .kigip-blog__grid,
  .kigip-stats__grid,
  .kigip-path__line,
  .kigip-partners__grid {
    grid-template-columns: 1fr;
  }


/* ── Хедер на головній (успадковано зі старого kigip-home.css) ── */
body.home .eb-header-top-bar {
  display: none !important;
}
body.home .site-content {
  background: #fff;
}
body.home .edublink-page-title-area {
  display: none;
}
body.home .edublink-header-area.edublink-navbar .site-branding {
  margin-right: 22px;
}
body.home .edublink-header-area.edublink-navbar-expand-lg ul.edublink-navbar-nav > li > a {
  padding-left: 13px;
  padding-right: 13px;
}
body.home .edublink-header-area ul.edublink-navbar-nav > li > a[href*="anons"],
body.home .edublink-header-area ul.edublink-navbar-nav > li > a[href*="events"] {
  color: #608758;
}


/* ── Заголовки секцій: масштаб як у демо (там h3) ── */
.kigip-eb-heading .heading { font-size: 32px; line-height: 1.3; }
@media (max-width: 680px) { .kigip-eb-heading .heading { font-size: 26px; } }
.kigip-eb-heading--center .sub-heading { max-width: 560px; margin: 10px auto 0; }
/* секція анонсів — світлий фон, як у демо */
/* Фон — як у демо (секція d45c977 на demo.edublink.co). */
.kigip-events { background: #f0f4f5; }

/* ── Модалка з відео (запасний варіант, якщо fancybox відсутній) ── */
.kigip-eb-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(16, 24, 40, .82);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: kigip-fade .18s ease;
}
.kigip-eb-modal__box { position: relative; width: min(960px, 100%); }
.kigip-eb-modal__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
}
.kigip-eb-modal__frame iframe { width: 100%; height: 100%; border: 0; display: block; }
/* Хрестик малюємо двома рисками — так само, як у вікні відгуку.
   Символ «×» має чорнило вище базової лінії, і в круглій кнопці він
   завжди сидить зависоко, хоч як центруй бокс. Підпис для читалок
   лишається в aria-label. */
.kigip-eb-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  color: #fff;
  font-size: 0;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease;
}

.kigip-eb-modal__close::before,
.kigip-eb-modal__close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 1.8px;
  border-radius: 1px;
  background: currentColor;
}

.kigip-eb-modal__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.kigip-eb-modal__close::after  { transform: translate(-50%, -50%) rotate(-45deg); }

.kigip-eb-modal__close:hover { background: rgba(255, 255, 255, .3); }
@keyframes kigip-fade { from { opacity: 0; } to { opacity: 1; } }

/* ── Партнери (demo.edublink.co, «Learn with Our Partners») ── */
/* ── Партнери (demo.edublink.co, секція 87dd82e) ──
   Заміряно на демо: контейнер 1200, ліва колонка 480 (40%), права 720 (60%);
   вісім клітинок по 4 в ряд, padding 18px 5px, лого 120×120,
   рамки 1px #F0F0F0 без верхньої та нижньої зовнішньої лінії,
   на наведення — тінь 0 10px 50px rgba(26,46,85,.1). */
.kigip-eb-partners { padding: 105px 0 85px; }
.kigip-eb-partners__row { align-items: center; }

@media (min-width: 992px) {
  .kigip-eb-partners__row > .edublink-col-lg-4 { flex: 0 0 40%; max-width: 40%; }
  .kigip-eb-partners__row > .edublink-col-lg-8 { flex: 0 0 60%; max-width: 60%; }
}

.kigip-eb-partners__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.kigip-eb-partners__item {
  position: relative;
  min-height: 156px;
  padding: 18px 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f0f0f0;
  border-top: 0;
  border-left: 0;
  transition: background .3s ease, border .3s ease, box-shadow .3s ease;
}
/* ліва лінія — тільки в першої клітинки ряду */
.kigip-eb-partners__item:nth-child(4n + 1) { border-left: 1px solid #f0f0f0; }
/* нижньої зовнішньої лінії в оригіналі немає */
.kigip-eb-partners__item:nth-last-child(-n + 4) { border-bottom: 0; }
.kigip-eb-partners__item:hover {
  z-index: 2;
  background: #fff;
  box-shadow: 0 10px 50px 0 rgba(26, 46, 85, .1);
}
.kigip-eb-partners__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.kigip-eb-partners__item img {
  width: 120px;
  height: 120px;
  object-fit: contain;
}
.kigip-eb-partners__item strong { font-size: 15px; color: var(--kigip-muted); text-align: center; }

@media (max-width: 991px) {
  .kigip-eb-partners { padding: 64px 0 56px; }
  .kigip-eb-partners__grid { margin-top: 30px; }
}
@media (max-width: 560px) {
  .kigip-eb-partners__grid { grid-template-columns: repeat(2, 1fr); }
  .kigip-eb-partners__item { min-height: 120px; }
  .kigip-eb-partners__item:nth-child(4n + 1) { border-left: 0; }
  .kigip-eb-partners__item:nth-child(2n + 1) { border-left: 1px solid #f0f0f0; }
  .kigip-eb-partners__item:nth-last-child(-n + 4) { border-bottom: 1px solid #f0f0f0; }
  .kigip-eb-partners__item:nth-last-child(-n + 2) { border-bottom: 0; }
  .kigip-eb-partners__item img { width: 96px; height: 96px; }
}

/* ── Блог (demo.edublink.co, «Get News with EduBlink»), стиль post-2 ── */
/* Розмітка й геометрія карток — з теми (main.css, .edu-blog.blog-style-2):
   біла плашка .content.position-top накладається на фото на -175px і має
   відступи 30px з боків, тому фото видно і зверху, і по краях плашки.
   Тут лише те, чого в темі немає: однакова висота карток у ряду
   та однаковий кроп фото. Нічого з тих правил не перевизначаємо. */
.kigip-eb-posts .eb-post-one-single-grid { display: flex; }
.kigip-eb-posts .edu-blog.blog-style-2 { display: flex; width: 100%; }
.kigip-eb-posts .edu-blog.blog-style-2 .inner {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.kigip-eb-posts .edu-blog.blog-style-2 .content { flex: 1 1 auto; }

/* Фото квадратне — як у демо (edublink-post-thumb-2, 750×750):
   у колонці 370px це 370px висоти, мінус -175px плашки = 195px фото згори. */
.kigip-eb-posts .thumbnail a img,
.kigip-eb-posts__noimg {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.kigip-eb-posts__noimg { background: var(--kigip-soft); border-radius: 10px; }

/* ── FAQ (demo.edublink.co/business-coach/, секція 8015e01) ──
   Секція без своїх кольорів: акордеон повністю стилізує edublink-core
   (.eb-accordion-item — біла картка, radius 10, тінь, margin-bottom 30;
   відкритий .eb-accordion-header.active — зелений з білим текстом).
   Тут лише геометрія секції та дві фонові картинки. */
.kigip-eb-faq-section {
  position: relative;
  margin-top: 70px;
  padding-bottom: 170px;
  background-repeat: no-repeat;
  background-position: center bottom;
}
/* крапкова мапа — окремий шар зверху по центру, як background-overlay в Elementor */
.kigip-eb-faq-section__map {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: top center;
  opacity: .7;
  pointer-events: none;
}
.kigip-eb-faq-section > .edublink-container { position: relative; z-index: 1; }

/* дві колонки по 540px із проміжком 90px (заміряно на демо) */
.kigip-eb-faq-cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 90px;
  margin-top: 20px;
}
.kigip-eb-faq-col .eb-accordion-item:last-child { margin-bottom: 30px; }

@media (max-width: 991px) {
  .kigip-eb-faq-section { margin-top: 40px; padding-bottom: 90px; }
  .kigip-eb-faq-cols { grid-template-columns: 1fr; gap: 0; }
}

/* ── Адаптив ── */
@media (max-width: 1024px) {
  .kigip-eb-hero__heading .heading { font-size: 38px; }
  .kigip-eb-ladder { grid-template-columns: repeat(2, 1fr); }
  .kigip-team__rail { grid-auto-columns: calc((100% - 24px) / 2); }
  .kigip-eb-cta__inner { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .kigip-eb-section { padding: 64px 0; }
  .kigip-eb-hero { padding: 70px 0 56px; }
  .kigip-eb-hero__heading .heading { font-size: 30px; }
  .kigip-eb-ladder { grid-template-columns: 1fr; }
  .kigip-team__rail { grid-auto-columns: 88%; }
  .kigip-eb-section__head { flex-direction: column; align-items: flex-start; }
}

/* ── Лічильники під шапкою (university, e926ca6) ────────────────
   Заміряно на демо: картка 270 у колонці 300, padding 38/30,
   radius 10, тінь 0 10px 50px rgba(0,0,0,.07); цифра 36px, підпис 13px. */
.kigip-eb-statcards { padding: 70px 0 40px; }
.kigip-eb-statcard {
  padding: 38px 30px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 30px 6px rgba(0, 0, 0, .07);
  text-align: center;
}
.kigip-eb-statcard__top {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--kigip-muted);
}
.kigip-eb-statcard__value {
  display: block;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 6px;
}
.kigip-eb-statcard__label {
  display: block;
  font-size: 13px;
  color: var(--kigip-ink);
}
.kigip-eb-statcard--1 .kigip-eb-statcard__value { color: #1ab69d; }
.kigip-eb-statcard--2 .kigip-eb-statcard__value { color: #ee4a62; }
.kigip-eb-statcard--3 .kigip-eb-statcard__value { color: #8e56ff; }
.kigip-eb-statcard--4 .kigip-eb-statcard__value { color: #f8941f; }

/* ── Картки з ілюстрацією (programming, 37a657b) ──────────────── */
.kigip-eb-illcards { align-items: stretch; }
.kigip-eb-illcard {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 50px 40px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 10px 50px rgba(26, 46, 85, .1);
  text-align: center;
}
.kigip-eb-illcard .title { font-size: 20px; margin: 0 0 14px; }
.kigip-eb-illcard p { margin: 0 0 16px; font-size: 15px; line-height: 1.7; }
.kigip-eb-illcard__list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  text-align: left;
  display: grid;
  gap: 8px;
}
.kigip-eb-illcard__list li { position: relative; padding-left: 18px; font-size: 14px; }
.kigip-eb-illcard__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--kigip-green);
}
.kigip-eb-illcard__img { margin-top: auto; padding-top: 10px; }
.kigip-eb-illcard__img img { display: block; max-width: 100%; height: auto; margin: 0 auto; }

/* Чотири в ряд (ТЗ 1 ступеня): у колонці 300 картка виходить 270,
   тому відступи щільніші за демівські 50/60, інакше текст у стовпчик. */
.kigip-eb-illcards--4 .kigip-eb-illcard { padding: 40px 26px; }
.kigip-eb-illcards--4 .kigip-eb-illcard .title { font-size: 18px; }
.kigip-eb-illcards--4 .kigip-eb-illcard p { font-size: 14px; }
.kigip-eb-illcards--4 .kigip-eb-illcard__list li { font-size: 13px; }

@media (min-width: 992px) and (max-width: 1199px) {
  .kigip-eb-illcards--4 .kigip-eb-illcard { padding: 32px 20px; }
}

/* ── «Why Choose» (yoga-instructor, c7098b7) ──────────────────── */
.kigip-eb-why { padding: 105px 0 185px; }
.kigip-eb-why__row { align-items: center; }
.kigip-eb-why--reverse .kigip-eb-why__text { order: 2; }
.kigip-eb-why--reverse .kigip-eb-why__media { order: 1; }
.kigip-eb-why .kigip-eb-heading { margin-bottom: 30px; }

.kigip-eb-why__item {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 30px;
}
.kigip-eb-why__item:last-of-type { margin-bottom: 0; }
.kigip-eb-why__item .edublink-icon-box-icon {
  flex: 0 0 80px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
}
/* кольори кіл — як у демо: червоний, бірюзовий, помаранчевий */
.kigip-eb-why__item--1 .edublink-icon-box-icon { background: rgba(238, 74, 98, .1); color: #ee4a62; }
.kigip-eb-why__item--2 .edublink-icon-box-icon { background: rgba(26, 182, 157, .1); color: #1ab69d; }
.kigip-eb-why__item--3 .edublink-icon-box-icon { background: rgba(248, 148, 31, .1); color: #f8941f; }
.kigip-eb-why__item .edublink-icon-box-icon.is-emoji { font-size: 30px; line-height: 1; }
/* Четвертий пункт бере колір першого — коло кольорів на три */
.kigip-eb-why__item .edublink-icon-box-title { font-size: 18px; margin: 0 0 6px; }
.kigip-eb-why__item .edublink-icon-box-details p { margin: 0; font-size: 15px; line-height: 1.7; }
.kigip-eb-why__btn { margin-top: 34px; }

.kigip-eb-why__photos { position: relative; min-height: 420px; }
.kigip-eb-why__photo { display: block; border-radius: 10px; object-fit: cover; }
.kigip-eb-why__photo--back { width: 74%; margin-left: auto; }
.kigip-eb-why__photo--front {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 58%;
  border: 8px solid #fff;
  box-shadow: 0 20px 50px rgba(16, 24, 40, .12);
}
.kigip-eb-why__shape { position: absolute; pointer-events: none; }
.kigip-eb-why__shape--1 { right: -20px; top: -20px; width: 110px; }
.kigip-eb-why__shape--2 { left: 8%; top: -34px; width: 90px; }
.kigip-eb-why__badge {
  position: absolute;
  left: 6%;
  top: 12%;
  padding: 22px 26px;
  border-radius: 12px;
  background: var(--kigip-green);
  color: #fff;
  text-align: center;
}
.kigip-eb-why__badge strong,
.kigip-eb-why__badge span { color: #fff; }
.kigip-eb-why__badge strong { display: block; font-size: 40px; line-height: 1; font-weight: 800; }
.kigip-eb-why__badge span {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

@media (max-width: 991px) {
  .kigip-eb-why { padding: 64px 0 80px; }
  .kigip-eb-why--reverse .kigip-eb-why__text,
  .kigip-eb-why--reverse .kigip-eb-why__media { order: 0; }
  .kigip-eb-why__photos { min-height: 0; margin-top: 30px; }
  .kigip-eb-why__photo--front { position: static; width: 100%; margin-top: 16px; }
  .kigip-eb-why__photo--back { width: 100%; }
  .kigip-eb-why__shape { display: none; }
  .kigip-eb-why__badge { left: 12px; top: 12px; padding: 16px 18px; }
  .kigip-eb-why__badge strong { font-size: 30px; }
}

/* ── Hero ступеня в розкладці About (university, 9e0a0e3) ───────
   Пропорції з демо: контейнер 1200, колонки 600/600, велике фото
   390×390, мале 230×230, обидва radius 10. Координати фігур
   рахуються від контейнера, а не від секції — як в Elementor. */
.kigip-eb-heroabout {
  position: relative;
  padding: 120px 0 0;
  overflow: hidden;
}
.kigip-eb-heroabout > .edublink-container { position: relative; }
.kigip-eb-heroabout__row { align-items: center; }
.kigip-eb-heroabout__heading .heading { font-size: 44px; line-height: 1.18; }
.kigip-eb-heroabout__desc {
  margin: 22px 0 0;
  font-size: 16px;
  line-height: 1.75;
}
.kigip-eb-heroabout__note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 24px 0 0;
  font-weight: 600;
  color: var(--kigip-ink);
}
.kigip-eb-heroabout__note i { color: var(--kigip-green); font-size: 16px; position: relative; top: 4px; }

/* Кнопки як на скрині ТЗ: заливка + текстове посилання з підкресленням */
.kigip-eb-btnpair {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
  margin-top: 32px;
}
.kigip-eb .edu-btn.kigip-btn-solid {
  /* У теми в .edu-btn стоїть line-height: 62px — разом із нашим паддінгом
     текст з'їжджав до низу кнопки. Тому flex + line-height: 1. */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 4px;
  padding: 22px 40px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
}
.kigip-eb .edu-btn.kigip-btn-solid i { display: none; }
.kigip-btn-link {
  font-size: 16px;
  font-weight: 600;
  color: var(--kigip-ink);
  border-bottom: 1px solid var(--kigip-ink);
  padding-bottom: 3px;
  transition: color .25s ease, border-color .25s ease;
}
.kigip-btn-link:hover { color: var(--kigip-green); border-color: var(--kigip-green); }

/* Права колонка: фото й фігури в координатах демо */
.kigip-eb-heroabout__media { position: relative; min-height: 480px; }
.kigip-eb-heroabout__photo { position: absolute; border-radius: 10px; object-fit: cover; }
.kigip-eb-heroabout__photo--big { width: 390px; height: 390px; left: 45px; top: 15px; }
.kigip-eb-heroabout__photo--small { width: 230px; height: 230px; left: 355px; top: 257px; }
.kigip-eb-heroabout__shape { position: absolute; pointer-events: none; }
.kigip-eb-heroabout__shape--l { left: -230px; top: 55px; width: 186px; opacity: .8; }
.kigip-eb-heroabout__shape--r1 { left: 340px; top: -54px; width: 210px; }
.kigip-eb-heroabout__shape--r2 { left: 304px; top: -80px; width: 186px; }
.kigip-eb-heroabout__shape--r3 { left: 15px; top: 266px; width: 123px; }

@media (max-width: 1199px) {
  .kigip-eb-heroabout__photo--big { width: 320px; height: 320px; left: 20px; }
  .kigip-eb-heroabout__photo--small { width: 190px; height: 190px; left: 280px; top: 215px; }
  .kigip-eb-heroabout__media { min-height: 420px; }
}
@media (max-width: 991px) {
  .kigip-eb-heroabout { padding: 70px 0 0; }
  .kigip-eb-heroabout__heading .heading { font-size: 34px; }
  .kigip-eb-heroabout__media { min-height: 0; margin-top: 40px; }
  .kigip-eb-heroabout__photo { position: static; width: 100%; height: auto; aspect-ratio: 1 / 1; }
  .kigip-eb-heroabout__photo--small { display: none; }
  .kigip-eb-heroabout__shape { display: none; }
  .kigip-eb-btnpair { gap: 24px; }
}

/* ── Блок About (yoga-instructor, 22c43da) ─────────────────────
   Заміряно на демо: секція 100/105, контейнер 1200, дві колонки 585.
   Фото 540×400 radius 10. Фігури — координати ВІД ФОТО:
     shape-10-2 166×166  (-80 / 314)
     shape-09-1 102×102  (483 / -40)
     shape-20   166×130  (1194 / 310) — за контейнером праворуч.
   Заголовок по центру, до фото 60px. Надзаголовок 15px #EE4A62 (500),
   H2 36/50 (700). Рядок списку 15/26 #808080, галочка 19px #EE4A62. */
.kigip-eb-aboutsplit { position: relative; padding: 100px 0 105px; }
.kigip-eb-aboutsplit > .edublink-container { position: relative; z-index: 1; }
.kigip-eb-aboutsplit .kigip-eb-heading { margin-bottom: 60px; }
.kigip-eb-aboutsplit .kigip-eb-heading .pre-heading {
  font-size: 15px;
  font-weight: 500;
  color: #ee4a62;
  margin-bottom: 14px;
}
.kigip-eb-aboutsplit .kigip-eb-heading .heading { font-size: 36px; line-height: 50px; font-weight: 700; }
.kigip-eb-aboutsplit__row { align-items: center; }

.kigip-eb-aboutsplit__media { position: relative; max-width: 540px; }
.kigip-eb-aboutsplit__photo {
  display: block;
  width: 100%;
  aspect-ratio: 540 / 400;
  object-fit: cover;
  border-radius: 10px;
}
/* Базовий .kigip-eb-play центрується через inset: 0 + margin: auto.
   Свій left/top + translate ламали це центрування — лишаємо базове,
   тут тільки збільшуємо кнопку. */
.kigip-eb-aboutsplit__play {
  z-index: 2;
  width: 76px;
  height: 76px;
}
.kigip-eb-aboutsplit__play svg { width: 28px; height: 28px; }
.kigip-eb-aboutsplit__shape { position: absolute; pointer-events: none; }
/* координати перераховані у відсотки від фото 540×400 */
.kigip-eb-aboutsplit__shape--1 { left: -14.8%; top: 78.5%; width: 30.7%; }
.kigip-eb-aboutsplit__shape--2 { left: 89.4%; top: -10%; width: 18.9%; }
.kigip-eb-aboutsplit__shape--3 { right: -40px; bottom: 90px; width: 166px; }

.kigip-eb-aboutsplit__text p { margin: 0 0 18px; font-size: 15px; line-height: 1.73; }
.kigip-eb-aboutsplit__listtitle { font-size: 18px; margin: 26px 0 16px; }
.kigip-eb-aboutsplit__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.kigip-eb-aboutsplit__list li { display: flex; align-items: flex-start; gap: 12px; }
.kigip-eb-aboutsplit__list i { color: #ee4a62; font-size: 19px; position: relative; top: 3px; }
.kigip-eb-aboutsplit__list strong {
  display: block;
  font-size: 15px;
  line-height: 1.73;
  font-weight: 600;
  color: var(--kigip-ink);
}
.kigip-eb-aboutsplit__list em {
  display: block;
  margin-top: 4px;
  font-style: normal;
  font-size: 14px;
  line-height: 1.65;
  color: var(--kigip-muted);
}
.kigip-eb-aboutsplit__btn { margin-top: 34px; }

@media (max-width: 991px) {
  .kigip-eb-aboutsplit { padding: 64px 0 70px; }
  .kigip-eb-aboutsplit .kigip-eb-heading { margin-bottom: 34px; }
  .kigip-eb-aboutsplit .kigip-eb-heading .heading { font-size: 28px; line-height: 1.35; }
  .kigip-eb-aboutsplit__shape { display: none; }
  .kigip-eb-aboutsplit__text { margin-top: 34px; }
  .kigip-eb-aboutsplit__media { max-width: none; }
}

/* Цитата під фото в блоці About (ТЗ 1 ступеня, с. 6) */
.kigip-eb-aboutsplit__quote {
  position: relative;
  max-width: 540px;
  margin: 26px 0 0;
  padding: 22px 26px;
  background: var(--kigip-sand);
  border-left: 3px solid var(--kigip-green);
  border-radius: 0 8px 8px 0;
}
.kigip-eb-aboutsplit__quote p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  font-style: italic;
  color: var(--kigip-ink);
}
.kigip-eb-aboutsplit__quote cite {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  font-style: normal;
  color: var(--kigip-muted);
}

/* ── Простий текстовий блок (сертифікат 1 ступеня, ТЗ с. 7) ──── */
.kigip-eb-textblock {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}
.kigip-eb-textblock .kigip-eb-rte p {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.8;
}
.kigip-eb-textblock .kigip-eb-rte p:last-child { margin-bottom: 0; }
.kigip-eb-textblock__link { margin: 24px 0 0; }
.kigip-eb-textblock__link a {
  font-weight: 600;
  color: var(--kigip-green);
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
.kigip-eb-textblock__link a:hover { color: var(--kigip-ink); }

@media (max-width: 767px) {
  .kigip-eb-textblock { text-align: left; }
}

/* ── Банер-заклик (remote-training, b85138e) ──────────────────
   Фігури позиціонуються від контейнера 1200, як в Elementor. */
.kigip-eb-ctabanner {
  position: relative;
  padding: 87px 0 95px;
  /* У демо заголовок у два рядки й тримає висоту 362px. У нас рядок один,
     тому без опису відступи ріжемо — інакше банер здається порожнім. */
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
  overflow: hidden;
}
.kigip-eb-ctabanner > .edublink-container { position: relative; }
.kigip-eb-ctabanner--tight { padding: 60px 0 64px; }
.kigip-eb-ctabanner__text {
  max-width: 720px;
  margin: 0 auto 24px;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255, 255, 255, .9);
}
.kigip-eb-ctabanner__title {
  margin: 0 0 20px;
  font-size: 36px;
  line-height: 1.39;
  color: #fff;
}
.kigip-eb-ctabanner__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 60px;
  padding: 0 30px;
  border-radius: 5px;
  background: #fff;
  color: var(--kigip-ink);
  font-size: 15px;
  font-weight: 500;
  transition: background .25s ease, color .25s ease;
}
.kigip-eb-ctabanner__btn:hover { background: var(--kigip-ink); color: #fff; }
.kigip-eb-ctabanner__btn i { font-size: 13px; }
.kigip-eb-ctabanner__shape { position: absolute; pointer-events: none; }
.kigip-eb-ctabanner__shape--l { left: 15px; top: 196px; width: 101px; }
.kigip-eb-ctabanner__shape--r { left: 1302px; top: -55px; width: 128px; }

@media (max-width: 1199px) {
  .kigip-eb-ctabanner__shape--r { left: auto; right: -20px; }
}
@media (max-width: 767px) {
  .kigip-eb-ctabanner { padding: 60px 0 64px; }
  .kigip-eb-ctabanner__title { font-size: 26px; }
  .kigip-eb-ctabanner__shape { display: none; }
}

/* ── Теми програми простим текстом (ТЗ 1 ступеня, с. 8) ───────── */
.kigip-eb-topics {
  max-width: 900px;
  margin: 50px auto 0;
}
.kigip-eb-topics__item { margin: 0 0 22px; font-size: 16px; line-height: 1.8; }
.kigip-eb-topics__item:last-child { margin-bottom: 0; }
.kigip-eb-topics__item strong {
  display: block;
  color: var(--kigip-ink);
  font-weight: 600;
}
.kigip-eb-topics__item span { color: var(--kigip-muted); }

/* Картки програми стоять усередині секції, тож своїх відступів не мають */
.kigip-eb-section .kigip-eb-statcards { padding: 0; }
/* У цьому блоці заголовка немає — текст тем підтягуємо ближче до плашок */
.kigip-eb-section .kigip-eb-statcards + .kigip-eb-topics { margin-top: 46px; }

/* ── Тренери: заголовок ліворуч, карусель праворуч ─────────────
   Розкладка distant-learning e9f9bf8 (секція 0/140, колонки 480/720),
   картки — «Course Instructors» з online-academy (фото 310×310). */
.kigip-eb-teamcar { padding: 100px 0 140px; }
.kigip-eb-teamcar__row { align-items: center; }
.kigip-eb-teamcar__lead { margin: 18px 0 26px; font-size: 16px; line-height: 1.75; }
.kigip-eb-teamcar__car { position: relative; }
.kigip-eb-teamcar__rail {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 10px 0 20px;
}
.kigip-eb-teamcar__rail::-webkit-scrollbar { display: none; }
.kigip-eb-teamcar__item {
  flex: 0 0 300px;
  scroll-snap-align: start;
  padding: 0 24px 30px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 50px rgba(26, 46, 85, .1);
  text-align: center;
}
.kigip-eb-teamcar__item .thumbnail-wrap { margin: -10px 0 0; }
.kigip-eb-teamcar__item .thumbnail { margin-bottom: 22px; overflow: hidden; border-radius: 10px; }
.kigip-eb-teamcar__item .thumbnail img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 10px;
}
.kigip-eb-teamcar__item .title { font-size: 20px; margin: 0 0 6px; }
.kigip-eb-teamcar__item .designation { display: block; font-size: 14px; color: var(--kigip-muted); }
.kigip-eb-teamcar__item .kigip-team-note {
  margin: 14px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--kigip-muted);
}
.kigip-eb-teamcar__arrow {
  position: absolute;
  top: 42%;
  z-index: 3;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--kigip-ink);
  box-shadow: 0 8px 24px rgba(16, 24, 40, .14);
  cursor: pointer;
  transition: background .25s ease, color .25s ease, opacity .25s ease;
}
.kigip-eb-teamcar__arrow:hover { background: var(--kigip-green); color: #fff; }
.kigip-eb-teamcar__arrow--prev { left: -22px; }
.kigip-eb-teamcar__arrow--next { right: -22px; }
.kigip-eb-teamcar__arrow.is-hidden { opacity: 0; pointer-events: none; }

@media (max-width: 991px) {
  .kigip-eb-teamcar { padding: 64px 0 80px; }
  .kigip-eb-teamcar__car { margin-top: 30px; }
  .kigip-eb-teamcar__arrow--prev { left: -6px; }
  .kigip-eb-teamcar__arrow--next { right: -6px; }
}

/* ── FAQ у дві колонки (референс ТЗ, кольори — з шаблону) ─────── */
.kigip-eb-faqsplit { padding: 100px 0; background: var(--edublink-color-shade, #f5f5f5); }
.kigip-eb-faqsplit .kigip-eb-heading { margin-bottom: 44px; }
.kigip-eb-faqsplit__row { align-items: stretch; }
.kigip-eb-faqsplit__list { display: grid; gap: 20px; }
.kigip-eb-faqsplit__item {
  padding: 26px 30px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 50px rgba(26, 46, 85, .07);
}
.kigip-eb-faqsplit__q { margin: 0 0 10px; font-size: 17px; line-height: 1.5; }
.kigip-eb-faqsplit__a { margin: 0; font-size: 15px; line-height: 1.75; color: var(--kigip-muted); }

.kigip-eb-faqsplit__panel {
  position: relative;
  height: 100%;
  padding: 46px 40px;
  border-radius: 10px;
  background: var(--kigip-green);
  color: #fff;
}
.kigip-eb-faqsplit__quote {
  position: absolute;
  left: 40px;
  top: 26px;
  font-size: 28px;
  opacity: .35;
}
.kigip-eb-faqsplit__paneltitle {
  margin: 34px 0 20px;
  font-size: 24px;
  line-height: 1.4;
  color: #fff;
}
.kigip-eb-faqsplit__panel p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255, 255, 255, .9);
}
.kigip-eb-faqsplit__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .6);
  padding-bottom: 4px;
}
.kigip-eb-faqsplit__link:hover { color: #fff; border-color: #fff; }
.kigip-eb-faqsplit__link i { font-size: 12px; }

@media (max-width: 991px) {
  .kigip-eb-faqsplit { padding: 64px 0; }
  .kigip-eb-faqsplit__panel { margin-top: 24px; padding: 34px 26px; }
}

/* Контакти менеджера в лівій колонці CTA (ТЗ 1 ступеня, с. 11).
   Фон CTA світлий (#F0F4F5), тому текст темний, а не білий. */
.kigip-eb-cta__contacts {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(16, 24, 40, .1);
}
.kigip-eb-cta__manager {
  margin: 0 0 18px;
  font-size: 18px;
  font-weight: 600;
  color: var(--kigip-ink);
}
.kigip-eb-cta__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 18px 44px;
}
.kigip-eb-cta__list li { display: block; }
.kigip-eb-cta__list span {
  display: block;
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--kigip-muted);
}
.kigip-eb-cta__list a,
.kigip-eb-cta__list strong {
  font-size: 16px;
  font-weight: 600;
  color: var(--kigip-ink);
}
.kigip-eb-cta__list a { border-bottom: 1px solid rgba(16, 24, 40, .25); padding-bottom: 2px; }
.kigip-eb-cta__list a:hover { color: var(--kigip-green); border-color: var(--kigip-green); }

@media (max-width: 575px) {
  .kigip-eb-cta__list { gap: 16px 28px; }
}

/* ── Hero програми (референс 2 ступеня) ───────────────────────── */
.kigip-eb-heropro { padding: 70px 0 90px; background: var(--kigip-sand); }
.kigip-eb-heropro__row { align-items: center; }

.kigip-eb-heropro__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 22px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(16, 24, 40, .06);
  font-size: 14px;
  font-weight: 600;
  color: var(--kigip-ink);
}
.kigip-eb-heropro__badge i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--kigip-green);
}
.kigip-eb-heropro__title {
  margin: 26px 0 0;
  font-size: 48px;
  line-height: 1.16;
  font-weight: 800;
}
.kigip-eb-heropro__desc {
  margin: 22px 0 0;
  max-width: 520px;
  font-size: 16px;
  line-height: 1.75;
}

.kigip-eb-heropro__btns { margin-top: 32px; display: flex; gap: 16px; flex-wrap: wrap; }
/* Кнопки hero — .edu-btn теми. Були власні пігулки з радіусом 999px
   і своїм зеленим; тепер колір, радіус і ховер беруться з теми, тут
   лишається тільки те, чого в ній немає. */
.kigip-eb-heropro__btn.edu-btn { padding: 0 34px; }

.kigip-eb-heropro__pills {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.kigip-eb-heropro__pills li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 999px;
  background: #fff;
  font-size: 15px;
  font-weight: 600;
  color: var(--kigip-ink);
}
.kigip-eb-heropro__pillicon { font-size: 16px; line-height: 1; }

/* Фото — оформлення шаблону: радіус 10 і крапковий шейп позаду */
.kigip-eb-heropro__media { position: relative; }
.kigip-eb-heropro__media::before {
  content: '';
  position: absolute;
  left: -26px;
  top: -26px;
  width: 120px;
  height: 120px;
  background-image: radial-gradient(rgba(16, 24, 40, .18) 2px, transparent 2px);
  background-size: 14px 14px;
}
.kigip-eb-heropro__photo {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  max-height: 560px;
  object-fit: cover;
  border-radius: 10px;
}
.kigip-eb-heropro__card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 22px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(16, 24, 40, .12);
  max-width: 320px;
}
.kigip-eb-heropro__card--1 { left: -60px; top: 12%; }
.kigip-eb-heropro__card--2 { right: -50px; bottom: 8%; }
.kigip-eb-heropro__cardicon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 10px;
  background: var(--kigip-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.kigip-eb-heropro__cardtext strong { display: block; font-size: 16px; color: var(--kigip-ink); }
.kigip-eb-heropro__cardtext em {
  display: block;
  margin-top: 3px;
  font-style: normal;
  font-size: 14px;
  color: var(--kigip-muted);
}

@media (max-width: 1199px) {
  .kigip-eb-heropro__title { font-size: 40px; }
  .kigip-eb-heropro__card--1 { left: -20px; }
  .kigip-eb-heropro__card--2 { right: -20px; }
}
@media (max-width: 991px) {
  .kigip-eb-heropro { padding: 50px 0 64px; }
  .kigip-eb-heropro__title { font-size: 32px; }
  .kigip-eb-heropro__media { margin-top: 40px; }
  .kigip-eb-heropro__media::before { display: none; }
  .kigip-eb-heropro__photo { aspect-ratio: 4 / 3; }
  .kigip-eb-heropro__card { position: static; max-width: none; margin-top: 14px; }
}

/* ── Траєкторія «від студента до тренера» (референс 2 ступеня) ── */
.kigip-eb-track-sec { padding: 100px 0; text-align: center; }
.kigip-eb-track-sec__pre {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--kigip-soft);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--kigip-green);
}
.kigip-eb-track-sec__title {
  margin: 22px 0 0;
  font-size: 36px;
  line-height: 1.35;
  font-weight: 800;
}
.kigip-eb-track-sec__desc {
  max-width: 640px;
  margin: 18px auto 0;
  font-size: 16px;
  line-height: 1.75;
}

.kigip-eb-track {
  position: relative;
  margin-top: 60px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  align-items: start;
  gap: 10px;
}
/* лінія, що з'єднує кружки */
.kigip-eb-track::before {
  content: '';
  position: absolute;
  left: 10%;
  right: 10%;
  top: 32px;
  height: 1px;
  background: rgba(16, 24, 40, .14);
}
.kigip-eb-track__item { position: relative; padding-top: 0; }
.kigip-eb-track__dot {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 50%;
  border: 1px solid rgba(16, 24, 40, .14);
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--kigip-muted);
  text-align: center;
}
.kigip-eb-track__item.is-current .kigip-eb-track__dot {
  width: 76px;
  height: 76px;
  border-color: var(--kigip-green);
  background: var(--kigip-green);
  color: #fff;
  box-shadow: 0 10px 30px rgba(26, 182, 157, .35);
}
.kigip-eb-track__tag {
  display: inline-block;
  margin-bottom: 10px;
  padding: 5px 14px;
  border-radius: 999px;
  background: var(--kigip-green);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
}
.kigip-eb-track__title { display: block; font-size: 16px; color: var(--kigip-ink); }
.kigip-eb-track__item.is-current .kigip-eb-track__title { color: var(--kigip-green); }
.kigip-eb-track__note {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--kigip-muted);
}

.kigip-eb-track-sec__listtitle { margin: 70px 0 20px; font-size: 18px; text-align: left; }
.kigip-eb-track-sec__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  text-align: left;
}
.kigip-eb-track-sec__list li {
  position: relative;
  padding: 16px 20px 16px 38px;
  border-radius: 8px;
  background: var(--kigip-sand);
  font-size: 15px;
  color: var(--kigip-ink);
}
.kigip-eb-track-sec__list li::before {
  content: '';
  position: absolute;
  left: 18px;
  top: 24px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--kigip-green);
}

@media (max-width: 991px) {
  .kigip-eb-track-sec { padding: 64px 0; }
  .kigip-eb-track-sec__title { font-size: 28px; }
  .kigip-eb-track { grid-auto-flow: row; gap: 28px; }
  .kigip-eb-track::before { display: none; }
  .kigip-eb-track-sec__list { grid-template-columns: 1fr; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .kigip-eb-track-sec__list { grid-template-columns: repeat(2, 1fr); }
}

/* ── Тёмний блок «5 тренерів» (референс 2 ступеня) ───────────── */
.kigip-eb-dark {
  padding: 100px 0;
  background: #131c26;
  color: rgba(255, 255, 255, .82);
}
.kigip-eb-dark__row { align-items: flex-start; }
.kigip-eb-dark__pre {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(26, 182, 157, .18);
  color: var(--kigip-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.kigip-eb-dark__title {
  margin: 22px 0 24px;
  font-size: 34px;
  line-height: 1.3;
  font-weight: 800;
  color: #fff;
}
.kigip-eb-dark__p { margin: 0 0 18px; font-size: 15px; line-height: 1.8; }

.kigip-eb-dark__cols {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.kigip-eb-dark__card {
  padding: 24px 26px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .07);
}
.kigip-eb-dark__card--accent {
  background: rgba(26, 182, 157, .08);
  border-color: rgba(26, 182, 157, .35);
}
.kigip-eb-dark__card h5 {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .6);
}
.kigip-eb-dark__card--accent h5 { color: var(--kigip-green); }
.kigip-eb-dark__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.kigip-eb-dark__list li { position: relative; padding-left: 24px; font-size: 14px; line-height: 1.6; }
.kigip-eb-dark__list--muted li { color: rgba(255, 255, 255, .5); }
.kigip-eb-dark__list--muted li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: rgba(255, 255, 255, .35);
}
.kigip-eb-dark__list--check li { color: rgba(255, 255, 255, .92); }
.kigip-eb-dark__list--check li::before {
  content: '\e913';
  font-family: 'icomoon';
  position: absolute;
  left: 0;
  top: 1px;
  font-size: 13px;
  color: var(--kigip-green);
}

.kigip-eb-dark__label {
  display: block;
  margin-bottom: 20px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .6);
}
.kigip-eb-dark__people { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.kigip-eb-dark__people li {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .07);
}
.kigip-eb-dark__ava {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--kigip-green);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
}
.kigip-eb-dark__who { flex: 1 1 auto; }
.kigip-eb-dark__who strong { display: block; font-size: 15px; color: #fff; }
.kigip-eb-dark__who em {
  display: block;
  margin-top: 3px;
  font-style: normal;
  font-size: 13px;
  color: rgba(255, 255, 255, .55);
}
.kigip-eb-dark__badge {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  color: var(--kigip-green);
  text-transform: uppercase;
}
.kigip-eb-dark__note {
  margin: 18px 0 0;
  font-size: 13px;
  color: rgba(255, 255, 255, .55);
}

@media (max-width: 991px) {
  .kigip-eb-dark { padding: 64px 0; }
  .kigip-eb-dark__title { font-size: 26px; }
  .kigip-eb-dark__label { margin-top: 40px; }
}
@media (max-width: 575px) {
  .kigip-eb-dark__cols { grid-template-columns: 1fr; }
  .kigip-eb-dark__people li { flex-wrap: wrap; }
}

/* ── FAQ-розкладка (online-academy, a3df305) ──────────────────
   Координати фото й фігур — від контейнера 1200, права колонка
   починається на 600, тому в CSS вони перераховані у відсотки
   від самої колонки (600px). */
.kigip-eb-faqmedia {
  padding: 100px 0 135px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.kigip-eb-faqmedia__row { align-items: center; }
.kigip-eb-faqmedia .kigip-eb-heading { margin-bottom: 34px; }
.kigip-eb-faqmedia__media { position: relative; min-height: 640px; }
.kigip-eb-faqmedia__photo { position: absolute; display: block; object-fit: cover; }
/* faq-05: 255×440 у точці 645/50 → від колонки 45/50 */
.kigip-eb-faqmedia__photo--1 { left: 45px; top: 50px; width: 255px; height: 440px; border-radius: 0 80px; }
/* faq-06: 255×370 у точці 930/300 → від колонки 330/300 */
.kigip-eb-faqmedia__photo--2 { left: 330px; top: 300px; width: 255px; height: 370px; border-radius: 80px 0; }

.kigip-eb-faqmedia__shape { position: absolute; pointer-events: none; }
.kigip-eb-faqmedia__shape--a { left: 10px;  top: 20px;  width: 123px; }
.kigip-eb-faqmedia__shape--b { left: 241px; top: 20px;  width: 159px; }
.kigip-eb-faqmedia__shape--c { left: -5px;  top: 367px; width: 210px; }
.kigip-eb-faqmedia__shape--d { left: 400px; top: 215px; width: 210px; }
.kigip-eb-faqmedia__shape--e { left: 522px; top: 255px; width: 123px; }
.kigip-eb-faqmedia__shape--f { left: 120px; top: 598px; width: 85px; }

@media (max-width: 1199px) {
  .kigip-eb-faqmedia__media { min-height: 560px; transform: scale(.86); transform-origin: top left; }
}
@media (max-width: 991px) {
  .kigip-eb-faqmedia { padding: 64px 0 70px; }
  .kigip-eb-faqmedia__media { min-height: 0; margin-top: 40px; transform: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .kigip-eb-faqmedia__photo { position: static; width: 100%; height: auto; aspect-ratio: 255 / 400; }
  .kigip-eb-faqmedia__shape { display: none; }
}

/* ── Модулі програми (референс 2 ступеня) ─────────────────────── */
.kigip-eb-modules { padding: 100px 0; }
/* stretch, а не flex-start: колонки мають бути однакової висоти. */
.kigip-eb-modules__row { align-items: stretch; }
.kigip-eb-modules__pre {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.kigip-eb-modules__title { margin: 22px 0 0; font-size: 36px; line-height: 1.25; font-weight: 800; }
.kigip-eb-modules__desc { margin: 16px 0 0; font-size: 16px; line-height: 1.75; }

/* Тёмна картка «Деталі програми» */
.kigip-eb-modules__card {
  margin-top: 32px;
  padding: 30px;
  border-radius: 14px;
  background: #131c26;
  color: #fff;
}
.kigip-eb-modules__card h5 {
  margin: 0 0 20px;
  font-size: 17px;
  color: var(--kigip-green);
}
.kigip-eb-modules__card dl { margin: 0; display: grid; gap: 10px; }
.kigip-eb-modules__card dl > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .05);
}
.kigip-eb-modules__card dt { margin: 0; font-size: 14px; color: rgba(255, 255, 255, .65); font-weight: 400; }
.kigip-eb-modules__card dd { margin: 0; font-size: 15px; font-weight: 700; color: #fff; text-align: right; }
.kigip-eb-modules__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
  height: 56px;
  border-radius: 10px;
  background: var(--kigip-green);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  transition: background .25s ease;
}
.kigip-eb-modules__btn:hover { background: #fff; color: #131c26; }
.kigip-eb-modules__btn i { font-size: 13px; }

/* Список модулів зі скролом */
.kigip-eb-modules__list {
  max-height: 720px;
  overflow-y: auto;
  padding-right: 10px;
  scrollbar-width: thin;
}
.kigip-eb-modules__list::-webkit-scrollbar { width: 6px; }
.kigip-eb-modules__list::-webkit-scrollbar-thumb { background: rgba(16, 24, 40, .18); border-radius: 3px; }
.kigip-eb-modules__item { margin-bottom: 14px; }
.kigip-eb-modules__item .eb-accordion-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 46px 18px 22px;
  font-size: 16px;
}
.kigip-eb-modules__num {
  flex: 0 0 auto;
  min-width: 34px;
  font-size: 15px;
  font-weight: 800;
  color: var(--kigip-green);
  text-align: center;
}
.kigip-eb-modules__name { flex: 1 1 auto; }
.kigip-eb-modules__meta {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 400;
  color: var(--kigip-muted);
}
.kigip-eb-modules__item .eb-accordion-header.active { background: transparent; color: var(--kigip-ink); }
.kigip-eb-modules__item .eb-accordion-header.active .kigip-eb-modules__name { color: var(--kigip-green); }
.kigip-eb-modules__item .eb-accordion-header.active:before { color: var(--kigip-green); }

@media (max-width: 991px) {
  .kigip-eb-modules { padding: 64px 0; }
  .kigip-eb-modules__title { font-size: 28px; }
  .kigip-eb-modules__list { max-height: none; overflow: visible; margin-top: 34px; padding-right: 0; }
  .kigip-eb-modules__item .eb-accordion-header { flex-wrap: wrap; }
}

/* ── Міжнародне визнання (референс 2 ступеня) ─────────────────── */
.kigip-eb-accred { padding: 100px 0; background: var(--kigip-sand); }
.kigip-eb-accred--plain { background: transparent; }
/* stretch, а не flex-start: панель праворуч має ставати врівень із плашками. */
.kigip-eb-accred__row { align-items: stretch; }
.kigip-eb-accred__pre {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.kigip-eb-accred__title { margin: 22px 0 0; font-size: 34px; line-height: 1.28; font-weight: 800; }
.kigip-eb-accred__desc { margin: 16px 0 0; font-size: 15px; line-height: 1.75; }
.kigip-eb-accred__grid {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
/* Три в ряд — коли асоціацій шість (сторінка «Про нас») */
.kigip-eb-accred__grid--3 { grid-template-columns: repeat(3, 1fr); gap: 16px; }
.kigip-eb-accred__grid--3 .kigip-eb-accred__card { padding: 22px 16px; text-align: center; }
.kigip-eb-accred__grid--3 .kigip-eb-accred__code { font-size: 20px; }
.kigip-eb-accred__grid--3 .kigip-eb-accred__card p { font-size: 12px; }

.kigip-eb-accred__card {
  padding: 26px 24px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(16, 24, 40, .07);
}
.kigip-eb-accred__code {
  display: block;
  margin-bottom: 12px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .5px;
  color: var(--kigip-ink);
}
.kigip-eb-accred__card strong { display: block; margin-bottom: 8px; font-size: 14px; color: var(--kigip-ink); }
.kigip-eb-accred__card p { margin: 0; font-size: 13px; line-height: 1.7; color: var(--kigip-muted); }

.kigip-eb-accred__panel {
  padding: 35px 38px;
  border-radius: 14px;
  background: #131c26;
  color: rgba(255, 255, 255, .82);
}
.kigip-eb-accred__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 999px;
  background: #f8941f;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
/* Специфічність подвоєна навмисно: kigip-about.css вантажиться після нас
   і його `.kigip-about h3` інакше перефарбовує заголовки на темній панелі. */
.kigip-eb-accred .kigip-eb-accred__panel h3 {
  margin: 22px 0 18px;
  font-size: 21px;
  line-height: 1.45;
  color: #fff;
}
.kigip-eb-accred__panel p { margin: 0 0 16px; font-size: 15px; line-height: 1.8; }
.kigip-eb-accred__block > h3 { margin-top: 0; }
.kigip-eb-accred__block:first-of-type > h3 { margin-top: 22px; }
.kigip-eb-accred__block + .kigip-eb-accred__block { margin-top: 26px; }
.kigip-eb-accred__block p:last-child { margin-bottom: 0; }
.kigip-eb-accred__guests {
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .14);
}
.kigip-eb-accred .kigip-eb-accred__guests h5 { margin: 0 0 12px; font-size: 15px; color: var(--kigip-green); }
.kigip-eb-accred__guests p { margin: 0; font-size: 15px; line-height: 1.9; }

@media (max-width: 991px) {
  .kigip-eb-accred { padding: 64px 0; }
  .kigip-eb-accred__title { font-size: 26px; }
  .kigip-eb-accred__panel { margin-top: 34px; padding: 30px 24px; }
}
@media (max-width: 767px) {
  .kigip-eb-accred__grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .kigip-eb-accred__grid,
  .kigip-eb-accred__grid--3 { grid-template-columns: 1fr; }
}

/* ── Вимоги до сертифікації (референс 2 ступеня) ──────────────── */
.kigip-eb-reqs { padding: 100px 0; background: #131c26; text-align: center; }
.kigip-eb-reqs__pre {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(26, 182, 157, .18);
  color: var(--kigip-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.kigip-eb-reqs__title { margin: 24px 0 0; font-size: 36px; line-height: 1.3; font-weight: 800; color: #fff; }
.kigip-eb-reqs__desc {
  max-width: 620px;
  margin: 16px auto 0;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255, 255, 255, .7);
}
.kigip-eb-reqs__grid {
  margin-top: 46px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  text-align: left;
}
.kigip-eb-reqs__card {
  padding: 26px 24px 28px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .07);
}
.kigip-eb-reqs__num {
  display: block;
  margin-bottom: 16px;
  font-size: 32px;
  font-weight: 800;
  color: var(--kigip-green);
}
.kigip-eb-reqs__card strong { display: block; margin-bottom: 10px; font-size: 15px; color: #fff; }
.kigip-eb-reqs__card p { margin: 0; font-size: 13px; line-height: 1.75; color: rgba(255, 255, 255, .6); }

.kigip-eb-reqs__note {
  margin-top: 24px;
  padding: 22px 26px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .07);
  display: flex;
  align-items: center;
  gap: 14px;
  text-align: left;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .75);
}
.kigip-eb-reqs__note > i { color: #f8941f; font-size: 18px; }
.kigip-eb-reqs__note a {
  color: var(--kigip-green);
  font-weight: 600;
  white-space: nowrap;
}
.kigip-eb-reqs__note a i { font-size: 12px; margin-left: 6px; }
.kigip-eb-reqs__btn { margin-top: 34px; }

@media (max-width: 1199px) { .kigip-eb-reqs__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 991px) {
  .kigip-eb-reqs { padding: 64px 0; }
  .kigip-eb-reqs__title { font-size: 26px; }
}
@media (max-width: 575px) {
  .kigip-eb-reqs__grid { grid-template-columns: 1fr; }
  .kigip-eb-reqs__note { flex-direction: column; align-items: flex-start; }
}

/* ── CTA-банер у дві колонки (референс 2 ступеня) ─────────────── */
.kigip-eb-ctasplit {
  padding: 56px 0;
  /* Темний кінець лишаємо — він дає банеру глибину; міняється лише
     бірюзовий початок на фірмовий зелений. */
  background: linear-gradient(100deg, #608758 0%, #52764b 45%, #2f4436 100%);
  color: #fff;
}
.kigip-eb-ctasplit__row { align-items: center; }
.kigip-eb-ctasplit__title {
  margin: 0;
  font-size: 30px;
  line-height: 1.25;
  font-weight: 800;
  color: #fff;
  max-width: 460px;
}
.kigip-eb-ctasplit__text {
  margin: 14px 0 0;
  max-width: 520px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .85);
}
.kigip-eb-ctasplit__actions { display: grid; gap: 12px; }
.kigip-eb-ctasplit__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  transition: background .25s ease, color .25s ease;
}
.kigip-eb-ctasplit__btn--solid { background: #131c26; color: #fff; }
.kigip-eb-ctasplit__btn--solid:hover { background: #fff; color: #131c26; }
.kigip-eb-ctasplit__btn--ghost { border: 1.5px solid rgba(255, 255, 255, .7); color: #fff; }
.kigip-eb-ctasplit__btn--ghost:hover { background: #fff; color: #131c26; }
.kigip-eb-ctasplit__list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 7px; }
.kigip-eb-ctasplit__list li {
  position: relative;
  padding-left: 16px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, .85);
}
.kigip-eb-ctasplit__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .6);
}

@media (max-width: 991px) {
  .kigip-eb-ctasplit { padding: 44px 0; }
  .kigip-eb-ctasplit__title { font-size: 24px; }
  .kigip-eb-ctasplit__actions { margin-top: 24px; }
}

/* ── Скидання глобального `ul li { margin: 10px 0 }` теми ───────
   Наші списки будують проміжки через gap, а тема додає зверху свої
   10px і зазор подвоюється. Тому в цих списках margin обнуляємо. */
.kigip-eb-ctasplit__list li,
.kigip-eb-dark__list li,
.kigip-eb-dark__people li,
.kigip-eb-track-sec__list li,
.kigip-eb-aboutsplit__list li,
.kigip-eb-illcard__list li,
.kigip-eb-heropro__pills li,
.kigip-eb-cta__list li,
.kigip-eb-checklist li,
.kigip-eb-plainlist li {
  margin-top: 0;
  margin-bottom: 0;
}

/* ── «Для кого» з тёмною карткою (референс 3 ступеня) ─────────── */
.kigip-eb-who { padding: 90px 0; }
.kigip-eb-who__pre {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--kigip-muted);
}
.kigip-eb-who__pre::before {
  content: '';
  width: 26px;
  height: 1px;
  background: currentColor;
}
.kigip-eb-who__title { margin: 18px 0 44px; font-size: 34px; line-height: 1.3; }
.kigip-eb-who__row { align-items: center; }

.kigip-eb-who__list { list-style: none; margin: 0; padding: 0; }
.kigip-eb-who__list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(16, 24, 40, .1);
  font-size: 15px;
  line-height: 1.6;
}
.kigip-eb-who__list li:last-child { border-bottom: 0; }
.kigip-eb-who__list i {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

.kigip-eb-who__card {
  padding: 38px 40px;
  border-radius: 14px;
  background: #241d17;
  color: rgba(255, 255, 255, .78);
}
.kigip-eb-who__card h3 { margin: 0 0 20px; font-size: 21px; line-height: 1.4; color: #fff; }
.kigip-eb-who__card p { margin: 0 0 18px; font-size: 15px; line-height: 1.8; }
.kigip-eb-who__card p:last-child { margin-bottom: 0; }
.kigip-eb-who__accent { font-style: italic; color: rgba(255, 255, 255, .95); }

@media (max-width: 991px) {
  .kigip-eb-who { padding: 60px 0; }
  .kigip-eb-who__title { font-size: 26px; margin-bottom: 30px; }
  .kigip-eb-who__card { margin-top: 30px; padding: 28px 24px; }
}

/* Секція тренерів: у демо фон прозорий, відступи 85/105 */
.kigip-eb-section.kigip-eb-team-sec {
  position: relative;
  overflow: hidden;
  padding: 85px 0 105px;
  background: transparent;
}
/* Крапкова карта-підкладка (about-us-2): три копії зі зміщеннями від краю
   секції, як у демо. Прозорість 0.6, кліки не перехоплює. */
/* Клас продубльовано навмисно: у kigip-about.css є загальне
   `.kigip-about img { display:block; max-width:100% }`, і воно за
   специфічністю (0,1,1) перебивало одиночний клас — карта стискалась
   до ширини контейнера і не ховалась на мобільному. Два класи (0,2,0)
   виграють, не тягнучи за собою !important. */
.kigip-eb-map.kigip-eb-map {
  position: absolute;
  z-index: 1;
  width: 698px;
  max-width: none;
  opacity: .6;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}
.kigip-eb-map--1 { left: -90px;  top: -265px; }
.kigip-eb-map--2 { right: -55px; top: -280px; }
.kigip-eb-map--3 { left: 38%;    top: 220px; }
.kigip-eb-team-sec > .edublink-container { position: relative; z-index: 2; }

@media (max-width: 991px) {
  .kigip-eb-map.kigip-eb-map { display: none; }
}
.kigip-eb-team-sec__more {
  margin: 34px 0 0;
  text-align: center;
  font-size: 15px;
  color: var(--kigip-muted);
}
.kigip-eb-team-sec__more a { color: var(--kigip-green); font-weight: 600; }

/* ── Картки тренерів: стиль 3 теми (online-academy, c44a388) ────
   Біла картка з тінню — це .edublink-team-3-widget .edublink-team-item:after
   у main.css теми. Тут лише кроп фото і заглушка з ініціалами. */
.kigip-eb-team .edublink-team-item .thumbnail { overflow: hidden; border-radius: 10px; }
.kigip-eb-team .edublink-team-item .thumbnail img,
.kigip-eb-team .kigip-team-initials {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 10px;
}
.kigip-eb-team .kigip-team-initials {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  font-size: 40px;
  font-weight: 700;
}
.kigip-eb-team .kigip-team-note { margin: 0; font-size: 14px; line-height: 1.7; }

/* На архіві тренерів лишаємо дві картки в ряд і на вузьких телефонах,
   як у мобільній сітці супервізорів. Bootstrap-клас sm-6 сам переходить
   на 100% нижче 576px, тому тут потрібне точкове перевизначення. */
@media (max-width: 575px) {
  .kigip-trainers .kigip-eb-team:not(.kigip-eb-team--car) .eb-team-container {
    margin-right: -9px;
    margin-left: -9px;
    row-gap: 24px;
  }

  .kigip-trainers .kigip-eb-team:not(.kigip-eb-team--car) .kigip-eb-team__col {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 9px;
    padding-left: 9px;
  }

  .kigip-trainers .edublink-team-3-widget .edublink-team-item {
    padding: 0 8px 22px;
  }

  .kigip-trainers .edublink-team-3-widget .edublink-team-item .content .title {
    font-size: 16px;
    line-height: 1.4;
  }

  .kigip-trainers .edublink-team-3-widget .edublink-team-item .content .designation,
  .kigip-trainers .kigip-eb-team .kigip-team-note {
    font-size: 13px;
    line-height: 1.5;
  }
}

/* ── CTA-банер шаблону (online-academy, d281627) ──────────────── */
.kigip-eb-ctasimple {
  position: relative;
  padding: 87px 0 95px;
  background-color: #f0f4f5;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
  overflow: hidden;
}
.kigip-eb-ctasimple > .edublink-container { position: relative; }
.kigip-eb-ctasimple__title {
  margin: 0;
  font-size: 36px;
  line-height: 1.39;
  font-weight: 800;
}
.kigip-eb-ctasimple__btn { margin-top: 26px; }
.kigip-eb-ctasimple__shape { position: absolute; pointer-events: none; }
.kigip-eb-ctasimple__shape--1 { left: 30px;   top: 171px;  width: 101px; }
.kigip-eb-ctasimple__shape--2 { left: -50px;  top: 150px;  width: 120px; }
.kigip-eb-ctasimple__shape--3 { left: 1271px; top: -55px;  width: 159px; }
.kigip-eb-ctasimple__shape--4 { left: 1194px; top: -120px; width: 186px; }

@media (max-width: 1199px) {
  .kigip-eb-ctasimple__shape--3 { left: auto; right: -30px; }
  .kigip-eb-ctasimple__shape--4 { left: auto; right: 40px; }
}
@media (max-width: 767px) {
  .kigip-eb-ctasimple { padding: 60px 0 64px; }
  .kigip-eb-ctasimple__title { font-size: 26px; }
  .kigip-eb-ctasimple__shape { display: none; }
}

/* ── Пігулка з цифрами в hero (language-academy) ──────────────── */
.kigip-eb-hero__pill {
  position: absolute;
  left: -46px;
  top: 18%;
  z-index: 2;
  display: grid;
  gap: 18px;
  padding: 26px 30px;
  border-radius: 100px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(16, 24, 40, .12);
  text-align: center;
}
.kigip-eb-hero__pill > div + div { padding-top: 18px; border-top: 1px solid rgba(16, 24, 40, .1); }
.kigip-eb-hero__pill strong { display: block; font-size: 26px; font-weight: 800; line-height: 1; }
.kigip-eb-hero__pill > div:first-child strong { color: var(--kigip-green); }
.kigip-eb-hero__pill > div:last-child strong { color: #f5325b; }
.kigip-eb-hero__pill span {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--kigip-muted);
}
@media (max-width: 991px) {
  .kigip-eb-hero__pill { position: static; margin-top: 20px; border-radius: 16px; }
}

/* ── Hero language-academy (c337a8f) ──────────────────────────
   Координати з демо рахуються від контейнера 1466 (на всю ширину),
   тому позиціонуємо у відсотках від секції. */
.kigip-eb-herolang {
  position: relative;
  padding: 30px 0 0;
  background: #eaf0f2;
  overflow: hidden;
  min-height: 640px;
}
.kigip-eb-herolang > .edublink-container { position: relative; z-index: 2; }
.kigip-eb-herolang__text { max-width: 520px; padding: 90px 0 120px; }
.kigip-eb-herolang__text .pre-heading { display: block; margin-bottom: 14px; }
.kigip-eb-herolang__text .heading { font-size: 48px; line-height: 1.18; font-weight: 800; }
.kigip-eb-herolang__text p { margin: 22px 0 0; font-size: 16px; line-height: 1.75; }
.kigip-eb-herolang__btns { margin-top: 32px; display: flex; gap: 14px; flex-wrap: wrap; }

/* фото — 780×643 у точці 748/154 від контейнера 1466 */
.kigip-eb-herolang__photo {
  position: absolute;
  left: 51%;
  top: 154px;
  width: 53.2%;
  max-width: 780px;
  height: auto;
  z-index: 1;
}
.kigip-eb-herolang__shape { position: absolute; z-index: 1; pointer-events: none; }
.kigip-eb-herolang__shape--waves { left: 37.7%; top: 164px; width: 101px; }
.kigip-eb-herolang__shape--dots  { left: 42.2%; top: 139px; width: 174px; }
.kigip-eb-herolang__shape--dots2 { left: 77.9%; top: 374px; width: 186px; }
.kigip-eb-herolang__shape--edge  { right: 0; top: 178px; width: 48px; }

/* пігулка з цифрами — нативний блок теми */
.kigip-eb-herolang__info { position: absolute; left: 46%; top: 24%; z-index: 3; }

@media (max-width: 1199px) {
  .kigip-eb-herolang__text .heading { font-size: 38px; }
  .kigip-eb-herolang__photo { top: 200px; }
}
@media (max-width: 991px) {
  .kigip-eb-herolang { min-height: 0; padding: 30px 0 0; }
  .kigip-eb-herolang__text { max-width: none; padding: 40px 0 30px; }
  .kigip-eb-herolang__text .heading { font-size: 30px; }
  .kigip-eb-herolang__photo { position: static; width: 100%; max-width: none; margin-top: 20px; }
  .kigip-eb-herolang__shape, .kigip-eb-herolang__info { display: none; }
}

/* ── Кроки-умови з іконками (референс 4 ступеня) ──────────────── */
.kigip-eb-steps { padding: 90px 0; background: var(--kigip-sand); }
.kigip-eb-steps__head { max-width: 560px; }
.kigip-eb-steps__title { margin: 0; font-size: 40px; line-height: 1.2; }
.kigip-eb-steps__desc { margin: 18px 0 0; font-size: 16px; line-height: 1.7; }

.kigip-eb-steps__row {
  position: relative;
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  text-align: center;
}
/* лінія між кружками */
.kigip-eb-steps__row::before {
  content: '';
  position: absolute;
  left: 12%;
  right: 12%;
  top: 55px;
  height: 1px;
  background: rgba(93, 110, 76, .28);
}
.kigip-eb-steps__item { position: relative; }
/* крапки-розділювачі між кружками, як у референсі */
.kigip-eb-steps__item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: -14px;
  top: 50px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #8d9e75;
}
.kigip-eb-steps__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 110px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: #8d9e75;
  color: #fff;
  font-size: 34px;
  box-shadow: 0 0 0 12px rgba(141, 158, 117, .16);
}
.kigip-eb-steps__num {
  display: block;
  font-size: 26px;
  color: var(--kigip-muted);
  margin-bottom: 8px;
}
.kigip-eb-steps__name {
  display: block;
  font-size: 17px;
  line-height: 1.45;
  color: var(--kigip-ink);
  padding-bottom: 16px;
  margin-bottom: 16px;
  position: relative;
}
.kigip-eb-steps__name::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 48px;
  height: 2px;
  background: rgba(93, 110, 76, .45);
}
.kigip-eb-steps__text { display: block; font-size: 14px; line-height: 1.7; color: var(--kigip-muted); }

.kigip-eb-steps__note {
  margin-top: 54px;
  padding: 26px 32px;
  display: flex;
  align-items: center;
  gap: 28px;
  border: 1px solid rgba(93, 110, 76, .25);
  border-radius: 10px;
  background: rgba(255, 255, 255, .5);
}
.kigip-eb-steps__note > i { font-size: 26px; color: #8d9e75; }
.kigip-eb-steps__note p {
  flex: 1 1 auto;
  margin: 0;
  padding: 0 28px;
  border-left: 1px solid rgba(93, 110, 76, .25);
  border-right: 1px solid rgba(93, 110, 76, .25);
  font-size: 15px;
  line-height: 1.7;
}
.kigip-eb-steps__note a { color: #8d9e75; font-size: 20px; }
.kigip-eb-steps__note a:hover { color: var(--kigip-ink); }

@media (max-width: 991px) {
  .kigip-eb-steps { padding: 60px 0; }
  .kigip-eb-steps__title { font-size: 28px; }
  .kigip-eb-steps__row { grid-template-columns: repeat(2, 1fr); gap: 36px 20px; }
  .kigip-eb-steps__row::before { display: none; }
  .kigip-eb-steps__note { flex-direction: column; gap: 16px; text-align: center; }
  .kigip-eb-steps__note p { padding: 16px 0; border-left: 0; border-right: 0; border-top: 1px solid rgba(93,110,76,.25); border-bottom: 1px solid rgba(93,110,76,.25); }
}
@media (max-width: 575px) {
  .kigip-eb-steps__row { grid-template-columns: 1fr; }
}

/* ── «Підготовка супервізорів» (референс 4 ступеня) ───────────── */
.kigip-eb-offer { padding: 90px 0; background: var(--kigip-sand); }
.kigip-eb-offer__row { align-items: flex-start; }
.kigip-eb-offer__pre {
  display: inline-block;
  padding: 7px 16px;
  border-radius: 6px;
  background: #dfe6d2;
  color: #4f6138;
  font-size: 13px;
  font-weight: 600;
}
.kigip-eb-offer__title { margin: 18px 0 16px; font-size: 34px; line-height: 1.22; }
.kigip-eb-offer__desc { margin: 0 0 14px; font-size: 15px; line-height: 1.7; }

.kigip-eb-offer__note {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  margin: 22px 0 26px;
  padding: 22px 24px;
  border-radius: 10px;
  background: #fff;
}
.kigip-eb-offer__note > i { font-size: 30px; color: #8d9e75; }
.kigip-eb-offer__note span { font-size: 15px; line-height: 1.65; }
.kigip-eb-offer__note em {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: 13px;
  color: var(--kigip-muted);
}

.kigip-eb-offer__card {
  padding: 28px 30px 30px;
  border-radius: 12px;
  background: #3f5232;
  color: #fff;
}
.kigip-eb-offer__card h5 { margin: 0 0 18px; font-size: 18px; color: #fff; }
.kigip-eb-offer__card dl { margin: 0; display: grid; }
.kigip-eb-offer__card dl > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}
.kigip-eb-offer__card dl > div:last-child { border-bottom: 0; }
.kigip-eb-offer__card dt {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, .8);
}
.kigip-eb-offer__card dt i { font-size: 17px; color: #c8d6b0; }
.kigip-eb-offer__card dd { margin: 0; font-size: 14px; font-weight: 700; text-align: right; }
.kigip-eb-offer__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
  height: 52px;
  border-radius: 8px;
  background: #c8d6a0;
  color: #33421f;
  font-size: 15px;
  font-weight: 700;
  transition: background .25s ease;
}
.kigip-eb-offer__btn:hover { background: #fff; color: #33421f; }
.kigip-eb-offer__btn i { font-size: 13px; }

.kigip-eb-offer__subtitle { margin: 0 0 22px; font-size: 26px; }
.kigip-eb-offer__list { display: grid; gap: 14px; }
.kigip-eb-offer__item { background: #fff; border-radius: 10px; box-shadow: none; margin: 0; }
.kigip-eb-offer__item .eb-accordion-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 46px 20px 22px;
  font-size: 16px;
  line-height: 1.4;
}
.kigip-eb-offer__icon {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 10px;
  background: #eef1e6;
  color: #6b7d51;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.kigip-eb-offer__num { flex: 0 0 auto; font-size: 24px; color: var(--kigip-muted); font-weight: 400; }
.kigip-eb-offer__name { flex: 1 1 auto; }
.kigip-eb-offer__item .eb-accordion-header.active { background: transparent; color: var(--kigip-ink); }
.kigip-eb-offer__item .eb-accordion-body { padding-top: 0; }
.kigip-eb-offer__item .eb-accordion-body p { font-size: 14px; line-height: 1.7; color: var(--kigip-muted); }

.kigip-eb-offer__bottom {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.kigip-eb-offer__bottom > div {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 26px;
  border: 1px solid rgba(93, 110, 76, .25);
  border-radius: 10px;
}
.kigip-eb-offer__bottom i { font-size: 26px; color: #8d9e75; }
.kigip-eb-offer__bottom p { margin: 0; font-size: 14px; line-height: 1.7; }

@media (max-width: 991px) {
  .kigip-eb-offer { padding: 60px 0; }
  .kigip-eb-offer__title { font-size: 26px; }
  .kigip-eb-offer__subtitle { margin-top: 40px; }
  .kigip-eb-offer__bottom { grid-template-columns: 1fr; }
}

.kigip-eb-team .eb-team-container { justify-content: center; }

/* ── Team стилю 3 у режимі каруселі: по три картки, гортається ──
   Розмітка та сама, що й у сітці, — картку малює тема. Змінюємо лише
   поведінку рядка: не переносити, гортати вбік. */
.kigip-eb-team--car { position: relative; }
.kigip-eb-team--car .eb-team-container {
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  scroll-behavior: auto;
  /* overflow-x ріже тінь картки по вертикалі — компенсуємо полями */
  padding: 10px 0 24px;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}
.kigip-eb-team--car .eb-team-container::-webkit-scrollbar { display: none; }
.kigip-eb-team--car .eb-team-container.is-dragging { cursor: grabbing; }
.kigip-eb-team--car .eb-team-container.is-dragging a { pointer-events: none; }
.kigip-eb-team--car .kigip-eb-team__col {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
  margin-bottom: 0;
}
.kigip-eb-team__arrow {
  position: absolute;
  top: 42%;
  z-index: 3;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: var(--kigip-green);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(26, 182, 157, .3);
  transition: background .25s ease, opacity .25s ease;
}
.kigip-eb-team__arrow:hover { background: var(--kigip-ink); }
.kigip-eb-team__arrow--prev { left: -60px; }
.kigip-eb-team__arrow--next { right: -60px; }
.kigip-eb-team__arrow.is-hidden { opacity: 0; pointer-events: none; }

@media (max-width: 1399px) {
  .kigip-eb-team__arrow--prev { left: -14px; }
  .kigip-eb-team__arrow--next { right: -14px; }
}
@media (max-width: 991px) {
  .kigip-eb-team--car .kigip-eb-team__col { flex-basis: 50%; max-width: 50%; }
}
@media (max-width: 575px) {
  .kigip-eb-team--car .kigip-eb-team__col { flex-basis: 85%; max-width: 85%; }
}

/* ── Блок сертифіката (референс 4 ступеня) ────────────────────── */
.kigip-eb-cert { padding: 90px 0; background: var(--kigip-sand); }
.kigip-eb-cert__row { align-items: center; }
.kigip-eb-cert__pre {
  display: inline-block;
  padding: 8px 20px;
  border-radius: 6px;
  background: #dfe6d2;
  color: #4f6138;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.kigip-eb-cert__title { margin: 20px 0 0; font-size: 38px; line-height: 1.22; }
.kigip-eb-cert__text { margin-top: 28px; padding-top: 28px; border-top: 2px solid rgba(93, 110, 76, .35); }
.kigip-eb-cert__text { position: relative; }
.kigip-eb-cert__text p { margin: 0 0 18px; font-size: 16px; line-height: 1.75; }
.kigip-eb-cert__text p:last-child { margin-bottom: 0; }
.kigip-eb-cert__media img { display: block; width: 100%; height: auto; border-radius: 10px; }

.kigip-eb-cert__notes {
  margin-top: 46px;
  padding: 26px 28px;
  border-radius: 12px;
  background: #eef1e6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px 26px;
}
.kigip-eb-cert__notes > div { display: flex; align-items: center; gap: 16px; }
.kigip-eb-cert__notes > div + div { border-left: 1px solid rgba(93, 110, 76, .25); padding-left: 26px; }
.kigip-eb-cert__icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-radius: 12px;
  background: #fff;
  color: #6b7d51;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
}
.kigip-eb-cert__notes p { margin: 0; font-size: 14px; line-height: 1.6; }
.kigip-eb-cert__notes strong { display: block; color: var(--kigip-ink); }

@media (max-width: 991px) {
  .kigip-eb-cert { padding: 60px 0; }
  .kigip-eb-cert__title { font-size: 28px; }
  .kigip-eb-cert__media { margin-top: 30px; }
  .kigip-eb-cert__notes { grid-template-columns: 1fr; }
  .kigip-eb-cert__notes > div + div { border-left: 0; padding-left: 0; padding-top: 22px; border-top: 1px solid rgba(93, 110, 76, .25); }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .kigip-eb-cert__notes { grid-template-columns: repeat(2, 1fr); }
  .kigip-eb-cert__notes > div:nth-child(3) { border-left: 0; padding-left: 0; }
}

/* ── Шапка з фото і затемненням («Про нас») ───────────────────── */
.kigip-eb-cover {
  position: relative;
  padding: 74px 0 70px;
  background-color: #1b2b2a;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
  overflow: hidden;
}
.kigip-eb-cover::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(17, 28, 27, .95) 0%, rgba(17, 28, 27, .9) 40%, rgba(17, 28, 27, .55) 72%, rgba(17, 28, 27, .3) 100%);
}
.kigip-eb-cover > .edublink-container { position: relative; z-index: 1; }
.kigip-eb-cover__badge {
  display: inline-block;
  padding: 9px 22px;
  border: 1px solid rgba(26, 182, 157, .6);
  border-radius: 999px;
  background: rgba(26, 182, 157, .16);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--kigip-green);
}
.kigip-eb-cover__title {
  margin: 24px 0 0;
  max-width: 660px;
  font-size: 40px;
  line-height: 1.28;
  font-weight: 800;
  color: #fff;
}
/* kigip-about.css вантажиться після нашого файлу і перебиває колір h1,
   тому селектор тут специфічніший. */
.kigip-eb-cover h1.kigip-eb-cover__title { color: #fff; }
.kigip-eb-cover h1.kigip-eb-cover__title .edublink-color-primary { color: var(--kigip-green); }

.kigip-eb-cover__crumbs {
  margin-top: 26px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, .6);
}
.kigip-eb-cover__crumbs a { color: rgba(255, 255, 255, .6); }
.kigip-eb-cover__crumbs a:hover { color: #fff; }
.kigip-eb-cover__crumbs em { font-style: normal; color: var(--kigip-green); }
.kigip-eb-cover__squiggle {
  position: absolute;
  right: 8%;
  bottom: 34px;
  width: 90px;
  z-index: 1;
  opacity: .9;
}
.kigip-eb-cover__squiggle svg { width: 100%; height: auto; }

@media (max-width: 991px) {
  .kigip-eb-cover { padding: 64px 0 60px; }
  .kigip-eb-cover__title { font-size: 30px; }
  .kigip-eb-cover__squiggle { display: none; }
}

/* ── Блок «Хто ми» (референс «Про нас») ───────────────────────── */
.kigip-eb-whois { padding: 90px 0; }
.kigip-eb-whois__row { align-items: center; }
.kigip-eb-whois__media { position: relative; padding: 0 0 30px 0; }
.kigip-eb-whois__photo {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 4.2;
  object-fit: cover;
  border-radius: 14px;
}
.kigip-eb-whois__badge {
  position: absolute;
  left: -14px;
  top: 30px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(16, 24, 40, .14);
  max-width: 260px;
}
.kigip-eb-whois__badge > i { font-size: 24px; color: #e2a63c; }
.kigip-eb-whois__badge strong { display: block; font-size: 14px; color: var(--kigip-ink); }
.kigip-eb-whois__badge em {
  display: block;
  margin-top: 3px;
  font-style: normal;
  font-size: 12px;
  letter-spacing: .4px;
  color: var(--kigip-muted);
}
.kigip-eb-whois__stat {
  position: absolute;
  right: 24px;
  bottom: 0;
  padding: 20px 26px;
  border-radius: 14px;
  background: var(--kigip-green);
  color: #fff;
  text-align: center;
}
.kigip-eb-whois__stat strong { display: block; font-size: 34px; font-weight: 800; line-height: 1; color: #fff; }
.kigip-eb-whois__stat span {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: .4px;
  color: rgba(255, 255, 255, .9);
}

.kigip-eb-whois__pre {
  display: inline-block;
  padding: 7px 18px;
  border-radius: 999px;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.kigip-eb-whois__title { margin: 20px 0 0; font-size: 34px; line-height: 1.3; font-weight: 800; }
.kigip-eb-whois__text { margin-top: 26px; }
.kigip-eb-whois__text p { margin: 0 0 16px; font-size: 15px; line-height: 1.8; }
.kigip-eb-whois__list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 14px; }
.kigip-eb-whois__list li { display: flex; align-items: flex-start; gap: 12px; margin: 0; font-size: 15px; line-height: 1.6; }
.kigip-eb-whois__list i {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--kigip-green);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  margin-top: 2px;
}
.kigip-eb-whois__btns { margin-top: 32px; display: flex; gap: 14px; flex-wrap: wrap; }
.kigip-eb-whois__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  padding: 0 30px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  transition: background .25s ease, color .25s ease;
}
.kigip-eb-whois__btn--solid { background: var(--kigip-green); color: #fff; }
.kigip-eb-whois__btn--solid:hover { background: var(--kigip-ink); color: #fff; }
.kigip-eb-whois__btn--ghost { border: 1.5px solid var(--kigip-ink); color: var(--kigip-ink); }
.kigip-eb-whois__btn--ghost:hover { background: var(--kigip-ink); color: #fff; }

@media (max-width: 991px) {
  .kigip-eb-whois { padding: 60px 0; }
  .kigip-eb-whois__title { font-size: 26px; }
  .kigip-eb-whois__media { margin-bottom: 34px; }
  .kigip-eb-whois__badge { left: 0; }
}

/* ── Смуга з цифрами на градієнті (demo, 16d999e) ─────────────── */
/* Градієнт був бірюзовий — прямо з демо EduBlink. На сторінці «Про
   нас» смуга з цифрами світилася чужим кольором поруч із зеленими
   кнопками. Тепер та сама гама, що й у кнопок: #608758 → #4c6f45. */
.kigip-eb-gstats { background-image: linear-gradient(-90deg, #608758 0%, #4c6f45 100%); }
.kigip-eb-gstats__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  min-height: 140px;
  align-items: center;
}
.kigip-eb-gstats__item {
  display: flex;
  align-items: center;
  gap: 18px;
  color: #fff;
}
.kigip-eb-gstats__item .edublink-icon-box-icon {
  flex: 0 0 80px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  color: #fff;
}
.kigip-eb-gstats__item .edublink-icon-box-title {
  margin: 0;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.2;
  color: #fff;
}
.kigip-eb-gstats__item .edublink-icon-box-details {
  margin-top: 2px;
  font-size: 15px;
  line-height: 1.4;
  color: rgba(255, 255, 255, .9);
}

@media (max-width: 991px) {
  .kigip-eb-gstats__row { grid-template-columns: repeat(2, 1fr); gap: 26px; padding: 40px 0; min-height: 0; }
}
@media (max-width: 575px) {
  .kigip-eb-gstats__row { grid-template-columns: 1fr; }
}

/* ── Афіша: фільтр над каталогом ──────────────────────────────── */
.kigip-eb-events { padding: 90px 0 100px; }
.kigip-eb-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 42px;
}
.kigip-eb-filter__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border: 1px solid rgba(16, 24, 40, .1);
  border-radius: 999px;
  background: #fff;
  color: var(--kigip-ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.kigip-eb-filter__btn:hover { border-color: var(--kigip-green); color: var(--kigip-green); }
.kigip-eb-filter__btn.is-active {
  background: var(--kigip-green);
  border-color: var(--kigip-green);
  color: #fff;
}
.kigip-eb-filter__count {
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(16, 24, 40, .07);
  font-size: 12px;
  line-height: 1.3;
}
.kigip-eb-filter__btn.is-active .kigip-eb-filter__count { background: rgba(255, 255, 255, .22); }
.kigip-eb-events__empty {
  margin: 30px 0 0;
  text-align: center;
  font-size: 16px;
  color: var(--kigip-muted);
}
.kigip-eb-events__empty[hidden] { display: none; }

@media (max-width: 767px) {
  .kigip-eb-events { padding: 60px 0 70px; }
  .kigip-eb-filter__btn { padding: 9px 16px; font-size: 14px; }
}

/* ── Кнопка відправлення у формах ─────────────────────────────────
   Fluent Forms малює свою кнопку власними кольорами: бірюзова,
   радіус 7px, текст майже чорний. Поруч із зеленими кнопками теми
   вона виглядала як чужа — ніби форму вставили з іншого сайту.

   Зводимо до .edu-btn: той самий зелений, білий текст, радіус 5px і
   висота 60. Правило одне на всі форми — і на контактах, і в модалці,
   і в CTA, щоб не довелося правити кожну окремо.

   !important тут по ділу: кольори кнопки плагін віддає інлайновим
   <style> зі своєю специфічністю, інакше він переб'є. */
.frm-fluent-form .ff-btn-submit,
.fluentform .ff-btn-submit {
  /* Саме #52764b, а не --edublink-color-primary (#608758): тема красить
     .edu-btn у темніший відтінок, і поруч вони мають збігтися. */
  background: #52764b !important;
  border: none !important;
  border-radius: 5px !important;
  color: #fff !important;
  min-height: 60px;
  padding: 0 30px !important;
  font-family: inherit;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.2;
  letter-spacing: .01em;
  cursor: pointer;
  transition: background .25s ease, box-shadow .25s ease;
}
.frm-fluent-form .ff-btn-submit:hover,
.fluentform .ff-btn-submit:hover,
.frm-fluent-form .ff-btn-submit:focus-visible,
.fluentform .ff-btn-submit:focus-visible {
  background: #44633e !important;
  box-shadow: 0 8px 20px rgba(82, 118, 75, .25);
  outline: none;
}

/* ── Шапка поверх вмісту ──────────────────────────────────────────
   На 4 ступені картка «2,5–3 роки навчання» з банера лягала поверх
   випадайки меню: у картки z-index 3, а в шапки всього 2. Пункти меню
   ставали недоступні — курсор потрапляв у картку.
   Піднімаємо шапку над усім вмістом сторінки: це правило загальне, а
   не про одну картку, тож таке саме накладання більше не з'явиться.
   Модалка (100000) лишається вище — так і треба. */
.site-header { position: relative; z-index: 20; }

/* Приховані фільтром картки.
   Атрибута hidden мало: у браузера [hidden] { display: none } іде з
   найнижчим пріоритетом, а колонка теми ставить display: flex своїм
   класом — і перебиває. Через це фільтр відпрацьовував, картки
   отримували hidden, але лишалися на екрані. */
.kigip-eb-courses > [hidden] { display: none !important; }

/* ── Другий ряд фільтра: тренер і тема ───────────────────────────
   Категорії лишаються пігулками зверху — це головний поділ. Тренер і
   тема нижче й дрібніше: уточнення, а не рівноправний вибір. */
.kigip-eb-filter2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: -28px 0 42px;
}
.kigip-eb-filter2__field { display: inline-flex; }
.kigip-eb-filter2__field select {
  appearance: none;
  -webkit-appearance: none;
  min-width: 190px;
  max-width: 100%;
  padding: 10px 38px 10px 18px;
  border: 1px solid rgba(16, 24, 40, .1);
  border-radius: 999px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23667085' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 15px center;
  color: var(--kigip-ink);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color .2s ease;
}
.kigip-eb-filter2__field select:hover,
.kigip-eb-filter2__field select:focus {
  border-color: var(--kigip-green, #608758);
  outline: none;
}

@media (max-width: 767px) {
  .kigip-eb-filter2 { margin: -20px 0 32px; }
  .kigip-eb-filter2__field,
  .kigip-eb-filter2__field select { width: 100%; }
}

/* ── Модалка з формою заявки ──────────────────────────────────── */
.kigip-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  transition: opacity .25s ease;
}
.kigip-modal[hidden] { display: none; }
.kigip-modal.is-open { opacity: 1; }
.kigip-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(16, 24, 40, .55);
}
.kigip-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 44px 44px 38px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(16, 24, 40, .28);
  transform: translateY(16px);
  transition: transform .25s ease;
}
.kigip-modal.is-open .kigip-modal__dialog { transform: translateY(0); }
.kigip-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--kigip-soft, #eef3ea);
  color: var(--kigip-ink, #181818);
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.kigip-modal__close:hover { background: var(--kigip-green, #1AB69D); color: #fff; }
/* хрестик двома рисками — гліфи в кружку завжди трохи збиті */
.kigip-modal__close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1.5px;
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}
.kigip-modal__close span::after {
  content: '';
  position: absolute;
  inset: 0;
  background: currentColor;
  transform: rotate(90deg);
}
.kigip-modal .kigip-modal__title {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.3;
  color: var(--kigip-ink, #181818);
}
.kigip-modal__text {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--kigip-muted, #808080);
}
/* Поля Fluent Form у вузькому вікні лишаються ~190px — розтягуємо */
.kigip-modal__form .ff-el-form-control,
.kigip-modal__form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.kigip-modal__form textarea,
.kigip-modal__form select { width: 100%; max-width: 100%; }
.kigip-modal__form .ff-el-group { margin-bottom: 16px; }
.kigip-modal__form .ff-btn-submit { width: 100%; }

body.kigip-modal-open { overflow: hidden; }

@media (max-width: 575px) {
  .kigip-modal { padding: 12px; }
  .kigip-modal__dialog { padding: 38px 22px 26px; }
  .kigip-modal .kigip-modal__title { font-size: 20px; }
}

/* ── Сітка icon-box'ів (about-us-1, секція 3ae61d7) ───────────── */
.kigip-eb-boxes {
  position: relative;
  overflow: hidden;
  padding: 100px 0 110px;
  background: #f7f5f2;
}
.kigip-eb-boxes__shape {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.kigip-eb-boxes__shape--1 { left: 100px; top: 120px; width: 186px; }
.kigip-eb-boxes__shape--2 { right: 10px;  top: 95px;  width: 123px; }
/* Коло-обведення праворуч — у демо це віджет animation зі span'ом */
.kigip-eb-boxes__ring {
  position: absolute;
  right: -15px;
  top: -5px;
  z-index: 0;
  width: 475px;
  height: 475px;
  border: .8px solid #e5e5e5;
  border-radius: 50%;
  pointer-events: none;
}
.kigip-eb-boxes > .edublink-container { position: relative; z-index: 2; }
.kigip-eb-boxes__row { margin-top: 10px; }
.kigip-eb-boxes__item {
  height: 100%;
  padding: 60px 50px;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
  text-align: center;
}
.kigip-eb-boxes__row > [class*="edublink-col"] { margin-bottom: 30px; display: flex; }
.kigip-eb-boxes__item .edublink-icon-box-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  font-size: 44px;
}
.kigip-eb-boxes__item--1 .edublink-icon-box-icon { background: rgba(26, 182, 157, .1); color: #1ab69d; }
.kigip-eb-boxes__item--2 .edublink-icon-box-icon { background: rgba(238, 74, 98, .1);  color: #ee4a62; }
.kigip-eb-boxes__item--3 .edublink-icon-box-icon { background: rgba(70, 100, 228, .1); color: #4664e4; }
.kigip-eb-boxes__item .edublink-icon-box-icon.is-emoji { font-size: 38px; line-height: 1; }
.kigip-eb-boxes .edublink-icon-box-title { margin: 30px 0 20px; font-size: 20px; font-weight: 600; line-height: 1.4; }
.kigip-eb-boxes__item .edublink-icon-box-details p { margin: 0; font-size: 15px; line-height: 1.73; color: var(--kigip-muted); }

@media (max-width: 1199px) {
  .kigip-eb-boxes__shape,
  .kigip-eb-boxes__ring { display: none; }
  .kigip-eb-boxes__item { padding: 44px 30px; }
}
@media (max-width: 991px) {
  .kigip-eb-boxes { padding: 64px 0 40px; }
}

/* ── Врізка з медальйоном (референс «Про нас», етика) ─────────── */
.kigip-eb-ethics { padding: 20px 0 90px; }
.kigip-eb-ethics__inner {
  display: flex;
  align-items: center;
  gap: 54px;
  padding: 48px 54px;
  border-radius: 16px;
  background: rgba(26, 182, 157, .06);
}
.kigip-eb-ethics__medal { flex: 0 0 auto; }
.kigip-eb-ethics__circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 176px;
  height: 176px;
  padding: 0 22px;
  border-radius: 50%;
  background: var(--kigip-green);
  color: #fff;
  text-align: center;
}
.kigip-eb-ethics__circle i { font-size: 44px; line-height: 1; }
.kigip-eb-ethics__caption {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.kigip-eb-ethics__body { flex: 1 1 auto; min-width: 0; }
.kigip-eb-ethics__pre {
  display: inline-block;
  margin-bottom: 16px;
  padding: 8px 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--kigip-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.kigip-eb-ethics .kigip-eb-ethics__title {
  margin: 0 0 18px;
  font-size: 34px;
  line-height: 1.28;
  font-weight: 800;
  color: var(--kigip-ink);
}
.kigip-eb-ethics__body p { margin: 0 0 14px; font-size: 15px; line-height: 1.8; }
.kigip-eb-ethics__btn { margin-top: 26px; }

@media (max-width: 991px) {
  .kigip-eb-ethics { padding: 10px 0 64px; }
  .kigip-eb-ethics__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    padding: 34px 26px;
  }
  .kigip-eb-ethics .kigip-eb-ethics__title { font-size: 26px; }
}

/* ── Історія: горизонтальна стрічка (референс «Про нас») ──────── */
.kigip-eb-tl { padding: 70px 0 80px; }
.kigip-eb-tl__car { position: relative; }
.kigip-eb-tl__rail {
  display: flex;
  align-items: stretch;
  gap: 24px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  /* прокрутку анімує JS (плавне сповільнення), рідний smooth вимкнено */
  scroll-behavior: auto;
  padding: 56px 4px 24px;
  margin: 0 -4px;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}
.kigip-eb-tl__rail::-webkit-scrollbar { display: none; }
.kigip-eb-tl__rail.is-dragging { cursor: grabbing; }
/* поки тягнемо — не даємо клікам і виділенню заважати */
.kigip-eb-tl__rail.is-dragging a,
.kigip-eb-tl__rail.is-dragging button { pointer-events: none; }

.kigip-eb-tl__item {
  position: relative;
  flex: 0 0 320px;
  display: flex;
  padding-top: 26px;
}
/* лінія року над карткою */
.kigip-eb-tl__item::before {
  content: '';
  position: absolute;
  left: 0;
  right: -24px;
  top: 0;
  height: 1px;
  background: rgba(26, 182, 157, .35);
}
.kigip-eb-tl__item:last-child::before { right: 0; }
/* Мітка: рік і крапка одна під одною, крапка — рівно по центру року.
   Зсув на власну висоту мінус радіус садить крапку центром на лінію. */
.kigip-eb-tl__mark {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  transform: translateY( calc( -100% + 5.5px ) );
}
.kigip-eb-tl__year {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--kigip-green);
}
.kigip-eb-tl__dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--kigip-green);
  box-shadow: 0 0 0 5px rgba(26, 182, 157, .18);
}

.kigip-eb-tl__card {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 30px rgba(16, 24, 40, .07);
  transition: box-shadow .25s ease, transform .25s ease;
}
.kigip-eb-tl__item:hover .kigip-eb-tl__card {
  box-shadow: 0 14px 46px rgba(16, 24, 40, .12);
}

/* верх картки: фото ліворуч, текст праворуч — текст під фото не перетікає */
.kigip-eb-tl__top {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.kigip-eb-tl__media { flex: 0 0 37%; max-width: 37%; }
.kigip-eb-tl__media img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 6;
  object-fit: cover;
  border-radius: 10px;
}
.kigip-eb-tl__body { flex: 1 1 auto; min-width: 0; }
.kigip-eb-tl__body h3 {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.35;
  color: var(--kigip-ink);
}
.kigip-eb-tl__body p {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--kigip-muted);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  overflow: hidden;
}
.kigip-eb-tl__item.is-open .kigip-eb-tl__body p {
  -webkit-line-clamp: unset;
  overflow: visible;
}

.kigip-eb-tl__foot {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.kigip-eb-tl__tag {
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(26, 182, 157, .1);
  color: #10826f;
  font-size: 12px;
  line-height: 1.45;
}
/* «+» малюємо двома рисками, а не гліфом шрифту:
   гліф сидить на базовій лінії й у кружку завжди трохи збитий убік. */
.kigip-eb-tl__more {
  position: relative;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(26, 182, 157, .35);
  border-radius: 50%;
  background: transparent;
  color: var(--kigip-green);
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .25s ease;
}
.kigip-eb-tl__more::before,
.kigip-eb-tl__more::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
}
.kigip-eb-tl__more::before { width: 11px; height: 1.5px; }
.kigip-eb-tl__more::after  { width: 1.5px; height: 11px; }
.kigip-eb-tl__more:hover { background: var(--kigip-green); border-color: var(--kigip-green); color: #fff; }
.kigip-eb-tl__item.is-open .kigip-eb-tl__more { transform: rotate(45deg); }

.kigip-eb-tl__arrow {
  position: absolute;
  top: 55%;
  z-index: 3;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: var(--kigip-green);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(26, 182, 157, .3);
  transition: background .25s ease, opacity .25s ease;
}
.kigip-eb-tl__arrow:hover { background: var(--kigip-ink); }
.kigip-eb-tl__arrow--prev { left: -60px; }
.kigip-eb-tl__arrow--next { right: -60px; }
.kigip-eb-tl__arrow.is-hidden { opacity: 0; pointer-events: none; }

@media (max-width: 1399px) {
  .kigip-eb-tl__arrow--prev { left: -18px; }
  .kigip-eb-tl__arrow--next { right: -18px; }
}
@media (max-width: 991px) {
  .kigip-eb-tl__item { flex: 0 0 300px; }
}
@media (max-width: 767px) {
  .kigip-eb-tl__item { flex: 0 0 84%; }
  .kigip-eb-tl__media { flex-basis: 40%; max-width: 40%; }
}
/* На телефоні картка завширшки ~290px: за вирахуванням полів і фото на
   текст лишалось 136px — стовпчик у три слова з обрізаним описом.
   Складаємо в один стовпець, фото робимо ширшим і нижчим. */
@media (max-width: 575px) {
  .kigip-eb-tl__top { flex-direction: column; gap: 12px; }
  .kigip-eb-tl__media { flex-basis: auto; max-width: none; width: 100%; }
  .kigip-eb-tl__media img { aspect-ratio: 16 / 9; }
  .kigip-eb-tl__body p { -webkit-line-clamp: 5; }
}
@media (prefers-reduced-motion: reduce) {
  .kigip-eb-tl__card,
  .kigip-eb-tl__more { transition: none; }
}


/* ─────────────────────────────────────────────
   ТРЕНЕРИ: список і персональна сторінка
   Референс: demo.edublink.co/instructor-1 та /instructor-details
   ───────────────────────────────────────────── */

/* Пагінація списку */
.kigip-eb-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 46px;
}
.kigip-eb-pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid #eaecef;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--kigip-ink);
  background: #fff;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.kigip-eb-pager .page-numbers:hover,
.kigip-eb-pager .page-numbers.current {
  background: var(--kigip-green);
  border-color: var(--kigip-green);
  color: #fff;
}
.kigip-eb-pager .page-numbers.dots {
  border-color: transparent;
  background: transparent;
}

.kigip-eb-empty {
  text-align: center;
  color: var(--kigip-muted);
  padding: 40px 0;
}

/* Персональна сторінка */
.kigip-eb-trainer__row {
  align-items: flex-start;
  row-gap: 32px;
}

.kigip-eb-trainer__photo {
  position: relative;
  width: 100%;
  max-width: 310px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  background: #eef1f0;
}
.kigip-eb-trainer__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.kigip-eb-trainer__initials {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
  font-weight: 700;
  color: var(--kigip-green);
}

.kigip-eb-trainer__socials {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.kigip-eb-trainer__socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #eaecef;
  border-radius: 50%;
  color: var(--kigip-muted);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.kigip-eb-trainer__socials a:hover {
  background: var(--kigip-green);
  border-color: var(--kigip-green);
  color: #fff;
}

.kigip-eb-trainer__pre {
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--kigip-green);
  margin-bottom: 10px;
}
.kigip-eb-trainer__name {
  margin: 0 0 8px;
  font-size: 38px;
  line-height: 1.2;
  color: var(--kigip-ink);
}
.kigip-eb-trainer__role {
  margin: 0 0 22px;
  font-size: 17px;
  color: var(--kigip-muted);
}

.kigip-eb-trainer__regalia {
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.kigip-eb-trainer__regalia li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  color: var(--kigip-ink);
}
.kigip-eb-trainer__regalia i {
  color: var(--kigip-green);
  font-size: 18px;
  line-height: 1.5;
}

.kigip-eb-trainer__bio {
  font-size: 16px;
  line-height: 1.8;
  color: var(--kigip-muted);
}
.kigip-eb-trainer__bio p { margin: 0 0 16px; }
.kigip-eb-trainer__bio p:last-child { margin-bottom: 0; }

/* Біо приїхало з Wix, де кожен рядок — окремий абзац. Зайві переноси
   зшиває імпорт, а тут даємо заголовкам усередині тексту нормальний
   ритм: у розповідях про себе трапляються «Професійна діяльність»,
   «Освіта», «З чим працюю». */
.kigip-eb-trainer__bio h2,
.kigip-eb-trainer__bio h3,
.kigip-eb-trainer__bio h4,
.kigip-eb-trainer__bio h5 {
  color: var(--kigip-ink, #192335);
  font-size: 19px;
  line-height: 1.4;
  margin: 28px 0 12px;
}

.kigip-eb-trainer__bio > :first-child {
  margin-top: 0;
}

.kigip-eb-trainer__bio ul,
.kigip-eb-trainer__bio ol {
  margin: 0 0 16px;
  padding-left: 1.3em;
}

.kigip-eb-trainer__bio li {
  margin-bottom: 6px;
}

.kigip-eb-trainer__bio img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  margin: 20px 0;
}

.kigip-eb-trainer__contacts {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid #eef0f2;
}
.kigip-eb-trainer__contacts h3 {
  margin: 0 0 14px;
  font-size: 22px;
  color: var(--kigip-ink);
}
.kigip-eb-trainer__contacts p {
  margin: 0 0 8px;
  font-size: 15px;
  color: var(--kigip-muted);
}
.kigip-eb-trainer__contacts strong { color: var(--kigip-ink); }
.kigip-eb-trainer__contacts a { color: var(--kigip-muted); }
.kigip-eb-trainer__contacts a:hover { color: var(--kigip-green); }

/* На телефоні фото менше, а колонки й так стають одна під одною
   стандартною сіткою теми. */
@media (max-width: 767px) {
  .kigip-eb-trainer__photo { max-width: 220px; }
  .kigip-eb-trainer__name { font-size: 30px; }
  .kigip-eb-pager .page-numbers { min-width: 40px; height: 40px; padding: 0 10px; }
}

/* Клікабельна картка в сітці тренерів */
.kigip-eb-team__item--linked .title a { color: inherit; }
.kigip-eb-team__item--linked .title a:hover { color: var(--kigip-green); }
.kigip-eb-team__item--linked .thumbnail a { display: block; }


/* ─────────────────────────────────────────────
   ПІДВЕРСТКА ГОЛОВНОЇ
   ───────────────────────────────────────────── */

/* ── Стрілка в кнопці витягується при наведенні ──
   Гліф icon-4 лишається на місці, а перед ним відростає лінія —
   так стрілка «тягнеться», а не просто зсувається. Робимо на ::before
   самої іконки, щоб не чіпати розмітку кнопок по всьому сайту. */
/* ── Стрілка, що витягується ──
   Гліф шрифту тут не використовуємо взагалі: малюємо стрілку самі —
   держак смужкою, вістря куточком із двох бордерів. Обидві частини
   мають одну товщину (1.6px) за побудовою, тож вони не можуть
   розʼїхатися — саме цим і була погана перша спроба з волоском поверх
   гліфа: товщину штриха іконкового шрифту підігнати неможливо.

   Ширина коробки фіксована (24px), тому при наведенні росте сама
   стрілка, а не кнопка: раніше анімація padding розсовувала кнопку,
   і здавалось, що збільшується вона, а стрілка лишається такою ж. */
a.edu-btn i.icon-4,
button.edu-btn i.icon-4,
.kigip-students__label i.icon-4 {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 10px;
  margin-left: 9px;
  padding-left: 0;
  font-size: 0;          /* глушимо гліф шрифту */
}
/* держак */
a.edu-btn i.icon-4::before,
button.edu-btn i.icon-4::before,
.kigip-students__label i.icon-4::before {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  height: 1.6px;
  width: 9px;
  background: currentColor;
  transform: translateY(-50%);
  transition: width .3s cubic-bezier(.4, 0, .2, 1);
}
/* вістря */
a.edu-btn i.icon-4::after,
button.edu-btn i.icon-4::after,
.kigip-students__label i.icon-4::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 1.6px solid currentColor;
  border-top: 1.6px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
a.edu-btn:hover i.icon-4::before,
button.edu-btn:hover i.icon-4::before,
.kigip-students__inner:hover .kigip-students__label i.icon-4::before,
.kigip-students__label:hover i.icon-4::before {
  width: 20px;
}

/* ── Відступи між секціями ──
   Було 100px зверху й знизу — на довгій головній це давало забагато
   повітря між блоками. */
.kigip-eb-section { padding: 76px 0; }
.kigip-eb-section--tight { padding: 46px 0; }
.kigip-eb-band + .kigip-eb-section { padding-top: 56px; }

/* ── Найближчі старти: без рамки навколо таблиці ──
   Зовнішній бордер читався як зайві смуги над шапкою і під останнім
   рядком. Лишаємо білу картку з тінню й розділювачі рядків. */
.kigip-starts__wrap {
  border: 0;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .06);
}

/* ── Кнопки в дорожній карті — у стилі шаблона ──
   Були власні пігулки з довільним зеленим; приводимо до .edu-btn:
   та сама висота, радіус і заливка, тільки компактніші. */
.kigip-roadmap__btn {
  display: inline-block;
  height: 44px;
  line-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 5px;
  background: var(--edublink-color-primary, #1ab69d);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--edublink-font-secondary);
  transition: .4s;
}
.kigip-roadmap__btn:hover {
  background: var(--edublink-color-primary-alt, #31b978);
  color: #fff;
  border-radius: 5px 25px;
}

/* ── Відгуки: однакові рівні в усіх картках ──
   Опис у відгуках різної довжини, через це зірки й підпис «плавали».
   Робимо картку колонкою і притискаємо рейтинг з автором до низу. */
.kigip-eb-testimonials .eb-testimonial-item { display: flex; }
.kigip-eb-testimonials .eb-testimonial-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.kigip-eb-testimonials .eb-testimonial-grid .content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.kigip-eb-testimonials .eb-testimonial-grid .description { margin-bottom: 18px; }
.kigip-eb-testimonials .eb-testimonial-grid .rating-icon { margin-top: auto; }

/* Іконка band може бути векторною (як у демо), картинкою або гліфом.
   Вектору потрібні саме розміри: контейнер задає font-size, а для svg
   це ніщо — без ширини іконка схлопувалась у нуль. */
.kigip-eb-band__item .edublink-icon-box-icon img,
.kigip-eb-band__item .edublink-icon-box-icon svg {
  width: 46px;
  height: 46px;
  object-fit: contain;
  display: block;
  flex: 0 0 auto;
}

/* ── SEO-текст перед відгуками ── */
.kigip-eb-seo { background: #f7f9f9; }
.kigip-eb-seo__body {
  max-width: 860px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.85;
  color: var(--kigip-muted);
}
.kigip-eb-seo__body p { margin: 0 0 18px; }
.kigip-eb-seo__body p:last-child { margin-bottom: 0; }
.kigip-eb-seo__body h3 {
  margin: 28px 0 12px;
  font-size: 22px;
  line-height: 1.35;
  color: var(--kigip-ink);
}
.kigip-eb-seo__body ul,
.kigip-eb-seo__body ol { margin: 0 0 18px; padding-left: 22px; }
.kigip-eb-seo__body li { margin-bottom: 8px; }
.kigip-eb-seo__body a { color: var(--kigip-green); text-decoration: underline; }

/* Згортання: ховаємо надлишок висотою, а не display:none —
   текст лишається в потоці й доступний пошуковим системам і читалкам. */
.kigip-eb-seo__body--clamped {
  max-height: 260px;
  overflow: hidden;
  position: relative;
}
.kigip-eb-seo__body--clamped::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 90px;
  background: linear-gradient(to bottom, rgba(247, 249, 249, 0), #f7f9f9);
  pointer-events: none;
}
.kigip-eb-seo__body.is-open { max-height: none; }
.kigip-eb-seo__body.is-open::after { display: none; }

.kigip-eb-seo__toggle-row { text-align: center; margin-top: 22px; }
.kigip-eb-seo__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 22px;
  border: 1px solid var(--kigip-line);
  border-radius: 5px;
  background: #fff;
  color: var(--kigip-ink);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: .3s;
}
.kigip-eb-seo__toggle:hover {
  background: var(--edublink-color-primary, #1ab69d);
  border-color: var(--edublink-color-primary, #1ab69d);
  color: #fff;
}
.kigip-eb-seo__toggle i {
  font-size: 11px;
  transition: transform .3s ease;
}
.kigip-eb-seo__toggle[aria-expanded="true"] i { transform: rotate(-90deg); }

@media (max-width: 767px) {
  .kigip-eb-seo__body--clamped { max-height: 220px; }
}

/* ── Підпис над стрічкою історії ──
   Стиль однаковий із «Хто ми»: пігулка + великий заголовок. Секція
   йде одразу після градієнтної смуги з цифрами, тому потрібен помітний
   відступ зверху — інакше заголовок злипається з нею. */
.kigip-eb-tl-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
  padding: 90px 0 10px;
}
.kigip-eb-tl-head .kigip-eb-whois__title {
  margin-top: 18px;
}
.kigip-eb-tl-head__desc {
  margin: 18px 0 0;
  font-size: 16px;
  line-height: 1.75;
  color: var(--kigip-muted);
}

@media (max-width: 767px) {
  .kigip-eb-tl-head { padding-top: 56px; }
  .kigip-eb-tl-head .kigip-eb-whois__title { font-size: 26px; }
}


/* ─────────────────────────────────────────────
   2 СТУПІНЬ — підверстка
   ───────────────────────────────────────────── */

/* ── Модулі: колонки однакової висоти ──
   Список модулів довший за ліву колонку, тому саме він має підлаштуватись,
   а не картка — розтягувати картку до 1700px виглядало б безглуздо.
   Виймаємо список із потоку: тоді висоту рядка задає ліва колонка,
   а список заповнює її та гортається всередині.

   Колонки флексом НЕ робимо: у флекс-колонці діти розтягуються по
   горизонталі, і пігулка «20 модулів» з радіусом 999px перетворювалась
   на величезну пляму на всю ширину. */
.kigip-eb-modules__row > [class*="edublink-col"]:last-child { position: relative; }
.kigip-eb-modules__list {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;   /* поля колонки теми */
  right: 15px;
  max-height: none;
  overflow-y: auto;

  /* Однакова висота колонок ще не означає рівний низ: там, де модулів
     мало (3 ступінь — дев'ять), список закінчувався на 85px вище за
     картку. Розподіляємо залишок між пунктами, і низ сходиться.
     Там, де модулів багато (2 ступінь — двадцять), вільного місця
     немає, space-between нічого не робить, і список просто гортається. */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
/* Без цього при переповненні флекс стиснув би пункти. */
.kigip-eb-modules__item { flex: 0 0 auto; }

/* ── Акредитації: панель урівень із плашками ──
   Панель починалась від верху колонки, а плашки — нижче заголовка
   з описом, звідси розбіжність у 244px. Висоти в них майже однакові,
   тож панель треба просто опустити, а не тягнути: притискаємо її
   до низу рядка, і верхні краї сходяться.

   flex: 0 0 auto обовʼязково — інакше панель росте на всю колонку. */
.kigip-eb-accred__row > [class*="edublink-col"]:last-child {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
/* Специфічність тут не випадкова. Вище в цьому ж файлі є глобальне
   правило `.kigip-eb .edublink-row > [class*="edublink-col"] > *`
   з flex: 1 1 auto — воно робить дітей будь-якої колонки тягучими.
   Одиночний клас панелі йому програвав, і вона все одно розтягувалась
   на всю висоту. Повторюємо той самий шлях селектора, щоб виграти. */
.kigip-eb .edublink-row > [class*="edublink-col"] > .kigip-eb-accred__panel { flex: 0 0 auto; }

/* Те саме глобальне правило розтягувало пігулки надзаголовків на всю
   ширину колонки: у флекс-колонці діти тягнуться по горизонталі, а з
   радіусом 999px це перетворювало підпис на величезну пляму. */
.kigip-eb-modules__pre,
.kigip-eb-accred__pre,
.kigip-eb-whois__pre { align-self: flex-start; }

@media (max-width: 991px) {
  /* Одна колонка під одною — вирівнювання тут ні до чого. */
  .kigip-eb-modules__row > [class*="edublink-col"]:last-child { position: static; }
  .kigip-eb-modules__list {
    position: static;
    max-height: none;
    overflow: visible;
    margin-top: 34px;
  }
  .kigip-eb-accred__row > [class*="edublink-col"]:last-child { display: block; }
}

/* ── Приховані секції ──
   Ховаємо, але не видаляємо: розмітка, поля й контент лишаються на
   місці, тож повернути секцію — це прибрати відповідний рядок.

   kigip-eb-ctasplit  — 2 ступінь
   kigip-eb-ctasimple — 3 ступінь */
.kigip-eb-ctasplit,
.kigip-eb-ctasimple { display: none; }


/* ─────────────────────────────────────────────
   СТОРІНКА ВІДГУКІВ
   ───────────────────────────────────────────── */

.kigip-reviews__grid { row-gap: 30px; }

.kigip-review {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 30px 26px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .06);
  transition: box-shadow .25s ease, transform .25s ease;
}
.kigip-review--clickable { cursor: pointer; }
.kigip-review--clickable:hover,
.kigip-review--clickable:focus-visible {
  box-shadow: 0 18px 46px rgba(16, 24, 40, .12);
  transform: translateY(-3px);
  outline: none;
}

.kigip-review__ava {
  position: relative;
  width: 66px;
  height: 66px;
  margin-bottom: 22px;
}
.kigip-review__ava img {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.kigip-review__ava > span:not(.kigip-review__quote) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: var(--kigip-soft);
  color: var(--kigip-green);
  font-weight: 700;
  font-size: 22px;
}
.kigip-review__quote {
  position: absolute;
  right: -6px;
  bottom: -2px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--kigip-green);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

.kigip-review__text {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.75;
  color: var(--kigip-muted);
}
/* Зірки й підпис притиснуті донизу — інакше в картках з різною
   довжиною тексту вони стоять на різній висоті. */
.kigip-review__stars { margin-top: auto; color: #f8b81f; letter-spacing: 1px; line-height: 1; }
.kigip-review__stars i { font-size: 14px; }
.kigip-review__name { margin: 12px 0 2px; font-size: 17px; color: var(--kigip-ink); }
.kigip-review__role { font-size: 13px; color: var(--kigip-muted); }
.kigip-review__more {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--kigip-green);
}
.kigip-review__more i { margin-left: 6px; font-size: 11px; }

/* ── Вікно з повним текстом ── */
.kigip-review-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.kigip-review-modal[hidden] { display: none; }
.kigip-review-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(16, 24, 40, .72);
}
.kigip-review-modal__box {
  position: relative;
  width: min(720px, 100%);
  max-height: 86vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 16px;
  padding: 38px 36px;
  box-shadow: 0 30px 80px rgba(16, 24, 40, .3);
  animation: kigip-rev-in .2s ease;
}
@keyframes kigip-rev-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}
/* Хрестик малюємо самі, а не символом «×».
   Чорнило цього гліфа лежить на 0.32em вище базової лінії — заміряно
   на полотні: при кеглі 100 px воно займає 103–133 px при базовій на
   150. Тому скільки не centруй бокс, видимий хрестик сидить зависоко,
   як і виходило. Дві риски від центра кнопки такої хиби не мають.
   Підпис для читалок лишається в aria-label. */
.kigip-review-modal__close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f3f5f6;
  color: var(--kigip-ink);
  font-size: 0;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.kigip-review-modal__close::before,
.kigip-review-modal__close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 1.8px;
  border-radius: 1px;
  background: currentColor;
}

.kigip-review-modal__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.kigip-review-modal__close::after  { transform: translate(-50%, -50%) rotate(-45deg); }
.kigip-review-modal__close:hover { background: var(--kigip-green); color: #fff; }

.kigip-review-full__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid #eef0f2;
}
.kigip-review-full__head h4 { margin: 0 0 2px; font-size: 20px; color: var(--kigip-ink); }
.kigip-review-full__head > div > span { font-size: 13px; color: var(--kigip-muted); }
.kigip-review-full__head .kigip-review__stars { margin-top: 6px; }
.kigip-review-full__head .kigip-review__ava { margin-bottom: 0; flex: 0 0 auto; }

.kigip-review-full__text p {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.85;
  color: var(--kigip-muted);
}
.kigip-review-full__text p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
  .kigip-review-modal__box { padding: 30px 22px; max-height: 90vh; }
  .kigip-review-full__head { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* Хвиля під заголовком у теми — inline-block, тож коли H2 немає, вона
   опинялась збоку від дрібного надзаголовка й читалась як помарка.
   Якщо йде одразу за надзаголовком — ставимо її окремим рядком. */
.kigip-eb-heading .pre-heading + .title-shape {
  display: block;
  margin-top: 12px;
}

/* ══════════════════════════════════════════════════════════════════════
   Текстові сторінки з Wix
   ══════════════════════════════════════════════════════════════════════
   Сімдесят сторінок приїхали без верстки: кожен рядок окремим абзацом,
   між рядками однієї фрази — 30 px, кегль 15 px, картинки на всю ширину
   контейнера. «Конференція 2025» виходила 38 000 px заввишки.

   Абзаци зшиває PHP (inc/kigip-textpage.php), а тут даємо їм ширину
   рядка, за якою текст можна читати, і приборкуємо картинки. */

.kigip-textpage .site-content-inner {
  padding-top: 60px;
  padding-bottom: 80px;
}

/* Міра рядка. 760 px при кеглі 18 px — приблизно 75 знаків, класичний
   орієнтир для суцільного тексту. Картинкам дозволяємо ширше. */
.kigip-textpage .entry-content > * {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.kigip-textpage .entry-content > figure,
.kigip-textpage .entry-content > .kigip-textpage__scroll {
  max-width: 920px;
}

.kigip-textpage .entry-content p {
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 1.35em;
  color: var(--color-body, #6d6d6d);
}

.kigip-textpage .entry-content p:last-child {
  margin-bottom: 0;
}

/* ── Заголовки ─────────────────────────────────────────────────────── */
.kigip-textpage .entry-content h2,
.kigip-textpage .entry-content h3,
.kigip-textpage .entry-content h4,
.kigip-textpage .entry-content h5 {
  color: var(--color-heading, #192335);
  margin-top: 1.6em;
  margin-bottom: .6em;
}

.kigip-textpage .entry-content > :first-child {
  margin-top: 0;
}

.kigip-textpage .entry-content h2 { font-size: 32px; line-height: 1.3; }
.kigip-textpage .entry-content h3 { font-size: 24px; line-height: 1.35; }
.kigip-textpage .entry-content h4 { font-size: 20px; line-height: 1.4; }
.kigip-textpage .entry-content h5 { font-size: 17px; line-height: 1.45; }

/* ── Списки ────────────────────────────────────────────────────────── */
.kigip-textpage .entry-content ul,
.kigip-textpage .entry-content ol {
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 1.35em;
  padding-left: 1.4em;
}

.kigip-textpage .entry-content li {
  margin-bottom: .5em;
}

.kigip-textpage .entry-content ul > li::marker {
  color: var(--color-primary, #1ab69d);
}

/* ── Картинки ──────────────────────────────────────────────────────── */
.kigip-textpage .entry-content figure {
  margin: 2.4em auto;
  text-align: center;
}

.kigip-textpage .entry-content figure img {
  max-width: 100%;
  /* Стеля висоти: інакше портрет на 920 px завширшки виростає на
     півтори тисячі пікселів і сторінка конференції розтягується на
     тридцять вісім тисяч. Пропорції не чіпаємо — тільки масштаб. */
  max-height: 70vh;
  width: auto;
  height: auto;
  border-radius: 10px;
}

.kigip-textpage .entry-content figcaption {
  font-size: 15px;
  color: var(--color-body, #6d6d6d);
  margin-top: 12px;
}

/* ── Посилання ─────────────────────────────────────────────────────── */
.kigip-textpage .entry-content a:not(.edu-btn) {
  color: var(--color-primary, #1ab69d);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kigip-textpage .entry-content a:not(.edu-btn):hover {
  color: var(--color-secondary, #ee4a62);
}

/* ── Таблиці ───────────────────────────────────────────────────────── */
/* На телефоні широку таблицю гортаємо вбік — інакше вона розпирає
   сторінку й з'їжджає вся верстка. */
.kigip-textpage__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1.6em;
}

.kigip-textpage__scroll table {
  min-width: 520px;
}

/* ── Відео ─────────────────────────────────────────────────────────── */
.kigip-textpage .entry-content iframe {
  max-width: 100%;
  border-radius: 10px;
}

/* ── Телефон ───────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .kigip-textpage .site-content-inner {
    padding-top: 40px;
    padding-bottom: 56px;
  }

  .kigip-textpage .entry-content p,
  .kigip-textpage .entry-content ul,
  .kigip-textpage .entry-content ol {
    font-size: 16px;
    line-height: 1.7;
  }

  .kigip-textpage .entry-content h2 { font-size: 25px; }
  .kigip-textpage .entry-content h3 { font-size: 21px; }
  .kigip-textpage .entry-content h4 { font-size: 18px; }

  .kigip-textpage .entry-content figure {
    margin: 1.8em auto;
  }
}

/* ── Сітка однотипних карток ───────────────────────────────────────── */
/* Переліки людей Wix розкладав у сітку абсолютним позиціюванням, і
   експорт зім'яв їх у стовпчик: вісімнадцять супервізорів, двадцять сім
   терапевтів, сімнадцять спікерів конференції — усі один під одним.
   Розмітку сітки збирає PHP, тут лише розкладка. */
.kigip-textpage .entry-content .kigip-textpage__cards {
  max-width: 920px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px 30px;
  margin: 2.4em auto;
}

.kigip-textpage__card {
  text-align: center;
}

.kigip-textpage .entry-content .kigip-textpage__card > * {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.kigip-textpage .entry-content .kigip-textpage__card figure {
  margin: 0 0 16px;
}

/* Портрети різного розміру й пропорцій — зводимо до одного квадрата,
   інакше картки стрибають по висоті. */
.kigip-textpage .entry-content .kigip-textpage__card figure img {
  width: 100%;
  max-height: none;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 10px;
}

.kigip-textpage .entry-content .kigip-textpage__card h2,
.kigip-textpage .entry-content .kigip-textpage__card h3,
.kigip-textpage .entry-content .kigip-textpage__card h4,
.kigip-textpage .entry-content .kigip-textpage__card h5,
.kigip-textpage .entry-content .kigip-textpage__card h6 {
  font-size: 18px;
  line-height: 1.4;
  margin: 0 0 4px;
}

.kigip-textpage .entry-content .kigip-textpage__card p {
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 3px;
}

@media (max-width: 767px) {
  .kigip-textpage .entry-content .kigip-textpage__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 18px;
  }

  .kigip-textpage .entry-content .kigip-textpage__card h2,
  .kigip-textpage .entry-content .kigip-textpage__card h3,
  .kigip-textpage .entry-content .kigip-textpage__card h4,
  .kigip-textpage .entry-content .kigip-textpage__card h5 {
    font-size: 16px;
  }

  .kigip-textpage .entry-content .kigip-textpage__card p {
    font-size: 14px;
  }
}

/* Картка-посилання. Ім'я тримаємо темним, як у сусідніх карток без
   посилання: колір лишаємо на наведення, щоб перелік не рябів. Колір
   прописаний прямо, а не успадкований, — інакше наступне оновлення
   теми легко перефарбує заголовки всередині <a>. */
.kigip-textpage__card-link {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
}

.kigip-textpage .entry-content .kigip-textpage__card-link h2,
.kigip-textpage .entry-content .kigip-textpage__card-link h3,
.kigip-textpage .entry-content .kigip-textpage__card-link h4,
.kigip-textpage .entry-content .kigip-textpage__card-link h5,
.kigip-textpage .entry-content .kigip-textpage__card-link h6 {
  color: var(--color-heading, #192335);
  transition: color .25s ease;
}

.kigip-textpage__card-link img {
  transition: transform .35s ease;
}

.kigip-textpage__card-link:hover img {
  transform: scale(1.04);
}

.kigip-textpage .entry-content .kigip-textpage__card-link:hover h3,
.kigip-textpage .entry-content .kigip-textpage__card-link:hover h4,
.kigip-textpage .entry-content .kigip-textpage__card-link:hover h5,
.kigip-textpage .entry-content .kigip-textpage__card-link:hover h6 {
  color: var(--color-primary, #1ab69d);
}

/* Обрізаємо збільшення портрета по краю картки. */
.kigip-textpage .entry-content .kigip-textpage__card figure {
  overflow: hidden;
  border-radius: 10px;
}

/* ── Відгуки на головній: картка веде у вікно ──────────────────────── */
/* Повний відгук у картку не влазить — найдовші тут на 1100 знаків, і
   секція витягувалась на 2485 px проти 500–880 у сусідніх. Показуємо
   початок, решту відкриваємо у вікні, як на сторінці відгуків. */
.kigip-eb-testimonials__item--clickable {
  cursor: pointer;
  transition: transform .3s ease, box-shadow .3s ease;
}

.kigip-eb-testimonials__item--clickable:hover,
.kigip-eb-testimonials__item--clickable:focus-visible {
  transform: translateY(-3px);
  outline: none;
}

.kigip-eb-testimonials__item--clickable:hover .eb-testimonial-grid,
.kigip-eb-testimonials__item--clickable:focus-visible .eb-testimonial-grid {
  box-shadow: 0 18px 46px rgba(16, 24, 40, .12);
}

.kigip-eb-testimonials__more {
  display: inline-block;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 600;
  color: var(--kigip-green);
}

.kigip-eb-testimonials__more i {
  margin-left: 6px;
  font-size: 11px;
}

/* Картки в один зріст. Обрізання за словами не рятує: у відгуків різна
   довжина слів, а посади розтягуються на чотири рядки — «Випускниця
   Київського Інституту Гештальту і Психодрами, Практикуючий
   психотерапевт, дитячий психолог, авторка групових програм». Тому
   ріжемо ще й по рядках: текст — три, посада — два. */
.kigip-eb-testimonials .eb-testimonial-grid .description {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.kigip-eb-testimonials .eb-testimonial-grid .subtitle {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Панель із картками не розтягуємо.
   Глобальне правило вище робить колонки flex-стовпчиком і дає дітям
   flex: 1 1 auto — та сама пастка, що колись розпирала блок акредитації
   на 2 ступені. Тут вона тягнула панель по висоті рядка, а grid
   усередині слухняно розганяв доріжки. Знімаємо ріст — доріжки сідають
   на висоту карток. */
.kigip-eb .edublink-row > [class*="edublink-col"] > .kigip-eb-testimonials__panel {
  flex: 0 0 auto;
}

/* ══════════════════════════════════════════════════════════════════════
   Відеовідгук — перший блок сторінки «Відгуки»
   ══════════════════════════════════════════════════════════════════════
   За референсом: розділена картка, ліворуч кадр із відео, праворуч
   цитата на темному. Палітру беремо свою — зелений теми замість
   пісочної гами макета, і радіус 10 px, як у решти блоків сайту. */

/* Дві великі панелі — відеовідгук і AI — стоять на одній подачі:
   глибоке зелене тло замість майже чорного, великий радіус і великий
   кегль виноски.

   Антиква з референсу тут не стоїть: на цій сторінці правило
   font-family для абзаців не перебивається нічим, крім !important,
   а звідки саме йде гротеск — я не знайшов. Ставити !important
   наосліп у проєкті без дочірньої теми не варто. */
.kigip-eb-vrev,
.kigip-eb-ai {
  --kigip-panel: #1b2a27;
  --kigip-panel-soft: rgba(255, 255, 255, .72);
  --kigip-panel-faint: rgba(255, 255, 255, .5);
}

.kigip-eb-vrev-sec { padding-bottom: 0; }

.kigip-eb-vrev {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  border-radius: 28px;
  overflow: hidden;
  background: var(--kigip-panel);
}

/* ── Кадр із відео ── */
.kigip-eb-vrev__media {
  position: relative;
  min-height: 560px;
  background: #2a2a2a center/cover no-repeat;
}

/* Легке затемнення: кнопка відтворення має читатися на будь-якому кадрі. */
.kigip-eb-vrev__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .3));
}

.kigip-eb-vrev__label {
  position: absolute;
  z-index: 2;
  left: 26px;
  top: 26px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 15px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: var(--kigip-ink, #181818);
  font-size: 13px;
  line-height: 1;
}

.kigip-eb-vrev__label b {
  font-weight: 600;
  color: var(--kigip-green);
}

/* Тема ставить цій кнопці right: 0 і bottom: 0. Разом із моїми
   left/top блок ставав переозначеним, і margin: auto центрував його
   в тому, що лишилось, — кнопка їхала праворуч і вниз рівно на
   112 px. Тому центруємо так, як чекає тема: inset + auto-поля. */
.kigip-eb-vrev__play {
  position: absolute;
  z-index: 2;
  inset: 0;
  margin: auto;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: #fff;
  color: var(--kigip-green);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 44px rgba(0, 0, 0, .28);
  transition: transform .3s ease, background .3s ease, color .3s ease;
}

/* Трикутник у своєму viewBox уже зміщений праворуч від геометричного
   центра (x 8…19 при центрі 12) — це і є оптична поправка. Додаткових
   відступів не треба, інакше він поїде. */
.kigip-eb-vrev__play svg { display: block; }

.kigip-eb-vrev__play:hover,
.kigip-eb-vrev__play:focus-visible {
  transform: scale(1.07);
  background: var(--kigip-green);
  color: #fff;
  outline: none;
}

/* ── Права колонка ── */
.kigip-eb-vrev__copy {
  padding: 58px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 34px;
  color: #fff;
}

.kigip-eb-vrev__quote { margin: 0; }

.kigip-eb-vrev__mark {
  display: block;
  margin-bottom: 14px;
  /* Лапка — тиха підказка, а не окремий знак: у референсі вона майже
     зливається з тлом. Зелена іконка тягнула на себе всю увагу. */
  color: rgba(255, 255, 255, .28);
  font-size: 46px;
  line-height: 1;
}

.kigip-eb-vrev__quote p {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(25px, 2.5vw, 38px);
  line-height: 1.22;
  letter-spacing: -.02em;
}

.kigip-eb-vrev__quote p:last-child { margin-bottom: 0; }

.kigip-eb-vrev__tag {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .6);
}

.kigip-eb-vrev__person {
  display: flex;
  align-items: center;
  gap: 14px;
}

.kigip-eb-vrev__ava {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, .3);
}

.kigip-eb-vrev__ava--text {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 17px;
  font-weight: 600;
}

.kigip-eb-vrev__person strong {
  display: block;
  color: #fff;
  font-size: 16px;
}

.kigip-eb-vrev__person span {
  font-size: 13px;
  color: rgba(255, 255, 255, .65);
}

@media (max-width: 991px) {
  .kigip-eb-vrev { grid-template-columns: 1fr; border-radius: 22px; }
  .kigip-eb-vrev__media { min-height: 380px; }
  .kigip-eb-vrev__copy { padding: 36px; }
  .kigip-eb-vrev__play { width: 68px; height: 68px; }
}

@media (max-width: 575px) {
  .kigip-eb-vrev { border-radius: 18px; }
  .kigip-eb-vrev__media { min-height: 280px; }
  .kigip-eb-vrev__copy { padding: 26px; }
}

/* ══════════════════════════════════════════════════════════════════════
   «Нас рекомендує AI» — останній блок сторінки «Відгуки»
   ══════════════════════════════════════════════════════════════════════ */

.kigip-eb-ai {
  display: grid;
  /* Замір: при .85/1.15 шість запитів із дев'яти лізли у два рядки,
     і права колонка виходила 570 px проти 332 ліворуч. При .6/1.4
     переносів немає зовсім, а колонки — 418 і 487. */
  grid-template-columns: .6fr 1.4fr;
  gap: 64px;
  align-items: start;
  padding: 64px;
  border-radius: 28px;
  background: var(--kigip-panel);
  color: #fff;
}

.kigip-eb-ai__pre {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .68);
}

/* Крапка з ореолом — єдиний натяк на «живий» стан у блоці. */
.kigip-eb-ai__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--kigip-green);
  box-shadow: 0 0 0 6px rgba(96, 135, 88, .22);
}

.kigip-eb-ai__title {
  margin: 26px 0 22px;
  color: #fff;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.04;
  letter-spacing: -.03em;
}

.kigip-eb-ai__accent { color: var(--kigip-green); }

.kigip-eb-ai__text {
  margin: 0;
  color: var(--kigip-panel-soft);
  font-size: 16px;
  line-height: 1.75;
}

/* ── Запити ── */
/* По два в ряд. Одним рядком на запит права колонка витягувалась
   удвічі вище за ліву, і панель перекошувало. */
.kigip-eb-ai__queries {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kigip-eb-ai__queries li {
  padding: 13px 20px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  color: rgba(255, 255, 255, .94);
  font-size: 15px;
  line-height: 1.3;
  transition: border-color .25s ease, background .25s ease;
}

.kigip-eb-ai__queries li:hover {
  border-color: var(--kigip-green);
  background: rgba(96, 135, 88, .16);
}

.kigip-eb-ai__note {
  margin: 30px 0 0;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  color: var(--kigip-panel-faint);
  font-size: 14px;
  line-height: 1.7;
}

@media (max-width: 991px) {
  .kigip-eb-ai {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 40px;
  }

  .kigip-eb-ai__queries { grid-template-columns: repeat(2, 1fr); }

  .kigip-eb-ai { border-radius: 22px; }
}

@media (max-width: 575px) {
  .kigip-eb-ai { padding: 28px; border-radius: 18px; }
  .kigip-eb-ai__queries { grid-template-columns: 1fr; }
  .kigip-eb-ai__queries li { font-size: 13px; padding: 10px 15px; }
}

/* Мініатюру на текстових сторінках прибирає фільтр у PHP, але тема
   друкує обгортку .post-thumbnail беззастережно, і від неї лишається
   порожній блок із відступами. Ховаємо саму обгортку. */
.kigip-textpage .post-thumbnail {
  display: none;
}

/* ══════════════════════════════════════════════════════════════════════
   Вкладки на сторінці курсу
   ══════════════════════════════════════════════════════════════════════
   Вигляд самої стрічки й активної вкладки бере на себе тема: у main.css
   є правила для .course-nav-tabs і .course-nav.active label. Тут лише
   те, чого там немає, — показ і приховування панелей. У демо це робив
   LearnPress прихованими радіо-кнопками, у нас клас .active від скрипта. */

.kigip-course-tabs .course-tab-panel {
  display: none;
}

.kigip-course-tabs .course-tab-panel.active {
  display: block;
}

.kigip-course-tabs .course-nav {
  cursor: pointer;
}

.kigip-course-tabs .course-nav label {
  cursor: pointer;
}

/* Кнопка на сторінку тренера — трохи повітря над нею. */
.kigip-course-tabs__more {
  margin: 22px 0 0;
}

/* ══════════════════════════════════════════════════════════════════════
   Форми Fluent Forms на текстових сторінках
   ══════════════════════════════════════════════════════════════════════
   Плагін малює свої поля власними стилями — сірі рамки, сіра кнопка
   вибору файлу. Приводимо до вигляду теми: та сама висота полів, той
   самий радіус і фірмовий зелений на фокусі. */

.kigip-textpage .fluentform .ff-el-group {
  margin-bottom: 20px;
}

.kigip-textpage .fluentform .ff-el-input--label label {
  font-size: 15px;
  font-weight: 500;
  color: var(--kigip-ink, #181818);
  margin-bottom: 8px;
}

.kigip-textpage .fluentform .ff-el-form-control {
  height: 52px;
  padding: 0 18px;
  border: 1px solid var(--kigip-line, rgba(16, 24, 40, .12));
  border-radius: 6px;
  font-size: 15px;
  background: #fff;
  transition: border-color .25s ease, box-shadow .25s ease;
}

.kigip-textpage .fluentform textarea.ff-el-form-control {
  height: auto;
  min-height: 150px;
  padding: 14px 18px;
  line-height: 1.7;
}

.kigip-textpage .fluentform .ff-el-form-control:focus {
  border-color: var(--kigip-green);
  box-shadow: 0 0 0 3px rgba(26, 182, 157, .14);
  outline: none;
}

/* Кнопка вибору файлу — як другорядна кнопка теми, а не сіра системна. */
.kigip-textpage .fluentform .ff_upload_btn.ff-btn {
  height: 46px;
  padding: 0 22px;
  border: 1px solid var(--kigip-green);
  border-radius: 6px;
  background: transparent;
  color: var(--kigip-green);
  font-size: 15px;
  font-weight: 500;
  transition: background .25s ease, color .25s ease;
}

.kigip-textpage .fluentform .ff_upload_btn.ff-btn:hover {
  background: var(--kigip-green);
  color: #fff;
}

.kigip-textpage .fluentform .ff-btn-submit {
  height: 52px;
  padding: 0 32px;
  border-radius: 6px;
  background: var(--kigip-green);
  font-size: 15px;
  font-weight: 500;
}

.kigip-textpage .fluentform .ff-btn-submit:hover {
  background: var(--kigip-ink, #181818);
}

/* Обовʼязкові поля: зірочка не має бути помітнішою за сам підпис. */
.kigip-textpage .fluentform .ff-el-is-required.asterisk-right label:after {
  color: var(--kigip-green);
}

/* ══════════════════════════════════════════════════════════════════════
   Сторінка контактів
   ══════════════════════════════════════════════════════════════════════
   За demo.edublink.co/contact-us: ліворуч заголовок і дані, праворуч
   біла картка з формою, під ними карта на всю ширину. */

.kigip-cnt__row {
  align-items: flex-start;
}

.kigip-cnt__list {
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.kigip-cnt__list li {
  margin-bottom: 26px;
}

.kigip-cnt__label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--kigip-green);
}

.kigip-cnt__value {
  display: block;
  font-size: 17px;
  line-height: 1.6;
  color: var(--kigip-ink, #181818);
}

.kigip-cnt__value a {
  color: inherit;
}

.kigip-cnt__value a:hover {
  color: var(--kigip-green);
}

.kigip-cnt__phone {
  display: block;
  margin-bottom: 6px;
}

.kigip-cnt__phone small {
  display: block;
  font-size: 14px;
  color: var(--kigip-muted);
}

/* ── Соцмережі ── */
.kigip-cnt__socials {
  display: flex;
  gap: 12px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.kigip-cnt__socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--kigip-line, rgba(16, 24, 40, .12));
  border-radius: 50%;
  color: var(--kigip-muted);
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.kigip-cnt__socials a:hover {
  background: var(--kigip-green);
  border-color: var(--kigip-green);
  color: #fff;
}

/* ── Картка з формою ── */
.kigip-cnt__card {
  padding: 44px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 30px 70px rgba(16, 24, 40, .08);
}

.kigip-cnt__card-title {
  margin: 0 0 8px;
  font-size: 26px;
  color: var(--kigip-ink, #181818);
}

.kigip-cnt__card-sub {
  margin: 0 0 26px;
  color: var(--kigip-muted);
  font-size: 15px;
}

/* Форма всередині картки — ті самі правила, що й на текстових
   сторінках, тож повторюємо селектори для цього контейнера. */
.kigip-cnt__card .ff-el-group { margin-bottom: 20px; }

.kigip-cnt__card .ff-el-form-control {
  height: 52px;
  padding: 0 18px;
  border: 1px solid var(--kigip-line, rgba(16, 24, 40, .12));
  border-radius: 6px;
  font-size: 15px;
}

.kigip-cnt__card textarea.ff-el-form-control {
  height: auto;
  min-height: 140px;
  padding: 14px 18px;
}

.kigip-cnt__card .ff-el-form-control:focus {
  border-color: var(--kigip-green);
  box-shadow: 0 0 0 3px rgba(26, 182, 157, .14);
  outline: none;
}

.kigip-cnt__card .ff-btn-submit {
  height: 52px;
  padding: 0 32px;
  border-radius: 6px;
  background: var(--kigip-green);
}

/* ── Карта ── */
.kigip-cnt__map {
  line-height: 0;
}

.kigip-cnt__map iframe {
  display: block;
  width: 100%;
  height: 460px;
  border: 0;
  /* Карта у Google приходить кольоровою і перетягує увагу на себе.
     Приглушуємо, поки на неї не навели. */
  filter: grayscale(1);
  transition: filter .4s ease;
}

.kigip-cnt__map:hover iframe {
  filter: none;
}

/* ── Маршрути від метро ── */
.kigip-cnt-routes .kigip-cnt__routes {
  max-width: 820px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kigip-cnt__routes li {
  position: relative;
  margin-bottom: 16px;
  padding-left: 34px;
  font-size: 17px;
  line-height: 1.7;
  color: var(--kigip-muted);
}

.kigip-cnt__routes i {
  position: absolute;
  left: 0;
  top: 4px;
  color: var(--kigip-green);
  font-size: 18px;
}

@media (max-width: 991px) {
  .kigip-cnt__card { padding: 30px; margin-top: 40px; }
  .kigip-cnt__map iframe { height: 340px; }
}

@media (max-width: 575px) {
  .kigip-cnt__card { padding: 22px; }
  .kigip-cnt__map iframe { height: 280px; }
  .kigip-cnt__routes li { font-size: 16px; padding-left: 28px; }
}

/* Поки форми немає, дані контактів лишаються самі в рядку й половина
   екрана порожня. Розкладаємо їх у три колонки — так секція виглядає
   завершеною, а не обрізаною. Коли шорткод форми заповнять, колонка
   звузиться до edublink-col-lg-5 і правило перестане діяти. */
@media (min-width: 768px) {
  .kigip-cnt__info.edublink-col-lg-12 .kigip-cnt__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }

  .kigip-cnt__info.edublink-col-lg-12 .kigip-cnt__list li {
    margin-bottom: 0;
  }
}

/* ── Перемикач мов ───────────────────────────────────────────────
   Polylang дає три окремі посилання поспіль; ми підв'язали їх до
   одного пункту (kigip-lang.php), і тема малює його як звичайне
   підменю. Лишається відсунути його від решти меню й позначити
   чинну мову. */

/* Присуваємо до лупи: перемикач не частина навігації і зорово має
   стояти окремо.

   Самого margin-left: auto не досить, і я на цьому спіткнувся —
   правило було, а зсуву не було. Дві причини. Перша: блок меню
   завширшки рівно по своїх пунктах, тож вільного місця, яке міг би
   з'їсти автоматичний відступ, просто немає — тому flex: 1 на блоці.
   Друга: тема задає пунктам свій відступ вужчим правилом, тому тут
   потрібне !important. */
@media (min-width: 992px) {
  .edublink-navbar-primary-menu {
    flex: 1 1 auto;
  }

  /* Пункти лишаються там, де були; вільне місце забирає перемикач. */
  .edublink-default-header-navbar {
    justify-content: flex-start;
  }

  .edublink-default-header-navbar > li.kigip-lang-switch {
    margin-left: auto !important;
    margin-right: 18px !important;
  }

  .edublink-default-header-navbar > li.kigip-lang-switch > a {
    padding-right: 20px !important;
  }
}

.kigip-lang-switch > .edublink-dropdown-menu {
  min-width: 168px;
}

/* Чинну мову підкреслюємо знизу. Псевдоелемент тут не годиться:
   посилання в випадайці на всю ширину, і лінія тяглася від краю до
   краю. Власне підкреслення обіймає лише слово, а skip-ink саме
   розриває лінію під нижніми виносними — «р» у «Русский». */
.kigip-lang-switch__item--current > a {
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  text-decoration-color: var(--edublink-color-primary, #23BDB8);
}

/* ── Пункт «Анонси заходів» ──────────────────────────────────────
   Це не звичайний пункт: він стоїть першим, у рамці й з іконкою.
   Оформлення жило у сніпеті й трималось на номері пункту
   (li.menu-item-23693). Російське та англійське меню — окремі
   записи зі своїми номерами, тож там правило мовчало, і пункт
   виглядав як усі інші.

   Тому чіпляємось до класу, а не до номера: збирач меню ставить
   kigip-menu-events і українському пункту, і його мовним копіям.
   Сніпет із номером після цього зайвий. */
@media (min-width: 992px) {
  .edublink-default-header-navbar > li.kigip-menu-events {
    order: -1;
    border-left: 1px solid #f2f2f2;
    border-right: 1px solid #f2f2f2;
    margin-right: 30px !important;
  }

  .edublink-default-header-navbar > li.kigip-menu-events > a {
    padding: 0 40px 0 68px !important;
  }

  .edublink-default-header-navbar > li.kigip-menu-events > a::after {
    content: "\e900";
    font-family: icomoon !important;
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
    position: absolute;
    left: 40px;
    top: 50%;
    transform: translateY(calc(-50% + 4px));
  }

  .edublink-default-header-navbar > li.kigip-menu-events > a::before {
    right: 18px !important;
  }
}

/* ------------------------------------------------------------------
   Пошук у шапці: завжди іконка з попапом, незалежно від ширини екрана.

   Тема кладе в шапку ДВА пошуки одразу: поле .edu-header-search-field і
   попап .edu-search-popup з іконкою .quote-search. Що з них видно —
   вирішує ширина екрана:

       .theme-header-1 .quote-search            { display: none; }
       @media (max-width: 1699px) {
           .theme-header-1 .edu-header-search-field { display: none; }
           .theme-header-1 .quote-search           { display: block; }
       }

   Тобто на екранах від 1700px тема задумано показує поле просто в шапці,
   а іконку ховає. Це не збій: менеджер, який «бачив інпут», просто сидить
   за широким монітором. Safari тут ні до чого — це збіг, той самий Mac.

   Нам потрібен один вигляд для всіх, тож повторюємо ті самі правила без
   прив'язки до ширини. Порядок підключення на нашому боці: цей файл іде
   після main.css, специфічність однакова, медіазапит її не підвищує —
   тому !important не потрібен.
   ------------------------------------------------------------------ */

.theme-header-1 .edu-header-search-field,
.theme-header-4 .edu-header-search-field,
.theme-header-4-alt-2 .edu-header-search-field,
.theme-header-5 .edu-header-search-field,
.theme-header-5-alt .edu-header-search-field {
  display: none;
}

.theme-header-1 .edublink-header-area .quote-search,
.theme-header-4 .edublink-header-area .quote-search,
.theme-header-4-alt-2 .edublink-header-area .quote-search,
.theme-header-5 .edublink-header-area .quote-search,
.theme-header-5-alt .edublink-header-area .quote-search {
  display: block;
}

/* ------------------------------------------------------------------
   Попап пошуку: виїзд згори, а не розтягування.

   Тема анімує попап через transform: scale(1, 0) → scale(1, 1) з
   transform-origin: top center. Тобто панель не виїжджає, а
   розплющується з нульової висоти: вміст усередині розтягується разом
   із нею. У Safari це видно найгірше — літери й лого «розлазяться»
   дорогою. Замінюємо на звичайний зсув: панель цілком їде згори вниз і
   так само повертається, нічого не деформуючи.

   Анімуємо саме контейнер, а не білу панель усередині: контейнер
   розтягнутий на весь екран і ловить клік «повз панель», яким
   закривають пошук. Якби ми лишили його на місці, він перехоплював би
   кліки у верхній частині сторінки.

   visibility тут і як другий, незалежний спосіб приховування, і щоб у
   закритому стані поле не ловило фокус з клавіатури та зчитувачами
   екрана — при трансформі воно лишалося в потоці. Затримка дорівнює
   тривалості анімації: інакше на закритті попап зникав би вмить.

   0.45s замість 0.7s у теми: для зсуву сімсот мілісекунд задовго,
   рух починає здаватися млявим.
   ------------------------------------------------------------------ */

.edu-search-popup {
  visibility: hidden;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.45s ease, visibility 0s linear 0.45s;
  transition: transform 0.45s ease, visibility 0s linear 0.45s;
  transition: transform 0.45s ease, -webkit-transform 0.45s ease, visibility 0s linear 0.45s;
}

.edu-search-popup.open {
  visibility: visible;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: -webkit-transform 0.45s ease, visibility 0s linear 0s;
  transition: transform 0.45s ease, visibility 0s linear 0s;
  transition: transform 0.45s ease, -webkit-transform 0.45s ease, visibility 0s linear 0s;
}

/* ------------------------------------------------------------------
   Лого в попапі пошуку — квадратне.

   Тема бере туди загальний логотип сайту (logo_black.png, 812×627).
   Підміняємо картинку фоном на посиланні, а саму <img> ховаємо: так не
   доводиться чіпати PHP теми, який зникне з оновленням.

   Шлях від кореня сайту, а не повний з доменом: переживе зміну домену
   чи перенесення на тестовий піддомен.

   90px — та сама межа, яку тема задає логотипу у відкритому попапі
   (.edu-search-popup.open .logo-wrapper img { max-width: 90px }), тож
   розмір не змінюється, лише пропорція стає квадратною.
   ------------------------------------------------------------------ */

.edu-search-popup .logo-wrapper img {
  display: none;
}

/* Тема кладе в попап ДВА логотипи: основний і «білий» для прозорої
   шапки (logo_circle.png). У попапі другий зайвий — інакше поруч
   висять два лого. */
.edu-search-popup .logo-wrapper .site-white-logo {
  display: none;
}

.edu-search-popup .logo-wrapper .site-main-logo {
  display: inline-block;
  width: 90px;
  height: 90px;
  background-image: url("/wp-content/uploads/2026/04/kigip-logo-512.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* ------------------------------------------------------------------
   Заголовки на сторінках зі списками людей — врівень із картками.

   Суцільний текст ми тримаємо в колонці 760px (це міра рядка, приблизно
   75 знаків), а сітку карток пустили ширше — 920px. Через це на
   сторінках супервізорів і терапевтів заголовок починався на 80px
   правіше за перше фото: два різні краї в одному стовпці.

   Розширюємо тут лише заголовки й лише на тих сторінках, де під ними
   справді є сітка карток. Абзаци навмисно лишаємо вузькими: у них
   суцільний текст, і 920px для читання вже забагато.

   :has() тримають Chrome 105+ і Safari 15.4+. Де його немає, сторінка
   лишиться як була — заголовок правіше, але нічого не поламається.
   ------------------------------------------------------------------ */

.kigip-textpage .entry-content:has(> .kigip-textpage__cards) > h1,
.kigip-textpage .entry-content:has(> .kigip-textpage__cards) > h2,
.kigip-textpage .entry-content:has(> .kigip-textpage__cards) > h3,
.kigip-textpage .entry-content:has(> .kigip-textpage__cards) > h4 {
  max-width: 920px;
}

.kigip-lang-switch > .edublink-dropdown-menu {
  min-width: 80px !important;
  max-width: 80px;
}
