/* Fonte local do texto corrido: incorporada ao tema, sem dependência externa. */
@font-face {
  font-family: "Quicksand Chiquito";
  src: url("../fonts/Quicksand_Book.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

body {
  font-family: "Quicksand Chiquito", Arial, sans-serif;
}

/* Ajustes de tipografia e cores solicitados para a Home — v1.1.0 */
.hero h1 {
  font-size: clamp(38px, 4.75vw, 75px);
  line-height: .9;
}

.center-panel h2 {
  font-size: clamp(30px, 3.72vw, 55px);
  line-height: 1.08;
  max-width: 1000px;
}

.feature h2 {
  font-size: clamp(29px, 3.3vw, 49px);
  line-height: 1.04;
}

.about {
  background: #050505;
  color: var(--white);
}

.about-copy h2 {
  font-size: clamp(32px, 3.36vw, 53px);
  line-height: 1.02;
}

.about-copy > div {
  color: #b7b3ab;
}

.film-banner h2 {
  font-size: clamp(29px, 4.05vw, 64px);
  line-height: .92;
}

.contact-panel h2 {
  font-size: clamp(21px, 2.25vw, 34px);
}

@media (max-width: 900px) {
  .hero h1 { font-size: 34px; }
  .center-panel h2,
  .feature h2,
  .about-copy h2 { font-size: 34px; }
  .film-banner h2 { font-size: 32px; }
}

/* Refinamentos finais do acervo */
.center-panel { min-height: 300px; padding-top: 39px; padding-bottom: 39px; }
.archive-intro h1 { font-size: clamp(34px, 4.4vw, 68px); }
.archive-intro > p:last-child { color: var(--yellow); }
.photo-grid h2 { font-size: clamp(14px, 1.5vw, 24px); letter-spacing: .04em; text-transform: none; }
.films-grid h2 { font-size: clamp(34px, 4vw, 54px); line-height: .95; margin-top: 24px; text-transform: none; }
.film-summary { color: #c3c0ba; font-size: 14px; line-height: 1.9; padding: 0 28px; }
.story-text { color: #c3c0ba; font-size: 14px; line-height: 1.9; max-width: 760px; }
.story-text p { margin: 0 0 1.25em; }
.author-audio { margin: 34px 0 16px; padding-top: 22px; border-top: 1px solid #5c5141; max-width: 620px; }
.author-audio span { display: block; color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; margin-bottom: 14px; }
.author-audio audio { width: 100%; }
.about-page .about { min-height: 100svh; }
.about-page .about-image { min-height: 100svh; }
.about-page .about-copy h1 {
  font-family: var(--display);
  font-size: clamp(25px, 2.25vw, 36px);
  font-weight: 400;
  line-height: 1.08;
  margin: 28px 0;
}
.about-page .about-copy > p:not(.eyebrow) {
  color: #c3c0ba;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.9;
  margin: 0 0 1.25em;
  max-width: 720px;
}
.contact-page { min-height: calc(100svh - 112px); justify-content: center; }
.contact-page h1 { font-family: var(--display); font-size: clamp(25px, 2.2vw, 38px); font-weight: 400; text-transform: uppercase; letter-spacing: .25em; margin: 0 0 30px; }
.contact-page > p { color: var(--muted); margin: 0 0 35px; }

/* Acervo de filmes: mídia, título e resumo compartilham o mesmo eixo. */
.films-grid article > a {
  display: block;
  margin: 0 !important;
}

.films-grid h2,
.films-grid .film-summary {
  margin-left: 28px;
  margin-right: 28px;
}

.films-grid .film-summary {
  padding-left: 0;
  padding-right: 0;
}

.films-grid h2 {
  margin-bottom: 12px;
}

/* Moldura inviolável 16:9 para as capas de Filmes e Podcast. */
.films-grid .archive-media-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  overflow: hidden;
  background: #181818;
  margin: 0;
}

.films-grid .archive-media-frame .archive-cover,
.films-grid .archive-media-frame .archive-cover-placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
}

/* Podcast individual: mesmo eixo, proporção e painel da história fotográfica. */
.podcast-grid h2 { font-size: clamp(34px, 4vw, 54px); line-height: .95; }
.podcast-detail { min-height: 100svh; padding-top: 112px; }
.podcast-detail .podcast-landscape { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; margin: 0; background: #101010; }
.podcast-detail .podcast-cover { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; margin: 0; }
.podcast-detail > article { padding: 70px 7vw 90px; background: #252321; }
.podcast-detail h1 { font-family: var(--display); font-size: clamp(54px, 7vw, 100px); font-weight: 400; line-height: .9; margin: 18px 0 28px; text-transform: none; }
.podcast-audio { width: 100%; margin: 0 0 34px; }
.podcast-share { display: flex; flex-wrap: wrap; gap: 12px; margin: 36px 0; padding: 24px 0; border-top: 1px solid #5c5141; border-bottom: 1px solid #5c5141; }
.podcast-share span { width: 100%; color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; }
.podcast-share a { border: 1px solid #5c5141; padding: 10px 14px; font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.comments-area { margin-top: 55px; }
.comments-area h2, .comments-area h3 { font-size: clamp(25px, 3vw, 38px); margin-bottom: 24px; }
.published-comments { margin-top: 70px; padding-top: 50px; border-top: 1px solid #5c5141; }
.comment-list, .comment-list .children { list-style: none; padding: 0; margin: 0; }
.comment-list li { border-top: 1px solid #3b3935; padding: 34px 0; }
.comment-list > li:first-child { border-top: 0; }
.comment-list .children { margin: 30px 0 0 34px; padding-left: 28px; border-left: 1px solid #5c5141; }
.comment-list .avatar { display: none !important; }
.comment-list .comment-author { display: block; margin: 0 0 6px; font-size: 15px; line-height: 1.5; }
.comment-list .comment-author .says { color: #aaa69e; font-style: normal; }
.comment-list .comment-metadata { display: block; margin: 0 0 24px; color: #aaa69e; font-size: 12px; line-height: 1.6; }
.comment-list .comment-content { color: #f0eee8; font-size: 14px; line-height: 1.9; max-width: 760px; }
.comment-list .comment-content p { margin: 0 0 1.25em; }
.comment-list .reply { margin-top: 18px; }
.comment-list .comment-reply-link { display: inline-block; color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; padding-bottom: 6px; border-bottom: 1px solid #5c5141; }
.comment-form label { display: block; color: var(--muted); margin: 16px 0 8px; }
.comment-form input:not([type=submit]), .comment-form textarea { width: 100%; color: var(--white); background: #151515; border: 1px solid #3a3a38; padding: 14px; }
.comment-form input[type=submit] { background: transparent; border: 1px solid var(--gold); color: var(--gold); padding: 14px 22px; text-transform: uppercase; letter-spacing: .18em; cursor: pointer; }

/* Página individual de filme: título mais contido e próximo ao vídeo. */
.film-detail article {
  padding: 70px 7vw 90px;
  background: #252321;
  max-width: none;
}

.film-detail article h1 {
  font-size: clamp(54px, 7vw, 100px);
  line-height: .9;
  margin: 18px 0 28px;
  text-transform: none;
}

.detail-page article h1 {
  text-transform: none;
}

/*
 * Moldura editorial das páginas individuais no desktop.
 * Respiro duplicado: 10vw em cada lateral, somente no desktop.
 */
@media (min-width: 901px) {
  .detail-page,
  .film-detail,
  .podcast-detail {
    width: 80vw;
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
  }

  /*
   * História fotográfica no desktop:
   * a horizontal abre a página inteira; texto e vertical formam a faixa abaixo.
   */
  .detail-page {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: auto auto;
  }

  .detail-page .landscape {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .detail-page article {
    grid-column: 1;
    grid-row: 2;
  }

  .detail-page .portrait {
    grid-column: 2;
    grid-row: 2;
  }

  .detail-page .portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .post-type-archive-chiquito_foto .archive-intro {
    padding-top: 40px;
    padding-bottom: 35px;
  }
}

@media (max-width: 900px) {
  .center-panel { min-height: 300px; padding-top: 31px; padding-bottom: 31px; }
  .archive-intro h1 { font-size: 34px; }
  .photo-grid h2 { font-size: 13px; }
  /* Todo o acervo permanece visível; a página pode ser rolada normalmente. */
  .photo-grid > a:nth-child(n+5) { display: block; }
  .about-page .about-image { min-height: 640px; }
  .films-grid article > a { margin: 0; }
  .films-grid h2,
  .films-grid .film-summary {
    margin-left: 18px;
    margin-right: 18px;
  }
  .films-grid h2,
  .podcast-grid h2 {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1;
  }
  .film-detail article { padding: 65px 24px 70px; }
  .film-detail article h1 {
    font-size: clamp(42px, 12vw, 62px);
    line-height: .92;
    margin: 18px 0 24px;
  }
  .podcast-detail { width: 100%; padding-top: 88px; }
  .podcast-detail > article { padding: 65px 24px 70px; }
  .podcast-detail h1 { font-size: clamp(42px, 12vw, 62px); line-height: .92; margin: 18px 0 24px; }
  .film-summary { font-size: 14px; line-height: 1.85; }
  .about-page .about-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.9; }
  .published-comments { margin-top: 55px; padding-top: 40px; }
  .comment-list li { padding: 28px 0; }
  .comment-list .children { margin-left: 14px; padding-left: 18px; }
}
