/* ================================================================
   Artium Dental — редизайн по ТЗ (STAGING overrides). main.css не трогаем.
   ================================================================ */
/* --- ТЗ: хедер с меню закреплён при скролле (компактный) --- */
.header.is-fixed{
  position:fixed; top:0; left:0; right:0;
  z-index:1000;
  box-shadow:0 6px 22px rgba(30,45,70,.14);
  animation:adHeaderDown .28s ease;
}
.header.is-fixed .head-top{ display:none; }   /* прячем контактную строку, оставляем меню */
@keyframes adHeaderDown{ from{transform:translateY(-100%)} to{transform:translateY(0)} }

/* --- ТЗ: слайдер растянуть на весь экран (убираем ограничение 1920px) --- */
.section.m-started .slide-inner{ max-width:none !important; }

/* --- ТЗ: кнопки — понятные состояния наведения/нажатия --- */
.btn{ cursor:pointer; }
.btn:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(30,45,70,.18); }
.btn:active{ transform:translateY(0); box-shadow:0 3px 8px rgba(30,45,70,.16); }
.solid-btn:hover,.btn.solid-btn:hover{ opacity:1; filter:brightness(1.08); }

/* --- ТЗ: «Слово основателя» — кнопка записи --- */
.section.m-about .ad-about-cta{ margin-left:15px; }
@media (max-width:768px){ .section.m-about .ad-about-cta{ margin-left:0; margin-top:12px; } }

/* --- ТЗ: работы до/после — изначально ч/б, при наведении цвет --- */
.works img,.work-item img,.ba-item img,.before-after img,.cases img,.case-item img{
  filter:grayscale(1); transition:filter .35s ease;
}
.works img:hover,.work-item img:hover,.ba-item img:hover,.before-after img:hover,.cases img:hover,.case-item img:hover{
  filter:none;
}

/* --- Полировка под референсы: карточки «Виды услуг» --- */
.categories-item{ transition:transform .25s ease, box-shadow .25s ease; }
.categories-item:hover{ transform:translateY(-4px); box-shadow:0 12px 30px rgba(30,45,70,.12); }

/* Плавный скролл по якорям */
html{ scroll-behavior:smooth; }

/* ================================================================
   ТЗ: демо-блоки страницы услуги (Показания/Противопоказания, Этапы)
   Сгенерированный текст — черновик, до подтверждения врачом.
   ================================================================ */
