/* =======================================================
   css/catalogo.css — catálogo (catalogo.php). Redesenho de 29/09/2026.

   Carregada DEPOIS de css/home.css: o cabeçalho (.topo), os botões (.bt), o
   cartão de curso (.curso) e o rodapé (.rodape) são os da home, para o site
   ter uma cara só. Aqui fica só o que é do catálogo. Nenhuma classe da home é
   redefinida por nome genérico: o que é daqui começa com "c" ou é de painel
   de formação (.fpainel, .mod).
======================================================= */
body.cat{background:var(--fundo)}
[hidden]{display:none !important}
.cat [id]{scroll-margin-top:132px}
.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------------- topo da página (faixa escura) ---------------- */
.chero{position:relative;z-index:60;color:#fff;margin-top:-72px;padding:108px 0 44px;
    background:
      radial-gradient(760px 420px at 12% 18%, rgba(243,122,18,.18), transparent 62%),
      radial-gradient(900px 600px at 95% 110%, rgba(46,160,110,.26), transparent 60%),
      linear-gradient(160deg,#061F16 0%, var(--noite) 35%, #0F4A35 100%)}
.chero.hub{padding:136px 0 76px}
.chero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
    background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:56px 56px;mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%)}
.chero .box{position:relative}
.migalha{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:.86rem;color:rgba(255,255,255,.55);margin:0 0 14px;padding:0;list-style:none}
.migalha a{color:rgba(255,255,255,.85);text-decoration:none;font-weight:600}
.migalha a:hover{color:#fff;text-decoration:underline}
.migalha li+li::before{content:"/";margin-right:8px;color:rgba(255,255,255,.35)}
.chero .sobre{color:var(--pessego);margin-bottom:10px}
.chero h1{font-size:clamp(1.85rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.032em;font-weight:800;margin:0 0 12px;max-width:20em}
.chero.hub h1{font-size:clamp(2.1rem,4.4vw,3.5rem)}
.chero h1 span{background:linear-gradient(92deg,#FFC48A,#F37A12);-webkit-background-clip:text;background-clip:text;color:transparent}
.chero .lead{color:rgba(255,255,255,.78);font-size:1.06rem;max-width:46em;margin:0 0 24px}
.cprova{display:flex;gap:10px 24px;flex-wrap:wrap;margin:24px 0 0;padding:0;list-style:none;color:rgba(255,255,255,.72);font-size:.9rem}
.cprova li{display:flex;align-items:center;gap:8px}
.cprova b{color:#fff}
.cprova .ico{width:18px;height:18px;stroke:#7DD3A8;stroke-width:2.4}

/* busca */
.cbusca{position:relative;max-width:720px}
.cbusca form{display:flex;align-items:center;gap:8px;background:#fff;border-radius:16px;padding:6px 6px 6px 18px;
    box-shadow:0 22px 44px -20px rgba(0,0,0,.65);border:2px solid transparent;transition:border-color .15s}
.cbusca form:focus-within{border-color:var(--laranja)}
.cbusca .ico{color:var(--suave)}
.cbusca input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:1.02rem;color:var(--texto);height:48px}
.cbusca input::placeholder{color:var(--suave)}
.cbusca input::-webkit-search-cancel-button{display:none}
.cbusca .bt{height:48px;box-shadow:none}
.cbusca .bt .ico{display:none}
.ctermos{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px;font-size:.86rem;color:rgba(255,255,255,.6)}
.ctermos a{color:#fff;text-decoration:none;font-weight:600;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16)}
.ctermos a:hover{background:rgba(255,255,255,.18)}
.sug{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;color:var(--texto);border-radius:16px;border:1px solid var(--borda);
    box-shadow:var(--sombra-2);padding:8px;max-height:min(68vh,540px);overflow:auto;z-index:5}
.sug a.r{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:8px 10px;border-radius:11px;text-decoration:none}
.sug a.r:hover,.sug a.r.foco{background:var(--verde-claro)}
.sug img{width:48px;height:48px;border-radius:9px;object-fit:cover;background:#F1EEE6}
.sug b{display:block;font-size:.94rem;line-height:1.3}
.sug small{display:block;color:var(--muted);font-size:.8rem;line-height:1.35}
.sug .p{font-weight:800;color:var(--verde-esc);font-size:.88rem;white-space:nowrap}
.sug .tudo{display:block;text-align:center;font-weight:700;color:var(--verde);padding:12px;border-radius:11px;text-decoration:none}
.sug .tudo:hover,.sug .tudo.foco{background:var(--verde-claro)}
.sug .nada{padding:18px 14px;color:var(--muted);text-align:center;font-size:.93rem}
.sug .nada b{display:block;color:var(--texto);margin-bottom:2px}

/* ---------------- abas (fixas ao rolar) ---------------- */
.abas{position:sticky;top:72px;z-index:50;background:rgba(246,248,247,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--borda)}
.js .abas{top:62px}
.abas .box{display:flex;gap:8px;overflow-x:auto;padding-top:11px;padding-bottom:11px;scrollbar-width:none}
.abas .box::-webkit-scrollbar{display:none}
.abas a{flex:none;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border-radius:999px;background:#fff;border:1.5px solid var(--borda);
    color:var(--texto);font-weight:700;font-size:.88rem;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.abas a small{font-weight:600;color:var(--suave);font-size:.8rem}
.abas a:hover{border-color:var(--verde);color:var(--verde)}
.abas a[aria-current],.abas a.ativo{background:var(--verde);border-color:var(--verde);color:#fff}
.abas a[aria-current] small,.abas a.ativo small{color:rgba(255,255,255,.75)}
.abas a.volta{background:transparent;border-color:transparent;color:var(--verde);padding-left:4px}
.abas a.volta .ico{width:16px;height:16px;transform:rotate(180deg);stroke-width:2.4}
.abas a:focus-visible,.norma:focus-visible,.setor:focus-visible,.objetivo:focus-visible,.guia a:focus-visible,.fmods>summary:focus-visible{outline:3px solid var(--laranja);outline-offset:2px}

/* ---------------- blocos ---------------- */
.cbloco{padding:56px 0 0}
.cbloco.junto{padding-top:34px}
.cfim{padding:64px 0 84px}
.ctit{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 22px}
.ctit h2{font-size:clamp(1.4rem,2.4vw,1.85rem);letter-spacing:-.025em;line-height:1.15;margin:0;font-weight:800}
.ctit h2 small{font-size:.62em;font-weight:700;color:var(--suave);letter-spacing:0;margin-left:6px}
.ctit p{margin:6px 0 0;color:var(--muted);max-width:50em}
.ctit .mais-link{font-weight:700;color:var(--verde);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.ctit .mais-link:hover{text-decoration:underline}
.ctit .mais-link .ico{width:17px;height:17px;stroke-width:2.4}

.caviso{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:14px;font-size:.93rem;margin:22px 0 0;line-height:1.5}
.caviso .ico{margin-top:1px}
.caviso.ok{background:#DDF1E6;border:1px solid #B5DEC7;color:#0E4A34}
.caviso.erro{background:#FDECEA;border:1px solid #F3C2BD;color:#7A1C14}
.caviso.info{background:var(--verde-claro);border:1px solid var(--verde-borda);color:#1E3B30}
.caviso.previa{background:#FFF3E0;border:1px solid #F3D19A;color:#6B3A00;margin:0;border-radius:0;justify-content:center;text-align:center}
.cnota{margin:0 0 18px;font-size:.9rem;background:#FFF7E3;border:1px solid #F0D9A0;color:#5C4400;border-radius:12px;padding:12px 16px;line-height:1.5}
.cnota a{color:inherit;font-weight:700}

/* normas */
.normas{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.norma{position:relative;display:flex;flex-direction:column;padding:20px 20px 18px;border-radius:var(--raio);background:#fff;border:1px solid var(--borda);
    box-shadow:var(--sombra-1);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.norma:hover{transform:translateY(-3px);box-shadow:var(--sombra-2);border-color:var(--verde-borda)}
.norma .num{font-weight:800;color:var(--verde);font-size:.78rem;letter-spacing:.1em;line-height:1}
.norma .num b{display:block;font-size:2.3rem;letter-spacing:-.045em;color:var(--verde-esc);margin-top:3px}
.norma .ic{position:absolute;right:16px;top:16px;width:42px;height:42px;border-radius:12px;background:var(--verde-claro);color:var(--verde);display:grid;place-items:center}
.norma h3{margin:12px 0 4px;font-size:1.06rem;line-height:1.25;letter-spacing:-.01em}
.norma p{margin:0 0 14px;font-size:.86rem;color:var(--muted);line-height:1.45}
.norma .qt{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.82rem;font-weight:700;color:var(--verde)}
.norma .qt .ico{width:17px;height:17px;stroke-width:2.4;transition:transform .18s}
.norma:hover .qt .ico{transform:translateX(3px)}
.norma.todas{background:linear-gradient(135deg,var(--noite),#12533D);border-color:transparent;color:#fff}
.norma.todas .num{color:var(--pessego)}
.norma.todas .num b{color:#fff}
.norma.todas p{color:rgba(255,255,255,.72)}
.norma.todas .qt{color:#FFC48A}
.norma.todas .ic{background:rgba(255,255,255,.1);color:#fff}

/* setores */
.setores{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.setor{display:flex;flex-direction:column;gap:3px;padding:18px;border-radius:16px;background:#fff;border:1px solid var(--borda);text-decoration:none;color:inherit;
    box-shadow:var(--sombra-1);transition:transform .2s,box-shadow .2s,border-color .2s}
.setor:hover{transform:translateY(-3px);box-shadow:var(--sombra-2);border-color:var(--verde-borda)}
.setor .ic{width:42px;height:42px;border-radius:12px;background:var(--creme);color:var(--laranja-esc);display:grid;place-items:center;margin-bottom:10px}
.setor b{font-size:.98rem;line-height:1.25}
.setor span{font-size:.83rem;color:var(--muted);line-height:1.4}
.setor small{margin-top:auto;padding-top:8px;font-size:.78rem;font-weight:700;color:var(--verde)}
.setor.empresa{background:linear-gradient(135deg,var(--noite),#12533D);border-color:transparent;color:#fff}
.setor.empresa .ic{background:rgba(243,122,18,.18);color:#FFB36B}
.setor.empresa span{color:rgba(255,255,255,.72)}
.setor.empresa small{color:#FFC48A}

/* objetivos */
.objetivos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.objetivo{display:grid;grid-template-columns:48px 1fr;gap:4px 14px;align-items:start;padding:20px;border-radius:var(--raio);background:#fff;border:1px solid var(--borda);
    box-shadow:var(--sombra-1);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.objetivo:hover{transform:translateY(-3px);box-shadow:var(--sombra-2);border-color:var(--verde-borda)}
.objetivo .ic{grid-row:span 3;width:48px;height:48px;border-radius:14px;background:var(--verde);color:#fff;display:grid;place-items:center}
.objetivo:nth-child(2) .ic{background:var(--laranja);color:#1D1206}
.objetivo:nth-child(3) .ic{background:var(--creme);color:var(--laranja-esc)}
.objetivo b{font-size:1.04rem}
.objetivo span{font-size:.88rem;color:var(--muted);line-height:1.45}
.objetivo small{font-size:.8rem;font-weight:700;color:var(--verde);margin-top:4px}

/* formações em destaque (usa .formacao da home) */
.cat .formacoes{margin-top:0}
.cat .formacao p{margin-bottom:10px}
.cat .formacoes .formacao:last-child:nth-child(odd){grid-column:1 / -1}
.cat .formacao .fatos{display:block;font-size:.82rem;color:rgba(255,255,255,.62);margin:0 0 12px}

/* ---------------- guia "qual é o seu caso" ---------------- */
.guia{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-1);overflow:hidden}
.guia-cab{display:flex;gap:12px;align-items:center;padding:18px 22px;background:var(--verde-claro);border-bottom:1px solid var(--verde-borda)}
.guia-cab .ico{color:var(--verde)}
.guia-cab h2{margin:0;font-size:1.08rem;letter-spacing:-.01em}
.guia-cab p{margin:0;font-size:.86rem;color:var(--muted)}
.guia a{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center;padding:15px 22px;text-decoration:none;color:inherit;transition:background .15s}
.guia a+a{border-top:1px solid var(--borda)}
.guia a:hover{background:#FAFCFB}
.guia .caso{font-weight:700;font-size:.98rem;line-height:1.35}
.guia .vai{grid-column:1;font-size:.86rem;color:var(--muted);line-height:1.4}
.guia .vai b{color:var(--verde);font-weight:700}
.guia .ico{grid-column:2;grid-row:1 / span 2;color:var(--verde);width:20px;height:20px;stroke-width:2.4;transition:transform .18s}
.guia a:hover .ico{transform:translateX(3px)}

/* ---------------- cartão de curso (complementa .curso da home) ---------------- */
.cat .cursos{grid-template-columns:repeat(4,1fr);gap:20px}
.cat .curso{position:relative}
.cat .curso .capa{display:block}
.cat .curso h3 a{text-decoration:none;color:inherit}
.cat .curso h3 a::after{content:"";position:absolute;inset:0;z-index:1}          /* o cartão inteiro leva ao curso */
.cat .curso h3 a:hover{color:var(--verde)}
.cat .curso .carga{margin-bottom:14px;align-items:flex-start;line-height:1.4}
.cat .curso .carga .ico{width:15px;height:15px;color:var(--suave);margin-top:3px}
.cat .curso .pe{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;position:relative;z-index:2}
.cat .curso .preco{font-weight:800;font-size:1.12rem;color:var(--verde-esc);letter-spacing:-.01em}
.cat .curso .pe .bt{height:42px;padding:0 18px;font-size:.9rem;border-radius:11px;box-shadow:none}
.cat .curso .pe .bt:only-child{width:100%}
.tipo.form{background:var(--verde);color:#fff}
.tipo.pres{background:#F3E8FF;color:#5B2A91}
.tipo.modu{background:#EEF1EF;color:#3D4B45}
.curso.alvo,.mod.alvo,.fpainel.alvo{outline:3px solid var(--laranja);outline-offset:3px}
.curso:hover{z-index:1}

/* ---------------- painel de formação e de categoria ---------------- */
.fpainel{background:#fff;border:1px solid var(--borda);border-radius:22px;box-shadow:var(--sombra-1);overflow:hidden}
.fpainel+.fpainel{margin-top:22px}
.fhead{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:start;padding:26px}
.fhead-cat{grid-template-columns:1fr}
.fimg{width:220px;height:220px;object-fit:cover;border-radius:16px;background:#F1EEE6}
.ftitulo{margin:2px 0 4px;font-size:1.45rem;line-height:1.18;letter-spacing:-.025em}
.fnome{margin:0 0 14px;color:var(--muted);font-size:.93rem;line-height:1.5}
.ffatos{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.ffatos li{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:700;color:var(--verde-esc);background:var(--verde-claro);border:1px solid var(--verde-borda);padding:6px 12px;border-radius:999px}
.ffatos .ico{width:15px;height:15px;color:var(--verde)}
.fpassos{list-style:none;counter-reset:passo;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0;margin:0 0 18px}
.fpassos li{counter-increment:passo;background:var(--fundo);border-radius:12px;padding:12px 14px 12px 46px;position:relative;font-size:.86rem;color:#33443D;line-height:1.4}
.fpassos li::before{content:counter(passo);position:absolute;left:12px;top:11px;width:24px;height:24px;border-radius:50%;background:var(--verde);color:#fff;font-weight:800;font-size:.8rem;display:grid;place-items:center}
.frodape{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.fpreco{font-size:.92rem;color:#33443D;margin-right:auto}
.fpreco b{color:var(--verde-esc)}
.fmods{border-top:1px solid var(--borda);background:#FAFCFB}
.fmods>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 26px;font-weight:800;font-size:1rem;color:var(--verde-esc)}
.fmods>summary::-webkit-details-marker{display:none}
.fmods>summary small{display:block;font-weight:500;color:var(--muted);font-size:.85rem;margin-top:1px}
.fmods>summary::after{content:"";flex:none;width:34px;height:34px;border-radius:50%;background:var(--verde-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155B43' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .2s}
.fmods[open]>summary::after{transform:rotate(180deg)}
.fmods>summary:hover{background:var(--verde-claro)}
.fmods .dentro{padding:4px 26px 26px}
.mods-tit{margin:22px 0 10px;font-size:.95rem}
.mods-tit small{font-weight:500;color:var(--muted);font-size:.86rem}
.mods{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mod{display:grid;grid-template-columns:32px 56px 1fr auto;gap:12px;align-items:center;border:1px solid var(--borda);border-radius:14px;padding:12px 14px;background:#fff}
.mod-num{width:32px;height:32px;border-radius:50%;background:var(--verde);color:#fff;font-weight:800;display:grid;place-items:center;font-size:.86rem}
.mod-img{width:56px;height:56px;object-fit:cover;border-radius:10px;background:#F1EEE6}
.mod-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.mod-eyebrow{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.mod-titulo{font-weight:700;font-size:.93rem;line-height:1.3}
.mod-meta{font-size:.8rem;color:var(--muted);line-height:1.4}
.mod-extra{font-size:.74rem;color:#7A5B00;background:#FFF7E3;border-radius:999px;padding:2px 9px;align-self:flex-start;margin-top:2px}
.mod-link{font-size:.8rem;color:var(--verde);text-decoration:none;font-weight:600}
.mod-link:hover{text-decoration:underline}
.mod-acao{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.mod-preco{color:var(--verde-esc);font-size:.98rem;font-weight:800}
.mod-acao .bt{height:36px;padding:0 14px;font-size:.84rem;border-radius:10px;box-shadow:none}
.mod-esp{grid-template-columns:56px 1fr auto}
.mod-base{border:2px solid var(--verde);background:#F7FBF9;grid-column:1 / -1}
.mod-base .mod-eyebrow{color:var(--verde)}
.mod-pratica{grid-template-columns:32px 1fr auto;border-style:dashed;border-color:#9AB8A8;background:#F7FBF9;grid-column:1 / -1}
.mod-pratica .mod-num{background:#fff;border:2px dashed var(--verde);color:var(--verde)}
.bt[data-acao="adquirido"]{background:#EEF1EF;color:#3D4B45;border:0}
.bt[data-acao="adquirido"]:hover{background:#E2E8E4}

/* ---------------- empresa, busca vazia, legal ---------------- */
.cempresa{background:#fff;border:1px solid var(--verde-borda);border-radius:22px;padding:26px;box-shadow:var(--sombra-1)}
.cempresa .ctit{margin-bottom:18px}
.credito{display:inline-flex;align-items:center;gap:6px;background:var(--verde-claro);border:1px solid var(--verde-borda);color:var(--verde-esc);border-radius:999px;padding:5px 14px;font-size:.84rem;font-weight:800}
.credito.zero{background:#FDECEA;border-color:#F3C2BD;color:#7A1C14}
.cvazio{background:#fff;border:1.5px dashed var(--borda);border-radius:var(--raio);padding:44px 24px;text-align:center;color:var(--muted)}
.cvazio b{display:block;color:var(--texto);font-size:1.15rem;margin-bottom:6px}
.cvazio .ctermos{justify-content:center;color:var(--muted)}
.cvazio .ctermos a{color:var(--verde);background:var(--verde-claro);border-color:var(--verde-borda)}
.cvazio .bt{margin-top:22px}
.cajuda{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:24px 26px;border-radius:var(--raio);background:#fff;border:1px solid var(--borda)}
.cajuda b{display:block;font-size:1.05rem}
.cajuda span{color:var(--muted);font-size:.93rem}
.cajuda .ctas{display:flex;gap:10px;flex-wrap:wrap}
.clegal{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);margin-top:22px}
.clegal>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;font-weight:700}
.clegal>summary::-webkit-details-marker{display:none}
.clegal>summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--verde-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155B43' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s}
.clegal[open]>summary::after{transform:rotate(45deg)}
.clegal .dentro{padding:0 24px 22px;color:var(--muted);font-size:.93rem;line-height:1.65}
.clegal ul{margin:10px 0 0;padding-left:20px}
.clegal li{margin-bottom:8px}
.clegal a{color:var(--verde);font-weight:700}
.clegal strong{color:var(--texto)}

/* ---------------- responsivo ---------------- */
/* PÁGINA DA NORMA (01/10/2026). Grupo com 1 ou 2 cursos: cartão largo, com a capa ao lado e os temas do curso.
   Um cartão estreito sozinho numa grade de 4 colunas deixava três quartos da linha vazios e não dizia o que o curso traz. */
.cat .cursos.poucos{grid-template-columns:repeat(2,minmax(0,1fr))}
.cat .cursos.poucos.n1{grid-template-columns:minmax(0,780px)}
.cat .cursos.poucos>.curso{display:grid;grid-template-columns:210px minmax(0,1fr)}
.cat .cursos.poucos>.curso .capa{aspect-ratio:auto;height:100%;min-height:210px}
.cat .cursos.poucos>.curso .corpo{padding:20px 22px}
.cat .cursos.poucos>.curso h3{font-size:1.14rem}
.cat .curso .topicos{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:5px;font-size:.87rem;line-height:1.38;color:var(--muted)}
.cat .curso .topicos li{position:relative;padding-left:18px}
.cat .curso .topicos li::before{content:"";position:absolute;left:1px;top:.48em;width:7px;height:7px;border-radius:50%;background:var(--verde-claro);border:1.5px solid var(--verde)}
.cat .curso .topicos li.mais{color:var(--verde);font-weight:700}
.cat .curso .topicos li.mais::before{display:none}
/* Atalhos para as seções da norma. */
.nesta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 26px}
.nesta span{font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--suave);margin-right:4px}
.nesta a{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;background:#fff;border:1.5px solid var(--borda);
    font-weight:700;font-size:.9rem;color:inherit;text-decoration:none;transition:border-color .15s,color .15s}
.nesta a small{font-weight:800;font-size:.78rem;color:var(--verde);background:var(--verde-claro);border-radius:999px;padding:1px 8px}
.nesta a:hover{border-color:var(--verde);color:var(--verde)}
.nesta a:focus-visible{outline:3px solid var(--laranja);outline-offset:2px}

@media (max-width:1100px){
    .cat .cursos{grid-template-columns:repeat(3,1fr)}
    .cat .cursos.poucos{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cat .cursos.poucos>.curso{grid-template-columns:170px minmax(0,1fr)}
    .normas{grid-template-columns:repeat(3,1fr)}
    .setores{grid-template-columns:repeat(4,1fr)}
    .mods{grid-template-columns:1fr}
}
@media (max-width:860px){
    .normas{grid-template-columns:repeat(2,1fr)}
    .setores{grid-template-columns:repeat(3,1fr)}
    .objetivos{grid-template-columns:1fr}
    .fhead{grid-template-columns:150px 1fr;gap:18px;padding:20px}
    .fimg{width:150px;height:150px}
    .fpassos{grid-template-columns:1fr}
}
@media (max-width:860px){
    .cat .cursos.poucos,.cat .cursos.poucos.n1{grid-template-columns:1fr}
    .cat .cursos.poucos>.curso{grid-template-columns:200px minmax(0,1fr)}
}
@media (max-width:760px){
    .cat .cursos{grid-template-columns:1fr 1fr;gap:14px}
    .cat .cursos.poucos,.cat .cursos.poucos.n1{grid-template-columns:1fr}
    .cbloco{padding-top:44px}
    .cfim{padding:48px 0 64px}
}
@media (max-width:560px){
    .abas,.js .abas{top:62px}
    .cat [id]{scroll-margin-top:124px}
    .chero{margin-top:-64px;padding:92px 0 32px}
    .chero.hub{padding:104px 0 52px}
    .chero .lead{font-size:1rem;margin-bottom:20px}
    .cbusca form{padding:5px 5px 5px 14px;border-radius:14px}
    .cbusca input{font-size:1rem;height:44px}
    .cbusca .bt{height:44px;padding:0 14px}
    .cbusca .bt span{display:none}
    .cbusca .bt .ico{display:block;color:#1D1206;width:20px;height:20px;stroke-width:2.4}
    .cprova{gap:8px 18px;font-size:.86rem}
    .normas{gap:10px}
    .norma{padding:16px 14px 14px}
    .norma .ic{display:none}
    .norma .num b{font-size:1.9rem}
    .norma h3{font-size:.98rem;margin-top:8px}
    .norma p{display:none}
    .norma .qt{padding-top:8px;font-size:.78rem}
    .setores{grid-template-columns:1fr 1fr;gap:10px}
    .setor{padding:14px}
    .setor span{display:none}
    .setor .ic{width:36px;height:36px;margin-bottom:8px}
    .setor b{font-size:.92rem}
    .objetivo{padding:16px}
    .cat .cursos{grid-template-columns:1fr;gap:12px}
    /* No celular o cartão já é uma linha com a capa pequena: o largo volta a ser igual aos outros, com até 3 temas. */
    .cat .cursos.poucos>.curso{grid-template-columns:104px minmax(0,1fr)}
    .cat .cursos.poucos>.curso .capa{min-height:0}
    .cat .cursos.poucos>.curso .corpo{padding:14px}
    .cat .cursos.poucos>.curso h3{font-size:.98rem}
    .cat .curso .topicos{font-size:.8rem;margin-bottom:12px;gap:3px}
    .cat .curso .topicos li:nth-child(n+4):not(.mais){display:none}
    .nesta{margin-bottom:20px}
    .nesta span{flex-basis:100%}
    .nesta a{height:36px;padding:0 12px;font-size:.86rem}
    .cat .curso .carga{margin-bottom:10px;font-size:.8rem}
    .cat .curso .tipo{font-size:.68rem;margin-bottom:7px}
    .cat .curso .pe .bt{height:38px;padding:0 14px;font-size:.86rem}
    .cat .curso .preco{font-size:1.02rem}
    .fpainel{border-radius:18px}
    .fhead{grid-template-columns:1fr;padding:16px}
    .fimg{width:100%;height:150px}
    .ftitulo{font-size:1.25rem}
    .fmods>summary{padding:16px}
    .fmods .dentro{padding:0 12px 16px}
    .mod,.mod-pratica{grid-template-columns:30px 1fr;grid-template-areas:"n i" "n a";padding:12px}
    .mod-img{display:none}
    .mod-num{grid-area:n;align-self:start;width:30px;height:30px}
    .mod-info{grid-area:i}
    .mod-acao{grid-area:a;flex-direction:row;align-items:center;justify-content:space-between;text-align:left}
    .mod-esp{grid-template-columns:1fr;grid-template-areas:"i" "a"}
    .guia a{padding:14px 16px}
    .guia .fato{display:none}
    .cat .formacao{grid-template-columns:84px 1fr;gap:14px;padding:16px;align-items:center}
    .cat .formacao img{width:84px;height:84px;border-radius:12px}
    .cat .formacao h3{font-size:1.05rem}
    .cat .formacao .fatos{margin-bottom:8px}
    .fnome{display:none}
    .guia-cab{padding:16px}
    .cempresa{padding:18px 16px}
    .cajuda{padding:20px 18px}
    .cajuda .ctas,.cajuda .ctas .bt{width:100%}
}
@media (hover:none){
    .cat .curso:hover,.norma:hover,.setor:hover,.objetivo:hover{transform:none}
}
