/* ============================================================================
   INFORA — CARTÕES DE PREÇO DOS PACOTES DE ASSINATURA (09/10/2026)
   Folha compartilhada: entra pelo <link rel="stylesheet" href="precos-cartoes.css">
   DEPOIS do infora.css. Tudo aqui tem o prefixo pc- (não mexe no resto da página).

   PEDIDO DO JR (09/10): "deixar a tabela de preços com o layout mais parecido com o
   anexo 2, claro que respeitando as cores e a identidade do site". O anexo é a
   tabela de preços em cartões altos: topo em degradê com faixas diagonais, o
   preço num círculo sobre a ponta (chevron) que separa o topo do corpo, a lista
   com ✓ em "pílulas" e o botão em pílula no pé.

   O QUE É DA INFORA NESSA LEITURA
   • Cada cartão tem cor própria, mas a cor é um DEGRAU DA MESMA FAMÍLIA VERDE:
     sálvia (1 doc, o preço cheio) → verde-água → teal → jade → esmeralda → o
     verde vivo da marca com brilho (100 docs, o menor preço por documento).
     Quanto maior o pacote, mais viva a cor — a escada é informação, não enfeite.
   • As estrelinhas do anexo viraram o SELO DE DESCONTO (−22,6%…): estrela de
     avaliação seria nota inventada.
   • O anel do círculo é um MEDIDOR: o arco aceso é o desconto por documento
     sobre o avulso (R$ 12,90) — vazio no avulso, 65,1% no de 100. Substitui a
     barrinha do desenho anterior; a legenda acima dos cartões explica.
   • Space Grotesk no texto, JetBrains Mono no dinheiro (alinha número com número).
   • Texto escuro (#04170d) sobre a cor: contraste ≥ 4,9:1 em QUALQUER ponto de
     todos os degradês (medido 09/10: pior caso 4,94:1, a ponta escura da sálvia).
   • CSP style-src 'self': nada de style="" nem <style> por script. A cor e o
     desconto de cada cartão moram nas classes pc-n1…pc-n6, abaixo.

   🚨 Os números do anel (--pc-d) são os descontos de netlify/lib/pacotes-assinatura.js
   (desconto(), 1 casa). Mudou o preço lá? Mude aqui, no HTML dos cartões (as 3 páginas:
   assinatura-digital, assinatura-digital-avulsa, assinatura-eletronica) e rode
   ferramenta/teste-divulga-assinatura.js e ferramenta/teste-assinatura-eletronica.js
   (são eles que leem o --pc-d daqui) e ferramenta/teste-preco-assinatura.js.

   SEM color-mix() (revisão 09/10): no Safari < 16.2 e no Chrome < 111 a declaração
   inteira cai e o anel some. As misturas são cores PRONTAS por degrau:
   --pc-rgb (o c1 em "r,g,b", para rgba()), --pc-trilho (c1 17% sobre #0b1512, o trilho
   apagado do anel) e --pc-econ (c1 12% sobre #0e1a16, o fundo da pílula da economia).
   Mudou o c1? Recalcule as três.

   LAYOUT — celular primeiro
   • até 899 px: carrossel horizontal com encaixe (scroll-snap) — o cartão alto do
     anexo cabe inteiro na tela e o próximo aparece na beirada. Quem rola é a
     LISTA; a página nunca rola para o lado. Acima dela, a régua .pc-atalhos (3 × 2):
     os 6 pacotes com o preço por documento lado a lado; cada um é âncora para o cartão.
   • 900–1799 px: grade 3 × 2. De 1200 a 1799 o círculo e o topo crescem com a coluna
     (círculo ≈ 46% da largura do cartão, como no anexo).
   • 1800 px ou mais: os 6 numa linha só (medido 09/10: em 1600 o cartão fica com 250 px e
     a lista quebra em 2 linhas quase toda; em 1920, 303 px, só "certificado…" quebra).
   ========================================================================== */

/* -- a escada de tons (c1 = topo claro, c2 = base funda; d = desconto do anel) --
   Revisão 09/10, medido em OKLCH: o croma do c1 SÓ SOBE (0,043 · 0,055 · 0,118 · 0,142 · 0,164 · 0,178) — quanto maior o
   pacote, mais viva a cor; o de 100 usa os tokens da marca (--marca2 #4ced99 → --marca #1fbf6b). Texto #04170d sobre a
   cor: pior caso 5,11:1 (o c2 do de 50); a bolinha do ✓ contra o cartão: pior caso 4,92:1. */
