/* ==========================================================================
   Destaque do Piauí — Layout 2026

   Mesmo layout do Destaque do Maranhão, na paleta verde do Piauí.
   Os tokens mantêm os nomes --dq-azul* para que o CSS continue igual
   ao do portal irmão; só os valores mudam.
   ========================================================================== */

:root {
  /* O verde vivo #22CE43 dá contraste 2.1 com texto branco (mínimo é 4.5),
     então as superfícies com texto usam um tom mais fechado. O verde vivo
     fica nos detalhes sobre fundo escuro, onde é legível. */
  --dq-azul: #0E7A25;
  /* verde das superfícies e links (contraste 5.5) */
  --dq-azul-escuro: #0B6B20;
  /* hover / estados ativos */
  --dq-verde-vivo: #22CE43;
  /* verde da marca, para detalhes sobre fundo escuro */
  --dq-amarelo: #8CE01B;
  /* verde-limão de apoio */
  --dq-tinta: #14161A;
  --dq-tinta-suave: #5B6470;
  --dq-linha: #E6E8EC;
  --dq-fundo: #FFFFFF;
  --dq-fundo-alt: #F4F8F4;
  --dq-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --dq-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}

html,
body {
  overflow-x: hidden;
  /* nenhuma seção deve gerar rolagem lateral */
  max-width: 100%;
}

body {
  font-family: var(--dq-sans);
  color: var(--dq-tinta);
  background: var(--dq-fundo);
}

/* Títulos longos (URLs, nomes compostos) não podem estourar o cartão */
.dq-lead__title,
.dq-card__title,
.dq-lidas__titulo,
.dq-colunista__titulo,
.dq-section__title {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a {
  text-decoration: none;
}

/* ------------------------------- Cabeçalho ------------------------------- */

.dq-header {
  background: var(--dq-azul);
  padding-bottom: 2px;
}

.dq-header__top {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 18px 0 14px;
}

.dq-header__logo img {
  height: 54px;
  width: auto;
  display: block;
}

.dq-search {
  position: relative;
  flex: 1 1 auto;
  max-width: 520px;
  margin: 0 auto;
}

.dq-search__input {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 8px;
  padding: 0 46px 0 18px;
  font-size: 15px;
  color: var(--dq-tinta);
  background: #fff;
}

.dq-search__input::placeholder {
  color: #9AA1AC;
}

.dq-search__input:focus {
  outline: 2px solid rgba(255, 255, 255, .65);
  outline-offset: 1px;
}

.dq-search__btn {
  position: absolute;
  top: 0;
  right: 0;
  height: 44px;
  width: 46px;
  border: 0;
  background: transparent;
  color: var(--dq-tinta-suave);
  font-size: 17px;
  border-radius: 0 8px 8px 0;
  cursor: pointer;
}

/* Seletor de portal (Maranhão / Piauí) */
.dq-portal {
  flex: 0 0 auto;
}

.dq-portal__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font-family: var(--dq-sans);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease;
}

.dq-portal__btn:hover {
  background: rgba(255, 255, 255, .14);
  border-color: #fff;
}

.dq-portal__seta {
  font-size: 10px;
  opacity: .8;
}

.dq-portal__menu {
  min-width: 200px;
}

.dq-portal__rot {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--dq-tinta-suave);
  padding: 6px 12px 8px;
}

.dq-portal__menu .dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dq-portal__menu .dropdown-item.is-atual {
  font-weight: 600;
  color: var(--dq-azul);
}

.dq-header__social {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}

.dq-header__social a {
  color: #fff;
  font-size: 20px;
  line-height: 1;
  opacity: .95;
  transition: opacity .15s ease;
}

.dq-header__social a:hover {
  opacity: 1;
}

/* Só atua no celular (ver media query) */
.dq-header__quebra {
  display: none;
}

.dq-burger {
  display: none;
  border: 1px solid rgba(255, 255, 255, .5);
  background: transparent;
  color: #fff;
  border-radius: 6px;
  font-size: 22px;
  line-height: 1;
  padding: 2px 10px;
  cursor: pointer;
}

/* --------------------------------- Menu ---------------------------------- */

/* No desktop o menu é sempre visível; o .collapse do Bootstrap só
   deve agir abaixo de 992px, onde o botão sanduíche assume. */
