/* =========================================================================
   MegaBrain — enhance.css
   Regras que ligam as opções do tema ao front-end (consome as variáveis de
   inc/dynamic-css.php e classes do body adicionadas em functions.php).
   ========================================================================= */

/* ---- Cores do cabeçalho (opção) ---- */
body .mb-header{ background:var(--header-bg); }
body .mb-header__in{ color:var(--header-text); }
body .mb-header .mb-menu > li > a,
body .mb-brand__text,
body .mb-search{ color:var(--header-text); }
body .mb-search:hover{ color:var(--blue); }

/* ---- Raio dos botões (opção) ---- */
body .mb-btn,
body .mb-gov-btn,
body .mb-search{ border-radius:var(--btn-radius); }

/* ---- Peso dos títulos (opção) ---- */
.mb-prose h2, .mb-prose h3, .mb-article__title, .mb-card__title, .mb-page__title, .mb-head__title{ font-weight:var(--hw); }

/* ---- Altura da linha de leitura (opção) ---- */
.mb-prose{ line-height:var(--lh); }

/* ---- Largura do texto da matéria (opção) ---- */
.mb-single .mb-article,
.mb-single .mb-article__tags,
.mb-single .mb-comments{ max-width:var(--content-width); }

/* ---- Sombras desligadas (opção) ---- */
body.mb-noshadow{ --shadow:none; --shadow-lg:none; }

/* ---- Layout em caixa (boxed) ---- */
body.mb-layout-boxed{ background:var(--bg-soft-2); }
.mb-layout-boxed .mb-site{
	max-width:calc(var(--wrap) + 140px); margin:26px auto; background:var(--bg);
	border-radius:20px; overflow:clip; box-shadow:var(--shadow-lg);  /* clip (não hidden) p/ não quebrar position:sticky */
}
@media(max-width:1100px){ .mb-layout-boxed .mb-site{ margin:0; border-radius:0; } }

/* ---- Logo centralizado (opção) ---- */
.mb-head-center .mb-header__in{ flex-wrap:wrap; justify-content:center; text-align:center; height:auto; padding:14px 0; gap:10px 24px; }
.mb-head-center .mb-brand{ flex:1 0 100%; display:flex; justify-content:center; }
.mb-head-center .mb-nav{ flex:1 0 100%; display:flex; justify-content:center; }
.mb-head-center .mb-search{ position:absolute; right:0; top:16px; }

/* ---- Colunas de cards (home/arquivo) ---- */
body.mb-cols-2 .mb-grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
body.mb-cols-4 .mb-grid--3{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:900px){ body.mb-cols-4 .mb-grid--3, body.mb-cols-3 .mb-grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px){ body[class*="mb-cols-"] .mb-grid--3{ grid-template-columns:1fr; } }

