/* ═══════════════════════════════════════════════════════════════
   АПОЛЛОНИЯ — тема поверх базового style.css
   Палитра снята с макета Figma (wE7k7pVYiUQTDFRcpxyU7D):
     тёмный кофе  #33271a   — hero и тёмные секции
     золото       #c4a33f   — акцент, иконки, кнопки, надзаголовки
     крем         #f7f1e4   — фон внутренних страниц и текст на тёмном
     охра         #916d3b   — курсивный акцент в заголовках
     линия        #d9c6a3   — границы на светлом
   Типографика: Playfair Display (заголовки, есть курсив) + PT Sans (текст).
   ═══════════════════════════════════════════════════════════════ */

:root{
    /* ── собственные токены Аполлонии ── */
    --ap-dark:#33271a;
    --ap-dark-2:#2a2016;
    --ap-gold:#c4a33f;
    --ap-gold-d:#a8892f;
    --ap-ochre:#916d3b;
    --ap-brown:#6b4e2e;      /* телефон и кнопка в хедере */
    --ap-header-bg:rgba(251,247,238,.95);
    --ap-cream:#f7f1e4;
    --ap-line:#d9c6a3;

    /* текст на светлом (макет задаёт его как прозрачность тёмного) */
    --ap-ink:#33271a;
    --ap-ink-60:rgba(51,39,26,.6);
    --ap-ink-50:rgba(51,39,26,.5);
    --ap-ink-35:rgba(51,39,26,.35);

    /* на тёмном */
    --ap-on-dark:#f7f1e4;
    --ap-on-dark-55:rgba(247,241,228,.55);
    --ap-on-dark-30:rgba(247,241,228,.3);
    --ap-overlay:rgba(51,39,26,.65);

    /* ── переопределение базовых переменных style.css ──
       чтобы готовые компоненты s-* сразу получили тему Аполлонии ── */
    --gold:var(--ap-gold);
    --gold-d:var(--ap-gold-d);
    --gold-dd:var(--ap-ochre);

    --espresso:var(--ap-dark);
    --espresso-2:var(--ap-dark-2);
    --espresso-3:#1e1710;

    --bg:var(--ap-cream);
    --bg-soft:#fbf7ee;
    --bg-cream:var(--ap-cream);
    --panel:#fffdf8;

    --heading:var(--ap-ink);
    --text:var(--ap-ink-60);
    --muted:var(--ap-ink-35);

    --line:var(--ap-line);
    --border:var(--ap-line);
    --border-2:#c9b28a;

    --font-display:'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-italic:'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-text:'PT Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-label:'PT Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --container:1280px;          /* в макете контейнер 1280 + паддинг 24 */

    /* Радиусы строго из макета (проверено по узлам Figma 04.09.2026):
         2px  — чекбокс согласия                     11:6700
         8px  — плитка «направления работы»          16:151
         12px — карточки, поля ввода, панели         11:6291 / 11:6683 / 16:73
         16px — крупные панели: форма, карта,
                аккордеон прайса, карточка новости   11:6663 / 27:3710 / 20:1914 / 40:50
         999px— ВСЕ кнопки, теги, бейджи, круглые
                иконки и стрелки слайдера            (в Figma это 33554400px = max) */
    --radius-xs:2px;
    --radius-sm:8px;
    --radius:12px;
    --radius-lg:16px;
    --radius-pill:999px;

    /* фон под фото-заглушками в карточках (Figma 11:6292) */
    --ap-img-bg:#e7d8bb;
    --ap-card:#f7f1e4;           /* фон карточки на светлой секции */
    --ap-sec-soft:#fbf7ee;       /* фон светлой секции */
    --ap-shadow-card:0 4px 20px rgba(51,39,26,.08);
    --ap-credit:#ceb420;         /* лого «Веб-Команда» в футере (Figma 11:5523) */

    /* трекинги из макета: надзаголовок 0.45em, крошки 0.5em, кнопка 0.1em */
    --track-eyebrow:.45em;
    --track-crumbs:.5em;
    --track-btn:.1em;

    /* легаси-алиасы: в шаблонах ещё много классов lk-* из скелета */
    --lk-navy:var(--ap-dark);
    --lk-navy-2:var(--ap-dark-2);
    --lk-heading:var(--ap-ink);
    --lk-accent:var(--ap-gold);
    --lk-accent-d:var(--ap-gold-d);
    --lk-text:var(--ap-ink-60);
    --lk-muted:var(--ap-ink-35);
    --lk-soft:#fbf7ee;
    --lk-border:var(--ap-line);
    --lk-radius:var(--radius);
    --lk-shadow:0 8px 28px rgba(51,39,26,.08);
}

/* ═══ РАДИУСЫ ═══════════════════════════════════════════════════════
   Сквозного сброса радиусов больше нет: в макете скруглены и карточки
   (12/16px), и кнопки (таблетки). Значение берётся из токенов выше и
   объявляется в правиле самого компонента — одно место на компонент.
   Базовая тема style.css радиусов не ставит, поэтому здесь же подводим
   под макет её кнопки/поля и виджеты с CDN (Tom Select, Splide). */
.s-btn,.s-btn--outline,.s-btn--gold,.s-btn--ghost{ border-radius:var(--radius-pill); }
.s-btn .s-btn-loader{ border-radius:var(--radius-pill); }
.s-cookie{ border-radius:var(--radius-lg); }
.s-cookie-icon{ border-radius:var(--radius-pill); }
.ts-control,.ts-wrapper.single .ts-control{ border-radius:var(--radius); }
.ts-dropdown{ border-radius:var(--radius); }
.ts-wrapper.multi .ts-control > .item{ border-radius:var(--radius-pill); }
.splide__pagination__page{ border-radius:var(--radius-pill); }
.s-mobnav-close,.s-footer-social a{ border-radius:var(--radius-pill); }
.s-skip-link{ border-radius:var(--radius-pill); }   /* всплывает по Tab — такая же таблетка */

body{ font-family:var(--font-text); color:var(--ap-ink-60); background:var(--ap-cream); }

/* курсивный акцент в заголовках — как в макете: Playfair Italic, охра */
.it,.is-italic{ font-family:var(--font-italic); font-style:italic; color:var(--ap-ochre); }
h1 .it,.s-h1 .it,.lk-h1 .it{ color:var(--ap-ochre); }
/* на тёмном фоне курсив — золотой (hero: «улыбки») */
.s-dark .it,.ap-dark .it{ color:var(--ap-gold); }

/* ── Надзаголовок «СТОМАТОЛОГИЯ» / «ЧТО МЫ ПРЕДЛАГАЕМ» ── */
.ap-eyebrow{
    font-family:var(--font-label); font-size:11px; line-height:16.5px;
    letter-spacing:var(--track-eyebrow); text-transform:uppercase;
    color:var(--ap-gold); margin:0;
}
.ap-eyebrow--dark{ color:rgba(196,163,63,.7); font-size:18.4px; letter-spacing:.55em; }

/* ── Кнопки-таблетки ── */
.ap-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:16px 36px; border-radius:var(--radius-pill);
    font-family:var(--font-label); font-size:14px; line-height:20px;
    letter-spacing:var(--track-btn); text-decoration:none; cursor:pointer;
    border:1px solid transparent; transition:.25s var(--ease);
}
.ap-btn--gold{ background:var(--ap-gold); color:var(--ap-dark); }
.ap-btn--gold:hover{ background:var(--ap-gold-d); color:var(--ap-dark); }
.ap-btn--ghost{ background:transparent; color:var(--ap-on-dark); border-color:var(--ap-on-dark-30); }
.ap-btn--ghost:hover{ border-color:var(--ap-gold); color:var(--ap-gold); }
.ap-btn--ink{ background:var(--ap-dark); color:var(--ap-cream); }
.ap-btn--ink:hover{ background:var(--ap-dark-2); color:var(--ap-cream); }

/* ── Хлебные крошки ── */
.ap-crumbs{
    display:flex; align-items:center; gap:12px; flex-wrap:wrap;
    font-family:var(--font-label); font-size:10px; line-height:15px;
    letter-spacing:var(--track-crumbs); text-transform:uppercase;
}
.ap-crumbs a{ color:var(--ap-ink-35); text-decoration:none; }
.ap-crumbs a:hover{ color:var(--ap-gold); }
.ap-crumbs [aria-current]{ color:var(--ap-ink-60); }

/* ── Подвал всегда прижат к низу (правило чек-листа) ── */
body{ min-height:100dvh; display:flex; flex-direction:column; }
main{ flex:1 0 auto; }
.s-footer,.lk-footer{ margin-top:auto; flex-shrink:0; }

