/*! ==========================================================================
  AQN Ofertas: páginas /guias/ (api/_lib/html-guias.js). CSS puro, sem build. Vem DEPOIS de site.css e paginas.css: cabeçalho, trilho, rodapé, abertura, ficha do grupo,
  faixa, FAQ, "Mais ofertas" e o aviso legal vêm dessas folhas; aqui fica só o que é destas páginas (prefixo .gd-).
  Mesma linguagem da home e da /black-friday/ (aprovadas): tokens --c-ink, --c-muted, --c-line, --c-wash, --c-surface, --c-brandsoft, --c-strong (mudam no tema escuro)
  e os fixos brand #FFC400, night #18181B e wa #008069. Amarelo só como PREENCHIMENTO com texto night, nunca texto amarelo. Fonte única: Plus Jakarta Sans 500 e 700.
  Referência de estrutura: template Vibehub "learn-lumina" (guia educativo: passos, blocos de apoio e chamada final), adaptado à linguagem da AQN Ofertas.

  UMA COISA MEMORÁVEL POR PÁGINA, o resto fica quieto:
  • /guias/desconto-de-verdade/: a calculadora do desconto real ao lado do título (o instrumento);  • /guias/black-friday/: o plano em etapas com lista para marcar e barra de progresso.

  ZOOM / PREENCHER A TELA (padrão do dono): o font-size do html NÃO é tocado (16px em qualquer janela); tudo em rem. As seções são filhas diretas de <main> e herdam o padding
  lateral de paginas.css (80rem até 1366px; daí 93,7042vw), então cada uma tem fundo de borda a borda.
  • passos: auto-fit de 19rem (3 colunas em 1366px, 5 em 75%, mais ao reduzir o zoom);  • cartões de sinais e de segurança: auto-fill de 16rem;  • direitos e casos: auto-fit de 19 e 22rem;
  • textos: colunas CSS de 26rem, como as outras páginas;  • blocos de cartões param em 3000px a partir de 2300px de janela, como as outras páginas.
  MOVIMENTO (máximo 2): a barra de progresso e a marca de cada caixa da lista (respondem a um clique) e a abertura da resposta do FAQ. Tudo para com prefers-reduced-motion.
========================================================================== */

/* ---------- seções ---------- */
.gd-sec { padding-block: 2.5rem 3rem; }
@media (min-width: 768px) { .gd-sec { padding-block: 3.5rem 4.5rem; } }
.gd-sec-wash { background: rgb(var(--c-wash)); }
.gd-sec > h2 { margin: 0; max-width: 46rem; font-size: 1.375rem; line-height: 1.75rem; letter-spacing: -0.01em; font-weight: 700; text-wrap: balance; }
.gd-sec > .nota { max-width: 62ch; }
.gd-sec h3 { margin: 0; font-size: 1.125rem; line-height: 1.5rem; letter-spacing: -0.01em; font-weight: 700; text-wrap: balance; }
.gd-link {
  display: inline-flex; align-items: center; gap: 0.375rem; min-height: 2.75rem; padding-inline: 0.25rem; border-radius: 0.5rem; color: rgb(var(--c-ink)); font-size: 0.9375rem; line-height: 1.25rem; font-weight: 700;
  text-decoration: underline; text-decoration-thickness: 0.0625rem; text-underline-offset: 0.25rem; transition: background-color 0.15s, color 0.15s;
}
.gd-link svg { flex: none; width: 1rem; height: 1rem; transition: transform 0.15s; }
.gd-link:hover { background: var(--pg-brand); color: var(--pg-night); }
.gd-link:hover svg { transform: translateX(0.125rem); }
.gd-link:focus-visible, .gd-limpar:focus-visible, .gd-entrada input:focus-visible { outline: 0.125rem solid rgb(var(--c-ink)); outline-offset: 0.125rem; }
.gd-ico { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--pg-brand); color: var(--pg-night); }
.gd-ico svg { width: 1.375rem; height: 1.375rem; }
.gd-ico-grande { width: 3.5rem; height: 3.5rem; }
.gd-ico-grande svg { width: 1.75rem; height: 1.75rem; }

