/*
 * Componentes usados em mais de um template (páginas de marca, home, listagens).
 * Variações de marca ficam junto do componente. Carregado em todas as páginas.
 */

/* ==== Título e subtítulo de seção ==== */

/* <h1 class="titulo-secao">: título em caixa azul no alto das seções (Informações e dados,
   Programação local, Novidades, Projetos, Formatos comerciais, Diversas). Cor de marca e
   tamanhos menores ficam no componente. */
.titulo-secao {
  color: var(--cor-branco);
  background-color: var(--cor-azul-escuro);
  padding: 1.4rem;
  font-size: 2.2rem;
  font-family: "Gotham";
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  position: relative;
  width: fit-content;
}

/* <p class="subtitulo-secao">: frase ao lado do título, com o começo em negrito. */
.subtitulo-secao {
  font-size: 1.5rem;
  font-family: "Gotham";
  font-weight: 400;
}

/* ==== Sub-navegação das marcas ==== */

/* template-parts/marca-subnav.php. Variação por marca: .sub-navigation--{marca}. */
.sub-navigation {
  padding: 40.5px 0;
  background-color: var(--cor-branco);
}

.sub-navigation--engages {
  background-color: #f3f3f3;
}

.sub-navigation .row {
  align-items: center;
}

.sub-navigation .nav-item {
  margin-right: 80px;
}

.sub-navigation .nav-item:last-child {
  margin-right: 0;
}

.sub-navigation .nav-item a {
  font-size: 17px;
  color: var(--cor-cinza-escuro);
}

.sub-navigation--engages .nav-item a {
  color: #1e1e1e;
}

.sub-navigation--jovem-pan-fm .nav-item a {
  color: #57595b;
}

.sub-navigation--engages .nav-item a:hover {
  color: var(--cor-engages);
}

.sub-navigation--tv-vitoria .nav-item a:hover,
.sub-navigation--folha-vitoria .nav-item a:hover {
  color: var(--cor-azul-ciano);
}

/* Botão do menu no mobile. */
.marca-mobile-menu {
  font-size: 25px;
  display: none;
}

.sub-navigation--engages .marca-mobile-menu {
  color: var(--cor-branco);
}

.sub-navigation--jovem-pan-fm .marca-mobile-menu {
  color: var(--cor-vinho-jp-news);
}

.sub-navigation--pan-news .marca-mobile-menu {
  color: var(--cor-vermelho-spark);
}

.sub-navigation--tv-vitoria .marca-mobile-menu,
.sub-navigation--folha-vitoria .marca-mobile-menu {
  color: var(--cor-azul-medio);
}

@media (max-width: 1199.98px) {
  .sub-navigation .nav-item a {
    font-size: 16px;
  }

  .sub-navigation .nav-item {
    margin-right: 40px;
  }
}

@media (max-width: 991.98px) {
  .marca-mobile-menu {
    display: block;
  }

  .sub-navigation .col-md-12 ul {
    text-align: right;
  }

  .sub-navigation .nav-item {
    margin-right: 0px;
  }

  .sub-navigation img {
    display: block;
    max-width: 215px;
  }

  .sub-navigation .nav-item a {
    font-size: 14px;
  }

  .sub-navigation nav {
    text-align: center;
  }

  .sub-navigation .nav-item:last-child {
    margin-bottom: 0;
  }
}

/* ==== Banner do topo das marcas ==== */

/* <section class="banner-marca banner-marca--{marca}"> no topo das páginas de marca (e das galerias,
   com o banner da Jovem Pan FM). A imagem de fundo vem do campo ACF banner_imagem (style="").
   Regras gerais usam uma classe (.banner-wrapper) e as da marca usam duas: a marca sempre vence,
   inclusive as regras gerais das larguras menores. */
.banner-marca {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: var(--cor-preto);
}

.banner-wrapper {
  justify-content: flex-end;
  align-items: flex-end;
  overflow: hidden;
  color: var(--cor-branco);
  font-family: "Gotham";
  font-size: 1.2rem;
  display: flex;
}

.banner-wrapper b {
  font-weight: bold;
}

.banner-wrapper p {
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 3.1rem;
  line-height: 3.6rem;
}

.banner-imagem {
  width: 100%;
}

.banner-marca--tv-vitoria .banner-wrapper {
  height: 450px;
}

.banner-marca--folha-vitoria .banner-wrapper {
  height: 450px;
  font-size: 50px;
  line-height: 1.1;
}

.banner-marca--engages .container {
  max-width: unset;
  margin-bottom: 60px;
}

.banner-marca--jovem-pan-fm .container-jp-fm {
  max-width: 1300px;
}

.banner-marca--jovem-pan-fm .banner-wrapper p {
  color: var(--cor-vermelho-jp-fm);
}

.banner-marca--pan-news {
  padding: 40px;
}

.banner-marca--pan-news .banner-wrapper p {
  color: #414042;
  font-size: 2rem;
  text-transform: initial;
  line-height: 2.4rem;
}

/* Botão "Escute agora" (Jovem Pan FM e Pan News FM). */
.banner-marca--jovem-pan-fm .btn-jp-fm-banner {
  margin-top: 20px;
  width: fit-content;
}

.banner-marca--jovem-pan-fm .banner-wrapper a,
.banner-marca--pan-news .banner-wrapper a {
  color: var(--cor-branco);
  text-transform: uppercase;
  font-weight: bold;
  padding: 20px 45px;
  transition: 0.3s;
  background-color: var(--cor-vermelho-jp-fm);
}

.banner-marca--jovem-pan-fm .banner-wrapper a:hover,
.banner-marca--pan-news .banner-wrapper a:hover {
  opacity: 0.6;
  text-decoration: none;
}

.banner-marca--jovem-pan-fm .banner-wrapper i {
  margin-right: 10px;
  color: var(--cor-preto);
}

.banner-marca--pan-news .banner-wrapper i {
  margin-right: 10px;
  color: var(--cor-vermelho-spark);
}

@media (min-width: 1441px) {
  .banner-marca--jovem-pan-fm .container-jp-fm {
    max-width: 1400px;
  }
}

@media (max-width: 1199.98px) {
  .banner-wrapper {
    font-size: 30px;
  }

  .banner-marca--folha-vitoria .banner-wrapper {
    font-size: 46px;
  }
}

@media (max-width: 991.98px) {
  .banner-wrapper {
    font-size: 23px;
    align-items: center;
  }

  .banner-wrapper p {
    font-size: 2.8rem;
  }

  .banner-marca--tv-vitoria .banner-wrapper {
    height: 250px;
  }

  .banner-marca--folha-vitoria .banner-wrapper {
    font-size: 36px;
    height: fit-content;
    padding-top: 20px;
  }

  .banner-marca--jovem-pan-fm .banner-wrapper p {
    font-size: 2rem;
    line-height: 2.2rem;
  }

  .banner-marca--jovem-pan-fm .banner-wrapper a,
  .banner-marca--pan-news .banner-wrapper a {
    font-size: 1rem;
    padding: 20px;
  }
}

@media (max-width: 767.98px) {
  .banner-wrapper {
    font-size: 20px;
    gap: 12px;
  }

  .banner-marca--tv-vitoria .banner-wrapper {
    height: 200px;
  }

  .banner-marca--folha-vitoria .banner-wrapper {
    height: auto;
  }

  .banner-marca--folha-vitoria .banner-wrapper p {
    font-size: 2rem;
    line-height: 2.4rem;
  }

  .banner-marca--pan-news .banner-wrapper a {
    font-size: 21px;
  }
}