.pc-n1{--pc-c1:#a9cbbb;--pc-c2:#5e9a80;--pc-d:0%;--pc-rgb:169,203,187;--pc-trilho:#26342f;--pc-econ:#212f2a}      /* 1 documento — sálvia (com um fio de verde), preço cheio */
.pc-n2{--pc-c1:#b3e6da;--pc-c2:#62a89a;--pc-d:22.6%;--pc-rgb:179,230,218;--pc-trilho:#283934;--pc-econ:#22322e}   /* 5 — verde-água claro */
.pc-n3{--pc-c1:#5fe3d3;--pc-c2:#1d9e91;--pc-d:30.3%;--pc-rgb:95,227,211;--pc-trilho:#193833;--pc-econ:#18322d}    /* 10 — teal (a menta da marca) */
.pc-n4{--pc-c1:#4fe0b0;--pc-c2:#17a374;--pc-d:41.9%;--pc-rgb:79,224,176;--pc-trilho:#17382d;--pc-econ:#163228}    /* 20 — jade */
.pc-n5{--pc-c1:#2fd08a;--pc-c2:#0f9a5a;--pc-d:53.5%;--pc-rgb:47,208,138;--pc-trilho:#113526;--pc-econ:#123024}    /* 50 — esmeralda funda */
.pc-n6{--pc-c1:#4ced99;--pc-c2:#1fbf6b;--pc-d:65.1%;--pc-rgb:76,237,153;--pc-trilho:#163a29;--pc-econ:#153326}    /* 100 — o verde da marca, destaque */

/* -- a legenda do anel e a dica do carrossel ---------------------------- */
.pc-legenda{display:flex;align-items:center;gap:10px;margin:-14px 0 6px;font-size:12.5px;line-height:1.5;color:#8fa79e}
.pc-legenda-anel{flex:none;width:22px;height:22px;border-radius:50%;
  background:radial-gradient(circle,#0b1512 0 54%,transparent 55%),conic-gradient(#4ced99 0 65%,rgba(76,237,153,.18) 65% 100%)}
.pc-dica{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:12.5px;line-height:1.4;color:#8fa79e}

/* -- a régua de atalhos (só no celular): os 6 pacotes lado a lado, cada um leva ao cartão --
   Sem script (âncora + scroll-snap). O ponto tem a cor do degrau e o texto diz tudo (não só a cor). */
.pc-atalhos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0 0}
.pc-at-tit{grid-column:1/-1;margin:0 0 2px;font:600 12.5px/1.4 var(--display);color:#cfe0d8}
.pc-atalhos a{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:46px;padding:6px 8px 6px 22px;border-radius:14px;
  background:#0e1a16;border:1px solid #1c2f28;color:#dbe9e2;text-decoration:none;font:500 12px/1.25 var(--display)}
.pc-atalhos a::before{content:"";position:absolute;left:9px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;
  background:linear-gradient(140deg,var(--pc-c1),var(--pc-c2))}
.pc-atalhos a b{font-weight:700;color:#fff}
.pc-atalhos .pc-at-doc{font:700 12.5px/1.25 var(--dado);color:var(--pc-c1);white-space:nowrap;font-variant-numeric:tabular-nums}
.pc-atalhos .pc-at-doc small{font:500 11px/1 var(--display);color:#8fa79e}
.pc-atalhos a.pc-n6{border-color:rgba(var(--pc-rgb),.55);background:var(--pc-econ)}
.pc-atalhos a:hover{border-color:rgba(var(--pc-rgb),.6)}
.pc-atalhos a:focus-visible{outline:3px solid #eaf5f0;outline-offset:2px}
/* tablet em pé (680–899): os 6 cabem numa linha só */
@media (min-width:680px){ .pc-atalhos{grid-template-columns:repeat(6,minmax(0,1fr))} }
/* a âncora leva o cartão INTEIRO para a tela (16 px de folga deixam a fita do de 100 à vista) */
.pc-cartao{scroll-margin-top:16px}
.pc-dica::after{content:"";width:26px;height:8px;flex:none;opacity:.8;
  background:linear-gradient(90deg,#4ced99,#4ced99) 0 50%/18px 2px no-repeat,
    linear-gradient(45deg,transparent 45%,#4ced99 46% 60%,transparent 61%) 100% 0/8px 4px no-repeat,
    linear-gradient(-45deg,transparent 45%,#4ced99 46% 60%,transparent 61%) 100% 100%/8px 4px no-repeat}

/* -- a lista: carrossel no celular -------------------------------------- */
.pc-lista{list-style:none;margin:0 -8px;padding:22px 8px 30px;display:flex;gap:14px;
  /* overflow-x:auto faz o overflow-y virar auto: tudo o que desce mais que os 30 px de baixo é CORTADO em linha reta.
     Por isso as sombras do cartão no carrossel cabem nos 30 px (ver o @media (max-width:899px) lá embaixo). */
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:8px;
  scrollbar-width:thin;scrollbar-color:#2a453b transparent}
/* a lista vaza até a borda da tela (o respiro da página é 8px no celular e 10px acima de 560px) */
@media (min-width:561px){ .pc-lista{margin:0 -10px;padding-inline:10px;scroll-padding-inline:10px} }
.pc-lista::-webkit-scrollbar{height:6px}
.pc-lista::-webkit-scrollbar-thumb{background:#2a453b;border-radius:9px}

/* -- o cartão ----------------------------------------------------------- */
.pc-cartao{--pc-th:206px;--pc-v:62px;--pc-dia:164px;
  position:relative;flex:0 0 min(84%,330px);scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;
  border-radius:26px;background:linear-gradient(180deg,#0e1a16 0%,#09120f 60%,#08100d 100%);
  border:1px solid rgba(var(--pc-rgb),.2);
  box-shadow:0 34px 60px -34px rgba(0,0,0,.95),0 2px 0 rgba(255,255,255,.03) inset}
/* a faixa clara que acompanha o chevron por baixo (a "segunda dobra" do anexo) */
.pc-cartao::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(var(--pc-th) + 12px);z-index:0;
  border-radius:25px 25px 0 0;background:linear-gradient(165deg,var(--pc-c1),var(--pc-c2));opacity:.3;
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--pc-v)),50% 100%,0 calc(100% - var(--pc-v)))}

/* o topo: degradê do tom + faixas diagonais a 45°, cortado em chevron embaixo.
   Cada borda de listra tem 0,6% de transição (parada dura a 45° fazia degrau de pixel). */
.pc-topo{position:relative;z-index:1;height:var(--pc-th);padding:24px 16px 0;text-align:center;border-radius:25px 25px 0 0;
  background:
    linear-gradient(135deg,transparent 0 13.7%,rgba(255,255,255,.24) 14.3% 24.7%,transparent 25.3% 40.7%,rgba(255,255,255,.15) 41.3% 47.7%,
      transparent 48.3% 62.7%,rgba(255,255,255,.2) 63.3% 76.7%,transparent 77.3% 88.7%,rgba(255,255,255,.11) 89.3% 93.7%,transparent 94.3%),
    linear-gradient(165deg,var(--pc-c1) 0%,var(--pc-c2) 100%);
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--pc-v)),50% 100%,0 calc(100% - var(--pc-v)))}
.pc-nome{margin:0;font:700 15px/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#04170d}
.pc-selo{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:6px 12px 6px 11px;border-radius:999px;
  background:rgba(4,23,13,.84);color:var(--pc-c1);font:700 13px/1 var(--dado);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.pc-selo small{font:500 11px/1 var(--display);letter-spacing:.01em;color:#cfe0d8}
.pc-selo.pc-selo-cheio{font:600 12px/1 var(--display);letter-spacing:.02em;color:#cfe0d8}

/* o círculo do preço, sobre a ponta do chevron. O anel é o medidor do desconto. */
.pc-preco{position:relative;z-index:2;width:var(--pc-dia);height:var(--pc-dia);margin:calc(var(--pc-dia) * -.66) auto 0;flex:none;
  border-radius:50%;padding:8px;display:grid;
  background:conic-gradient(var(--pc-c1) 0 var(--pc-d),var(--pc-trilho) var(--pc-d) 100%);
  box-shadow:0 0 0 6px #0b1512,0 22px 40px -14px rgba(0,0,0,.95)}
.pc-preco-miolo{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;text-align:center;
  background:radial-gradient(circle at 50% 28%,#14241e 0%,#0a1310 70%)}
.pc-valor{margin:2px 0 0;font:700 30px/1 var(--dado);letter-spacing:-.06em;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
.pc-rs{font-size:13px;font-weight:500;letter-spacing:0;color:var(--pc-c1);vertical-align:12px;margin-right:1px}
/* o preço por documento é o número que se COMPARA entre os pacotes: 2º nível de leitura, logo abaixo do total
   (revisão 09/10: era 13 px, menor que a lista) */
.pc-unit{margin:8px 0 0;font:500 12.5px/1.3 var(--display);color:#8fa79e}
.pc-unit b{display:block;font:700 16px/1.2 var(--dado);letter-spacing:-.02em;color:var(--pc-c1);font-variant-numeric:tabular-nums}

/* a lista com ✓ em pílulas */
.pc-itens{list-style:none;margin:18px 0 0;padding:0 16px;display:grid;gap:8px;flex:1;align-content:start}
.pc-itens li{position:relative;display:block;padding:8px 14px;margin-left:30px;border-radius:18px;
  background:#13211c;border:1px solid rgba(255,255,255,.035);font:500 13.5px/1.35 var(--display);color:#dbe9e2}
.pc-itens li b{font-weight:700;color:#fff}
/* o ✓: bolinha no tom do cartão com o traço desenhado em CSS (sem imagem: vale com qualquer CSP) */
.pc-itens li::before{content:"";position:absolute;left:-30px;top:50%;width:21px;height:21px;margin-top:-10.5px;border-radius:50%;
  background:linear-gradient(140deg,var(--pc-c1),var(--pc-c2))}
.pc-itens li::after{content:"";position:absolute;left:-23px;top:50%;width:5px;height:9px;margin-top:-6.5px;
  border:solid #04170d;border-width:0 2.4px 2.4px 0;transform:rotate(43deg)}
/* a economia: a pílula de duas linhas, tingida no tom */
.pc-itens li.pc-econ{border-radius:16px;background:var(--pc-econ);border-color:rgba(var(--pc-rgb),.3);color:#cfe0d8}
.pc-itens li.pc-econ b{font-family:var(--dado);color:var(--pc-c1);white-space:nowrap}
.pc-cheio{display:block;margin-bottom:2px;font-size:12px;color:#8fa79e}
.pc-cheio s{white-space:nowrap}
/* o avulso não tem economia: o marcador vira um traço (a forma muda, não só a cor) */
.pc-itens li.pc-nota{border-radius:16px;color:#a9bdb4}
.pc-itens li.pc-nota::before{background:none;border:2px solid var(--pc-c1)}
.pc-itens li.pc-nota::after{left:-24.5px;width:10px;height:0;margin-top:-1px;border-width:0 0 2.4px;border-color:var(--pc-c1);transform:none}

/* o botão em pílula, no degradê do cartão */
.pc-pe{padding:18px 16px 22px;display:flex;justify-content:center}
.pc-bt{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 24px;border-radius:999px;
  background:linear-gradient(100deg,var(--pc-c1),var(--pc-c2));color:#04170d;text-decoration:none;white-space:nowrap;
  font:700 14px/1.1 var(--display);letter-spacing:.01em;
  box-shadow:0 12px 26px -14px var(--pc-c1),0 1px 0 rgba(255,255,255,.35) inset;transition:transform .2s var(--mola),box-shadow .2s,filter .2s}
.pc-bt svg{width:17px;height:17px;flex:none}
.pc-bt:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 16px 30px -12px var(--pc-c1),0 1px 0 rgba(255,255,255,.35) inset}
.pc-bt:focus-visible{outline:3px solid #eaf5f0;outline-offset:3px}

/* o de 100: o verde da marca, o brilho e a fita */
.pc-cartao.pc-n6{border-color:rgba(76,237,153,.55);
  box-shadow:0 0 0 1px rgba(76,237,153,.25),0 30px 70px -26px rgba(76,237,153,.55),0 34px 60px -34px rgba(0,0,0,.95)}
.pc-fita{position:absolute;top:-13px;left:50%;z-index:3;transform:translateX(-50%);margin:0;padding:6px 13px;border-radius:999px;
  background:#04170d;border:1px solid var(--pc-c1);color:var(--pc-c1);font:700 11.5px/1.2 var(--display);letter-spacing:.02em;white-space:nowrap;
  box-shadow:0 8px 18px -8px rgba(0,0,0,.9)}

/* só para leitor de tela */
.pc-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* -- carrossel (até 899 px): as sombras cabem nos 30 px de baixo da lista, que corta o resto em linha reta -- */
@media (max-width:899px){
  .pc-cartao{box-shadow:0 18px 30px -18px rgba(0,0,0,.95),0 2px 0 rgba(255,255,255,.03) inset}
  .pc-cartao.pc-n6{box-shadow:0 0 0 1px rgba(76,237,153,.25),0 14px 28px -16px rgba(76,237,153,.55),0 18px 30px -18px rgba(0,0,0,.95)}
}

/* -- celular estreito: cartão ocupa quase a tela toda -------------------- */
@media (max-width:420px){
  .pc-cartao{flex-basis:86%;--pc-th:196px;--pc-v:58px;--pc-dia:156px}
  .pc-valor{font-size:28px}
}

/* -- PC: grade ----------------------------------------------------------- */
@media (min-width:900px){
  .pc-dica,.pc-atalhos{display:none}
  .pc-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 18px;margin:0;padding:22px 0 8px;overflow:visible;scroll-snap-type:none}
  .pc-cartao{--pc-th:214px;--pc-v:70px;--pc-dia:172px}
  .pc-valor{font-size:32px}
  .pc-itens{padding:0 20px}
  .pc-pe{padding:20px 20px 24px}
}
/* 900–1099: o cartão tem de 281 a 340 px — a lista aperta o recuo para o texto caber em 1–2 linhas (revisão 09/10:
   em 900 "Avulso: …" ia a 3 linhas e o valor da economia caía sozinho na linha de baixo) */
@media (min-width:900px) and (max-width:1099px){
  .pc-itens{padding:0 12px}
  .pc-itens li{margin-left:26px;padding:7px 11px;font-size:13px}
  .pc-itens li::before{left:-26px}
  .pc-itens li::after{left:-19px}
  .pc-itens li.pc-nota::after{left:-20.5px}
}
/* 1200–1799: o círculo e o topo crescem COM a coluna (revisão 09/10: o círculo fixo em 180 px caía de 47% para 31% da
   largura do cartão e o cartão virava quase um quadrado). 15,5vw − 8 px ≈ 46% do cartão de 3 colunas. */
@media (min-width:1200px){
  .pc-cartao{--pc-dia:clamp(180px,calc(15.5vw - 8px),272px);--pc-th:calc(var(--pc-dia) + 46px);--pc-v:calc(var(--pc-dia) * .44)}
  .pc-itens{padding:0 clamp(26px,2.2vw,40px)}
  .pc-valor{font-size:clamp(34px,2.5vw,44px)}
  .pc-rs{font-size:clamp(13px,1vw,16px)}
  .pc-unit{font-size:13px}
  .pc-unit b{font-size:18px}
}
@media (min-width:1366px) and (max-width:1799px){
  .pc-itens li{padding:9px 16px;font-size:14.5px}
  .pc-cheio{font-size:12.5px}
}
@media (min-width:1800px){
  .pc-lista{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 16px}
  .pc-cartao{--pc-dia:168px;--pc-th:208px;--pc-v:62px}
  .pc-itens{padding:0 16px}
  .pc-valor{font-size:31px}
  .pc-rs{font-size:13px}
  .pc-unit b{font-size:17px}
}
/* 1800–1919: 6 colunas de 283 a 300 px — a lista aperta o recuo para todas as pílulas terem o mesmo número de linhas
   nos 6 cartões (revisão 09/10: em 1800 "vale 12 meses" ficava em 3 alturas diferentes na mesma fileira) */
@media (min-width:1800px) and (max-width:1919px){
  .pc-itens{padding:0 12px}
  .pc-itens li{margin-left:27px;padding:7px 11px;font-size:13px}
  .pc-itens li::before{left:-27px}
  .pc-itens li::after{left:-20px}
  .pc-itens li.pc-nota::after{left:-21.5px}
}

@media (prefers-reduced-motion:reduce){ .pc-bt{transition:none} .pc-bt:hover{transform:none} }
