/* vostlit.ru — «Восточная литература» */

/* ---------- fonts (self-hosted, SIL OFL) ---------- */
@font-face{font-family:"Old Standard";font-weight:400;font-display:swap;src:url(fonts/old-standard-tt-cyrillic-ext-400-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Old Standard";font-weight:400;font-display:swap;src:url(fonts/old-standard-tt-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Old Standard";font-weight:400;font-display:swap;src:url(fonts/old-standard-tt-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Old Standard";font-weight:400;font-display:swap;src:url(fonts/old-standard-tt-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Old Standard";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/old-standard-tt-cyrillic-ext-400-italic.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Old Standard";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/old-standard-tt-cyrillic-400-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Old Standard";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/old-standard-tt-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Old Standard";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/old-standard-tt-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Old Standard";font-weight:700;font-display:swap;src:url(fonts/old-standard-tt-cyrillic-ext-700-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Old Standard";font-weight:700;font-display:swap;src:url(fonts/old-standard-tt-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Old Standard";font-weight:700;font-display:swap;src:url(fonts/old-standard-tt-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Old Standard";font-weight:700;font-display:swap;src:url(fonts/old-standard-tt-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos";font-weight:400;font-display:swap;src:url(fonts/golos-text-cyrillic-ext-400-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Golos";font-weight:400;font-display:swap;src:url(fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos";font-weight:400;font-display:swap;src:url(fonts/golos-text-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Golos";font-weight:400;font-display:swap;src:url(fonts/golos-text-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos";font-weight:500;font-display:swap;src:url(fonts/golos-text-cyrillic-ext-500-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Golos";font-weight:500;font-display:swap;src:url(fonts/golos-text-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos";font-weight:500;font-display:swap;src:url(fonts/golos-text-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Golos";font-weight:500;font-display:swap;src:url(fonts/golos-text-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos";font-weight:600;font-display:swap;src:url(fonts/golos-text-cyrillic-ext-600-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Golos";font-weight:600;font-display:swap;src:url(fonts/golos-text-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos";font-weight:600;font-display:swap;src:url(fonts/golos-text-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Golos";font-weight:600;font-display:swap;src:url(fonts/golos-text-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- tokens ---------- */
:root{
  --paper:#F5F6F9;
  --surface:#FFFFFF;
  --ink:#171B3A;          /* тёмный индиго — наследник #000044 старого сайта */
  --ink-2:#232A57;
  --muted:#5A5F78;
  --line:#D8DCE6;
  --lapis:#27489B;
  --plum:#5E2842;         /* сливовый акцент старого сайта */
  --gold:#B3944A;         /* тиснение на переплёте */
  --display:"Old Standard","Times New Roman",serif;
  --text:"Golos","Segoe UI",system-ui,sans-serif;
  --wrap:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--text);
  display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
img{max-width:100%;height:auto}
a{color:var(--lapis);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--plum)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;margin:0;text-wrap:balance}
p{margin:0 0 1em}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:10}

/* ---------- header ---------- */
.site-head{background:var(--ink);color:#fff}
.site-head .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap;padding:1.15rem 0 1rem}
.brand{color:#fff;text-decoration:none;display:block}
.brand:hover{color:#fff}
.brand b{display:block;font:400 1.7rem/1 var(--display);letter-spacing:.01em}
.brand span{display:block;margin-top:.35rem;font-size:.78rem;color:#B9BEDA}
.nav{display:flex;flex-wrap:wrap;gap:.35rem 1.6rem;font-size:.95rem}
.nav a{color:#DADDF0;text-decoration:none;padding:.2rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current]{color:#fff;border-bottom-color:var(--gold)}

/* ---------- hero + shelf ---------- */
.hero{background:var(--ink);color:#fff;padding:3.2rem 0 0}
.hero h1{font-size:clamp(2.3rem,5.4vw,4.4rem);max-width:19ch;letter-spacing:-.01em}
.hero .lede{max-width:56ch;margin:1.4rem 0 0;color:#C9CDE6;font-size:1.06rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;margin-top:1.8rem;align-items:center}
.btn{display:inline-block;background:#fff;color:var(--ink);padding:.7rem 1.3rem;border-radius:2px;text-decoration:none;font-weight:500}
.btn:hover{background:var(--gold);color:var(--ink)}
.hero-actions a.plain{color:#fff}
.shelf-band{background:linear-gradient(var(--ink) 0 calc(100% - 3.1rem),var(--paper) 0);padding-top:3rem}
.shelf{display:flex;align-items:flex-end;gap:1.1rem;overflow-x:auto;padding:0 0 0;scrollbar-width:thin;
  border-bottom:6px solid var(--gold);scroll-snap-type:x proximity}
.shelf a{flex:0 0 auto;text-decoration:none;scroll-snap-align:start;display:block;line-height:0;transition:transform .18s ease}
.shelf a:hover,.shelf a:focus-visible{transform:translateY(-8px)}
.shelf .cover{width:112px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.shelf-caption{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0 0;font-size:.9rem;color:var(--muted)}

/* ---------- covers ---------- */
.cover{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;background:#E6E8EF}
img.cover{aspect-ratio:auto}
.cover.blank{display:flex;flex-direction:column;justify-content:space-between;padding:9% 9% 8%;color:#F1EEDF;
  font-family:var(--display);line-height:1.12;overflow:hidden;text-decoration:none;border-left:5px solid rgba(0,0,0,.22)}
.cover.blank .t{font-size:.74rem;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;hyphens:auto;overflow-wrap:anywhere}
.cover.blank .a{font:500 .58rem/1.2 var(--text);opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cover.blank::after{content:"";display:block;width:26%;border-top:2px solid var(--gold)}
.cover.c0{background:#232F66}.cover.c1{background:#5E2842}.cover.c2{background:#1F4A45}.cover.c3{background:#6F5622}.cover.c4{background:#3B4459}
.book-cover .cover.blank .t{font-size:1.35rem}.book-cover .cover.blank .a{font-size:.85rem}

/* ---------- sections ---------- */
.section{padding:3.2rem 0 0}
.section:last-child{padding-bottom:4rem}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:3rem}
.news{list-style:none;margin:0;padding:0}
.news li{padding:1rem 0;border-top:1px solid var(--line);max-width:68ch}
.news li:first-child{border-top:2px solid var(--ink)}
.news strong{font-weight:500}
.index-list{list-style:none;margin:0;padding:0;columns:2;column-gap:2.5rem}
.index-list.one{columns:1}
.index-list li{break-inside:avoid;border-top:1px solid var(--line)}
.index-list a{display:flex;justify-content:space-between;gap:1rem;padding:.62rem 0;text-decoration:none;color:var(--ink)}
.index-list a:hover{color:var(--lapis)}
.index-list .n{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}
.panel{background:var(--surface);border:1px solid var(--line);padding:1.5rem 1.6rem}
.panel h3{font-size:1.35rem;margin-bottom:.6rem}
.panel p:last-child{margin-bottom:0}
.panel + .panel{margin-top:1.2rem}

/* ---------- page head ---------- */
.page-head{background:var(--ink);color:#fff;padding:2.2rem 0 2.4rem}
.page-head h1{font-size:clamp(1.9rem,4vw,3rem);max-width:26ch}
.page-head p{color:#C9CDE6;max-width:70ch;margin:1rem 0 0}
.crumbs{font-size:.86rem;color:#B9BEDA;margin-bottom:.9rem}
.crumbs a{color:#DADDF0}

/* ---------- book list ---------- */
.books{list-style:none;margin:0;padding:0}
.books > li{display:grid;grid-template-columns:78px minmax(0,1fr);gap:1.25rem;padding:1.2rem 0;border-top:1px solid var(--line)}
.books > li[hidden]{display:none}
.books .cover-link{display:block;line-height:0;text-decoration:none}
.books h3{font:500 1.06rem/1.35 var(--text)}
.books h3 a{color:var(--ink);text-decoration:none}
.books h3 a:hover{color:var(--lapis);text-decoration:underline}
.books .lead{font-weight:600}
.books .meta{font-size:.88rem;color:var(--muted);margin:.3rem 0 0}
.books .meta a{color:var(--muted)}
.books .short{margin:.5rem 0 0;font-size:.94rem;color:#3C415E;max-width:78ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.badge{display:inline-block;font-size:.76rem;font-weight:500;padding:.08rem .5rem;border-radius:2px;border:1px solid currentColor;white-space:nowrap;vertical-align:.08em}
.badge.catalog{color:#1F5A4A}
.badge.archive{color:var(--muted)}
.badge.unavailable{color:var(--plum)}
.badge.new{color:#fff;background:var(--plum);border-color:var(--plum)}

/* ---------- catalog filters ---------- */
.catalog-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:3rem;padding:2.2rem 0 4rem}
.filters{align-self:start;position:sticky;top:1rem;font-size:.94rem}
.filters label{display:block;font-weight:500;margin:1.1rem 0 .35rem}
.filters label:first-child{margin-top:0}
.filters input[type=search],.filters select{width:100%;font:inherit;padding:.55rem .7rem;border:1px solid #AEB4C6;border-radius:2px;background:#fff;color:var(--ink)}
.filters .check{display:flex;gap:.5rem;align-items:center;font-weight:400;margin:.45rem 0}
.filters fieldset{border:0;padding:0;margin:1.1rem 0 0}
.filters legend{font-weight:500;padding:0;margin-bottom:.2rem}
.count{color:var(--muted);font-size:.94rem;margin:0 0 .4rem}
.empty{padding:2rem 0;color:var(--muted)}
.reset{background:none;border:0;padding:0;margin-top:1.2rem;font:inherit;color:var(--lapis);text-decoration:underline;cursor:pointer}

/* ---------- book page ---------- */
.book{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:3.2rem;padding:2.6rem 0 3rem}
.book-cover img,.book-cover .cover{width:100%;box-shadow:0 12px 28px -14px rgba(23,27,58,.55)}
.book.thumb-only{grid-template-columns:170px minmax(0,1fr);gap:2.4rem}
.book-cover img.small{width:auto;min-width:150px;max-width:100%}
.toc-box{margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1rem}
.toc-box summary{cursor:pointer;font-weight:500;color:var(--lapis)}
.toc-box p{margin:0 0 .4rem;font-size:.95rem}
.toc-box[open] summary{margin-bottom:1rem}
.gallery{display:flex;flex-wrap:wrap;gap:.6rem}
.gallery img{margin:0;border:1px solid var(--line)}
.book .lead{font:500 1.15rem/1.3 var(--text);color:var(--plum);margin-bottom:.5rem}
.book h1{font-size:clamp(1.7rem,3.4vw,2.6rem)}
.book .status{margin:1.1rem 0 0}
.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.45rem 1.6rem;margin:1.8rem 0;padding:1.2rem 0;border-block:1px solid var(--line);font-size:.96rem}
.facts dt{color:var(--muted)}
.facts dd{margin:0}
.prose{max-width:70ch}
.prose h3{font-size:1.4rem;margin:2rem 0 .7rem}
.prose h4{font:600 1rem/1.4 var(--text);margin:1.5rem 0 .4rem}
.prose ul,.prose ol{padding-left:1.2rem}
.prose table{border-collapse:collapse;margin:1rem 0}
.prose td,.prose th{padding:.3rem .8rem .3rem 0;vertical-align:top}
.prose img{margin:.4rem 0}
.buy-note{margin-top:2rem;padding:1.1rem 1.3rem;background:var(--surface);border-left:3px solid var(--gold);max-width:70ch;font-size:.96rem}
.buy-note p{margin:0}
.page{padding:2.6rem 0 4rem}

/* ---------- journal ---------- */
.issues{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 2rem}
.issues li{border-top:1px solid var(--line)}
.issues a{display:block;padding:.7rem 0;text-decoration:none;color:var(--ink)}
.issues a:hover{color:var(--lapis)}
.issues .y{font:400 1.3rem/1 var(--display);margin-right:.5rem}
.issues small{display:block;color:var(--muted);font-size:.86rem}
.toc h3{font-size:1.25rem;margin:2rem 0 .6rem;padding-top:1rem;border-top:1px solid var(--line)}
.toc p{margin:0 0 .55rem}
.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.95rem}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:#C9CDE6;margin-top:0;font-size:.92rem}
.site-foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding:2.6rem 0 2.2rem}
.site-foot b{display:block;font:400 1.25rem/1.2 var(--display);color:#fff;margin-bottom:.6rem}
.site-foot h2{font:500 .95rem/1.3 var(--text);color:#fff;margin-bottom:.6rem}
.site-foot a{color:#DADDF0}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin:.25rem 0}
.site-foot .legal{grid-column:1/-1;border-top:1px solid #343A66;padding-top:1.2rem;color:#9AA0C4;font-size:.84rem}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .cols,.catalog-layout,.book,.book.thumb-only{grid-template-columns:minmax(0,1fr);gap:2rem}
  .filters{position:static}
  .book-cover{max-width:220px}
  .site-foot .wrap{grid-template-columns:1fr}
  .index-list{columns:1}
  .hero{padding-top:2.2rem}
}
@media (max-width:520px){
  .books > li{grid-template-columns:60px minmax(0,1fr);gap:.9rem}
  .brand b{font-size:1.4rem}
  .nav{gap:.2rem 1.1rem;font-size:.92rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .shelf a{transition:none}
  .shelf a:hover,.shelf a:focus-visible{transform:none}
}
@media print{
  .site-head .nav,.filters,.site-foot,.shelf-band,.hero-actions{display:none}
  .site-head,.page-head,.hero{background:none;color:#000}
  .page-head p,.crumbs,.crumbs a,.brand,.brand span{color:#000}
}
.gap-top{margin-top:3rem}
