/* ===================== ЦВЕТНЫЕ КОНТУРНЫЕ ПАМЯТНИКИ (2026-11-12) =====================
   /pamjatniki/konturnye-pamjatniki. Подключается через ViewData["CssPage"] = "konturnye-pamjatniki";
   общие блоки mt-* берутся из css/pages/metall.css (PageStyles.RequireCss на странице). Свои классы — префикс kt-.
   Только компьютер. Планшет и телефон — css/adaptive/svc-pamjatniki.css, раздел «Контурные памятники». */

/* — Ритм секций: 56px между блоками — */
.service-page > section.kt-gallery,
.service-page > section.kt-what,
.service-page > section.kt-concept,
.service-page > section.kt-print,
.service-page > section.kt-protect,
.service-page > section.kt-granite,
.service-page > section.kt-prepare,
.service-page > section.kt-inscr,
.service-page > section.kt-variants,
.service-page > section.kt-demo,
.service-page > section.kt-metal,
.service-page > section.kt-ideas,
.service-page > section.kt-alts,
.service-page > section.kt-install,
.service-page > section.kt-care,
.service-page > section.kt-related {
  padding-top: 0 !important;
  padding-bottom: 56px !important;
}
.service-page > section[id^="kt-"] { scroll-margin-top: calc(var(--header-height, 70px) + 16px); }

/* Отступы между частями блока — вплотную ничего не ставим */
.kt-page .kt-gap { margin-top: 28px; }
.kt-page .kt-gap-sm { margin-top: 20px; }
.kt-p { margin: 14px 0 0; font-size: 16px; line-height: 1.6; color: var(--ink-2); }

/* — Текст + кадр — */
.kt-split { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 40px; align-items: center; }
.kt-split--rev { grid-template-columns: 440px minmax(0, 1fr); }
.kt-split--rev > .kt-split__pic { grid-column: 1; grid-row: 1; }
.kt-split--rev > .kt-split__text { grid-column: 2; grid-row: 1; }
.kt-split__text { min-width: 0; }
.kt-pic--45 { aspect-ratio: 4 / 5; }
.kt-pic--43 { aspect-ratio: 4 / 3; }

/* — Галерея реальных фото — */
.kt-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.kt-gallery__item { aspect-ratio: 3 / 4; }
.kt-gallery__cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 12px 10px; text-align: left;
  background: linear-gradient(to top, rgba(20, 24, 26, .72), rgba(20, 24, 26, 0));
  color: #fff; font-size: 13.5px; font-weight: 600; line-height: 1.3;
}

/* — Таблица «стела или контур» — */
.kt-table .mt-table__row { grid-template-columns: 200px minmax(0, 1fr) minmax(0, 1fr); }
.kt-table .mt-table__row--head > div:nth-child(2) { background: transparent; }
.kt-table .mt-table__row--head > div:nth-child(3) { background: var(--green-50); }

/* — Плашка гарантии — */
.kt-badge {
  display: flex; gap: 16px; align-items: center; margin-top: 22px; padding: 18px 20px;
  border-radius: 18px; background: #e3efe6; border: 1px solid #cfe1d4;
}
.kt-badge__num { font-size: 32px; font-weight: 800; line-height: 1.1; color: var(--green-700, #1f6a3a); }
.kt-badge__text { margin-top: 4px; font-size: 15px; line-height: 1.45; color: var(--ink-2); }

/* — Мини-карточки 2×2 — */
.kt-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.kt-mini {
  display: flex; gap: 12px; align-items: flex-start; padding: 16px;
  border: 1px solid var(--line); border-radius: 16px; background: var(--card);
}
.kt-mini b { display: block; font-size: 16px; line-height: 1.3; color: var(--ink); }
.kt-mini span:not(.mt-ico) { display: block; margin-top: 6px; font-size: 14px; line-height: 1.5; color: var(--ink-3); }

/* — Шаги подготовки: 4 в ряд — */
.kt-page .kt-steps-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* — Одиночный / семейный — */
.kt-variants__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.kt-card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: var(--card); overflow: hidden; min-width: 0; }
.kt-card__pic { aspect-ratio: 4 / 3; border-radius: 0; }
.kt-card__body { display: flex; flex-direction: column; gap: 12px; padding: 22px 24px 24px; }
.kt-card__title { margin: 0; font-size: 22px; color: var(--ink); }
.kt-card__text { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-3); }

/* — Разбор образца — */
.kt-demo__layout { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 36px; align-items: start; }
.kt-demo__pic { aspect-ratio: 3 / 5; }
.kt-demo__height {
  position: absolute; right: 14px; top: 14px; bottom: 14px; width: 2px; background: rgba(255, 255, 255, .85);
}
.kt-demo__height::before, .kt-demo__height::after {
  content: ""; position: absolute; left: -7px; width: 16px; height: 2px; background: rgba(255, 255, 255, .85);
}
.kt-demo__height::before { top: 0; }
.kt-demo__height::after { bottom: 0; }
.kt-demo__height span {
  position: absolute; top: 50%; right: 10px; transform: translateY(-50%); white-space: nowrap;
  padding: 4px 10px; border-radius: 8px; background: rgba(20, 24, 26, .62); color: #fff; font-weight: 700; font-size: 15px;
}
.kt-demo__parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.kt-demo__part {
  display: flex; gap: 12px; align-items: flex-start; padding: 18px;
  border: 1px solid var(--line); border-radius: 16px; background: var(--card);
}
.kt-demo__title { margin: 0; font-size: 17px; line-height: 1.3; color: var(--ink); }
.kt-demo__text { margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-3); }
.kt-demo__thumbs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 6px; }
.kt-demo__thumb { aspect-ratio: 1 / 1; }

/* — Металл: кнопки — */
.kt-actions { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }

/* — Перелинковка по кругу — */
.kt-related__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.kt-rel {
  display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 18px;
  background: var(--card); overflow: hidden; text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s;
}
.kt-rel:hover { box-shadow: 0 10px 28px rgba(20, 24, 26, .08); transform: translateY(-2px); }
.kt-rel__pic { aspect-ratio: 4 / 3; border-radius: 0; }
.kt-rel__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.kt-rel__title { font-size: 17px; line-height: 1.3; color: var(--ink); }
.kt-rel__text { font-size: 14px; line-height: 1.5; color: var(--ink-3); }
.kt-rel__price { font-size: 14px; font-weight: 700; color: var(--green-600); }

/* — Квиз: textarea от 3 до 10 строк, тянется только по вертикали (правило владельца) — */
.kt-quiz-textarea { resize: vertical; min-height: calc(3 * 1.5em + 26px); max-height: calc(10 * 1.5em + 26px); line-height: 1.5; }
.kt-quiz-gap { margin-top: 14px !important; }
