/* ══════════════════════════════════════════════════════════════════════════
   GLOSSÁRIO · /glossario/ e /glossario/<termo>  (outubro de 2026)

   Gerado por scripts/glossario/gerar.py a partir de termos.json. Usa o
   vocabulário do landing.css e do zonas.css (x-in, x-k, zh, zx, xz, xrod) e
   acrescenta aqui só o que é do glossário: a definição em destaque, o corpo
   do termo com a coluna lateral, o filtro e as listas por tema e de A a Z.
   ══════════════════════════════════════════════════════════════════════════ */

.zn-glossario .zt-nav a[href*="glossario"]{color:var(--x-lima)}
.gl-it[hidden],.gl-grp[hidden],.gl-busca[hidden],.gl-vazio[hidden]{display:none !important}
:where(.gl-corpo,.gl-temas,.gl-az,.gl-h,.gl-hi) :is(ul,ol){list-style:none; margin:0; padding:0}
:where(.gl-corpo,.gl-temas) :is(p,li) b{color:inherit}
.gl-art h2,.gl-az-l,.gl-tema{scroll-margin-top:92px}

/* ── hero do termo ───────────────────────────────────────────────────── */
.gl-h{padding-bottom:clamp(56px,7vw,104px)}
.gl-h .x-k a{color:inherit; text-decoration:none; border-bottom:1px solid rgba(242,242,238,.3)}
.gl-h .x-k a:hover{color:var(--x-lima); border-color:var(--x-lima)}
.gl-sep{opacity:.5}
.gl-t{max-width:16ch; font-size:clamp(42px,6.2vw,104px); overflow-wrap:break-word; hyphens:auto}
.gl-t em{margin-top:.28em; font-size:max(.42em,22px); letter-spacing:-.035em; line-height:1.05; max-width:24ch}
.gl-def{position:relative; margin-top:clamp(26px,3vw,44px); max-width:62ch; padding:4px 0 4px clamp(18px,2vw,26px);
  border-left:3px solid var(--x-lima)}
.gl-def-k{font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(242,242,238,.6)}
.gl-def-p{margin-top:10px; font-size:clamp(19px,1.75vw,25px); line-height:1.42; letter-spacing:-.012em; color:var(--x-osso)}
.gl-h .zh-ctas{margin-top:clamp(28px,3vw,40px)}

/* ── corpo do termo ──────────────────────────────────────────────────── */
.gl-corpo{background:var(--x-osso); color:var(--x-preto); padding:clamp(56px,7vw,112px) 0 clamp(48px,6vw,88px)}
.gl-g{display:grid; gap:clamp(40px,5vw,72px)}
@media(min-width:1000px){ .gl-g{grid-template-columns:minmax(0,1fr) minmax(300px,380px); align-items:start} }

.gl-art{max-width:68ch}
.gl-art h2{color:var(--x-preto); font-size:clamp(25px,2.5vw,36px); font-weight:500; letter-spacing:-.035em; line-height:1.08;
  margin:clamp(40px,4.4vw,60px) 0 16px}
.gl-art h2:first-child{margin-top:0}
.gl-art p{font-size:17px; line-height:1.66; color:rgba(11,11,10,.82)}
.gl-art p + p,.gl-art div > p + p{margin-top:14px}
.gl-art a{color:var(--x-preto); text-decoration:underline; text-decoration-color:var(--x-lima-2);
  text-decoration-thickness:2px; text-underline-offset:3px}
.gl-art a:hover{background:var(--x-lima); text-decoration-color:var(--x-preto)}

.gl-neg{display:inline-flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin-bottom:14px;
  padding:10px 18px 10px 14px; border-radius:999px; border:1.5px solid var(--x-preto); font-size:14px !important; line-height:1.3 !important}
.gl-neg b{display:inline-flex; align-items:center; gap:10px; font-weight:600; color:var(--x-preto)}
.gl-neg b::before{content:""; width:12px; height:12px; border-radius:50%; border:2px solid var(--x-preto); flex:none}
.gl-neg span{color:rgba(11,11,10,.66)}
.gl-neg-sim{background:var(--x-lima); border-color:var(--x-lima)}
.gl-neg-sim b::before{background:var(--x-preto)}
.gl-neg-parte b::before{background:linear-gradient(90deg,var(--x-preto) 50%,transparent 50%)}
.gl-neg-info{border-color:rgba(11,11,10,.3)}
.gl-neg-info b::before{border-style:dashed}

