/*
Theme Name: SC Hoje
Theme URI: https://schoje.news/
Author: Maurício Freitas Comunicação Ltda
Author URI: https://schoje.news/
Description: Tema proprietário.
Version: 0.1.0
Text Domain: schoje
*/

:root {
  --container: 1320px; /* Atualizado para 1280px */
  --gap: 10px;
  --radius: 8px;
  --hero-h: 540px;
  --azul: #0d4ed8;

  /* Escala de Tamanhos */
  --fs-h2: 38px;
  --fs-h3: 36px;
  --fs-h4: 18px;
  --fs-veja-mais: 14px; /* Atualizado para 540px conforme solicitado */
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Caladea", serif;
  background: #fafafa;
  color: #111;
}

h2 > a {
  font-size: var(--fs-h2);
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1.1;
}
h3 > a {
  font-size: var(--fs-h3);
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1.2;
}
h4 > a {
  font-size: var(--fs-h4);
  font-family: var(--font-serif);
  font-weight: 600;
  line-height: 1.3;
}

/* Forçando links dentro de títulos a herdarem a cor e fonte */
h2 a,
h3 a,
h4 a {
  color: inherit;
  text-decoration: none;
  font-family: inherit;
}

.cat-header-azul {
  background-color: var(--azul);
  padding: 8px 20px; /* Padding reduzido */
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.cat-title {
  font-family: var(--font-serif);
  font-size: 24px; /* Tamanho do título da editoria */
  font-weight: 700;
  color: #fff;
}

.cat-veja-mais {
  font-family: var(--font-sans) !important; /* Força Arial */
  font-size: var(--fs-veja-mais);
  font-weight: 600;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 0.5px;
}

.destaques-bottom-grid h3 > a,
.secao-categoria-bloco h3 > a {
  font-size: 18px !important;
}

.secao-categoria-mista .excerpt-destaque {
  display: none;
}

.meta-content h3 > a {
  font-size: 28px;
}

p,
span,.date-info,.cat-title-large {
  font-family: "Merriweather", serif;
}

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

/* ================= TOP BAR ================= */
.top-bar {
  background-color: var(--topbar-bg);
  border-bottom: 1px solid #eee;
  padding: 0px 0;
  font-size: 13px;
  color: var(--topbar-text);
}

.top-bar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.date-info {
  text-transform: capitalize;
  font-weight: 500;
}
.weather-info {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #333;
}

/* ================= MAIN NAV (AZUL) ================= */
.main-nav {
  background-color: var(--azul);
  padding: 16px 0;
  color: white;
}

/* O Segredo do Layout: CSS Grid */
.nav-grid {
  display: grid;
  /* 1fr para laterais, auto para o centro -> Logo sempre centralizada */
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

/* Coluna Esquerda: Menu */
.nav-left {
  display: flex;
  justify-content: flex-start;
}

.menu-trigger {
  background: none;
  border: none;
  color: white;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  padding: 0;
}

/* Coluna Centro: Logo */
.nav-center {
  display: flex;
  justify-content: center;
}
.header-logo-img {
  max-height: 40px;
  display: block;
  width: auto;
} /* Ajuste altura conforme necessidade */

/* Coluna Direita: Busca */
.nav-right {
  display: flex;
  justify-content: flex-end;
}

.search-form-header {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.2); /* Fundo sutil como na imagem */
  border-radius: 4px;
  padding: 5px 10px;
  width: 100%;
  max-width: 250px; /* Limita largura da busca */
}

.search-submit {
  background: none;
  border: none;
  color: white;
  cursor: pointer;
  padding: 0;
  display: flex;
  margin-right: 8px;
}

.search-field {
  background: transparent;
  border: none;
  color: white;
  font-weight: 600;
  width: 100%;
  outline: none;
}
.search-field::placeholder {
  color: rgba(255, 255, 255, 0.8);
}

/* ================= SIDEBAR (Menu Lateral) ================= */
.sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.sidebar-overlay.active {
  opacity: 1;
  visibility: visible;
}

.sidebar-menu {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 280px;
  background: white;
  z-index: 999;
  transform: translateX(-100%);
  transition: transform 0.3s ease-in-out;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}
.sidebar-menu.active {
  transform: translateX(0);
}

.sidebar-header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
}
.sidebar-logo img {
  max-width: 120px;
}
#close-sidebar {
  font-size: 30px;
  background: none;
  border: none;
  cursor: pointer;
  color: #333;
}

.sidebar-nav {
  padding: 20px;
  overflow-y: auto;
}
.sidebar-ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar-ul li {
  margin-bottom: 15px;
}
.sidebar-ul a {
  text-decoration: none;
  color: #333;
  font-weight: 600;
  font-size: 16px;
  display: block;
  font-family: Arial, Helvetica, sans-serif;
}
.sidebar-ul a:hover {
  color: var(--azul);
}

