/* ENE 1.0.64 — base visual pública estável, cabeçalho compacto e conteúdo visível */
:root{
  --ene-public-header-height:72px;
  --ene-public-page-gap:24px;
  --ene-public-radius:18px;
  --ene-public-shadow:0 10px 32px rgba(12,31,74,.065);
}

/* Remove compensações históricas de cabeçalho fixo. O cabeçalho é sticky e participa do fluxo uma única vez. */
html{scroll-padding-top:calc(var(--ene-public-header-height) + 14px)!important}
body{padding-top:0!important;overflow-x:hidden!important;background:#f5f8fc}
.site-header{
  position:sticky!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  z-index:1000!important;
  overflow:visible!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid #dce4ef!important;
  box-shadow:0 5px 18px rgba(12,31,74,.045)!important;
  backdrop-filter:blur(14px)!important;
}
.site-header .navbar{
  min-height:var(--ene-public-header-height)!important;
  height:auto!important;
  padding:8px 0!important;
  grid-template-columns:minmax(112px,180px) minmax(0,1fr) minmax(190px,260px)!important;
  gap:18px!important;
}
.site-header .logo{width:112px!important;max-width:112px!important;height:auto!important;margin:0!important}
.site-header .logo img,.site-header .brand-lockup img{display:block!important;width:100%!important;max-height:46px!important;object-fit:contain!important}
.site-header .site-nav,.site-header .nav-menu,.site-header .header-actions{min-width:0!important}
.site-header .ene-primary-nav-link{min-height:44px!important;padding:0 14px!important;border-radius:11px!important}
.site-header .btn,.site-header .ene-public-profile-button,.site-header .ene-login-menu-button{min-height:44px!important;height:44px!important;padding-block:0!important}
.site-header .menu-button{width:44px!important;height:44px!important}

/* Todo conteúdo público começa depois do cabeçalho sem ser ocultado. */
body>main,[id="conteudo"]{scroll-margin-top:calc(var(--ene-public-header-height) + 14px)}
main{min-width:0;overflow:visible}
main img{max-width:100%;height:auto}
.ene-catalog-page-v1063,.ene-service-detail-v1063,.ene-service-hub-v1063,.ene-company-public-v1062,
.ene-search-page,.catalog-page-minimal,.catalog-detail-page,.cms-public-main,.policy-public-page,.auth-shell{
  padding-top:var(--ene-public-page-gap)!important;
}
.ene-catalog-page-v1063{padding-bottom:64px!important}
.ene-catalog-title-v1063{margin:0 0 16px!important}
.ene-catalog-title-v1063 h1{font-size:clamp(30px,3.4vw,44px)!important;line-height:1.08!important}
.ene-catalog-title-v1063 p{margin-top:7px!important}

/* Filtros superiores compactos e estáveis. */
.ene-filter-panel-v1063{margin:0 0 20px!important;padding:16px!important;overflow:visible!important}
.ene-filter-grid-v1063{grid-template-columns:minmax(210px,1.7fr) repeat(5,minmax(118px,1fr)) auto!important;gap:10px!important}
.ene-filter-grid-v1063 label{min-width:0!important}
.ene-filter-grid-v1063 input,.ene-filter-grid-v1063 select{min-height:42px!important;height:42px!important}
.ene-filter-actions-v1063{align-self:end!important}
.ene-filter-shortcuts-v1063{margin-top:12px!important}
.ene-catalog-results-head-v1063{min-height:34px!important}
.catalog-empty{min-height:250px!important;padding:42px 20px!important;border-radius:18px!important;background:#fff!important}
.catalog-empty .icon{width:42px!important;height:42px!important}

/* Megamenus públicos: largura contida, alinhamento e altura natural. */
.ene-primary-submenu{max-height:min(70vh,560px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}
.ene-primary-submenu-compact{width:min(430px,calc(100vw - 32px))!important}
.ene-primary-submenu-item{overflow:hidden!important}
.ene-primary-submenu-copy{white-space:normal!important}
.ene-primary-submenu-copy strong,.ene-primary-submenu-copy small{overflow:visible!important;text-overflow:clip!important}

/* Serviços e detalhes. */
.ene-service-hub-v1063{padding-top:34px!important}
.ene-service-detail-v1063{padding-top:24px!important;padding-bottom:68px!important}
.ene-service-detail-v1063>.container{display:grid;gap:18px}
.ene-mentor-shortcuts-v1063{margin:0!important;padding:0!important}
.ene-service-detail-hero-v1063{margin:0!important;overflow:hidden!important}
.ene-service-info-grid-v1063{align-items:start!important}
.ene-service-info-stack-v1063{min-width:0!important}
.ene-service-info-card-v1063{overflow:hidden!important}
.ene-service-info-card-v1063 p{overflow-wrap:anywhere}
.ene-service-detail-symbol-v1063 img{width:100%!important;height:100%!important;object-fit:cover!important}

/* Corrige numeração duplicada e deformação das etapas nas páginas públicas. */
.ene-service-detail-v1063 .ene-portal-step-list{
  counter-reset:ene-step!important;
  display:grid!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.ene-service-detail-v1063 .ene-portal-step-list li{
  counter-increment:ene-step!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:start!important;
  gap:11px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.ene-service-detail-v1063 .ene-portal-step-list li::marker{content:""!important;font-size:0!important}
.ene-service-detail-v1063 .ene-portal-step-list li>span{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:#edf3ff!important;
  color:#1647d8!important;
  font-size:12px!important;
  font-weight:850!important;
}
.ene-service-detail-v1063 .ene-portal-step-list li>p{margin:6px 0 0!important;line-height:1.45!important;color:#3e4b66!important}

/* Corrige contraste do banner final da página inicial. */
.ene-final-banner-v1061,.ene-final-banner-v1061 h2,.ene-final-banner-v1061 p,.ene-final-banner-v1061 .eyebrow{color:#fff!important}
.ene-final-banner-v1061 h2{max-width:650px!important}
.ene-final-banner-v1061 .ene-final-banner-actions-v1061 a:first-child{color:#0b173c!important}

/* Componentes públicos nunca devem ser ocultados por regras herdadas. */
.ene-service-hub-grid-v1063,.ene-service-info-grid-v1063,.ene-plan-grid-v1064,.ene-mentor-plan-section-v1064,
.ene-company-service-grid-v1062,.opportunity-grid,.service-catalog-grid{min-width:0!important}
.service-catalog-card,.opportunity-card,.ene-service-info-card-v1063{max-width:100%!important}

@media(max-width:1180px){
  .ene-filter-grid-v1063{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ene-filter-grid-v1063 label:first-child{grid-column:span 2!important}
  .ene-filter-actions-v1063{grid-column:auto!important}
}
@media(max-width:860px){
  :root{--ene-public-header-height:64px;--ene-public-page-gap:18px}
  .site-header .navbar{
    min-height:64px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"logo actions"!important;
    padding:7px 0!important;
    row-gap:0!important;
  }
  .site-header .logo{grid-area:logo!important;width:96px!important;max-width:96px!important}
  .site-header .site-nav{
    position:absolute!important;
    inset:100% 0 auto 0!important;
    grid-area:auto!important;
    width:100%!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  .site-header .nav-menu{
    position:absolute!important;
    inset:8px 0 auto 0!important;
    width:100%!important;
    height:auto!important;
    max-height:calc(100vh - 86px)!important;
    overflow-y:auto!important;
    margin:0!important;
  }
  .site-header .header-actions{grid-area:actions!important}
  .ene-service-info-grid-v1063{grid-template-columns:1fr!important}
  .ene-service-info-grid-v1063>aside{position:static!important}
}
@media(max-width:760px){
  .site-header .navbar{display:grid!important}
  .ene-primary-submenu{max-height:none!important;overflow:visible!important}
  .ene-filter-grid-v1063{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ene-filter-grid-v1063 label:first-child{grid-column:1/-1!important}
  .ene-filter-actions-v1063{grid-column:1/-1!important;justify-content:flex-end!important}
  .ene-catalog-title-v1063 h1{font-size:clamp(28px,9vw,38px)!important}
}
@media(max-width:520px){
  :root{--ene-public-header-height:60px;--ene-public-page-gap:14px}
  .site-header .navbar{min-height:60px!important;padding:6px 0!important}
  .site-header .logo{width:88px!important;max-width:88px!important}
  .site-header .btn,.site-header .ene-public-profile-button,.site-header .ene-login-menu-button,.site-header .menu-button{height:42px!important;min-height:42px!important}
  .ene-filter-grid-v1063{grid-template-columns:1fr!important}
  .ene-filter-grid-v1063 label:first-child,.ene-filter-actions-v1063{grid-column:auto!important}
  .ene-filter-actions-v1063>*{flex:1!important}
  .ene-filter-panel-head-v1063 small{display:none!important}
  .ene-service-detail-v1063{padding-top:14px!important}
}

/* Modo escuro público e portais que reutilizam componentes. */
html[data-theme="dark"] body,html[data-ene-theme="dark"] body{background:#0f141d!important}
html[data-theme="dark"] .site-header,html[data-ene-theme="dark"] .site-header{background:rgba(15,20,29,.98)!important;border-color:#303846!important}
html[data-theme="dark"] .catalog-empty,html[data-ene-theme="dark"] .catalog-empty{background:#151b25!important;border-color:#303846!important;color:#f5f7fb!important}
html[data-theme="dark"] .ene-service-detail-v1063 .ene-portal-step-list li>p,html[data-ene-theme="dark"] .ene-service-detail-v1063 .ene-portal-step-list li>p{color:#c5cedb!important}
