/* Alexandre Thai 2.0 — V3.59 PREVIEW LOCAL — /shows/ exclusivamente.
   Escopo local: nova foto da Hero, inclusão da orla lotada em “Palco, rua e público”
   e ampliação de “Show é experiência — e também estrutura” com casamento e montagem.
   Não altera Home nem /biografia/. */

/* Hero: nova fotografia com camisa vermelha. */
.shows-page .page-hero .poster img {
  object-fit: cover;
  object-position: center 42%;
}

/* Página 2 — encaixe vertical com 5 fotos. */
@media (min-width:1101px) {
  .shows-page .show-proof {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .shows-page .show-proof .section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    gap: clamp(18px, 3vw, 42px);
    align-items: start;
    margin-bottom: 18px;
  }
  .shows-page .show-proof .section-head p {
    max-width: 48ch;
    padding-top: 0;
    font-size: .99rem;
    line-height: 1.66;
  }
  .shows-page .show-journal {
    grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr);
    gap: 18px;
  }
  .shows-page .show-journal-main img {
    height: 508px;
    object-fit: cover;
    object-position: center 36%;
  }
  .shows-page .show-journal-main figcaption {
    padding: 10px 8px 6px;
  }
  .shows-page .show-journal-main figcaption strong {
    font-size: 1.56rem;
  }
  .shows-page .show-journal-main figcaption span {
    font-size: .72rem;
  }
  .shows-page .show-journal-stack {
    gap: 10px;
  }
  .shows-page .show-journal-stack figure {
    padding: 7px;
  }
  .shows-page .show-journal-stack img {
    width: 100%;
    height: 112px;
    object-fit: cover;
  }
  .shows-page .show-journal-stack figure:nth-child(1) img { object-position: center 62%; }
  .shows-page .show-journal-stack figure:nth-child(2) img { object-position: center 46%; }
  .shows-page .show-journal-stack figure:nth-child(3) img { object-position: center 40%; }
  .shows-page .show-journal-stack figure:nth-child(4) img { object-position: center 35%; }
  .shows-page .show-journal-stack figcaption {
    padding: 8px 5px 4px;
    font-size: .70rem;
    line-height: 1.26;
  }
}

/* Página 3 — nova composição com 4 fotos, texto alinhado e sem corte na transição seguinte. */
@media (min-width:1101px) {
  .shows-page .show-structure {
    padding-top: 72px;
    padding-bottom: 54px;
  }
  .shows-page .show-structure .section-head {
    grid-template-columns: minmax(0, 1.26fr) minmax(0, .74fr);
    gap: clamp(22px, 3vw, 54px);
    align-items: start;
    margin-bottom: 24px;
  }
  .shows-page .show-structure .section-head h2 {
    font-size: clamp(2.9rem, 3.4vw, 4rem);
    line-height: .98;
    letter-spacing: -.02em;
    max-width: none;
    white-space: nowrap;
  }
  .shows-page .show-structure .section-head p {
    padding-top: 0;
    margin-top: 0;
    max-width: 44ch;
    font-size: .99rem;
    line-height: 1.68;
  }
  .shows-page .show-structure .structure-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
    gap: 18px;
    align-items: start;
  }
  .shows-page .show-structure .structure-grid figure,
  .shows-page .show-structure .structure-side,
  .shows-page .show-structure .structure-bottom {
    min-width: 0;
  }
  .shows-page .show-structure .structure-main,
  .shows-page .show-structure .structure-private,
  .shows-page .show-structure .structure-wedding,
  .shows-page .show-structure .structure-stage {
    margin: 0;
    background: #fff;
    border: 1px solid var(--line);
    padding: 8px;
  }
  .shows-page .show-structure .structure-main img {
    width: 100%;
    height: 330px;
    object-fit: cover;
    object-position: center 42%;
    display: block;
  }
  .shows-page .show-structure .structure-side {
    display: grid;
    gap: 14px;
  }
  .shows-page .show-structure .structure-private img {
    width: 100%;
    height: 176px;
    object-fit: cover;
    object-position: center 44%;
    display: block;
  }
  .shows-page .show-structure .structure-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    padding: 0;
    background: transparent;
    border: 0;
  }
  .shows-page .show-structure .structure-wedding img,
  .shows-page .show-structure .structure-stage img {
    width: 100%;
    height: 162px;
    object-fit: cover;
    display: block;
  }
  .shows-page .show-structure .structure-wedding img { object-position: center 34%; }
  .shows-page .show-structure .structure-stage img { object-position: center 50%; }
  .shows-page .show-structure .structure-main figcaption,
  .shows-page .show-structure .structure-private figcaption,
  .shows-page .show-structure .structure-wedding figcaption,
  .shows-page .show-structure .structure-stage figcaption {
    padding: 9px 6px 4px;
    font-size: .70rem;
    line-height: 1.28;
    letter-spacing: .07em;
    color: #51483f;
    text-transform: uppercase;
  }
  .shows-page .show-structure .actions {
    margin-top: 18px !important;
  }
}

@media (max-width:1100px) {
  .shows-page .show-proof .section-head,
  .shows-page .show-structure .section-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .shows-page .show-proof .section-head p,
  .shows-page .show-structure .section-head p {
    padding-top: 0;
    max-width: 60ch;
  }
  .shows-page .show-journal-stack {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
  }
  .shows-page .show-journal-stack img {
    height: 170px;
    object-fit: cover;
  }
  .shows-page .show-structure .structure-grid {
    display: grid;
    gap: 14px;
  }
  .shows-page .show-structure .structure-main,
  .shows-page .show-structure .structure-private,
  .shows-page .show-structure .structure-wedding,
  .shows-page .show-structure .structure-stage {
    margin: 0;
    background: #fff;
    border: 1px solid var(--line);
    padding: 8px;
  }
  .shows-page .show-structure .structure-side {
    display: grid;
    gap: 14px;
  }
  .shows-page .show-structure .structure-bottom {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
  }
  .shows-page .show-structure .structure-main img,
  .shows-page .show-structure .structure-private img,
  .shows-page .show-structure .structure-wedding img,
  .shows-page .show-structure .structure-stage img {
    width: 100%;
    height: auto;
    display: block;
  }
}

@media (max-width:900px) {
  .shows-page .show-journal-stack {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width:600px) {
  .shows-page .show-proof { padding-top: 62px; padding-bottom: 62px; }
  .shows-page .show-journal-stack { grid-template-columns: 1fr; }
  .shows-page .show-journal-stack img { height: auto; }
  .shows-page .show-structure .section-head h2 {
    font-size: clamp(2.45rem, 9vw, 3.2rem);
    white-space: normal;
  }
  .shows-page .show-structure .structure-bottom {
    grid-template-columns: 1fr;
  }
}
