/* Букинист: статический сайт без внешних шрифтов и скриптов */
:root{
  --paper:#EDEFE8; --card:#F8F9F5; --ink:#1E2B2F; --muted:#56655F;
  --cloth:#26413A; --oxblood:#7A1F2B; --gilt:#B08D3C; --wood:#6B4F3A; --line:#CBD1C6;
  --serif:"Palatino Linotype","Book Antiqua",Palatino,"Iowan Old Style",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --radius:2px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--oxblood);text-underline-offset:.18em}
a:hover{color:#4f121b}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--oxblood);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--ink);padding:.6rem 1rem;z-index:10}
.skip:focus{left:8px;top:8px}
.wrap{width:min(1080px,100% - 40px);margin-inline:auto}
.narrow{width:min(720px,100% - 40px)}

/* шапка */
.top{background:var(--cloth);color:#EDEFE8;border-bottom:4px double var(--gilt)}
.bar{display:flex;flex-wrap:wrap;gap:10px 32px;align-items:baseline;justify-content:space-between;padding:18px 0}
.brand{color:#F3EEDB;text-decoration:none;display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-size:1.9rem;font-weight:700;letter-spacing:.03em}
.brand-sub{font-family:var(--sans);font-size:.85rem;color:#C9D3C8;margin-top:4px}
.top nav{display:flex;flex-wrap:wrap;gap:6px 24px;font-family:var(--sans);font-size:.97rem}
.top nav a{color:#EDEFE8;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.top nav a:hover,.top nav a[aria-current]{border-bottom-color:var(--gilt)}
.top a:focus-visible{outline-color:#F3EEDB}

/* заголовки и текст */
h1,h2,h3{font-weight:700;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.6vw,3.1rem);letter-spacing:.005em}
h2{font-size:1.65rem;margin-top:1.6em}
h3{font-size:1.2rem;margin-bottom:.25em}
h3 a{color:var(--ink);text-decoration:none}
h3 a:hover{color:var(--oxblood);text-decoration:underline}
p{margin:0 0 1em}
.lead{font-size:1.25rem;max-width:62ch;color:#2c3a3e}
.small{font-size:.95rem;color:var(--muted)}
.list{padding-left:1.2em;margin:0 0 1em}
.list li{margin-bottom:.4em}
.block{padding:56px 0}
.block h2:first-child{margin-top:0}
.alt-bg{background:#E1E6DC}
.actions{margin:1.4em 0 0;display:flex;flex-wrap:wrap;gap:12px}
.after{margin-top:28px}
.btn{display:inline-block;background:var(--oxblood);color:#fff;padding:.7rem 1.25rem;border-radius:var(--radius);text-decoration:none;font-family:var(--sans);font-size:.97rem;font-weight:600;border:1px solid var(--oxblood)}
.btn:hover{background:#5c1520;color:#fff}
.btn.alt{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.alt:hover{background:var(--ink);color:#fff}

/* главная: полка */
.hero{padding:56px 0 0}
.hero h1{max-width:18ch}
.shelf{display:flex;align-items:flex-end;gap:4px;margin-top:44px;padding:0 14px;overflow-x:auto;border-bottom:16px solid var(--wood);scrollbar-width:thin}
.spine{position:relative;flex:0 0 auto;width:var(--w);height:var(--h);display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;text-orientation:mixed;text-align:center;text-decoration:none;padding:22px 4px;
  font-weight:700;font-size:.98rem;line-height:1.15;border-radius:2px 2px 0 0;
  box-shadow:inset 3px 0 0 rgba(255,255,255,.14),inset -3px 0 0 rgba(0,0,0,.2);transition:transform .15s}
.spine span{display:block;max-height:100%;overflow:hidden}
.spine::before,.spine::after{content:"";position:absolute;left:5px;right:5px;height:2px;background:var(--gilt);opacity:.9}
.spine::before{top:12px}
.spine::after{bottom:12px}
.spine:hover{transform:translateY(-8px)}
.spine:focus-visible{outline:3px solid var(--oxblood);outline-offset:2px}
.s1{background:#26413A;color:#EBE3C4}
.s2{background:#7A1F2B;color:#F3E8D5}
.s3{background:#2F4A5C;color:#EAF0F2}
.s4{background:#8A6A2F;color:#FFF6DF}
.s5{background:#3A3F3C;color:#E8EAE5}
.s6{background:#4F6B5E;color:#F2F5F0}
.s7{background:#5C3B2E;color:#F5E9DC}
.shelf-note{margin:12px 0 0;font-size:.95rem;color:var(--muted)}
.hero + .block{padding-top:48px}

/* карточки */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:28px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column}
.photo-link{display:block;padding:10px;border-bottom:1px solid var(--line)}
.photo{width:100%;aspect-ratio:3/4;object-fit:cover;background:#E4E8DD;border:1px solid var(--gilt);border-radius:var(--radius)}
.photo.wideph{aspect-ratio:3/2}
.card-body{padding:14px 16px 18px;display:flex;flex-direction:column;flex:1}
.shifr{font-family:var(--sans);font-size:.85rem;color:var(--muted);margin:0 0 4px}
.author{margin:0 0 4px;color:#2c3a3e}
.card .small{margin-bottom:.6em}
.price{font-weight:700;font-size:1.2rem;color:var(--oxblood);margin:auto 0 .5em}
.more{font-family:var(--sans);font-size:.92rem}
.cat-section{margin-top:56px}
.cat-section:first-of-type{margin-top:32px}
.cat-section h2{margin-top:0;padding-bottom:.35em;border-bottom:1px solid var(--gilt)}
.jump{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--sans);font-size:.97rem;margin:1.2em 0 0}

/* страница книги */
.crumbs{font-family:var(--sans);font-size:.92rem;color:var(--muted);margin-bottom:24px}
.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}
.gallery .big{width:100%}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.big-price{font-size:1.7rem;margin:.3em 0 1em}
.specs{margin:1.4em 0}
.specs div{display:grid;grid-template-columns:9.5em 1fr;gap:12px;padding:.5em 0;border-bottom:1px solid var(--line)}
.specs dt{color:var(--muted);font-family:var(--sans);font-size:.92rem;padding-top:.15em}
.specs dd{margin:0}

/* текстовые страницы */
.steps{padding-left:0;margin:0 0 1.4em;list-style:none;counter-reset:step}
.steps li{counter-increment:step;position:relative;padding:0 0 1em 2.6em}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:1.8em;height:1.8em;border:1px solid var(--oxblood);color:var(--oxblood);border-radius:50%;text-align:center;line-height:1.7em;font-family:var(--sans);font-size:.9rem;font-weight:700}
figure.wide{margin:28px 0}

/* подвал */
.foot{background:var(--cloth);color:#D9E0D6;margin-top:0;padding:36px 0;font-size:1rem;border-top:4px double var(--gilt)}
.foot a{color:#F3EEDB}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:32px}
.foot-grid p{margin:0}
.foot-brand{font-size:1.4rem;font-weight:700;color:#F3EEDB;line-height:1.3}
.foot-brand span{font-size:.95rem;font-weight:400;color:#C9D3C8}

@media (max-width:760px){
  body{font-size:1.05rem}
  .detail{grid-template-columns:1fr;gap:28px}
  .foot-grid{grid-template-columns:1fr;gap:20px}
  .block{padding:40px 0}
  .specs div{grid-template-columns:7.5em 1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
