/* Cupom Sho - Blocos de Conteúdo v1.0 */
:root {
  --cs-laranja: #e56a0c;
  --cs-laranja-claro: #fff4ec;
  --cs-verde: #16a34a;
  --cs-verde-claro: #f0fdf4;
  --cs-vermelho: #dc2626;
  --cs-vermelho-claro: #fef2f2;
  --cs-azul: #2563eb;
  --cs-azul-claro: #eff6ff;
  --cs-cinza-borda: #e5e7eb;
  --cs-texto: #1f2937;
}

/* ---- Disclosure ---- */
.cs-disclosure {
  font-size: 0.85em;
  color: #6b7280;
  background: #f9fafb;
  border-left: 3px solid var(--cs-cinza-borda);
  padding: 10px 14px;
  border-radius: 0 8px 8px 0;
  margin: 18px 0;
}

/* ---- Caixas ---- */
.cs-box {
  border-radius: 10px;
  padding: 16px 18px;
  margin: 22px 0;
  border: 1px solid;
}
.cs-box-dica   { background: var(--cs-verde-claro);    border-color: #bbf7d0; }
.cs-box-alerta { background: var(--cs-vermelho-claro); border-color: #fecaca; }
.cs-box-info   { background: var(--cs-azul-claro);     border-color: #bfdbfe; }
.cs-box-titulo {
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--cs-texto);
  font-size: 1.02em;
}
.cs-box-conteudo { color: var(--cs-texto); }
.cs-box-conteudo p:last-child { margin-bottom: 0; }

/* ---- Checklist ---- */
.cs-checklist {
  background: #fff;
  border: 1px solid var(--cs-cinza-borda);
  border-top: 3px solid var(--cs-laranja);
  border-radius: 10px;
  padding: 16px 18px;
  margin: 22px 0;
}
.cs-checklist-titulo {
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--cs-texto);
}
.cs-checklist ul { margin: 0; padding: 0; list-style: none; }
.cs-checklist li {
  position: relative;
  padding: 6px 0 6px 30px;
  line-height: 1.55;
}
.cs-checklist li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 6px;
  width: 20px;
  height: 20px;
  background: var(--cs-verde);
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
}

/* ---- Prós e Contras ---- */
.cs-proscontras {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 22px 0;
}
@media (max-width: 640px) {
  .cs-proscontras { grid-template-columns: 1fr; }
}
.cs-pc-col {
  border-radius: 10px;
  padding: 16px 18px;
  border: 1px solid;
}
.cs-pc-pros    { background: var(--cs-verde-claro);    border-color: #bbf7d0; }
.cs-pc-contras { background: var(--cs-vermelho-claro); border-color: #fecaca; }
.cs-pc-titulo { font-weight: 700; margin-bottom: 10px; }
.cs-pc-col ul { margin: 0; padding: 0; list-style: none; }
.cs-pc-col li { padding: 5px 0; line-height: 1.5; display: flex; gap: 8px; }
.cs-pc-icone { font-weight: 700; flex-shrink: 0; }
.cs-pc-pros .cs-pc-icone    { color: var(--cs-verde); }
.cs-pc-contras .cs-pc-icone { color: var(--cs-vermelho); }

/* ---- FAQ (details/summary nativo) ---- */
.cs-faq { margin: 22px 0; }
.cs-faq-item {
  border: 1px solid var(--cs-cinza-borda);
  border-radius: 10px;
  margin-bottom: 10px;
  background: #fff;
  overflow: hidden;
}
.cs-faq-item summary {
  cursor: pointer;
  padding: 14px 18px;
  font-weight: 600;
  color: var(--cs-texto);
  list-style: none;
  position: relative;
  padding-right: 42px;
}
.cs-faq-item summary::-webkit-details-marker { display: none; }
.cs-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--cs-laranja);
  font-size: 1.4em;
  font-weight: 700;
  transition: transform .2s ease;
}
.cs-faq-item[open] summary::after { content: "\2212"; }
.cs-faq-item[open] summary { border-bottom: 1px solid var(--cs-cinza-borda); }
.cs-faq-resposta { padding: 12px 18px; color: var(--cs-texto); }
.cs-faq-resposta p:last-child { margin-bottom: 0; }

