/* ==========================================================================
   DOC3DENTAL — НАЧАЛНА СТРАНИЦА · дизайн прототип v1
   --------------------------------------------------------------------------
   ВСИЧКО, КОЕТО СЕ ПРОМЕНЯ ЧЕСТО, Е ТУК ГОРЕ.
   Смени стойност на едно място → сменя се в целия сайт.
   ========================================================================== */

:root{
  /* --- ПАЛИТРА ----------------------------------------------------------
     Черно-оранжева гама върху топла светла основа.
     Черното е топло (с капка кафяво), не студено — за да не е сурово.     */
  --osnova:     #FAF8F5;   /* основен фон — топло бяло                     */
  --vtori:      #F1EDE7;   /* втори фон — за редуване на секции            */
  --mastilo:    #17140F;   /* котва — топло черно, тъмните секции          */
  --mastilo-mek:#221D16;   /* по-мек черен за градиенти                    */
  --oranj:      #E2661F;   /* акцент / бутони за действие — оранж          */
  --oranj-tumen:#C4550F;   /* оранж при hover                              */
  --pyasak:     #DED5C7;   /* помощен — линии, фонове, детайли (пясък)     */
  --text:       #1B1713;   /* основен текст — топло черно                  */
  --text-mek:   #6E665E;   /* второстепенен текст                          */
  --text-obratno:#F4F0EA;  /* текст върху тъмен фон                        */

  --kant:       rgba(27,23,19,.11);  /* тънки линии на светъл фон          */
  --kant-tumen: rgba(244,240,234,.13);/* тънки линии на тъмен фон          */

  /* --- ШРИФТОВЕ ---------------------------------------------------------
     Onest носи целия сайт — заглавия и текст, само с различни тегла.
     Unbounded се ползва пестеливо: логото и категориите в подножието.     */
  --font-zaglavia: "Onest", "Segoe UI", system-ui, sans-serif;
  --font-tekst:    "Onest", "Segoe UI", system-ui, sans-serif;
  /* Акцентният шрифт: меню, заглавия в лентата с предимствата, подножието.
     Ако купиш лиценз за Axiforma, качи файловете при темата, добави @font-face
     и смени само реда долу — сменя се навсякъде наведнъж. */
  --font-akcent:   "Unbounded", "Onest", system-ui, sans-serif;

  /* --- РАЗМЕРИ НА ТЕКСТА ------------------------------------------------ */
  --fs-h1:    clamp(1.95rem, 1.1rem + 3vw, 3.4rem);
  --fs-h2:    clamp(1.55rem, 1.05rem + 1.8vw, 2.35rem);
  --fs-h3:    clamp(1.15rem, 1.05rem + .4vw, 1.35rem);
  --fs-vod:   clamp(1.08rem, 1rem + .45vw, 1.28rem);  /* водещ абзац       */
  --fs-tekst: 1.0625rem;                              /* 17px база         */
  --fs-malak: .9375rem;
  --fs-etiket:.8rem;

  /* --- ОТСТОЯНИЯ И ФОРМИ ------------------------------------------------ */
  --h-dolna:  68px;        /* колко място заема долната лента на телефон  */
  --shirina:  1280px;      /* максимална ширина на съдържанието            */
  --polе:     clamp(1.25rem, .6rem + 2vw, 2.5rem);   /* страничен отстъп   */
  --sekcia-y: clamp(2.75rem, 1.75rem + 3.2vw, 4.6rem);/* въздух над/под    */
  --r:        6px;         /* радиус на бутони и карти                     */
  --r-lg:     10px;        /* радиус на големи изображения                 */
  --h-glava:  66px;        /* височина на лентата с логото и менюто        */
  --h-lenta:  36px;        /* височина на най-горната лента                */
}

/* ==========================================================================
   ОСНОВИ
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--osnova);
  color:var(--text);
  font-family:var(--font-tekst);
  font-size:var(--fs-tekst);
  font-weight:400;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:var(--font-zaglavia);
  font-weight:500;
  line-height:1.14;
  letter-spacing:-.022em;
  text-wrap:balance;
  margin:0;
}
h1{ font-size:var(--fs-h1); font-weight:500; }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); font-weight:500; letter-spacing:-.005em; }
p{ margin:0; }
img{ display:block; max-width:100%; }
a{ color:inherit; }

:focus-visible{
  outline:2px solid var(--oranj);
  outline-offset:3px;
  border-radius:2px;
}

.obvivka{
  width:100%;
  max-width:var(--shirina);
  margin-inline:auto;
  padding-inline:var(--polе);
}

/* Малък надпис над заглавие — „eyebrow“ */
.etiket{
  font-family:var(--font-tekst);
  font-size:var(--fs-etiket);
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--oranj);
  margin:0;
}
.etiket--obratno{ color:var(--oranj); }

/* ==========================================================================
   БУТОНИ
   ========================================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.7rem 1.4rem;
  border:1px solid transparent;
  border-radius:999px;
  font-family:var(--font-tekst);
  font-size:.78rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  will-change:transform;
  transition:
    background-color .38s cubic-bezier(.16,.84,.28,1),
    color .38s cubic-bezier(.16,.84,.28,1),
    border-color .38s cubic-bezier(.16,.84,.28,1),
    box-shadow .45s cubic-bezier(.16,.84,.28,1),
    transform .45s cubic-bezier(.16,.84,.28,1);
}
.btn:hover{ transform:translateY(-2px) scale(1.035); box-shadow:0 12px 26px -14px rgba(23,20,15,.55); }
.btn:active{ transform:translateY(0) scale(.985); transition-duration:.12s; }

.btn--oranj{ background:var(--oranj); color:#FFF6EF; }
.btn--oranj:hover{ background:var(--oranj-tumen); }

.btn--mastilo{ background:var(--mastilo); color:var(--text-obratno); }
.btn--mastilo:hover{ background:var(--mastilo-mek); }

.btn--kontur{ background:transparent; color:var(--mastilo); border-color:var(--mastilo); }
.btn--kontur:hover{ background:var(--mastilo); color:var(--text-obratno); }

/* Заоблен бутон за края на секция — видим, без да крещи. */
.btn--pil{
  background:var(--mastilo);
  color:var(--text-obratno);
  border-radius:999px;
  padding:.85rem 1.6rem .85rem 1.9rem;
  font-size:.8rem;
}
.btn--pil svg{ transition:transform .22s cubic-bezier(.2,.7,.3,1); }
.btn--pil:hover{ background:var(--oranj); }
.btn--pil:hover svg{ transform:translateX(4px); }

.btn--kontur-obratno{ background:transparent; color:var(--text-obratno); border-color:var(--kant-tumen); }
.btn--kontur-obratno:hover{ background:var(--text-obratno); color:var(--mastilo); }

/* Телефон като действие */
.tel{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-weight:500;
  font-size:1rem;
  text-decoration:none;
  letter-spacing:.01em;
  font-variant-numeric:tabular-nums;
}
.tel svg{ flex:none; }

/* ==========================================================================
   ГОРНА ЛЕНТА  (работно време + спешен телефон)
   ========================================================================== */
/* Лентата лежи върху hero снимката — няма линия, която да реже кадъра. */
.lenta{
  position:relative; z-index:45;
  background:transparent;
  color:var(--text-obratno);
  font-size:.74rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:500;
}
.lenta .obvivka{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.5rem 1.5rem;
  min-height:var(--h-lenta);
  padding-block:.35rem;
}
.lenta__rabotno{ display:flex; align-items:center; gap:.6rem; color:rgba(244,240,234,.78); }
.tochka{
  width:6px;height:6px;border-radius:50%;
  background:#6FBF8A;
  box-shadow:0 0 0 3px rgba(111,191,138,.18);
  flex:none;
}
.lenta__speshno{
  display:inline-flex; align-items:center; gap:.5rem;
  color:var(--oranj); text-decoration:none; font-weight:500;
}
.lenta__speshno:hover{ text-decoration:underline; }

/* ==========================================================================
   ГЛАВА / НАВИГАЦИЯ
   ========================================================================== */
.glava{
  position:sticky; top:0; z-index:50;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background-color .25s ease, border-color .25s ease, color .25s ease;
}
/* Върху hero снимката главата е прозрачна и светла; при скрол става плътна. */
.glava:not(.plutna) .logo,
.glava:not(.plutna) .navigacia a,
.glava:not(.plutna) .glava__tel,
.glava:not(.plutna) .menu-btn,
.glava:not(.plutna) .menu-grupa__btn{ color:var(--text-obratno); }
.glava:not(.plutna) .logo__pod{ color:rgba(244,240,234,.6); }
.glava:not(.plutna) .logo__znak{ filter:brightness(0) invert(1); }
.glava:not(.plutna) .btn--mastilo{ background:rgba(244,240,234,.14); border-color:rgba(244,240,234,.3); backdrop-filter:blur(6px); }
.glava:not(.plutna) .btn--mastilo:hover{ background:var(--oranj); border-color:var(--oranj); }
.glava.plutna{
  background:rgba(250,248,245,.92);
  backdrop-filter:blur(12px);
  border-bottom-color:var(--kant);
}
.glava .obvivka{
  display:flex; align-items:center; flex-wrap:nowrap; gap:1rem;
  min-height:var(--h-glava);
}
.logo{ display:flex; align-items:center; gap:.55rem; text-decoration:none; flex:none; }
.logo__znak{ height:34px; width:auto; flex:none; transition:filter .25s ease; }
.logo__tekst{ font-family:var(--font-akcent); font-weight:600; font-size:1.05rem; letter-spacing:-.02em; line-height:1; }
.logo__tekst sup{ font-size:.6em; }
.logo__pod{ display:block; font-family:var(--font-tekst); font-size:.5rem; letter-spacing:.4em; font-weight:500; color:var(--text-mek); margin-top:3px; }

.navigacia{ display:flex; gap:0; margin-inline:auto; min-width:0; }
.navigacia a{
  position:relative;
  padding:.45rem .62rem;
  font-family:var(--font-akcent);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--text);
  white-space:nowrap;
  transition:color .2s ease, transform .22s cubic-bezier(.2,.7,.3,1);
}
/* Тънка чертичка, която се разтяга при посочване. */
.navigacia a::after{
  content:''; position:absolute; left:.62rem; right:.62rem; bottom:.12rem;
  height:2px; border-radius:2px; background:var(--oranj);
  transform:scaleX(0); transform-origin:left;
  transition:transform .26s cubic-bezier(.2,.7,.3,1);
}
.navigacia a:hover{ color:var(--oranj); transform:translateY(-2px); }
.navigacia a:hover::after{ transform:scaleX(1); }
/* Текущата страница остава с подчертаване. */
.navigacia a[aria-current="page"]{ color:var(--oranj); }
.navigacia a[aria-current="page"]::after{ transform:scaleX(1); }
.glava__desno{ display:flex; align-items:center; gap:1rem; flex:none; }
.glava__tel{ color:var(--text); }
.menu-btn{ display:none; }

/* ==========================================================================
   HERO — цяла снимка, текстът лежи върху нея.
   Смяна на снимката: замени <img> в .hero__foto по-долу в кода.
   ========================================================================== */
.hero{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:clamp(540px, 88vh, 800px);
  margin-top:calc(-1 * (var(--h-lenta) + var(--h-glava)));
  padding-top:calc(var(--h-lenta) + var(--h-glava) + 1.5rem);
  padding-bottom:clamp(3rem,2rem + 4vw,5.5rem);
  background:var(--mastilo);
  overflow:hidden;
  isolation:isolate;
}
.hero__foto{ position:absolute; inset:0; z-index:-2; }
.hero__foto img{ width:100%; height:100%; object-fit:cover; object-position:64% 52%; }

/* Завесата държи текста четим върху всяка снимка. */
.hero__zavesa{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(96deg, rgba(14,11,8,.96) 0%, rgba(14,11,8,.9) 38%, rgba(14,11,8,.55) 62%, rgba(14,11,8,.18) 100%),
    linear-gradient(180deg, rgba(14,11,8,.8) 0%, rgba(14,11,8,.18) 26%, rgba(14,11,8,.1) 55%, rgba(14,11,8,.6) 100%);
}
.hero .obvivka{ width:100%; position:relative; z-index:1; }
.hero__tekst{ max-width:660px; color:var(--text-obratno); }
.hero__tekst > * + *{ margin-top:1.3rem; }
.hero h1{ color:var(--text-obratno); max-width:15ch; }
.hero__vod{
  font-size:var(--fs-vod);
  font-weight:300;
  color:rgba(244,240,234,.84);
  max-width:48ch;
  line-height:1.75;
}
.hero__deistvia{
  display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem;
  margin-top:2.1rem;
}
.hero__tel{ color:var(--text-obratno); }
.hero__tel small{
  display:block; font-size:.66rem; font-weight:400; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(244,240,234,.55); line-height:1.5;
}


/* ==========================================================================
   ЧЕТИРИТЕ ПРЕДИМСТВА — тънка лента, всичко центрирано
   ========================================================================== */
.stylbove{ background:var(--vtori); border-bottom:1px solid var(--kant); }
.stylbove .obvivka{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
}
.stylb{
  padding:clamp(1.4rem,.9rem + 1.2vw,2rem) clamp(.75rem,.4rem + 1vw,1.5rem);
  text-align:center;
  border-left:1px solid var(--kant);
}
.stylb:first-child{ border-left:0; }
.stylb h3{
  font-family:var(--font-akcent);
  font-size:clamp(.86rem,.78rem + .25vw,1rem);
  font-weight:500;
  letter-spacing:-.005em;
  line-height:1.3;
  text-transform:none;
  color:var(--text);
  margin-bottom:.4rem;
}
.stylb p{
  font-size:.88rem;
  font-weight:400;
  line-height:1.6;
  color:#4A433C;
  max-width:26ch;
  margin-inline:auto;
}

/* ==========================================================================
   ОБЩ ЗАГЛАВЕН БЛОК НА СЕКЦИЯ
   ========================================================================== */
.sekcia{ padding-block:var(--sekcia-y); }
.sekcia--vtori{ background:var(--vtori); }
.sekcia--mastilo{ background:var(--mastilo); color:var(--text-obratno); }
.sekcia--mastilo h2{ color:var(--text-obratno); }

.glava-sekcia{ max-width:62ch; }
.glava-sekcia > * + *{ margin-top:.9rem; }
.glava-sekcia p:not(.etiket){ color:var(--text-mek); font-size:var(--fs-vod); font-weight:300; }
.sekcia--mastilo .glava-sekcia p:not(.etiket){ color:rgba(244,240,234,.7); }

/* ==========================================================================
   УСЛУГИ — кадрите са изрязани във формата на зъб (clipPath #zyb най-долу).
   Плочките са нарочно дребни и наредени в лек зигзаг, като зъбна редица.
   ========================================================================== */
/* ==========================================================================
   УСЛУГИ — кръгли кадри върху цветно кръгче, което леко плува.
   Всеки кадър има свой ритъм (--i), за да не се люлеят в такт.
   ========================================================================== */
.uslugi__reshetka{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(1.6rem,1rem + 1.6vw,2.6rem) clamp(.6rem,.3rem + .6vw,1.1rem);
  margin-top:clamp(2.5rem,1.2rem + 3vw,4rem);
  padding-bottom:.5rem;
}
/* Колоните на едно място, за да не се бият правилата помежду си.
   12 плочки: 6+6 на широк екран, 4+4+4 на лаптоп, 3 на таблет, 2 на телефон. */
@media (max-width:1100px){ .uslugi__reshetka{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:720px) { .uslugi__reshetka{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1280px){ .uslugi__reshetka{ grid-template-columns:repeat(6,minmax(0,1fr)); } }
.usluga{
  --y:0px;
  position:relative;
  display:grid; justify-items:center; gap:.9rem;
  text-decoration:none;
  transform:translateY(var(--y));
  transition:transform .45s cubic-bezier(.16,.84,.28,1);
}


/* Кадърът — кръгъл, като кръга в страницата „Услуги".
   Селекторът е през .usluga__krug, защото .bez-foto (резервният
   цветен блок) слага position:relative и иначе печели. */
.usluga__krug .usluga__kadyr{
  position:absolute; inset:0; z-index:1;
  display:block;
  border-radius:50%;
  overflow:hidden;
  background:#221D17;
  box-shadow:0 22px 44px -24px rgba(23,20,15,.6);
}
.usluga__krug .usluga__kadyr img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.02);
  transition:transform .8s cubic-bezier(.22,.72,.24,1);
}
.usluga:hover{ transform:translateY(calc(var(--y) - 8px)); }

.usluga:hover .usluga__kadyr img{ transform:scale(1.08); }
.usluga:focus-visible{ outline:none; }
.usluga:focus-visible .usluga__ime{ color:var(--oranj); text-decoration:underline; }

/* Всеки зъб с малко различен ритъм, за да не се люлеят в такт. */

.usluga:nth-child(8n+2){ --tempo:6.4s; }
.usluga:nth-child(8n+3){ --tempo:7.6s; }
.usluga:nth-child(8n+4){ --tempo:6.9s; }
.usluga:nth-child(8n+5){ --tempo:8.2s; }
.usluga:nth-child(8n+6){ --tempo:7.1s; }
.usluga:nth-child(8n+7){ --tempo:6.6s; }
.usluga:nth-child(8n+8){ --tempo:7.9s; }
.usluga:nth-child(8n+1){ --tempo:6.2s; }

/* ==========================================================================
   КРЪГЛИТЕ ПЛОЧКИ НА НАЧАЛНАТА — същият език като кръга в „Услуги":
   кръгъл кадър, тънък пръстен, оранжева дъга, която обикаля, и меко сияние.
   ========================================================================== */
.usluga__krug{
  position:relative; z-index:1;
  align-self:start;            /* иначе решетката го разтяга и кръгът става овал */
  justify-self:center;
  display:block;
  width:100%; max-width:132px;
  aspect-ratio:1;
  animation:plava var(--tempo, 7s) ease-in-out infinite;
  animation-delay:calc(var(--i) * -.9s - .35s);
}

/* Сиянието — меко оранжево зад кръга, усилва се при посочване */
.usluga__sianie{
  position:absolute; left:50%; top:50%; z-index:0;
  /* 140%, а не повече — на 360px по-широкото сияние стърчеше вдясно */
  width:140%; aspect-ratio:1;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 50% 50%,
    rgba(226,102,31,.24) 0%, rgba(226,102,31,.07) 46%, transparent 72%);
  opacity:.5;
  transition:opacity .5s ease;
  pointer-events:none;
}

/* Пръстенът: тънък кант + дъга, която обикаля веднъж при посочване */
.usluga__pryusten{
  position:absolute; inset:-7px; z-index:2;
  width:calc(100% + 14px); height:calc(100% + 14px);
  transform:rotate(-90deg);
  pointer-events:none; overflow:visible;
}
.usluga__osnova{ stroke:rgba(27,23,19,.16); stroke-width:.55; }
.usluga__duga,
.usluga__duga2{
  stroke:var(--oranj); stroke-width:1.35; stroke-linecap:round;
  stroke-dasharray:46 263;
  stroke-dashoffset:0;
  opacity:0;
}

.usluga:hover .usluga__sianie,
.usluga:focus-visible .usluga__sianie{ opacity:1; }
.usluga:hover .usluga__kadyr img,
.usluga:focus-visible .usluga__kadyr img{ transform:scale(1.09); }

/* Първата поява — дъгата обикаля веднъж, щом плочката влезе в екрана.
   Това е и единствената анимация на телефон, където няма посочване. */
.usluga.vidim .usluga__duga{
  animation:krug-obikolka 1.3s cubic-bezier(.3,.5,.28,1) both;
  animation-delay:calc(var(--i) * .08s + .15s);
}

/* Посочването върви по ВТОРА дъга, не по същата.
   Причината: ако двете анимации са на един елемент, при махане на
   мишката браузърът връща името на анимацията за първата поява
   и тя тръгва наново — изглежда като че плочката, от която си
   излязъл, се анимира сама. С два кръга всяка анимация си стои. */
.usluga__duga2{ animation:none; }
.usluga:hover .usluga__duga2,
.usluga:focus-visible .usluga__duga2{
  animation:usluga-obikolka 1.15s cubic-bezier(.3,.5,.28,1) both;
  animation-delay:0s;
}
@keyframes usluga-obikolka{
  0%   { stroke-dashoffset:0;    opacity:0; }
  10%  { opacity:1; }
  86%  { opacity:1; }
  100% { stroke-dashoffset:-309.13; opacity:0; }
}
/* .izplava мести с transform, а плочката ползва transform за --y —
   затова тук появата е само през прозрачност. */
.js-izplava .usluga.izplava{ opacity:0; transform:translateY(var(--y)); }
.js-izplava .usluga.izplava.vidim{ opacity:1; }
.usluga.izplava{ transition:opacity .7s ease, transform .45s cubic-bezier(.16,.84,.28,1); }

.sekcia--mastilo .usluga__osnova{ stroke:rgba(244,240,234,.2); }

@media (prefers-reduced-motion:reduce){
  .usluga__krug{ animation:none; }
  .usluga__duga,
  .usluga__duga2{ animation:none !important; }
}

@keyframes plava{
  0%,100%{ transform:translateY(0); }
  50%    { transform:translateY(-9px); }
}

.usluga__ime{
  position:relative; z-index:2;
  margin:0;
  max-width:15ch;
  text-align:center;
  font-size:.72rem; font-weight:500;
  letter-spacing:.07em; text-transform:uppercase;
  line-height:1.5;
  color:var(--text);
  transition:color .22s ease;
}
.usluga:hover .usluga__ime{ color:var(--oranj); }

@media (prefers-reduced-motion:reduce){
  .usluga__kadyr{ animation:none; }
}

/* Бягащото заглавие — двата реда се разминават леко при скрол.
   Размахът е малък нарочно: текстът трябва да се чете, не да бяга. */
.zaglavie-begashto{
  display:grid; gap:.12em;
  margin:0;
  /* Няма overflow:hidden — иначе изместването реже текста в тесни колони.
     Хоризонтален скрол не се появява, защото body е с overflow-x:hidden. */
  padding-inline:.06em;
}
.zb__red{
  display:block;
  white-space:nowrap;
  will-change:transform;
}
.zb__red[data-begashta="nadiasno"]{ color:var(--oranj); }
@media (max-width:900px){
  .zaglavie-begashto{ gap:.2em; }
  .zb__red{ white-space:normal; }
  .zb__red[data-begashta]{ transform:none !important; }
}

.uslugi{ padding-top:calc(var(--sekcia-y) * .78); }
.uslugi .glava-sekcia{ margin-inline:auto; text-align:center; max-width:none; }
.uslugi .glava-sekcia h2{ font-size:clamp(1.5rem,1rem + 1.7vw,2.25rem); max-width:none; margin-inline:auto; }
.uslugi .etiket{ font-size:1.02rem; letter-spacing:.09em; }
.uslugi__vod{
  margin:1.1rem auto 0;
  max-width:58ch;
  text-align:center;
  font-size:1rem;
  font-weight:300;
  color:var(--text-mek);
}
.uslugi__pod{ margin-top:clamp(2.25rem,1rem + 2vw,3rem); display:flex; justify-content:center; }

/* Скритият SVG носи изрезката на зъба. */
.formi{ position:absolute; width:0; height:0; overflow:hidden; }

/* ==========================================================================
   ЗЪБНИ СНИМКИ / 3D — всичко е подредено централно
   ========================================================================== */
.snimki{ padding-top:calc(var(--sekcia-y) * .8); }
.snimki__vrah{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2rem,1rem + 3vw,4.5rem);
  align-items:start;
}
.snimki .glava-sekcia{ max-width:none; }
.snimki .glava-sekcia h2{ max-width:14ch; }
.snimki .etiket{ font-size:1.02rem; letter-spacing:.09em; }

.snimki__vod{
  max-width:52ch;
  font-size:1rem; font-weight:300;
  color:rgba(244,240,234,.75);
}
.snimki__vod strong{ color:var(--text-obratno); font-weight:500; }

.sravnenie{
  display:grid;
  gap:.9rem;
  margin-top:1.9rem;
}
.sravnenie__red{
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:1.25rem;
  padding:1.15rem 1.35rem;
  border:1px solid var(--kant-tumen);
  border-radius:var(--r);
  background:rgba(247,245,242,.045);
}
.sravnenie__cifra{
  font-family:var(--font-akcent);
  font-size:1.85rem; font-weight:500; line-height:1;
  color:var(--oranj);
  font-variant-numeric:tabular-nums;
}
.sravnenie__cifra small{
  display:block; font-size:.38em; font-weight:400; letter-spacing:.18em;
  color:rgba(244,240,234,.5); text-transform:uppercase; margin-top:.45rem;
}
.sravnenie__red p{ font-size:var(--fs-malak); font-weight:300; color:rgba(244,240,234,.8); }

.raznica{ margin-top:1.9rem; }
.spisak-3d{
  list-style:none; margin:1.1rem 0 0; padding:0;
  display:grid; gap:.75rem;
}
.spisak-3d li{
  font-size:var(--fs-malak); font-weight:300;
  color:rgba(244,240,234,.8);
  padding-bottom:.75rem;
  border-bottom:1px solid var(--kant-tumen);
}
.spisak-3d li:last-child{ border-bottom:0; padding-bottom:0; }
.spisak-3d b{ color:var(--oranj); font-weight:500; letter-spacing:.04em; }

.aparatura{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.85rem;
  margin-top:clamp(2.25rem,1rem + 2.5vw,3.25rem);
}
.aparatura__kadyr{
  position:relative; cursor:zoom-in;
  aspect-ratio:1;
  border-radius:var(--r);
  overflow:hidden;
  background:rgba(247,245,242,.07);
  border:1px solid var(--kant-tumen);
}
.aparatura__kadyr img{ width:100%; height:100%; object-fit:cover; }

.snimki__pod{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1.25rem 2rem;
  margin-top:clamp(2rem,1rem + 2vw,3rem);
  padding-top:1.9rem;
  border-top:1px solid var(--kant-tumen);
}
.snimki__pod .btn{
  transition-duration:.7s;
  transition-timing-function:cubic-bezier(.12,.9,.24,1);
}
.snimki__pod .btn:hover{ transform:translateY(-3px) scale(1.06); box-shadow:0 18px 40px -18px rgba(226,102,31,.6); }
.snimki__pod h3{
  color:var(--text-obratno); font-weight:400;
  text-transform:uppercase; letter-spacing:.09em;
  font-size:clamp(.75rem,.6rem + .35vw,.92rem);
  white-space:nowrap;
}

/* ==========================================================================
   КЛИНИКАТА (галерия)
   ========================================================================== */
.klinika__glava{ text-align:center; }
.klinika__glava .glava-sekcia{ margin-inline:auto; max-width:760px; }
.klinika__glava h2{ max-width:none; white-space:nowrap; font-size:clamp(1.35rem,.8rem + 2.1vw,2.35rem); }
.klinika .etiket{ font-size:1.02rem; letter-spacing:.09em; }
.klinika__vod{
  margin:1.2rem auto 0; max-width:62ch;
  font-size:1rem; font-weight:300; color:var(--text-mek);
}
/* Мозайка: три по-едри кадъра горе, четири по-дребни отдолу.
   Побира повече снимки на по-малко място. */
/* --------------------------------------------------------------------------
   ГАЛЕРИЯ НА КЛИНИКАТА — равен колаж, без наклони. Кадрите изплуват при
   скрол и се повдигат при посочване.
   -------------------------------------------------------------------------- */