.gl-ex{padding:clamp(20px,2.4vw,30px); border-radius:22px; background:var(--x-papel); border:1px solid var(--x-linha-c)}
.gl-ex-k{font-size:11px !important; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(11,11,10,.55) !important; margin-bottom:10px}

.gl-fontes li{border-top:1px solid var(--x-linha-c)}
.gl-fontes li:last-child{border-bottom:1px solid var(--x-linha-c)}
.gl-art .gl-fontes a{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; padding:10px 0;
  font-size:15.5px; line-height:1.4; text-decoration:none; color:var(--x-preto)}
.gl-art .gl-fontes a:hover{background:none; color:var(--x-lima-2)}
.gl-fontes svg{width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round}

/* coluna lateral */
.gl-lado{display:grid; gap:14px}
@media(min-width:1000px){ .gl-lado{position:sticky; top:92px} }
.gl-cx{padding:22px; border-radius:22px; background:var(--x-papel); border:1px solid var(--x-linha-c)}
.gl-cx-t{color:var(--x-preto); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; line-height:1.3; margin-bottom:14px}
.gl-guia{display:grid; gap:8px}
.gl-guia a{display:grid; grid-template-columns:1fr auto; gap:4px 14px; align-items:center; min-height:44px; padding:14px 16px;
  border-radius:16px; background:var(--x-osso); color:var(--x-preto); text-decoration:none; transition:background-color .2s}
.gl-guia a:hover{background:var(--x-lima)}
.gl-guia .gl-cx-k{grid-column:1; font-size:11.5px; color:rgba(11,11,10,.55)}
.gl-guia b{grid-column:1; font-size:15.5px; font-weight:500; line-height:1.3; letter-spacing:-.01em}
.gl-guia i{grid-column:2; grid-row:1 / span 2; font-style:normal; font-size:20px}
.gl-guia li:only-child a .gl-cx-k + b{margin-top:0}
.gl-pills{display:flex; flex-wrap:wrap; gap:8px}
.gl-pills a{display:inline-flex; align-items:center; min-height:44px; padding:0 16px; border-radius:999px;
  border:1.5px solid rgba(11,11,10,.22); color:var(--x-preto); font-size:14.5px; font-weight:500; text-decoration:none;
  transition:background-color .2s, border-color .2s}
.gl-pills a:hover{background:var(--x-lima); border-color:var(--x-lima)}
.gl-cx-cta{background:var(--x-preto); border-color:var(--x-preto); color:var(--x-osso)}
.gl-cx-cta-t{font-size:21px; font-weight:500; letter-spacing:-.025em; line-height:1.18; color:var(--x-osso)}
.gl-cx-cta-s{margin-top:10px; font-size:14.5px; line-height:1.5; color:rgba(242,242,238,.7)}
.gl-btn{display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:52px; margin-top:18px; padding:0 22px;
  border-radius:999px; background:var(--x-lima); color:var(--x-preto); font-size:15px; font-weight:600; text-decoration:none;
  transition:background-color .2s, transform .25s var(--x-ease)}