/* ---- CTA ---- */
.cs-cta { text-align: center; margin: 28px 0; }
.cs-cta-botao {
  display: inline-block;
  background: var(--cs-laranja);
  color: #fff !important;
  font-weight: 800;
  font-size: 1.05em;
  padding: 15px 34px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: background .2s ease, transform .1s ease;
  box-shadow: 0 3px 10px rgba(229, 106, 12, .3);
}
.cs-cta-botao:hover { background: #cf5d09; transform: translateY(-1px); }
.cs-cta-sub { margin-top: 8px; font-size: .88em; color: #6b7280; }

/* ============================================================
   v1.1 — LAYOUT DE ARTIGO para as páginas convertidas do
   Elementor pro editor clássico. Escopado em page-template-default:
   a home (template elementor_header_footer) NÃO é afetada.
   ============================================================ */
body.page-template-default .entry-content {
  max-width: 780px;
  margin: 0 auto;
  padding: 36px 20px 64px;
  font-size: 17px;
  line-height: 1.75;
  color: var(--cs-texto);
  overflow-wrap: break-word;
}
body.page-template-default .entry-content h1 {
  font-size: clamp(1.65rem, 4vw, 2.25rem);
  line-height: 1.25;
  margin: 0 0 18px;
  color: #111827;
}
body.page-template-default .entry-content h2 {
  font-size: 1.45rem;
  line-height: 1.3;
  margin: 2.1em 0 0.6em;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--cs-laranja-claro);
  color: #111827;
}
body.page-template-default .entry-content h3 {
  font-size: 1.15rem;
  margin: 1.6em 0 0.4em;
  color: #111827;
}
body.page-template-default .entry-content p { margin: 0 0 1.15em; }
body.page-template-default .entry-content a { color: var(--cs-laranja); }
body.page-template-default .entry-content a:hover { text-decoration: underline; }
body.page-template-default .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
  margin: 10px auto 24px;
}
body.page-template-default .entry-content ul,
body.page-template-default .entry-content ol {
  margin: 0 0 1.2em;
  padding-left: 1.4em;
}
body.page-template-default .entry-content li { margin-bottom: 0.45em; }
body.page-template-default .entry-content strong { color: #111827; }
@media (max-width: 640px) {
  body.page-template-default .entry-content { padding: 24px 16px 48px; font-size: 16.5px; }
}

/* ============================================================
   v1.2 — tipografia dos títulos + ajustes finos
   Corrige o h1/h2 caindo na serifa padrão do navegador
   (o tema não define font-family pros headings de página clássica)
   ============================================================ */
body.page-template-default .entry-content {
  max-width: 820px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}
body.page-template-default .entry-content h1,
body.page-template-default .entry-content h2,
body.page-template-default .entry-content h3,
body.page-template-default .entry-content summary,
body.page-template-default .entry-content .cs-box-titulo,
body.page-template-default .entry-content .cs-checklist-titulo,
body.page-template-default .entry-content .cs-pc-titulo {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}
body.page-template-default .entry-content h1 {
  letter-spacing: -0.015em;
  font-weight: 800;
}
body.page-template-default .entry-content h2 { font-weight: 700; }
body.page-template-default .entry-content p,
body.page-template-default .entry-content li { color: #1f2937; }

/* revisão honesta */
.cs-revisao{font-size:.92rem;opacity:.85;margin:0 0 1rem;padding:.6rem .8rem;
  background:rgba(238,77,45,.06);border-left:3px solid #ee4d2d;border-radius:5px}

/* ============ ASSINATURA DE AUTORIA ============ */
.cs-autor-linha{font-size:.9rem;color:#4b5563;margin:0 0 1.2rem;padding-bottom:.75rem;
  border-bottom:1px solid rgba(0,0,0,.08)}
.cs-autor-linha a{color:#ee4d2d;text-decoration:none;font-weight:600}
.cs-autor-linha a:hover{text-decoration:underline}
.cs-autor-sep{opacity:.45;margin:0 .3rem}

/* ============ TRILHA DE NAVEGAÇÃO ============ */
/* Respiro entre a trilha e o H1, tamanho menor, e a página atual
   truncada em UMA linha — o título longo não quebra mais o layout. */
.cs-breadcrumb{
  font-size:.8rem;
  line-height:1.4;
  color:#9ca3af;
  margin:0 0 1.6rem;
  padding:.35rem 0 .7rem;
  border-bottom:1px solid rgba(0,0,0,.06);
  display:flex;
  white-space:nowrap;
  overflow:hidden;
}
.cs-breadcrumb > span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:100%;
}
.cs-breadcrumb a{color:#9ca3af;text-decoration:none;font-weight:500}
.cs-breadcrumb a:hover{color:#ee4d2d;text-decoration:underline}
.cs-breadcrumb .breadcrumb_last{color:#6b7280;font-weight:400}
/* separador » com respiro */
.cs-breadcrumb > span > span{margin:0 .1rem}

/* espaço entre trilha e título, e título com mais ar */
.cs-breadcrumb + h1,
.page-template-default .entry-content > h1:first-child{margin-top:.2rem}

@media(max-width:600px){
  .cs-breadcrumb{font-size:.75rem;margin-bottom:1.2rem}
}

/* ============ COMPARTILHAR ============ */
.cs-share{
  margin:2.4rem 0 1.6rem;
  padding:1.1rem 1.2rem;
  background:#fafafa;
  border:1px solid rgba(0,0,0,.07);
  border-radius:10px;
}
.cs-share-tit{
  display:block;
  font-size:.9rem;
  font-weight:600;
  color:#374151;
  margin-bottom:.75rem;
}
.cs-share-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.cs-sh{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.5rem .85rem;
  border-radius:8px;
  border:1px solid rgba(0,0,0,.1);
  background:#fff;
  color:#374151;
  font-size:.85rem;
  font-weight:600;
  font-family:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, color .12s ease, border-color .12s ease;
}
.cs-sh svg{width:17px;height:17px;fill:currentColor;flex-shrink:0}
.cs-sh:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08);text-decoration:none}
.cs-sh-wa:hover{color:#25d366;border-color:#25d366}
.cs-sh-fb:hover{color:#1877f2;border-color:#1877f2}
.cs-sh-x:hover{color:#000;border-color:#000}
.cs-sh-tg:hover{color:#229ed9;border-color:#229ed9}
.cs-sh-cp:hover{color:#ee4d2d;border-color:#ee4d2d}
.cs-sh-cp.copiado{color:#16a34a;border-color:#16a34a}

@media(max-width:600px){
  .cs-share{padding:.9rem 1rem}
  .cs-sh span{display:none}          /* no celular fica só o ícone */
  .cs-sh-cp span{display:inline}     /* menos o copiar, que precisa do texto */
  .cs-sh{padding:.6rem .8rem}
  .cs-sh svg{width:19px;height:19px}
}