@media (max-width: 575.98px) {
  .banner-wrapper p {
    font-size: 2.2rem;
    line-height: 2.5rem;
  }

  .banner-imagem {
    max-width: 100%;
  }

  .banner-marca--tv-vitoria .splitter-wrapper {
    display: none;
  }

  .banner-marca--tv-vitoria .banner-wrapper {
    padding: 20px 0;
    text-align: center;
    gap: 30px;
  }

  .banner-marca--folha-vitoria .banner-wrapper p {
    font-size: 2.2rem;
    line-height: 2.5rem;
  }

  .banner-marca--jovem-pan-fm {
    text-align: center;
  }

  .banner-marca--jovem-pan-fm .btn-jp-fm-banner {
    display: block;
    margin: 20px auto;
  }

  .banner-marca--pan-news .banner-imagem {
    margin: 0 auto;
    display: block;
  }
}

@media (max-width: 515px) {
  .banner-marca--folha-vitoria .banner-wrapper p {
    font-size: 1.5rem;
    line-height: 1.8rem;
  }
}

/* Banner que já é a arte completa (1920×500 no campo banner_imagem): a arte aparece inteira, com a
   altura acompanhando a largura, e o que houver no banner (ex.: "Escute agora") vem logo abaixo dela,
   sem cobrir a arte. Vem depois das regras de cada marca para vencer as alturas fixas. */
.banner-marca--arte {
  padding-top: 26.05%;
  background-color: transparent;
  background-size: 100% auto;
  background-position: center top;
}

.banner-marca--arte .banner-wrapper {
  height: auto;
  padding-top: 0;
}

.banner-marca--arte .btn-jp-fm-banner {
  display: block;
  margin: 20px auto;
}

@media (max-width: 568px) {
  .banner-wrapper .h-100 {
    height: auto !important;
  }
}

/* ==== Sobre a empresa ==== */

/* Seção "Quem somos" das páginas de marca e da home. Variação por marca: .sobre-empresa--{marca};
   as regras de cada marca vêm depois das gerais (inclusive das larguras menores) para vencê-las. */

.sobre-empresa {
  padding: 20px 0 50px;
}

.sobre-empresa .container {
  position: relative;
}

.sobre-empresa h1 {
  font-weight: 300;
  font-family: "Gotham";
  color: var(--cor-branco);
  letter-spacing: -0.7px;
  margin-bottom: 25px;
  margin-top: 40px;
}

.sobre-empresa h1 span {
  font-weight: bold;
  color: var(--cor-branco);
  background-color: var(--cor-vermelho-jp-fm);
  padding: 2rem 4rem;
  font-size: 1.6rem;
  text-transform: uppercase;
  position: absolute;
  top: -9.5%;
  left: -3%;
}

.sobre-empresa p {
  color: var(--cor-branco);
  font-family: "Gotham";
  font-size: 1.2rem;
  font-weight: bold;
}

.sobre-empresa a {
  font-size: 0.9rem;
  padding: 15px;
  background-color: var(--cor-azul-escuro);
  float: right;
  color: var(--cor-branco);
  font-weight: bold;
  text-transform: uppercase;
  font-family: "Gotham";
  width: fit-content;
  display: block;
}

.sobre-empresa .inner-empresa {
  margin: 10% 5% 0 12%;
  padding-right: 6%;
  text-align: start;
  color: var(--cor-branco);
}

.sobre-empresa .row {
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  padding: 105px 0 150px;
}

.sobre-empresa .p-title {
  font-size: 1.6rem;
}

@media (max-width: 1199.98px) {
  .sobre-empresa a {
    font-size: 0.85rem;
    padding: 10px;
  }

  .sobre-empresa {
    padding: 0px 0 50px;
  }

  .sobre-empresa .row {
    padding: 120px 0 150px;
  }

  .sobre-empresa p {
    font-size: 16px;
    margin-bottom: 20px;
  }

  .sobre-empresa h1 {
    font-size: 38px;
    margin-bottom: 25px;
  }
}

@media (max-width: 991.98px) {
  .sobre-empresa a {
    background-color: var(--cor-azul-escuro);
    color: var(--cor-branco);
    padding: 10px;
    top: 80%;
    left: 39.75%;
    margin: 0 auto;
    float: none;
  }

  .sobre-empresa .row {
    padding: 0;
    background-image: none !important;
  }

  .sobre-empresa {
    margin-top: 0 !important;
  }

  .sobre-empresa h1,
  .sobre-empresa p {
    text-align: center;
  }

  .sobre-empresa .p-title {
    padding-top: 2rem;
  }
}

@media (max-width: 767.98px) {
  .sobre-empresa a {
    background-color: var(--cor-azul-escuro);
    color: var(--cor-branco);
    padding: 15px;
    float: none;
  }

  .sobre-empresa p {
    font-size: 15px;
  }

  .sobre-empresa .inner-empresa {
    padding: 0 0 50px;
  }
}

/* Home */

.sobre-empresa--home h1 {
  font-weight: bold;
  font-size: 1.6rem;
  text-transform: uppercase;
}

.sobre-empresa--home p {
  font-weight: normal;
}

.sobre-empresa--home .row {
  background-image: url("../img/bg-home-regua-2026.webp") !important;
}

@media (max-width: 992px) {
  .sobre-empresa--home {
    background-image: url("../img/bg-home2-mobile.webp") !important;
  }

  .sobre-empresa--home .row {
    background: none !important;
  }
}

.sobre-empresa--home {
  background-color: var(--cor-branco);
  position: relative;
}

.sobre-empresa--home .inner-empresa {
  padding: 0 10% 0 5%;
  margin: 0;
}

.sobre-empresa--home h1 span {
  color: var(--cor-azul-claro);
}

/* TV Vitória */

.sobre-empresa--tv-vitoria .inner-empresa {
  margin: 10% 8% 0 8%;
  padding-right: 0 !important;
}

.sobre-empresa--tv-vitoria .row {
  background-image: url("../img/tv-vitoria-container-1-fullhd.webp");
}

.sobre-empresa--tv-vitoria h1 span {
  color: var(--cor-branco);
  background-color: var(--cor-azul-escuro);
  padding: 2rem;
  font-size: 1.6rem;
  text-transform: uppercase;
  position: absolute;
  top: -21%;
  left: -3%;
}

.sobre-empresa--tv-vitoria h1 {
  color: var(--cor-branco);
  font-family: "Gotham";
  font-size: 1.2rem;
  font-weight: bold;
  text-transform: uppercase;
}

.sobre-empresa--tv-vitoria {
  background-color: var(--cor-branco);
}

@media (max-width: 1199.98px) {
  .sobre-empresa--tv-vitoria h1 span {
    top: -13%;
    left: -3%;
  }
}

@media (max-width: 991.98px) {
  .sobre-empresa--tv-vitoria {
    background: url("../img/tv-vitoria-container-4-fullhd.jpg.webp") no-repeat
      center center/cover;
  }

  .sobre-empresa--tv-vitoria {
    color: var(--cor-branco);
  }
}

@media (max-width: 575.98px) {
  .sobre-empresa--tv-vitoria h1 span {
    display: flex;
  }
}

/* Folha Vitória */

.sobre-empresa--folha-vitoria h1 {
  color: var(--cor-cinza-escuro);
}

.sobre-empresa--folha-vitoria h1 span {
  color: var(--cor-branco);
  background-color: var(--cor-azul-escuro);
  padding: 2rem 5rem;
  font-size: 1.6rem;
  text-transform: uppercase;
  position: absolute;
}

