/* Novos títulos sem oferta avulsa; estilos limitados à apresentação do livro. */
.book-announcements { max-width: 1120px; margin: auto; }
.book-announcements h2 { margin-bottom: 24px; font-size: clamp(26px, 3vw, 36px); }
.book-announcement { padding: 28px; border: 1px solid #dedee4; border-radius: 20px; background: #fff; overflow-wrap: anywhere; }
.book-announcement.has-cover { display: grid; grid-template-columns: minmax(100px, 180px) minmax(0, 1fr); gap: 28px; align-items: start; }
.book-announcement + .book-announcement { margin-top: 24px; }
.book-announcement h3 { font-size: clamp(24px, 3vw, 32px); line-height: 1.2; margin: 8px 0 16px; }
.book-announcement h3 a { color: inherit; }
.book-announcement p, .book-subscription-detail p { line-height: 1.6; margin-bottom: 16px; }
.book-announcement .text-link { display: inline-block; margin-top: 12px; }
.book-announcement-cover { display: block; width: min(100%, 240px); margin: 0 0 24px; }
.book-announcement-cover img { width: 100%; height: auto; border-radius: 8px; }
.book-availability-note { color: #384151; line-height: 1.6; }
.book-subscription-detail h1 { font-size: clamp(32px, 5vw, 52px); line-height: 1.12; margin: 12px 0 28px; overflow-wrap: anywhere; }
.book-announcement a:focus-visible, .book-subscription-detail a:focus-visible { outline: 3px solid #0065cd; outline-offset: 4px; }
@media (max-width: 600px) {
  .book-announcement { padding: 22px 18px; }
  .book-announcement.has-cover { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
