/* Modais editoriais das seis temáticas. Ícones SVG locais, sem biblioteca externa. */
.tema-detalhes{display:block;width:100%;min-height:46px;padding:12px 16px;margin:12px 0 8px;border:1px solid var(--primary);border-radius:12px;background:var(--primary);color:#fff;font:inherit;font-weight:600;text-align:left;cursor:pointer}
.tema-detalhes:hover{background:var(--primary-dark)}
.frente-modal-aberto{overflow:hidden}
.frente-dialog{box-sizing:border-box;width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #c8cebd;border-radius:24px;background:#fcfbf7;color:#2c2c2c;box-shadow:0 28px 90px #12251b55}
.frente-dialog::backdrop{background:#14251cd9;backdrop-filter:blur(4px)}
.frente-dialog[open]{display:flex;flex-direction:column}
.frente-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-bottom:1px solid #d9dfcf;background:#fcfbf7;flex-shrink:0}
.frente-topo>span{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#526149}
.frente-fechar{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 14px;border:1px solid #8d9a82;border-radius:12px;background:white;color:#35482f;font:inherit;font-weight:600;cursor:pointer;flex-shrink:0}
.frente-fechar span{font-size:1.5rem;line-height:1}
.frente-corpo{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 32px 28px}
.frente-corpo section{padding:0;margin:28px 0 0}
.frente-cabecalho{margin:0 -32px;padding:32px;background:linear-gradient(120deg,#e5eadb,#f2eee1);position:relative}
.frente-cabecalho{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}
.frente-foto{margin:0;min-width:0}
.frente-foto img{display:block;width:100%;height:280px;object-fit:cover;border-radius:18px}
.frente-foto figcaption{margin-top:10px;font-size:.78rem;line-height:1.5;color:#526149}
.frente-icone{width:32px;height:32px;flex:0 0 32px;color:#526746}
.frente-icone-principal{display:block;width:80px;height:80px;margin-bottom:20px;padding:16px;border:1px solid #c3cdb8;border-radius:24px;background:#fcfbf7;color:#415a32}
.frente-chip{display:inline-block;padding:5px 10px;border-radius:8px;background:#fdfcf7;color:#435b36;font-size:.8rem;font-weight:600}
.frente-dialog h2{font-size:clamp(2rem,4vw,2.7rem);line-height:1.12;margin:16px 0;color:#293c23;max-width:750px}
.frente-dialog h3{font-size:1.2rem;margin:0 0 16px;color:#34482c}
.frente-dialog h4{font-size:1rem;line-height:1.4;margin:0 0 8px}
.frente-dialog p{line-height:1.7;margin:8px 0 0}
.frente-dialog .frente-subtitulo{font-family:Georgia,serif;font-size:1.3rem;line-height:1.4;color:#405135}
.frente-intro{padding-left:20px!important;border-left:3px solid #8e9f76}
.frente-formatos,.frente-publicos,.frente-passos,.frente-blocos,.frente-necessidades{list-style:none;padding:0;margin:0}
.frente-formatos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.frente-formatos li{display:flex;align-items:center;gap:10px;border:1px solid #d7ddcd;padding:16px;border-radius:14px;background:white;line-height:1.5;font-size:.95rem}
.frente-blocos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.frente-bloco{border:1px solid #d7ddcd;border-radius:16px;padding:20px;background:white;min-width:0}
.frente-blocos .frente-icone{display:block;width:40px;height:40px;margin-bottom:16px}
.frente-bloco p{font-size:.93rem;color:#515d4b}
.frente-publicos{display:flex;flex-wrap:wrap;gap:10px}
.frente-publicos li{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#e9eedf;line-height:1.4;font-size:.93rem}
.frente-publicos .frente-icone{width:22px;height:22px;flex-basis:22px}
.frente-necessidades{display:grid;gap:10px}
.frente-necessidades .frente-bloco{display:flex;align-items:center;gap:16px;padding:14px 16px}
.frente-necessidades h4{margin:0;font-size:.95rem;font-weight:500}
.frente-passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:passo}
.frente-passos li{display:flex;flex-direction:column;gap:12px;padding:18px 14px;background:#eef0e7;border-radius:14px;line-height:1.5;font-size:.93rem;position:relative}
.frente-numero{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:24px;height:24px;border:1px solid #a9b69a;border-radius:50%;font-size:.8rem;color:#435838}
.frente-dialog .frente-nota{font-size:.87rem;color:#58624f;margin-top:14px}
.frente-andamento{padding:20px!important;background:#e9eedf;border-radius:16px}
.frente-status{display:inline-block;padding:8px 12px;background:white;border-radius:10px;color:#405335;font-size:.93rem}
.frente-situacao time{display:block;font-size:.85rem;margin-top:12px;color:#43523a}
.frente-rodape{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;background:#fcfbf7;border-top:1px solid #d5ddca;flex-shrink:0}
.frente-rodape p{font-size:.85rem;max-width:420px;margin:0;color:#525f49}
.frente-rodape .btn-primary{flex-shrink:0;font-size:.93rem;text-align:center;padding:14px 20px;min-height:48px}
@media(max-width:700px){.frente-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px);border-radius:18px}.frente-topo{padding:10px 14px}.frente-topo>span{font-size:.68rem;letter-spacing:.03em}.frente-corpo{padding:0 18px 22px}.frente-cabecalho{margin:0 -18px;padding:24px 18px}.frente-blocos,.frente-formatos{grid-template-columns:1fr}.frente-blocos .frente-bloco{display:flex;align-items:flex-start;gap:16px}.frente-blocos .frente-icone{flex-basis:36px;margin:0;width:36px;height:36px}.frente-passos{grid-template-columns:repeat(2,minmax(0,1fr))}.frente-rodape{flex-direction:column;align-items:stretch;gap:12px;padding:14px 18px}.frente-rodape p{max-width:none}.frente-publicos li{border-radius:14px}.frente-icone-principal{width:64px;height:64px;padding:12px}}
@media(forced-colors:active){.frente-dialog,.frente-bloco,.frente-status,.frente-chip,.frente-passos li{border:1px solid CanvasText}}
@media(max-width:700px){.frente-cabecalho{grid-template-columns:1fr;gap:20px}.frente-foto img{height:auto;aspect-ratio:16/9;max-height:260px}}
