/* =========================================================================
   Blog — ferramentas de leitura · concursosgcm.com v1.2.0
   ========================================================================= */

.cgcm-artigo{
  --cgcm-artigo-fs: 1.0625rem;   /* 17px */
  --cgcm-artigo-lh: 1.75;
  font-size: var(--cgcm-artigo-fs);
  line-height: var(--cgcm-artigo-lh);
  color: var(--cgcm-cinza-700, #5A6076);
}
.cgcm-artigo.tam--1{ --cgcm-artigo-fs: .9375rem; }
.cgcm-artigo.tam-1 { --cgcm-artigo-fs: 1.1875rem; --cgcm-artigo-lh: 1.8; }
.cgcm-artigo.tam-2 { --cgcm-artigo-fs: 1.375rem;  --cgcm-artigo-lh: 1.85; }

.cgcm-artigo p{ margin: 0 0 1.15em; }
.cgcm-artigo h2{
  font-size: 1.5em; font-weight: 700; line-height: 1.25;
  color: var(--cgcm-azul, #050831);
  margin: 2.1em 0 .7em; scroll-margin-top: 110px;
}
.cgcm-artigo h3{
  font-size: 1.2em; font-weight: 600; line-height: 1.3;
  color: var(--cgcm-azul, #050831);
  margin: 1.7em 0 .55em; scroll-margin-top: 110px;
}
.cgcm-artigo h2 br, .cgcm-artigo h3 br{ display: none; }   /* limpa quebras herdadas do editor */
.cgcm-artigo ul, .cgcm-artigo ol{ margin: 0 0 1.15em; padding-left: 1.35em; }
.cgcm-artigo li{ margin-bottom: .45em; }
.cgcm-artigo strong{ color: var(--cgcm-azul, #050831); }
.cgcm-artigo a{ color: var(--cgcm-azul, #050831); text-underline-offset: 3px; }
.cgcm-artigo blockquote{
  margin: 1.6em 0; padding: 2px 0 2px 20px;
  border-left: 4px solid var(--cgcm-amarelo, #EAC71C);
  font-size: 1.06em; color: var(--cgcm-azul, #050831);
}
.cgcm-artigo img{ height: auto; border-radius: 12px; }

/* bloco sendo lido em voz alta */
.cgcm-artigo .cgcm-lendo{
  background: linear-gradient(90deg, rgba(234,199,28,.28), rgba(234,199,28,.10));
  box-shadow: -14px 0 0 rgba(234,199,28,.28), 14px 0 0 rgba(234,199,28,.10);
  border-radius: 3px;
  transition: background-color .2s ease;
}

/* ------------------------------------------------------------ leitor --- */
.cgcm-leitor{
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  background: var(--cgcm-azul, #050831);
  border-radius: 14px; padding: 14px 18px; margin: 0 0 22px;
  font-family: var(--cgcm-fonte, 'Montserrat', system-ui, sans-serif);
}
.cgcm-leitor__voz{ display: flex; align-items: center; gap: 8px; }
.cgcm-leitor__btn{
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--cgcm-amarelo, #EAC71C); color: var(--cgcm-azul, #050831);
  border: 0; border-radius: 999px; padding: 11px 20px 11px 16px;
  font-family: inherit; font-size: .875rem; font-weight: 700; line-height: 1;
  cursor: pointer; min-height: 44px;
  transition: background-color .16s ease;
}
.cgcm-leitor__btn:hover{ background: var(--cgcm-amarelo-escuro, #C9A80F); }
.cgcm-leitor__btn svg{ width: 20px; height: 20px; fill: currentColor; flex: none; }
.cgcm-leitor__btn .ic-pause{ display: none; }
.cgcm-leitor.is-tocando .cgcm-leitor__btn .ic-play{ display: none; }
.cgcm-leitor.is-tocando .cgcm-leitor__btn .ic-pause{ display: block; }

.cgcm-leitor__mini[hidden],
.cgcm-compartilhar__btn[hidden],
.cgcm-topo[hidden],
.cgcm-leitor__aviso[hidden]{ display: none !important; }

.cgcm-leitor__mini{
  display: inline-grid; place-items: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.12); color: #fff; border: 0; cursor: pointer;
  font-family: inherit; font-size: .8125rem; font-weight: 700;
}
.cgcm-leitor__mini:hover{ background: rgba(255,255,255,.22); }
.cgcm-leitor__mini svg{ width: 16px; height: 16px; fill: currentColor; }
.cgcm-leitor__vel{ width: auto; padding: 0 13px; border-radius: 999px; }

.cgcm-leitor__meta{
  display: flex; align-items: center; gap: 18px; margin-left: auto; flex-wrap: wrap;
}
.cgcm-leitor__tempo{
  display: inline-flex; align-items: center; gap: 7px;
  color: rgba(255,255,255,.78); font-size: .8125rem; font-weight: 600; white-space: nowrap;
}
.cgcm-leitor__tempo svg{
  width: 17px; height: 17px; fill: none; stroke: var(--cgcm-amarelo, #EAC71C);
  stroke-width: 1.8; stroke-linecap: round;
}
.cgcm-leitor__fonte-tam{ display: inline-flex; gap: 3px; background: rgba(255,255,255,.10); border-radius: 999px; padding: 3px; }
.cgcm-leitor__fonte-tam button{
  min-width: 36px; height: 32px; border: 0; border-radius: 999px; cursor: pointer;
  background: transparent; color: rgba(255,255,255,.8);
  font-family: inherit; font-size: .8125rem; font-weight: 700; line-height: 1;
}
.cgcm-leitor__fonte-tam button.is-ativo{ background: var(--cgcm-amarelo, #EAC71C); color: var(--cgcm-azul, #050831); }
.cgcm-leitor__audio{ width: 100%; max-width: 460px; }
.cgcm-leitor__aviso{
  flex-basis: 100%; margin: 2px 0 0; font-size: .75rem; color: rgba(255,255,255,.6);
}
.cgcm-leitor *:focus-visible{ outline: 3px solid var(--cgcm-amarelo, #EAC71C); outline-offset: 2px; }

@media (max-width: 640px){
  .cgcm-leitor{ padding: 13px 14px; gap: 12px; }
  .cgcm-leitor__meta{ margin-left: 0; width: 100%; justify-content: space-between; }
  .cgcm-leitor__btn{ padding: 11px 17px 11px 14px; font-size: .8125rem; }
}

/* ----------------------------------------------------------- sumário --- */
.cgcm-sumario{
  border: 1px solid var(--cgcm-cinza-200, #E1E4EB);
  border-radius: 14px; margin: 0 0 26px; overflow: hidden;
  background: var(--cgcm-cinza-50, #F5F6F8);
  font-family: var(--cgcm-fonte, 'Montserrat', system-ui, sans-serif);
}
.cgcm-sumario__cab{
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: none; border: 0; cursor: pointer; padding: 15px 18px;
  font-family: inherit; font-size: .875rem; font-weight: 700; color: var(--cgcm-azul, #050831);
  text-align: left;
}
.cgcm-sumario__cab svg{
  width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .2s ease;
}
.cgcm-sumario.is-aberto .cgcm-sumario__cab svg{ transform: rotate(180deg); }
.cgcm-sumario__lista{
  display: none; margin: 0; padding: 0 18px 16px 38px; counter-reset: cgcm;
  font-size: .875rem; line-height: 1.5;
}
.cgcm-sumario.is-aberto .cgcm-sumario__lista{ display: block; }
.cgcm-sumario__lista li{ margin: 0 0 8px; list-style: none; position: relative; counter-increment: cgcm; }
.cgcm-sumario__lista li.nivel-h2::before{
  content: counter(cgcm) "."; position: absolute; left: -22px;
  color: var(--cgcm-amarelo-escuro, #C9A80F); font-weight: 700; font-size: .8125rem;
}
.cgcm-sumario__lista li.nivel-h3{ padding-left: 16px; font-size: .8125rem; }
.cgcm-sumario__lista a{ color: var(--cgcm-cinza-700, #5A6076); text-decoration: none; }
.cgcm-sumario__lista a:hover{ color: var(--cgcm-azul, #050831); text-decoration: underline; }
.cgcm-sumario__lista a.is-atual{ color: var(--cgcm-azul, #050831); font-weight: 700; }

/* ---------------------------------------------------- selo de fonte --- */
.cgcm-fonte-selo{
  display: flex; gap: 12px; align-items: flex-start;
  border-left: 4px solid var(--cgcm-amarelo, #EAC71C);
  background: var(--cgcm-cinza-50, #F5F6F8);
  border-radius: 0 10px 10px 0; padding: 14px 18px; margin: 30px 0 20px;
  font-family: var(--cgcm-fonte, 'Montserrat', system-ui, sans-serif);
}
.cgcm-fonte-selo svg{
  width: 20px; height: 20px; flex: none; margin-top: 1px;
  fill: none; stroke: var(--cgcm-ok, #1E7A4B); stroke-width: 1.9;
  stroke-linecap: round; stroke-linejoin: round;
}
.cgcm-fonte-selo p{ margin: 0; font-size: .8125rem; line-height: 1.6; color: var(--cgcm-cinza-700, #5A6076); }
.cgcm-fonte-selo strong{ color: var(--cgcm-azul, #050831); }
.cgcm-fonte-selo--vazio{
  border-left-color: #B3261E; background: #FCEEED; color: #7A1A15; font-size: .8125rem;
  display: block; padding: 13px 16px;
}

/* -------------------------------------------------------- partilhar --- */
.cgcm-compartilhar{
  display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
  margin: 22px 0 8px; font-family: var(--cgcm-fonte, 'Montserrat', system-ui, sans-serif);
}
.cgcm-compartilhar__rot{
  font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--cgcm-cinza-500, #8A90A2); margin-right: 4px;
}
.cgcm-compartilhar__btn{
  display: inline-grid; place-items: center; width: 44px; height: 44px;
  border-radius: 50%; border: 1px solid var(--cgcm-cinza-200, #E1E4EB);
  background: #fff; color: var(--cgcm-azul, #050831); cursor: pointer;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}
.cgcm-compartilhar__btn:hover{
  background: var(--cgcm-azul, #050831); color: #fff; border-color: var(--cgcm-azul, #050831);
}
.cgcm-compartilhar__btn svg{
  width: 19px; height: 19px; fill: none; stroke: currentColor;
  stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.cgcm-compartilhar__copiar.is-ok{
  background: var(--cgcm-ok, #1E7A4B); border-color: var(--cgcm-ok, #1E7A4B); color: #fff;
}

/* ------------------------------------------------------- progresso --- */
.cgcm-progresso{
  position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 9999;
  background: transparent; pointer-events: none;
}
.cgcm-progresso span{
  display: block; height: 100%; width: 0;
  background: var(--cgcm-amarelo, #EAC71C);
  box-shadow: 0 0 8px rgba(234,199,28,.55);
}
.cgcm-topo{
  position: fixed; right: 18px; bottom: 92px; z-index: 60;
  width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--cgcm-azul, #050831); color: #fff;
  display: grid; place-items: center; box-shadow: 0 6px 20px rgba(5,8,49,.28);
}
.cgcm-topo svg{ width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.cgcm-topo:hover{ background: var(--cgcm-amarelo, #EAC71C); color: var(--cgcm-azul, #050831); }

/* ----------------------------------------------------- relacionados --- */
.cgcm-relacionados{ margin: 46px 0 0; font-family: var(--cgcm-fonte, 'Montserrat', system-ui, sans-serif); }
.cgcm-relacionados h2{
  font-size: 1.25rem; font-weight: 700; color: var(--cgcm-azul, #050831);
  margin: 0 0 16px; padding-left: 13px; border-left: 4px solid var(--cgcm-amarelo, #EAC71C);
}
.cgcm-relacionados__grade{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px;
}
.cgcm-rel-card{
  display: block; text-decoration: none; border: 1px solid var(--cgcm-cinza-200, #E1E4EB);
  border-radius: 12px; overflow: hidden; background: #fff;
  transition: transform .18s ease, box-shadow .18s ease;
}
.cgcm-rel-card:hover{ transform: translateY(-2px); box-shadow: 0 10px 28px rgba(5,8,49,.10); }
.cgcm-rel-card__img{ display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--cgcm-azul, #050831); }
.cgcm-rel-card__img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.cgcm-rel-card__ph{ display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #0B1046, #050831); }
.cgcm-rel-card__bd{ display: block; padding: 14px 16px 16px; }
.cgcm-rel-card__data, .cgcm-rel-card__min{
  display: block; font-size: .6875rem; font-weight: 600; color: var(--cgcm-cinza-500, #8A90A2);
}
.cgcm-rel-card__tit{
  display: block; margin: 6px 0 8px; font-size: .9375rem; font-weight: 700; line-height: 1.35;
  color: var(--cgcm-azul, #050831);
}

/* ------------------------------------------------------------ print --- */
@media print{
  .cgcm-leitor, .cgcm-sumario, .cgcm-compartilhar, .cgcm-progresso,
  .cgcm-topo, .cgcm-relacionados{ display: none !important; }
  .cgcm-artigo{ font-size: 11pt; color: #000; }
  .cgcm-artigo a::after{ content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
  .cgcm-fonte-selo{ border: 1px solid #999; }
}

@media (prefers-reduced-motion: reduce){
  .cgcm-rel-card, .cgcm-sumario__cab svg{ transition: none; }
}