/* Override garantido por variável inline na própria grade (--mb-cols) */
.mb-grid[style*="--mb-cols"]{ grid-template-columns:repeat(var(--mb-cols,3),minmax(0,1fr)); }
@media(max-width:900px){ .mb-grid[style*="--mb-cols"]{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px){ .mb-grid[style*="--mb-cols"]{ grid-template-columns:1fr; } }

/* ---- Colunas do rodapé (opção) ---- */
body.mb-foot-2 .mb-footer__grid{ grid-template-columns:repeat(2,1fr); }
body.mb-foot-3 .mb-footer__grid{ grid-template-columns:1.4fr 1fr 1fr; }
@media(max-width:860px){ body[class*="mb-foot-"] .mb-footer__grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ body[class*="mb-foot-"] .mb-footer__grid{ grid-template-columns:1fr; } }

/* ---- Card com fundo chapado + ícone (sem imagem destacada) ---- */
.mb-card__media--flat{ display:grid; place-items:center; aspect-ratio:16/10; position:relative; overflow:hidden; }
.mb-card__media--flat::after{ content:""; position:absolute; inset:0;
	background:radial-gradient(circle at 78% 18%, rgba(255,255,255,.18), transparent 42%); }
.mb-flat__ic{ position:relative; z-index:1; width:62px; height:62px; color:#fff; opacity:.96;
	transition:transform .35s ease; }
.mb-flat__ic svg{ width:100%; height:100%; }
.mb-card:hover .mb-flat__ic{ transform:scale(1.08); }
.mb-flat-0{ background:linear-gradient(135deg,var(--navy),var(--blue)); }
.mb-flat-1{ background:linear-gradient(135deg,var(--blue),var(--lblue)); }
.mb-flat-2{ background:linear-gradient(140deg,var(--navy-2),var(--navy)); }
.mb-flat-3{ background:linear-gradient(135deg,var(--gold),var(--gold-2)); }
.mb-flat-3 .mb-flat__ic{ color:var(--navy); }

/* Banner grande (lead) em estilo chapado + ícone marca d'água */
.mb-lead--flat .mb-lead__ic{ position:absolute; right:5%; top:50%; transform:translateY(-50%);
	width:min(46%,260px); aspect-ratio:1; color:rgba(255,255,255,.14); z-index:0; pointer-events:none; }
.mb-lead--flat .mb-lead__ic svg{ width:100%; height:100%; }
.mb-lead--flat .mb-lead__body{ position:relative; z-index:1; }

/* ---- Variações do hero (primeira seção) ---- */
.mb-hero--solo .mb-lead{ min-height:520px; }
.mb-hero--duo .mb-grid--2, .mb-hero--quad .mb-grid--2{ gap:24px; }
@media(max-width:760px){ .mb-hero--solo .mb-lead{ min-height:360px; } }

/* ---- Rodapé estilo faixa (flat) ---- */
.mb-footer--flat{ background:var(--footer-bg,#3d8fd8); color:#fff; }
.mb-footer--flat .mb-wrap{ padding-top:60px; padding-bottom:40px; }

.mb-footer--flat .mb-footer__top{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:46px; }
.mb-footer--flat .mb-footer__logo img,
.mb-footer--flat .custom-logo{ height:42px; width:auto; display:block; }
.mb-footer--flat .mb-footer__name{ color:#fff; font-family:var(--serif); font-weight:800; font-size:1.7rem; margin:0; }
.mb-footer--flat .mb-footer__tag{ color:rgba(255,255,255,.88); font-size:.98rem; margin:0; }

.mb-footer--flat .mb-footer__mid{ display:flex; align-items:center; justify-content:space-between; gap:24px 40px; flex-wrap:wrap; margin-bottom:26px; }
.mb-footer--flat .mb-fnav{ display:flex; align-items:center; gap:10px 26px; flex-wrap:wrap; }
.mb-footer--flat .mb-fnav__title{ font-weight:800; font-size:1.12rem; margin-right:6px; }
.mb-footer--flat .mb-fnav__list{ display:flex; flex-wrap:wrap; gap:10px 26px; list-style:none; margin:0; padding:0; }
.mb-footer--flat .mb-fnav__list a{ color:rgba(255,255,255,.92); font-size:.96rem; transition:.15s; }
.mb-footer--flat .mb-fnav__list a:hover{ color:#fff; opacity:.8; }
.mb-footer--flat .mb-footer__contact{ display:flex; align-items:center; gap:8px 16px; flex-wrap:wrap; }
.mb-footer--flat .mb-footer__chead{ font-weight:800; font-size:1.12rem; }
.mb-footer--flat .mb-footer__email{ color:rgba(255,255,255,.92); font-size:.96rem; }
.mb-footer--flat .mb-footer__email:hover{ color:#fff; text-decoration:underline; }
.mb-footer--flat .mb-social{ margin:0; }
.mb-footer--flat .mb-social a{ background:rgba(255,255,255,.16); color:#fff; }
.mb-footer--flat .mb-social a:hover{ background:#fff; color:var(--footer-bg,#3d8fd8); }

.mb-footer--flat .mb-footer__rule{ border:0; height:1px; background:rgba(255,255,255,.28); margin:0 0 22px; }

.mb-footer--flat .mb-footer__legal{ display:flex; align-items:center; justify-content:space-between; gap:10px 28px; flex-wrap:wrap; margin-bottom:22px; }
.mb-footer--flat .mb-footer__entity{ font-size:.82rem; color:rgba(255,255,255,.95); }
.mb-footer--flat .mb-footer__copy{ flex:1; text-align:center; font-size:.82rem; color:rgba(255,255,255,.95); margin:0; font-weight:400; }
.mb-footer--flat .mb-footer__policies .mb-footer__pol{ display:flex; flex-wrap:wrap; gap:8px 20px; list-style:none; margin:0; padding:0; }
.mb-footer--flat .mb-footer__pol a{ font-size:.82rem; color:#fff; }
.mb-footer--flat .mb-footer__pol a:hover{ color:#fff; text-decoration:underline; }

.mb-footer--flat .mb-footer__disclaimer{ font-size:.78rem; line-height:1.72; color:rgba(255,255,255,.9); margin:0; max-width:none; }

@media(max-width:820px){
	/* Rodapé totalmente centralizado no mobile */
	.mb-footer--flat .mb-wrap{ text-align:center; }
	.mb-footer--flat .mb-footer__top,
	.mb-footer--flat .mb-footer__mid,
	.mb-footer--flat .mb-footer__legal{ flex-direction:column; align-items:center; }
	.mb-footer--flat .mb-footer__logo{ display:flex; justify-content:center; }
	.mb-footer--flat .mb-fnav,
	.mb-footer--flat .mb-fnav__list,
	.mb-footer--flat .mb-footer__contact,
	.mb-footer--flat .mb-social,
	.mb-footer--flat .mb-footer__policies .mb-footer__pol{ justify-content:center; }
	.mb-footer--flat .mb-footer__copy{ flex:none; text-align:center; }
}

/* ---- Ícones sociais ---- */
.mb-social{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.mb-social a{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center;
	background:rgba(255,255,255,.08); color:#cdd9f0; transition:.16s; }
.mb-social a:hover{ background:var(--gold); color:var(--navy); transform:translateY(-2px); }
.mb-social svg{ width:18px; height:18px; }

/* ---- Barra de progresso de leitura ---- */
.mb-progress{ position:fixed; top:0; left:0; height:3px; width:0; z-index:300;
	background:linear-gradient(90deg,var(--blue),var(--gold)); transition:width .08s linear; }

/* ---- Voltar ao topo ---- */
.mb-totop{ position:fixed; right:22px; bottom:22px; width:46px; height:46px; border-radius:50%;
	background:var(--navy); color:#fff; border:0; cursor:pointer; display:grid; place-items:center;
	opacity:0; visibility:hidden; transform:translateY(12px); transition:.25s; z-index:120; box-shadow:var(--shadow-lg); }
.mb-totop.show{ opacity:1; visibility:visible; transform:none; }
.mb-totop:hover{ background:var(--blue); }
.mb-totop svg{ width:20px; height:20px; }
