/* Страница книги «Искра». Базовые стили берёт из /editorial.css. */

/* Кириллица для Geist: общий файл шрифта на сайте содержит только латиницу. */
@font-face{font-family:Geist;src:url('/fonts/geist-cyr.woff2') format('woff2');font-weight:400 600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:GeistMono;src:url('/fonts/geist-mono-cyr.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

html{scroll-padding-top:24px}
.book .hero-period{margin-left:.07em}
.book .topbar nav{display:flex;gap:32px;font-size:14px}
.book .home-link{font-size:14px;white-space:nowrap}
.book .home-link:hover,.book .topbar nav a:hover{text-decoration:underline;text-underline-offset:5px}

/* О книге */
.book-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:8%;align-items:start;padding-top:64px}
.cover{margin:0;max-width:440px}
.cover a{display:block;border:1px solid;transition:transform .2s}
.cover a:hover{transform:translateY(-3px)}
.cover img{display:block;width:100%;height:auto;image-rendering:pixelated}
.cover figcaption{margin-top:18px}
.book-copy h2{font-size:32px;font-weight:500;letter-spacing:-1.25px;margin:0 0 28px}
.book-copy p{font-size:19px;line-height:1.6;letter-spacing:-.2px;max-width:62ch;margin:0 0 20px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:44px 0 0;padding-top:28px;border-top:1px solid}
.facts div{margin:0}
.facts dt{font-size:clamp(34px,4vw,58px);letter-spacing:-2px;line-height:1}
.facts dd{margin:12px 0 0}

/* Оглавление */
.parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 7%}
.part{border-top:1px solid;padding:26px 0 38px}
.part h3{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.8px;line-height:1.2;margin:12px 0 18px;max-width:24ch}
.part ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.part li{display:grid;grid-template-columns:34px 1fr;gap:8px;font-size:16px;line-height:1.45;align-items:baseline}
.toc-tail{border-top:1px solid;padding-top:24px;margin:0}

/* Предисловие */
.preface-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:8%;align-items:start}
.preface-nav{position:sticky;top:28px}
.preface-nav ol{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:pn}
.preface-nav li{counter-increment:pn;border-top:1px solid}
.preface-nav li:last-child{border-bottom:1px solid}
.preface-nav a{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:13px 0;font-size:14px;line-height:1.4}
.preface-nav a::before{content:counter(pn,decimal-leading-zero);font:12px/1.6 var(--mono)}
.preface-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.reading{max-width:66ch}
.reading h3{font-size:clamp(24px,2.3vw,32px);font-weight:500;letter-spacing:-.9px;line-height:1.2;margin:64px 0 22px;scroll-margin-top:28px}
.reading h3:first-child{margin-top:0}
.reading p{font-size:19px;line-height:1.68;letter-spacing:-.15px;margin:0 0 20px}
.reading em{font-style:italic}

/* Подвал */
.book .contact-main p{position:static;max-width:56ch;font-size:19px;line-height:1.6;margin:0}
.book .contact-main p a{border-bottom:1px solid;padding-bottom:1px}
.book .contact-main p a:hover{background:var(--ink);color:var(--paper)}

@media(max-width:1023px){
  .book-about{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:6%}
  .preface-layout{grid-template-columns:1fr;gap:40px}
  .preface-nav{position:static}
  .preface-nav ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6%}
  .preface-nav li:nth-last-child(2){border-bottom:1px solid}
}
@media(max-width:767px){
  .book .topbar{height:auto;min-height:108px;flex-wrap:wrap;padding:20px 0;gap:18px}
  .book .topbar nav{order:3;width:100%;gap:24px}
  .book-about{grid-template-columns:1fr;gap:40px;padding-top:36px}
  .cover{max-width:300px}
  .book-copy h2{font-size:27px;margin-bottom:20px}
  .book-copy p,.reading p,.book .contact-main p{font-size:17px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;margin-top:32px}
  .parts{grid-template-columns:1fr}
  .part{padding:22px 0 30px}
  .preface-nav ol{grid-template-columns:1fr}
  .preface-nav li:nth-last-child(2){border-bottom:0}
  .reading h3{margin-top:48px}
}
@media(prefers-reduced-motion:reduce){.cover a{transition:none}}
