/* ==========================================================================
   Portal da Transparência do SAAE: layout, abertura, cartões e consultas externas.
   Tokens vêm do tema (--saae-*); os valores depois da vírgula são o padrão se o tema não os definir.
   ========================================================================== */
.saae-portal-block {
	--tp-green: var(--saae-green, #007030);
	--tp-deep: var(--saae-green-900, #083820);
	--tp-darker: var(--saae-green-950, #052d19);
	--tp-ink: var(--saae-ink, #15301f);
	--tp-muted: var(--saae-muted, #4b6253);
	--tp-line: var(--saae-line, #d6e6da);
	--tp-paper: var(--saae-paper, #f2f8f3);
	--tp-leaf: var(--saae-green-500, #128040);
	--tp-mint: var(--saae-mint, #8bcf9b);
	--tp-mint-bg: var(--saae-mint-100, #e3f3e8);
	--tp-drop: var(--saae-drop, 30px 30px 30px 8px);
	--tp-font: var(--saae-font-display, "Montserrat", "Segoe UI", system-ui, sans-serif);
	margin-block: 1.5rem 2.5rem;
	color: var(--tp-ink);
}
.saae-portal-block *, .saae-portal-block *::before, .saae-portal-block *::after { box-sizing: border-box; }
.saae-portal-intro { max-width: 52rem; margin: 0 0 1.6rem; color: var(--tp-muted); font-size: 1.08rem; line-height: 1.7; }

/* ---------- layout: menu lateral + conteúdo ---------- */
.saae-transparency-layout { display: grid; grid-template-columns: minmax(235px, 285px) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 2.2rem); align-items: start; }
.saae-transparency-content { min-width: 0; }

.saae-transparency-sidebar { position: sticky; top: 1rem; display: grid; gap: .8rem; }
.saae-side-search { display: flex; border: 1px solid var(--tp-line); border-radius: 999px; background: #fff; overflow: hidden; box-shadow: 0 4px 14px rgba(8, 56, 32, .06); }
.saae-side-search input { flex: 1; min-width: 0; padding: .72rem 1rem; border: 0; background: transparent; font: inherit; font-size: .95rem; color: var(--tp-ink); }
.saae-side-search input:focus { outline: none; }
.saae-side-search:focus-within { border-color: var(--tp-green); box-shadow: 0 0 0 3px rgba(0, 112, 48, .18); }
.saae-side-search button { display: grid; place-items: center; width: 2.9rem; border: 0; background: var(--tp-green); color: #fff; cursor: pointer; }
.saae-side-search button:hover { background: var(--tp-deep); }

.saae-transparency-sidebar details { border: 1px solid var(--tp-line); border-radius: 20px; background: #fff; overflow: hidden; box-shadow: 0 10px 30px rgba(8, 56, 32, .07); }
.saae-transparency-sidebar summary { display: flex; align-items: center; gap: .85rem; padding: 1.05rem 1.15rem; background: linear-gradient(135deg, var(--tp-darker), var(--tp-deep) 70%, #0a6f3a); color: #fff; cursor: pointer; list-style: none; }
.saae-transparency-sidebar summary::-webkit-details-marker { display: none; }
.saae-transparency-sidebar summary::after { content: ""; margin-left: auto; width: .6rem; height: .6rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.saae-transparency-sidebar details[open] summary::after { transform: rotate(-135deg); }
.saae-side-badge { display: grid; place-items: center; flex: none; width: 2.6rem; height: 2.6rem; border-radius: 14px 14px 14px 5px; background: rgba(255, 255, 255, .14); color: var(--tp-mint); }
.saae-side-heading { display: grid; line-height: 1.15; }
.saae-side-heading small { font-size: .74rem; letter-spacing: .09em; text-transform: uppercase; opacity: .82; }
.saae-side-heading strong { font-family: var(--tp-font); font-size: 1.22rem; font-weight: 800; }
.saae-transparency-sidebar nav ul { margin: 0; padding: .55rem; list-style: none; display: grid; gap: .15rem; }
.saae-transparency-sidebar nav a { display: flex; align-items: center; gap: .7rem; padding: .66rem .8rem; border-radius: 12px; color: var(--tp-ink); font-size: .95rem; font-weight: 600; line-height: 1.25; text-decoration: none; transition: background .15s, color .15s; }
.saae-transparency-sidebar nav a svg { flex: none; color: var(--tp-green); }
.saae-transparency-sidebar nav a span:first-of-type { flex: 1; }
.saae-transparency-sidebar nav a:hover { background: var(--tp-paper); color: var(--tp-deep); }
.saae-transparency-sidebar nav a[aria-current="page"] { background: var(--tp-green); color: #fff; box-shadow: 0 6px 16px rgba(0, 112, 48, .28); }
.saae-transparency-sidebar nav a[aria-current="page"] svg { color: var(--tp-mint); }
.saae-transparency-sidebar nav li.is-external { margin-top: .35rem; padding-top: .35rem; border-top: 1px dashed var(--tp-line); }
.saae-transparency-sidebar nav li.is-external a svg:last-of-type { color: var(--tp-leaf); }
.saae-transparency-sidebar a:focus-visible, .saae-transparency-sidebar summary:focus-visible { outline: 3px solid var(--tp-leaf); outline-offset: 2px; }

/* ---------- abertura ---------- */
.saae-tp-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.6rem; align-items: center; margin: 0 0 2rem; padding: clamp(1.5rem, 3.4vw, 2.5rem); border-radius: var(--tp-drop); background: radial-gradient(120% 140% at 100% 0, rgba(60, 170, 100, .32), transparent 55%), linear-gradient(135deg, var(--tp-darker), var(--tp-deep) 55%, #0a6f3a); color: #fff; isolation: isolate; }
.saae-tp-hero::after { content: ""; position: absolute; z-index: -1; right: -3.5rem; bottom: -4.5rem; width: 15rem; height: 15rem; border-radius: 50% 0 50% 50%; transform: rotate(-45deg); background: linear-gradient(160deg, rgba(139, 207, 155, .3), rgba(139, 207, 155, .05)); }
.saae-tp-kicker { margin: 0 0 .6rem; color: var(--tp-mint); font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.saae-tp-lead { margin: 0 0 1.3rem; max-width: 36rem; font-size: clamp(1.02rem, 1.7vw, 1.2rem); line-height: 1.65; color: #eaf6ee; }
.saae-tp-cta { display: inline-flex; align-items: center; gap: .6rem; padding: .82rem 1.3rem; border-radius: 999px; background: var(--tp-mint); color: var(--tp-darker); font-weight: 800; text-decoration: none; box-shadow: 0 10px 24px rgba(0, 0, 0, .22); transition: transform .15s, background .15s; }
.saae-tp-cta:hover, .saae-tp-cta:focus-visible { background: #fff; transform: translateY(-2px); }
.saae-tp-stats { container-type: inline-size; display: grid; grid-template-columns: repeat(auto-fit, minmax(max(9.5rem, calc(50% - .4rem)), 1fr)); gap: .65rem; margin: 0; align-content: center; }
.saae-tp-stats > div { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: .35rem; padding: .9rem 1.05rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: 18px 18px 18px 6px; background: rgba(255, 255, 255, .09); }
.saae-tp-stats > .is-date, .saae-tp-stats > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.saae-tp-stats dt { margin: 0; color: var(--tp-mint); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; text-wrap: balance; }
.saae-tp-stats dd { margin: 0; font-family: var(--tp-font); font-size: 1.25rem; font-size: clamp(1.05rem, 5.6cqw, 1.6rem); font-weight: 800; line-height: 1.15; white-space: nowrap; }
.saae-tp-stats > .is-date dd { font-size: clamp(1.05rem, 8cqw, 1.6rem); }
@container (max-width: 19.6rem) { .saae-tp-stats dd { font-size: clamp(1.25rem, 8cqw, 1.6rem); } }
.saae-tp-stats dd small { margin-left: .15rem; color: #dcefe2; font-family: var(--saae-font-body, inherit); font-size: .82rem; font-weight: 700; letter-spacing: .02em; }

/* ---------- cartões de assunto ---------- */
.saae-transparency-topics { margin: 0 0 2rem; }
.saae-transparency-topics > h2, .saae-transparency-resource-section > h2 { margin: 0 0 1rem; color: var(--tp-ink); font-family: var(--tp-font); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 800; line-height: 1.2; }
.saae-transparency-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.saae-transparency-topic { display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid var(--tp-line); border-radius: 20px 20px 20px 6px; background: #fff; box-shadow: 0 6px 20px rgba(8, 56, 32, .06); transition: transform .18s, box-shadow .18s, border-color .18s; }
.saae-transparency-topic:hover { transform: translateY(-3px); border-color: #b7d9c1; box-shadow: 0 16px 34px rgba(8, 56, 32, .13); }
.saae-transparency-topic-icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: .9rem; border-radius: 14px 14px 14px 5px; background: var(--tp-mint-bg); color: var(--tp-leaf); }
.saae-transparency-topic h3 { margin: 0 0 .4rem; font-family: var(--tp-font); font-size: 1.12rem; font-weight: 800; line-height: 1.25; }
.saae-transparency-topic h3 a { color: var(--tp-ink); text-decoration: none; }
.saae-transparency-topic h3 a:hover { color: var(--tp-green); }
.saae-transparency-topic p { margin: 0 0 1.1rem; color: var(--tp-muted); font-size: .95rem; line-height: 1.55; }
.saae-tp-link { display: inline-flex; align-items: center; gap: .45rem; align-self: flex-start; margin-top: auto; padding: .5rem .95rem; border-radius: 999px; background: var(--tp-paper); color: var(--tp-deep); font-size: .88rem; font-weight: 800; text-decoration: none; border: 1px solid var(--tp-line); transition: background .15s, color .15s, border-color .15s; }
.saae-tp-link:hover, .saae-tp-link:focus-visible { background: var(--tp-green); border-color: var(--tp-green); color: #fff; }
.saae-tp-link.is-external { background: var(--tp-mint-bg); border-color: #b7d9c1; color: #07582d; }
.saae-tp-link.is-external:hover { background: var(--tp-leaf); border-color: var(--tp-leaf); color: #fff; }

/* ---------- páginas de assunto: lista de consultas ---------- */
.saae-transparency-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.saae-transparency-resource { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .3rem 1rem; align-items: start; padding: 1.15rem; border: 1px solid var(--tp-line); border-radius: 18px 18px 18px 6px; background: #fff; box-shadow: 0 5px 16px rgba(8, 56, 32, .05); transition: transform .18s, box-shadow .18s; }
.saae-transparency-resource:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(8, 56, 32, .11); }
.saae-transparency-resource.is-own { border-color: #b7d9c1; background: linear-gradient(180deg, #fff, #f7fbf8); }
.saae-resource-icon { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 13px 13px 13px 5px; background: var(--tp-paper); color: var(--tp-green); }
.is-own .saae-resource-icon { background: var(--tp-green); color: #fff; }
.saae-resource-chip { display: inline-block; margin-bottom: .35rem; padding: .18rem .6rem; border-radius: 999px; background: #dff3e5; color: var(--tp-deep); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.saae-resource-body h3 { margin: 0 0 .3rem; font-family: var(--tp-font); font-size: 1.05rem; font-weight: 800; line-height: 1.3; }
.saae-resource-body h3 a { color: var(--tp-ink); text-decoration: none; }
.saae-resource-body h3 a:hover { color: var(--tp-green); }
.saae-resource-body p { margin: 0; color: var(--tp-muted); font-size: .92rem; line-height: 1.5; }
.saae-transparency-resource .saae-tp-link { grid-column: 2; margin-top: .7rem; }

/* ---------- "Não encontrou a informação?" ---------- */
.saae-transparency-assistance { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem; margin: 2.2rem 0 0; padding: 1.4rem 1.6rem; border-radius: 22px 22px 22px 7px; background: linear-gradient(135deg, var(--tp-darker), var(--tp-deep)); color: #fff; }
.saae-assist-text { display: flex; align-items: center; gap: 1rem; min-width: 0; flex: 1 1 22rem; }
.saae-assist-icon { display: grid; place-items: center; flex: none; width: 3.2rem; height: 3.2rem; border-radius: 16px 16px 16px 5px; background: rgba(255, 255, 255, .13); color: var(--tp-mint); }
.saae-transparency-assistance h2 { margin: 0 0 .2rem; color: #fff; font-family: var(--tp-font); font-size: 1.25rem; font-weight: 800; }
.saae-transparency-assistance p { margin: 0; color: #dcefe2; font-size: .96rem; line-height: 1.5; }
.saae-transparency-assistance-links { display: flex; flex-wrap: wrap; gap: .6rem; }
.saae-transparency-assistance-links a { display: inline-flex; align-items: center; gap: .5rem; padding: .66rem 1.1rem; border-radius: 999px; background: var(--tp-mint); color: var(--tp-darker); font-size: .9rem; font-weight: 800; text-decoration: none; }
.saae-transparency-assistance-links a.is-light { background: transparent; border: 1.5px solid rgba(255, 255, 255, .55); color: #fff; }
.saae-transparency-assistance-links a:hover, .saae-transparency-assistance-links a:focus-visible { background: #fff; color: var(--tp-darker); }

/* ---------- consulta externa embutida ---------- */
.saae-embed-intro { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-bottom: 1rem; padding: .9rem 1.1rem; border: 1px solid var(--tp-line); border-radius: 16px 16px 16px 5px; background: #fff; }
.saae-embed-intro p { flex: 1 1 18rem; margin: 0; color: var(--tp-muted); font-size: .95rem; line-height: 1.5; }
.saae-embed-chip { padding: .22rem .75rem; border-radius: 999px; background: var(--tp-mint-bg); color: #07582d; font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.saae-embed-frame { min-height: min(var(--saae-embed-h, 900px), 90vh); overflow: hidden; border: 1px solid var(--tp-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(8, 56, 32, .07); }
.saae-embed-frame iframe { display: block; width: 100%; height: var(--saae-embed-h, 900px); max-height: 90vh; border: 0; }
.saae-embed-note { margin: .7rem 0 0; color: var(--tp-muted); font-size: .88rem; }

/* ---------- estado vazio / avisos ---------- */
.saae-doc-empty { padding: 1.4rem 1.5rem; border: 1px dashed #b7d9c1; border-radius: 18px; background: var(--tp-paper); color: var(--tp-ink); }
.saae-doc-empty strong { font-family: var(--tp-font); }
.saae-doc-empty p { margin: .4rem 0 0; color: var(--tp-muted); }

/* ---------- responsivo ---------- */
@media (max-width: 1100px) {
	.saae-transparency-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.saae-transparency-layout { grid-template-columns: 1fr; }
	.saae-transparency-sidebar { position: static; }
	.saae-tp-hero { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.saae-transparency-topic-grid, .saae-transparency-resource-grid { grid-template-columns: 1fr; }
	.saae-transparency-assistance { padding: 1.2rem; }
	.saae-embed-frame iframe { height: min(var(--saae-embed-h, 900px), 78vh); }
}
@media (prefers-reduced-motion: reduce) {
	.saae-portal-block * { transition: none !important; }
}