/* Responsivo Mobile */
@media (max-width: 768px) {
  .top-bar-content {
    flex-direction: column;
    gap: 5px;
  }
  .nav-grid {
    /* No mobile, talvez a busca suma ou fique apenas o ícone, 
           mas mantendo a estrutura grid o logo segue centralizado */
    grid-template-columns: auto 1fr auto;
    gap: 10px;
  }
  .menu-trigger span {
    display: none;
  } /* Esconde texto MENU no mobile */
  .search-form-header {
    background: transparent;
    padding: 0;
    width: auto;
  }
  .search-field {
    display: none;
  } /* Exemplo: esconde input e deixa só lupa no mobile se quiser */
}

/* =========================================
   SEÇÃO DESTAQUES
   ========================================= */
:root {
  --gap-grid: 20px;
  --cor-destaque: #0056d2; /* Azul padrão */
  --cor-texto: #111;
  --cor-meta: #666;
}

.secao-destaques {
  padding: 30px 0;
}

.img-responsive {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}

/* Links e Hover */
.secao-destaques a {
  text-decoration: none;
  color: inherit;
  transition: color 0.2s;
}
.secao-destaques a:hover {
  color: var(--cor-destaque);
}
.thumb-link {
  display: block;
  overflow: hidden;
  border-radius: 4px;
}
.thumb-link:hover img {
  transform: scale(1.05);
  transition: transform 0.4s ease;
}

/* Labels de Categoria */
.cat-label,
.cat-label-mini {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cor-destaque);
  margin-bottom: 6px;
}

/* --- GRID SUPERIOR (Hero) --- */
.destaques-top-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr; /* Proporção aproximada da imagem */
  gap: var(--gap-grid);
  margin-bottom: var(--gap-grid);
}

/* Destaque Principal */
.destaque-main {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.destaque-main .thumb-link {
  height: 100%;
} /* Altura fixa para alinhar */
.destaque-main h2 {
  font-size: 28px;
  line-height: 1.2;
  margin: 0 0 10px 0;
  font-weight: 700;
}
.destaque-main .excerpt {
  font-size: 15px;
  color: var(--cor-meta);
  line-height: 1.5;
  margin: 0;
}

/* Coluna Direita */
.destaque-side-col {
  display: flex;
  flex-direction: column;
  gap: var(--gap-grid);
}

/* Destaque Secundário (Topo Dir) */
.destaque-secundario {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.destaque-secundario .thumb-link {
  height: 264px;
}
.destaque-secundario h3 {
  font-size: 18px;
  margin: 0;
  line-height: 1.3;
  font-weight: 700;
}

/* Lista Lateral (Baixo Dir) */
.destaque-lista-wrapper {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.destaque-mini-list {
  display: flex;
  gap: 15px;
  align-items: center;
}
.destaque-mini-list .thumb-link {
  width: 120px;
  height: 70px;
  flex-shrink: 0;
}
.destaque-mini-list h4 {
  font-size: 18px;
  margin: 0;
  line-height: 1.3;
  font-weight: 600;
}

/* --- GRID INFERIOR (4 Cards) --- */
.destaques-bottom-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap-grid);
  padding-top: 20px;
  border-top: 1px solid #eee;
}

.destaque-card-bottom {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.destaque-card-bottom .thumb-link {
  aspect-ratio: 16/10;
} /* Mantém proporção retangular */
.destaque-card-bottom h3 {
  font-size: 16px;
  margin: 0;
  line-height: 1.35;
  font-weight: 700;
}

/* =========================================
   RESPONSIVO (Mobile Strategy)
   ========================================= */
@media (max-width: 900px) {
  /* Tablet Portrait */
  .destaques-top-grid {
    grid-template-columns: 1fr;
  }
  .destaque-main .thumb-link {
    height: auto;
    aspect-ratio: 16/9;
  }
  .destaques-bottom-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  /* Mobile */

  /* 1. Transforma o Grid em Pilha */
  .destaques-bottom-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    border-top: none;
    padding-top: 0;
  }

  /* 2. O Grande Truque: Transformar Cards em Listas */
  /* Aplica-se a: Secundário, e os 4 de baixo */
  .item-transform-mobile {
    flex-direction: row !important; /* Força linha ao invés de coluna */
    align-items: flex-start;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 15px;
    margin-bottom: 0;
  }

  /* Ajuste da imagem na lista mobile */
  .item-transform-mobile .thumb-link {
    width: 110px !important; /* Largura fixa da thumb */
    height: 80px !important;
    flex-shrink: 0;
    margin-right: 15px;
    aspect-ratio: auto;
  }

  /* Ajuste dos textos na lista mobile */
  .item-transform-mobile h3,
  .item-transform-mobile h4 {
    font-size: 15px !important; /* Tamanho legível */
    margin: 0;
  }

  .item-transform-mobile .cat-label {
    font-size: 10px;
    margin-bottom: 4px;
  }

  /* O Principal continua grande (Card) */
  .destaque-main {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
  }
  .destaque-main h2 {
    font-size: var(--fs-h2);
    margin-top: 15px;
    /*aqui era só 22px e mais nada*/
  }
}

/* =========================================
   SEÇÃO CATEGORIAS (Header Azul + Grid)
   ========================================= */



/* --- HEADER AZUL --- */
.cat-header-azul {
  background-color: var(--azul); /* Usando sua variável root */
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px 4px 0 0; /* Arredondado só em cima, opcional */
  margin-bottom: 20px;
  color: #fff;
}

.cat-title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  text-transform: capitalize;
}
.cat-title a {
  text-decoration: none;
  color: #fff;
}