.sobre-empresa--folha-vitoria .row {
  background-image: url("../img/folha-vitoria-quero-anunciar-full-hd.webp");
}

@media (max-width: 1199.98px) {
  .sobre-empresa--folha-vitoria h1 span {
    top: -16%;
    left: -3%;
    padding: 2rem 4.2rem;
  }
}

@media (max-width: 991.98px) {
  .sobre-empresa--folha-vitoria {
    background: url("../img/folha-vitoria-publicidade-legal-background.webp")
      no-repeat center center/cover;
  }

  .sobre-empresa--folha-vitoria h1,
  .sobre-empresa--folha-vitoria p {
    color: var(--cor-branco);
  }
}

/* Jovem Pan FM */

.sobre-empresa--jovem-pan-fm .inner-empresa .p-title {
  font-size: 1.5rem;
}

.sobre-empresa--jovem-pan-fm .jp-fm-container {
  padding-top: 8%;
}

.sobre-empresa--jovem-pan-fm .jp-fm-anuncio-link {
  font-size: 0.9rem;
  padding: 15px;
  background-color: var(--cor-branco);
  float: right;
  color: #ff4960;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "Gotham";
  width: fit-content;
  display: block;
  position: relative;
  top: 15%;
  left: 0;
  margin-top: 60px;
}

.sobre-empresa--jovem-pan-fm .row {
  background-image: url("../img/jovem-pan-queroanunciar-container.webp");
  height: 720px;
}

.sobre-empresa--jovem-pan-fm h1 {
  font-size: 39px;
}

.sobre-empresa--jovem-pan-fm a {
  background-color: var(--cor-preto);
}

.sobre-empresa--jovem-pan-fm {
  background-color: var(--cor-branco);
}

@media (max-width: 1199.98px) {
  .sobre-empresa--jovem-pan-fm .jp-fm-anuncio-link {
    position: static;
    margin-top: 80px;
  }

  .sobre-empresa--jovem-pan-fm h1 {
    font-size: 32px;
  }
}

@media (max-width: 991.98px) {
  .sobre-empresa--jovem-pan-fm {
    background: url("../img/jovem-pan-downloads-background.webp") no-repeat
      center center/cover;
    background-color: #efefef !important;
  }

  .sobre-empresa--jovem-pan-fm .row {
    height: auto;
  }

  .sobre-empresa--jovem-pan-fm .jp-fm-container {
    padding-top: 40px !important;
  }

  .sobre-empresa--jovem-pan-fm h1 span {
    font-weight: bold;
    color: var(--cor-branco);
    background-color: var(--cor-vermelho-jp-fm);
    padding: 2rem 3rem;
    font-size: 1.5rem;
    text-transform: uppercase;
    position: static;
  }

  .sobre-empresa--jovem-pan-fm .jp-fm-anuncio-link {
    float: none;
    position: static;
    margin-top: 50px;
  }

  .sobre-empresa--jovem-pan-fm .inner-empresa .p-title {
    padding-top: 20px;
  }
}

@media (max-width: 767.98px) {
  .sobre-empresa--jovem-pan-fm {
    padding: 50px 0 50px;
  }

  .sobre-empresa--jovem-pan-fm .jp-fm-container {
    text-align: center;
    padding-top: 0 !important;
  }

  .sobre-empresa--jovem-pan-fm .jp-fm-container .inner-empresa {
    padding: 0;
  }
}

@media (max-width: 575.98px) {
  .sobre-empresa--jovem-pan-fm {
    padding: 0 0 30px;
  }

  .sobre-empresa--jovem-pan-fm .container {
    height: auto;
  }

  .sobre-empresa--jovem-pan-fm h1 span {
    color: var(--cor-branco);
    padding: 1.4rem;
    font-size: 1.3rem;
    text-transform: uppercase;
    top: 0 !important;
    left: 0 !important;
    position: relative;
  }
}

/* Pan News FM */

@media (max-width: 992px) {
  .sobre-empresa--pan-news {
    background-color: var(--cor-branco) !important;
  }
}

.sobre-empresa--pan-news h1 span {
  background-color: var(--cor-bege-jp-news);
  color: var(--cor-vinho-jp-news);
}

.sobre-empresa--pan-news .row {
  background-image: url("../img/pan-news-quero-anunciar-bg.webp");
}

.sobre-empresa--pan-news h1 {
  font-size: 36px;
}

.sobre-empresa--pan-news a {
  background-color: var(--cor-bege-jp-news);
  color: var(--cor-vinho-jp-news);
  margin-top: 50px;
}

@media (max-width: 1199.98px) {
  .sobre-empresa--pan-news h1 {
    font-size: 29px;
  }
}

@media (max-width: 991.98px) {
  .sobre-empresa--pan-news {
    background: url("../img/pan-news-downloads-bg.webp") no-repeat center
      center/cover;
    padding: 0 0 30px;
  }
}

/* Engages */

.sobre-empresa--engages .inner-empresa span,
.sobre-empresa--engages .inner-empresa a {
  color: var(--cor-branco);
  background-color: var(--cor-engages);
}

.sobre-empresa--engages .inner-empresa .p-title {
  font-weight: 900;
}

.sobre-empresa--engages .inner-empresa p {
  font-weight: 300;
}

.sobre-empresa--engages .inner-empresa img {
  position: absolute;
  top: -110px;
  right: -350px;
}

@media (max-width: 992px) {
  .sobre-empresa--engages {
    background-color: var(--cor-branco) !important;
  }

  .sobre-empresa--engages .inner-empresa img {
    display: none;
  }
}

.sobre-empresa--engages h1 span {
  top: -70px;
}

.sobre-empresa--engages h1 {
  font-size: 24px;
  font-weight: bold;
  text-transform: uppercase;
}

.sobre-empresa--engages .row {
  position: relative;
  background-image: url("../img/fundo-about-engages-azul.webp") !important;
  background-size: cover;
  padding: 20px 0;
}

/* Variações compartilhadas */

@media (max-width: 991.98px) {
  .sobre-empresa--tv-vitoria .inner-empresa,
  .sobre-empresa--folha-vitoria .inner-empresa,
  .sobre-empresa--jovem-pan-fm .inner-empresa,
  .sobre-empresa--pan-news .inner-empresa,
  .sobre-empresa--engages .inner-empresa {
    padding: 0 !important;
    margin: 0 !important;
  }

  .sobre-empresa--tv-vitoria h1 span,
  .sobre-empresa--folha-vitoria h1 span,
  .sobre-empresa--pan-news h1 span,
  .sobre-empresa--engages h1 span {
    padding: 1.4rem;
    font-size: 1.3rem;
    text-transform: uppercase;
    top: 0 !important;
    left: 0 !important;
    position: relative;
  }
}

/* ==== Informações e dados ==== */

/* Seção "Informações e dados" das páginas de marca. Variação por marca: .informacoes-dados--{marca};
   as regras de cada marca vêm depois das gerais (inclusive das larguras menores) para vencê-las. */
.informacoes-dados {
  padding: 20px 0;
  position: relative;
  background: var(--cor-branco);
}

.informacoes-dados p {
  font-size: 1.5rem;
  font-family: "Gotham";
  font-weight: 400;
}

