/* ==========================================================================
   KOGER — Design System
   1. Tokens            6. Buttons & links
   2. Reset & base      7. Cards & grids
   3. Typography        8. Blocks (hero, features, stats, gallery…)
   4. Layout            9. Header & footer
   5. Motion           10. Forms, editor content, utilities
   ========================================================================== */

/* 1. TOKENS ================================================================ */
:root {
  /* Brand — взето от логото и съществуващия сайт на Koger */
  --k-red:          #b00f1f;
  --k-red-deep:     #8c0b18;
  --k-red-soft:     #f6e7e9;
  --k-star:         #f59018;   /* оранжево за оценките */

  /* Ink & neutrals */
  --k-ink:          #0a0a0a;
  --k-ink-2:        #262626;
  --k-muted:        #6b6b6b;
  --k-line:         #e4e2e0;
  --k-line-strong:  #c9c6c3;
  --k-bg:           #ffffff;
  --k-bg-alt:       #f6f5f3;   /* топло off-white, не сиво */
  --k-bg-dark:      #121212;

  /* Type */
  --k-font-display: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --k-font-body:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Fluid type scale — min 375px, max 1600px */
  --k-fs-display: clamp(2.65rem, 1.2rem + 6.2vw, 6.25rem);
  --k-fs-h1:      clamp(2.1rem,  1.25rem + 3.6vw, 4.25rem);
  --k-fs-h2:      clamp(1.7rem,  1.15rem + 2.3vw, 3.1rem);
  --k-fs-h3:      clamp(1.3rem,  1.05rem + 1.05vw, 1.95rem);
  --k-fs-h4:      clamp(1.1rem,  1rem + 0.45vw, 1.35rem);
  --k-fs-lead:    clamp(1.05rem, 0.98rem + 0.42vw, 1.3rem);
  --k-fs-body:    clamp(1rem,    0.97rem + 0.14vw, 1.0625rem);
  --k-fs-small:   0.875rem;
  --k-fs-micro:   0.75rem;

  /* Spacing */
  --k-s1: 0.5rem;  --k-s2: 1rem;   --k-s3: 1.5rem;  --k-s4: 2rem;
  --k-s5: 3rem;    --k-s6: 4rem;   --k-s7: 6rem;    --k-s8: 8rem;
  --k-section:     clamp(4rem, 2rem + 7vw, 9rem);
  --k-gutter:      clamp(1.25rem, 0.6rem + 2.4vw, 3.5rem);

  /* Layout */
  --k-max:       1560px;
  --k-max-wide:  1760px;
  --k-max-text:  72ch;

  /* Motion */
  --k-ease:      cubic-bezier(0.22, 0.61, 0.36, 1);
  --k-ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
  --k-dur:       0.5s;

  --k-header-h: 84px;
}

@media (max-width: 860px) { :root { --k-header-h: 68px; } }

/* 2. RESET & BASE ========================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--k-bg);
  color: var(--k-ink);
  font-family: var(--k-font-body);
  font-size: var(--k-fs-body);
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* clip, а не hidden: hidden превръща body в скрол-контейнер и убива position:sticky */
html, body { overflow-x: clip; }

@supports not (overflow-x: clip) {
  body { overflow-x: hidden; }
}

body.k-no-scroll { overflow: hidden; }

img, svg, video, iframe { max-width: 100%; height: auto; display: block; }
img { border-style: none; }

a { color: inherit; text-decoration: none; }

button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }

:focus-visible {
  outline: 2px solid var(--k-red);
  outline-offset: 3px;
}

.k-skip {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--k-ink); color: #fff; padding: 0.75rem 1.25rem;
}
.k-skip:focus { left: 0; }

::selection { background: var(--k-red); color: #fff; }

/* 3. TYPOGRAPHY ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--k-font-display);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.022em;
  margin: 0 0 var(--k-s3);
  text-wrap: balance;
}

h1 { font-size: var(--k-fs-h1); }
h2 { font-size: var(--k-fs-h2); }
h3 { font-size: var(--k-fs-h3); letter-spacing: -0.015em; }
h4 { font-size: var(--k-fs-h4); letter-spacing: -0.01em; font-weight: 600; }
h5, h6 { font-size: var(--k-fs-body); letter-spacing: 0; }

p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

.k-display {
  font-family: var(--k-font-display);
  font-size: var(--k-fs-display);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.k-lead {
  font-size: var(--k-fs-lead);
  line-height: 1.6;
  color: var(--k-ink-2);
  max-width: 62ch;
}

/* Малък надпис над заглавие — задава ритъм на секциите */
.k-eyebrow {
  display: inline-flex; align-items: center; gap: 0.6rem;
  font-family: var(--k-font-body);
  font-size: var(--k-fs-micro);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--k-muted);
  margin: 0 0 var(--k-s3);
}
.k-eyebrow::before {
  content: ""; width: 28px; height: 1px; background: var(--k-red); flex: none;
}
.k-eyebrow--plain::before { display: none; }

.k-muted { color: var(--k-muted); }
.k-accent { color: var(--k-red); }

/* 4. LAYOUT ================================================================ */
.k-wrap {
  width: 100%;
  max-width: var(--k-max);
  margin-inline: auto;
  padding-inline: var(--k-gutter);
}
.k-wrap--wide { max-width: var(--k-max-wide); }
.k-wrap--text { max-width: calc(var(--k-max-text) + var(--k-gutter) * 2); }
.k-wrap--flush { padding-inline: 0; }

.k-section { padding-block: var(--k-section); }
.k-section--tight { padding-block: calc(var(--k-section) * 0.55); }
.k-section--alt { background: var(--k-bg-alt); }
.k-section--dark { background: var(--k-bg-dark); color: #fff; }
.k-section--dark .k-eyebrow { color: rgba(255,255,255,0.6); }
.k-section--dark .k-lead { color: rgba(255,255,255,0.78); }

.k-rule { height: 1px; background: var(--k-line); border: 0; margin: 0; }

/* Асиметричен editorial грид: заглавие вляво, текст вдясно */
.k-split {
  display: grid;
  gap: var(--k-s5) var(--k-gutter);
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .k-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--k-s6) clamp(2rem, 5vw, 6rem); }
  .k-split--even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-split--narrow { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
  .k-split__sticky { position: sticky; top: calc(var(--k-header-h) + 2rem); align-self: start; }
}

