/* Cavaquinho Online — Blog
   Padrão visual do site: fundo claro, cartões brancos, acento vermelho, botão preto pílula. */

:root{
  --tinta:#0f172a;
  --tinta-2:#1e293b;
  --texto:#334155;
  --texto-suave:#64748b;
  --fundo:#f8fafc;
  --branco:#ffffff;
  --vermelho:#dc2626;
  --vermelho-escuro:#b91c1c;
  --vermelho-veu:#fef2f2;
  --borda:#e2e8f0;
  --sombra:0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
  --max:72ch;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;
  background:var(--fundo);
  color:var(--texto);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.7;
}

h1,h2,h3,h4{color:var(--tinta);font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:0}

a{color:var(--vermelho);text-decoration:none}
a:hover{color:var(--vermelho-escuro);text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--vermelho);outline-offset:3px;border-radius:4px}

img{max-width:100%;height:auto}

/* ---------- cabeçalho ---------- */
.topo{background:var(--branco);border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:20}
.topo-int{max-width:1200px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:24px}
.marca{display:flex;align-items:center;flex-shrink:0}
.marca img{height:98px;width:auto;display:block}
.marca:hover{opacity:.85}
@media (max-width:640px){.marca img{height:46px}}
.topo nav{display:flex;gap:30px;margin:0 auto}
.topo nav a{color:var(--texto);font-size:.95rem;font-weight:500}
.topo nav a:hover{color:var(--tinta);text-decoration:none}
.topo nav a.ativo{color:var(--vermelho);font-weight:600}
.botao-topo{
  background:var(--tinta);color:#fff;padding:11px 22px;border-radius:999px;
  font-size:.92rem;font-weight:700;white-space:nowrap;
}
.botao-topo:hover{background:#020617;color:#fff;text-decoration:none}

@media (max-width:900px){
  .topo-int{flex-wrap:wrap;gap:14px}
  .topo nav{order:3;width:100%;margin:0;gap:20px;overflow-x:auto}
  .botao-topo{margin-left:auto}
}

/* ---------- estrutura ---------- */
.envelope{max-width:1200px;margin:0 auto;padding:0 24px}
.coluna{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---------- topo do blog e dos artigos ---------- */
.hero{text-align:center;padding:70px 24px 44px}
.hero .olho{color:var(--vermelho);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.hero h1{font-size:clamp(2.2rem,5.5vw,3.5rem);margin:14px 0 18px}
.hero p{max-width:640px;margin:0 auto;color:var(--texto-suave);font-size:1.08rem}

.voltar{display:inline-block;font-size:.9rem;font-weight:600;margin:34px 0 20px}
.chapeu{
  display:inline-block;background:var(--vermelho-veu);color:var(--vermelho);
  font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;margin-left:14px;
}
.capa{padding-bottom:14px;border-bottom:1px solid var(--borda);margin-bottom:34px}
.capa h1{font-size:clamp(1.9rem,4.6vw,2.7rem);margin:18px 0 14px}
.resumo{font-size:1.1rem;color:var(--texto-suave);margin:0 0 16px}
.ficha{font-size:.86rem;color:#94a3b8;margin:0 0 22px}

/* ---------- corpo do artigo ---------- */
article{background:var(--branco);border:1px solid var(--borda);border-radius:16px;box-shadow:var(--sombra);padding:38px 40px}
article h2{font-size:1.55rem;margin:2em 0 .6em}
article h3{font-size:1.15rem;margin:1.7em 0 .5em}
article p{margin:0 0 1.15em}
article ul,article ol{margin:0 0 1.3em;padding-left:1.3em}
article li{margin-bottom:.5em}
article strong{color:var(--tinta);font-weight:700}
article > p:first-child{font-size:1.06rem}

.destaque{background:var(--vermelho-veu);border-left:4px solid var(--vermelho);padding:20px 24px;margin:1.8em 0;border-radius:0 12px 12px 0}
.destaque h3{margin-top:0;font-size:1.02rem;color:var(--vermelho-escuro)}
.destaque p:last-child{margin-bottom:0}

.nota{background:var(--fundo);border:1px solid var(--borda);padding:18px 22px;margin:1.8em 0;border-radius:12px;font-size:.96rem}
.nota p:last-child{margin-bottom:0}

hr.encordoamento{border:0;height:1px;background:var(--borda);margin:40px 0}

/* ---------- tabelas ---------- */
.rolagem{overflow-x:auto;margin:1.8em 0;border:1px solid var(--borda);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:.9rem}
caption{text-align:left;font-size:.84rem;color:var(--texto-suave);padding:12px 16px 10px}
th,td{padding:10px 16px;text-align:left;border-bottom:1px solid var(--borda);vertical-align:top}
thead th{background:var(--tinta);color:#fff;font-weight:600;border-bottom:0;white-space:nowrap}
tbody th{font-weight:600;color:var(--tinta)}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
tbody tr:nth-child(even){background:#f8fafc}

/* ---------- diagramas de acorde ---------- */
.grade-acordes{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin:1.8em 0}
.cifra{border:1px solid var(--borda);border-radius:12px;padding:16px;background:var(--branco);box-shadow:var(--sombra);margin:0}
.cifra .nome{display:block;font-size:1.15rem;font-weight:800;color:var(--tinta);margin-bottom:10px;letter-spacing:-.02em}
.cifra ol{list-style:none;margin:0;padding:0;font-size:.82rem}
.cifra li{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--borda);padding:4px 0;margin:0}
.cifra li b{font-variant-numeric:tabular-nums;color:var(--vermelho);font-weight:700}
.cifra .desc{display:block;margin-top:10px;font-size:.76rem;color:var(--texto-suave);line-height:1.45}

/* ---------- índice do artigo ---------- */
.indice{background:var(--fundo);border:1px solid var(--borda);border-radius:12px;padding:22px 26px;margin:2em 0}
.indice h2{font-size:.95rem;margin:0 0 .7em;text-transform:uppercase;letter-spacing:.08em;color:var(--texto-suave)}
.indice ol{margin:0;padding-left:1.2em;font-size:.95rem}
.indice li{margin-bottom:.35em}

/* ---------- perguntas frequentes ---------- */
.faq details{border:1px solid var(--borda);border-radius:12px;padding:16px 20px;margin-bottom:10px;background:var(--branco)}
.faq summary{font-weight:700;color:var(--tinta);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--vermelho);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:.9em 0 0;font-size:.96rem}

/* ---------- chamada para curso ---------- */
.chamada{background:var(--tinta);border-radius:16px;padding:40px 38px;margin:44px 0 0;text-align:center}
.chamada h2{color:#fff;font-size:1.5rem;margin:0 0 .6em}
.chamada p{color:#cbd5e1;margin:0 auto 1.6em;max-width:56ch;font-size:1rem}
.botao{display:inline-block;background:var(--vermelho);color:#fff;font-weight:700;font-size:.95rem;padding:14px 28px;border-radius:999px;margin:6px}
.botao:hover{background:var(--vermelho-escuro);color:#fff;text-decoration:none}
.botao-linha{background:transparent;border:1px solid #475569;color:#e2e8f0}
.botao-linha:hover{background:#1e293b;color:#fff}

/* ---------- cartões de artigo ---------- */
.secao-titulo{max-width:1200px;margin:52px auto 0;padding:0 24px;font-size:1.35rem}
.vitrine{max-width:1200px;margin:0 auto;padding:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.vitrine article{background:var(--branco);border:1px solid var(--borda);border-radius:16px;box-shadow:var(--sombra);padding:28px;display:flex;flex-direction:column}
.vitrine h2{font-size:1.28rem;margin:12px 0 12px}
.vitrine h2 a{color:var(--tinta)}
.vitrine h2 a:hover{color:var(--vermelho);text-decoration:none}
.vitrine p{color:var(--texto-suave);font-size:.97rem;margin:0 0 22px}
.etiqueta{color:var(--vermelho);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ler{margin-top:auto;font-size:.92rem;font-weight:700}
.ler:hover{text-decoration:none}

.trilha{counter-reset:passo;list-style:none;max-width:1200px;margin:0 auto;padding:20px 24px 0}
.trilha li{counter-increment:passo;display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--borda);font-size:.98rem}
.trilha li::before{content:counter(passo);font-weight:800;color:var(--vermelho);min-width:1.3em}

.relacionados{margin:44px 0 0}
.relacionados h2{font-size:1.15rem;margin-bottom:6px}
.relacionados ul{list-style:none;padding:0}
.relacionados li{border-bottom:1px solid var(--borda);padding:13px 0;margin:0;font-weight:600;font-size:.97rem}

/* ---------- rodapé ---------- */
.rodape{background:var(--tinta);color:#94a3b8;margin-top:70px;padding:34px 0;text-align:center}
.rodape p{margin:6px 0;font-size:.9rem}
.rodape a{color:#e2e8f0}

@media (max-width:640px){
  body{font-size:16px}
  article{padding:26px 22px;border-radius:12px}
  .chamada{padding:30px 22px}
  .hero{padding:48px 20px 32px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
