:root{
  --bg:#fff; --ink:#141b29; --muted:#6b7688; --line:#eaeef4;
  --brand:#0fb3a8; --brand-d:#0a8d84; --brand-l:#e7faf8;
  --ink-d:#0b1220; --ad:#fff4e0; --ad-ink:#9a6500;
  --radius:18px; --radius-sm:12px;
  --shadow:0 10px 40px rgba(15,40,55,.08);
  --shadow-lg:0 24px 70px rgba(15,40,55,.14);
  --grad:linear-gradient(120deg,#0fb3a8,#1e8fd6);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.dc-wrap{max-width:1180px;margin:0 auto;padding:0 22px}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* Topbar */
.dc-topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line)}
.dc-topbar__inner{display:flex;align-items:center;justify-content:space-between;height:66px}
.dc-logo{font-weight:800;font-size:21px;letter-spacing:-.01em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dc-nav{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-weight:500}
.dc-nav a:hover{color:var(--brand)}

/* Buttons */
.dc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--brand);color:#fff;border:1px solid transparent;border-radius:12px;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer;transition:.18s;box-shadow:0 6px 18px rgba(15,179,168,.25)}
.dc-btn:hover{background:var(--brand-d);transform:translateY(-1px);box-shadow:0 10px 26px rgba(15,179,168,.32)}
.dc-btn--ghost{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:none}
.dc-btn--ghost:hover{border-color:var(--brand);color:var(--brand);background:#fff;box-shadow:none}
.dc-btn--sm{padding:8px 13px;font-size:13px}
.dc-btn--lg{padding:15px 28px;font-size:16px;border-radius:14px}

/* Badge pill */
.dc-badge-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brand-d);background:var(--brand-l);border:1px solid rgba(15,179,168,.2);padding:6px 14px;border-radius:30px}
.dc-badge-pill--dark{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}