.k-section__head {
  display: grid; gap: var(--k-s3) var(--k-gutter);
  align-items: end;
  margin-bottom: var(--k-s6);
}
@media (min-width: 900px) {
  .k-section__head { grid-template-columns: minmax(0, 1fr) auto; }
}
.k-section__head h2 { margin-bottom: 0; }

/* 5. MOTION ================================================================ */
.k-js .k-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity 0.7s var(--k-ease-out), transform 0.7s var(--k-ease-out);
  transition-delay: var(--k-delay, 0ms);
  will-change: opacity, transform;
}
.k-js .k-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .k-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* 6. BUTTONS & LINKS ======================================================= */
.k-btn {
  --btn-bg: var(--k-ink);
  --btn-fg: #fff;
  --btn-bd: var(--k-ink);
  display: inline-flex; align-items: center; justify-content: center; gap: 0.7rem;
  padding: 1.05rem 2rem;
  background: var(--btn-bg);
  color: var(--btn-fg);
  border: 1px solid var(--btn-bd);
  border-radius: 999px;
  font-family: var(--k-font-body);
  font-size: var(--k-fs-small);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1;
  text-align: center;
  transition: background var(--k-dur) var(--k-ease), color var(--k-dur) var(--k-ease),
              border-color var(--k-dur) var(--k-ease), transform 0.25s var(--k-ease);
}
.k-btn:hover { --btn-bg: var(--k-red); --btn-bd: var(--k-red); transform: translateY(-2px); }
.k-btn:active { transform: translateY(0); }

.k-btn--primary { --btn-bg: var(--k-red); --btn-bd: var(--k-red); }
.k-btn--primary:hover { --btn-bg: var(--k-red-deep); --btn-bd: var(--k-red-deep); }

.k-btn--ghost { --btn-bg: transparent; --btn-fg: var(--k-ink); --btn-bd: var(--k-line-strong); }
.k-btn--ghost:hover { --btn-bg: var(--k-ink); --btn-fg: #fff; --btn-bd: var(--k-ink); }

.k-btn--light { --btn-bg: transparent; --btn-fg: #fff; --btn-bd: rgba(255,255,255,0.4); }
.k-btn--light:hover { --btn-bg: #fff; --btn-fg: var(--k-ink); --btn-bd: #fff; }

.k-btn__arrow { transition: transform 0.4s var(--k-ease-out); }
.k-btn:hover .k-btn__arrow { transform: translateX(4px); }

/* Текстова връзка със стрелка */
.k-link {
  display: inline-flex; align-items: center; gap: 0.55rem;
  font-size: var(--k-fs-small); font-weight: 600;
  color: var(--k-ink);
  padding-bottom: 2px;
  background-image: linear-gradient(var(--k-red), var(--k-red));
  background-size: 0% 1px; background-repeat: no-repeat; background-position: left bottom;
  transition: background-size 0.45s var(--k-ease-out), color 0.3s var(--k-ease);
}
.k-link:hover { color: var(--k-red); background-size: 100% 1px; }
.k-link svg, .k-btn svg { flex: none; }
.k-link:hover .k-btn__arrow { transform: translateX(4px); }

/* 7. CARDS & GRIDS ========================================================= */
.k-grid { display: grid; gap: var(--k-gutter); }
.k-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.k-grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); }
.k-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }

.k-card { display: flex; flex-direction: column; min-width: 0; }

.k-card__media {
  position: relative;
  overflow: hidden;
  background: var(--k-bg-alt);
  aspect-ratio: 4 / 3;
  margin-bottom: var(--k-s3);
}
.k-card__media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.9s var(--k-ease-out), filter 0.6s var(--k-ease);
}
.k-card:hover .k-card__media img { transform: scale(1.055); }

.k-card__media--tall { aspect-ratio: 3 / 4; }
.k-card__media--wide { aspect-ratio: 16 / 10; }

.k-card__title {
  font-family: var(--k-font-display);
  font-size: var(--k-fs-h4);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -0.012em;
  margin: 0 0 0.5rem;
}
.k-card:hover .k-card__title { color: var(--k-red); }
.k-card__title, .k-card__meta { transition: color 0.3s var(--k-ease); }

.k-card__meta {
  font-size: var(--k-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--k-muted);
  margin: 0 0 0.6rem;
}

.k-card__excerpt { font-size: var(--k-fs-small); color: var(--k-muted); margin: 0 0 var(--k-s2); }

.k-card__more {
  margin-top: auto; padding-top: var(--k-s2);
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: var(--k-fs-small); font-weight: 600; color: var(--k-ink);
}
.k-card:hover .k-card__more { color: var(--k-red); }
.k-card:hover .k-card__more .k-btn__arrow { transform: translateX(5px); }

.k-card__link { position: absolute; inset: 0; z-index: 2; }
.k-card { position: relative; }

/* Карта с надпис върху изображението — за проекти */
.k-card--overlay .k-card__media { aspect-ratio: 3 / 4; margin-bottom: 0; }
.k-card--overlay .k-card__body {
  position: absolute; inset: auto 0 0 0; z-index: 1;
  padding: var(--k-s4);
  color: #fff;
  background: linear-gradient(to top, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.35) 45%, transparent 100%);
}
.k-card--overlay .k-card__title { color: #fff; }
.k-card--overlay .k-card__meta { color: rgba(255,255,255,0.75); }
.k-card--overlay:hover .k-card__title { color: #fff; }

/* 8. BLOCKS ================================================================ */

/* --- Hero / slider --- */
.k-hero {
  position: relative;
  min-height: clamp(520px, 82vh, 900px);
  display: grid;
  isolation: isolate;
  background: var(--k-bg-dark);
}
.k-hero__slides { position: absolute; inset: 0; overflow: hidden; }
.k-hero__slide {
  position: absolute; inset: 0;
  opacity: 0;
  transition: opacity 1.1s var(--k-ease);
}
.k-hero__slide.is-active { opacity: 1; }
.k-hero__slide img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.06);
  transition: transform 7s linear;
}
.k-hero__slide.is-active img { transform: scale(1); }
.k-hero__slide::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.42) 100%);
}