/* Coluna do meio: cobertura com legenda do mapa. */
.informacoes-dados .coluna-info-central {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

.informacoes-dados .coluna-info-central p {
  padding: 0 100px 0 25px;
  font-family: "Gotham";
  color: var(--cor-azul-escuro);
  text-align: start;
  font-size: 1.7rem;
}

.informacoes-dados .coluna-info-central span {
  font-weight: bold;
  background-color: var(--cor-azul-escuro);
  padding: 10px;
  color: var(--cor-branco);
  font-family: "Gotham";
  font-size: 1.2rem;
}

.informacoes-dados .coluna-info-central ul {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  gap: 10px;
}

.informacoes-dados .coluna-info-central ul li {
  display: flex;
  align-items: center;
  font-weight: bold;
  gap: 15px;
}

.informacoes-dados .coluna-info-central ul li:first-child::before,
.informacoes-dados .coluna-info-central ul li:nth-child(2)::before,
.informacoes-dados .coluna-info-central ul li:last-child::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
}

.informacoes-dados .coluna-info-central ul li:first-child::before {
  background-color: #518bc6;
}

.informacoes-dados .coluna-info-central ul li:nth-child(2)::before {
  background-color: #cdcccc;
}

.informacoes-dados .coluna-info-central ul li:last-child::before {
  background-color: #aad4ec;
}

/* Caixas com os números. */
.informacoes-dados .box {
  font-family: "Gotham";
  display: flex;
  flex-direction: column;
  align-items: center;
}

.informacoes-dados .box h2 {
  font-weight: bold;
  color: var(--cor-branco);
  background: #20acd5;
  width: 70%;
  padding: 10px 20px;
  font-size: 3rem;
  margin: 0;
  text-align: center;
  text-transform: uppercase;
}

.informacoes-dados .box p {
  color: var(--cor-azul-escuro);
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  font-size: 23px;
}

@media (max-width: 1199.98px) {
  .informacoes-dados .coluna-info-central span {
    font-size: 1rem;
  }
}

@media (max-width: 991.98px) {
  .informacoes-dados .box h2 {
    font-size: 2rem;
  }
}

@media (max-width: 767.98px) {
  .informacoes-dados .coluna-info-central {
    gap: 35px;
  }

  .informacoes-dados h1 {
    margin: 0 auto 20px;
  }
}

@media (max-width: 575.98px) {
  .informacoes-dados p {
    text-align: center;
  }

  .informacoes-dados .coluna-info-central {
    padding: 20px 20px 50px;
  }
}

/* TV Vitória */

.informacoes-dados--tv-vitoria .box h2 {
  width: 100% !important;
}

/* Folha Vitória: blocos de números com título em degradê. */

.informacoes-dados--folha-vitoria .mb-lg-5 {
  gap: 2rem;
}

.informacoes-dados--folha-vitoria .dados-folha-vitoria-conteudo {
  font-family: "Gotham";
  text-transform: uppercase;
}

.informacoes-dados--folha-vitoria .dados-folha-vitoria-conteudo h2 {
  padding: 1rem;
  background: linear-gradient(
    351deg,
    var(--cor-azul-folha-escuro) 25%,
    var(--cor-azul-folha-claro) 75%
  );
  color: var(--cor-branco);
  font-weight: bold;
}

.informacoes-dados--folha-vitoria .dados-folha-vitoria-conteudo h3 {
  text-align: center;
  font-weight: bold;
}

@media (max-width: 991.98px) {
  .informacoes-dados--folha-vitoria .dados-folha-vitoria-conteudo h2 {
    font-size: 1.5rem;
  }

  .informacoes-dados--folha-vitoria .dados-folha-vitoria-conteudo h3 {
    font-size: 1.3rem;
  }
}

@media (max-width: 767.98px) {
  .informacoes-dados--folha-vitoria .ml-2 {
    gap: 40px;
  }
}

/* Jovem Pan FM */

.informacoes-dados--jovem-pan-fm h1 {
  background-color: var(--cor-vermelho-jp-fm);
}

.informacoes-dados--jovem-pan-fm .coluna-info-central span {
  background: var(--cor-vermelho-jp-fm);
}

.informacoes-dados--jovem-pan-fm
  .coluna-info-central
  ul
  li:first-child::before {
  background-color: #ec2332;
}

.informacoes-dados--jovem-pan-fm .coluna-info-central ul li:last-child::before {
  background-color: #a4a7aa;
}

.informacoes-dados--jovem-pan-fm .box h2 {
  background-color: var(--cor-vermelho-jp-fm);
  width: 100%;
  font-size: 2.5rem;
}

@media (max-width: 991.98px) {
  .informacoes-dados--jovem-pan-fm .box h2 {
    width: 70%;
  }
}

@media (max-width: 575.98px) {
  .informacoes-dados--jovem-pan-fm .box h2 {
    width: 100%;
    font-size: 2rem;
  }
}

/* Pan News FM */

.informacoes-dados--pan-news h1,
.informacoes-dados--pan-news .coluna-info-central span,
.informacoes-dados--pan-news .box h2 {
  background-color: var(--cor-vermelho-pan-news);
}

.informacoes-dados--pan-news .coluna-info-central ul li:first-child::before {
  background-color: #de2b31;
}

.informacoes-dados--pan-news .coluna-info-central ul li:last-child::before {
  background-color: #cdcccc;
}

/* Engages */

.informacoes-dados--engages h1,
.informacoes-dados--engages .box h2 {
  background-color: var(--cor-engages);
  color: var(--cor-branco);
}

.informacoes-dados--engages .box h2 {
  font-size: 2.2rem;
}

.informacoes-dados--engages h3 {
  font-family: "Gotham";
}

/* ==== Título em faixa ==== */

/* <h1 class="titulo-faixa">: título sobre uma faixa colorida, no alto da seção (Redes sociais,
   Publicidade Legal da Folha, Downloads da Jovem Pan FM). */
.titulo-faixa {
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Gotham";
  color: var(--cor-branco);
  background-color: var(--cor-azul-escuro);
  padding: 1.4rem 4rem;
  text-transform: uppercase;
  position: absolute;
  top: -40px;
}

.titulo-faixa--jovem-pan-fm {
  background-color: var(--cor-vermelho-jp-fm);
}

@media (max-width: 991.98px) {
  .titulo-faixa {
    left: 0;
    right: 0;
    width: fit-content;
    margin: 0 auto;
  }
}

@media (max-width: 362px) {
  .titulo-faixa {
    left: 8%;
  }
}

/* ==== Redes sociais ==== */

/* template-parts/marca-redes-sociais.php (TV Vitória, home, Jovem Pan FM, Pan News FM) e o bloco
   da Folha Vitória. Variação por marca: .redes-sociais--{marca}. */
.redes-sociais {
  position: relative;
  padding: 50px 0;
  background-repeat: round;
}

.redes-sociais--tv-vitoria {
  background-image: url("../img/tv-vitoria-container-3-fullhd.webp");
}

.redes-sociais--folha-vitoria {
  background-image: url("../img/folha-vitoria-publicidade-legal-background.webp");
}

.redes-sociais--jovem-pan-fm {
  background-image: url("../img/jovem-pan-redessociais-background.webp");
}

.redes-sociais--pan-news {
  color: var(--cor-azul-escuro);
}

.redes-sociais--pan-news h1 {
  color: var(--cor-vinho-jp-news);
  background-color: var(--cor-bege-jp-news);
  padding: 1.2rem 1rem;
  font-size: 2.2rem;
  font-family: "Gotham";
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  position: relative;
  width: fit-content;
}

.redes-sociais--pan-news .box {
  background-color: var(--cor-vinho-jp-news);
  padding: 20px;
  margin-top: 40px;
}