.galeria{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:clamp(38px,3.6vw,54px);
  gap:clamp(.5rem,.25rem + .5vw,.8rem);
  margin-top:clamp(2rem,1rem + 2vw,3rem);
}
.galeria__kadyr{
  position:relative; cursor:zoom-in;
  border-radius:var(--r);
  overflow:hidden;
  background:linear-gradient(150deg,#E6DED3 0%,#D3C9BB 100%);
  grid-column:span 3; grid-row:span 2;
  transition:transform .45s cubic-bezier(.16,.84,.28,1), box-shadow .45s ease;
}
.galeria__kadyr img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.galeria__kadyr:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 38px -22px rgba(27,23,19,.4);
  z-index:2;
}
.galeria__kadyr:hover img{ transform:scale(1.05); }
.galeria__kadyr:nth-child(-n+3){ grid-column:span 4; grid-row:span 3; }

@media (max-width:820px){
  .galeria__kadyr,
  .galeria__kadyr:nth-child(-n+3){ grid-column:span 6; grid-row:span 3; }
}

/* ==========================================================================
   ИМПЛАНТИ — единичен зъб, All-on-4, All-on-6
   ========================================================================== */
.implanti .glava-sekcia{ margin-inline:auto; text-align:center; max-width:800px; }
.implanti .etiket{ font-size:1.02rem; letter-spacing:.09em; }

.implanti__vrah{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(1.5rem,1rem + 2.5vw,3.25rem);
  align-items:center;
  margin-top:clamp(1.75rem,1rem + 1.8vw,2.75rem);
}
.implanti__foto{
  border-radius:var(--r-lg);
  background:rgba(244,240,234,.06);
  /* без aspect-ratio и без cover — снимката се вижда цяла */
}
.implanti__foto img{
  display:block;
  width:100%; height:auto;
  max-height:min(62vh,560px);
  object-fit:contain;
  margin-inline:auto;
  border-radius:var(--r-lg);
}
.implanti__tekst p{
  max-width:54ch; margin:0 0 1rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.75;
  color:rgba(244,240,234,.72);
}
.implanti__tekst p b{ font-weight:500; color:var(--text-obratno); }

/* Куката — едно изречение, което трябва да се запомни */
.kuka{
  margin-top:1.4rem;
  padding:1.1rem 1.25rem;
  border-radius:var(--r);
  background:rgba(226,102,31,.07);
  border:1px solid rgba(226,102,31,.34);
}
.kuka p{
  margin:0 !important; max-width:none !important;
  color:rgba(244,240,234,.88) !important;
  font-size:.92rem;
}
.kuka p b{ color:var(--oranj) !important; font-weight:600; }

/* Трите варианта */
.oferti{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  gap:clamp(.9rem,.5rem + .8vw,1.35rem);
  margin-top:clamp(2rem,1.2rem + 2vw,3rem);
}
.oferta{
  position:relative;
  display:grid; gap:.7rem; align-content:start;
  padding:clamp(1.4rem,1rem + 1vw,1.9rem);
  border:1px solid var(--kant-tumen);
  border-radius:var(--r-lg);
  background:rgba(244,240,234,.045);
  overflow:hidden;
  transition:border-color .4s cubic-bezier(.16,.84,.28,1),
             background-color .4s ease,
             transform .45s cubic-bezier(.16,.84,.28,1);
}
.oferta:hover{
  border-color:rgba(226,102,31,.5);
  background:rgba(244,240,234,.07);
  transform:translateY(-4px);
}
.oferta:hover .chip{ border-color:rgba(226,102,31,.5); color:var(--text-obratno); }
/* Едрото число в ъгъла — колко импланта */
.oferta__broika{
  position:absolute; top:-.16em; right:.35rem;
  font-family:var(--font-akcent);
  font-size:5.4rem; font-weight:600; line-height:1;
  color:var(--oranj);
  opacity:.14;
  pointer-events:none;
  transition:opacity .45s ease, transform .5s cubic-bezier(.16,.84,.28,1);
}
.oferta:hover .oferta__broika{ opacity:.24; transform:translateY(2px); }
.oferta h3{
  font-family:var(--font-akcent);
  font-size:clamp(1.02rem,.9rem + .4vw,1.2rem);
  font-weight:500; letter-spacing:-.01em;
  color:var(--text-obratno);
  margin:0;
}
.oferta p{
  margin:0;
  font-size:var(--fs-malak); font-weight:300; line-height:1.72;
  color:rgba(244,240,234,.7);
}
.oferta--klyuchova{ border-color:rgba(226,102,31,.3); }
.oferta .chipove{ margin-top:.25rem; }

.implanti__pod{
  display:grid; justify-items:center; gap:1.35rem;
  margin-top:clamp(2rem,1.2rem + 2vw,2.9rem);
  text-align:center;
}
.implanti__chesten{
  max-width:66ch; margin:0;
  font-size:.9rem; font-weight:300; line-height:1.75;
  color:rgba(244,240,234,.6);
}
.implanti__deistvia{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; }

@media (max-width:880px){
  .implanti__vrah{ grid-template-columns:1fr; gap:1.5rem; }
}

/* ==========================================================================
   ДИГИТАЛНО — тънка лента: една снимка и няколко реда
   ========================================================================== */
.digitalno{ padding-block:clamp(2.75rem,2rem + 2.5vw,4.25rem); }
.digitalno__red{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:clamp(1.25rem,.8rem + 2vw,2.75rem);
  align-items:center;
  max-width:960px; margin-inline:auto;
}
.digitalno__foto{
  aspect-ratio:4/3;
  /* без overflow:hidden — печатът трябва да излиза извън кадъра */
}
.digitalno__foto img{
  width:100%; height:100%; object-fit:cover;
  border-radius:var(--r-lg);
  background:var(--pyasak);
  transition:transform .7s cubic-bezier(.16,.84,.28,1);
}
.digitalno__foto:hover img{ transform:scale(1.04); }
.digitalno__tekst h3{
  font-family:var(--font-akcent);
  font-size:clamp(1.15rem,1rem + .7vw,1.55rem);
  font-weight:500; letter-spacing:-.015em;
  margin:.5rem 0 .8rem;
}
.digitalno__tekst p:not(.etiket) + p{ margin-top:.9rem; }
.digitalno__tekst p:not(.etiket){
  margin:0; max-width:52ch;
  font-size:var(--fs-malak); font-weight:300; line-height:1.75;
  color:var(--text-mek);
}
@media (max-width:720px){
  .digitalno__red{ grid-template-columns:1fr; }
}

/* ==========================================================================
   НАШИЯТ ЕКИП — тъмна секция, компактни портрети с надпис върху кадъра
   ========================================================================== */
.ekip{ background:var(--mastilo); color:var(--text-obratno); padding-top:calc(var(--sekcia-y) * .85); }
.ekip__glava{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:1.25rem 3rem;
}
.ekip .glava-sekcia{ max-width:none; text-align:left; }
.ekip h2{ color:var(--text-obratno); max-width:14ch; }
.ekip .etiket{ font-size:1.02rem; letter-spacing:.09em; }
.ekip__vod{
  max-width:42ch;
  font-size:.95rem; font-weight:300; color:rgba(244,240,234,.72);
  padding-bottom:.35rem;
}

.ekip__reshetka{
  display:grid;
  /* auto-fit, а не фиксиран брой колони: екипът се мени и празна
     колона отдясно личи веднага. Плочките са с таван, за да не
     станат огромни, а редът е центриран. */
  grid-template-columns:repeat(auto-fit,minmax(200px,286px));
  justify-content:center;
  gap:clamp(1rem,.5rem + 1.2vw,1.6rem);
  margin-top:clamp(2rem,1rem + 2vw,3rem);
  align-items:start;
}
.chovek{
  --y:0px;
  display:grid; gap:.8rem; align-content:start;
  transform:translateY(var(--y));
  transition:transform .42s cubic-bezier(.16,.84,.28,1);
}
/* Портретите стоят на една линия. Дъгата (втори и трети вдигнати с
   32px) работеше при четирима; при трима първият просто изглеждаше
   изпаднал от реда. Повдигането при посочване остава. */
.chovek:hover{ transform:translateY(calc(var(--y) - 6px)); }

.chovek__kadyr{
  position:relative;
  aspect-ratio:4/5;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:linear-gradient(155deg,#2A231B 0%,#191410 100%);
  box-shadow:0 20px 40px -28px rgba(0,0,0,.8);
}
.chovek__kadyr img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .65s cubic-bezier(.16,.84,.28,1), filter .5s ease;
  filter:saturate(.9);
}
.chovek:hover .chovek__kadyr img{ transform:scale(1.05); filter:saturate(1); }
.chovek__kadyr::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,11,8,0) 44%, rgba(14,11,8,.9) 100%);
}
/* Плочка без снимка — монограм, докато дойде портретът */
.monogram{
  position:absolute; inset:0;
  display:grid; place-content:center;
  font-family:var(--font-akcent);
  font-size:clamp(1.9rem,1.4rem + 1.6vw,2.7rem);
  font-weight:500; letter-spacing:.04em;
  color:rgba(226,102,31,.55);
}
.chovek__nadpis{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  padding:1.05rem 1.05rem 1rem;
  color:var(--text-obratno);
}
.chovek__rolya{
  font-size:.64rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--oranj); font-weight:500; margin-bottom:.3rem;
}
.chovek__ime{
  font-family:var(--font-akcent);
  font-size:clamp(.86rem,.8rem + .26vw,.98rem);
  font-weight:500; letter-spacing:-.01em; line-height:1.28;
  color:var(--text-obratno);
}
.chovek__tel{
  position:absolute; top:.75rem; right:.75rem; z-index:2;
  display:grid; place-items:center;
  width:34px; height:34px;
  border-radius:999px;
  border:1px solid rgba(244,240,234,.28);
  background:rgba(14,11,8,.42);
  backdrop-filter:blur(6px);
  color:var(--text-obratno);
  transition:background-color .35s cubic-bezier(.16,.84,.28,1), border-color .35s ease, transform .35s cubic-bezier(.16,.84,.28,1);
}
.chovek__tel:hover{ background:var(--oranj); border-color:var(--oranj); transform:scale(1.1); }

.chipove{ display:flex; flex-wrap:wrap; gap:.3rem; }
.chip{
  font-size:.66rem; font-weight:400; letter-spacing:.02em;
  padding:.26rem .58rem;
  border:1px solid var(--kant-tumen);
  border-radius:999px;
  color:rgba(244,240,234,.68);
  background:rgba(244,240,234,.04);
  transition:border-color .3s ease, color .3s ease;
}
.chovek:hover .chip{ border-color:rgba(226,102,31,.5); color:var(--text-obratno); }

/* Хоризонтален банер под екипа */
.ekip__cta{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1.25rem 2rem;
  margin-top:clamp(1.5rem,1rem + 1vw,2rem);
  padding:clamp(1.4rem,1rem + 1vw,1.9rem) clamp(1.5rem,1rem + 1.5vw,2.25rem);
  border:1px solid var(--kant-tumen);
  border-left:3px solid var(--oranj);
  border-radius:var(--r);
  background:rgba(244,240,234,.045);
}
.ekip__cta div{ display:grid; gap:.3rem; }
.ekip__cta h3{
  font-family:var(--font-akcent); font-weight:500;
  font-size:clamp(1rem,.9rem + .35vw,1.18rem); letter-spacing:-.01em;
  color:var(--text-obratno);
}
.ekip__cta p{ font-size:var(--fs-malak); font-weight:300; color:rgba(244,240,234,.72); max-width:56ch; }

/* ==========================================================================
   ОТЗИВИ ОТ GOOGLE + КАРТА
   ========================================================================== */
.otzivi{ background:var(--vtori); padding-top:calc(var(--sekcia-y) * .85); }
.otzivi__glava{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:1.5rem 3rem;
}
.otzivi .glava-sekcia{ max-width:none; }
.otzivi .etiket{ font-size:1.02rem; letter-spacing:.09em; }
.ocenka{ display:flex; align-items:center; gap:1.1rem; }
.ocenka__cifra{
  font-family:var(--font-akcent);
  font-size:clamp(2.3rem,1.6rem + 2.2vw,3.2rem);
  font-weight:600; line-height:1;
  letter-spacing:-.04em;
  color:var(--text);
}
.zvezdi{ display:flex; gap:.18rem; color:var(--oranj); }
.ocenka__broi{ display:block; font-size:var(--fs-malak); font-weight:300; color:var(--text-mek); margin-top:.35rem; }
.otzivi__deistvia{ display:flex; flex-wrap:wrap; gap:.7rem; }

.otzivi__spisak{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:clamp(2rem,1rem + 2vw,2.75rem);
}
.otziv{
  padding:1.35rem 1.5rem;
  border:1px solid var(--kant);
  border-radius:var(--r);
  background:var(--osnova);
  display:grid; gap:.7rem; align-content:start;
}
.otziv__glava{ display:grid; gap:.15rem; }
.otziv__ime{ font-family:var(--font-akcent); font-size:.88rem; font-weight:500; }
.otziv__data{ font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-mek); }
.otziv p{ font-size:var(--fs-malak); font-weight:300; color:var(--text-mek); line-height:1.75; }
.otziv .zvezdi svg{ width:13px; height:13px; }

/* Картата — на цяла ширина, с плаващ панел */
.mestopolojenie{
  position:relative;
  margin-top:clamp(1.25rem,1rem + 1vw,1.75rem);
  border:1px solid var(--kant);
  border-radius:var(--r-lg);
  overflow:hidden;
  aspect-ratio:21/8;
  background:linear-gradient(160deg,#EFEAE1 0%,#E4DDD1 100%);
}
.mestopolojenie__rezerva{ position:absolute; inset:0; z-index:1; }
.mestopolojenie__rezerva img{ width:100%; height:100%; object-fit:cover; }
.mestopolojenie__map{
  position:absolute; inset:0; z-index:2;
  width:100%; height:100%; border:0; background:transparent;
}
.panel{
  position:absolute; z-index:3;
  left:clamp(.9rem,2vw,2rem); top:50%; transform:translateY(-50%);
  width:min(340px, 74%);
  padding:1.5rem 1.6rem;
  border-radius:var(--r);
  background:rgba(16,13,10,.9);
  backdrop-filter:blur(10px);
  border:1px solid var(--kant-tumen);
  color:var(--text-obratno);
  display:grid; gap:.9rem;
}
.panel h3{ font-family:var(--font-akcent); font-size:1.02rem; font-weight:500; color:var(--text-obratno); }
.panel__red{ display:grid; grid-template-columns:auto 1fr; gap:.75rem; align-items:start; font-size:.86rem; font-weight:300; color:rgba(244,240,234,.8); }
.panel__red svg{ color:var(--oranj); margin-top:.22rem; flex:none; }
.panel__btni{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.25rem; }
.panel .btn{ padding:.58rem 1.05rem; font-size:.74rem; }

/* --------------------------------------------------------------------------
   КЪДЕ СЕ НАМИРАМЕ — секцията с картата на началната страница
   -------------------------------------------------------------------------- */
.kydeto__vod{
  max-width:74ch; margin-top:1.1rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.8;
  color:var(--text-mek);
}
.kydeto .mestopolojenie{ margin-top:clamp(1.5rem,1rem + 1.4vw,2.2rem); }
.kydeto__pod{ margin-top:1.2rem; }

/* Мотивът под надписа — само фон. Не е карта и не се прави на такава:
   истинската идва от Google чак след клик. */
.karta-motiv{
  position:absolute; inset:0; z-index:0;
  overflow:hidden;
  background:linear-gradient(160deg,#EFEAE1 0%,#E2DACD 100%);
}
.karta-motiv::before{
  content:''; position:absolute; inset:-25%;
  background:
    repeating-linear-gradient(64deg,  transparent 0 86px, rgba(255,255,255,.8)  86px 100px),
    repeating-linear-gradient(-27deg, transparent 0 128px, rgba(255,255,255,.55) 128px 140px);
}
.karta-motiv::after{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 18% 78%, rgba(150,160,120,.28) 0 12%, transparent 12.5%),
    radial-gradient(circle at 82% 22%, rgba(150,160,120,.22) 0 9%,  transparent 9.5%),
    radial-gradient(circle at 60% 90%, rgba(150,160,120,.18) 0 7%,  transparent 7.5%);
}
.karta-pin{
  position:absolute; z-index:1;
  left:66%; top:46%; transform:translate(-50%,-100%);
  color:var(--oranj);
  filter:drop-shadow(0 6px 10px rgba(23,20,15,.28));
}
.karta-pin svg{ width:38px; height:38px; }
.karta-pin::after{
  content:''; position:absolute; left:50%; bottom:-11px;
  width:34px; height:12px; transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%, rgba(226,102,31,.34) 0%, transparent 70%);
  animation:karta-puls 2.6s ease-in-out infinite;
}
@keyframes karta-puls{
  0%,100%{ transform:translateX(-50%) scale(1);   opacity:.9; }
  50%    { transform:translateX(-50%) scale(1.5); opacity:.4; }
}
@media (prefers-reduced-motion:reduce){
  .karta-pin::after{ animation:none; }
}
.mestopolojenie__nadpis{
  position:absolute; z-index:1;
  left:50%; bottom:.9rem; transform:translateX(-50%);
  width:max-content; max-width:min(92%, 46ch);
  margin:0; padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(250,248,245,.9);
  border:1px solid var(--kant);
  font-size:.72rem; font-weight:300; line-height:1.5; text-align:center;
  color:var(--text-mek);
}

/* ==========================================================================
   ЗАПОВЯДАЙ ПРИ НАС — тъмна секция със снимка на клиниката отзад
   ========================================================================== */
.pokana{
  position:relative;
  overflow:hidden;
  background:var(--mastilo);
  color:var(--text-obratno);
  isolation:isolate;
}
.pokana__foto{ position:absolute; inset:0; z-index:-2; }
.pokana__foto img{ width:100%; height:100%; object-fit:cover; }
.pokana__zavesa{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(100deg, rgba(14,11,8,.95) 0%, rgba(14,11,8,.88) 42%, rgba(14,11,8,.55) 78%, rgba(14,11,8,.35) 100%);
}
.pokana .obvivka{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem,1rem + 3.5vw,4.5rem);
  align-items:center;
}
.pokana h2{ color:var(--text-obratno); max-width:16ch; }
.pokana .etiket{ font-size:1.02rem; letter-spacing:.09em; }
.pokana__tekst > * + *{ margin-top:1.2rem; }
.pokana p:not(.etiket){
  color:rgba(244,240,234,.8);
  font-size:1.02rem; font-weight:300;
  max-width:52ch;
}
.pokana__deistvia{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.9rem; }

/* Трите карти: адрес, телефон, работно време */
.karti{ display:grid; gap:.85rem; }
.karta-info{
  display:grid; grid-template-columns:auto 1fr; gap:1.1rem; align-items:center;
  padding:1.15rem 1.35rem;
  border:1px solid var(--kant-tumen);
  border-radius:var(--r);
  background:rgba(244,240,234,.055);
  backdrop-filter:blur(6px);
  text-decoration:none;
  transition:background-color .4s cubic-bezier(.16,.84,.28,1), border-color .4s ease, transform .4s cubic-bezier(.16,.84,.28,1);
}
a.karta-info:hover{ background:rgba(244,240,234,.1); border-color:rgba(226,102,31,.5); transform:translateX(5px); }
.karta-info__ikona{
  display:grid; place-items:center;
  width:44px; height:44px; flex:none;
  border-radius:999px;
  background:transparent;
  border:1px solid rgba(226,102,31,.55);
  color:var(--oranj);
}
a.karta-info:hover .karta-info__ikona{ background:var(--oranj); border-color:var(--oranj); color:#1B1713; }
.karta-info span{
  display:block;
  font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(244,240,234,.5); margin-bottom:.2rem;
}
.karta-info b{
  display:block;
  font-family:var(--font-akcent);
  font-size:.98rem; font-weight:500; letter-spacing:-.01em;
  color:var(--text-obratno);
}
.karta-info b small{ display:block; font-family:var(--font-tekst); font-size:.8rem; font-weight:300; color:rgba(244,240,234,.62); letter-spacing:0; margin-top:.2rem; }

/* ==========================================================================
   НЗОК — тъмна секция със снимка на чакалнята отзад
   ========================================================================== */
.nzok{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--mastilo);
  color:var(--text-obratno);
}
.nzok__foto{ position:absolute; inset:0; z-index:-2; }
.nzok__foto img{ width:100%; height:100%; object-fit:cover; }
.nzok__zavesa{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(268deg, rgba(14,11,8,.96) 0%, rgba(14,11,8,.9) 40%, rgba(14,11,8,.6) 74%, rgba(14,11,8,.4) 100%);
}
.nzok .obvivka{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(2rem,1rem + 3vw,4rem);
  align-items:center;
}
.nzok h2{ color:var(--text-obratno); max-width:14ch; }
.nzok .etiket{ font-size:1.02rem; letter-spacing:.09em; }
.nzok__vod{ color:rgba(244,240,234,.78); font-size:var(--fs-vod); font-weight:300; margin-top:1rem; max-width:44ch; }
.nzok__deistvia{ margin-top:1.9rem; display:flex; flex-wrap:wrap; gap:.85rem; }

.nzok__karta{
  background:rgba(244,240,234,.055);
  border:1px solid var(--kant-tumen);
  border-left:3px solid var(--oranj);
  border-radius:var(--r);
  padding:clamp(1.5rem,1rem + 1.5vw,2.1rem);
  backdrop-filter:blur(8px);
  display:grid;
  gap:1rem;
}
.nzok__karta p{
  display:grid; grid-template-columns:auto 1fr; gap:.85rem; align-items:start;
  font-size:var(--fs-malak); font-weight:300;
  color:rgba(244,240,234,.85);
}
.nzok__karta p svg{ color:var(--oranj); margin-top:.3rem; flex:none; }
.nzok__karta b{ color:var(--text-obratno); font-weight:500; }
.nzok__red{ padding-top:1rem; border-top:1px solid var(--kant-tumen); }

/* ==========================================================================
   ФИНАЛЕН ПРИЗИВ
   ========================================================================== */
.final{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:var(--mastilo);
  color:var(--text-obratno);
  text-align:center;
  border-top:1px solid rgba(226,102,31,.28);
}
.final__foto{ position:absolute; inset:0; z-index:-2; }
.final__foto img{ width:100%; height:100%; object-fit:cover; opacity:.62; }
.final__zavesa{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(70% 90% at 50% 42%, rgba(226,102,31,.16) 0%, transparent 66%),
    linear-gradient(180deg, rgba(16,13,10,.9) 0%, rgba(16,13,10,.8) 45%, rgba(16,13,10,.94) 100%);
}
.final{ padding-block:clamp(4.5rem,3rem + 6vw,8rem); }
.final h2{ font-size:clamp(1.9rem,1.2rem + 2.6vw,3.1rem); }
.final .btn{ padding:1.05rem 2.1rem; font-size:.86rem; }
.final .hero__deistvia{ gap:1rem; margin-top:.75rem; }

/* Трите бързи факта под бутоните */
.final__fakti{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:.75rem 1rem;
  margin-top:2.25rem;
}
.final__fakt{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.55rem 1.05rem;
  border:1px solid var(--kant-tumen);
  border-radius:999px;
  background:rgba(244,240,234,.05);
  backdrop-filter:blur(6px);
  font-size:.78rem; letter-spacing:.06em;
  color:rgba(244,240,234,.78);
}
.final__fakt svg{ color:var(--oranj); flex:none; }
.final .obvivka{ display:grid; justify-items:center; gap:1.3rem; position:relative; z-index:1; }
.final h2{ color:var(--text-obratno); max-width:20ch; }
.final p:not(.etiket){ max-width:56ch; color:rgba(244,240,234,.75); font-size:var(--fs-vod); font-weight:300; text-wrap:pretty; }

/* ==========================================================================
   ПОДНОЖИЕ
   ========================================================================== */
.podnojie{
  background:#100D0A;
  color:rgba(244,240,234,.55);
  padding-block:clamp(3.5rem,2rem + 3vw,5rem) 0;
  font-size:.9rem;
  font-weight:300;
  line-height:1.9;
}
.podnojie__vrah{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));
  gap:clamp(1.75rem,1rem + 2vw,3rem);
  padding-bottom:clamp(2.5rem,1.5rem + 2vw,3.5rem);
  border-bottom:1px solid rgba(244,240,234,.08);
}
/* Категориите в подножието са единственото място (освен логото),
   където се появява Unbounded — характерният шрифт. */
.podnojie h4{
  font-family:var(--font-akcent);
  font-size:clamp(.92rem,.85rem + .28vw,1.08rem);
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.3;
  text-transform:uppercase;
  color:var(--oranj);
  margin-bottom:1.1rem;
}
.podnojie ul{ list-style:none; margin:0; padding:0; display:grid; gap:.35rem; }
.podnojie a{ text-decoration:none; transition:color .16s ease; }
.podnojie a:hover{ color:var(--text-obratno); }
.podnojie__za p + p{ margin-top:.85rem; }
.podnojie__logo{ margin-bottom:1.5rem; }
.podnojie__logo img{ height:40px; width:auto; filter:brightness(0) invert(1); opacity:.92; }
.podnojie__dolu{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1rem 2rem;
  padding-block:1.6rem;
  font-size:.68rem;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(244,240,234,.38);
}
.podnojie__pravni{ display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; }
.podnojie__nastroiki{
  appearance:none; -webkit-appearance:none;
  background:none; border:0; padding:0; margin:0;
  font:inherit; letter-spacing:inherit; text-transform:inherit;
  color:inherit; cursor:pointer;
  text-decoration:underline; text-underline-offset:.25em;
  text-decoration-color:rgba(244,240,234,.25);
  transition:color .2s ease, text-decoration-color .2s ease;
}
.podnojie__nastroiki:hover{ color:var(--text-obratno); text-decoration-color:currentColor; }
.podnojie__nastroiki:focus-visible{ outline:2px solid var(--oranj); outline-offset:3px; border-radius:2px; }

/* ==========================================================================
   МОБИЛНА ЛЕНТА ЗА ДЕЙСТВИЕ
   ========================================================================== */
