/*
 * ABDS Builder Kit — скін «Bachata» для iDance Builder.
 *
 * Оформлює РІДНІ блоки конструктора (.isb-*) за дизайном сайту: темне тло, теплі акценти,
 * скляні картки, великі заголовки, секції-плашки. Власної розмітки не додає.
 *
 * Чим керує редактор білдера (налаштування рядка):
 *   Фон «Кремовий»            → світліша смуга на всю ширину
 *   Фонове фото (будь-яке)    → фото на всю секцію під затемненням (прозорість = «Прозорість фону»)
 *   Відступи                  → «Компактні» / «Звичайні» / «Просторі» = менший / базовий / більший ритм
 *   Розкладка «Карусель»      → стрічка карток, що прокручується
 *   «Стрічка блогу», 4 колонки → слайдер статей; 2–3 колонки → сітка
 *   Якір рядка «seo…»         → текст згорнуто, кнопка «Читати більше»
 *
 * Система від телефона: поля --k-gutter, ритм секцій --k-sec-y, одна шкала заголовків.
 */

.isb-content {
  --k-bg: #110b0d;
  --k-text: #fff8f2;
  --k-muted: #cdbdb5;
  --k-accent: #ffb36a;
  --k-accent-2: #f05f57;
  --k-gold: #ffd36b;
  --k-line: rgba(255, 255, 255, .14);
  --k-shadow: 0 24px 80px rgba(0, 0, 0, .35);
  --k-glass: linear-gradient(180deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .055));
  --k-glass-soft: linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035));
  --k-container: 1240px;
  --k-gutter: 20px;
  --k-sec-y: 56px;
  --k-r: 22px;
  --k-r-sm: 18px;
  --k-header: var(--header-height, 78px);

  /* змінні конструктора — під палітру сайту */
  --isb-accent: var(--k-accent);
  --isb-accent-hover: #ffc48a;
  --isb-link: var(--k-gold);
  --isb-highlight: var(--k-gold);
  --isb-heading: var(--k-text);
  --isb-text: var(--k-text);
  --isb-star: var(--k-accent);
  --isb-star-on: var(--k-accent);
  --isb-star-off: rgba(255, 255, 255, .18);
  --isb-soft-bg: rgba(255, 255, 255, .03);
  --isb-page-bg: var(--k-bg);
  --isb-dark-bg: #0c0708;
  --isb-wow-1: #1b1113;
  --isb-wow-2: #2a171a;
  --isb-card-bg: rgba(255, 255, 255, .06);
  --isb-border: var(--k-line);
  --isb-muted: var(--k-muted);
  --isb-btn-bg: var(--k-accent);
  --isb-btn-text: #1a0d08;
  --isb-btn-radius: 999px;
  --isb-radius: var(--k-r);
  --isb-content-width: calc(var(--k-container) + 2 * var(--k-gutter));
  --isb-col-gap: clamp(14px, 2.2vw, 28px);

  color: var(--k-text);
  font-size: 16px;
  line-height: 1.6;
}
@media (min-width: 700px) { .isb-content { --k-gutter: 28px; --k-sec-y: 76px; --k-r: 26px; --k-r-sm: 20px; } }
@media (min-width: 980px) { .isb-content { --k-gutter: 32px; --k-sec-y: 104px; --k-r: 30px; --k-r-sm: 22px; } }

/* ---------- Типографіка ---------- */
.isb-content :is(h1, h2, h3, h4) { font-family: inherit; color: var(--k-text); overflow-wrap: break-word; text-wrap: balance; }
.isb-content h1,
.isb-content .isb-hero-title { margin: 0; font-size: clamp(34px, 5.2vw + 14px, 76px); line-height: 1.04; letter-spacing: -.028em; max-width: 920px; }
.isb-content h2 { margin: 0; font-size: clamp(27px, 3.2vw + 15px, 54px); line-height: 1.08; letter-spacing: -.024em; }
.isb-content h3 { margin: 0 0 8px; font-size: clamp(19px, .6vw + 17px, 24px); line-height: 1.2; letter-spacing: -.012em; }
.isb-content h4 { margin: 0 0 8px; font-size: clamp(17px, .4vw + 15.5px, 20px); line-height: 1.25; letter-spacing: -.01em; }
.isb-content p { color: var(--k-muted); margin: 0; overflow-wrap: break-word; text-wrap: pretty; }
.isb-content a { color: inherit; }
.isb-content .isb-hl { color: var(--k-gold); }

.isb-content .isb-eyebrow {
  display: block; margin: 0 0 12px; color: var(--k-gold); text-transform: uppercase;
  letter-spacing: .14em; font-weight: 800; font-size: 12px; line-height: 1.5;
}

/* ---------- Секції ---------- */
.isb-content > .isb-sec {
  position: relative; isolation: isolate; overflow: hidden;
  width: 100%; max-width: none; margin: 0 auto; border: 0; border-radius: 0;
  background: transparent; color: var(--k-text);
}
/* секція може бути сіткою (центрування вмісту): рядок не має розтягуватися за ширину екрана через карусель усередині */
.isb-content > .isb-sec { grid-template-columns: minmax(0, 1fr); }
.isb-content > .isb-sec > .isb-row {
  position: relative; z-index: 1; width: 100%; min-width: 0;
  padding-left: var(--k-gutter); padding-right: var(--k-gutter);
}
/* м'яке світіння в куті секції (як у темі) */
.isb-content > .isb-sec:not(.isb-bg-img)::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  width: min(38vw, 520px); height: min(38vw, 520px); right: -12vw; left: auto; top: 10%; bottom: auto;
  border-radius: 50%; filter: blur(2px); opacity: 1;
  background: radial-gradient(circle, rgba(255, 179, 106, .13), transparent 64%);
}
.isb-content > .isb-sec:not(.isb-bg-img):nth-of-type(even)::before {
  right: auto; left: -14vw; background: radial-gradient(circle, rgba(240, 95, 87, .12), transparent 64%);
}
.isb-content > .isb-sec.isb-has-media::after { content: none; }

/* відступи: компактні / звичайні / просторі — один ритм, три кроки */
.isb-content > .isb-sec.isb-pad-compact > .isb-row { padding-top: calc(var(--k-sec-y) * .8); padding-bottom: calc(var(--k-sec-y) * .8); }
.isb-content > .isb-sec.isb-pad-normal > .isb-row { padding-top: var(--k-sec-y); padding-bottom: var(--k-sec-y); }
.isb-content > .isb-sec.isb-pad-spacious > .isb-row { padding-top: calc(var(--k-sec-y) * 1.1); padding-bottom: calc(var(--k-sec-y) * 1.1); }
.isb-content > .isb-sec.isb-pad-none > .isb-row { padding-top: 0; padding-bottom: 0; }
.isb-content > .isb-sec > .isb-row.isb-pt-custom { padding-top: var(--isb-pt); }
.isb-content > .isb-sec > .isb-row.isb-pb-custom { padding-bottom: var(--isb-pb); }

/* Фон «Кремовий» → світліша смуга на всю ширину */
.isb-content > .isb-sec.isb-bg-soft {
  border-block: 1px solid rgba(255, 255, 255, .06);
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 179, 106, .10), transparent 42%),
    radial-gradient(circle at 92% 100%, rgba(240, 95, 87, .07), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .015));
}
.isb-content > .isb-sec.isb-bg-wow { background: radial-gradient(circle at 50% 0%, rgba(255, 179, 106, .17), transparent 45%), linear-gradient(135deg, var(--isb-wow-1), var(--isb-wow-2)); }
.isb-content > .isb-sec.isb-bg-dark { background: var(--isb-dark-bg); }
.isb-content > .isb-sec.isb-bg-clouds { background: transparent; }
.isb-content .isb-bg-wow .isb-eyebrow, .isb-content .isb-bg-dark .isb-eyebrow { color: var(--k-gold); }

/* Фонове фото → на всю секцію, без рамки й відступів */
.isb-content > .isb-sec.isb-has-media > .isb-media {
  inset: 0; z-index: -1; overflow: hidden; pointer-events: none;
  border-radius: 0; box-shadow: none; opacity: var(--isb-bg-op, .34);
}
.isb-content > .isb-sec.isb-has-media,
.isb-content > .isb-sec.isb-bg-img { display: grid; align-items: center; min-height: clamp(300px, 46vw, 520px); }
.isb-content .isb-media > img,
.isb-content .isb-media > video {
  width: 100%; height: 100%; object-fit: cover; opacity: 1;
  filter: saturate(1.05) contrast(1.05); -webkit-mask-image: none; mask-image: none;
}
.isb-content .isb-media::after {
  background: linear-gradient(180deg, rgba(17, 11, 13, .78), rgba(17, 11, 13, .46) 50%, rgba(17, 11, 13, .86));
}
@media (min-width: 980px) {
  .isb-content .isb-media::after {
    background:
      linear-gradient(90deg, rgba(17, 11, 13, .88), rgba(17, 11, 13, .42) 55%, rgba(17, 11, 13, .72)),
      linear-gradient(180deg, rgba(17, 11, 13, .62), transparent 40%, rgba(17, 11, 13, .82));
  }
}
.isb-content .isb-col.isb-has-media { border-radius: var(--k-r); }
.isb-content .isb-col.isb-has-media > .isb-media { inset: 0; opacity: var(--isb-bg-op, .5); }

