@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');

/*
 * Единый типографический стандарт Антерус.
 * Этот файл подключается последним: новые секции и страницы получают те же
 * шрифты, размеры и цвета без копирования локальных правил.
 */

:root {
  --font-sans: "Manrope", "DM Sans", Arial, sans-serif;
  --font-heading: "Manrope", "DM Sans", Arial, sans-serif;
  /* Совместимость с прежними блоками: все ссылки на старый шрифт теперь sans. */
  --font-serif: var(--font-heading);

  --type-display: clamp(52px, 5vw, 76px);
  --type-page-title: clamp(42px, 4vw, 64px);
  --type-section-title: clamp(32px, 3vw, 48px);
  --type-card-title: clamp(22px, 2vw, 30px);
  --type-body: 16px;
  --type-lead: 18px;
  --type-small: 12px;

  --text-primary: #171a18;
  --text-secondary: #626b65;
  --text-inverse: #ffffff;
  --text-accent: #b65334;
  --hero-glass-max-width: 820px;
  --menu-flyout-max-width: 800px;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-sans) !important;
}

body {
  color: var(--text-primary);
  font-size: var(--type-body);
  line-height: 1.55;
}

/* Топпер — прозрачная служебная строка, не отдельная цветная полоса. */
.header-contact-bar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--green) !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2;
}
.header-contact-bar__inner { min-height: 34px !important; }
.header-contact-bar__label,
.header-contact-bar .header-phone { color: inherit !important; font-family: var(--font-sans) !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.2 !important; }
.header-messengers a,
.header-messengers svg { color: inherit !important; fill: currentColor !important; }
.home .header-contact-bar { color: rgba(255, 255, 255, .88) !important; }
.page-template-faq .site-header .nav,
.page-template-faq .site-header.is-scrolled .nav {
  background: rgba(255, 255, 255, .16) !important;
  border: 1px solid rgba(31, 85, 70, .24) !important;
  box-shadow: 0 12px 30px rgba(16, 33, 27, .08) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}
.page-template-faq .site-header,
.page-template-faq .site-header.is-scrolled {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.page-template-faq .site-header .nav-links.is-open {
  background: rgba(255, 255, 255, .16) !important;
  border: 1px solid rgba(31, 85, 70, .24) !important;
  box-shadow: 0 12px 30px rgba(16, 33, 27, .08) !important;
  color: var(--green) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}
.header-messenger--max img {
  filter: brightness(0) saturate(100%) invert(27%) sepia(24%) saturate(1239%) hue-rotate(111deg) brightness(92%) contrast(87%);
}
.home .header-messenger--max img { filter: brightness(0) invert(1) !important; }
.home .account-trigger,
.home .account-trigger .dashicons { color: var(--text-inverse) !important; }

/* Общий футер: четыре независимые колонки и компактная юридическая строка. */
.site-footer .footer-grid { grid-template-columns: 1.7fr 1fr 1fr 1.15fr; gap: clamp(28px, 5vw, 84px); }
.site-footer a { text-decoration: none !important; }
.site-footer a:hover { color: #e7a183; }
.site-footer .footer-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 50px; }
.site-footer .footer-note__legal { display: inline-flex; align-items: center; gap: 10px; }
.site-footer .footer-note__copyright { margin-left: auto; white-space: nowrap; }
@media (max-width: 900px) {
  .site-footer .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 34px; }
  .site-footer .footer-grid > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .site-footer .footer-grid { grid-template-columns: 1fr; }
  .site-footer .footer-grid > :first-child { grid-column: auto; }
  .site-footer .footer-note { align-items: flex-start; flex-direction: column; gap: 14px; }
  .site-footer .footer-note__legal { flex-wrap: wrap; gap: 6px 9px; }
  .site-footer .footer-note__copyright { margin-left: 0; }
}