.k-hero__inner {
  position: relative; z-index: 2;
  align-self: end;
  width: 100%;
  padding-block: clamp(3rem, 7vw, 7rem);
  color: #fff;
}
.k-hero__title {
  font-family: var(--k-font-display);
  font-size: var(--k-fs-display);
  font-weight: 600; line-height: 0.98; letter-spacing: -0.035em;
  margin: 0 0 var(--k-s3);
  max-width: 18ch;
}
.k-hero__text { font-size: var(--k-fs-lead); color: rgba(255,255,255,0.86); max-width: 48ch; margin: 0 0 var(--k-s4); }

.k-hero__nav {
  display: flex; align-items: center; gap: 0.75rem;
  margin-top: var(--k-s5);
}
.k-hero__dot {
  width: 34px; height: 2px; background: rgba(255,255,255,0.32);
  transition: background 0.35s var(--k-ease);
}
.k-hero__dot.is-active { background: #fff; }
.k-hero__dot:hover { background: rgba(255,255,255,0.7); }

.k-hero__scroll {
  position: absolute; right: var(--k-gutter); bottom: clamp(2rem, 5vw, 4rem); z-index: 2;
  display: none; align-items: center; gap: 0.6rem;
  color: rgba(255,255,255,0.72);
  font-size: var(--k-fs-micro); letter-spacing: 0.14em; text-transform: uppercase;
  writing-mode: vertical-rl;
}
@media (min-width: 1100px) { .k-hero__scroll { display: flex; } }
.k-hero__scroll::after {
  content: ""; width: 1px; height: 54px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.7), transparent);
  animation: k-scrollhint 2.2s var(--k-ease) infinite;
}
@keyframes k-scrollhint { 0%,100% { opacity: 0.3; transform: scaleY(0.6); transform-origin: top; } 50% { opacity: 1; transform: scaleY(1); } }

/* Компактен хиро за вътрешни страници */
.k-pagehero {
  position: relative;
  background: var(--k-bg-alt);
  padding-block: calc(var(--k-header-h) + clamp(3rem, 6vw, 6rem)) clamp(3rem, 6vw, 6rem);
}
.k-pagehero--image { background: var(--k-bg-dark); color: #fff; }
.k-pagehero--image .k-pagehero__bg { position: absolute; inset: 0; }
.k-pagehero--image .k-pagehero__bg img { width: 100%; height: 100%; object-fit: cover; }
.k-pagehero--image .k-pagehero__bg::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,0.35));
}
.k-pagehero__inner { position: relative; z-index: 2; }
.k-pagehero__title { margin-bottom: 0; max-width: 20ch; }
.k-pagehero--image .k-eyebrow { color: rgba(255,255,255,0.72); }
.k-pagehero__lead { margin-top: var(--k-s3); }

/* --- Breadcrumbs --- */
.k-crumbs {
  font-size: var(--k-fs-micro);
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--k-muted);
  margin-bottom: var(--k-s3);
}
.k-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; }
.k-crumbs li { display: flex; align-items: center; gap: 0.5rem; }
.k-crumbs li + li::before { content: "/"; opacity: 0.45; }
.k-crumbs a:hover { color: var(--k-red); }
.k-pagehero--image .k-crumbs { color: rgba(255,255,255,0.7); }

/* --- Features / promises --- */
.k-features { display: grid; gap: var(--k-gutter); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.k-feature { padding-top: var(--k-s4); border-top: 1px solid var(--k-line); }
.k-feature__icon { width: 44px; height: 44px; object-fit: contain; margin-bottom: var(--k-s3); }
.k-feature h3, .k-feature h4 { font-size: var(--k-fs-h4); margin-bottom: 0.6rem; }
.k-feature p { font-size: var(--k-fs-small); color: var(--k-muted); margin: 0; }

/* --- Stats --- */
.k-stats {
  display: grid; gap: var(--k-s4) var(--k-gutter);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
}
.k-stat { border-top: 1px solid var(--k-line); padding-top: var(--k-s3); }
.k-stat__num {
  font-family: var(--k-font-display);
  font-size: clamp(2.25rem, 1.3rem + 3.4vw, 4rem);
  font-weight: 600; line-height: 1; letter-spacing: -0.03em;
  display: block; margin-bottom: 0.5rem;
}
.k-stat__label {
  font-size: var(--k-fs-micro); letter-spacing: 0.13em;
  text-transform: uppercase; color: var(--k-muted);
}

/* --- Gallery --- */
.k-gallery { display: grid; gap: clamp(0.5rem, 1.2vw, 1rem); }
.k-gallery--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); }
.k-gallery--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.k-gallery__item { position: relative; overflow: hidden; background: var(--k-bg-alt); aspect-ratio: 4/3; }
.k-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--k-ease-out); }
.k-gallery__item:hover img { transform: scale(1.05); }

/* Мозаечен грид — първото изображение е голямо */
.k-gallery--mosaic { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 760px) {
  .k-gallery--mosaic { grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(0, 1fr); }
  .k-gallery--mosaic .k-gallery__item:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
}

/* --- Price / house cards --- */
.k-house__specs {
  list-style: none; margin: 0 0 var(--k-s2); padding: 0;
  display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem;
  font-size: var(--k-fs-micro); letter-spacing: 0.1em; text-transform: uppercase; color: var(--k-muted);
}
.k-house__price {
  font-family: var(--k-font-display);
  font-size: var(--k-fs-h4); font-weight: 600; color: var(--k-ink);
}
.k-house__price small { font-size: var(--k-fs-micro); font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--k-muted); display: block; }

