/*
Theme Name:  GCAST Child
Theme URI:   https://gcast.com.br
Description: Child theme do GeneratePress para o portal GCAST. Contém os design tokens (cores, tipografia, espaçamentos) e customizações próprias do projeto. Todo o código customizado de aparência vive aqui.
Author:      GCAST
Author URI:  https://gcast.com.br
Template:    generatepress
Version:     0.3.0
Text Domain: gcast-child
*/

/* ==========================================================================
   GCAST — DESIGN TOKENS
   Toda a identidade visual do portal parte destas variáveis.
   Para ajustar a identidade no futuro, edite apenas esta seção.
   ========================================================================== */

:root {
  /* ----- Cores da marca ----- */
  --gcast-primary:        #0F2D3C;  /* azul petróleo profundo (marca) */
  --gcast-primary-soft:   #16405A;  /* variação mais clara da primária */
  --gcast-accent:         #14B8A6;  /* verde-água (CTAs, badges, links de destaque) */
  --gcast-accent-strong:  #0D9488;  /* hover/estado ativo do accent */

  /* ----- Neutros (modo claro) ----- */
  --gcast-bg:             #FFFFFF;  /* fundo da página */
  --gcast-bg-alt:         #F4F6F8;  /* fundo de seções alternadas / cards */
  --gcast-border:         #E3E8ED;  /* bordas e divisores */
  --gcast-text:           #1B2733;  /* texto principal */
  --gcast-text-soft:      #5A6B7B;  /* texto secundário (metadados, datas) */

  /* ----- Tipografia ----- */
  --gcast-font-heading:   "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gcast-font-body:      "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* ----- Escala tipográfica ----- */
  --gcast-fs-sm:    0.875rem;   /* 14px — metadados */
  --gcast-fs-base:  1.0625rem;  /* 17px — corpo de leitura confortável */
  --gcast-fs-lg:    1.25rem;    /* 20px */
  --gcast-fs-xl:    1.5rem;     /* 24px — H3 */
  --gcast-fs-2xl:   1.875rem;   /* 30px — H2 */
  --gcast-fs-3xl:   2.375rem;   /* 38px — H1 */

  /* ----- Espaçamentos ----- */
  --gcast-space-1:  0.5rem;
  --gcast-space-2:  1rem;
  --gcast-space-3:  1.5rem;
  --gcast-space-4:  2.5rem;
  --gcast-space-5:  4rem;

  /* ----- Raio e sombra dos cards ----- */
  --gcast-radius:   10px;
  --gcast-shadow:   0 1px 3px rgba(15, 45, 60, 0.08), 0 4px 14px rgba(15, 45, 60, 0.06);
}

/* ----- Neutros (modo escuro) — ativado pela classe .gcast-dark no <html> ----- */
:root.gcast-dark {
  --gcast-bg:        #0D1B24;
  --gcast-bg-alt:    #13242F;
  --gcast-border:    #22384594;
  --gcast-text:      #E8EEF3;
  --gcast-text-soft: #93A6B5;
  --gcast-shadow:    0 1px 3px rgba(0, 0, 0, 0.4), 0 4px 14px rgba(0, 0, 0, 0.3);
}

/* ==========================================================================
   FONTES SELF-HOSTED (Sora para títulos, Inter para corpo)
   Arquivos em /assets/fonts — subset latin, apenas pesos usados.
   ========================================================================== */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-latin-400-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-latin-700-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Sora";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/sora-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Sora";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/sora-latin-700-normal.woff2") format("woff2");
}

/* ==========================================================================
   BASE TIPOGRÁFICA E DE LEITURA
   Aplica os tokens sobre a estrutura do GeneratePress.
   ========================================================================== */

body {
  font-family: var(--gcast-font-body);
  font-size: var(--gcast-fs-base);
  line-height: 1.7;
  color: var(--gcast-text);
  background-color: var(--gcast-bg);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--gcast-font-heading);
  font-weight: 700;
  line-height: 1.25;
  color: var(--gcast-text);
  letter-spacing: -0.015em;
}

h1 { font-size: var(--gcast-fs-3xl); }
h2 { font-size: var(--gcast-fs-2xl); }
h3 { font-size: var(--gcast-fs-xl); }

a {
  color: var(--gcast-accent-strong);
  text-decoration: none;
}
a:hover {
  color: var(--gcast-accent);
}

/* Largura confortável de leitura no conteúdo do post */
.single-post .entry-content > * {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.single-post .entry-content > .alignwide { max-width: 1080px; }
.single-post .entry-content > .alignfull { max-width: none; }

/* Metadados de post (data, autor, tempo de leitura) */
.entry-meta,
.gcast-meta {
  font-size: var(--gcast-fs-sm);
  color: var(--gcast-text-soft);
}

/* Botões e elementos de destaque usam o accent */
button,
.button,
input[type="submit"] {
  background-color: var(--gcast-accent-strong);
  color: #ffffff;
  border-radius: var(--gcast-radius);
}
button:hover,
.button:hover,
input[type="submit"]:hover {
  background-color: var(--gcast-accent);
  color: #ffffff;
}

/* Seleção de texto com a cor da marca */
::selection {
  background: var(--gcast-accent);
  color: #ffffff;
}

/* ==========================================================================
   BREADCRUMBS (trilha de navegação)
   ========================================================================== */

.gcast-breadcrumbs {
  background: var(--gcast-bg-alt);
  border-bottom: 1px solid var(--gcast-border);
  padding: 0.6rem 0;
  font-size: var(--gcast-fs-sm);
}
.gcast-breadcrumbs .rank-math-breadcrumb a {
  color: var(--gcast-text-soft);
}
.gcast-breadcrumbs .rank-math-breadcrumb a:hover {
  color: var(--gcast-accent-strong);
}
.gcast-breadcrumbs .rank-math-breadcrumb .separator {
  margin: 0 0.45rem;
  color: var(--gcast-text-soft);
}
.gcast-breadcrumbs .rank-math-breadcrumb .last {
  color: var(--gcast-text);
  font-weight: 500;
}

/* ==========================================================================
   RODAPÉ DE PORTAL (colunas)
   ========================================================================== */

.gcast-footer {
  background: var(--gcast-primary);
  color: #C8D6DF;
  padding: var(--gcast-space-4) 0;
  margin-top: var(--gcast-space-5);
}
.gcast-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 2.5rem;
}
@media (max-width: 768px) {
  .gcast-footer__grid { grid-template-columns: 1fr; gap: 1.75rem; }
}
.gcast-footer__logo {
  font-family: var(--gcast-font-heading);
  font-size: 1.6rem;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 0.5rem;
  letter-spacing: 0.02em;
}
.gcast-footer__desc {
  margin: 0;
  font-size: var(--gcast-fs-sm);
  line-height: 1.7;
  max-width: 34ch;
}
.gcast-footer__title {
  font-family: var(--gcast-font-heading);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gcast-accent);
  margin: 0 0 0.75rem;
}
.gcast-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gcast-footer__col li {
  margin-bottom: 0.45rem;
}
.gcast-footer__col a {
  color: #C8D6DF;
  font-size: var(--gcast-fs-sm);
}
.gcast-footer__col a:hover {
  color: #FFFFFF;
}

/* Barra de copyright do GeneratePress harmonizada com o rodapé */
.site-footer .site-info {
  background: var(--gcast-primary);
  color: #7E95A3;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.site-footer .site-info a {
  color: #C8D6DF;
}
