/* Каталог «Стоматології» v3: 3 колонки як в оригіналі, кольорове кодування, живі фільтри */
:root{--or:#EE6A1F;--or2:#D9530A;--orb:#FFF3EA;--gb:#F2F8E3;--bb:#E8F5FD;--vip:#B8860B;--vipb:#FFF6DA;--eco:#2E9E5B;--ecob:#E6F6EC}
.pg-stomatologii .kwrap{width:min(1440px,100% - 32px)}
.pg-stomatologii .ph{padding:18px 0 8px}
.kgrid{display:grid;grid-template-columns:232px minmax(0,1fr) 262px;grid-template-areas:"l m r";gap:22px;align-items:start;padding-bottom:56px}
.kside.kl{grid-area:l}.kmain{grid-area:m;min-width:0}.kside.kr{grid-area:r}
.kside{display:flex;flex-direction:column;gap:16px}
/* ── бокові добірки: кольорова рамка заголовка як у них ── */
/* бокові сцени — у side4.css */

/* ── фільтр ── */
.kfil{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 16px 14px;box-shadow:0 18px 40px -34px rgba(11,42,74,.5)}
.kf-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.kf-top .city{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:10px;background:var(--bb);color:var(--ink);font-size:14px}
.kf-top .city b{color:var(--blue2)}.kf-top .city .i{width:16px;height:16px;color:var(--blue2)}
.kf-t{font-size:13.5px;color:var(--mut)}
.kf-s{flex:1 1 240px;display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line2);background:var(--paper);transition:border-color .2s,background .2s}
.kf-s:focus-within{border-color:var(--blue);background:#fff}
.kf-s input{flex:1;border:0;outline:0;background:none;font-size:14.5px;min-width:0}
.kf-s .i{width:18px;height:18px;color:var(--blue2)}
.kf-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.kchip{position:relative}
.kc-b{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:11px;border:1.5px solid var(--line2);background:#fff;font:500 14px var(--ff);color:var(--ink);transition:border-color .2s,background .2s,color .2s}
.kc-b .i{width:17px;height:17px;color:var(--blue2)}.kc-b .c{width:14px;height:14px;color:var(--mut2);transition:transform .2s}
.kc-b:hover{border-color:var(--blue)}
.kchip.open .kc-b{border-color:var(--blue);background:var(--bb)}.kchip.open .kc-b .c{transform:rotate(180deg)}
.kchip.has .kc-b{background:var(--blue);border-color:var(--blue);color:#fff}.kchip.has .kc-b .i,.kchip.has .kc-b .c{color:#fff}
.kc-b b[data-n]{display:none;min-width:20px;height:20px;border-radius:10px;background:#fff;color:var(--blue2);font:700 12px/20px var(--ff);text-align:center;padding:0 5px}
.kchip.has .kc-b b[data-n]{display:inline-block}
.kp{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:340px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -24px rgba(11,42,74,.45);animation:kpin .18s var(--ease)}
.kp.kp-w{width:560px}
@keyframes kpin{from{opacity:0;transform:translateY(-6px)}}
.kp-h{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 6px}
.kp-h b{font:700 15px var(--ff);color:var(--ink)}.kp-h button .i{width:18px;height:18px;color:var(--mut)}
.kp-q{display:flex;align-items:center;gap:8px;margin:4px 14px 8px;height:38px;padding:0 10px;border-radius:10px;background:var(--paper)}
.kp-q input{flex:1;border:0;outline:0;background:none;font-size:14px;min-width:0}.kp-q .i{width:16px;height:16px;color:var(--mut2)}
.kp-l{max-height:330px;overflow:auto;padding:2px 8px 8px;scrollbar-width:thin}
.kp-l.cols{columns:2;column-gap:6px}
.op{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;cursor:pointer;font-size:14px;color:var(--ink);break-inside:avoid;transition:background .15s}
.op:hover{background:var(--bb)}
.op input{appearance:none;flex:none;width:18px;height:18px;border:1.5px solid var(--line2);border-radius:5px;display:grid;place-items:center;transition:all .15s}
.op input[type=radio]{border-radius:50%}
.op input:checked{background:var(--blue);border-color:var(--blue);box-shadow:inset 0 0 0 3px #fff}
.op span{flex:1;display:flex;align-items:center;gap:6px;line-height:1.25}
.op span .i{width:16px;height:16px;color:var(--green2)}
.op>i{font:600 12px var(--ff);font-style:normal;color:var(--mut);background:var(--paper);border-radius:6px;padding:1px 6px}
.op.zero{opacity:.38}
.op[hidden]{display:none}
.kp-f{display:flex;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--line)}
.kp-clr{height:40px;padding:0 14px;border-radius:10px;color:var(--mut);font-size:14px}.kp-clr:hover{color:var(--ink);background:var(--paper)}
.kp-go{flex:1;height:40px;border-radius:10px;background:var(--blue);color:#fff;font:600 14px var(--ff);transition:background .2s}.kp-go:hover{background:var(--blue2)}
.kp-l.metro{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-height:360px}
.mg p{display:flex;align-items:center;gap:6px;font:700 11px var(--ff);text-transform:uppercase;letter-spacing:.05em;color:var(--lc);padding:6px 8px 4px;position:sticky;top:0;background:#fff;z-index:1}
.mg p i{width:22px;height:5px;border-radius:3px;background:var(--lc)}
.mg.l1{--lc:var(--m1)}.mg.l2{--lc:var(--m2)}.mg.l3{--lc:var(--m3)}
.mg .op{font-size:13px;padding:5px 6px;gap:6px}
.mg .op .md{flex:none;width:9px;height:9px;border-radius:50%;background:var(--lc);box-shadow:0 0 0 2px color-mix(in srgb,var(--lc) 25%,#fff)}
.mg .op input:checked{background:var(--lc);border-color:var(--lc)}
/* цінова категорія — сегменти */
.kseg{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:12px;background:var(--paper);border:1.5px solid var(--line2)}
.kseg-l{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);padding:0 8px 0 6px}.kseg-l .i{width:16px;height:16px;color:var(--vip)}
.kseg button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:9px;font:600 13.5px var(--ff);color:var(--ink);transition:background .2s,color .2s}
.kseg .lv{display:inline-flex;gap:2px}.kseg .lv b{width:4px;height:11px;border-radius:2px;background:currentColor;opacity:.75}
.kseg .pc-eco{color:var(--eco)}.kseg .pc-mid{color:var(--blue2)}.kseg .pc-vip{color:var(--vip)}
.kseg button:hover{background:#fff}
.kseg button.on{color:#fff}.kseg .pc-eco.on{background:var(--eco)}.kseg .pc-mid.on{background:var(--blue2)}.kseg .pc-vip.on{background:var(--vip)}
.kseg button i[data-c]{font:600 11px var(--ff);font-style:normal;opacity:.7}
.kseg button.zero{opacity:.4}
/* швидкі перемикачі */
.kq{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line2)}
.kq-b{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border-radius:999px;border:1.5px solid var(--line2);font:500 13.5px var(--ff);color:var(--ink);background:#fff;transition:all .2s}
.kq-b .i{width:16px;height:16px;color:var(--green2)}
.kq-b i[data-c]{font:600 12px var(--ff);font-style:normal;color:var(--mut)}
.kq-b:hover{border-color:var(--green)}
.kq-b.on{background:var(--green);border-color:var(--green);color:#fff}.kq-b.on .i,.kq-b.on i[data-c]{color:#fff}
.kq-b.map{background:var(--or);border-color:var(--or);color:#fff;font-weight:600}.kq-b.map .i{color:#fff}.kq-b.map:hover{background:var(--or2)}
.kq-b[data-q=now] .i{color:var(--blue2)}.kq-b[data-q=act] .i{color:var(--or)}
.kq-b.busy{opacity:.6;pointer-events:none}
/* ціна */
.kpr{margin-top:12px;padding:14px;border-radius:14px;background:linear-gradient(180deg,var(--bb),#fff 70%);border:1px solid #D5ECFA}
.kpr-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px}
.kpr-h p{font-size:14px;color:var(--ink)}.kpr-h small{color:var(--mut)}
.kpr-sel{font:700 14px var(--ff);color:var(--blue2)}
.kpr-sv{display:flex;gap:6px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:thin}
.kpr-sv button{flex:none;height:32px;padding:0 12px;border-radius:999px;background:#fff;border:1.5px solid var(--line2);font:500 13px var(--ff);color:var(--ink);transition:all .2s}
.kpr-sv button:hover{border-color:var(--blue)}
.kpr-sv button.on{background:var(--blue2);border-color:var(--blue2);color:#fff}
.kpr-box{position:relative;margin-top:8px}
.kpr-hist{display:flex;align-items:flex-end;gap:3px;height:64px;padding:0 9px}
.kpr-hist i{flex:1;min-height:3px;border-radius:4px 4px 0 0;background:var(--line2);transition:height .45s var(--ease),background .25s}
.kpr-hist i.in{background:linear-gradient(180deg,var(--blue),var(--blue2))}
.kpr.off .kpr-hist i{background:var(--line)}
.kpr-rng{position:relative;height:28px}
.kpr-rng .tr{position:absolute;left:9px;right:9px;top:12px;height:5px;border-radius:3px;background:var(--line2)}
.kpr-rng .tr i{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--green)}
.kpr-rng input{position:absolute;inset:0;width:100%;appearance:none;background:none;pointer-events:none;margin:0}
.kpr-rng input::-webkit-slider-thumb{appearance:none;pointer-events:auto;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--green);box-shadow:0 4px 10px rgba(11,42,74,.2);cursor:grab}
.kpr-rng input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--green);box-shadow:0 4px 10px rgba(11,42,74,.2);cursor:grab}
.kpr-rng input::-moz-range-track{background:none}
.kpr-v{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.kpr-v label{display:flex;align-items:center;gap:6px;height:38px;padding:0 10px;border-radius:10px;background:#fff;border:1.5px solid var(--line2)}
.kpr-v label small{color:var(--mut2);font-size:12px}
.kpr-v input{width:74px;border:0;outline:0;font:600 14px var(--ff);color:var(--ink);background:none}
.kpr-m{font-size:13px;color:var(--mut);flex:1}
.kpr-m b{color:var(--green2)}
.kpr-ok{height:38px;padding:0 20px;border-radius:10px;background:var(--green);color:#fff;font:700 14px var(--ff)}.kpr-ok:hover{background:var(--green2)}
.kpr.off .kpr-rng,.kpr.off .kpr-v{opacity:.45;pointer-events:none}
/* активні фільтри */
.kact{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.kact span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 11px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;animation:kpin .2s}
.kact span button{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center}
.kact span button .i{width:12px;height:12px;color:#fff}
.kact .rs{font:600 13px var(--ff);color:var(--or2);padding:0 8px}.kact .rs:hover{text-decoration:underline}

/* ── шапка результатів ── */
.kr-h{display:flex;flex-direction:column;gap:10px;margin:22px 0 14px}
.kr-t{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.kr-t h1{font:700 clamp(24px,2.4vw,32px)/1.1 var(--ff);color:var(--ink);letter-spacing:-.02em}
.kr-n{font-size:14px;color:var(--mut)}.kr-n b{font:800 20px var(--ff);color:var(--blue2)}
.kr-n.bump b{animation:bump .35s}
@keyframes bump{50%{transform:scale(1.25);color:var(--green2)}}
.kr-n b{display:inline-block}
.kr-v{margin-left:auto;display:inline-flex;padding:3px;border-radius:11px;background:var(--paper);border:1px solid var(--line)}
.kr-v button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;font:500 13.5px var(--ff);color:var(--mut)}
.kr-v button .i{width:16px;height:16px}
.kr-v button.on{background:#fff;color:var(--ink);box-shadow:0 2px 6px rgba(11,42,74,.12)}
.ksort{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ksort span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);margin-right:4px}.ksort span .i{width:16px;height:16px}
.ksort button{height:32px;padding:0 12px;border-radius:999px;border:1.5px solid var(--line2);font:500 13px var(--ff);color:var(--ink);background:#fff;transition:all .2s}
.ksort button:hover{border-color:var(--blue)}
.ksort button.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* ── картка клініки: кольорове кодування ── */
.klist{display:flex;flex-direction:column;gap:16px}
.kc{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px 12px;transition:box-shadow .25s,border-color .25s;animation:kcin .35s var(--ease) both}
.kc:hover{border-color:#BFE3F7;box-shadow:0 22px 44px -30px rgba(11,42,74,.45)}
.kc.rich{border-top:4px solid var(--blue)}
.kc.hl{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 30%,#fff)}
@keyframes kcin{from{opacity:0;transform:translateY(10px)}}
.kc-hd{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
.kc-n{font:700 20px/1.2 var(--ff);color:var(--blue);letter-spacing:-.01em;transition:color .2s}
.kc-n:hover{color:var(--blue2);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.kc-t{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13.5px;color:var(--mut)}
.kc-st:empty,.kc-dist:empty{display:none}
.kc-st{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font:600 12.5px var(--ff)}
.kc-st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.kc-st.op1{background:var(--ecob);color:var(--eco)}.kc-st.op1::before{animation:blink 1.6s infinite}
.kc-st.op0{background:#FDEDEA;color:#C8412F}
@keyframes blink{50%{opacity:.25}}
.kc-dist{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;background:var(--bb);color:var(--blue2);font:700 12.5px var(--ff)}
.kc-cta{display:flex;flex-direction:column;gap:8px;flex:none;width:228px}
.b-call,.b-book{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:42px;border-radius:999px;font:700 14px var(--ff);color:#fff;transition:transform .15s,background .2s,box-shadow .2s}
.b-call{background:var(--blue)}.b-call:hover{background:var(--blue2);box-shadow:0 10px 20px -10px var(--blue)}
.b-book{background:var(--green)}.b-book:hover{background:var(--green2);box-shadow:0 10px 20px -10px var(--green2)}
.b-call:active,.b-book:active{transform:scale(.97)}
.b-call .i,.b-book .i{width:17px;height:17px}
.b-call .i{background:#fff;color:var(--blue);border-radius:50%;padding:3px;width:22px;height:22px}
.kc-bd{display:grid;grid-template-columns:230px minmax(0,1fr) minmax(0,1.25fr);gap:18px;margin-top:14px}
.kc:not(.rich) .kc-bd{grid-template-columns:230px minmax(0,1fr) 228px}
.kc-ph{position:relative;display:block;aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:var(--paper)}
.kc-ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.kc-ph:hover img{transform:scale(1.05)}
.kc-ph.z img{object-fit:contain;padding:14px;opacity:.75}
.kc-g{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:999px;background:rgba(7,26,46,.72);color:#fff;font:600 12px var(--ff)}
.kc-g .i{width:14px;height:14px}
.kc-a{display:flex;gap:6px;margin-top:10px;font-size:13.5px;line-height:1.4;color:var(--ink)}
.kc-a .i{flex:none;width:16px;height:16px;margin-top:2px;color:var(--or)}
.kc-lk{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.kc-lk a,.kc-lk button{display:inline-flex;align-items:center;gap:5px;font:600 13px var(--ff);color:var(--blue2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--blue2) 40%,#fff)}
.kc-lk .i{width:15px;height:15px}
.kc-lk a:hover,.kc-lk button:hover{color:var(--blue)}
.kc-facts{display:flex;flex-direction:column;gap:12px}
.kf-f small{display:block;font-size:12px;color:var(--mut2);margin-bottom:4px}
.kf-f>div{display:flex;flex-wrap:wrap;gap:5px}
.t-d{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:8px;background:var(--gb);color:#4F6B08;font:600 13px var(--ff);transition:background .2s}
.t-d .i{width:14px;height:14px;color:var(--green2)}
.t-d:hover{background:#E3F0C4}
.t-m{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 8px;border-radius:8px;border:1.5px solid color-mix(in srgb,var(--lc) 35%,#fff);color:var(--ink);font:600 13px var(--ff);transition:background .2s}
.t-m i{width:10px;height:10px;border-radius:50%;background:var(--lc)}
.t-m:hover{background:color-mix(in srgb,var(--lc) 10%,#fff)}
.t-m.l1{--lc:var(--m1)}.t-m.l2{--lc:var(--m2)}.t-m.l3{--lc:var(--m3)}.t-m.l0{--lc:var(--mut2)}
.kf-s>div{flex-direction:column;gap:2px}
.kf-s span{font:500 13.5px/1.4 var(--ff);color:var(--ink)}
.kc-dx{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.dx{position:relative;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--bb);color:var(--blue2)}
.dx .i{width:16px;height:16px}
.dx>em{position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50% 4px;white-space:nowrap;font:500 12px var(--ff);font-style:normal;background:var(--ink);color:#fff;padding:4px 8px;border-radius:6px;opacity:0;pointer-events:none;transition:all .15s;z-index:3}
.dx:hover>em{opacity:1;translate:-50% 0}
.kc-r{display:flex;flex-direction:column;gap:10px;min-width:0}
.kc-v{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:4px 12px;font-size:14px}
.kc-v .rv{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--blue2);text-decoration:underline;text-underline-offset:3px}
.kc-v .rv .i{width:16px;height:16px;color:var(--green2)}
.kc-v .up,.kc-v .dn{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.kc-v .up{color:var(--green2)}.kc-v .dn{color:var(--or)}
.kc-v .i{width:16px;height:16px}
.kc-bar{grid-column:1/-1;height:5px;border-radius:3px;background:#FBE3D5;overflow:hidden}
.kc-bar i{display:block;height:100%;background:var(--green);border-radius:3px}
.kc-pr{border-radius:12px;background:var(--paper);overflow:hidden}
.kc-pr-h{padding:8px 12px;background:#EDF3F8}
.kc-pc{font-size:13.5px;color:var(--mut)}
.kc-pc b{display:inline-flex;align-items:center;gap:5px;margin-left:4px;padding:2px 9px;border-radius:7px;font:700 13px var(--ff);color:#fff}
.kc-pc.mid b{background:var(--blue2)}.kc-pc.vip b{background:var(--vip)}.kc-pc.eco b{background:var(--eco)}
.kc-pr table{width:100%;border-collapse:collapse;font-size:13.5px}
.kc-pr tr{transition:background .25s}
.kc-pr tr:nth-child(even){background:#fff}
.kc-pr th{text-align:left;font-weight:500;color:var(--txt);padding:5px 12px}
.kc-pr td{text-align:right;padding:5px 12px;font-weight:700;color:var(--ink);white-space:nowrap}
.kc-pr tr:nth-child(n+6){display:none}
.kc-pr.open tr{display:table-row}
.kc-pr tr.sel{background:var(--gb)!important}.kc-pr tr.sel th{color:#4F6B08;font-weight:700}.kc-pr tr.sel td{color:#4F6B08;font-size:15px}
.kc-pr tr.sel th::before{content:"✓ ";color:var(--green2)}
.kc-all{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:34px;font:600 13px var(--ff);color:var(--blue2);border-top:1px solid var(--line)}
.kc-all .i{width:15px;height:15px;transition:transform .2s}
.kc-pr.open .kc-all .i{transform:rotate(180deg)}
.kc-pr.lite{background:none}.kc-pr.lite .kc-pr-h{background:var(--paper);border-radius:10px}
.kc-ac{margin-top:14px;border:1.5px solid #F7C4A3;border-radius:14px;background:var(--orb);overflow:hidden}
.kc-ac summary{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;list-style:none;color:var(--or2);font:600 14px/1.3 var(--ff)}
.kc-ac summary::-webkit-details-marker{display:none}
.kc-ac summary>.i:first-child{flex:none;width:20px;height:20px;color:var(--or)}
.kc-ac summary span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kc-ac summary span mark{background:none;color:var(--or2);font-weight:800}
.kc-ac summary>b{flex:none;font:800 13px var(--ff);color:#fff;background:var(--or);border-radius:8px;padding:3px 8px}
.kc-ac summary .n{flex:none;font:700 12px var(--ff);font-style:normal;color:var(--or2);background:#fff;border-radius:999px;padding:1px 8px}
.kc-ac summary .c{flex:none;width:22px;height:22px;border-radius:50%;background:var(--or);color:#fff;padding:3px;transition:transform .2s}
.kc-ac[open] summary .c{transform:rotate(180deg)}
.kc-ac ul{padding:0 14px 12px 44px;display:flex;flex-direction:column;gap:6px}
.kc-ac li{font-size:13.5px;line-height:1.4;color:var(--ink);list-style:disc;color:var(--txt)}
.kc-ac li mark{background:none;color:var(--or2);font-weight:800}
.kc-ft{display:flex;justify-content:flex-end;margin-top:10px}
.kc-more{display:inline-flex;align-items:center;gap:6px;font:600 13.5px var(--ff);color:var(--mut);transition:color .2s,gap .2s}
.kc-more .i{width:16px;height:16px}
.kc-more:hover{color:var(--blue2);gap:10px}
/* порожньо, пагінація */
.kempty{padding:40px 20px;text-align:center;border:1.5px dashed var(--line2);border-radius:18px}
.kempty b{font:700 20px var(--ff);color:var(--ink)}.kempty p{color:var(--mut);margin:6px 0 12px}
.kempty button{height:40px;padding:0 18px;border-radius:10px;background:var(--blue);color:#fff;font-weight:600}
.kpg{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:22px}
.kpg[hidden]{display:none}
.kpg-more{height:48px;padding:0 28px;border-radius:999px;background:var(--blue);color:#fff;font:700 15px var(--ff);box-shadow:0 14px 26px -14px var(--blue);transition:background .2s}
.kpg-more:hover{background:var(--blue2)}
.kpg-n{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.kpg-n button,.kpg-n span{min-width:38px;height:38px;border-radius:10px;border:1.5px solid var(--line2);font:600 14px var(--ff);color:var(--ink);display:grid;place-items:center;padding:0 8px}
.kpg-n span{border:0;color:var(--mut2)}
.kpg-n button:hover{border-color:var(--blue)}
.kpg-n button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.kpg-all{font:600 14px var(--ff);color:var(--blue2);text-decoration:underline;text-underline-offset:3px}
/* карта-оверлей */
.kmap{position:fixed;inset:0;z-index:200;background:rgba(7,26,46,.55);display:grid;place-items:center;padding:20px;animation:kpin .2s}
.kmap[hidden]{display:none}
.kmap-box{width:min(1280px,100%);height:min(820px,100%);background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.kmap-h{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.kmap-h b{font:700 18px var(--ff);color:var(--ink)}.kmap-h b span:first-child{color:var(--blue2)}
.kmap-h button .i{width:22px;height:22px}
.kmap-b{flex:1;display:grid;grid-template-columns:360px 1fr;min-height:0}
.kmap-l{overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--line)}
.kmap-l a{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:8px;border-radius:12px;border:1.5px solid transparent;transition:all .15s}
.kmap-l a:hover,.kmap-l a.on{border-color:var(--blue);background:var(--bb)}
.kmap-l img{width:64px;height:48px;object-fit:cover;border-radius:8px}
.kmap-l b{font:600 13.5px/1.25 var(--ff);color:var(--blue2)}
.kmap-l small{display:block;font-size:12px;color:var(--mut);margin-top:2px}
.kmap-m{min-height:300px}
.kpin i{display:block;width:14px;height:14px;border-radius:50%;background:var(--blue);border:2.5px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);transition:transform .15s}
.kpin.r i{background:var(--green);width:18px;height:18px}
.kpin.on i{transform:scale(1.7);background:var(--or)}
.kmp b{display:block;font:700 14px/1.25 var(--ff);color:var(--ink)}.kmp span{display:block;font-size:12.5px;color:var(--mut);margin:4px 0}.kmp a{font-weight:600;color:var(--blue2)}

/* ── адаптив ── */
@media (max-width:1279px){
  .kgrid{grid-template-columns:minmax(0,1fr) 262px;grid-template-areas:"m r" "m l"}
  .kc-bd{grid-template-columns:200px minmax(0,1fr)}
  .kc-bd .kc-r{grid-column:1/-1}
  .kc:not(.rich) .kc-bd{grid-template-columns:200px minmax(0,1fr)}
}
@media (max-width:980px){
  .kgrid{grid-template-columns:minmax(0,1fr);grid-template-areas:"m" "r" "l"}
  .kside{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:6px}
  .kside .sd{flex:none;width:300px;scroll-snap-align:start}
  .kside.kr .sd-film{position:static}
  .kp.kp-w{width:calc(100vw - 32px)}
  .kp-l.metro{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .kfil{padding:12px;border-radius:14px}
  .kf-t{display:none}
  .kf-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .kchip{position:static}
  .kc-b{flex:none}
  .kp,.kp.kp-w{position:fixed;left:8px;right:8px;top:auto;bottom:8px;width:auto;max-width:none;max-height:80vh;display:flex;flex-direction:column}
  .kp[hidden]{display:none}
  .kp-l{max-height:none;flex:1}
  .kp-l.cols{columns:1}
  .kp-l.metro{grid-template-columns:minmax(0,1fr)}
  .kp>*{min-width:0;width:auto;align-self:stretch}.kp-l.metro .mg,.kp-l.metro .op{min-width:0;max-width:100%}
  .kp,.kp.kp-w{z-index:120;box-shadow:0 -8px 40px rgba(10,30,60,.25)}
  body.kp-open .concept-flag{display:none}
  .kseg{flex:none}
  .kq{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .kq-b{flex:none}
  .kr-v{margin-left:0}
  .ksort{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ksort button{flex:none}
  .kc{padding:14px 14px 10px;border-radius:16px}
  .kc-hd{flex-direction:column;gap:10px}
  .kc-n{font-size:18px}
  .kc-cta{width:100%;flex-direction:row}.kc-cta>*{flex:1;font-size:13px;height:44px;padding:0 8px}
  .kc-bd,.kc:not(.rich) .kc-bd{grid-template-columns:minmax(0,1fr)}
  .kc-ph{aspect-ratio:16/9}
  .kc-ac summary span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .kmap{padding:0}.kmap-box{border-radius:0;height:100%}
  .kmap-b{grid-template-columns:1fr;grid-template-rows:1fr 38%}
  .kmap-l{order:2;border-right:0;border-top:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){.kc,.kp,.kact span{animation:none}.kc-st.op1::before{animation:none}}
.kr-near{font-size:12.5px;color:var(--mut)}
.kpr-sel button{margin-left:4px;width:20px;height:20px;border-radius:50%;background:var(--blue2);color:#fff;font-size:11px;line-height:20px}
/* ── v3.1: компактний фільтр, ціни, популярні ── */
.kc-b{height:38px;font-size:13.5px;padding:0 11px}
.kq{gap:6px;margin-top:10px;padding-top:10px}
.kq-b{height:32px;padding:0 11px;font-size:13px}
.kpr{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start;padding:12px 14px}
.kpr-a p{font-size:13px;line-height:1.35;color:var(--ink)}.kpr-a small{color:var(--mut)}
.kpr-s{position:relative;display:flex;align-items:center;gap:8px;height:40px;margin-top:8px;padding:0 10px;border-radius:10px;background:#fff;border:1.5px solid var(--line2);transition:border-color .2s,background .2s}
.kpr-s.on{border-color:var(--blue2);background:var(--blue2);color:#fff}.kpr-s.on .i{color:#fff}
.kpr-s .i{flex:none;width:17px;height:17px;color:var(--blue2)}.kpr-s .c{width:14px;height:14px;pointer-events:none}
.kpr-s select{flex:1;min-width:0;appearance:none;border:0;outline:0;background:none;font:600 14px var(--ff);color:inherit;cursor:pointer}
.kpr-s.on select option{color:var(--ink)}
.kpr-sv{flex-wrap:wrap;overflow:visible;padding:8px 0 0;gap:5px}
.kpr-sv button{height:28px;padding:0 10px;font-size:12.5px}
.kpr-box{margin-top:0}
.kpr-hist{height:54px}
.kpr-v{margin-top:4px}
.kpr-v label{height:34px}
.kpr-ok{height:34px}
.kpr-m{flex:none;margin-top:6px;min-height:18px}
.kpr.off .kpr-m::before{content:"↖ оберіть послугу — побачите, скільки клінік у кожному діапазоні ціни";color:var(--mut2)}
.kc-pr td{white-space:normal;line-height:1.3}
.kc-pr td small{display:block;font-weight:500;font-size:11.5px;color:var(--mut)}
.kc-pr th{line-height:1.3}
.kc-dx{margin-top:12px}.kc-dx small{display:block;font-size:12px;color:var(--mut2);margin-bottom:4px}.kc-dx>div{display:flex;flex-wrap:wrap;gap:5px}
.kf-w>div{flex-direction:column;gap:2px}
.kf-w span{font:500 13.5px/1.4 var(--ff);color:var(--ink)}

@media (max-width:1279px){.kpr{grid-template-columns:1fr}}
.dx>em{display:none}.dx:hover>em{display:block}
.kc-pr td{white-space:nowrap}
.kc-b,.ksort span,.kq-b{white-space:nowrap}.kc-dx{display:block}
.kc-car{position:relative}
.kc-car a{display:block;width:100%;height:100%}
.kc-car img{position:absolute;inset:0;opacity:0;transition:opacity .35s}
.kc-car img.on{opacity:1}
.kc-car .cv{position:absolute;top:50%;translate:0 -50%;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 4px 12px rgba(7,26,46,.25);opacity:0;transition:opacity .2s}
.kc-car:hover .cv,.kc-car .cv:focus-visible{opacity:1}
.kc-car .cv .i{width:18px;height:18px;color:var(--ink)}
.kc-car .cv.p{left:8px}.kc-car .cv.p .i{transform:rotate(90deg)}
.kc-car .cv.n{right:8px}.kc-car .cv.n .i{transform:rotate(-90deg)}
@media (hover:none){.kc-car .cv{opacity:1}}
.ksort-n{flex-basis:100%;font-size:12px;color:var(--mut2)}
/* fb 02.10: без пальців — лише «Відгуки (N)» по центру */
.kc-v{display:flex;justify-content:center;width:100%}.kc-v .rv{margin:0 auto}
/* fb 02.10: ціни не обрізаються — вузька картка (екран 1280–1400) переходить на 2 колонки, ціни на всю ширину */
.kc{container-type:inline-size}
@container (min-width:560px) and (max-width:760px){
  .kc-bd,.kc:not(.rich) .kc-bd{grid-template-columns:200px minmax(0,1fr)}
  .kc-bd .kc-r{grid-column:1/-1}
}
/* fb 02.10: без дубля — відкрито: замість першої акції заголовок «Акції клініки»; список акцій кораловий, як на їхньому сайті */
.kc-ac-t{display:none;flex:1;font-style:normal;font-weight:800}
.kc-ac[open] summary>span{display:none}.kc-ac[open] .kc-ac-t{display:block}
.kc-ac li{color:var(--or2);font-weight:600}.kc-ac li::marker{color:var(--or)}
/* fb 02.10: власний список послуг */
.kpr-s select{position:absolute;inset:0;opacity:0;pointer-events:none}
.kpr-btn{flex:1;min-width:0;height:100%;text-align:left;font:600 14px var(--ff);color:inherit;background:none;border:0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpr-btn:focus-visible{outline:2px solid var(--blue2);outline-offset:4px;border-radius:6px}
.kpr-s.open .c{transform:rotate(180deg)}
.kpr-s .c{transition:transform .2s}
.kpr-a{position:relative}
.kpr-pop{position:absolute;z-index:45;left:0;right:0;margin-top:6px;max-height:320px;overflow:auto;padding:6px;display:grid;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 50px -20px rgba(11,42,74,.45);scrollbar-width:thin;animation:kpin .16s var(--ease)}
.kpr-pop[hidden]{display:none}
.kpr-pop button{text-align:left;padding:7px 10px;border-radius:8px;font:500 14px/1.3 var(--ff);color:var(--ink);background:none;border:0;cursor:pointer}
.kpr-pop button.hl{background:var(--bb,#EAF6FD)}
.kpr-pop button.on{color:var(--blue2);font-weight:700}
.kpr-pop button.on::after{content:" ✓"}
.kpr-pop button.z{color:var(--mut);border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;margin-bottom:4px}
/* fb 02.10 карта: платні (зелені) більші, безкоштовні (сині) менші */
.kpin i{width:10px;height:10px;border-width:1.5px;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.kpin.r i{width:22px;height:22px;border-width:3px;box-shadow:0 3px 8px rgba(0,0,0,.35)}

/* fb 03.10 п.4: випадні списки фільтрів — як «Доп послуги»: з іконками, одразу весь список, без прокрутки, відкривається під кнопкою */
@media (min-width:701px){
.kp-l,.kp-l.metro{max-height:none;overflow:visible}
.kp:has(.kp-l.cols){width:580px}
.kp-l.cols{columns:2;column-gap:8px}
.kp-l.cols .op{padding:7px 8px}
}

/* fb 03.10 п.6–7: картка клініки — ціни й акції згорнуті до одного рядка по центру: назва + кількість + синій/рожевий кружок */
.kc-pcb{margin-top:14px;display:flex;justify-content:center}
.kc-pcb .kc-pc{display:inline-flex;align-items:center;gap:6px}
.kc-pr{margin-top:10px;background:none!important;border-radius:14px;overflow:visible}
.kc-pr tr:nth-child(n+6){display:table-row}
.kc-pr table{display:none;margin-top:8px;background:var(--paper);border-radius:14px;overflow:hidden}
.kc-pr.open table{display:table}
.kc-pr .kc-all{border-top:0;height:auto;width:auto;margin:0 auto;padding:6px 8px;gap:10px;font:700 15px var(--ff);color:var(--ink);cursor:pointer;background:none}
.kc-pr .kc-all .n{font:700 12px var(--ff);font-style:normal;color:var(--blue2);background:var(--bb);border-radius:999px;padding:1px 9px}
.kc-pr .kc-all .c{flex:none;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;padding:3px;transition:transform .2s}
.kc-pr.open .kc-all .c{transform:rotate(180deg)}
.kc-pr .kc-all .i.c{width:22px;height:22px}
.kc-pr.open .kc-all .i{transform:rotate(180deg)}
.kc-ac summary{justify-content:center}
.kc-ac summary .kc-ac-t,.kc-ac[open] .kc-ac-t{display:block;flex:none;font-style:normal;font-weight:700;font-size:15px}
.kc-ac summary span{display:none}

/* fb 03.10 п.8: обрана послуга — її ціна видна, решта згорнуті */
.kc-pr.has-sel{display:flex;flex-direction:column}
.kc-pr.has-sel .kc-all{order:2;margin-top:8px}
.kc-pr.has-sel:not(.open) table{display:table;margin-top:0}
.kc-pr.has-sel:not(.open) tr:not(.sel){display:none}
/* fb 03.10 п.11: ціни — темніший синій блок як «Акції», зі значком долара */
.kc-pr .kc-all{width:100%;justify-content:center;padding:10px 14px;border:1.5px solid color-mix(in srgb,var(--blue) 45%,#fff);border-radius:14px;background:color-mix(in srgb,var(--blue) 14%,#fff);color:var(--blue2)}
.kc-pr .kc-all>.i:first-child{flex:none;width:20px;height:20px;color:var(--blue)}
.kc-pr .kc-all .n{background:#fff}
.kc-pr table{background:color-mix(in srgb,var(--blue) 7%,#fff);border:1.5px solid color-mix(in srgb,var(--blue) 25%,#fff)}
.kc-pr tr:nth-child(even){background:color-mix(in srgb,var(--blue) 3%,#fff)}
/* fb 03.10 п.12–13: значки району, області, метро */
.t-m i,.mg .op .md{display:none}
.t-m svg{flex:none;width:16px;height:16px;color:var(--lc)}
.mg .op .mi{flex:none;width:16px;height:16px;color:var(--lc)}
.kp-l .op span .i{color:var(--blue)}
.kp-l .op span .mi{color:var(--lc)}
.dt .i{flex:none;width:18px;height:18px;color:var(--blue);margin-right:-2px}
.dt span{flex:1}

/* fb 08.10 п.16: попап фільтра не вищий за вікно — список гортається всередині, «Скинути/Показати» завжди видно */
@media (min-width:701px){
.kp{display:flex;flex-direction:column;max-height:calc(100vh - 24px)}
.kp:not([hidden]){display:flex}.kp[hidden]{display:none}
.kp-l,.kp-l.metro{min-height:0;flex:1 1 auto;overflow:auto}
.kp-h,.kp-q,.kp-f{flex:none}
}

/* fb 08.10 п.15: значки в «Послуги» і «Доп послуги» — зелені, як було; район/область лишаються синіми */
.kchip[data-g="sv"] .kp-l .op span .i,.kchip[data-g="dx"] .kp-l .op span .i{color:var(--green2)}
/* fb 08.10 п.18: «Ціни усі» — світліший фон із плавним переходом у білий, як у «Акції клініки» */
.kc-pr .kc-all{border:1px solid #CFE8F7;background:linear-gradient(90deg,#EEF8FE,#fff)}
.kc-pr table{background:linear-gradient(90deg,#F5FBFE,#fff);border:1px solid #DCEFFA}
.kc-pr tr:nth-child(even){background:transparent}
/* fb 08.10 п.19: при розкритті «Ціни усі» панель — зверху, перелік цін під нею (як в «Акції клініки») */
.kc-pr.has-sel .kc-all{order:0;margin-top:0}
.kc-pr.has-sel table{margin-top:8px}
/* fb 08.10 п.20: текст акцій — звичайний темний, ціна — жирна помаранчева (як було раніше) */
.kc-ac li{color:var(--txt);font-weight:400}
.kc-ac li mark{background:none;color:var(--or2);font-weight:800}
/* fb 08.10 п.14: іконки району й метро — як на живому сайті (суцільні) */
.t-d .i,.t-m .i{width:18px;height:18px;flex:none}
.t-m .i{color:var(--lc)}
/* fb 08.10 п.31: згорнуто — зелена смуга обраної послуги зверху, «Ціни усі» під нею впритул до «Акції клініки»; розгорнуто — як у п.19 (панель зверху, перелік під нею) */
.kc-pr.has-sel:not(.open) table{order:0;margin-top:0}
.kc-pr.has-sel:not(.open) .kc-all{order:1;margin-top:8px}

/* fb 08.10 п.32: іконки послуг у списку «Оберіть послугу» (фільтр «Ціна») — як у «Послугах» */
.kpr-pop button{display:flex;align-items:center;gap:8px}
.kpr-pop button .i{width:16px;height:16px;flex:none;color:var(--green2)}

/* fb 08.10 п.16: leave room for the real sticky header. */
@media(min-width:701px){.kp{max-height:calc(100vh - var(--s101-header-bottom,88px) - 24px)}}

/* 08.10: imported SEO tables must fit the content column at 320px. */
.s101-seo-content table{width:100%;max-width:100%;table-layout:fixed;box-sizing:border-box}.s101-seo-content td,.s101-seo-content th{overflow-wrap:anywhere}
@media(max-width:700px){.s101-seo-content td,.s101-seo-content th{width:auto!important;min-width:0}}

html[lang="ru"] .kpr.off .kpr-m::before{content:"↖ выберите услугу — увидите, сколько клиник в каждом диапазоне цены"}

@media(max-width:700px){.kc-ac ul{padding-left:14px}}

/* Catalogue map popup: override legacy vendor span padding/white text. */
#kmapm .kmp{padding:12px 16px 14px}
#kmapm .kmp>b{padding-right:12px}
#kmapm .kmp>span{padding:0;color:var(--mut);line-height:1.35}
