/* Alexandre Thai 2.0 — V3.64 PREVIEW LOCAL — /shows/ exclusivamente.
   Correções desta rodada:
   1) restaura a integridade da página “Banda + produção”;
   2) faz a página final começar visualmente direto no azul, sem a página anterior invadir;
   3) aumenta as fotos do encerramento sem cortar;
   4) adiciona hover suave nas fotos do hero e de “Palco, rua e público”.
*/

/* Hover suave — sem afetar layout */
.shows-page .page-hero .poster,
.shows-page .show-journal-main,
.shows-page .show-journal-orla,
.shows-page .show-journal-stack figure {
  overflow: hidden;
}
.shows-page .page-hero .poster img,
.shows-page .show-journal-main img,
.shows-page .show-journal-orla img,
.shows-page .show-journal-stack figure img {
  transition: transform .55s ease;
  transform-origin: center center;
}
@media (hover:hover) {
  .shows-page .page-hero .poster:hover img,
  .shows-page .show-journal-main:hover img,
  .shows-page .show-journal-orla:hover img,
  .shows-page .show-journal-stack figure:hover img {
    transform: scale(1.035);
  }
}

@media (min-width:1101px) {
  /* Página 3 — volta ao comportamento estável, com o título corrigido */
  .shows-page .show-structure {
    padding-top: 48px !important;
    padding-bottom: 34px !important;
  }
  .shows-page .show-structure > .container {
    max-width: 1120px;
    min-height: calc(100svh - 83px - 48px - 34px) !important;
    display: flex;
    flex-direction: column;
  }
  .shows-page .show-structure .section-head {
    grid-template-columns: minmax(0, 1.52fr) minmax(0, .72fr);
    gap: 28px;
    margin-bottom: 14px;
  }
  .shows-page .show-structure .section-head p {
    margin: 26px 0 0 !important;
  }
  .shows-page .show-structure .section-head h2 {
    line-height: .95;
  }
  .shows-page .show-structure .section-head .title-line-2 {
    display: inline-block;
    margin-left: 4.1rem;
  }
  .shows-page .show-structure .structure-grid {
    margin-top: 4px;
    grid-template-columns: minmax(0, 1.44fr) minmax(0, .82fr);
    gap: 16px;
    align-items: start;
  }
  .shows-page .show-structure .structure-left,
  .shows-page .show-structure .structure-side {
    gap: 12px;
  }
  .shows-page .show-structure .structure-main,
  .shows-page .show-structure .structure-stage-bottom,
  .shows-page .show-structure .structure-private,
  .shows-page .show-structure .structure-wedding-large,
  .shows-page .show-structure .structure-production {
    padding: 6px;
  }
  .shows-page .show-structure figcaption {
    padding: 6px 4px 2px;
    font-size: .66rem;
  }
  .shows-page .show-structure .actions {
    margin-top: auto !important;
    padding-top: 12px !important;
    padding-bottom: 0 !important;
  }

  /* Página 4 — começar diretamente no azul e ocupar melhor a tela */
  .shows-page .shows-closing {
    padding-top: 32px !important;
    padding-bottom: 42px !important;
    margin-top: 0 !important;
  }
  .shows-page .shows-closing > .container {
    max-width: 1120px;
    min-height: calc(100svh - 83px - 32px - 42px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .shows-page .shows-closing-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(340px, .76fr);
    gap: 26px;
    align-items: center;
    margin-bottom: 22px;
  }
  .shows-page .shows-closing-media {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 12px;
    align-items: end;
  }
  .shows-page .shows-closing-photo {
    margin: 0;
    padding: 6px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
  }
  .shows-page .shows-closing-photo img {
    display: block;
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
  }
  .shows-page .shows-closing-photo-bahia img,
  .shows-page .shows-closing-photo-rio img {
    aspect-ratio: auto !important;
  }
  .shows-page .shows-closing-copy {
    max-width: 420px;
    padding-top: 0;
  }
  .shows-page .shows-closing-copy h2 {
    margin-top: .08em;
    margin-bottom: .18em;
    line-height: .94;
    font-size: clamp(2.7rem, 4.2vw, 4.2rem);
  }
  .shows-page .shows-closing-copy p {
    max-width: 40ch;
    line-height: 1.64;
  }
  .shows-page .shows-closing .stats {
    margin-top: auto;
  }
  .shows-page .shows-closing .actions {
    margin-top: 20px;
  }
}

@media (max-width:1100px) {
  .shows-page .show-structure .section-head .title-line-2 {
    display: inline-block;
    margin-left: 1.6rem;
  }
  .shows-page .show-structure .actions {
    margin-top: 16px !important;
  }
  .shows-page .shows-closing {
    padding-top: 28px !important;
    padding-bottom: 34px !important;
  }
  .shows-page .shows-closing-intro {
    gap: 14px;
  }
  .shows-page .shows-closing-media {
    display: grid;
    gap: 12px;
  }
  .shows-page .shows-closing-photo {
    padding: 6px;
  }
  .shows-page .shows-closing-photo img {
    display: block;
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
  }
}
