/**
 * P1 type-scale overlay (2026-08-01)
 * Roles on 5 surfaces only. Not a sitewide redesign.
 * Canon: work-log/2026-08/typography-type-contract.md
 * Kill-switch: remove this <link> from html.tpl.php
 */

:root {
  --t-display: 28px;
  --t-title: 24px;
  --t-heading: 18px;
  --t-body: 15px;
  --t-secondary: 14px;
  --t-meta: 13px;
  --t-badge: 13px;
  --t-lh-display: 1.2;
  --t-lh-title: 1.25;
  --t-lh-heading: 1.3;
  --t-lh-body: 1.5;
  --t-lh-secondary: 1.45;
  --t-lh-meta: 1.35;
  --t-lh-badge: 1.2;
  --t-family-ui: "Open Sans", sans-serif;
  --t-family-body: "Source Sans Pro", sans-serif;
}

@media (max-width: 1023px) {
  :root {
    --t-display: 24px;
    --t-title: 22px;
    --t-heading: 17px;
    --t-body: 16px;
    --t-secondary: 15px;
    --t-meta: 12px;
    --t-badge: 12px;
  }
}

/* ------------------------------------------------------------------ */
/* Shared: honest weights + badge                                      */
/* ------------------------------------------------------------------ */

.v-fio h2,
.v-fio h2 a,
.row.vrachi-card .v-fio h2,
.row.vrachi-card .v-fio h2 a,
.vrachi h1,
.dokby-workplaces__title,
.in-h2,
.v-fio h2 span.in-h2,
.p1-preferred-sources__btn,
.cl0-item a,
.view-id-new_all_about_clinics_content .v-rate-rate.taxmed form.fivestar-widget div.form-item.form-type-select.form-item-vote div.description {
  font-weight: 700 !important;
}

.in-h2,
.v-fio h2 span.in-h2 {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-badge) !important;
  line-height: var(--t-lh-badge) !important;
}

/* ------------------------------------------------------------------ */
/* Surface 1 — doctor listing card                                     */
/* ------------------------------------------------------------------ */

.row.vrachi-card .v-fio {
  max-height: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: 12px !important;
  padding-bottom: 4px;
  box-sizing: border-box;
}

.row.vrachi-card .v-fio h2,
.row.vrachi-card .v-fio h2 a {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-heading) !important;
  line-height: var(--t-lh-heading) !important;
}

.row.vrachi-card .about {
  font-family: var(--t-family-body) !important;
  font-size: var(--t-secondary) !important;
  line-height: var(--t-lh-secondary) !important;
  font-weight: 400 !important;
}

/* Ratings / vote counts = decision text, not chrome */
.row.vrachi-card .fivestar-summary,
.row.vrachi-card .fivestar-summary-average-count,
.row.vrachi-card .average-rating,
.row.vrachi-card .total-votes,
.row.vrachi-card .v-rate .description,
.row.vrachi-card .form-item-vote .description,
.row.vrachi-card div.ni-comments-count {
  font-family: var(--t-family-body) !important;
  font-size: var(--t-secondary) !important;
  line-height: var(--t-lh-secondary) !important;
  font-weight: 400 !important;
}

.row.vrachi-card .btn.btn-theme,
.row.vrachi-card a.dokby-obw-cta,
.row.vrachi-card .dokby-obw-cta {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-secondary) !important;
  font-weight: 700 !important;
  line-height: var(--t-lh-secondary) !important;
}

/* ------------------------------------------------------------------ */
/* Surface 2 — doctor profile                                          */
/* ------------------------------------------------------------------ */

.vrachi h1,
.vrachi .d-title h1,
.node-type-doctor h1,
body.node-type-doctor h1 {
  font-family: var(--t-family-ui) !important;
  font-size: 26px !important; /* profile: keep prior visual size; weight now honest 700 */
  line-height: var(--t-lh-title) !important;
  font-weight: 700 !important;
  height: auto !important;
}

@media (max-width: 1023px) {
  .vrachi h1,
  .vrachi .d-title h1,
  .node-type-doctor h1,
  body.node-type-doctor h1 {
    font-size: var(--t-title) !important; /* 22px */
  }
}

/* Specialty / category / staj — decision text (floor 16px desktop+mobile) */
.row.pspec,
.row.pspec ul,
.row.pspec li,
.row.pspec span,
.row.pspec a,
.vrachi .about,
.node-type-doctor .about,
.row.vrachi-card .about {
  font-family: var(--t-family-body) !important;
  font-size: 16px !important;
  line-height: var(--t-lh-body) !important;
  font-weight: 400 !important;
}

.row.pspec span,
.row.pspec li > span:first-child {
  font-weight: 700 !important;
}

.dokby-workplaces__title {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-heading) !important;
  line-height: var(--t-lh-heading) !important;
}

.dokby-workplace-card__name,
.dokby-workplace-card__name a,
.row.pmed .dokby-workplaces .dokby-workplace-card__name,
.row.pmed .dokby-workplaces .dokby-workplace-card__name a {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-secondary) !important;
  font-weight: 700 !important;
  line-height: var(--t-lh-secondary) !important;
}