@media (min-width: 992px) {
  .dq-nav.collapse:not(.show) {
    display: block;
  }
}

.dq-nav__list {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 0 0 14px;
}

.dq-nav__list>li>a {
  color: rgba(255, 255, 255, .92);
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
  transition: color .15s ease;
}

.dq-nav__list>li>a:hover,
.dq-nav__list>li>a.is-active {
  color: #fff;
}

.dq-nav__list>li>a.is-active {
  font-weight: 600;
}

.dq-nav__drop .bi-chevron-down {
  font-size: 11px;
  margin-left: 2px;
}

.dq-dropdown {
  border: 0;
  margin-top: 8px;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(10, 20, 60, .18);
  padding: 8px;
  max-height: 420px;
  overflow-y: auto;
}

.dq-dropdown .dropdown-item {
  border-radius: 6px;
  font-size: 14px;
  padding: 7px 12px;
}

.dq-dropdown .dropdown-item:hover {
  background: var(--dq-fundo-alt);
  color: var(--dq-azul);
}

/* ------------------------------- Manchete -------------------------------- */

.dq-lead {
  padding: 44px 0 30px;
  text-align: center;
}

.dq-lead__kicker {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--dq-azul);
  margin-bottom: 14px;
}

.dq-lead__title {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: clamp(28.5px, 4.37vw, 55px);
  line-height: 1.1;
  letter-spacing: -.015em;
  color: var(--dq-tinta);
  max-width: 100%;
  margin: 0 auto;
}

.dq-lead__title a {
  color: inherit;
}

.dq-lead__title a:hover {
  color: var(--dq-azul);
}

.dq-lead__sub {
  font-family: var(--dq-serif);
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.45;
  color: var(--dq-tinta-suave);
  max-width: 100%;
  margin: 18px auto 0;
}

/* -------------------------------- Cartões -------------------------------- */

.dq-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 10px;
  background: var(--dq-fundo-alt);
  aspect-ratio: 16 / 10;
}

.dq-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.dq-card:hover .dq-card__media img {
  transform: scale(1.04);
}

.dq-card__kicker {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--dq-tinta-suave);
  margin: 12px 0 5px;
}

.dq-card__title {
  font-family: var(--dq-serif);
  font-weight: 600;
  font-size: 19px;
  line-height: 1.25;
  color: var(--dq-tinta);
  margin: 0;
}

.dq-card:hover .dq-card__title {
  color: var(--dq-azul);
}

.dq-card--sm .dq-card__title {
  font-size: 16px;
}

.dq-card--lg .dq-card__title {
  font-size: 26px;
  line-height: 1.2;
}

/* Cartão horizontal (miniatura + texto) */

.dq-card--row {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 16px;
  align-items: start;
}

.dq-card--row .dq-card__media {
  aspect-ratio: 4 / 3;
  margin: 0;
}

.dq-card--row .dq-card__kicker {
  margin-top: 0;
}

/* -------------------------- Título de seção ------------------------------ */

.dq-section {
  padding: 34px 0;
}

.dq-section--alt {
  background: var(--dq-fundo-alt);
  padding: 44px 0;
}

.dq-section__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.dq-section__title {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.1;
  margin: 0;
  color: var(--dq-tinta);
}

.dq-section__link {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--dq-tinta);
  border: 1px solid var(--dq-linha);
  border-radius: 6px;
  padding: 7px 14px;
  background: #fff;
  transition: all .15s ease;
}

.dq-section__link:hover {
  border-color: var(--dq-azul);
  color: var(--dq-azul);
}

/* --------------------------- Colunistas ---------------------------------- */

.dq-colunista {
  display: block;
}

.dq-colunista__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.dq-colunista__foto {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  filter: grayscale(1);
  transition: filter .25s ease;
  flex: 0 0 auto;
}

/* Ganha cor ao passar o mouse */
.dq-colunista:hover .dq-colunista__foto,
.dq-colunista__foto:hover {
  filter: grayscale(0);
}

.dq-colunista__nome {
  font-family: var(--dq-serif);
  font-weight: 600;
  font-size: 17px;
  line-height: 1.2;
  color: var(--dq-tinta);
  margin: 0;
}