.redes-sociais a:hover {
  text-decoration: none;
  cursor: pointer;
}

.redes-sociais .box-wrapper {
  display: flex;
  justify-content: space-evenly;
}

.redes-sociais .box {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  font-family: "Gotham";
}

.redes-sociais .box h3 {
  font-size: 48px;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin: 0;
  gap: 1rem;
  color: var(--cor-branco);
}

.redes-sociais .box h3 img {
  margin-right: 10px;
  width: 50px;
  height: 50px;
  border-radius: 14px;
}

.redes-sociais .box span {
  color: var(--cor-cinza-medio);
  font-size: 22px;
  font-weight: normal;
}

/* Espaçador vazio antes do número de seguidores. */
.redes-sociais .box span.rv-redes-sociais-espaco {
  font-size: 18px;
}

@media (max-width: 1199.98px) {
  .redes-sociais .box h3 {
    font-size: 38px;
  }

  .redes-sociais a {
    padding: 40px 10px;
    font-size: 20px;
    width: 230px;
  }
}

@media (max-width: 991.98px) {
  .redes-sociais .box-wrapper {
    flex-direction: column;
  }

  .redes-sociais .box {
    margin-bottom: 20px;
  }

  .redes-sociais .box:last-child {
    margin-bottom: 0;
  }
}

/* ==== Programação local / cases ==== */

/* "Programação local" da TV Vitória e "Outros cases de sucesso" da Engages.
   Variação por marca: .programacao-local--{marca}. */
.programacao-local {
  padding: 60px 0 20px;
  background: var(--cor-branco);
}

.programacao-local .row:nth-child(2) {
  margin-top: 50px;
}

.programacao-local .box {
  padding: 20px;
  background-color: var(--cor-azul-escuro);
  color: var(--cor-branco);
  font-family: "Gotham";
  margin: 0 auto;
  height: 100%;
}

.programacao-local .box p {
  margin: 0 15px 6px;
}

.programacao-local .box h2 {
  font-weight: bold;
  margin: 12px 15px 12px;
  font-size: 1.25rem;
}

.programacao-local .box img {
  width: 100%;
}

@media (max-width: 767.98px) {
  .programacao-local h1 {
    margin: 0 auto 20px;
  }

  .programacao-local .row:nth-child(2) {
    margin-top: 10px;
  }
}

/* TV Vitória */

.programacao-local--tv-vitoria .box {
  padding: 5px;
}

/* Engages */

.programacao-local--engages {
  padding: 20px 0 50px;
}

.programacao-local--engages h1 {
  background-color: var(--cor-engages);
  color: var(--cor-branco);
}

.programacao-local--engages .box {
  width: 300px;
  padding: 20px;
  background-color: var(--cor-engages);
  color: var(--cor-branco);
  font-weight: 700;
  font-family: "Gotham";
  margin-bottom: 30px;
}

.programacao-local--engages img {
  max-width: 100%;
  margin: 0 auto;
  display: block;
  position: relative;
}

.programacao-local--engages .foto-influencer-case-sucesso {
  width: 320px;
  margin: 0 auto;
  display: block;
  position: relative;
}

.programacao-local--engages .foto-influencer-case-sucesso::before {
  content: "";
  width: 180px;
  height: 100px;
  background-color: var(--cor-engages);
  display: block;
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 0;
}

/* Etiqueta com o nome do case. */
.programacao-local--engages .nome-influencer-caso-sucesso {
  color: var(--cor-branco);
  background-color: var(--cor-preto);
  font-size: 1rem;
  font-weight: bold;
  font-family: "Gotham";
  display: flex;
  justify-content: flex-end;
  position: relative;
}

.programacao-local--engages .nome-influencer-caso-sucesso span {
  background-color: var(--cor-preto);
  padding: 0.7rem 1.2rem;
  font-weight: bold;
  font-family: "Gotham";
  position: absolute;
  right: -10px;
  bottom: -10px;
}

@media (max-width: 575.98px) {
  .programacao-local--engages p {
    text-align: center;
  }
}

/* ==== Colunistas ==== */

/* Colunistas da Folha Vitória e da Pan News FM. Variação por marca: .colunistas--{marca}. */
.colunistas {
  background-color: var(--cor-branco);
  padding: 20px 0 0;
}

.colunistas h1 {
  font-family: "Gotham";
  font-weight: bold;
  color: var(--cor-branco);
  padding: 1.4rem 3rem;
  font-size: 2.2rem;
  text-transform: uppercase;
  background: var(--cor-azul-escuro);
  position: relative;
  width: fit-content;
}

.colunistas .item-wrapper {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.colunistas .item-wrapper .col-4 {
  align-items: center;
  flex-direction: column;
  display: flex;
  margin-bottom: 40px;
  padding: 0 0 20px;
}

.colunistas .item-wrapper .caixa-colunistas {
  position: relative;
}

.colunistas .item-wrapper p {
  color: var(--cor-branco);
  font-family: "Gotham";
  margin-bottom: 0;
}

.colunistas .item-wrapper .img-wrapper {
  border: 2px solid var(--cor-branco);
  padding: 10px;
  position: relative;
}

.colunistas .item-wrapper .img-wrapper::before {
  content: "";
  width: 170px;
  height: 50px;
  background-color: #001f38;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.colunistas .item-wrapper img {
  width: 248px;
  height: 248px;
  background: var(--cor-branco);
  z-index: 2;
  position: relative;
}

.colunistas .item-wrapper .caixa-nomes {
  color: var(--cor-branco);
  background: var(--cor-azul-escuro);
  font-family: "Gotham";
  margin: 0;
  padding: 0.7rem 1.2rem;
  text-transform: uppercase;
  font-size: 0.9rem;
  text-align: center;
  z-index: 3;
  position: absolute;
  right: 55px;
  bottom: 10px;
}

@media (max-width: 991.98px) {
  .colunistas h1 {
    padding: 1.4rem 2.8rem;
    font-size: 1.8rem;
  }
}

@media (max-width: 767.98px) {
  .colunistas h1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}

/* Pan News FM */

.colunistas--pan-news h1,
.colunistas--pan-news .caixa-nomes,
.colunistas--pan-news .img-wrapper::before {
  background-color: var(--cor-vermelho-pan-news) !important;
}

/* ==== Downloads ==== */

/* Seção de downloads das páginas de marca e "Vamos conversar?" da home; o bloco de contato fica
   dentro dela. Variação por marca: .downloads--{marca}. Botões: template-parts/marca-downloads-botoes.php. */
.downloads {
  padding: 50px 0;
}

/* Cores da seção (fundo e --secao-texto) e da caixa do formulário (--form-fundo e --form-texto);
   o bloco de contato fica dentro da seção e herda as variáveis. Sem variável, texto branco. */
.downloads--tv-vitoria {
  background-color: #f9f9f9;
  --secao-texto: #283083;
  --form-fundo: var(--cor-azul-rede);
  --form-texto: var(--cor-branco);
}

.downloads--folha-vitoria {
  background-color: var(--cor-azul-rede);
  margin-top: 4rem;
  --secao-texto: var(--cor-branco);
  --form-fundo: #e5e0e7;
  --form-texto: var(--cor-azul-rede);
}

.downloads--jovem-pan-fm {
  background-color: var(--cor-branco);
  --secao-texto: var(--cor-preto);
  --form-fundo: #dd0510;
  --form-texto: var(--cor-branco);
}

.downloads--engages {
  background-color: #989fa7;
  --secao-texto: var(--cor-preto);
  --form-fundo: var(--cor-engages);
  --form-texto: var(--cor-branco);
}

.downloads--pan-news {
  background: url("../img/pan-news-downloads-bg.webp") no-repeat center
    center/cover;
}

.downloads--home {
  background: url("../img/contato-bg-home.webp") no-repeat center center/cover;
}

/* Na home o bloco é mais baixo (antes ocupava a tela inteira). */
.downloads--home {
  padding: 30px 0;
}

/* Referência do título (position: absolute). */
.downloads--tv-vitoria,
.downloads--folha-vitoria,
.downloads--jovem-pan-fm,
.downloads--engages .links,
.downloads--pan-news .links {
  position: relative;
}

.downloads .titulo-downloads {
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Gotham";
  padding: 1.4rem 4rem;
  text-transform: uppercase;
  position: absolute;
  top: -85px;
  background-color: var(--cor-azul-escuro);
  color: var(--cor-branco);
}

.downloads--engages .titulo-container,
.downloads--engages .titulo-downloads {
  background-color: var(--cor-engages);
  color: var(--cor-branco);
}

.downloads--pan-news .titulo-downloads {
  background-color: var(--cor-bege-jp-news);
  color: var(--cor-vinho-jp-news);
}

.downloads--home .titulo-downloads {
  background-color: #00b6ff;
}

/* Subtítulo "Baixe nossos materiais..." e a linha embaixo dele. */
.downloads .links p {
  margin-top: 20px;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1.7rem;
  font-family: "Gotham";
  font-weight: bold;
  text-transform: uppercase;
  color: var(--secao-texto, var(--cor-branco));
}

.downloads--pan-news .links p {
  color: var(--cor-bege-jp-news);
}

.downloads .links::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: var(--secao-texto, var(--cor-branco));
}