/* ── Топбар (перекрашивается под тему Аполлонии в задаче 7) ── */
.lk-topbar{ background:var(--lk-navy); font-size:12px; font-family:var(--font-label); padding:8px 0; }
.lk-topbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.lk-topbar-phones{ display:flex; gap:20px; flex-wrap:wrap; }
.lk-topbar a{ color:#a8c5e0; text-decoration:none; display:inline-flex; align-items:center; gap:6px; line-height:16px; }
.lk-topbar a:hover{ color:#fff; }
.lk-topbar-ico{ width:11px; height:11px; display:block; }

/* ── Шапка (Figma 142:26: статичная белая, бордер + мягкая тень) ── */
.lk-header{
    position:static;
    background:#fff;
    border-bottom:1px solid #e8edf5;
    box-shadow:0 1px 6px rgba(11,31,78,.05);
}
.lk-header .s-header-inner{ height:76px; }
.lk-header .s-logo-img{ height:44px; }
.lk-header .s-nav{ gap:32px; }
.lk-header .s-nav-list{ gap:32px; }
.lk-header .s-nav-link{
    font-family:var(--font-label); font-size:14px; font-weight:500;
    letter-spacing:0; color:#64748b; padding:4px 0 7px;
}
.lk-header .s-nav-link::after{ background:#0b1f4e; height:1.4px; }
.lk-header .s-nav-link:hover{ color:#0b1f4e; }
.lk-header .s-nav-link.is-active{ color:#0b1f4e; font-weight:700; }
.lk-header .s-nav-link.is-active::after{ right:0; }
.lk-header .s-btn{
    background:var(--lk-navy); border-color:var(--lk-navy); color:#fff;
    border-radius:var(--radius-pill); padding:10px 20px;
    font-family:var(--font-label); font-size:14px; font-weight:600;
    text-transform:none; letter-spacing:0;
}
.lk-header .s-btn:hover{ background:var(--lk-navy-2); border-color:var(--lk-navy-2); }
.lk-header .s-burger span{ background:#0b1f4e; }
/* шапка статичная — is-stuck не нужен */
.lk-header.is-stuck{ background:#fff; backdrop-filter:none; }

/* ── Типографика/общие ──────────────────────────────────────── */
.lk-h1{ font-family:var(--font-display); font-weight:700; font-size:clamp(32px,3.4vw,48px); line-height:1.18; color:#fff; margin:14px 0 0; }
.lk-h1::after{ content:''; display:block; width:64px; height:3px; background:#fff; border-radius:0; margin-top:22px; }
.lk-h2{ font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3vw,38px); line-height:1.2; color:var(--lk-heading); margin:12px 0 0; }
.lk-eyebrow{
    display:inline-flex; align-items:center; gap:12px; margin:0;
    font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--lk-accent);
}
.lk-eyebrow--light{ color:#c9d6ee; text-transform:none; letter-spacing:.02em; font-weight:400; font-size:13px; }
.lk-eyebrow-line{ display:inline-block; width:34px; height:2px; background:currentColor; border-radius:0; }

.lk-section{ padding:76px 0; background:#fff; }
.lk-section--soft{ background:var(--lk-soft); }
.lk-sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; flex-wrap:wrap; }
.lk-sec-head--center{ flex-direction:column; align-items:center; text-align:center; }

.lk-link-arrow{
    display:inline-flex; align-items:center; gap:8px; color:var(--lk-accent);
    font-size:15px; font-weight:500; text-decoration:none; white-space:nowrap;
}
.lk-link-arrow:hover{ color:var(--lk-accent-d); text-decoration:underline; }
.lk-link-arrow--sm{ font-size:14px; }
.lk-link-arrow i{ transition:transform .2s; }
.lk-link-arrow:hover i{ transform:translateX(4px); }

/* ── Кнопки ─────────────────────────────────────────────────── */
.lk-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:13px 28px; border-radius:var(--radius-pill); font-size:15px; font-weight:500;
    text-decoration:none; border:1px solid transparent; cursor:pointer;
    transition:background .2s, color .2s, border-color .2s;
}
.lk-btn--accent{ background:var(--lk-accent); color:#fff; }
.lk-btn--accent:hover{ background:var(--lk-accent-d); color:#fff; }
.lk-btn--navy{ background:var(--lk-navy); color:#fff; text-transform:uppercase; font-size:13px; letter-spacing:.14em; }
.lk-btn--navy:hover{ background:var(--lk-navy-2); color:#fff; }
.lk-btn--ghost{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.35); backdrop-filter:blur(2px); }
.lk-btn--ghost:hover{ background:rgba(255,255,255,.22); color:#fff; }
.lk-btn--white{ background:#fff; color:var(--lk-heading); }
.lk-btn--white:hover{ background:#e9eef8; color:var(--lk-heading); }
.lk-btn--outline{
    background:#f6f8fc; color:var(--lk-navy); border-color:var(--lk-border);
    text-transform:uppercase; font-size:13px; letter-spacing:.14em;
}
.lk-btn--outline:hover{ border-color:var(--lk-navy); color:var(--lk-navy); background:#fff; }
.lk-btn--block{ width:100%; }

/* ── HERO ───────────────────────────────────────────────────── */
.lk-hero{
    position:relative; display:flex; align-items:center; min-height:640px;
    /* Оригинал интерьера из Figma (142:532) */
    background:#0c1f4e url('../img/hero.webp') center/cover no-repeat;
    padding:80px 0;
}
.lk-hero::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(10,24,58,.78) 0%, rgba(10,24,58,.62) 45%, rgba(12,28,66,.45) 100%);
    pointer-events:none;
}
.lk-hero .s-container{ position:relative; z-index:1; }
.lk-hero-inner{ position:relative; z-index:1; max-width:680px; }
.lk-hero-sub{ margin:22px 0 0; max-width:440px; color:#cdd8ec; font-size:16px; line-height:1.65; }
.lk-hero-btns{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }

/* ── Карточки услуг ─────────────────────────────────────────── */
.lk-services-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.lk-service-card{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    overflow:hidden; box-shadow:var(--lk-shadow); display:flex; flex-direction:column;
}
.lk-service-photo{
    position:relative; aspect-ratio:1/1.05;
    /* TODO(Figma): фото направлений из макета */
    background:linear-gradient(160deg,#dfe9f6 0%,#c7d8ef 100%);
}
.lk-service-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.lk-service-icon{
    position:absolute; left:15px; bottom:-37px; width:75px; height:75px; border-radius:var(--radius-pill);
    background:#fff; box-shadow:0 4px 16px rgba(13,37,93,.14);
    display:flex; align-items:center; justify-content:center;
}
.lk-service-icon img{ width:44px; height:44px; object-fit:contain; }
.lk-service-body{ padding:52px 20px 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
.lk-service-title{ font-size:19px; font-weight:600; color:var(--lk-heading); margin:0; line-height:1.3; }
.lk-service-desc{ font-size:14px; line-height:1.55; color:var(--lk-text); margin:0; flex:1; }

/* ── Преимущества ───────────────────────────────────────────── */
.lk-adv-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.lk-adv-card{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    padding:30px 18px; text-align:center; box-shadow:var(--lk-shadow);
}
.lk-adv-icon{ display:flex; align-items:center; justify-content:center; height:128px; }
.lk-adv-icon img{ width:120px; height:120px; object-fit:contain; }
.lk-adv-title{
    font-size:13px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
    color:var(--lk-heading); margin:14px 0 0; line-height:1.5;
}
.lk-adv-text{ font-size:14px; line-height:1.55; color:var(--lk-text); margin:10px 0 0; }

/* ── Врачи ──────────────────────────────────────────────────── */
.lk-doctors-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.lk-doctor-card{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    overflow:hidden; box-shadow:var(--lk-shadow); display:flex; flex-direction:column;
}
.lk-doctor-photo{ position:relative; display:block; aspect-ratio:1/1.1; background:#e7edf6; }
.lk-doctor-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.lk-doctor-avatar{
    display:flex; width:100%; height:100%; align-items:center; justify-content:center;
    font-size:56px; font-weight:600; color:#fff;
    background:linear-gradient(160deg,#28437f 0%,#122a63 100%);
}

/* ── Единая заглушка-аватар врача (эмодзи-врач по полу), одна стилистика ── */
.lk-doctor-ph{
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    background:linear-gradient(160deg,#e9f0fa 0%,#d5e2f3 100%);
}
.lk-doctor-ph-emoji{ line-height:1; filter:drop-shadow(0 4px 10px rgba(11,31,78,.18)); }
/* карточка в сетке — во всю плитку */
.lk-doctor-ph--card{ width:100%; height:100%; }
.lk-doctor-ph--card .lk-doctor-ph-emoji{ font-size:96px; }
/* шапка страницы врача — контейнер 150×172 */
.lk-doctor-ph--hero{ width:100%; height:100%; }
.lk-doctor-ph--hero .lk-doctor-ph-emoji{ font-size:72px; }
.lk-doctor-badge{
    position:absolute; left:16px; bottom:16px; padding:7px 14px; border-radius:var(--radius-pill);
    background:rgba(255,255,255,.95); color:var(--lk-heading);
    font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
}
.lk-doctor-body{ padding:20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.lk-doctor-name{ font-size:17px; font-weight:600; margin:0; line-height:1.35; }
.lk-doctor-name a{ color:var(--lk-heading); text-decoration:none; }
.lk-doctor-name a:hover{ color:var(--lk-accent); }
.lk-doctor-role{ font-size:13px; letter-spacing:.06em; color:var(--lk-muted); margin:0; }
.lk-doctor-spec{ font-size:14px; line-height:1.5; color:var(--lk-text); margin:0; flex:1; }
.lk-doctor-body .lk-btn{ margin-top:8px; }

/* ── CTA-баннер ─────────────────────────────────────────────── */
.lk-cta{
    display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:36px; align-items:center;
    background:var(--lk-navy-2) url('../img/cta-bg.webp') center/cover no-repeat;
    border-radius:var(--radius-lg); padding:48px 52px; color:#fff;
}
.lk-cta-title{ font-family:var(--font-display); font-size:clamp(22px,2.4vw,32px); font-weight:700; line-height:1.25; margin:0; color:#fff; }
.lk-cta-sub{ margin:14px 0 0; color:#c3cfe8; font-size:15px; line-height:1.6; }
.lk-cta-left .lk-btn{ margin-top:24px; }
.lk-cta-stats{ display:grid; grid-template-columns:1fr 1fr; gap:26px 18px; align-items:center; padding-left:36px; border-left:1px solid rgba(255,255,255,.18); }
.lk-cta-stat--wide{ grid-column:2; grid-row:1 / span 2; align-self:center; }
.lk-cta-stats .lk-cta-stat:nth-child(1){ grid-column:1; grid-row:1; }
.lk-cta-stats .lk-cta-stat:nth-child(2){ grid-column:1; grid-row:2; }
.lk-cta-num{ font-family:var(--font-display); font-size:clamp(30px,3vw,44px); font-weight:700; line-height:1; }
.lk-cta-label{ margin-top:6px; font-size:12px; letter-spacing:.06em; color:#b7c4e2; }
.lk-cta-review{
    background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
    border-radius:var(--radius); padding:26px;
}
.lk-cta-stars{ color:#f4c534; font-size:17px; display:flex; gap:5px; margin-bottom:14px; }
.lk-cta-review-text{ font-size:15px; line-height:1.6; margin:0; color:#fff; }
.lk-cta-review-author{ margin:18px 0 0; font-weight:600; font-size:14px; color:#fff; }
.lk-cta-review-date{ margin:2px 0 0; font-size:12px; color:#9fb0d4; }

/* ── Контакты ───────────────────────────────────────────────── */
/* ── Надзорные органы ── */
.lk-supervisors{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; align-items:stretch; }
.lk-supervisor{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    box-shadow:var(--lk-shadow); padding:26px 28px; min-height:120px;
    display:flex; align-items:center; justify-content:center;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lk-supervisor:hover{ transform:translateY(-3px); border-color:var(--lk-accent); box-shadow:0 12px 28px rgba(0,0,0,.10); }
.lk-supervisor img{ max-width:100%; max-height:64px; width:auto; height:auto; object-fit:contain; }
@media (max-width:768px){ .lk-supervisors{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media (max-width:480px){ .lk-supervisors{ grid-template-columns:1fr; } }

.lk-contacts-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; align-items:stretch; }
.lk-branch-card{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    box-shadow:var(--lk-shadow); padding:22px; display:flex; flex-direction:column; gap:14px;
}
.lk-branch-title{ font-size:15px; font-weight:600; letter-spacing:.04em; color:var(--lk-heading); margin:0; }
.lk-branch-map{ border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:1.5/1; background:var(--lk-soft); }
.lk-branch-map iframe{ width:100%; height:100%; border:0; display:block; }
.lk-branch-tel{ color:var(--lk-heading); font-size:14px; font-weight:500; text-decoration:none; display:flex; align-items:center; gap:9px; }
.lk-branch-tel:hover{ color:var(--lk-accent); }
.lk-branch-hours{ color:var(--lk-muted); font-size:13px; display:flex; align-items:center; gap:9px; margin:0; flex:1; }
.lk-questions-card{ gap:16px; }
.lk-questions-title{ font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--lk-heading); margin:0; }
.lk-questions-sub{ font-size:14px; line-height:1.55; color:var(--lk-text); margin:0; }
.lk-questions-list{ display:flex; flex-direction:column; gap:12px; flex:1; }
.lk-questions-list a{
    color:var(--lk-heading); font-size:14px; font-weight:500; text-decoration:none;
    display:flex; align-items:center; gap:10px;
}
.lk-questions-list a:hover{ color:var(--lk-accent); }

/* ── Футер ──────────────────────────────────────────────────── */
.lk-footer{ background:var(--lk-navy); }
.lk-footer-grid{ grid-template-columns:1.3fr 0.8fr 1.2fr 1.1fr; }
.lk-footer-branches{ display:flex; flex-direction:column; gap:16px; }
.lk-footer-branch{ display:flex; flex-direction:column; gap:4px; }
.lk-footer-addr{ color:#fff; font-size:14px; display:flex; gap:8px; align-items:flex-start; }
.lk-footer-hours{ color:#9fb0d4; font-size:12.5px; padding-left:22px; }
.lk-footer-tel{ color:#8fb4ec !important; font-size:13.5px; text-decoration:none; display:flex; gap:8px; align-items:center; padding-left:22px; }
.lk-footer-tel:hover{ text-decoration:underline; }
.lk-footer-req{
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
    border-radius:var(--radius); padding:18px; display:flex; flex-direction:column; gap:12px;
}
.lk-footer-req-row{ display:flex; justify-content:space-between; gap:12px; font-size:13px; }
.lk-footer-req-row span{ color:#9fb0d4; }
.lk-footer-req-row b{ color:#fff; font-weight:600; text-align:right; }
.lk-footer-req-mail{ color:#8fb4ec; font-size:13px; text-decoration:none; display:flex; gap:8px; align-items:center; border-top:1px solid rgba(255,255,255,.12); padding-top:12px; }
.lk-footer-req-mail:hover{ text-decoration:underline; }
.lk-footer-policies{ display:flex; gap:20px; flex-wrap:wrap; align-items:center; }

/* ── Мобильное меню: блок контактов ─────────────────────────── */
.lk-mobnav-contacts{ display:flex; flex-direction:column; gap:14px; margin:18px 0; }
.lk-mobnav-branch{ display:flex; flex-direction:column; gap:5px; padding-bottom:12px; border-bottom:1px solid var(--lk-border); }
.lk-mobnav-addr, .lk-mobnav-tel, .lk-mobnav-mail{
    color:var(--lk-heading); font-size:14px; text-decoration:none;
    display:flex; gap:9px; align-items:flex-start;
}
.lk-mobnav-tel{ color:var(--lk-accent); font-weight:500; }
.lk-mobnav-hours{ color:var(--lk-muted); font-size:12.5px; display:flex; gap:9px; margin:0; }
.lk-mobnav-social{ display:flex; gap:12px; }
.lk-mobnav-social a{ color:var(--lk-navy); font-size:20px; }

/* ── Форма: согласие ПДн (чекбокс над кнопкой, оба на всю ширину) ── */
.s-form-foot{ display:flex; flex-direction:column; align-items:stretch; gap:14px; }
.s-form-foot .s-btn, .s-form-foot .lk-btn{ width:100%; }
.s-consent{ display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--lk-muted); cursor:pointer; }
.s-consent input{ width:17px; height:17px; margin-top:1px; accent-color:var(--lk-navy); flex:none; }
.s-consent a{ color:var(--lk-accent); }

/* ── Окно «Спасибо за заявку!» ──────────────────────────────── */
.s-modal-dialog--thanks{ text-align:center; max-width:420px; }
.s-thanks-icon{
    width:72px; height:72px; margin:0 auto 18px; border-radius:var(--radius-pill);
    background:var(--lk-soft); color:var(--lk-navy); font-size:36px;
    display:flex; align-items:center; justify-content:center;
}
.s-thanks-text{ color:var(--lk-text); margin:10px 0 22px; }

/* ── Адаптив ────────────────────────────────────────────────── */
@media (max-width: 1199px){
    .lk-services-grid, .lk-doctors-grid, .lk-contacts-grid{ grid-template-columns:repeat(2,1fr); }
    .lk-adv-grid{ grid-template-columns:repeat(3,1fr); }
    .lk-cta{ grid-template-columns:1fr 1fr; }
    .lk-cta-review{ grid-column:1 / -1; }
}
@media (max-width: 767px){
    .lk-section{ padding:52px 0; }
    /* в мобильном макете топбара нет — контакты в бургер-меню */
    .lk-topbar{ display:none; }
    .lk-h1{ font-size:27px; line-height:1.25; overflow-wrap:anywhere; }
    .lk-hero{ min-height:480px; }
    .lk-services-grid, .lk-doctors-grid, .lk-contacts-grid, .lk-adv-grid{ grid-template-columns:1fr; }
    .lk-cta{ grid-template-columns:1fr; padding:32px 24px; }
    .lk-cta-stats{ padding-left:0; border-left:0; border-top:1px solid rgba(255,255,255,.18); padding-top:24px; }
    .lk-hero{ min-height:520px; }
    .lk-sec-head{ align-items:flex-start; flex-direction:column; }
    .lk-footer-grid{ grid-template-columns:1fr; }
}

/* ═══ Страница «Все услуги» (Figma 143:11248 / 146:12526) ═══ */

/* хлебные крошки */
.lk-crumbs{ background:var(--lk-soft); border-bottom:1px solid var(--lk-border); font-size:13px; padding:10px 0; }
.lk-crumbs .s-container{ display:flex; align-items:center; gap:10px; }
.lk-crumbs a{ color:var(--lk-muted); text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.lk-crumbs a:hover{ color:var(--lk-navy); }
.lk-crumbs span{ color:var(--lk-heading); }

/* синий баннер с фото справа */
.lk-page-hero{ position:relative; background:var(--lk-navy); color:#fff; overflow:hidden; }
.lk-page-hero-inner{ display:flex; align-items:center; min-height:300px; padding:56px 0; }
.lk-page-hero-text{ max-width:56%; position:relative; z-index:2; }
.lk-eyebrow--hero{ color:#8fb4ec; }
.lk-page-hero-title{ font-family:var(--font-display); font-weight:700; font-size:clamp(30px,3.4vw,44px); margin:12px 0 0; color:#fff; }
.lk-page-hero-sub{ margin:10px 0 0; color:#c3cfe8; font-size:15px; }
.lk-page-hero-photo{ position:absolute; top:0; right:0; bottom:0; width:40%; }
.lk-page-hero-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.lk-page-hero-photo::before{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, var(--lk-navy) 0%, rgba(18,42,99,0) 40%); }

/* поиск */
.lk-search{ display:flex; gap:0; margin-bottom:28px; background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius-pill); overflow:hidden; box-shadow:var(--lk-shadow); }
.lk-search input{ flex:1; border:0; outline:0; padding:16px 22px; font-size:15px; font-family:inherit; color:var(--lk-heading); background:transparent; }
.lk-search input::placeholder{ color:var(--lk-muted); letter-spacing:.08em; }
.lk-search-btn{
    border:0; cursor:pointer; background:var(--lk-navy); color:#fff; padding:16px 34px;
    font-family:inherit; font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    display:inline-flex; align-items:center; gap:10px; border-radius:var(--radius-pill);
}
.lk-search-btn:hover{ background:var(--lk-navy-2); }

/* аккордеон */
.lk-acc-list{ display:flex; flex-direction:column; gap:16px; }
.lk-acc{ background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius-lg); box-shadow:var(--lk-shadow); overflow:hidden; }
/* правила аккордеона из скелета «Лекаря» удалены — они перебивали вёрстку
   по макету (ЗАГЛАВНЫЕ имена категорий и тёмный квадрат вместо шеврона).
   Актуальный набор — в блоке «ПРАЙС-АККОРДЕОН по макету» в конце файла. */
.lk-acc-body{ padding:4px 22px 26px; }
.lk-acc-subhead{ font-size:14px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--lk-heading); margin:18px 0 10px; }
.lk-acc-desc{ font-size:13.5px; line-height:1.65; color:var(--lk-text); margin:0; max-width:110ch; }

/* Правила таблицы прайса из скелета «Лекаря» удалены: тёмная шапка таблицы
   и ЗАГЛАВНЫЕ названия услуг перебивали вёрстку по макету (у `.lk-price-table
   td.lk-pt-name` специфичность выше, чем у `.lk-pt-name`). Актуальный набор —
   в блоке «ПРАЙС-АККОРДЕОН по макету» в конце файла. */

.lk-acc-foot{ display:flex; justify-content:center; padding-top:22px; }

.lk-search-empty{ text-align:center; color:var(--lk-muted); padding:26px 0 0; }

/* контакты страницы услуг */
.lk-contact-badges{ display:flex; gap:14px; flex-wrap:wrap; }
.lk-contact-badge{
    display:flex; align-items:center; gap:12px; text-decoration:none;
    font-size:14px; color:var(--lk-heading); font-weight:500;
}
.lk-contact-badge span{ display:flex; flex-direction:column; }
.lk-contact-badge small{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--lk-muted); }
.lk-contact-badge-ico{
    width:42px; height:42px; border-radius:var(--radius-pill); background:var(--lk-navy); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:16px; flex:0 0 42px;
}
.lk-contacts-grid--three{ grid-template-columns:repeat(3,1fr); }
.lk-branch-num{
    position:absolute; top:10px; left:10px; z-index:2; min-width:34px; height:26px; padding:0 8px;
    background:var(--lk-navy); color:#fff; border-radius:var(--radius-pill); font-size:12px; font-weight:600;
    display:inline-flex; align-items:center; justify-content:center;
}
.lk-branch-map{ position:relative; }

@media (max-width: 1199px){
    .lk-contacts-grid--three{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 767px){
    .lk-page-hero-photo{ display:none; }
    .lk-page-hero-text{ max-width:100%; }
    .lk-contacts-grid--three{ grid-template-columns:1fr; }
    .lk-search-btn{ padding:14px 20px; }
    .lk-acc-name{ font-size:13px; }
}

/* мобильные карусели главной */
.lk-mob-splide{ padding-bottom:8px; }
.lk-mob-splide .splide__pagination{ position:static; margin-top:14px; }
.lk-mob-splide .splide__pagination__page{ background:#c7d3e8; width:8px; height:8px; }
.lk-mob-splide .splide__pagination__page.is-active{ background:var(--lk-navy); transform:none; width:22px; border-radius:var(--radius-pill); }
.lk-mob-splide .splide__arrow{ background:#fff; border:1px solid var(--lk-border); opacity:1; width:34px; height:34px; }
.lk-mob-splide .splide__arrow svg{ fill:var(--lk-navy); width:14px; height:14px; }

/* ═══ Слайдер отзывов в CTA-баннере ═══ */
/* min-width:0 обязателен: иначе слайдер распирает грид-колонки по ширине контента */
.lk-cta > *{ min-width:0; }
.lk-cta-review{ display:flex; flex-direction:column; min-width:0; }
.lk-cta-splide{ flex:1; width:100%; min-width:0; }
.lk-cta-splide .splide__track{ width:100%; }
.lk-cta-splide .splide__slide{ display:flex; flex-direction:column; }
.lk-cta-review-foot{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.16);
}
.lk-review-add{
    display:inline-flex; align-items:center; gap:8px; background:none; border:0; cursor:pointer;
    color:#a8c5e0; font-family:inherit; font-size:13px; font-weight:500; padding:0;
    transition:color .2s;
}
.lk-review-add:hover{ color:#fff; text-decoration:underline; }
.lk-cta-nav{ display:flex; gap:8px; }
.lk-cta-arrow{
    width:30px; height:30px; border-radius:var(--radius-pill); cursor:pointer;
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.28); color:#fff;
    display:inline-flex; align-items:center; justify-content:center; font-size:12px;
    transition:background .2s, border-color .2s;
}
.lk-cta-arrow:hover{ background:rgba(255,255,255,.22); border-color:rgba(255,255,255,.5); }

/* ═══ Модальные окна в стиле сайта ═══ */
.s-modal-backdrop{ background:rgba(51,39,26,.62); backdrop-filter:blur(5px); }
.s-modal-dialog{
    border-radius:var(--radius-lg); border:0; padding:36px 34px;
    box-shadow:0 24px 60px rgba(9,21,52,.28);
    max-width:560px;
}
.s-modal-close{
    top:18px; right:18px; width:38px; height:38px; border-radius:var(--radius-pill);
    border:1px solid var(--lk-border); background:#fff; color:var(--lk-heading);
    display:inline-flex; align-items:center; justify-content:center; transition:.2s;
}
.s-modal-close:hover{ background:var(--lk-soft); color:var(--lk-navy); border-color:var(--lk-navy); }
.s-modal-head{ margin-bottom:22px; padding-right:44px; }
.lk-modal-title{
    font-family:var(--font-display); font-weight:700; font-size:26px; line-height:1.2;
    color:var(--lk-heading); margin:10px 0 0;
}
.s-modal-head .s-divider{ display:none; }
/* заголовок глобальной модалки записи */
#sBookTitle{ font-family:var(--font-display); font-weight:700; font-size:26px; color:var(--lk-heading); }
#sBookTitle .it{ color:var(--lk-accent); }
#sBookModal .s-eyebrow, #sReviewModal .s-eyebrow{
    color:var(--lk-accent); font-family:inherit; font-size:12px; letter-spacing:.2em; font-weight:600; margin-bottom:0;
}

/* поля форм */
.s-form .s-field label{ font-family:inherit; font-size:13px; color:var(--lk-muted); letter-spacing:0; text-transform:none; }
.s-form input[type="text"], .s-form input[type="tel"], .s-form input[type="email"], .s-form textarea{
    border:1px solid var(--lk-border); border-radius:var(--radius); background:#fff;
    padding:12px 14px; font-family:inherit; font-size:15px; color:var(--lk-heading);
    transition:border-color .2s, box-shadow .2s;
}
.s-form input:focus, .s-form textarea:focus{
    outline:0; border-color:var(--lk-accent); box-shadow:0 0 0 3px rgba(59,118,209,.14);
}
.s-form .ts-wrapper .ts-control{
    border:1px solid var(--lk-border); border-radius:var(--radius); padding:9px 12px; font-family:inherit; font-size:15px;
}
.s-form .ts-wrapper.focus .ts-control{ border-color:var(--lk-accent); box-shadow:0 0 0 3px rgba(59,118,209,.14); }
.s-form .ts-dropdown{ border-radius:var(--radius); border-color:var(--lk-border); font-size:14px; }
.s-form .ts-dropdown .active{ background:var(--lk-soft); color:var(--lk-navy); }
.s-field-hint{
    margin:8px 0 0; font-size:12.5px; line-height:1.5; color:var(--lk-accent);
    background:var(--lk-soft); border-radius:var(--radius-sm); padding:8px 12px;
}
.s-modal .s-btn--gold{
    background:var(--lk-navy); border-color:var(--lk-navy); border-radius:var(--radius-pill);
    text-transform:none; letter-spacing:0; font-family:inherit; font-weight:600; font-size:15px;
}
.s-modal .s-btn--gold:hover{ background:var(--lk-navy-2); border-color:var(--lk-navy-2); }
.s-rating label{ color:#d9e0ec; }
.s-rating input:checked ~ label, .s-rating label:hover, .s-rating label:hover ~ label{ color:#f4c534; }

/* ═══ Страница врача: липкая карточка + каталог его услуг ═══ */
.lk-doc-layout{ display:grid; grid-template-columns:1fr 2fr; gap:28px; align-items:start; }

.lk-doc-aside{ position:sticky; top:20px; }
.lk-doc-card{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    box-shadow:var(--lk-shadow); overflow:hidden;
}
.lk-doc-photo{ position:relative; aspect-ratio:1/1.08; background:#e7edf6; }
.lk-doc-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.lk-doc-avatar{
    display:flex; width:100%; height:100%; align-items:center; justify-content:center;
    font-size:64px; font-weight:600; color:#fff;
    background:linear-gradient(160deg,#28437f 0%,#122a63 100%);
}
.lk-doc-badge{
    position:absolute; left:14px; bottom:14px; padding:7px 13px; border-radius:var(--radius-pill);
    background:rgba(255,255,255,.95); color:var(--lk-heading);
    font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
}
.lk-doc-card-body{ padding:20px; display:flex; flex-direction:column; gap:12px; }
.lk-doc-name{ font-family:var(--font-display); font-size:20px; font-weight:700; line-height:1.3; color:var(--lk-heading); margin:0; }
.lk-doc-role{ font-size:13.5px; color:var(--lk-muted); margin:0; }
.lk-doc-bio{ font-size:13.5px; line-height:1.6; color:var(--lk-text); margin:0; }
.lk-doc-subhead{
    font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    color:var(--lk-muted); margin:0 0 8px;
}
.lk-doc-branches{ border-top:1px solid var(--lk-border); padding-top:14px; }
.lk-doc-branch{ display:flex; gap:9px; align-items:flex-start; font-size:13px; margin-bottom:12px; }
.lk-doc-branch:last-child{ margin-bottom:0; }
.lk-doc-branch i{ color:var(--lk-accent); margin-top:2px; }
.lk-doc-branch span{ display:flex; flex-direction:column; gap:2px; }
.lk-doc-branch b{ color:var(--lk-heading); font-weight:600; }
.lk-doc-branch small{ color:var(--lk-muted); font-size:12px; }
.lk-doc-branch a{ color:var(--lk-accent); text-decoration:none; }
.lk-doc-branch a:hover{ text-decoration:underline; }

.lk-doc-main-head{ margin-bottom:26px; }
.lk-doc-main-sub{ margin:12px 0 0; font-size:14.5px; line-height:1.6; color:var(--lk-text); max-width:70ch; }

.lk-doc-cat{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    box-shadow:var(--lk-shadow); padding:22px 24px; margin-bottom:18px;
}
.lk-doc-cat-head{
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    padding-bottom:14px; margin-bottom:6px; border-bottom:1px solid var(--lk-border);
}
.lk-doc-cat-title{
    font-size:15px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
    color:var(--lk-heading); margin:0;
}
.lk-doc-services{ list-style:none; margin:0; padding:0; }
.lk-doc-service{
    display:grid; grid-template-columns:1fr auto auto; gap:16px; align-items:center;
    padding:12px 0; border-bottom:1px solid var(--lk-border);
}
.lk-doc-service:last-child{ border-bottom:0; padding-bottom:0; }
.lk-doc-service-name{ font-size:14px; line-height:1.5; color:var(--lk-heading); }
.lk-doc-service-price{ font-size:14px; font-weight:600; color:var(--lk-heading); white-space:nowrap; }
.lk-doc-service-btn{
    border:1px solid var(--lk-border); background:#f6f8fc; color:var(--lk-navy);
    border-radius:var(--radius-pill); padding:8px 16px; cursor:pointer; white-space:nowrap;
    font-family:inherit; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
    transition:background .2s, border-color .2s, color .2s;
}
.lk-doc-service-btn:hover{ background:var(--lk-navy); border-color:var(--lk-navy); color:#fff; }
.lk-doc-empty{ color:var(--ap-ink-50); background:var(--ap-sec-soft); border:1px solid var(--ap-line); border-radius:var(--radius); padding:24px; }

@media (max-width: 991px){
    .lk-doc-layout{ grid-template-columns:1fr; }
    .lk-doc-aside{ position:static; }
    .lk-doc-photo{ aspect-ratio:16/10; }
}
@media (max-width: 575px){
    .lk-doc-service{ grid-template-columns:1fr auto; }
    .lk-doc-service-btn{ grid-column:1 / -1; width:100%; }
}

/* кнопка записи в строке прайса */
.lk-pt-book{ width:130px; text-align:center; }
.lk-pt-book-btn{
    border:1px solid var(--lk-border); background:#f6f8fc; color:var(--lk-navy);
    border-radius:var(--radius-pill); padding:7px 14px; cursor:pointer; white-space:nowrap;
    font-family:inherit; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
    transition:background .2s, border-color .2s, color .2s;
}
.lk-pt-book-btn:hover{ background:var(--lk-navy); border-color:var(--lk-navy); color:#fff; }

/* s-form--line (тема sfera) задаёт подчёркивание вместо рамки — перебиваем той же специфичностью */
.s-form--line .s-field input,
.s-form--line .s-field textarea,
.s-form--line .s-field select{
    border:1px solid var(--lk-border); border-radius:var(--radius); background:#fff;
    padding:12px 14px; font-family:inherit; font-size:15px; color:var(--lk-heading);
}
.s-form--line .s-field input:focus,
.s-form--line .s-field textarea:focus,
.s-form--line .s-field select:focus{
    outline:0; border-color:var(--lk-accent); background:#fff;
    box-shadow:0 0 0 3px rgba(59,118,209,.14);
}
.s-form--line .s-field label{
    font-family:inherit; font-size:13px; letter-spacing:0; text-transform:none; color:var(--lk-muted);
}
.s-form--line .s-field textarea{ min-height:84px; resize:vertical; }

/* звёзды оценки: row-reverse нужен для подсветки, но блок прижимаем влево */
.s-rating{ justify-content:flex-end; align-self:flex-start; }
#sReviewForm .s-field:has(.s-rating){ align-items:flex-start; }

/* ═══ Sticky footer: подвал всегда внизу экрана ═══ */
html, body{ height:auto; }
body{ min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
body > main, main#main-content{ flex:1 0 auto; }
.s-footer{ flex-shrink:0; margin-top:auto; }

/* ═══ Крошки: перенос на узких экранах ═══ */
.lk-crumbs .s-container{ flex-wrap:wrap; row-gap:4px; }
.lk-crumbs-sep{ color:var(--lk-muted); }

/* ═══ TomSelect в стиле проекта ═══ */
.s-form .ts-wrapper{ font-family:inherit; }
.s-form .ts-control{
    border:1px solid var(--lk-border) !important; border-radius:var(--radius);
    background:#fff !important; padding:8px 12px !important; min-height:46px;
    box-shadow:none !important; gap:6px;
}
.s-form .ts-wrapper.focus .ts-control{
    border-color:var(--lk-accent) !important; box-shadow:0 0 0 3px rgba(59,118,209,.14) !important;
}
.s-form .ts-control > input{ font-family:inherit; font-size:14.5px; color:var(--lk-heading); }
.s-form .ts-control > input::placeholder{ color:var(--lk-muted); }
/* выбранный «чип» услуги */
.s-form .ts-wrapper.multi .ts-control > div{
    background:var(--lk-soft) !important; color:var(--lk-heading) !important;
    border:1px solid var(--lk-border) !important; border-radius:var(--radius-pill);
    padding:6px 26px 6px 10px !important; font-size:13px; line-height:1.45; white-space:normal;
}
.s-form .ts-wrapper.multi .ts-control > div.active{
    background:#e6eefb !important; border-color:var(--lk-accent) !important; color:var(--lk-navy) !important;
}
.s-form .ts-wrapper.multi .ts-control > div .remove{
    border-left:0 !important; color:var(--lk-muted) !important; padding:0 8px !important;
    font-size:15px; text-decoration:none;
}
.s-form .ts-wrapper.multi .ts-control > div .remove:hover{ background:transparent !important; color:#c02c2c !important; }
/* выпадающий список */
.s-form .ts-dropdown{
    border:1px solid var(--lk-border); border-radius:var(--radius); box-shadow:0 12px 32px rgba(13,37,93,.12);
    margin-top:6px; overflow:hidden; font-size:14px;
}
.s-form .ts-dropdown .option{ padding:10px 14px; color:var(--lk-text); line-height:1.45; }
.s-form .ts-dropdown .option.active{ background:var(--lk-soft); color:var(--lk-navy); }
.s-form .ts-dropdown .option .lk-opt-price{ color:var(--lk-accent); font-weight:600; margin-left:8px; white-space:nowrap; }
.s-form .ts-dropdown .optgroup-header{
    font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--lk-muted); background:#fbfcfe; padding:9px 14px; border-top:1px solid var(--lk-border);
}
.s-form .ts-dropdown .no-results{ padding:12px 14px; color:var(--lk-muted); }

/* ═══ Чипсы-фильтры (филиалы / направления) ═══ */
.lk-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.lk-chip{
    display:inline-flex; align-items:center; padding:9px 18px; border-radius:var(--radius-pill);
    background:#fff; border:1px solid var(--lk-border); color:var(--lk-text);
    font-size:13.5px; font-weight:500; text-decoration:none; cursor:pointer;
    transition:background .2s, border-color .2s, color .2s;
}
.lk-chip:hover{ border-color:var(--lk-accent); color:var(--lk-navy); }
.lk-chip.is-active{ background:var(--lk-navy); border-color:var(--lk-navy); color:#fff; }

/* ═══ Строка поиска + фильтр направлений ═══ */
.lk-search-row{ display:grid; grid-template-columns:1fr 320px; gap:16px; margin-bottom:28px; align-items:stretch; }
.lk-search-row .lk-search{ margin-bottom:0; }
.lk-filter{ position:relative; display:flex; flex-direction:column; justify-content:center;
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius); box-shadow:var(--lk-shadow);
    padding:8px 18px; }
.lk-filter-label{
    font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    color:var(--lk-muted); margin-bottom:2px;
}
.lk-filter-select{
    appearance:none; border:0; outline:0; background:transparent; width:100%;
    font-family:inherit; font-size:14.5px; font-weight:500; color:var(--lk-heading);
    cursor:pointer; padding:2px 22px 2px 0;
}
.lk-filter::after{
    content:''; position:absolute; right:18px; top:calc(50% + 4px); width:9px; height:9px;
    border-right:2px solid var(--lk-navy); border-bottom:2px solid var(--lk-navy);
    transform:translateY(-50%) rotate(45deg); pointer-events:none;
}
@media (max-width: 767px){
    .lk-search-row{ grid-template-columns:1fr; }
}

/* ═══ Страница «О нас» ═══ */
.lk-about-cols{ display:grid; grid-template-columns:1.15fr 1fr; gap:44px; align-items:center; }
.lk-about-text p{ font-size:15.5px; line-height:1.75; color:var(--lk-text); margin:0 0 14px; }
.lk-about-text .lk-h2{ margin-bottom:18px; }
.lk-about-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:22px; }
.lk-about-media{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lk-about-media img{
    width:100%; height:100%; object-fit:cover; border-radius:0;
    box-shadow:var(--lk-shadow); aspect-ratio:1/1.15; display:block;
}
.lk-about-media img:first-child{ margin-top:28px; }

.lk-facts{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.lk-fact{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    box-shadow:var(--lk-shadow); padding:26px 22px; text-align:center;
}
.lk-fact-num{ font-family:var(--font-display); font-size:34px; font-weight:700; color:var(--lk-navy); line-height:1.1; }
.lk-fact-label{ margin-top:10px; font-size:13.5px; line-height:1.55; color:var(--lk-text); }

.lk-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.lk-step{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    box-shadow:var(--lk-shadow); padding:26px 22px;
}
.lk-step-num{
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:var(--radius-pill); background:var(--lk-soft);
    color:var(--lk-navy); font-weight:700; font-size:15px; letter-spacing:.04em;
}
.lk-step-title{ font-size:17px; font-weight:600; color:var(--lk-heading); margin:16px 0 8px; }
.lk-step-text{ font-size:14px; line-height:1.6; color:var(--lk-text); margin:0; }

.lk-reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lk-review-card{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius);
    box-shadow:var(--lk-shadow); padding:24px;
}
.lk-review-stars{ color:#f4c534; font-size:15px; display:flex; gap:4px; margin-bottom:14px; }
.lk-review-text{ font-size:14.5px; line-height:1.65; color:var(--lk-text); margin:0 0 16px; }
.lk-review-author{ font-weight:600; font-size:14px; color:var(--lk-heading); margin:0; }
.lk-review-date{ font-size:12.5px; color:var(--lk-muted); margin:2px 0 0; }

@media (max-width: 1199px){
    .lk-facts, .lk-steps{ grid-template-columns:repeat(2,1fr); }
    .lk-reviews-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 767px){
    .lk-about-cols{ grid-template-columns:1fr; gap:28px; }
    .lk-about-media img:first-child{ margin-top:0; }
    .lk-facts, .lk-steps, .lk-reviews-grid{ grid-template-columns:1fr; }
}

/* ═══ Полоса «Разработано в Веб-Команде» (Figma 11:5520) ═══════════════
   Отдельная полоса под футером: тот же тёмный кофе, высота 81px, лок-ап
   по центру. Цвет из макета — #ceb420 (золото), задаётся через currentColor
   на том же SVG-лок-апе 117×41, что и на остальных сайтах. */
.s-footer-credit-row{
    display:flex; align-items:center; justify-content:center;
    min-height:81px; padding:20px 0;
    background:var(--ap-dark); border-top:1px solid rgba(196,163,63,.14);
}
.s-footer-credit{
    display:inline-flex; align-items:center;
    color:var(--ap-credit); transition:color .25s var(--ease), opacity .25s;
}
.s-footer-credit svg{ display:block; }
.s-footer-credit:hover{ color:var(--ap-gold); }

/* ═══ Липкая шапка: топбар уезжает, меню остаётся сверху ═══ */
.lk-header{
    position:sticky; top:0; z-index:1000;
    transition:box-shadow .25s;
}
.lk-header.is-stuck{ box-shadow:0 4px 18px rgba(11,31,78,.10); }
/* мобильное меню и модалки должны быть выше шапки */
.s-mobnav, .s-mobnav-backdrop{ z-index:1200; }
.s-modal{ z-index:1300; }

/* overflow-x:hidden у html/body ломает position:sticky.
   Заменяем на clip: горизонтальный скролл так же отсечён, но sticky работает. */
html{ overflow-x:clip; }
body{ overflow-x:clip; }

/* ═══ Фильтр направлений на TomSelect (одиночный) ═══ */
.lk-filter .ts-wrapper{ width:100%; }
.lk-filter .ts-control{
    border:0 !important; background:transparent !important; box-shadow:none !important;
    padding:2px 22px 2px 0 !important; min-height:auto !important;
    font-family:inherit; font-size:14.5px; font-weight:500; color:var(--lk-heading);
    cursor:pointer;
}
.lk-filter .ts-wrapper.single .ts-control{ background-image:none !important; }
.lk-filter .ts-wrapper.focus .ts-control{ box-shadow:none !important; }
.lk-filter .ts-control > .item{ color:var(--lk-heading); }
.lk-filter .ts-dropdown{
    border:1px solid var(--lk-border); border-radius:var(--radius); margin-top:10px;
    box-shadow:0 14px 34px rgba(13,37,93,.14); overflow:hidden; font-size:14px;
    left:0; right:0; width:auto;
}
.lk-filter .ts-dropdown .option{ padding:11px 16px; color:var(--lk-text); }
.lk-filter .ts-dropdown .option.active{ background:var(--lk-soft); color:var(--lk-navy); }
.lk-filter .ts-dropdown .option.selected{ background:#e6eefb; color:var(--lk-navy); font-weight:600; }
/* стрелку рисуем сами (см. .lk-filter::after), нативную у TomSelect прячем */
.lk-filter .ts-wrapper.single .ts-control::after{ display:none !important; }

/* поле даты записи */
.s-form input[type="date"]{
    border:1px solid var(--lk-border); border-radius:var(--radius); background:#fff;
    padding:12px 14px; font-family:inherit; font-size:15px; color:var(--lk-heading);
    width:100%; min-height:46px;
}
.s-form--line .s-field input[type="date"]{ border:1px solid var(--lk-border); border-radius:var(--radius); }
.s-form input[type="date"]:focus{
    outline:0; border-color:var(--lk-accent); box-shadow:0 0 0 3px rgba(59,118,209,.14);
}
.s-form input[type="date"]::-webkit-calendar-picker-indicator{ cursor:pointer; opacity:.6; }
.s-form input[type="date"]::-webkit-calendar-picker-indicator:hover{ opacity:1; }

/* выбранное значение фильтра — просто текст, без рамки/фона поля */
.lk-filter .ts-control > .item{
    background:transparent !important; border:0 !important; box-shadow:none !important;
    padding:0 !important; margin:0 !important; color:var(--lk-heading) !important;
}
.lk-filter .ts-wrapper.single.input-active .ts-control{ background:transparent !important; }
.lk-filter .ts-control, .lk-filter .ts-control *{ outline:none !important; }
.lk-filter .ts-wrapper .ts-control > input{ display:none !important; }

/* ═══ Кнопка-аутлайн строго по Figma (142:389): рамка navy, фон #edf2fa 70% ═══ */
.lk-btn--outline{
    background:rgba(237,242,250,.7);
    color:#0b1f4e;
    border:1px solid #0b1f4e;
    border-radius:var(--radius-pill);
    min-height:40px; padding:11px 20px;
    font-family:var(--font-label); font-size:12px; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase; line-height:16px;
}
.lk-btn--outline:hover{ background:#0b1f4e; border-color:#0b1f4e; color:#fff; }

/* ═══ Преимущества по Figma (142:432): карточка 271px, заголовок 16.3/0.18em ═══ */
.lk-adv-card{
    background:#fff; border:0; border-radius:var(--radius);
    box-shadow:0 4px 14px rgba(0,0,0,.15);
    padding:20px 18px 26px; text-align:center;
    min-height:271px; display:flex; flex-direction:column; align-items:center;
}
.lk-adv-icon{ display:flex; align-items:center; justify-content:center; height:140px; }
/* иконки нормализованы: общий холст 240×240, единый цвет #122A63 */
.lk-adv-icon img{ width:140px; height:140px; object-fit:contain; }
.lk-adv-title{
    font-family:var(--font-label); font-weight:600;
    font-size:16.33px; line-height:1.33; letter-spacing:.18em; text-transform:uppercase;
    color:#0b1f4e; margin:13px 0 0;
}
.lk-adv-text{
    font-size:16.33px; line-height:1.33; color:#0b1f4e; margin:10px 0 0;
    max-width:19ch;
}
@media (max-width: 1399px){
    .lk-adv-title, .lk-adv-text{ font-size:14.5px; }
    .lk-adv-icon{ height:118px; }
    .lk-adv-icon img{ width:118px; height:118px; }
    .lk-adv-card{ min-height:240px; }
}

/* ═══ Футер по макету: компактнее, буллеты у филиалов ═══ */
.lk-footer .s-footer-title{
    font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
    color:#7f95c4; margin-bottom:16px;
}
.lk-footer-grid{ gap:32px; }
.lk-footer .s-footer-tagline{ font-size:14px; line-height:1.6; max-width:34ch; }
.lk-footer .s-footer-list a{ font-size:14px; }

/* филиал: точка-буллет вместо гео-пина, как в макете */
.lk-footer-branches{ gap:18px; }
.lk-footer-branch{ position:relative; padding-left:16px; gap:3px; }
.lk-footer-branch::before{
    content:''; position:absolute; left:0; top:7px;
    width:6px; height:6px; border-radius:var(--radius-pill); background:var(--lk-accent);
}
.lk-footer-addr{ display:block; color:#fff; font-size:14px; line-height:1.4; }
.lk-footer-hours{ display:block; padding-left:0; color:#9fb0d4; font-size:12.5px; }
.lk-footer-tel{ padding-left:0; font-size:13.5px; }

/* реквизиты: строки без рамки-таблицы, как в макете */
.lk-footer-req{ padding:16px 18px; gap:10px; }
.lk-footer-req-row{ font-size:12.5px; }
.lk-footer-req-row span{ color:#8fa3cf; }
.lk-footer-req-mail{ font-size:12.5px; padding-top:10px; }

/* ═══ Кнопка-звонилка: круглая, как в макете ═══ */
/* база sfera-темы даёт квадрат — скругляем и саму кнопку, и кольца пульсации */
.s-fab{ border-radius:var(--radius-pill); box-shadow:0 10px 28px rgba(11,31,78,.32); }
.s-fab::before,.s-fab::after{ border-radius:var(--radius-pill); }

/* ═══════════ КОНТАКТЫ: плитки общих контактов ═══════════ */
.lk-contact-tiles{
    display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:32px;
}
.lk-contact-tile{
    display:flex; flex-direction:column; gap:6px;
    padding:26px 24px; background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius-lg);
    color:inherit; text-decoration:none; transition:.25s;
}
a.lk-contact-tile:hover{
    border-color:var(--lk-navy,#122a63); box-shadow:0 10px 26px rgba(11,31,78,.10); transform:translateY(-3px);
}
.lk-contact-tile-ico{
    width:44px; height:44px; margin-bottom:8px; border-radius:var(--radius-pill);
    display:flex; align-items:center; justify-content:center;
    background:#edf2fa; color:var(--lk-navy,#122a63); font-size:18px;
}
.lk-contact-tile-label{
    font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#8093b8;
}
.lk-contact-tile-value{ font-size:17px; font-weight:600; color:var(--lk-navy,#122a63); line-height:1.35; }
.lk-contact-tile-note{ font-size:13px; color:#6b7c9c; line-height:1.5; }

/* адрес и врачи в карточке филиала */
.lk-branch-addr,.lk-branch-docs{
    display:flex; align-items:flex-start; gap:8px; margin:0; font-size:14px; color:#4a5c7e; line-height:1.5;
}
.lk-branch-addr i,.lk-branch-docs i{ color:var(--lk-accent,#3b76d1); margin-top:2px; flex:none; }
.lk-branch-docs a{ color:var(--lk-navy,#122a63); text-decoration:underline; text-underline-offset:3px; }

/* форма записи: текст слева, карточка формы справа */
.lk-contact-form-wrap{ display:grid; grid-template-columns:1fr 1.15fr; gap:40px; align-items:start; }
.lk-contact-form-text p{ color:#4a5c7e; line-height:1.7; }
.lk-contact-list{ list-style:none; margin:20px 0 0; padding:0; display:grid; gap:10px; }
.lk-contact-list li{ display:flex; gap:10px; align-items:flex-start; font-size:15px; color:#33456a; }
.lk-contact-list i{ color:var(--lk-accent,#3b76d1); margin-top:3px; }
.lk-contact-form-card{
    background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius-lg);
    padding:32px; box-shadow:0 10px 30px rgba(11,31,78,.07);
}

/* ═══════════ БЛОГ: сетка карточек ═══════════ */
.lk-blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.lk-blog-card{
    display:flex; flex-direction:column; background:#fff;
    border:1px solid var(--lk-border); border-radius:var(--radius-lg); overflow:hidden; transition:.25s;
}
.lk-blog-card:hover{ box-shadow:0 14px 34px rgba(11,31,78,.12); transform:translateY(-4px); }
.lk-blog-photo{
    position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:#edf2fa;
}
.lk-blog-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.lk-blog-card:hover .lk-blog-photo img{ transform:scale(1.05); }
.lk-blog-photo-stub{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    color:#b9c8e2; font-size:44px;
}
.lk-blog-date{
    position:absolute; left:14px; bottom:14px; padding:6px 12px; border-radius:var(--radius-pill);
    background:rgba(18,42,99,.92); color:#fff; font-size:11.5px; font-weight:600; letter-spacing:.06em;
}
.lk-blog-body{ display:flex; flex-direction:column; gap:12px; padding:24px 22px 26px; flex:1; }
.lk-blog-title{ margin:0; font-size:18px; line-height:1.4; }
.lk-blog-title a{ color:var(--lk-navy,#122a63); text-decoration:none; }
.lk-blog-title a:hover{ color:var(--lk-accent,#3b76d1); }
.lk-blog-text{ margin:0; font-size:14.5px; color:#6b7c9c; line-height:1.6; }
.lk-blog-body .lk-link-arrow{ margin-top:auto; }

.lk-pagination{ display:flex; justify-content:center; margin-top:40px; }
.lk-pagination .pagination{ gap:6px; }
.lk-pagination .page-link{ color:var(--lk-navy,#122a63); border-radius:var(--radius-sm); border-color:var(--lk-border); }
.lk-pagination .active .page-link{ background:var(--lk-navy,#122a63); border-color:var(--lk-navy,#122a63); }

.lk-blog-empty{
    max-width:520px; margin:0 auto; padding:56px 32px; text-align:center;
    background:var(--ap-sec-soft); border:1px solid var(--ap-line); border-radius:var(--radius);
}
.lk-blog-empty-title{
    font-family:var(--font-display); font-size:20px; font-weight:400;
    color:var(--ap-ink); margin-bottom:8px;
}
.lk-blog-empty p{ color:var(--ap-ink-60); }
.lk-blog-empty .lk-btn{ margin-top:20px; }

/* ═══════════ СТАТЬЯ ═══════════ */
.lk-article-head{ padding:56px 0 40px; background:#f4f7fb; border-bottom:1px solid var(--lk-border); }
.lk-article-title{
    margin:10px 0 0; font-size:clamp(26px,3.4vw,42px); line-height:1.2;
    color:var(--lk-navy,#122a63); max-width:22ch;
}
.lk-article-meta{ display:flex; flex-wrap:wrap; gap:22px; margin-top:18px; font-size:13.5px; color:#6b7c9c; }
.lk-article-meta i{ margin-right:7px; color:var(--lk-accent,#3b76d1); }

.lk-article-layout{ display:grid; grid-template-columns:2fr 1fr; gap:44px; align-items:start; }
.lk-article-cover{ display:block; max-width:100%; width:auto; max-height:460px; margin:0 auto 28px; border-radius:var(--radius-lg); }
.lk-article-lead{
    font-size:18px; line-height:1.65; color:#33456a; font-weight:500;
    padding-left:18px; border-left:3px solid var(--lk-accent,#3b76d1); margin-bottom:26px;
}
.lk-article-body{ color:#4a5c7e; line-height:1.75; font-size:16px; }
.lk-article-body h2,.lk-article-body h3{ color:var(--lk-navy,#122a63); margin:32px 0 14px; line-height:1.3; }
.lk-article-body h2{ font-size:24px; }
.lk-article-body h3{ font-size:19px; }
.lk-article-body p{ margin:0 0 16px; }
.lk-article-body ul,.lk-article-body ol{ margin:0 0 18px; padding-left:22px; }
.lk-article-body li{ margin-bottom:8px; }
.lk-article-body img{ max-width:100%; height:auto; border-radius:var(--radius); margin:20px 0; }
.lk-article-body a{ color:var(--lk-accent,#3b76d1); text-underline-offset:3px; }
.lk-article-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:28px 0 4px; }
.lk-article-gallery-item{ display:block; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; background:#eef3fa; }
.lk-article-gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.lk-article-gallery-item:hover img{ transform:scale(1.05); }
@media (max-width:560px){ .lk-article-gallery{ grid-template-columns:repeat(2,1fr); gap:8px; } }

.lk-article-back{ margin-top:36px; display:inline-flex; align-items:center; gap:8px; }

.lk-article-aside{ position:sticky; top:110px; display:grid; gap:20px; }
.lk-article-cta{
    padding:28px 24px; border-radius:var(--radius-lg); background:var(--lk-navy,#122a63); color:#fff;
    display:grid; gap:12px;
}
.lk-article-cta-title{ margin:0; font-size:20px; color:#fff; }
.lk-article-cta-text{ margin:0; font-size:14.5px; line-height:1.6; color:#c3d2ea; }
.lk-article-cta .lk-link-arrow{ color:#fff; justify-self:start; }
.lk-article-more{
    padding:24px 22px; border:1px solid var(--lk-border); border-radius:var(--radius-lg); background:#fff;
}
.lk-article-more-title{
    margin:0 0 14px; font-size:11px; font-weight:600; letter-spacing:.18em;
    text-transform:uppercase; color:#8093b8;
}
.lk-article-more-list{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.lk-article-more-list li{ display:grid; gap:4px; }
.lk-article-more-list a{ color:var(--lk-navy,#122a63); font-size:15px; line-height:1.4; text-decoration:none; }
.lk-article-more-list a:hover{ color:var(--lk-accent,#3b76d1); }
.lk-article-more-list time{ font-size:12.5px; color:#8093b8; }

/* ── адаптив контактов и блога ── */
@media (max-width:1100px){
    .lk-contact-tiles{ grid-template-columns:repeat(2,1fr); }
    .lk-blog-grid{ grid-template-columns:repeat(2,1fr); }
    .lk-article-layout{ grid-template-columns:1fr; }
    .lk-article-aside{ position:static; }
}
@media (max-width:820px){
    .lk-contact-form-wrap{ grid-template-columns:1fr; gap:28px; }
    .lk-contact-form-card{ padding:24px 20px; }
}
@media (max-width:640px){
    .lk-contact-tiles{ grid-template-columns:1fr; }
    .lk-blog-grid{ grid-template-columns:1fr; }
    .lk-article-head{ padding:40px 0 28px; }
}

/* navy-кнопка на navy-фоне сливается — в CTA статьи делаем инверсную */
.lk-article-cta .lk-btn--navy{
    background:#fff; color:var(--lk-navy); border-color:#fff;
}
.lk-article-cta .lk-btn--navy:hover{ background:#e8eefb; color:var(--lk-navy); }

/* ═══ Мобильное меню: прокрутка внутри панели ═══ */
/* база sfera-темы — fixed без overflow: на невысоких экранах низ меню (филиалы, соцсети) обрезался */
.s-mobnav{
    overflow-y:auto;                 /* листаем содержимое внутри панели */
    overscroll-behavior:contain;     /* скролл не «протекает» на страницу под меню */
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(28px + env(safe-area-inset-bottom)); /* чтобы низ не уезжал под жест-бар iOS */
}
/* шапка панели с крестиком остаётся на виду при прокрутке */
.s-mobnav-head{
    position:sticky; top:-28px; z-index:2;
    margin:-28px -26px 24px; padding:28px 26px 14px;
    background:#fff;
}
/* тонкая полоса-скроллбар в фирменном цвете */
.s-mobnav{ scrollbar-width:thin; scrollbar-color:#c3d0e6 transparent; }
.s-mobnav::-webkit-scrollbar{ width:6px; }
.s-mobnav::-webkit-scrollbar-thumb{ background:#c3d0e6; border-radius:var(--radius-pill); }
.s-mobnav::-webkit-scrollbar-track{ background:transparent; }

/* ═══════════════════════════════════════════════════════════════
   МОБИЛЬНАЯ АДАПТАЦИЯ (правила натяжки, см. CHECKLIST site-template)
   1) заголовки секций по центру
   2) сетки по 2 карточки, а не по одной — шрифты ужимаем пропорционально
   3) футер: информационные колонки по 2, остальное центрируем
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px){

    /* ── 1. Шапки секций по центру ───────────────────────────── */
    .lk-sec-head{
        flex-direction:column; align-items:center; text-align:center; gap:12px;
    }
    .lk-sec-head > div{ width:100%; }
    .lk-sec-head .lk-eyebrow,
    .lk-sec-head--center .lk-eyebrow{ justify-content:center; }
    .lk-sec-head .lk-h2{ text-align:center; }
    .lk-sec-head .lk-link-arrow,
    .lk-sec-head .lk-btn{ align-self:center; }
    /* eyebrow вне шапки секции (страницы «о нас», формы) тоже по центру */
    .lk-section .lk-eyebrow{ justify-content:center; }
    .lk-section .lk-eyebrow ~ .lk-h2{ text-align:center; }

    /* ── 2. Сетки: два блока в ряд ───────────────────────────── */
    .lk-services-grid,
    .lk-doctors-grid,
    .lk-blog-grid,
    .lk-adv-grid,
    .lk-facts,
    .lk-steps,
    .lk-reviews-grid,
    .lk-contact-tiles{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }
    /* карточки филиалов — исключение: внутри карта, в половину экрана нечитаема */
    .lk-contacts-grid,
    .lk-contacts-grid--three{ grid-template-columns:1fr; }

    /* типографика карточек под узкую колонку */
    .lk-service-title,
    .lk-doctor-name,
    .lk-blog-title{ font-size:14.5px; line-height:1.3; overflow-wrap:anywhere; }
    .lk-service-desc,
    .lk-doctor-role,
    .lk-doctor-spec,
    .lk-blog-text{ font-size:12px; line-height:1.45; }
    .lk-service-body,
    .lk-doctor-body,
    .lk-blog-body{ padding:14px 12px 16px; gap:8px; }
    .lk-link-arrow--sm{ font-size:12px; }

    /* иконки услуг/преимуществ соразмерно ужимаем */
    .lk-adv-card{ min-height:0; padding:20px 14px; }
    .lk-adv-icon img{ width:78px; height:78px; }
    .lk-adv-title{ font-size:12.5px; letter-spacing:.1em; line-height:1.35; }
    .lk-adv-text{ font-size:12px; line-height:1.5; }
    /* кружок с иконкой свисает с фото — ужимаем и освобождаем под него место,
       иначе он наезжает на первую строку заголовка */
    .lk-service-icon{ width:44px; height:44px; left:10px; bottom:-22px; }
    .lk-service-icon img{ width:24px; height:24px; }
    .lk-service-body{ padding-top:30px; }

    /* цифры и шаги */
    .lk-fact-num{ font-size:26px; }
    .lk-fact-label{ font-size:12px; line-height:1.4; }
    .lk-step{ padding:18px 14px; }
    .lk-step-num{ font-size:22px; }
    .lk-step-title{ font-size:14.5px; }
    .lk-step-text{ font-size:12px; line-height:1.5; }

    /* отзывы и плитки контактов */
    .lk-review-card{ padding:18px 14px; }
    .lk-review-text{ font-size:12.5px; line-height:1.55; }
    .lk-review-author{ font-size:13px; }
    .lk-contact-tile{ padding:18px 14px; }
    .lk-contact-tile-ico{ width:36px; height:36px; font-size:15px; }
    .lk-contact-tile-value{ font-size:13.5px; overflow-wrap:anywhere; }
    .lk-contact-tile-note{ font-size:11.5px; }
    .lk-contact-tile-label{ font-size:10px; letter-spacing:.12em; }

    /* кнопки в узких карточках: капс с большим трекингом не влезал */
    .lk-doctor-body .lk-btn,
    .lk-service-body .lk-btn{ font-size:11px; letter-spacing:.06em; padding:10px 8px; min-height:36px; }
    .lk-doctor-badge{ font-size:10px; padding:4px 8px; }

    /* ── 3. Футер: инфо-колонки по две, остальное по центру ──── */
    .lk-footer-grid{ grid-template-columns:repeat(2,1fr); gap:26px 18px; }
    /* блок с логотипом и низ футера — на всю ширину и по центру */
    .lk-footer-grid > div:first-child{ grid-column:1 / -1; text-align:center; }
    .lk-footer-grid > div:first-child .s-logo{ justify-content:center; }
    .lk-footer .s-footer-tagline{ max-width:none; margin-inline:auto; }
    .s-footer-social{ justify-content:center; }
    /* реквизиты — тоже во всю ширину: это таблица «ключ — значение» */
    .lk-footer-grid > div:last-child{ grid-column:1 / -1; }
    .lk-footer .s-footer-title{ font-size:10.5px; margin-bottom:12px; }
    .lk-footer .s-footer-list a,
    .lk-footer-addr{ font-size:13px; }
    .lk-footer-hours{ font-size:11.5px; }
    .lk-footer-tel{ font-size:12.5px; }
    .s-footer-bottom,
    .s-footer-legal,
    .s-footer-credit-row{ text-align:center; justify-content:center; flex-direction:column; gap:10px; }
    .s-footer-policy{ text-align:center; }
    .lk-footer-policies{ flex-direction:column; gap:8px; align-items:center; }
}

/* совсем узкие экраны: две колонки сохраняем, добираем за счёт отступов */
@media (max-width: 400px){
    .s-container{ padding-inline:14px; }
    .lk-services-grid,
    .lk-doctors-grid,
    .lk-blog-grid,
    .lk-adv-grid,
    .lk-facts,
    .lk-steps,
    .lk-reviews-grid,
    .lk-contact-tiles{ gap:10px; }
    .lk-doctor-body,
    .lk-blog-body{ padding:12px 10px 14px; }
    /* у услуг верхний отступ не трогаем — под ним висит кружок с иконкой */
    .lk-service-body{ padding:30px 10px 14px; }
}

/* ═══════════════════ Страница врача v2 (lk-dp-*) ═══════════════════ */
.lk-dp-hero{ position:relative; background:var(--lk-navy); color:#fff; overflow:hidden; padding:26px 0 46px; }
.lk-dp-crumbs{ display:flex; align-items:center; gap:8px; font-size:13px; flex-wrap:wrap; }
.lk-dp-crumbs a{ color:#c3cfe8; text-decoration:none; }
.lk-dp-crumbs a:hover{ color:#fff; }
.lk-dp-crumbs i{ font-size:11px; color:#5f74a6; }
.lk-dp-crumbs span{ color:#8ea3cf; }
.lk-dp-back{ display:inline-flex; align-items:center; gap:8px; margin-top:22px; color:#c3cfe8; text-decoration:none; font-size:14px; font-weight:500; }
.lk-dp-back:hover{ color:#fff; }
.lk-dp-hero-inner{ display:flex; align-items:center; gap:32px; margin-top:24px; position:relative; z-index:2; }
.lk-dp-hero-photo{ flex:0 0 150px; width:150px; height:172px; border-radius:var(--radius); overflow:hidden; background:var(--lk-navy-2); box-shadow:0 14px 36px rgba(0,0,0,.30); }
.lk-dp-hero-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.lk-dp-hero-avatar{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:46px; font-weight:700; color:#7ab3e0; background:linear-gradient(160deg,#1a3a7a 0%, #0d245d 100%); }
.lk-dp-hero-name{ font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3vw,40px); line-height:1.18; margin:0; color:#fff; }
.lk-dp-hero-role{ margin:12px 0 0; text-transform:uppercase; letter-spacing:.14em; font-size:13px; font-weight:600; color:#7ab3e0; }

.lk-dp-grid{ display:grid; grid-template-columns:1fr 340px; gap:28px; align-items:start; }
.lk-dp-main{ display:flex; flex-direction:column; gap:22px; }
.lk-dp-card{ background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius); box-shadow:var(--lk-shadow); padding:28px 30px; }
.lk-dp-card-title{ font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--lk-heading); margin:0 0 16px; display:flex; align-items:center; gap:10px; }
.lk-dp-card-title i{ color:var(--lk-accent); font-size:20px; }
.lk-dp-text{ font-size:15px; line-height:1.7; color:var(--lk-text); margin:0; }
.lk-dp-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.lk-dp-list li{ position:relative; padding-left:26px; font-size:14.5px; line-height:1.6; color:var(--lk-text); }
.lk-dp-list li::before{ content:''; position:absolute; left:2px; top:9px; width:8px; height:8px; border-radius:var(--radius-pill); background:var(--lk-accent); }
.lk-dp-tags{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lk-dp-tag{ display:flex; align-items:center; gap:10px; background:var(--lk-soft); border:1px solid var(--lk-border); border-radius:var(--radius-sm); padding:12px 16px; font-size:14px; line-height:1.35; color:var(--lk-heading); }
.lk-dp-tag i{ color:var(--lk-accent); font-size:16px; flex:0 0 auto; }

.lk-dp-side{ position:sticky; top:20px; display:flex; flex-direction:column; gap:20px; }
.lk-dp-stat{ background:#fff; border:1px solid var(--lk-border); border-radius:var(--radius); box-shadow:var(--lk-shadow); padding:22px 26px; display:grid; grid-template-columns:auto 1fr; column-gap:16px; align-items:center; }
.lk-dp-stat-ico{ grid-row:1/3; width:46px; height:46px; border-radius:var(--radius-pill); background:var(--lk-soft); color:var(--lk-accent); display:flex; align-items:center; justify-content:center; font-size:20px; }
.lk-dp-stat-label{ font-size:13px; color:var(--lk-muted); align-self:end; }
.lk-dp-stat-value{ font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--lk-heading); align-self:start; }
.lk-dp-book{ background:var(--lk-navy); border-radius:var(--radius); box-shadow:var(--lk-shadow); padding:26px; color:#fff; }
.lk-dp-book-title{ font-family:var(--font-display); font-size:19px; font-weight:700; margin:0; color:#fff; }
.lk-dp-book-sub{ font-size:13.5px; line-height:1.55; color:#c3cfe8; margin:10px 0 18px; }
.lk-dp-book .lk-btn + .lk-btn{ margin-top:10px; }
.lk-btn--book-outline{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); }
.lk-btn--book-outline:hover{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.7); }

.lk-dp-contacts-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
.lk-dp-contacts-meta{ display:flex; align-items:center; gap:20px; }
.lk-dp-meta-item{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--lk-heading); font-size:14px; font-weight:500; }
.lk-dp-meta-item small{ display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--lk-muted); font-weight:600; margin-bottom:2px; }
.lk-dp-meta-ico{ width:40px; height:40px; border-radius:var(--radius-pill); background:var(--lk-soft); color:var(--lk-accent); display:flex; align-items:center; justify-content:center; font-size:16px; flex:0 0 auto; }
.lk-dp-meta-sep{ width:1px; height:34px; background:var(--lk-border); }
a.lk-dp-meta-item:hover{ color:var(--lk-accent); }

@media (max-width: 991px){
    .lk-dp-grid{ grid-template-columns:1fr; }
    .lk-dp-side{ position:static; }
}
@media (max-width: 575px){
    .lk-dp-hero-inner{ flex-direction:column; align-items:flex-start; gap:20px; }
    .lk-dp-tags{ grid-template-columns:1fr; }
    .lk-dp-card{ padding:22px; }
    .lk-dp-contacts-head{ align-items:flex-start; }
    .lk-dp-contacts-meta{ gap:14px; flex-wrap:wrap; }
}

/* ══════════════ Фото клиники (съёмка 08.2026) ══════════════ */
/* «О нас» → блок «Кто мы»: два горизонтальных кадра в столбик */
.lk-about-media--stack{ grid-template-columns:1fr; }
.lk-about-media--stack img{ aspect-ratio:16/10; }
.lk-about-media--stack img:first-child{ margin-top:0; }

/* «О нас» → слайдер «Наша клиника» */
.lk-clinic-splide{ margin-top:8px; padding-bottom:8px; }
.lk-clinic-photo{
    display:block; border-radius:var(--radius); overflow:hidden;
    aspect-ratio:4/3; background:#eef3fa;
}
.lk-clinic-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.lk-clinic-photo:hover img{ transform:scale(1.05); }
.lk-clinic-splide .splide__pagination{ position:static; margin-top:16px; }
.lk-clinic-splide .splide__pagination__page{ background:#c7d3e8; width:8px; height:8px; }
.lk-clinic-splide .splide__pagination__page.is-active{ background:var(--lk-navy); transform:none; width:22px; border-radius:var(--radius-pill); }
.lk-clinic-splide .splide__arrow{ background:#fff; border:1px solid var(--lk-border); opacity:1; width:38px; height:38px; }
.lk-clinic-splide .splide__arrow svg{ fill:var(--lk-navy); width:15px; height:15px; }
.lk-clinic-splide .splide__arrow--prev{ left:-8px; }
.lk-clinic-splide .splide__arrow--next{ right:-8px; }

/* Контакты → фото фасада в карточке филиала */
.lk-branch-photo{
    display:block; border-radius:var(--radius); overflow:hidden;
    aspect-ratio:2/1; background:var(--lk-soft); margin-bottom:4px;
}
.lk-branch-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.lk-branch-photo:hover img{ transform:scale(1.04); }

/* Прайс → фотополоса в аккордеоне «Детская стоматология» */
.lk-acc-gallery{ margin:20px 0; }

/* Контент из HTML-редактора админки в карточках врача (О враче / Навыки / Образование) */
.lk-dp-rich p{ margin:0 0 10px; }
.lk-dp-rich p:last-child{ margin-bottom:0; }
.lk-dp-rich ul,.lk-dp-rich ol{ margin:0 0 10px; padding:0 0 0 4px; list-style:none; display:flex; flex-direction:column; gap:12px; }
.lk-dp-rich ul:last-child,.lk-dp-rich ol:last-child{ margin-bottom:0; }
.lk-dp-rich li{ position:relative; padding-left:26px; font-size:14.5px; line-height:1.6; color:var(--lk-text); }
.lk-dp-rich li::before{ content:''; position:absolute; left:2px; top:9px; width:8px; height:8px; border-radius:var(--radius-pill); background:var(--lk-accent); }
.lk-dp-rich a{ color:var(--lk-accent); }

/* ═══════════════════════════════════════════════════════════════
   ХЕДЕР (Figma 40:660) — крем со блюром, sticky, без топбара
   ═══════════════════════════════════════════════════════════════ */
.ap-header{
    position:sticky; top:0; z-index:1030;
    background:var(--ap-header-bg);
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
    border-bottom:1px solid var(--ap-line);
    box-shadow:0 4px 30px rgba(51,39,26,.08);
    padding:12px 0;
}
.ap-header-inner{
    max-width:var(--container); margin:0 auto; padding:0 24px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
}

/* ── Лого ── */
.ap-logo{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.ap-logo-mark{ width:36px; height:36px; display:block; }
.ap-logo-text{ display:flex; flex-direction:column; align-items:flex-start; }
.ap-logo-name{
    font-family:var(--font-display); font-weight:600; font-size:18px; line-height:28px;
    letter-spacing:.28em; color:var(--ap-ochre); white-space:nowrap;
}
.ap-logo-sub{
    font-family:var(--font-label); font-size:9px; line-height:9px;
    letter-spacing:.42em; color:var(--ap-ochre); padding-top:4px; white-space:nowrap;
}

/* ── Навигация: подчёркивание золотом по ховеру ── */
.ap-nav-list{
    display:flex; align-items:center; gap:36px;
    list-style:none; margin:0; padding:0;
}
.ap-nav-link{
    position:relative; display:inline-block; padding:2px 0;
    font-family:var(--font-label); font-size:14px; line-height:20px;
    letter-spacing:.025em; color:rgba(51,39,26,.8); text-decoration:none;
    transition:color .25s var(--ease);
}
.ap-nav-link::after{
    content:''; position:absolute; left:0; bottom:-3px; height:1px; width:0;
    background:var(--ap-gold); transition:width .28s var(--ease);
}
.ap-nav-link:hover,.ap-nav-link.is-active{ color:var(--ap-dark); }
.ap-nav-link:hover::after,.ap-nav-link.is-active::after{ width:100%; }

/* ── Правый блок: телефон + CTA ── */
.ap-header-actions{ display:flex; align-items:center; gap:16px; flex-shrink:0; }
.ap-header-tel{
    font-family:var(--font-label); font-weight:700; font-size:14px; line-height:20px;
    letter-spacing:.025em; color:var(--ap-brown); text-decoration:none; white-space:nowrap;
}
.ap-header-tel:hover{ color:var(--ap-gold-d); }
.ap-btn--brown{ background:var(--ap-brown); color:var(--ap-cream); }
.ap-btn--brown:hover{ background:var(--ap-dark); color:var(--ap-cream); }
.ap-header-cta{ padding:10px 24px; }          /* в макете кнопка хедера ниже базовой */
.ap-btn--block{ width:100%; }

.ap-icon-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:36px; height:36px; border-radius:var(--radius-pill);
    border:1px solid var(--ap-line); background:transparent;
    color:var(--ap-ochre); cursor:pointer; transition:.25s var(--ease);
}
.ap-icon-btn:hover{ border-color:var(--ap-gold); color:var(--ap-gold); }

.ap-burger{
    /* flex-direction:column обязательно: без него три полоски выстраиваются
       в строку и сливаются в одну черту (ловушка при переходе с .s-burger) */
    display:none; flex-direction:column; align-items:center; justify-content:center;
    width:40px; height:40px; padding:0;
    border:1px solid var(--ap-line); border-radius:var(--radius-pill); background:transparent; cursor:pointer;
    transition:.25s var(--ease);
}
/* Полоски: базовая тема красит их var(--nav-fg), а эта переменная объявлена
   только внутри .s-header — у нас хедер .ap-header, значение не наследуется
   и полоски пропадали. Задаём цвет явно из палитры Аполлонии. */
.ap-burger span{
    display:block; width:20px; height:2px; margin:3.5px auto;
    background:var(--ap-dark); transition:.3s var(--ease);
}
.ap-burger:hover{ border-color:var(--ap-gold); }
.ap-burger:hover span{ background:var(--ap-ochre); }
.ap-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
.ap-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.ap-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

/* ── Планшет/мобилка ── */
@media (max-width:1200px){
    .ap-nav-list{ gap:22px; }
    .ap-nav-link{ font-size:13px; }
}
@media (max-width:991px){
    .ap-nav{ display:none; }
    .ap-header-cta{ display:none; }
    .ap-burger{ display:inline-flex; }
}
@media (max-width:575px){
    .ap-header-inner{ padding:0 16px; gap:12px; }
    .ap-logo-name{ font-size:15px; letter-spacing:.2em; }
    .ap-logo-sub{ font-size:8px; letter-spacing:.34em; }
    .ap-logo-mark{ width:30px; height:30px; }
    .ap-header-tel{ display:none; }   /* остаётся звонилка s-fab и телефон в моб.меню */
    .ap-icon-btn{ width:32px; height:32px; }
}

/* ═══════════════════════════════════════════════════════════════
   ФУТЕР (Figma 11:5484) — тёмный кофе, меандр, крупный телефон
   ═══════════════════════════════════════════════════════════════ */
.ap-footer{ background:var(--ap-dark); padding:32px 0 20px; }
.ap-footer-inner{ max-width:var(--container); margin:0 auto; padding:0 24px; }

/* ── Меандр: линия — орнамент — линия ── */
.ap-meander{ display:flex; align-items:center; gap:16px; }
.ap-meander-line{ flex:1 1 0; height:1px; background:var(--ap-cream); opacity:.2; }
.ap-meander-ico{ flex-shrink:0; width:120px; height:16px; display:block; }

/* ── Верхний ряд: лого / меню / телефон ── */
.ap-footer-top{
    display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
    margin-top:40px; padding-bottom:40px;
    border-bottom:1px solid rgba(247,241,228,.15);
}
.ap-logo--footer .ap-logo-mark{ width:48px; height:48px; }
.ap-logo--footer .ap-logo-name{ font-size:20px; letter-spacing:.28em; color:var(--ap-cream); }
.ap-logo--footer .ap-logo-sub{ font-size:11px; letter-spacing:.42em; color:var(--ap-on-dark-70,rgba(247,241,228,.7)); }

.ap-footer-nav ul{ display:flex; gap:32px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.ap-footer-nav a{
    font-family:var(--font-label); font-size:14px; line-height:20px;
    color:rgba(247,241,228,.7); text-decoration:none; transition:color .25s var(--ease);
}
.ap-footer-nav a:hover{ color:var(--ap-gold); }

.ap-footer-tel{
    font-family:var(--font-display); font-size:24px; line-height:32px;
    color:var(--ap-ochre); text-decoration:none; white-space:nowrap;
    transition:color .25s var(--ease);
}
.ap-footer-tel:hover{ color:var(--ap-gold); }

/* ── Контакты клиники ── */
.ap-footer-contacts{
    display:flex; align-items:center; gap:28px; flex-wrap:wrap; padding-top:24px;
}
.ap-footer-contact{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--font-label); font-size:13px; line-height:20px;
    color:rgba(247,241,228,.7); text-decoration:none; transition:color .25s var(--ease);
}
.ap-footer-contact:hover{ color:var(--ap-gold); }
.ap-footer-contact i{ color:var(--ap-gold); font-size:14px; }

/* ── Низ: реквизиты + политика ── */
.ap-footer-bottom{
    display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap;
    padding-top:32px;
}
.ap-footer-req,.ap-footer-policies a{
    margin:0; font-family:var(--font-label); font-size:12px; line-height:16px;
    color:rgba(247,241,228,.5); text-decoration:none;
}
.ap-footer-policies a:hover{ color:var(--ap-gold); }

/* ── Мобилка: правило чек-листа — лого/реквизиты/копирайт по центру ── */
@media (max-width:991px){
    .ap-footer-top{ flex-direction:column; align-items:center; text-align:center; gap:24px; }
    .ap-footer-nav ul{ justify-content:center; gap:18px 24px; }
    .ap-footer-contacts{ justify-content:center; text-align:center; gap:16px 22px; }
    .ap-footer-bottom{ flex-direction:column; align-items:center; text-align:center; }
    .ap-footer-policies a,.ap-footer-req{ text-align:center; }
}
@media (max-width:575px){
    .ap-footer-inner{ padding:0 16px; }
    .ap-footer-tel{ font-size:20px; }
    .ap-meander-ico{ width:90px; }
    .ap-footer-nav ul{ display:grid; grid-template-columns:repeat(2,auto); gap:12px 20px; justify-content:center; }
}

/* ═══════════════════════════════════════════════════════════════
   HERO (Figma 11:6219) — фото фасада, затемнение, антиква 112px
   ═══════════════════════════════════════════════════════════════ */
.ap-hero{
    position:relative; min-height:800px; background:var(--ap-dark);
    display:flex; align-items:center; justify-content:center;
    padding:96px 24px; overflow:hidden; isolation:isolate;
}
.ap-hero-media{ position:absolute; inset:0; z-index:-2; }
.ap-hero-media img{ width:100%; height:100%; object-fit:cover; object-position:center 35%; display:block; }
.ap-hero-overlay{ position:absolute; inset:0; z-index:-1; background:var(--ap-overlay); }

.ap-hero-inner{
    max-width:1071px; width:100%; margin:0 auto;
    display:flex; flex-direction:column; align-items:center; text-align:center;
}

/* ── Надзаголовок ── */
.ap-hero-eyebrow{
    display:flex; align-items:center; justify-content:center; gap:16px; margin:0;
    font-family:var(--font-label); font-size:18.4px; line-height:27.6px;
    letter-spacing:.55em; text-transform:uppercase; color:rgba(196,163,63,.7);
}
.ap-hero-eyebrow-line{ width:32px; height:1px; background:rgba(196,163,63,.5); flex-shrink:0; }
.ap-hero-eyebrow-text{ white-space:nowrap; }

/* ── Заголовок: 112px в макете, ужимаем по вьюпорту ── */
.ap-hero-title{
    margin:32px 0 0; font-family:var(--font-display); font-weight:400;
    font-size:clamp(40px,7.8vw,112px); line-height:1.08; color:var(--ap-cream);
}
.ap-hero-title-line{ display:block; }
.ap-hero-title .it{ color:var(--ap-gold); }

.ap-hero-rule{ display:block; width:80px; height:1px; background:rgba(196,163,63,.4); margin-top:16px; }

.ap-hero-sub{
    max-width:448px; margin:28px 0 0;
    font-family:var(--font-text); font-size:16px; line-height:26px;
    color:var(--ap-on-dark-55);
}

.ap-hero-btns{ display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:40px; }

.ap-hero-edge{
    position:absolute; left:0; right:0; bottom:0; height:1px;
    background:linear-gradient(90deg,rgba(196,163,63,0) 0%,rgba(196,163,63,.4) 50%,rgba(196,163,63,0) 100%);
}

@media (max-width:991px){
    .ap-hero{ min-height:600px; padding:72px 20px; }
    .ap-hero-eyebrow{ font-size:13px; letter-spacing:.4em; gap:10px; }
    .ap-hero-eyebrow-line{ width:22px; }
    .ap-hero-sub{ font-size:15px; }
}
@media (max-width:575px){
    .ap-hero{ min-height:520px; padding:56px 16px; }
    .ap-hero-eyebrow{ font-size:11px; letter-spacing:.3em; }
    .ap-hero-title{ margin-top:22px; }
    .ap-hero-sub{ margin-top:20px; font-size:14px; line-height:23px; }
    .ap-hero-btns{ margin-top:28px; gap:12px; flex-direction:column; align-items:stretch; width:100%; }
    .ap-hero-btns .ap-btn{ width:100%; }
}

/* ═══════════════════════════════════════════════════════════════
   ПРАЙС-АККОРДЕОН (Figma 20:1914) — кремовые карточки, золотые иконки
   ═══════════════════════════════════════════════════════════════ */
.lk-acc-list{ display:flex; flex-direction:column; gap:12px; }

.lk-acc{
    background:var(--panel); border:1px solid var(--ap-line);
    border-radius:var(--radius-lg); overflow:hidden;
    transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.lk-acc:hover{ border-color:var(--ap-gold); }
.lk-acc.is-open{ border-color:var(--ap-gold); box-shadow:0 8px 28px rgba(51,39,26,.06); }

/* ── Кнопка категории: 81px в макете (105px с подзаголовком) ── */
/* промежуточная итерация правил аккордеона удалена — см. блок в конце файла */

.lk-acc-body{ padding:0 32px 32px; }
.lk-acc-subhead{
    margin:0 0 12px; font-family:var(--font-label); font-size:11px;
    letter-spacing:var(--track-eyebrow); text-transform:uppercase; color:var(--ap-gold);
}
.lk-acc-desc{ margin:0 0 20px; color:var(--ap-ink-60); }

/* промежуточная итерация правил таблицы прайса удалена — см. блок в конце файла */



/* ── Заглушка страницы политики (до получения PDF от клиента) ── */
.ap-policy-pending{
    max-width:720px; margin:0 auto; text-align:center;
    background:var(--panel); border:1px solid var(--ap-line);
    border-radius:var(--radius); padding:40px 32px;
}
.ap-policy-pending p{ margin:0 0 16px; color:var(--ap-ink-60); }
.ap-policy-note{ font-size:14px; color:var(--ap-ink-35); }
.ap-policy-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
@media (max-width:575px){
    .ap-policy-pending{ padding:28px 20px; }
    .ap-policy-actions{ flex-direction:column; align-items:stretch; }
}

/* ═══════════════════════════════════════════════════════════════════════
   СЕКЦИИ ПО МАКЕТУ (Figma 11:6277 / 11:6374 / 11:6447 / 11:6531 /
   11:6650 / 11:6710 и внутренние страницы). Единая система:
   секция 80px, надзаголовок 11/4.95px золотом, H2 Playfair 48/60,
   карточка на крем-фоне с тенью, разделитель #d9c6a3.
   Радиусы — из токенов --radius* (значения сняты с макета).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Оболочки секций ── */
.ap-sec{ padding:80px 0; }
.ap-sec--soft{ background:var(--ap-sec-soft); }
.ap-sec--cream{ background:var(--ap-card); }
.ap-sec--dark{ background:var(--ap-dark); }

/* ── Шапка секции ── */
.ap-sechead{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px 32px; flex-wrap:wrap; }
.ap-sechead-main{ min-width:0; }
.ap-sechead--center{ flex-direction:column; align-items:center; text-align:center; }

.ap-eyebrow-row{ display:flex; align-items:center; gap:16px; margin:0; }
.ap-sechead--center .ap-eyebrow-row{ justify-content:center; }
.ap-eyebrow-line{ display:block; width:32px; height:1px; background:var(--ap-gold); opacity:.6; flex:0 0 32px; }
.ap-sec--dark .ap-eyebrow-line{ opacity:.5; }
.ap-eyebrow-text{
    font-family:var(--font-label); font-size:11px; line-height:16.5px;
    letter-spacing:var(--track-eyebrow); text-transform:uppercase; color:var(--ap-gold);
}

.ap-h2{
    margin:16px 0 0; font-family:var(--font-display); font-weight:400;
    font-size:48px; line-height:60px; color:var(--ap-ink);
}
.ap-sec--dark .ap-h2{ color:var(--ap-on-dark); }
.ap-h2 .it{ font-family:var(--font-display); font-style:italic; color:var(--ap-ochre); }
.ap-sec--dark .ap-h2 .it{ color:rgba(196,163,63,.8); }

.ap-lead{
    margin:16px 0 0; max-width:448px;
    font-size:15px; line-height:24.375px; color:rgba(51,39,26,.55);
}
.ap-sechead--center .ap-lead{ margin-inline:auto; }
.ap-sec--dark .ap-lead{ color:var(--ap-on-dark-55); }

/* ── Кнопка-ссылка в шапке секции («Смотреть все услуги») ── */
.ap-btn--outline{
    background:transparent; color:var(--ap-brown); border-color:var(--ap-brown);
    padding:12px 28px; font-size:14px; letter-spacing:.35px;
}
.ap-btn--outline:hover{ background:var(--ap-brown); color:var(--ap-cream); }
.ap-sec--dark .ap-btn--outline{ color:var(--ap-gold); border-color:rgba(196,163,63,.55); }
.ap-sec--dark .ap-btn--outline:hover{ background:var(--ap-gold); color:var(--ap-dark); }

/* ── Слайдер: дорожка и стрелки ── */
.ap-slider{ position:relative; margin-top:48px; padding:0 40px; }
.ap-slider .splide__track{ overflow:hidden; }
.ap-slider .splide__list{ align-items:stretch; }
.ap-slider .splide__slide{ height:auto; display:flex; }
.ap-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:2;
    width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center;
    background:var(--ap-sec-soft); border:1px solid rgba(107,78,46,.4); border-radius:var(--radius-pill);
    color:var(--ap-brown); font-size:20px; line-height:1; cursor:pointer;
    box-shadow:0 4px 3px rgba(0,0,0,.1), 0 2px 2px rgba(0,0,0,.1);
    transition:.25s var(--ease);
}
.ap-arrow:hover{ background:var(--ap-brown); border-color:var(--ap-brown); color:var(--ap-cream); }
.ap-arrow--prev{ left:0; }
.ap-arrow--next{ right:0; }

/* ── Базовая карточка каталога (услуга / врач / новость) ── */
.ap-card{
    display:flex; flex-direction:column; width:100%; min-height:100%; overflow:hidden;
    background:var(--ap-sec-soft); box-shadow:var(--ap-shadow-card); border-radius:var(--radius);
    text-decoration:none; transition:.28s var(--ease);
}
.ap-card:hover{ box-shadow:0 12px 34px rgba(51,39,26,.16); transform:translateY(-3px); }
.ap-card-media{
    position:relative; display:block; width:100%; overflow:hidden;
    background:var(--ap-img-bg);
}
.ap-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ap-card-body{ display:flex; flex-direction:column; flex:1 1 auto; padding:24px; }
.ap-card-title{
    margin:0; font-family:var(--font-display); font-weight:400;
    font-size:20px; line-height:28px; color:var(--ap-ink);
}
.ap-card-text{ margin:10px 0 0; font-size:14px; line-height:22.75px; color:var(--ap-ink-60); }
.ap-card-foot{
    display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap;
    margin-top:auto; padding-top:16px; border-top:1px solid var(--ap-line);
}
.ap-card-foot--top{ margin-top:16px; }
.ap-card-price{
    font-family:var(--font-display); font-weight:600; font-size:18px; line-height:28px;
    color:var(--ap-brown); white-space:nowrap;
}
.ap-card-more{ font-size:14px; line-height:20px; letter-spacing:.35px; color:rgba(107,78,46,.7); white-space:nowrap; }
.ap-card:hover .ap-card-more{ color:var(--ap-brown); }

/* карточка услуги: фото 208px */
.ap-svc-card .ap-card-media{ height:208px; }
/* карточка врача: фото 320px + подпись «N лет опыта» */
.ap-doc-card .ap-card-media{ height:320px; }
.ap-doc-spec{ margin:4px 0 0; font-size:14px; line-height:20px; color:var(--ap-ink-60); }
.ap-doc-exp{ display:flex; align-items:center; gap:8px; }
.ap-doc-exp-line{ display:block; width:20px; height:1px; background:var(--ap-gold); flex:0 0 20px; }
.ap-doc-exp-text{ font-size:12px; line-height:16px; letter-spacing:.3px; color:var(--ap-gold); }

/* ── Ценности клиники: тёмная секция на мраморе ── */
.ap-values{
    position:relative; padding:96px 0;
    background-color:var(--ap-dark);
    background-image:url("../img/decor/marble.webp");
    background-size:cover; background-position:center;
    /* мрамор в макете умножается на тёмный кофе — так и держим */
    background-blend-mode:multiply;
}
.ap-values-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:64px;
}
.ap-value{
    display:flex; flex-direction:column; align-items:center; text-align:center;
    padding:40px; border:1px solid rgba(196,163,63,.25); border-radius:var(--radius);
    background:rgba(51,39,26,.25); transition:.28s var(--ease);
}
.ap-value:hover{ border-color:rgba(196,163,63,.5); background:rgba(51,39,26,.45); }
.ap-value-ico{
    width:64px; height:64px; display:inline-flex; align-items:center; justify-content:center;
    border:1px solid rgba(196,163,63,.4); border-radius:var(--radius-pill); margin-bottom:24px;
}
.ap-value-ico img{ width:28px; height:28px; display:block; }
.ap-value-rule{ display:block; width:32px; height:1px; background:rgba(196,163,63,.5); margin-bottom:20px; }
.ap-value-title{
    margin:0; font-family:var(--font-display); font-weight:400;
    font-size:20px; line-height:28px; color:var(--ap-on-dark);
}
.ap-value-text{ margin:12px 0 0; max-width:308px; font-size:14px; line-height:22.75px; color:var(--ap-on-dark-55); }

/* ── Отзывы ── */
.ap-rev-card{
    display:flex; flex-direction:column; width:100%; min-height:100%; padding:32px;
    background:var(--ap-card); box-shadow:0 4px 10px rgba(51,39,26,.08); border-radius:var(--radius);
}
.ap-rev-quote{
    font-family:var(--font-display); font-size:48px; line-height:48px;
    color:rgba(196,163,63,.3); margin:0;
}
.ap-rev-text{ margin:0; font-size:15px; line-height:24.375px; color:rgba(51,39,26,.75); }
.ap-rev-foot{ margin-top:auto; padding-top:20px; border-top:1px solid var(--ap-line); }
.ap-rev-stars{ display:flex; gap:2px; color:var(--ap-gold); font-size:14px; line-height:20px; }
.ap-rev-meta{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding-top:12px; }
.ap-rev-name{ margin:0; font-family:var(--font-display); font-weight:400; font-size:18px; line-height:28px; color:var(--ap-ink); }
.ap-rev-date{ margin:0; font-size:12px; line-height:16px; color:rgba(51,39,26,.45); }

/* ── Карточка «Мы здесь»: контакты + карта ── */
.ap-cts{
    display:grid; grid-template-columns:360px 1fr; margin-top:48px;
    border:1px solid var(--ap-line); border-radius:var(--radius-lg); box-shadow:0 12px 40px rgba(51,39,26,.08);
    overflow:hidden; min-height:486px;
}
.ap-cts-info{
    display:flex; flex-direction:column; gap:32px; justify-content:space-between;
    padding:48px; background:var(--ap-sec-soft);
}
.ap-cts-list{ display:flex; flex-direction:column; gap:28px; margin:0; }
.ap-cts-term{
    margin:0; font-size:10px; line-height:15px; letter-spacing:4px;
    text-transform:uppercase; color:var(--ap-gold);
}
.ap-cts-desc{
    margin:6px 0 0; font-family:var(--font-display); font-weight:400;
    font-size:20px; line-height:28px; color:var(--ap-ink);
}
a.ap-cts-desc{ display:block; transition:color .2s; }
a.ap-cts-desc:hover{ color:var(--ap-ochre); }
.ap-cts-map{ background:var(--ap-img-bg); min-height:400px; }
.ap-cts-map iframe{ display:block; width:100%; height:100%; min-height:400px; border:0; }

/* ── Форма заявки в макете (фото слева, поля справа) ── */
.ap-formcard{
    display:grid; grid-template-columns:512px 1fr; margin-top:48px;
    border:1px solid var(--ap-line); border-radius:var(--radius-lg);
    box-shadow:0 20px 60px rgba(51,39,26,.1); overflow:hidden;
}
.ap-formcard-media{ position:relative; min-height:340px; background:var(--ap-img-bg); }
.ap-formcard-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ap-formcard-media::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(to top, rgba(51,39,26,.85) 0%, rgba(51,39,26,.4) 50%, rgba(51,39,26,0) 100%);
}
.ap-formcard-cap{ position:absolute; left:0; right:0; bottom:0; z-index:1; padding:40px; }
.ap-formcard-quote{ margin:0; font-family:var(--font-display); font-size:24px; line-height:33px; }
.ap-formcard-quote .it{ font-style:italic; color:rgba(196,163,63,.9); display:block; }
.ap-formcard-quote .ln{ display:block; color:var(--ap-on-dark); line-height:32px; }
.ap-formcard-cts{ margin:24px 0 0; display:flex; flex-direction:column; gap:8px; }
.ap-formcard-cts a,.ap-formcard-cts span{ font-size:14px; line-height:20px; color:rgba(247,241,228,.7); }
.ap-formcard-cts a:hover{ color:var(--ap-gold); }

.ap-form{ display:flex; flex-direction:column; gap:20px; padding:48px; background:var(--ap-card); }
.ap-field{ display:flex; flex-direction:column; }
.ap-label{
    margin:0 0 8px; font-size:11px; line-height:16.5px; letter-spacing:3.3px;
    text-transform:uppercase; color:var(--ap-ink-50);
}
.ap-input,.ap-form textarea.ap-input{
    width:100%; padding:14px 16px; background:var(--ap-sec-soft);
    border:1px solid var(--ap-line); border-radius:var(--radius);
    font-family:var(--font-text); font-size:16px;
    color:var(--ap-ink); transition:border-color .2s, box-shadow .2s;
}
.ap-input::placeholder{ color:var(--ap-ink-35); }
.ap-input:focus{ outline:none; border-color:var(--ap-gold); box-shadow:0 0 0 3px rgba(196,163,63,.15); }
.ap-form textarea.ap-input{ min-height:126px; resize:vertical; line-height:24px; }
.ap-consent{ display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:20px; color:rgba(51,39,26,.55); }
.ap-consent input{ flex:0 0 16px; width:16px; height:16px; margin-top:2px; border-radius:var(--radius-xs); accent-color:var(--ap-brown); }
.ap-consent a{ color:var(--ap-brown); text-decoration:underline; }
.ap-submit{
    width:100%; padding:16px 24px; background:var(--ap-brown); color:var(--ap-cream);
    border:0; border-radius:var(--radius-pill); font-family:var(--font-label); font-size:14px; line-height:20px;
    letter-spacing:1.4px; cursor:pointer; transition:.25s var(--ease);
}
.ap-submit:hover{ background:var(--ap-dark); }
.ap-submit:disabled{ opacity:.4; cursor:default; }

/* ── Разделитель-меандр между секциями ── */
.ap-divider{ padding:20px 0; background:var(--ap-sec-soft); }
.ap-divider--cream{ background:var(--ap-card); }

/* ── Планшет / мобилка ── */
@media (max-width:1199px){
    .ap-h2{ font-size:40px; line-height:50px; }
    .ap-values-grid{ grid-template-columns:repeat(2,1fr); gap:24px; }
    .ap-cts{ grid-template-columns:320px 1fr; }
    .ap-formcard{ grid-template-columns:1fr 1fr; }
}
@media (max-width:991px){
    .ap-sec{ padding:56px 0; }
    .ap-values{ padding:64px 0; }
    .ap-cts,.ap-formcard{ grid-template-columns:1fr; }
    .ap-cts-info{ padding:32px; }
    .ap-formcard-media{ min-height:260px; }
    .ap-form{ padding:32px; }
    .ap-slider{ padding:0; }
    .ap-arrow{ display:none; }
}
@media (max-width:767px){
    .ap-h2{ font-size:30px; line-height:38px; }
    .ap-sechead{ flex-direction:column; align-items:center; text-align:center; }
    .ap-sechead .ap-eyebrow-row{ justify-content:center; }
    .ap-lead{ margin-inline:auto; }
    .ap-values-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
    .ap-value{ padding:20px 14px; }
    .ap-value-ico{ width:48px; height:48px; margin-bottom:16px; }
    .ap-value-ico img{ width:22px; height:22px; }
    .ap-value-title{ font-size:14.5px; line-height:20px; }
    .ap-value-text{ font-size:12px; line-height:18px; }
    .ap-card-body{ padding:16px; }
    .ap-card-title{ font-size:14.5px; line-height:20px; }
    .ap-card-text{ font-size:12px; line-height:18px; }
    .ap-card-price{ font-size:15px; }
    .ap-card-more{ font-size:11px; }
    .ap-svc-card .ap-card-media{ height:132px; }
    .ap-doc-card .ap-card-media{ height:190px; }
    .ap-rev-card{ padding:20px; }
    .ap-rev-text{ font-size:13px; line-height:20px; }
    .ap-cts-info{ padding:24px; gap:24px; }
    .ap-cts-list{ gap:20px; }
    .ap-cts-desc{ font-size:17px; line-height:24px; }
    .ap-form{ padding:24px 20px; }
    .ap-formcard-cap{ padding:24px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   ВНУТРЕННИЕ СТРАНИЦЫ (Figma 17:1145, 19:1873, 40:433, 40:1382,
   16:590, 25:3036, 27:4114)
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Шапка страницы: крошки → надзаголовок → H1 → лид ── */
.ap-phero{ background:var(--ap-card); padding:48px 0 64px; }
.ap-phero-inner{ display:flex; flex-direction:column; align-items:flex-start; }
.ap-phero--center .ap-phero-inner{ align-items:center; text-align:center; }
.ap-phero-crumbs{ margin-bottom:40px; }
.ap-eyebrow-row--sm .ap-eyebrow-line{ width:24px; flex-basis:24px; }
.ap-eyebrow-row--sm .ap-eyebrow-text{ font-size:10px; line-height:15px; letter-spacing:.5em; }
.ap-phero-title{
    margin:24px 0 0; font-family:var(--font-display); font-weight:400;
    font-size:clamp(32px,4.6vw,56px); line-height:1.08; color:var(--ap-ink);
}
.ap-phero--center .ap-phero-title{ font-size:clamp(34px,5.2vw,72px); line-height:1.06; }
.ap-phero-title .it{ font-family:var(--font-display); font-style:italic; color:var(--ap-gold); }
.ap-phero-title .ln{ display:block; }
.ap-phero-lead{ margin:24px 0 0; max-width:448px; font-size:16px; line-height:26px; color:rgba(51,39,26,.55); }
.ap-phero--center .ap-phero-lead{ margin-top:32px; margin-inline:auto; }
.ap-phero-btns{ display:flex; gap:16px; flex-wrap:wrap; margin-top:32px; }

/* шапка с фото справа («О клинике», «Контакты») */
.ap-phero--split .ap-phero-inner{ display:grid; grid-template-columns:minmax(0,1fr) 480px; gap:48px; align-items:center; }
.ap-phero-media{ background:var(--ap-img-bg); overflow:hidden; aspect-ratio:4/3; border-radius:var(--radius-lg); }
.ap-phero-media img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ── Иконка-заглушка вместо фото в карточке ── */
.ap-card-ico{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    background:var(--ap-img-bg);
}
.ap-card-ico img{ width:56px; height:56px; opacity:.8; }

/* ── Теги направлений в карточке врача ── */
.ap-doc-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.ap-doc-tag{
    display:inline-block; padding:4px 10px; border:1px solid var(--ap-line);
    border-radius:var(--radius-pill);
    background:var(--ap-card); font-size:11px; line-height:16px; color:var(--ap-ink-60);
}

/* ── Сетки карточек ── */
.ap-grid{ display:grid; gap:24px; margin-top:0; }
.ap-grid--4{ grid-template-columns:repeat(4,1fr); }
.ap-grid--3{ grid-template-columns:repeat(3,1fr); }
.ap-grid--2{ grid-template-columns:repeat(2,1fr); }

/* ── Документы (Figma 19:1873) ── */
.ap-docitem{
    display:flex; flex-direction:column; align-items:center; text-align:center;
    padding:32px 24px; background:var(--ap-sec-soft); border:1px solid var(--ap-line);
    border-radius:var(--radius); transition:.25s var(--ease);
}
.ap-docitem:hover{ border-color:var(--ap-gold); box-shadow:var(--ap-shadow-card); }
.ap-docitem-ico{
    width:56px; height:56px; display:inline-flex; align-items:center; justify-content:center;
    border:1px solid var(--ap-line); border-radius:var(--radius);
    color:var(--ap-gold); font-size:22px; margin-bottom:20px;
}
.ap-docitem-name{
    margin:0; font-family:var(--font-display); font-weight:400;
    font-size:17px; line-height:24px; color:var(--ap-ink);
}
.ap-docitem-desc{ margin:12px 0 20px; font-size:13px; line-height:21px; color:var(--ap-ink-60); }
.ap-docitem-btn{
    display:inline-flex; align-items:center; gap:8px; margin-top:auto;
    padding:11px 18px; border:1px solid var(--ap-line); border-radius:var(--radius-pill); background:transparent;
    font-family:var(--font-label); font-size:11px; line-height:16px; letter-spacing:1.2px;
    text-transform:uppercase; color:var(--ap-brown); text-decoration:none; transition:.25s var(--ease);
}
.ap-docitem-btn:hover{ background:var(--ap-brown); border-color:var(--ap-brown); color:var(--ap-cream); }
.ap-docitem-soon{ margin-top:auto; font-size:12px; line-height:18px; color:var(--ap-ink-35); }

/* ── Новости: карточка (Figma 40:42) ── */
.ap-post-card{ border-radius:var(--radius-lg); }
.ap-post-card .ap-card-media{ height:200px; }
.ap-post-badge{
    position:absolute; top:12px; right:12px; z-index:1;
    padding:5px 10px; background:var(--ap-gold); color:var(--ap-dark); border-radius:var(--radius-pill);
    font-family:var(--font-label); font-size:10px; line-height:14px;
    letter-spacing:2px; text-transform:uppercase;
}
.ap-post-date{
    position:absolute; left:12px; bottom:12px; z-index:1;
    padding:5px 10px; background:rgba(51,39,26,.8); color:var(--ap-cream); border-radius:var(--radius-pill);
    font-size:11px; line-height:15px;
}

/* ── Новость: статья + сайдбар (Figma 40:1035) ── */
.ap-article{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:32px; align-items:start; }
.ap-article-meta{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.ap-article-cat{
    padding:5px 12px; background:rgba(196,163,63,.18); color:var(--ap-ochre); border-radius:var(--radius-pill);
    font-family:var(--font-label); font-size:10px; letter-spacing:2px; text-transform:uppercase;
}
.ap-article-meta-item{ display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--ap-ink-50); }
.ap-article-cover{ display:block; width:100%; margin-bottom:32px; background:var(--ap-img-bg); border-radius:var(--radius-lg); overflow:hidden; }
.ap-article-body{ font-size:15px; line-height:26px; color:var(--ap-ink-60); }
.ap-article-body h2,.ap-article-body h3{
    font-family:var(--font-display); font-weight:400; color:var(--ap-ink);
    font-size:24px; line-height:32px; margin:32px 0 14px;
}
.ap-article-body p{ margin:0 0 16px; }
.ap-article-body img{ max-width:100%; height:auto; margin:20px 0; border-radius:var(--radius); }
.ap-article-body ul{ list-style:none; padding:0; margin:0 0 18px; }
.ap-article-body ul li{ position:relative; padding-left:20px; margin-bottom:10px; }
.ap-article-body ul li::before{
    content:''; position:absolute; left:0; top:11px; width:5px; height:5px;
    background:var(--ap-gold); border-radius:var(--radius-pill);
}
.ap-article-body blockquote{
    margin:24px 0; padding:4px 0 4px 20px; border-left:2px solid var(--ap-gold);
    font-family:var(--font-display); font-style:italic; font-size:16px; line-height:28px;
    color:var(--ap-ochre);
}
.ap-aside{ display:flex; flex-direction:column; gap:24px; position:sticky; top:96px; }
.ap-aside-card{ padding:24px; background:var(--ap-sec-soft); border:1px solid var(--ap-line); border-radius:var(--radius); }
/* в статье сайдбар крупнее — 16px (Figma 40:1103 / 40:1119) */
.ap-article .ap-aside-card{ border-radius:var(--radius-lg); }
.ap-aside-card--dark{ background:var(--ap-dark); border-color:transparent; padding:28px; }
.ap-aside-title{
    margin:0 0 12px; font-family:var(--font-display); font-weight:400;
    font-size:20px; line-height:28px; color:var(--ap-ink);
}
.ap-aside-card--dark .ap-aside-title{ color:var(--ap-on-dark); }
.ap-aside-text{ margin:0 0 20px; font-size:14px; line-height:22px; color:var(--ap-on-dark-55); }
.ap-aside-eyebrow{
    margin:0 0 16px; font-family:var(--font-label); font-size:10px; line-height:15px;
    letter-spacing:.4em; text-transform:uppercase; color:var(--ap-gold);
}
.ap-aside-post{ display:flex; flex-direction:column; gap:8px; padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--ap-line); }
.ap-aside-post:last-child{ border-bottom:0; padding-bottom:0; margin-bottom:0; }
.ap-aside-post-media{ display:block; height:120px; background:var(--ap-img-bg); overflow:hidden; border-radius:var(--radius); }
.ap-aside-post-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ap-aside-post-title{ margin:0; font-family:var(--font-display); font-weight:400; font-size:15px; line-height:21px; color:var(--ap-ink); }
.ap-aside-post-date{ margin:0; font-size:12px; color:var(--ap-ink-35); }
.ap-backlink{ display:inline-flex; align-items:center; gap:10px; margin-top:8px; padding:11px 22px; border:1px solid var(--ap-line); border-radius:var(--radius-pill); color:var(--ap-brown); font-size:13px; }
.ap-backlink:hover{ background:var(--ap-brown); border-color:var(--ap-brown); color:var(--ap-cream); }

/* ── Страница врача (Figma 16:590) ── */
.ap-dp-hero{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:48px; align-items:start; }
.ap-dp-eyebrow{ display:flex; align-items:center; gap:12px; margin:0; }
.ap-dp-name{ margin:20px 0 0; font-family:var(--font-display); font-weight:400; font-size:clamp(32px,4.2vw,52px); line-height:1.1; color:var(--ap-ink); }
.ap-dp-photo{ background:var(--ap-img-bg); aspect-ratio:3/4; overflow:hidden; border-radius:var(--radius) var(--radius) 0 0; }
.ap-dp-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.ap-dp-intro{ margin:20px 0 0; font-size:15px; line-height:26px; color:var(--ap-ink-60); max-width:640px; }
.ap-dp-cols{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:32px; align-items:start; margin-top:48px; }
.ap-dp-stack{ display:flex; flex-direction:column; gap:24px; }
.ap-panel{ padding:28px; background:var(--ap-sec-soft); border:1px solid var(--ap-line); border-radius:var(--radius); }
.ap-panel-head{
    display:flex; align-items:center; gap:10px; margin:0 0 18px;
    font-family:var(--font-label); font-size:10px; letter-spacing:.4em;
    text-transform:uppercase; color:var(--ap-gold);
}
.ap-panel-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px; }
.ap-panel-list li{ position:relative; padding-left:18px; font-size:14px; line-height:22px; color:var(--ap-ink-60); }
.ap-panel-list li::before{ content:''; position:absolute; left:0; top:9px; width:5px; height:5px; background:var(--ap-gold); border-radius:var(--radius-pill); }
.ap-stat{ padding:24px 28px; background:var(--ap-sec-soft); border:1px solid var(--ap-line); border-radius:var(--radius); }
.ap-stat-num{ font-family:var(--font-display); font-size:40px; line-height:1; color:var(--ap-ink); }
.ap-stat-unit{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--ap-ink-35); margin-left:8px; }

/* ── Контакты: тёмная полоса с 4 колонками (Figma 27:3607) ── */
.ap-ctstrip{ background:var(--ap-dark); padding:64px 0; }
.ap-ctstrip-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:40px; }
.ap-ctstrip-item{ display:flex; flex-direction:column; gap:12px; padding:32px 28px; border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-lg); transition:.25s var(--ease); }
a.ap-ctstrip-item:hover{ border-color:rgba(196,163,63,.5); }
.ap-ctstrip-ico{ display:block; width:24px; height:24px; }
.ap-ctstrip-ico img{ width:24px; height:24px; display:block; }
.ap-ctstrip-term{ color:rgba(247,241,228,.3) !important; letter-spacing:.35em !important; }
.ap-ctstrip-term{ margin:0; font-family:var(--font-label); font-size:10px; letter-spacing:.4em; text-transform:uppercase; color:var(--ap-gold); }
.ap-ctstrip-val{ margin:8px 0 0; font-family:var(--font-display); font-size:20px; line-height:27.5px; color:var(--ap-on-dark); overflow-wrap:anywhere; }
.ap-ctstrip-val--long{ font-size:16px; line-height:23px; }
a.ap-ctstrip-val:hover{ color:var(--ap-gold); }
.ap-ctstrip-note{ margin:4px 0 0; font-size:13px; line-height:19.5px; color:rgba(247,241,228,.4); }

/* ── Табличка режима работы ── */
.ap-hours{ width:100%; border-collapse:collapse; margin:16px 0 0; font-size:14px; }
.ap-hours td{ padding:8px 0; border-bottom:1px solid var(--ap-line); color:var(--ap-ink-60); }
.ap-hours td:last-child{ text-align:right; color:var(--ap-ink); }
.ap-hours tr:last-child td{ border-bottom:0; }

/* ── Адаптив внутренних страниц ── */
@media (max-width:1199px){
    .ap-grid--4{ grid-template-columns:repeat(3,1fr); }
    .ap-article{ grid-template-columns:minmax(0,1fr) 300px; }
    .ap-phero--split .ap-phero-inner{ grid-template-columns:minmax(0,1fr) 380px; gap:32px; }
    .ap-dp-hero,.ap-dp-cols{ grid-template-columns:minmax(0,1fr) 280px; gap:32px; }
    .ap-ctstrip-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:991px){
    .ap-phero{ padding:32px 0 48px; }
    .ap-phero-crumbs{ margin-bottom:24px; }
    .ap-grid--4,.ap-grid--3{ grid-template-columns:repeat(2,1fr); }
    .ap-article{ grid-template-columns:1fr; }
    .ap-aside{ position:static; }
    .ap-phero--split .ap-phero-inner{ grid-template-columns:1fr; }
    .ap-dp-hero,.ap-dp-cols{ grid-template-columns:1fr; }
    .ap-dp-photo{ max-width:320px; border-radius:var(--radius); }
}
@media (max-width:767px){
    /* карточки по 2 в ряд с пропорционально ужатым шрифтом (правило чек-листа) */
    .ap-grid{ gap:12px; }
    .ap-grid--4,.ap-grid--3,.ap-grid--2{ grid-template-columns:repeat(2,1fr); }
    .ap-docitem{ padding:18px 12px; }
    .ap-docitem-ico{ width:44px; height:44px; font-size:18px; margin-bottom:14px; }
    .ap-docitem-name{ font-size:14.5px; line-height:20px; }
    .ap-docitem-desc{ font-size:12px; line-height:18px; margin:8px 0 14px; }
    .ap-docitem-btn{ padding:9px 12px; font-size:10px; letter-spacing:.8px; }
    .ap-post-card .ap-card-media{ height:132px; }
    .ap-panel{ padding:20px; }
    .ap-panel-list{ grid-template-columns:1fr; }
    .ap-ctstrip-grid{ grid-template-columns:1fr; gap:12px; }
    .ap-ctstrip-item{ padding:18px 16px; }
    .ap-ctstrip-val{ font-size:16px; line-height:24px; }
    .ap-phero-lead{ font-size:14px; line-height:23px; }
    .ap-doc-tag{ font-size:10px; padding:3px 7px; }
}

/* ── Цифры каталога в блоке «Кто мы» (О клинике) ── */
.ap-about-stats{
    display:flex; gap:48px; flex-wrap:wrap; margin:32px 0 0;
    padding:24px 0; border-top:1px solid var(--ap-line); border-bottom:1px solid var(--ap-line);
}
.ap-about-stats .ap-stat-num{ display:inline-block; font-family:var(--font-display); font-size:40px; line-height:1; color:var(--ap-ink); }
.ap-about-stats .ap-stat-unit{ display:block; margin-top:6px; margin-left:0; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ap-ink-35); }
@media (max-width:767px){
    .ap-about-stats{ gap:28px; margin-top:24px; padding:18px 0; }
    .ap-about-stats .ap-stat-num{ font-size:30px; }
    .ap-about-stats .ap-stat-unit{ font-size:11px; }
}

/* ── Заглушка-аватар врача в палитре макета ── */
.ap-doc-ph{
    display:flex; width:100%; height:100%; align-items:center; justify-content:center;
    background:var(--ap-img-bg); overflow:hidden;
}
.ap-doc-ph img{ width:auto; height:auto; opacity:.45; }
.ap-doc-ph--card img{ width:64px; height:64px; }
.ap-doc-ph--hero img{ width:88px; height:88px; }
@media (max-width:767px){ .ap-doc-ph--card img{ width:44px; height:44px; } }

/* ── Правки по локальной приёмке ── */
/* ссылка «Услуги и цены →» внутри тёмной карточки была коричневой на коричневом */
.ap-aside-card--dark .ap-card-more{ color:rgba(196,163,63,.8); }
.ap-aside-card--dark .ap-card-more:hover{ color:var(--ap-gold); }
/* цитата-лид статьи лежит вне .ap-article-body — правило должно ловить и её */
.ap-article > article > blockquote,
.ap-article-body blockquote{
    margin:0 0 24px; padding:4px 0 4px 20px; border-left:2px solid var(--ap-gold);
    font-family:var(--font-display); font-style:italic; font-size:16px; line-height:28px;
    color:var(--ap-ochre);
}

/* ═══════════════════════════════════════════════════════════════════════
   ШАПКИ ВНУТРЕННИХ СТРАНИЦ — точные размеры макета
   Прайс   20:1880 — H1 48px, надзаголовок без линии, меандр внизу, бордер снизу
   О клинике 24:2401 — H1 72px в три строки, сетка 712/480, бордер сверху у текста
   Контакты  27:3565 — H1 100.8px, бордер сверху И снизу
   Курсив в H1 внутренних страниц — охра #916d3b (на главной он золотой).
   ═══════════════════════════════════════════════════════════════════════ */
.ap-phero{ padding:56px 0 0; }
.ap-phero-crumbs{ margin-bottom:0; }
.ap-phero-title .it{ color:var(--ap-ochre); }

/* размеры заголовка по страницам */
.ap-phero-title{ font-size:clamp(30px,3.6vw,48px); line-height:1; }
.ap-phero-title--xl{ font-size:clamp(34px,5vw,72px); line-height:1.06; }
.ap-phero-title--xxl{ font-size:clamp(38px,7vw,100.8px); line-height:1.06; }

/* прайс: надзаголовок без линии, отступы 40/20/20, меандр и бордер снизу */
.ap-phero--plain{ padding-bottom:0; border-bottom:1px solid var(--ap-line); }
.ap-phero--plain .ap-phero-inner{ display:block; }
.ap-phero--plain .ap-eyebrow-row{ padding-top:40px; }
.ap-phero--plain .ap-eyebrow-line{ display:none; }
.ap-phero--plain .ap-phero-title{ margin-top:20px; }
.ap-phero--plain .ap-phero-lead{ margin-top:20px; font-size:15px; line-height:24.375px; color:var(--ap-ink-50); }
.ap-phero-meander{ padding:48px 0 0; }

/* две колонки «текст + фото» (О клинике, Контакты) */
.ap-phero--split{ padding-bottom:0; }
.ap-phero--split .ap-phero-inner{
    display:grid; grid-template-columns:minmax(0,712px) 480px; gap:40px;
    align-items:stretch; padding-top:40px;
}
.ap-phero--split .ap-phero-text{
    display:flex; flex-direction:column; justify-content:space-between;
    padding:40px 0; border-top:1px solid var(--ap-line);
}
/* на «Контактах» текстовая колонка обведена сверху и снизу */
.ap-phero--rules .ap-phero-text{ border-bottom:1px solid var(--ap-line); }
.ap-phero--split .ap-phero-title{ margin-top:20px; }
.ap-phero--split .ap-phero-lead{ margin-top:32px; font-size:16px; line-height:26px; color:rgba(51,39,26,.55); }
.ap-phero--split .ap-phero-btns{ margin-top:40px; }

/* Фоторамка макета: градиент снизу + уголки-скобки золотом */
.ap-figframe{
    position:relative; overflow:hidden; background:var(--ap-img-bg); align-self:stretch; min-height:480px;
    /* в макете фото упирается в низ секции, поэтому скруглены только верхние углы */
    border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.ap-figframe img{ width:100%; height:100%; object-fit:cover; display:block; }
.ap-figframe::after{
    content:''; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(0deg, rgba(51,39,26,.25) 0%, rgba(51,39,26,0) 50%);
}
.ap-figframe-mark{ position:absolute; width:32px; height:32px; pointer-events:none; z-index:1; }
.ap-figframe-mark--tl{ top:20px; left:20px; border-top:1px solid rgba(196,163,63,.4); border-left:1px solid rgba(196,163,63,.4); }
.ap-figframe-mark--br{ bottom:20px; right:20px; border-bottom:1px solid rgba(196,163,63,.4); border-right:1px solid rgba(196,163,63,.4); }
/* заглушка, когда фото ещё не загружено в админке */
.ap-figframe--empty{ display:flex; align-items:center; justify-content:center; }
.ap-figframe--empty::after{ display:none; }
.ap-figframe--empty img{ width:96px; height:96px; object-fit:contain; opacity:.4; }

@media (max-width:1199px){
    .ap-phero--split .ap-phero-inner{ grid-template-columns:minmax(0,1fr) 380px; gap:28px; }
    .ap-figframe{ min-height:400px; }
}
@media (max-width:991px){
    .ap-phero{ padding-top:32px; }
    .ap-phero--split .ap-phero-inner{ grid-template-columns:1fr; gap:24px; padding-top:24px; }
    .ap-phero--split .ap-phero-text{ padding:24px 0; }
    .ap-figframe{ min-height:0; aspect-ratio:4/3; border-radius:var(--radius-lg); }
    .ap-phero-meander{ padding-top:32px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   ПРАЙС-АККОРДЕОН по макету (Figma 20:1911)
   ═══════════════════════════════════════════════════════════════════════ */
.lk-acc-list{ display:flex; flex-direction:column; gap:16px; }
.lk-acc{
    background:var(--ap-sec-soft); border:1px solid var(--ap-line); border-radius:var(--radius-lg);
    box-shadow:none; overflow:hidden; transition:border-color .25s var(--ease);
}
.lk-acc.is-open{ border-color:rgba(196,163,63,.55); }
.lk-acc-head{
    display:flex; align-items:center; gap:16px; width:100%;
    padding:26px 32px; background:transparent; border:0; cursor:pointer; text-align:left;
}
.lk-acc-icon{ flex:0 0 28px; width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; background:transparent; color:inherit; }
.lk-acc-icon img{ width:28px; height:28px; display:block; }
.lk-acc-name{
    flex:1 1 auto; font-family:var(--font-display); font-weight:400;
    font-size:20px; line-height:28px; color:var(--ap-ink);
    text-transform:none; letter-spacing:normal;
}
.lk-acc-name small{ display:block; margin-top:2px; font-family:var(--font-text); font-size:13px; color:var(--ap-ink-50); }
.lk-acc-chevron{
    flex:0 0 20px; width:20px; height:20px; background:transparent; color:inherit;
    display:inline-flex; align-items:center; justify-content:center;
    transition:transform .25s var(--ease);
}
.lk-acc-chevron img{ width:20px; height:20px; display:block; }
.lk-acc.is-open .lk-acc-chevron{ transform:rotate(180deg); }
.lk-acc-body{ padding:0 32px 28px; border-top:1px solid var(--ap-line); }
.lk-acc-desc{ margin:20px 0 0; font-size:14px; line-height:22.75px; color:var(--ap-ink-60); }

.lk-price-wrap{ overflow-x:auto; border:0; }
.lk-price-table{ width:100%; border-collapse:collapse; }
.lk-price-table thead th{
    background:transparent; padding:20px 0 12px; text-align:left; font-family:var(--font-label); font-weight:400;
    font-size:10px; line-height:15px; letter-spacing:.35em; text-transform:uppercase;
    color:var(--ap-gold); border-bottom:1px solid var(--ap-line); white-space:nowrap;
}
.lk-price-table td{ padding:15px 0; border-bottom:1px solid rgba(217,198,163,.5); vertical-align:top; }
.lk-price-table tr:last-child td{ border-bottom:0; }
.lk-pt-code{ width:170px; padding-right:20px !important; font-size:13px; line-height:20px; color:var(--ap-ink-50); white-space:nowrap; }
.lk-price-table td.lk-pt-name{ font-family:var(--font-text); font-size:14.5px; line-height:22px;
    color:var(--ap-ink); text-transform:none; font-weight:400; letter-spacing:normal; }
th.lk-pt-price,td.lk-pt-price{ text-align:right; width:130px; padding-left:20px !important; }
td.lk-pt-price{ font-family:var(--font-display); font-size:16px; line-height:22px; color:var(--ap-brown); white-space:nowrap; }
.lk-acc-foot{ padding-top:24px; }

@media (max-width:767px){
    .lk-acc-head{ padding:18px 16px; gap:12px; }
    .lk-acc-name{ font-size:16px; line-height:22px; }
    .lk-acc-body{ padding:0 16px 20px; }
    .lk-price-table th{ font-size:9px; letter-spacing:.25em; }
    .lk-pt-code{ width:auto; min-width:96px; font-size:11.5px; }
    .lk-pt-name{ font-size:13px; line-height:19px; }
    td.lk-pt-price{ font-size:14px; }
    th.lk-pt-price,td.lk-pt-price{ width:88px; }
}

/* ── «Кто мы» на «О клинике» (Figma 24:2786): фото слева, текст справа ── */
.ap-who{ display:grid; grid-template-columns:450px minmax(0,1fr); gap:64px; align-items:stretch; }
/* В «Кто мы» фото свисает от верха секции — в макете (24:2405) скруглены
   НИЖНИЕ углы, зеркально шапке страницы, где скруглены верхние. */
.ap-who .ap-figframe{ min-height:0; border-radius:0 0 var(--radius-lg) var(--radius-lg); }
.ap-who-text{ display:flex; flex-direction:column; justify-content:center; }
.ap-who-body{ margin-top:24px; padding-bottom:24px; border-bottom:1px solid var(--ap-line); }
.ap-who .ap-about-stats{ border-top:0; margin-top:0; }
.ap-who .ap-phero-btns{ margin-top:24px; }
@media (max-width:1199px){ .ap-who{ grid-template-columns:360px minmax(0,1fr); gap:36px; } }
@media (max-width:991px){
    .ap-who{ grid-template-columns:1fr; gap:24px; }
    /* колонки схлопнулись — фото больше не упирается в край секции,
       поэтому скругляем все четыре угла */
    .ap-who .ap-figframe{ aspect-ratio:4/3; border-radius:var(--radius-lg); }
}

/* Строки заголовка секции (как в .ap-phero-title) */
.ap-h2 .ln{ display:block; }
/* Фасад в исходнике — панорама 1280×591, портик с вывеской справа.
   В узкой колонке кадрируем по нему, иначе в кадр попадает боковая стена. */
.ap-figframe img{ object-position:90% center; }