.dq-colunista__autor {
  font-size: 13px;
  color: var(--dq-tinta-suave);
  margin: 2px 0 0;
}

.dq-colunista__titulo {
  font-family: var(--dq-serif);
  font-size: 17px;
  line-height: 1.3;
  color: var(--dq-tinta);
  margin: 0;
}

.dq-colunista:hover .dq-colunista__titulo {
  color: var(--dq-azul);
}

/* ------------------------------ TV / Vídeos ------------------------------- */

.dq-tv {
  background: var(--dq-azul);
  padding: 38px 0;
}

.dq-tv .dq-section__title,
.dq-tv .dq-card__title,
.dq-tv .dq-card__kicker {
  color: #fff;
}

.dq-tv .dq-section__link {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, .55);
}

.dq-tv .dq-section__link:hover {
  background: #fff;
  color: var(--dq-azul);
}

.dq-tv .dq-card:hover .dq-card__title {
  color: var(--dq-amarelo);
}

.dq-tv__logo {
  width: 100%;
  max-width: 168px;
  height: auto;
  display: block;
}

/* A logo é branca; sobre fundo claro precisa de um fundo azul atrás.
   Ao lado do título, acompanha a altura dele. */
.dq-tv__logo--dark {
  width: auto;
  max-width: none;
  height: clamp(46px, 5vw, 62px);
  background: var(--dq-azul);
  border-radius: 8px;
  padding: 8px 14px;
  flex: 0 0 auto;
}

/* O vídeo em destaque é mais largo que os cartões comuns */
.dq-card__media--tv {
  aspect-ratio: 16 / 9;
}

/* Miniatura da lista lateral da TV */
.dq-card--tvrow {
  grid-template-columns: 200px 1fr;
  align-items: center;
}

.dq-card--tvrow .dq-card__media {
  aspect-ratio: 16 / 9;
}

/* As 3 chamadas do topo acompanham a altura da notícia em destaque.
   As miniaturas crescem para preencher a coluna, em vez de deixar
   vãos grandes entre cartões pequenos. */
@media (min-width: 992px) {
  .dq-topo__lista {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  /* largura proporcional: a miniatura acompanha a coluna em vez de
     roubar espaço do título em telas mais estreitas */
  .dq-topo__lista .dq-card--row {
    flex: 1;
    grid-template-columns: minmax(0, 38%) 1fr;
    align-items: center;
  }

  .dq-topo__lista .dq-card--row .dq-card__media {
    aspect-ratio: 16 / 10;
    height: auto;
  }

  /* o gap já separa os cartões; o padding do .pt-4 sobraria */
  .dq-topo__lista .dq-card--row.pt-4 {
    padding-top: 20px !important;
  }
}

/* Entre 992px e 1199px a coluna é estreita: título menor evita
   que a chamada quebre em muitas linhas e desalinhe o bloco. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .dq-topo__lista .dq-card__title {
    font-size: 16px;
  }

  .dq-topo__lista .dq-card__kicker {
    margin-bottom: 3px;
  }
}

/* Os 3 vídeos ocupam a mesma altura do vídeo em destaque,
   distribuídos por igual em vez de sobrar espaço no fim. */
@media (min-width: 992px) {
  .dq-tv__lista {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .dq-tv__lista .dq-card--tvrow {
    margin-bottom: 0 !important;
  }
}

.dq-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 46px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .45);
  transition: transform .2s ease;
}

.dq-play--sm {
  font-size: 30px;
}

.dq-card:hover .dq-play {
  transform: scale(1.1);
}

/* ------------------------------ Mais lidas -------------------------------- */

.dq-lidas {
  border-top: 3px solid var(--dq-tinta);
  padding-top: 14px;
}

.dq-lidas__item {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: start;
  padding: 15px 0;
  border-bottom: 1px solid var(--dq-linha);
}

.dq-lidas__num {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: 30px;
  line-height: 1;
  color: var(--dq-azul);
}

.dq-lidas__titulo {
  font-family: var(--dq-serif);
  font-size: 16px;
  line-height: 1.28;
  color: var(--dq-tinta);
  margin: 0;
}

.dq-lidas__item:hover .dq-lidas__titulo {
  color: var(--dq-azul);
}

