@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Lato:wght@400;700;900&family=Merriweather:wght@400;700;900&family=Montserrat:wght@400;500;600;700;800;900&family=Open+Sans:wght@400;500;600;700;800&family=Roboto:wght@400;500;600;700;800;900&family=Source+Sans+3:wght@400;500;600;700;800;900&display=swap');

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Lato:wght@400;700;900&family=Merriweather:wght@400;700;900&family=Open+Sans:wght@400;600;700;800&family=Roboto+Slab:wght@400;600;700;800&family=Roboto:wght@400;500;600;700;800;900&family=Source+Sans+3:wght@400;500;600;700;800;900&display=swap");
/* ZipNews CMS v19 — sistema tipográfico público
   Mantém a estrutura da Home e corrige a aparência editorial global. */

:root{
  --zn-font-sans: var(--zip-font-base, Arial, Helvetica, sans-serif);
  --zn-text:#111;
  --zn-secondary:#4d4d4d;
}

/* Base */
body{
  font-family:var(--zn-font-sans);
  font-size:16px;
  font-weight:var(--zip-weight-body,400);
  line-height:1.45;
  color:var(--zn-text);
}

/* Navegação */
.zn-mainnav a{
  font-family:var(--zn-font-sans);
  font-size:var(--zip-size-menu,14px);
  font-weight:600;
  line-height:1;
  letter-spacing:-.1px;
}
.zn-utility a{
  font-size:11px;
  font-weight:400;
}

/* Nome das editorias */
.zp-heading{
  font-family:var(--zn-font-sans);
  font-size:var(--zip-home-section,var(--zip-size-section,15px)) !important;
  font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700)) !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
}

/* Títulos comuns */
.zp-card h3{
  font-family:var(--zip-font-home-title,var(--zip-font-title,var(--zn-font-sans))) !important;
  font-size:var(--zip-home-card,var(--zip-size-card,20px)) !important;
  font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700)) !important;
  line-height:1.22 !important;
  letter-spacing:-.35px !important;
}

/* Manchete principal */
.zp-preset-hero .zp-card:first-child h3,
.zp-preset-hero_side .zp-card:first-child h3,
.zp-preset-hero_bottom .zp-card:first-child h3,
.zp-card.zp-lead h3{
  font-family:var(--zip-font-home-title,var(--zip-font-title,var(--zn-font-sans))) !important;
  font-size:var(--zip-home-headline,var(--zip-size-headline,40px)) !important;
  font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700)) !important;
  line-height:1.12 !important;
  letter-spacing:-.65px !important;
}

/* Chamadas laterais do destaque */
.zp-preset-hero .zp-card:not(:first-child) h3,
.zp-preset-hero_side .zp-card:not(:first-child) h3,
.zp-preset-hero_bottom .zp-card:not(:first-child) h3{
  font-size:var(--zip-home-small-card,var(--zip-size-small-card,16px)) !important;
  font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700)) !important;
  line-height:1.23 !important;
  letter-spacing:-.25px !important;
}

/* Cards dentro de colunas estreitas */
.zp-slot[style*="span 4"] .zp-card h3,
.zp-slot[style*="span 3"] .zp-card h3{
  font-size:var(--zip-home-small-card,var(--zip-size-small-card,16px)) !important;
  line-height:1.25 !important;
}

/* Resumo/chamada */
.zp-card p{
  font-family:var(--zn-font-sans);
  font-size:var(--zip-home-subtitle,var(--zip-size-summary,16px)) !important;
  font-weight:var(--zip-weight-body,400) !important;
  line-height:1.42 !important;
  letter-spacing:0 !important;
  color:var(--zn-secondary);
}

/* Autor/data */
.zp-card small{
  font-family:var(--zn-font-sans);
  font-size:var(--zip-home-meta,var(--zip-size-meta,13px)) !important;
  font-weight:var(--zip-weight-body,400) !important;
  line-height:1.3 !important;
}

/* Mais lidas / listas */
.zp-list a{
  font-family:var(--zn-font-sans) !important;
  font-size:var(--zip-home-small-card,var(--zip-size-small-card,16px)) !important;
  font-weight:600 !important;
  line-height:1.28 !important;
  letter-spacing:-.15px !important;
}