.cat-veja-mais {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  opacity: 0.9;
  transition: opacity 0.2s;
}
.cat-veja-mais:hover {
  opacity: 1;
  text-decoration: underline;
}

/* --- GRID 4 COLUNAS --- */
.cat-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* --- ESTILO DO CARD (MODELO 03) --- */
/* Reutilizando lógica do card vertical anterior */
.card-modelo-03 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.card-modelo-03 .thumb-link {
  aspect-ratio: 16/10; /* Garante a altura padrão */
  overflow: hidden;
  border-radius: 4px;
}
/* Efeito de zoom suave */
.card-modelo-03 .thumb-link img {
  transition: transform 0.3s ease;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card-modelo-03:hover .thumb-link img {
  transform: scale(1.05);
}

.card-modelo-03 h3 {
  font-size: 16px;
  margin: 0;
  line-height: 1.4;
  font-weight: 700;
}
.card-modelo-03 h3 a {
  text-decoration: none;
  color: #111;
  transition: color 0.2s;
}
.card-modelo-03 h3 a:hover {
  color: #1d1e1d;
}

/* =========================================
   RESPONSIVO ESPECÍFICO DESTA SEÇÃO
   ========================================= */

@media (max-width: 900px) {
  .cat-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .cat-grid-4 {
    grid-template-columns: 1fr; /* 1 Coluna */
    gap: 15px;
  }

  /* LÓGICA DO 1º DESTAQUE + LISTA ABAIXO */

  /* 1. O PRIMEIRO item (mais recente) continua sendo Card Grande */
  .card-modelo-03:first-child {
    margin-bottom: 10px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
  }
  .card-modelo-03:first-child h3 {
    font-size: 20px;
  } /* Aumenta título do destaque */

  /* 2. TODOS OS OUTROS (2, 3, 4...) viram Lista (Foto lado, texto lado) */
  .cat-grid-4 .card-modelo-03:not(:first-child) {
    flex-direction: row; /* Vira linha */
    align-items: flex-start;
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: 15px;
  }

  /* Ajuste da imagem na lista */
  .cat-grid-4 .card-modelo-03:not(:first-child) .thumb-link {
    width: 110px; /* Tamanho fixo lista */
    height: 80px;
    flex-shrink: 0;
    margin-right: 15px;
    aspect-ratio: auto; /* Reseta aspect-ratio do card */
  }

  /* Ajuste do texto na lista */
  .cat-grid-4 .card-modelo-03:not(:first-child) h3 {
    font-size: 15px;
  }
  .cat-grid-4 .card-modelo-03:not(:first-child) .cat-label {
    font-size: 10px;
    margin-bottom: 4px;
  }
}

/* =========================================
   SEÇÃO MISTA (NOTICIAS)
   ========================================= */

/* O Container do Grid Principal (Pai das duas divs) */
.layout-misto-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr; /* Esquerda (60%) vs Direita (40%) aproximadamente */
  gap: 30px;
  align-items: stretch;
}

/* --- LADO ESQUERDO: DESTAQUE PRINCIPAL --- */
.area-destaque-principal {
  display: flex;
  flex-direction: column;
}

/* Card Destaque Horizontal (Foto lado, Texto lado) */
.card-destaque-horizontal {
  display: grid;
  grid-template-columns: 1fr 0.8fr; /* Imagem ocupa um pouco mais que o texto */
  gap: 20px;
  height: 100%; /* Para preencher a altura se necessário */
}

.card-destaque-horizontal .thumb-link-destaque {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px; /* Altura mínima para garantir impacto */
  border-radius: 4px;
  overflow: hidden;
}

.meta-content-destaque {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centraliza o texto verticalmente */
}

.meta-content-destaque h3 {
  font-size: 24px;
  line-height: 1.2;
  margin: 10px 0;
  font-weight: 700;
}

.meta-content-destaque h3 a {
  text-decoration: none;
  color: #111;
  transition: color 0.2s;
}

.meta-content-destaque h3 a:hover {
  color: #1d1e1d;
}

.excerpt-destaque {
  font-size: 15px;
  color: #555;
  margin-bottom: 15px;
  line-height: 1.5;
}

.author-meta {
  font-size: 12px;
  color: #888;
  text-transform: uppercase;
  font-weight: 600;
}

/* --- LADO DIREITO: GRID 2x2 --- */
.area-grid-secundaria {
  display: grid;
  grid-template-columns: 1fr; /* 2 Colunas */
  gap: 20px;
}

