/* Витрина /drkapchits/ — отдельный минимальный лейаут (06.09.2026).
   Не подключает main.css: у витрины своя раскладка в одну колонку.
   Шрифт тот же системный санс, что и на основном сайте, — витрина
   должна читаться как его строгая версия, а не как другой сайт. */

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font: 17px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #1f2429;
  background: #fbfbfa;
}
a { color: #0b62a4; text-decoration: none; }
a:hover, a:focus-visible { text-decoration: underline; }
a:focus-visible { outline: 2px solid #0b62a4; outline-offset: 2px; }

.v-wrap { max-width: 46rem; margin: 0 auto; padding: 1.4rem 1.25rem 4rem; }

/* шапка: имя, языки, меню витрины */
.v-top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.v-name { font-size: 1.05rem; font-weight: 600; letter-spacing: .01em; color: #1f2429; }
.v-name small { display: block; font-weight: 400; font-size: .85rem; color: #6b737c; }
.v-langs { display: flex; gap: .6rem; font-size: .8rem; letter-spacing: .08em; }
.v-langs a { color: #6b737c; }
.v-langs a.active { color: #1f2429; font-weight: 600; text-decoration: none; }
.v-nav { display: flex; flex-wrap: wrap; gap: 0 1.4rem; margin: 1.2rem 0 2.2rem; padding: .7rem 0; border-top: 1px solid #dfe2dd; border-bottom: 1px solid #dfe2dd; font-size: .92rem; }
.v-nav a { color: #3c454f; padding: .15rem 0; }
.v-nav a.active { color: #1f2429; font-weight: 600; box-shadow: inset 0 -2px 0 #c8a96a; text-decoration: none; }

/* текст */
main h1 { font-size: 1.7rem; line-height: 1.2; margin: 0 0 1.2rem; font-weight: 600; text-wrap: balance; }
main h2 { font-size: 1.15rem; margin: 2.2rem 0 .8rem; padding-top: .9rem; border-top: 1px solid #e6e8e3; font-weight: 600; }
main h3 { font-size: 1rem; margin: 1.6rem 0 .5rem; font-weight: 600; }
main p, main li { max-width: 66ch; }
main p { margin: 0 0 .9rem; }
main ul, main ol { padding-left: 1.3rem; }
main li { margin-bottom: .45rem; }
main img { max-width: 100%; height: auto; }
.v-lead { color: #3c454f; }
.v-note { font-size: .88rem; color: #6b737c; }
.v-src { font-size: .82rem; color: #6b737c; margin-top: 1.6rem; padding-top: .8rem; border-top: 1px dashed #dfe2dd; }

/* об авторе: портрет справа на широком экране */
.v-about { display: grid; grid-template-columns: minmax(0, 1fr) 11rem; gap: 1.6rem; align-items: start; }
.v-about figure { margin: 0; grid-column: 2; grid-row: 1; }
.v-about figure img { width: 100%; height: auto; border: 1px solid #dfe2dd; }
.v-about figcaption { font-size: .8rem; color: #6b737c; margin-top: .3rem; }
.v-about .v-text { grid-column: 1; }
@media (max-width: 560px) { .v-about { grid-template-columns: 1fr; } .v-about figure { grid-column: 1; grid-row: auto; max-width: 11rem; } }

/* строки библиографии: книги */
.v-books { list-style: none; padding: 0; margin: 0; }
.v-books li { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); gap: 0 1rem; padding: .75rem 0; border-top: 1px solid #e6e8e3; max-width: none; }
.v-books li:last-child { border-bottom: 1px solid #e6e8e3; }
.v-year { font-variant-numeric: tabular-nums; color: #6b737c; font-size: .95rem; padding-top: .1rem; }
.v-title { font-weight: 600; }
.v-alt { color: #3c454f; }
.v-imprint { color: #3c454f; font-size: .95rem; }
.v-imprint .isbn { font-variant-numeric: tabular-nums; }
.v-rev { font-size: .88rem; color: #6b737c; margin-top: .2rem; }
.v-rev a { color: #0b62a4; }
.v-rev a::after { content: " →"; }

/* отзывы списком */
.v-reviews { list-style: none; padding: 0; margin: 0; }
.v-reviews li { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); gap: 0 1rem; padding: .6rem 0; border-top: 1px solid #e6e8e3; max-width: none; }
.v-reviews li:last-child { border-bottom: 1px solid #e6e8e3; }
.v-reviews .who { font-weight: 600; }
.v-reviews .on { color: #3c454f; }
.v-reviews .where { font-size: .9rem; color: #6b737c; }

/* транслируемая библиография статей: приглушить служебные пометки основного сайта */
.v-articles h2:first-of-type { margin-top: 1rem; }

/* подвал */
.v-foot { margin-top: 3rem; padding-top: .9rem; border-top: 1px solid #dfe2dd; font-size: .85rem; color: #6b737c; display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; }
.v-foot a { color: #6b737c; text-decoration: underline; }

/* подсветка режима правок наследуется из corrections.js; фон меток свой */
mark { background: #fff2a8; color: inherit; }

@media print {
  .v-top, .v-nav, .v-foot { display: none; }
  body { font-size: 11pt; background: #fff; }
}

/* переключатель версий сайта */
.view-switch { display: flex; gap: .35rem; margin: .9rem 0 0; font-size: .78rem; letter-spacing: .04em; }
.view-switch a { color: #5b6470; padding: .15rem .6rem; border: 1px solid #d9dcd6; border-radius: 999px; background: #fff; text-decoration: none; }
.view-switch a.active { background: #1f2429; color: #fff; border-color: #1f2429; }

/* страница-материал в облике витрины: те же поля, текст пошире, списки разделов */
.vitrina-material main { max-width: none; }
.vitrina-material main p, .vitrina-material main li { max-width: 70ch; }
.vitrina-material main figure { margin: 1rem 0; }
.vitrina-material main blockquote { margin: 1rem 0; padding: .4rem 1rem; border-left: 3px solid #c8a96a; color: #3c454f; }
.vitrina-material main table { border-collapse: collapse; font-size: .92rem; }
.vitrina-material main th, .vitrina-material main td { border-bottom: 1px solid #e6e8e3; padding: .35rem .6rem; text-align: left; vertical-align: top; }
.vitrina-material h2, .vitrina-material h3 { clear: both; }
.vitrina-material .book-cover { float: right; margin: 0 0 1rem 1.2rem; max-width: 9rem; }
.vitrina-material .book-cover img { max-width: 100%; height: auto; border: 1px solid #dfe2dd; }
.vitrina-material .book-reviews { display: flex; flex-wrap: wrap; gap: .5rem; margin: .6rem 0 1.4rem; padding: 0; }
.vitrina-material .review-badge { display: block; max-width: 18rem; padding: .4rem .7rem; border-left: 3px solid #c8a96a; background: #f3f4f0; color: #1f2429; font-size: .85rem; text-decoration: none; }
.vitrina-material .review-badge span { display: block; }
.vitrina-material .review-badge .rb-src { color: #6b737c; font-size: .78rem; }
.vitrina-material .review-badge .rb-who { color: #0b62a4; }
.v-kids { list-style: none; padding: 0; }
.v-kids li { padding: .5rem 0; border-top: 1px solid #e6e8e3; max-width: none; }

/* ── Витрина как полноценный дубль (12.09.2026) ─────────────────────────────
   Кнопки «открыть здесь», обложки книг, галерея и список всех материалов. */

.v-btns { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0 0; }
.v-btn {
  display: inline-block; padding: .28rem .7rem;
  border: 1px solid #c8a96a; border-radius: 2px;
  background: #fbf8f1; color: #6b5320;
  font-size: .84rem; line-height: 1.3; text-decoration: none; white-space: nowrap;
}
.v-btn:hover { background: #f3ead6; color: #4a3712; }
.v-btn-out { border-color: #d8dcd6; background: #f7f8f5; color: #5b6470; }
.v-btn-out:hover { background: #eef0ea; color: #333b45; }

/* книги: обложка слева от выходных данных */
.v-books li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0 1rem; }
.v-books li > div { grid-column: 2; }
.v-cover { grid-column: 2; margin: 0; }
.v-cover img { width: 100%; height: auto; border: 1px solid #dfe2dd; background: #fff; }
@media (max-width: 640px) {
  .v-books li { grid-template-columns: 3.4rem minmax(0, 1fr); }
  .v-cover { grid-column: 1 / -1; max-width: 7rem; margin: .3rem 0 .5rem; }
  .v-books li > div { grid-column: 1 / -1; }
}

/* фотогалерея — та же разметка, что на основном сайте, свои правила */
.v-photos .photo-gallery, .vitrina-material .photo-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: .7rem; margin: 1rem 0; }
.v-photos .photo-item, .vitrina-material .photo-item { margin: 0; }
.v-photos .photo-item img, .vitrina-material .photo-item img { width: 100%; height: auto; border: 1px solid #dfe2dd; }
.v-photos .photo-item figcaption, .vitrina-material .photo-item figcaption { font-size: .8rem; color: #6b737c; margin-top: .25rem; }
.v-photos .photo-lead, .vitrina-material .photo-lead { margin: 0 0 1.2rem; }
.v-photos .photo-lead img, .vitrina-material .photo-lead img { max-width: 100%; height: auto; }

/* все материалы: раздел — заголовок, страницы — строка с кнопкой */
.v-mats { margin-top: 1rem; }
.v-mat-sec { margin: 0 0 1.8rem; }
.v-mat-sec h2 { font-size: 1.1rem; margin: 1.4rem 0 .3rem; padding-top: .7rem; border-top: 1px solid #e6e8e3; }
.v-mat-sec h3 { font-size: .98rem; margin: 1rem 0 .3rem; color: #3c454f; }
.v-mat-list { list-style: none; padding: 0; margin: .2rem 0; }
.v-mat-list li {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .3rem .8rem;
  align-items: start; padding: .45rem 0; border-top: 1px solid #f0f2ee;
}
.v-mat-name { font-weight: 600; }
.v-mat-list .v-note { grid-column: 1; font-size: .84rem; color: #6b737c; }
.v-mat-list .v-btn { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
@media (max-width: 560px) {
  .v-mat-list li { grid-template-columns: minmax(0, 1fr); }
  .v-mat-list .v-btn { grid-column: 1; grid-row: auto; justify-self: start; margin-top: .3rem; }
}

/* подборка пословиц в облике витрины: те же правила, что на основном сайте */
.proverb-jump { display: flex; flex-wrap: wrap; gap: 5px 7px; margin: 1.2rem 0 1.6rem; }
.proverb-jump a { padding: 2px 7px; border: 1px solid #e2e8f0; border-radius: 2px; font-size: .82rem; text-decoration: none; color: #52606d; }
.proverb-jump a:hover { background: #f3f4f0; }
.proverb-band { margin: 2rem 0 .9rem; padding-bottom: .35rem; border-bottom: 1px solid #e6ebf0; font-size: .95rem; font-weight: 600; color: #52606d; }
.proverb-count { font-weight: 400; color: #7b8794; }
.proverb-up { float: right; font-weight: 400; text-decoration: none; color: #7b8794; }
.proverb-list { margin: 0 0 1.4rem; }
.proverb-item { margin: 0 0 1rem; padding: 0 0 .2rem; }
.proverb-so { margin: 0; font-weight: 600; font-style: normal; border: 0; padding: 0; }
.proverb-en, .proverb-ru { display: block; color: #3c454f; }
.proverb-note { display: block; margin-top: .3rem; color: #7b8794; font-size: .88rem; line-height: 1.45; }

/* кнопка внутри строки библиографии */
.v-articles .v-btn { margin-left: .35rem; }
.v-articles li { margin-bottom: .55rem; }

/* Разметка из контента, которой в витрине ещё не было (12.09.2026): цитата в бейдже,
   портрет в биографии, вторая галерея вертикальных снимков, пара сканов. */
.vitrina-material .photo-gallery-tall, .v-photos .photo-gallery-tall { grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); margin-top: 1.8rem; padding-top: 1.2rem; border-top: 1px solid #e6e8e3; }
.vitrina-material .photo-gallery figcaption, .v-photos .photo-gallery figcaption { margin-top: .3rem; color: #6b737c; font-size: .82rem; line-height: 1.4; }
.vitrina-material .review-badge .rb-quote, .v-reviews .rb-quote { display: block; margin-top: .15rem; color: #33404f; font-size: .88rem; font-style: italic; line-height: 1.4; }
.vitrina-material .bio-portrait { float: right; margin: 0 0 1.2rem 1.4rem; max-width: 16rem; text-align: center; }
.vitrina-material .bio-portrait img { display: block; width: 100%; height: auto; border: 1px solid #dfe2dd; }
.vitrina-material .bio-portrait figcaption, .vitrina-material .scan-pair figcaption { margin-top: .4rem; color: #6b737c; font-size: .84rem; line-height: 1.45; }
.vitrina-material .scan-pair { margin: 1.2rem 0 1.8rem; }
.vitrina-material .scan-pair img { display: block; width: 100%; height: auto; border: 1px solid #dfe2dd; }
@media (max-width: 640px) { .vitrina-material .bio-portrait { float: none; margin: 0 auto 1.2rem; max-width: 18rem; } }

/* На узком экране плавающая обложка забирает почти половину ширины — ставим её в строку */
@media (max-width: 480px) {
  .vitrina-material .book-cover { float: none; margin: .4rem 0 1rem; max-width: 10rem; }
}

/* хлебные крошки витрины (13.09.2026) */
.v-crumbs { margin: 0 0 .9rem; font-size: .84rem; color: #6b737c; line-height: 1.5; }
.v-crumbs a { color: #5b6470; text-decoration: none; border-bottom: 1px solid #d8dcd6; }
.v-crumbs a:hover { color: #1f2429; border-bottom-color: #c8a96a; }
.v-crumb-sep { margin: 0 .3rem; color: #a0a7ae; }
.v-crumbs [aria-current="page"] { color: #3c454f; }