/* Фонове фото «на всю секцію» → під темним градієнтом */
.isb-content > .isb-sec.isb-bg-img { border-bottom: 1px solid var(--k-line); }
.isb-content .isb-bg-img::before {
  opacity: var(--isb-ov, .78);
  background: linear-gradient(180deg, rgba(17, 11, 13, .92), rgba(17, 11, 13, .60) 50%, rgba(17, 11, 13, .96));
}
@media (min-width: 980px) {
  .isb-content .isb-bg-img::before {
    background:
      linear-gradient(90deg, rgba(17, 11, 13, .96), rgba(17, 11, 13, .52) 60%, rgba(17, 11, 13, .78)),
      linear-gradient(0deg, rgba(17, 11, 13, .60), transparent 45%);
  }
}
.isb-content .isb-bgvideo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }

/* ---------- Сітка ---------- */
.isb-content .isb-row { gap: var(--isb-col-gap); }
.isb-content .isb-row.isb-cols-2 { --isb-col-gap: clamp(28px, 5vw, 72px); }
.isb-content .isb-container .isb-row { --isb-col-gap: clamp(12px, 2.2vw, 28px); }
.isb-content .isb-container .isb-row.isb-cols-2:has(.isb-el-section_head) { --isb-col-gap: clamp(28px, 5vw, 72px); }
.isb-content .isb-el { margin-bottom: clamp(18px, 2.4vw, 32px); }
.isb-content .isb-el:last-child { margin-bottom: 0; }
.isb-content .isb-container > .isb-sec { width: 100%; max-width: none; margin: 0; background: transparent; border: 0; border-radius: 0; overflow: visible; }
.isb-content .isb-container > .isb-sec > .isb-row { padding: 0; }
.isb-content .isb-container > .isb-sec + .isb-sec { margin-top: clamp(28px, 4.4vw, 56px); }
.isb-content .isb-col-card, .isb-content .isb-col-outline, .isb-content .isb-col-soft {
  background: var(--k-glass); border: 1px solid var(--k-line); border-radius: var(--k-r);
  padding: clamp(20px, 2.8vw, 40px); box-shadow: 0 18px 60px rgba(0, 0, 0, .20); color: var(--k-text);
}
.isb-content .isb-col-outline { background: transparent; box-shadow: none; }

/* ---------- Заголовок секції, текст ---------- */
.isb-content .isb-el-section_head,
.isb-content .isb-el-section_head:last-child { margin-bottom: clamp(24px, 4vw, 52px); }
.isb-content .isb-col:only-child > .isb-el-section_head:only-child,
.isb-content .isb-row.isb-cols-2 > .isb-col > .isb-el-section_head:last-child { margin-bottom: 0; }
.isb-content .isb-el-section_head:has(+ .isb-el-text) { margin-bottom: clamp(16px, 2.2vw, 28px); }
.isb-content .isb-sechead { display: grid; gap: 12px; margin: 0; }
.isb-content .isb-sechead .isb-eyebrow { margin-bottom: 0; }
.isb-content .isb-sechead-title { margin: 0; }
.isb-content .isb-sechead-sub { margin: 0; max-width: 640px; font-size: clamp(16px, .45vw + 14.5px, 20px); line-height: 1.6; color: var(--k-muted); opacity: 1; }
.isb-content .isb-sechead.isb-align-center { max-width: 860px; justify-items: center; }
.isb-content .isb-sechead.isb-align-center .isb-sechead-sub { margin-inline: auto; }
.isb-content .isb-heading { margin: 0; }
.isb-content .isb-el-heading:has(+ .isb-el-text) { margin-bottom: clamp(14px, 2vw, 24px); }
.isb-content .isb-container .isb-el-heading + .isb-el-text p { max-width: 640px; font-size: clamp(16px, .45vw + 14.5px, 20px); }

.isb-content .isb-text { line-height: 1.6; color: var(--k-muted); }
.isb-content .isb-text :is(p, li) { font-size: clamp(16px, .3vw + 15px, 18px); }
.isb-content .isb-text :is(p, ul, ol, h2, h3, h4) { max-width: 760px; }
.isb-content .isb-text p + p { margin-top: 14px; }
.isb-content .isb-text :is(ul, ol) { display: grid; gap: 8px; margin: 14px 0 0; padding-left: 22px; }
.isb-content .isb-text :is(ul, ol) + p { margin-top: 14px; }
.isb-content .isb-text li::marker { color: var(--k-accent); }
.isb-content .isb-text h2 { margin: clamp(36px, 5vw, 60px) 0 12px; font-size: clamp(22px, 1.4vw + 17px, 34px); line-height: 1.15; letter-spacing: -.018em; }
.isb-content .isb-text h3 { margin: clamp(26px, 3.2vw, 38px) 0 8px; }
.isb-content .isb-text > :first-child { margin-top: 0; }
.isb-content .isb-text a { color: var(--k-gold); text-decoration: underline; text-underline-offset: 4px; }
.isb-content .isb-text a.isb-card-link { display: inline-flex; color: var(--k-accent); font-size: 16px; font-weight: 800; text-decoration: none; }
.isb-content .isb-text p.isb-eyebrow { margin: 0; color: var(--k-gold); font-size: 12px; line-height: 1.5; }
.isb-content .isb-text a.isb-card-link::after { content: none; }
.isb-content .isb-text strong { color: var(--k-text); font-weight: 700; }

