/* Доводка шаблона: структура страницы остаётся, поверх слоя движения (dp-motion)
   меняется подача — спокойная «клиническая» палитра и блок быстрой записи. */

:root {
  --dp-accent: #12b5ad;          /* свежий бирюзовый вместо красного, красный для стоматологии тревожит */
  --dp-accent-deep: #0b8f89;
  --dp-navy: #0e2a47;
  --dp-mint: #e9f8f6;
  --dp-line: #e3eef0;
}

::selection { background: var(--dp-accent); color: #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 2px solid var(--dp-accent); outline-offset: 3px;
}

/* ─── Первый экран: читаемый текст, кнопки ─── */
.site-blocks-cover { position: relative; }
.site-blocks-cover::before {
  content: ''; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(90deg, rgba(14, 42, 71, .78), rgba(14, 42, 71, .35) 60%, rgba(14, 42, 71, .1)),
              linear-gradient(0deg, rgba(14, 42, 71, .5), transparent 35%);
}
.site-blocks-cover .container { position: relative; z-index: 1; }
.site-blocks-cover h1 strong { color: #7ff0e8; }
.site-blocks-cover .sub-text { color: #bff5f0; }
.dp-lead { font-size: 1.15rem !important; max-width: 470px; color: rgba(255, 255, 255, .88) !important; margin: 1.4rem 0 2rem; }
.dp-cta { display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }
.btn.btn-primary.dp-btn {
  background: var(--dp-accent); border-color: var(--dp-accent); color: #fff; border-radius: 99px;
  letter-spacing: .12em; font-weight: 600; font-size: .85rem; text-transform: uppercase;
  transition: background .3s, transform .3s, box-shadow .3s;
}
.btn.btn-primary.dp-btn:hover { background: var(--dp-accent-deep); border-color: var(--dp-accent-deep); transform: translateY(-3px); box-shadow: 0 16px 30px -12px rgba(11, 143, 137, .8) !important; }
.dp-link { color: #fff; font-weight: 600; letter-spacing: .04em; border-bottom: 1px solid rgba(255, 255, 255, .5); padding-bottom: 3px; transition: gap .3s, border-color .3s; }
.dp-link:hover { color: #fff; border-color: #7ff0e8; text-decoration: none; }
.dp-link span { display: inline-block; transition: transform .3s; }
.dp-link:hover span { transform: translateX(5px); }

/* ─── Быстрая запись: карточка, «наплывающая» на первый экран ─── */
.dp-book { position: relative; z-index: 5; margin-top: -64px; }
.dp-book-form {
  display: grid; grid-template-columns: 1.15fr 1fr 1fr 1.1fr 1fr auto; gap: 0 14px; align-items: end;
  background: #fff; border-radius: 22px; padding: 22px 26px;
  box-shadow: 0 30px 60px -28px rgba(14, 42, 71, .5), 0 0 0 1px var(--dp-line);
}
.dp-book-head { display: flex; align-items: center; gap: 14px; padding-bottom: 6px; }
.dp-book-head strong { display: block; font-size: 1.05rem; color: var(--dp-navy); line-height: 1.1; }
.dp-book-head small { color: #7a8794; }
.dp-tooth {
  width: 46px; height: 46px; flex: none; border-radius: 14px; background: var(--dp-mint); position: relative;
}
.dp-tooth::before {
  content: ''; position: absolute; left: 12px; top: 11px; width: 22px; height: 24px;
  background: var(--dp-accent);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 3c-2.6 0-4.5 2-4.5 4.8 0 2.2.9 3.5 1.7 5.3.9 2 .9 4.4 1.7 6.5.4 1 1.2 1.4 1.9 1.4 1.2 0 1.5-1.4 1.8-3 .3-1.4.5-2.4 1.9-2.4s1.6 1 1.9 2.4c.3 1.6.6 3 1.8 3 .7 0 1.5-.4 1.9-1.4.8-2.1.8-4.5 1.7-6.5.8-1.8 1.7-3.1 1.7-5.3C21.4 5 19.5 3 16.9 3c-1.7 0-2.6.7-4.9.7S8.7 3 7 3z'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 3c-2.6 0-4.5 2-4.5 4.8 0 2.2.9 3.5 1.7 5.3.9 2 .9 4.4 1.7 6.5.4 1 1.2 1.4 1.9 1.4 1.2 0 1.5-1.4 1.8-3 .3-1.4.5-2.4 1.9-2.4s1.6 1 1.9 2.4c.3 1.6.6 3 1.8 3 .7 0 1.5-.4 1.9-1.4.8-2.1.8-4.5 1.7-6.5.8-1.8 1.7-3.1 1.7-5.3C21.4 5 19.5 3 16.9 3c-1.7 0-2.6.7-4.9.7S8.7 3 7 3z'/></svg>") center / contain no-repeat;
}
.dp-field { display: block; margin: 0; }
.dp-field span { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #7a8794; margin-bottom: 4px; padding-left: 14px; }
.dp-field input, .dp-field select {
  width: 100%; height: 48px; border: 1px solid var(--dp-line); border-radius: 12px; padding: 0 14px; font: inherit; font-size: .95rem;
  background: #f7fbfb; color: #25262a; transition: border-color .25s, background .25s, box-shadow .25s;
}
.dp-field input:focus, .dp-field select:focus { outline: none; border-color: var(--dp-accent); background: #fff; box-shadow: 0 0 0 4px rgba(18, 181, 173, .14); }
.dp-field input.bad { border-color: #d64545; background: #fff6f6; }
.dp-book-btn {
  height: 48px; padding: 0 30px; border: 0; border-radius: 12px; background: var(--dp-navy); color: #fff; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: .8rem;
  cursor: pointer; transition: background .3s, transform .3s;
}
.dp-book-btn:hover { background: var(--dp-accent); transform: translateY(-2px); }
.dp-book-note { grid-column: 1 / -1; margin: 12px 0 0; min-height: 1.3em; font-size: .92rem; text-align: center; color: var(--dp-accent-deep); }
.dp-book-note.err { color: #c73a3a; }

/* ─── Заголовки и плитки: спокойнее и чище ─── */
.site-heading strong, .site-heading { color: var(--dp-navy); }
.site-heading strong { color: var(--dp-accent-deep); }
.site-heading::after {
  content: ''; display: block; width: 44px; height: 3px; margin: 1rem auto 0; border-radius: 3px; background: var(--dp-accent);
}
.site-block-3 .feature { border-radius: 18px; background: #fff; border: 1px solid var(--dp-line); }
.site-block-3 .feature.active { background: var(--dp-mint); border-color: rgba(18, 181, 173, .35); }
.site-block-3 .feature [class^='flaticon-'] { color: var(--dp-accent); }
.site-block-3 img { border-radius: 18px; }

.bg-light { background: linear-gradient(180deg, #f4fbfb, #ffffff) !important; }
.site-block-feature-2 { border-radius: 18px !important; background: #fff; border: 1px solid var(--dp-line); padding: 26px 26px 6px; counter-increment: dpsv; position: relative; }
.site-block-feature-2 .icon {
  color: var(--dp-accent); width: 74px; height: 74px; border-radius: 22px; background: var(--dp-mint);
  display: grid; place-items: center; font-size: 38px;
}
.site-block-feature-2 .icon::before { line-height: 1; }
.site-block-feature-2 h3 { color: var(--dp-navy); font-weight: 700; }
.site-block-feature-2::after {
  content: counter(dpsv, decimal-leading-zero); position: absolute; right: 22px; top: 16px;
  font-weight: 900; font-size: 1.6rem; color: rgba(18, 181, 173, .18);
}
#services .row { counter-reset: dpsv; }

/* ─── Отзывы: монограммы и звёзды вместо фото ─── */
.site-block-testimony { border-radius: 20px; border: 1px solid var(--dp-line); background: #fff; }
.site-block-testimony.active { border-color: rgba(18, 181, 173, .4); box-shadow: 0 30px 50px -30px rgba(14, 42, 71, .35); }
.dp-mono {
  display: inline-grid; place-items: center; width: 84px; height: 84px; border-radius: 50%;
  background: var(--dp-mint); color: var(--dp-accent-deep); font-weight: 900; font-size: 2.2rem;
  box-shadow: 0 0 0 6px #fff, 0 0 0 7px rgba(18, 181, 173, .35);
}
.dp-stars { display: block; margin-top: 16px; color: #f5b301; letter-spacing: .2em; font-size: 1rem; }
.site-block-testimony strong { color: var(--dp-navy); }

/* ─── Подвал ─── */
.site-footer .footer-heading { color: var(--dp-navy); }
.site-footer .list-unstyled a:hover, .site-footer .block-25 a:hover .heading { color: var(--dp-accent-deep); }

@media (max-width: 1199px) {
  .dp-book-form { grid-template-columns: 1fr 1fr; gap: 14px; }
  .dp-book-head { grid-column: 1 / -1; }
  .dp-book-btn { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 575px) {
  .dp-book { margin-top: -40px; }
  .dp-book-form { grid-template-columns: 1fr; padding: 20px; }
  .dp-cta { gap: 1.1rem; }
}
