/*
Theme Name: МедЭксперт МРТ
Theme URI: https://medexpertmrt.ru/
Description: Тема диагностического центра «МедЭксперт МРТ» (Оренбург). Классическая многостраничная тема по дизайну «Вариант A · Клинический». МРТ, КТ, рентген, УЗИ.
Author: Claude Design handoff
Version: 1.9.9
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: medexpert
*/

/* =========================================================================
   ОГЛАВЛЕНИЕ
   1.  Дизайн-токены (переменные)
   2.  База и типографика
   3.  Контейнер и утилиты
   4.  Кнопки
   5.  Шапка (header)
   6.  Подвал (footer)
   7.  Hero и страничные шапки + хлебные крошки
   8.  Секции и заголовки секций
   9.  Главная: услуги, «почему мы», оборудование, карта
   10. CTA-полоса
   11. Форма записи (карточка) и поля Contact Form 7
   12. Страница услуги (показания, прайс-таблица, шаги, оборудование)
   13. Прайс-лист
   14. Врачи
   15. О компании (статистика, принципы, лицензии)
   16. Контакты
   17. FAQ-аккордеон
   18. Адаптивность
   ========================================================================= */

/* ====================== 1. ДИЗАЙН-ТОКЕНЫ ============================== */
:root{
  --c-blue:#1a5fb4;          /* основной синий */
  --c-blue-dark:#0f3d6e;     /* тёмно-синий (лого, заголовки) */
  --c-head:#0f2c4d;          /* H1/H2 почти чёрно-синий */
  --c-text:#14233a;          /* основной текст */
  --c-text-2:#516378;        /* вторичный текст */
  --c-text-3:#7d90a4;        /* приглушённый */
  --c-text-4:#90a2b5;        /* очень приглушённый */
  --c-text-5:#9fb0c0;        /* подписи */
  --c-nav:#33485e;           /* пункты меню */
  --c-bg-soft:#f4f8fc;       /* фон светлых секций */
  --c-white:#fff;
  --c-border:#e6eef6;        /* основные границы */
  --c-border-2:#eef3f8;
  --c-border-3:#dde7f1;      /* границы полей */
  --c-border-4:#e3ebf3;
  --c-badge-bg:#e7f1fb;      /* голубой бейдж */
  --c-cyan:#3bb5e0;          /* бирюзовая точка */
  --c-foot-bg:#0c2845;       /* подвал */
  --c-foot-text:#a9c6e4;
  --c-foot-text-2:#7fa3c9;
  --c-foot-text-3:#5d80a8;
  --c-warn:#e08a3c;
  --c-warn-border:#ffe0c2;

  --grad-cta:linear-gradient(110deg,#0f3d6e,#1a5fb4);
  --grad-hero:linear-gradient(180deg,#f4f8fc 0%,#fff 100%);
  --grad-hero-page:linear-gradient(180deg,#f4f8fc,#fff);

  --shadow-btn:0 6px 16px -6px rgba(26,95,180,.6);
  --shadow-btn-form:0 10px 22px -10px rgba(26,95,180,.7);
  --shadow-card-form:0 24px 60px -28px rgba(15,61,110,.3);
  --shadow-menu:0 18px 40px -12px rgba(15,61,110,.25);

  --font-display:'Manrope',system-ui,sans-serif;
  --font-body:'Golos Text',system-ui,sans-serif;

  --container:1200px;
  --container-pad:24px;
}

/* ====================== 2. БАЗА И ТИПОГРАФИКА ========================= */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:clip;}
body{
  margin:0;
  background:var(--c-white);
  color:var(--c-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;          /* широкое меню не должно вызывать горизонтальную прокрутку */
}
a{text-decoration:none;color:inherit;}
ul{margin:0;padding:0;list-style:none;}
img{max-width:100%;height:auto;}
::selection{background:#cfe2f7;}

h1,h2,h3{font-family:var(--font-display);color:var(--c-head);margin:0;}

/* ====================== 3. КОНТЕЙНЕР И УТИЛИТЫ ======================== */
.container{max-width:var(--container);margin:0 auto;padding:0 var(--container-pad);}
/* Вертикальные отступы всех секций главной и внутренних страниц.
   Хотите плотнее/просторнее — меняйте это число (на мобильных см. блок @media ниже). */
.section{padding:48px 0;}
.section--soft{background:var(--c-bg-soft);border-top:1px solid var(--c-border-2);border-bottom:1px solid var(--c-border-2);}
.nbsp{white-space:nowrap;}
.is-hidden{display:none !important;}

/* ====================== 4. КНОПКИ ==================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-body);font-weight:600;font-size:14.5px;
  padding:12px 20px;border-radius:9px;border:1px solid transparent;cursor:pointer;
  white-space:nowrap;transition:background .15s,box-shadow .15s,color .15s;
}
.btn--primary{background:var(--c-blue);color:#fff;box-shadow:var(--shadow-btn);}
.btn--primary:hover{background:#17539e;}
.btn--block{display:flex;width:100%;}
.btn--lg{font-family:var(--font-display);font-weight:700;font-size:16px;padding:15px 26px;border-radius:11px;}
.btn--white{background:#fff;color:var(--c-blue-dark);}
.btn--ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.3);}
.btn--ghost:hover{background:rgba(255,255,255,.22);}

/* ====================== 5. ШАПКА ===================================== */
.site-header{position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid var(--c-border);}
/* utility-строка */
.topbar{background:var(--c-bg-soft);border-bottom:1px solid var(--c-border);}
.topbar__inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:13px;color:#5e7088;}
.topbar__inner a{color:#5e7088;}
.topbar__right{display:flex;align-items:center;gap:18px;}
.topbar__phone{display:none;}   /* на десктопе телефон живёт в основной строке (.header-phone) */
.eye-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;color:var(--c-blue);font-weight:600;padding:0;}
/* основная строка */
.header-main{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;min-width:0;}
.brand img{height:46px;width:auto;display:block;flex-shrink:0;}
.brand__text{display:flex;flex-direction:column;line-height:1.1;min-width:0;}
.brand__name{font-family:var(--font-display);font-weight:800;font-size:19px;color:var(--c-blue-dark);letter-spacing:-.01em;white-space:nowrap;}
.brand__name span{color:var(--c-blue);}
.brand__sub{font-size:11px;color:var(--c-text-3);letter-spacing:.04em;}
/* навигация */
.main-nav{flex:1;display:flex;justify-content:center;}
.main-nav ul{display:flex;align-items:center;gap:2px;font-size:14.5px;font-weight:500;}
.main-nav a{display:flex;align-items:center;gap:5px;padding:10px;color:var(--c-nav);border-radius:7px;white-space:nowrap;transition:color .15s,background .15s;}
.main-nav a:hover{color:var(--c-blue);background:var(--c-bg-soft);}
.main-nav .current-menu-item>a,.main-nav .current_page_item>a,.main-nav a.is-active{color:var(--c-blue);font-weight:600;}
/* выпадающее меню «Услуги» */
.has-dropdown{position:relative;}
.dropdown{
  position:absolute;top:calc(100% - 2px);left:0;min-width:220px;
  background:#fff;border:1px solid var(--c-border);border-radius:12px;box-shadow:var(--shadow-menu);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s;z-index:5;
}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:none;}
.dropdown a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--c-nav);font-size:14.5px;font-weight:500;}
.dropdown a:hover{background:var(--c-bg-soft);}
.dropdown .dot{width:6px;height:6px;border-radius:50%;background:var(--c-cyan);flex-shrink:0;}
/* контакт справа */
.header-contacts{display:flex;align-items:center;gap:16px;flex-shrink:0;}
.header-phone{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;}
.header-phone b{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--c-blue-dark);white-space:nowrap;}
.header-phone span{font-size:11px;color:var(--c-text-3);}
/* мобильное меню — классический бургер слева */
.nav-toggle{display:none;background:none;border:1px solid var(--c-border-3);border-radius:9px;width:44px;height:44px;flex-shrink:0;cursor:pointer;color:var(--c-blue-dark);align-items:center;justify-content:center;padding:0;}
.nav-toggle svg{display:block;}
.nav-toggle__close{display:none;}
.nav-toggle[aria-expanded="true"] .nav-toggle__open{display:none;}
.nav-toggle[aria-expanded="true"] .nav-toggle__close{display:block;}
/* «Резиновое» меню: JS добавляет body.nav-collapsed, когда пункты не влезают в строку,
   и шапка переключается на бургер (как на мобильных) на любой ширине.
   Бургер уходит влево, контакты прижимаются вправо. */