/* ------------------------------ Publicidade ------------------------------- */

.dq-ad {
  margin: 26px 0;
}

.dq-ad__label {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #9AA1AC;
  margin-top: 6px;
}

.dq-ad img {
  border-radius: 8px;
  width: 100%;
  height: auto;
}

/* Setas do swiper mais discretas */
.dq-swiper .swiper-button-next,
.dq-swiper .swiper-button-prev {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 10px rgba(10, 20, 60, .15);
  color: var(--dq-tinta);
}

.dq-swiper .swiper-button-next::after,
.dq-swiper .swiper-button-prev::after {
  font-size: 13px;
  font-weight: 700;
}

/* ------------------------ Páginas internas ------------------------------- */

/* Cabeçalho de página (trilha + título) */
.dq-page-head {
  padding: 34px 0 26px;
  border-bottom: 1px solid var(--dq-linha);
  margin-bottom: 34px;
}

.dq-crumb {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--dq-tinta-suave);
  margin-bottom: 12px;
}

.dq-crumb a {
  color: var(--dq-tinta-suave);
}

.dq-crumb a:hover {
  color: var(--dq-azul);
}

.dq-crumb span {
  margin: 0 7px;
  opacity: .5;
}

.dq-page-title {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.12;
  letter-spacing: -.015em;
  margin: 0;
  color: var(--dq-tinta);
}

/* Cabeçalho do perfil do colunista */
.dq-perfil {
  display: flex;
  align-items: flex-start;
  gap: 26px;
  margin-top: 22px;
}

.dq-perfil__foto {
  width: 132px;
  height: 132px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}

.dq-perfil__info {
  min-width: 0;
}

.dq-perfil__autor {
  font-size: 15px;
  color: var(--dq-tinta-suave);
  margin: 0 0 12px;
}

.dq-perfil__bio {
  font-family: var(--dq-serif);
  font-size: 16.5px;
  line-height: 1.55;
  color: var(--dq-tinta-suave);
  max-width: 70ch;
  margin-bottom: 12px;
}

.dq-perfil__bio p:last-child {
  margin-bottom: 0;
}

.dq-perfil__social {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 600;
  color: var(--dq-azul);
}

.dq-perfil__social:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 575.98px) {
  .dq-perfil {
    flex-direction: column;
    gap: 16px;
  }

  .dq-perfil__foto {
    width: 96px;
    height: 96px;
  }
}

/* Paginação */
.dq-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 40px 0 10px;
}

.dq-pager__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--dq-linha);
  color: var(--dq-tinta);
  background: #fff;
  transition: all .15s ease;
}

.dq-pager__btn:hover {
  border-color: var(--dq-azul);
  color: var(--dq-azul);
}

.dq-pager__btn.is-off {
  opacity: .35;
  pointer-events: none;
}

.dq-pager__info {
  font-size: 14px;
  color: var(--dq-tinta-suave);
}

/* Lista de notícias das páginas internas */
.dq-list__item+.dq-list__item {
  margin-top: 26px;
  padding-top: 26px;
  border-top: 1px solid var(--dq-linha);
}

.dq-meta {
  font-size: 13px;
  color: var(--dq-tinta-suave);
  margin: 8px 0 0;
}

/* Campo de busca das páginas internas */
.dq-busca {
  position: relative;
  max-width: 520px;
}

.dq-busca__input {
  width: 100%;
  height: 46px;
  border: 1px solid var(--dq-linha);
  border-radius: 8px;
  padding: 0 46px 0 16px;
  font-size: 15px;
  color: var(--dq-tinta);
  background: #fff;
}

.dq-busca__input:focus {
  outline: none;
  border-color: var(--dq-azul);
}

.dq-busca__btn {
  position: absolute;
  top: 0;
  right: 0;
  height: 46px;
  width: 46px;
  border: 0;
  background: transparent;
  color: var(--dq-tinta-suave);
  cursor: pointer;
}

/* Miniatura de perfil nas listagens de colunas */
.dq-card__media--perfil {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  max-width: 118px;
}

.dq-card__media--perfil img {
  filter: grayscale(1);
  transition: filter .25s ease, transform .4s ease;
}

.dq-card:hover .dq-card__media--perfil img {
  filter: grayscale(0);
}