/* --- Logos / partners --- */
.k-logos { display: grid; gap: 1px; background: var(--k-line); grid-template-columns: repeat(auto-fill, minmax(min(50%, 200px), 1fr)); border: 1px solid var(--k-line); }
.k-logos__item { background: #fff; display: grid; place-items: center; padding: var(--k-s4) var(--k-s3); aspect-ratio: 16/10; }
.k-logos__item img { max-height: 70px; width: auto; object-fit: contain; filter: grayscale(1); opacity: 0.6; transition: filter 0.4s var(--k-ease), opacity 0.4s var(--k-ease); }
.k-logos__item:hover img { filter: none; opacity: 1; }

/* --- CTA band --- */
.k-cta { position: relative; overflow: hidden; background: var(--k-bg-dark); color: #fff; }
.k-cta__bg { position: absolute; inset: 0; }
.k-cta__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.4; }
.k-cta__inner { position: relative; z-index: 2; padding-block: var(--k-section); }
.k-cta h2 { max-width: 20ch; }
.k-cta__actions { display: flex; flex-wrap: wrap; gap: var(--k-s2); margin-top: var(--k-s4); }

/* --- Map --- */
.k-map { position: relative; aspect-ratio: 21/9; min-height: 340px; background: var(--k-bg-alt); }
.k-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(1.05); }

/* --- Pagination --- */
.k-pagination { display: flex; flex-wrap: wrap; gap: 0.4rem; justify-content: center; margin-top: var(--k-s6); }
.k-pagination .page-numbers {
  display: grid; place-items: center; min-width: 46px; height: 46px; padding: 0 0.75rem;
  border: 1px solid var(--k-line); border-radius: 999px;
  font-size: var(--k-fs-small); font-weight: 600;
  transition: all 0.3s var(--k-ease);
}
.k-pagination .page-numbers:hover { border-color: var(--k-ink); }
.k-pagination .page-numbers.current { background: var(--k-ink); border-color: var(--k-ink); color: #fff; }

/* 9. HEADER & FOOTER ======================================================= */
.k-header {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  height: var(--k-header-h);
  display: flex; align-items: center;
  background: transparent;
  transition: background 0.45s var(--k-ease), box-shadow 0.45s var(--k-ease), height 0.35s var(--k-ease);
}
.k-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--k-s4); width: 100%; }

/* Прозрачен само докато е най-горе върху тъмен хиро */
.k-header.is-solid,
body:not(.k-has-hero) .k-header {
  background: rgba(255,255,255,0.94);
  backdrop-filter: saturate(1.6) blur(14px);
  -webkit-backdrop-filter: saturate(1.6) blur(14px);
  box-shadow: 0 1px 0 var(--k-line);
}
.k-header.is-hidden { transform: translateY(-100%); }
.k-header { transition: transform 0.45s var(--k-ease), background 0.45s var(--k-ease), box-shadow 0.45s var(--k-ease); }

.k-logo { display: block; flex: none; }
.k-logo svg, .k-logo img { height: clamp(30px, 2.4vw, 38px); width: auto; display: block; }
body.k-has-hero .k-header:not(.is-solid) .k-logo svg path,
body.k-has-hero .k-header:not(.is-solid) .k-logo svg polyline { fill: #fff; }

/* Навигация */
.k-nav { display: none; }
@media (min-width: 1100px) { .k-nav { display: block; } }
.k-nav ul { list-style: none; display: flex; align-items: center; gap: clamp(1rem, 1.9vw, 2.3rem); margin: 0; padding: 0; }
.k-nav a {
  position: relative;
  font-size: var(--k-fs-small); font-weight: 500; letter-spacing: 0.005em;
  padding-block: 0.4rem;
  white-space: nowrap;
}
.k-nav a::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0;
  background: var(--k-red);
  transition: width 0.4s var(--k-ease-out);
}
.k-nav a:hover::after,
.k-nav .current-menu-item > a::after,
.k-nav .current_page_item > a::after { width: 100%; }
.k-nav .current-menu-item > a, .k-nav .current_page_item > a { color: var(--k-red); }