/* Card Pequeno Secundário */
.card-secundario-vertical {
  display: flex;
  gap: 8px;
  align-items: center;
}

.card-secundario-vertical .thumb-link-sec {
  aspect-ratio: 16/10; /* Mantém padrão retangular */
  border-radius: 4px;
  overflow: hidden;
  width: 40%;
  width: 100px;
  height: 100%;
}

.card-secundario-vertical h4 {
  font-size: 14px;
  line-height: 1.35;
  margin: 0;
  font-weight: 600;
}
.card-secundario-vertical h4 a {
  text-decoration: none;
  color: #111;
}
.card-secundario-vertical h4 a:hover {
  color: var(--azul);
}

/* Labels de Categoria */
.cat-label,
.cat-label-sm {
  display: inline-block;
  color: var(--azul);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 5px;
}
.cat-label-sm {
  font-size: 10px;
}

/* Utilitário de Imagem */
.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.card-destaque-horizontal:hover .img-cover,
.card-secundario-vertical:hover .img-cover {
  transform: scale(1.05);
}

.thumb-link-sec {
  width: 90px;
  height: 70px;
  flex-shrink: 0;
  border-radius: 4px;
  overflow: hidden;
}

/* =========================================
   RESPONSIVO
   ========================================= */

@media (max-width: 1024px) {
  /* Tablet: Destaque vira vertical (foto cima, texto baixo) */
  .card-destaque-horizontal {
    grid-template-columns: 1fr; /* Empilha */
    gap: 10px;
  }
  .card-destaque-horizontal .thumb-link-destaque {
    min-height: auto;
    aspect-ratio: 16/9;
  }
}

@media (max-width: 768px) {
  /* Mobile: Tudo vira uma coluna só */
  .layout-misto-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* O grid da direita vira lista ou mantém grid de 2? */
  /* Melhor virar uma lista para não ficar muito pequeno no celular */
  .area-grid-secundaria {
    grid-template-columns: 1fr;
    /* Se quiser manter 2 colunas no celular use: grid-template-columns: 1fr 1fr; */
  }

  /* Ajuste visual mobile */
  .meta-content-destaque h3 {
    font-size: 20px;
  }
}

/*Baneariouuu*/

/* =========================================
   SEÇÃO PORTAL COM ADS LATERAL
   ========================================= */

/* Variáveis (Ajuste conforme seu tema) */
:root {
  --vermelho-cat: #d32f2f;
  --cinza-texto: #333;
}

.secao-portal-ads {
  padding: 30px 0;
  width: 100%;
  box-sizing: border-box;
}

/* HEADER AZUL */
.cat-header-azul {
  background-color: var(--azul);
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  border-radius: 4px 4px 0 0;
}
.cat-header-azul .cat-title a {
  color: #fff;
  text-decoration: none;
  font-size: 22px;
  font-weight: 500;
  text-transform: uppercase;
  font-family: Arial, Helvetica, sans-serif!important;
}
.cat-header-azul .cat-veja-mais {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  opacity: 0.9;
    font-family: Arial, Helvetica, sans-serif!important;

}

/* --- GRID MESTRE (DIVISÃO CONTEÚDO | ADS) --- */
.layout-master-split {
  display: grid;
  /* Coluna Editorial (Flexível) vs Coluna Ads (Fixa/Largura min) */
  /* Ajuste 320px para caber um ads de 300px com folga */
  grid-template-columns: 1fr 320px;
  gap: 30px;
  align-items: start;
}

/* --- COLUNA EDITORIAL (ESQUERDA) --- */
.coluna-editorial {
  display: flex;
  flex-direction: column;
  gap: 30px; /* Espaço entre o bloco de cima e o grid de baixo */
}

/* PARTE 1: TOPO (DESTAQUE + LISTA) */
.bloco-topo-misto {
  display: grid;
  grid-template-columns: 1.4fr 1fr; /* Destaque maior que a lista */
  gap: 20px;
}

/* Destaque */
.card-destaque {
  display: flex;
  gap: 12px;
  height: 100%;
  align-items: center;
}
.card-destaque .thumb-link {
  width: 200%;
  aspect-ratio: 16/9; /* Garante formato wide */
  overflow: hidden;
  margin-bottom: 12px;
  border-radius: 4px;
  height: 180px;
}

/* Lista Lateral (2 itens um abaixo do outro) */
.lista-lateral-topo {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* PARTE 2: GRID INFERIOR (3 COLUNAS) */
.bloco-inferior-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  border-top: 1px solid #eee;
  padding-top: 20px;
}

/* --- ESTILOS DOS CARDS --- */

/* Estilo unificado para Secundários (Lista e Grid) */
.card-secundario {
  display: flex;
  flex-direction: row; /* Foto lado, texto lado */
  align-items: flex-start;
  gap: 12px;
}

