/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com/
Description: GeneratePress Child – SEO + Performance + EDD (Modelo 007/1010)
Author: EmprestimoDeDinheiro
Template: generatepress
Version: 1.0
Text Domain: generatepress-child
*/

/* =========================================================
   [01] FONTS LOCAIS (SEO + PERFORMANCE)
========================================================= */
@font-face{
  font-family:'Merriweather';
  src:url('fonts/merriweather-regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('fonts/montserrat-regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* =========================================================
   [02] RESET LEVE (CLS ZERO) + BASE DE MÍDIA
========================================================= */
*,
*::before,
*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }

img,
svg,
video,
canvas{
  max-width:100%;
  height:auto;
  display:block;
}

iframe{
  max-width:100%;
  border:0;
}

/* =========================================================
   [03] BASE GLOBAL (TIPOGRAFIA)
========================================================= */
body{
  font-family:'Merriweather', serif;
  font-size:16px;
  line-height:1.7;
  color:#1a1a1a;
  background:#fff;
  margin:0;
  padding:0;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Montserrat', sans-serif;
  font-weight:400;
  line-height:1.3;
  margin-top:1.4em;
  margin-bottom:.6em;
}

/* =========================================================
   [04] LINKS (SEO + UX)
========================================================= */
a{ color:#0645ad; text-decoration:none; }
a:hover,
a:focus{ text-decoration:underline; }

/* =========================================================
   [05] AJUSTES GeneratePress (SEM travar largura do site)
   - NÃO limitar .site-content (isso causava “estreito” no PC
     e folga estranha no mobile)
========================================================= */
.inside-article{
  word-break:break-word;
  overflow-wrap:anywhere;
}

/* Evita parágrafo “colado” */
.inside-article p{ margin:0 0 1em; }

/* =========================================================
   [06] LISTAS AUTOMÁTICAS (ESTADOS / CIDADES)
========================================================= */
.lista-estados{ margin:20px 0; }

.lista-estados ul{
  columns:3;
  -webkit-columns:3;
  -moz-columns:3;
  list-style:none;
  padding:0;
  margin:0;
}

.lista-estados li{
  margin:0 0 8px;
  break-inside:avoid;
}

.lista-estados a{ color:#0645ad; }
.lista-estados a:hover{ text-decoration:underline; }

@media (max-width:980px){
  .lista-estados ul{ columns:2; -webkit-columns:2; -moz-columns:2; }
}
@media (max-width:768px){
  .lista-estados ul{ columns:1; -webkit-columns:1; -moz-columns:1; }
}

/* =========================================================
   [07] ACESSIBILIDADE: FOCO VISÍVEL (WCAG)
========================================================= */
:focus{
  outline:3px solid rgba(11,95,255,.55);
  outline-offset:3px;
  border-radius:8px;
}
:focus:not(:focus-visible){ outline:none; }
:focus-visible{
  outline:3px solid rgba(11,95,255,.55);
  outline-offset:3px;
  border-radius:8px;
}

/* =========================================================
   [08] CLS: RESERVA PARA ANÚNCIOS (SE EXISTIREM)
========================================================= */
ins.adsbygoogle{
  display:block;
  min-height:250px;
}

/* =========================================================
   [09] LEITURA EM TELAS GRANDES
========================================================= */
@media (min-width:1400px){
  body{ font-size:17px; }
}

/* =========================================================
   [10] EDD 007 + CSS APROVADO MODELO 1010
   - TUDO ESCOPADO EM .edd-page
========================================================= */
.edd-page{
  width:100%;
  max-width:1100px;
  margin:0 auto;
  padding:16px 12px;
}
@media (max-width:560px){
  .edd-page{ padding:12px 10px; }
}

/* SEÇÕES (padrão 007: tudo com borda) */
.edd-page .edd-section{
  margin:14px 0;
  padding:16px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
}
@media (max-width:560px){
  .edd-page .edd-section{ padding:14px; }
}

/* HERO (sempre dentro de section) */
.edd-page .edd-hero{
  background:#0b3d74;
  color:#fff;
  border-radius:14px;
  padding:18px 16px;
  border:1px solid rgba(0,0,0,.10);
  margin:0;
}

/* Título no hero */
.edd-page .edd-hero h1{
  margin:0 0 10px 0;
  line-height:1.2;
  font-size:26px;
}

/* Lead fora do hero */
.edd-page .edd-lead{
  margin:0;
  line-height:1.6;
  font-size:16px;
  color:rgba(0,0,0,.82);
}

/* Lead dentro do hero fica branco */
.edd-page .edd-hero .edd-lead{
  color:rgba(255,255,255,.92);
}

/* Texto auxiliar */
.edd-page .edd-muted{
  margin:8px 0 0;
  opacity:.88;
  line-height:1.6;
}

/* Títulos das sections */
.edd-page .edd-section h2{
  margin:0 0 8px 0;
  line-height:1.25;
  font-size:20px;
}

/* LISTAS */
.edd-page .edd-list{
  margin:10px 0 0 18px;
  line-height:1.7;
}
.edd-page .edd-list li{ margin:6px 0; }

/* Links de texto: sublinhado (sem afetar botões/pills) */
.edd-page a:not(.edd-pill):not(.edd-state):not(.edd-btn){
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.edd-page a:not(.edd-pill):not(.edd-state):not(.edd-btn):hover,
.edd-page a:not(.edd-pill):not(.edd-state):not(.edd-btn):focus{
  text-decoration-thickness:3px;
}

/* ALERTA */
.edd-page .edd-alert{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  background:#fff2e8;
  border:1px solid rgba(0,0,0,.08);
}

/* GRID */
.edd-page .edd-grid{
  display:grid;
  gap:12px;
  margin-top:14px;
  align-items:stretch;
}
.edd-page .edd-grid-3{
  grid-template-columns:repeat(3, minmax(0,1fr));
}
@media (max-width:900px){
  .edd-page .edd-grid-3{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:560px){
  .edd-page .edd-grid-3{ grid-template-columns:1fr; }
}

/* Corrige <br> no grid */
.edd-page .edd-grid br,
.edd-page .edd-grid-3 br{ display:none !important; }

/* CARDS */
.edd-page .edd-card{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(0,0,0,.06);
  background:#fff;
  padding:14px;
}
.edd-page .edd-card-title{
  margin:0 0 6px 0;
  line-height:1.25;
  font-size:18px;
  font-weight:900;
}
.edd-page .edd-card-text{
  margin:0;
  line-height:1.7;
  color:rgba(0,0,0,.78);
}

/* TOC */
.edd-page .edd-toc{ background:#f7fbff; }
.edd-page .edd-toc h2{ margin:0 0 10px 0; }
.edd-page .edd-toc .edd-list{ margin:0 0 0 18px; }

/* =========================================================
   [11] BOTÕES / PILLS (corrige “salsicha”)
   - Fora de grid: largura automática
   - Dentro de grid/CTAs: largura 100%
========================================================= */
.edd-page .edd-pill,
.edd-page .edd-state,
.edd-page .edd-btn{
  display:inline-flex !important;
  width:auto;
  align-items:center;
  justify-content:center;
  text-align:center;

  min-height:46px;
  padding:12px 14px;
  border-radius:999px;

  background:linear-gradient(to bottom, #0b5fff 0%, #0b5fff 72%, #0848c7 100%);
  color:#fff !important;
  text-decoration:none !important;

  border:1px solid rgba(255,255,255,.14);
  box-shadow:
    0 2px 0 rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.12);

  font-weight:800;
  letter-spacing:.2px;

  transition:transform .12s ease, filter .12s ease, box-shadow .12s ease;
}

/* Dentro do grid, vira “botão cheio” (como era) */
.edd-page .edd-grid .edd-state,
.edd-page .edd-grid .edd-btn{
  width:100%;
}

/* CTAs (botões um embaixo do outro, sem esticar estranho) */
.edd-page .edd-cta-links{
  display:grid;
  gap:10px;
  margin:12px 0 0;
}
.edd-page .edd-cta-links .edd-btn{ width:100%; }

.edd-page .edd-pill-warn{
  background:linear-gradient(to bottom, #9b1b1b 0%, #9b1b1b 72%, #7f1414 100%) !important;
  border-color:rgba(255,255,255,.14) !important;
}

.edd-page .edd-pill:hover,
.edd-page .edd-state:hover,
.edd-page .edd-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
}

.edd-page .edd-pill:active,
.edd-page .edd-state:active,
.edd-page .edd-btn:active{
  transform:translateY(0);
  filter:brightness(1.02);
  box-shadow:
    0 1px 0 rgba(0,0,0,.18),
    0 7px 16px rgba(0,0,0,.10);
}

.edd-page .edd-pill:focus-visible,
.edd-page .edd-state:focus-visible,
.edd-page .edd-btn:focus-visible{
  outline:3px solid rgba(255,255,255,.75);
  outline-offset:3px;
}

.edd-page a{ box-shadow:none !important; }

/* Navegação A-Z (virtual) */
.edd-page .edd-az-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.edd-page .edd-az-nav .edd-pill{
  min-width:44px;
  padding:10px 14px;
}

/* =========================================================
   [12] FAQ (+/−)
========================================================= */
.edd-page .edd-faq{
  margin-top:12px;
  display:grid;
  gap:10px;
}

.edd-page .edd-faqitem{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(0,0,0,.06);
  background:#fff;
}

.edd-page .edd-faqitem > summary{
  cursor:pointer;
  padding:14px 14px;
  font-weight:900;
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
  user-select:none;
}
.edd-page .edd-faqitem > summary::-webkit-details-marker{ display:none; }

.edd-page .edd-faqitem > summary::before{
  content:"+";
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#0b4a8b;
  color:#fff;
  font-weight:900;
  line-height:1;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
}
.edd-page .edd-faqitem[open] > summary::before{ content:"−"; }

.edd-page .edd-faqitem > summary:focus-visible{
  outline:3px solid rgba(11,74,139,.35);
  outline-offset:3px;
}

.edd-page .edd-faqbody{
  padding:0 14px 14px 14px;
  line-height:1.7;
  color:rgba(0,0,0,.78);
}
.edd-page .edd-faqbody p{ margin:0; }

/* Anti-CLS futuro */
.edd-page img{ max-width:100%; height:auto; display:block; }
.edd-page iframe,
.edd-page video{ max-width:100%; }

/* Respeita usuários que preferem menos animação */
@media (prefers-reduced-motion: reduce){
  .edd-page .edd-pill,
  .edd-page .edd-state,
  .edd-page .edd-btn{ transition:none; }
}

/* =========================================================
   [13] RODAPÉ LEGAL + DEV (borda + centralizado)
   - Este bloco NÃO depende de .edd-page (fica no footer do tema)
========================================================= */
.edd-footer-legal{
  max-width:1100px;
  margin:0 auto;
  padding:14px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  text-align:center;
}

.edd-footer-legal p{ margin:0 0 10px; }
.edd-footer-legal p:last-child{ margin-bottom:0; }

.edd-footer-legal__dev{
  margin-top:10px;
  font-family:'Montserrat', sans-serif;
  font-weight:700;
}

.edd-footer-legal__dev a{
  color:#0b3d74;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.edd-footer-legal__dev a:hover,
.edd-footer-legal__dev a:focus{
  text-decoration-thickness:3px;
}