body.k-has-hero .k-header:not(.is-solid) .k-nav a,
body.k-has-hero .k-header:not(.is-solid) .k-header__phone { color: #fff; }
body.k-has-hero .k-header:not(.is-solid) .k-burger span { background: #fff; }

.k-header__actions { display: flex; align-items: center; gap: var(--k-s3); flex: none; }
.k-header__phone { display: none; font-size: var(--k-fs-small); font-weight: 600; white-space: nowrap; }
@media (min-width: 1280px) { .k-header__phone { display: inline-flex; align-items: center; gap: 0.5rem; } }
.k-header__phone:hover { color: var(--k-red); }
.k-header__cta { display: none; }
@media (min-width: 1100px) { .k-header__cta { display: inline-flex; padding: 0.85rem 1.6rem; } }

/* Бургер */
.k-burger {
  display: grid; place-content: center; gap: 6px;
  width: 44px; height: 44px; flex: none;
}
@media (min-width: 1100px) { .k-burger { display: none; } }
.k-burger span {
  display: block; width: 24px; height: 2px; background: var(--k-ink);
  transition: transform 0.4s var(--k-ease), opacity 0.25s var(--k-ease), background 0.3s var(--k-ease);
}
.k-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.k-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.k-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Мобилно меню — отделен UX, не свито десктоп меню */
.k-mobile {
  position: fixed; inset: 0; z-index: 99;
  background: var(--k-bg);
  display: flex; flex-direction: column;
  padding: calc(var(--k-header-h) + var(--k-s4)) var(--k-gutter) var(--k-s5);
  overflow-y: auto;
  opacity: 0; visibility: hidden;
  transform: translateY(-12px);
  transition: opacity 0.4s var(--k-ease), transform 0.5s var(--k-ease-out), visibility 0.4s;
}
.k-mobile.is-open { opacity: 1; visibility: visible; transform: none; }
@media (min-width: 1100px) { .k-mobile { display: none; } }

.k-mobile ul { list-style: none; margin: 0; padding: 0; }
.k-mobile__nav a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.05rem 0;
  border-bottom: 1px solid var(--k-line);
  font-family: var(--k-font-display);
  font-size: clamp(1.4rem, 1rem + 2vw, 2rem);
  font-weight: 600; letter-spacing: -0.02em;
}
.k-mobile__nav a::after { content: "→"; color: var(--k-line-strong); font-size: 1rem; }
.k-mobile__nav .current-menu-item > a { color: var(--k-red); }
.k-mobile__foot { margin-top: auto; padding-top: var(--k-s5); display: grid; gap: var(--k-s2); }
.k-mobile__foot a { font-size: var(--k-fs-lead); font-weight: 600; }

/* Footer */
.k-footer { background: var(--k-bg-dark); color: rgba(255,255,255,0.72); padding-top: var(--k-section); }
.k-footer a { color: inherit; transition: color 0.3s var(--k-ease); }
.k-footer a:hover { color: #fff; }

.k-footer__top { display: grid; gap: var(--k-s6) var(--k-gutter); }
@media (min-width: 900px)  { .k-footer__top { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); } }

.k-footer__logo svg { height: 40px; width: auto; }
.k-footer__logo svg path, .k-footer__logo svg polyline { fill: #fff; }
.k-footer__tag { margin-top: var(--k-s3); font-size: var(--k-fs-small); max-width: 34ch; }

.k-footer__title {
  font-family: var(--k-font-body);
  font-size: var(--k-fs-micro); font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin: 0 0 var(--k-s3);
}
.k-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.k-footer li { font-size: var(--k-fs-small); }

.k-footer__contact a { font-size: var(--k-fs-lead); font-weight: 600; color: #fff; }
.k-footer__contact a:hover { color: var(--k-red); }

.k-footer__bottom {
  margin-top: var(--k-section);
  padding-block: var(--k-s4);
  border-top: 1px solid rgba(255,255,255,0.12);
  display: flex; flex-wrap: wrap; gap: var(--k-s2) var(--k-s4);
  justify-content: space-between; align-items: center;
  font-size: var(--k-fs-micro); color: rgba(255,255,255,0.5);
}

.k-social { display: flex; gap: 0.6rem; }
.k-social a {
  display: grid; place-items: center; width: 42px; height: 42px;
  border: 1px solid rgba(255,255,255,0.18); border-radius: 50%;
  transition: background 0.35s var(--k-ease), border-color 0.35s var(--k-ease), transform 0.3s var(--k-ease);
}
.k-social a:hover { background: var(--k-red); border-color: var(--k-red); transform: translateY(-2px); }
.k-social svg { width: 17px; height: 17px; fill: currentColor; }

/* 10. FORMS, EDITOR CONTENT, UTILITIES ===================================== */
.k-form label, .wpcf7 label { display: block; font-size: var(--k-fs-micro); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--k-muted); margin-bottom: 0.5rem; }

.k-form input[type="text"], .k-form input[type="email"], .k-form input[type="tel"], .k-form textarea, .k-form select,
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="url"],
.wpcf7 input[type="number"], .wpcf7 input[type="date"], .wpcf7 textarea, .wpcf7 select {
  width: 100%;
  padding: 0.95rem 1.1rem;
  background: #fff;
  border: 1px solid var(--k-line);
  border-radius: 4px;
  font-size: var(--k-fs-body);
  transition: border-color 0.3s var(--k-ease), box-shadow 0.3s var(--k-ease);
}
.k-form textarea, .wpcf7 textarea { min-height: 150px; resize: vertical; }
.k-form :is(input, textarea, select):focus, .wpcf7 :is(input, textarea, select):focus {
  outline: none; border-color: var(--k-ink); box-shadow: 0 0 0 3px rgba(176,15,31,0.1);
}
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-bottom: var(--k-s3); }
.wpcf7 input[type="submit"] {
  display: inline-flex; padding: 1.05rem 2.4rem;
  background: var(--k-ink); color: #fff; border: 1px solid var(--k-ink); border-radius: 999px;
  font-size: var(--k-fs-small); font-weight: 600; cursor: pointer;
  transition: background 0.4s var(--k-ease), border-color 0.4s var(--k-ease);
}
.wpcf7 input[type="submit"]:hover { background: var(--k-red); border-color: var(--k-red); }
.wpcf7 form .wpcf7-response-output { margin: var(--k-s3) 0 0; padding: 0.9rem 1.1rem; border-radius: 4px; font-size: var(--k-fs-small); }

.k-search { display: flex; gap: 0.6rem; }
.k-search input[type="search"] { flex: 1; padding: 0.95rem 1.1rem; border: 1px solid var(--k-line); border-radius: 999px; }

/* Съдържание от редактора — наследява типографията на системата */
.k-prose { font-size: var(--k-fs-body); line-height: 1.75; color: var(--k-ink-2); }
.k-prose > * { max-width: var(--k-max-text); }
.k-prose > .alignwide, .k-prose > .alignfull, .k-prose > figure, .k-prose > .wp-block-gallery,
.k-prose > .wp-block-image, .k-prose > table, .k-prose > .k-gallery { max-width: none; }
.k-prose h2 { font-size: var(--k-fs-h2); margin-top: var(--k-s6); }
.k-prose h3 { font-size: var(--k-fs-h3); margin-top: var(--k-s5); }
.k-prose h4 { margin-top: var(--k-s4); }
.k-prose h2:first-child, .k-prose h3:first-child { margin-top: 0; }
.k-prose a:not(.k-btn):not(.k-link) {
  color: var(--k-red);
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 1px; background-repeat: no-repeat; background-position: 0 1.08em;
}
.k-prose a:not(.k-btn):not(.k-link):hover { color: var(--k-red-deep); }
.k-prose ul, .k-prose ol { padding-left: 1.35rem; margin: 0 0 1.3em; }
.k-prose li { margin-bottom: 0.5em; }
.k-prose ul { list-style: none; padding-left: 0; }
.k-prose ul > li { position: relative; padding-left: 1.6rem; }
.k-prose ul > li::before {
  content: ""; position: absolute; left: 0; top: 0.72em;
  width: 7px; height: 1px; background: var(--k-red);
}
.k-prose ol { padding-left: 1.3rem; }
.k-prose img, .k-prose figure { margin-block: var(--k-s4); }
.k-prose figcaption { font-size: var(--k-fs-small); color: var(--k-muted); margin-top: 0.75rem; }
.k-prose blockquote {
  margin: var(--k-s5) 0; padding-left: var(--k-s4);
  border-left: 2px solid var(--k-red);
  font-family: var(--k-font-display); font-size: var(--k-fs-h4); font-weight: 500;
  line-height: 1.4; color: var(--k-ink);
}
.k-prose hr { border: 0; border-top: 1px solid var(--k-line); margin-block: var(--k-s6); }
.k-prose table { width: 100%; border-collapse: collapse; margin-block: var(--k-s4); font-size: var(--k-fs-small); }
.k-prose :is(th, td) { padding: 0.9rem 1rem; border-bottom: 1px solid var(--k-line); text-align: left; }
.k-prose th { font-weight: 600; background: var(--k-bg-alt); }
.k-prose iframe { width: 100%; aspect-ratio: 16/9; height: auto; }