/* Assinatura compacta do autor nas listagens de colunas */
.dq-autor {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.dq-autor__foto {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
  filter: grayscale(1);
  transition: filter .25s ease;
}

.dq-card:hover .dq-autor__foto {
  filter: grayscale(0);
}

/* Revista: leitor embutido */
.dq-revista iframe {
  width: 100%;
  height: 620px;
  border: 1px solid var(--dq-linha);
  border-radius: 10px;
  display: block;
}

/* Página 404 */
.dq-404 {
  text-align: center;
  padding: 60px 0 40px;
  max-width: 640px;
  margin: 0 auto;
}

.dq-404__cod {
  font-family: var(--dq-serif);
  font-size: clamp(64px, 11vw, 118px);
  font-weight: 800;
  line-height: 1;
  color: var(--dq-azul);
  margin: 0 0 6px;
}

.dq-404__acoes {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 26px;
}

.dq-404 .dq-busca {
  margin-left: auto;
  margin-right: auto;
}

/* --------------------------- Formulários --------------------------------- */

.dq-form__titulo,
.dq-contato__titulo {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: 24px;
  margin: 0 0 8px;
}

.dq-form__ajuda {
  font-size: 14px;
  color: var(--dq-tinta-suave);
  margin-bottom: 24px;
}

.dq-req {
  color: #D93025;
}

.dq-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--dq-tinta);
  margin-bottom: 6px;
}

.dq-input {
  width: 100%;
  border: 1px solid var(--dq-linha);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15px;
  font-family: var(--dq-sans);
  color: var(--dq-tinta);
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.dq-input::placeholder {
  color: #9AA1AC;
}

.dq-input:focus {
  outline: none;
  border-color: var(--dq-azul);
  box-shadow: 0 0 0 3px rgba(27, 55, 245, .12);
}

textarea.dq-input {
  resize: vertical;
  min-height: 130px;
}

.dq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: var(--dq-azul);
  color: #fff;
  font-family: var(--dq-sans);
  font-size: 15px;
  font-weight: 600;
  padding: 14px 22px;
  cursor: pointer;
  transition: background-color .15s ease, transform .15s ease;
}

.dq-btn:hover {
  background: var(--dq-azul-escuro);
  color: #fff;
  transform: translateY(-1px);
}

.dq-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
}

/* Avisos de retorno do formulário */
.dq-aviso {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border-radius: 10px;
  padding: 16px 18px;
  font-size: 14.5px;
  line-height: 1.5;
  margin-bottom: 24px;
}

.dq-aviso i {
  font-size: 20px;
  line-height: 1.2;
  flex: 0 0 auto;
}

.dq-aviso--ok {
  background: #E8F5EC;
  color: #12683A;
}

.dq-aviso--erro {
  background: #FDECEA;
  color: #A61B12;
}

/* Canais de contato */
.dq-contato {
  background: var(--dq-fundo-alt);
  border-radius: 12px;
  padding: 24px;
}

.dq-contato__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  color: var(--dq-tinta);
  border-bottom: 1px solid var(--dq-linha);
}

.dq-contato__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.dq-contato__item strong {
  display: block;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.dq-contato__item small {
  display: block;
  font-size: 13px;
  color: var(--dq-tinta-suave);
  margin-top: 2px;
}

.dq-contato__item:hover strong {
  color: var(--dq-azul);
}

.dq-contato__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--dq-azul);
  color: #fff;
  font-size: 18px;
  flex: 0 0 auto;
}

.dq-contato__ico--wa {
  background: #25D366;
}

/* ------------------- Página de vídeo (sala escura) ----------------------- */

.dq-player {
  background: #0B0E14;
  padding: 26px 0 40px;
  margin-bottom: 8px;
}

.dq-player__topo {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}

.dq-player__logo img {
  height: 52px;
  width: auto;
  display: block;
}

.dq-crumb--dark,
.dq-crumb--dark a {
  color: rgba(255, 255, 255, .6);
}

.dq-crumb--dark a:hover {
  color: #fff;
}

/* O player ganha respiro e sombra para destacar do fundo */
.dq-player__palco {
  max-width: 1020px;
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
  background: #000;
}

.dq-player__info {
  max-width: 1020px;
  margin: 26px auto 0;
}

