.books-page { min-height: 100vh; }
.books-main { max-width: 1160px; margin: auto; padding: 64px 32px 80px; min-height: 65vh; }
.books-main h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; letter-spacing: -.035em; }
.books-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 32px; margin: 48px 0; }
.book-tile { display: block; max-width: 250px; transition: transform .2s ease; }
.book-tile:hover { transform: translateY(-5px); }
.book-cover { display: grid; width: 100%; aspect-ratio: 2 / 3; background: #141B3A; border: 1px solid #33417A; border-radius: 5px; overflow: hidden; box-shadow: 0 16px 32px #060c1b55; }
.book-cover img { width: 100%; height: 100%; object-fit: contain; }
.cover-placeholder { padding: 24px; align-self: center; text-align: center; font-family: 'Space Grotesk', sans-serif; font-size: 1.25rem; color: #ECEFF1; }
[hidden] { display: none !important; }
.books-back { display: inline-block; color: #E3A857; margin-bottom: 40px; }
.books-back:hover { text-decoration: underline; }
.book-detail { display: grid; grid-template-columns: minmax(220px, 360px) 1fr; gap: clamp(32px, 6vw, 88px); align-items: start; }
.book-author { color: #B7BFCC; font-size: 1.125rem; margin: 18px 0 28px; }
.book-description { line-height: 1.85; color: #D2D8E0; max-width: 60ch; }
.book-description p + p { margin-top: 16px; }
.amazon-button { display: inline-flex; gap: 28px; align-items: center; justify-content: center; padding: 15px 24px; margin-top: 32px; background: #1FBF75; color: #0B1226; font-weight: 600; border-radius: 6px; transition: background .2s; }
.amazon-button:hover { background: #ECEFF1; }
.affiliate-disclosure { font-size: .8rem; line-height: 1.6; color: #B7BFCC; margin-top: 16px; }
.books-page a:focus-visible, .books-page button:focus-visible { outline: 3px solid #E3A857; outline-offset: 5px; }
@media (max-width: 640px) {
  .books-main { padding: 40px 20px 56px; }
  .books-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 32px 0; }
  .book-detail { grid-template-columns: 1fr; gap: 32px; }
  .book-detail .book-cover { max-width: 300px; margin: auto; }
  .amazon-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .book-tile { transition: none; } }
