/* Книжная База — warm cream + brown bookstore palette. */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:#faf6ef;color:#2c1f12;font:400 15px/1.55 "Inter",sans-serif}
h1,h2,h3,h4{margin:0;color:#1f1408;font-family:"Lora",serif;letter-spacing:-0.005em}
a{color:#8c4a14;text-decoration:none}
a:hover{text-decoration:underline}
p{margin:0 0 12px}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}

/* header */
header{background:#fff;border-bottom:1px solid #e8dfd0}
header > .wrap{display:flex;align-items:center;gap:24px;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:10px;font:600 18px "Lora",serif;color:#1f1408;font-size:22px}
.logo b{color:#8c4a14}
.search{display:flex;flex:1;max-width:520px;margin-left:24px}
.search input{flex:1;padding:11px 14px;border:1.5px solid #e8dfd0;border-radius:6px 0 0 6px;font:400 14.5px "Inter";outline:none}
.search input:focus{border-color:#8c4a14}
.search button{background:#8c4a14;color:#fff;border:0;padding:11px 22px;border-radius:0 6px 6px 0;font:600 14px "Inter";cursor:pointer}
.search button:hover{background:#a35820}
.user{display:flex;gap:18px;align-items:center}
.user a{color:#594636;font-size:14.5px;font-weight:500}
.user .cart{background:#faf3e8;padding:8px 14px;border-radius:6px}
.user .cart span{color:#a89070}
@media(max-width:880px){.search{display:none}}

.subnav{display:flex;gap:22px;padding-top:10px;padding-bottom:14px;border-top:1px solid #f0e8d9;flex-wrap:wrap}
.subnav a{color:#594636;font:500 13.5px "Inter";letter-spacing:0.01em}
.subnav a:hover{color:#8c4a14;text-decoration:none}
.subnav .hot{color:#c84d32;font-weight:600}

/* hero */
.hero{padding:54px 0;background:linear-gradient(120deg,#f7e8d4,#f0d8b5)}
.hero-text{max-width:560px}
.ribbon{display:inline-block;background:#c84d32;color:#fff;padding:4px 12px;border-radius:999px;font:600 11px "Inter";letter-spacing:0.06em;text-transform:uppercase;margin-bottom:18px}
.hero h1{font-size:38px;line-height:1.15;margin-bottom:16px;font-weight:700}
.hero p{font-size:16px;color:#594636;margin-bottom:24px}
.btn{display:inline-block;background:#1f1408;color:#fff;padding:13px 28px;border-radius:6px;font:600 15px "Inter";text-decoration:none}
.btn:hover{background:#3a2818;text-decoration:none}

/* sections */
.section{padding:48px 0}
.section.alt{background:#fff}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px}
.section-head h2{font-size:24px;font-weight:700}
.more{color:#8c4a14;font:500 14px "Inter"}

/* book grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.book{background:#fff;border:1px solid #e8dfd0;border-radius:8px;padding:18px;transition:box-shadow .2s,transform .2s}
.book:hover{box-shadow:0 14px 30px -14px rgba(140,74,20,.18);transform:translateY(-2px)}
.cover{aspect-ratio:2/3;border-radius:4px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font:700 24px "Lora",serif;letter-spacing:0.1em;margin-bottom:14px;box-shadow:0 4px 10px -2px rgba(0,0,0,.18)}
.book h3{font:600 15px/1.3 "Lora",serif;margin-bottom:4px;min-height:38px}
.author{color:#a89070;font-size:13px;margin-bottom:10px}
.price{display:flex;align-items:baseline;gap:8px;margin:0}
.price .old{color:#a89070;text-decoration:line-through;font-size:13px}
.price b{color:#c84d32;font:700 17px "Lora",serif}
@media(max-width:880px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid{grid-template-columns:1fr 1fr;gap:12px}.book{padding:12px}}

/* benefits */
.benefits{background:#1f1408;color:#e8dfd0;padding:48px 0}
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.benefits-grid div{text-align:center}
.ico{font-size:32px;display:block;margin-bottom:10px}
.benefits h3{color:#fff;font-size:16px;margin-bottom:6px;font-weight:700}
.benefits p{color:#a89070;font-size:13.5px;margin:0}
@media(max-width:880px){.benefits-grid{grid-template-columns:1fr 1fr}}

footer{background:#1f1408;color:#a89070;padding:40px 0 24px;font-size:13px;border-top:1px solid #3a2818}
.foot-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px;margin-bottom:32px}
footer h4{color:#fff;font:600 14px "Inter";margin-bottom:14px;letter-spacing:0.04em;text-transform:uppercase}
footer a{color:#a89070;display:block;margin-bottom:8px;font-size:13.5px}
footer a:hover{color:#fff;text-decoration:none}
.foot-bottom{display:flex;justify-content:space-between;border-top:1px solid #3a2818;padding-top:16px;flex-wrap:wrap;gap:12px;color:#7a6649;font-size:12.5px}
@media(max-width:760px){.foot-cols{grid-template-columns:1fr}}