body.nav-collapsed .main-nav,
body.nav-collapsed .header-phone span{display:none;}
body.nav-collapsed .nav-toggle{display:flex;}
body.nav-collapsed .header-main{justify-content:flex-start;gap:14px;}
body.nav-collapsed .header-contacts{margin-left:auto;}
body.nav-collapsed .main-nav.is-open{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;
  border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-menu);padding:8px 0;z-index:5;}
body.nav-collapsed .main-nav.is-open ul{flex-direction:column;align-items:stretch;gap:0;}
body.nav-collapsed .main-nav.is-open a{padding:14px 24px;border-radius:0;}
body.nav-collapsed .main-nav.is-open .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 0 24px;}
/* Плавающая кнопка звонка — видна только на мобильных (см. медиазапрос ≤680). */
.call-fab{display:none;position:fixed;right:16px;bottom:16px;z-index:890;
  width:56px;height:56px;border-radius:50%;background:var(--c-blue);color:#fff;
  align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(15,71,135,.38);}
.call-fab svg{display:block;}
.call-fab:active{background:#17539e;}

/* ====================== 6. ПОДВАЛ ==================================== */
.site-footer{background:var(--c-foot-bg);color:var(--c-foot-text);}
.footer-top{padding:56px var(--container-pad) 32px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
.footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:16px;}
.footer-brand img{height:42px;width:auto;filter:brightness(0) invert(1);opacity:.95;}
.footer-brand span{font-family:var(--font-display);font-weight:800;font-size:18px;color:#fff;}
.footer-about{font-size:14px;margin:0 0 16px;max-width:280px;color:var(--c-foot-text-2);}
.footer-license{font-size:12.5px;color:var(--c-foot-text-3);margin:0;}
.footer-col h4{font-family:var(--font-display);font-weight:700;color:#fff;font-size:15px;margin:0 0 14px;}
.footer-col ul,.footer-contacts{display:flex;flex-direction:column;gap:9px;font-size:14px;}
.footer-col a:hover{color:#fff;}
.footer-contacts a:first-child{color:#fff;font-weight:600;white-space:nowrap;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);}
.footer-bottom__inner{padding:20px var(--container-pad);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;font-size:12.5px;color:var(--c-foot-text-3);}
.footer-bottom__links{display:flex;flex-wrap:wrap;gap:8px 18px;}
.footer-bottom a:hover{color:var(--c-foot-text);}

/* ====================== 7. HERO И ШАПКИ СТРАНИЦ ====================== */
.hero{background:var(--grad-hero);border-bottom:1px solid var(--c-border-2);}
/* Отступы hero на главной. Первое число — отступ сверху (под шапкой),
   третье — снизу. Уменьшите их, чтобы поднять блок выше / сделать компактнее. */
.hero__inner{padding:32px var(--container-pad) 40px;max-width:var(--container);margin:0 auto;
  display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center;}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--c-badge-bg);color:var(--c-blue);
  font-size:13px;font-weight:600;padding:7px 14px;border-radius:100px;margin-bottom:16px;}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--c-blue);}
/* На главной это не плашка, а подпись над заголовком: без фона и точки,
   на кегль крупнее. На страницах услуг плашка остаётся прежней. */
.hero .badge{background:none;padding:0;font-size:15px;margin-bottom:18px;}
.hero h1{font-weight:800;font-size:48px;line-height:1.08;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance;}
.lead{font-size:18px;color:var(--c-text-2);margin:0 0 32px;max-width:520px;text-wrap:pretty;}
.stats{display:flex;gap:28px;flex-wrap:wrap;}
.stats__sep{width:1px;background:var(--c-border-4);}
.stat__num{font-family:var(--font-display);font-weight:800;font-size:30px;color:var(--c-blue);}
.stat__label{font-size:14px;color:var(--c-text-3);}

/* шапка внутренней страницы */
.page-hero{background:var(--grad-hero-page);border-bottom:1px solid var(--c-border-2);}
.page-hero__inner{padding:28px var(--container-pad) 56px;max-width:var(--container);margin:0 auto;}
.page-hero h1{font-weight:800;font-size:44px;line-height:1.08;letter-spacing:-.02em;margin:0 0 16px;}
.page-hero .lead{max-width:620px;}
/* хлебные крошки */
.breadcrumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--c-text-4);margin-bottom:26px;flex-wrap:wrap;}
.breadcrumbs a:hover{color:var(--c-blue);}
.breadcrumbs .current{color:var(--c-blue);}