.mobilna{
  display:none;
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--kant-tumen);
  border-top:1px solid rgba(27,23,19,.1);
  box-shadow:0 -8px 24px -14px rgba(27,23,19,.24);
}
.mobilna a{
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.95rem .5rem;
  font-size:.82rem; font-weight:500; letter-spacing:.1em;
  text-transform:uppercase; text-decoration:none;
}
.mobilna a:first-child{ background:var(--mastilo); color:var(--text-obratno); }
.mobilna a:last-child{ background:var(--oranj); color:#FFF6EF; }

/* ==========================================================================
   ЛУПА — снимките се отварят на цял екран и се сменят с плъзгане
   ========================================================================== */
.lupa{
  position:fixed; inset:0; z-index:200;
  display:grid; place-items:center;
  background:rgba(9,7,5,.975);
  backdrop-filter:blur(6px);
  opacity:0; visibility:hidden;
  transition:opacity .38s cubic-bezier(.16,.84,.28,1), visibility .38s;
}
.lupa.otvorena{ opacity:1; visibility:visible; }
.lupa__ramka{
  position:relative;
  width:min(94vw, 1180px);
  height:min(84vh, 820px);
  overflow:hidden;
}
.lupa__ramka img{
  position:absolute; inset:0; margin:auto;
  max-width:100%; max-height:100%;
  width:auto; height:auto;
  border-radius:var(--r);
  opacity:0;
  transform:translateX(var(--ot, 40px)) scale(.985);
  transition:opacity .42s cubic-bezier(.16,.84,.28,1), transform .42s cubic-bezier(.16,.84,.28,1);
}
.lupa__ramka img.aktivna{ opacity:1; transform:none; }
.lupa__opis{
  position:absolute; left:0; right:0; bottom:0;
  padding:2.5rem 1rem 1rem;
  text-align:center;
  font-size:.82rem; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(244,240,234,.7);
  background:linear-gradient(180deg, transparent, rgba(9,7,5,.85));
  pointer-events:none;
}
.lupa__btn{
  position:absolute; z-index:2;
  display:grid; place-items:center;
  width:46px; height:46px;
  border:1px solid rgba(244,240,234,.2);
  border-radius:999px;
  background:rgba(244,240,234,.06);
  color:var(--text-obratno);
  cursor:pointer;
  transition:background-color .35s cubic-bezier(.16,.84,.28,1), transform .35s cubic-bezier(.16,.84,.28,1), border-color .35s ease;
}
.lupa__btn:hover{ background:var(--oranj); border-color:var(--oranj); transform:scale(1.1); }
.lupa__nazad{ left:clamp(.5rem,2vw,2rem); top:50%; margin-top:-23px; }
.lupa__napred{ right:clamp(.5rem,2vw,2rem); top:50%; margin-top:-23px; }
.lupa__zatvori{ right:clamp(.5rem,2vw,2rem); top:clamp(.75rem,3vh,2rem); }
.lupa__broi{
  position:absolute; left:50%; transform:translateX(-50%);
  top:clamp(.75rem,3vh,2rem);
  font-size:.75rem; letter-spacing:.16em;
  color:rgba(244,240,234,.55);
  font-variant-numeric:tabular-nums;
}

/* Кадър, който се отваря — показва, че е кликаем */
.otvarq{ cursor:zoom-in; }
.otvarq::before{
  content:''; position:absolute; inset:0; z-index:2;
  background:rgba(23,20,15,0);
  transition:background-color .4s cubic-bezier(.16,.84,.28,1);
}
.otvarq:hover::before{ background:rgba(23,20,15,.18); }

/* ==========================================================================
   КОГАТО СНИМКА НЕ СЕ ЗАРЕДИ
   Кадърът остава цветен блок с описание какъв кадър влиза там —
   вместо счупена иконка. Полезно и при преглед без връзка към сайта.
   ========================================================================== */
.bez-foto{ position:relative; }
.bez-foto::after{
  content:attr(data-opisanie);
  position:absolute; inset:0; z-index:0;
  display:grid; place-content:center;
  padding:1.25rem; text-align:center;
  font-family:var(--font-tekst);
  font-size:.68rem; font-weight:600; letter-spacing:.1em; line-height:1.7;
  text-transform:uppercase;
  color:rgba(27,23,19,.34);
}
.bez-foto img{ position:relative; z-index:1; }
.sekcia--mastilo .bez-foto::after,
.hero .bez-foto::after{ color:rgba(244,240,234,.4); }

/* ==========================================================================
   ПОЯВЯВАНЕ ПРИ ЗАРЕЖДАНЕ
   ========================================================================== */
.poyava{ opacity:0; transform:translateY(14px); animation:izpluva .7s cubic-bezier(.2,.7,.3,1) forwards; }
.poyava:nth-child(2){ animation-delay:.09s; }
.poyava:nth-child(3){ animation-delay:.18s; }
.poyava:nth-child(4){ animation-delay:.27s; }
@keyframes izpluva{ to{ opacity:1; transform:none; } }

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

/* ==========================================================================
   АДАПТИВНО — таблет
   ========================================================================== */
@media (max-width:1240px){
  .navigacia{ display:none; }
  .menu-btn{
    display:inline-flex; align-items:center; justify-content:center;
    margin-inline-start:auto;
    width:44px; height:44px;
    border:1px solid var(--kant); border-radius:var(--r);
    background:transparent; color:var(--text); cursor:pointer;
  }
  .glava__tel span{ display:none; }
  .stylbove .obvivka{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stylb:nth-child(-n+2){ border-bottom:1px solid var(--kant); }
  .stylb:nth-child(odd){ border-left:0; }
}

/* ==========================================================================
   АДАПТИВНО — телефон
   ========================================================================== */
@media (max-width:820px){
  .implanti__vrah,
  .ekip__reshetka,
  .snimki__vrah,
  .klinika__glava,
  .pokana .obvivka,
  .nzok .obvivka{ grid-template-columns:minmax(0,1fr); }
  .otzivi__spisak{ grid-template-columns:minmax(0,1fr); }
  /* Панелът застава ПОД кадъра, а не върху него. Отгоре покриваше
     и пина, и надписа, и оставяше празно място горе и долу. */
  .mestopolojenie{ aspect-ratio:auto; }
  .mestopolojenie__rezerva{ position:relative; inset:auto; aspect-ratio:16/10; }
  .panel{
    position:static; left:auto; right:auto; top:auto; bottom:auto;
    width:auto; transform:none;
    border:0; border-top:1px solid var(--kant-tumen); border-radius:0;
    backdrop-filter:none; background:var(--mastilo);
  }
  /* щом картата се зареди, кадърът и панелът изчезват —
     иначе кутията остава без височина и iframe-ът не се вижда */
  .mestopolojenie.karta-zaredena{ aspect-ratio:3/4; }
  .spisak-3d{ grid-template-columns:minmax(0,1fr); }
  .sravnenie{ grid-template-columns:minmax(0,1fr); }
  .aparatura{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .galeria{ grid-auto-rows:clamp(52px,11vw,74px); }

  .ekip__reshetka{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .snimki__pod{ justify-content:center; text-align:center; }
  .snimki__pod h3{ white-space:normal; }
  .klinika__glava h2{ white-space:normal; }
  .hero{ min-height:clamp(480px,78vh,640px); }
  .hero h1{ max-width:none; }
  .hero__zavesa{
    background:linear-gradient(180deg, rgba(14,11,8,.82) 0%, rgba(14,11,8,.66) 30%, rgba(14,11,8,.72) 62%, rgba(14,11,8,.92) 100%);
  }
  .hero__foto img{ object-position:48% 48%; }

  .galeria{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .galeria__kadyr,
  .galeria__kadyr--golyam,
  .galeria__kadyr--shirok{ grid-column:span 1; aspect-ratio:1; }


  .podnojie__vrah{ grid-template-columns:repeat(2,minmax(0,1fr)); }

  .mobilna{ display:grid; }
  body{ padding-bottom:60px; }
  .lenta__rabotno{ display:none; }
  .lenta .obvivka{ justify-content:center; }

  /* На телефон бутонът „Запази час“ живее в долната лента — в главата остава само телефонът. */
  .glava__desno .btn{ display:none; }
  .glava .obvivka{ min-height:64px; }
}

@media (max-width:560px){
  .uslugi__reshetka{ gap:1.25rem .9rem; }
  .ekip__reshetka{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
  /* Две колонки, не една: в колона четирите стълба изяждаха
     половин екран още преди съдържанието да е започнало. */
  .stylbove .obvivka{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stylb{ padding:.9rem .7rem; }
  .stylb:nth-child(odd){ border-left:0; }
  .stylb:nth-child(-n+2){ border-bottom:1px solid var(--kant); }
  .stylb h3{ font-size:.82rem; margin-bottom:.22rem; }
  .stylb p{ font-size:.76rem; line-height:1.45; }
  .podnojie__vrah{ grid-template-columns:minmax(0,1fr); }
  .hero__deistvia{ flex-direction:column; align-items:stretch; }
  .hero__deistvia .btn{ width:100%; }
  .hero__tel{ justify-content:center; }
}

/* ==========================================================================
   ВЪТРЕШНИ СТРАНИЦИ — общ горен блок
   ========================================================================== */
.vrah-stranica{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:clamp(320px, 46vh, 430px);
  margin-top:calc(-1 * (var(--h-lenta) + var(--h-glava)));
  padding-top:calc(var(--h-lenta) + var(--h-glava) + 1.5rem);
  padding-bottom:clamp(2rem,1.5rem + 2vw,3.25rem);
  background:var(--mastilo);
  overflow:hidden;
  isolation:isolate;
}
/* Връх на цял екран — „Зъбни снимки". Заглавието стои в долната
   трета, за да остане снимката на апаратурата видима отгоре. */
.vrah-stranica--cql{
  min-height:100svh;
  padding-bottom:clamp(3rem,2rem + 4vw,6rem);
}
@media (max-width:640px){
  .vrah-stranica--cql{ padding-bottom:calc(var(--h-dolna) + 2.5rem); }
}

.vrah-stranica__foto{ position:absolute; inset:0; z-index:-2; }
.vrah-stranica__foto img{ width:100%; height:100%; object-fit:cover; object-position:60% 55%; }
.vrah-stranica__zavesa{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(96deg, rgba(14,11,8,.96) 0%, rgba(14,11,8,.9) 40%, rgba(14,11,8,.6) 70%, rgba(14,11,8,.25) 100%),
    linear-gradient(180deg, rgba(14,11,8,.8) 0%, rgba(14,11,8,.2) 30%, rgba(14,11,8,.2) 60%, rgba(14,11,8,.55) 100%);
}
.vrah-stranica .obvivka{ width:100%; position:relative; z-index:1; }
.vrah-stranica h1{
  color:var(--text-obratno);
  font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem);
  max-width:18ch;
  margin-top:.9rem;
}
.vrah-stranica__vod{
  margin-top:1rem; max-width:52ch;
  font-size:var(--fs-vod); font-weight:300;
  color:rgba(244,240,234,.82);
}

/* Пътечка Начало / Страница */
.patechka{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;
  font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(244,240,234,.55);
  margin-bottom:1.1rem;
}
.patechka a{ text-decoration:none; transition:color .3s ease; }
.patechka a:hover{ color:var(--oranj); }
.patechka span[aria-current]{ color:var(--oranj); }

/* ==========================================================================
   БЪРЗИ КОНТАКТИ
   ========================================================================== */
/* ==========================================================================
   КОНТАКТИ — тънка лента с хоризонтални клетки, без кутии
   ========================================================================== */
.kontakt-lenta{
  display:grid;
  grid-template-columns:1.05fr 1.25fr 1.2fr 1fr;
  border-top:1px solid var(--kant);
  border-bottom:1px solid var(--kant);
}
.kontakt{
  position:relative;
  display:grid; gap:.45rem; align-content:start;
  padding:clamp(1.4rem,1rem + 1vw,1.9rem) clamp(1rem,.6rem + 1vw,1.6rem)
          clamp(1.4rem,1rem + 1vw,1.9rem) 0;
  text-decoration:none;
}
.kontakt + .kontakt{
  padding-left:clamp(1rem,.6rem + 1vw,1.6rem);
  border-left:1px solid var(--kant);
}
.kontakt__glava{
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:.63rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--text-mek);
  transition:color .3s ease;
}
.kontakt__glava svg{ color:var(--oranj); flex:none; transition:transform .38s cubic-bezier(.16,.84,.28,1); }
.kontakt__stoinost{
  position:relative;
  align-self:start; justify-self:start;
  overflow-wrap:anywhere;
  font-family:var(--font-akcent);
  font-size:.95rem; font-weight:500; letter-spacing:-.012em; line-height:1.3;
  color:var(--text);
  transition:color .3s ease;
}
/* тънка чертичка, която се разтяга при посочване */
.kontakt__stoinost::after{
  content:''; position:absolute; left:0; right:0; bottom:-4px;
  height:1px; background:var(--oranj);
  transform:scaleX(0); transform-origin:left;
  transition:transform .32s cubic-bezier(.2,.7,.3,1);
}
a.kontakt:hover .kontakt__stoinost{ color:var(--oranj); }
a.kontakt:hover .kontakt__stoinost::after{ transform:scaleX(1); }
a.kontakt:hover .kontakt__glava{ color:var(--text); }
a.kontakt:hover .kontakt__glava svg{ transform:translateX(2px) scale(1.12); }
.kontakt__dopl{
  font-size:.76rem; font-weight:300; line-height:1.5;
  color:var(--text-mek);
}
/* Телефонът е най-важен — стои по-едро от останалите */
.kontakt--glaven .kontakt__stoinost{ font-size:1.2rem; }
.kontakt--statichen{ cursor:default; }

@media (max-width:900px){
  .kontakt-lenta{ grid-template-columns:1fr 1fr; }
  .kontakt{ padding-inline:0 !important; }
  .kontakt:nth-child(even){
    padding-left:clamp(1rem,.6rem + 1vw,1.6rem) !important;
    border-left:1px solid var(--kant);
  }
  .kontakt:nth-child(odd){ border-left:0; }
  .kontakt:nth-child(-n+2){ border-bottom:1px solid var(--kant); }
}
@media (max-width:480px){
  .kontakt-lenta{ grid-template-columns:1fr; }
  .kontakt{ padding-left:0 !important; border-left:0 !important; }
  .kontakt + .kontakt{ border-top:1px solid var(--kant); border-left:0; }
  .kontakt:nth-child(-n+2){ border-bottom:0; }
}

/* ==========================================================================
   ФОРМА ЗА СЪОБЩЕНИЕ + РАБОТНО ВРЕМЕ
   ========================================================================== */
.vryzka .obvivka{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(2rem,1rem + 3vw,4rem);
  align-items:start;
}
.forma{ display:grid; gap:1rem; margin-top:1.9rem; }
.forma__red{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.pole{ display:grid; gap:.4rem; }
.pole label{
  font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--text-mek); font-weight:500;
}
.pole input, .pole textarea{
  font-family:var(--font-tekst);
  font-size:var(--fs-tekst); font-weight:300;
  color:var(--text);
  padding:.85rem 1rem;
  border:1px solid var(--kant);
  border-radius:var(--r);
  background:var(--osnova);
  transition:border-color .3s ease, box-shadow .3s ease;
}
.pole textarea{ min-height:140px; resize:vertical; }
.pole input:focus, .pole textarea:focus{
  outline:none;
  border-color:var(--oranj);
  box-shadow:0 0 0 3px rgba(226,102,31,.14);
}
.syglasie{
  display:grid; grid-template-columns:auto 1fr; gap:.7rem; align-items:start;
  font-size:.82rem; font-weight:300; color:var(--text-mek); line-height:1.6;
}
.syglasie input{ margin-top:.28rem; accent-color:var(--oranj); width:16px; height:16px; }
.syglasie a{ color:var(--text); }
.forma .btn{ justify-self:start; margin-top:.35rem; }

/* Работно време по дни */
.chasove{
  border:1px solid var(--kant);
  border-radius:var(--r-lg);
  background:var(--osnova);
  padding:clamp(1.35rem,1rem + 1vw,1.85rem);
  margin-top:1.9rem;
}
.chasove h3{
  font-family:var(--font-akcent); font-size:1rem; font-weight:500;
  margin-bottom:1.1rem;
}
.chasove ul{ list-style:none; margin:0; padding:0; display:grid; }
.chasove li{
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  padding:.6rem 0;
  border-bottom:1px solid var(--kant);
  font-size:var(--fs-malak); font-weight:300;
  color:var(--text-mek);
}
.chasove li:last-child{ border-bottom:0; }
.chasove li b{ font-weight:400; color:var(--text); }
.chasove li span{ font-variant-numeric:tabular-nums; }
.chasove__pod{
  display:flex; align-items:center; gap:.6rem;
  margin-top:1.1rem; padding-top:1.1rem;
  border-top:1px solid var(--kant);
  font-size:var(--fs-malak); font-weight:300; color:var(--text-mek);
}

@media (max-width:820px){
  .byrzi{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vryzka .obvivka{ grid-template-columns:minmax(0,1fr); }
  .vrah-stranica{ min-height:clamp(280px,40vh,340px); }
  .vrah-stranica--cql{ min-height:100svh; }
}
@media (max-width:560px){
  .byrzi{ grid-template-columns:minmax(0,1fr); }
  .forma__red{ grid-template-columns:minmax(0,1fr); }
}

/* Картата се появява чак след клик — виж assets/js/site.js */
.karta-start{ cursor:pointer; }
.mestopolojenie.karta-zaredena .mestopolojenie__rezerva,
.mestopolojenie.karta-zaredena .karta-pin,
.mestopolojenie.karta-zaredena .panel{ display:none; }

/* ==========================================================================
   СТРАНИЦА „УСЛУГИ“ — списък с плочки
   ========================================================================== */
.grupa .glava-sekcia{ max-width:none; }
.grupa .etiket{ font-size:1.02rem; letter-spacing:.09em; }
.grupa__glava{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.25rem,1rem + 2vw,3.5rem);
  align-items:end;
}
.grupa__vod{
  font-size:1rem; font-weight:300; color:var(--text-mek);
  max-width:66ch; padding-bottom:.2rem;
}
.sekcia--mastilo .grupa__vod{ color:rgba(244,240,234,.75); }

.spisak-uslugi{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(172px, 1fr));
  gap:clamp(1.1rem,.6rem + 1vw,1.6rem) clamp(.6rem,.3rem + .6vw,1rem);
  margin-top:clamp(2rem,1rem + 2vw,2.75rem);
}
.spisak-uslugi .usluga__ime{ min-height:3em; display:flex; align-items:flex-start; justify-content:center; }
.usluga__pod{
  margin:.15rem 0 0;
  text-align:center;
  font-size:.7rem; font-weight:300;
  letter-spacing:.02em; text-transform:none;
  line-height:1.5;
  color:var(--text-mek);
}
.sekcia--mastilo .usluga__ime{ color:var(--text-obratno); }
.sekcia--mastilo .usluga__pod{ color:rgba(244,240,234,.6); }
.sekcia--mastilo .usluga__kadyr{ background:rgba(244,240,234,.08); }

@media (max-width:820px){
  .grupa__glava{ grid-template-columns:minmax(0,1fr); align-items:start; }
  .spisak-uslugi{ grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); }
}
@media (max-width:480px){
  .spisak-uslugi{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ==========================================================================
   ГАЛЕРИЯ — раздели и мозайка
   ========================================================================== */
.razdeli{
  display:flex; flex-wrap:wrap; gap:.5rem;
  margin-top:clamp(1.5rem,1rem + 1.5vw,2.25rem);
}
.razdel{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.62rem 1.15rem;
  border:1px solid var(--kant);
  border-radius:999px;
  background:transparent;
  font-family:var(--font-tekst);
  font-size:.78rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-mek);
  cursor:pointer;
  transition:background-color .35s cubic-bezier(.16,.84,.28,1), color .35s ease, border-color .35s ease, transform .35s cubic-bezier(.16,.84,.28,1);
}
.razdel:hover{ border-color:rgba(226,102,31,.5); color:var(--text); transform:translateY(-1px); }
.razdel[aria-selected="true"]{ background:var(--mastilo); border-color:var(--mastilo); color:var(--text-obratno); }
.razdel small{
  font-size:.72em; font-weight:400; opacity:.6;
  font-variant-numeric:tabular-nums;
}

/* --------------------------------------------------------------------------
   МОЗАЙКА — зидария (masonry) на колони.
   Снимките пазят собствените си пропорции — нищо не се реже.
   Брой колони: сменя се само в правилата по-долу.
   -------------------------------------------------------------------------- */
.mozaika{
  --luft:clamp(.55rem,.3rem + .5vw,.85rem);
  column-count:4;
  column-gap:var(--luft);
  margin-top:clamp(1.75rem,1rem + 1.5vw,2.5rem);
}
@media (max-width:1180px){ .mozaika{ column-count:3; } }
@media (max-width:820px){  .mozaika{ column-count:2; } }
@media (max-width:430px){  .mozaika{ column-count:2; } }

/* Широк кадър (преди/след в един файл) минава през всички колони —
   в една колона от четири такава лента става на клечка за зъби. */
.kadar--shiroko{
  column-span:all;
  max-width:1100px;
  margin-inline:auto;
}

.kadar{
  position:relative;
  display:block;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
  margin:0 0 var(--luft);
  border-radius:var(--r);
  overflow:hidden;
  background:linear-gradient(150deg,#E6DED3 0%,#D3C9BB 100%);
  cursor:zoom-in;
  transition:
    opacity .58s cubic-bezier(.16,.84,.28,1),
    transform .5s cubic-bezier(.16,.84,.28,1),
    box-shadow .4s ease;
}
/* Класът .js-poyava го слага скриптът. Ако той не се зареди, кадрите
   се виждат нормално — нищо не изчезва. */
.mozaika.js-poyava .kadar{
  opacity:0;
  transform:translateY(22px) scale(.985);
  will-change:transform, opacity;
}
.mozaika.js-poyava .kadar.vidim{ opacity:1; transform:none; }
.kadar img{
  display:block;
  width:100%; height:auto;
  transition:transform .55s cubic-bezier(.16,.84,.28,1);
}
.kadar::after{
  content:''; position:absolute; inset:0;
  box-shadow:inset 0 0 0 1px rgba(23,20,15,.07);
  border-radius:inherit; pointer-events:none;
}
.kadar:hover,
.mozaika.js-poyava .kadar.vidim:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 40px -20px rgba(23,20,15,.42);
}
.kadar:hover img{ transform:scale(1.05); }
.kadar:hover::after{ box-shadow:inset 0 0 0 1px rgba(226,102,31,.35); }
.kadar::after{ transition:box-shadow .4s ease; }
.kadar__etiket{
  position:absolute; left:0; right:0; bottom:0;
  padding:2.2rem .85rem .7rem;
  font-size:.72rem; line-height:1.35; letter-spacing:.04em;
  color:rgba(244,240,234,.95);
  background:linear-gradient(180deg, transparent, rgba(14,11,8,.85));
  opacity:0; transform:translateY(6px);
  transition:opacity .3s ease, transform .3s ease;
}
.kadar:hover .kadar__etiket,
.kadar:focus-visible .kadar__etiket{ opacity:1; transform:none; }
.kadar[hidden]{ display:none; }

/* ==========================================================================
   ОЦЕНКАТА В ГОРНИЯ БЛОК
   ========================================================================== */
.reyting{
  display:inline-flex; align-items:center; gap:.75rem;
  margin-top:1.6rem;
  padding:.6rem 1.1rem .6rem .85rem;
  border:1px solid var(--kant-tumen);
  border-radius:999px;
  background:rgba(244,240,234,.07);
  backdrop-filter:blur(6px);
  text-decoration:none;
  transition:background-color .35s ease, border-color .35s ease, transform .35s cubic-bezier(.16,.84,.28,1);
}
.reyting:hover{ background:rgba(244,240,234,.12); border-color:rgba(226,102,31,.45); transform:translateY(-2px); }
.reyting b{
  font-family:var(--font-akcent); font-size:1.05rem; font-weight:600;
  color:var(--text-obratno); letter-spacing:-.02em;
}
.reyting .zvezdi svg{ width:13px; height:13px; }
.reyting span{ font-size:.76rem; font-weight:300; color:rgba(244,240,234,.7); }

/* ==========================================================================
   ЗЪБНИ СНИМКИ — видове
   ========================================================================== */
.vidove{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:clamp(.9rem,.5rem + .8vw,1.25rem);
  margin-top:clamp(2rem,1rem + 2vw,2.75rem);
}
.vid{
  display:grid; gap:.6rem; align-content:start;
  padding:clamp(1.25rem,1rem + .8vw,1.6rem);
  border:1px solid var(--kant-tumen);
  border-radius:var(--r-lg);
  background:rgba(244,240,234,.05);
  transition:border-color .38s ease, transform .42s cubic-bezier(.16,.84,.28,1);
}
.vid:hover{ border-color:rgba(226,102,31,.45); transform:translateY(-3px); }
.vid h3{
  font-family:var(--font-akcent); font-size:.98rem; font-weight:500;
  letter-spacing:-.01em; color:var(--text-obratno);
}
.vid p{ font-size:var(--fs-malak); font-weight:300; color:rgba(244,240,234,.72); line-height:1.7; }
.vid__ikona{
  display:grid; place-items:center;
  width:38px; height:38px;
  border-radius:999px;
  border:1px solid rgba(226,102,31,.5);
  color:var(--oranj);
  margin-bottom:.2rem;
}

@media (max-width:560px){
  .mozaika{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .razdel{ padding:.55rem .9rem; font-size:.72rem; }
}

/* ==========================================================================
   „КАК ДА ГЛЕДАТЕ ТЕЗИ СНИМКИ" — текст + връзки към услугите (страница Галерия)
   ========================================================================== */
.chetene{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(2rem,1rem + 3vw,4.5rem);
  align-items:start;
}
.chetene__tekst > .glava-sekcia{ margin-bottom:clamp(1.1rem,.8rem + .6vw,1.6rem); }
.chetene__tekst p:not(.etiket){
  max-width:56ch;
  margin:0 0 1rem;
  color:var(--text-mek);
  line-height:1.72;
}
.chetene__krai{
  margin-top:1.5rem !important;
  padding-left:1.05rem;
  border-left:2px solid var(--oranj);
  color:var(--text) !important;
}
.chetene__btni{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.75rem; }

.chetene__vryzki{
  background:var(--osnova);
  border:1px solid rgba(23,20,15,.08);
  border-radius:var(--r);
  padding:clamp(1.25rem,.9rem + 1vw,1.9rem);
}
.chetene__nadpis{
  margin:0 0 .35rem;
  font-family:var(--font-akcent);
  font-size:.72rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase;
  color:var(--oranj);
}
.chetene__vryzki ul{ list-style:none; margin:0; padding:0; }
.chetene__vryzki li{
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  padding:.8rem 0;
  border-bottom:1px solid rgba(23,20,15,.07);
}
.chetene__vryzki li:last-child{ border-bottom:0; padding-bottom:0; }
.chetene__vryzki a{
  position:relative;
  font-weight:500; font-size:1rem;
  color:var(--text); text-decoration:none;
  transition:color .2s ease, transform .22s cubic-bezier(.2,.7,.3,1);
}
.chetene__vryzki a::after{
  content:''; position:absolute; left:0; right:0; bottom:-3px;
  height:1px; background:var(--oranj);
  transform:scaleX(0); transform-origin:left;
  transition:transform .26s cubic-bezier(.2,.7,.3,1);
}
.chetene__vryzki a:hover{ color:var(--oranj); }
.chetene__vryzki a:hover::after{ transform:scaleX(1); }
.chetene__vryzki span{
  flex:none; max-width:52%;
  font-size:.78rem; line-height:1.4; text-align:right;
  color:var(--text-mek);
}
@media (max-width:880px){
  .chetene{ grid-template-columns:1fr; }
  .chetene__vryzki span{ max-width:48%; }
}
@media (max-width:430px){
  .chetene__vryzki li{ flex-direction:column; gap:.15rem; }
  .chetene__vryzki span{ max-width:100%; text-align:left; }
}

/* ==========================================================================
   ЗЪБНИ СНИМКИ — таблица с дозите, апаратурата, стъпки, въпроси
   ========================================================================== */

/* Скрит текст, който екранните четци четат (заглавие на таблица) */
.skrito{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* --- Таблица с дозите --------------------------------------------------- */
.dozi{
  margin-top:clamp(1.75rem,1rem + 1.5vw,2.5rem);
  overflow-x:auto;                 /* тесни телефони — таблицата се плъзга */
  -webkit-overflow-scrolling:touch;
}
.dozi table{
  width:100%; min-width:520px;
  border-collapse:collapse;
  font-size:var(--fs-malak);
}
.dozi th, .dozi td{
  padding:1rem 1.1rem;
  text-align:left; vertical-align:baseline;
  border-bottom:1px solid var(--kant-tumen);
}
.dozi thead th{
  font-family:var(--font-akcent);
  font-size:.7rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase;
  color:var(--oranj);
  border-bottom-color:rgba(226,102,31,.35);
  padding-bottom:.7rem;
}
.dozi tbody th{
  font-weight:400; color:var(--text-obratno);
  width:42%;
}
.dozi tbody td{ font-weight:300; color:rgba(244,240,234,.72); }
.dozi tbody td b{
  font-family:var(--font-akcent);
  font-size:1.05rem; font-weight:500;
  color:var(--text-obratno);
}
.dozi tbody tr:last-child th,
.dozi tbody tr:last-child td{ border-bottom:0; }
.dozi tbody tr{ transition:background .25s ease; }
.dozi tbody tr:hover{ background:rgba(244,240,234,.04); }

.iztochnik{
  max-width:74ch;
  margin-top:clamp(1.4rem,1rem + 1vw,2rem);
  padding-left:1.05rem;
  border-left:2px solid rgba(226,102,31,.5);
}
.iztochnik p{
  margin:0 0 .7rem;
  font-size:.82rem; line-height:1.72; font-weight:300;
  color:rgba(244,240,234,.6);
}
.iztochnik p:last-child{ margin-bottom:0; }
.iztochnik b{ font-weight:500; color:rgba(244,240,234,.88); }

/* --- Апаратурата -------------------------------------------------------- */
.aparat__vrah{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(1.75rem,1rem + 3vw,4rem);
  align-items:start;
}
.aparat__vod{
  max-width:52ch; margin:1.2rem 0 0;
  color:var(--text-mek); line-height:1.72;
}
.aparat__spisak{ list-style:none; margin:0; padding:0; }
.aparat__spisak li{
  position:relative;
  padding:0 0 .95rem 1.6rem;
  margin-bottom:.95rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.7;
  color:var(--text-mek);
  border-bottom:1px solid var(--kant);
}
.aparat__spisak li:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0; }
.aparat__spisak li::before{
  content:''; position:absolute; left:0; top:.6em;
  width:7px; height:7px; border-radius:50%;
  background:var(--oranj);
}
.aparat__spisak b{ font-weight:500; color:var(--text); }
.aparat .aparatura{ margin-top:clamp(2rem,1.2rem + 2vw,3rem); }
@media (max-width:880px){
  .aparat__vrah{ grid-template-columns:1fr; gap:1.75rem; }
}

/* --- „Кога се налага 3D" — повод + пояснение --------------------------- */
.povod{ font-weight:500; font-size:1rem; color:var(--text); }
.chetene__vryzki li:has(.povod){ align-items:flex-start; }

/* --- Три стъпки --------------------------------------------------------- */
.stypki{
  list-style:none; margin:clamp(1.75rem,1rem + 1.5vw,2.5rem) 0 0; padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
  gap:clamp(1rem,.6rem + 1vw,1.75rem);
}
.stypka{
  position:relative;
  padding:clamp(1.4rem,1rem + 1vw,1.9rem);
  border:1px solid var(--kant);
  border-radius:var(--r-lg);
  background:var(--vtori);
  transition:border-color .38s ease, transform .42s cubic-bezier(.16,.84,.28,1);
}
.stypka:hover{ border-color:rgba(226,102,31,.4); transform:translateY(-3px); }
.stypka__nomer{
  display:block;
  font-family:var(--font-akcent);
  font-size:1.5rem; font-weight:600; line-height:1;
  color:var(--oranj);
  margin-bottom:.9rem;
}
.stypka h3{
  font-family:var(--font-akcent);
  font-size:1rem; font-weight:500; letter-spacing:-.01em;
  color:var(--text);
  margin:0 0 .5rem;
}
.stypka p{
  margin:0;
  font-size:var(--fs-malak); font-weight:300; line-height:1.7;
  color:var(--text-mek);
}

/* --- Често задавани въпроси (native <details>) -------------------------- */
.vyprosi{
  max-width:78ch;
  margin-top:clamp(1.5rem,1rem + 1.5vw,2.25rem);
  border-top:1px solid var(--kant);
}
.vypros{ border-bottom:1px solid var(--kant); }
.vypros summary{
  position:relative;
  display:flex; align-items:center; gap:1rem;
  padding:1.15rem 2.5rem 1.15rem 0;
  font-size:1.02rem; font-weight:400;
  color:var(--text);
  cursor:pointer;
  list-style:none;
  transition:color .22s ease;
}
.vypros summary::-webkit-details-marker{ display:none; }
.vypros summary:hover{ color:var(--oranj); }
.vypros summary::after{
  content:''; position:absolute; right:.35rem; top:50%;
  width:11px; height:11px;
  margin-top:-6px;
  border-right:2px solid var(--oranj);
  border-bottom:2px solid var(--oranj);
  transform:rotate(45deg);
  transition:transform .3s cubic-bezier(.2,.7,.3,1);
}
.vypros[open] summary::after{ transform:rotate(-135deg); margin-top:-2px; }
.vypros[open] summary{ color:var(--oranj); }
.vypros__telo{ padding:0 2.5rem 1.35rem 0; animation:izpluva .34s cubic-bezier(.2,.7,.3,1) both; }
.vypros__telo p{
  margin:0; max-width:64ch;
  font-size:var(--fs-malak); font-weight:300; line-height:1.75;
  color:var(--text-mek);
}
@media (prefers-reduced-motion:reduce){
  .vypros__telo{ animation:none; }
  .mozaika.js-poyava .kadar{ opacity:1; transform:none; }
  .kadar{ transition:none; }
  .kadar:hover,
  .mozaika.js-poyava .kadar.vidim:hover{ transform:none; }
}

/* Вариант на картата с връзки: заглавие отгоре, пояснение отдолу
   (използва се, когато редовете са дълги — „Кога се налага 3D") */
.chetene__vryzki--stek li{
  flex-direction:column; align-items:flex-start; gap:.2rem;
}
.chetene__vryzki--stek li > span{
  max-width:100%; text-align:left;
}
.chetene__vryzki--stek li{ padding:.85rem 0; }
/* Страница „Зъбни снимки": по-едри плочки — апаратурата е темата */
@media (min-width:1000px){
  .vidove-sekcia .vidove{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .aparat .aparatura{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
.vid h3 + p{ margin-top:.15rem; }

/* На телефон таблицата с дозите се превръща в списък от карти —
   по-добре от хоризонтално плъзгане. */
@media (max-width:640px){
  .dozi{ overflow:visible; }
  .dozi table{ min-width:0; }
  .dozi thead{
    position:absolute; width:1px; height:1px; overflow:hidden;
    clip:rect(0 0 0 0); clip-path:inset(50%);
  }
  .dozi tbody tr{
    display:block;
    padding:1.05rem 0;
    border-bottom:1px solid var(--kant-tumen);
  }
  .dozi tbody tr:last-child{ border-bottom:0; }
  .dozi tbody th,
  .dozi tbody td{
    display:block; width:auto;
    padding:0; border:0;
  }
  .dozi tbody th{
    font-size:1rem; line-height:1.4;
    margin-bottom:.45rem;
  }
  .dozi tbody td:first-of-type{
    color:var(--oranj);
    margin-bottom:.2rem;
  }
  .dozi tbody td:first-of-type b{ color:var(--oranj); font-size:1.2rem; }
  .dozi tbody td + td{ font-size:.86rem; }
}

/* Бележка с източник под текст на светъл фон */
/* Същият почерк като .iztochnik в тъмната секция — оранжева черта отляво. */
.chetene__tekst p.beleg,
.beleg{
  max-width:64ch;
  margin:2.4rem 0 0 !important;
  padding:0 0 0 1.05rem;
  border-left:2px solid rgba(226,102,31,.45);
  font-size:.78rem; line-height:1.7; font-weight:300;
  color:var(--text-mek);
}

/* ==========================================================================
   ЖИВИ ДЕТАЙЛИ — зелена точка „на линия" и бутонът в главата
   Всичко тук спира при prefers-reduced-motion (най-долу).
   ========================================================================== */

/* --- Пулсираща точка в горната лента ------------------------------------ */
.tochka{ position:relative; }
.tochka::after{
  content:''; position:absolute; inset:0;
  border-radius:50%;
  background:#6FBF8A;
  animation:pulsira 2.6s cubic-bezier(.2,.7,.3,1) infinite;
}
@keyframes pulsira{
  0%   { transform:scale(1);   opacity:.55; }
  70%  { transform:scale(2.6); opacity:0; }
  100% { transform:scale(2.6); opacity:0; }
}

/* --- Телефончето на всеки лекар: зелена точка „сега сме тук" ------------ */
.chovek__tel{ overflow:visible; }
.chovek__tel::before,
.chovek__tel::after{
  content:''; position:absolute;
  top:-1px; right:-1px;
  width:9px; height:9px;
  border-radius:50%;
  pointer-events:none;
}
/* самата точка */
.chovek__tel::after{
  background:#6FBF8A;
  border:1.5px solid rgba(20,16,12,.55);
  box-sizing:border-box;
}
/* кръгът, който се разширява и гасне */
.chovek__tel::before{
  background:#6FBF8A;
  opacity:.5;
  animation:pulsira 2.8s cubic-bezier(.2,.7,.3,1) infinite;
}
/* леко разместване, за да не пулсират всички в такт */
.ekip__reshetka .chovek:nth-child(2) .chovek__tel::before{ animation-delay:.55s; }
.ekip__reshetka .chovek:nth-child(3) .chovek__tel::before{ animation-delay:1.1s; }
.ekip__reshetka .chovek:nth-child(4) .chovek__tel::before{ animation-delay:1.65s; }

/* при посочване телефончето „вдига" — иконата леко се люлее */
.chovek__tel:hover svg{ animation:zvyni .6s ease-in-out; }
@keyframes zvyni{
  0%,100%{ transform:rotate(0); }
  20%    { transform:rotate(-14deg); }
  45%    { transform:rotate(11deg); }
  70%    { transform:rotate(-6deg); }
}

/* --- „Запази час" в главата: бавно туптене + светъл проблясък ----------- */
.glava__desno .btn--mastilo{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  animation:tupti 2.4s cubic-bezier(.34,0,.3,1) infinite;
}
/* Туптене в зелено — като пулс. Два удара, после пауза, и пак.
   Зеленото е същото като точката „отворено" в горната лента (#6FBF8A). */
@keyframes tupti{
  0%        { transform:scale(1);     box-shadow:0 0 0 0    rgba(111,191,138,.55); }
  14%       { transform:scale(1.062); box-shadow:0 0 0 7px  rgba(111,191,138,.20); }
  26%       { transform:scale(1.008); box-shadow:0 0 0 13px rgba(111,191,138,0); }
  38%       { transform:scale(1.045); box-shadow:0 0 0 5px  rgba(111,191,138,.16); }
  52%       { transform:scale(1);     box-shadow:0 0 0 12px rgba(111,191,138,0); }
  100%      { transform:scale(1);     box-shadow:0 0 0 0    rgba(111,191,138,0); }
}
.glava__desno .btn--mastilo:hover{ animation-play-state:paused; }
.glava__desno .btn--mastilo::after{
  content:''; position:absolute; z-index:-1;
  top:-60%; bottom:-60%; left:-40%;
  width:38%;
  background:linear-gradient(100deg,
    rgba(255,255,255,0) 0%,
    rgba(190,232,206,.28) 50%,
    rgba(255,255,255,0) 100%);
  transform:translateX(-140%) skewX(-18deg);
  animation:problyasak 9s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes problyasak{
  0%,  70% { transform:translateX(-140%) skewX(-18deg); }
  84%,100% { transform:translateX(420%)  skewX(-18deg); }
}
/* при посочване проблясъкът спира — вниманието е вече привлечено */
.glava__desno .btn--mastilo:hover::after{ animation-play-state:paused; }
.glava__desno .btn--mastilo:hover{ transform:scale(1.05); box-shadow:0 0 0 5px rgba(111,191,138,.22); }

@media (prefers-reduced-motion:reduce){
  .tochka::after,
  .chovek__tel::before,
  .glava__desno .btn--mastilo,
  .glava__desno .btn--mastilo::after,
  .chovek__tel:hover svg{ animation:none; }
  .glava__desno .btn--mastilo::after{ display:none; }
}

/* Разделите на галерията — избраният леко „поема" при натискане */
.razdel{ position:relative; }
.razdel:active{ transform:translateY(1px) scale(.98); }
.razdel[aria-selected="true"]{ transform:none; }
.razdel[aria-selected="true"] small{ opacity:.72; }
.razdel::before{
  content:''; position:absolute; inset:-1px;
  border-radius:inherit;
  border:1px solid var(--oranj);
  opacity:0; transform:scale(1);
  pointer-events:none;
}
.razdel[aria-selected="true"]::before{ animation:otzvuk .58s cubic-bezier(.16,.84,.28,1); }
@keyframes otzvuk{
  0%   { opacity:.7; transform:scale(1); }
  100% { opacity:0;  transform:scale(1.18); }
}
@media (prefers-reduced-motion:reduce){
  .razdel::before{ animation:none !important; }
}

/* ==========================================================================
   МЕНЮ „ПОЛЕЗНО" — падащ списък, и пълно меню на телефон
   ========================================================================== */
.menu-grupa{ position:relative; display:inline-flex; }
.menu-grupa__btn{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.45rem .62rem;
  border:0; background:transparent;
  font-family:var(--font-akcent);
  font-size:.78rem; font-weight:500;
  letter-spacing:.02em; text-transform:uppercase;
  color:inherit;
  cursor:pointer;
  position:relative;
  transition:color .2s ease, transform .22s cubic-bezier(.2,.7,.3,1);
}
.menu-grupa__btn svg{ transition:transform .28s cubic-bezier(.2,.7,.3,1); opacity:.7; }
.menu-grupa__btn::after{
  content:''; position:absolute; left:.62rem; right:.62rem; bottom:.12rem;
  height:2px; border-radius:2px; background:var(--oranj);
  transform:scaleX(0); transform-origin:left;
  transition:transform .26s cubic-bezier(.2,.7,.3,1);
}
.menu-grupa:hover .menu-grupa__btn,
.menu-grupa__btn[aria-expanded="true"]{ color:var(--oranj); }
.menu-grupa:hover .menu-grupa__btn{ transform:translateY(-2px); }
.menu-grupa:hover .menu-grupa__btn::after,
.menu-grupa__btn[aria-expanded="true"]::after{ transform:scaleX(1); }
.menu-grupa__btn[aria-expanded="true"] svg,
.menu-grupa:hover .menu-grupa__btn svg{ transform:rotate(180deg); }

.menu-grupa__panel{
  position:absolute; top:calc(100% + .35rem); left:0;
  z-index:70;
  min-width:210px;
  padding:.4rem;
  background:var(--osnova);
  border:1px solid var(--kant);
  border-radius:var(--r);
  box-shadow:0 24px 48px -26px rgba(23,20,15,.5);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .26s cubic-bezier(.2,.7,.3,1),
             transform .26s cubic-bezier(.2,.7,.3,1),
             visibility .26s;
}
.menu-grupa:hover .menu-grupa__panel,
.menu-grupa:focus-within .menu-grupa__panel,
.menu-grupa__btn[aria-expanded="true"] + .menu-grupa__panel{
  opacity:1; visibility:visible; transform:none;
}
.menu-grupa__panel a{
  display:block;
  padding:.6rem .7rem;
  border-radius:calc(var(--r) - 2px);
  font-family:var(--font-tekst);
  font-size:.86rem; font-weight:400;
  letter-spacing:0; text-transform:none;
  color:var(--text) !important;
  text-decoration:none;
  transition:background-color .22s ease, color .22s ease;
}
.menu-grupa__panel a::after{ display:none; }
.menu-grupa__panel a:hover{ background:var(--vtori); color:var(--oranj) !important; transform:none; }

/* --- Пълно меню на телефон ---------------------------------------------- */
.menu-btn[aria-expanded="true"]{ border-color:var(--oranj); color:var(--oranj); }
.menu-zavesa{
  position:fixed; inset:0; z-index:90;
  background:rgba(14,11,8,.5);
  backdrop-filter:blur(3px);
  opacity:0; visibility:hidden;
  transition:opacity .3s ease, visibility .3s;
}
.menu-zavesa.otvorena{ opacity:1; visibility:visible; }
.menu-panel{
  position:fixed; top:0; right:0; bottom:0; z-index:95;
  width:min(340px, 88vw);
  padding:1.5rem 1.35rem calc(1.5rem + env(safe-area-inset-bottom));
  background:var(--osnova);
  border-left:1px solid var(--kant);
  box-shadow:-24px 0 60px -30px rgba(23,20,15,.6);
  overflow-y:auto;
  transform:translateX(102%);
  transition:transform .38s cubic-bezier(.16,.84,.28,1);
  display:grid; align-content:start; gap:.15rem;
}
.menu-panel.otvorena{ transform:none; }
.menu-panel__vrah{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:1.1rem;
}
.menu-panel__vrah img{ height:30px; width:auto; }
.menu-panel__zatvori{
  display:grid; place-items:center;
  width:38px; height:38px;
  border:1px solid var(--kant); border-radius:999px;
  background:transparent; color:var(--text); cursor:pointer;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease;
}
.menu-panel__zatvori:hover{ background:var(--mastilo); color:var(--text-obratno); border-color:var(--mastilo); }
.menu-panel a{
  display:block;
  padding:.85rem .2rem;
  border-bottom:1px solid var(--kant);
  font-family:var(--font-akcent);
  font-size:.86rem; font-weight:500;
  letter-spacing:.03em; text-transform:uppercase;
  color:var(--text); text-decoration:none;
  transition:color .22s ease, padding-left .22s ease;
}
.menu-panel a:hover{ color:var(--oranj); padding-left:.5rem; }
.menu-panel a[aria-current="page"]{ color:var(--oranj); }
.menu-panel__dop{ margin-top:1.4rem; display:grid; gap:.6rem; }
.menu-panel__dop a{
  border-bottom:0; text-align:center;
  padding:.85rem 1rem; border-radius:var(--r);
}
.menu-panel__dop a:hover{ padding-left:1rem; }
.menu-panel__dop .btn--oranj{ background:var(--oranj); color:#FFF6EF; }
.menu-panel__dop .menu-panel__tel{
  border:1px solid var(--kant);
  font-size:.95rem;
}
body.menu-otvoreno{ overflow:hidden; }

@media (min-width:1241px){
  .menu-zavesa, .menu-panel{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .menu-panel, .menu-zavesa, .menu-grupa__panel{ transition:none; }
}

/* ==========================================================================
   РАБОТА ПРИ НАС
   ========================================================================== */
.pozicii{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  gap:clamp(.9rem,.5rem + .8vw,1.35rem);
  margin-top:clamp(1.75rem,1rem + 1.8vw,2.5rem);
}
.pozicia{
  position:relative;
  display:grid; gap:.7rem; align-content:start;
  padding:clamp(1.4rem,1rem + 1vw,1.9rem);
  border:1px solid var(--kant);
  border-radius:var(--r-lg);
  background:var(--vtori);
  transition:border-color .4s cubic-bezier(.16,.84,.28,1),
             transform .45s cubic-bezier(.16,.84,.28,1),
             box-shadow .45s cubic-bezier(.16,.84,.28,1);
}
.pozicia:hover{
  border-color:rgba(226,102,31,.45);
  transform:translateY(-4px);
  box-shadow:0 22px 44px -28px rgba(27,23,19,.4);
}
.pozicia h3{
  font-family:var(--font-akcent);
  font-size:clamp(1.02rem,.9rem + .4vw,1.18rem);
  font-weight:500; letter-spacing:-.01em; margin:0;
}
.pozicia p{
  margin:0;
  font-size:var(--fs-malak); font-weight:300; line-height:1.72;
  color:var(--text-mek);
}
/* чиповете тук са на светъл фон */
.pozicia .chip{
  border-color:var(--kant);
  color:var(--text-mek);
  background:var(--osnova);
}
.pozicia:hover .chip{ border-color:rgba(226,102,31,.45); color:var(--text); }

.rabota__mreja{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(2rem,1rem + 3vw,4rem);
  align-items:start;
}
.rabota__vod{
  max-width:52ch; margin:1.1rem 0 1.75rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.75;
  color:var(--text-mek);
}
.rabota__strana{ display:grid; gap:1.25rem; }
.rabota__karta{
  padding:clamp(1.25rem,.9rem + 1vw,1.8rem);
  border:1px solid var(--kant);
  border-radius:var(--r-lg);
  background:var(--vtori);
}
.rabota__spisak{ list-style:none; margin:.35rem 0 0; padding:0; }
.rabota__spisak li{
  display:grid; gap:.15rem;
  padding:.85rem 0;
  border-bottom:1px solid rgba(23,20,15,.08);
}
.rabota__spisak li:last-child{ border-bottom:0; padding-bottom:0; }
.rabota__spisak a{
  position:relative;
  overflow-wrap:anywhere;
  font-family:var(--font-akcent);
  font-size:.98rem; font-weight:500; letter-spacing:-.01em;
  color:var(--text); text-decoration:none;
  transition:color .22s ease;
}
.rabota__spisak a:hover{ color:var(--oranj); }
.rabota__spisak span{
  font-size:.78rem; font-weight:300; color:var(--text-mek);
}

/* Падащо меню във формата — със същия почерк като полетата */
.pole select{
  font-family:var(--font-tekst);
  font-size:var(--fs-tekst); font-weight:300;
  color:var(--text);
  padding:.85rem 2.4rem .85rem 1rem;
  border:1px solid var(--kant);
  border-radius:var(--r);
  background:var(--osnova);
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23E2661F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  cursor:pointer;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.pole select:focus{
  outline:none;
  border-color:var(--oranj);
  box-shadow:0 0 0 3px rgba(226,102,31,.14);
}
.pole input[type="file"]{
  padding:.7rem 1rem;
  font-size:.86rem;
  cursor:pointer;
}
.pole input[type="file"]::file-selector-button{
  margin-right:.9rem;
  padding:.45rem .9rem;
  border:1px solid var(--kant);
  border-radius:999px;
  background:var(--vtori);
  font-family:var(--font-tekst);
  font-size:.78rem;
  color:var(--text);
  cursor:pointer;
  transition:background-color .25s ease, border-color .25s ease;
}
.pole input[type="file"]::file-selector-button:hover{
  background:var(--mastilo); color:var(--text-obratno); border-color:var(--mastilo);
}

@media (max-width:880px){
  /* min-width:auto на решетъчното дете оставяше формата по-широка
     от колоната — оттам идваше хоризонталният скрол на 360px */
  .rabota__mreja{ grid-template-columns:minmax(0,1fr); }
  .rabota__mreja > *{ min-width:0; }
  .forma, .forma__red, .pole{ min-width:0; }
  .pole input, .pole textarea{ min-width:0; width:100%; }
}

/* Работното време в лентата — два ясни реда, ден и час */
.kontakt__chasove{
  font-size:.86rem; font-weight:400; line-height:1.75;
  letter-spacing:0;
}
.kontakt__chasove b{
  display:inline-block; min-width:5.4em;
  font-family:var(--font-tekst);
  font-size:.72rem; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase;
  color:var(--text-mek);
}
.kontakt__chasove::after{ display:none; }
/* живият надпис „отворено / затворено" */
.kontakt__dopl[data-otvoreno]{
  display:inline-flex; align-items:center; gap:.4rem;
}
.kontakt__dopl[data-otvoreno]::before{
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--text-mek);
  flex:none;
}
.kontakt__dopl.otvoreno::before{
  background:#6FBF8A;
  box-shadow:0 0 0 3px rgba(111,191,138,.2);
}
.kontakt__dopl.zatvoreno::before{ background:#C88A5A; }

/* ==========================================================================
   ОРИЕНТИРИ — как да ни намерите, стъпка по стъпка със снимка
   ========================================================================== */
.orientiri{
  list-style:none; margin:clamp(1.75rem,1rem + 1.8vw,2.5rem) 0 0; padding:0;
  display:grid;
  /* Снимките носят четим надпис със стрелки — две колони, за да се чете.
     На четири колони кадърът пада под 300px и надписите стават нечетими. */
  grid-template-columns:repeat(auto-fit, minmax(min(100%,440px),1fr));
  gap:clamp(1.1rem,.6rem + 1vw,1.8rem);
  align-items:start;
  counter-reset:orientir;
}
.orientir{
  position:relative;
  display:grid; gap:.9rem; align-content:start;
  transition:transform .45s cubic-bezier(.16,.84,.28,1);
}
.orientir:hover{ transform:translateY(-4px); }
/* Долу вляво, не горе — горните ъгли на снимките са заети от
   жълтите надписи със стрелки и номерът се биеше с тях. */
/* Номерът е ВЪТРЕ в кадъра (виж kontakti.html) и стои долу вляво —
   там и на четирите снимки няма надпис. Докато беше извън кадъра,
   лягаше върху текста: кадрите са с различна височина. */
.orientir__nomer{
  position:absolute; bottom:.7rem; left:.7rem; z-index:2;
  display:grid; place-items:center;
  width:30px; height:30px;
  border-radius:999px;
  background:var(--oranj);
  color:#FFF6EF;
  font-family:var(--font-akcent);
  font-size:.82rem; font-weight:600;
  box-shadow:0 6px 18px -8px rgba(23,20,15,.6);
}
/* Четвъртият кадър не е ориентир, а пристигането — вместо номер носи отметка. */
.orientir__nomer--stignahte{ width:34px; height:34px; }

.orientir__kadyr{
  position:relative;
  aspect-ratio:4/3;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--pyasak);
}
.orientir__kadyr img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s cubic-bezier(.16,.84,.28,1);
}
/* Ориентир с реална снимка: рамката приема пропорцията на файла
   (задава се inline), за да не се отреже надписът върху снимката. */
.orientir__kadyr--cql{ aspect-ratio:auto; }
.orientir__kadyr--cql img{ height:auto; object-fit:contain; }
.orientir:hover .orientir__kadyr img{ transform:scale(1.05); }
.orientir__telo h3{
  font-family:var(--font-akcent);
  font-size:.98rem; font-weight:500; letter-spacing:-.01em;
  margin:0 0 .35rem;
}
.orientir__telo p{
  margin:0;
  font-size:.86rem; font-weight:300; line-height:1.7;
  color:var(--text-mek);
}
.orientiri__pod{
  display:grid; justify-items:center; gap:1.2rem;
  margin-top:clamp(2rem,1.2rem + 2vw,2.75rem);
  text-align:center;
}
.orientiri__vod{
  max-width:56ch; margin:0;
  font-size:.92rem; font-weight:300; line-height:1.75;
  color:var(--text-mek);
}
.orientiri__deistvia{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; }

/* ==========================================================================
   БЯГАЩА ЛЕНТА — двата реда се разминават, докато страницата се превърта.
   Изместването се смята в скрипта; тук е само видът.
   ========================================================================== */
.begashta{
  position:relative;
  overflow:hidden;
  padding-block:clamp(1.6rem,1.2rem + 1.2vw,2.5rem);
  background:var(--osnova);
  border-top:1px solid var(--kant);
  border-bottom:1px solid var(--kant);
  user-select:none;
}
.begashta__red{
  display:flex;
  justify-content:center;
  white-space:nowrap;
  will-change:transform;
}
.begashta__red span{
  flex:none;
  padding-right:0;
  font-family:var(--font-akcent);
  /* Едно завъртане на текста трябва да се побира в екрана —
     затова размерът е по-скромен, а размахът в data-razmah е 200. */
  font-size:clamp(1rem,.62rem + 1.72vw,2.05rem);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.2;
  text-transform:uppercase;
}
/* Първият ред е плътен, вторият — само контур. Заедно правят ритъм. */
.begashta__red--naliavo span{ color:var(--text); }
.begashta__red--nadiasno span{
  color:transparent;
  -webkit-text-stroke:1px rgba(27,23,19,.28);
}
@supports not ((-webkit-text-stroke: 1px black)){
  .begashta__red--nadiasno span{ color:rgba(27,23,19,.22); }
}
/* На тесен екран надписът се пренася на редове и не се мести —
   иначе няма как да се вижда целият. */
@media (max-width:820px){
  .begashta__red{ white-space:normal; text-align:center; }
  .begashta__red span{ flex:1 1 auto; min-width:0; }
  .begashta__red[data-begashta]{ transform:none !important; }
}
@media (prefers-reduced-motion:reduce){
  .begashta__red{ transform:none !important; }
}

/* ==========================================================================
   БУТОНЪТ „ВИЖ ВСИЧКИ УСЛУГИ" — топъл, с кръгче-стрелка, леко плава
   ========================================================================== */
.btn--pil{
  display:inline-flex; align-items:center; gap:.85rem;
  background:linear-gradient(135deg, #EE7C33 0%, #D2570F 100%);
  color:#FFF6EF;
  border:0;
  border-radius:999px;
  padding:.9rem 1rem .9rem 1.75rem;
  font-size:.8rem;
  box-shadow:0 16px 32px -16px rgba(210,87,15,.55);
  animation:plava 5.6s ease-in-out infinite;
  transition:box-shadow .4s ease, filter .35s ease;
}
.btn--pil::after{
  content:'';
  flex:none;
  width:30px; height:30px;
  border-radius:999px;
  background:rgba(255,255,255,.2)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23FFF6EF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12 5l7 7-7 7'/%3E%3C/svg%3E")
    no-repeat center / 13px;
  transition:transform .34s cubic-bezier(.2,.7,.3,1), background-color .34s ease;
}
.btn--pil:hover{
  background:linear-gradient(135deg, #EE7C33 0%, #D2570F 100%);
  box-shadow:0 22px 40px -16px rgba(210,87,15,.6);
  filter:saturate(1.08);
  animation-play-state:paused;
}
.btn--pil:hover::after{ transform:translateX(4px); background-color:rgba(255,255,255,.34); }

/* ==========================================================================
   ПЛАВАЩИ КАРТИ — All-on-4 / All-on-6 и печатът в „Дигитално"
   ========================================================================== */
@keyframes plava-karta{
  0%,100%{ transform:translateY(var(--lift, 0px)); }
  50%    { transform:translateY(calc(var(--lift, 0px) - 9px)); }
}
.oferta{ animation:plava-karta var(--tempo, 6.8s) ease-in-out infinite; }
.oferta:nth-child(1){ --tempo:6.4s; animation-delay:-.3s; }
.oferta:nth-child(2){ --tempo:7.5s; animation-delay:-1.6s; }
.oferta:nth-child(3){ --tempo:6.9s; animation-delay:-2.9s; }
.oferta:hover{ --lift:-5px; transform:translateY(-5px); }

/* Снимката в „Дигитално" — леко наклонена, изправя се при посочване */
.digitalno__foto{
  position:relative;
  transform:rotate(-1.6deg);
  animation:plava 7.4s ease-in-out infinite;
  transition:transform .5s cubic-bezier(.16,.84,.28,1), box-shadow .45s ease;
  box-shadow:0 20px 40px -26px rgba(27,23,19,.45);
}
.digitalno__foto:hover{
  transform:rotate(0deg);
  box-shadow:0 28px 52px -26px rgba(27,23,19,.5);
  animation-play-state:paused;
}

@media (prefers-reduced-motion:reduce){
  .btn--pil, .oferta, .digitalno__foto{ animation:none; }
  .digitalno__foto{ transform:none; }
}

/* ==========================================================================
   ОБЩА ПОЯВА ПРИ СКРОЛ — класът .js-izplava го слага скриптът,
   така че без него нищо не изчезва.
   ========================================================================== */
.js-izplava .izplava{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .62s cubic-bezier(.16,.84,.28,1),
             transform .62s cubic-bezier(.16,.84,.28,1);
}
.js-izplava .izplava.vidim{ opacity:1; transform:none; }
/* Плочките на офертите имат собствено плаване — там местим само прозрачността. */
.js-izplava .oferta{ transform:none; }
@media (prefers-reduced-motion:reduce){
  .js-izplava .izplava{ opacity:1; transform:none; transition:none; }
}

/* Вторият ред на бягащото заглавие е оранжев само там, където го искаме. */
.zaglavie-begashto--akcent .zb__red[data-begashta="nadiasno"]{ color:var(--oranj); }
.zaglavie-begashto--sredno{ justify-items:center; text-align:center; }

/* Апаратурата в „Зъбни снимки" — равна редица, само малко по-дребна.
   Раздвижването идва от появата при скрол и от повдигането при посочване. */
.snimki .aparatura{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(.6rem,.35rem + .5vw,.9rem);
}
.snimki .aparatura__kadyr{
  transition:transform .45s cubic-bezier(.16,.84,.28,1), box-shadow .45s ease;
}
.snimki .aparatura__kadyr:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 38px -20px rgba(0,0,0,.6);
  z-index:2;
}
.snimki .aparatura__kadyr img{ transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.snimki .aparatura__kadyr:hover img{ transform:scale(1.06); }

/* Бутонът под рентгеновата секция плава леко */
.snimki__pod .btn{ animation:plava 6.2s ease-in-out infinite; }
.snimki__pod .btn:hover{ animation-play-state:paused; }

/* Картата на НЗОК и фактите долу — леко повдигане при посочване */
.nzok__karta{ transition:transform .5s cubic-bezier(.16,.84,.28,1); }
.nzok__karta:hover{ transform:translateY(-4px); }
.final__fakt{ transition:border-color .35s ease, transform .4s cubic-bezier(.16,.84,.28,1); }
.final__fakt:hover{ transform:translateY(-3px); }
.final .hero__deistvia .btn--oranj{ animation:plava 6.6s ease-in-out infinite; }
.final .hero__deistvia .btn--oranj:hover{ animation-play-state:paused; }


@media (max-width:820px){
  .snimki .aparatura,
  .snimki .aparatura__kadyr:nth-child(n){ --nakl:0deg; --pod:0px; }
  .snimki .aparatura__kadyr:nth-child(n){ grid-column:span 6; grid-row:span 3; }
  .snimki .aparatura__kadyr:nth-child(1){ grid-column:span 12; grid-row:span 4; }
}
@media (prefers-reduced-motion:reduce){
  .snimki .aparatura__kadyr{ transform:none !important; }
  .snimki__pod .btn, .final .hero__deistvia .btn--oranj{ animation:none; }
}

/* ==========================================================================
   ПЛАВАЩИ БУТОНИ И ПОКЛАЩАНЕ НА КАДРИТЕ
   ========================================================================== */
/* Всички оранжеви призиви под секциите плават леко.
   Бутоните във формите стоят мирно. */
.btn--oranj{ animation:plava 6.4s ease-in-out infinite; }
.btn--oranj:nth-of-type(even){ animation-duration:7.2s; animation-delay:-1.4s; }
.forma .btn--oranj,
.btn--oranj:hover,
.btn--oranj:focus-visible{ animation-play-state:paused; }

/* Кадрите се поклащат при посочване — леко, като разлистване. */
@keyframes poklati{
  0%   { transform:translateY(0)    rotate(0); }
  28%  { transform:translateY(-6px) rotate(-1.3deg); }
  58%  { transform:translateY(-5px) rotate(1deg); }
  82%  { transform:translateY(-4px) rotate(-.4deg); }
  100% { transform:translateY(-4px) rotate(0); }
}
.galeria__kadyr:hover,
.snimki .aparatura__kadyr:hover,
.aparat .aparatura__kadyr:hover,
.orientir:hover,
.mozaika .kadar:hover,
.mozaika.js-poyava .kadar.vidim:hover{
  animation:poklati .78s cubic-bezier(.24,.62,.3,1);
}
.orientir:hover{ animation-name:poklati; }

@media (prefers-reduced-motion:reduce){
  .btn--oranj{ animation:none; }
  .galeria__kadyr:hover,
  .snimki .aparatura__kadyr:hover,
  .aparat .aparatura__kadyr:hover,
  .orientir:hover,
  .mozaika .kadar:hover{ animation:none; }
}

/* ==========================================================================
   СТРАНИЦА „УСЛУГИ" — по-спокойна форма на кадрите и центрирани призиви
   ========================================================================== */
/* Меко заоблен квадрат вместо зъб — тук плочките са много и зъбите
   стават шумни. Формата е една и съща за всички групи. */
.spisak-uslugi .usluga__kadyr{
  -webkit-clip-path:none;
  clip-path:none;
  width:100%; max-width:none;
  aspect-ratio:1;
  border-radius:30%;
  animation-duration:8.5s;
}
.spisak-uslugi .usluga{ filter:drop-shadow(0 14px 24px rgba(27,23,19,.18)); }
.spisak-uslugi .usluga:hover{ filter:drop-shadow(0 20px 32px rgba(27,23,19,.26)); }
.sekcia--mastilo .spisak-uslugi .usluga{ filter:drop-shadow(0 14px 26px rgba(0,0,0,.4)); }
/* подзаглавията да са на един ред, за да не подскача редицата */
.spisak-uslugi .usluga__pod{ min-height:2.1em; }

/* Призивът под всяка група — центриран, с хапче-бутон */
.grupa__pod{
  display:grid; justify-items:center; gap:1.1rem;
  margin-top:clamp(2.25rem,1.2rem + 2vw,3.25rem);
  text-align:center;
}
.grupa__pod h3{
  margin:0;
  font-family:var(--font-tekst);
  font-size:.78rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  color:rgba(244,240,234,.72);
}
.sekcia:not(.sekcia--mastilo) .grupa__pod h3{ color:var(--text-mek); }
.nzok__deistvia{ display:flex; flex-wrap:wrap; gap:.6rem; }

/* ==========================================================================
   СТРАНИЦА „КОИ СМЕ НИЕ" — разказ с ритъм, цитат и портрети
   ========================================================================== */
.za__vrah{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);
  gap:clamp(1.75rem,1rem + 3vw,4rem);
  align-items:start;
}
/* Секция „текст + снимка", в която снимка няма.
   Без това текстът оставаше в лявата колона, а дясната зееше празна.
   Тогава блокът става една центрирана колона — както е в .oblast__telo. */
.za__vrah:not(:has(.za__foto)){
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
}
.za__vrah:not(:has(.za__foto)) .za__tekst{
  max-width:74ch;
  text-align:center;
}
.za__vrah:not(:has(.za__foto)) .za__tekst p:not(.etiket):not(.za__vodesht){
  max-width:none;
  margin-inline:auto;
}
.za__vrah:not(:has(.za__foto)) .razdelitel--lqvo{
  max-width:66ch; margin-inline:auto;
}
.za__vrah:not(:has(.za__foto)) .razdelitel--lqvo::after{ flex:1 1 1.5rem; }
.za__vrah:not(:has(.za__foto)) .spisak-edro,
.za__vrah:not(:has(.za__foto)) .spisak-edro li{ text-align:left; }

.za__vodesht{
  font-family:var(--font-akcent);
  font-size:clamp(1.15rem,1rem + .8vw,1.55rem);
  font-weight:500; letter-spacing:-.015em; line-height:1.45;
  color:var(--text);
  margin:.9rem 0 1.5rem;
}
.za__tekst p:not(.etiket):not(.za__vodesht){
  margin:0 0 1.05rem;
  max-width:60ch;
  font-size:var(--fs-tekst); font-weight:300; line-height:1.8;
  color:var(--text-mek);
}
.za__foto{
  position:sticky; top:calc(var(--h-glava) + 1.5rem);
  border-radius:var(--r-lg);
  overflow:hidden;
  aspect-ratio:4/5;
  background:var(--pyasak);
  box-shadow:0 22px 44px -28px rgba(27,23,19,.45);
}
.za__foto img{ width:100%; height:100%; object-fit:cover; }

/* --- Лекар: портрет + въведение ---------------------------------------- */
.lekar__vrah{
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1fr);
  gap:clamp(1.5rem,1rem + 2.5vw,3.25rem);
  align-items:center;
}
.lekar__portret{
  border-radius:var(--r-lg);
  overflow:hidden;
  aspect-ratio:4/5;
  max-width:340px;
  background:rgba(244,240,234,.06);
  box-shadow:0 24px 46px -28px rgba(0,0,0,.6);
}
.lekar__portret img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s cubic-bezier(.16,.84,.28,1);
}
.lekar__portret:hover img{ transform:scale(1.04); }
/* Име и роля под портрета */
.lekar__lice{ display:block; }
.lekar__podpis{
  margin:.95rem 0 0;
  text-align:center;
  max-width:340px;
}
.lekar__podpis b{
  display:block;
  font-family:var(--font-akcent);
  font-size:clamp(.95rem,.88rem + .3vw,1.1rem);
  font-weight:500; letter-spacing:-.01em; line-height:1.3;
  color:var(--text);
}
.lekar__podpis span{
  display:block; margin-top:.3rem;
  font-size:.68rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--oranj);
}
.sekcia--mastilo .lekar__podpis b{ color:var(--text-obratno); }

.lekar__uvod .chipove{ margin:.9rem 0 1.25rem; }
.lekar__vod{
  margin:0; max-width:58ch;
  font-size:var(--fs-malak); font-weight:300; line-height:1.8;
  color:rgba(244,240,234,.72);
}
.lekar.sekcia--vtori .lekar__vod{ color:var(--text-mek); }
.lekar.sekcia--vtori .lekar__portret{ background:var(--pyasak); box-shadow:0 24px 46px -30px rgba(27,23,19,.45); }
/* чипове на светъл фон */
.chipove--svetlo .chip{
  border-color:var(--kant);
  color:var(--text-mek);
  background:var(--osnova);
}

/* --- Разказът ----------------------------------------------------------- */
.razkaz{
  max-width:72ch;
  margin:clamp(2.5rem,1.5rem + 2.5vw,4rem) auto 0;
}
.razkaz p{
  margin:0 0 1.05rem;
  font-size:var(--fs-tekst); font-weight:300; line-height:1.85;
  color:rgba(244,240,234,.72);
}
.razkaz--svetlo p{ color:var(--text-mek); }
.razkaz__nachalo{
  font-size:clamp(1.02rem,.95rem + .35vw,1.18rem) !important;
  color:rgba(244,240,234,.9) !important;
  padding-left:1.15rem;
  border-left:2px solid var(--oranj);
}
.razkaz--svetlo .razkaz__nachalo{ color:var(--text) !important; }

.razkaz__glava{
  display:flex; align-items:baseline; gap:.9rem;
  margin:clamp(2rem,1.2rem + 1.6vw,2.9rem) 0 1rem;
  padding-top:1.2rem;
  border-top:1px solid var(--kant-tumen);
}
.razkaz--svetlo .razkaz__glava{ border-top-color:var(--kant); }
.razkaz__nomer{
  flex:none;
  font-family:var(--font-akcent);
  font-size:.86rem; font-weight:600;
  letter-spacing:.04em;
  color:var(--oranj);
}
.razkaz__glava h3{
  margin:0;
  font-family:var(--font-akcent);
  font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);
  font-weight:500; letter-spacing:-.015em;
  color:var(--text-obratno);
}
.razkaz--svetlo .razkaz__glava h3{ color:var(--text); }

/* трите къси изречения — като удари */
.razkaz__ritym{
  display:flex; flex-wrap:wrap; gap:.5rem;
  margin:1.4rem 0 1.4rem !important;
}
.razkaz__ritym span{
  padding:.5rem 1rem;
  border:1px solid rgba(226,102,31,.35);
  border-radius:999px;
  font-family:var(--font-akcent);
  font-size:.82rem; font-weight:500;
  color:var(--oranj);
}
.razkaz__udar{
  font-size:clamp(1.02rem,.95rem + .35vw,1.16rem) !important;
  font-weight:400 !important;
  color:var(--text-obratno) !important;
  padding:1.1rem 1.25rem;
  border-radius:var(--r);
  background:rgba(226,102,31,.09);
  border:1px solid rgba(226,102,31,.28);
}
.razkaz--svetlo .razkaz__udar{ color:var(--text) !important; background:rgba(226,102,31,.07); }
.razkaz__spisak{
  list-style:none; margin:1.1rem 0 1.4rem; padding:0;
  display:grid; gap:.55rem;
}
.razkaz__spisak li{
  position:relative; padding-left:1.5rem;
  font-family:var(--font-akcent);
  font-size:1rem; font-weight:500; letter-spacing:-.01em;
  color:var(--text-obratno);
}
.razkaz--svetlo .razkaz__spisak li{ color:var(--text); }
.razkaz__spisak li::before{
  content:''; position:absolute; left:0; top:.62em;
  width:9px; height:2px; border-radius:2px; background:var(--oranj);
}

/* --- Цитатът ------------------------------------------------------------ */
.citat{
  margin:clamp(2rem,1.2rem + 1.6vw,2.9rem) 0;
  padding:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);
  border-radius:var(--r-lg);
  background:rgba(244,240,234,.05);
  border:1px solid var(--kant-tumen);
  text-align:center;
}
.citat__etiket{
  margin:0 0 .9rem !important;
  font-family:var(--font-tekst);
  font-size:.68rem !important; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--oranj) !important;
}
.citat blockquote{
  margin:0;
  font-family:var(--font-akcent);
  font-size:clamp(1.1rem,.95rem + .9vw,1.7rem);
  font-weight:500; letter-spacing:-.02em; line-height:1.4;
  color:var(--text-obratno);
}
.citat blockquote::before{ content:'„'; color:var(--oranj); }
.citat blockquote::after{ content:'“'; color:var(--oranj); }

/* --- Двойките при д-р Стаматов ------------------------------------------ */
.dvoika{
  display:grid; gap:.7rem;
  margin:clamp(1.6rem,1rem + 1.4vw,2.4rem) 0;
}
.dvoika__red{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center; gap:1rem;
  padding:1rem 1.2rem;
  border-radius:var(--r);
  background:var(--osnova);
  border:1px solid var(--kant);
}
.dvoika__red::before{
  content:'';
  grid-column:2;
  width:26px; height:2px; border-radius:2px;
  background:var(--oranj);
  order:0;
}
.dvoika__ot{ order:-1; font-size:.92rem; font-weight:300; color:var(--text-mek); }
.dvoika__kym{
  order:1;
  font-family:var(--font-akcent);
  font-size:1rem; font-weight:500; letter-spacing:-.01em;
  color:var(--text);
}
@media (max-width:640px){
  .dvoika__red{ grid-template-columns:1fr; gap:.35rem; text-align:left; }
  .dvoika__red::before{ display:none; }
}
@media (max-width:880px){
  .za__vrah{ grid-template-columns:1fr; }
  .za__foto{ position:static; aspect-ratio:4/3; }
  .lekar__vrah{ grid-template-columns:1fr; }
  .lekar__portret{ max-width:none; aspect-ratio:4/3; }
}

/* ==========================================================================
   СТРАНИЦА НА УСЛУГА — импланти и следващите
   ========================================================================== */

/* Уводният блок: снимката е квадратна (преди/след), не 4:5 */
.za__foto--1x1{ aspect-ratio:1; }

/* Рейтингът в Google под увода */
.reiting{
  margin-top:1.9rem;
  padding-top:1.6rem;
  border-top:1px solid var(--kant);
}
.reiting__zaglavie{
  margin:0 0 .8rem !important;
  font-size:.78rem !important;
  letter-spacing:.12em; text-transform:uppercase;
  font-weight:500 !important;
  color:var(--text-mek);
}
.reiting__deistvia{
  display:flex; flex-wrap:wrap; gap:.6rem;
  margin-top:1.35rem;
}

/* По-широк кадър в тъмната секция с вариантите */
.implanti__foto--shiroka{ aspect-ratio:16/10; }

/* Куката, разпъната на цялата ширина (в секцията с цената) */
.kuka--shiroka{
  margin-top:clamp(1.75rem,1rem + 1.5vw,2.5rem);
  padding:clamp(1.2rem,1rem + .6vw,1.6rem) clamp(1.25rem,1rem + .8vw,1.9rem);
}
.kuka--shiroka p{ font-size:.98rem !important; line-height:1.7; }

/* --- Случаи: по-едри кадри, три колони ------------------------------------ */
.mozaika--usluga{ --luft:clamp(.7rem,.4rem + .6vw,1rem); column-count:2; }
@media (max-width:640px){ .mozaika--usluga{ column-count:1; } }

.sluchai__pod{ margin:clamp(1.25rem,1rem + .8vw,1.75rem) 0 0; }
.vrazka{
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:var(--fs-malak); font-weight:400;
  color:var(--text);
  border-bottom:1px solid rgba(226,102,31,.45);
  padding-bottom:2px;
  transition:color .28s ease, border-color .28s ease;
}
.vrazka::after{
  content:'→';
  font-size:.95em;
  transition:transform .28s cubic-bezier(.2,.7,.3,1);
}
.vrazka:hover{ color:var(--oranj); border-color:var(--oranj); }
.vrazka:hover::after{ transform:translateX(4px); }

@media (max-width:880px){
  .cena__vrah{ grid-template-columns:1fr; gap:1.75rem; }
  .za__foto--1x1{ aspect-ratio:4/3; }
}

/* Връзката към страницата с имплантите под тъмната секция в началото */
.implanti__vrazka{ margin:1.4rem 0 0; text-align:center; }
.sekcia--mastilo .vrazka{ color:rgba(244,240,234,.86); }
.sekcia--mastilo .vrazka:hover{ color:var(--oranj); }

/* --- Портретен връх (страница на услуга) ---------------------------------- */
.vrah-stranica--portret .vrah-stranica__foto img{ object-position:66% 22%; }
.vrah-stranica--portret .vrah-stranica__zavesa{
  background:
    linear-gradient(100deg, rgba(14,11,8,.92) 0%, rgba(14,11,8,.78) 46%, rgba(14,11,8,.34) 100%),
    linear-gradient(180deg, rgba(14,11,8,.62) 0%, rgba(14,11,8,.2) 40%, rgba(14,11,8,.72) 100%);
}
@media (max-width:820px){
  .vrah-stranica--portret .vrah-stranica__foto img{ object-position:60% 12%; }
  .vrah-stranica--portret .vrah-stranica__zavesa{
    background:linear-gradient(180deg, rgba(14,11,8,.55) 0%, rgba(14,11,8,.82) 46%, rgba(14,11,8,.93) 100%);
  }
}

/* --- Куката в светла секция ----------------------------------------------- */
.kuka--svetla{ background:rgba(226,102,31,.06); border-color:rgba(226,102,31,.32); }
.kuka--svetla p{ color:var(--text) !important; }
.kuka--svetla p b{ color:var(--oranj) !important; }

/* --- Видове импланти ------------------------------------------------------- */
.vidove{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(1rem,.6rem + 1vw,1.75rem);
  margin-top:clamp(1.75rem,1rem + 1.5vw,2.5rem);
}
.vid{
  position:relative;
  padding:clamp(1.5rem,1rem + 1.2vw,2.1rem);
  border:1px solid var(--kant);
  border-radius:var(--r-lg);
  background:var(--osnova);
  transition:border-color .38s ease, transform .42s cubic-bezier(.16,.84,.28,1);
}
.vid:hover{ border-color:rgba(226,102,31,.4); transform:translateY(-3px); }
.vid__znak{
  position:absolute; top:1.1rem; right:1.35rem;
  font-family:var(--font-akcent);
  font-size:clamp(2.2rem,1.6rem + 2vw,3.1rem); font-weight:600; line-height:1;
  color:var(--pyasak); opacity:.75;
  transition:opacity .38s ease, color .38s ease;
}
.vid:hover .vid__znak{ color:rgba(226,102,31,.45); opacity:1; }
.vid h3{
  font-family:var(--font-akcent);
  font-size:clamp(1.02rem,.95rem + .3vw,1.18rem); font-weight:500; letter-spacing:-.015em;
  color:var(--text); margin:0 0 .6rem; max-width:16ch;
}
.vid p{
  margin:0; max-width:44ch;
  font-size:var(--fs-malak); font-weight:300; line-height:1.75;
  color:var(--text-mek);
}

/* --- Цената (светла секция) ------------------------------------------------ */
.cena__vrah{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr);
  gap:clamp(1.5rem,1rem + 2.5vw,3.5rem);
  align-items:start;
  margin-top:clamp(1.75rem,1rem + 1.8vw,2.75rem);
}
.cena__tekst p{
  margin:0 0 1.05rem; max-width:56ch;
  font-size:var(--fs-tekst); font-weight:300; line-height:1.8;
  color:var(--text-mek);
}
.cena__tekst p:last-child{ margin-bottom:0; }
.cena__tekst b{ font-weight:500; color:var(--text); }
.cena__spisak{ list-style:none; margin:0 0 1.35rem; padding:0; }
.cena__spisak li{
  position:relative;
  padding:0 0 .8rem 1.6rem;
  margin-bottom:.8rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.7;
  color:var(--text-mek);
  border-bottom:1px solid var(--kant);
}
.cena__spisak li:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0; }
.cena__spisak li::before{
  content:''; position:absolute; left:0; top:.62em;
  width:7px; height:7px; border-radius:50%;
  background:var(--oranj);
}

.cenova{
  position:sticky; top:calc(var(--h-glava) + 1.5rem);
  padding:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);
  border-radius:var(--r-lg);
  background:var(--mastilo);
  color:var(--text-obratno);
  box-shadow:0 26px 52px -30px rgba(23,20,15,.6);
  text-align:center;
}
.cenova__cifra{
  margin:0;
  font-family:var(--font-akcent);
  font-size:clamp(2.1rem,1.4rem + 2.6vw,3.1rem);
  font-weight:600; line-height:1; letter-spacing:-.04em;
  color:var(--oranj);
}
.cenova__za{
  margin:.7rem 0 0;
  font-size:.94rem; font-weight:400; letter-spacing:.02em;
  color:var(--text-obratno);
}
.cenova__za span{ display:block; margin-top:.2rem; font-size:.82rem; font-weight:300; color:rgba(244,240,234,.6); }
.cenova__bel{
  margin:1.15rem 0 0;
  padding-top:1.15rem;
  border-top:1px solid var(--kant-tumen);
  font-size:var(--fs-malak); font-weight:300; line-height:1.65;
  color:rgba(244,240,234,.66);
}
.cenova .btn{ margin-top:1.4rem; }

/* --- Какво да очакваш ------------------------------------------------------ */
.ochakvai{
  margin-top:clamp(1.75rem,1rem + 1.5vw,2.5rem);
  padding:clamp(1.4rem,1rem + 1vw,2rem) clamp(1.5rem,1rem + 1.2vw,2.2rem);
  border:1px solid rgba(226,102,31,.32);
  border-radius:var(--r-lg);
  background:rgba(226,102,31,.06);
}
.ochakvai__glava{
  margin:0 0 1rem;
  font-family:var(--font-akcent);
  font-size:1.05rem; font-weight:500; letter-spacing:-.01em;
  color:var(--oranj);
}
.ochakvai__spisak{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:.7rem 1.75rem;
}
.ochakvai__spisak li{
  position:relative; padding-left:1.7rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.7;
  color:var(--text);
}
.ochakvai__spisak li::before{
  content:''; position:absolute; left:0; top:.42em;
  width:11px; height:11px; border-radius:50%;
  border:2px solid var(--oranj);
}

/* --- Две теми една до друга ------------------------------------------------ */
.dve-teme{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(1.5rem,1rem + 2.5vw,3.5rem);
}
.tema h2{ margin:0 0 1rem; font-size:clamp(1.3rem,1.1rem + 1vw,1.75rem); }
.tema p{
  margin:0 0 1rem; max-width:52ch;
  font-size:var(--fs-malak); font-weight:300; line-height:1.8;
  color:var(--text-mek);
}
.tema p:last-child{ margin-bottom:0; }

/* --- Защо Doc3Dental ------------------------------------------------------- */
.zashto__spisak{
  list-style:none; margin:clamp(1.75rem,1rem + 1.5vw,2.5rem) 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1rem;
}
.zashto__spisak li{
  position:relative;
  padding:1.3rem 1.4rem 1.3rem 3.1rem;
  border:1px solid var(--kant-tumen);
  border-radius:var(--r-lg);
  font-size:var(--fs-malak); font-weight:300; line-height:1.7;
  color:rgba(244,240,234,.82);
  transition:border-color .38s ease, transform .42s cubic-bezier(.16,.84,.28,1);
}
.zashto__spisak li:hover{ border-color:rgba(226,102,31,.45); transform:translateY(-3px); }
.zashto__spisak li::before{
  content:''; position:absolute; left:1.35rem; top:1.75rem;
  width:9px; height:9px; border-radius:50%;
  background:var(--oranj);
}
.zashto__kraj{
  margin:clamp(1.5rem,1rem + 1.2vw,2.25rem) auto 0;
  max-width:56ch; text-align:center;
  font-family:var(--font-akcent);
  font-size:clamp(1.05rem,.95rem + .5vw,1.3rem); font-weight:400; line-height:1.55;
  letter-spacing:-.01em;
  color:var(--text-obratno);
}

@media (max-width:880px){
  .cena__vrah{ grid-template-columns:1fr; gap:1.75rem; }
  .cenova{ position:static; }
}

/* ==========================================================================
   СНИМКИ, РАЗПРЪСНАТИ ПО СЕКЦИИТЕ (страница на услуга)
   ========================================================================== */

/* Лента със снимка на цялата ширина на текста + подпис */
.lenta-foto{
  margin:clamp(1.75rem,1rem + 1.5vw,2.5rem) 0 0;
  cursor:zoom-in;
}
.lenta-foto img{
  display:block; width:100%; height:auto;
  border-radius:var(--r-lg);
  background:var(--pyasak);
  transition:transform .55s cubic-bezier(.16,.84,.28,1), box-shadow .4s ease;
}
.lenta-foto:hover img{
  transform:translateY(-4px);
  box-shadow:0 22px 44px -24px rgba(23,20,15,.45);
}
.lenta-foto figcaption{
  margin-top:.85rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.6;
  color:var(--text-mek);
}
.sekcia--mastilo .lenta-foto figcaption{ color:rgba(244,240,234,.62); }
.lenta-foto--tanka img{ max-height:320px; object-fit:cover; object-position:center 45%; }

/* Кадърът в тъмната секция вече е <figure> — подписът се показва при посочване */
figure.implanti__foto{ margin:0; position:relative; cursor:zoom-in; }

/* „Как протича“ — снимка отляво, стъпките отдясно */
.kak__vrah{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(1.5rem,1rem + 2.5vw,3rem);
  align-items:start;
  margin-top:clamp(1.75rem,1rem + 1.5vw,2.5rem);
}
.kak__foto{
  position:sticky; top:calc(var(--h-glava) + 1.5rem);
  margin:0; position:-webkit-sticky; position:sticky;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--pyasak);
  cursor:zoom-in;
}
.kak__foto img{ display:block; width:100%; height:auto; transition:transform .55s cubic-bezier(.16,.84,.28,1); }
.kak__foto:hover img{ transform:scale(1.04); }
.stypki--red{
  grid-template-columns:1fr;
  margin-top:0;
  gap:clamp(.7rem,.5rem + .5vw,1rem);
}
.stypki--red .stypka{ display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:1.1rem; row-gap:.35rem; }
.stypki--red .stypka__nomer{ grid-row:1 / span 2; margin-bottom:0; font-size:1.7rem; }
.stypki--red .stypka h3{ margin:0; align-self:center; }
.stypki--red .stypka p{ grid-column:2; }

/* Снимка над „Колко издържат“ / „Премахване“ */
.tema__foto{
  margin:0 0 1.35rem;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--pyasak);
  aspect-ratio:16/8;
  position:relative;
}
.tema__foto.otvarq{ cursor:zoom-in; }
.tema__foto img{ width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.16,.84,.28,1); }
.tema__foto:hover img{ transform:scale(1.04); }

