/* Sprint 3.12 — refinamento tipográfico e largura dos cards da Home da Revista.
   Complementa a Sprint 3.11 sem alterar a estrutura HTML. */

/* HERO — mais área útil para o texto do carrossel e quebras naturais */
@media (min-width:1101px){
  .revista-hero-s21 .revista-hero-grid{
    grid-template-columns:minmax(390px,.82fr) minmax(680px,1.18fr);
    gap:clamp(40px,3.5vw,64px);
  }
  .revista-hero-s21 .revista-hero-copy h1{
    width:min(100%,9.8ch);
    font-size:clamp(3.15rem,3.85vw,4.4rem);
    line-height:.97;
  }
  .revista-hero-s21 .revista-hero-carousel{
    max-width:780px;
  }
  .revista-hero-s21 .revista-slide,
  .revista-hero-s21 .revista-slide.is-active{
    grid-template-columns:minmax(310px,1fr) minmax(320px,1.04fr);
  }
  .revista-hero-s21 .revista-slide-copy{
    padding:34px 30px 32px 34px;
  }
  .revista-hero-s21 .revista-slide-copy h2{
    max-width:13.5ch;
    margin:.55rem 0 1rem;
    font-size:clamp(1.65rem,1.72vw,2rem);
    line-height:1.08;
    letter-spacing:-.018em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .revista-hero-s21 .revista-slide-copy p{
    font-size:.98rem;
    line-height:1.52;
  }
}

/* BIBLIOTECA — destaque mais compacto e cards secundários mais largos */
@media (min-width:1101px){
  .revista-library .revista-library-feature{
    grid-template-columns:minmax(250px,290px) minmax(0,1fr);
    gap:24px;
  }
  .revista-library .library-feature-card{
    width:100%;
    max-width:290px;
    padding:15px;
  }
  .revista-library .library-feature-cover{
    height:230px;
  }
  .revista-library .library-feature-copy{
    padding:17px 3px 4px;
  }
  .revista-library .library-feature-copy h3{
    font-size:1.42rem;
    line-height:1.12;
  }
  .revista-library .library-feature-copy p{
    font-size:.88rem;
    line-height:1.48;
  }
  .revista-library .library-rail{
    grid-template-columns:repeat(4,minmax(135px,1fr));
    gap:16px;
  }
  .revista-library .library-book-card a{
    padding:12px;
  }
  .revista-library .library-book-card img{
    aspect-ratio:4/5;
    object-fit:contain;
    background:#fff;
    border-radius:10px;
  }
  .revista-library .library-book-card h3{
    min-height:3.2em;
    font-size:.92rem;
    line-height:1.18;
    letter-spacing:-.008em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .revista-library .library-book-card p{
    font-size:.79rem;
    line-height:1.35;
  }
}

/* Notebooks: mantém o carrossel legível sem forçar palavras quebradas */
@media (min-width:1101px) and (max-width:1450px){
  .revista-hero-s21 .revista-hero-grid{
    grid-template-columns:minmax(350px,.78fr) minmax(610px,1.22fr);
    gap:34px;
  }
  .revista-hero-s21 .revista-slide,
  .revista-hero-s21 .revista-slide.is-active{
    grid-template-columns:minmax(280px,1fr) minmax(285px,1fr);
  }
  .revista-hero-s21 .revista-slide-copy h2{
    font-size:1.62rem;
    max-width:14ch;
  }
  .revista-library .revista-library-feature{
    grid-template-columns:minmax(235px,270px) minmax(0,1fr);
    gap:20px;
  }
  .revista-library .library-feature-card{max-width:270px;}
  .revista-library .library-rail{
    grid-template-columns:repeat(4,minmax(125px,1fr));
    gap:13px;
  }
}

/* Tablets: duas colunas de livros com largura confortável */
@media (min-width:701px) and (max-width:1100px){
  .revista-hero-s21 .revista-slide-copy h2{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .revista-library .library-rail{
    grid-template-columns:repeat(2,minmax(190px,1fr));
    overflow:visible;
  }
}