.gl-btn:hover{background:#DCF76E; transform:translateY(-2px)}

/* anterior · todos · seguinte */
.gl-nav{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:clamp(48px,6vw,88px)}
.gl-nav a{display:flex; flex-direction:column; justify-content:center; gap:4px; min-height:76px; padding:14px 20px; border-radius:18px;
  border:1px solid var(--x-linha-c); background:var(--x-papel); color:var(--x-preto); text-decoration:none; transition:border-color .2s, transform .25s var(--x-ease)}
.gl-nav a:hover{border-color:var(--x-preto); transform:translateY(-2px)}
.gl-nav span{font-size:12px; color:rgba(11,11,10,.55)}
.gl-nav b{font-size:18px; font-weight:500; letter-spacing:-.02em; color:var(--x-preto)}
.gl-nav-s{text-align:right; align-items:flex-end}
.gl-nav-i{grid-column:1 / -1; grid-row:2; align-items:center; min-height:52px !important; font-weight:600; font-size:15px}
@media(min-width:760px){
  .gl-nav{grid-template-columns:1fr auto 1fr}
  .gl-nav-i{grid-column:2; grid-row:1; padding:0 28px !important}
}

/* ── índice: filtro e letras ─────────────────────────────────────────── */
.gl-hi{padding-bottom:clamp(48px,6vw,88px)}
.gl-busca{margin-top:clamp(28px,3vw,44px); max-width:640px}
.gl-busca label{display:block; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(242,242,238,.6)}
.gl-busca-c{display:flex; align-items:center; gap:12px; margin-top:12px; padding:0 22px; min-height:60px; border-radius:999px;
  border:1.5px solid rgba(242,242,238,.35); transition:border-color .2s}
.gl-busca-c:focus-within{border-color:var(--x-lima)}
.gl-busca-c svg{width:22px; height:22px; flex:none; fill:none; stroke:var(--x-lima); stroke-width:2; stroke-linecap:round}
.gl-busca input{flex:1; min-width:0; min-height:56px; border:0; outline:0; background:transparent; color:var(--x-osso);
  font:inherit; font-size:18px; letter-spacing:-.01em}
.gl-busca input::placeholder{color:rgba(242,242,238,.45)}
.gl-busca input::-webkit-search-cancel-button{filter:invert(1)}
.gl-busca-n{min-height:20px; margin-top:10px; font-size:13.5px; color:var(--x-lima)}
.gl-letras ul{display:flex; flex-wrap:wrap; gap:8px; margin-top:clamp(20px,2.4vw,32px)}
.gl-letras a{display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border-radius:999px;
  border:1.5px solid rgba(242,242,238,.25); color:var(--x-osso); font-weight:600; font-size:15px; text-decoration:none;
  transition:background-color .2s, color .2s, border-color .2s}
.gl-letras a:hover{background:var(--x-lima); border-color:var(--x-lima); color:var(--x-preto)}

/* ── índice: por tema ────────────────────────────────────────────────── */
.gl-temas{background:var(--x-osso); color:var(--x-preto); padding:clamp(64px,8vw,128px) 0}
.gl-sec-t{color:inherit; font-size:clamp(34px,4.4vw,72px); font-weight:500; letter-spacing:-.05em; line-height:1}
.gl-tema{display:grid; gap:20px clamp(32px,4vw,64px); margin-top:clamp(44px,5vw,72px); padding-top:clamp(28px,3vw,40px);
  border-top:1px solid var(--x-linha-c)}
@media(min-width:1000px){ .gl-tema{grid-template-columns:minmax(0,3fr) minmax(0,8fr)} }
.gl-tema-cab h3{color:var(--x-preto); font-size:clamp(24px,2.3vw,32px); font-weight:500; letter-spacing:-.035em}
.gl-tema-cab p{margin-top:10px; max-width:40ch; font-size:15px; line-height:1.55; color:rgba(11,11,10,.66)}
.gl-cards{display:grid; gap:10px; grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.gl-cards a{display:grid; grid-template-columns:1fr auto; gap:4px 14px; height:100%; box-sizing:border-box; padding:20px 22px;
  border-radius:18px; background:var(--x-papel); border:1px solid var(--x-linha-c); color:var(--x-preto); text-decoration:none;
  transition:transform .25s var(--x-ease), border-color .2s}
.gl-cards a:hover{transform:translateY(-3px); border-color:var(--x-preto)}
.gl-cards b{grid-column:1; font-size:21px; font-weight:500; letter-spacing:-.03em; line-height:1.15}
.gl-sig{grid-column:1; font-size:13px; font-weight:500; color:rgba(11,11,10,.6)}
.gl-cd{grid-column:1; margin-top:8px; font-size:14.5px; line-height:1.5; color:rgba(11,11,10,.72)}
.gl-cards i{grid-column:2; grid-row:1; font-style:normal; font-size:20px}
.gl-vazio{margin-top:40px; font-size:17px; color:rgba(11,11,10,.75)}
.gl-vazio a{color:var(--x-preto); text-decoration-color:var(--x-lima-2); text-decoration-thickness:2px}

/* ── índice: de A a Z ────────────────────────────────────────────────── */
.gl-az{background:var(--x-preto); color:var(--x-osso); padding:clamp(64px,8vw,128px) 0}
.gl-az-g{display:grid; gap:28px 24px; margin-top:clamp(36px,4vw,56px); grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.gl-az-l{padding-top:16px; border-top:1px solid var(--x-linha-e)}
.gl-az-l h3{color:var(--x-lima); font-size:40px; font-weight:500; letter-spacing:-.04em; line-height:1; margin-bottom:8px}
.gl-az-l a{display:flex; align-items:center; min-height:44px; color:rgba(242,242,238,.86); font-size:16px; line-height:1.3; text-decoration:none}
.gl-az-l a:hover{color:var(--x-lima)}

@media (prefers-reduced-motion:reduce){
  .gl-cards a,.gl-nav a,.gl-btn,.gl-guia a{transition:none}
  .gl-cards a:hover,.gl-nav a:hover,.gl-btn:hover{transform:none}
}