.card-secundario .thumb-link {
  width: 90px;
  height: 70px;
  flex-shrink: 0; /* IMPEDE A IMAGEM DE ENCOLHER */
  border-radius: 4px;
  overflow: hidden;
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.thumb-link:hover .img-cover {
  transform: scale(1.05);
}

/* Tipografia */
.label-cat {
  color: var(--azul);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 4px;
  display: block;
}

.meta-content h3 {
  font-size: 20px;
  line-height: 1.25;
  margin: 0;
  font-weight: 700;
  color: #111;
}
.meta-content h4 {
  font-size: 14px;
  line-height: 1.35;
  margin: 0;
  font-weight: 600;
  color: #111;
}

.meta-content a {
  text-decoration: none;
  color: inherit;
}
.meta-content a:hover {
  color: var(--azul-portal);
}

/* --- COLUNA ADS (DIREITA) --- */
.coluna-ads {
  background-color: #ddd;
  height: 100%; /* Opcional: fundo leve para demarcar área */
  /* Se quiser que o ads acompanhe o scroll, descomente abaixo: */
  /* position: sticky; top: 20px; */
}
.google-ads-box {
  width: 100%;
  /* Altura definida pelo conteúdo do AdSense, ou fixa se preferir */
  min-height: 600px;
  border: 1px dashed #ccc; /* Só para visualização no dev */
}
.ads-label {
  font-size: 10px;
  color: #999;
  text-transform: uppercase;
  display: block;
  text-align: center;
  margin-bottom: 5px;
}

/* =========================================
   RESPONSIVO
   ========================================= */
@media (max-width: 1024px) {
  /* Tablet: Mantém estrutura, mas aperta as colunas */
  .layout-master-split {
    grid-template-columns: 1fr 280px;
    gap: 20px;
  }
  .bloco-inferior-grid {
    grid-template-columns: repeat(2, 1fr);
  } /* Grid inferior vira 2 colunas */
}

@media (max-width: 768px) {
  /* Mobile: Tudo vira 1 coluna empilhada */
  .layout-master-split {
    grid-template-columns: 1fr;
  }

  /* Ordem: Conteúdo primeiro, Ads depois (ou antes, se preferir) */
  .coluna-ads {
    margin-top: 30px;
    order: 1;
  }

  /* Topo: Destaque em cima, lista embaixo */
  .bloco-topo-misto {
    grid-template-columns: 1fr;
  }

  /* Grid inferior: 1 coluna */
  .bloco-inferior-grid {
    grid-template-columns: 1fr;
  }

  /* Ajuste visual mobile */
  .card-secundario .thumb-link {
    width: 110px;
    height: 80px;
  }

  .coluna-ads {
    display: none;
  }
}

/* =========================================
   SEÇÃO TRIPLA FOOTER (Mais Lidas / Últimas / News)
   ========================================= */

:root {
  --azul-titulo: #003366; /* Azul escuro da fonte do título */
  --amarelo-titulo: #f1c40f;
  --vermelho-titulo: #e74c3c;
  --texto-cinza: #666;
  --bg-news: #f9f9f9;
}

.secao-tripla-footer {
  padding: 40px 0;
  width: 100%;
}

.grid-triplo {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px; /* Espaçamento generoso entre colunas */
  align-items: start;
}

/* --- TÍTULOS --- */
.titulo-secao-tripla {
  font-size: 24px;
  font-family: "Georgia", serif; /* Fonte com serifa conforme imagem */
  font-weight: 700;
  margin-bottom: 25px;
  padding-bottom: 8px;
  border-bottom: 2px solid #ddd; /* Linha cinza base */
  position: relative;
  color: var(--azul-titulo);
}

/* Linha colorida em cima da borda cinza (efeito visual) */
.titulo-secao-tripla::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px; /* Tamanho do traço colorido */
  height: 2px;
}

.titulo-secao-tripla.azul::after {
  background-color: var(--azul-titulo);
}
.titulo-secao-tripla.amarelo {
  color: #f39c12;
}
.titulo-secao-tripla.amarelo::after {
  background-color: #f39c12;
}
.titulo-secao-tripla.vermelho {
  color: var(--vermelho-titulo);
  border: none;
} /* Redes sociais não tem linha na imagem */

.mt-40 {
  margin-top: 40px;
}

/* --- COLUNA 1: MAIS LIDAS (Numerada) --- */
.item-numerado {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  gap: 15px;
}

.numero-rank {
  font-size: 42px; /* Número Grande */
  font-weight: 700;
  color: var(--azul-titulo);
  line-height: 0.8;
  font-family: "Georgia", serif;
  min-width: 30px;
}

/* --- COLUNA 2: ÚLTIMAS (Thumb Pequeno) --- */
.item-thumb-small {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  gap: 15px;
}

.thumb-link-small {
  width: 80px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 4px;
  overflow: hidden;
}

/* --- ESTILOS GERAIS DE TEXTO (Listas) --- */
.meta-content-lista {
  display: flex;
  flex-direction: column;
}