.dq-player__titulo {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: clamp(24px, 2.9vw, 36px);
  line-height: 1.18;
  color: #fff;
  margin: 0 0 14px;
  overflow-wrap: break-word;
}

.dq-player__linha {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 20px;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  color: rgba(255, 255, 255, .65);
  border-top: 1px solid rgba(255, 255, 255, .14);
  padding-top: 16px;
}

/* No fundo escuro a data precisa clarear (o padrão usa tinta escura) */
.dq-player__linha .dq-artigo__data {
  color: #fff;
}

@media (max-width: 767.98px) {
  .dq-player__logo img {
    height: 40px;
  }

  .dq-player {
    padding: 18px 0 30px;
  }
}

/* ------------------------- Página de notícia ----------------------------- */

.dq-artigo {
  max-width: 760px;
  margin: 0 auto;
}

.dq-artigo__titulo {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: clamp(28px, 3.8vw, 46px);
  line-height: 1.14;
  letter-spacing: -.015em;
  margin: 0 0 16px;
}

.dq-artigo__chamada {
  font-family: var(--dq-serif);
  font-size: 20px;
  line-height: 1.45;
  color: var(--dq-tinta-suave);
  margin: 0 0 20px;
}

.dq-artigo__linha {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 20px;
  align-items: center;
  justify-content: space-between;
  font-size: 13.5px;
  color: var(--dq-tinta-suave);
  padding: 16px 0;
  border-top: 1px solid var(--dq-linha);
  border-bottom: 1px solid var(--dq-linha);
  margin-bottom: 26px;
}

.dq-artigo__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.dq-artigo__meta i {
  opacity: .7;
  margin-right: 2px;
}

.dq-artigo__data {
  font-weight: 600;
  color: var(--dq-tinta);
}

.dq-artigo__sep {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  opacity: .4;
}

/* Botões de compartilhamento com a cor de cada rede */
.dq-share {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dq-share__rot {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--dq-tinta-suave);
  margin-right: 2px;
}

.dq-share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--dq-linha);
  background: #fff;
  color: var(--dq-tinta);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
}

.dq-share__btn:hover {
  transform: translateY(-2px);
  color: #fff;
}

.dq-share__btn--wa:hover {
  background: #25D366;
  border-color: #25D366;
}

.dq-share__btn--fb:hover {
  background: #1877F2;
  border-color: #1877F2;
}

.dq-share__btn--x:hover {
  background: #000;
  border-color: #000;
}

.dq-share__btn--in:hover {
  background: #0A66C2;
  border-color: #0A66C2;
}

.dq-share__btn--link:hover {
  background: var(--dq-azul);
  border-color: var(--dq-azul);
}

/* Variante para fundo escuro (página de vídeo) */
.dq-share--dark .dq-share__rot {
  color: rgba(255, 255, 255, .6);
}

.dq-share--dark .dq-share__btn {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .2);
  color: #fff;
}

/* Confirmação de "link copiado" */
.dq-share__btn.is-ok {
  background: var(--dq-azul);
  border-color: var(--dq-azul);
  color: #fff;
}

.dq-share__btn.is-ok::after {
  content: "Link copiado!";
  position: absolute;
  transform: translateY(-40px);
  background: var(--dq-tinta);
  color: #fff;
  font-size: 11px;
  font-family: var(--dq-sans);
  white-space: nowrap;
  padding: 5px 9px;
  border-radius: 5px;
}

.dq-share__btn--link {
  position: relative;
}

@media (max-width: 575.98px) {
  .dq-share__rot {
    display: none;
  }

  .dq-artigo__linha {
    gap: 14px;
  }
}

/* Assinatura do colunista no topo do post — foto sempre colorida */
.dq-assinatura {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 0;
  border-top: 1px solid var(--dq-linha);
  border-bottom: 1px solid var(--dq-linha);
  margin-bottom: 26px;
}

.dq-assinatura__foto {
  flex: 0 0 auto;
  display: block;
}