.k-prose .wp-block-image img, .k-prose .wp-block-gallery img { width: 100%; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.alignwide { width: min(var(--k-max-wide), 100%); }
.aligncenter { margin-inline: auto; }

/* Utilities */
.k-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.k-hide { display: none !important; }
.k-mt0 { margin-top: 0 !important; }
.k-center { text-align: center; }
.k-stack { display: grid; gap: var(--k-s3); }
.k-stack--lg { gap: var(--k-s4); }
.k-flex { display: flex; flex-wrap: wrap; gap: var(--k-s2); align-items: center; }

/* Site main offset за страници без hero */
body:not(.k-has-hero) .k-main { padding-top: var(--k-header-h); }

/* Print */
@media print {
  .k-header, .k-footer, .k-mobile, .k-hero__nav, .k-btn { display: none !important; }
  body { color: #000; }
}

/* --- Lightbox ------------------------------------------------------------ */
.k-lightbox {
  position: fixed; inset: 0; z-index: 200;
  display: none; place-items: center;
  background: rgba(8,8,8,0.94);
  padding: clamp(1rem, 4vw, 3rem);
}
.k-lightbox.is-open { display: grid; animation: k-fade 0.3s var(--k-ease); }
@keyframes k-fade { from { opacity: 0; } to { opacity: 1; } }
.k-lightbox img { max-width: min(1400px, 100%); max-height: 86vh; object-fit: contain; }
.k-lightbox__close {
  position: absolute; top: clamp(1rem, 3vw, 2rem); right: clamp(1rem, 3vw, 2rem);
  width: 48px; height: 48px; color: #fff; font-size: 2rem; line-height: 1;
  border: 1px solid rgba(255,255,255,0.25); border-radius: 50%;
  transition: background 0.3s var(--k-ease);
}
.k-lightbox__close:hover { background: rgba(255,255,255,0.14); }
.k-lightbox__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 56px; height: 56px; color: #fff; font-size: 2.2rem; line-height: 1;
  border: 1px solid rgba(255,255,255,0.22); border-radius: 50%;
  transition: background 0.3s var(--k-ease);
}
.k-lightbox__nav:hover { background: rgba(255,255,255,0.14); }
.k-lightbox__nav--prev { left: clamp(0.5rem, 2.5vw, 2rem); }
.k-lightbox__nav--next { right: clamp(0.5rem, 2.5vw, 2rem); }
@media (max-width: 640px) { .k-lightbox__nav { width: 44px; height: 44px; font-size: 1.7rem; } }

/* --- Полиране на наследената типография --------------------------------- */
.k-prose p:empty { display: none; }
.k-prose p > img.aligncenter,
.k-prose p > img.alignnone { margin-inline: auto; }
.k-prose .k-quotes + p { margin-top: var(--k-s4); }

/* Първият абзац в дълъг текст води окото */
.k-prose > p:first-of-type {
  font-size: var(--k-fs-lead);
  line-height: 1.6;
  color: var(--k-ink);
}

/* --- Текст и изображение: обръщане на страните -------------------------- */
@media (min-width: 900px) {
  .k-split--flip .k-mediatext__media { order: 2; }
  .k-split--flip .k-mediatext__body { order: 1; }
}
.k-mediatext__media { margin: 0; overflow: hidden; }
.k-mediatext__media img { width: 100%; transition: transform 0.9s var(--k-ease-out); }
.k-mediatext__media:hover img { transform: scale(1.03); }
.k-mediatext__body { align-self: center; }

/* --- Препоръки (сканирани документи) ------------------------------------ */
.k-ref { display: block; overflow: hidden; background: var(--k-bg-alt); aspect-ratio: 3/4; }
.k-ref img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--k-ease-out); }
.k-ref:hover img { transform: scale(1.04); }

/* --- Контакти: директни връзки ------------------------------------------ */
.k-contact__direct { display: grid; gap: var(--k-s2); margin-top: var(--k-s4); }
.k-contact__line {
  display: inline-flex; align-items: center; gap: 0.7rem;
  font-family: var(--k-font-display);
  font-size: var(--k-fs-h4); font-weight: 600; letter-spacing: -0.01em;
  color: var(--k-ink);
}
.k-contact__line:hover { color: var(--k-red); }

/* --- Единичен запис: малка снимка в страничната колона ------------------- */
.k-post__thumb { margin-top: var(--k-s3); width: 100%; }

/* Контролирана мярка за дълъг текст без заглавие отстрани */
.k-measure { max-width: calc(var(--k-max-text) + 6vw); }
.k-prose--wide > * { max-width: none; }
.k-prose--wide > p, .k-prose--wide > ul, .k-prose--wide > ol, .k-prose--wide > h3 { max-width: var(--k-max-text); }

/* Цитати в наследения текст */
.k-prose p.k-pull {
  position: relative;
  margin: var(--k-s4) 0;
  padding: var(--k-s3) 0 var(--k-s3) var(--k-s4);
  border-left: 2px solid var(--k-red);
  font-family: var(--k-font-display);
  font-size: var(--k-fs-h4);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: var(--k-ink);
  max-width: 60ch;
}
.k-prose p.k-pull strong { font-weight: 600; }

/* Хиро на вътрешна страница — по-ниско от това на началната */
body:not(.home) .k-hero { min-height: clamp(420px, 62vh, 680px); }
body:not(.home) .k-hero__title { font-size: var(--k-fs-h1); max-width: 22ch; }
body:not(.home) .k-hero .k-crumbs { color: rgba(255,255,255,0.75); }
body:not(.home) .k-hero__scroll { display: none; }