/* ---------- Кнопки ---------- */
.isb-content .isb-btn,
.abds-lead .wpcf7-submit {
  display: inline-flex; align-items: center; justify-content: center; min-height: 54px; box-sizing: border-box;
  padding: 14px 26px; border-radius: 999px; border: 1px solid transparent;
  font: inherit; font-weight: 800; line-height: 1.3; text-decoration: none; text-align: center; cursor: pointer;
  background: linear-gradient(135deg, var(--k-gold, #ffd36b), var(--k-accent, #ffb36a), var(--k-accent-2, #f05f57));
  color: #1a0d08; box-shadow: 0 20px 54px rgba(255, 179, 106, .22);
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease;
}
.isb-content .isb-btn:hover,
.isb-content:not(.isb-bh-lift):not(.isb-bh-glow) .isb-btn:hover,
.abds-lead .wpcf7-submit:hover {
  background: linear-gradient(135deg, var(--k-gold, #ffd36b), var(--k-accent, #ffb36a), var(--k-accent-2, #f05f57));
  color: #1a0d08; transform: translateY(-2px); filter: brightness(1.07); box-shadow: 0 18px 50px rgba(255, 179, 106, .22);
}
.isb-content .isb-btn:active, .abds-lead .wpcf7-submit:active { transform: translateY(1px) scale(.965); }
.isb-content .isb-btn.isb-btn-ghost,
.isb-content:not(.isb-bh-lift):not(.isb-bh-glow) .isb-btn.isb-btn-ghost:hover {
  background: rgba(255, 255, 255, .06); color: var(--k-text); border-color: var(--k-line); box-shadow: none;
}
.isb-content:not(.isb-bh-lift):not(.isb-bh-glow) .isb-btn.isb-btn-ghost:hover { box-shadow: 0 18px 50px rgba(255, 179, 106, .16); }
.isb-content .isb-btn:focus-visible, .abds-lead .wpcf7-submit:focus-visible { outline: 2px solid var(--k-gold, #ffd36b); outline-offset: 4px; }

/* ---------- Перший екран ---------- */
.isb-content > .isb-sec:has(> .isb-row > .isb-col > .isb-el-hero) > .isb-row { padding-top: clamp(28px, 5vw, 80px); padding-bottom: clamp(40px, 6vw, 96px); }
.isb-content > .isb-sec:has(> .isb-row > .isb-col > .isb-el-hero)::before {
  inset: auto -20% -12% auto; width: 62vw; height: 62vw; filter: blur(4px);
  background: radial-gradient(circle, rgba(255, 179, 106, .20), transparent 62%);
}
.isb-content .isb-hero { display: grid; gap: clamp(28px, 5vw, 72px); align-items: center; }
.isb-content .isb-hero-copy, .isb-content .isb-hero-visual { min-width: 0; }
.isb-content .isb-hero-sub { margin: clamp(14px, 1.8vw, 24px) 0 0; max-width: 620px; font-size: clamp(16px, .45vw + 14.5px, 20px); line-height: 1.6; color: var(--k-muted); opacity: 1; }
.isb-content .isb-hero-actions { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 12px; margin: clamp(22px, 2.8vw, 36px) 0 14px; }
.isb-content .isb-hero-note { margin: 0; max-width: 560px; font-size: 14px; color: var(--k-muted); opacity: 1; }
.isb-content .isb-hero-visual {
  position: relative; aspect-ratio: 1 / 1; min-height: 0; max-height: 660px; width: 100%;
  border-radius: var(--k-r); overflow: hidden; background: rgba(255, 255, 255, .07); box-shadow: var(--k-shadow);
}
.isb-content .isb-hero-visual img,
.isb-content .isb-hero-vid { width: 100%; height: 100%; max-height: none; object-fit: cover; border-radius: 0; box-shadow: none; display: block; }
.isb-content .isb-hero-visual::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 35%, rgba(17, 11, 13, .76)); }
.isb-content .isb-hero-badge {
  left: 12px; right: 12px; bottom: 12px; max-width: none; z-index: 1; gap: 2px;
  padding: 14px 16px; border-radius: var(--k-r-sm); background: rgba(17, 11, 13, .72); border: 1px solid var(--k-line);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); color: var(--k-text); box-shadow: none; line-height: 1.55;
}
.isb-content .isb-hero-badge strong { font-size: 16px; font-weight: 700; }
.isb-content .isb-hero-badge span { font-size: 14px; font-weight: 400; color: var(--k-muted); opacity: 1; }
.isb-content .isb-hero-visual.slot--empty { display: grid; place-items: center; color: var(--k-muted); }
@media (min-width: 700px) {
  .isb-content .isb-hero-actions { flex-direction: row; flex-wrap: wrap; }
}
@media (min-width: 700px) and (max-width: 979px) { .isb-content .isb-hero-visual { aspect-ratio: 16 / 10; } }
@media (min-width: 980px) {
  .isb-content > .isb-sec:has(> .isb-row > .isb-col > .isb-el-hero .isb-hero-visual) { display: grid; align-items: center; min-height: min(calc(100svh - var(--k-header)), 860px); }
  .isb-content .isb-hero:has(.isb-hero-visual) { grid-template-columns: 1.08fr .92fr; }
  .isb-content .isb-hero-visual { aspect-ratio: 5 / 6; min-height: 0; max-height: min(72svh, 640px); }
  .isb-content .isb-hero-badge { left: 18px; right: 18px; bottom: 18px; padding: 18px; }
}
/* перший екран без медіа (службові сторінки) */
.isb-content .isb-hero:not(:has(.isb-hero-visual)) .isb-hero-copy { max-width: 980px; }
.isb-content .isb-hero:not(:has(.isb-hero-actions > *)) .isb-hero-actions { display: none; }
.isb-content > .isb-sec.isb-pad-compact:has(> .isb-row > .isb-col > .isb-el-hero) > .isb-row { padding-top: clamp(36px, 6vw, 88px); padding-bottom: clamp(28px, 4vw, 56px); }

/* ---------- Картки ---------- */
.isb-content .isb-card,
.isb-content .isb-review,
.isb-content .isb-price,
.isb-content .isb-post-card,
.isb-content .isb-blog-card,
.isb-content .isb-revs__card,
.isb-content .isb-bento-tile {
  position: relative; overflow: hidden; height: auto;
  background: var(--k-glass); border: 1px solid var(--k-line); border-radius: var(--k-r);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .20); color: var(--k-text);
  transition: transform .35s ease, border-color .35s ease, background .35s ease, box-shadow .35s ease;
}
.isb-content .isb-card,
.isb-content .isb-review,
.isb-content .isb-price { padding: var(--isb-el-pad, clamp(20px, 2.6vw, 36px)); }
.isb-content .isb-card:hover,
.isb-content .isb-review:hover,
.isb-content .isb-price:not(.isb-price-featured):hover,
.isb-content .isb-post-card:hover,
.isb-content .isb-blog-card:hover,
.isb-content .isb-bento-tile:hover {
  transform: translateY(-4px); border-color: rgba(255, 179, 106, .34); background: rgba(255, 255, 255, .095); box-shadow: 0 22px 70px rgba(0, 0, 0, .26);
}
.isb-content .isb-card { display: flex; flex-direction: column; min-height: var(--isb-el-mh, 0); height: 100%; }
.isb-content .isb-card-dot {
  position: relative; display: block; flex: 0 0 auto; width: 12px; height: 12px; border-radius: 50%;
  background: var(--k-gold); margin: 4px 0 clamp(18px, 3.4vw, 52px) 4px; box-shadow: 0 0 32px rgba(255, 211, 107, .30);
}
.isb-content .isb-card-dot::after {
  content: ""; position: absolute; inset: -12px; border: 1px solid rgba(255, 211, 107, .28); border-radius: 50%;
  opacity: .72; transform: scale(.72); animation: abdsKitPulse 2.8s ease-in-out infinite;
}
.isb-content .isb-card-num { display: block; margin: 0 0 8px; color: var(--k-accent); font-weight: 800; letter-spacing: .08em; font-size: 14px; }
.isb-content .isb-card-title { margin: 0 0 8px; }
.isb-content .isb-card-text { margin: 0; color: var(--k-muted); opacity: 1; line-height: 1.6; }
.isb-content .isb-card-link { display: inline-flex; margin-top: auto; padding-top: 18px; color: var(--k-gold); font-weight: 700; text-decoration: none; }
.isb-content .isb-card:hover .isb-card-link { color: var(--k-gold); }
.isb-content .isb-card .isb-card-link::after { content: ""; position: absolute; inset: 0; } /* клікабельна вся картка */
@keyframes abdsKitPulse { 0%, 100% { transform: scale(.72); opacity: .72; } 50% { transform: scale(1.22); opacity: .18; } }

/* ---------- Карусель (стрічка карток) ---------- */
.isb-content .isb-row-carousel {
  gap: 14px; padding: 6px var(--k-gutter) 16px !important; cursor: grab;
  margin: 0 calc(-1 * var(--k-gutter)); width: auto; max-width: none;
  scroll-padding-inline: var(--k-gutter);
}
.isb-content .isb-row-carousel > .isb-col { flex: 0 0 min(78vw, 320px) !important; display: flex; flex-direction: column; }
@media (min-width: 700px) {
  .isb-content .isb-row-carousel { gap: 20px; }
  .isb-content .isb-row-carousel > .isb-col { flex-basis: clamp(300px, 31vw, 400px) !important; }
}
/* Стрічку веде скрипт набору (kit.js). Сенсорний екран: гортає палець, картки стають по краю.
   Миша: стрілки над стрічкою, перетягування, автоматичне гортання — за будь-якої ширини вікна. */
.isb-content .isb-row-carousel.abds-strip { overscroll-behavior-x: contain; cursor: auto; }
.isb-content .isb-row-carousel.abds-strip > .isb-col { opacity: 1 !important; transform: none !important; }
html:not(.abds-mouse) .isb-content .isb-row-carousel.abds-strip { scroll-snap-type: x mandatory; }
html:not(.abds-mouse) .isb-content .isb-row-carousel.abds-strip > .isb-col { scroll-snap-align: start; }
.abds-mouse .isb-content .isb-row-carousel.abds-strip,
.abds-mouse .isb-content .isb-postlist.isb-pl-4 { cursor: grab; }
.abds-mouse .isb-content .is-dragging { cursor: grabbing; -webkit-user-select: none; user-select: none; scroll-behavior: auto; }
.abds-mouse .isb-content .is-dragging a { pointer-events: none; }
.isb-content .isb-row-carousel > .isb-col > .isb-el { flex: 1 1 auto; display: flex; flex-direction: column; }
.isb-content .isb-row-carousel .isb-card { flex: 1 1 auto; min-height: var(--isb-el-mh, clamp(230px, 26vw, 340px)); background: linear-gradient(150deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .04)); }
.isb-content .isb-row-carousel .isb-card:hover { border-color: rgba(255, 211, 107, .36); background: rgba(255, 255, 255, .09); }
.isb-content .isb-row-carousel .isb-card-title { font-size: clamp(22px, 1.4vw + 17px, 34px); line-height: 1.12; letter-spacing: -.018em; }
.isb-content .isb-row-carousel .isb-card-num { margin-bottom: auto; color: var(--k-gold); letter-spacing: .12em; }
.isb-content .isb-row-carousel .isb-card-numbered .isb-card-title { margin-top: 20px; }

/* ---------- Список з галочками ---------- */
.isb-content .isb-el-checklist { max-width: none; margin-inline: 0; }
.isb-content .isb-checklist { display: grid; gap: clamp(10px, 1.4vw, 16px); max-width: 1080px; }
.isb-content .isb-check-item {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start;
  padding: clamp(14px, 2vw, 26px) clamp(16px, 2.2vw, 28px); border: 1px solid var(--k-line); border-radius: var(--k-r-sm);
  background: var(--k-glass-soft); box-shadow: none; color: var(--k-muted); font-size: clamp(16px, .3vw + 15px, 18px); line-height: 1.5;
}
.isb-content .isb-check-item:hover { box-shadow: none; transform: translateY(-2px); border-color: rgba(255, 179, 106, .34); }
.isb-content .isb-check-ic { color: var(--k-accent); font-weight: 900; }

/* ---------- Кроки / програма ---------- */
.isb-content .isb-el-steps { max-width: none; margin-inline: 0; }
.isb-content .isb-steps { display: grid; gap: 0; border-top: 1px solid var(--k-line); }
.isb-content .isb-step,
.isb-content .isb-step:last-child { display: grid; grid-template-columns: 1fr; gap: 4px; align-items: start; padding: clamp(18px, 3vw, 40px) 0; border-bottom: 1px solid var(--k-line); }
.isb-content .isb-step-num { color: var(--k-accent); font-weight: 800; letter-spacing: .08em; font-size: 14px; line-height: 1.5; }
.isb-content .isb-step-title { margin: 0 0 2px; font-size: clamp(19px, .6vw + 17px, 24px); line-height: 1.2; letter-spacing: -.012em; }
.isb-content .isb-step-text { grid-column: auto; margin: 0; color: var(--k-muted); opacity: 1; line-height: 1.55; }
@media (min-width: 700px) {
  .isb-content .isb-step, .isb-content .isb-step:last-child { grid-template-columns: 90px 1fr 1.2fr; gap: 18px; }
}

/* ---------- Розклад ---------- */
.isb-content .isb-el-schedule { max-width: none; margin-inline: 0; }
.isb-content .isb-schedule { display: grid; gap: 10px; border: 0; background: transparent; }
@media (min-width: 980px) {
  /* на великому екрані розклад стоїть поруч із заголовком і гортається всередині */
  .isb-content .isb-schedule {
    gap: 14px; max-height: min(62vh, 640px); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
    padding: 24px 18px; scrollbar-width: none;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%);
  }
}
.isb-content .isb-schedule::-webkit-scrollbar { display: none; }
.isb-content .isb-schedule:focus-visible { outline: 2px solid var(--k-gold); outline-offset: 6px; border-radius: 26px; }
.isb-content .isb-sch-row {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .045));
  border: 1px solid var(--k-line); border-radius: var(--k-r-sm); padding: clamp(14px, 2.2vw, 28px) clamp(16px, 2.4vw, 30px); box-shadow: none; color: var(--k-text);
}
.isb-content .isb-sch-row:hover { transform: none; box-shadow: none; border-color: rgba(255, 179, 106, .34); }
.isb-content .isb-sch-dir { grid-column: 1 / -1; margin: 0; color: var(--k-gold); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 700; }
.isb-content .isb-sch-day { grid-column: 1; grid-row: 2; font-weight: 700; }
.isb-content .isb-sch-time { grid-column: 2; grid-row: 2; justify-self: end; font-weight: 400; }
.isb-content .isb-sch-lvl { grid-column: 1 / -1; opacity: 1; }
.isb-content .isb-sch-meta { grid-column: 1 / -1; color: var(--k-muted); opacity: 1; font-size: 13px; }