/* „Защо Doc3Dental“ — снимка на апарата + списък */
.zashto__vrah{
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);
  gap:clamp(1.5rem,1rem + 2.5vw,3rem);
  align-items:center;
  margin-top:clamp(1.75rem,1rem + 1.5vw,2.5rem);
}
.zashto__foto{ margin:0; }
.zashto__foto img{
  display:block; width:100%; height:auto;
  border-radius:var(--r-lg);
  background:rgba(244,240,234,.07);
}
.zashto__foto figcaption{
  margin-top:.85rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.6;
  color:rgba(244,240,234,.6);
}
.zashto__spisak--red{ grid-template-columns:1fr; margin-top:0; gap:.75rem; }
.zashto__vrazka{ margin:clamp(1.5rem,1rem + 1vw,2rem) 0 0; text-align:center; }

@media (max-width:880px){
  .kak__vrah{ grid-template-columns:1fr; gap:1.5rem; }
  .kak__foto{ position:static; max-height:420px; }
  .kak__foto img{ height:100%; object-fit:cover; object-position:center 40%; }
  .zashto__vrah{ grid-template-columns:1fr; gap:1.5rem; }
  .zashto__foto{ max-width:420px; margin-inline:auto; }
}

/* Кадърът в увода вече е <figure> — става кликаем като останалите */
figure.za__foto{ margin:0; position:relative; }
figure.za__foto.otvarq{ cursor:zoom-in; }



