/* Sprint 3.13 — correção definitiva de ocupação de espaço na Home da Revista.
   Objetivo: impedir qualquer encontro entre hero e carrossel e manter a biblioteca
   integralmente dentro do container em desktop/notebook. Carregado por último. */

/* HERO DESKTOP: duas colunas fluidas, sem larguras mínimas que ultrapassem o container */
@media (min-width:1101px){
  .revista-hero-s21 .revista-hero-grid{
    display:grid;
    grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
    gap:clamp(44px,4vw,72px);
    align-items:center;
  }
  .revista-hero-s21 .revista-hero-copy,
  .revista-hero-s21 .revista-hero-carousel{
    width:100%;
    max-width:none;
    min-width:0;
  }
  .revista-hero-s21 .revista-hero-copy{
    padding-right:0;
  }
  .revista-hero-s21 .revista-hero-copy h1{
    width:auto;
    max-width:8.4ch;
    margin-right:0;
    font-size:clamp(3.15rem,3.55vw,4.25rem);
    line-height:.99;
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .revista-hero-s21 .revista-hero-copy p{
    max-width:42rem;
  }
  .revista-hero-s21 .revista-hero-carousel{
    justify-self:stretch;
  }
  .revista-hero-s21 .revista-carousel-viewport,
  .revista-hero-s21 .revista-slide,
  .revista-hero-s21 .revista-slide.is-active{
    width:100%;
    min-width:0;
  }
  .revista-hero-s21 .revista-slide,
  .revista-hero-s21 .revista-slide.is-active{
    grid-template-columns:minmax(0,46%) minmax(0,54%);
  }
  .revista-hero-s21 .revista-slide-copy{
    min-width:0;
    padding:32px 28px 30px 30px;
  }
  .revista-hero-s21 .revista-slide-copy h2{
    max-width:none;
    font-size:clamp(1.45rem,1.5vw,1.82rem);
    line-height:1.1;
    letter-spacing:-.015em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .revista-hero-s21 .revista-slide-copy p{
    font-size:.92rem;
    line-height:1.5;
  }
  .revista-hero-s21 .revista-slide-media,
  .revista-hero-s21 .revista-slide img{
    min-width:0;
    max-width:100%;
  }
}

/* NOTEBOOKS: reduz escala antes de empilhar, preservando separação real */
@media (min-width:1101px) and (max-width:1380px){
  .revista-hero-s21 .revista-hero-grid{
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
    gap:36px;
  }
  .revista-hero-s21 .revista-hero-copy h1{
    max-width:8.8ch;
    font-size:clamp(2.8rem,3.45vw,3.65rem);
  }
  .revista-hero-s21 .revista-slide,
  .revista-hero-s21 .revista-slide.is-active{
    grid-template-columns:minmax(0,48%) minmax(0,52%);
  }
  .revista-hero-s21 .revista-slide-copy{
    padding:27px 22px 26px 25px;
  }
  .revista-hero-s21 .revista-slide-copy h2{
    font-size:1.42rem;
  }
}

/* BIBLIOTECA DESKTOP: todo o conjunto cabe no container, sem card cortado */
@media (min-width:1101px){
  .revista-library{
    overflow:visible;
  }
  .revista-library .revista-library-feature{
    display:grid;
    grid-template-columns:minmax(230px,270px) minmax(0,1fr);
    gap:24px;
    width:100%;
    align-items:start;
  }
  .revista-library .library-feature-card{
    width:100%;
    max-width:270px;
    min-width:0;
    box-sizing:border-box;
  }
  .revista-library .library-feature-cover{
    height:auto;
    aspect-ratio:1.08/1;
  }
  .revista-library .library-feature-copy h3{
    font-size:1.25rem;
    line-height:1.13;
  }
  .revista-library .library-rail{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:visible;
    align-items:start;
  }
  .revista-library .library-book-card,
  .revista-library .library-book-card a{
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  .revista-library .library-book-card a{
    padding:10px;
  }
  .revista-library .library-book-card img{
    width:100%;
    height:auto;
    aspect-ratio:4/5;
    object-fit:contain;
  }
  .revista-library .library-book-card h3{
    min-height:0;
    font-size:clamp(.78rem,.8vw,.9rem);
    line-height:1.18;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .revista-library .library-book-card p{
    font-size:.75rem;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .revista-library .revista-library-feature{
    grid-template-columns:minmax(215px,245px) minmax(0,1fr);
    gap:18px;
  }
  .revista-library .library-feature-card{max-width:245px;}
  .revista-library .library-rail{gap:10px;}
  .revista-library .library-book-card a{padding:8px;}
  .revista-library .library-book-card h3{font-size:.76rem;}
}
