/* Book hub only: keep the original image proportional and prevent repetition. */
.card-livros {
  aspect-ratio:1216 / 418;
  min-height:190px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* Let the complete title wrap inside its actual column rather than be clipped. */
.livro-card-wrapper .vertical-infos-book { min-width:0; overflow:visible; }
.livro-card-wrapper .vertical-infos-book > .row { min-width:0; width:100%; }
.livro-card-wrapper .vertical-infos-book > .row > h2 { min-width:0; overflow-wrap:anywhere; }

@media (max-width:520px) {
  .livro-card-wrapper { padding-inline:12px; }
  .livro-card-wrapper .vertical-infos-book > .row { position:relative; }
  .livro-card-wrapper .vertical-infos-book > .row > .indicator { position:absolute; left:-8px; top:0; }
  /* 19 px at 320 px gives the measured 250 px title word 254 px of space;
     the existing 24 px is restored at 390 px and above. */
  .livro-card-wrapper .vertical-infos-book > .row > h2 { font-size:clamp(19px,calc(7.142857vw - 3.857143px),24px); }
}

@media (max-width:389px) {
  /* At 320 px the official first word measures about 263 px at 20 px,
     fitting the 272 px detail column; 24 px resumes at 390 px. */
  .wrapper-infos.blog.t > .div-infos.max._80._2 > h1.heading-page-title[lang="en"] {
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    font-size:clamp(20px,calc(5.714286vw + 1.714286px),24px);
  }
}