/* Секцията с всички услуги — по-събрана */

/* ==========================================================================
   УСЛУГИ — списък по категории отляво, кръг със снимка отдясно
   ========================================================================== */
.glava-sekcia--sredna{ max-width:66ch; margin-inline:auto; text-align:center; }
.glava-sekcia--sredna p:not(.etiket){ margin-inline:auto; font-size:1rem; line-height:1.7; }
.uslugi-sekcia{ padding-block:clamp(3rem,2rem + 3vw,5rem); }

.dve-strani{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(1.75rem,1rem + 2.6vw,4rem);
  align-items:start;
  margin-top:clamp(2rem,1.4rem + 2vw,3rem);
}
.strana-foto{ align-self:stretch; overflow-x:clip; }
.strana-foto__lepkava{
  position:sticky;
  /* стои по средата на екрана, но никога под главата */
  top:max(calc(var(--h-glava) + 1.25rem), calc(50vh - 265px));
}

/* --- групите отляво ------------------------------------------------------- */
.u-grupa + .u-grupa{ margin-top:clamp(1.1rem,.8rem + .8vw,1.7rem); }
.u-grupa__ime{
  display:flex; align-items:center; gap:.7rem;
  margin:0 0 .35rem;
  font-family:var(--font-akcent);
  font-size:.71rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--oranj);
}
.u-grupa__ime::after{
  content:''; flex:1 1 auto; height:1px;
  background:linear-gradient(90deg, rgba(226,102,31,.3), transparent);
}
.u-grupa__ime i{
  flex:none; order:1;
  font-style:normal; font-size:.66rem; font-weight:400; letter-spacing:.08em;
  color:rgba(244,240,234,.3);
}
.u-spisak{ list-style:none; margin:0; padding:0; }
.u-spisak li + li{ border-top:1px solid var(--kant-tumen); }

