/**
 * MedDnevnik — стили базы знаний, профилей врачей и встроенного интерактива статей.
 * Только токены из tokens.css. Mobile-first, тёмная тема наследуется через переменные.
 */

/* --- Статья --- */
.md-article {
	max-width: 760px;
	margin: 0 auto;
	padding: var(--md-space-6) 0 var(--md-space-12);
}
.md-article__title {
	font-size: var(--md-fs-3xl);
	line-height: var(--md-lh-tight);
	margin: 0 0 var(--md-space-4);
}
.md-article__meta {
	color: var(--md-color-text-muted);
	font-size: var(--md-fs-sm);
	margin-bottom: var(--md-space-5);
}
.md-article__body {
	font-size: var(--md-fs-lg);
	line-height: var(--md-lh-loose);
}
.md-article__body h2 {
	font-size: var(--md-fs-2xl);
	margin: var(--md-space-10) 0 var(--md-space-4);
	scroll-margin-top: calc(var(--md-header-h) + var(--md-space-4));
}
.md-article__body h3 {
	font-size: var(--md-fs-xl);
	margin: var(--md-space-8) 0 var(--md-space-3);
	scroll-margin-top: calc(var(--md-header-h) + var(--md-space-4));
}
.md-article__body p,
.md-article__body ul,
.md-article__body ol { margin: 0 0 var(--md-space-4); }
.md-article__body a { color: var(--md-color-brand); }

/* --- Авторский блок (E-E-A-T) --- */
.md-author {
	border: 1px solid var(--md-color-border);
	border-radius: var(--md-radius-md);
	background: var(--md-color-bg-alt);
	padding: var(--md-space-4);
	font-size: var(--md-fs-sm);
	display: flex;
	flex-direction: column;
	gap: var(--md-space-2);
}
.md-author__label { color: var(--md-color-text-muted); }
.md-author__name { font-weight: var(--md-fw-semi); }
.md-author__review { display: flex; align-items: center; gap: var(--md-space-3); }
.md-author__avatar img { width: 44px; height: 44px; border-radius: var(--md-radius-full); object-fit: cover; }
.md-author a { color: var(--md-color-brand); font-weight: var(--md-fw-medium); }
.md-author__date { color: var(--md-color-text-muted); margin-left: var(--md-space-1); }

/* --- Оглавление --- */
.md-toc {
	border-left: 3px solid var(--md-color-brand);
	background: var(--md-color-bg-alt);
	border-radius: var(--md-radius-md);
	padding: var(--md-space-4) var(--md-space-5);
	margin: var(--md-space-6) 0;
}
.md-toc__title { font-weight: var(--md-fw-semi); margin: 0 0 var(--md-space-2); }
.md-toc__list { list-style: none; margin: 0; padding: 0; }
.md-toc__item { margin: var(--md-space-1) 0; }
.md-toc__item--h3 { padding-left: var(--md-space-4); font-size: var(--md-fs-sm); }
.md-toc a { color: var(--md-color-text); text-decoration: none; }
.md-toc a:hover { color: var(--md-color-brand); text-decoration: underline; }

/* --- Источники / дисклеймер --- */
.md-sources { margin-top: var(--md-space-10); }
.md-sources__list { color: var(--md-color-text-muted); font-size: var(--md-fs-sm); padding-left: var(--md-space-5); }
.md-sources__list li { margin-bottom: var(--md-space-2); }
.md-disclaimer {
	margin-top: var(--md-space-8);
	padding: var(--md-space-4);
	border-radius: var(--md-radius-md);
	background: var(--md-color-brand-soft);
	color: var(--md-color-brand-text);
	font-size: var(--md-fs-sm);
}

/* --- Инлайн-интерактив (калькулятор/шкала внутри статьи) --- */
.md-tools--inline { margin: var(--md-space-6) 0; }
.md-tools--inline .md-tools__grid { display: grid; gap: var(--md-space-4); }

/* --- Интерактивная таблица-норма --- */
.md-norms-table { margin: var(--md-space-6) 0; }
.md-norms-table__cap { font-weight: var(--md-fw-semi); margin-bottom: var(--md-space-2); }
.md-norms-table__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.md-norms-table table { width: 100%; border-collapse: collapse; font-size: var(--md-fs-md); }
.md-norms-table th,
.md-norms-table td { padding: var(--md-space-3); border: 1px solid var(--md-color-border); text-align: left; }
.md-norms-table thead th { background: var(--md-color-bg-alt); }
.md-norms-table tbody tr { cursor: pointer; }
.md-norms-table tbody tr:hover { background: var(--md-color-bg-alt); }
.md-norms-table tbody tr.is-active { background: var(--md-color-brand-soft); color: var(--md-color-brand-text); }
.md-norms-table tbody tr:focus-visible { outline: 2px solid var(--md-color-brand); outline-offset: -2px; }
.md-norms-table__hint { font-size: var(--md-fs-xs); color: var(--md-color-text-muted); margin-top: var(--md-space-2); }

/* --- Чек-лист --- */
.md-checklist {
	border: 1px solid var(--md-color-border);
	border-radius: var(--md-radius-md);
	padding: var(--md-space-4) var(--md-space-5);
	margin: var(--md-space-6) 0;
	background: var(--md-color-surface);
}
.md-checklist__title { font-weight: var(--md-fw-semi); margin: 0 0 var(--md-space-3); }
.md-checklist ul { list-style: none; margin: 0; padding: 0; }
.md-checklist__item {
	display: flex;
	align-items: flex-start;
	gap: var(--md-space-3);
	min-height: 44px;
	padding: var(--md-space-2) 0;
}
.md-checklist__box { width: 22px; height: 22px; margin-top: 2px; accent-color: var(--md-color-brand); flex: 0 0 auto; }
.md-checklist__item.is-done { color: var(--md-color-text-muted); text-decoration: line-through; }
.md-checklist__progress { font-size: var(--md-fs-sm); color: var(--md-color-brand-text); margin: var(--md-space-3) 0 0; }