/* ---------- Викладач ---------- */
.isb-content .isb-teacher {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr; align-items: stretch;
  padding: 0; text-align: left; height: 100%;
  border: 1px solid var(--k-line); border-radius: var(--k-r);
  background: linear-gradient(135deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .055)); box-shadow: 0 28px 90px rgba(0, 0, 0, .22);
}
.isb-content .isb-teacher-photo { width: 100%; height: auto; margin: 0; border-radius: 0; aspect-ratio: 4 / 4.4; overflow: hidden; background: linear-gradient(135deg, rgba(255, 179, 106, .25), rgba(240, 95, 87, .18)); }
.isb-content .isb-teacher-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.isb-content .isb-teacher-ph { display: grid; place-items: center; font-size: 72px; font-weight: 900; color: rgba(255, 255, 255, .75); }
.isb-content .isb-teacher-copy { display: flex; flex-direction: column; justify-content: flex-start; min-width: 0; padding: 20px 20px 24px; }
.isb-content .isb-teacher-name { margin: 0 0 10px; font-size: clamp(24px, 1vw + 20px, 32px); line-height: 1.1; letter-spacing: -.02em; }
.isb-content .isb-teacher-bio { margin: 0; font-size: clamp(15px, .3vw + 14px, 17px); line-height: 1.6; color: var(--k-muted); opacity: 1; }
.isb-content .isb-row-carousel > .isb-col:has(.isb-teacher) { flex: 0 0 min(80vw, 360px) !important; }
@media (min-width: 700px) {
  .isb-content .isb-teacher { grid-template-columns: minmax(180px, .44fr) minmax(0, .56fr); min-height: 460px; }
  .isb-content .isb-teacher-photo { aspect-ratio: auto; height: 100%; min-height: 460px; }
  .isb-content .isb-teacher-copy { justify-content: center; padding: clamp(22px, 2.4vw, 34px); }
  .isb-content .isb-teacher-name { margin-bottom: clamp(14px, 1.6vw, 22px); }
  .isb-content .isb-row-carousel > .isb-col:has(.isb-teacher) { flex: 0 0 min(88vw, 620px) !important; }
}
@media (min-width: 980px) {
  .isb-content .isb-teacher { grid-template-columns: minmax(215px, .46fr) minmax(0, .54fr); min-height: 0; height: clamp(470px, 35vw, 560px); }
  .isb-content .isb-teacher-photo { min-height: 0; }
  .isb-content .isb-teacher-copy { overflow: hidden; }
  .isb-content .isb-row-carousel > .isb-col:has(.isb-teacher) { flex: 0 0 clamp(560px, 43vw, 690px) !important; }
}
.isb-content .isb-row-carousel:has(.isb-teacher) { gap: clamp(14px, 2.2vw, 30px); }