.u-red{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.85rem;
  padding:.42rem .7rem .42rem .55rem;
  color:var(--text-obratno);
  text-decoration:none;
  transition:background-color .32s ease, padding-left .34s cubic-bezier(.2,.7,.3,1);
}
.u-red::before{
  content:''; position:absolute; left:0; top:.28rem; bottom:.28rem;
  width:2px; background:var(--oranj);
  transform:scaleY(0); transform-origin:center;
  transition:transform .38s cubic-bezier(.2,.7,.3,1);
}
.u-red__nomer{
  font-family:var(--font-akcent);
  font-size:.66rem; font-weight:500; letter-spacing:.08em;
  color:rgba(244,240,234,.3);
  transition:color .32s ease;
}
.u-red__telo{ display:block; min-width:0; }
.u-red__ime{
  display:block;
  font-family:var(--font-akcent);
  font-size:clamp(.93rem,.88rem + .26vw,1.04rem);
  font-weight:400; letter-spacing:-.015em; line-height:1.32;
  color:rgba(244,240,234,.85);
  transition:color .32s ease;
}
.u-red__pod{
  display:block; margin-top:.13rem;
  font-size:.755rem; font-weight:300; line-height:1.4;
  color:rgba(244,240,234,.42);
  transition:color .32s ease;
}
.u-red__strelka{
  color:var(--oranj);
  opacity:0; transform:translateX(-7px);
  transition:opacity .32s ease, transform .34s cubic-bezier(.2,.7,.3,1);
}
.u-red:hover,
.u-red:focus-visible,
.u-red.aktiven{
  background:rgba(244,240,234,.045);
  padding-left:1.1rem;
  outline:none;
}
.u-red:hover::before,
.u-red:focus-visible::before,
.u-red.aktiven::before{ transform:scaleY(1); }
.u-red:hover .u-red__ime,
.u-red:focus-visible .u-red__ime,
.u-red.aktiven .u-red__ime{ color:var(--oranj); }
.u-red:hover .u-red__nomer,
.u-red:focus-visible .u-red__nomer,
.u-red.aktiven .u-red__nomer{ color:rgba(226,102,31,.8); }
.u-red:hover .u-red__pod,
.u-red.aktiven .u-red__pod{ color:rgba(244,240,234,.6); }
.u-red:hover .u-red__strelka,
.u-red:focus-visible .u-red__strelka,
.u-red.aktiven .u-red__strelka{ opacity:1; transform:none; }

.u-grupa__vryzka{
  display:inline-block; margin:.55rem 0 0 .55rem;
  font-size:.78rem; font-weight:300;
  color:rgba(244,240,234,.5);
  text-decoration:none;
  border-bottom:1px solid rgba(226,102,31,.4);
  padding-bottom:1px;
  transition:color .3s ease, border-color .3s ease;
}
.u-grupa__vryzka:hover{ color:var(--oranj); border-color:var(--oranj); }

/* --- кръгът отдясно ------------------------------------------------------- */
.krug{
  position:relative;
  width:min(100%, clamp(240px,25vw,352px));
  aspect-ratio:1;
  margin:0 auto;
}
.krug__sianie{
  /* сиянието е широко 158% — на средни екрани стърчеше извън колоната
     и надуваше scrollWidth, макар body да го крие */
  position:absolute; left:50%; top:50%;
  width:158%; aspect-ratio:1;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 50% 50%, rgba(226,102,31,.2) 0%, rgba(226,102,31,.06) 42%, transparent 68%);
  opacity:.7; transition:opacity .55s ease;
  pointer-events:none;
}
.krug.smenq .krug__sianie{ opacity:1; }

.krug__kadar{
  position:absolute; inset:0;
  border-radius:50%;
  overflow:hidden;
  background:#221D17;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.75);
  will-change:transform;
}
.krug__sloi{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  opacity:0;
  transform:scale(1.045);
  transition:opacity .7s cubic-bezier(.22,.72,.24,1), transform .95s cubic-bezier(.22,.72,.24,1);
}
.krug__sloi--aktiven{ opacity:1; transform:none; }
.krug__sloi--izliza{ opacity:0; transform:scale(1.02); }

/* Пръстенът: тънък кант + оранжева дъга, която обикаля при смяна */
.krug__pryusten{
  position:absolute; inset:-9px;
  width:calc(100% + 18px); height:calc(100% + 18px);
  transform:rotate(-90deg);
  pointer-events:none;
  overflow:visible;
}
.krug__osnova{ stroke:rgba(244,240,234,.14); stroke-width:.5; }
.krug__duga{
  stroke:var(--oranj); stroke-width:1.2; stroke-linecap:round;
  stroke-dasharray:46 263;
  stroke-dashoffset:0;
  opacity:0;
}
/* Дъгата тръгва наново при всяко минаване на друга услуга. Началните и
   крайните кадри са прозрачни, за да не се вижда връщането в началото. */
.krug.varti .krug__duga{
  animation:krug-obikolka 1.15s cubic-bezier(.3,.5,.28,1) both;
}
@keyframes krug-obikolka{
  0%   { stroke-dashoffset:0;    opacity:0; }
  10%  { opacity:1; }
  86%  { opacity:1; }
  100% { stroke-dashoffset:-309.13; opacity:0; }
}
@keyframes krug-puls{
  0%  { transform:scale(1); }
  38% { transform:scale(.962); }
  100%{ transform:scale(1); }
}
.krug.smenq .krug__kadar{ animation:krug-puls .95s cubic-bezier(.3,.1,.2,1); }

.krug-podpis{
  margin:clamp(1rem,.8rem + .8vw,1.5rem) 0 0;
  text-align:center;
}
.krug-podpis__broi{
  display:block;
  font-family:var(--font-akcent);
  font-size:.74rem; font-weight:500; letter-spacing:.15em;
  color:var(--oranj);
  margin-bottom:.4rem;
}
.krug-podpis__ime{
  display:block;
  font-family:var(--font-akcent);
  font-size:clamp(1.05rem,.95rem + .5vw,1.3rem); font-weight:500;
  letter-spacing:-.015em; line-height:1.35;
  color:var(--text-obratno);
}
.krug-podpis__pod{
  display:block; margin-top:.32rem;
  font-size:.86rem; font-weight:300; line-height:1.5;
  color:rgba(244,240,234,.5);
  min-height:1.5em;
}

@media (max-width:900px){
  .dve-strani{ grid-template-columns:1fr; gap:1.25rem; }
  .strana-foto{ order:-1; }
  .strana-foto__lepkava{
    top:var(--h-glava); z-index:2;
    background:var(--mastilo);
    padding-block:.4rem .7rem;
  }
  .krug{ width:clamp(160px,42vw,216px); }
  .krug-podpis{ margin-top:.8rem; }
}
@media (prefers-reduced-motion:reduce){
  .krug.smenq .krug__kadar,
  .krug.varti .krug__duga{ animation:none; }
  .krug__sloi{ transition:opacity .2s linear; transform:none !important; }
}

/* Списъкът в две колони, за да се събере без дълъг скрол */
@media (min-width:1080px){
  .dve-strani{ grid-template-columns:minmax(0,1.42fr) minmax(0,.58fr); }
  .strana-spisyk{ column-count:2; column-gap:clamp(1.5rem,1rem + 1.4vw,2.5rem); }
  .u-grupa{ break-inside:avoid; -webkit-column-break-inside:avoid; margin-bottom:clamp(1.1rem,.8rem + .8vw,1.7rem); }
  .u-grupa + .u-grupa{ margin-top:0; }
  .strana-spisyk .u-grupa:last-child{ margin-bottom:0; }
}

/* Етикетът над заглавието на секцията с услугите */
.uslugi-sekcia .glava-sekcia--sredna .etiket{
  position:relative;
  display:inline-block;
  margin-bottom:1.35rem;
  padding-bottom:.95rem;
  font-size:.95rem;
  font-weight:500;
  letter-spacing:.3em;
  text-indent:.3em;
  color:var(--oranj);
}
.uslugi-sekcia .glava-sekcia--sredna .etiket::after{
  content:'';
  position:absolute; left:50%; bottom:0;
  transform:translateX(-50%);
  width:88px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, transparent 0%, var(--oranj) 32%, var(--oranj) 68%, transparent 100%);
}
.uslugi-sekcia .glava-sekcia--sredna h2{ margin-top:0; }
@media (max-width:560px){
  .uslugi-sekcia .glava-sekcia--sredna .etiket{ font-size:.86rem; letter-spacing:.24em; }
}

/* ==========================================================================
   ГРЕШКИ ВЪВ ФОРМИТЕ
   ========================================================================== */
:root{
  --greshka:#C0392B;
  --greshka-mek:rgba(192,57,43,.12);
  --uspeh:#2E7D5B;
}

.pole__greshka{
  display:flex; align-items:flex-start; gap:.4rem;
  margin:.15rem 0 0;
  font-size:.79rem; font-weight:400; line-height:1.5;
  color:var(--greshka);
}
.pole__greshka::before{
  content:'!';
  flex:none;
  display:grid; place-items:center;
  width:15px; height:15px; margin-top:.1rem;
  border-radius:50%;
  background:var(--greshka);
  color:#FFF; font-size:.66rem; font-weight:700; line-height:1;
}

.pole.e-greshka label{ color:var(--greshka); }
.pole.e-greshka input,
.pole.e-greshka textarea,
.pole.e-greshka select{
  border-color:var(--greshka);
  background:var(--greshka-mek);
}
.pole.e-greshka input:focus,
.pole.e-greshka textarea:focus,
.pole.e-greshka select:focus{
  border-color:var(--greshka);
  box-shadow:0 0 0 3px rgba(192,57,43,.16);
}

/* Съгласието е с отметка — грешката застава под целия ред */
.syglasie.e-greshka{ color:var(--greshka); }
.syglasie.e-greshka input{ outline:2px solid var(--greshka); outline-offset:2px; }
.syglasie.e-greshka .pole__greshka{ grid-column:1 / -1; }

/* Обобщението под бутона */
.forma__status{
  margin:.2rem 0 0;
  font-size:.86rem; line-height:1.55;
}
.forma__status:empty{ display:none; }
.forma__status--greshka{
  padding:.75rem 1rem;
  border-radius:var(--r);
  border:1px solid rgba(192,57,43,.35);
  background:var(--greshka-mek);
  color:var(--greshka);
  font-weight:500;
}
.forma__status--uspeh{
  padding:.9rem 1.1rem;
  border-radius:var(--r);
  border:1px solid rgba(46,125,91,.4);
  background:rgba(46,125,91,.1);
  color:var(--uspeh);
  font-weight:500;
}
.forma__status--uspeh span{
  display:block; margin-top:.3rem;
  font-size:.76rem; font-weight:300;
  color:var(--text-mek);
}
.forma--gotova .btn{ opacity:.55; pointer-events:none; }
.forma__red .pole__greshka{ padding-right:.6rem; }

/* --- Панорами Street View в ориентирите ---------------------------------- */
.orientir__kadyr--pano{ background:linear-gradient(155deg,#2A241C 0%,#17140F 100%); }
.pano__pusk{
  position:absolute; inset:0;
  display:grid; place-content:center; justify-items:center; gap:.55rem;
  width:100%; height:100%;
  border:1px solid var(--kant-tumen);
  border-radius:inherit;
  background:transparent;
  color:var(--text-obratno);
  cursor:pointer;
  transition:background-color .4s ease, border-color .4s ease;
}
.pano__pusk:hover,
.pano__pusk:focus-visible{
  background:rgba(226,102,31,.08);
  border-color:rgba(226,102,31,.5);
  outline:none;
}
.pano__ikona{
  display:grid; place-items:center;
  width:44px; height:44px;
  border-radius:999px;
  border:1px solid rgba(226,102,31,.55);
  color:var(--oranj);
  transition:background-color .4s ease, color .4s ease;
}
.pano__pusk:hover .pano__ikona{ background:var(--oranj); color:#1B1713; }
.pano__nadpis{
  font-family:var(--font-akcent);
  font-size:.92rem; font-weight:500; letter-spacing:-.01em;
}
.pano__bel{
  font-size:.7rem; font-weight:300; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(244,240,234,.45);
}
.orientir__kadyr--pano iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:0;
  border-radius:inherit;
}
.orientir__kadyr--pano.pano-zaredena .pano__pusk{ display:none; }

/* Етикети без текст (както са на стария сайт) */
.zashto__spisak--etiketi{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.zashto__spisak--etiketi li{
  padding:1.1rem 1.2rem 1.1rem 2.9rem;
  font-family:var(--font-akcent);
  font-size:.95rem; font-weight:500; letter-spacing:-.01em;
  color:var(--text-obratno);
}
.zashto__spisak--etiketi li::before{ top:1.45rem; }
.zashto__tekst{
  max-width:74ch; margin:clamp(1.5rem,1rem + 1.4vw,2.25rem) auto 0;
}
.zashto__tekst p{
  margin:0 0 1.05rem;
  font-size:var(--fs-tekst); font-weight:300; line-height:1.8;
  color:rgba(244,240,234,.74);
}
.zashto__tekst p:last-child{ margin-bottom:0; }

/* ==========================================================================
   СТРАНИЦИ НА УСЛУГИ — блокове, пренесени от стария сайт
   ========================================================================== */

/* Трите обещания */
.obeshtania__redica{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(1rem,.6rem + 1vw,1.75rem);
}
.obeshtanie{
  margin:0;
  padding:clamp(1.4rem,1rem + 1vw,2rem);
  border:1px solid var(--kant-tumen);
  border-radius:var(--r-lg);
  font-family:var(--font-akcent);
  font-size:clamp(1.05rem,.95rem + .5vw,1.32rem); font-weight:500;
  letter-spacing:-.015em; line-height:1.3;
  color:var(--oranj);
  transition:border-color .38s ease, transform .42s cubic-bezier(.16,.84,.28,1);
}
.obeshtanie:hover{ border-color:rgba(226,102,31,.45); transform:translateY(-3px); }
.obeshtanie span{
  display:block; margin-top:.4rem;
  font-family:var(--font-tekst);
  font-size:.92rem; font-weight:300; letter-spacing:0;
  color:rgba(244,240,234,.72);
}
.obeshtania__tekst{
  max-width:80ch; margin:clamp(1.75rem,1.2rem + 1.6vw,2.75rem) auto 0;
  text-align:center;
  font-size:var(--fs-tekst); font-weight:300; line-height:1.8;
  color:rgba(244,240,234,.74);
}

/* Едър списък с точки */
.spisak-edro{
  list-style:none; margin:clamp(1.5rem,1rem + 1.4vw,2.25rem) 0 0; padding:0;
  max-width:82ch;
}
.spisak-edro li{
  position:relative;
  padding:0 0 1rem 1.8rem;
  margin-bottom:1rem;
  border-bottom:1px solid var(--kant);
  font-size:var(--fs-malak); font-weight:300; line-height:1.75;
  color:var(--text-mek);
}
.spisak-edro li:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0; }
.spisak-edro li::before{
  content:''; position:absolute; left:0; top:.7em;
  width:7px; height:7px; border-radius:50%; background:var(--oranj);
}
.spisak-edro b{ font-weight:500; color:var(--text); }
.sekcia--mastilo .spisak-edro li{ color:rgba(244,240,234,.74); border-color:var(--kant-tumen); }
.sekcia--mastilo .spisak-edro b{ color:var(--text-obratno); }

/* Три теми в редица */
.dve-teme--tri{ grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.tema h3{
  font-family:var(--font-akcent);
  font-size:clamp(1rem,.95rem + .3vw,1.15rem); font-weight:500;
  letter-spacing:-.01em; color:var(--text);
  margin:0 0 .8rem;
}
.tema--obratna h2, .tema--obratna h3{ color:var(--text-obratno); }
.tema--obratna p{ color:rgba(244,240,234,.72); }
.obvivka--bez{ width:auto; padding:0; margin-top:clamp(1.75rem,1.2rem + 1.5vw,2.75rem); }

/* Разказът в тъмна секция */
.razkaz--obratno{ max-width:78ch; margin-inline:auto; }
.razkaz--obratno h3{ color:var(--text-obratno); }
.razkaz--obratno p{ color:rgba(244,240,234,.74); }
.razkaz--obratno .razkaz__glava{ border-color:var(--kant-tumen); }
.citat--obratno blockquote{ color:var(--text-obratno); }
.citat--obratno figcaption{
  margin-top:.9rem;
  font-size:.86rem; font-weight:300; color:rgba(244,240,234,.55);
}

/* Ценови пакети */
.paketi{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(1.1rem,.7rem + 1.2vw,2rem);
  margin-top:clamp(1.75rem,1.2rem + 1.6vw,2.75rem);
  align-items:start;
}
.paket{
  padding:clamp(1.5rem,1.1rem + 1.2vw,2.25rem);
  border:1px solid var(--kant);
  border-radius:var(--r-lg);
  background:var(--osnova);
  transition:border-color .38s ease, transform .42s cubic-bezier(.16,.84,.28,1);
}
.paket:hover{ border-color:rgba(226,102,31,.4); transform:translateY(-3px); }
.paket--klyuchov{ border-color:rgba(226,102,31,.4); background:var(--vtori); }
.paket__ime{
  margin:0 0 .3rem;
  font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--oranj);
}
.paket__cena{
  margin:0 0 1.1rem;
  font-family:var(--font-akcent);
  font-size:clamp(1.9rem,1.4rem + 2vw,2.7rem); font-weight:600;
  letter-spacing:-.04em; line-height:1; color:var(--text);
}
.paket__redove, .paket__spisak{ list-style:none; margin:0; padding:0; }
.paket__redove li{
  padding:.55rem 0;
  border-bottom:1px solid var(--kant);
  font-size:var(--fs-malak); font-weight:300; line-height:1.6;
  color:var(--text-mek);
}
.paket__glava{
  margin:1.25rem 0 .7rem;
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text);
}
.paket__spisak li{
  position:relative; padding:0 0 .5rem 1.5rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.65;
  color:var(--text-mek);
}
.paket__spisak li::before{
  content:''; position:absolute; left:0; top:.6em;
  width:6px; height:6px; border-radius:50%; background:var(--oranj);
}
.paket .btn{ margin-top:1.2rem; }

/* Заключителният призив с областта */
.oblast__telo{ max-width:74ch; margin-inline:auto; text-align:center; }
.oblast__telo p{
  margin:0 0 1.05rem;
  font-size:var(--fs-tekst); font-weight:300; line-height:1.8;
  color:var(--text-mek);
}
.oblast__telo a{ color:var(--oranj); font-weight:500; }
.oblast__udar{
  font-family:var(--font-akcent) !important;
  font-size:clamp(1.15rem,1rem + .8vw,1.55rem) !important;
  font-weight:500 !important; letter-spacing:-.015em;
  color:var(--text) !important;
  margin:1.6rem 0 !important;
}
/* Когато под двуколонния блок има още съдържание, снимката не остава лепкава */
#airflow .za__foto{ position:static; }
.za__vrah + .obvivka--bez{ clear:both; }

/* --------------------------------------------------------------------------
   Разделител с надпис (страница „Кариес“)
   -------------------------------------------------------------------------- */
.razdelitel{
  display:flex; align-items:center; gap:clamp(.9rem,.6rem + .8vw,1.6rem);
  max-width:66ch; margin:clamp(1.1rem,.8rem + .8vw,1.7rem) auto 0;
}
.razdelitel::before, .razdelitel::after{
  content:''; flex:1 1 1.5rem; min-width:1.5rem; height:1px; background:var(--kant);
}
.razdelitel span{
  flex:0 1 auto; min-width:0; text-align:center;
  font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--oranj); overflow-wrap:anywhere;
}
@media (max-width:560px){
  .razdelitel{ gap:.75rem; }
  .razdelitel span{ letter-spacing:.1em; }
}
.sekcia--mastilo .razdelitel::before, .sekcia--mastilo .razdelitel::after{ background:var(--kant-tumen); }

.uvod-sredno{
  max-width:70ch; margin:clamp(1.3rem,1rem + 1vw,2.1rem) auto 0;
  text-align:center;
  font-size:1.02rem; font-weight:300; line-height:1.8; color:var(--text-mek);
}
.sekcia--mastilo .uvod-sredno{ color:rgba(244,240,234,.74); }

.reiting--sredno{
  max-width:34rem; margin-inline:auto; text-align:center;
  border-top:1px solid var(--kant);
}
.reiting--sredno .ocenka{ justify-content:center; }
.reiting--sredno .reiting__deistvia{ justify-content:center; }

/* Едър списък с номера */
.spisak-edro--broi{ counter-reset:edro; }
.spisak-edro--broi li{ padding-left:3.1rem; }
.spisak-edro--broi li::before{
  counter-increment:edro; content:'0' counter(edro);
  position:absolute; left:0; top:.1em;
  width:auto; height:auto; border-radius:0; background:none;
  font-family:var(--font-akcent); font-size:1.05rem; font-weight:600;
  letter-spacing:-.02em; color:var(--oranj);
}

.za__foto--4x3{ aspect-ratio:4/3; }
.za__foto--5x4{ aspect-ratio:5/4; }
.paket__podime{
  margin:0 0 .75rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.5;
  color:var(--text-mek);
}
.razdelitel--lqvo{ max-width:none; margin-inline:0; }
.razdelitel--lqvo::after{ flex:1 1 auto; }
.za__foto--2x3{ aspect-ratio:2/3; }

/* Две теми на ред, дори когато са четири */
.dve-teme--dve{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:820px){ .dve-teme--dve{ grid-template-columns:minmax(0,1fr); } }

