/* Portal visual integration v7/v6 — loaded after each module legacy stylesheet. */
:root{--portal-blue:#153b66;--portal-blue2:#0e2e51;--portal-gold:#d3ac42;--portal-green:#2f7d4f;--portal-yellow:#e5c451;--portal-brazil-blue:#245584;--portal-line:#e4e9e5}

/* HEADER: exact public-portal geometry and typography, isolated from legacy module rules */
.site-header{position:sticky!important;top:0!important;z-index:50!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(18,51,87,.1)!important;backdrop-filter:blur(14px);overflow:visible!important;isolation:isolate;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.site-header:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 7% 45%,rgba(47,125,79,.050) 0%,rgba(47,125,79,.022) 28%,transparent 57%),radial-gradient(ellipse at 35% 22%,rgba(229,196,81,.046) 0%,rgba(229,196,81,.018) 27%,transparent 56%),radial-gradient(ellipse at 69% 62%,rgba(36,85,132,.040) 0%,rgba(36,85,132,.016) 29%,transparent 60%),radial-gradient(ellipse at 93% 25%,rgba(255,255,255,.75) 0%,transparent 52%)}
.site-header .header-accent{position:relative!important;height:7px!important;opacity:.72!important;overflow:hidden!important;background:transparent!important}
.site-header .header-accent:before{content:"";position:absolute;inset:-8px -3% -7px;background:radial-gradient(ellipse at 12% 50%,rgba(47,125,79,.72) 0%,rgba(47,125,79,.30) 24%,transparent 49%),radial-gradient(ellipse at 39% 40%,rgba(229,196,81,.65) 0%,rgba(229,196,81,.25) 23%,transparent 48%),radial-gradient(ellipse at 67% 58%,rgba(36,85,132,.62) 0%,rgba(36,85,132,.24) 25%,transparent 52%),radial-gradient(ellipse at 91% 45%,rgba(255,255,255,.9) 0%,rgba(255,255,255,.38) 26%,transparent 50%);filter:blur(4px);transform:scaleX(1.04)}
.site-header .portal-header-wrap{width:min(1180px,calc(100% - 40px))!important;margin:auto!important}
.site-header .header-row{min-height:108px!important;padding:7px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.site-header .brand{display:flex!important;align-items:center!important;gap:13px!important;min-width:285px!important;text-decoration:none!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.site-header .brand>img{display:block!important;width:92px!important;height:72px!important;object-fit:contain!important;transform:scale(1.22)!important;transform-origin:center!important;margin:0!important;padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.site-header .brand-copy{display:grid!important;grid-template-columns:1fr!important;gap:1px!important;align-content:center!important;line-height:normal!important;margin:0!important;padding:0!important;text-align:left!important}
.site-header .brand-copy small{display:block!important;margin:0!important;padding:0!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.62rem!important;line-height:1.15!important;color:#758191!important;font-weight:800!important}
.site-header .brand-copy strong{display:block!important;margin:0!important;padding:0!important;font-family:Georgia,serif!important;color:var(--portal-blue2)!important;font-size:1.02rem!important;line-height:1.15!important;font-weight:700!important}
.site-header .brand-copy em{display:block!important;margin:3px 0 0!important;padding:0!important;font-style:normal!important;color:#7a6541!important;font-size:.76rem!important;line-height:1.15!important}
.site-header .header-actions{display:flex!important;align-items:center!important;gap:22px!important;margin:0!important;padding:0!important}
.site-header .header-actions nav{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important}
.site-header .header-actions nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;margin:0!important;padding:12px 13px!important;border:1px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#465767!important;text-decoration:none!important;font-size:.88rem!important;line-height:1.15!important;font-weight:700!important;white-space:nowrap!important}
.site-header .header-actions nav a:hover{color:var(--portal-blue)!important;background:#f5f8f6!important}
.site-header .header-actions nav a.active{color:var(--portal-blue2)!important;background:linear-gradient(180deg,rgba(47,125,79,.08),rgba(36,85,132,.06))!important;border-color:rgba(36,85,132,.14)!important;box-shadow:inset 0 -2px 0 rgba(211,172,66,.70)!important}
.site-header .language-switch{display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding-left:14px!important;border-left:1px solid var(--portal-line)!important}
.site-header .language-switch a{display:flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:7px 8px!important;border:0!important;border-radius:9px!important;background:transparent!important;box-shadow:none!important;color:#647383!important;text-decoration:none!important;font-size:.72rem!important;line-height:1!important;font-weight:800!important}
.site-header .language-switch a.active{background:#eef3f8!important;color:var(--portal-blue)!important}
.site-header .language-switch img{display:block!important;width:19px!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.site-header .menu-toggle{display:none;border:0;background:#eef3f8;border-radius:10px;font-size:1.2rem;padding:9px 12px;color:var(--portal-blue)}

/* MODULE HERO: same visual grammar as Agenda/Notices/Informativos */
.module-page-hero{display:block!important;position:relative!important;overflow:hidden!important;background:linear-gradient(120deg,#123351 0%,#1b4a73 58%,#183f63 100%)!important;color:#fff!important;border:0!important;border-bottom:4px solid #d9ad3f!important;margin:0 0 28px!important;padding:0!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;box-shadow:none!important}
.module-page-hero:before{content:""!important;display:block!important;position:absolute!important;width:520px!important;height:520px!important;border-radius:50%!important;right:-250px!important;top:-310px!important;background:radial-gradient(circle,rgba(229,196,81,.14),rgba(255,255,255,.04) 45%,transparent 68%)!important}
.module-page-hero:after{content:""!important;display:block!important;position:absolute!important;width:360px!important;height:360px!important;border-radius:50%!important;left:-220px!important;bottom:-260px!important;background:radial-gradient(circle,rgba(47,125,79,.15),transparent 68%)!important}
.module-page-hero .module-page-hero-grid{position:relative!important;z-index:2!important;width:min(1120px,calc(100% - 36px))!important;min-height:286px!important;margin:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:68px!important;align-items:center!important;padding:46px 0!important}
.module-page-hero .module-page-eyebrow{display:inline-block!important;margin:0 0 13px!important;padding:0!important;text-transform:uppercase!important;letter-spacing:.15em!important;color:#f2cc64!important;font-size:.72rem!important;line-height:1.2!important;font-weight:900!important}
.module-page-hero .module-page-hero-copy h1{display:block!important;margin:0 0 17px!important;padding:0!important;font-family:Georgia,serif!important;font-size:clamp(3rem,4.7vw,4.25rem)!important;font-weight:500!important;line-height:1.02!important;color:#fff!important;background:none!important;border:0!important;box-shadow:none!important;text-align:left!important}
.module-page-hero .module-page-hero-copy p{display:block!important;max-width:720px!important;margin:0!important;padding:0!important;color:#dbe7f2!important;font-size:1.04rem!important;line-height:1.65!important;text-align:left!important}
.module-page-hero .module-page-hero-panel{display:block!important;justify-self:end!important;width:100%!important;margin:0!important;padding:23px 20px 20px!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.075)!important;backdrop-filter:blur(8px)!important;border-radius:17px!important;text-align:center!important;box-shadow:0 20px 50px rgba(4,25,47,.13)!important;color:#fff!important}
.module-page-hero .module-page-hero-panel>img{display:block!important;width:58px!important;height:58px!important;object-fit:contain!important;margin:0 auto 10px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 5px 9px rgba(0,0,0,.18))!important}
.module-peregrina-hero .module-page-hero-panel>img{width:52px!important;height:72px!important}
.module-page-hero .module-page-hero-panel>strong{display:block!important;margin:0 0 5px!important;padding:0!important;font-family:Georgia,serif!important;font-size:1.23rem!important;line-height:1.2!important;font-weight:500!important;color:#fff!important}
.module-page-hero .module-page-hero-panel>span{display:block!important;margin:0 0 16px!important;padding:0!important;color:#cfdeeb!important;font-size:.8rem!important;line-height:1.45!important}
.module-page-hero .module-page-hero-nav{display:flex!important;gap:7px!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;margin:0!important;padding:0!important}
.module-page-hero .module-page-hero-nav a{display:inline-flex!important;min-height:36px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0 10px!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:7px!important;color:#fff!important;text-decoration:none!important;font-size:11px!important;line-height:1!important;font-weight:800!important;background:rgba(255,255,255,.06)!important;box-shadow:none!important}
.module-page-hero .module-page-hero-nav a:hover,.module-page-hero .module-page-hero-nav a.active{background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.42)!important}
.module-page-hero .module-page-hero-nav a.primary{background:#dfb23e!important;border-color:#dfb23e!important;color:#123351!important}

/* Footer consistency */
.portal-unified-footer{background:linear-gradient(110deg,#0c2947 0%,#103555 78%,#174837 135%)!important;color:#dce7f0!important;padding-top:52px!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.portal-unified-footer .portal-footer-grid{width:min(1180px,calc(100% - 40px))!important;margin:auto!important;display:grid!important;grid-template-columns:1.5fr .7fr .9fr!important;gap:55px!important;padding-bottom:42px!important}
.portal-unified-footer .portal-footer-brand{display:flex!important;gap:16px!important;align-items:center!important}
.portal-unified-footer .portal-footer-brand img{width:68px!important;height:68px!important;object-fit:contain!important;background:#fff!important;border-radius:50%!important;padding:4px!important}
.portal-unified-footer .portal-footer-brand div,.portal-unified-footer .portal-footer-links,.portal-unified-footer .portal-footer-note{display:grid!important;gap:7px!important}
.portal-unified-footer strong{color:#fff!important}.portal-unified-footer .portal-footer-brand span,.portal-unified-footer .portal-footer-links a,.portal-unified-footer .portal-footer-note span,.portal-unified-footer .portal-footer-note a{font-size:.85rem!important;color:#bccbd8!important;text-decoration:none!important}.portal-unified-footer .portal-footer-brand small{color:#cfb674!important}.portal-unified-footer .portal-footer-note a{margin-top:8px!important;color:#d7bd75!important;font-weight:800!important}
.portal-unified-footer .portal-footer-bottom{width:min(1180px,calc(100% - 40px))!important;margin:auto!important;border-top:1px solid rgba(255,255,255,.12)!important;display:flex!important;justify-content:space-between!important;gap:20px!important;padding:18px 0 22px!important;color:#8fa5b8!important;font-size:.74rem!important}

@media(max-width:1000px){
 .site-header .header-row{min-height:88px!important;padding:5px 0!important;flex-wrap:wrap!important}
 .site-header .menu-toggle{display:block!important}
 .site-header .header-actions{display:none!important;width:100%!important;flex-direction:column!important;align-items:stretch!important}
 .site-header .header-actions.open{display:flex!important}
 .site-header .header-actions nav{display:grid!important;grid-template-columns:1fr 1fr!important}
 .site-header .header-actions nav a{justify-content:center!important}
 .site-header .language-switch{border-left:0!important;padding-left:0!important;justify-content:center!important}
 .module-page-hero .module-page-hero-grid{grid-template-columns:1fr!important;gap:25px!important;min-height:0!important}
 .module-page-hero .module-page-hero-panel{justify-self:start!important;max-width:360px!important}
 .module-page-hero .module-page-hero-copy h1{font-size:2.9rem!important}
}
@media(max-width:640px){
 .site-header .portal-header-wrap{width:min(100% - 28px,1180px)!important}
 .site-header .brand{min-width:0!important}.site-header .brand>img{width:68px!important;height:56px!important;transform:scale(1.15)!important}.site-header .brand-copy strong{font-size:.9rem!important}.site-header .brand-copy em{font-size:.67rem!important}
 .site-header .header-actions nav{grid-template-columns:1fr!important}
 .module-page-hero .module-page-hero-grid{padding:38px 0!important}.module-page-hero .module-page-hero-copy h1{font-size:2.45rem!important}.module-page-hero .module-page-hero-panel{padding:19px 14px!important}.module-page-hero .module-page-hero-nav{flex-direction:column!important}.module-page-hero .module-page-hero-nav a{width:100%!important}
 .portal-unified-footer .portal-footer-grid{grid-template-columns:1fr!important}.portal-unified-footer .portal-footer-bottom{flex-direction:column!important}
}

/* V8/V7: header sincronizado com o portal + hero sem painel lateral */
.site-header{position:sticky!important;top:0!important;z-index:50!important;background:rgba(255,255,255,.97)!important;border-bottom:1px solid rgba(18,51,87,.1)!important;backdrop-filter:blur(14px)!important;min-height:0!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.site-header .header-accent{height:4px!important;background:linear-gradient(90deg,#2f7d4f 0 24%,#e5c451 24% 48%,#245584 48% 76%,#f7f7f7 76% 100%)!important;filter:none!important;opacity:1!important;position:static!important}
.site-header .portal-header-wrap{width:min(1180px,calc(100% - 40px))!important;margin:auto!important}
.site-header .header-row{min-height:88px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.site-header .brand{display:flex!important;align-items:center!important;gap:13px!important;min-width:285px!important;margin:0!important;padding:0!important;text-decoration:none!important}
.site-header .brand>img{width:92px!important;height:72px!important;object-fit:contain!important;transform:scale(1.22)!important;transform-origin:center!important;filter:none!important;margin:0!important;padding:0!important}
.site-header .brand-copy{display:grid!important;gap:1px!important;line-height:normal!important;margin:0!important;padding:0!important}
.site-header .brand-copy small{text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.62rem!important;line-height:normal!important;color:#758191!important;font-weight:800!important;margin:0!important;padding:0!important}
.site-header .brand-copy strong{font-family:Georgia,serif!important;color:#0e2e51!important;font-size:1.02rem!important;line-height:normal!important;font-weight:700!important;margin:0!important;padding:0!important}
.site-header .brand-copy em{font-style:normal!important;color:#7a6541!important;font-size:.76rem!important;line-height:normal!important;margin:0!important;padding:0!important}
.site-header .header-actions{display:flex!important;align-items:center!important;gap:22px!important;margin:0!important;padding:0!important}
.site-header .header-actions nav{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important}
.site-header .header-actions nav a{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:.88rem!important;line-height:normal!important;color:#465767!important;font-weight:700!important;padding:12px 13px!important;margin:0!important;border:1px solid transparent!important;border-radius:0!important;transition:.18s!important;text-decoration:none!important;background:transparent!important;box-shadow:none!important}
.site-header .header-actions nav a:hover{color:#153b66!important;background:#f5f8f6!important}
.site-header .header-actions nav a.active{color:#0e2e51!important;background:linear-gradient(180deg,rgba(47,125,79,.08),rgba(36,85,132,.06))!important;border-color:rgba(36,85,132,.14)!important;box-shadow:inset 0 -2px 0 rgba(211,172,66,.70)!important}
.site-header .language-switch{display:flex!important;gap:6px!important;padding-left:14px!important;margin:0!important;border-left:1px solid #e4e9e5!important;align-items:center!important}
.site-header .language-switch a{display:flex!important;align-items:center!important;gap:5px!important;padding:7px 8px!important;margin:0!important;border-radius:9px!important;border:0!important;font-size:.72rem!important;line-height:normal!important;font-weight:800!important;color:#647383!important;text-decoration:none!important;background:transparent!important}
.site-header .language-switch a.active{background:#eef3f8!important;color:#153b66!important}
.site-header .language-switch img{width:19px!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
.module-page-hero .module-page-hero-grid-clean{width:min(1180px,calc(100% - 40px))!important;min-height:270px!important;grid-template-columns:1fr!important;gap:0!important;padding:46px 0!important}
.module-page-hero .module-page-hero-grid-clean .module-page-hero-copy{max-width:880px!important}
.module-page-hero .module-page-hero-grid-clean .module-page-hero-copy p{max-width:820px!important}
@media(max-width:1080px){.site-header .menu-toggle{display:block!important}.site-header .header-actions{display:none!important;position:absolute!important;left:0!important;right:0!important;top:92px!important;background:#fff!important;border-bottom:1px solid #e5e9ec!important;padding:16px 20px!important;box-shadow:0 15px 30px rgba(20,45,70,.12)!important}.site-header .header-actions.open{display:flex!important;flex-direction:column!important;align-items:stretch!important}.site-header .header-actions nav{display:grid!important;grid-template-columns:repeat(2,1fr)!important}.site-header .header-actions nav a{justify-content:center!important;text-align:center!important}.site-header .language-switch{border-left:0!important;padding-left:0!important;justify-content:center!important}}
@media(max-width:640px){.site-header .portal-header-wrap{width:min(100% - 28px,1180px)!important}.site-header .brand{min-width:0!important}.site-header .brand>img{width:68px!important;height:56px!important;transform:scale(1.15)!important}.site-header .brand-copy strong{font-size:.9rem!important}.site-header .brand-copy em{font-size:.67rem!important}.site-header .header-row{min-height:88px!important}.site-header .header-actions{top:92px!important}.module-page-hero .module-page-hero-grid-clean{width:min(100% - 28px,1180px)!important;padding:38px 0!important}}

/* V9 — cabeçalho idêntico ao portal Comunidade (V15 aprovado). */
.site-header{overflow:visible!important;isolation:isolate!important;background:rgba(255,255,255,.96)!important}
.site-header:before{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:radial-gradient(ellipse at 7% 45%,rgba(47,125,79,.050) 0%,rgba(47,125,79,.022) 28%,transparent 57%),radial-gradient(ellipse at 35% 22%,rgba(229,196,81,.046) 0%,rgba(229,196,81,.018) 27%,transparent 56%),radial-gradient(ellipse at 69% 62%,rgba(36,85,132,.040) 0%,rgba(36,85,132,.016) 29%,transparent 60%),radial-gradient(ellipse at 93% 25%,rgba(255,255,255,.75) 0%,transparent 52%)!important}
.site-header .header-row{min-height:108px!important;padding:7px 0!important}
.site-header .header-accent{position:relative!important;height:7px!important;opacity:.72!important;overflow:hidden!important;background:transparent!important}
.site-header .header-accent:before{content:""!important;position:absolute!important;inset:-8px -3% -7px!important;background:radial-gradient(ellipse at 12% 50%,rgba(47,125,79,.72) 0%,rgba(47,125,79,.30) 24%,transparent 49%),radial-gradient(ellipse at 39% 40%,rgba(229,196,81,.65) 0%,rgba(229,196,81,.25) 23%,transparent 48%),radial-gradient(ellipse at 67% 58%,rgba(36,85,132,.62) 0%,rgba(36,85,132,.24) 25%,transparent 52%),radial-gradient(ellipse at 91% 45%,rgba(255,255,255,.9) 0%,rgba(255,255,255,.38) 26%,transparent 50%)!important;filter:blur(4px)!important;transform:scaleX(1.04)!important}
@media(max-width:1080px){.site-header .header-actions{top:112px!important}}
@media(max-width:640px){.site-header .header-row{min-height:88px!important;padding:5px 0!important}.site-header .header-actions{top:92px!important}.site-header:before{background:radial-gradient(circle at 10% 50%,rgba(47,125,79,.045),transparent 35%),radial-gradient(circle at 72% 50%,rgba(36,85,132,.04),transparent 38%),linear-gradient(90deg,rgba(229,196,81,.015),rgba(255,255,255,0))!important}}

/* V10 — símbolo do favicon ampliado, mantendo o mesmo espaço do logo do portal. */
.site-header .brand>img{width:128px!important;height:82px!important;object-fit:contain!important;transform:none!important;filter:drop-shadow(0 4px 10px rgba(18,51,87,.08))!important}
@media(max-width:980px){.site-header .brand>img{width:112px!important;height:72px!important}}
@media(max-width:640px){.site-header .brand>img{width:94px!important;height:64px!important;transform:none!important}}

/* V11 — correção do menu mobile para seguir o mesmo alinhamento do portal Comunidade. */
@media(max-width:1080px){
  .site-header .header-actions{
    left:20px!important;
    right:20px!important;
    width:auto!important;
    border:1px solid #e4e9e5!important;
    border-radius:14px!important;
  }
}
@media(max-width:640px){
  .site-header .header-actions{left:14px!important;right:14px!important;width:auto!important;top:88px!important}
  .site-header .header-actions nav{grid-template-columns:1fr!important}
}

/* V12 — menu mobile exatamente no padrão da Comunidade: uma coluna, texto à esquerda. */
@media(max-width:1080px){
  .site-header .header-actions nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .site-header .header-actions nav a{
    justify-content:flex-start!important;
    text-align:left!important;
    width:100%!important;
    padding:12px 10px!important;
    border-bottom:1px solid #eee!important;
  }
  .site-header .language-switch{
    justify-content:flex-start!important;
    width:100%!important;
    padding-top:10px!important;
  }
}