.titulo-lista {
  font-size: 14px;
  line-height: 1.3;
  margin: 0 0 5px 0;
  font-weight: 600;
}
.titulo-lista a {
  text-decoration: none;
  color: #333;
  transition: color 0.2s;
}
.titulo-lista a:hover {
  color: var(--azul-titulo);
}

.data-hora {
  font-size: 11px;
  color: #999;
}

/* --- COLUNA 3: NEWSLETTER --- */
.box-newsletter-bg {
  background-color: var(--bg-news);
  padding: 20px;
  border-radius: 4px;
}

.news-chamada {
  font-weight: 700;
  font-size: 16px;
  margin: 0 0 10px 0;
  color: #333;
}

.news-desc {
  font-size: 13px;
  color: #666;
  margin-bottom: 15px;
  line-height: 1.4;
}

/* Estilização básica para o CF7 não ficar quebrado caso ainda não tenha CSS */
.cf7-container input[type="email"] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  margin-bottom: 10px;
  box-sizing: border-box;
}
.cf7-container input[type="submit"] {
  width: 100%;
  background: #f39c12;
  color: #fff;
  border: none;
  padding: 10px;
  font-weight: bold;
  cursor: pointer;
}

/* --- REDES SOCIAIS --- */
.social-icons-row {
  display: flex;
  gap: 15px;
}
.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #555;
  transition: transform 0.2s, color 0.2s;
}
.social-icon:hover {
  transform: translateY(-3px);
}
.social-icon.whatsapp:hover {
  color: #25d366;
}
.social-icon.facebook:hover {
  color: #1877f2;
}
.social-icon.instagram:hover {
  color: #e4405f;
}

/* --- RESPONSIVO --- */
@media (max-width: 900px) {
  .grid-triplo {
    grid-template-columns: 1fr; /* Empilha tudo em 1 coluna */
    gap: 30px;
  }

  .titulo-secao-tripla {
    font-size: 20px;
  }
}

/* =========================================
   RODAPÉ (FOOTER)
   ========================================= */

.site-footer {
  background-color: var(--azul); /* Azul Global */
  color: #ffffff;
  padding: 50px 0;
  width: 100%;
  margin-top: 40px; /* Separação do conteúdo acima */
}

.footer-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center; /* Centraliza verticalmente logo e texto */
  justify-content: flex-start;
  gap: 20px;
  text-align: center; /* Espaço generoso entre a logo e o texto */
}

/* --- LOGO --- */
.footer-brand img {
  max-width: 100px; /* Ajuste visual baseada na proporção da imagem */
  height: auto;
  display: block;
}

/* --- BLOCO DE INFORMAÇÕES (DIREITA) --- */
.footer-info {
  display: flex;
  flex-direction: column;
  gap: 12px; /* Espaçamento entre as linhas de texto */
}

/* Menu Links */
.footer-nav-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 25px; /* Gap Horizontal / Vertical */
}

.footer-nav-links a {
  color: #ffffff;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 600; /* Bold para destacar links */
  font-size: 12px;
  letter-spacing: 0.5px;
  transition: opacity 0.2s;
}

.footer-nav-links a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/* Textos Legais */
.footer-legal-text p,
.footer-copyright p {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
}

.footer-copyright p {
  margin-top: 5px; /* Leve respiro extra antes do copyright */
}

/* =========================================
   RESPONSIVO FOOTER
   ========================================= */
@media (max-width: 992px) {
  .footer-wrapper {
    flex-direction: column;
    align-items: flex-start; /* Alinha tudo à esquerda no tablet */
    gap: 30px;
  }
}

@media (max-width: 600px) {
  .footer-wrapper {
    align-items: center; /* Centraliza no mobile */
    text-align: center;
  }

  .footer-nav-links ul {
    justify-content: center;
    gap: 15px;
  }

  .footer-legal-text p,
  .footer-copyright p {
    font-size: 12px;
  }
}


.footer-nav ul{
  display: flex;
  gap: 12px;
  list-style: none;
  justify-content: center;
  align-items: center;
}

.footer-nav ul li a{
  text-decoration: none;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  font-family: Arial, Helvetica, sans-serif!important;

}


.wrapper {
  max-width: var(--container);
  margin: 0 auto;
  padding:12px;
}

@media (max-width: 600px) {
  .card-destaque {
    flex-wrap: wrap;
  }
}

/* =========================================
   LAYOUT DE ARQUIVO (CATEGORIA)
   ========================================= */

.wrapper-archive {
  padding-bottom: 50px;
}

/* --- GRID SYSTEM 70/30 --- */
.archive-grid-layout {
  display: grid;
  /* Define explicitamente 70% e o restante (aprox 30%) */
  grid-template-columns: 2.3fr 1fr;
  gap: 40px;
  align-items: start;
}

/* --- HEADER AZUL DA CATEGORIA --- */
.cat-header-azul-full {
  background-color: var(--azul); /* Azul Global */
  padding: 15px 25px;
  border-radius: 4px 4px 0 0; /* Arredondado topo */
  margin-bottom: 25px;
  color: #fff;
  display: flex;
  align-items: center;
}