/* Todo link da seção, inclusive os do bloco de contato dentro dela. */
.downloads a {
  font-weight: bold;
  font-size: 2.5rem;
  font-family: "Gotham";
  color: var(--secao-texto, var(--cor-branco));
  text-transform: uppercase;
  transition: 0.3s;
}

.downloads a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.downloads--jovem-pan-fm a {
  font-size: 1.6rem !important;
}

.downloads .botoesWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.downloads--folha-vitoria .botao-download {
  font-size: 1.8rem;
}

.downloads--pan-news .botao-download {
  background-color: #ef787d;
  padding: 10px 15px;
  box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2);
}

/* Engages: link "Portfólio da equipe" dentro da seção Diversas. */
.downloads.portfolio-equipe {
  padding: 0;
  display: flex;
  justify-content: flex-end;
}

.downloads.portfolio-equipe a {
  font-size: 1rem !important;
  font-weight: bold;
  text-transform: none !important;
  color: var(--cor-quase-preto);
}

@media (max-width: 991.98px) {
  .downloads a {
    margin-top: 20px;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.2rem;
    font-family: "Gotham";
    font-weight: bold;
    text-transform: uppercase;
  }

  .downloads .links p {
    display: block;
    text-align: center;
    font-size: 1rem;
    color: var(--secao-texto, var(--cor-branco));
    padding: 12px;
  }

  .downloads--folha-vitoria .botao-download {
    font-size: 1.4rem;
  }
}

@media (max-width: 767.98px) {
  .downloads .botoesWrapper {
    flex-direction: column;
  }

  .downloads .titulo-container {
    height: 0px;
  }

  .downloads .titulo-downloads {
    text-align: center;
    width: fit-content;
    margin: 0 auto;
    position: relative;
  }

  .downloads a {
    margin-right: 0 !important;
    font-size: 17px;
    height: initial;
    width: 100%;
    text-align: center;
  }

  .downloads.portfolio-equipe a {
    font-size: 15px;
  }
}

@media (max-width: 575.98px) {
  .downloads--folha-vitoria .botao-download {
    font-size: 1.2rem;
    padding: 10px;
  }
}

@media (max-width: 362px) {
  .downloads--tv-vitoria .links p,
  .downloads--folha-vitoria .links p,
  .downloads--jovem-pan-fm .links p {
    font-size: 1.25rem;
  }
}

/* ==== Fale com nosso time (contato) ==== */

/* template-parts/marca-contato.php. Variação por marca: .contato--{marca}. */

.contato {
  padding: 80px 0 0px;
}

.contato--home {
  position: relative;
}

.contato .proposta {
  color: var(--secao-texto, var(--cor-branco));
  font-family: "Gotham";
  font-weight: 300;
  padding: 50px;
  position: relative;
}

.contato .contatoTexto {
  font-family: "Gotham";
  font-size: 2rem;
  margin-bottom: 0;
  line-height: 4rem;
}

.contato .contatoTexto span,
.contato .textoContato span {
  font-weight: bold;
}

/* Telefone/e-mail comercial. */
.contato .proposta p.rv-contato-telefone {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
}

.email-comercial-link {
  font-size: inherit !important;
  cursor: pointer;
}

.contato .contato-esquerdo {
  padding-left: 0;
  padding-right: 0;
  width: 55%;
  position: relative;
}

.contato .contato-direito {
  padding-right: 15px;
}

.contato .textoContato {
  font-family: "Gotham";
  font-size: 14px;
  font-weight: 300;
  line-height: 14px;
  color: var(--form-texto, var(--cor-branco));
  letter-spacing: 0.6px;
  margin-bottom: 25px;
}

.contato .form-wrapper {
  padding: 50px;
  background-color: var(--form-fundo, #1e324f);
  color: var(--form-texto, var(--cor-branco));
  position: relative;
}

.contato--home .form-wrapper {
  background-color: #052e4f;
  padding: 30px 50px;
}

.contato--home {
  padding-top: 30px;
}

.contato--home .proposta {
  padding: 30px 50px;
}

.contato--home .contatoTexto {
  line-height: 3rem;
}

.contato--home #nf-field-6 {
  height: 100px;
}

/* Formulário (Ninja Forms #2, também usado no Anuncie). IDs dos campos em produção:
   #nf-field-6 mensagem, #nf-field-7 botão Enviar, #nf-field-11 texto de aviso. */
.contato .nf-form-content,
.contato .nf-multi-cell .nf-cell {
  padding: 0;
}

.contato .nf-field-container {
  margin-bottom: 1rem;
}

.contato .nf-form-content input:not([type="button"]) {
  border-radius: 0;
  border: none;
  font-family: "Gotham";
  font-weight: 300;
  font-size: 17px;
  height: 50px;
}

#nf-field-11-container {
  margin: 0;
}

.contato--engages #nf-field-7-wrap .ninja-forms-field {
  background-color: var(--cor-preto);
}

.contato--tv-vitoria #nf-field-7-wrap .ninja-forms-field,
.contato--folha-vitoria #nf-field-7-wrap .ninja-forms-field,
.contato--jovem-pan-fm #nf-field-7-wrap .ninja-forms-field {
  background-color: var(--cor-cinza-escuro);
}

@media (max-width: 1199.98px) {
  .contato .nf-row:nth-child(4) .nf-cell,
  .contato #nf-field-7-wrap,
  #nf-field-6-wrap {
    width: 100% !important;
  }

  .contato #nf-field-7-wrap .ninja-forms-field {
    height: 50px;
  }

  /* A caixa da mensagem tem 100px; o textarea precisa caber nela, senão o botão Enviar o cobre. */
  #nf-field-6-wrap .nf-field-element,
  #nf-field-6-wrap textarea {
    height: 100px;
  }

  .contato .contatoTexto {
    font-size: 38px;
  }

  .contato .textoContato {
    letter-spacing: 0;
    text-align: center;
  }
}

