/* alexv.ru — страница «Книги» (/books/). Общая основа — site.css и project.css.
   Слои: светлый рассказ → тёмный слой главной книги («МиГ», фотография двух томов) → «Крылья над Ангарой» крупно →
   полка остальных книг. Главная книга выделена слоем и размером, а не плашкой под текстом. */
.b-bk { background: #fff; }
.bk { --ink: #16181d; --grey: #6b6f78; --blue: #1f5aa6; background: #fff; color: var(--ink); }
.bk a { color: inherit; }

/* ---------- 1. Название и рассказ: в колонке текста ---------- */
.bk-head { padding-top: calc(2 * var(--p-s)); padding-bottom: calc(3 * var(--p-s)); }
.bk-title { margin: 0 0 var(--p-s); font-size: min(calc(1.4 * var(--t-big)), 12vw); font-weight: 700; line-height: 1; letter-spacing: -.015em; }
.bk .bk-lead { font-size: calc(1.15 * var(--p-text)); line-height: 1.3; }
.bk-head a { color: var(--blue); }

/* ---------- 2. Главная книга: тёмный слой, фотография слева во всю высоту, текст справа ---------- */
.bk-main { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: center; gap: 0 clamp(24px, 4vw, 64px);
  margin: 0 0 calc(3 * var(--p-s)); padding-right: var(--fr); background: #000; color: #fff; }
.bk-main-ph { margin: 0; align-self: stretch; }
.bk-main-ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bk-main-t { padding: calc(2 * var(--p-s)) 0 calc(2.5 * var(--p-s)); }
.bk-main-t p { margin: 0 0 var(--p-s); }
.bk-kind { color: var(--grey); font-size: var(--t-text); }
.bk-main .bk-kind { color: #9aa3b2; }
.bk-h { margin: 0 0 calc(var(--p-s) / 2); font-size: var(--t-big); font-weight: 700; line-height: 1.05; letter-spacing: -.01em; text-wrap: balance; }
.bk-h a { text-decoration: none; }
@media (hover: hover) { .bk-h a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .1em; } }
.bk-who { opacity: .75; }
.bk-go a { margin-right: 1em; font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.bk-main .bk-st2 { margin: 0; color: #9aa3b2; font-size: var(--t-text); }
@media (max-width: 799.98px) {
  .bk-main { grid-template-columns: minmax(0, 1fr); padding: 0; }
  .bk-main-ph img { height: auto; aspect-ratio: 1.5; }
  .bk-main-t { padding: calc(1.5 * var(--p-s)) var(--fr) calc(2 * var(--p-s)) var(--fl); }
}

/* ---------- 3. «Крылья над Ангарой»: обложка и текст рядом, в колонке текста ---------- */
.bk-two { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 0 clamp(24px, 4vw, 64px); align-items: end;
  max-width: calc(var(--colw) + var(--fl) + var(--fr)); margin: 0 auto calc(3 * var(--p-s)); padding: 0 var(--fr) 0 var(--fl); }
.bk-cover { margin: 0; }
.bk-cover img { display: block; width: 100%; height: auto; box-shadow: 0 1px 0 rgba(0, 0, 0, .08); }
.bk-two-t p { margin: 0 0 var(--p-s); }
.bk-two-t p:last-child { margin-bottom: 0; }
.bk-two .bk-go a { color: var(--blue); }
@media (max-width: 639.98px) { .bk-two { grid-template-columns: minmax(0, 1fr); row-gap: var(--p-s); } .bk-cover { width: 70%; } }

/* ---------- 4. Остальные книги: полка, обложки по нижнему краю ---------- */
.bk-rest { max-width: calc(var(--colw) + var(--fl) + var(--fr)); margin: 0 auto; padding: 0 var(--fr) calc(3 * var(--p-s)) var(--fl); }
.bk-rest-h { margin: 0 0 var(--p-s); font-size: var(--t-mid); font-weight: 700; line-height: 1.15; }
.bk-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(42%, 180px), 1fr)); gap: calc(2 * var(--p-s)) clamp(16px, 2.5vw, 40px);
  margin: 0; padding: 0; list-style: none; }
.bk-shelf figure { display: flex; align-items: flex-end; aspect-ratio: 3 / 4; margin: 0 0 .7em; }
.bk-shelf img { display: block; width: 100%; height: auto; max-height: 100%; object-fit: contain; object-position: 0 100%; }
.bk-shelf p { margin: 0; font-size: var(--t-small); line-height: var(--l-small); }
.bk .bk-shelf .bk-st { font-size: var(--t-text); line-height: 1.25; font-weight: 700; margin-bottom: .3em; }
.bk-sm { color: var(--grey); }
.bk .bk-shelf .bk-ss { margin-top: .4em; }
.bk-ss a { color: var(--blue); }
.bk-two .bk-h { font-size: calc(1.25 * var(--t-mid)); line-height: 1.12; }   /* длинное название — кеглем длинных названий сайта */