/* ====================== 8. ЗАГОЛОВКИ СЕКЦИЙ ========================== */
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-blue);}
.section-head{margin-bottom:40px;}
.section-head--center{text-align:center;margin-bottom:48px;}
.section-head h2{font-weight:800;font-size:34px;margin:8px 0 0;letter-spacing:-.01em;}
.section-head--between{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.link-arrow{font-size:14.5px;font-weight:600;color:var(--c-blue);display:inline-flex;align-items:center;gap:6px;}
.link-arrow:hover{gap:9px;}

/* ====================== 9. ГЛАВНАЯ: УСЛУГИ ========================== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--c-border);
  border:1px solid var(--c-border);border-radius:16px;overflow:hidden;}
.service-card{background:#fff;padding:30px;display:flex;flex-direction:column;gap:16px;}
.service-card__icon{color:var(--c-blue);}
.service-card h3{font-weight:700;font-size:19px;margin:0 0 6px;}
.service-card p{font-size:14px;color:var(--c-text-3);margin:0;}
.service-card__price{margin-top:auto;padding-top:8px;display:flex;align-items:baseline;justify-content:flex-end;gap:7px;}
.service-card__price .from{font-size:15px;font-weight:600;color:var(--c-text-2);}
.service-card__price .val{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--c-blue);}
/* Акции месяца (inc/promo.php). Единый «промо-язык»: фирменный тёмный градиент
   + бирюзовые галочки. На бело-голубом сайте это самый контрастный акцент,
   при этом без чужих цветов (--c-warn занят противопоказаниями). */
.promo-card{grid-column:span 2;background:var(--grad-cta);justify-content:center;gap:14px;}
.promo-card h3{font-weight:800;font-size:20px;margin:0;color:#fff;letter-spacing:-.01em;}
.promo-card__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.promo-card__list li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:#dbe8f7;line-height:1.45;}
.promo-card__list li svg{color:var(--c-cyan);flex-shrink:0;margin-top:2px;}
.promo-card .link-arrow{color:#fff;margin-top:2px;}
.promo-card .link-arrow:hover{color:var(--c-cyan);}
/* Шапка промо-блока: фирменная иконка «процент» + заголовок. */
.promo-head{display:flex;align-items:center;gap:12px;}
.promo-icon{flex-shrink:0;display:block;}

/* Блок акции в колонке страницы услуги/исследования (под цифрами). */
.promo-block{background:var(--grad-cta);border-radius:16px;padding:20px 22px;margin-top:26px;
  display:flex;flex-direction:column;align-items:flex-start;gap:11px;}
.promo-block__label{background:rgba(255,255,255,.16);color:#fff;border-radius:999px;
  padding:5px 13px;font-family:var(--font-display);font-weight:700;font-size:11.5px;
  letter-spacing:.06em;text-transform:uppercase;}
.promo-block p{margin:0;color:#e2edf9;font-size:15.5px;line-height:1.5;}
.promo-block a{display:inline-flex;align-items:center;gap:7px;color:#fff;
  font-family:var(--font-display);font-weight:700;font-size:14.5px;}
.promo-block a:hover{color:var(--c-cyan);}

/* Баннер на первом экране главной: иконка — текст — ссылка в одну строку. */
.promo-block--hero{flex-direction:row;align-items:center;gap:16px;margin-top:30px;padding:16px 20px;}
.promo-block--hero .promo-block__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.promo-block--hero .promo-block__label{align-self:flex-start;}
.promo-block--hero p{font-size:14.5px;}
.promo-block--hero a{flex-shrink:0;}
@media(max-width:900px){
  .promo-block--hero{flex-direction:column;align-items:flex-start;gap:12px;}
  .promo-block--hero .promo-icon{width:28px;height:28px;}
}

/* Витрина акций: карточки с обложкой (главная + страница «Акции»).
   Сетка auto-fill держит любое количество: одна акция занимает одну колонку
   и не растягивается на всю ширину, пять — переносятся на вторую строку.
   На мобильных — горизонтальная лента со «щелчком» (scroll-snap). */
.promo-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;}
.promo-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:250px;border-radius:18px;overflow:hidden;background:var(--grad-cta);color:#fff;
  transition:transform .18s,box-shadow .18s;}
a.promo-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-form);}
/* Карточка-баннер: показываем картинку целиком, поэтому пропорция 16:9
   (в неё же кадрируется размер promo-tile) и никакого min-height. */
/* Баннеры светлые, фон первого экрана тоже — без рамки края теряются. */
/* Фон прозрачный, а не синий градиент от текстовой карточки: пока картинка
   грузится, на её месте видна подложка страницы, а не заливка. */
.promo-tile--img{min-height:0;aspect-ratio:16/9;background:none;
  border:1px solid var(--c-border-3);box-shadow:0 2px 12px rgba(15,61,110,.06);}
/* Кнопка «Подробнее» на баннере — единственная ссылка карточки. */
.promo-tile__hint{position:absolute;right:14px;bottom:14px;border-radius:100px;
  padding:10px 20px;font-size:15px;font-weight:600;color:var(--c-blue-dark);
  background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  box-shadow:0 3px 14px rgba(15,61,110,.16);transition:background .15s,box-shadow .15s;}
.promo-tile__hint:hover{background:#fff;box-shadow:0 5px 18px rgba(15,61,110,.22);}
.promo-tile__img{display:block;width:100%;height:100%;object-fit:cover;}
.promo-tile__dates{position:absolute;top:14px;right:14px;background:#fff;color:var(--c-blue-dark);
  border-radius:100px;padding:6px 14px;font-weight:600;font-size:13px;white-space:nowrap;}
.promo-tile__body{position:relative;display:flex;flex-direction:column;align-items:flex-start;
  gap:14px;padding:20px;}
.promo-tile__title{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.3;
  letter-spacing:-.01em;text-shadow:0 1px 14px rgba(9,32,58,.45);}
.promo-tile__more{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.92);
  color:var(--c-blue-dark);border-radius:100px;padding:8px 15px;font-weight:600;font-size:14px;
  transition:background .15s;}