/* Лек градиент под прозрачния хедър — иначе бялото лого и бургерът
   изчезват върху светли изображения (небе, бели фасади). */
body.k-has-hero .k-header::before {
  content: "";
  position: absolute; inset: 0 0 auto 0;
  height: 190%;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.18) 55%, transparent 100%);
  opacity: 1;
  transition: opacity 0.4s var(--k-ease);
}
body.k-has-hero .k-header.is-solid::before { opacity: 0; }
.k-header__inner { position: relative; z-index: 1; }

/* Бургерът получава и лека сянка, за да е четим при всякакъв фон */
body.k-has-hero .k-header:not(.is-solid) .k-burger span {
  box-shadow: 0 1px 2px rgba(0,0,0,0.35);
}

/* ==========================================================================
   НАЧАЛНА СТРАНИЦА — оформление по зададената референция
   ========================================================================== */

/* --- Горна лента в хедъра ------------------------------------------------ */
.k-topbar {
  display: flex; align-items: center; justify-content: flex-end;
  gap: clamp(1rem, 2.4vw, 2.4rem);
  height: 44px;
  font-size: var(--k-fs-micro);
  letter-spacing: 0.01em;
  color: var(--k-muted);
}
.k-topbar a { transition: color 0.3s var(--k-ease); }
.k-topbar a:hover { color: var(--k-red); }
@media (max-width: 760px) { .k-topbar { display: none; } }

/* Хедърът става двуредов и винаги плътен там, където има горна лента */
.k-header { flex-direction: column; justify-content: center; height: auto; }
.k-header > .k-wrap { width: 100%; }
.k-header__inner { height: var(--k-header-h); }

body:not(.k-has-hero) .k-header,
.k-header.is-solid { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; }

/* Когато има горна лента, целият хедър е по-висок */
body.home .k-main { padding-top: calc(var(--k-header-h) + 44px); }
@media (max-width: 760px) { body.home .k-main { padding-top: var(--k-header-h); } }

/* --- Вградено хиро ------------------------------------------------------- */
.k-fhero {
  /* Хоризонталното поле е колкото на съдържанието, а отгоре остава въздух,
     за да не опира рамката в хедъра. */
  padding: clamp(1.25rem, 1.6vw, 2rem) var(--k-gutter) 0;
}

.k-fhero__frame {
  position: relative;
  overflow: hidden;
  border-radius: clamp(14px, 1.4vw, 26px);
  background: var(--k-bg-dark);
  min-height: clamp(460px, 64vh, 760px);
  display: grid;
  align-items: end;
  max-width: var(--k-max-wide);
  margin-inline: auto;
}

.k-fhero__frame .k-hero__slide::after {
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.72) 0%,
    rgba(0, 0, 0, 0.45) 45%,
    rgba(0, 0, 0, 0.12) 100%
  );
}

.k-fhero__inner {
  position: relative; z-index: 2;
  padding: clamp(2rem, 5vw, 5rem);
  color: #fff;
  max-width: 54rem;
}

.k-fhero__title {
  font-family: var(--k-font-display);
  font-size: clamp(2.1rem, 1.1rem + 3.4vw, 4.1rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.03em;
  margin: 0 0 var(--k-s3);
  text-wrap: balance;
}

.k-fhero__lead {
  font-size: var(--k-fs-body);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
  max-width: 46ch;
  margin: 0 0 var(--k-s4);
}

.k-fhero__nav { margin: 0; }
.k-fhero .k-hero__nav {
  position: absolute; z-index: 2;
  left: clamp(2rem, 5vw, 5rem); bottom: clamp(1.25rem, 2.6vw, 2.25rem);
}
.k-fhero__inner { padding-bottom: clamp(4rem, 8vw, 7rem); }

/* --- Секция „за нас“ ----------------------------------------------------- */
.k-about__grid {
  display: grid;
  gap: var(--k-s5) var(--k-gutter);
  align-items: center;
  grid-template-columns: 1fr;
}
@media (min-width: 960px) {
  .k-about__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2.5rem, 5vw, 6rem); }
}

.k-about__title {
  font-size: clamp(1.75rem, 1.1rem + 2.3vw, 3rem);
  line-height: 1.1;
  margin-bottom: var(--k-s4);
  max-width: 16ch;
}

.k-about__text { margin-bottom: var(--k-s5); }
.k-about__text p {
  font-size: var(--k-fs-body);
  line-height: 1.75;
  color: var(--k-ink-2);
  margin-bottom: 1.3em;
  max-width: 54ch;
}
.k-about__text p:last-child { margin-bottom: 0; }

.k-about__media {
  margin: 0;
  overflow: hidden;
  border-radius: clamp(12px, 1.1vw, 20px);
  background: var(--k-bg-alt);
  aspect-ratio: 4 / 3;
}
.k-about__media img { width: 100%; height: 100%; object-fit: cover; }

.k-about .k-eyebrow {
  letter-spacing: 0.16em;
  color: var(--k-ink);
  margin-bottom: var(--k-s3);
}

/* --- Лента с числа ------------------------------------------------------- */
.k-statsband { padding-top: 0; }
.k-statsband .k-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--k-s5) 0;
  text-align: center;
}
@media (min-width: 860px) {
  .k-statsband .k-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.k-statsband .k-stat {
  border-top: 0;
  padding: 0 clamp(0.75rem, 2vw, 2rem);
  position: relative;
}
.k-statsband .k-stat + .k-stat::before {
  content: "";
  position: absolute; left: 0; top: 50%;
  transform: translateY(-50%);
  width: 1px; height: 64px;
  background: var(--k-line);
}
@media (max-width: 859px) {
  .k-statsband .k-stat:nth-child(odd)::before { display: none; }
}

.k-statsband .k-stat__num {
  font-size: clamp(2rem, 1.2rem + 2.6vw, 3.25rem);
  letter-spacing: -0.035em;
  margin-bottom: 0.65rem;
}
.k-statsband .k-stat__label {
  display: block;
  font-size: var(--k-fs-micro);
  letter-spacing: 0.12em;
  line-height: 1.5;
}

/* Хедър по референцията: кратка лента + тъмен бутон + пълно меню зад ☰ */
@media (min-width: 1100px) {
  .k-burger { display: grid; }          /* бутонът за пълното меню стои и на десктоп */
  .k-mobile { display: flex; }
  .k-header__cta { display: inline-flex; padding: 0.85rem 1.75rem; }
}
.k-header__actions { gap: var(--k-s2); }
@media (min-width: 1280px) { .k-header__actions { gap: var(--k-s3); } }

/* Пълното меню на широк екран — в две колони, за да се вижда наведнъж */
@media (min-width: 900px) {
  .k-mobile__nav > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--k-s6); }
  .k-mobile { padding-inline: clamp(2rem, 6vw, 7rem); }
}