/* Плашка шапки на 20 px уже баннера; раскрытое меню — ещё на 20 px уже его. */
@media (min-width: 761px) {
  .site-header .nav,
  .site-header.is-scrolled .nav {
    width: calc(100% - 68px) !important;
  }
}
@media (max-width: 1180px) {
  .site-header .nav-links.is-open {
    width: min(var(--menu-flyout-max-width), calc(100vw - 52px)) !important;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--text-primary);
  font-family: var(--font-heading) !important;
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

h1 { font-size: var(--type-page-title) !important; }
h2 { font-size: var(--type-section-title) !important; }
h3 { font-size: var(--type-card-title) !important; }

.page-title,
.section-title,
.specialist-card h3,
.entity-card h3,
.test-card h2,
.contact-card h2,
.event-row h3,
.event-preview-card h3,
.hads-question legend,
.hads-intro h2,
.hads-result > header h2,
.test-specialists > header h2,
.test-specialists__grid h3 {
  font-family: var(--font-heading) !important;
}

/* Заголовки групп FAQ подчиняются общему стандарту. */
.faq-directory__group-copy strong {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em;
}

small,
.eyebrow {
  font-family: var(--font-sans) !important;
}

/* Светлый текст остаётся только на тёмных и фото-фонах. */
.hero h1,
.hero h2,
.hero h3,
.hero .eyebrow,
.hero p,
.events-hero h1,
.events-hero p,
.blog-reference-hero h1,
.blog-reference-hero p {
  color: var(--text-inverse) !important;
}

.hero h1,
.events-hero h1,
.blog-reference-hero h1 {
  font-size: var(--type-display);
}

.hero h1 em,
.events-hero h1 em,
.blog-reference-hero h1 em {
  font-family: inherit !important;
}

.hero .hero-eyebrow-dot {
  color: var(--text-accent) !important;
}
.home .hero h1 em { color: var(--text-accent) !important; }

/* Новый визуальный фон секции «Помощь строится вокруг вас». */
.home .approach-section::before {
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(247, 243, 236, .78) 0%, rgba(247, 243, 236, .38) 45%, rgba(247, 243, 236, .08) 100%), url('assets/cinematic/approach-around-you.png') center / cover !important;
  opacity: .92 !important;
}
.home .approach-stage { display: flex; justify-content: flex-end; }
.home .approach-heading { position: relative; top: auto; max-width: 520px; margin-left: auto; }
.home .approach-blog-link { display: inline-block; margin-top: 30px; text-decoration: underline !important; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.home .path-card--dark { cursor: default; }
.home .path-card--dark h2 em { color: var(--text-accent); }
.home .path-card--light h2 em { color: var(--green); }
.home .path-card--light > b { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.home .path-card__link { margin-top: auto; color: #fff; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }

.blog-article-tools { display: grid; grid-template-columns: minmax(250px, 1fr) repeat(3, minmax(130px, .42fr)) auto; gap: 10px; margin: 0 0 24px; }
.blog-article-search { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.blog-article-search .dashicons { color: var(--text-accent); }
.blog-article-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; }
.blog-article-tools select, .blog-article-tools button { min-height: 50px; padding: 0 14px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); font: inherit; }
.blog-article-tools button { border-color: var(--green); background: var(--green); color: #fff; font-weight: 700; cursor: pointer; }
.blog-article-tools--simple { grid-template-columns: minmax(0, 1fr) auto; }
.blog-article-tools--simple .blog-article-search { grid-column: auto; }
.article-card-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0 0 10px; color: var(--muted); font-size: 13px; }
.article-card-meta a { color: var(--green); font-size: 12px; font-weight: 400; text-decoration: none; }
.article-card-meta a:hover { color: var(--text-accent); }
.blog-reference-card .blog-tag-list a { display: inline-block; padding: 5px 9px; border-radius: 999px; background: var(--sage); color: var(--green); font-size: 12px; text-decoration: none; }
.blog-reference-card .blog-tag-list a:hover { background: var(--text-accent); color: #fff; }
.blog-reference-page .blog-reference-card--entry { grid-template-columns: 210px minmax(0, 1fr) !important; }
.blog-reference-page .blog-reference-card--entry > a:last-child { display: none; }
.blog-reference-page .blog-reference-card--overview { grid-template-columns: 210px minmax(0, 1fr) !important; }
.blog-reference-page .blog-reference-card--overview > a:last-child { display: none; }
.blog-reference-card__clickable { cursor: pointer; }
.blog-reference-card__clickable:focus-visible { outline: 2px solid var(--text-accent); outline-offset: 4px; }
.article-author-card { position: relative; display: grid; grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) auto; gap: 14px; width: calc(50% - 8px); margin: 76px 0 36px; padding: 18px; border: 1px solid var(--line); border-radius: 0; background: #fff; }
.article-author-card::before { content: 'Автор статьи'; position: absolute; top: -64px; left: 0; color: var(--ink); font: clamp(36px, 4vw, 56px)/1 var(--font-heading); letter-spacing: -.03em; }
.article-author-card img { width: 100%; height: 100%; border-radius: 12px; object-fit: cover; }
.article-author-card h2 { margin: 4px 0 8px; font-size: 28px !important; }
.article-author-card p:not(.eyebrow) { margin: 0 0 14px; color: var(--muted); }
.article-author-card a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 760px) { .article-author-card { width: 100%; } .article-author-card img { height: 220px; } }
.blog-reference-page .blog-step-back { display: none !important; }
.blog-reference-page .blog-reference-article { padding: clamp(24px, 4vw, 56px) !important; border: 1px solid var(--line) !important; border-radius: 24px !important; background: #fff !important; }
.blog-reference-page .blog-reference-article__hero h2 { font-size: clamp(46px, 3.4vw, 52px) !important; }
.blog-reference-page .blog-reference-article__hero { gap: clamp(22px, 2.5vw, 40px); }
.blog-reference-page .blog-reference-article__hero .blog-reference-article__image {
  aspect-ratio: 1 / 1;
  height: auto !important;
  border-radius: 24px !important;
  object-fit: cover;
}
.blog-reference-page .article-card-meta { display: inline-flex; margin: 0 12px 12px 0; vertical-align: middle; }
.blog-reference-page .blog-reference-header h1 span { color: var(--text-accent); font-style: italic; font-weight: 400; }
.blog-reference-page .related-specialists-section .screening-cta { gap: 40px; align-items: center; }
@media (max-width: 640px) { .blog-reference-page .related-specialists-section .screening-cta { gap: 14px; } }
.blog-reference-page .article-card-meta + .blog-tag-list { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; vertical-align: middle; }
.blog-reference-page .blog-reference-card .blog-tag-list,
.blog-reference-page .blog-reference-article__hero .blog-tag-list { display: none !important; }
.blog-reference-page .blog-reference-article__hero .blog-tag-list a,
.blog-reference-page .blog-reference-article__hero .blog-tag-list em { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: var(--sage); color: var(--green); font-size: 12px; font-style: normal; text-decoration: none; }
.blog-reference-page .blog-reference-card .blog-tag-list.event-meta-tags,
.blog-reference-page .blog-reference-article__hero .blog-tag-list.event-meta-tags { display: inline-flex !important; vertical-align: middle; }
.blog-reference-page .blog-reference-card .blog-tag-list.event-meta-tags a,
.blog-reference-page .blog-reference-article__hero .blog-tag-list.event-meta-tags a { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: var(--sage); color: var(--green); font-size: 12px; line-height: 1.2; text-decoration: none; }

/* These catalogue sections use tags as visible navigation and context pills. */
.blog-reference-page--useful .blog-reference-card .blog-tag-list,
.blog-reference-page--useful .blog-reference-article__hero .blog-tag-list,
.blog-reference-page--requests .blog-reference-card .blog-tag-list,
.blog-reference-page--requests .blog-reference-article__hero .blog-tag-list,
.blog-reference-page--symptoms .blog-reference-card .blog-tag-list,
.blog-reference-page--symptoms .blog-reference-article__hero .blog-tag-list,
.blog-reference-page--methods .blog-reference-card .blog-tag-list,
.blog-reference-page--methods .blog-reference-article__hero .blog-tag-list { display: inline-flex !important; }
.blog-reference-page .article-author-card { display: block; min-height: 0; padding: 0; border-radius: 16px; overflow: visible; }
.blog-reference-page .article-author-card .test-specialist-card__link { border-radius: 16px; overflow: hidden; font-weight: inherit; }
.blog-reference-page .article-author-card .test-specialist-card__link h3 { font-weight: 400 !important; }
.blog-reference-page .article-author-card .test-specialist-card__link small { font-weight: 700 !important; }
.blog-reference-page .related-specialists-section .test-specialists__grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
.blog-reference-page .related-specialists-section .test-specialists__grid article { display: block !important; min-height: 0 !important; }
.blog-reference-page .related-specialists-section .test-specialist-card__link { display: grid; grid-template-columns: 134px minmax(0,1fr); min-height: 180px; color: inherit; text-decoration: none; }
.blog-reference-page .related-specialists-section .test-specialist-card__link img { width: 120px; height: 100%; object-fit: cover; }
.blog-reference-page .related-specialists-section .test-specialist-card__link > div { display: flex; flex-direction: column; justify-content: center; padding: 18px; }
.blog-reference-page .related-specialists-section .test-specialist-card__link img { height: 120px; align-self: center; margin-left: 14px; border-radius: 12px; }
.blog-reference-page .related-specialists-section .test-specialist-card__link h3 { margin: 0 0 8px; }
.blog-reference-page .related-specialists-section .test-specialist-card__link:hover h3 { color: var(--text-accent); }
@media (max-width: 760px) { .blog-reference-page .related-specialists-section .test-specialists__grid { grid-template-columns: 1fr !important; } }
@media (max-width: 600px) { .blog-reference-page .article-author-card { grid-template-columns: 105px minmax(0,1fr); min-height: 150px; } .blog-reference-page .article-author-card__photo img { width: 105px; min-height: 150px; height: 100%; } }
.blog-reference-page,
.blog-reference-home { background: var(--paper) !important; color: var(--ink) !important; }
.blog-reference-page .blog-reference-header > p:last-child,
.blog-reference-home .blog-reference-hero > p:last-child { color: var(--muted) !important; }
.blog-reference-page .blog-reference-nav,
.blog-reference-home .blog-reference-sidebar { border-color: var(--line) !important; background: #fff !important; }
.blog-reference-page .blog-reference-nav a,
.blog-reference-home .blog-reference-sidebar a { color: var(--green) !important; }
.blog-reference-page .blog-reference-nav a:hover,
.blog-reference-page .blog-reference-nav a.is-active,
.blog-reference-home .blog-reference-sidebar a:hover { background: var(--green) !important; color: #fff !important; }
.blog-reference-page .blog-reference-card,
.blog-reference-home .blog-reference-card,
.blog-reference-home .blog-reference-section { border-color: var(--line) !important; background: #fff !important; }
.blog-reference-page .blog-reference-card p,
.blog-reference-home .blog-reference-card p,
.blog-reference-home .blog-reference-section > header > p { color: var(--muted) !important; }
.blog-reference-page .blog-reference-card h2,
.blog-reference-home .blog-reference-card h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(24px, 1.8vw, 32px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em;
}
.blog-reference-page .blog-reference-card > img {
  height: 190px !important;
  border-radius: 18px !important;
  object-fit: cover;
}
.blog-reference-page .blog-glossary-tools label {
  border-color: var(--line);
  background: #fff;
}
.blog-reference-page .blog-glossary-tools input {
  color: var(--text-primary);
}
.blog-reference-page .blog-glossary-tools input::placeholder {
  color: var(--text-secondary);
}
.blog-reference-page .blog-alphabet a,
.blog-reference-page .blog-alphabet a:hover {
  border: 1px solid var(--green) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--green) !important;
}
.blog-reference-page .blog-alphabet a.is-active {
  border: 1px solid var(--green) !important;
  border-radius: 8px !important;
  background: var(--green) !important;
  color: #fff !important;
}
.blog-reference-page .blog-pagination a,
.blog-reference-page .blog-pagination span { border-color: var(--line) !important; background: #fff !important; color: var(--green) !important; }
.blog-reference-page .blog-pagination .current { border-color: var(--text-accent) !important; background: var(--text-accent) !important; color: #fff !important; }
.blog-reference-page .blog-reference-empty { border-color: var(--line) !important; background: #fff !important; }
@media (max-width: 860px) { .blog-article-tools { grid-template-columns: 1fr 1fr; } .blog-article-search { grid-column: 1 / -1; } }
@media (max-width: 540px) { .blog-article-tools { grid-template-columns: 1fr; } .blog-article-search { grid-column: auto; } }
@media (max-width: 1120px) { .blog-reference-page .blog-reference-card > img { height: 140px !important; } }
@media (max-width: 800px) { .blog-reference-page .blog-reference-card > img { height: 115px !important; } }
@media (max-width: 520px) { .blog-reference-page .blog-reference-card > img { height: 190px !important; } }
/* Каталог врачей живёт на отдельной странице /specialists/. */
.home #specialists { display: none; }

/* Блок «Можно начать без диагноза»: единая композиция без списка справа. */
.home .help-overview {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  background: var(--premium-mint) !important;
}
.home .help-overview::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(247, 243, 236, .86) 0%, rgba(247, 243, 236, .47) 44%, rgba(247, 243, 236, .08) 100%), url('assets/cinematic/help-without-diagnosis.png') center / cover;
  transform: scaleX(-1);
}
.home .help-overview .split { position: relative; z-index: 1; display: block; }
.home .help-overview__intro { position: relative; top: auto; max-width: 560px; }
.home .help-overview__intro .help-overview__link { display: inline-block; margin-top: 28px; text-decoration: underline !important; text-decoration-thickness: 1px; text-underline-offset: 5px; }

@media (max-width: 760px) {
  .home .approach-stage { display: block; }
  .home .approach-heading { max-width: 100%; }
  .home .help-overview { min-height: 0; }
  .home .help-overview::before { background-position: 35% center; }
}

.hero .hero-stats strong {
  font-family: var(--font-sans) !important;
  font-weight: 700;
}

.hero .hero-stats span {
  color: rgba(255, 255, 255, 0.78) !important;
  font-family: var(--font-sans) !important;
}

@media (max-width: 700px) {
  :root {
    --type-display: clamp(42px, 11vw, 56px);
    --type-page-title: clamp(36px, 9vw, 48px);
    --type-section-title: clamp(28px, 7vw, 36px);
    --type-card-title: 22px;
    --type-lead: 17px;
  }
}

/* FAQ: сразу направляет пациента к ответу или записи. */
.faq-page__hero-copy { max-width: 660px; }
.faq-page__hero-grid { align-items: center !important; }
.faq-page__hero-copy > p { margin: 0; color: var(--text-secondary); font-size: var(--type-lead); line-height: 1.55; }
.faq-page__hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; margin-top: 28px; }
.faq-page__hero h1 em { color: var(--text-accent) !important; }
.faq-page__hero-actions .button--appointment { min-height: 48px; padding-inline: 20px; border: 1px solid var(--green); border-radius: 999px; background: var(--green); color: var(--text-inverse); font-size: 14px; }
.faq-page__hero-actions .button--appointment:hover { background: #173e35; border-color: #173e35; }

/* Первый экран каталога тестов. */
.tests-catalog-hero__grid { align-items: center !important; }
.tests-catalog-hero h1 em { color: var(--text-accent) !important; }

/* Страница «О центре»: заголовок соответствует масштабу первого экрана тестов. */
.clinic-page__hero{display:block!important;margin:34px auto 42px!important;text-align:center}
.clinic-page__hero .page-title{max-width:900px;margin:0 auto!important;font:clamp(64px,7vw,116px)/.88 var(--font-heading)!important;letter-spacing:-.065em!important}
.clinic-page__hero .eyebrow{margin:0 0 18px}
.clinic-page__hero .answer{max-width:660px;margin:28px auto 0!important;color:#5d655f;font-size:19px;line-height:1.55}
@media(max-width:700px){.clinic-page__hero{margin:30px auto 38px!important}.clinic-page__hero .page-title{font-size:60px!important}.clinic-page__hero .answer{margin-top:26px!important;font-size:17px}}

/* Единый стандарт интерактивных элементов. CTA остаются скруглёнными на 18px
   во всех состояниях, а теги и компактные фильтры — светло-зелёными pill-плашками. */
:root{--cta-radius:18px;--pill-green:#e7f2ea;--pill-green-border:#c8ddd1}
.button,.button:hover,.button:focus-visible,.button:active,.button:disabled,
button[type="submit"],button[type="submit"]:hover,button[type="submit"]:focus-visible,
.blog-reference-card>a,.blog-reference-card>a:hover,.blog-reference-card>a:focus-visible,
.blog-article-tools button,.blog-glossary-tools button,.reviews-pagination button,
.blog-pagination a,.blog-pagination span,.filter-dropdown__ok,.filter-status button{
  border-radius:var(--cta-radius)!important;
}
.blog-tag-list a,.blog-tag-list em,.filter-selected-tag,.site-knowledge-tags a,
.blog-active-tags a,.facet-checks input:checked+span,.tests-filters button.is-active,
.filters button.is-active,.help-tabs a.is-active,.specialty-shortcuts a.is-active{
  border:1px solid var(--pill-green-border)!important;
  border-radius:999px!important;
  background:var(--pill-green)!important;
  color:var(--green)!important;
}
.blog-active-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.blog-active-tags a{padding:8px 13px;font-size:13px;font-weight:700;line-height:1.2;text-decoration:none}
.blog-active-tags a:hover,.blog-active-tags a:focus-visible,.blog-active-tags a.is-active{border-color:var(--green)!important;background:var(--green)!important;color:#fff!important}
.profile-chips a{display:inline-flex;padding:10px 14px;border-radius:999px!important;background:var(--pill-green)!important;color:var(--green)!important;font-size:14px;text-decoration:none}.profile-chips a:hover,.profile-chips a:focus-visible{background:var(--green)!important;color:#fff!important}
.glossary-term-link{color:var(--green);font-weight:700;text-decoration-color:#9fc7b3;text-decoration-thickness:1px;text-underline-offset:3px}
.glossary-term-link:hover,.glossary-term-link:focus-visible{color:var(--text-accent);text-decoration-color:currentColor}

/* Каталог тестов: поиск и категория на одной строке. */
.tests-page .tests-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .42fr); align-items: stretch; gap: 12px; }
.tests-page .tests-search { min-width: 0; }
.tests-page .tests-category { display: block; min-width: 0; }
.tests-page .tests-category .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.tests-page .tests-category select { width: 100%; min-height: 54px; padding: 0 42px 0 16px; border: 1px solid rgba(31, 85, 70, .2); border-radius: 13px; background: #fff; color: var(--text-primary); font: 500 15px/1.2 var(--font-sans); outline: none; cursor: pointer; }
.tests-page .tests-category select:focus { border-color: var(--text-accent); box-shadow: 0 0 0 3px rgba(182, 83, 52, .14); }
.tests-page .test-catalog-card__category { display: inline-flex; align-items: center; width: max-content; text-decoration: none; transition: background .2s, color .2s, transform .2s; }
.tests-page .test-catalog-card__category:hover,
.tests-page .test-catalog-card__category:focus-visible { background: var(--green); color: var(--text-inverse); transform: translateY(-1px); }

/* Контакты: единая, спокойная и легко считываемая структура. */
.contacts-page__hero-grid { align-items: center !important; }
.contacts-page__hero h1 { font-size: var(--type-display) !important; }
.contacts-page__hero h1 em { color: var(--text-accent) !important; }
.contacts-page__hero .contacts-page__schedule { max-width: 660px; margin: 0 !important; color: var(--text-secondary) !important; font-size: var(--type-lead) !important; font-weight: 400 !important; line-height: 1.55 !important; }
.contacts-page__content { padding-top: 46px; }
.contacts-page .contacts-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 22px; }
.contacts-page .contacts-column { display: grid; align-content: start; gap: 14px; }
.contacts-page .contacts-card,
.contacts-page .contact-map,
.contacts-page .contacts-video { margin: 0; border: 1px solid rgba(31, 85, 70, .16); border-radius: 20px; background: rgba(255, 255, 255, .9); box-shadow: none; }
.contacts-page .contacts-card { padding: 28px; }
.contacts-page .contact-card__label { margin-bottom: 11px; color: var(--text-secondary); font-size: 13px; font-weight: 600; }
.contacts-page .contact-card__value { color: var(--green); font-family: var(--font-heading) !important; }
.contacts-page .contact-map { min-height: 0; padding: 28px; }
.contacts-page .contact-map__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.contacts-page .contact-map__heading .eyebrow { margin: 0; color: var(--text-accent); }
.contacts-page .contact-map__heading h2 { margin: 0; color: var(--green); font-size: var(--type-card-title) !important; }
.contacts-page .contact-map__frame { margin-top: 22px; overflow: hidden; border-radius: 12px; aspect-ratio: 16 / 10; background: var(--sage); }
.contacts-page .contact-map__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.contacts-page .contacts-messengers-block { padding-block: 22px; }
.contacts-page .contacts-communication { display: grid; gap: 14px; }
.contacts-page .contacts-communication .contact-messengers { margin: 0; }
.contacts-page .contacts-communication { align-content: start; justify-items: start; }
.contacts-page .contacts-communication .contact-messengers { justify-self: start !important; width: auto !important; }
.contacts-page .contacts-communication .contact-messengers > div { display: flex !important; justify-content: flex-start !important; margin: 0 !important; }
.contacts-page .contacts-column--left .contacts-communication { display: flex !important; align-items: flex-start !important; justify-content: flex-start !important; flex-direction: column; }
.contacts-page .contacts-column--left .contacts-communication .contact-card__label,
.contacts-page .contacts-column--left .contacts-communication .contact-messengers,
.contacts-page .contacts-column--left .contacts-communication .contact-messengers > div { align-self: flex-start !important; justify-self: auto !important; }
.contacts-page .contacts-email-card { align-content: start; }
.contacts-page .contacts-column--left .contacts-card { text-align: left !important; }
.contacts-page .contacts-column--left .contact-card__label,
.contacts-page .contacts-column--left .contact-card__value,
.contacts-page .contacts-column--left .contact-messengers { justify-self: start !important; text-align: left !important; }
.contacts-page .contacts-appointment__lead { max-width: 560px; margin: 10px 0 0; color: var(--text-secondary); font-size: 15px; line-height: 1.5; }
.contacts-page .contact-appointment-form { display: grid; gap: 13px; margin-top: 22px; }
.contacts-page .contact-appointment-form label { display: grid; gap: 6px; color: var(--text-secondary); font-size: 13px; font-weight: 600; }
.contacts-page .contact-appointment-form input:not([type="checkbox"]),
.contacts-page .contact-appointment-form textarea { width: 100%; padding: 12px 14px; border: 1px solid rgba(31, 85, 70, .2); border-radius: 10px; background: #fff; color: var(--text-primary); font: 16px/1.4 var(--font-sans); }
.contacts-page .contact-appointment-form input:focus,
.contacts-page .contact-appointment-form textarea:focus { border-color: var(--text-accent); outline: 3px solid rgba(182, 83, 52, .12); }
.contacts-page .contact-appointment-form .portal-consent { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; font-weight: 400; }
.contacts-page .contact-appointment-form .button { justify-self: start; min-height: 48px; border-radius: 999px; }
.contacts-page .contacts-video { padding: 28px; }
.contacts-page .contacts-video__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.contacts-page .contacts-video__heading .eyebrow { margin: 0; color: var(--text-accent); }
.contacts-page .contacts-video__heading h2 { margin: 0; color: var(--green); font-size: var(--type-card-title) !important; }
.contacts-page .contacts-video__frame { overflow: hidden; border-radius: 12px; }
@media (max-width: 900px) {
  .contacts-page .contacts-layout { grid-template-columns: 1fr; }
}
@media (min-width: 901px) {
  .contacts-page .contacts-layout { align-items: stretch; }
  .contacts-page .contacts-column--left { grid-template-rows: 1.15fr 1fr .72fr 1.13fr auto; }
  .contacts-page .contacts-column--left > .contacts-card { min-height: 0; }
  .contacts-page .contacts-column--right { grid-template-rows: auto 1fr; }
  .contacts-page .contacts-column--right .contacts-video { align-self: end; }
}
@media (max-width: 700px) {
  .contacts-page__content { padding-top: 32px; }
  .contacts-page .contacts-card,
  .contacts-page .contact-map,
  .contacts-page .contacts-video { padding: 22px 20px; border-radius: 18px; }
  .contacts-page .contact-map__heading,
  .contacts-page .contacts-video__heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .contacts-page .contact-appointment-form .button { width: 100%; }
}

/* Форма контактов повторяет двухколоночную композицию формы на главной. */
.contacts-page .contacts-card--simple > .eyebrow { margin: 0 0 18px; color: var(--text-accent); }
@media (min-width: 761px) {
  .contacts-page .contacts-card--simple .contact-appointment-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, auto) auto auto;
    align-items: stretch;
  }
  .contacts-page .contacts-card--simple .contact-appointment-form > label:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .contacts-page .contacts-card--simple .contact-appointment-form > label:nth-of-type(2) { grid-column: 1; grid-row: 2; }
  .contacts-page .contacts-card--simple .contact-appointment-form > label:nth-of-type(3) { grid-column: 1; grid-row: 3; }
  .contacts-page .contacts-card--simple .contact-appointment-form > label:nth-of-type(4) { grid-column: 2; grid-row: 1 / span 3; grid-template-rows: auto minmax(0, 1fr); }
  .contacts-page .contacts-card--simple .contact-appointment-form > label:nth-of-type(4) textarea { height: 100%; min-height: 0; resize: vertical; }
  .contacts-page .contacts-card--simple .contact-appointment-form .portal-consent { grid-column: 1 / -1; grid-row: 4; }
  .contacts-page .contacts-card--simple .contact-appointment-form .button { grid-column: 1 / -1; grid-row: 5; }
}
@media (max-width: 700px) {
  .tests-page .tests-toolbar { grid-template-columns: 1fr; }
}
.faq-directory__quick-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.faq-directory__quick-links a { padding: 10px 14px; border: 1px solid rgba(31, 85, 70, .22); border-radius: 999px; color: var(--text-primary); font-size: 13px; font-weight: 600; text-decoration: none; }
.faq-directory__quick-links a:hover { border-color: var(--text-accent); color: var(--text-accent); }
.faq-directory__group > summary { min-height: 88px; padding-block: 19px; }
.faq-directory__group-meta { gap: 12px; }
.faq-directory__group-count { color: var(--text-secondary); font-size: 12px; font-weight: 600; white-space: nowrap; }
.faq-directory__support { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 28px; padding: 30px 34px; border-radius: 22px; background: var(--green); color: var(--text-inverse); }
.faq-directory__support p { margin: 0 0 7px; color: rgba(255, 255, 255, .72); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.faq-directory__support h2 { max-width: 680px; margin: 0; color: var(--text-inverse); font-size: var(--type-card-title) !important; }
.faq-directory__support .button--appointment { flex: none; background: var(--text-accent); color: var(--text-inverse); }
@media (max-width: 700px) {
  .faq-page__hero-actions { align-items: stretch; flex-direction: column; gap: 14px; }
  .faq-page__hero-actions .button { width: 100%; }
  .faq-directory__quick-links { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .faq-directory__quick-links a { flex: none; }
  .faq-directory__group-count { display: none; }
  .faq-directory__support { align-items: flex-start; flex-direction: column; padding: 26px 22px; }
  .faq-directory__support .button { width: 100%; }
}