/* ---------- Тариф ---------- */
.isb-content .isb-price { display: flex; flex-direction: column; gap: 14px; min-height: var(--isb-el-mh, 0); height: 100%; text-align: left; }
.isb-content .isb-price-plan { font-size: clamp(18px, .5vw + 16px, 22px); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; margin: 0; }
.isb-content .isb-price-sub { margin: -8px 0 0; color: var(--k-gold); font-weight: 800; font-size: 16px; opacity: 1; }
.isb-content .isb-price-value { margin: 0; font-size: clamp(30px, 1vw + 26px, 40px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.isb-content .isb-price-note { margin: -8px 0 0; color: var(--k-muted); opacity: 1; font-size: 15px; }
.isb-content .isb-price-list { display: grid; gap: 8px; margin: 0 0 6px; padding: 0; list-style: none; color: var(--k-muted); }
.isb-content .isb-price-list li { padding: 0; border: 0; opacity: 1; position: static; }
.isb-content .isb-price-list li::before { content: "✓"; position: static; margin-right: 9px; color: var(--k-accent); font-weight: 900; }
.isb-content .isb-price .isb-btn { margin-top: auto; }
.isb-content .isb-price-featured,
.isb-content .isb-price-featured:hover { background: linear-gradient(180deg, rgba(255, 179, 106, .16), rgba(255, 255, 255, .07)); border-color: rgba(255, 179, 106, .45); box-shadow: 0 18px 60px rgba(0, 0, 0, .22); transform: none; }
@media (min-width: 980px) {
  .isb-content .isb-price { min-height: var(--isb-el-mh, 360px); gap: 18px; }
  .isb-content .isb-price-featured { transform: translateY(-6px); }
  .isb-content .isb-price-featured:hover { transform: translateY(-10px); }
}

/* ---------- Відгуки ---------- */
.isb-content .isb-review { min-height: var(--isb-el-mh, 0); height: 100%; display: flex; flex-direction: column; }
.isb-content .isb-review-meta { margin-top: auto; padding-top: 16px; }
.isb-content .isb-stars { letter-spacing: .08em; margin-bottom: 10px; font-size: 15px; line-height: 1.5; }
.isb-content .isb-review-text,
.isb-content .isb-revs__quote { margin: 0; font-style: normal; color: var(--k-muted); line-height: 1.55; font-size: 16px; }
.isb-content .isb-review-meta, .isb-content .isb-revs__meta { display: flex; align-items: center; gap: 12px; }
.isb-content .isb-revs__meta { margin-top: 16px; }
.isb-content .isb-review-who, .isb-content .isb-revs__who { display: grid; }
.isb-content .isb-review-name, .isb-content .isb-revs__name { font-weight: 700; color: var(--k-text); }
.isb-content .isb-review-role, .isb-content .isb-revs__role { color: var(--k-muted); font-size: 14px; opacity: 1; }
.isb-content .isb-review-photo, .isb-content .isb-revs__photo { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.isb-content .isb-revs__card { padding: clamp(20px, 2.6vw, 36px); gap: 0; }
.isb-content .isb-revs__arrow { background: rgba(255, 255, 255, .06); border-color: var(--k-line); color: var(--k-text); }

/* ---------- FAQ / гармошка ---------- */
.isb-content .isb-el-faq, .isb-content .isb-el-accordion { max-width: none; margin-inline: 0; }
.isb-content .isb-faq { display: grid; gap: clamp(8px, 1.2vw, 14px); }
.isb-content .isb-faq-item {
  background: linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .04));
  border: 1px solid var(--k-line); border-radius: var(--k-r-sm); padding: clamp(14px, 1.8vw, 22px) clamp(16px, 2vw, 24px); box-shadow: none; color: var(--k-text);
}
.isb-content .isb-faq-item:hover { box-shadow: none; border-color: rgba(255, 179, 106, .34); }
.isb-content .isb-faq-item summary { font-weight: 700; line-height: 1.35; font-size: clamp(16px, .2vw + 15.3px, 17px); }
.isb-content .isb-faq-item summary::after { color: var(--k-accent); }
.isb-content .isb-faq-a { padding-top: 10px; color: var(--k-muted); opacity: 1; line-height: 1.6; }

/* ---------- Контакти-чипи, зображення, панель, банер ---------- */
.isb-content .isb-chips { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; margin: 0; }
.isb-content .isb-text .isb-chips a,
.isb-content .isb-chips a {
  display: inline-block; padding: 10px 14px; border: 1px solid var(--k-line); border-radius: 999px;
  background: rgba(255, 255, 255, .07); color: var(--k-text); font-size: 16px; font-weight: 400; text-decoration: none;
}
.isb-content .isb-chips a:hover { border-color: var(--k-accent); color: var(--k-accent); }

.isb-content .isb-el-image .isb-img,
.isb-content .isb-img {
  width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block;
  border: 1px solid var(--k-line); border-radius: var(--k-r); background: rgba(255, 255, 255, .07); box-shadow: var(--k-shadow);
}
.isb-content .isb-video, .isb-content .isb-map { border: 1px solid var(--k-line); border-radius: var(--k-r); overflow: hidden; box-shadow: var(--k-shadow); }

.isb-content .isb-panel {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  min-height: var(--isb-el-mh, 0); padding: var(--isb-el-pad, clamp(22px, 4vw, 56px));
  border: 1px solid var(--k-line); border-radius: var(--k-r);
  background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .045)); box-shadow: var(--k-shadow); color: var(--k-text);
}
.isb-content .isb-panel:hover { box-shadow: var(--k-shadow); }
.isb-content .isb-panel::before {
  content: ""; display: block; flex: 0 0 auto; width: 12px; height: 12px; border-radius: 50%;
  background: var(--k-gold); margin: 6px 0 clamp(20px, 4vw, 56px) 6px; box-shadow: 0 0 0 10px rgba(255, 211, 107, .08), 0 0 34px rgba(255, 211, 107, .22);
}
.isb-content .isb-panel-center { align-items: center; text-align: center; }
.isb-content .isb-panel-title { margin: 0 0 10px; max-width: 720px; font-size: clamp(24px, 2.2vw + 16px, 46px); line-height: 1.1; letter-spacing: -.02em; }
.isb-content .isb-panel-text { margin: 0; max-width: 620px; font-size: clamp(16px, .45vw + 14.5px, 20px); color: var(--k-muted); opacity: 1; line-height: 1.55; }
.isb-content .isb-panel .isb-btn { margin-top: clamp(18px, 2.4vw, 30px); }