/* cartão base: o mesmo da /black-friday/ (raio de 1,5rem, borda fina, sombra quase invisível) */
.gd-cartao, .gd-caso, .gd-guia {
  min-width: 0; padding: 1.25rem; border: 1px solid rgb(var(--c-line) / 0.7); border-radius: 1.5rem; background: rgb(var(--c-surface)); box-shadow: 0 0.125rem 0.75rem -0.25rem rgba(24, 24, 27, 0.06);
}
@media (min-width: 768px) { .gd-cartao, .gd-caso, .gd-guia { padding: 1.5rem; } }
.gd-cartao { display: flex; flex-direction: column; gap: 0.75rem; }
.gd-cartao p { margin: 0; font-size: 0.9375rem; line-height: 1.5rem; color: rgb(var(--c-muted)); text-wrap: pretty; }
.gd-cartao p a { color: rgb(var(--c-ink)); font-weight: 700; text-decoration: underline; text-underline-offset: 0.25rem; }
.gd-faca { color: rgb(var(--c-ink)) !important; }
.gd-faca b { font-weight: 700; }
.gd-grade, .gd-prox { display: grid; gap: 0.75rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.gd-grade { grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.gd-grade-larga, .gd-prox { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
/* os dois blocos de 6 cartões (sinais e segurança) fecham as linhas sem sobrar um cartão sozinho: 1, 2, 3 colunas e, com o zoom bem reduzido (janela de 1800px ou mais), as 6 numa linha */
@media (min-width: 40rem) { .gd-grade:not(.gd-grade-larga) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .gd-grade:not(.gd-grade-larga) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1800px) { .gd-grade:not(.gd-grade-larga) { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.gd-prox-curto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
@media (min-width: 64rem) { .gd-grade, .gd-prox { gap: 1.5rem; } }
.gd-grade-larga .gd-cartao p { font-size: 1rem; line-height: 1.6875rem; max-width: 56ch; }
.gd-destaque { border-color: rgba(255, 196, 0, 0.6); background: rgb(var(--c-brandsoft)); }
.gd-destaque h3 { font-size: 1.375rem; line-height: 1.75rem; }
.gd-destaque p:first-of-type { color: rgb(var(--c-ink)); }
.gd-prox .gd-link { margin-top: auto; align-self: flex-start; }

/* ---------- abertura: texto à esquerda; calculadora (guia 1) ou cartão do grupo à direita (a partir de 64rem) ---------- */
.gd-lado { display: grid; justify-items: center; margin-top: 1.5rem; text-align: left; }
@media (min-width: 64rem) {
  /* o cartão da direita (calculadora ou grupo) é mais alto que o texto: linhas de enchimento (1fr) em cima e embaixo seguram o texto no meio, em vez de repartir a folga entre as linhas do texto */
  .pg-abertura.gd-abertura { grid-template-rows: 1fr repeat(4, auto) 1fr; }
  .pg-abertura.gd-abertura > .mig { grid-row: 2; }
  .pg-abertura.gd-abertura > h1 { grid-row: 3; }
  .pg-abertura.gd-abertura > .sub { grid-row: 4; }
  .pg-abertura.gd-abertura > .quando { grid-row: 5; }
  .pg-abertura.gd-abertura > .gd-lado { grid-column: 2; grid-row: 1 / -1; align-self: center; justify-items: stretch; margin: 0; }
  .pg-abertura.gd-abertura > .pg-ficha { grid-row: 1 / -1; }
}

/* celular: a frase de apoio ocupa 4 linhas com a fonte de reserva e 3 ou 4 com a da marca; reservar as 4 evita o salto da página quando a fonte chega (CLS) */
@media (max-width: 47.99rem) { .gd-abertura .sub { min-height: 6rem; } }

/* ---------- calculadora do desconto real ---------- */
.gd-calc {
  width: 100%; max-width: 34rem; padding: 1.25rem; border: 1px solid rgb(var(--c-line) / 0.7); border-radius: 1.5rem; background: rgb(var(--c-surface));
  box-shadow: 0 0.75rem 2rem -0.5rem rgba(24, 24, 27, 0.14);
}
@media (min-width: 768px) { .gd-calc { padding: 1.75rem; } }
@media (min-width: 64rem) { .gd-calc { max-width: none; } }
.gd-calc h2 { display: flex; align-items: center; gap: 0.75rem; margin: 0; font-size: 1.375rem; line-height: 1.75rem; letter-spacing: -0.01em; font-weight: 700; }
.gd-calc-ico { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--pg-night); color: var(--pg-brand); }
[data-theme='dark'] .gd-calc-ico { background: var(--pg-brand); color: var(--pg-night); }
.gd-calc-ico svg { width: 1.25rem; height: 1.25rem; }
.gd-calc-p { margin: 0.75rem 0 0; font-size: 0.875rem; line-height: 1.25rem; color: rgb(var(--c-muted)); }
.gd-calc form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; align-items: end; margin-top: 1.25rem; }
.gd-campo { min-width: 0; }
.gd-campo:nth-child(3) { grid-column: 1 / -1; }
.gd-campo label { display: block; margin-bottom: 0.375rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; text-wrap: balance; }
.gd-entrada {
  display: flex; align-items: center; gap: 0.5rem; height: 3rem; padding-inline: 0.75rem; border: 1px solid rgb(var(--c-strong)); border-radius: 0.75rem; background: rgb(var(--c-page));
  transition: border-color 0.15s, box-shadow 0.15s;
}
.gd-entrada:focus-within { border-color: rgb(var(--c-ink)); box-shadow: 0 0 0 0.1875rem rgba(255, 196, 0, 0.55); }
.gd-entrada span { flex: none; font-size: 0.875rem; font-weight: 700; color: rgb(var(--c-muted)); }
.gd-entrada input {
  flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; background: transparent; color: rgb(var(--c-ink)); font: inherit; font-size: 1rem; line-height: 1.5rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
.gd-entrada input:focus, .gd-entrada input:focus-visible { outline: none; }
.gd-ajuda { margin: 0.25rem 0 0; font-size: 0.75rem; line-height: 1rem; color: rgb(var(--c-muted)); }
.gd-resultado { margin-top: 1.25rem; padding: 1rem; border-radius: 1rem; background: rgb(var(--c-wash)); border-left: 0.25rem solid rgb(var(--c-strong)); transition: border-color 0.2s, background-color 0.2s; }
.gd-resultado[data-tom='bom'] { border-left-color: var(--pg-wa); }
.gd-resultado[data-tom='atencao'] { border-left-color: var(--pg-brand); background: rgb(var(--c-brandsoft)); }
.gd-resultado dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 7.5rem), 1fr)); gap: 0.75rem; margin: 0; }
.gd-resultado dl div { min-width: 0; }
.gd-resultado dt { font-size: 0.75rem; line-height: 1rem; color: rgb(var(--c-muted)); text-wrap: balance; }
.gd-resultado dd { margin: 0.125rem 0 0; font-size: 1.25rem; line-height: 1.5rem; letter-spacing: -0.02em; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.gd-leitura { margin: 0.875rem 0 0; font-size: 0.9375rem; line-height: 1.5rem; text-wrap: pretty; }
.gd-sem-js { margin: 0.75rem 0 0; font-size: 0.875rem; line-height: 1.25rem; color: rgb(var(--c-muted)); }

/* ---------- passos (sequência): número em círculo escuro com o número em amarelo ---------- */
.gd-passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 2rem 1.5rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.gd-passo { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.gd-passo-n, .gd-fase-n {
  display: grid; flex: none; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--pg-night); color: var(--pg-brand);
  font-size: 1.375rem; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; transition: background-color 0.2s, color 0.2s;
}
[data-theme='dark'] .gd-passo-n, [data-theme='dark'] .gd-fase-n { background: var(--pg-brand); color: var(--pg-night); }
.gd-passo h3 { margin-top: 1rem; }
@media (min-width: 40rem) { .gd-passo h3 { min-height: 3rem; } } /* títulos de uma e de duas linhas: o texto de cada passo começa na mesma altura */
.gd-passo p { margin: 0.5rem 0 0.5rem; max-width: 46ch; font-size: 1rem; line-height: 1.6875rem; color: rgb(var(--c-muted)); text-wrap: pretty; }
.gd-passo .gd-link { margin-top: auto; }

/* ---------- exemplo com números ---------- */
.gd-casos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 0.75rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
@media (min-width: 64rem) { .gd-casos { gap: 1.5rem; } }
.gd-caso h3 { font-size: 1.25rem; line-height: 1.75rem; }
.gd-caso dl { margin: 1rem 0 0; }
.gd-caso dl div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.625rem 0; border-top: 1px solid rgb(var(--c-line)); }
.gd-caso dt { font-size: 0.9375rem; line-height: 1.5rem; color: rgb(var(--c-muted)); }
.gd-caso dd { margin: 0; font-size: 0.9375rem; line-height: 1.5rem; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.gd-caso p { margin: 0.75rem 0 0; max-width: 56ch; font-size: 1rem; line-height: 1.6875rem; color: rgb(var(--c-muted)); text-wrap: pretty; }

/* ---------- quando comprar e quando esperar ---------- */
.gd-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 0.75rem; margin-top: 1.5rem; }
@media (min-width: 64rem) { .gd-duas { gap: 1.5rem; } }
.gd-lista { min-width: 0; padding: 1.25rem; border: 1px solid rgb(var(--c-line) / 0.7); border-radius: 1.5rem; background: rgb(var(--c-surface)); }
@media (min-width: 768px) { .gd-lista { padding: 1.5rem; } }
.gd-lista ul { display: grid; gap: 0.875rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.gd-lista li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: 0.75rem; font-size: 1rem; line-height: 1.5rem; text-wrap: pretty; }
.gd-lista li svg { width: 1.5rem; height: 1.5rem; }
.gd-lista-sim li svg { color: var(--pg-wa); }
[data-theme='dark'] .gd-lista-sim li svg { color: #34D399; }
.gd-lista-nao li svg { color: rgb(var(--c-muted)); }

/* ---------- texto corrido (colunas de 26rem, como as outras páginas) e dica ---------- */
.gd-texto-col { columns: 26rem 2; column-gap: 3rem; max-width: 42rem; margin-top: 1rem; } /* no máximo 2 colunas: são só dois parágrafos e cada um fica inteiro numa coluna */
@media (min-width: 58rem) { .gd-texto-col { max-width: none; } }
.gd-texto-col p { break-inside: avoid; margin: 0 0 1rem; font-size: 1rem; line-height: 1.6875rem; color: rgb(var(--c-muted)); overflow-wrap: break-word; orphans: 3; widows: 3; }
.gd-texto-col p a { color: rgb(var(--c-ink)); font-weight: 700; text-decoration: underline; text-underline-offset: 0.25rem; border-radius: 0.25rem; transition: background-color 0.15s, color 0.15s; }
.gd-texto-col p a:hover { background: var(--pg-brand); color: var(--pg-night); }
.gd-texto-col .gd-dica { column-span: all; break-inside: avoid; margin: 1rem 0 0; }
.gd-dica { display: flex; align-items: flex-start; gap: 0.75rem; max-width: 46rem; margin: 0.5rem 0 0; padding: 1rem 1.25rem; border: 1px solid rgba(255, 196, 0, 0.6); border-radius: 1rem; background: rgb(var(--c-brandsoft)); color: rgb(var(--c-ink)) !important; font-weight: 700; }
.gd-dica svg { flex: none; width: 1.25rem; height: 1.25rem; margin-top: 0.125rem; }
.gd-texto .gd-prox { margin-top: 2rem; }

/* ---------- plano em etapas (guia 2): agenda com trilho, caixas para marcar e progresso ---------- */
.gd-prog { display: none; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.gd-js .gd-prog { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem 1rem; max-width: 46rem; }
.gd-prog progress {
  grid-column: 1 / -1; width: 100%; height: 0.75rem; border: 0; border-radius: 999px; overflow: hidden; background: rgb(var(--c-line)); color: var(--pg-brand);
  -webkit-appearance: none; appearance: none;
}
.gd-prog progress::-webkit-progress-bar { background: rgb(var(--c-line)); }
.gd-prog progress::-webkit-progress-value { background: var(--pg-brand); border-radius: 999px; transition: width 0.3s ease-out; }
.gd-prog progress::-moz-progress-bar { background: var(--pg-brand); border-radius: 999px; }
.gd-prog p { margin: 0; font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.gd-limpar {
  min-height: 2.75rem; padding: 0 0.5rem; border: 0; border-radius: 0.5rem; background: transparent; color: rgb(var(--c-ink)); font: inherit; font-size: 0.875rem; font-weight: 700;
  text-decoration: underline; text-underline-offset: 0.25rem; cursor: pointer; transition: background-color 0.15s, color 0.15s;
}
.gd-limpar:hover { background: var(--pg-brand); color: var(--pg-night); }
.gd-limpar[hidden] { display: none; }

.gd-fases { display: grid; gap: 0; margin: 2rem 0 0; padding: 0; list-style: none; }
.gd-fase { position: relative; display: grid; gap: 1rem; padding-bottom: 2rem; min-width: 0; }
.gd-fase:last-child { padding-bottom: 0; }
@media (min-width: 48rem) { .gd-fase { grid-template-columns: 15rem minmax(0, 1fr); gap: 2rem; } }
.gd-fase:not(:last-child)::before { content: ''; position: absolute; left: 1.4375rem; top: 3.25rem; bottom: 0.25rem; border-left: 0.125rem dashed rgb(var(--c-strong)); }
.gd-fase > header { display: flex; align-items: flex-start; gap: 1rem; min-width: 0; }
.gd-fase h3 { font-size: 1.25rem; line-height: 1.75rem; }
.gd-fase-q { margin: 0; font-size: 0.875rem; line-height: 1.25rem; color: rgb(var(--c-muted)); }
.gd-fase.feita .gd-fase-n { background: var(--pg-wa); color: #fff; }
.gd-itens {
  position: relative; z-index: 1; display: grid; margin: 0; padding: 0.375rem 1rem; list-style: none; border: 1px solid rgb(var(--c-line) / 0.7); border-radius: 1.5rem; background: rgb(var(--c-surface));
  box-shadow: 0 0.125rem 0.75rem -0.25rem rgba(24, 24, 27, 0.06);
}
@media (min-width: 768px) { .gd-itens { padding: 0.5rem 1.5rem; } }
@media (min-width: 84rem) { .gd-itens { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; } }
.gd-itens li + li { border-top: 1px solid rgb(var(--c-line)); }
@media (min-width: 84rem) { .gd-itens li:nth-child(2) { border-top: 0; } }
.gd-itens label { position: relative; display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); align-items: start; gap: 0.875rem; min-height: 3.25rem; padding: 0.875rem 0; cursor: pointer; }
.gd-itens input { position: absolute; width: 1.5rem; height: 1.5rem; margin: 0; opacity: 0; cursor: pointer; }
.gd-caixa { grid-column: 1; grid-row: 1; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border: 0.125rem solid rgb(var(--c-strong)); border-radius: 0.5rem; background: rgb(var(--c-page)); color: transparent; transition: background-color 0.15s, border-color 0.15s, color 0.15s; }
.gd-caixa svg { width: 0.875rem; height: 0.875rem; }
.gd-item-txt { grid-column: 2; grid-row: 1; font-size: 1rem; line-height: 1.5rem; text-wrap: pretty; transition: color 0.15s; }
.gd-itens label:hover .gd-caixa { border-color: rgb(var(--c-ink)); }
.gd-itens input:checked + .gd-caixa { border-color: var(--pg-night); background: var(--pg-night); color: var(--pg-brand); }
[data-theme='dark'] .gd-itens input:checked + .gd-caixa { border-color: var(--pg-brand); background: var(--pg-brand); color: var(--pg-night); }
.gd-itens input:checked ~ .gd-item-txt { color: rgb(var(--c-muted)); }
.gd-itens input:focus-visible + .gd-caixa { outline: 0.125rem solid rgb(var(--c-ink)); outline-offset: 0.125rem; }

/* ---------- entrada /guias/ ---------- */
.gd-guias { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: 0.75rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
@media (min-width: 64rem) { .gd-guias { gap: 1.5rem; } }
.gd-guia article { display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; height: 100%; }
.gd-guia h3 { font-size: 1.375rem; line-height: 1.75rem; }
.gd-guia h3 a { color: inherit; text-decoration: none; }
.gd-guia h3 a:hover { text-decoration: underline; text-underline-offset: 0.25rem; }
.gd-guia p { margin: 0; max-width: 46ch; font-size: 1rem; line-height: 1.6875rem; color: rgb(var(--c-muted)); text-wrap: pretty; }
.gd-guia .gd-link { margin-top: auto; }

/* ---------- chamada para o grupo (o botão é o mesmo das outras páginas: data-grupo e data-posicao) ---------- */
.gd-cta { padding-block: 2.5rem 2.75rem; background: var(--pg-brand); color: var(--pg-night); }
@media (min-width: 768px) { .gd-cta { padding-block: 3.5rem; } }
.gd-cta-in { display: grid; gap: 1.5rem; align-items: center; }
@media (min-width: 64rem) { .gd-cta-in { grid-template-columns: minmax(0, 1fr) auto; gap: 4rem; } }
.gd-cta h2 { margin: 0; max-width: 24ch; font-size: 1.5rem; line-height: 1.75rem; letter-spacing: -0.02em; font-weight: 700; text-wrap: balance; }
@media (min-width: 768px) { .gd-cta h2 { font-size: 1.875rem; line-height: 2.25rem; } }
.gd-cta p { margin: 0.75rem 0 0; max-width: 56ch; font-size: 1rem; line-height: 1.5rem; text-wrap: pretty; }
.gd-cta-acoes { display: flex; flex-direction: column; align-items: stretch; gap: 0.5rem; }
@media (min-width: 40rem) { .gd-cta-acoes { align-items: flex-start; } }
@media (min-width: 64rem) { .gd-cta-acoes { align-items: stretch; min-width: 19rem; } }
.gd-cta .cta { width: 100%; min-width: 17rem; }
@media (min-width: 40rem) and (max-width: 63.99rem) { .gd-cta .cta { width: auto; } }
.gd-cta .gd-link { align-self: center; color: var(--pg-night); }
.gd-cta .gd-link:hover { background: var(--pg-night); color: var(--pg-brand); }
.gd-cta :focus-visible { outline-color: var(--pg-night); }

/* ---------- janela muito larga (zoom bem reduzido): blocos e textos param em 3000px, como nas outras páginas ---------- */
@media (min-width: 2300px) {
  .gd-passos, .gd-casos, .gd-duas, .gd-grade-larga, .gd-prox, .gd-guias, .gd-fases, .gd-texto-col, .gd-cta-in { max-width: 3000px; }
}

/* ---------- sem JavaScript: a calculadora mostra o exemplo pronto (o aviso fica no <noscript>); a lista continua utilizável ---------- */
@media (prefers-reduced-motion: reduce) {
  .gd-prog progress::-webkit-progress-value, .gd-caixa, .gd-resultado, .gd-fase-n { transition: none; }
}
@media print {
  .gd-cta, .gd-lado { display: none !important; }
  .gd-sec-wash { background: none; }
}
