:root { --bg:#050505; --text:#f2efe9; --gold:#c59b4b; --gold-soft:rgba(197,155,75,.28); }
* { box-sizing:border-box; }
html { background:var(--bg); scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--bg); color:var(--text); font-family:Georgia,"Times New Roman",serif; }
main { width:min(100% - 40px,1100px); margin:auto; }
.hero { padding:clamp(42px,7vw,74px) 0 clamp(38px,5.6vw,60px); text-align:center; }
h1 { margin:18px 0 17px; font-weight:400; font-size:clamp(2.55rem,7vw,5.6rem); letter-spacing:clamp(.13em,1.5vw,.29em); line-height:1; text-indent:.18em; text-shadow:0 4px 18px rgba(255,255,255,.08); }
.hero p { margin:21px 0 0; color:#e0c38a; font-size:clamp(.66rem,1.5vw,1rem); letter-spacing:clamp(.1em,.35vw,.2em); line-height:1.5; }
.ornament { display:flex; align-items:center; gap:10px; color:var(--gold); margin:auto; width:min(100%,750px); }
.ornament span { display:block; height:1px; flex:1; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.75; }
.ornament i { font-style:normal; font-size:1.05rem; line-height:1; transform:scaleX(1.5); }
.ornament--under { width:min(100%,660px); opacity:.85; }
.books { display:flex; flex-wrap:wrap; justify-content:center; gap:31px 30px; padding-bottom:clamp(54px,8vw,92px); }
.book-card { display:block; flex:0 1 280px; max-width:calc((100% - 60px)/3); border-radius:5px; overflow:hidden; background:#0c0c0c; border:1px solid rgba(197,155,75,.25); box-shadow:0 12px 35px rgba(0,0,0,.65),0 0 18px rgba(197,155,75,.1); transition:transform 250ms ease,box-shadow 250ms ease,border-color 250ms ease; }
.book-card img { display:block; width:100%; height:auto; object-fit:contain; }
.book-card:hover { transform:translateY(-5px) scale(1.015); border-color:rgba(197,155,75,.55); box-shadow:0 17px 42px rgba(0,0,0,.72),0 0 24px rgba(197,155,75,.24); }
.book-card:focus-visible,footer a:focus-visible { outline:2px solid #e0c38a; outline-offset:5px; }
footer { width:min(100% - 40px,900px); margin:auto; padding:0 0 36px; text-align:center; }
footer nav { display:flex; justify-content:center; align-items:center; gap:31px; padding:25px 0 15px; }
footer a { color:#cbb58a; display:inline-flex; border-radius:4px; }
footer svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.7; }
footer svg .dot { fill:currentColor; stroke:none; }
footer .amazon { fill:currentColor; stroke:none; width:37px; }
footer .amazon .smile { fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; }
footer p { margin:0; color:#cbb58a; font-size:.77rem; letter-spacing:.18em; }
@media (max-width:900px) { .book-card { flex-basis:calc((100% - 30px)/2); max-width:calc((100% - 30px)/2); } }
@media (max-width:520px) { main,footer { width:min(100% - 28px,1100px); } .hero { padding-top:35px; } .books { gap:24px 18px; } .book-card { flex-basis:calc((100% - 18px)/2); max-width:calc((100% - 18px)/2); } }
@media (max-width:390px) { .book-card { flex-basis:274px; max-width:100%; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .book-card { transition:none; } }

/* Conteúdo editorial e títulos visíveis, mantendo o catálogo na mesma ordem. */
.catalogue > h2,.about h2 { margin:0 0 18px; color:var(--gold); font-size:clamp(1.35rem,3vw,1.8rem); font-weight:400; text-align:center; }
.section-intro { max-width:660px; margin:0 auto 31px; text-align:center; line-height:1.7; color:var(--text); }
.book-card { color:var(--text); text-decoration:none; }
.book-card__info { padding:18px; }
.book-card h3 { margin:0 0 14px; font-size:1rem; line-height:1.5; font-weight:400; overflow-wrap:anywhere; }
.book-card__cta { color:#e0c38a; font-size:.85rem; }
.about { max-width:750px; margin:0 auto; padding-bottom:60px; }
.about p { line-height:1.8; margin:0 0 18px; }
.skip-link { position:absolute; left:14px; top:14px; z-index:1; padding:14px 18px; background:var(--text); color:var(--bg); transform:translateY(-200%); }
.skip-link:focus { transform:translateY(0); }
:target { scroll-margin-top:24px; }
@media (max-width:520px) { .book-card__info { padding:14px; } .book-card h3 { font-size:.9rem; } }