/* Colunistas */
.zp-preset-columnists .zp-card h3{
  font-family:var(--zn-font-sans) !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  letter-spacing:-.1px !important;
}

/* Newsletter */
.zp-newsletter,
.zp-newsletter p,
.zp-subscribe input,
.zp-subscribe button{
  font-family:var(--zn-font-sans);
}
.zp-newsletter p{
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.35 !important;
}
.zp-subscribe input{font-size:13px}
.zp-subscribe button{font-size:13px;font-weight:700}

/* Footer */
.zn-footer{
  font-family:var(--zn-font-sans);
}
.zn-footer-col strong{
  font-size:13px;
  font-weight:700;
}
.zn-footer-col a,
.zn-footer-brand p{
  font-size:12px;
  font-weight:400;
  line-height:1.5;
}

/* Tablet */
@media(max-width:900px){
  .zp-card h3{font-size:18px !important}
  .zp-preset-hero .zp-card:first-child h3,
  .zp-preset-hero_side .zp-card:first-child h3,
  .zp-preset-hero_bottom .zp-card:first-child h3,
  .zp-card.zp-lead h3{font-size:27px !important}
}

/* Mobile */
@media(max-width:600px){
  body{font-size:15px}
  .zp-heading{font-size:13px !important}
  .zp-card h3{font-size:16px !important;line-height:1.25 !important}
  .zp-preset-hero .zp-card:first-child h3,
  .zp-preset-hero_side .zp-card:first-child h3,
  .zp-preset-hero_bottom .zp-card:first-child h3,
  .zp-card.zp-lead h3{
    font-size:24px !important;
    line-height:1.14 !important;
    letter-spacing:-.45px !important;
  }
}

/* Valores globais definidos no Admin > Aparência > Tipografia Global */
.zp-heading{font-family:var(--zip-font-home-title,var(--zip-font-title,var(--zn-font-sans)))!important;font-size:var(--zip-home-section,var(--zip-size-section,15px))!important;font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700))!important}
.zp-card h3,.zp-list a,.zp-preset-columnists .zp-card h3{font-family:var(--zip-font-home-title,var(--zip-font-title,var(--zn-font-sans)))!important;font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700))!important}
.zp-card h3{font-size:var(--zip-home-card,var(--zip-size-card,20px))!important}
.zp-preset-hero .zp-card:first-child h3,.zp-preset-hero_side .zp-card:first-child h3,.zp-preset-hero_bottom .zp-card:first-child h3,.zp-card.zp-lead h3{font-size:var(--zip-home-headline,var(--zip-size-headline,40px))!important}
.zp-preset-hero .zp-card:not(:first-child) h3,.zp-preset-hero_side .zp-card:not(:first-child) h3,.zp-preset-hero_bottom .zp-card:not(:first-child) h3,.zp-slot[style*="span 4"] .zp-card h3,.zp-slot[style*="span 3"] .zp-card h3,.zp-list a{font-size:var(--zip-home-small-card,var(--zip-size-small-card,16px))!important}
.zp-card p{font-family:var(--zip-font-base,var(--zn-font-sans))!important;font-size:var(--zip-home-subtitle,var(--zip-size-summary,16px))!important;font-weight:var(--zip-weight-body,400)!important}
.zp-card small{font-size:var(--zip-home-meta,var(--zip-size-meta,13px))!important}
.zn-mainnav a{font-family:var(--zip-font-base,var(--zn-font-sans))!important;font-size:var(--zip-size-menu,14px)!important}
@media(max-width:600px){.zp-preset-hero .zp-card:first-child h3,.zp-preset-hero_side .zp-card:first-child h3,.zp-preset-hero_bottom .zp-card:first-child h3,.zp-card.zp-lead h3{font-size:clamp(24px,8vw,var(--zip-home-headline,var(--zip-size-headline,40px)))!important}.zp-card h3{font-size:clamp(15px,5vw,var(--zip-home-card,var(--zip-size-card,20px)))!important}}