/* Лента със снимка, ограничена по височина */
.lenta-foto--sredna img{ max-height:min(58vh,520px); object-fit:cover; object-position:center 45%; }
.lenta-foto + .dve-teme, .lenta-foto + .glava-sekcia, .lenta-foto + .spisak-edro{
  margin-top:clamp(1.75rem,1.2rem + 1.8vw,3rem);
}
.spisak-edro + p, .spisak-edro + .kuka,
.za__tekst .spisak-edro + p:not(.etiket):not(.za__vodesht){
  margin-top:clamp(1.25rem,1rem + 1vw,1.9rem);
}
.tema .spisak-edro{ max-width:none; }
.vrah-stranica__dop{
  max-width:56ch; margin:.85rem 0 0;
  font-size:var(--fs-tekst); font-weight:300; line-height:1.75;
  color:rgba(244,240,234,.72);
}
.glava-sekcia + .dve-teme, .glava-sekcia + .vyprosi, .glava-sekcia + .za__vrah{
  margin-top:clamp(1.75rem,1.2rem + 1.8vw,3rem);
}
.glava-sekcia + p:not(.etiket), .glava-sekcia + ul, .glava-sekcia + ol{
  margin-top:clamp(1.4rem,1rem + 1.4vw,2.25rem);
}

/* --------------------------------------------------------------------------
   Странична лента с всички услуги (на страниците с услуги)
   -------------------------------------------------------------------------- */
.strana-uslugi{
  display:none;
  position:fixed; left:0;
  top:calc(50% + var(--h-glava) / 2);
  transform:translateY(-50%);
  z-index:40;
}
@media (min-width:1200px){ .strana-uslugi{ display:block; } }

.strana-uslugi__tab{
  display:block; padding:1.35rem .5rem;
  writing-mode:vertical-rl; text-orientation:mixed;
  background:var(--mastilo); color:var(--text-obratno);
  border:0; border-radius:0 var(--r) var(--r) 0;
  font-family:inherit; font-size:.66rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  cursor:pointer;
  box-shadow:inset -3px 0 0 var(--oranj), 0 10px 30px -12px rgba(0,0,0,.55);
  transition:background .32s ease, padding .32s ease;
}
.strana-uslugi__tab:hover,
.strana-uslugi__tab:focus-visible{ background:var(--oranj); padding-inline:.7rem; }

.strana-uslugi__panel{
  position:absolute; left:100%; top:50%; margin-left:.4rem;
  width:244px;
  max-height:calc(100vh - var(--h-glava) - 2.5rem);
  overflow-y:auto;
  padding:1rem .95rem 1.1rem;
  background:var(--osnova);
  border:1px solid var(--kant);
  border-radius:var(--r-lg);
  box-shadow:0 26px 64px -32px rgba(23,20,15,.55);
  opacity:0; pointer-events:none;
  transform:translate(-10px,-50%);
  transition:transform .42s cubic-bezier(.16,.84,.28,1), opacity .28s ease;
}
.strana-uslugi:hover .strana-uslugi__panel,
.strana-uslugi:focus-within .strana-uslugi__panel,
.strana-uslugi[data-otvoren="1"] .strana-uslugi__panel{
  opacity:1; pointer-events:auto; transform:translate(0,-50%);
}
/* Невидим мост през пролуката между езичето и панела — мишката не „пада“ навън,
   докато пътува към списъка. */
.strana-uslugi__panel::before{
  content:''; position:absolute;
  left:-1.1rem; top:-.6rem; bottom:-.6rem; width:1.1rem;
}

.strana-uslugi__grupa + .strana-uslugi__grupa{ margin-top:.85rem; }
.strana-uslugi__ime{
  margin:0 0 .3rem;
  font-size:.58rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--oranj);
}
.strana-uslugi__panel ul{ list-style:none; margin:0; padding:0; }
.strana-uslugi__panel a{
  display:block; padding:.19rem 0;
  font-size:.79rem; font-weight:300; line-height:1.35;
  color:var(--text-mek); text-decoration:none;
  transition:color .24s ease, transform .24s ease;
}
.strana-uslugi__panel a:hover{ color:var(--oranj); transform:translateX(3px); }
.strana-uslugi__panel a[aria-current="page"]{ color:var(--text); font-weight:500; }
.strana-uslugi__panel a[aria-current="page"]::before{ content:'— '; color:var(--oranj); }
.strana-uslugi__vsichki{
  display:block; margin-top:.9rem; padding-top:.75rem;
  border-top:1px solid var(--kant);
  font-size:.68rem !important; font-weight:600 !important;
  letter-spacing:.1em; text-transform:uppercase; color:var(--text) !important;
}

/* Цял кадър — нищо не се реже, снимката просто се смалява.
   Таванът по ширина се слага на самата <figure> според пропорцията на кадъра. */
.lenta-foto--tesna{ margin-inline:auto; }
.lenta-foto--tesna img{
  width:100%; height:auto;
  max-width:100%; max-height:none;
  object-fit:contain;
}
.lenta-foto--tesna figcaption{ text-align:center; }

/* Много широките кадри (панорамни ленти) стоят добре на цялата ширина */
.lenta-foto--shiroka img{
  width:100%; height:auto;
  max-width:100%; max-height:none;
  object-fit:contain;
}
.lenta-foto--shiroka figcaption{ text-align:center; }

/* --------------------------------------------------------------------------
   Центрирана ценова секция
   -------------------------------------------------------------------------- */
.cena-sredna .glava-sekcia--sredna{ text-align:center; }
.paketi--sredni{
  max-width:940px; margin-inline:auto;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}
.paketi--sredni.paketi--edna{ max-width:470px; }
.paketi--sredni .paket{
  text-align:center;
  padding:clamp(1.8rem,1.3rem + 1.5vw,2.7rem) clamp(1.4rem,1rem + 1.2vw,2.1rem);
}
.paketi--sredni .paket__ime{ letter-spacing:.2em; }
.paketi--sredni .paket__podime{ margin-bottom:1.1rem; }
.paketi--sredni .paket__cena{
  margin:0 0 1.1rem; padding-bottom:1.1rem;
  position:relative;
}
.paketi--sredni .paket__cena::after{
  content:''; position:absolute; left:50%; bottom:0;
  width:56px; height:2px; margin-left:-28px;
  background:var(--oranj); border-radius:2px;
}
.paketi--sredni .paket__redove li{
  border-bottom:0; padding:.3rem 0;
  font-size:.86rem;
}
.paketi--sredni .paket__glava{
  margin:1.5rem 0 .55rem;
  font-size:.66rem; letter-spacing:.2em;
  color:var(--text-mek);
}
.paketi--sredni .paket__spisak li{ padding:.5rem .25rem; }
.paketi--sredni .paket__spisak li::before{ display:none; }
.paketi--sredni .paket__spisak li + li{ border-top:1px solid var(--kant); }
.paketi--sredni .paket .btn{ margin-top:1.6rem; }
.sekcia--mastilo .paketi--sredni .paket__spisak li + li{ border-color:var(--kant-tumen); }

/* Трите вида протези — равни колони с разделителна линия */
.vidove-protezi{ gap:clamp(1.2rem,.8rem + 1.4vw,2.4rem); }
.vidove-protezi .tema{
  padding-top:1.35rem;
  border-top:2px solid rgba(226,102,31,.5);
}
.vidove-protezi .tema h3{ min-height:2.6em; }
@media (max-width:820px){ .vidove-protezi .tema h3{ min-height:0; } }

.za__foto--cql{ aspect-ratio:auto; background:none; box-shadow:none; overflow:visible; }
.za__foto--cql img{
  width:auto; height:auto;
  max-width:100%; max-height:min(66vh,600px);
  margin-inline:auto;
  object-fit:contain;
  border-radius:var(--r-lg);
  box-shadow:0 22px 44px -28px rgba(27,23,19,.45);
}

/* Кадрите на страницата с имплантите — цели, без изрязване */
.implanti .implanti__foto{ aspect-ratio:auto; }
.implanti .implanti__foto img{
  width:auto; height:auto;
  max-width:100%; max-height:min(58vh,520px);
  margin-inline:auto; object-fit:contain; display:block;
}
.tema__foto{ aspect-ratio:auto; }
.tema__foto img{
  width:auto; height:auto;
  max-width:100%; max-height:min(46vh,400px);
  margin-inline:auto; object-fit:contain; display:block;
}
.kak__foto img{ max-height:min(58vh,520px); width:auto; margin-inline:auto; object-fit:contain; }
.implanti__vrah--edna, .kak__vrah--edna{ grid-template-columns:minmax(0,1fr); }
.kak__vrah--edna .stypki--red{ grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }

/* --------------------------------------------------------------------------
   Правни страници — поверителност, бисквитки, общи условия
   -------------------------------------------------------------------------- */
.pravno{ max-width:82ch; margin-inline:auto; }
.pravno__data{
  margin:0 0 clamp(1.75rem,1.2rem + 1.6vw,2.75rem);
  padding-bottom:1.1rem;
  border-bottom:1px solid var(--kant);
  font-size:.82rem; font-weight:300; color:var(--text-mek);
}
.pravno h2{
  margin:clamp(2.25rem,1.6rem + 2vw,3.25rem) 0 .9rem;
  font-size:clamp(1.2rem,1.05rem + .7vw,1.55rem);
  scroll-margin-top:calc(var(--h-glava) + 1.5rem);
}
.pravno h2:first-of-type{ margin-top:0; }
.pravno h3{
  margin:1.9rem 0 .6rem;
  font-family:var(--font-akcent);
  font-size:clamp(.98rem,.92rem + .3vw,1.1rem); font-weight:500;
  color:var(--text);
}
.pravno p, .pravno li{
  font-size:var(--fs-tekst); font-weight:300; line-height:1.8; color:var(--text-mek);
}
.pravno p{ margin:0 0 1.05rem; }
.pravno ul, .pravno ol{ margin:0 0 1.15rem; padding-left:1.3rem; }
.pravno li{ margin-bottom:.5rem; }
.pravno b, .pravno strong{ font-weight:500; color:var(--text); }
.pravno a{ color:var(--oranj); }

/* Съдържание в началото */
.pravno__sydyrjanie{
  margin:0 0 clamp(2rem,1.4rem + 2vw,3rem);
  padding:clamp(1.2rem,.9rem + 1vw,1.75rem) clamp(1.2rem,.9rem + 1vw,1.75rem);
  background:var(--vtori);
  border-radius:var(--r-lg);
}
.pravno__sydyrjanie p{
  margin:0 0 .7rem;
  font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--oranj);
}
.pravno__sydyrjanie ol{
  columns:2; column-gap:2rem; margin:0; padding-left:1.1rem;
}
.pravno__sydyrjanie li{ margin-bottom:.3rem; break-inside:avoid; }
.pravno__sydyrjanie a{ color:var(--text-mek); text-decoration:none; }
.pravno__sydyrjanie a:hover{ color:var(--oranj); }
@media (max-width:640px){ .pravno__sydyrjanie ol{ columns:1; } }

/* Таблици в правните страници */
.pravno__tablica{ overflow-x:auto; margin:0 0 1.5rem; }
.pravno__tablica table{
  width:100%; min-width:520px;
  border-collapse:collapse;
  font-size:var(--fs-malak); font-weight:300; line-height:1.65;
}
.pravno__tablica th, .pravno__tablica td{
  padding:.75rem .85rem;
  border-bottom:1px solid var(--kant);
  text-align:left; vertical-align:top;
  color:var(--text-mek);
}
.pravno__tablica th{
  font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--text); border-bottom-color:var(--text);
}
.pravno__tablica tr:last-child td{ border-bottom:0; }

/* ==========================================================================
   МАРКЕР ЗА НЕПОПЪЛНЕНИ ДАННИ — не бива да стига до жив сайт.
   Търси в кода: class="popylni"
   ========================================================================== */
.popylni{
  display:inline-block;
  padding:.12em .5em;
  background:#FFE8A3;
  color:#6B4A00;
  border:1px dashed #C79A17;
  border-radius:3px;
  font-size:.82em; font-weight:600;
  letter-spacing:.02em;
  max-width:100%;
  overflow-wrap:anywhere;
}
.popylni::before{ content:'\26A0\FE0E'; margin-right:.35em; }
@media print{ .popylni{ background:none; border:1px solid currentColor; } }

/* Забележка / предупреждение в текста */
.pravno .kuka{ margin:1.5rem 0; }

/* --------------------------------------------------------------------------
   Банер за бисквитките — показва се, докато няма избор
   -------------------------------------------------------------------------- */
.biskvitki{
  position:fixed; z-index:80;
  left:clamp(.75rem,.5rem + 1vw,1.5rem);
  right:clamp(.75rem,.5rem + 1vw,1.5rem);
  bottom:clamp(.75rem,.5rem + 1vw,1.5rem);
  max-width:640px;
  padding:clamp(1.15rem,.9rem + 1vw,1.6rem);
  background:var(--mastilo); color:var(--text-obratno);
  border-radius:var(--r-lg);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.7);
  transform:translateY(120%);
  transition:transform .5s cubic-bezier(.16,.84,.28,1);
}
.biskvitki[data-vidim="1"]{ transform:translateY(0); }
.biskvitki__glava{
  margin:0 0 .5rem;
  font-family:var(--font-akcent);
  font-size:1rem; font-weight:500; color:var(--text-obratno);
}
.biskvitki p{
  margin:0 0 1.1rem;
  font-size:var(--fs-malak); font-weight:300; line-height:1.7;
  color:rgba(244,240,234,.76);
}
.biskvitki a{ color:var(--oranj); }
/* Трите категории в банера */
.biskvitki__vidove{
  display:grid; gap:.1rem;
  margin:.9rem 0 1.1rem;
  padding:.25rem 0;
  border-top:1px solid rgba(244,240,234,.14);
  border-bottom:1px solid rgba(244,240,234,.14);
}
.biskvitki__vid{
  display:grid; grid-template-columns:auto 1fr; align-items:start; gap:.65rem;
  padding:.5rem .1rem;
  font-size:.82rem; line-height:1.5;
  color:rgba(244,240,234,.72);
  cursor:pointer;
}
.biskvitki__vid b{ display:block; color:var(--text-obratno); font-weight:500; }
.biskvitki__vid input{
  appearance:none; -webkit-appearance:none;
  width:1.05rem; height:1.05rem; margin:.15rem 0 0;
  border:1.5px solid rgba(244,240,234,.42); border-radius:3px;
  background:transparent; cursor:pointer;
  display:grid; place-content:center;
  transition:background .18s ease, border-color .18s ease;
}
.biskvitki__vid input::after{
  content:''; width:.55rem; height:.3rem;
  border-left:2px solid var(--mastilo); border-bottom:2px solid var(--mastilo);
  transform:rotate(-45deg) scale(0); transform-origin:center;
  transition:transform .18s ease;
}
.biskvitki__vid input:checked{ background:var(--oranj); border-color:var(--oranj); }
.biskvitki__vid input:checked::after{ transform:rotate(-45deg) scale(1); }
.biskvitki__vid input:focus-visible{ outline:2px solid var(--oranj); outline-offset:2px; }
/* Необходимите са винаги включени — да личи, че не е избор.
   :checked:disabled бие :checked по специфичност, иначе става оранжево. */
.biskvitki__vid--zakl{ cursor:default; }
.biskvitki__vid--zakl span b{ color:rgba(244,240,234,.62); }
.biskvitki__vid input:checked:disabled{
  cursor:default;
  background:rgba(244,240,234,.34);
  border-color:transparent;
}
.biskvitki__vid input:checked:disabled::after{ border-color:rgba(23,20,15,.65); }

.biskvitki__redica{ display:flex; flex-wrap:wrap; gap:.65rem; }
.biskvitki__redica .btn{ flex:1 1 auto; min-width:140px; justify-content:center; }
@media (min-width:560px){ .biskvitki__redica .btn{ flex:0 0 auto; } }
@media (max-width:700px){
  .biskvitki{ bottom:calc(var(--h-dolna) + .75rem); }
}


/* ==========================================================================
   НАЧАЛНА СТРАНИЦА НА ТЕЛЕФОН
   Текстът и бутоните се центрират, снимките се смаляват и подреждат,
   анимациите и лупата отпадат — на малък екран само пречеха.
   ========================================================================== */
@media (max-width:640px){

  /* — текст и бутони в средата, не залепени вляво — */
  .implanti .glava-sekcia,
  .snimki .glava-sekcia,
  .klinika .glava-sekcia,
  .digitalno__tekst,
  .implanti__tekst,
  .implanti__pod,
  .snimki__vod,
  .raznica,
  .klinika__vod{ text-align:center; }

  .digitalno__tekst p,
  .implanti__tekst p,
  .implanti__chesten,
  .snimki__vod{ margin-inline:auto; }

  .implanti__deistvia,
  .hero__deistvia,
  .implanti__vrazka{ justify-content:center; }
  .implanti__deistvia{ display:flex; flex-wrap:wrap; }

  /* редовете с числа и списъците остават отляво — четат се по-добре */
  .sravnenie,
  .sravnenie__red,
  .spisak-3d,
  .spisak-3d li,
  .kuka{ text-align:left; }
  .raznica .etiket{ text-align:center; }

  /* — „Скенер вместо отпечатък“: снимката под текста — */
  .digitalno__red{ display:flex; flex-direction:column; }
  .digitalno__tekst{ order:1; }
  .digitalno__foto{ order:2; margin-top:1.25rem; }
  .digitalno__foto{ aspect-ratio:auto; }
  .digitalno__foto img{ height:auto; max-height:52vh; object-fit:contain; }
  .digitalno__foto:hover img{ transform:none; }

  /* — рентгеновата секция: апаратурата под заглавието, не накрая — */
  .snimki .obvivka{ display:flex; flex-direction:column; }
  .snimki__vrah{ order:1; }
  .snimki__pod{ order:2; margin-top:1.75rem; padding-top:1.5rem; }
  .aparatura{ order:3; }

  /* — снимките на рентгена: по-малки и подредени, без наклони — */
  .snimki .aparatura{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:.6rem;
    margin-top:1.6rem;
  }
  .snimki .aparatura__kadyr:nth-child(n){
    grid-column:auto; grid-row:auto;
    aspect-ratio:1;
    --nakl:0deg; --pod:0px;
    transform:none;
  }
  .snimki .aparatura__kadyr img{ transform:none; }

  /* — клиниката: спокойна решетка, без движение — */
  .klinika .galeria{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:.6rem;
  }
  .klinika .galeria__kadyr:nth-child(n){
    grid-column:auto; grid-row:auto;
    aspect-ratio:1;
    transform:none;
  }
  .klinika .galeria__kadyr img{ transform:none; }
  /* нечетен брой — последната заема двете колони, за да няма дупка */
  .klinika .galeria__kadyr:last-child:nth-child(odd){
    grid-column:span 2; aspect-ratio:16/10;
  }
  .snimki .aparatura__kadyr:last-child:nth-child(odd){
    grid-column:span 2; aspect-ratio:16/10;
  }

  /* — без изплуване и без хвърчащи заглавия на телефон — */
  .aparatura__kadyr.izplava,
  .galeria__kadyr.izplava{ opacity:1 !important; transform:none !important; }
  .aparatura__kadyr,
  .galeria__kadyr{ transition:none; }
  .aparatura__kadyr:hover,
  .galeria__kadyr:hover{ transform:none; box-shadow:none; }
  .aparatura__kadyr:hover img,
  .galeria__kadyr:hover img{ transform:none; }

  /* рентгеновите не се отварят в лупа — само пречеше при скрол */
  .snimki .aparatura__kadyr{ cursor:default; }
}


/* ==========================================================================
   ЦЕЛИЯТ САЙТ НА ТЕЛЕФОН — центриране и подредба
   ========================================================================== */
@media (max-width:640px){

  /* — първият екран е цял екран — */
  /* Цял екран, но подредбата на текста е както беше — отляво, долу. */
  .hero{
    min-height:100svh;
    align-items:center;
    /* долното поле вдига текста малко над средата на екрана */
    padding-bottom:calc(var(--h-dolna) + 1.5rem + 14vh);
  }

  /* — заглавията вече не бягат настрани, значи ги центрираме — */
  .zaglavie-begashto{ justify-items:center; text-align:center; }
  .zb__red{ white-space:normal; }

  /* — общо центриране на текста по всички страници — */
  .glava-sekcia,
  .pokana__tekst,
  .lekar__uvod,
  .uslugi-sekcia .glava-sekcia,
  .kontakt,
  .kontakt__glava,
  .kontakt-lenta,
  .panel,
  .panel__red,
  .za__tekst,
  .digitalno__tekst,
  .implanti__tekst,
  .implanti__pod,
  .snimki__vod,
  .raznica,
  .klinika__vod{ text-align:center; }

  .kontakt__glava{ justify-content:center; }
  /* justify-self:start от основното правило го държеше вляво */
  .kontakt__stoinost{ justify-self:center; text-align:center; }
  .kontakt__chasove,
  .kontakt__chasove > *{ justify-content:center; text-align:center; }
  /* Панелът с адреса и часовете и заглавието на екипа се четат
     по-добре отляво — центрирани изглеждаха разпилени. */
  .panel,
  .panel h3,
  .panel__red,
  .panel__red span{ text-align:left; }
  .panel__btni{ justify-content:flex-start; }
  .ekip .glava-sekcia,
  .ekip .glava-sekcia h2,
  .ekip .glava-sekcia p,
  .ekip__vod{ margin-inline:0; text-align:left; }
  .ekip h2{ max-width:none; }
  .glava-sekcia p:not(.etiket){ margin-inline:auto; }
  /* блокът е по-тесен от обвивката и залепваше вляво —
     затова центрирането на текста не си личеше */
  .glava-sekcia{ margin-inline:auto; }
  .glava-sekcia h1, .glava-sekcia h2, .glava-sekcia h3{ margin-inline:auto; }
  .glava-sekcia .zaglavie-begashto{ width:100%; justify-self:center; }

  /* „Заповядай при нас.“ */
  .pokana__tekst h2,
  .pokana__tekst h3,
  .pokana__tekst p{ margin-inline:auto; }

  /* „Какво казват пациентите.“ */
  /* флекс редът беше space-between и оценката оставаше вляво */
  .otzivi__glava{
    flex-direction:column; align-items:center; justify-content:center;
    text-align:center;
  }
  .otzivi__glava > *{ width:100%; }
  .otzivi__glava .ocenka,
  .otzivi__deistvia{ justify-content:center; }

  /* „Работим със здравна каса.“ — блокът не е .glava-sekcia
     и затова общото центриране го подминаваше */
  .nzok .obvivka > div:first-child{ text-align:center; }
  .nzok .obvivka > div:first-child h2,
  .nzok__vod{ margin-inline:auto; }
  .nzok__deistvia{ justify-content:center; display:flex; flex-wrap:wrap; }
  .nzok__karta p{ text-align:left; }

  /* „Къде се намираме.“ — водещият текст не е .glava-sekcia
     и общото центриране го подминаваше */
  .kydeto__vod{ text-align:center; margin-inline:auto; }
  .kydeto__pod{ display:flex; justify-content:center; }

  /* В подножието текстът си остава отляво — само логото е в средата. */
  .podnojie__logo{ text-align:center; }
  .podnojie__logo img{ margin-inline:auto; }
  .final__fakti{ justify-content:center; }
  .vrah-stranica .glava-sekcia,
  .vrah-stranica .glava-sekcia p:not(.etiket){ text-align:left; margin-inline:0; }

  /* контакти и „работа при нас“ остават центрирани и отгоре */
  .vrah-stranica--sredno .obvivka,
  .vrah-stranica--sredno .patechka{ text-align:center; }
  .vrah-stranica--sredno .patechka,
  .vrah-stranica--sredno .hero__deistvia{ justify-content:center; }
  .vrah-stranica--sredno .vrah-stranica__vod,
  .vrah-stranica--sredno .vrah-stranica__dop{ margin-inline:auto; }

  .pokana__deistvia,
  .implanti__deistvia,
  .orientiri__deistvia,
  .reiting__deistvia,
  .final__deistvia{ justify-content:center; }

  /* изключения — четат се по-добре отляво */
  .pravno,
  .pravno__sydyrjanie,
  .vypros,
  .tema, .paket, .vid, .stypka,
  .u-red, .spisak-edro, .spisak-edro li,
  .sravnenie, .sravnenie__red, .spisak-3d, .spisak-3d li,
  .kuka{ text-align:left; }
  .raznica .etiket{ text-align:center; }
  .karta-info{ text-align:left; }

  /* ИМПЛАНТИ — картите се центрират, а едрото число застава над
     заглавието вместо в ъгъла. В ъгъла на 390px то се режеше. */
  .oferta{ text-align:center; justify-items:center; }
  .oferta .chipove{ justify-content:center; }
  .oferta__broika{
    position:static; top:auto; right:auto;
    font-size:3.3rem;
    margin:-.5rem auto -.7rem;
    opacity:.24;
  }
  .oferta:hover .oferta__broika{ transform:none; }

  /* ОЦЕНКАТА — едрото число застава над звездите, всичко в средата.
     Един до друг двете половини изглеждаха избутани встрани. */
  .ocenka{ flex-direction:column; gap:.3rem; text-align:center; }
  .ocenka > span{ display:block; }
  .ocenka .zvezdi{ display:flex; justify-content:center; }
  .ocenka__broi{ margin-top:.2rem; }

  /* Бутонът под формата за съобщение — в средата, като заглавието.
     Само в „Контакти“: в „Търсиш си работа“ центражът си остава както е. */
  .vryzka .forma .btn{ justify-self:center; }

}


/* ==========================================================================
   ЛЕПКАВИ СНИМКИ НА ТЕЛЕФОН
   Снимката остава горе, докато списъкът или текстът минава под нея.
   ========================================================================== */
@media (max-width:900px){
  /* услуги — кръгът стои, редовете се плъзгат
     (флекс, а не блок — иначе order:-1 не важи и кръгът пада най-долу) */
  /* align-items:start от основното правило свива редовете —
     в колонен флекс той управлява ширината, не височината */
  .dve-strani{ display:flex; flex-direction:column; align-items:stretch; }
  .strana-spisyk{ order:1; }
  .strana-foto{
    order:-1;
    position:sticky; top:var(--h-glava); z-index:3;
    display:flex; justify-content:center;
    padding-block:.5rem 1.15rem;
    margin-bottom:.4rem;
    background:var(--mastilo);
    box-shadow:0 18px 16px -10px var(--mastilo), 0 0 0 20px var(--mastilo);
    clip-path:inset(0 -20px -34px -20px);
  }
  .strana-foto__lepkava{ position:static; top:auto; background:none; padding:0; }

  /* екип — портретът стои, докато тече целият разказ за лекаря.
     display:contents маха обвивката, за да стане .obvivka контейнер
     на лепкавия портрет — иначе той се откача след два абзаца. */
  .lekar__vrah{ display:contents; }
  .lekar__uvod{ margin-bottom:1.4rem; }
  /* Лепкав е целият блок с портрета и подписа — иначе подписът
     се отлепва от снимката и остава да се скролва сам. */
  .lekar__lice{
    position:sticky; top:calc(var(--h-glava) + .5rem); z-index:2;
    margin:0 auto 1.1rem;
  }
  .lekar__portret{
    max-width:min(52vw,200px);
    margin:0 auto;
    aspect-ratio:4/5;
    overflow:visible;
    background:none; box-shadow:none;
  }
  .lekar__portret img{ border-radius:var(--r-lg); box-shadow:0 20px 40px -26px rgba(0,0,0,.65); }
  .lekar__portret:hover img{ transform:none; }
  .lekar__podpis{ margin:.7rem auto 0; max-width:none; }
  /* лента в цвета на секцията — текстът минава под блока, не през него */
  .lekar__lice::after{
    content:''; position:absolute; z-index:-1;
    left:50%; transform:translateX(-50%);
    top:-.7rem; bottom:-.9rem; width:100vw;
    background:var(--lekar-fon, var(--osnova));
  }
  .lekar.sekcia--mastilo{ --lekar-fon:var(--mastilo); }
  .lekar.sekcia--vtori{ --lekar-fon:var(--vtori); }
}