.promo-tile:hover .promo-tile__more{background:#fff;}
/* Слайдер акций на первом экране главной. Ширину держим меньше колонки,
   иначе баннер 16:9 съедает весь первый экран. Виден край следующего
   баннера + точки под ним — так сразу понятно, что блок листается. */
.promo-slider{margin-top:24px;}
.promo-slider__label{display:block;margin-bottom:10px;}
/* Точки и стрелки — одной строкой под лентой. Поверх баннера стрелки
   ложились на текст: макеты клиента заняты по всей площади. */
.promo-slider__nav{display:flex;align-items:center;gap:7px;margin-top:14px;}
.promo-slider__arrow{width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  padding:0;border:1px solid var(--c-border-3);border-radius:50%;cursor:pointer;
  background:#fff;color:var(--c-blue-dark);transition:background .15s,border-color .15s,opacity .15s;}
.promo-slider__arrow:hover{background:var(--c-badge-bg);border-color:var(--c-blue);}
.promo-slider__arrow:disabled{opacity:.35;cursor:default;background:#fff;border-color:var(--c-border-3);}
.promo-slider__arrow--prev{margin-left:auto;}
.promo-slider__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.promo-slider__track::-webkit-scrollbar{display:none;}
.promo-slider__track > .promo-tile{flex:0 0 88%;scroll-snap-align:start;}
.promo-slider__track > .promo-tile:hover{transform:none;}
.promo-slider__dots{display:flex;gap:7px;}
.promo-slider__dot{width:8px;height:8px;padding:0;border:0;border-radius:100px;cursor:pointer;
  background:var(--c-border-4);transition:width .18s,background .18s;}
.promo-slider__dot:hover{background:var(--c-border-3);}
.promo-slider__dot.is-active{width:24px;background:var(--c-blue);}
.hero .lead{margin-bottom:24px;}
@media(max-width:719px){
  /* Лента вместо сетки: карточки листаются пальцем, край следующей виден. */
  .promo-tiles{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;
    margin:0 calc(var(--container-pad) * -1);padding:0 var(--container-pad) 4px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .promo-tiles::-webkit-scrollbar{display:none;}
  .promo-tile{flex:0 0 80%;min-height:215px;scroll-snap-align:start;}
  .promo-tile--img{min-height:0;}
  .promo-slider__arrow{display:none;}
}

/* Страница «Акции» (page-templates/template-promo.php). */
.promo-until{display:inline-flex;align-items:center;gap:9px;margin:4px 0 0;
  background:var(--c-badge-bg);color:var(--c-blue-dark);border-radius:100px;
  padding:8px 16px 8px 10px;font-weight:600;font-size:14.5px;}
.promo-until--off{background:#f1f4f7;color:var(--c-text-2);font-weight:500;padding-left:16px;}

/* Страница одной акции (single-promo.php): условия слева, форма справа. */
.service-hero .promo-until{margin:0 0 22px;}
.promo-single__text{color:var(--c-text-2);font-size:16.5px;line-height:1.6;margin:0 0 26px;}
.promo-single__text > :first-child{margin-top:0;}
.promo-single__text > :last-child{margin-bottom:0;}
.promo-single__text h2{font-size:22px;margin:26px 0 10px;}
.promo-single__text h3{font-size:18px;margin:22px 0 8px;}
/* В теме списки обнулены — в тексте акции их нужно вернуть. */
.promo-single__text ul,.promo-single__text ol{list-style:revert;padding-left:22px;margin:12px 0;}
.promo-single__text li{margin-bottom:6px;}
.promo-single__text a{color:var(--c-blue);text-decoration:underline;}
.promo-single__call{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 24px;}
.promo-single__call span{max-width:250px;font-size:14px;color:var(--c-text-3);line-height:1.4;}
.promo-until--off a{color:var(--c-blue);text-decoration:underline;}
/* Широкая панель со всеми акциями (страница прайса, над таблицей цен). */
.promo-panel{background:var(--grad-cta);border-radius:18px;padding:26px 28px;margin:0 0 28px;
  display:flex;flex-direction:column;align-items:flex-start;gap:13px;}
.promo-panel h2{margin:0;color:#fff;font-weight:800;font-size:23px;letter-spacing:-.01em;}
.promo-panel .link-arrow{color:#fff;margin-top:2px;}
.promo-panel .link-arrow:hover{color:var(--c-cyan);}
@media(max-width:560px){.promo-panel{padding:22px 20px;border-radius:14px;}.promo-panel h2{font-size:20px;}}

/* Скидки внутри формы записи. */
.form-card__promo{list-style:none;margin:0 0 20px;padding:15px 17px;border-radius:12px;background:var(--grad-cta);
  display:flex;flex-direction:column;gap:9px;}
.form-card__promo li{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:#e2edf9;line-height:1.4;}
.form-card__promo li svg{color:var(--c-cyan);flex-shrink:0;margin-top:1px;}
.service-card--cta{background:var(--c-bg-soft);justify-content:center;}
.service-card--cta h3{color:var(--c-head);}
.service-card--cta p{color:var(--c-text-3);}
.service-card--cta a{margin-top:4px;color:var(--c-blue);font-family:var(--font-display);font-weight:700;font-size:17px;}

/* «почему мы» */
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.feature-card{background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:28px;}
.feature-card svg{color:var(--c-blue);}
.feature-card h3{font-weight:700;font-size:17px;margin:18px 0 8px;}
.feature-card p{font-size:14px;color:var(--c-text-3);margin:0;}

/* оборудование */
.equip{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center;}
.equip p.lead{font-size:16px;margin:0 0 28px;}
.equip-list{display:flex;flex-direction:column;gap:14px;}
.equip-item{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--c-border);border-radius:12px;}
.equip-item__tag{font-family:var(--font-display);font-weight:800;color:var(--c-blue);font-size:14px;flex-shrink:0;width:64px;}
.equip-item__text{font-size:14.5px;color:var(--c-nav);}
.equip-item__text b{color:var(--c-head);}
.media-slot{width:100%;border:1px solid var(--c-border);border-radius:18px;background:var(--c-border-3);overflow:hidden;}
.media-slot img{width:100%;height:100%;object-fit:cover;display:block;}
.media-slot--placeholder{display:flex;align-items:center;justify-content:center;color:var(--c-text-4);font-size:14px;text-align:center;padding:20px;}
/* Единое соотношение для фото оборудования (главная/услуга/исследование) — 3:2 */
.media-slot--photo{aspect-ratio:3/2;}

/* карта «как нас найти» */
.map-card{display:grid;grid-template-columns:360px 1fr;gap:24px;background:#fff;
  border:1px solid var(--c-border);border-radius:18px;overflow:hidden;}
.map-card__info{padding:36px;display:flex;flex-direction:column;gap:22px;}
.contact-line{display:flex;gap:14px;}
.contact-line svg{flex-shrink:0;margin-top:2px;color:var(--c-blue);}
.contact-line__label{font-weight:600;color:var(--c-head);margin-bottom:2px;}
.contact-line__val{font-size:14.5px;color:var(--c-text-3);}
.contact-line a.contact-line__val{color:var(--c-blue);font-weight:600;}
.map-embed{position:relative;background:var(--c-border-3);min-height:380px;}
.map-embed iframe,.map-embed .media-slot{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ====================== 10. CTA-ПОЛОСА ============================== */
.cta-band{background:var(--grad-cta);}
.cta-band__inner{padding:56px var(--container-pad);max-width:var(--container);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.cta-band h2{font-weight:800;font-size:30px;color:#fff;margin:0 0 8px;letter-spacing:-.01em;}
.cta-band p{font-size:16px;color:#bcd6f0;margin:0;}
.cta-band__btns{display:flex;gap:14px;flex-wrap:wrap;}

/* ====================== 11. ФОРМА ЗАПИСИ ============================ */
.form-card{background:#fff;border:1px solid var(--c-border);border-radius:18px;box-shadow:var(--shadow-card-form);padding:30px;}
.form-card h2{font-weight:700;font-size:21px;margin:0 0 6px;}
.form-card__sub{font-size:13.5px;color:var(--c-text-3);margin:0 0 22px;}
.form-card__disclaimer{font-size:11.5px;color:var(--c-text-5);margin:14px 0 0;text-align:center;line-height:1.4;}
/* поля — общий вид, в т.ч. для Contact Form 7 */
.field,
.wpcf7 input[type=text],.wpcf7 input[type=tel],.wpcf7 input[type=email],
.wpcf7 select,.wpcf7 textarea{
  width:100%;height:48px;border:1px solid var(--c-border-3);border-radius:10px;padding:0 16px;
  font-family:inherit;font-size:15px;color:var(--c-text);outline:none;background:#fff;
}
.wpcf7 select{color:var(--c-text-2);}
.field--area{height:auto;min-height:88px;padding:12px 16px;resize:vertical;}
.wpcf7 textarea{height:96px;min-height:88px;padding:12px 16px;resize:vertical;}
.field:focus,.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{border-color:var(--c-blue);}
/* Поля формы записи — колонкой с равными отступами, даже если CF7 (через
   wpautop) обернул их в один <p> с переносами <br> вместо отдельных абзацев. */
.form-stack{display:flex;flex-direction:column;gap:14px;}
.form-stack > p{display:flex;flex-direction:column;gap:14px;margin:0;}
.form-stack br{display:none;}
.form-stack .wpcf7-form-control-wrap{display:block;position:relative;}
.wpcf7-form p{margin:0 0 12px;}
/* «Плавающая» подпись обязательного поля с красной звёздочкой сразу после текста.
   Показывается как placeholder, прячется при фокусе/вводе (input с placeholder=" "). */
.ph-field{position:relative;display:block;}
.ph-field .ph{position:absolute;left:16px;top:0;height:48px;display:flex;align-items:center;
  color:var(--c-text-4);font-size:15px;pointer-events:none;}
.ph-field .ph b{color:#d0021b;font-weight:400;}
/* Прячем подпись при фокусе (:focus-within) или когда в поле есть значение
   (класс .is-filled ставит JS). Раньше использовался :placeholder-shown, но
   iOS Safari не считает плейсхолдер-«пробел» показанным и прятал подпись у
   пустых полей — на мобильных подписи исчезали. */
.ph-field:focus-within .ph,
.ph-field.is-filled .ph{opacity:0;}
/* Согласие: одна галочка + текст со ссылками рядом, аккуратный перенос. */
.consent{font-size:12px;color:var(--c-text-3);line-height:1.45;margin-top:4px;}
.consent a{color:var(--c-blue);}
/* Уведомление об использовании cookie: аккуратная плашка внизу экрана. */
.cookie-note{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:720px;margin:0 auto;
  background:var(--c-white);border:1px solid var(--c-border);border-radius:14px;box-shadow:var(--shadow-menu);
  padding:14px 16px;display:flex;align-items:center;gap:16px;}
.cookie-note[hidden]{display:none;}
.cookie-note p{margin:0;font-size:13px;color:var(--c-text-2);line-height:1.45;}
.cookie-note a{color:var(--c-blue);}
.cookie-note__btn{flex-shrink:0;background:var(--c-blue);color:#fff;border:none;border-radius:9px;
  padding:10px 22px;font-family:var(--font-display);font-weight:700;font-size:14px;cursor:pointer;}
.cookie-note__btn:hover{background:var(--c-blue-dark);}
@media(max-width:560px){
  .cookie-note{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch;text-align:center;gap:10px;}
}
.wpcf7-acceptance .wpcf7-list-item{margin:0;}
.wpcf7-acceptance label{display:flex;gap:9px;align-items:flex-start;cursor:pointer;}
.wpcf7-acceptance input[type=checkbox]{width:16px;height:16px;margin:2px 0 0;flex-shrink:0;accent-color:var(--c-blue);}
.wpcf7 .wpcf7-submit{height:50px;background:var(--c-blue);color:#fff;border:none;border-radius:10px;
  font-family:var(--font-display);font-weight:700;font-size:15.5px;cursor:pointer;box-shadow:var(--shadow-btn-form);width:100%;}
.wpcf7 .wpcf7-submit:hover{background:#17539e;}
.wpcf7 .wpcf7-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;}
/* Валидация: подсветка незаполненных полей и понятные сообщения. */
.wpcf7-form .wpcf7-not-valid{border-color:#e5484d !important;background:#fff6f6;}
.wpcf7-not-valid-tip{display:block;font-size:12.5px;color:#c0392b;margin-top:6px;}
/* Не отмечено согласие — обводим блок. */
.wpcf7-form.unaccepted .wpcf7-acceptance,
.wpcf7-acceptance.wpcf7-not-valid{outline:1.5px solid #e5484d;outline-offset:5px;border-radius:6px;}
/* Плашка-сообщение под кнопкой. */
.wpcf7-response-output{border-radius:10px;font-size:13.5px;margin:14px 0 0 !important;padding:12px 16px;line-height:1.4;}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output{border:1px solid #f0c4c4;background:#fff5f5;color:#c0392b;}
.wpcf7-form.sent .wpcf7-response-output{border:1px solid #b7e0c1;background:#f2fbf5;color:#1a7f37;}

/* Модальное окно записи (кнопка «Записаться» в шапке) */
.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto;}
.modal[hidden]{display:none;}
.modal__overlay{position:fixed;inset:0;background:rgba(13,30,52,.55);}
.modal__dialog{position:relative;z-index:1;width:100%;max-width:440px;margin:auto;animation:modal-in .2s ease;}
.modal__close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border:none;border-radius:50%;
  background:var(--c-bg-soft);color:var(--c-text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.modal__close:hover{background:var(--c-border-3);}
.modal__close svg{transform:rotate(45deg);}
.form-card--plain{box-shadow:var(--shadow-menu);}
@keyframes modal-in{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

/* ====================== 12. СТРАНИЦА УСЛУГИ ========================= */
.service-hero{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start;}
.service-hero h1{font-weight:800;font-size:46px;line-height:1.08;letter-spacing:-.02em;margin:0 0 18px;text-wrap:balance;}
.service-hero .lead{max-width:560px;margin-bottom:28px;}
.stats--bordered{padding:22px 0;border-top:1px solid var(--c-border-4);border-bottom:1px solid var(--c-border-4);gap:26px;}
.stats--bordered .stat__num{font-size:26px;}
.stats--bordered .stat__label{font-size:13px;}
.price-card{background:#fff;border:1px solid var(--c-border);border-radius:18px;box-shadow:var(--shadow-card-form);padding:28px;}
.price-card__label{font-size:14px;color:var(--c-text-4);margin-bottom:4px;}
.price-card__value{display:flex;align-items:baseline;gap:8px;margin-bottom:18px;}
.price-card__value .from{font-size:15px;color:var(--c-text-4);}
.price-card__value .val{font-family:var(--font-display);font-weight:800;font-size:34px;color:var(--c-head);}
.price-card__phone{display:block;text-align:center;margin-top:14px;font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--c-blue-dark);}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.two-col h2{font-weight:800;font-size:32px;margin:8px 0 18px;letter-spacing:-.01em;}
.two-col p{font-size:16px;color:var(--c-text-2);margin:0;}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.check-item{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;background:var(--c-bg-soft);border-radius:12px;font-size:14.5px;color:var(--c-nav);}
.check-item svg{flex-shrink:0;margin-top:2px;color:var(--c-blue);}

/* прайс-таблица (на странице услуги) */
.price-table{background:#fff;border:1px solid var(--c-border);border-radius:16px;overflow:hidden;max-width:840px;margin:0 auto;}
.price-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;border-bottom:1px solid var(--c-border-2);}
.price-row:last-child{border-bottom:none;}
.price-row:nth-child(even){background:#fafcfe;}
.price-row__name{font-size:15.5px;color:var(--c-nav);}
.price-row__price{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--c-head);white-space:nowrap;}

/* шаги */
.steps-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;}
.step{position:relative;flex:1 1 220px;max-width:280px;padding:28px;border:1px solid var(--c-border);border-radius:14px;}
.step__num{font-family:var(--font-display);font-weight:800;font-size:32px;color:#dce8f4;margin-bottom:10px;}
.step h3{font-weight:700;font-size:17px;margin:0 0 7px;}
.step p{font-size:14px;color:var(--c-text-3);margin:0;}

/* оборудование + противопоказания */
.equip-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.equip-detail h2{font-weight:800;font-size:30px;margin:8px 0 16px;letter-spacing:-.01em;}
.equip-detail p{font-size:16px;color:var(--c-text-2);margin:0 0 22px;}
.warn-box{background:#fff;border:1px solid var(--c-warn-border);border-radius:12px;padding:18px 20px;display:flex;gap:13px;}
.warn-box svg{flex-shrink:0;margin-top:1px;color:var(--c-warn);}
.warn-box__title{font-weight:600;color:var(--c-head);font-size:14.5px;margin-bottom:4px;}
.warn-box p{font-size:13.5px;color:var(--c-text-3);margin:0;}

/* ====================== 13. ПРАЙС-ЛИСТ ============================== */
.price-page{max-width:920px;margin:0 auto;padding:48px var(--container-pad);display:flex;flex-direction:column;gap:40px;}
.price-group__head{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.price-group__mark{width:8px;height:24px;border-radius:4px;background:var(--c-blue);display:block;}
.price-group__head h2{font-weight:800;font-size:24px;margin:0;letter-spacing:-.01em;}
.price-group__table{background:#fff;border:1px solid var(--c-border);border-radius:16px;overflow:hidden;}
.price-group__table .price-row{padding:17px 26px;}
.price-group__table .price-row:nth-child(even){background:#fff;}
.info-box{display:flex;gap:14px;align-items:flex-start;background:var(--c-bg-soft);border:1px solid var(--c-border);border-radius:14px;padding:20px 24px;}
.info-box svg{flex-shrink:0;margin-top:1px;color:var(--c-blue);}
.info-box p{font-size:14.5px;color:var(--c-text-2);margin:0;}
.info-box a{color:var(--c-blue);font-weight:600;}

/* Прайс — гибрид: чипы-якоря + аккордеон по услугам, группы внутри.
   Свёрнутое состояние ставит JS (класс .is-collapsed); без JS всё раскрыто
   и доступно для Ctrl+F и индексации. На печати раскрывается всё (см. @media print). */
.price-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.price-chips__label{font-size:13px;color:var(--c-text-4);margin-right:2px;}
.price-chip{font-size:13.5px;font-weight:500;padding:7px 14px;border:1px solid var(--c-border-3);border-radius:9px;color:var(--c-nav);background:#fff;cursor:pointer;font-family:inherit;}
.price-chip:hover{border-color:var(--c-blue);color:var(--c-blue);}
.price-chip--toggle{margin-left:auto;}
.price-acc{display:flex;flex-direction:column;gap:12px;}
.price-svc{border:1px solid var(--c-border);border-radius:16px;background:#fff;overflow:hidden;scroll-margin-top:90px;}
.price-svc__head,.price-grp__head{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;color:var(--c-head);}
.price-svc__head{padding:18px 22px;}
.price-svc__head svg,.price-grp__head svg{color:var(--c-text-4);transition:transform .18s;flex-shrink:0;}
.price-svc__name{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.01em;}
.price-svc__count{margin-left:auto;font-size:13.5px;font-weight:500;color:var(--c-text-4);white-space:nowrap;}
.price-svc__body{padding:0 22px 12px;}
.price-grp{border-top:1px solid var(--c-border-2);}
.price-grp__head{padding:14px 0;}
.price-grp__name{font-weight:600;font-size:15px;color:var(--c-nav);}
.price-grp__count{color:var(--c-text-4);font-weight:500;font-size:13px;}
.price-grp__rows .price-row{padding-left:28px;}
.price-acc .price-row{padding:13px 0;border-bottom:1px solid var(--c-border-2);}
.price-acc .price-row:nth-child(even){background:none;}
.price-flat .price-row:first-child{border-top:1px solid var(--c-border-2);}
.price-svc.is-collapsed .price-svc__body,.price-grp.is-collapsed .price-grp__rows{display:none;}
.price-svc.is-collapsed .price-svc__head svg,.price-grp.is-collapsed .price-grp__head svg{transform:rotate(-90deg);}
/* На странице услуги — без внешней «шапки услуги», в виде карточки. */
.price-acc--service{background:#fff;border:1px solid var(--c-border);border-radius:16px;padding:4px 22px;max-width:840px;margin:0 auto;}
.price-acc--service .price-grp:first-child{border-top:none;}
.price-acc--service .price-flat:first-child .price-row:first-child{border-top:none;}

/* ====================== 13б. ИССЛЕДОВАНИЕ (SEO-страница) ============ */
.exam-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.exam-fact{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--c-text-2);background:#fff;border:1px solid var(--c-border-3);border-radius:100px;padding:7px 14px;}
.exam-fact svg{color:var(--c-blue);}
.tag-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:840px;margin:0 auto;}
.tag{font-size:14px;color:var(--c-nav);background:#fff;border:1px solid var(--c-border);border-radius:10px;padding:10px 16px;}
.exam-doctor{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--c-border);border-radius:16px;padding:18px 22px;text-decoration:none;transition:border-color .15s,box-shadow .15s;}
.exam-doctor:hover{border-color:var(--c-blue);box-shadow:var(--shadow-card-form);}
.exam-doctor__photo{width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--c-badge-bg);display:flex;align-items:center;justify-content:center;color:var(--c-blue);flex-shrink:0;}
.exam-doctor__photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;}
.exam-doctor__name{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--c-head);}
.exam-doctor__role{font-size:14px;color:var(--c-blue);font-weight:600;margin-top:2px;}
.exam-doctor__exp{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--c-text-3);margin-top:6px;}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.related-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:16px 20px;transition:border-color .15s;}
.related-card:hover{border-color:var(--c-blue);}
.related-card__name{font-size:15px;font-weight:600;color:var(--c-head);}
.related-card__price{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--c-blue);white-space:nowrap;}
/* Карточки категорий/исследований (услуга → категории, категория → исследования) */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.cat-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--c-border);border-radius:16px;padding:20px;transition:border-color .15s,box-shadow .15s;}
.cat-card:hover{border-color:var(--c-blue);box-shadow:var(--shadow-card-form);}
.cat-card__top{display:flex;align-items:center;gap:10px;}
.cat-card__top svg{color:var(--c-blue);flex-shrink:0;}
.cat-card__name{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--c-head);}
.cat-card__sub{font-size:13.5px;color:var(--c-text-3);line-height:1.45;flex:1;}
.cat-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:4px;}
.cat-card__price{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--c-blue);}
.cat-card__foot svg{color:var(--c-text-4);}

/* ====================== 14. ВРАЧИ =================================== */
.doctors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.doctor-card{background:#fff;border:1px solid var(--c-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;}
.doctor-card:hover{border-color:var(--c-blue);box-shadow:var(--shadow-card-form);}
.doctor-card__photo{width:100%;aspect-ratio:3/4;background:var(--c-border-2);object-fit:cover;object-position:center 22%;display:block;}
.doctor-card__body{padding:24px;display:flex;flex-direction:column;gap:8px;flex:1;}
.doctor-card h3{font-weight:700;font-size:19px;margin:0;color:var(--c-head);}
.doctor-card__role{font-size:14.5px;color:var(--c-blue);font-weight:600;margin:0;}
.doctor-card__exp{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:8px;color:var(--c-text-3);font-size:13.5px;}
/* страница одного врача */
.doctor-single{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start;}
.doctor-single__photo{width:100%;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:var(--c-border-3);}
.doctor-single__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.doctor-single__photo.media-slot--placeholder{display:flex;align-items:center;justify-content:center;color:var(--c-text-4);font-size:14px;min-height:320px;}
.doctor-single__info h1{font-weight:800;font-size:38px;line-height:1.1;letter-spacing:-.02em;margin:0 0 10px;}
.doctor-single__role{font-size:17px;color:var(--c-blue);font-weight:600;margin:0 0 12px;}
.doctor-single__exp{display:inline-flex;align-items:center;gap:7px;font-size:15px;color:var(--c-text-3);margin-bottom:8px;}
.doctor-block{margin-bottom:28px;}
.doctor-block h2{font-weight:800;font-size:22px;margin:0 0 10px;letter-spacing:-.01em;}
.doctor-block p{color:var(--c-text-2);line-height:1.7;margin:0 0 10px;}
.doctor-block p:last-child{margin-bottom:0;}
/* Блоки стоят в шапке рядом с фото: ширину ограничиваем, иначе строка
   тянется на всю колонку и читать неудобно. Плашки навыков делаем белыми —
   мягкий фон совпадает с градиентом шапки и пропадает. */
.doctor-single__info .doctor-block{max-width:660px;margin:24px 0 0;}
.doctor-single__info .check-item{background:#fff;border:1px solid var(--c-border-3);}

/* ====================== 15. О КОМПАНИИ ============================== */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.about-intro h2{font-weight:800;font-size:32px;margin:8px 0 18px;letter-spacing:-.01em;text-wrap:balance;}
.about-intro p{font-size:16px;color:var(--c-text-2);margin:0 0 16px;}
.stats-band{background:var(--c-blue-dark);}
.stats-band__inner{padding:56px var(--container-pad);max-width:var(--container);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center;}
.stats-band__num{font-family:var(--font-display);font-weight:800;font-size:42px;color:#fff;}
.stats-band__label{font-size:14.5px;color:var(--c-foot-text);margin-top:6px;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.value-card{background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:30px;}
.value-card svg{color:var(--c-blue);}
.value-card h3{font-weight:700;font-size:18px;margin:18px 0 8px;}
.value-card p{font-size:14.5px;color:var(--c-text-3);margin:0;}
.license-single{max-width:320px;}
.license-doc{display:block;border:1px solid var(--c-border);border-radius:12px;background:#fff;overflow:hidden;}
.license-doc img{display:block;width:100%;height:auto;}
.license-doc__link{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;color:var(--c-blue);font-weight:600;font-size:14px;border-top:1px solid var(--c-border);white-space:nowrap;}
.license-doc:hover .license-doc__link{background:var(--c-bg-soft);}

/* ====================== 16. КОНТАКТЫ =============================== */
.contacts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px;}
.contact-card{background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:26px;}
.contact-card__icon{width:46px;height:46px;border-radius:12px;background:var(--c-badge-bg);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--c-blue);}
.contact-card__label{font-weight:600;color:var(--c-head);margin-bottom:6px;}
.contact-card__val{font-size:14.5px;color:var(--c-text-3);}
.contact-card a.contact-card__val{color:var(--c-blue);font-weight:600;}
.contacts-main{display:grid;grid-template-columns:1fr 420px;gap:24px;background:#fff;border:1px solid var(--c-border);border-radius:18px;overflow:hidden;}
.contacts-main .map-embed{min-height:480px;}
.contacts-form{padding:36px;border-left:1px solid var(--c-border-2);}
.contacts-form h2{font-weight:700;font-size:22px;margin:0 0 6px;}

/* ====================== 17. FAQ ==================================== */
.faq-page{max-width:860px;margin:0 auto;padding:48px var(--container-pad);}
.faq-list{display:flex;flex-direction:column;gap:14px;}
.faq-item{background:#fff;border:1px solid var(--c-border);border-radius:14px;overflow:hidden;}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;
  background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;}
.faq-q span:first-child{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--c-head);}
.faq-q__icon{width:30px;height:30px;border-radius:8px;background:var(--c-badge-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--c-blue);}
.faq-q__icon .minus{display:none;}
.faq-item.is-open .faq-q__icon .minus{display:block;}
.faq-item.is-open .faq-q__icon .plus{display:none;}
.faq-a{display:none;padding:0 26px 24px;}
.faq-item.is-open .faq-a{display:block;}
.faq-a p{font-size:15.5px;color:var(--c-text-2);margin:0;line-height:1.6;text-wrap:pretty;}
.faq-cta{margin-top:36px;background:var(--c-bg-soft);border:1px solid var(--c-border);border-radius:16px;padding:32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.faq-cta h3{font-weight:800;font-size:21px;margin:0 0 6px;}
.faq-cta p{font-size:15px;color:var(--c-text-3);margin:0;}

/* ====================== 18. АДАПТИВНОСТЬ =========================== */
@media (max-width:1100px){
  .hero__inner{grid-template-columns:1fr;gap:36px;}
  .service-hero{grid-template-columns:1fr;gap:36px;}
  .contacts-main{grid-template-columns:1fr;}
  .contacts-form{border-left:none;border-top:1px solid var(--c-border-2);}
  .feature-grid,.licenses-grid,.contacts-grid{grid-template-columns:repeat(2,1fr);}
  .steps-grid{grid-template-columns:repeat(2,1fr);}
  .stats-band__inner{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .main-nav,.header-phone span{display:none;}
  .nav-toggle{display:flex;}
  .header-main{justify-content:flex-start;gap:14px;}
  .header-contacts{margin-left:auto;}
  .main-nav.is-open{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;
    border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-menu);padding:8px 0;}
  .main-nav.is-open ul{flex-direction:column;align-items:stretch;gap:0;}
  .main-nav.is-open a{padding:14px 24px;border-radius:0;}
  .main-nav.is-open .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 0 24px;}
  .services-grid,.doctors-grid,.values-grid,.equip,.two-col,.about-intro,.equip-detail,.map-card{grid-template-columns:1fr;}
  .promo-card{grid-column:auto;}
  .equip,.two-col,.about-intro,.equip-detail{gap:32px;}
  .footer-top{grid-template-columns:1fr 1fr;}
}
/* Режим для слабовидящих реализован плагином «Button visually impaired»
   (кнопка .bvi-open в шапке). Собственных стилей a11y-mode больше нет. */

@media (max-width:680px){
  .topbar__inner span:first-child{display:none;}
  /* Верхняя строка на мобильных: слева только «глаз» (без подписи), справа — кликабельный
     телефон. E-mail убираем. Строка приклеена к верху вместе со всей шапкой (sticky),
     поэтому телефон не исчезает при скролле. */
  .topbar__email{display:none;}
  .eye-btn__label{display:none;}
  .eye-btn{gap:0;}
  .topbar__right{width:100%;justify-content:space-between;gap:0;}
  .topbar__phone{display:inline-block;font-weight:700;font-size:14px;color:var(--c-blue);}
  .hero h1{font-size:34px;}
  .page-hero h1,.service-hero h1{font-size:32px;}
  .section-head h2,.cta-band h2{font-size:26px;}
  .section{padding:36px 0;}
  .feature-grid,.licenses-grid,.contacts-grid,.steps-grid,.check-grid,.stats-band__inner{grid-template-columns:1fr;}
  /* На мобильных: в шапке остаётся бургер + бренд + компактная «Записаться»;
     номер телефона выводится плавающей кнопкой-трубкой (.call-fab) — приподнята над
     нижним краем и отодвинута от угла, чтобы не липла к краям экрана. */
  .header-phone{display:none;}
  .header-main .btn--primary{padding:10px 14px;font-size:13.5px;}
  .brand__sub{display:none;}
  .brand__name{font-size:16px;}
  .brand img{height:38px;}
  .call-fab{display:flex;right:20px;bottom:80px;}
  .footer-top{grid-template-columns:1fr;gap:28px;}
  /* Прайс на мобильных: компактнее, чипы переносятся, цены не липнут к названию */
  .price-page{padding:40px var(--container-pad);gap:24px;}
  .price-chips{gap:6px;}
  .price-chips__label{width:100%;margin:0 0 2px;}
  .price-chip--toggle{margin-left:0;}
  .price-svc__head{padding:15px 16px;}
  .price-svc__name{font-size:17px;}
  .price-svc__body{padding:0 16px 10px;}
  .price-acc--service{padding:2px 16px;}
  .price-grp__rows .price-row{padding-left:14px;}
  .price-row{align-items:flex-start;gap:14px;}
  .price-row__name{font-size:14px;}
  .price-row__price{font-size:15px;}
  .exam-doctor{flex-direction:column;align-items:flex-start;gap:12px;}
  .tag-list{justify-content:flex-start;}
  .doctor-single{grid-template-columns:1fr;gap:22px;}
  .doctor-single__photo{max-width:280px;}
  .doctor-single__info h1{font-size:30px;}
}

/* Печать прайса: раскрыть все услуги и группы, спрятать чипы/стрелки. */
@media print{
  .price-chips,.price-svc__head svg,.price-grp__head svg{display:none;}
  .price-svc.is-collapsed .price-svc__body,.price-grp.is-collapsed .price-grp__rows{display:block;}
  .price-svc,.price-acc--service{border-color:#ccc;}
}