.cat-title-large {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  text-transform: capitalize;
}

/* --- ESTILO DOS CARDS (Listagem) --- */

/* Base comum para Destaque e Lista (Ambos horizontais na imagem) */
.card-destaque-cat,
.card-lista-cat {
  display: flex;
  flex-direction: row;
  gap: 25px;
  padding: 10px 0;
}

/* Imagem Thumb */
.thumb-link-archive {
  width: 350px; /* Largura fixa generosa conforme imagem */
  height: 220px;
  flex-shrink: 0; /* Não deixa esmagar a imagem */
  border-radius: 4px;
  overflow: hidden;
}

/* Conteúdo Texto */
.meta-content-archive {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Tipografia */
.post-title {
  margin: 8px 0 12px 0;
  font-weight: 700;
  line-height: 1.2;
}

.post-title a {
  text-decoration: none;
  color: #111;
  transition: color 0.2s;
  font-size: 28px;
}
.post-title a:hover {
  color: var(--azul);
}

/* Diferença sutil para o Destaque (Primeiro post) */
.card-destaque-cat .post-title {
  font-size: 26px;
}
.card-lista-cat .post-title {
  font-size: 22px;
}

.post-excerpt {
  font-size: 15px;
  color: #555;
  line-height: 1.5;
  margin-bottom: 15px;
  /* Limita linhas para não ficar gigante */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Meta Footer (Autor, Data) */
.post-meta-footer {
  font-size: 12px;
  color: #888;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: auto; /* Empurra para baixo se sobrar espaço */
}
.separator {
  margin: 0 5px;
  color: #ccc;
}

/* Separador visual entre posts */
.post-divider {
  border: 0;
  border-top: 1px solid #eee;
  margin: 25px 0;
}
/* Esconde o último hr */
.post-divider:last-of-type {
  display: none;
}

/* --- PAGINAÇÃO WP --- */
.pagination-wrapper {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}
.nav-links {
  display: flex;
  gap: 10px;
}
.nav-links a,
.nav-links span {
  padding: 10px 15px;
  border: 1px solid #ddd;
  text-decoration: none;
  color: #333;
  font-weight: 700;
  border-radius: 4px;
  transition: 0.2s;
}
.nav-links .current,
.nav-links a:hover {
  background-color: var(--azul);
  color: #fff;
  border-color: var(--azul);
}

/* Placeholder AD */
.ad-placeholder-970 {
  background: #ccc;
  width: 100%;
  height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-weight: bold;
}

/* =========================================
   RESPONSIVO
   ========================================= */
@media (max-width: 1024px) {
  /* Tablet: Colunas ficam mais estreitas */
  .archive-grid-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Sidebar vai para baixo no tablet/mobile */
  .archive-sidebar {
    order: 2;
  }
  .archive-main-content {
    order: 1;
  }
}

@media (max-width: 768px) {
  /* Mobile: Cards viram verticais (empilhados) */
  .card-destaque-cat,
  .card-lista-cat {
    flex-direction: column;
    gap: 15px;
  }
  .thumb-link-archive {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
  .post-title {
    font-size: 20px !important;
  }
}

/* =========================================
   SINGLE POST LAYOUT
   ========================================= */

.wrapper-single {
  padding: 30px 0;
}

/* --- GRID 2 COLUNAS (Conteúdo Largo / Sidebar) --- */
.single-grid-layout {
  display: grid;
  grid-template-columns: 68% 30%; /* Proporção aproximada da imagem */
  gap: 2%; /* Gap proporcional */
}

/* --- BANNER TOPO --- */
.ad-top-banner {
  background: #666;
  height: 250px;
  width: 100%;
  max-width: 970px;
  margin: 20px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
}

/* --- CABEÇALHO DO POST --- */
.breadcrumbs {
  font-size: 12px;
  color: #888;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.breadcrumbs span {
  color: var(--azul);
  font-weight: bold;
  font-family: Arial, Helvetica, sans-serif!important;
}

.author-desc{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.entry-subtitle {
  font-size: 18px;
  color: #555;
  line-height: 1.4;
  margin-bottom: 20px;
}

/* Meta Dados (Autor) */
.entry-meta-header {
  display: flex;
  align-items: center;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding: 15px 0;
  margin-bottom: 25px;
}
.author-avatar img {
  border-radius: 50%;
  display: block;
  margin-right: 15px;
}
.meta-info {
  display: flex;
  flex-direction: column;
  font-size: 13px;
}
.meta-info .author-name {
  color: #333;
}
.meta-info .post-date {
  color: #888;
  margin-top: 3px;
}

/* Imagem Destacada */
.featured-image-container {
  margin-bottom: 30px;
}
.featured-image-container img {
  width: 100%;
  height: auto;
  display: block;
}
.image-caption {
  font-size: 11px;
  color: #777;
  margin-top: 5px;
  font-style: italic;
}

/* --- CONTEÚDO DO CORPO --- */
.entry-content {
  font-size: 18px;
  line-height: 1.6;
  color: #222;
  font-family: "Arial", sans-serif; /* Sans-serif para leitura corpo */
}
.entry-content p {
  margin-bottom: 20px;
}

/* ESTILO DO ADS INJETADO (O BLOCO VERMELHO) */
.content-ad-box {
  background-color: #ff3333; /* Vermelho Ads */
  color: #fff;
  padding: 30px;
  text-align: center;
  margin: 30px 0;
  font-weight: bold;
  font-size: 22px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- RODAPÉ DO POST --- */
.entry-footer-tags {
  margin: 30px 0;
}
.tags-label {
  font-weight: bold;
  color: #333;
  margin-right: 10px;
}
.tag-item {
  display: inline-block;
  background: #f1f1f1;
  padding: 5px 10px;
  border-radius: 3px;
  font-size: 12px;
  margin-right: 5px;
  color: #555;
}

/* Box Autor */
.author-box {
  background: #f9f9f9;
  padding: 20px;
  display: flex;
  gap: 20px;
  margin-bottom: 40px;
  border-left: 4px solid var(--azul);
}
.author-desc h4 {
  margin: 0 0 5px 0;
  font-size: 16px;
}
.author-desc p {
  margin: 0;
  font-size: 13px;
  color: #666;
}

/* --- LEIA MAIS (GRID) --- */
.section-heading {
  font-size: 20px;
  border-bottom: 2px solid #ddd;
  padding-bottom: 10px;
  margin-bottom: 20px;
  position: relative;
}
.section-heading::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 50px;
  height: 2px;
  background: #000;
}

.related-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.card-horizontal-related {
  display: flex;
  gap: 15px;
  align-items: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}
.thumb-rel {
  width: 120px;
  height: 80px;
  flex-shrink: 0;
}
.meta-rel h4 {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
}
.meta-rel h4 a {
  color: #111;
  text-decoration: none;
  font-weight: bold;
}
.meta-rel h4 a:hover {
  color: var(--azul);
}

/* --- SIDEBAR --- */
.single-sidebar {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.ad-sidebar-box {
  background: #c9c9c9;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}
.tall {
  height: 600px;
}
.rect {
  height: 250px;
}

.widget-box {
  background: #fff; 
  padding: 20px;
  border-radius: 6px;
}
.widget-title {
  font-size: 28px;
  font-weight: bold;
  text-transform: uppercase;
  border-bottom: 2px solid #000;
  margin-bottom: 15px;
  padding-bottom: 5px;
}

/* Lista Sidebar Thumb */
.sidebar-list-thumb li {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
  align-items: center;
}
.img-tiny {
  width: 60px;
  height: 60px;
  background: #ccc;
  border-radius: 3px;
}
.sidebar-list-thumb a {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  text-decoration: none;
  line-height: 1.2;
}

/* Lista Sidebar Numerada */
.sidebar-list-numbered {
  padding-left: 0px;
}
.sidebar-list-numbered li {
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  list-style: none;
  padding: 0px !important;
}

.sidebar-list-numbered li a{
    color: #878787;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
}

/* --- RESPONSIVO --- */
@media (max-width: 1024px) {
  .single-grid-layout {
    grid-template-columns: 1fr;
  }
  .ad-sidebar-box.tall {
    height: 300px; /* Reduz altura no mobile/tablet */
  }

  /* Ads no conteúdo ficam full width */
  .content-ad-box {
    font-size: 16px;
    padding: 20px;
  }
}















#destaque .cat-label, .cat-label-sm, .cat-label-mini {
    display: none!important;
}
 

#destaque .meta-content h3 > a{
    font-size: 18px!important;
}

#destaque .destaque-main .excerpt{
    display: none!important;
}


#destaque .destaque-secundario .meta-content h3 > a{
    font-size: 26px!important;
}





#noticias .card-secundario-vertical .thumb-link-sec{
    height: auto!important;
}


#noticias .meta-content-destaque h3 a{
    font-size: 30px!important;
}


#balneario-camboriu .bloco-inferior-grid h4 a{
    font-size: 16px!important;
}


.wrapper{
    padding: 12px!important;
}



@media (max-width:450px) {
  .destaque-main h2 {
    font-size: 30px!important;
  }
  #destaque .destaque-secundario .meta-content h3 > a{
      font-size: 18px!important;
  }


  .destaques-bottom-grid h3 > a, .secao-categoria-bloco h3 > a {
      font-size: 15px!important;
  }

  h2 > a{
    font-size: 30px!important;
  }

  h4 > a{
    font-size: 15px!important;
  }

  h3 > a{
    font-size: 15px!important;
  }
  
  #balneario-camboriu .bloco-inferior-grid h4 a{
    font-size: 15px!important;
  }


  .cat-title > a {
    font-size: 20px!important;
  }

  #destaque .meta-content h3 > a{
    font-size: 15px!important;
  }

  #noticias .meta-content-destaque h3 a{
    font-size: 15px!important;
  
  }
}