.dq-assinatura__foto img {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.dq-assinatura__nome {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: 19px;
  color: var(--dq-tinta);
  line-height: 1.2;
}

.dq-assinatura__nome:hover {
  color: var(--dq-azul);
}

.dq-assinatura__tema {
  font-size: 14px;
  color: var(--dq-tinta-suave);
  margin: 2px 0 4px;
}

/* Bloco "sobre o colunista" ao fim do texto */
.dq-sobre {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  /* fundo branco com borda: a seção seguinte já é cinza, e o mesmo
     tom aqui fazia os dois virarem um bloco só */
  background: #fff;
  border: 1px solid var(--dq-linha);
  border-radius: 12px;
  padding: 24px;
  margin: 44px 0 56px;
}

.dq-sobre__foto {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}

.dq-sobre__titulo {
  font-family: var(--dq-serif);
  font-weight: 700;
  font-size: 17px;
  margin: 0 0 6px;
}

.dq-sobre__texto {
  font-size: 15px;
  line-height: 1.55;
  color: var(--dq-tinta-suave);
}

.dq-sobre__texto p:last-child {
  margin-bottom: 0;
}

.dq-artigo__capa {
  width: 100%;
  height: auto;
  border-radius: 10px;
  margin-bottom: 26px;
}

/* Corpo do texto: leitura confortável */
.dq-texto {
  font-family: var(--dq-serif);
  font-size: 19px;
  line-height: 1.68;
  color: #23262B;
}

.dq-texto p {
  margin: 0 0 22px;
}

.dq-texto a {
  color: var(--dq-azul);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.dq-texto img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 8px 0;
}

.dq-texto h2,
.dq-texto h3 {
  font-weight: 700;
  line-height: 1.25;
  margin: 32px 0 14px;
}

.dq-texto iframe {
  max-width: 100%;
}

.dq-texto blockquote {
  border-left: 3px solid var(--dq-azul);
  padding-left: 20px;
  margin: 26px 0;
  color: var(--dq-tinta-suave);
}

/* -------------------------------- Rodapé --------------------------------- */

.dq-footer {
  background: var(--dq-azul);
  color: #fff;
  font-family: var(--dq-sans);
  padding: 52px 0 26px;
  margin-top: 48px;
}

.dq-footer__logo {
  max-width: 210px;
  width: 100%;
  height: auto;
  display: block;
}

.dq-footer__slogan {
  color: rgba(255, 255, 255, .82);
  font-size: 16px;
  line-height: 1.45;
  margin: 14px 0 0;
  max-width: 34ch;
}

.dq-footer__social {
  display: flex;
  gap: 18px;
  margin-top: 18px;
}

.dq-footer__social a {
  color: #fff;
  font-size: 21px;
  line-height: 1;
  opacity: .9;
  transition: opacity .15s ease;
}

.dq-footer__social a:hover {
  opacity: 1;
}

.dq-footer__titulo {
  font-family: var(--dq-serif);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: #fff;
  margin: 0 0 18px;
}

/* Links e textos do rodapé usam a serifada do resto do site */
.dq-footer__lista a,
.dq-footer__slogan,
.dq-footer__base {
  font-family: var(--dq-serif);
}

.dq-footer__lista {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dq-footer__lista li+li {
  margin-top: 11px;
}

.dq-footer__lista a {
  color: #fff;
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.35;
  transition: opacity .15s ease;
  opacity: .82;
}

.dq-footer__lista a:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dq-footer__base {
  border-top: 1px solid rgba(255, 255, 255, .22);
  margin-top: 40px;
  padding-top: 20px;
  font-size: 14.5px;
  color: rgba(255, 255, 255, .75);
  text-align: center;
}

/* ------------------------- Compatibilidade ------------------------------- */
/* Classes que viviam no <style> do top.php antigo. Páginas ainda não
   migradas (blogs, buscar, colunas, fale-conosco, revista) dependem
   delas; mantidas aqui para não quebrarem enquanto não são refeitas. */

.azul {
  background-color: var(--dq-azul);
}

.text-azul {
  color: var(--dq-azul);
}

.amarelo {
  background-color: var(--dq-amarelo);
}

.text-amarelo {
  color: var(--dq-amarelo);
}

.fs-7 {
  font-size: 0.8em;
}

#container {
  display: inline-block;
  position: relative;
}

#container figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 10px;
  font-size: 24px;
  color: #fff;
  background: linear-gradient(to bottom, rgba(27, 55, 245, 0) 2%, rgba(27, 55, 245, .41) 21%, rgba(27, 55, 245, .85) 41%, rgba(27, 55, 245, .85) 96%);
}

