/* Страница клиники v2 (includes/clinic-page-v2.php). Макет: prototypes/clinic-page, утверждён 2026-10-12.
   Всё под .cp / .cp-* — не пересекается со стилями темы; слоты записи — штатные .yd-slots (yandoc-medic.css). */
.cp{--ground:#F7F8FA;--surface:#fff;--ink:#1E2632;--mid:#3E4958;--muted:#6F7580;--border:#E6E6EB;--border2:#D8D8E0;--yellow:#FFCC00;--yellow-d:#F2BE00;--red:#FC3F1D;--link:#0070C0;--star:#FD9F13;--green:#1F9D57;--fl:"MuseoSansCyrl300",Arial,sans-serif;--fm:"MuseoSansCyrl500",Arial,sans-serif;--fb:"MuseoSansCyrl700",Arial,sans-serif;--r:14px;background:var(--ground);color:var(--ink);font-family:var(--fm);font-size:15px;line-height:1.45;padding-bottom:40px}
.cp{clear:both}
.cp *{box-sizing:border-box}
:where(.cp) a{color:var(--link);text-decoration:none}
.cp img{max-width:100%}
/* баннер с фото и карточка адреса — по раскладке DocDoc, в наших цветах */
.cp-top{display:grid;gap:14px;margin-top:12px}
.cp-banner{position:relative;border-radius:16px;overflow:hidden;background:#2b3442;height:230px}
.cp-banner .cp-pimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}
.cp-banner .cp-pimg.cp-on{opacity:1}
.cp-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,36,.68) 0%,rgba(20,26,36,.42) 55%,rgba(20,26,36,.12) 100%);pointer-events:none}
.cp-b-in{position:absolute;inset:0;z-index:2;display:flex;gap:12px;padding:12px;pointer-events:none}
.cp-b-in a,.cp-b-in button{pointer-events:auto}
.cp-lcard{flex:none;width:96px;align-self:flex-start;background:#fff;border-radius:12px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.cp-lcard .cp-lg{width:84px;height:60px;display:flex;align-items:center;justify-content:center}
.cp-lcard .cp-lg img{max-width:100%;max-height:100%;object-fit:contain}
.cp-lcard .cp-rate{justify-content:center;flex-wrap:nowrap;gap:4px}
.cp-lcard .cp-rc{font-size:11px}
.cp-b-tt{color:#fff;min-width:0;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.cp-crumbs{font-size:12px;line-height:1.35;color:rgba(255,255,255,.92)}
.cp-crumbs a{color:rgba(255,255,255,.92);text-decoration:underline;text-decoration-color:rgba(255,255,255,.4)}.cp-crumbs span{margin:0 4px}
.cp h1{font-family:var(--fb);font-size:22px;line-height:1.15;margin:6px 0 0;letter-spacing:-.2px}
.cp-type{font-size:13px;margin-top:5px;opacity:.95}
.cp-bnav{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;gap:6px;background:rgba(20,26,36,.72);color:#fff;border-radius:999px;padding:3px 4px;font-size:12px}
.cp-bnav button{width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:16px;cursor:pointer;line-height:1}
.cp-bnav button:hover{background:rgba(255,255,255,.18)}
/* вариант без фото: фирменная плашка вместо баннера (решение 2026-10-12) */
.cp-banner.cp-nophoto{height:auto;min-height:170px;background:linear-gradient(135deg,#FFFCEE 0%,#FFF5CF 100%)}
.cp-banner.cp-nophoto::after{display:none}
.cp-banner.cp-nophoto .cp-b-in{position:relative;inset:auto;min-height:170px;align-items:center}
.cp-banner.cp-nophoto .cp-lcard{align-self:center}
.cp-banner.cp-nophoto .cp-b-tt{color:var(--ink);text-shadow:none}
.cp-banner.cp-nophoto .cp-crumbs,.cp-banner.cp-nophoto .cp-crumbs a{color:#6B5600;text-decoration-color:rgba(107,86,0,.35)}
.cp-acard{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(30,38,50,.04)}
.cp-map{display:none;height:190px;position:relative;background:repeating-linear-gradient(45deg,#eef1f5,#eef1f5 10px,#e7ebf0 10px,#e7ebf0 20px);align-items:center;justify-content:center;color:var(--mid);text-align:center;font-size:13px;padding:14px}
.cp-map::before{content:"";position:absolute;left:50%;top:38%;width:22px;height:22px;margin:-22px 0 0 -11px;background:var(--red);border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.cp-map div{margin-top:46px}
.cp-a-body{padding:16px;display:grid;gap:11px}
.cp-addr{margin:0;color:var(--ink);font-size:15px;line-height:1.35}
.cp-metro{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.cp-metro li{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}
.cp-metro b{font-family:var(--fm);font-weight:400}
.cp-dots{display:inline-flex;gap:2px}.cp-dots i{width:9px;height:9px;border-radius:50%;display:block}
.cp-chipd{background:var(--ground);border-radius:8px;padding:1px 8px;font-size:12px;color:var(--mid)}
.cp-hours{font-size:14px;color:var(--ink)}.cp-hours small{color:var(--muted);font-size:12px;margin-left:6px}
.cp-maplink{font-size:14px}
.cp-btn{display:block;text-align:center;border-radius:12px;height:48px;line-height:48px;font-family:var(--fb);font-size:16px;border:0;cursor:pointer;background:var(--yellow);color:var(--ink);padding:0 12px;white-space:nowrap}
.cp-btn:hover{background:var(--yellow-d)}
.cp-btn.cp-sm{height:42px;line-height:42px;font-size:15px;border-radius:10px}
.cp-nofee{font-size:12.5px;color:var(--mid);display:flex;gap:6px;align-items:flex-start}
.cp-nofee::before{content:"✓";color:var(--green);font-weight:700}
.cp-ph2{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:12px;color:var(--muted)}
.cp-ph2 .cp-lbl{flex:1 1 100%}
.cp-ph2 .cp-num{font-family:var(--fb);font-size:15px;color:var(--link);text-decoration:underline}
.cp-ph2 button{border:0;background:none;color:var(--link);font-size:12px;cursor:pointer;padding:0;font-family:var(--fm)}
.cp-rate{display:flex;align-items:center;gap:5px;white-space:nowrap}
.cp-rate b{font-family:var(--fm);font-size:12px;color:var(--mid)}
.cp-rate .cp-rv{font-size:12px;color:var(--muted)}
.cp-st{color:var(--star);font-size:13px;line-height:1;letter-spacing:0}
.cp-rc{color:var(--muted);font-size:11.5px;border:1px dashed var(--border2);border-radius:6px;padding:0 6px}
.cp-about{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 16px}
.cp-about h2{font-family:var(--fb);font-size:21px;margin:0 0 10px}
.cp-about .cp-tx{color:var(--mid);margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.cp-about .cp-tx.cp-open{-webkit-line-clamp:unset;display:block}
@media(min-width:900px){
  .cp-top{grid-template-columns:1fr 380px;grid-template-rows:auto 1fr;gap:16px 20px;align-items:start}
  .cp-banner{height:300px;grid-column:1;grid-row:1}
  .cp-banner.cp-nophoto{height:auto;min-height:220px}.cp-banner.cp-nophoto .cp-b-in{min-height:220px}
  .cp-about{grid-column:1;grid-row:2;padding:22px 26px}
  .cp-acard{grid-column:2;grid-row:1/3}
  .cp-b-in{padding:18px;gap:16px}
  .cp-lcard{width:120px;padding:10px 8px}.cp-lcard .cp-lg{width:104px;height:74px}
  .cp h1{font-size:30px}.cp-type{font-size:14px}
  .cp-map{display:flex}
  .cp-a-body{padding:20px 22px;gap:13px}
  .cp-ph2{display:block;border-top:1px dashed var(--border2);padding-top:10px}
  .cp-ph2::before{content:"Телефон для записи";display:block;margin-bottom:4px;font-size:12px;color:var(--muted)}
  .cp-ph2 .cp-lbl{display:none}.cp-ph2 .cp-num{margin-right:8px}
  .cp-btn{height:52px;line-height:52px;border-radius:14px}
  .cp-btn.cp-sm{height:42px;line-height:42px}
}
/* якорная навигация */
.cp-nav{position:sticky;top:0;z-index:4;background:var(--ground);margin:12px -15px 0;padding:8px 15px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.cp-nav::-webkit-scrollbar{display:none}
.cp-nav a{flex:none;border:1.5px solid var(--border2);background:#fff;border-radius:999px;padding:7px 14px;font-size:14px;color:var(--ink)}
.cp-nav a small{color:var(--muted)}
/* блоки */
.cp section.cp-blk{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:20px 16px;margin-top:14px;scroll-margin-top:56px}
.cp section.cp-blk>h2{font-family:var(--fb);font-size:21px;margin:0 0 12px;display:flex;gap:8px;align-items:baseline}
.cp section.cp-blk>h2 small{font-family:var(--fm);font-size:15px;color:var(--muted)}
.cp section.cp-blk p{margin:0 0 10px;color:var(--mid)}
@media(min-width:760px){.cp section.cp-blk{padding:24px 26px}}
.cp-note{font-size:12.5px;color:var(--muted);margin:10px 0 0}
/* врачи со слотами записи */
.cp-docs{display:grid;gap:12px}
.cp-doc{border:1px solid var(--border);border-radius:14px;padding:14px;display:grid;grid-template-columns:72px 1fr;gap:10px 14px;align-items:start}
.cp-d-side{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.cp-doc .cp-ph{width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--ground);display:block}
.cp-doc .cp-ph img{width:100%;height:100%;object-fit:cover;display:block}
.cp-d-side .cp-rate{flex-direction:column;gap:1px}
.cp-doc h3{margin:0;font-family:var(--fb);font-size:17px;line-height:1.2}.cp-doc h3 a{color:var(--ink)}
.cp-ds{font-size:13px;color:var(--muted);margin-bottom:3px}
.cp-dm{font-size:13px;color:var(--mid);margin-top:4px}
.cp-dprice{margin-top:8px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.cp-dprice b{font-family:var(--fb);font-size:17px;color:var(--ink)}
.cp-dprice small.cp-pm{color:#8A6D00;font-size:12px}
.cp-dprice.cp-none{color:var(--mid)}
.cp-d-slots{grid-column:1/-1;border-top:1px solid var(--border);padding-top:12px}
@media(min-width:900px){
  .cp-doc{grid-template-columns:120px 1fr 440px;padding:18px 22px;align-items:start;gap:10px 22px}
  .cp-doc .cp-ph{width:96px;height:96px}
  .cp-d-slots{grid-column:3;border-top:0;padding-top:0}
  .cp-d-side .cp-rate{flex-direction:column}
}
/* цены */
.cp-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}
.cp-chips::-webkit-scrollbar{display:none}
.cp-chip{flex:none;border:1.5px solid var(--border2);background:#fff;border-radius:999px;padding:6px 13px;font-size:14px;color:var(--ink);cursor:pointer;font-family:var(--fm)}
.cp-chip small{color:var(--muted)}
.cp-chip.cp-on{background:var(--ink);color:#fff;border-color:var(--ink)}.cp-chip.cp-on small{color:#cfd3da}
.cp-pfind{width:100%;border:1.5px solid var(--border2);border-radius:10px;padding:10px 12px;font:inherit;font-size:14.5px;margin:0 0 12px;background:#fff}
.cp-pg{margin-top:8px;border:1px solid var(--border);border-radius:12px;padding:0 14px}
.cp details.cp-grp>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;font-family:var(--fb);font-size:16px}
.cp details.cp-grp>summary::-webkit-details-marker{display:none}
.cp details.cp-grp>summary small{font-family:var(--fm);color:var(--muted);font-size:13px}
.cp details.cp-grp>summary em{font-style:normal;font-family:var(--fm);font-size:13px;color:var(--muted);white-space:nowrap;margin-left:auto}
.cp details.cp-grp>summary::after{content:"+";color:var(--muted);font-size:20px;line-height:1}
.cp details.cp-grp[open]>summary::after{content:"–"}
.cp-pg ul{list-style:none;margin:0;padding:0}
.cp-pg li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--border);font-size:14.5px}
.cp-pg li b{font-family:var(--fb);white-space:nowrap}
.cp details.cp-restrows>summary{cursor:pointer;color:var(--link);font-size:14px;padding:9px 0;border-top:1px solid var(--border);list-style:none}
.cp details.cp-restrows[open]>summary{display:none}
.cp-hide{display:none!important}
.cp-lnk{background:none;border:0;color:var(--link);font:inherit;font-size:14px;padding:0;cursor:pointer;margin-top:8px}
.cp-tags{display:flex;flex-wrap:wrap;gap:8px}
.cp-tags a{border:1px solid var(--border2);border-radius:999px;padding:6px 12px;font-size:14px;color:var(--ink);background:#fff}
.cp-tags.cp-rest{margin-top:8px}
h3.cp-sub{font-family:var(--fb);font-size:16px;margin:16px 0 10px}
/* состояния: без логотипа, сеть клиник */
.cp-lcard .cp-lg .cp-ini{width:64px;height:64px;border:1px solid var(--border);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:30px;background:#fff}
.cp-netpill{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cp-banner.cp-nophoto .cp-netpill{color:#6B5600}
.cp-brs{display:grid;gap:10px}
.cp-br{border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:grid;gap:4px;color:var(--ink)}
.cp-br b{font-family:var(--fb);font-size:15px;line-height:1.25}
.cp-br .cp-ad{font-size:13.5px;color:var(--mid)}
.cp-br .cp-mt{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mid)}
.cp-br .cp-rate{margin-top:2px}
@media(min-width:760px){.cp-brs{grid-template-columns:1fr 1fr}}
/* лицензии */
.cp-lics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:640px}
.cp-lics a{display:block;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}
.cp-lics img{display:block;width:100%;height:auto}
/* поблизости */
.cp-nears{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.cp-nc{flex:none;width:200px;border:1px solid var(--border);border-radius:14px;padding:12px;display:grid;gap:6px;color:var(--ink)}
.cp-nc .cp-nl{width:64px;height:64px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cp-nc .cp-nl img{width:100%;height:100%;object-fit:contain}
.cp-nc>b{font-family:var(--fb);font-size:14.5px;line-height:1.2}
.cp-nm{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--mid)}
.cp-ini{font-family:var(--fb);font-size:26px;color:var(--muted)}
.cp-more{margin-top:12px;font-size:14px}
.cp-warn{border:1px solid #F3C6BE;background:#FFF6F4;border-radius:12px;padding:12px 14px;font-size:13px;color:#8A3B2E;margin-top:16px}
/* --- доработки при переносе в тему --- */
.cp-btn-sm{height:42px;line-height:42px;font-size:15px;border-radius:10px}
.cp .cp-btn,.cp .cp-btn:hover{color:var(--ink)}
.cp-map{display:none;height:190px;position:relative;background:#e7ebf0;padding:0}
.cp-map::before,.cp-map div{margin:0}
.cp-map::before{display:none}
.cp-map #cp-map{width:100%;height:100%}
@media(min-width:900px){.cp-map{display:block}}
.cp-main.container{padding-left:15px;padding-right:15px}
.cp-d-book{margin-top:10px}
.cp-d-slots:has(.yd-slots.has-data) .cp-d-book{display:none}
.cp-doc[hidden]{display:none}
.cp-doc .cp-rate-col{flex-direction:column;gap:1px}
.cp-more-docs{margin-top:12px}
.cp-ini{font-family:var(--fb);font-size:26px;color:var(--muted)}
.cp-lg .cp-ini{width:64px;height:64px;border:1px solid var(--border);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:30px;background:#fff}
.cp-nl .cp-logo-img,.cp-lg .cp-logo-img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.cp-sub small{font-family:var(--fm);color:var(--muted)}
.cp-lics a{display:block}
.cp-nofee{margin:0}
.cp-chips .cp-chip small{color:var(--muted)}
.cp-chips .cp-chip.cp-on small{color:#cfd3da}
/* нижняя панель только на странице клиники (решение 2026-10-12); штатная фиксированная плашка сайта скрыта, чтобы не дублировать */
body.cp-v2 .phone_mobile_button{display:none!important}
.cp-bar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--border);padding:10px 16px;display:flex;gap:10px;z-index:5}
.cp-bar a,.cp-bar button{flex:1;display:flex;align-items:center;justify-content:center;border-radius:12px;height:44px;font-family:var(--fb);font-size:15px;cursor:pointer}
.cp-bar .cp-y{background:var(--yellow);color:var(--ink);border:0}
.cp-bar .cp-o{border:1.5px solid var(--border2);color:var(--ink);background:#fff}
@media(max-width:899px){.cp{padding-bottom:84px}}
@media(min-width:900px){.cp-bar{display:none}}
.cp-lnk:focus-visible,.cp-chip:focus-visible,.cp-btn:focus-visible,.cp-nav a:focus-visible,.cp-show:focus-visible{outline:2px solid var(--link);outline-offset:2px}
#cpClinicModal .modal-body h5{font-size:20px;margin:0 0 6px}
#cpClinicModal .cp-modal-clinic{margin:0 0 10px;color:#3E4958}
.cp .cp-more a,.cp .cp-lnk{color:var(--link)}
.cp .cp-b-tt h1{color:inherit;text-shadow:inherit}
/* неактивная клиника: заметка вместо записи */
.cp-inact{border:1px solid #F0D9A8;background:#FFF9EA;border-radius:14px;padding:16px 18px;margin:0 0 16px}
.cp-inact b{display:block;font-size:16px;color:var(--ink);margin-bottom:6px}
.cp-inact p{margin:0 0 12px;font-size:14px;color:var(--muted);line-height:1.5}
.cp-inact-b{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink)}
.cp-off{background:#FFF9EA;border:1px solid #F0D9A8;border-radius:12px;padding:12px 14px;margin:0}
.cp-off b{display:block;font-size:14.5px;color:var(--ink)}
.cp-off span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.cp-prof{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);background:#fff;border:1.5px solid var(--border2)}
@media(min-width:900px){.cp-inactive .cp-ph2::before{content:"Подберём другую клинику по телефону"}}
.cp .cp-prof:hover{background:#fff;border-color:var(--ink)}