.ad-svc-demo-badge{ padding:14px 0 0; background:#F7F8F9; }
.ad-svc-demo-badge .ad-badge{
  display:inline-block; padding:8px 18px; border-radius:100px;
  background:#FFF4DA; color:#8a6d1f; font-size:13px; font-weight:600;
}

.ad-svc-indications{ background:#F7F8F9; padding:70px 0; }
.ad-svc-indications .fw{ display:flex; gap:0; border-radius:6px; overflow:hidden; box-shadow:0 10px 34px rgba(30,45,70,.08); }
.ind-col{ flex:1; padding:50px 46px; }
.ind-pos{ background:#fff; }
.ind-neg{ background:#3E4B5C; color:#fff; }
.ind-dot{ width:44px; height:44px; border-radius:50%; margin-bottom:22px; position:relative; }
.ind-pos .ind-dot{ background:#E1C791; }
.ind-neg .ind-dot{ background:rgba(255,255,255,.18); }
.ind-dot:after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; background:#fff; }
.ind-h{ font-family:"Tenor Sans"; font-size:30px; margin-bottom:24px; }
.ind-row{ display:flex; gap:28px; flex-wrap:wrap; }
.ind-row ul{ list-style:none; padding:0; margin:0; flex:1; min-width:220px; }
.ind-row li{ font-weight:600; font-size:17px; padding:10px 0; border-bottom:1px solid rgba(62,75,92,.1); }
.ind-neg .ind-row li{ border-bottom-color:rgba(255,255,255,.15); }
.ind-row p{ flex:1.2; min-width:260px; font-size:15px; line-height:24px; color:#6b7280; margin:0; }
.ind-neg .ind-row p{ color:rgba(255,255,255,.72); }

.ad-svc-steps{ padding:80px 0; background:#fff; }
.ad-steps-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.ad-step{ background:#F7F8F9; border-radius:6px; padding:34px 32px; }
.ad-step-tag{ font-size:13px; letter-spacing:.5px; text-transform:uppercase; color:#E1C791; font-weight:700; margin-bottom:14px; }
.ad-step h4{ font-family:"Tenor Sans"; font-size:22px; color:#3E4B5C; margin:0 0 12px; font-weight:400; }
.ad-step p{ font-size:15px; line-height:24px; color:#6b7280; margin:0; }

@media (max-width:900px){
  .ad-svc-indications .fw{ flex-direction:column; }
  .ad-steps-grid{ grid-template-columns:1fr; }
}

/* --- ТЗ: якорная навигация по разделам страницы услуги --- */
.ad-anchor-nav{
  position:sticky; top:0; z-index:900;
  background:#fff; border-bottom:1px solid #ECEEF1;
  box-shadow:0 2px 10px rgba(30,45,70,.05);
}
.ad-anchor-nav.is-under-fixed-header{ top:0; }
.ad-anchor-nav .ad-anchor-inner{
  max-width:1200px; margin:0 auto; padding:0 20px;
  display:flex; gap:0; overflow-x:auto; -ms-overflow-style:none; scrollbar-width:none;
}
.ad-anchor-nav .ad-anchor-inner::-webkit-scrollbar{ display:none; }
.ad-anchor-nav a{
  flex:0 0 auto; padding:16px 18px; font-size:13px; letter-spacing:.5px;
  text-transform:uppercase; color:#8a94a3; text-decoration:none; white-space:nowrap;
  border-bottom:2px solid transparent; transition:color .2s ease,border-color .2s ease;
}
.ad-anchor-nav a + a{ border-left:1px solid #ECEEF1; }
.ad-anchor-nav a:hover, .ad-anchor-nav a.is-active{ color:#3E4B5C; border-bottom-color:#E1C791; }

/* --- ТЗ: достижения/резюме врача — функционал скрыть/показать --- */
.ad-collapsible{ position:relative; }
.ad-collapsible.is-collapsed{ max-height:420px; overflow:hidden; }
.ad-collapsible.is-collapsed:after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:90px;
  background:linear-gradient(rgba(255,255,255,0), #fff);
}
.ad-collapsible-toggle{
  display:inline-block; margin-top:16px; padding:12px 26px; cursor:pointer;
  border:1px solid #3E4B5C; color:#3E4B5C; font-size:14px; letter-spacing:.3px;
  background:#fff; transition:background .2s ease,color .2s ease;
}
.ad-collapsible-toggle:hover{ background:#3E4B5C; color:#fff; }

/* --- ТЗ: фильтр специалистов по специализации --- */
.ad-spec-filter{ margin-bottom:34px; display:flex; flex-wrap:wrap; gap:10px; }
.ad-spec-filter button{
  padding:10px 20px; border:1px solid #E1C791; background:#fff; color:#3E4B5C;
  font-size:14px; cursor:pointer; border-radius:100px; transition:all .2s ease;
}
.ad-spec-filter button.is-active,.ad-spec-filter button:hover{ background:#E1C791; color:#3E4B5C; }
.team-items [data-ad-spec]{ transition:opacity .2s ease; }
.team-items [data-ad-spec].ad-hidden{ display:none; }

/* ТЗ: на странице услуги берём только показания (без противопоказаний) */
.ad-svc-indications.ad-only-pos .fw{ display:block; }
.ad-svc-indications.ad-only-pos .ind-col{ padding:50px 46px; }

/* ТЗ: «Почему мы» — выровнять вёрстку (равные колонки по верху) */
.m-benefits .benefits-items,.m-benefits-2 .benefits-items{ display:flex; flex-wrap:wrap; align-items:stretch; }
.m-benefits .benefits-col,.m-benefits-2 .benefits-col{ display:flex; }

/* ТЗ: 1-й блок услуги — только клип контейнера, размер фото не трогаем */
.section.m-inner-started .h-image{ overflow:hidden; }

/* ТЗ: разводящая «Пациентам» — сетка разделов */
.ad-patients-nav{ padding:40px 0 70px; }
.ad-pnav-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ad-pnav-card{
  display:flex; flex-direction:column; justify-content:space-between; min-height:150px;
  padding:30px 32px; background:#F7F8F9; border-radius:6px; text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.ad-pnav-card:hover{ transform:translateY(-4px); box-shadow:0 14px 34px rgba(30,45,70,.12); background:#fff; }
.ad-pnav-t{ font-family:"Tenor Sans"; font-size:24px; color:#3E4B5C; }
.ad-pnav-a{ margin-top:22px; font-size:14px; color:#E1C791; letter-spacing:.5px; }
@media (max-width:900px){ .ad-pnav-grid{ grid-template-columns:1fr; } }

/* ТЗ: статья блога — навигация по якорям слева (липкая) */
.ad-blog-layout{ display:flex; gap:44px; align-items:flex-start; }
.ad-blog-layout .content-toc{
  flex:0 0 280px; position:sticky; top:90px; align-self:flex-start;
  background:#F7F8F9; border-radius:6px; padding:24px 26px; margin:0;
}
.ad-blog-layout .content-toc h2{ font-family:"Tenor Sans"; font-size:20px; color:#3E4B5C; margin:0 0 14px; }
.ad-blog-layout .content-toc ul{ list-style:none; margin:0; padding:0; }
.ad-blog-layout .content-toc li{ margin-bottom:10px; }
.ad-blog-layout .content-toc a{ color:#6b7280; text-decoration:none; font-size:15px; line-height:20px; border-left:2px solid transparent; padding-left:12px; display:block; transition:color .2s,border-color .2s; }
.ad-blog-layout .content-toc a:hover,.ad-blog-layout .content-toc a.is-active{ color:#3E4B5C; border-left-color:#E1C791; }
.ad-blog-layout .vakansii-items{ flex:1; min-width:0; }
@media (max-width:900px){ .ad-blog-layout{ display:block; } .ad-blog-layout .content-toc{ position:static; width:auto; margin-bottom:24px; } }

/* fix глюка залипания: фиксируем весь хедер с фоном, без скрытия верхней строки */
.header.is-fixed{ background:#3E4B5C !important; }
.header.is-fixed .head-top{ display:block !important; }

/* ТЗ Блок 3: работы до/после (тест) */
.ad-works{ padding:70px 0; background:#F7F8F9; }
.ad-note{ font-size:13px; color:#9aa2ae; margin-bottom:18px; }
.ad-works-filter{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
.ad-works-filter button{ padding:9px 20px; border:1px solid #E1C791; background:#fff; color:#3E4B5C; border-radius:100px; cursor:pointer; font-size:14px; transition:all .2s; }
.ad-works-filter button.is-active,.ad-works-filter button:hover{ background:#E1C791; }
.ad-works-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ad-work{ margin:0; background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 6px 20px rgba(30,45,70,.06); }
.ad-work.ad-hidden{ display:none; }
.ad-ba{ position:relative; height:190px; display:flex; filter:grayscale(1); transition:filter .35s ease; }
.ad-work:hover .ad-ba{ filter:none; }
.ad-ba-l{ flex:1; }
.ad-before{ background:linear-gradient(135deg,#c9d2dc,#aeb9c6); }
.ad-after{ background:linear-gradient(135deg,#8fb8e0,#5b8fc9); }
.ad-lbl{ position:absolute; bottom:10px; font-style:normal; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.35); padding:3px 10px; border-radius:100px; }
.ad-lbl-b{ left:10px; } .ad-lbl-a{ right:10px; }
.ad-work figcaption{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; gap:8px; }
.ad-doc{ display:flex; align-items:center; gap:8px; font-size:13px; color:#3E4B5C; }
.ad-av{ width:30px; height:30px; border-radius:50%; background:#3E4B5C; color:#fff; font-size:11px; display:flex; align-items:center; justify-content:center; }
.ad-cat{ font-size:11px; color:#9aa2ae; }
@media (max-width:1000px){ .ad-works-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .ad-works-grid{ grid-template-columns:1fr; } }

/* ТЗ Блок 7: таблица цен */
.ad-svc-price{ padding:70px 0; }
.ad-price-table{ width:100%; border-collapse:collapse; margin-bottom:24px; }
.ad-price-table th{ text-align:left; padding:16px 20px; font-size:13px; letter-spacing:.5px; text-transform:uppercase; color:#9aa2ae; border-bottom:2px solid #ECEEF1; }
.ad-price-table th:last-child{ text-align:right; }
.ad-price-table td{ padding:16px 20px; border-bottom:1px solid #ECEEF1; font-size:16px; color:#3E4B5C; }
.ad-price-table td:last-child{ text-align:right; font-weight:600; white-space:nowrap; }
.ad-price-table tr:hover td{ background:#F7F8F9; }

/* ТЗ Блок 9: рассрочка 0% */
.ad-svc-rassrochka{ padding:20px 0 70px; }
.ad-rass-box{ display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
  background:linear-gradient(264deg,#3E4B5C,#525F70); color:#fff; border-radius:8px; padding:44px 46px; }
.ad-rass-h{ font-family:"Tenor Sans"; font-size:30px; margin-bottom:12px; }
.ad-rass-t{ font-size:15px; line-height:24px; color:rgba(255,255,255,.8); max-width:640px; }
.ad-rass-btn{ background:#E1C791 !important; color:#3E4B5C !important; border:none; }
@media (max-width:768px){ .ad-rass-box{ flex-direction:column; align-items:flex-start; padding:30px; } }

/* ТЗ Блок 1 врача: кнопка видео о враче */
.ad-video-btn{ display:inline-flex; align-items:center; gap:10px; margin-top:14px; color:#3E4B5C; text-decoration:none; font-size:15px; }
.ad-video-ic{ width:38px; height:38px; border-radius:50%; background:#E1C791; color:#3E4B5C; display:flex; align-items:center; justify-content:center; font-size:14px; transition:transform .25s ease; }
.ad-video-btn:hover .ad-video-ic{ transform:scale(1.12); }
/* ТЗ Блок 2 врача: с чем может помочь */
.ad-doc-problems{ padding:60px 0; background:#F7F8F9; }
.ad-prob-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.ad-prob{ display:flex; align-items:center; gap:16px; background:#fff; border-radius:6px; padding:22px 26px; font-size:16px; color:#3E4B5C; }
.ad-prob-ic{ font-family:"Tenor Sans"; font-size:22px; color:#E1C791; min-width:34px; }
@media (max-width:768px){ .ad-prob-grid{ grid-template-columns:1fr; } }

/* ТЗ статья: мета (дата+автор) */
.ad-article-meta{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin:18px 0 4px; }
.ad-art-date{ font-size:14px; color:#9aa2ae; }
.ad-art-author{ display:flex; align-items:center; gap:10px; font-size:14px; color:#3E4B5C; }
.ad-art-author .ad-av{ width:38px; height:38px; border-radius:50%; background:#3E4B5C; color:#fff; font-size:12px; display:flex; align-items:center; justify-content:center; }
.ad-art-aut-t em{ color:#9aa2ae; font-style:italic; font-size:12px; }
.ad-art-note{ font-size:11px; color:#c2c8d0; }

/* якоря: чтобы секция не пряталась под залипающим хедером при клике */
[id^="ad-sec-"], #makefeedback, .ad-works, .ad-svc-team, .ad-svc-price, .ad-svc-indications, .ad-svc-steps{ scroll-margin-top:210px; }
/* липкая якорная панель ниже фиксированного хедера */
.ad-anchor-nav{ top:0; }

/* поиск в шапке */
.ad-search-box{ display:inline-flex; margin-top:10px; }
.ad-search-box input{ border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.08); color:#fff; padding:6px 12px; border-radius:100px 0 0 100px; font-size:13px; outline:none; width:150px; }
.ad-search-box input::placeholder{ color:rgba(255,255,255,.6); }
.ad-search-box button{ border:none; background:#E1C791; color:#3E4B5C; padding:6px 14px; border-radius:0 100px 100px 0; cursor:pointer; }
/* результаты поиска */
.ad-search-sec{ padding:50px 0; }
.ad-sr{ padding:16px 0; border-bottom:1px solid #ECEEF1; }
.ad-sr a{ font-size:18px; color:#3E4B5C; text-decoration:none; font-family:"Tenor Sans"; }
.ad-sr a:hover{ color:#E1C791; }
.ad-sr p{ font-size:14px; color:#6b7280; margin-top:4px; }
.ad-sr-count{ font-size:13px; color:#9aa2ae; margin-bottom:20px; }

/* акция: блок описания */
.ad-akc-desc{ padding:20px 0 50px; }
.ad-akc-desc-text{ font-size:17px; line-height:28px; color:#3E4B5C; }

/* ТЗ #3: слайдер врачей */
.ad-team-sl-wrap{ position:relative; }
.ad-team-slider{ display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:20px; padding-bottom:10px; -ms-overflow-style:none; scrollbar-width:none; }
.ad-team-slider::-webkit-scrollbar{ display:none; }
.ad-team-slider > *{ flex:0 0 300px !important; width:300px !important; scroll-snap-align:start; margin:0 !important; }
.ad-sl-arrow{ position:absolute; top:38%; z-index:5; width:46px; height:46px; border-radius:50%; border:none; background:#3E4B5C; color:#fff; font-size:22px; cursor:pointer; box-shadow:0 6px 18px rgba(30,45,70,.2); }
.ad-sl-arrow:hover{ background:#E1C791; color:#3E4B5C; }
.ad-sl-prev{ left:-12px; } .ad-sl-next{ right:-12px; }
/* ТЗ #4: мессенджеры в блоке записи */
.ad-msgr{ display:flex; align-items:center; gap:12px; margin-top:20px; flex-wrap:wrap; }
.ad-msgr span{ color:rgba(255,255,255,.7); font-size:14px; }
.ad-msgr a{ display:inline-flex; align-items:center; padding:9px 20px; border-radius:100px; font-size:14px; text-decoration:none; color:#fff; }
.ad-msgr-wa{ background:#25D366; } .ad-msgr-tg{ background:#2AABEE; }
.ad-msgr a:hover{ opacity:.88; }

/* #6: выпадающее меню «Услуги» — шрифт как у остальных пунктов */
.header .main-menu .submenu-large li a{ font-family:"Proxima Nova",Arial,sans-serif !important; font-size:16px !important; line-height:22px !important; padding:12px 30px !important; }
.header .main-menu .submenu-large li ul li a{ font-size:15px !important; }

/* #3: чистый баннер акции */
.ad-akc-banner{ display:flex; gap:36px; align-items:center; border:1px solid #E1C791; border-radius:8px; overflow:hidden; padding:0; }
.ad-akc-img{ flex:0 0 46%; align-self:stretch; min-height:340px; background-size:cover; background-position:center; }
.ad-akc-info{ flex:1; padding:40px 44px 40px 0; }
.ad-akc-title{ font-family:"Tenor Sans"; font-size:34px; line-height:1.2; color:#3E4B5C; margin:0 0 16px; }
.ad-akc-term{ font-size:16px; color:#6b7280; margin-bottom:26px; }
.ad-akc-term span{ color:#9aa2ae; }
@media (max-width:768px){ .ad-akc-banner{ flex-direction:column; } .ad-akc-img{ flex:none; width:100%; } .ad-akc-info{ padding:24px; } }

/* #1: блок Статьи на главной */
.ad-home-articles{ padding:60px 0; }
.ad-articles-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ad-art-card{ display:flex; flex-direction:column; justify-content:space-between; min-height:150px; padding:28px 30px; background:#F7F8F9; border-radius:6px; text-decoration:none; transition:transform .25s,box-shadow .25s; }
.ad-art-card:hover{ transform:translateY(-4px); box-shadow:0 12px 30px rgba(30,45,70,.12); }
.ad-art-t{ font-family:"Tenor Sans"; font-size:19px; color:#3E4B5C; line-height:1.3; }
.ad-art-more{ margin-top:18px; font-size:13px; color:#E1C791; letter-spacing:.5px; }
@media (max-width:900px){ .ad-articles-grid{ grid-template-columns:1fr; } }

/* ТЗ: два ряда хедера — единый цвет (без перестройки структуры) */
.header .head-top,
.header .head-bottom{ background:#3E4B5C !important; }

/* ТЗ: единый стиль выпадающих подменю (submenu-small как submenu-large) */
.header .main-menu .submenu-small{ background:#485667 !important; padding:0 !important; }
.header .main-menu .submenu-small li{ margin:0 !important; }
.header .main-menu .submenu-small li a{
  font-family:"Proxima Nova",Arial,sans-serif !important;
  font-size:16px !important; line-height:1.3 !important;
  padding:12px 30px !important; margin:0 !important;
  color:#fff !important; border-bottom:none !important;
  display:block !important;
}
.header .main-menu .submenu-small li:hover > a,
.header .main-menu .submenu-small li.active > a{
  color:#E1C791 !important; background:#526276 !important; border-bottom:none !important;
}

/* фикс: кнопки с классом call-btn вне хедера не должны float:right/фикс.размер — только для попапа записи */
.section .call-btn,
.ad-akc-info .call-btn,
.team-profile .call-btn,
.ad-rass-btn.call-btn{
  float:none !important;
  width:auto !important;
  height:auto !important;
  line-height:normal !important;
  position:static !important;
  display:inline-flex !important;
  align-items:center; justify-content:center;
}

/* скругление кнопки в баннере акции */
.ad-akc-info .call-btn{ border-radius:100px !important; }

/* работы врача: карточка до/после (реальные фото пары) */
.ad-ba-slide{ width:100% !important; }
.ad-ba-pair{ display:flex; gap:2px; border-radius:6px; overflow:hidden; }
.ad-ba-half{ position:relative; flex:1; aspect-ratio:1/1; overflow:hidden; }
.ad-ba-half img{ width:100%; height:100%; object-fit:cover; display:block; }
.ad-ba-tag{ position:absolute; bottom:10px; left:10px; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.45); padding:3px 12px; border-radius:100px; }
.ad-ba-tag.ad-ba-a{ left:auto; right:10px; background:rgba(30,120,60,.6); }

/* фильтр специалистов — компактные кнопки */
.ad-spec-filter{ display:none !important; }
.ad-spec-filter2{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.ad-spec-filter2 button{
  padding:10px 22px; border:1px solid #E1C791; background:#fff; color:#3E4B5C;
  border-radius:100px; cursor:pointer; font-size:15px; transition:all .2s;
}
.ad-spec-filter2 button.is-active,
.ad-spec-filter2 button:hover{ background:#E1C791; color:#3E4B5C; }

/* работы до/после в сетке услуг — реальные фото */
.ad-works-grid .ad-work .ad-ba-pair{ display:flex; gap:2px; }
.ad-works-grid .ad-work .ad-ba-half{ position:relative; flex:1; aspect-ratio:1/1; overflow:hidden; }
.ad-works-grid .ad-work .ad-ba-half img{ width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(1); transition:filter .35s ease; }
.ad-works-grid .ad-work:hover .ad-ba-half img{ filter:none; }

/* multiTV оборачивает вывод в .swiper-wrapper — нейтрализуем, чтобы figure стали элементами сетки */
.ad-works-grid > .swiper-wrapper{
  display:contents !important;
  transform:none !important; width:auto !important;
}
.ad-works-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.ad-works-grid .ad-work{
  margin:0; background:#fff; border-radius:8px; overflow:hidden;
  box-shadow:0 2px 14px rgba(62,75,92,.08);
}
.ad-works-grid .ad-work .ad-ba-pair{ border-radius:0; }
.ad-works-grid .ad-work .ad-ba-half img{ filter:none; }
.ad-works-grid .ad-work figcaption{ padding:16px 18px; }
.ad-works-grid .ad-work .ad-doc{ display:flex; align-items:center; gap:10px; font-size:15px; color:#3E4B5C; }
.ad-works-grid .ad-work .ad-av{
  flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#3E4B5C; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:12px;
}
@media (max-width:1024px){ .ad-works-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .ad-works-grid{ grid-template-columns:1fr; } }

/* единый вид CTA-кнопок вне хедера */
.section .call-btn,
.ad-akc-info .call-btn,
.team-profile .call-btn,
.ad-rass-btn.call-btn{
  padding:0 34px !important; min-height:54px !important;
  border-radius:100px !important;
  font-size:16px !important; color:#fff !important;
  background:linear-gradient(264.26deg,#3E4B5C 0.75%,#525F70 100%) !important;
  text-align:center; text-decoration:none;
}
.section .call-btn:hover,
.ad-akc-info .call-btn:hover,
.team-profile .call-btn:hover,
.ad-rass-btn.call-btn:hover{ opacity:.88; }
.sales-item .call-btn{ margin-top:18px; }

/* карточки врачей на страницах услуг — одинаковая высота и выравнивание по верху */
.ad-svc-team .team-items .swiper-wrapper{ align-items:stretch !important; }
.ad-svc-team .team-col{ height:auto !important; display:flex; }
.ad-svc-team .team-item{ display:flex; flex-direction:column; width:100%; }
.ad-svc-team .team-item-inner{ flex:1 1 auto; }

/* ===== телефон + мессенджеры (хедер и футер) ===== */
.ad-tel-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ad-tel-row .h-tel{ display:inline-flex; align-items:center; gap:8px; }
.ad-ph-ic{ flex:0 0 auto; }
.ad-hdr-msg{ display:inline-flex; gap:8px; }
.ad-msg-a{
  width:30px; height:30px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; text-decoration:none; transition:transform .2s;
}
.ad-msg-a:hover{ transform:translateY(-2px); }
.ad-msg-wa{ background:#25D366; }
.ad-msg-tg{ background:#2AABEE; }
.footer .ad-tel-row{ margin-bottom:10px; }

/* ===== работы до/после: слайдер + ч/б, при наведении цвет ===== */
.ad-works-slider{ position:relative; padding:0 0 46px; }
.ad-works-slider .swiper-container, .ad-works-view{ overflow:hidden; }
.ad-works-track{ display:flex; gap:24px; transition:transform .45s cubic-bezier(.3,0,.3,1); }
.ad-works-track .ad-work{
  margin:0; flex:0 0 calc((100% - 72px) / 4); background:#fff; border-radius:8px; overflow:hidden;
  box-shadow:0 2px 14px rgba(62,75,92,.08);
}
.ad-works-track .ad-ba-pair{ display:flex; gap:2px; border-radius:0; }
.ad-works-track .ad-ba-half{ position:relative; flex:1; aspect-ratio:1/1; overflow:hidden; }
.ad-works-track .ad-ba-half img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:grayscale(1); transition:filter .35s ease;
}
.ad-works-track .ad-work:hover .ad-ba-half img{ filter:grayscale(0); }
.ad-works-track figcaption{ padding:16px 18px; }
.ad-works-track .ad-doc{ display:flex; align-items:center; gap:10px; font-size:15px; color:#3E4B5C; }
.ad-works-track .ad-av{
  flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#3E4B5C; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:12px;
}
.ad-works-nav{ position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; gap:14px; }
.ad-works-nav button{
  width:44px; height:44px; border-radius:50%; border:1px solid #E1C791; background:#fff;
  color:#3E4B5C; cursor:pointer; font-size:18px; line-height:1; transition:all .2s;
}
.ad-works-nav button:hover:not(:disabled){ background:#E1C791; }
.ad-works-nav button:disabled{ opacity:.35; cursor:default; }
.ad-works-dots{ display:flex; gap:8px; margin-left:auto; }
.ad-works-dots span{ width:8px; height:8px; border-radius:50%; background:#CBD3DC; cursor:pointer; }
.ad-works-dots span.is-active{ background:#E1C791; width:22px; border-radius:100px; }
@media (max-width:1024px){ .ad-works-track .ad-work{ flex-basis:calc((100% - 24px) / 2); } }
@media (max-width:640px){
  .ad-works-track{ gap:16px; }
  .ad-works-track .ad-work{ flex-basis:100%; }
  .ad-tel-row{ gap:10px; }
}

/* телефон со значком + мессенджеры справа — одна строка, поиск переносится ниже */
.header .head-top .h-group .h-field:last-child,
.footer .f-top .h-field:not(.adr):not(.time){
  display:flex !important; flex-wrap:wrap !important; align-items:center;
  row-gap:8px; column-gap:12px;
}
.ad-tel-row{ display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.header .head-top .h-tel,
.footer .f-top .h-tel{ display:inline-flex !important; align-items:center; gap:8px; margin-top:0 !important; border:none !important; }
.ad-hdr-msg{ display:inline-flex; gap:8px; }
.ad-msg-a{ width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; text-decoration:none; border:none !important; margin:0 !important; transition:transform .2s; }
.ad-msg-a:hover{ transform:translateY(-2px); }
.ad-msg-wa{ background:#25D366; }
.ad-msg-tg{ background:#2AABEE; }
.footer .f-top .h-field .call-btn{ flex-basis:100%; margin-top:4px; }

/* шапка: поиск переносим на отдельную строку, поля уплотняем — чтобы не ломался ряд */
.header .head-top .ad-search-box{ flex:0 0 100%; margin-top:6px; }
.header .head-top .h-group .h-field{ margin-right:30px !important; }
.header .head-top .h-group .h-field:last-child{ margin-right:0 !important; justify-content:flex-start; }

/* фиксируем ширину блока телефона, чтобы поиск уходил на вторую строку */
.header .head-top .h-group .h-field:last-child{ max-width:360px; }
.header .head-top .h-group .h-field.adr{ max-width:330px; }

.header .head-top .h-group .h-field{ margin-right:24px !important; }
.header .head-top .h-group .h-field.adr{ max-width:370px; }
.header .head-top .h-group .h-field.adr strong{ white-space:nowrap; }

/* подвал: тот же ряд — адрес / время / телефон + мессенджеры */
.footer .f-top .h-group .h-field{ margin-right:24px !important; }
.footer .f-top .h-group .h-field.adr{ max-width:380px; }
.footer .f-top .h-group .h-field:last-child{ max-width:360px; }
.footer .f-top .h-group .h-field:last-child .call-btn{ flex-basis:100%; margin-top:6px !important; }

/* ===== мобильная шапка ===== */
@media (max-width:1024px){
  .header .head-top .ad-search-box{ display:none !important; }
  .header .head-top .h-group .h-field:last-child,
  .footer .f-top .h-group .h-field:last-child{ max-width:none; }
  .header .head-top .h-group .h-field.adr,
  .footer .f-top .h-group .h-field.adr{ max-width:none; }
  .ad-tel-row{ gap:10px; flex-wrap:nowrap; }
  .header .head-top .h-tel{ font-size:18px !important; line-height:22px !important; white-space:nowrap; }
  .ad-msg-a{ width:26px; height:26px; }
  .ad-hdr-msg{ gap:6px; }
}
@media (max-width:480px){
  .header .head-top .h-tel{ font-size:16px !important; }
  .ad-msg-a{ width:24px; height:24px; }
  .ad-msg-a svg{ width:13px; height:13px; }
}

@media (max-width:1024px){
  .header .head-top .ad-msg-a,
  .footer .f-top .ad-msg-a{ display:inline-flex !important; }
  .ad-tel-row{ flex-wrap:wrap; justify-content:flex-end; row-gap:6px; }
  .header .head-top .h-group .h-field:last-child{ padding-right:46px !important; }
}

/* слайдер акций на разводящей странице */
.ad-sales-slider{ position:relative; }
.ad-sales-view{ overflow:hidden; }
.ad-sales-track{ display:flex; transition:transform .45s cubic-bezier(.3,0,.3,1); }
.ad-sales-slide{ flex:0 0 100%; min-width:100%; }
.ad-sales-slide .sales-item{ margin-bottom:0 !important; }
.ad-sales-nav{ display:flex; align-items:center; gap:14px; margin-top:26px; }
.ad-sales-nav button{
  width:44px; height:44px; border-radius:50%; border:1px solid #E1C791; background:#fff;
  color:#3E4B5C; cursor:pointer; font-size:18px; line-height:1; transition:all .2s;
}
.ad-sales-nav button:hover:not(:disabled){ background:#E1C791; }
.ad-sales-nav button:disabled{ opacity:.35; cursor:default; }
.ad-sales-dots{ display:flex; gap:8px; margin-left:auto; }
.ad-sales-dots span{ width:8px; height:8px; border-radius:50%; background:#CBD3DC; cursor:pointer; }
.ad-sales-dots span.is-active{ background:#E1C791; width:22px; border-radius:100px; }

/* фильтр работ до/после */
.ad-works-filter2{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.ad-works-filter2 button{
  padding:10px 22px; border:1px solid #E1C791; background:#fff; color:#3E4B5C;
  border-radius:100px; cursor:pointer; font-size:15px; transition:all .2s;
}
.ad-works-filter2 button.is-active,
.ad-works-filter2 button:hover{ background:#E1C791; }
/* старый демо-фильтр больше не используется */
.ad-works-filter{ display:none !important; }

/* ТЗ п.1: первый экран — блок занимает высоту экрана, баннер не растягиваем
   (макеты баннеров горизонтальные; растяжение по высоте их обрезает — нужны новые макеты) */
.m-started{ min-height:calc(100vh - 210px); }
@media (max-width:1024px){ .m-started{ min-height:0; } }

/* Системы и методики */
.ad-svc-methods{ padding:70px 0; }
.ad-methods-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:34px; }
.ad-method{ background:#fff; border:1px solid #EDF0F3; border-radius:8px; padding:26px 26px 30px; }
.ad-method h4{ margin:0 0 12px; font-size:19px; line-height:26px; color:#3E4B5C; font-weight:500; }
.ad-method p{ margin:0; font-size:15px; line-height:23px; color:#6B7889; }
@media (max-width:1024px){ .ad-methods-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .ad-methods-grid{ grid-template-columns:1fr; } }

/* SEO-блок с раскрытием + форма */
.ad-svc-seo{ padding:60px 0; }
.ad-svc-seo .fw{ display:grid; grid-template-columns:1.6fr 1fr; gap:30px; align-items:start; }
.ad-seo-box{ background:#fff; border:1px solid #EDF0F3; border-radius:8px; padding:28px 30px; }
.ad-seo-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.ad-seo-toggle{
  border:1px solid #E1C791; background:#fff; color:#3E4B5C; border-radius:100px;
  padding:8px 20px; cursor:pointer; font-size:14px; white-space:nowrap;
}
.ad-seo-toggle:hover{ background:#E1C791; }
.ad-seo-body{ margin-top:18px; overflow:hidden; max-height:96px; position:relative; transition:max-height .35s ease; }
.ad-seo-body:after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:48px;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff);
}
.ad-seo-box.is-open .ad-seo-body{ max-height:1400px; }
.ad-seo-box.is-open .ad-seo-body:after{ display:none; }
.ad-seo-body p{ margin:0 0 14px; font-size:15px; line-height:24px; color:#6B7889; }
.ad-seo-form{ background:#3E4B5C; color:#fff; border-radius:8px; padding:30px; }
.ad-seo-form-t{ font-size:20px; line-height:27px; margin-bottom:10px; }
.ad-seo-form-s{ font-size:15px; line-height:22px; color:rgba(255,255,255,.75); margin-bottom:20px; }
.ad-seo-form .call-btn{ background:#E1C791 !important; color:#3E4B5C !important; }
@media (max-width:900px){ .ad-svc-seo .fw{ grid-template-columns:1fr; } }

/* карточка врача: стаж, образование */
.ad-doc-stazh{ margin:8px 0 4px; font-size:15px; color:#6B7889; }
.ad-doc-stazh span{ color:#3E4B5C; font-weight:600; margin-right:6px; }
.team-profile .ad-doc-edu{ margin-top:22px; }
.team-profile .ad-doc-edu .ad-seo-body{ max-height:180px; }
.ad-doc-ach{ padding:60px 0; }
.ad-doc-ach .ad-seo-box{ margin-top:26px; }

.ad-doc-edu-h{ font-size:20px; line-height:27px; color:#3E4B5C; margin:0 0 14px; }
.team-profile .ad-collapsible-toggle{
  display:inline-block; margin-top:18px; padding:10px 24px;
  border:1px solid #E1C791; border-radius:100px; cursor:pointer; font-size:14px; color:#3E4B5C;
  transition:all .2s;
}
.team-profile .ad-collapsible-toggle:hover{ background:#E1C791; }
.team-profile .ad-doc-edu.ad-collapsible.is-collapsed{ max-height:230px; }

/* хаб услуг: рассрочка / гарантия */
.ad-uslugi-guar{ padding:70px 0; }
.ad-guar-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.ad-guar-card{ background:#fff; border:1px solid #EDF0F3; border-radius:8px; padding:34px 34px 38px; }
.ad-guar-ic{
  width:52px; height:52px; border-radius:50%; background:#E1C791; color:#3E4B5C;
  display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:20px;
}
.ad-guar-card h3{ margin:0 0 12px; font-size:24px; line-height:31px; color:#3E4B5C; font-weight:500; }
.ad-guar-card p{ margin:0 0 16px; font-size:15px; line-height:24px; color:#6B7889; }
.ad-guar-card ul{ margin:0 0 24px; padding:0 0 0 20px; }
.ad-guar-card li{ font-size:15px; line-height:26px; color:#6B7889; }
@media (max-width:900px){ .ad-guar-grid{ grid-template-columns:1fr; } }

/* акция: преимущества и цена в первом блоке */
.ad-akc-price{ display:flex; align-items:baseline; gap:14px; margin:14px 0 18px; }
.ad-akc-price .ad-akc-new{ font-size:34px; line-height:40px; color:#3E4B5C; }
.ad-akc-price .ad-akc-old{ font-size:18px; color:#9AA6B4; text-decoration:line-through; }
.ad-akc-price .ad-akc-save{ background:#E1C791; color:#3E4B5C; border-radius:100px; padding:4px 14px; font-size:14px; }
.ad-akc-adv{ list-style:none; margin:0 0 22px; padding:0; display:grid; gap:10px; }
.ad-akc-adv li{ position:relative; padding-left:28px; font-size:15px; line-height:23px; color:#3E4B5C; }
.ad-akc-adv li:before{
  content:'✓'; position:absolute; left:0; top:0; width:19px; height:19px; border-radius:50%;
  background:#E1C791; color:#3E4B5C; font-size:11px; display:flex; align-items:center; justify-content:center;
}

.feedback-map .map{ position:relative; }
.ad-map-org{
  position:absolute; left:24px; bottom:24px; z-index:3;
  display:inline-block; padding:10px 20px; border-radius:100px;
  background:#fff; box-shadow:0 4px 18px rgba(0,0,0,.14);
  font-size:14px; color:#3E4B5C; text-decoration:none; border:none;
}
.ad-map-org:hover{ background:#E1C791; }
@media (max-width:900px){ .ad-map-org{ left:16px; bottom:16px; } }

.ad-guar-card .btn.solid-btn{ border-radius:100px; height:54px; line-height:54px; padding:0 34px; }

/* виджет отзывов Яндекс — компактнее на мобильных */
@media (max-width:640px){
  .ad-rev-widget #ya_widget--container{ height:760px !important; }
}

.ad-svc-price .btn.solid-btn{ border-radius:100px; height:54px; line-height:54px; padding:0 34px; }
.ad-price-table s{ color:#9AA6B4; margin-left:8px; font-size:14px; }

/* ТЗ Блок 1: блок ровно на экран, баннер не обрезаем */
.ad-hero-full .swiper-slide .slide-inner{
  position:relative; overflow:hidden;
  min-height:calc(100vh - 210px);
  display:flex; align-items:center; justify-content:center;
}
.ad-hero-full .swiper-slide .slide-inner > .ad-hero-bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  filter:blur(28px) saturate(1.1); transform:scale(1.15); opacity:.9;
}
.ad-hero-full .swiper-slide .slide-inner > *:not(.ad-hero-bg){ position:relative; z-index:1; }
.ad-hero-full .promo-slide-img{ max-height:calc(100vh - 250px); object-fit:contain; }
@media (max-width:1024px){
  .ad-hero-full .swiper-slide .slide-inner{ min-height:0; }
  .ad-hero-full .swiper-slide .slide-inner > .ad-hero-bg{ display:none; }
  .ad-hero-full .promo-slide-img{ max-height:none; }
}

/* блок онлайн-оплаты */
.ad-pay{ padding:70px 0; }
.ad-pay-box{ background:#fff; border:1px solid #EDF0F3; border-radius:8px; padding:34px; margin-top:28px; }
.ad-pay-note{ font-size:15px; line-height:24px; color:#6B7889; margin-bottom:22px; }

/* ===== хедер по макету ТЗ ===== */
.ad-adr-link{ color:#fff !important; text-decoration:none; border-bottom:1px solid rgba(225,199,145,.45); }
.ad-adr-link:hover{ border-bottom-color:#E1C791; }
.header .head-top .h-group .h-field.adr > strong{ margin-bottom:5px; }

/* строка: кнопка записи + поиск-иконка */
.ad-hdr-util{ display:flex; align-items:center; gap:10px; flex:0 0 100%; margin-top:10px; }

.header .head-top .ad-hdr-cta{
  display:inline-flex !important; align-items:center; justify-content:center;
  height:40px !important; line-height:1 !important; padding:0 24px !important;
  border-radius:100px !important; white-space:nowrap;
  background:#E1C791 !important; color:#3E4B5C !important;
  font-size:14px !important; letter-spacing:.4px; text-transform:uppercase;
  border:none !important; margin:0 !important; position:static !important;
  float:none !important; width:auto !important; text-decoration:none;
  transition:opacity .2s;
}
.header .head-top .ad-hdr-cta:hover{ opacity:.85; }

/* поиск: иконка, раскрывается в поле */
.ad-search-wrap{ display:flex; align-items:center; }
.ad-search-toggle{
  width:40px; height:40px; flex:0 0 40px; border-radius:50%;
  border:1px solid rgba(255,255,255,.28); background:transparent; color:#fff;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:all .2s;
}
.ad-search-toggle:hover{ border-color:#E1C791; color:#E1C791; }
.ad-search-wrap .ad-search-box{
  margin:0 0 0 8px !important; overflow:hidden;
  max-width:0; opacity:0; transition:max-width .3s ease, opacity .2s ease;
}
.ad-search-wrap.is-open .ad-search-box{ max-width:230px; opacity:1; }
.ad-search-wrap.is-open .ad-search-toggle{ border-color:#E1C791; color:#E1C791; }
.ad-search-box input{ width:150px; }

/* нижняя строка — только меню, без большой белой кнопки */
.ad-hdr-mockup ~ .head-bottom .fw{ padding-right:0; }
.head-bottom .main-menu{ width:100%; }

@media (max-width:1024px){
  /* шапка остаётся компактной: она fixed, а .wrapper отступает на 79px.
     Кнопка записи на мобильной живёт в бургер-меню (штатная .bts .call-btn). */
  .header .head-top .ad-hdr-util{ display:none !important; }
}

/* выравнивание телефона и мессенджеров по центру строки */
.header .head-top .h-group .h-field:last-child{ align-items:center; }
.header .head-top .ad-hdr-msg{ align-self:center; margin-top:-6px; }
.header .head-top .h-tel{ line-height:34px !important; }

/* раскрытый поиск не двигает вёрстку — выезжает влево поверх строки */
.ad-search-wrap{ position:relative; }
.ad-search-wrap .ad-search-box{
  position:absolute; right:48px; top:50%; transform:translateY(-50%);
  margin:0 !important; z-index:5;
}
.ad-search-wrap.is-open .ad-search-box{ max-width:240px; }
.ad-search-wrap .ad-search-box input{ background:#3E4B5C; }

/* ===== подвал по ТЗ ===== */
.ad-foot-mail{
  flex-basis:100%; margin-top:6px !important; font-size:15px; color:#fff !important;
  text-decoration:none; border-bottom:1px solid rgba(225,199,145,.45) !important;
  display:inline-block; width:auto !important;
}
.ad-foot-mail:hover{ border-bottom-color:#E1C791 !important; }
.footer .f-top .ad-foot-cta{
  flex-basis:auto !important; margin-top:14px !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  height:40px !important; min-height:0 !important; line-height:1 !important;
  padding:0 24px !important; border-radius:100px !important;
  background:#E1C791 !important; color:#3E4B5C !important;
  font-size:14px !important; letter-spacing:.4px; text-transform:uppercase;
  border:none !important; width:auto !important; float:none !important; position:static !important;
}
.ad-foot-cta:hover{ opacity:.85; }
.ad-foot-legal{ }
.ad-foot-soc-t{ font-size:13px; color:rgba(255,255,255,.55); margin-bottom:8px; }
.ad-foot-soc{ display:flex; gap:14px; margin-bottom:14px; }
.ad-foot-soc a,
.ad-foot-links a{
  color:#fff; text-decoration:none; font-size:14px;
  border-bottom:1px solid rgba(225,199,145,.45);
}
.ad-foot-soc a:hover,
.ad-foot-links a:hover{ border-bottom-color:#E1C791; }
.ad-foot-links{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
@media (max-width:900px){
  .ad-foot-legal{ margin-top:20px; }
}

/* подвал: верхняя полоса растёт под добавленные почту и кнопку */
.footer .f-top{ height:auto !important; min-height:164px; padding-top:26px; padding-bottom:26px; }
.footer .f-top .h-group{ padding-top:0 !important; }

/* нижняя полоса подвала: четыре колонки */
.f-bottom .f-cols{ display:flex; flex-wrap:wrap; }
.f-bottom .f-col{ float:none; width:25%; }
.f-bottom .f-col.ad-foot-legal{ padding-left:40px; }
.ad-foot-legal .ad-foot-soc-t{ margin-top:0; }
@media (max-width:1024px){
  .f-bottom .f-cols{ flex-direction:column; }
  .f-bottom .f-col{ width:100%; }
  .f-bottom .f-col.ad-foot-legal{ padding-left:0; margin-top:24px; }
}

@media (max-width:1024px){
  .footer .f-top .ad-foot-mail{ display:inline-block !important; margin-top:10px !important; }
  .footer .f-top .ad-foot-cta{ display:inline-flex !important; }
}

/* ===== подвал = шапка один в один ===== */
/* кнопка «Записаться» одинаковая в шапке и подвале */
.header .head-top .ad-hdr-cta,
.footer .f-top .ad-hdr-cta{
  display:inline-flex !important; align-items:center; justify-content:center;
  height:40px !important; min-height:0 !important; line-height:1 !important;
  padding:0 24px !important; border-radius:100px !important; white-space:nowrap;
  background:#E1C791 !important; color:#3E4B5C !important;
  font-size:14px !important; letter-spacing:.4px; text-transform:uppercase;
  border:none !important; margin:0 !important; position:static !important;
  float:none !important; width:auto !important; flex:0 0 auto !important;
  text-decoration:none; box-shadow:none !important;
}
.header .head-top .ad-hdr-cta:hover,
.footer .f-top .ad-hdr-cta:hover{ opacity:.85; background:#E1C791 !important; }

/* «Заказать звонок» в подвале скрыт — в шапке его тоже нет */
.footer .f-top .h-group .call-btn:not(.ad-hdr-cta){ display:none !important; }

/* строка «кнопка + поиск» одинаковая */
.header .head-top .ad-hdr-util,
.footer .f-top .ad-hdr-util{ display:flex; align-items:center; gap:10px; flex:0 0 100%; margin-top:10px; }

/* поиск-иконка одинаковая */
.footer .f-top .ad-search-toggle{
  width:40px; height:40px; flex:0 0 40px; border-radius:50%;
  border:1px solid rgba(255,255,255,.28); background:transparent; color:#fff;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.footer .f-top .ad-search-toggle:hover{ border-color:#E1C791; color:#E1C791; }
.footer .f-top .ad-search-wrap{ position:relative; display:flex; align-items:center; }
.footer .f-top .ad-search-wrap .ad-search-box{
  position:absolute; right:48px; top:50%; transform:translateY(-50%);
  margin:0 !important; max-width:0; opacity:0; overflow:hidden; z-index:5;
  transition:max-width .3s ease, opacity .2s ease;
}
.footer .f-top .ad-search-wrap.is-open .ad-search-box{ max-width:240px; opacity:1; }

/* почта — единственное отличие подвала, отдельной строкой под кнопкой */
.footer .f-top .ad-foot-mail{
  flex:0 0 100%; margin-top:12px !important; font-size:15px;
  color:#fff !important; text-decoration:none;
  border-bottom:1px solid rgba(225,199,145,.45) !important;
  display:inline-block; width:auto !important;
}

/* маршруты, перенесённые из верхней полосы подвала */
.ad-foot-routes{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; margin:0 0 14px; }
.ad-foot-routes a{
  color:#fff; font-size:14px; text-decoration:none;
  border-bottom:1px solid rgba(225,199,145,.45);
}
.ad-foot-routes a:hover{ border-bottom-color:#E1C791; }

/* иконки мессенджеров: тема перебивала flex — глиф уезжал в угол */
.header .head-top .h-group .h-field .ad-msg-a,
.footer .f-top .h-group .h-field .ad-msg-a,
.ad-hdr-msg .ad-msg-a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:30px !important; height:30px !important;
  padding:0 !important; margin:0 !important;
  border-radius:50% !important; border:none !important;
  vertical-align:middle !important; line-height:0 !important;
  flex:0 0 30px;
}
.ad-hdr-msg .ad-msg-a svg{ display:block; width:15px; height:15px; }
.ad-hdr-msg{ align-items:center; }

/* значок телефона и лупа — по той же причине */
.header .head-top .h-tel .ad-ph-ic,
.footer .f-top .h-tel .ad-ph-ic{ display:inline-block !important; vertical-align:middle; }
.header .head-top .ad-search-toggle,
.footer .f-top .ad-search-toggle{
  display:flex !important; align-items:center !important; justify-content:center !important;
  padding:0 !important; line-height:0 !important;
}
.ad-search-toggle svg{ display:block; }

/* оптическая центровка «самолётика» Telegram — глиф со смещённой массой */
.ad-msg-tg svg{ transform:translate(-1px, 1px); }

/* пустые разделы услуг (раздел без единой услуги) — скрываем сразу, без JS */
.services-col:not(:has(.list a)){ display:none !important; }
.m-categories:not(:has(a)){ display:none !important; }
.main-menu .submenu-large > li:not(:has(.submenu-small a)){ display:none !important; }

/* ===== страница «Услуги»: карточная сетка ===== */
.ad-usl-hero .h-subtitle{ max-width:660px; margin-top:14px; }
.ad-usl-sec{ padding:0 0 80px; }

.ad-usl-stats{
  display:flex; flex-wrap:wrap; gap:50px;
  padding:0 0 46px; margin-bottom:46px;
  border-bottom:1px solid #E6E9ED;
}
.ad-usl-stat b{
  display:block; font-family:"Tenor Sans", Georgia, serif;
  font-size:44px; line-height:1; color:#3E4B5C; font-weight:400;
}
.ad-usl-stat span{ display:block; margin-top:8px; font-size:15px; color:#8A94A2; }

.ad-usl-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.ad-usl-card{
  display:flex; flex-direction:column;
  background:#fff; border:1px solid #EDF0F3; border-radius:10px;
  padding:28px 26px 24px; transition:box-shadow .25s, transform .25s;
}
.ad-usl-card:hover{ box-shadow:0 12px 34px rgba(62,75,92,.12); transform:translateY(-3px); }
.ad-usl-head{ display:flex; align-items:center; gap:14px; margin-bottom:20px; min-height:52px; }
.ad-usl-ic{
  flex:0 0 48px; width:48px; height:48px;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
.ad-usl-t{
  font-family:"Tenor Sans", Georgia, serif; font-size:21px; line-height:26px;
  color:#3E4B5C;
}
.ad-usl-list{ list-style:none; margin:0 0 20px; padding:0; flex:1 1 auto; }
.ad-usl-list li{ position:relative; padding-left:16px; margin-bottom:11px; }
.ad-usl-list li:before{
  content:''; position:absolute; left:0; top:9px;
  width:5px; height:5px; border-radius:50%; background:#E1C791;
}
.ad-usl-list a{
  font-size:15px; line-height:22px; color:#6B7889; text-decoration:none;
  border-bottom:1px solid transparent; transition:color .2s, border-color .2s;
}
.ad-usl-list a:hover{ color:#3E4B5C; border-bottom-color:#E1C791; }
.ad-usl-more{
  align-self:flex-start; font-size:14px; color:#3E4B5C; text-decoration:none;
  border-bottom:1px solid #E1C791; padding-bottom:2px;
}
.ad-usl-more:after{ content:' →'; }
.ad-usl-more:hover{ color:#A68C58; }

@media (max-width:1200px){ .ad-usl-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px){
  .ad-usl-grid{ grid-template-columns:repeat(2,1fr); }
  .ad-usl-stats{ gap:32px; }
  .ad-usl-stat b{ font-size:34px; }
}
@media (max-width:600px){
  .ad-usl-grid{ grid-template-columns:1fr; }
  .ad-usl-stats{ gap:24px; padding-bottom:30px; margin-bottom:30px; }
}

.ad-usl-hero .h-titles{ max-width:720px; }
.ad-usl-hero{ padding-bottom:20px; }
.ad-usl-sec{ padding-top:0; }

/* карточки по своей высоте — разделы с одной услугой не растягиваются */
.ad-usl-grid{ align-items:start; }
.ad-usl-list{ flex:0 1 auto; }

/* ===== «Услуги»: герой ===== */
.ad-usl-hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:start; padding:10px 0 20px; }
.ad-usl-label{
  font-size:13px; letter-spacing:1.6px; text-transform:uppercase;
  color:#A68C58; margin-bottom:18px;
}
.ad-usl-label:before{ content:'☆ '; }
.ad-usl-h1{
  margin:0 0 20px; font-family:"Tenor Sans", Georgia, serif; font-weight:400;
  font-size:58px; line-height:64px; color:#3E4B5C;
}
.ad-usl-sub{ font-size:17px; line-height:27px; color:#8A94A2; max-width:520px; }

.ad-usl-panel{ background:#F1F3F6; border-radius:14px; padding:30px 34px; }
.ad-usl-stats{ display:flex; flex-wrap:wrap; gap:28px 40px; }
.ad-usl-stat{ display:flex; align-items:baseline; gap:8px; }
.ad-usl-stat b{
  font-family:"Tenor Sans", Georgia, serif; font-weight:400;
  font-size:34px; line-height:1; color:#3E4B5C;
}
.ad-usl-stat span{ font-size:14px; line-height:18px; color:#8A94A2; max-width:110px; }
.ad-usl-panel .ad-usl-panel-cta{
  display:inline-flex !important; align-items:center; justify-content:center;
  margin-top:26px !important; height:52px !important; min-height:0 !important;
  line-height:1 !important; padding:0 30px !important; border-radius:100px !important;
  background:#3E4B5C !important; color:#fff !important; font-size:15px !important;
  border:none !important; width:auto !important; float:none !important; position:static !important;
  text-decoration:none; box-shadow:none !important;
}
.ad-usl-panel .ad-usl-panel-cta:after{ content:' →'; margin-left:8px; }
.ad-usl-panel .ad-usl-panel-cta:hover{ opacity:.88; }

/* ===== фильтры ===== */
.ad-usl-tabs{ display:flex; flex-wrap:wrap; gap:12px; margin:0 0 40px; }
.ad-usl-tabs button{
  padding:13px 28px; border-radius:100px; border:1px solid transparent;
  background:#F1F3F6; color:#3E4B5C; font-size:16px; cursor:pointer; transition:all .2s;
}
.ad-usl-tabs button:hover{ background:#E7EAEF; }
.ad-usl-tabs button.is-active{ background:#3E4B5C; color:#fff; }

/* ===== аккордеон разделов ===== */
.ad-usl-sec{ padding:0 0 80px; }
.ad-usl-acc{ border-top:1px solid #E6E9ED; }
.ad-usl-row{ border-bottom:1px solid #E6E9ED; }
.ad-usl-row-h{
  width:100%; display:flex; align-items:center; gap:16px;
  padding:28px 0; background:none; border:none; cursor:pointer; text-align:left;
}
.ad-usl-row-t{
  flex:1 1 auto; font-family:"Tenor Sans", Georgia, serif;
  font-size:28px; line-height:34px; color:#3E4B5C; transition:color .2s;
}
.ad-usl-row-h:hover .ad-usl-row-t,
.ad-usl-row.is-open .ad-usl-row-t{ color:#A68C58; }
.ad-usl-count{
  flex:0 0 auto; font-size:13px; color:#A0A9B6;
  background:#F1F3F6; border-radius:100px; padding:3px 11px;
}
.ad-usl-chev{
  flex:0 0 42px; width:42px; height:42px; border-radius:50%;
  background:#F1F3F6; position:relative; transition:all .25s;
}
.ad-usl-chev:before{
  content:''; position:absolute; left:50%; top:50%;
  width:9px; height:9px; margin:-6px 0 0 -5px;
  border-right:2px solid #3E4B5C; border-bottom:2px solid #3E4B5C;
  transform:rotate(45deg); transition:transform .25s;
}
.ad-usl-row.is-open .ad-usl-chev{ background:#3E4B5C; }
.ad-usl-row.is-open .ad-usl-chev:before{ border-color:#fff; transform:rotate(-135deg); margin-top:-2px; }

.ad-usl-row-b{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease; }
.ad-usl-row.is-open .ad-usl-row-b{ grid-template-rows:1fr; }
.ad-usl-row-in{ overflow:hidden; }
.ad-usl-row.is-open .ad-usl-row-in{ padding-bottom:36px; }
.ad-usl-row-in{ display:grid; grid-template-columns:200px 1fr; gap:40px; }
.ad-usl-ill{ display:flex; align-items:flex-start; justify-content:center; padding-top:4px; }
.ad-usl-ic{
  width:120px; height:120px; background:#F7F8FA; border-radius:12px;
  background-repeat:no-repeat; background-position:center; background-size:56px 56px;
}
.ad-usl-list{ list-style:none; margin:0 0 24px; padding:0; columns:2; column-gap:40px; }
.ad-usl-list li{ position:relative; padding-left:16px; margin-bottom:12px; break-inside:avoid; }
.ad-usl-list li:before{
  content:''; position:absolute; left:0; top:9px;
  width:5px; height:5px; border-radius:50%; background:#E1C791;
}
.ad-usl-list a{
  font-size:16px; line-height:23px; color:#6B7889; text-decoration:none;
  border-bottom:1px solid transparent; transition:color .2s, border-color .2s;
}
.ad-usl-list a:hover{ color:#3E4B5C; border-bottom-color:#E1C791; }
.ad-usl-row-act{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.ad-usl-sec .ad-usl-cta{
  display:inline-flex !important; align-items:center; justify-content:center;
  height:50px !important; min-height:0 !important; line-height:1 !important;
  padding:0 30px !important; border-radius:100px !important;
  background:#E1C791 !important; color:#3E4B5C !important; font-size:15px !important;
  border:none !important; width:auto !important; float:none !important;
  position:static !important; margin:0 !important; text-decoration:none; box-shadow:none !important;
}
.ad-usl-sec .ad-usl-cta:hover{ opacity:.88; }
.ad-usl-more{
  font-size:15px; color:#3E4B5C; text-decoration:none;
  border-bottom:1px solid #E1C791; padding-bottom:2px;
}
.ad-usl-more:after{ content:' →'; }

@media (max-width:1024px){
  .ad-usl-hero-grid{ grid-template-columns:1fr; gap:30px; }
  .ad-usl-h1{ font-size:42px; line-height:48px; }
  .ad-usl-row-in{ grid-template-columns:1fr; gap:20px; }
  .ad-usl-ill{ justify-content:flex-start; }
  .ad-usl-list{ columns:1; }
}
@media (max-width:640px){
  .ad-usl-h1{ font-size:32px; line-height:38px; }
  .ad-usl-row-t{ font-size:21px; line-height:27px; }
  .ad-usl-count{ display:none; }
  .ad-usl-panel{ padding:24px; }
  .ad-usl-stats{ gap:18px 26px; }
}

/* правки после переезда со старой плиточной версии */
.ad-usl-panel .ad-usl-stats{ border-bottom:none; padding-bottom:0; margin-bottom:0; }
.ad-usl-ill .ad-usl-ic{ flex:0 0 120px; width:120px; height:120px; }

/* галерея работ врача: слайды выходили за экран и тянули горизонтальную прокрутку */
.work-gallery-carousel,
.work-gallery-carousel .swiper-container{ overflow:hidden !important; }

/* узкие телефоны: телефон и мессенджеры должны помещаться в шапку 80px */
@media (max-width:560px){
  .header .head-top .h-group{ margin-right:46px !important; }
  .header .head-top .h-group .h-field:last-child{ padding-right:0 !important; }
  .header .head-top .h-tel{ font-size:16px !important; line-height:26px !important; }
  .header .head-top .ad-tel-row{ gap:8px; }
  .header .head-top .ad-hdr-msg{ gap:6px; margin-left:0; }
  .header .head-top .ad-msg-a{ width:26px !important; height:26px !important; flex:0 0 26px; }
  .header .head-top .ad-msg-a svg{ width:13px; height:13px; }
  .header .head-top .ad-ph-ic{ width:14px; height:14px; }
}
@media (max-width:380px){
  .header .head-top .h-tel{ font-size:15px !important; }
  .header .head-top .h-logo img{ max-width:58px; }
}

@media (max-width:560px){
  /* у темы у телефона правый отступ 15px — из-за него ряд не влезал в строку и падал под логотип */
  .header .head-top .h-tel{ margin-right:0 !important; }
  .header .head-top .ad-tel-row{ flex-wrap:nowrap; }
}

@media (max-width:560px){
  .header .head-top .h-group .h-field .ad-msg-a{ width:26px !important; height:26px !important; flex:0 0 26px !important; }
  .header .head-top .h-group .h-field .ad-msg-a svg{ width:13px; height:13px; }
}
@media (max-width:380px){
  .header .head-top .h-logo{ width:58px !important; }
  .header .head-top .h-logo img{ max-width:58px; }
  .header .head-top .h-group{ margin-right:42px !important; }
}

/* сторонний виджет отзывов: на узких экранах не обрезаем, а даём прокрутить */
@media (max-width:640px){
  .rev-widget, .widget-prodoctorov, .widget-yandex, .group-review{
    max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
  }
}

/* якорное меню услуги: на узких экранах прокручивается, пункты не теряются */
@media (max-width:900px){
  .ad-anchor-nav{
    overflow-x:auto !important; flex-wrap:nowrap !important;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .ad-anchor-nav::-webkit-scrollbar{ display:none; }
  .ad-anchor-nav > *{ flex:0 0 auto !important; white-space:nowrap; }
}

@media (max-width:900px){
  .ad-anchor-nav > .ad-anchor-inner{
    flex-wrap:nowrap !important; width:max-content !important; min-width:100%;
  }
  .ad-anchor-nav .ad-anchor-inner > a{ flex:0 0 auto !important; white-space:nowrap; }
}

/* форма поиска на странице поиска — работает и там, где в шапке поле скрыто */
.ad-search-page{ display:flex; gap:10px; margin-top:22px; max-width:560px; }
.ad-search-page input{
  flex:1 1 auto; min-width:0; height:52px; padding:0 20px;
  border:1px solid #E1E5EA; border-radius:100px; font-size:16px; color:#3E4B5C;
  background:#fff; outline:none;
}
.ad-search-page input:focus{ border-color:#E1C791; }
.ad-search-page button{
  flex:0 0 auto; height:52px; padding:0 28px; border:none; border-radius:100px;
  background:#3E4B5C; color:#fff; font-size:15px; cursor:pointer;
}
.ad-search-page button:hover{ opacity:.88; }
.ad-search-sec{ padding:40px 0 70px; }
@media (max-width:520px){
  .ad-search-page{ flex-wrap:wrap; }
  .ad-search-page input{ flex:1 1 100%; }
  .ad-search-page button{ flex:1 1 100%; }
}

/* результаты поиска */
.ad-sr-wrap{ max-width:820px; }
.ad-sr-h{
  margin:0 0 8px; font-family:"Tenor Sans", Georgia, serif; font-weight:400;
  font-size:30px; line-height:38px; color:#3E4B5C;
}
.ad-sr-count{ font-size:15px; color:#8A94A2; margin-bottom:26px; }
.ad-sr{ padding:20px 0; border-top:1px solid #E6E9ED; }
.ad-sr:last-child{ border-bottom:1px solid #E6E9ED; }
.ad-sr > a{
  display:inline-block; font-size:18px; line-height:26px; color:#3E4B5C;
  text-decoration:none; border-bottom:1px solid #E1C791; padding-bottom:2px;
}
.ad-sr > a:hover{ color:#A68C58; }
.ad-sr p{ margin:10px 0 0; font-size:15px; line-height:23px; color:#8A94A2; }
@media (max-width:640px){
  .ad-sr-h{ font-size:24px; line-height:30px; }
  .ad-sr > a{ font-size:16px; line-height:23px; }
}

/* ===================== ПРАВКИ ОТ 21.09 ===================== */

/* --- карточки врачей: 3 в ряд, выровнены, с кнопкой записи --- */
.ad-doc-grid{
  display:grid !important; grid-template-columns:repeat(3,1fr); gap:30px;
  align-items:stretch;
}
.ad-doc-grid .swiper-wrapper{ display:contents !important; transform:none !important; width:auto !important; }
.ad-doc-grid .ad-doc-col{ width:auto !important; padding:0 !important; float:none !important; height:auto !important; display:flex; }
.ad-doc-grid .ad-doc-card{
  display:flex; flex-direction:column; width:100%;
  background:#fff; border:1px solid #EDF0F3; border-radius:10px; overflow:hidden;
  transition:box-shadow .25s, transform .25s;
}
.ad-doc-grid .ad-doc-card:hover{ box-shadow:0 12px 34px rgba(62,75,92,.12); transform:translateY(-3px); }
.ad-doc-grid .team-item-inner{ display:flex; flex-direction:column; flex:1 1 auto; }
.ad-doc-grid .ad-doc-card .image{ width:100%; }
.ad-doc-grid .ad-doc-card .image a{ display:block; }
.ad-doc-grid .ad-doc-card .image .img{
  display:block; width:100%; aspect-ratio:21/22; background-size:cover; background-position:center top;
}
.ad-doc-grid .ad-doc-card .desc{ flex:1 1 auto; padding:24px 26px 6px; text-align:center; }
.ad-doc-grid .ad-doc-card .name{ margin-bottom:10px; }
.ad-doc-grid .ad-doc-card .name a{
  font-family:"Tenor Sans", Georgia, serif; font-size:22px; line-height:29px;
  color:#3E4B5C; text-decoration:none;
}
.ad-doc-grid .ad-doc-card .category{ font-size:15px; line-height:22px; color:#8A94A2; }
.ad-doc-actions{
  margin-top:auto; padding:20px 26px 26px;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.ad-doc-grid .ad-doc-book{
  display:inline-flex !important; align-items:center; justify-content:center;
  height:48px !important; min-height:0 !important; line-height:1 !important;
  padding:0 30px !important; border-radius:100px !important;
  background:#E1C791 !important; color:#3E4B5C !important; font-size:15px !important;
  border:none !important; width:auto !important; float:none !important;
  position:static !important; margin:0 !important; text-decoration:none; box-shadow:none !important;
}
.ad-doc-grid .ad-doc-book:hover{ opacity:.88; }
.ad-doc-grid .ad-doc-card .lnk{
  font-size:15px; color:#8A94A2; text-decoration:none;
  border-bottom:1px solid rgba(225,199,145,.6); padding-bottom:2px;
  position:static !important; margin:0 !important;
}
.ad-doc-grid .ad-doc-card .lnk:hover{ color:#3E4B5C; }
@media (max-width:1024px){ .ad-doc-grid{ grid-template-columns:repeat(2,1fr); gap:20px; } }
@media (max-width:640px){ .ad-doc-grid{ grid-template-columns:1fr; } }

/* --- работы до/после: крупные аватары, кликабельные фото --- */
.ad-works-track .ad-work{ flex-basis:calc((100% - 48px) / 3); }
.ad-works-track .ad-ba-half{ display:block; text-decoration:none; }
.ad-works-track .ad-ba-half img{ display:block; }
.ad-works-track figcaption{ padding:18px 20px; }
.ad-works-track .ad-doc{
  display:flex; align-items:center; gap:14px; text-decoration:none;
  font-size:17px; line-height:24px; color:#3E4B5C;
}
.ad-works-track .ad-doc:hover .ad-doc-n{ color:#A68C58; }
.ad-works-track .ad-av{
  flex:0 0 52px; width:52px; height:52px; border-radius:50%;
  background:#3E4B5C; color:#fff; font-size:17px; letter-spacing:.5px;
  display:flex; align-items:center; justify-content:center;
}
@media (max-width:1024px){ .ad-works-track .ad-work{ flex-basis:calc((100% - 24px) / 2); } }
@media (max-width:640px){
  .ad-works-track .ad-work{ flex-basis:100%; }
  .ad-works-track .ad-av{ flex:0 0 44px; width:44px; height:44px; font-size:15px; }
}

/* карточка врача: фото во всю ширину карточки, без внутренних отступов темы */
.ad-doc-grid .ad-doc-card .team-item-inner{ padding:0 !important; background:none !important; box-shadow:none !important; }
.ad-doc-grid .ad-doc-card .image{ margin:0 !important; padding:0 !important; }
.ad-doc-grid .ad-doc-card .image a{ margin:0 !important; padding:0 !important; }
.ad-doc-grid .ad-doc-card .image .img{ margin:0 !important; }
.ad-doc-grid .ad-doc-card .desc{ background:none !important; }
.ad-svc-team .m-titles .btn.solid-btn,
.m-team .m-titles .btn.solid-btn,
.ad-home-team .m-titles .btn.solid-btn{
  border-radius:100px; height:50px; line-height:50px; padding:0 30px;
}

/* подвал: навигация по сайту + направления */
.ad-foot-nav{ display:grid; grid-template-columns:1fr 2fr; gap:60px; padding:10px 0 10px; }
.ad-foot-navt{
  font-size:13px; letter-spacing:1.4px; text-transform:uppercase;
  color:rgba(255,255,255,.45); margin-bottom:18px;
}
.ad-foot-navcol ul{ list-style:none; margin:0; padding:0; }
.ad-foot-navcol li{ margin-bottom:12px; }
.ad-foot-navcol a, .ad-foot-navcol span{
  font-size:16px; line-height:22px; color:#fff; text-decoration:none;
  border-bottom:1px solid transparent; transition:border-color .2s;
}
.ad-foot-navcol a:hover{ border-bottom-color:#E1C791; }
.ad-foot-dirs ul{ columns:2; column-gap:40px; }
.ad-foot-dirs li{ break-inside:avoid; }
@media (max-width:900px){
  .ad-foot-nav{ grid-template-columns:1fr; gap:28px; }
  .ad-foot-dirs ul{ columns:1; }
}

/* ===== компактная шапка при скролле: остаётся только навигация ===== */
.header.is-fixed{
  position:fixed !important; top:0; left:0; right:0; height:80px !important;
  background:#3E4B5C !important; box-shadow:0 6px 24px rgba(0,0,0,.18); z-index:200;
}
.header.is-fixed .head-top{ display:none !important; }
.header.is-fixed .head-bottom{ height:80px; }
.header.is-fixed .head-bottom .fw{ display:flex; align-items:center; height:80px; }
.header.is-fixed .head-bottom .main-menu{ flex:1 1 auto; }
.header.is-fixed .ad-hdr-cta-fixed{ display:inline-flex !important; }

.ad-hdr-cta-fixed{
  display:none !important; align-items:center; justify-content:center;
  flex:0 0 auto; height:44px !important; min-height:0 !important; line-height:1 !important;
  padding:0 26px !important; border-radius:100px !important; white-space:nowrap;
  background:#E1C791 !important; color:#3E4B5C !important;
  font-size:14px !important; letter-spacing:.4px; text-transform:uppercase;
  border:none !important; margin:0 0 0 24px !important; position:static !important;
  float:none !important; width:auto !important; text-decoration:none; box-shadow:none !important;
}
.ad-hdr-cta-fixed:hover{ opacity:.88; }

/* кнопка записи в выпадающем меню «Услуги» */
.ad-sub-cta-li{ list-style:none; padding:18px 0 4px; }
.header .main-menu .submenu-large .ad-sub-cta{
  display:inline-flex !important; align-items:center; justify-content:center;
  height:46px !important; min-height:0 !important; line-height:1 !important;
  padding:0 28px !important; border-radius:100px !important;
  background:#E1C791 !important; color:#3E4B5C !important; font-size:14px !important;
  letter-spacing:.4px; text-transform:uppercase; border:none !important;
  width:auto !important; float:none !important; position:static !important;
  margin:0 !important; text-decoration:none; box-shadow:none !important;
}
.header .main-menu .submenu-large .ad-sub-cta:hover{ opacity:.88; }
@media (max-width:1024px){ .ad-hdr-cta-fixed{ display:none !important; } }

/* MAX вместо WhatsApp */
.ad-msg-max{ background:#7C4DFF !important; }
.ad-msgr-max{ background:#7C4DFF !important; }
.ad-msg-wa, .ad-msgr-wa{ display:none !important; }

/* кнопка записи в слайдере акций */
.m-started .ad-promo-btn{
  position:absolute !important; left:50%; bottom:36px; transform:translateX(-50%);
  display:inline-flex !important; align-items:center; justify-content:center;
  height:54px !important; min-height:0 !important; line-height:1 !important;
  padding:0 42px !important; border-radius:100px !important;
  background:#3E4B5C !important; color:#fff !important; font-size:16px !important;
  border:none !important; width:auto !important; float:none !important;
  margin:0 !important; text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
  z-index:5;
}
.m-started .ad-promo-btn:hover{ opacity:.9; }
.m-started .slide-inner{ position:relative; }
@media (max-width:640px){
  .m-started .ad-promo-btn{ height:46px !important; padding:0 28px !important; font-size:14px !important; bottom:18px; }
}

/* слово основателя: фото не «висит в воздухе», а стоит на нижней границе блока */
.m-about .fw{ display:flex !important; align-items:flex-end !important; }
.m-about .about-left{ align-self:flex-end !important; }
.m-about .about-left .img{ background-position:center bottom !important; }
@media (max-width:900px){
  .m-about .fw{ display:block !important; }
}

/* ===== «Пациентам»: компактная карточка акции в слайдере ===== */
.ad-sales-slide .sales-item{
  display:grid !important; grid-template-columns:340px 1fr; gap:30px;
  margin:0 !important; padding:26px !important; min-height:0 !important;
  border:1px solid #E6E9ED !important; border-radius:10px; background:#fff;
}
.ad-sales-slide .sales-item .image{
  position:static !important; left:auto !important; top:auto !important;
  width:100% !important; height:230px !important; border-radius:8px;
}
.ad-sales-slide .sales-item .desc{ padding:0; }
.ad-sales-slide .sales-item .name{ margin-bottom:12px !important; }
.ad-sales-slide .sales-item .name a{ font-size:26px !important; line-height:33px !important; }
.ad-sales-slide .sales-item .date{ margin-bottom:12px !important; font-size:15px !important; }
.ad-sales-slide .sales-item .text{ font-size:15px !important; line-height:23px !important; }
.ad-sales-slide .sales-item .call-btn{ margin-top:16px !important; }
@media (max-width:900px){
  .ad-sales-slide .sales-item{ grid-template-columns:1fr; gap:18px; padding:18px !important; }
  .ad-sales-slide .sales-item .image{ height:200px !important; }
  .ad-sales-slide .sales-item .name a{ font-size:21px !important; line-height:27px !important; }
}

/* ===== статья блога: оглавление закреплено слева при скролле ===== */
.ad-blog-layout{ display:grid; grid-template-columns:300px 1fr; gap:50px; align-items:start; }
.ad-blog-layout .content-toc{
  position:sticky; top:110px; align-self:start; max-height:calc(100vh - 140px); overflow:auto;
  background:#fff; border:1px solid #EDF0F3; border-radius:10px; padding:22px 24px;
  scrollbar-width:thin;
}
.ad-blog-layout .content-toc h2{
  margin:0 0 14px; font-size:18px; line-height:24px; color:#3E4B5C;
  font-family:"Tenor Sans", Georgia, serif; font-weight:400;
}
.ad-blog-layout #toc-list{ margin:0; padding:0; list-style:none; }
.ad-blog-layout #toc-list li{ margin-bottom:10px; }
.ad-blog-layout #toc-list a{
  font-size:15px; line-height:21px; color:#6B7889; text-decoration:none;
  border-bottom:1px solid transparent;
}
.ad-blog-layout #toc-list a:hover,
.ad-blog-layout #toc-list a.is-active{ color:#3E4B5C; border-bottom-color:#E1C791; }
@media (max-width:900px){
  .ad-blog-layout{ grid-template-columns:1fr; gap:24px; }
  .ad-blog-layout .content-toc{ position:static; max-height:none; }
}

/* карточка акции: сбрасываем «вылет» картинки влево из темы */
.ad-sales-slider .sales-items,
.ad-sales-slide{ margin:0 !important; }
.ad-sales-slide .sales-item{
  margin-left:0 !important; margin-right:0 !important; margin-bottom:0 !important;
  padding-left:26px !important;
}
.ad-sales-slide .sales-item .image{
  background-size:cover !important; background-position:center !important;
  background-repeat:no-repeat !important; min-height:230px;
}
.ad-sales-slide .sales-item .desc{ display:flex; flex-direction:column; }
.ad-sales-slide .sales-item .ad-sales-cta{ align-self:flex-start; margin-top:18px !important; }

/* счётчик страниц в слайдере работ */
.ad-works-count{ font-size:15px; color:#8A94A2; margin-left:6px; }
.ad-doc-works .ad-works-nav{ margin-top:26px; }

/* ===== страница «Акции» по ТЗ ===== */
.ad-akc-sec{ padding:0 0 80px; }
.ad-akc-list{ display:flex; flex-direction:column; gap:30px; }
.ad-akc-card{
  display:grid; grid-template-columns:420px 1fr; gap:36px;
  background:#fff; border:1px solid #EDF0F3; border-radius:12px; padding:26px;
  transition:box-shadow .25s;
}
.ad-akc-card:hover{ box-shadow:0 12px 34px rgba(62,75,92,.10); }
.ad-akc-c-img{
  display:block; min-height:260px; border-radius:8px;
  background:#F1F3F6 center/cover no-repeat;
}
.ad-akc-c-body{ display:flex; flex-direction:column; }
.ad-akc-c-title{ margin:0 0 12px; font-weight:400; }
.ad-akc-c-title a{
  font-family:"Tenor Sans", Georgia, serif; font-size:28px; line-height:36px;
  color:#3E4B5C; text-decoration:none;
}
.ad-akc-c-title a:hover{ color:#A68C58; }
.ad-akc-c-term{ font-size:15px; color:#8A94A2; margin-bottom:14px; }
.ad-akc-c-price{ display:flex; align-items:baseline; gap:12px; margin-bottom:14px; }
.ad-akc-c-new{ font-size:30px; line-height:1; color:#3E4B5C; font-family:"Tenor Sans", Georgia, serif; }
.ad-akc-c-old{ font-size:17px; color:#9AA6B4; text-decoration:line-through; }
.ad-akc-c-desc{ margin:0 0 20px; font-size:16px; line-height:24px; color:#6B7889; }
.ad-akc-c-act{ margin-top:auto; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.ad-akc-sec .ad-akc-c-book{
  display:inline-flex !important; align-items:center; justify-content:center;
  height:50px !important; min-height:0 !important; line-height:1 !important;
  padding:0 32px !important; border-radius:100px !important;
  background:#E1C791 !important; color:#3E4B5C !important; font-size:15px !important;
  border:none !important; width:auto !important; float:none !important;
  position:static !important; margin:0 !important; text-decoration:none; box-shadow:none !important;
}
.ad-akc-sec .ad-akc-c-book:hover{ opacity:.88; }
.ad-akc-c-more{
  font-size:15px; color:#3E4B5C; text-decoration:none;
  border-bottom:1px solid #E1C791; padding-bottom:2px;
}
.ad-akc-c-more:after{ content:' →'; }
.ad-akc-c-more:hover{ color:#A68C58; }
.ad-akc-empty{ font-size:17px; color:#8A94A2; padding:40px 0; }
@media (max-width:900px){
  .ad-akc-card{ grid-template-columns:1fr; gap:20px; padding:18px; }
  .ad-akc-c-img{ min-height:200px; }
  .ad-akc-c-title a{ font-size:22px; line-height:29px; }
}

/* заголовок страницы акций не должен ломаться по слогам */
.ad-akc-sec ~ *, .ad-akc-sec{ }
body .m-inner-started .h-titles{ max-width:860px; }

.m-inner-started .h-titles{ max-width:880px !important; }

/* кнопка записи в выпадающем меню: собственная строка на всю ширину */
.header .main-menu .submenu-large > li.ad-sub-cta-li{
  display:block !important; float:none !important; clear:both !important;
  width:100% !important; padding:20px 0 6px !important; margin:0 !important;
  border:none !important; background:none !important;
}
.header .main-menu .submenu-large > li.ad-sub-cta-li:before,
.header .main-menu .submenu-large > li.ad-sub-cta-li:after{ display:none !important; }

/* 4-й уровень меню: подпункты услуг показываем списком под своим разделом, а не скрытой вылеткой */
.header .main-menu .submenu-small .submenu-small{
  position:static !important; display:block !important;
  opacity:1 !important; visibility:visible !important;
  background:none !important; box-shadow:none !important; border:none !important;
  min-width:0 !important; width:auto !important;
  margin:8px 0 0 0 !important; padding:0 0 0 14px !important;
  border-left:1px solid rgba(225,199,145,.35) !important;
  transform:none !important;
}
.header .main-menu .submenu-small .submenu-small > li{
  display:block !important; visibility:visible !important;
  margin:0 0 7px 0 !important; padding:0 !important;
}
.header .main-menu .submenu-small .submenu-small > li > a{
  font-size:14px !important; line-height:19px !important;
  color:rgba(255,255,255,.72) !important; padding:0 !important; background:none !important;
}
.header .main-menu .submenu-small .submenu-small > li > a:hover{ color:#E1C791 !important; }
.header .main-menu .submenu-large > li > .submenu-small > li{
  display:block !important; vertical-align:top; margin-bottom:18px !important;
}

/* выравниваем 4-й уровень под текст родительского пункта */
.header .main-menu .submenu-small .submenu-small{
  margin-left:30px !important; padding-left:14px !important;
}

/* полноэкранный просмотр фото работ */
.ad-lb{
  position:fixed; inset:0; z-index:9999; display:none;
  align-items:center; justify-content:center;
  background:rgba(20,24,30,.92); padding:40px 80px;
}
.ad-lb.is-open{ display:flex; }
.ad-lb-fig{ margin:0; max-width:100%; max-height:100%; display:flex; flex-direction:column; align-items:center; gap:14px; }
.ad-lb-fig img{ max-width:100%; max-height:calc(100vh - 140px); object-fit:contain; border-radius:6px; display:block; }
.ad-lb-fig figcaption{ color:rgba(255,255,255,.8); font-size:15px; text-align:center; }
.ad-lb button{
  position:absolute; background:rgba(255,255,255,.12); border:none; color:#fff; cursor:pointer;
  width:52px; height:52px; border-radius:50%; font-size:26px; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:background .2s;
}
.ad-lb button:hover{ background:rgba(255,255,255,.24); }
.ad-lb-close{ top:24px; right:24px; }
.ad-lb-prev{ left:24px; top:50%; transform:translateY(-50%); }
.ad-lb-next{ right:24px; top:50%; transform:translateY(-50%); }
.ad-works-track .ad-ba-half{ cursor:zoom-in; }
@media (max-width:640px){
  .ad-lb{ padding:20px 12px; }
  .ad-lb button{ width:42px; height:42px; font-size:22px; }
  .ad-lb-prev{ left:8px; } .ad-lb-next{ right:8px; }
}

/* баг: полоса якорной навигации перекрывала выпадающее меню — шапка должна быть выше */
.header{ z-index:1000 !important; }
.header.is-fixed{ z-index:1000 !important; }
.ad-anchor-nav{ z-index:800 !important; }

/* кнопка-область в слайдере акций: не трогаем её позиционирование общим сбросом .call-btn */
.m-started .promo-slide-btn{
  position:absolute !important;
  display:block !important;
  padding:0 !important;
  min-height:0 !important;
  line-height:normal !important;
  background:none !important;
  border:none !important;
  float:none !important;
  margin:0 !important;
  align-items:initial !important;
  justify-content:initial !important;
}

/* размеры кликабельной области слайдов (общий сброс .call-btn обнулял их) */
.m-started .swiper-slide[data-swiper-slide-index="0"] .promo-slide-btn{ width:19% !important; height:20% !important; }
.m-started .swiper-slide[data-swiper-slide-index="1"] .promo-slide-btn{ width:28.1% !important; height:8% !important; }
.m-started .swiper-slide[data-swiper-slide-index="2"] .promo-slide-btn,
.m-started .swiper-slide[data-swiper-slide-index="3"] .promo-slide-btn{ width:16.4% !important; height:10.7% !important; }
@media (max-width:768px){
  .m-started .swiper-slide[data-swiper-slide-index] .promo-slide-btn{
    width:93% !important; height:11% !important; top:auto !important; bottom:5%; left:50% !important;
    transform:translateX(-50%) !important;
  }
}

/* слайдер акций: возвращаем штатное поведение картинки (эксперимент с «на всю высоту» смещал кликабельную область) */
.m-started .promo-slide-img{
  width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important;
  object-fit:cover !important;
}
.m-started{ min-height:0 !important; }
.ad-hero-full .swiper-slide .slide-inner{ min-height:0 !important; display:block !important; }
.ad-hero-full .swiper-slide .slide-inner > .ad-hero-bg{ display:none !important; }

/* блок врачей — сетка, а не слайдер: стрелки листания не нужны */
.ad-doc-grid ~ .swiper-button-next,
.ad-doc-grid ~ .swiper-button-prev,
.m-team-2 .swiper-button-next,
.m-team-2 .swiper-button-prev,
.m-team .swiper-button-next,
.m-team .swiper-button-prev,
.ad-svc-team .swiper-button-next,
.ad-svc-team .swiper-button-prev{ display:none !important; }

/* Правки аудита 28.09: график работы не рвётся посередине */
.ws-part{ white-space:nowrap; display:inline-block; }

/* Правки аудита 28.09: подчёркивание почты в подвале — по тексту, а не на всю колонку */
.footer .f-top .ad-foot-mail,
.ad-foot-mail{
  border-bottom:0 !important;
  text-decoration:underline !important;
  text-decoration-color:rgba(225,199,145,.55) !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
}
.footer .f-top .ad-foot-mail:hover,
.ad-foot-mail:hover{ text-decoration-color:#E1C791 !important; }

/* Правки аудита 28.09: окно с видео о враче */
.ad-video-ov{ position:fixed; inset:0; z-index:12000; background:rgba(20,26,34,.88); display:flex; align-items:center; justify-content:center; padding:24px; }
.ad-video-ov-in{ position:relative; width:min(960px,100%); aspect-ratio:16/9; background:#000; }
.ad-video-ov-in iframe, .ad-video-ov-in video{ width:100%; height:100%; border:0; display:block; }
.ad-video-ov-x{ position:absolute; top:-46px; right:0; width:36px; height:36px; border:0; border-radius:50%; background:#fff; color:#1F2937; font-size:24px; line-height:1; cursor:pointer; }
@media (max-width:640px){ .ad-video-ov{ padding:12px; } .ad-video-ov-x{ top:-42px; } }

/* Правки аудита 28.09: вместо серой заглушки-фотоаппарата — фирменная подложка */
.img[data-bg*="noimage"],
.img.lazy[style*="noimage"],
img[src*="noimage"]{
  background-color:#3E4B5C !important;
  background-image:url("../images/logo.png") !important;
  background-size:58% auto !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
img[src*="noimage"]{ object-fit:contain; padding:18%; }

/* Правки аудита 28.09: баннер акции показываем целиком — текст на макете больше не обрезается */
.ad-akc-c-img{
  background-size:contain !important;
  background-position:center !important;
  background-color:#F1F3F6 !important;
}

/* Правки аудита 28.09: навигация слайдера работ на телефоне */
@media (max-width:640px){
  .ad-works-nav .ad-works-dots{ display:none !important; }
  .ad-works-nav .ad-works-count{ white-space:nowrap; }
  .ad-works-nav{ gap:12px; align-items:center; }
}

/* Правка 29.09: cookie-баннер на телефоне — компактный, кнопка крупная и всегда доступна */
@media (max-width:640px){
  .cookies-wrapper{ padding:10px 12px !important; }
  .cookies-wrapper .flex.row-nowrap{
    flex-wrap:wrap !important; gap:10px !important; padding:6px !important;
    align-items:center !important;
  }
  .cookies-text{ font-size:12px !important; line-height:1.35 !important; }
  .cookies-wrapper .flex.ai-c.jc-c{ width:100% !important; }
  .cookies-button{
    display:block !important; width:100% !important;
    padding:12px 16px !important; font-size:15px !important;
    min-height:44px !important; line-height:20px !important;
  }
}