/* ===== HERO ===== */
.dc-hero2{position:relative;overflow:hidden;padding:84px 0 70px;background:linear-gradient(180deg,#f6fbfd,#fff)}
.dc-hero2__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.dc-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:dc-float 14s ease-in-out infinite}
.dc-orb--1{width:420px;height:420px;background:radial-gradient(circle,#9be7e0,transparent 70%);top:-120px;right:-80px}
.dc-orb--2{width:360px;height:360px;background:radial-gradient(circle,#acd6f5,transparent 70%);bottom:-140px;left:-60px;animation-delay:-6s}
.dc-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;-webkit-mask:radial-gradient(circle at 50% 30%,#000,transparent 70%);mask:radial-gradient(circle at 50% 30%,#000,transparent 70%);opacity:.5}
@keyframes dc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
.dc-hero2__inner{position:relative;z-index:1;text-align:center;max-width:760px}
.dc-hero2__title{font-size:clamp(32px,5.4vw,56px);line-height:1.07;letter-spacing:-.025em;margin:18px 0 16px;font-weight:800}
.dc-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dc-hero2__sub{font-size:clamp(16px,2vw,19px);color:var(--muted);max-width:600px;margin:0 auto 26px}
.dc-hero2__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Stats */
.dc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px;padding:22px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.dc-stat{text-align:center}
.dc-stat b{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dc-stat span{font-size:13px;color:var(--muted)}

/* USP */
.dc-usp{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:64px auto}
.dc-usp__item{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;transition:.2s}
.dc-usp__item:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:transparent}
.dc-usp__ic{font-size:28px}
.dc-usp__item h3{margin:12px 0 6px;font-size:17px}
.dc-usp__item p{margin:0;color:var(--muted);font-size:14px}

/* Section head */
.dc-section-head{text-align:center;max-width:560px;margin:0 auto 36px}
.dc-section-head h2{font-size:clamp(26px,3.5vw,36px);margin:0 0 8px;letter-spacing:-.02em}
.dc-section-head p{color:var(--muted);margin:0}
.dc-catalog-section{padding:46px 0 30px}

/* Layout / filters */
.dc-layout{display:grid;grid-template-columns:262px 1fr;gap:28px;padding-bottom:40px}
.dc-filters{position:sticky;top:86px;align-self:start;border:1px solid var(--line);border-radius:var(--radius);padding:20px;max-height:calc(100vh - 110px);overflow:auto;background:#fff}
.dc-filters-toggle{display:none;width:100%;margin-bottom:12px}
.dc-filter-search input,#dc-search{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;outline:none;transition:.15s}
#dc-search:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(15,179,168,.12)}
.dc-filter-group{margin-top:22px}
.dc-filter-group h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.dc-check{display:flex;align-items:center;gap:9px;padding:5px 0;cursor:pointer;font-size:14px}
.dc-check input{accent-color:var(--brand);width:16px;height:16px}
.dc-reset{margin-top:20px;width:100%}

/* Results */
.dc-results__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:var(--muted)}
#dc-sort{border:1px solid var(--line);border-radius:12px;padding:9px 13px;font:inherit;background:#fff}
.dc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}

/* Card */
.dc-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff;transition:.2s}
.dc-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:transparent}
.dc-card--pinned{border:1px solid rgba(15,179,168,.4);background:linear-gradient(180deg,#fbfffe,#fff);box-shadow:0 0 0 1px rgba(15,179,168,.25),var(--shadow)}
.dc-pin-badge {
  position: absolute;
  top: -11px;
  right: 14px;
  background: #ffcd71;
  color: var(--ad-ink);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 11px;
  border-radius: 30px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dc-card__logo{margin-bottom:14px;border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:16/9;background:var(--brand-l)}
.dc-card__logo img{width:100%;height:100%;object-fit:cover}
.dc-card__title{font-size:18px;margin:0 0 8px;line-height:1.25}
.dc-card__title a:hover{color:var(--brand)}
.dc-card__body{flex:1}
.dc-meta{color:var(--muted);font-size:13px;margin:3px 0}

/* Rating stars */
.dc-rating{display:flex;align-items:center;gap:8px;margin:7px 0}
.dc-rating b{font-size:15px}
.dc-stars{--r:0%;width:86px;height:14px;background:linear-gradient(90deg,#ffb020 var(--r),#e3e8ef var(--r));-webkit-mask:repeat-x left/17.2px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='M12 .6l3.5 7.1 7.8 1.1-5.6 5.5 1.3 7.8L12 19.9 5 22.2l1.3-7.8L.7 8.8l7.8-1.1z'/%3E%3C/svg%3E");mask:repeat-x left/17.2px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='M12 .6l3.5 7.1 7.8 1.1-5.6 5.5 1.3 7.8L12 19.9 5 22.2l1.3-7.8L.7 8.8l7.8-1.1z'/%3E%3C/svg%3E")}
.dc-rating small{color:var(--muted);font-size:12px}

/* Tags / prices / quote */
.dc-tags{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0}
.dc-tag{font-size:11px;background:var(--brand-l);color:var(--brand-d);padding:4px 10px;border-radius:30px;font-weight:500}
.dc-prices{list-style:none;margin:11px 0;padding:0;border-top:1px dashed var(--line)}
.dc-prices li{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px dashed var(--line)}
.dc-prices span{color:var(--muted)}
.dc-quote{margin:11px 0 0;font-size:13px;font-style:italic;color:var(--muted);border-left:3px solid var(--brand-l);padding-left:11px}
.dc-card__actions{display:flex;gap:8px;margin-top:15px; flex-direction: column;}
.dc-card__actions .dc-btn{flex:1;font-size:13px;padding:10px}
.dc-website--hidden{cursor:pointer}

/* Load more */
.dc-loadmore-wrap{text-align:center;padding:30px 0}
.dc-loadmore{padding:13px 34px}
.dc-spinner{display:inline-block;width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:dc-spin .7s linear infinite}
@keyframes dc-spin{to{transform:rotate(360deg)}}
.dc-empty{text-align:center;color:var(--muted);padding:44px 0}

/* ===== ABOUT ===== */
.dc-about{background:var(--ink-d);color:#fff;padding:70px 0;margin-top:30px}
.dc-about__inner{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:center}
.dc-about__text h2{font-size:clamp(24px,3.2vw,34px);margin:16px 0 14px;letter-spacing:-.02em}
.dc-about__text p{color:#aab6c6;margin:0 0 18px;font-size:16px}
.dc-about__list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.dc-about__list li{padding-left:28px;position:relative;color:#cdd6e2}
.dc-about__list li::before{content:'✓';position:absolute;left:0;color:var(--brand);font-weight:800}
.dc-about__card{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dc-mini-stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:22px;text-align:center}
.dc-mini-stat b{display:block;font-size:28px;font-weight:800;color:#fff}
.dc-mini-stat span{font-size:13px;color:#93a1b3}

/* ===== FOOTER ===== */
.dc-footer{border-top:1px solid var(--line);padding:54px 0 30px;background:#fafbfc}
.dc-footer__top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:30px}
.dc-logo--footer{font-size:20px}
.dc-footer__about p{color:var(--muted);font-size:14px;max-width:380px;margin:12px 0 0}
.dc-footer__col h4{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 14px}
.dc-footer__col ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:14px}
.dc-footer__col a:hover{color:var(--brand)}
.dc-disclaimer{display:flex;gap:10px;font-size:12px;line-height:1.6;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;margin:6px 0 24px}
.dc-disclaimer__ic{color:var(--brand);font-weight:700;flex:0 0 auto}
.dc-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:22px;border-top:1px solid var(--line)}
.dc-copy{font-size:13px;color:var(--muted)}
.dc-footer-nav{display:flex;gap:18px;list-style:none;padding:0;margin:0;font-size:13px}

/* Single + pages */
.dc-single{padding:34px 12px 60px}
.dc-back{color:var(--muted);display:inline-block;margin-bottom:18px}
.dc-single__head{display:flex;gap:30px;align-items:flex-start;flex-wrap:wrap}
.dc-single__logo{flex:0 0 300px;border-radius:var(--radius);overflow:hidden}
.dc-single__info{flex:1;min-width:260px;position:relative}
.dc-single__info h1{margin:.2em 0;font-size:30px;letter-spacing:-.02em}
.dc-single__cta{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.dc-single__cols{display:grid;grid-template-columns:1fr 300px;gap:30px;margin-top:30px}
.dc-single__side{border:1px solid var(--line);border-radius:var(--radius);padding:20px;align-self:start}
.dc-source{font-size:12px;color:var(--muted);margin-top:14px}
.dc-page{max-width:760px;margin:46px auto}
.dc-report{display:grid;gap:10px;max-width:480px}
.dc-report input,.dc-report textarea{border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit}
.dc-ok{color:var(--brand-d);font-weight:600}

/* Cookie */
.dc-cookie{position:fixed;left:20px;right:20px;bottom:20px;max-width:580px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:16px;padding:16px 18px;display:flex;gap:14px;align-items:center;z-index:200}
.dc-cookie p{margin:0;font-size:13px;color:var(--muted)}

/* ===== Responsive ===== */
@media(max-width:980px){
  .dc-stats{grid-template-columns:repeat(2,1fr)}
  .dc-usp{grid-template-columns:repeat(2,1fr)}
  .dc-about__inner{grid-template-columns:1fr}
  .dc-footer__top{grid-template-columns:1fr 1fr}
}
@media(max-width:880px){
  .dc-layout{grid-template-columns:1fr}
  .dc-single__cols{grid-template-columns:1fr}
  .dc-filters-toggle{display:block}
  .dc-filters{position:static;max-height:none;border:none;padding:0;background:transparent}
  .dc-filters-inner{display:none;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px;background:#fff}
  .dc-filters.is-open .dc-filters-inner{display:block}
}
@media(max-width:560px){
  .dc-usp{grid-template-columns:1fr}
  .dc-footer__top{grid-template-columns:1fr}
  .dc-about__card{grid-template-columns:1fr 1fr}
}

section.dc-results {
  padding: 0 12px;
}


/* ===== Вывод телефона: доп. номера и примечания ===== */
.dc-phone-extra{
  display:block;
  flex-basis:100%;
  order:99;
  font-size:12px;
  color:var(--muted);
  line-height:1.4;
  margin-top:2px;
}

/* В карточке каталога: по центру под кнопками */
.dc-card__actions .dc-phone-extra{
  text-align:center;
  margin-top:4px;
}

/* На странице клиники: слева под кнопками */
.dc-single__cta .dc-phone-extra{
  text-align:left;
  margin-top:4px;
}