/* ==========================================================================
   ПАНЕЛЧЕТО „ВСИЧКИ УСЛУГИ" НА ТЕЛЕФОН
   Същият списък като на десктоп, за да се сменя услуга без връщане в менюто.
   Езичето е долу вляво, над лентата с бутоните; панелът излиза отстрани.
   ========================================================================== */
@media (max-width:1199px){
  .strana-uslugi{
    display:block;
    top:auto; bottom:calc(var(--h-dolna) + .9rem);
    transform:none;
    z-index:55;
  }
  .strana-uslugi__tab{
    writing-mode:horizontal-tb;
    padding:.6rem .95rem .6rem .8rem;
    border-radius:0 999px 999px 0;
    font-size:.62rem; letter-spacing:.14em;
    box-shadow:inset 3px 0 0 var(--oranj), 0 12px 28px -10px rgba(0,0,0,.6);
  }
  .strana-uslugi__tab::before{
    content:'☰'; margin-right:.5rem; font-size:.8em; opacity:.8;
  }
  .strana-uslugi__tab:hover,
  .strana-uslugi__tab:focus-visible{ padding-inline:.8rem .95rem; }

  .strana-uslugi__panel{
    position:fixed;
    left:.6rem; right:.6rem; top:auto;
    bottom:calc(var(--h-dolna) + 3.6rem);
    width:auto;
    max-height:min(62vh, 430px);
    margin-left:0;
    transform:translateY(14px);
    box-shadow:0 -10px 50px -18px rgba(23,20,15,.6);
  }
  .strana-uslugi:hover .strana-uslugi__panel,
  .strana-uslugi:focus-within .strana-uslugi__panel,
  .strana-uslugi[data-otvoren="1"] .strana-uslugi__panel{ transform:translateY(0); }
  /* мостът за мишката не трябва да лови докосвания на телефон */
  .strana-uslugi__panel::before{ display:none; }

  .strana-uslugi__panel{
    columns:2; column-gap:1rem;
    padding:.9rem 1rem 1rem;
  }
  .strana-uslugi__grupa{ break-inside:avoid; margin-top:0; }
  .strana-uslugi__grupa + .strana-uslugi__grupa{ margin-top:.75rem; }
  .strana-uslugi__panel a{ padding:.26rem 0; font-size:.82rem; }
  .strana-uslugi__vsichki{ column-span:all; text-align:center; }
}

/* На телефон само с докосване — без отваряне при „hover", което
   на тъч екран залепва след първото докосване. */
@media (hover:none){
  .strana-uslugi:hover .strana-uslugi__panel{ opacity:0; pointer-events:none; }
  .strana-uslugi[data-otvoren="1"] .strana-uslugi__panel{ opacity:1; pointer-events:auto; }
}


/* ==========================================================================
   СТРАНИЦА „ЗАПАЗИ ЧАС" — четири стъпки на една страница
   Едно платно, център, без странична колона: при записване всичко
   встрани е разсейване. Един и същ вид на компютър и на телефон —
   мени се само ширината, не подредбата.
   ========================================================================== */
.zap{
  --zap-r:16px;                  /* по-заоблено от сайта, само тук          */
  --zap-lenta-h:74px;            /* височина на долната лента               */
  /* по-малко въздух отгоре: първият екран трябва да побере и избора */
  padding-top:calc(var(--sekcia-y) * .62);
  padding-bottom:calc(var(--zap-lenta-h) + 2rem);
}
.zap .obvivka{ max-width:820px; }

.zap__vrah{ display:grid; gap:.45rem; }
.zap__vrah h1{
  font-family:var(--font-akcent);
  font-size:clamp(1.55rem,1.05rem + 2vw,2.4rem);
  font-weight:600; line-height:1.08; letter-spacing:-.02em;
  margin:0;
}
.zap__vrah h1 .oranj{ color:var(--oranj); }
.zap__vod{
  max-width:54ch; margin:0;
  font-size:clamp(.9rem,.86rem + .18vw,1rem);
  font-weight:300; line-height:1.5;
  color:var(--text-mek);
}

/* --- ЗЪБНАТА ДЪГА ---------------------------------------------------------
   Зъбите са ЕДНА крива с дебел кръгъл накъсан щрих — така всяко „зъбче"
   е точка на кривата и не се налага да се рисуват 20 отделни форми.
   Оранжевата следа е същата крива, скъсена през stroke-dashoffset. */
.zap-duga{
  position:relative;
  margin-top:clamp(.65rem,.5rem + .8vw,1.2rem);
}
.zap-duga__svg{ display:block; width:100%; height:auto; overflow:visible; }
.zap-duga__zybi{
  stroke:var(--pyasak); stroke-width:46; stroke-linecap:round;
  stroke-dasharray:1 41; opacity:.6;
}
.zap-duga__sled{
  stroke:var(--oranj); stroke-width:4.4; stroke-linecap:round;
  stroke-dasharray:806;
  stroke-dashoffset:var(--sled,492);   /* 805 − изминатото               */
  transition:stroke-dashoffset .7s cubic-bezier(.3,.5,.28,1);
}
.zap-duga__vyzel{
  fill:var(--osnova); stroke:var(--pyasak); stroke-width:2.6;
  transition:fill .35s ease, stroke .35s ease;
}
.zap-duga__cifra{
  font-family:var(--font-akcent); font-size:30px; font-weight:600;
  fill:var(--text-mek); text-anchor:middle; dominant-baseline:central;
  transition:fill .35s ease;
}
.zap-duga__vyzel.mina,
.zap-duga__vyzel.sega{ fill:var(--oranj); stroke:var(--oranj); }
.zap-duga__cifra.mina,
.zap-duga__cifra.sega{ fill:#FFF6EF; }
/* халото се мести под текущия възел от скрипта */
.zap-duga__halo{
  fill:none; stroke:var(--oranj); stroke-width:2.6; opacity:.32;
  transition:cx .7s cubic-bezier(.3,.5,.28,1), cy .7s cubic-bezier(.3,.5,.28,1);
}

.zap-duga__nadpisi{
  position:relative; height:1.4em;
  margin-top:.1rem;
  font-size:.66rem; font-weight:500; letter-spacing:.12em;
  text-transform:uppercase; color:var(--text-mek);
}
.zap-duga__nadpis{
  position:absolute; top:0; left:calc(var(--x,0) * 1%);
  transform:translateX(-50%);
  white-space:nowrap;
  transition:color .35s ease;
}
.zap-duga__nadpis:first-child{ left:0; transform:none; }
.zap-duga__nadpis:last-child{ left:auto; right:0; transform:none; }
.zap-duga__nadpis.sega{ color:var(--text); font-weight:600; }

/* --- ТРИТЕ ФАКТА ---------------------------------------------------------- */
.zap-fakti{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:clamp(.8rem,.65rem + .6vw,1.2rem);
  border:1px solid var(--kant); border-radius:var(--zap-r);
  background:var(--vtori);
  overflow:hidden;
}
.zap-fakt{
  display:grid; gap:.3rem; align-content:center; justify-items:center;
  padding:.78rem .55rem; text-align:center;
}
.zap-fakt + .zap-fakt{ border-left:1px solid var(--kant); }
.zap-fakt b{
  font-size:.9rem; font-weight:600; line-height:1.28; color:var(--text);
}
.zap-fakt span{
  font-size:clamp(.58rem,.5rem + .3vw,.66rem);
  font-weight:400; letter-spacing:.11em;
  text-transform:uppercase; color:var(--text-mek);
  white-space:nowrap;
}

/* --- ЕКРАНИТЕ (стъпките) -------------------------------------------------- */
.zap-ekran{
  display:grid; gap:.85rem;
  margin-top:clamp(1.15rem,.9rem + 1vw,1.9rem);
}
.zap-ekran[hidden]{ display:none; }

.zap-glava{ display:grid; gap:.4rem; margin-bottom:.4rem; }
.zap-glava h2{
  font-family:var(--font-akcent);
  font-size:clamp(1.32rem,1.08rem + 1.1vw,1.85rem);
  font-weight:600; letter-spacing:-.015em; line-height:1.12;
  margin:0;
}
.zap-glava h3{
  font-family:var(--font-akcent);
  font-size:1.15rem; font-weight:500; margin:0;
}
.zap-glava p{
  margin:0; font-size:var(--fs-malak); font-weight:300; color:var(--text-mek);
}
.zap-glava--malka{ margin-top:1.6rem; }

/* Големият бутон — цяла ширина, изречение вместо главни букви,
   и меко оранжево сияние отдолу, за да е ясно кой е основният път. */
.zap-golqm{
  width:100%;
  padding:1.15rem 1.5rem;
  font-size:1.06rem; font-weight:600;
  letter-spacing:0; text-transform:none;
  box-shadow:0 14px 30px -14px rgba(226,102,31,.62);
}
.zap-golqm svg{ margin-left:.15rem; }

.zap-ili{
  display:flex; align-items:center; gap:1rem;
  margin:.55rem 0;
  font-size:.7rem; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:var(--text-mek);
}
.zap-ili::before,
.zap-ili::after{ content:''; flex:1; height:1px; background:var(--kant); }

/* --- КАРТА С ИЗБОР -------------------------------------------------------- */
.zap-izbor{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:1rem;
  width:100%;
  padding:1.05rem 1.15rem;
  border:1px solid var(--kant); border-radius:var(--zap-r);
  background:var(--osnova);
  font-family:inherit; text-align:left; cursor:pointer;
  transition:border-color .3s ease, background-color .3s ease, transform .3s cubic-bezier(.16,.84,.28,1);
}
.zap-izbor:hover,
.zap-izbor:focus-visible{
  border-color:rgba(226,102,31,.5);
  background:rgba(226,102,31,.035);
  outline:none;
}
.zap-izbor:active{ transform:scale(.995); }
.zap-izbor__ikona{
  display:grid; place-items:center;
  width:52px; height:52px;
  border-radius:14px;
  background:rgba(226,102,31,.1);
  color:var(--oranj);
}
.zap-izbor__telo{ display:grid; gap:.22rem; }
.zap-izbor__telo b{ font-size:1.04rem; font-weight:600; color:var(--text); }
.zap-izbor__telo span{
  font-size:var(--fs-malak); font-weight:300; line-height:1.5; color:var(--text-mek);
}
.zap-izbor__strelka{ color:var(--oranj); flex:none; }

/* --- КУТИЯТА С ТЕЛЕФОНА --------------------------------------------------- */
.zap-tel{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1rem;
  margin-top:.7rem;
  padding:1.1rem 1.25rem;
  border:1px dashed var(--pyasak); border-radius:var(--zap-r);
  background:rgba(226,102,31,.04);
}
.zap-tel__vypros{ margin:0 0 .2rem; font-size:var(--fs-malak); font-weight:300; color:var(--text-mek); }
.zap-tel__nomer{
  margin:0;
  font-family:var(--font-akcent);
  font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem);
  font-weight:600; letter-spacing:-.01em;
}

/* --- ПЛОЧКИ ЗА ИЗБОР (услуга, лекар) ------------------------------------- */
.zap-mreja{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem;
}
.zap-lekari{ display:grid; gap:.7rem; }
.zap-plochka{
  position:relative;
  display:grid; gap:.25rem; align-content:start;
  padding:.95rem 1.05rem;
  border:1px solid var(--kant); border-radius:var(--zap-r);
  background:var(--osnova);
  font-family:inherit; text-align:left; cursor:pointer;
  transition:border-color .28s ease, background-color .28s ease;
}
.zap-plochka b{ font-size:.98rem; font-weight:600; line-height:1.3; color:var(--text); }
.zap-plochka span{
  font-size:.8rem; font-weight:300; line-height:1.45; color:var(--text-mek);
}
.zap-plochka:hover{ border-color:rgba(226,102,31,.45); }
.zap-plochka[aria-pressed="true"]{
  border-color:var(--oranj);
  background:rgba(226,102,31,.07);
  box-shadow:inset 0 0 0 1px var(--oranj);
}
.zap-plochka--vodeshta{ grid-column:1 / -1; background:var(--vtori); }
.zap-plochka--redena{
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:'ime pod';
  align-items:center; gap:.2rem 1rem;
}
.zap-plochka--redena b{ grid-area:ime; }
.zap-plochka--redena span{ grid-area:pod; text-align:right; }

/* --- ДНИ И ЧАСОВЕ --------------------------------------------------------- */
.zap-dni{
  display:flex; gap:.5rem;
  overflow-x:auto; overscroll-behavior-x:contain;
  padding-bottom:.5rem;
  scrollbar-width:thin;
  /* краищата се размиват, за да е ясно, че лентата продължава */
  mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);
}
.zap-den{
  flex:none;
  display:grid; gap:.1rem; justify-items:center;
  min-width:64px; padding:.6rem .5rem;
  border:1px solid var(--kant); border-radius:var(--r-lg);
  background:var(--osnova);
  font-family:inherit; cursor:pointer;
  transition:border-color .25s ease, background-color .25s ease;
}
.zap-den em{
  font-style:normal; font-size:.64rem; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; color:var(--text-mek);
}
.zap-den b{ font-family:var(--font-akcent); font-size:1.02rem; font-weight:600; }
.zap-den i{ font-style:normal; font-size:.62rem; color:var(--text-mek); }
.zap-den:hover{ border-color:rgba(226,102,31,.45); }
.zap-den[aria-pressed="true"]{
  border-color:var(--oranj); background:var(--oranj); color:#FFF6EF;
}
.zap-den[aria-pressed="true"] em,
.zap-den[aria-pressed="true"] i{ color:rgba(255,246,239,.8); }

.zap-chasove{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(84px,1fr)); gap:.5rem;
  margin-top:.9rem;
}
.zap-chas{
  padding:.7rem .4rem;
  border:1px solid var(--kant); border-radius:var(--r-lg);
  background:var(--osnova);
  font-family:inherit; font-size:.94rem; font-weight:500;
  cursor:pointer;
  transition:border-color .22s ease, background-color .22s ease, color .22s ease;
}
.zap-chas:hover:not(:disabled){ border-color:rgba(226,102,31,.45); }
.zap-chas[aria-pressed="true"]{ border-color:var(--oranj); background:var(--oranj); color:#FFF6EF; }
.zap-chas:disabled{
  color:var(--text-mek); opacity:.4; cursor:default;
  text-decoration:line-through;
}
.zap-prazno{
  grid-column:1 / -1; margin:0;
  font-size:var(--fs-malak); font-weight:300; color:var(--text-mek);
}
.zap-bel{
  margin:.9rem 0 0;
  font-size:.82rem; font-weight:300; line-height:1.6; color:var(--text-mek);
}

/* --- ОБОБЩЕНИЕ НА ИЗБОРА -------------------------------------------------- */
.zap-obobshtenie{
  display:grid; gap:.55rem;
  padding:1.05rem 1.15rem;
  border:1px solid var(--kant); border-radius:var(--zap-r);
  background:var(--vtori);
}
.zap-obobshtenie div{
  display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:.9rem; align-items:baseline;
  font-size:var(--fs-malak);
}
.zap-obobshtenie dt,
.zap-obobshtenie div > span:first-child{
  font-size:.68rem; font-weight:500; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-mek);
  min-width:5.5rem;
}
.zap-obobshtenie div > span:last-child{ font-weight:500; color:var(--text); }

.zap-forma{ margin-top:1.4rem; }
.pole__dop{
  font-weight:300; letter-spacing:0; text-transform:none;
  color:var(--text-mek);
}

/* --- ГОТОВО --------------------------------------------------------------- */
.zap-gotovo{
  display:grid; gap:1rem; justify-items:start;
  padding:clamp(1.4rem,1rem + 1.4vw,2.2rem);
  border:1px solid rgba(226,102,31,.3); border-radius:var(--zap-r);
  background:rgba(226,102,31,.05);
}
.zap-gotovo__znak{
  display:grid; place-items:center;
  width:54px; height:54px; border-radius:50%;
  background:var(--oranj); color:#FFF6EF;
}
.zap-gotovo h2{
  font-family:var(--font-akcent);
  font-size:clamp(1.45rem,1.15rem + 1.2vw,1.95rem);
  font-weight:600; margin:0;
}
.zap-gotovo > p{
  max-width:52ch; margin:0;
  font-size:var(--fs-tekst); font-weight:300; line-height:1.7; color:var(--text-mek);
}
.zap-gotovo .zap-obobshtenie{ width:100%; background:var(--osnova); }
.zap-gotovo__deistvia{ display:flex; flex-wrap:wrap; gap:.6rem; }

/* --- ДОЛНАТА ЛЕНТА ------------------------------------------------------- */
.zap-lenta{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:rgba(250,248,245,.94);
  backdrop-filter:blur(10px);
  border-top:1px solid var(--kant);
  padding-bottom:env(safe-area-inset-bottom);
}
.zap-lenta__obvivka{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  max-width:820px; margin-inline:auto;
  padding:.85rem var(--polе);
  min-height:var(--zap-lenta-h);
}
.zap-lenta__stypka{ display:grid; gap:.1rem; min-width:0; }
.zap-lenta__stypka b,
.zap-lenta__stypka span{ white-space:nowrap; }
.zap-lenta__stypka b{
  font-size:.68rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--text);
}
.zap-lenta__stypka span{
  font-size:.66rem; font-weight:400; letter-spacing:.16em;
  text-transform:uppercase; color:var(--text-mek);
}
.zap-lenta__btni{ display:flex; gap:.5rem; flex:none; }
.zap-lenta .btn{
  padding:.85rem 1.35rem;
  font-size:.95rem; font-weight:600;
  letter-spacing:0; text-transform:none;
}
.zap-lenta .btn[disabled]{ opacity:.4; pointer-events:none; }
/* [hidden] губи от display:inline-flex на .btn — затова е изрично */
.zap [hidden]{ display:none !important; }
.zap-nazad{ padding-inline:1.05rem; }

/* Мобилната лента „Обади се / Запази час" тук е излишна —
   долната лента на стъпките заема същото място. */
body:has(.zap) .mobilna{ display:none !important; }

/* Страницата няма тъмен hero, а главата и горната лента са писани
   за такъв: светъл текст върху прозрачен фон. Върху топло бялото
   те изчезваха. Затова тук главата е плътна от самото начало. */
body:has(.zap) .lenta{ color:var(--text-mek); }
body:has(.zap) .lenta__rabotno{ color:var(--text-mek); }
body:has(.zap) .glava{
  background:rgba(250,248,245,.92);
  backdrop-filter:blur(12px);
  border-bottom-color:var(--kant);
}
body:has(.zap) .glava:not(.plutna) .logo,
body:has(.zap) .glava:not(.plutna) .navigacia a,
body:has(.zap) .glava:not(.plutna) .glava__tel,
body:has(.zap) .glava:not(.plutna) .menu-btn,
body:has(.zap) .glava:not(.plutna) .menu-grupa__btn{ color:var(--text); }
body:has(.zap) .glava:not(.plutna) .logo__pod{ color:var(--text-mek); }
body:has(.zap) .glava:not(.plutna) .logo__znak{ filter:none; }
body:has(.zap) .glava:not(.plutna) .btn--mastilo{
  background:var(--mastilo); border-color:var(--mastilo); backdrop-filter:none;
}

@media (max-width:560px){
  .zap-fakt b{ font-size:.88rem; }
  .zap-mreja{ grid-template-columns:minmax(0,1fr); }
  .zap-izbor{ grid-template-columns:auto minmax(0,1fr); gap:.85rem; padding:.95rem 1rem; }
  .zap-izbor__strelka{ display:none; }
  .zap-izbor__ikona{ width:46px; height:46px; border-radius:12px; }
  .zap-tel{ padding:1rem; gap:.7rem; }
  .zap-tel .btn{ padding-inline:1rem; font-size:.72rem; }
  .zap-plochka--redena{ grid-template-columns:minmax(0,1fr); grid-template-areas:'ime' 'pod'; }
  .zap-plochka--redena span{ text-align:left; }
  .zap-izbor__telo b{ font-size:1rem; }
  .zap-chasove{ grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); }
}

/* На тесен екран надписът за стъпката и бутоните се блъскаха —
   бутоните се стесняват, а „Назад" остава само стрелка. */
@media (max-width:430px){
  .zap-lenta__obvivka{ gap:.6rem; padding-inline:1rem; }
  .zap-lenta .btn{ padding:.8rem 1.05rem; font-size:.9rem; }
  .zap-nazad{ padding-inline:.85rem; }
  .zap-nazad span{
    position:absolute; width:1px; height:1px; overflow:hidden;
    clip-path:inset(50%); white-space:nowrap;
  }
}

@media (prefers-reduced-motion:reduce){
  .zap-duga__sled,
  .zap-duga__halo{ transition:none; }
}


/* ==========================================================================
   БУТОН „ОРИЕНТИРАЙ СЕ ПО ПЪТЯ" — по-едър от обикновен бутон,
   защото зад него стои цяла страница със снимки, а не едно действие.
   ========================================================================== */
.btn-orientir{
  display:inline-grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:.9rem;
  max-width:420px;
  padding:.8rem 1.05rem;
  border:1px solid var(--kant); border-radius:999px;
  background:var(--osnova);
  text-decoration:none; color:var(--text);
  transition:border-color .3s ease, background-color .3s ease, transform .35s cubic-bezier(.16,.84,.28,1);
}
.btn-orientir:hover,
.btn-orientir:focus-visible{
  border-color:rgba(226,102,31,.55);
  background:rgba(226,102,31,.05);
  transform:translateY(-2px);
  outline:none;
}
.btn-orientir__ikona{
  display:grid; place-items:center;
  width:40px; height:40px;
  border-radius:50%;
  background:rgba(226,102,31,.12);
  color:var(--oranj);
}
.btn-orientir__telo{ display:grid; gap:.1rem; min-width:0; text-align:left; }
.btn-orientir__telo b{ font-size:.96rem; font-weight:600; line-height:1.3; }
.btn-orientir__telo span{
  font-size:.78rem; font-weight:300; line-height:1.4; color:var(--text-mek);
}
.btn-orientir__strelka{ color:var(--oranj); flex:none; }

/* върху тъмната снимка в „Заповядай при нас" */
.btn-orientir--obratno{
  margin-top:.75rem;
  border-color:rgba(244,240,234,.28);
  background:rgba(23,20,15,.42);
  backdrop-filter:blur(8px);
  color:var(--text-obratno);
}
.btn-orientir--obratno:hover,
.btn-orientir--obratno:focus-visible{
  border-color:rgba(226,102,31,.7);
  background:rgba(23,20,15,.62);
}
.btn-orientir--obratno .btn-orientir__ikona{ background:rgba(226,102,31,.2); }
.btn-orientir--obratno .btn-orientir__telo span{ color:rgba(244,240,234,.7); }

.kydeto__pod{ margin-top:1.3rem; margin-bottom:.2rem; }

@media (max-width:560px){
  .btn-orientir{ width:100%; max-width:none; gap:.75rem; padding:.72rem .85rem; }
  .btn-orientir__ikona{ width:36px; height:36px; }
  .btn-orientir__telo b{ font-size:.9rem; }
  .btn-orientir__telo span{ font-size:.74rem; }
}


/* ==========================================================================
   ДОЛНАТА ЛЕНТА НА ТЕЛЕФОН — плаваща, не залепена за ръба.
   Оранжевото на цяла ширина беше твърде силно: лентата стои на екрана
   през цялото време и се състезаваше със съдържанието. Сега е тъмно
   стъкло, а оранжевото е само в стрелката — подсказва, не крещи.
   ========================================================================== */
.mobilna{
  /* display се решава по-горе: none по подразбиране, grid под 820px.
     Тук НЕ се пипа — иначе това правило (по-долу във файла) го скрива. */
  position:fixed; z-index:60;
  left:.7rem; right:.7rem;
  bottom:calc(.55rem + env(safe-area-inset-bottom));
  grid-template-columns:auto minmax(0,1fr);
  align-items:center; gap:.35rem;
  padding:.32rem;
  border:1px solid rgba(244,240,234,.16);
  border-radius:999px;
  background:rgba(23,20,15,.86);
  backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 16px 34px -16px rgba(23,20,15,.72);
}
.mobilna a{
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  border-radius:999px;
  font-size:.82rem; font-weight:500; letter-spacing:.08em;
  text-transform:uppercase; text-decoration:none;
  transition:background-color .25s ease, color .25s ease;
}
.mobilna a:first-child{
  padding:.7rem 1rem;
  background:transparent;
  color:rgba(244,240,234,.9);
}
.mobilna a:first-child:active{ background:rgba(244,240,234,.1); }
.mobilna a:last-child{
  padding:.72rem 1.1rem;
  background:var(--osnova);
  color:var(--text);
  font-weight:600;
}
/* стрелката е единственото оранжево — колкото да се вижда кое е действието */
.mobilna a:last-child::after{
  content:'';
  width:15px; height:15px; flex:none;
  background:var(--oranj);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}


/* ==========================================================================
   БУТОН „НАГОРЕ" — появява се чак след като си слязъл достатъчно.
   Малък, в ъгъла, без надпис: работата му се разбира от стрелката.
   ========================================================================== */
.nagore{
  position:fixed; z-index:55;
  right:clamp(.9rem,2vw,1.5rem);
  bottom:clamp(1rem,2vw,1.6rem);
  display:grid; place-items:center;
  width:44px; height:44px;
  border:1px solid var(--kant); border-radius:50%;
  background:rgba(250,248,245,.86);
  backdrop-filter:blur(10px);
  color:var(--text);
  cursor:pointer;
  opacity:0; visibility:hidden; transform:translateY(10px) scale(.9);
  transition:opacity .3s ease, transform .35s cubic-bezier(.16,.84,.28,1),
             visibility .3s, background-color .25s ease, color .25s ease, border-color .25s ease;
  box-shadow:0 10px 24px -12px rgba(23,20,15,.5);
}
.nagore.vidim{ opacity:1; visibility:visible; transform:none; }
.nagore:hover,
.nagore:focus-visible{
  background:var(--mastilo); color:var(--text-obratno);
  border-color:var(--mastilo); outline:none;
}
/* на тъмните секции обръщаме цветовете, за да не се губи */
.nagore--tumen{
  background:rgba(23,20,15,.7);
  border-color:rgba(244,240,234,.2);
  color:var(--text-obratno);
}
.nagore--tumen:hover,
.nagore--tumen:focus-visible{ background:var(--oranj); border-color:var(--oranj); }

/* над долната лента, за да не се застъпват */
@media (max-width:820px){
  .nagore{ bottom:calc(var(--h-dolna) + .7rem); }
}
/* лентата със стъпките на „Запази час" е на всяка ширина */
body:has(.zap-lenta) .nagore{ bottom:calc(74px + .8rem); }
/* докато банерът за бисквитки е отворен, бутонът не се меси */
body:has(.biskvitki) .nagore{ opacity:0; visibility:hidden; }
@media (prefers-reduced-motion:reduce){
  .nagore{ transition:opacity .2s ease, visibility .2s; }
}


/* Вграденият „Продължи" в края на стъпка 2 и 3.
   Долната лента е закачена за ръба на екрана и на някои телефони
   (Safari с показана лента за адреса) остава под нея — тогава човекът
   няма как да продължи. Този бутон е част от страницата и винаги е там. */
.zap-napred{ margin-top:1.4rem; }
.zap-napred .zap-golqm:disabled{
  background:var(--vtori); color:var(--text-mek);
  border-color:var(--kant); box-shadow:none; cursor:default;
}
.zap-napred .zap-golqm:disabled svg{ opacity:.35; }