@media (max-width: 991.98px) {
  .contato {
    padding: 0 0 60px;
  }

  .contato .proposta {
    padding: 0 0 50px;
    text-align: center;
  }

  .contato .contato-direito {
    width: 100%;
  }

  .contato .contato-esquerdo {
    width: 100%;
    padding-right: 0;
  }
}

@media (max-width: 767.98px) {
  .contato .contatoTexto {
    text-align: center;
    font-size: 30px;
    margin-top: 10px;
  }
}

@media (max-width: 575.98px) {
  .contato .contatoTexto {
    line-height: 28px;
    font-size: 26px;
  }
}

/* ==== Carrossel de banners ==== */

.banner .slick-carousel {
  width: 100%;
  height: 460px;
}

.banner .slick-list,
.banner .slick-track {
  height: 100%;
}

.banner .slick-track .item {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
}

.banner .slick-dots {
  display: flex;
  position: absolute;
  bottom: 10px;
  transform: translate(-50%, -50%);
  left: 50%;
  flex-direction: row;
}

.banner .slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 5px;
  padding: 0;
  border-radius: 50%;
  cursor: pointer;
}

.banner .slick-dots li:last-child {
  margin-right: 0;
}

.banner .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 12px;
  height: 12px;
  padding: 5px;
  cursor: pointer;
  border: 0;
  outline: none;
  border-radius: 50%;
  background: var(--cor-branco);
}

.banner .slick-dots li.slick-active button {
  background: var(--cor-azul-ciano);
}

@media (max-width: 991.98px) {
  .banner .slick-carousel {
    height: 400px;
  }
}

@media (max-width: 767.98px) {
  .banner .slick-carousel {
    height: 300px;
  }
}

@media (max-width: 575.98px) {
  .banner .slick-carousel {
    width: 100%;
    height: 170px;
  }
}

/* ==== Faixa de marcas ==== */

.marcas ul {
  display: flex;
  position: relative;
}

.marcas ul:before {
  content: "";
  width: 100%;
  height: 4px;
  background-color: var(--cor-azul-tv-vitoria);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
}

.marcas ul:after {
  content: "";
  width: 100%;
  height: 4px;
  background-color: var(--cor-laranja-rede);
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
}

.marcas ul li {
  padding: 25px 0;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #dcdcdc;
  border-bottom: 4px solid var(--cor-cinza-texto);
}

.marcas ul li:last-child {
  border-right: none;
}

.marcas ul li img {
  height: 50px;
  max-width: 85%;
  object-fit: contain;
  cursor: pointer;
  transition: 0.3s;
}

.marcas ul li a {
  display: flex;
  justify-content: center;
  width: 100%;
}

.marcas ul li a:hover img {
  transform: scale(1.1);
}

@media (max-width: 767.98px) {
  .marcas .container {
    padding: 0;
  }

  .marcas ul {
    flex-wrap: wrap;
  }

  .marcas ul:before {
    background-color: var(--cor-vermelho-spark);
  }

  .marcas ul li {
    flex: 0 0 50%;
    border-left: 1px solid #dcdcdc;
  }

  /* Número ímpar de marcas: a última ocupa a linha inteira. */
  .marcas ul li:last-child:nth-child(odd) {
    flex-basis: 100%;
  }
}

/* Cor da linha de baixo de cada marca (template-parts/faixa-marcas.php). A linha que continua até a
   borda da tela à direita (ul:after) repete a cor da última marca. */
.marcas .faixa-marca--tv-vitoria {
  border-bottom-color: var(--cor-azul-tv-vitoria);
}

.marcas .faixa-marca--folha-vitoria {
  border-bottom-color: var(--cor-azul-folha-vitoria);
}

.marcas .faixa-marca--jovem-pan-fm {
  border-bottom-color: var(--cor-vermelho-jovem-pan);
}

.marcas .faixa-marca--fm-o-dia {
  border-bottom-color: var(--cor-azul-fm-o-dia);
}

.marcas .faixa-marca--rede-ooh {
  border-bottom-color: var(--cor-azul-rede);
}

.marcas .faixa-marca--vitoria-eventos {
  border-bottom-color: var(--cor-laranja-rede);
}

/* ==== Cores das categorias ==== */

/* Cards de notícia (carrossel da home, listagens e relacionadas) recebem o slug da categoria como
   classe (rv_primary_category()). A cor pinta o marcador antes do nome da categoria e, nas
   categorias de marca, a borda de baixo do card. */
.jovem-pan-news {
  --cor-categoria: var(--cor-vermelho-jp-news);
}

.jovem-pan-fm {
  --cor-categoria: var(--cor-vermelho-jovem-pan);
}

.folha-vitoria {
  --cor-categoria: var(--cor-azul-folha-vitoria);
}

.tv-vitoria {
  --cor-categoria: var(--cor-azul-tv-vitoria);
}

.spark {
  --cor-categoria: var(--cor-vermelho-spark);
}

.rede-vitoria {
  --cor-categoria: #98cc58;
}

.grupo-buaiz {
  --cor-categoria: var(--cor-branco);
}

.engages {
  --cor-categoria: var(--cor-engages);
}

.folha-business {
  --cor-categoria: var(--cor-cinza-claro);
}

.fm-o-dia-vitoria {
  --cor-categoria: var(--cor-azul-fm-o-dia);
}

.jovem-pan-news,
.jovem-pan-fm,
.fm-o-dia-vitoria,
.folha-vitoria,
.tv-vitoria,
.spark,
.rede-vitoria {
  --cor-categoria-borda: var(--cor-categoria);
}

/* ==== Card de notícia ==== */

/* .card-noticia: card com foto de fundo, título, categoria e resumo (carrossel da home,
   relacionadas do post e listagens). Tamanho e espaçamento ficam em cada contexto. */
.card-noticia {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--cor-branco);
  padding: 30px;
  border-bottom: 18px solid var(--cor-categoria-borda, var(--cor-cinza-texto));
}

.card-noticia a h2 {
  font-weight: bold;
  margin-bottom: 25px;
  font-size: 24px;
  color: var(--cor-branco);
}

.card-noticia a:hover {
  color: var(--cor-branco);
}

.card-noticia a span {
  font-size: 17px;
  text-transform: uppercase;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
  color: var(--cor-branco);
}

.card-noticia span:before {
  content: "";
  display: block;
  margin-right: 8px;
  width: 5px;
  height: 21px;
  background-color: var(--cor-categoria, transparent);
}

.card-noticia p {
  font-size: 15px;
  line-height: 1.3;
  margin: 0;
}

/* ==== Novidades (carrossel e cards) ==== */

.novidades {
  font-family: "Gotham";
  padding-bottom: 80px;
  padding-top: 40px;
}

.novidades h1 .azul {
  color: var(--cor-azul-claro);
}

.novidades.home h1 {
  background-color: var(--cor-azul-marinho);
}
.novidades .subtitulo-secao {
  color: var(--cor-azul-marinho);
}

.novidades .slick-carousel .item,
.relacionadas .item {
  width: 360px;
  height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-right: 10px;
}

.novidades .slick-carousel .engages .category-link span {
  color: var(--cor-engages);
}

.novidades .slick-carousel .folha-business .category-link span {
  color: var(--cor-cinza-claro);
}

.novidades .slick-carousel .grupo-buaiz .category-link span {
  color: var(--cor-branco);
}