.isb-content .isb-banner { border: 1px solid var(--k-line); border-radius: var(--k-r); padding: clamp(22px, 4vw, 56px); color: var(--k-text); }
.isb-content .isb-banner-accent { background: linear-gradient(180deg, rgba(255, 179, 106, .16), rgba(255, 255, 255, .07)); border-color: rgba(255, 179, 106, .45); }
.isb-content .isb-banner-dark { background: var(--isb-dark-bg); }
.isb-content .isb-banner-soft { background: var(--k-glass); }
.isb-content .isb-banner .isb-banner-title { margin: 0 0 12px; font-size: clamp(24px, 2.2vw + 16px, 46px); line-height: 1.1; letter-spacing: -.02em; color: var(--k-text); }
.isb-content .isb-banner .isb-banner-text { margin: 0 auto 22px; font-size: clamp(16px, .45vw + 14.5px, 20px); color: var(--k-muted); opacity: 1; }
.isb-content .isb-banner .isb-eyebrow { color: var(--k-gold); }
.isb-content .isb-banner-accent .isb-btn { background: linear-gradient(135deg, var(--k-gold), var(--k-accent), var(--k-accent-2)); color: #1a0d08; }

/* ---------- Інші рідні блоки: темне оформлення ---------- */
.isb-content .isb-iconbox { padding: var(--isb-el-pad, 8px); }
.isb-content .isb-iconbox-text { color: var(--k-muted); opacity: 1; }
.isb-content .isb-stat-label { color: var(--k-muted); opacity: 1; }
.isb-content .isb-tab-nav { border-bottom-color: var(--k-line); }
.isb-content .isb-tab-btn { color: var(--k-muted); }
.isb-content .isb-tab-btn.is-active, .isb-content .isb-tab-btn:hover { color: var(--k-accent); }
.isb-content .isb-tab-panel { color: var(--k-muted); }
.isb-content .isb-tl-item { border-left-color: var(--k-line); }
.isb-content .isb-tl-text { color: var(--k-muted); opacity: 1; }
.isb-content .isb-cmp th, .isb-content .isb-cmp td { border-bottom-color: var(--k-line); }
.isb-content .isb-cmp thead th { border-bottom-color: rgba(255, 255, 255, .28); }
.isb-content .isb-cmp tbody tr:hover { background: rgba(255, 255, 255, .04); }
.isb-content .isb-cmp-no { color: rgba(255, 255, 255, .3); }
.isb-content .isb-cmp-yes { color: var(--k-accent); }
.isb-content .isb-dv-line span { border-top-color: var(--k-line); }
.isb-content .isb-dv-dashed span { border-top-color: rgba(255, 255, 255, .28); }
.isb-content .isb-dv-dots span { background-image: radial-gradient(circle, rgba(255, 255, 255, .4) 1.5px, transparent 2px); }
.isb-content .isb-cd__u { background: var(--k-glass); border: 1px solid var(--k-line); color: var(--k-text); }
.isb-content .isb-gal-item { border-radius: 24px; border: 1px solid var(--k-line); }
.isb-content .isb-bento-tile { padding: 26px 28px; }
.isb-content .isb-bk-quote { background: linear-gradient(180deg, rgba(255, 179, 106, .16), rgba(255, 255, 255, .07)); }
.isb-content .isb-bk-cta { background: var(--k-glass); }
.isb-content .isb-bento-lbl, .isb-content .isb-bento-txt { color: var(--k-muted); opacity: 1; }
.isb-content .isb-bento-cta:hover { color: var(--k-accent); }
.isb-content .isb-iconlist__item { color: var(--k-muted); }
.isb-content .isb-logos--gray .isb-logos__i img { filter: grayscale(1) brightness(1.6); }

/* ---------- Форма запису ---------- */
.isb-content .isb-el-form { max-width: none; margin-inline: 0; width: 100%; }
.isb-content .isb-form,
.abds-modal__panel {
  display: grid; gap: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .065));
  border: 1px solid rgba(255, 255, 255, .14); border-radius: 24px; padding: clamp(20px, 3vw, 36px);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .35); color: #fff8f2;
}
.isb-content .isb-form-title { margin: 0; font-size: clamp(24px, 1.8vw + 17px, 38px); line-height: 1.1; letter-spacing: -.02em; }
.abds-lead { display: grid; gap: 16px; min-width: 0; }
.abds-lead p { margin: 0; color: #cdbdb5; font-size: 16px; }
.abds-lead .wpcf7 { min-width: 0; }
.abds-lead .wpcf7-form { display: grid; gap: 16px; margin: 0; }
.abds-lead .wpcf7-form > p { display: grid; gap: 16px; }
.abds-lead .wpcf7-form br { display: none; }
.abds-lead label { display: grid; gap: 7px; color: #cdbdb5; font-size: 14px; font-weight: 400; margin: 0; }
.abds-lead .wpcf7-form-control-wrap { display: block; }
.abds-lead .hidden-fields-container { display: none; }
.abds-lead .screen-reader-response { position: absolute; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; }
.abds-lead input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.abds-lead select,
.abds-lead textarea {
  display: block; width: 100%; box-sizing: border-box; margin: 0;
  border: 1px solid rgba(255, 255, 255, .14); background: rgba(0, 0, 0, .22); color: #fff8f2;
  border-radius: 14px; padding: 13px 14px; min-height: 50px; outline: none; font: inherit; font-size: 16px;
}
.abds-lead textarea { min-height: 112px; resize: vertical; }
.abds-lead ::placeholder { color: rgba(205, 189, 181, .6); }
.abds-lead input:not([type="submit"]):focus,
.abds-lead select:focus,
.abds-lead textarea:focus { border-color: #ffb36a; box-shadow: 0 0 0 4px rgba(255, 179, 106, .12); }
.abds-lead .wpcf7-submit { width: 100%; }
.abds-lead .wpcf7-spinner { position: absolute; margin: 18px 0 0 -44px; }
.abds-lead .wpcf7-not-valid-tip { margin-top: 6px; color: #ff8f89; font-size: 13px; }
.abds-lead .wpcf7 form .wpcf7-response-output { margin: 0; padding: 12px 16px; border-radius: 16px; border: 1px solid rgba(255, 255, 255, .14); color: #ffb36a; font-weight: 800; }
.abds-lead .wpcf7 form.invalid .wpcf7-response-output,
.abds-lead .wpcf7 form.failed .wpcf7-response-output,
.abds-lead .wpcf7 form.unaccepted .wpcf7-response-output { color: #ff8f89; border-color: rgba(255, 143, 137, .5); }
.abds-lead .wpcf7 form.init .wpcf7-response-output { display: none; }
.abds-lead__consent { color: #cdbdb5; font-size: 12px; line-height: 1.5; }
.abds-lead__notice { padding: 14px 16px; border: 1px dashed rgba(255, 255, 255, .28); border-radius: 16px; }

/* спливне вікно */
.abds-modal[hidden] { display: none; }
.abds-modal {
  position: fixed; inset: 0; z-index: 99990; display: grid; place-items: center; padding: 20px 14px; overflow-y: auto;
  opacity: 0; transition: opacity .2s ease; color: #fff8f2; font-size: 16px; line-height: 1.55;
}
.abds-modal.is-open { opacity: 1; }
.abds-modal__backdrop { position: fixed; inset: 0; background: rgba(8, 5, 6, .74); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.abds-modal__panel {
  position: relative; z-index: 1; width: 100%; max-width: 520px; box-sizing: border-box;
  background: linear-gradient(180deg, #2a1c1e, #1b1214); padding: clamp(22px, 4vw, 36px);
  transform: translateY(14px) scale(.985); transition: transform .22s ease;
}
.abds-modal.is-open .abds-modal__panel { transform: none; }
.abds-modal__title { margin: 0 44px 0 0; font-size: clamp(24px, 3vw, 32px); line-height: 1.1; letter-spacing: -.02em; color: #fff8f2; }
.abds-modal__close {
  position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); color: #fff8f2; font-size: 26px; line-height: 1; cursor: pointer;
}
.abds-modal__close:hover { border-color: #ffb36a; color: #ffb36a; }
body.abds-modal-open { overflow: hidden; }

/* ---------- Блог: стрічка, сторінка статті ---------- */
.isb-content .isb-article { max-width: 780px; margin: 0 auto; padding: calc(var(--k-sec-y) * .7) var(--k-gutter) var(--k-sec-y); }
.isb-content .isb-article-title { margin: 0 0 14px; max-width: none; font-size: clamp(30px, 3.4vw + 17px, 54px); line-height: 1.08; letter-spacing: -.024em; color: var(--k-text); }
.isb-content .isb-article-meta { margin-bottom: clamp(20px, 3vw, 32px); color: var(--k-gold); opacity: 1; text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 800; }
.isb-content .isb-article-cover { width: 100%; height: auto; margin-bottom: clamp(24px, 4vw, 44px); border: 1px solid var(--k-line); border-radius: var(--k-r); box-shadow: var(--k-shadow); aspect-ratio: 16 / 9; object-fit: cover; }
.isb-content .isb-article-body { font-size: clamp(17px, .25vw + 16px, 19px); line-height: 1.7; color: #e6d9d1; }
.isb-content .isb-article-body p { color: inherit; margin: 0 0 1.1em; }
.isb-content .isb-article-body :is(h2, h3, h4) { color: var(--k-text); max-width: none; }
.isb-content .isb-article-body h2 { margin: 1.7em 0 .55em; font-size: clamp(23px, 1.4vw + 18px, 34px); line-height: 1.15; letter-spacing: -.018em; }
.isb-content .isb-article-body h3 { margin: 1.5em 0 .5em; font-size: clamp(19px, .8vw + 16px, 25px); }
.isb-content .isb-article-body :is(ul, ol) { margin: 0 0 1.1em; padding-left: 22px; display: grid; gap: 8px; }
.isb-content .isb-article-body li::marker { color: var(--k-accent); }
.isb-content .isb-article-body a { color: var(--k-gold); text-decoration: underline; text-underline-offset: 4px; }
.isb-content .isb-article-body img { border-radius: var(--k-r-sm); border: 1px solid var(--k-line); }
.isb-content .isb-article-body figure { margin: 1.6em 0; }
.isb-content .isb-article-body figcaption { margin-top: 10px; color: var(--k-muted); font-size: 14px; text-align: center; }
.isb-content .isb-article-body blockquote { margin: 1.6em 0; padding: clamp(18px, 3vw, 30px); border: 1px solid var(--k-line); border-radius: var(--k-r-sm); background: var(--k-glass-soft); color: var(--k-text); font-size: 1.06em; }
.isb-content .isb-article-body blockquote p:last-child { margin-bottom: 0; }
.isb-content .isb-article-body table { width: 100%; border-collapse: collapse; margin: 0 0 1.1em; }
.isb-content .isb-article-body :is(th, td) { padding: 12px 14px; border-bottom: 1px solid var(--k-line); text-align: left; }
.isb-content .isb-article-body strong { color: var(--k-text); }

/* доповнення набору до статті: шлях назад, запис, «читайте також» */
.abds-crumbs { display: flex; flex-wrap: wrap; gap: 6px 10px; max-width: 780px; box-sizing: border-box; margin: 0 auto; padding: 22px 20px 0; font-size: 14px; line-height: 1.4; color: #cdbdb5; }
.abds-crumbs a { color: #cdbdb5; text-decoration: none; }
.abds-crumbs a:hover { color: #ffd36b; }
.abds-crumbs + .isb-content .isb-article { padding-top: 18px; }
@media (min-width: 700px) { .abds-crumbs { padding: 32px 28px 0; } }
.isb-content .abds-post-cta {
  display: grid; gap: 14px; justify-items: start; margin: clamp(32px, 5vw, 52px) 0 0; padding: clamp(20px, 3vw, 34px);
  border: 1px solid rgba(255, 179, 106, .38); border-radius: var(--k-r);
  background: linear-gradient(180deg, rgba(255, 179, 106, .14), rgba(255, 255, 255, .05));
}
.isb-content .abds-post-cta p.abds-post-cta__title { margin: 0; font-size: clamp(21px, 1.2vw + 17px, 30px); line-height: 1.15; letter-spacing: -.018em; color: var(--k-text); font-weight: 800; }
.isb-content .abds-post-cta p { margin: 0; color: var(--k-muted); font-size: 16px; line-height: 1.6; }
.isb-content .isb-article-body .abds-post-cta a.isb-btn { color: #1a0d08; text-decoration: none; }
/* банер запису посеред статті: один рядок тексту й кнопка */
.isb-content .abds-post-banner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px;
  margin: clamp(28px, 4vw, 44px) 0; padding: clamp(16px, 2.4vw, 24px) clamp(18px, 2.6vw, 28px);
  border: 1px solid rgba(255, 179, 106, .38); border-radius: var(--k-r);
  background: linear-gradient(135deg, rgba(255, 179, 106, .16), rgba(240, 95, 87, .08));
}
.isb-content .abds-post-banner p.abds-post-banner__title { flex: 1 1 240px; margin: 0; color: var(--k-text); font-size: clamp(17px, .4vw + 15.5px, 20px); line-height: 1.35; font-weight: 700; }
.isb-content .isb-article-body .abds-post-banner a.isb-btn { flex: 0 0 auto; min-height: 48px; padding: 11px 24px; color: #1a0d08; text-decoration: none; }
/* FAQ у статті: рідна гармошка конструктора */
.isb-content .isb-article-body .abds-post-faq { margin: 0 0 1.1em; }
.isb-content .isb-article-body .abds-post-faq .isb-faq-a p { margin: 0 0 .7em; color: var(--k-muted); font-size: 16px; line-height: 1.6; }
.isb-content .isb-article-body .abds-post-faq .isb-faq-a p:last-child { margin-bottom: 0; }
/* попередня / наступна стаття */
.isb-content .abds-post-nav { display: grid; grid-template-columns: 1fr; gap: 10px; margin: clamp(28px, 4vw, 44px) 0 0; }
.isb-content .abds-post-nav__gap { display: none; }
.isb-content .isb-article-body a.abds-post-nav__item {
  display: grid; gap: 6px; align-content: start; padding: 16px 18px; border: 1px solid var(--k-line); border-radius: var(--k-r-sm);
  background: var(--k-glass-soft); color: var(--k-text); text-decoration: none; transition: border-color .2s ease;
}
.isb-content .isb-article-body a.abds-post-nav__item:hover { border-color: rgba(255, 179, 106, .45); }
.isb-content .abds-post-nav__dir { color: var(--k-gold); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.isb-content .abds-post-nav__title { font-size: 16px; font-weight: 700; line-height: 1.35; }
@media (min-width: 700px) {
  .isb-content .abds-post-nav { grid-template-columns: 1fr 1fr; gap: 14px; }
  .isb-content .abds-post-nav__gap { display: block; }
  .isb-content .abds-post-nav__next { text-align: right; }
}
.isb-content .abds-related { margin: clamp(36px, 5vw, 60px) 0 0; }
.isb-content .abds-related__title { margin: 0 0 16px; font-size: clamp(21px, 1.2vw + 17px, 30px); line-height: 1.15; letter-spacing: -.018em; }
.isb-content .abds-related ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.isb-content .abds-related li a {
  display: block; padding: 16px 18px; border: 1px solid var(--k-line); border-radius: var(--k-r-sm);
  background: var(--k-glass-soft); color: var(--k-text); font-weight: 700; line-height: 1.35; text-decoration: none;
}
.isb-content .abds-related li a:hover { border-color: rgba(255, 179, 106, .4); color: var(--k-gold); }
.isb-content .abds-related__all { display: inline-flex; margin-top: 16px; color: var(--k-gold); font-weight: 700; text-decoration: none; }

.isb-content .isb-blog .isb-sec-title { font-size: clamp(34px, 5.2vw + 14px, 76px); line-height: 1.04; letter-spacing: -.028em; margin: 0; }
.isb-content .isb-blog .isb-sec-sub { margin-top: 14px; font-size: clamp(16px, .45vw + 14.5px, 20px); }
.isb-content .isb-blog .isb-sec-head { margin-bottom: clamp(24px, 4vw, 52px); text-align: left !important; }
.isb-content .isb-blog > .isb-row { padding: calc(var(--k-sec-y) * .8) var(--k-gutter) var(--k-sec-y); }
.isb-content .isb-blog-grid { gap: clamp(14px, 2.2vw, 28px); }
.isb-content .isb-blog-card-title, .isb-content .isb-post-title { margin: 0; font-size: clamp(19px, .6vw + 17px, 24px); line-height: 1.2; letter-spacing: -.012em; font-weight: 700; color: var(--k-text); }
.isb-content .isb-post-title a { color: var(--k-text); text-decoration: none; }
.isb-content .isb-blog-card-body, .isb-content .isb-post-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: clamp(18px, 2.2vw, 28px); gap: 8px; }
.isb-content .isb-blog-date, .isb-content .isb-post-date { color: var(--k-gold); opacity: 1; text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 800; }
.isb-content .isb-blog-excerpt, .isb-content .isb-post-excerpt { margin: 0; color: var(--k-muted); opacity: 1; font-size: 15px; line-height: 1.55; }
.isb-content .isb-blog-card .isb-card-link, .isb-content .isb-post-more { margin-top: auto; padding-top: 10px; color: var(--k-gold); font-weight: 700; text-decoration: none; }
.isb-content .isb-blog-card .isb-card-link::after { content: none; }
.isb-content .isb-blog-thumb, .isb-content .isb-post-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: rgba(255, 255, 255, .05); }
.isb-content .isb-blog-thumb img, .isb-content .isb-post-media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.isb-content .isb-post-card { display: flex; flex-direction: column; }
.isb-content .isb-post-card .isb-post-more::after { content: ""; position: absolute; inset: 0; } /* клікабельна вся картка */
.isb-content .isb-blog-pagination .page-numbers { border-color: var(--k-line); color: var(--k-text); border-radius: 999px; }
.isb-content .isb-blog-pagination .page-numbers.current { background: linear-gradient(135deg, var(--k-gold), var(--k-accent)); color: #1a0d08; }
.isb-content .isb-postlist-empty, .isb-content .isb-blog-empty { color: var(--k-muted); opacity: 1; }

/* «Стрічка блогу»: сітка (2–3 колонки) */
.isb-content .isb-postlist { gap: clamp(14px, 2.2vw, 28px); }
@media (min-width: 700px) and (max-width: 979px) { .isb-content .isb-postlist.isb-pl-3 { grid-template-columns: repeat(2, 1fr) !important; } }
/* «Стрічка блогу», 4 колонки → слайдер: гортається пальцем, на великому екрані ще й стрілками */
.isb-content .isb-postlist.isb-pl-4 {
  display: flex; grid-template-columns: none !important; gap: 14px; overflow-x: auto; overscroll-behavior-x: contain;
  scroll-padding-inline: var(--k-gutter); scrollbar-width: none;
  margin: 0 calc(-1 * var(--k-gutter)); padding: 6px var(--k-gutter) 16px;
}
.isb-content .isb-postlist.isb-pl-4::-webkit-scrollbar { display: none; }
.isb-content .isb-postlist.isb-pl-4 > .isb-post-card { flex: 0 0 min(80vw, 330px); }
html:not(.abds-mouse) .isb-content .isb-postlist.isb-pl-4 { scroll-snap-type: x mandatory; }
html:not(.abds-mouse) .isb-content .isb-postlist.isb-pl-4 > .isb-post-card { scroll-snap-align: start; }
.isb-content .isb-postlist.isb-pl-4:focus-visible { outline: 2px solid var(--k-gold); outline-offset: 4px; border-radius: var(--k-r); }
@media (min-width: 700px) {
  .isb-content .isb-postlist.isb-pl-4 { gap: 20px; }
  .isb-content .isb-postlist.isb-pl-4 > .isb-post-card { flex-basis: clamp(300px, 30vw, 380px); }
}
/* стрілки стрічок: лише там, де є миша (на сенсорному екрані гортає палець), за будь-якої ширини вікна */
.isb-content .abds-slider-nav { display: none; }
.abds-mouse .isb-content .abds-slider-nav { display: flex; gap: 10px; justify-content: flex-end; margin: calc(-1 * clamp(6px, 1.8vw, 24px)) 0 12px; }
.abds-mouse .isb-content .abds-slider-nav[hidden] { display: none; }
.isb-content .abds-slider-nav button {
  width: 46px; height: 46px; padding: 0; border-radius: 50%; border: 1px solid var(--k-line); background: rgba(255, 255, 255, .06);
  color: var(--k-text); font: inherit; font-size: 18px; line-height: 1; cursor: pointer; transition: border-color .2s ease, color .2s ease, opacity .2s ease;
}
.isb-content .abds-slider-nav button:hover { border-color: var(--k-accent); color: var(--k-accent); }
.isb-content .abds-slider-nav button:focus-visible { outline: 2px solid var(--k-gold); outline-offset: 3px; }
.isb-content .abds-slider-nav button:disabled { opacity: .35; cursor: default; }
.isb-content .abds-slider-nav button:disabled:hover { border-color: var(--k-line); color: var(--k-text); }

/* ---------- «Читати більше»: згорнутий текст (SEO-стаття) і довгий розклад на телефоні ---------- */
.isb-content .abds-more {
  max-height: var(--abds-more-h, 210px); overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 84px), transparent);
  mask-image: linear-gradient(180deg, #000 calc(100% - 84px), transparent);
}
.isb-content .abds-more.is-open { max-height: none; overflow: visible; -webkit-mask-image: none; mask-image: none; }
.isb-content .abds-more-btn {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; min-height: 48px; padding: 11px 20px;
  border: 1px solid var(--k-line); border-radius: 999px; background: rgba(255, 255, 255, .06);
  color: var(--k-text); font: inherit; font-weight: 700; cursor: pointer; transition: border-color .2s ease, color .2s ease;
}
.isb-content .abds-more-btn:hover { border-color: var(--k-accent); color: var(--k-accent); }
.isb-content .abds-more-btn::after { content: "↓"; color: var(--k-accent); transition: transform .2s ease; }
.isb-content .abds-more-btn[aria-expanded="true"]::after { transform: rotate(180deg); }
.isb-content .abds-more-btn:focus-visible { outline: 2px solid var(--k-gold); outline-offset: 3px; }
.isb-content > .isb-sec[id^="seo"] .isb-el-heading { margin-bottom: clamp(14px, 2vw, 22px); }
.isb-content > .isb-sec[id^="seo"] .isb-heading { font-size: clamp(24px, 1.8vw + 17px, 40px); line-height: 1.12; letter-spacing: -.02em; }
.isb-content > .isb-sec[id^="seo"] .isb-text h3 { font-size: clamp(18px, .5vw + 16px, 22px); }
/* SEO-текст ширший за звичайні абзаци — до 1080 px, як у первісній темі */
.isb-content > .isb-sec[id^="seo"] .isb-text :is(p, ul, ol, h2, h3, h4),
.isb-content > .isb-sec[id^="seo"] .isb-heading { max-width: 1080px; }

/* ---------- Службові сторінки (політика, умови): вузька колонка тексту ---------- */
.isb-content > .isb-sec#page-content:last-child > .isb-row { padding-top: calc(var(--k-sec-y) * .4); }
.isb-content > .isb-sec#page-content:last-child .isb-text h2 { font-size: clamp(21px, 1vw + 17px, 28px); margin-top: clamp(30px, 4vw, 44px); }

/* сторінка 404 конструктора */
.isb-404 { color: #fff8f2; }
.isb-404-title { color: #fff8f2; }
.isb-404-text, .isb-404-note { color: #cdbdb5; opacity: 1; }
.isb-404-search input[type=search] { background: rgba(0, 0, 0, .22); border-color: rgba(255, 255, 255, .14); color: #fff8f2; }
.isb-404-search button { background: linear-gradient(135deg, #ffd36b, #ffb36a); color: #1a0d08; }

/* ---------- Мобільна кнопка запису (власні стилі набору, без залежності від теми) ---------- */
.abds-sticky { display: none; }
@media (max-width: 979px) {
  .abds-sticky {
    position: fixed; z-index: 75; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 20px; box-sizing: border-box;
    border-radius: 999px; background: linear-gradient(135deg, #ffd36b, #ffb36a, #f05f57); color: #1a0d08;
    font-size: 15px; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none;
    box-shadow: 0 16px 44px rgba(0, 0, 0, .45);
    opacity: 0; visibility: hidden; transform: translateY(12px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  }
  .abds-sticky.is-on { opacity: 1; visibility: visible; transform: none; }
  /* на сайті є кнопка чату в правому нижньому куті: кнопка запису стає поруч, а не під нею */
  .abds-has-chat .abds-sticky { right: calc(var(--abds-chat-space, 92px) + 0px); bottom: calc(var(--abds-chat-bottom, 20px) + 4px); }
  .abds-has-chat body.abds-kit .back-to-top { bottom: calc(var(--abds-chat-bottom, 20px) + 76px); right: 27px; }
  body.abds-modal-open .abds-sticky { opacity: 0; visibility: hidden; }
}

/* ---------- Планшет і телефон ---------- */
@media (max-width: 699px) {
  .isb-content .isb-article-body .abds-post-banner a.isb-btn { width: 100%; }
  /* два стовпці, де першим стоїть лише фото: на телефоні спершу заголовок і текст, потім фото */
  .isb-content .isb-row.isb-cols-2:has(> .isb-col:first-child > .isb-el-image:only-child) { flex-direction: column-reverse; }
  .isb-content .isb-hero-actions .isb-btn { width: 100%; }
  .isb-content .isb-price .isb-btn { width: 100%; }
  .isb-content .isb-row-carousel .isb-card { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .isb-content *, .isb-content *::before, .isb-content *::after, .abds-modal, .abds-modal *, .abds-sticky { transition: none !important; animation: none !important; }
}

/* ---------- Стрічка відгуків (рідні блоки «Відгук» у рядку-каруселі) ---------- */
.isb-content .isb-row-carousel > .isb-col:has(.isb-review) { flex: 0 0 min(84vw, 360px) !important; }
@media (min-width: 980px) { .isb-content .isb-row-carousel > .isb-col:has(.isb-review) { flex-basis: clamp(340px, 31vw, 420px) !important; } }
.isb-content .isb-row-carousel .isb-review { flex: 1 1 auto; }
.isb-content .isb-row-carousel .isb-review-text { font-size: clamp(15.5px, .2vw + 15px, 17px); line-height: 1.6; }
.isb-content .isb-el-container + .isb-el-text:has(> .isb-text > p > a.isb-card-link) { margin-top: clamp(18px, 2.4vw, 28px); }
.isb-content .isb-text p:has(> a.isb-card-link + a.isb-card-link) { display: flex; flex-wrap: wrap; gap: 10px 26px; }
/* картки відгуків — за висотою свого тексту, без порожнього місця в коротких */
.isb-content .isb-row-carousel:has(.isb-review) { align-items: flex-start; }

/* ---------- Комп'ютер: один блок — один екран, ширша сітка (як у попередній темі) ----------
 * Кожна секція сторінки на ПК займає щонайменше висоту вікна (блоки однакові), вміст по центру.
 * Секція, у якій вмісту більше, ніж на один екран, лишається вищою. Сторінку блогу не розтягуємо. Фонове фото тоді має пропорції, близькі до своїх, і майже не обрізається.
 * Статті блогу не чіпаємо: у них своя вузька колонка для читання. */
@media (min-width: 980px) {
  body:not(.single-post):not(.abds-blog-page) .isb-content > .isb-sec,
  body:not(.abds-blog-page) .isb-content > .isb-sec:has(> .isb-row > .isb-col > .isb-el-hero .isb-hero-visual) {
    display: grid; align-items: center;
    min-height: calc(100svh - var(--k-header) - var(--wp-admin--admin-bar--height, 0px));
  }
}
@media (min-width: 1280px) {
  body:not(.single-post) .isb-content { --k-container: 1480px; }
}

/* ---------- Сторінки блогу ---------- */
.isb-content .abds-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: clamp(28px, 4vw, 48px); }
.isb-content .abds-pager a,
.isb-content .abds-pager span {
  display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 16px; box-sizing: border-box;
  border-radius: 999px; border: 1px solid var(--k-line); background: var(--k-glass-soft); color: var(--k-text);
  font-size: 15px; font-weight: 700; text-decoration: none; transition: border-color .2s ease, transform .2s ease;
}
.isb-content .abds-pager a:hover { border-color: rgba(255, 179, 106, .5); transform: translateY(-2px); }
.isb-content .abds-pager .is-current { background: linear-gradient(135deg, var(--k-gold), var(--k-accent)); border-color: transparent; color: #1a0d08; }
.isb-content .abds-pager .abds-pager__gap { min-width: 0; padding: 0 2px; border: 0; background: none; color: var(--k-muted); }
@media (max-width: 559px) { .isb-content .abds-pager__step { flex: 1 1 100%; } }


/* заявку надіслано: замість полів — велике підтвердження (клас ставить kit.js після успішного надсилання) */
.abds-lead.is-sent .wpcf7-form > :not(.wpcf7-response-output),
.abds-lead.is-sent .abds-lead__lead,
.abds-lead.is-sent .abds-lead__consent { display: none !important; }
.abds-lead.is-sent .wpcf7 form .wpcf7-response-output { display: block; margin: 0; padding: 22px 20px; font-size: 18px; line-height: 1.45; text-align: center; outline: none; }
