/* Страница услуги/направления — [kvdoc_service]. Класс-неймспейс .vbs-* */

.vbs { --vbs-line:#E7E9F0; --vbs-soft:#F5F6FA; --vbs-ink:#1A1F36; --vbs-mut:#5B6478; --vbs-brand:#2C6CF6; --vbs-accent:#FF6B5E; --vbs-ok:#1FA971; --vbs-no:#E0654F; color:var(--vbs-ink); }
.vbs *{ box-sizing:border-box; }
.vbs-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }

/* ---------- HERO ---------- */
.vbs-hero{ background:linear-gradient(180deg,#FBF7F2 0%,#FDFBF8 100%); padding:26px 0 40px; border-bottom:1px solid var(--vbs-line); }
.vbs-crumbs{ font-size:.84rem; color:var(--vbs-mut); margin-bottom:22px; }
.vbs-crumbs a{ color:var(--vbs-mut); text-decoration:none; }
.vbs-crumbs a:hover{ color:var(--vbs-brand); }
.vbs-crumbs b{ color:var(--vbs-ink); font-weight:600; }
.vbs-eyebrow{ display:inline-block; font-size:.8rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--vbs-accent); margin-bottom:12px; }
.vbs-h1{ font-family:var(--wp--preset--font-family--heading,inherit); font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.1; font-weight:800; margin:0 0 16px; letter-spacing:-.01em; }
.vbs-lead{ font-size:clamp(1.02rem,1.6vw,1.22rem); line-height:1.5; color:var(--vbs-mut); max-width:680px; margin:0 0 26px; }
.vbs-signals{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.vbs-signal{ background:#fff; border:1px solid var(--vbs-line); border-radius:14px; padding:13px 18px; min-width:150px; }
.vbs-signal__k{ font-size:.78rem; color:var(--vbs-mut); margin-bottom:3px; }
.vbs-signal__v{ font-size:1.05rem; font-weight:700; color:var(--vbs-ink); }
.vbs-cta{ display:flex; flex-wrap:wrap; gap:12px; }
.vbs-btn{ display:inline-flex; align-items:center; justify-content:center; padding:13px 26px; border-radius:999px; font-weight:600; font-size:1rem; text-decoration:none; background:var(--vbs-brand); color:#fff; border:1.5px solid var(--vbs-brand); transition:filter .15s ease,background .15s ease; }
.vbs-btn:hover{ filter:brightness(1.06); color:#fff; }
.vbs-btn--ghost{ background:#fff; color:var(--vbs-ink); border-color:var(--vbs-line); }
.vbs-btn--ghost:hover{ border-color:var(--vbs-brand); color:var(--vbs-brand); background:#fff; filter:none; }

/* ---------- BODY ---------- */
.vbs-body{ padding:42px 0 56px; }
.vbs-grid{ display:grid; grid-template-columns:minmax(0,1fr) 372px; gap:40px; align-items:start; }
.vbs-main{ min-width:0; }
.vbs-sec{ margin-bottom:40px; }
.vbs-sec:last-child{ margin-bottom:0; }
.vbs-h2{ font-family:var(--wp--preset--font-family--heading,inherit); font-size:clamp(1.4rem,2.4vw,1.8rem); font-weight:700; line-height:1.2; margin:0 0 18px; letter-spacing:-.01em; }
.vbs-sec__head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.vbs-sec__head .vbs-h2{ margin:0; }
.vbs-all{ font-weight:600; color:var(--vbs-brand); text-decoration:none; white-space:nowrap; }
.vbs-all:hover{ text-decoration:underline; }

/* проза (the_content) */
.vbs-prose{ font-size:1.04rem; line-height:1.65; color:#2B3147; }
.vbs-prose > :first-child{ margin-top:0; }
.vbs-prose p{ margin:0 0 14px; }
.vbs-prose ul,.vbs-prose ol{ margin:0 0 16px; padding-left:22px; }
.vbs-prose li{ margin-bottom:6px; }
.vbs-prose h2,.vbs-prose h3{ font-family:var(--wp--preset--font-family--heading,inherit); margin:26px 0 12px; line-height:1.25; }
.vbs-prose h2{ font-size:1.3rem; } .vbs-prose h3{ font-size:1.12rem; }
.vbs-prose a{ color:var(--vbs-brand); }

/* проверил врач */
.vbs-reviewed{ display:flex; align-items:flex-start; gap:9px; margin-top:18px; padding:13px 16px; background:var(--vbs-soft); border-radius:12px; font-size:.9rem; color:var(--vbs-mut); }
.vbs-reviewed a{ color:var(--vbs-ink); font-weight:600; text-decoration:none; }
.vbs-reviewed a:hover{ color:var(--vbs-brand); }
.vbs-reviewed__ic{ flex:none; width:20px; height:20px; border-radius:50%; background:var(--vbs-ok); color:#fff; font-size:.72rem; display:flex; align-items:center; justify-content:center; margin-top:1px; }

/* показания / противопоказания */
.vbs-2col{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.vbs-col{ border:1px solid var(--vbs-line); border-radius:16px; padding:20px 22px; background:#fff; }
.vbs-col--ok{ border-color:#CDEBDD; background:#F4FBF7; }
.vbs-col--no{ border-color:#F3D9D1; background:#FDF6F4; }
.vbs-col__t{ font-weight:700; font-size:1.02rem; margin-bottom:12px; }
.vbs-col--ok .vbs-col__t{ color:var(--vbs-ok); }
.vbs-col--no .vbs-col__t{ color:var(--vbs-no); }
.vbs-list{ list-style:none; margin:0; padding:0; }
.vbs-list li{ position:relative; padding-left:26px; margin-bottom:10px; font-size:.95rem; line-height:1.45; color:#2B3147; }
.vbs-list li:last-child{ margin-bottom:0; }
.vbs-col--ok .vbs-list li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--vbs-ok); font-weight:700; }
.vbs-col--no .vbs-list li::before{ content:"•"; position:absolute; left:6px; top:-1px; color:var(--vbs-no); font-weight:700; font-size:1.2em; }

/* шаги приёма */
.vbs-steps{ display:grid; gap:14px; }
.vbs-step{ display:flex; gap:16px; align-items:flex-start; border:1px solid var(--vbs-line); border-radius:16px; padding:18px 20px; background:#fff; }
.vbs-step__n{ flex:none; width:36px; height:36px; border-radius:50%; background:var(--vbs-brand); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
.vbs-step__t{ font-weight:700; font-size:1.02rem; margin-bottom:4px; }
.vbs-step__d{ font-size:.94rem; line-height:1.5; color:var(--vbs-mut); }

/* врачи направления */
.vbs-docs{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.vbs-doc{ display:flex; gap:14px; align-items:center; border:1px solid var(--vbs-line); border-radius:16px; padding:14px 16px; background:#fff; text-decoration:none; color:inherit; transition:border-color .15s ease,box-shadow .15s ease; }
.vbs-doc:hover{ border-color:var(--vbs-brand); box-shadow:0 6px 20px rgba(44,108,246,.08); }
.vbs-doc__ph{ flex:none; width:64px; height:64px; border-radius:14px; overflow:hidden; background:var(--vbs-soft); display:flex; align-items:center; justify-content:center; }
.vbs-doc__ph img{ width:100%; height:100%; object-fit:cover; }
.vbs-doc__ph-ph{ font-size:1.4rem; font-weight:700; color:var(--vbs-mut); }
.vbs-doc__info{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.vbs-doc__name{ font-weight:700; font-size:1rem; line-height:1.2; }
.vbs-doc__spec{ font-size:.85rem; color:var(--vbs-mut); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vbs-doc__rate{ font-size:.85rem; color:var(--vbs-accent); font-weight:600; margin-top:2px; }

/* где пройти */
.vbs-loc{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--vbs-line); border-radius:16px; background:#fff; overflow:hidden; }
.vbs-loc__info{ padding:22px 24px; }
.vbs-loc__p{ margin:0 0 14px; font-size:1rem; line-height:1.55; color:#2B3147; }
.vbs-sched{ display:flex; flex-wrap:wrap; gap:8px; }
.vbs-map{ position:relative; min-height:240px; border-left:1px solid var(--vbs-line); }
.vbs-map__frame{ width:100%; height:100%; min-height:240px; border:0; display:block; }
.vbs-map__link{ position:absolute; left:12px; bottom:12px; background:#fff; border:1px solid var(--vbs-line); border-radius:999px; padding:7px 14px; font-size:.84rem; font-weight:600; color:var(--vbs-ink); text-decoration:none; box-shadow:0 4px 14px rgba(26,31,54,.12); }
.vbs-map__link:hover{ color:var(--vbs-brand); border-color:var(--vbs-brand); }
.vbs-sched__row{ display:flex; gap:10px; align-items:baseline; padding:7px 14px; background:var(--vbs-soft); border-radius:10px; font-size:.9rem; }
.vbs-sched__row .d{ font-weight:600; }
.vbs-sched__row .h{ color:var(--vbs-mut); }
.vbs-sched__row .off{ color:var(--vbs-no); }

.vbs-disclaimer{ font-size:.82rem; color:#9098A8; line-height:1.5; margin:26px 0 0; padding-top:18px; border-top:1px solid var(--vbs-line); }

/* FAQ — единый компонент .kvdoc-faq__list / .kvdoc-faq__item (см. тему style.css). */

/* ---------- САЙДБАР ЗАПИСИ ---------- */
.vbs-aside{ position:sticky; top:90px; }
.vbs-bk{ border:1px solid var(--vbs-line); border-radius:20px; background:#fff; box-shadow:0 10px 36px rgba(26,31,54,.07); overflow:hidden; }
.vbs-bk__head{ padding:20px 20px 14px; }
.vbs-bk__t{ font-family:var(--wp--preset--font-family--heading,inherit); font-weight:700; font-size:1.18rem; }
.vbs-bk__s{ font-size:.86rem; color:var(--vbs-mut); margin-top:5px; line-height:1.4; }
.vbs-bk__docs{ display:flex; flex-wrap:wrap; gap:8px; padding:0 20px 14px; }
.vbs-bk__doc{ flex:1 1 auto; display:flex; flex-direction:column; align-items:flex-start; gap:2px; border:1.5px solid var(--vbs-line); background:#fff; border-radius:12px; padding:8px 12px; cursor:pointer; font-size:.9rem; font-weight:600; color:var(--vbs-ink); text-align:left; transition:border-color .15s ease,background .15s ease; }
.vbs-bk__doc:hover{ border-color:var(--vbs-brand); }
.vbs-bk__doc.is-active{ border-color:var(--vbs-brand); background:#F0F5FF; }
.vbs-bk__near{ font-size:.74rem; font-weight:500; color:var(--vbs-accent); }
.vbs-bk__cards{ padding:0 16px 16px; }
.vbs-bk__card{ display:none; }
.vbs-bk__card.is-active{ display:block; }
.vbs-bk__fallback{ padding:4px 20px 22px; }
.vbs-bk__fallback p{ margin:0 0 14px; color:var(--vbs-mut); font-size:.94rem; line-height:1.5; }
.vbs-bk__fallback .vbs-btn{ width:100%; }

/* ---------- АДАПТИВ ---------- */
@media (max-width:980px){
	.vbs-grid{ grid-template-columns:1fr; gap:30px; }
	.vbs-aside{ position:static; order:-1; } /* запись — выше контента на мобиле */
	.vbs-2col{ grid-template-columns:1fr; }
	.vbs-docs{ grid-template-columns:1fr; }
	.vbs-loc{ grid-template-columns:1fr; }
	.vbs-map{ border-left:0; border-top:1px solid var(--vbs-line); }
}
@media (max-width:600px){
	.vbs-wrap{ padding:0 16px; }
	.vbs-signal{ flex:1 1 calc(50% - 6px); min-width:0; }
	.vbs-cta{ flex-direction:column; } .vbs-cta .vbs-btn{ width:100%; }
}


/* Причины обратиться — карточки */
.vbs-reasons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vbs-reason { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid var(--wp--preset--color--line, #EEF0F7); border-radius: 14px; padding: 15px 18px; font-size: 15px; line-height: 1.5; color: var(--wp--preset--color--ink-soft, #5a6373); }
.vbs-reason__ic { flex: none; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; background: var(--wp--preset--color--brand-soft, #EAEDFB); color: var(--wp--preset--color--brand, #6275DD); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
.vbs-reason__t { flex: 1; }
@media (max-width: 600px) { .vbs-reasons { grid-template-columns: 1fr; } }

/* Сплит-герой: текст + фото клиники (разное по странице) */
.vbs-hero__grid { display: grid; grid-template-columns: 1fr; gap: 26px; align-items: center; }
.vbs-hero__media { display: none; }
.vbs-hero__img { width: 100%; height: 100%; max-height: 400px; object-fit: cover; border-radius: 24px; display: block; box-shadow: 0 18px 48px rgba(25, 45, 81, .14); }
@media (min-width: 920px) {
	.vbs-hero__grid { grid-template-columns: 1.15fr .85fr; gap: 44px; }
	.vbs-hero__media { display: block; }
}

/* «Что такое» — SEO-текст внизу под спойлером */
.vbs-about { border: 1px solid var(--wp--preset--color--line, #EEF0F7); border-radius: 16px; }
.vbs-about__sum { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 22px; cursor: pointer; list-style: none; font-family: var(--wp--preset--font-family--heading, "Onest"), system-ui, sans-serif; font-weight: 800; font-size: clamp(17px, 2vw, 20px); color: var(--wp--preset--color--ink, #192D51); }
.vbs-about__sum::-webkit-details-marker { display: none; }
.vbs-about__chev { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--wp--preset--color--surface-alt, #F2F3FB); color: var(--wp--preset--color--brand, #6275DD); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; transition: transform .2s, background .2s, color .2s; }
.vbs-about[open] .vbs-about__chev { background: var(--wp--preset--color--brand, #6275DD); color: #fff; transform: rotate(45deg); }
.vbs-about__body { padding: 4px 22px 20px; }
.vbs-about__body p { margin: 0 0 12px; }