/* =========================================================
   HOME FIXA / HOME BUILDER — Tipografia Global
   Conecta o layout .zf-* às mesmas variáveis do Admin.
   ========================================================= */
.zf-home{
  font-family:var(--zip-font-base, Arial, Helvetica, sans-serif) !important;
  font-weight:var(--zip-weight-body,400);
}

.zf-section-head h2{
  font-family:var(--zip-font-title, Arial, Helvetica, sans-serif) !important;
  font-size:var(--zip-home-section,var(--zip-size-section,15px)) !important;
  font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700)) !important;
  line-height:1.15 !important;
}

.zf-card h3,
.zf-card h3 a{
  font-family:var(--zip-font-title, Arial, Helvetica, sans-serif) !important;
  font-size:var(--zip-home-card,var(--zip-size-card,20px)) !important;
  font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700)) !important;
  line-height:1.18 !important;
}

.zf-hero .zf-first h3,
.zf-hero .zf-first h3 a{
  font-family:var(--zip-font-title, Arial, Helvetica, sans-serif) !important;
  font-size:var(--zip-home-headline,var(--zip-size-headline,40px)) !important;
  font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700)) !important;
  line-height:1.08 !important;
}

.zf-list .zf-card h3,
.zf-list .zf-card h3 a{
  font-size:var(--zip-home-small-card,var(--zip-size-small-card,16px)) !important;
}

.zf-card p,
.zf-card .excerpt,
.zf-card .zf-excerpt{
  font-family:var(--zip-font-base, Arial, Helvetica, sans-serif) !important;
  font-size:var(--zip-home-subtitle,var(--zip-size-summary,16px)) !important;
  font-weight:var(--zip-weight-body,400) !important;
  line-height:1.42 !important;
}

.zf-card small,
.zf-card .meta,
.zf-card .zf-meta{
  font-family:var(--zip-font-base, Arial, Helvetica, sans-serif) !important;
  font-size:var(--zip-home-meta,var(--zip-size-meta,13px)) !important;
  font-weight:var(--zip-weight-body,400) !important;
}

/* Últimas notícias e listas da Home fixa */
.zf-home .zf-list a,
.zf-home .zf-list h3 a{
  font-family:var(--zip-font-title, Arial, Helvetica, sans-serif) !important;
  font-size:var(--zip-home-small-card,var(--zip-size-small-card,16px)) !important;
  font-weight:var(--zip-home-title-weight,var(--zip-weight-title,700)) !important;
}

/* Mantém menu global ligado à configuração, salvo quando houver override individual */
.zn-mainnav a{
  font-family:var(--zip-font-base, Arial, Helvetica, sans-serif) !important;
  font-size:var(--zip-size-menu,14px) !important;
}

@media(max-width:850px){
  .zf-card h3,.zf-card h3 a{
    font-size:clamp(16px,3vw,var(--zip-home-card,var(--zip-size-card,20px))) !important;
  }
  .zf-hero .zf-first h3,.zf-hero .zf-first h3 a{
    font-size:clamp(25px,5vw,var(--zip-home-headline,var(--zip-size-headline,40px))) !important;
  }
}

@media(max-width:580px){
  .zf-section-head h2{font-size:clamp(13px,4vw,var(--zip-home-section,var(--zip-size-section,15px))) !important}
  .zf-card h3,.zf-card h3 a{font-size:clamp(15px,5vw,var(--zip-home-card,var(--zip-size-card,20px))) !important}
  .zf-hero .zf-first h3,.zf-hero .zf-first h3 a{font-size:clamp(24px,8vw,var(--zip-home-headline,var(--zip-size-headline,40px))) !important}
}

/* Tipografia Global Pro */
.zp-card h3,.zp-preset-hero .zp-card:first-child h3,.zp-preset-hero_side .zp-card:first-child h3,.zp-preset-hero_bottom .zp-card:first-child h3,.zp-card.zp-lead h3{line-height:var(--zip-home-title-line,1.12)!important}

/* Menu público
   O menu NÃO é mais controlado pela Tipografia Global.
   Fonte, tamanho, peso, transformação, alinhamento, espaçamento e cores
   pertencem exclusivamente ao Módulo Menus. */