@media (min-width: 1024px) {
  .dokby-workplace-card__name,
  .dokby-workplace-card__name a,
  .row.pmed .dokby-workplaces .dokby-workplace-card__name,
  .row.pmed .dokby-workplaces .dokby-workplace-card__name a {
    font-size: 16px !important;
  }
}

.dokby-workplace-card__row,
.dokby-workplace-card__text,
.row.pmed .dokby-workplaces .dokby-workplace-card__row,
.row.pmed .dokby-workplaces .dokby-workplace-card__text,
.dokby-workplace-card__phones-btn,
.row.pmed .dokby-workplaces .dokby-workplace-card__phones-btn {
  font-family: var(--t-family-body) !important;
  font-size: 16px !important;
  line-height: var(--t-lh-body) !important;
  font-weight: 400 !important;
}

.dokby-workplace-card__phones-btn,
.row.pmed .dokby-workplaces .dokby-workplace-card__phones-btn {
  font-weight: 700 !important;
}

div.doctor-profile-medical-centers-phone,
.vrachi .field_svyazka_bolnica,
.vrachi .bg-review,
.node-type-doctor .bg-review {
  font-family: var(--t-family-body) !important;
  font-size: var(--t-secondary) !important;
  line-height: var(--t-lh-secondary) !important;
}

/* Reviews block body */
.vrachi .comment,
.vrachi .comment .content,
.vrachi .anonym-hybridauth-comment-textarea,
.node-type-doctor .comment .content {
  font-family: var(--t-family-body) !important;
  font-size: var(--t-body) !important;
  line-height: var(--t-lh-body) !important;
}

/* ------------------------------------------------------------------ */
/* Surface 3 — specialty page                                          */
/* ------------------------------------------------------------------ */

body.page-taxonomy-term h1,
.page-taxonomy-term h1,
.vrachi-term h1,
body.page-clinics h1,
.page-clinics h1 {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-title) !important;
  line-height: var(--t-lh-title) !important;
  font-weight: 700 !important;
  height: auto !important;
}

/* SEO / intro under specialty — body, not grey micro */
.page-taxonomy-term .field-name-description,
.page-taxonomy-term .taxonomy-term-description,
.vrachi-term .field-name-description,
.page-taxonomy-term .region-content .field-type-text-with-summary {
  font-family: var(--t-family-body) !important;
  font-size: var(--t-body) !important;
  line-height: var(--t-lh-body) !important;
}

/* Specialty listing reuses .row.vrachi-card rules above */

/* ------------------------------------------------------------------ */
/* Surface 4 — /clinics catalog                                        */
/* ------------------------------------------------------------------ */

.cl0-item a {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-heading) !important;
  line-height: var(--t-lh-heading) !important;
  max-height: none !important;
  min-height: 44px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  box-sizing: border-box;
}

.cl1-item,
.cl1-item a {
  font-family: var(--t-family-body) !important;
  font-size: var(--t-secondary) !important;
  line-height: var(--t-lh-secondary) !important;
  font-weight: 400 !important;
}

@media (max-width: 399px) {
  .cl1-item,
  .cl1-item a {
    font-size: var(--t-secondary) !important;
  }
}

/* ------------------------------------------------------------------ */
/* Surface 5 — clinic card + roster                                    */
/* ------------------------------------------------------------------ */

body.node-type-medcenters h1,
.node-type-medcenters h1,
.view-id-new_all_about_clinics_content h1 {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-title) !important;
  line-height: var(--t-lh-title) !important;
  font-weight: 700 !important;
}

/* Clinic operational decision text */
.node-type-medcenters .field-name-field-address,
.node-type-medcenters .field-name-field-phones,
.node-type-medcenters .field-name-field-work-time,
.node-type-medcenters .doctor-profile-medical-centers-phone,
.view-id-new_all_about_clinics_content .v-rate-rate.taxmed form.fivestar-widget div.form-item.form-type-select.form-item-vote div.description {
  font-family: var(--t-family-body) !important;
  font-size: var(--t-secondary) !important;
  line-height: var(--t-lh-secondary) !important;
}

/* Roster doctors on clinic = same as listing cards */
.view-new-all-about-clinics-content .taxmed .v-fio,
.view-id-new_all_about_clinics_content .taxmed .v-fio {
  max-height: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding-top: 12px !important;
}

.view-new-all-about-clinics-content .taxmed .v-fio h2,
.view-new-all-about-clinics-content .taxmed .v-fio h2 a,
.view-id-new_all_about_clinics_content .taxmed .v-fio h2,
.view-id-new_all_about_clinics_content .taxmed .v-fio h2 a {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-heading) !important;
  line-height: var(--t-lh-heading) !important;
  font-weight: 700 !important;
}

.view-new-all-about-clinics-content .taxmed .about,
.view-id-new_all_about_clinics_content .taxmed .about {
  font-family: var(--t-family-body) !important;
  font-size: var(--t-secondary) !important;
  line-height: var(--t-lh-secondary) !important;
}

/* ------------------------------------------------------------------ */
/* Chrome meta (breadcrumb) — keep readable, not decision bump         */
/* ------------------------------------------------------------------ */

.nbreadcrumb li,
.nbreadcrumb a,
.breadcrumb,
.breadcrumb a {
  font-family: var(--t-family-ui) !important;
  font-size: var(--t-meta) !important;
  line-height: var(--t-lh-meta) !important;
  font-weight: 400 !important;
}