/* --- CTA-карточка дневника внутри статьи --- */
.md-cta-diary {
	display: flex;
	align-items: center;
	gap: var(--md-space-4);
	flex-wrap: wrap;
	border: 1px solid var(--md-color-brand);
	border-radius: var(--md-radius-lg);
	background: var(--md-color-brand-soft);
	padding: var(--md-space-5);
	margin: var(--md-space-8) 0;
}
.md-cta-diary__icon { font-size: 32px; width: 32px; height: 32px; color: var(--md-color-brand); }
.md-cta-diary__body { flex: 1 1 220px; }
.md-cta-diary__title { display: block; font-size: var(--md-fs-lg); color: var(--md-color-brand-text); }
.md-cta-diary__desc { margin: var(--md-space-1) 0 0; font-size: var(--md-fs-sm); color: var(--md-color-brand-text); }
.md-cta-diary__btn { flex: 0 0 auto; min-height: 44px; }

/* --- Связанные материалы / дневники --- */
.md-related { margin: var(--md-space-10) 0 0; }
.md-related > .md-container > h2,
.md-related > h2 { font-size: var(--md-fs-2xl); margin-bottom: var(--md-space-4); }
.md-related__grid { display: grid; grid-template-columns: 1fr; gap: var(--md-space-3); }
.md-related__card {
	display: flex;
	flex-direction: column;
	gap: var(--md-space-1);
	padding: var(--md-space-4);
	border: 1px solid var(--md-color-border);
	border-radius: var(--md-radius-md);
	background: var(--md-color-surface);
	text-decoration: none;
	color: var(--md-color-text);
	transition: border-color .15s, box-shadow .15s;
}
.md-related__card:hover { border-color: var(--md-color-brand); box-shadow: var(--md-shadow-sm); }
.md-related__card-title { font-weight: var(--md-fw-semi); }
.md-related__card-excerpt { font-size: var(--md-fs-sm); color: var(--md-color-text-muted); }
.md-related__card--diary { flex-direction: row; align-items: center; gap: var(--md-space-3); }
.md-related__card--diary .dashicons { color: var(--md-color-brand); font-size: 26px; width: 26px; height: 26px; }

/* --- Архив базы знаний --- */
.md-kb-group { margin: var(--md-space-8) 0; }
.md-kb-group__title { font-size: var(--md-fs-2xl); margin-bottom: var(--md-space-4); }
.md-kb-group__title a { color: var(--md-color-text); text-decoration: none; }
.md-kb-group__title a:hover { color: var(--md-color-brand); }
.md-kb-group__grid { display: grid; grid-template-columns: 1fr; gap: var(--md-space-3); }
.md-kb-card {
	display: flex; flex-direction: column; gap: var(--md-space-1);
	padding: var(--md-space-4);
	border: 1px solid var(--md-color-border);
	border-radius: var(--md-radius-md);
	background: var(--md-color-surface);
	text-decoration: none; color: var(--md-color-text);
	transition: border-color .15s, box-shadow .15s;
}
.md-kb-card:hover { border-color: var(--md-color-brand); box-shadow: var(--md-shadow-sm); }
.md-kb-card__title { font-weight: var(--md-fw-semi); }
.md-kb-card__excerpt { font-size: var(--md-fs-sm); color: var(--md-color-text-muted); }

/* --- Профиль врача --- */
.md-doctor { max-width: 760px; margin: 0 auto; padding: var(--md-space-6) 0; }
.md-doctor__header { display: flex; gap: var(--md-space-5); align-items: center; flex-wrap: wrap; }
.md-doctor__avatar img { width: 120px; height: 120px; border-radius: var(--md-radius-full); object-fit: cover; }
.md-doctor__name { font-size: var(--md-fs-2xl); margin: 0 0 var(--md-space-1); }
.md-doctor__spec { color: var(--md-color-brand); font-weight: var(--md-fw-semi); margin: 0 0 var(--md-space-1); }
.md-doctor__quals { color: var(--md-color-text-muted); font-size: var(--md-fs-sm); margin: 0; }
.md-doctor__bio { margin-top: var(--md-space-6); font-size: var(--md-fs-lg); line-height: var(--md-lh-loose); }

.md-doctors__grid { display: grid; grid-template-columns: 1fr; gap: var(--md-space-4); }
.md-doctor-card {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--md-space-2);
	padding: var(--md-space-5);
	border: 1px solid var(--md-color-border);
	border-radius: var(--md-radius-lg);
	background: var(--md-color-surface);
	text-decoration: none; color: var(--md-color-text);
}
.md-doctor-card:hover { border-color: var(--md-color-brand); box-shadow: var(--md-shadow-sm); }
.md-doctor-card__avatar img { width: 88px; height: 88px; border-radius: var(--md-radius-full); object-fit: cover; }
.md-doctor-card__name { font-weight: var(--md-fw-semi); }
.md-doctor-card__spec { font-size: var(--md-fs-sm); color: var(--md-color-brand); }

/* --- Десктоп --- */
@media (min-width: 800px) {
	.md-related__grid,
	.md-kb-group__grid { grid-template-columns: repeat(2, 1fr); }
	.md-doctors__grid { grid-template-columns: repeat(3, 1fr); }
}
