/* Classic template — warm, serif, sidebar categories. --brand is set per store. */
* { box-sizing: border-box; }
body { margin: 0; background: #FBF6EC; color: #3B2F25; font: 16px/1.6 Georgia, "Libre Baskerville", serif; }
a { color: var(--brand); }
h1, h2, h3 { font-family: "Libre Baskerville", Georgia, serif; font-weight: 700; color: #2A2018; line-height: 1.25; }
h1 { font-size: 1.75rem; margin: 0 0 .25rem; }

.masthead { border-bottom: 3px double color-mix(in srgb, var(--brand) 60%, #D9C9A8); background: #FFFDF7; padding: 20px 16px; }
.brand { display: flex; align-items: center; gap: 14px; max-width: 1120px; margin: 0 auto; text-decoration: none; color: inherit; }
.logo { width: 52px; height: 52px; border-radius: 50%; background: var(--brand); color: #FFFDF7; display: grid; place-items: center;
    font: 700 1.1rem "Libre Baskerville", Georgia, serif; letter-spacing: .04em; flex: none; }
.brand-text strong { display: block; font: 700 1.5rem "Libre Baskerville", Georgia, serif; color: #2A2018; }
.brand-text em { color: #7A6A58; }

.shell { max-width: 1120px; margin: 0 auto; padding: 28px 16px 40px; display: grid; grid-template-columns: 210px 1fr; gap: 36px; }
.sidebar h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .14em; color: #7A6A58; margin: 0 0 .75rem; }
.sidebar ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid #E6D9BF; }
.sidebar li a { display: block; padding: 9px 4px; border-bottom: 1px solid #E6D9BF; text-decoration: none; color: #3B2F25; }
.sidebar li a:hover, .sidebar li a.active { color: var(--brand); font-weight: 700; }
.contact { font-size: .85rem; color: #7A6A58; margin-top: 1.5rem; overflow-wrap: anywhere; }

.lede { color: #7A6A58; font-style: italic; margin: 0 0 1.25rem; }
.featured { background: #FFFDF7; border: 1px solid #E6D9BF; border-left: 4px solid var(--brand); padding: 20px; margin-bottom: 32px; }
.section-title { font-size: 1.25rem; border-bottom: 1px solid #E6D9BF; padding-bottom: .5rem; margin: 0 0 1.25rem; }
.section-title span { font: italic 400 .9rem Georgia, serif; color: #7A6A58; margin-left: .5rem; }

.book-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
.book { text-decoration: none; color: inherit; display: flex; flex-direction: column; }
.book:hover .cover { transform: translateY(-3px); box-shadow: 4px 8px 16px rgba(60, 40, 20, .25); }
.book-title { font-weight: 700; margin-top: 10px; color: #2A2018; }
.book-author { font-style: italic; color: #7A6A58; font-size: .9rem; }
.book-price { color: var(--brand); font-weight: 700; margin-top: 2px; }

.cover { aspect-ratio: 2 / 3; background: var(--cover); color: #fff; padding: 16px 14px; display: flex; flex-direction: column;
    justify-content: space-between; border-radius: 2px 6px 6px 2px; box-shadow: inset 6px 0 0 rgba(0, 0, 0, .18), 2px 4px 10px rgba(60, 40, 20, .18);
    transition: transform .15s, box-shadow .15s; font-family: "Libre Baskerville", Georgia, serif; }
.cover-title { font-size: 1.05rem; font-weight: 700; line-height: 1.3; }
.cover-author { font-size: .75rem; font-style: italic; opacity: .85; }
.book-list .cover { aspect-ratio: 3 / 4; }
.cover-large { max-width: 280px; width: 100%; }
.cover-large .cover-title { font-size: 1.5rem; }

.back { display: inline-block; margin-bottom: 20px; text-decoration: none; }
.book-detail { display: grid; grid-template-columns: 280px 1fr; gap: 36px; align-items: start; }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; margin: 0 0 .5rem; }
.eyebrow a { text-decoration: none; }
.byline { font-style: italic; color: #7A6A58; margin: 0 0 1rem; }
.price { font-size: 1.5rem; font-weight: 700; color: var(--brand); margin: 0 0 1rem; }
.description { max-width: 60ch; }
.buy { font: 700 1rem Georgia, serif; padding: 12px 28px; border: 2px solid var(--brand); background: var(--brand); color: #fff; border-radius: 2px; opacity: .6; cursor: not-allowed; }

.platform-footer { text-align: center; padding: 24px 16px; border-top: 1px solid #E6D9BF; color: #7A6A58; font-size: .85rem; background: #FFFDF7; }

@media (max-width: 900px) { .book-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
    .shell, .book-detail { grid-template-columns: 1fr; }
    .book-list { grid-template-columns: 1fr; gap: 18px; }
    .book { display: grid; grid-template-columns: 84px 1fr; column-gap: 14px; align-content: start; }
    .book .cover { grid-row: span 3; aspect-ratio: 2 / 3; padding: 8px; }
    .book .cover-title { font-size: .6rem; }
    .book .cover-author { display: none; }
    .book-title { margin-top: 0; }
    .shell { gap: 20px; padding-top: 20px; }
    .sidebar ul { display: flex; flex-wrap: wrap; gap: 8px; border: 0; }
    .sidebar li a { border: 1px solid #E6D9BF; border-radius: 999px; padding: 4px 12px; background: #FFFDF7; }
    .sidebar .contact { display: none; }
    .featured { padding: 16px; }
    .cover-large { max-width: 220px; }
}