.edit_hover_class {
  width: 100%;
  position: relative;
}

.edit_hover_class i {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 9;
  color: var(--dq-amarelo);
  opacity: .75;
  font-size: 66px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.edit_hover_class i:hover {
  opacity: 1;
}

input.parsley-error,
select.parsley-error,
textarea.parsley-error {
  color: #B94A48;
  background-color: #F2DEDE;
  border: 1px solid #EED3D7;
}

.parsley-errors-list {
  margin: 2px 0 3px;
  padding: 0;
  list-style-type: none;
  font-size: .9em;
  line-height: .9em;
  opacity: 0;
  color: #B94A48;
  transition: all .3s ease-in;
}

.parsley-errors-list.filled {
  opacity: 1;
}

/* -------------------------------- Divisor -------------------------------- */

.dq-rule {
  border: 0;
  border-top: 1px solid var(--dq-linha);
  margin: 0;
}

/* ------------------------------ Responsivo -------------------------------- */

@media (max-width: 991.98px) {

  .dq-burger {
    display: block;
  }

  .dq-header__top {
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 0 12px;
  }

  .dq-header__logo {
    flex: 0 1 auto;
    min-width: 0;
  }

  .dq-header__logo img {
    height: 38px;
    max-width: 100%;
  }

  /* Segunda linha: busca ocupa o espaço restante e o menu fica ao lado */
  .dq-search {
    order: 8;
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    margin: 0;
  }

  /* Ícones sociais e menu dividem o espaço restante sem estourar a linha */
  .dq-header__social {
    gap: 14px;
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
  }

  .dq-header__social a {
    font-size: 18px;
  }

  /* Cabeçalho do celular em 2 linhas:
     1ª — logo + portal + redes sociais
     2ª — busca + botão do menu, lado a lado */
  .dq-portal {
    order: 2;
  }

  .dq-header__social {
    order: 3;
  }

  /* item invisível que ocupa a linha inteira, empurrando a busca
     e o botão do menu para a segunda linha */
  .dq-header__quebra {
    display: block;
    order: 4;
    flex: 0 0 100%;
    height: 0;
  }

  .dq-burger {
    order: 9;
    flex: 0 0 auto;
    height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .dq-portal__btn {
    height: 36px;
    padding: 0 9px;
    font-size: 12.5px;
    gap: 4px;
  }

  .dq-portal__seta {
    display: none;
  }

  .dq-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-bottom: 10px;
  }

  .dq-nav__list>li>a {
    display: block;
    padding: 11px 2px;
    border-top: 1px solid rgba(255, 255, 255, .18);
    font-size: 16px;
  }

  .dq-lead {
    padding: 28px 0 22px;
    text-align: left;
  }

  .dq-lead__title {
    max-width: none;
  }

  .dq-lead__sub {
    margin-left: 0;
  }
}

@media (max-width: 575.98px) {

  .dq-card--row {
    grid-template-columns: 108px 1fr;
    gap: 12px;
  }

  .dq-card--row .dq-card__title {
    font-size: 15px;
  }

  .dq-section {
    padding: 26px 0;
  }

  /* g-5 gera gutter de 3rem, largo demais no celular e responsável
     por sobra lateral; reduzimos para um respiro proporcional. */
  .dq-section .row.g-5 {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 2rem;
  }
}

/* ------------------- Ajustes da paleta do Piauí --------------------------
   O verde vivo da marca só aparece onde tem contraste suficiente:
   sobre fundos escuros (menu ativo, TV, player) e como realce.
   ------------------------------------------------------------------------ */

/* Item ativo do menu ganha o verde-limão, legível sobre o verde escuro */
.dq-nav__list>li>a.is-active {
  color: var(--dq-amarelo);
}

/* Detalhes sobre o fundo escuro da TV e do player */
.dq-tv .dq-card:hover .dq-card__title,
.dq-player__linha a:hover {
  color: var(--dq-verde-vivo);
}

/* Faixa de destaque do rodapé */
.dq-footer__lista a:hover {
  color: var(--dq-amarelo);
  opacity: 1;
}