.novidades .slick-carousel .jovem-pan-news .category-link span {
  color: var(--cor-vermelho-jp-news);
}

.novidades .container {
  position: relative;
}

.novidades .controlsWrapper {
  display: flex;
  align-items: center;
  margin-top: 30px;
}

.novidades .slick-carousel {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: calc(100% + 360px);
  z-index: 99;
}

.mais-noticias {
  display: inline-flex;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  color: var(--cor-branco);
  cursor: pointer;
  transition: 0.3s;
  background-color: #00b6ff;
  padding: 6px 15px;
  margin-right: 10px;
}

.mais-noticias:hover {
  text-decoration: none;
  opacity: 0.8;
  color: var(--cor-branco);
}

.controlsWrapper .mais-noticias {
  margin-top: 0;
}

/* Seta "próximo" do carrossel (o JS liga o clique pelo id). */
.controlsWrapper .seta-proximo {
  color: #7dcd4d;
  font-size: 30px;
  background: var(--cor-azul-marinho);
  padding: 9px 16.5px;
  margin-right: 10px;
  cursor: pointer;
  transition: 0.3s;
}

.controlsWrapper .seta-proximo:hover {
  opacity: 0.8;
}

.mais-noticias i {
  color: #a8cf37;
  font-size: 20px;
  margin-right: 10px;
}

@media (max-width: 1199.98px) {
  .novidades .slick-carousel .item,
  .relacionadas .item {
    width: 300px;
    height: 500px;
  }
}

@media (max-width: 991.98px) {
  .novidades .slick-carousel .item,
  .relacionadas .item {
    margin-bottom: 10px;
    margin-right: 0;
  }

  .mais-noticias {
    width: fit-content;
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 767.98px) {
  .novidades h1 {
    text-align: center;
  }

  .novidades h1:after {
    transform: translateX(-50%);
    left: 50%;
  }
}

@media (max-width: 575.98px) {
  .novidades .slick-carousel .item,
  .relacionadas .item {
    width: 100%;
  }

  .novidades .slick-carousel {
    width: 100%;
  }
}

/* ==== Projetos ==== */

.projetos {
  font-family: "Gotham";
  padding: 0 0 35px;
  position: relative;
}

.projetos .titulo {
  display: flex;
  margin-bottom: 70px;
  align-items: center;
  margin-top: 25px;
}

.projetos h3 {
  font-weight: bold;
  color: var(--cor-azul-folha-vitoria);
  font-size: 26px;
  text-align: left;
  margin-bottom: 1em;
}

.projetos hr {
  margin-top: 2em;
  margin-bottom: 2em;
}

.projetos .titulo p {
  color: var(--cor-cinza-medio);
  font-size: 17px;
  width: 573px;
}

.projetos ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.projetos ul li {
  width: 340px;
  margin-right: 20px;
}

.projetos ul li img {
  border-bottom: 15px solid;
  width: 100%;
  height: 207px;
  object-fit: cover;
}

.projetos ul li:nth-child(3n + 1) img {
  border-bottom-color: var(--cor-cinza-texto);
}

.projetos ul li:nth-child(3n + 2) img {
  border-bottom-color: var(--cor-azul-folha-vitoria);
}

.projetos ul li:nth-child(3n) img {
  border-bottom-color: var(--cor-vermelho-jovem-pan);
}

.projetos ul li .item-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 0;
}

.projetos ul li .item-info p {
  font-weight: bold;
  color: var(--cor-cinza-medio);
  font-size: 22px;
  margin: 0;
  line-height: 20px;
}

.projetos ul li .item-info a {
  padding: 10px;
  color: var(--cor-branco);
  text-decoration: none;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 9px;
  border-radius: 8px;
  transition: 0.3s;
  text-align: center;
  min-height: 46px;
}

.projetos ul li .item-info a:hover {
  opacity: 0.8;
}

.projetos ul li:nth-child(3n + 1) .item-info a {
  background-color: var(--cor-cinza-texto);
}

.projetos ul li:nth-child(3n + 2) .item-info a {
  background-color: var(--cor-azul-folha-vitoria);
}

.projetos ul li:nth-child(3n) .item-info a {
  background-color: var(--cor-vermelho-jovem-pan);
}

.projetos .subtitulo-secao {
  color: var(--cor-azul-marinho);
}

.projetos .mais-noticias {
  padding: 1.4rem 4rem;
  margin: 0;
  text-transform: uppercase;
}

.projetos a.jornal-online {
  font-weight: bold;
  display: flex;
  font-size: 23px;
  text-align: center;
  font-family: "Gotham";
  color: var(--cor-branco);
  text-transform: uppercase;
  transition: 0.3s;
  height: 55px;
  justify-content: center;
  align-items: center;
  background-color: var(--cor-cinza-escuro);
  width: 350px;
  margin-top: 0px;
}

.projetos.folha-vitoria h1 {
  margin-right: 120px;
}

@media (max-width: 1199.98px) {
  .projetos ul {
    justify-content: space-around;
  }
}

@media (max-width: 991.98px) {
  .projetos .titulo {
    flex-direction: column;
  }

  .projetos .titulo p {
    text-align: center;
    width: 100%;
  }

  .projetos a.jornal-online {
    font-size: 20px;
    height: 60px;
  }
}

/* Projetos Crossmedia: aviso de lista vazia. */
.projetos .rv-projetos-vazio {
  display: flex;
  justify-content: center;
  margin-bottom: 1em;
}

/* ==== Sidebar das notícias ==== */
.sidebar {
  color: var(--cor-branco);
}

.sidebar a {
  font-size: 17px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  color: var(--cor-branco);
}

.sidebar-pesquisa {
  height: 30px;
}

.sidebar-pesquisa input {
  display: block;
  width: 80%;
  height: 100%;
  float: left;
  border: 2px solid var(--cor-azul-claro);
}

.lupa {
  width: 15%;
  height: 100%;
  float: left;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--cor-azul-claro);
  background-color: var(--cor-azul-claro);
  border-left: none;
  -webkit-appearance: unset;
  color: white;
}

.category-sidebar {
  padding: 30px 0;
}

/* ==== Título de post e página ==== */

.single-titulo {
  color: var(--cor-azul-claro);
  font-weight: bold;
  margin-bottom: 60px;
  font-size: 2rem;
}

/* ==== Vídeo do YouTube ==== */

/* Fachada de vídeo do YouTube (inc/template-tags.php → rv_video_embed). Mesmas medidas do iframe original. */
.rv-youtube {
  position: relative;
  /* inline-block, como o iframe que substitui: mantém o mesmo espaço de linha abaixo. */
  display: inline-block;
  vertical-align: baseline;
  width: 100%;
  height: 210px;
  padding: 0;
  border: 0;
  background: #000 center / cover no-repeat;
  cursor: pointer;
}

.rv-youtube-play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 68px;
  height: 48px;
  transform: translate(-50%, -50%);
  border-radius: 12px;
  background: rgba(23, 23, 23, 0.8);
  transition: background-color 0.2s;
}

.rv-youtube-play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-width: 11px 0 11px 19px;
  border-color: transparent transparent transparent #fff;
}

.rv-youtube:hover .rv-youtube-play,
.rv-youtube:focus-visible .rv-youtube-play {
  background: #f00;
}

/* ==== Iframe em tela cheia ==== */

/* Landing pages externas (e-books, insights) em iframe ocupando a tela. */
iframe.rv-iframe-tela-cheia {
  overflow: hidden;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

iframe.rv-iframe-tela-cheia--sobreposto {
  z-index: 9999;
}