/* ==========================================================================
   ОТЗИВИ — карусел с картички
   ========================================================================== */
.k-tcar { position: relative; max-width: none !important; margin-block: var(--k-s4); }

.k-tcar__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* Картичките дишат до ръба, без да се реже сянката при фокус */
  margin-inline: calc(var(--k-gutter) * -1);
  padding-inline: var(--k-gutter);
}
.k-tcar__viewport::-webkit-scrollbar { display: none; }

.k-tcar__track {
  display: flex;
  gap: clamp(1.5rem, 3vw, 3.5rem);
  list-style: none;
  margin: 0;
  padding: 0;
  /* Всяка картичка е висока колкото текста си — както в образеца,
     където редът с мястото стои на различна височина. */
  align-items: start;
}

.k-tcar__item {
  flex: 0 0 auto;
  scroll-snap-align: start;
  /* 1 на телефон */
  width: min(100%, 420px);
}
@media (min-width: 680px)  { .k-tcar__item { width: calc((100% - clamp(1.5rem, 3vw, 3.5rem)) / 2); } }
@media (min-width: 1024px) { .k-tcar__item { width: calc((100% - 2 * clamp(1.5rem, 3vw, 3.5rem)) / 3); } }
@media (min-width: 1320px) { .k-tcar__item { width: calc((100% - 3 * clamp(1.5rem, 3vw, 3.5rem)) / 4); } }

/* --- Картичка: снимка, име, длъжност, оценка, текст --- */
.k-tcar .k-tcard {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}

/* Снимка вляво, име/длъжност/оценка вдясно от нея */
.k-tcar .k-tcard__head {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: var(--k-s3);
}

.k-tcar .k-tcard__ident { min-width: 0; padding-top: 0.1rem; }

.k-tcar .k-tcard__avatar {
  width: 72px; height: 72px;
  flex: none;
  border-radius: 6px;
  overflow: hidden;
  background: var(--k-bg-alt);
}
.k-tcar .k-tcard__avatar img {
  width: 100% !important; height: 100% !important;
  object-fit: cover;
  display: block;
  max-width: none;
  margin: 0 !important;
}

.k-tcar .k-tcard__name {
  font-family: var(--k-font-display);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.012em;
  line-height: 1.3;
  color: var(--k-ink);
  margin: 0 0 0.2rem;
}

.k-tcar .k-tcard__role {
  font-size: var(--k-fs-micro);
  line-height: 1.45;
  color: var(--k-muted);
  margin: 0 0 0.5rem;
  /* Дългите длъжности с адрес не бива да разчупват тясната колона */
  overflow-wrap: anywhere;
}

.k-tcar .k-tcard__stars {
  display: flex;
  gap: 0.14em;
  font-size: 0.85rem;
  line-height: 1;
  color: var(--k-star);
  margin: 0;
}
.k-star.is-empty { color: var(--k-line-strong); }

.k-tcar .k-tcard__text { margin: 0; }
.k-tcar .k-tcard__text p {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--k-ink-2);
  margin: 0 0 0.9em;
}
.k-tcar .k-tcard__text p:last-child { margin-bottom: 0; }

/* Каруселът стои вътре в .k-prose и наследява правилата за списъци и
   заглавия — тук те се изключват, иначе се появява червено тире отляво
   и огромно отстояние над името. */
.k-prose .k-tcar ul,
.k-prose .k-tcar ol { list-style: none; margin: 0; padding: 0; }
.k-prose .k-tcar li { margin: 0; padding-left: 0; }
.k-prose .k-tcar li::before { content: none; display: none; }
.k-prose .k-tcar h3 { margin-top: 0; }
.k-prose .k-tcar p { max-width: none; }

/* --- Управление --- */
.k-tcar__controls {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--k-s3);
  margin-top: var(--k-s5);
}

.k-tcar__dots { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.k-tcar__dot {
  width: 30px; height: 2px;
  background: var(--k-line);
  transition: background 0.35s var(--k-ease);
}
.k-tcar__dot.is-active { background: var(--k-ink); }
.k-tcar__dot:hover { background: var(--k-line-strong); }

.k-tcar__arrows { display: flex; gap: 0.6rem; flex: none; }
.k-tcar__arrow {
  display: grid; place-items: center;
  width: 48px; height: 48px;
  border: 1px solid var(--k-line-strong);
  border-radius: 50%;
  color: var(--k-ink);
  transition: background 0.3s var(--k-ease), border-color 0.3s var(--k-ease),
              color 0.3s var(--k-ease), opacity 0.3s var(--k-ease);
}
.k-chev {
  width: 9px; height: 9px;
  border-top: 1.6px solid currentColor;
  border-right: 1.6px solid currentColor;
  transform: translateX(-2px) rotate(45deg);
}
.k-tcar__arrow--prev .k-chev { transform: translateX(2px) rotate(225deg); }
.k-tcar__arrow:hover:not(:disabled) { background: var(--k-ink); border-color: var(--k-ink); color: #fff; }
.k-tcar__arrow:disabled { opacity: 0.3; cursor: default; }

@media (max-width: 560px) {
  .k-tcar__controls { flex-direction: column-reverse; align-items: stretch; gap: var(--k-s3); }
  .k-tcar__arrows { justify-content: center; }
  .k-tcar__dots { justify-content: center; }
}
