:root{
  --asbac-navy:#053047;
  --asbac-navy-2:#001b2a;
  --asbac-gold:#d8ad5d;
  --asbac-gold-2:#f2cd7a;
  --asbac-ink:#0f2230;
  --asbac-muted:#617384;
  --asbac-soft:#f3f7fa;
  --asbac-line:#dfe8ef;
}

body.portal-v3{
  margin:0;
  color:var(--asbac-ink);
  background:#f6f8fb;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
}

.portal-container{
  width:min(1220px,100%);
  margin:0 auto;
  padding:0 22px;
}

.portal-topbar{
  background:#001b2a;
  color:#c9d7e2;
  font-size:14px;
}

.portal-topbar .portal-container{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-top:9px;
  padding-bottom:9px;
  flex-wrap:wrap;
}

.portal-header{
  background:linear-gradient(135deg,#06334b,#001b2a);
  color:white;
  position:sticky;
  top:0;
  z-index:20;
  box-shadow:0 10px 32px rgba(0,0,0,.16);
}

.portal-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:18px 0;
}

.portal-logo{
  width:220px;
  max-width:58vw;
  filter:brightness(0) invert(1);
}

.portal-menu{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.portal-menu a{
  color:#e9f2f7;
  text-decoration:none;
  font-weight:800;
}

.portal-menu a:hover{
  color:var(--asbac-gold-2);
}

.portal-btn,
.portal-btn-outline{
  border-radius:999px;
  padding:11px 16px;
  font-weight:900;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.portal-btn{
  background:linear-gradient(135deg,var(--asbac-gold),var(--asbac-gold-2));
  color:#071824!important;
}

.portal-btn-outline{
  border:1px solid rgba(216,173,93,.7);
  color:var(--asbac-gold-2)!important;
}

.portal-hero-v3{
  background:
    radial-gradient(circle at 84% 20%,rgba(216,173,93,.16),transparent 24%),
    linear-gradient(135deg,#06334b,#001b2a);
  color:white;
  padding:58px 0 64px;
}

.hero-layout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:34px;
  align-items:stretch;
}

.hero-copy{
  padding:28px 0;
}

.kicker{
  color:var(--asbac-gold-2);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
}

.hero-copy h1{
  font-size:clamp(40px,5.8vw,72px);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:12px 0 18px;
}

.hero-copy p{
  color:#c9d7e2;
  font-size:20px;
  max-width:720px;
}

.hero-feature-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:30px;
  overflow:hidden;
  min-height:430px;
  display:grid;
  grid-template-rows:1fr auto;
  box-shadow:0 30px 70px rgba(0,0,0,.22);
}

.feature-image,
.news-thumb,
.focus-image{
  background:linear-gradient(135deg,#0b4664,#d8ad5d);
  position:relative;
  overflow:hidden;
}

.feature-image img,
.news-thumb img,
.focus-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.feature-image::after,
.news-thumb::after,
.focus-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.26));
}

.feature-image{
  min-height:250px;
}

.feature-body{
  padding:24px;
}

.feature-body h2{
  font-size:30px;
  margin:8px 0;
}

.portal-section{
  padding:44px 0;
}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}

.section-head h2{
  font-size:36px;
  letter-spacing:-.03em;
  margin:0;
}

.section-head p{
  margin:0;
  color:var(--asbac-muted);
}

.focus-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.focus-card{
  background:white;
  border:1px solid var(--asbac-line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 16px 38px rgba(8,38,60,.08);
  text-decoration:none;
  color:var(--asbac-ink);
}

.focus-image{
  height:140px;
}

.focus-body{
  padding:18px;
}

.focus-body h3{
  font-size:20px;
  line-height:1.18;
  margin:8px 0;
}

.news-layout{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
}

.main-news{
  background:white;
  border:1px solid var(--asbac-line);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 46px rgba(8,38,60,.09);
  text-decoration:none;
  color:var(--asbac-ink);
}

.main-news .news-thumb{
  height:330px;
}

.main-news-body{
  padding:26px;
}

.main-news-body h3{
  font-size:34px;
  letter-spacing:-.03em;
  line-height:1.1;
  margin:10px 0;
}

.side-news-list{
  display:grid;
  gap:16px;
}

.side-news{
  display:grid;
  grid-template-columns:160px 1fr;
  background:white;
  border:1px solid var(--asbac-line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(8,38,60,.07);
  text-decoration:none;
  color:var(--asbac-ink);
  min-height:138px;
}

.side-news .news-thumb{
  min-height:138px;
}

.side-news-body{
  padding:18px;
}

.side-news-body h3{
  font-size:22px;
  line-height:1.16;
  margin:6px 0;
}

.badge-asbac{
  display:inline-flex;
  border-radius:999px;
  background:#fff3d7;
  color:#8b640f;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
}

.meta{
  color:#8aa0b2;
  font-size:14px;
}

.cards-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.service-card,
.contact-card,
.comunicado-card{
  background:white;
  border:1px solid var(--asbac-line);
  border-radius:24px;
  padding:24px;
  box-shadow:0 14px 34px rgba(8,38,60,.07);
}

.service-icon{
  width:52px;
  height:52px;
  border-radius:18px;
  background:#fff3d7;
  color:#8b640f;
  display:grid;
  place-items:center;
  margin-bottom:16px;
}

.service-icon svg{
  width:27px;
  height:27px;
}

.service-card h3,
.comunicado-card h3{
  font-size:22px;
  margin:8px 0;
}

.contact-band{
  background:linear-gradient(135deg,#06334b,#001b2a);
  color:white;
  border-radius:30px;
  padding:30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  box-shadow:0 24px 58px rgba(8,38,60,.18);
}

.contact-band p{
  color:#c9d7e2;
}

.contact-list{
  display:grid;
  gap:12px;
}

.contact-item{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:16px;
}

.portal-footer-v3{
  background:#001b2a;
  color:#c9d7e2;
  padding:34px 0;
  margin-top:28px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
}

.footer-logo{
  width:190px;
  filter:brightness(0) invert(1);
  margin-bottom:16px;
}

@media(max-width:950px){
  .hero-layout,
  .news-layout,
  .contact-band,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .focus-grid,
  .cards-3{
    grid-template-columns:repeat(2,1fr);
  }

  .portal-menu{
    gap:12px;
  }

  .portal-hero-v3{
    padding-top:38px;
  }
}

@media(max-width:620px){
  .portal-container{
    padding:0 16px;
  }

  .portal-header-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .portal-logo{
    width:190px;
  }

  .portal-menu{
    width:100%;
    justify-content:flex-start;
  }

  .hero-feature-card{
    min-height:auto;
  }

  .focus-grid,
  .cards-3{
    grid-template-columns:1fr;
  }

  .side-news{
    grid-template-columns:1fr;
  }

  .side-news .news-thumb{
    height:160px;
  }

  .main-news .news-thumb{
    height:220px;
  }

  .section-head{
    display:block;
  }

  .section-head h2{
    font-size:30px;
  }
}



/* ASBAC - Ajuste de hierarquia do hero do portal público */

.portal-hero-v3 {
  padding: 34px 0 42px !important;
}

.hero-layout {
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  align-items: center;
}

.hero-copy {
  padding: 10px 0 !important;
}

.hero-copy .kicker {
  font-size: clamp(18px, 1.8vw, 28px) !important;
  letter-spacing: .12em;
  margin-bottom: 14px;
  display: inline-block;
  color: var(--asbac-gold-2);
}

.hero-copy h1 {
  font-size: clamp(42px, 4.9vw, 68px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em;
  margin: 0 0 14px !important;
  max-width: 900px;
}

.hero-copy p {
  font-size: clamp(18px, 1.7vw, 24px) !important;
  line-height: 1.45;
  max-width: 780px;
  margin-bottom: 0;
}

.hero-feature-card {
  min-height: 330px !important;
  border-radius: 26px;
}

.feature-image {
  min-height: 170px !important;
}

.feature-body {
  padding: 20px 22px !important;
}

.feature-body h2 {
  font-size: clamp(23px, 2.3vw, 32px) !important;
  line-height: 1.12;
  margin: 8px 0;
}

.feature-body p {
  margin-bottom: 0;
}

.portal-section {
  padding: 34px 0 !important;
}

.section-head h2 {
  font-size: clamp(28px, 3.2vw, 40px) !important;
}

@media (max-width: 950px) {
  .portal-hero-v3 {
    padding: 28px 0 34px !important;
  }

  .hero-layout {
    grid-template-columns: 1fr;
  }

  .hero-copy h1 {
    font-size: clamp(38px, 9vw, 56px) !important;
  }

  .hero-copy .kicker {
    font-size: clamp(17px, 4vw, 23px) !important;
  }

  .hero-feature-card {
    min-height: auto !important;
  }
}

@media (max-width: 620px) {
  .hero-copy h1 {
    font-size: clamp(34px, 11vw, 46px) !important;
  }

  .hero-copy p {
    font-size: 17px !important;
  }

  .portal-hero-v3 {
    padding: 22px 0 28px !important;
  }

  .feature-image {
    min-height: 145px !important;
  }
}



/* ASBAC - correção forte de responsividade do portal público */

/* Impede faixa branca lateral causada por overflow horizontal */
html,
body.portal-v3 {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body.portal-v3 * {
  box-sizing: border-box;
}

.portal-topbar,
.portal-header,
.portal-hero-v3,
.portal-section,
.portal-footer-v3 {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.portal-container {
  width: 100% !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Evita que cards e grids passem da largura da tela */
.hero-layout,
.focus-grid,
.news-layout,
.cards-3,
.footer-grid,
.contact-band,
.portal-header-inner,
.portal-menu,
.main-news,
.side-news,
.focus-card,
.service-card,
.comunicado-card,
.contact-item,
.hero-feature-card {
  max-width: 100% !important;
}

/* Menu em celular: vira bloco organizado, sem estourar lateral */
@media (max-width: 720px) {
  .portal-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .portal-topbar .portal-container {
    display: grid !important;
    gap: 6px !important;
    font-size: 13px !important;
  }

  .portal-header {
    position: relative !important;
  }

  .portal-header-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 18px !important;
    padding: 20px 0 !important;
  }

  .portal-logo {
    width: 210px !important;
    max-width: 82vw !important;
  }

  .portal-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px 12px !important;
    width: 100% !important;
  }

  .portal-menu a:not(.portal-btn):not(.portal-btn-outline) {
    font-size: 15px !important;
    line-height: 1.1 !important;
  }

  .portal-btn,
  .portal-btn-outline {
    padding: 10px 14px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }

  .portal-hero-v3 {
    padding: 28px 0 32px !important;
  }

  .hero-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .hero-copy {
    padding: 0 !important;
    min-width: 0 !important;
  }

  .hero-copy .kicker {
    font-size: 15px !important;
    letter-spacing: .16em !important;
  }

  .hero-copy h1 {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }

  .hero-copy p {
    font-size: 17px !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
  }

  .hero-copy > div[style] {
    max-width: 100% !important;
  }

  .hero-feature-card {
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 24px !important;
  }

  .feature-image {
    min-height: 180px !important;
  }

  .feature-body h2 {
    font-size: 24px !important;
    overflow-wrap: break-word !important;
  }

  .portal-section {
    padding: 30px 0 !important;
  }

  .section-head {
    display: grid !important;
    gap: 8px !important;
  }

  .section-head h2 {
    font-size: 30px !important;
    line-height: 1.1 !important;
  }

  .focus-grid,
  .cards-3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .news-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .main-news,
  .side-news {
    width: 100% !important;
    min-width: 0 !important;
  }

  .main-news .news-thumb {
    height: 210px !important;
  }

  .side-news {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .side-news .news-thumb {
    height: 155px !important;
    min-height: 155px !important;
  }

  .main-news-body h3,
  .side-news-body h3 {
    font-size: 24px !important;
    line-height: 1.16 !important;
    overflow-wrap: break-word !important;
  }

  .contact-band {
    display: grid !important;
    grid-template-columns: 1fr !important;
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 420px) {
  .portal-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .portal-logo {
    width: 190px !important;
  }

  .portal-menu {
    gap: 9px !important;
  }

  .portal-menu a:not(.portal-btn):not(.portal-btn-outline) {
    font-size: 14px !important;
  }

  .portal-btn,
  .portal-btn-outline {
    font-size: 14px !important;
    padding: 9px 12px !important;
  }

  .hero-copy h1 {
    font-size: clamp(31px, 10.5vw, 42px) !important;
  }

  .feature-image {
    min-height: 155px !important;
  }
}



/* ASBAC - logo centralizado e maior no portal e área do associado */

/* Área do associado */
.app-header {
  justify-content: center !important;
  position: relative !important;
  padding-top: 8px !important;
  margin-bottom: 34px !important;
}

.app-header > a:first-child {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

.app-logo {
  width: clamp(260px, 42vw, 380px) !important;
  max-width: 82vw !important;
  margin: 0 auto !important;
  display: block !important;
}

.app-header .header-actions {
  position: absolute !important;
  right: 0 !important;
  top: 10px !important;
}

/* Portal público */
.portal-header-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  gap: 18px !important;
  padding: 24px 0 !important;
}

.portal-header-inner > a:first-child {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

.portal-logo {
  width: clamp(260px, 36vw, 390px) !important;
  max-width: 84vw !important;
  margin: 0 auto !important;
  display: block !important;
}

.portal-menu {
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 14px 22px !important;
}

/* Mobile */
@media (max-width: 720px) {
  .app-header {
    padding-top: 18px !important;
    margin-bottom: 28px !important;
  }

  .app-logo {
    width: 300px !important;
    max-width: 78vw !important;
  }

  .app-header .header-actions {
    position: static !important;
    width: 100% !important;
    justify-content: center !important;
    margin-top: 12px !important;
  }

  .portal-header-inner {
    padding: 26px 0 20px !important;
    gap: 18px !important;
  }

  .portal-logo {
    width: 285px !important;
    max-width: 80vw !important;
  }

  .portal-menu {
    justify-content: center !important;
    gap: 10px 14px !important;
  }

  .portal-menu a:not(.portal-btn):not(.portal-btn-outline) {
    font-size: 15px !important;
  }

  .portal-btn,
  .portal-btn-outline {
    font-size: 15px !important;
  }

  .portal-hero-v3 {
    padding-top: 24px !important;
  }
}

@media (max-width: 420px) {
  .app-logo,
  .portal-logo {
    width: 255px !important;
    max-width: 82vw !important;
  }

  .portal-menu {
    gap: 9px 11px !important;
  }

  .portal-menu a:not(.portal-btn):not(.portal-btn-outline) {
    font-size: 14px !important;
  }
}

/* =========================================================
   ASBAC Digital - correção de links do portal público
   Remove roxo/sublinhado padrão em cards, chamadas e títulos.
   ========================================================= */
.portal-v3 a,
.portal-v3 a:visited,
.portal-v3 a:hover,
.portal-v3 a:active {
  text-decoration: none !important;
}

.portal-v3 .portal-card a,
.portal-v3 .portal-card a:visited,
.portal-v3 .portal-news-card a,
.portal-v3 .portal-news-card a:visited,
.portal-v3 .news-card a,
.portal-v3 .news-card a:visited,
.portal-v3 .card a,
.portal-v3 .card a:visited {
  color: inherit !important;
  text-decoration: none !important;
}

.portal-v3 .portal-card a:hover,
.portal-v3 .portal-news-card a:hover,
.portal-v3 .news-card a:hover,
.portal-v3 .card a:hover {
  color: var(--asbac-gold) !important;
  text-decoration: none !important;
}

.portal-v3 h1 a,
.portal-v3 h2 a,
.portal-v3 h3 a,
.portal-v3 h4 a,
.portal-v3 h1 a:visited,
.portal-v3 h2 a:visited,
.portal-v3 h3 a:visited,
.portal-v3 h4 a:visited {
  color: inherit !important;
  text-decoration: none !important;
}


/* =========================================================
   ASBAC Digital - Rodapé institucional e páginas finais V1
   ========================================================= */
.portal-footer-v1 {
  background: linear-gradient(135deg, #001b2a 0%, #062d45 100%);
  color: #e9f2f7;
  margin-top: 36px;
  border-top: 1px solid rgba(216, 173, 93, .35);
}

.portal-footer-v1-inner {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(260px, .9fr);
  gap: 34px;
  align-items: start;
  padding-top: 34px !important;
  padding-bottom: 22px !important;
}

.portal-footer-v1-brand {
  max-width: 560px;
}

.portal-footer-v1-logo {
  width: 128px;
  max-width: 42vw;
  filter: brightness(0) invert(1);
  display: block;
  margin-bottom: 14px;
}

.portal-footer-v1-brand p {
  color: #c9d7e2;
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
}

.portal-footer-v1-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(130px, 1fr));
  gap: 22px;
}

.portal-footer-v1-col h2 {
  color: var(--asbac-gold-2);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin: 0 0 12px;
  font-weight: 900;
}

.portal-footer-v1-col a,
.portal-footer-v1-col a:visited {
  display: block;
  width: fit-content;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 800;
  margin: 8px 0;
  transition: color .18s ease, transform .18s ease;
}

.portal-footer-v1-col a:hover,
.portal-footer-v1-col a:active {
  color: var(--asbac-gold-2) !important;
  transform: translateX(3px);
  text-decoration: none !important;
}

.portal-footer-v1-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding-top: 14px !important;
  padding-bottom: 16px !important;
  color: #bfd0dd;
  font-size: 14px;
}

.portal-page-hero {
  background: linear-gradient(180deg, #f6f8fb 0%, #edf3f7 100%);
  padding: 46px 0 18px;
}

.portal-page-hero-card {
  background: radial-gradient(circle at 92% 18%, rgba(216, 173, 93, .16), transparent 22%),
              linear-gradient(135deg, #06334b, #001b2a);
  color: white;
  border-radius: 30px;
  padding: clamp(28px, 5vw, 56px);
  box-shadow: 0 26px 64px rgba(8, 38, 60, .16);
}

.portal-page-hero-card h1 {
  font-size: clamp(38px, 5.2vw, 64px);
  line-height: 1.04;
  letter-spacing: -.045em;
  margin: 10px 0 14px;
}

.portal-page-hero-card p {
  color: #c9d7e2;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.55;
  max-width: 900px;
  margin: 0;
}

.portal-page-section {
  padding-top: 28px !important;
}

.portal-info-grid {
  display: grid;
  gap: 18px;
}

.portal-info-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-info-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portal-info-card {
  background: #ffffff;
  border: 1px solid var(--asbac-line);
  border-radius: 26px;
  padding: clamp(22px, 3vw, 34px);
  box-shadow: 0 18px 44px rgba(8, 38, 60, .08);
}

.portal-info-card h2,
.portal-section-title h2 {
  color: var(--asbac-navy-2);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.1;
  letter-spacing: -.035em;
  margin: 10px 0 14px;
}

.portal-info-card p {
  color: var(--asbac-muted);
  font-size: 18px;
  line-height: 1.65;
  margin: 0;
}

.portal-board-card {
  margin-top: 18px;
}

.portal-section-title h2 {
  margin-bottom: 20px;
}

.portal-board-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.portal-person-card {
  background: #f5f8fb;
  border: 1px solid var(--asbac-line);
  border-radius: 20px;
  padding: 18px;
}

.portal-person-card strong {
  display: block;
  color: var(--asbac-navy-2);
  font-weight: 900;
  margin-bottom: 8px;
}

.portal-person-card span {
  color: var(--asbac-muted);
  line-height: 1.4;
}

.portal-status-pill {
  display: inline-flex;
  align-items: center;
  margin-top: 24px;
  border-radius: 999px;
  padding: 10px 14px;
  background: #fff3d7;
  color: #8b640f;
  font-weight: 900;
  border: 1px solid rgba(216, 173, 93, .35);
}

.contact-band-page {
  margin-top: 0;
}

@media (max-width: 950px) {
  .portal-footer-v1-inner,
  .portal-info-grid-3,
  .portal-info-grid-2,
  .portal-board-grid {
    grid-template-columns: 1fr;
  }

  .portal-footer-v1-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .portal-page-hero {
    padding: 28px 0 10px;
  }

  .portal-page-hero-card {
    border-radius: 24px;
    padding: 26px 22px;
  }

  .portal-page-hero-card h1 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .portal-footer-v1-inner {
    padding-top: 26px !important;
    gap: 24px;
  }

  .portal-footer-v1-links {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .portal-footer-v1-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* === ASBAC V1 FOOTER E PAGINAS INSTITUCIONAIS - FINAL === */
.portal-v3 a,.portal-v3 a:visited{text-decoration:none!important}.asbac-institutional-main{background:#f6f8fb}.asbac-message-section{padding-bottom:0!important}.asbac-alert{background:#fff;border:1px solid var(--asbac-line);border-radius:18px;padding:14px 16px;box-shadow:0 10px 28px rgba(8,38,60,.07)}.asbac-page-hero{background:radial-gradient(circle at 84% 18%,rgba(216,173,93,.15),transparent 24%),linear-gradient(135deg,#06334b,#001b2a);color:#fff;padding:66px 0 74px}.asbac-page-hero .portal-container{max-width:1220px!important}.asbac-page-hero h1{font-size:clamp(42px,5.2vw,72px);line-height:1.04;letter-spacing:-.045em;margin:12px 0 18px;color:#fff}.asbac-page-hero p{color:#d6e4ee;font-size:clamp(18px,1.7vw,22px);line-height:1.55;max-width:880px;margin:0}.asbac-info-grid-3,.asbac-info-grid-2{display:grid;gap:22px;margin-bottom:22px}.asbac-info-grid-3{grid-template-columns:repeat(3,1fr)}.asbac-info-grid-2{grid-template-columns:repeat(2,1fr)}.asbac-info-card{background:#fff;border:1px solid var(--asbac-line);border-radius:28px;padding:30px;box-shadow:0 18px 46px rgba(8,38,60,.08);color:var(--asbac-ink)}.asbac-info-card h2{color:var(--asbac-navy);font-size:clamp(26px,2.6vw,38px);line-height:1.08;letter-spacing:-.035em;margin:10px 0 12px}.asbac-info-card p{color:var(--asbac-muted);font-size:17px;line-height:1.65;margin:0}.asbac-value-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.asbac-value-tags span,.asbac-status-pill{display:inline-flex;align-items:center;border-radius:999px;background:#fff3d7;color:#8b640f;border:1px solid rgba(216,173,93,.35);padding:8px 12px;font-size:13px;font-weight:900}.asbac-board-card{margin-top:4px}.asbac-board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.asbac-board-grid div{background:#f3f7fa;border:1px solid var(--asbac-line);border-radius:20px;padding:18px}.asbac-board-grid strong{display:block;color:var(--asbac-navy);margin-bottom:6px}.asbac-board-grid span{color:var(--asbac-muted)}.asbac-contact-page-band{margin-bottom:4px}.asbac-footer-final{background:linear-gradient(135deg,#001b2a 0%,#053047 100%);color:#eef6ff;border-top:4px solid var(--asbac-gold);margin-top:0;padding:34px 0 18px}.asbac-footer-final-inner{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(170px,.65fr) minmax(220px,.8fr);gap:34px;align-items:start}.asbac-footer-final-brand{max-width:620px}.asbac-footer-final-logo{width:118px;max-width:42vw;filter:brightness(0) invert(1);display:block;margin:0 0 18px}.asbac-footer-final-brand p{color:#d8e7f2;line-height:1.55;margin:0;font-size:16px}.asbac-footer-final-links h2{color:var(--asbac-gold-2);font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-weight:900}.asbac-footer-final-links a,.asbac-footer-final-links a:visited{display:block;width:fit-content;color:#fff!important;text-decoration:none!important;font-weight:800;margin:10px 0;transition:color .18s ease,transform .18s ease}.asbac-footer-final-links a:hover{color:var(--asbac-gold-2)!important;transform:translateX(3px)}.asbac-footer-final-bottom{display:flex;justify-content:space-between;gap:14px;border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:16px;color:#c9d7e2;font-size:14px}.portal-footer-v3{display:none!important}@media(max-width:900px){.asbac-info-grid-3,.asbac-info-grid-2,.asbac-board-grid,.asbac-footer-final-inner{grid-template-columns:1fr}.asbac-page-hero{padding:44px 0 50px}.asbac-footer-final{padding-top:28px}.asbac-footer-final-logo{width:108px}}@media(max-width:560px){.asbac-page-hero h1{font-size:clamp(34px,11vw,48px)}.asbac-info-card{padding:22px;border-radius:24px}.asbac-footer-final-inner{gap:24px}.asbac-footer-final-bottom{flex-direction:column}}
/* === FIM ASBAC V1 FOOTER E PAGINAS INSTITUCIONAIS - FINAL === */

/* === ASBAC V1 FOOTER DEFINITIVO 2026-07-08 === */
/* fonte única do rodapé: templates/portal/includes/rodape.html */
.portal-v3 a,
.portal-v3 a:visited{
    text-decoration: none;
}

/* neutraliza rodapés antigos caso algum template legado ainda os inclua */
footer.portal-footer-v1,
footer.portal-footer-v3,
footer.footer-polido-asbac{
    display: none !important;
}

.asbac-footer-final{
    display: block !important;
    background: linear-gradient(135deg, #001b2a 0%, #052f46 100%);
    color: #eef6ff;
    border-top: 4px solid #d8ad5d;
    margin-top: 0;
    padding: 34px 0 18px;
}

.asbac-footer-final .portal-container{
    max-width: 1180px;
}

.asbac-footer-final-inner{
    display: grid;
    grid-template-columns: minmax(260px, 1.35fr) minmax(180px, .7fr) minmax(220px, .8fr);
    gap: 34px;
    align-items: start;
}

.asbac-footer-final-brand{
    max-width: 560px;
}

.asbac-footer-final-logo{
    width: 116px;
    max-width: 42vw;
    display: block;
    margin: 0 0 16px;
    filter: brightness(0) invert(1);
}

.asbac-footer-final-brand p{
    margin: 0;
    color: #d8e7f2;
    font-size: 16px;
    line-height: 1.55;
}

.asbac-footer-final-links h2{
    margin: 0 0 13px;
    color: #f2c15b;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.asbac-footer-final-links a,
.asbac-footer-final-links a:link,
.asbac-footer-final-links a:visited{
    display: block;
    width: fit-content;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    margin: 10px 0;
    transition: color .18s ease, transform .18s ease;
}

.asbac-footer-final-links a:hover,
.asbac-footer-final-links a:active,
.asbac-footer-final-links a:focus{
    color: #f2c15b !important;
    text-decoration: none !important;
    transform: translateX(3px);
}

.asbac-footer-final-bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    border-top: 1px solid rgba(255,255,255,.14);
    margin-top: 28px;
    padding-top: 16px;
    color: #c9d7e2;
    font-size: 14px;
}

.asbac-institutional-main{
    background: #f6f8fb;
}

.asbac-page-hero{
    background: radial-gradient(circle at 86% 12%, rgba(216,173,93,.16), transparent 26%), linear-gradient(135deg, #06334b 0%, #001b2a 100%);
    color: #fff;
    padding: 64px 0 72px;
}

.asbac-page-hero .portal-container{
    max-width: 1180px;
}

.asbac-page-hero h1{
    color: #fff;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.04;
    letter-spacing: -.045em;
    margin: 12px 0 18px;
}

.asbac-page-hero p{
    color: #d6e4ee;
    font-size: clamp(17px, 1.6vw, 21px);
    line-height: 1.58;
    max-width: 900px;
    margin: 0;
}

.asbac-page-content{
    padding-top: 42px;
}

.asbac-info-grid-3,
.asbac-info-grid-2{
    display: grid;
    gap: 22px;
    margin-bottom: 22px;
}
.asbac-info-grid-3{ grid-template-columns: repeat(3, 1fr); }
.asbac-info-grid-2{ grid-template-columns: repeat(2, 1fr); }

.asbac-info-card{
    background: #fff;
    border: 1px solid rgba(10, 44, 66, .10);
    border-radius: 28px;
    padding: 30px;
    box-shadow: 0 18px 46px rgba(8, 38, 60, .08);
    color: #102b3f;
}

.asbac-info-card h2{
    color: #08263c;
    font-size: clamp(24px, 2.5vw, 36px);
    line-height: 1.08;
    letter-spacing: -.035em;
    margin: 10px 0 12px;
}

.asbac-info-card p{
    color: #516475;
    font-size: 17px;
    line-height: 1.65;
    margin: 0;
}

.asbac-value-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 14px;
}
.asbac-value-tags span,
.asbac-status-pill{
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #fff3d7;
    color: #8b640f;
    border: 1px solid rgba(216,173,93,.35);
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 900;
}

.asbac-board-card{ margin-top: 4px; }
.asbac-board-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 18px;
}
.asbac-board-grid div{
    background: #f3f7fa;
    border: 1px solid rgba(10, 44, 66, .10);
    border-radius: 20px;
    padding: 18px;
}
.asbac-board-grid strong{
    display: block;
    color: #08263c;
    margin-bottom: 6px;
}
.asbac-board-grid span{ color: #516475; }

@media (max-width: 900px){
    .asbac-footer-final-inner,
    .asbac-info-grid-3,
    .asbac-info-grid-2,
    .asbac-board-grid{
        grid-template-columns: 1fr;
    }
    .asbac-page-hero{ padding: 44px 0 52px; }
    .asbac-footer-final{ padding-top: 28px; }
    .asbac-footer-final-logo{ width: 106px; }
}

@media (max-width: 560px){
    .asbac-page-hero h1{ font-size: clamp(34px, 11vw, 48px); }
    .asbac-info-card{ padding: 22px; border-radius: 24px; }
    .asbac-footer-final-inner{ gap: 24px; }
    .asbac-footer-final-bottom{ flex-direction: column; align-items: flex-start; }
}


/* === ASBAC FOOTER UNICO FINAL - INICIO === */
.portal-v3 .asbac-footer-final,
.portal-v3 .portal-footer-v3,
.portal-v3 .asbac-footer-grid-compact {
  display: none !important;
}

.portal-v3 .portal-footer-v1 {
  display: block !important;
  background: linear-gradient(135deg, #001b2a 0%, #053047 100%) !important;
  color: #eef6ff !important;
  border-top: 4px solid var(--asbac-gold, #d8ad5d) !important;
  margin-top: 48px !important;
  padding: 34px 0 18px !important;
  width: 100% !important;
}

.portal-v3 .portal-footer-v1-inner {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.25fr) minmax(360px, .95fr) !important;
  gap: 42px !important;
  align-items: start !important;
}

.portal-v3 .portal-footer-v1-brand {
  max-width: 650px !important;
}

.portal-v3 .portal-footer-v1-logo {
  width: 118px !important;
  max-width: 42vw !important;
  height: auto !important;
  display: block !important;
  margin: 0 0 20px !important;
  filter: brightness(0) invert(1) !important;
}

.portal-v3 .portal-footer-v1-brand p {
  color: #d8e7f2 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.portal-v3 .portal-footer-v1-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
  gap: 30px !important;
}

.portal-v3 .portal-footer-v1-col h2 {
  color: var(--asbac-gold-2, #f2cd7a) !important;
  font-size: 14px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
  font-weight: 900 !important;
}

.portal-v3 .portal-footer-v1-col a,
.portal-v3 .portal-footer-v1-col a:visited {
  display: block !important;
  width: fit-content !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  margin: 10px 0 !important;
  transition: color .18s ease, transform .18s ease !important;
}

.portal-v3 .portal-footer-v1-col a:hover,
.portal-v3 .portal-footer-v1-col a:active {
  color: var(--asbac-gold-2, #f2cd7a) !important;
  transform: translateX(3px) !important;
}

.portal-v3 .portal-footer-v1-bottom {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
  margin-top: 28px !important;
  padding-top: 16px !important;
  color: #c9d7e2 !important;
  font-size: 14px !important;
}

@media (max-width: 900px) {
  .portal-v3 .portal-footer-v1 {
    margin-top: 34px !important;
    padding-top: 28px !important;
  }
  .portal-v3 .portal-footer-v1-inner {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  .portal-v3 .portal-footer-v1-logo {
    width: 108px !important;
  }
}

@media (max-width: 560px) {
  .portal-v3 .portal-footer-v1-links {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .portal-v3 .portal-footer-v1-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}
/* === ASBAC FOOTER UNICO FINAL - FIM === */


/* ASBAC FOOTER UNICO V1 - INICIO */
.portal-footer-v1{background:linear-gradient(135deg,#001b2a 0%,#053047 100%)!important;color:#eef6ff!important;border-top:4px solid var(--asbac-gold,#d8ad5d)!important;margin-top:0!important;padding:34px 0 18px!important}
.portal-footer-v1 *{box-sizing:border-box}
.portal-footer-v1-inner{display:grid!important;grid-template-columns:minmax(260px,1.3fr) minmax(420px,1fr)!important;gap:42px!important;align-items:start!important}
.portal-footer-v1-brand{max-width:640px!important}
.portal-footer-v1-logo{width:118px!important;height:auto!important;max-width:42vw!important;display:block!important;margin:0 0 18px!important;filter:brightness(0) invert(1)!important}
.portal-footer-v1-brand p{color:#d8e7f2!important;line-height:1.55!important;margin:0!important;font-size:16px!important;font-weight:500!important}
.portal-footer-v1-links{display:grid!important;grid-template-columns:repeat(2,minmax(170px,1fr))!important;gap:32px!important}
.portal-footer-v1-col h2{color:var(--asbac-gold-2,#f2cd7a)!important;font-size:14px!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin:0 0 14px!important;font-weight:900!important}
.portal-footer-v1-col a,.portal-footer-v1-col a:visited{display:block!important;width:fit-content!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;margin:10px 0!important;transition:color .18s ease,transform .18s ease!important}
.portal-footer-v1-col a:hover{color:var(--asbac-gold-2,#f2cd7a)!important;transform:translateX(3px)!important}
.portal-footer-v1-bottom{display:flex!important;justify-content:space-between!important;gap:14px!important;border-top:1px solid rgba(255,255,255,.14)!important;margin-top:28px!important;padding-top:16px!important;color:#c9d7e2!important;font-size:14px!important}
.portal-footer-v3,.asbac-footer-final,.footer-polido-asbac{display:none!important}
@media(max-width:900px){.portal-footer-v1-inner{grid-template-columns:1fr!important;gap:26px!important}.portal-footer-v1-links{grid-template-columns:1fr 1fr!important;gap:22px!important}.portal-footer-v1-logo{width:108px!important}}
@media(max-width:560px){.portal-footer-v1{padding-top:28px!important}.portal-footer-v1-links{grid-template-columns:1fr!important;gap:18px!important}.portal-footer-v1-bottom{flex-direction:column!important}}
/* ASBAC FOOTER UNICO V1 - FIM */



/* Biblioteca e Diretoria dinâmicas - V1 */
.asbac-doc-list{display:grid;gap:14px;margin-top:18px;}
.asbac-doc-item{display:block;padding:18px 20px;border:1px solid rgba(0,49,74,.12);border-radius:18px;background:#fff;color:#00314a;text-decoration:none;box-shadow:0 10px 28px rgba(0,31,48,.06);transition:.2s ease;}
.asbac-doc-item:hover{transform:translateY(-2px);border-color:rgba(224,177,74,.7);box-shadow:0 16px 36px rgba(0,31,48,.10);}
.asbac-doc-item strong{display:block;font-size:1.05rem;margin-bottom:6px;}
.asbac-doc-item span{display:block;color:#5c6d7a;line-height:1.5;}
.asbac-board-person img{width:72px;height:72px;border-radius:999px;object-fit:cover;margin-bottom:12px;border:3px solid rgba(224,177,74,.35);}
.asbac-board-person small{display:block;color:#5c6d7a;margin-top:6px;line-height:1.4;}

/* Biblioteca institucional - acabamento V1 */
.biblioteca-section{padding-top:42px;}
.biblioteca-wrap{max-width:1180px;}
.biblioteca-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.biblioteca-card{background:#fff;border:1px solid rgba(0,49,74,.10);border-radius:24px;padding:30px;box-shadow:0 18px 45px rgba(0,31,48,.08);}
.biblioteca-card-feature{border-top:4px solid #e0b14a;}
.biblioteca-card-header{margin-bottom:20px;}
.biblioteca-card .kicker{display:block;color:#e0b14a;font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;margin-bottom:12px;}
.biblioteca-card h2{margin:0 0 12px;color:#00314a;font-size:clamp(1.55rem,2.2vw,2.15rem);line-height:1.08;font-weight:900;}
.biblioteca-card p{margin:0;color:#42566a;line-height:1.65;font-size:1rem;}
.biblioteca-lista{display:grid;gap:14px;margin-top:18px;}
.biblioteca-doc{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid rgba(0,49,74,.12);border-radius:18px;background:#f8fbfd;color:#00314a;text-decoration:none;transition:.18s ease;}
.biblioteca-doc:hover{transform:translateY(-2px);border-color:rgba(224,177,74,.75);background:#fff;box-shadow:0 12px 28px rgba(0,31,48,.10);color:#00314a;text-decoration:none;}
.biblioteca-doc-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:rgba(224,177,74,.15);font-size:1.15rem;flex:0 0 auto;}
.biblioteca-doc-texto{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.biblioteca-doc-texto strong{font-size:1rem;color:#00314a;font-weight:900;line-height:1.25;}
.biblioteca-doc-texto small{color:#5b6f80;line-height:1.45;}
.biblioteca-doc-acao{background:#e0b14a;color:#001f30;border-radius:999px;padding:8px 14px;font-weight:900;font-size:.86rem;white-space:nowrap;}
@media (max-width: 860px){
  .biblioteca-grid{grid-template-columns:1fr;gap:18px;}
  .biblioteca-card{padding:24px 20px;border-radius:20px;}
  .biblioteca-doc{align-items:flex-start;}
  .biblioteca-doc-acao{display:none;}
}

/* ASBAC redes sociais rodape/login */
.asbac-social-links,
.asbac-login-social {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
}
.asbac-social-links a,
.asbac-login-social a {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff !important;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.asbac-social-links a:hover,
.asbac-login-social a:hover {
  transform: translateY(-2px);
  background: rgba(233,184,79,.18);
  border-color: rgba(233,184,79,.55);
}
.asbac-social-links svg,
.asbac-login-social svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.asbac-login-social {
  justify-content: center;
  margin-top: 20px;
}

/* ASBAC AJUSTES FINAIS PORTAL V1 - INICIO */
/* Notícia em destaque: contraste consistente em todos os estados do link. */
.portal-v3 a.hero-feature-card,
.portal-v3 a.hero-feature-card:link,
.portal-v3 a.hero-feature-card:visited,
.portal-v3 a.hero-feature-card:hover,
.portal-v3 a.hero-feature-card:active {
  color: #ffffff !important;
  text-decoration: none !important;
}

.portal-v3 .hero-feature-card .feature-body h2,
.portal-v3 .hero-feature-card .feature-body h2 a,
.portal-v3 .hero-feature-card .feature-body p {
  color: #ffffff !important;
  opacity: 1 !important;
}

.portal-v3 .hero-feature-card .feature-body p {
  color: #dce8f0 !important;
}

.portal-v3 .hero-feature-card:hover .feature-body h2 {
  color: var(--asbac-gold-2, #f2cd7a) !important;
}

.portal-v3 .hero-feature-card .feature-image img {
  transition: transform .35s ease !important;
}

.portal-v3 .hero-feature-card:hover .feature-image img {
  transform: scale(1.025) !important;
}

/* Logo do cabeçalho: aumento discreto, mantendo responsividade. */
.portal-v3 .portal-header .portal-logo {
  width: clamp(285px, 39vw, 420px) !important;
  max-width: 86vw !important;
  height: auto !important;
}

@media (max-width: 720px) {
  .portal-v3 .portal-header .portal-logo {
    width: 300px !important;
    max-width: 82vw !important;
  }
}

@media (max-width: 420px) {
  .portal-v3 .portal-header .portal-logo {
    width: 270px !important;
    max-width: 84vw !important;
  }
}
/* ASBAC AJUSTES FINAIS PORTAL V1 - FIM */

/* =========================================================
   PATCH 34.2 — CABEÇALHO MAIS COMPACTO SEM REDUZIR A LOGO
   A imagem da ASBAC é quadrada e possui transparência acima
   e abaixo. Este ajuste recorta apenas essa área vazia.
   ========================================================= */

@media (min-width: 721px) {
    .portal-header-inner {
        gap: 4px !important;
        padding-top: 8px !important;
        padding-bottom: 14px !important;
    }

    .portal-header-inner > a:first-child {
        height: clamp(205px, 21vw, 225px) !important;
        overflow: hidden !important;
        align-items: flex-start !important;
        line-height: 0 !important;
    }

    .portal-logo {
        /* Mantém exatamente a largura/tamanho visual da logo. */
        width: clamp(260px, 36vw, 390px) !important;
        max-width: 84vw !important;
        height: auto !important;
        transform: translateY(clamp(-101px, -9.4vw, -73px)) !important;
        margin: 0 auto !important;
    }

    .portal-menu {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

/* Em telas menores, preserva o cabeçalho já aprovado. */
@media (max-width: 720px) {
    .portal-header-inner > a:first-child {
        overflow: visible !important;
        height: auto !important;
    }

    .portal-logo {
        transform: none !important;
    }
}

/* =========================================================
   PATCH 34.3 — REFINAMENTO FINAL DO CABEÇALHO
   Linha dourada discreta, menu levemente elevado e
   profundidade sutil no fundo, sem alterar a logo.
   ========================================================= */

@media (min-width: 721px) {
    .portal-header,
    .site-header,
    header.portal-header {
        background:
            linear-gradient(
                180deg,
                #03283a 0%,
                #032b3f 58%,
                #062f43 100%
            ) !important;
    }

    .portal-menu {
        position: relative !important;
        transform: translateY(-10px) !important;
        padding-top: 14px !important;
    }

    .portal-menu::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: min(560px, 72vw);
        height: 1px;
        transform: translateX(-50%);
        background: linear-gradient(
            90deg,
            rgba(231, 180, 74, 0) 0%,
            rgba(231, 180, 74, .58) 18%,
            rgba(231, 180, 74, .82) 50%,
            rgba(231, 180, 74, .58) 82%,
            rgba(231, 180, 74, 0) 100%
        );
        box-shadow: 0 1px 8px rgba(231, 180, 74, .12);
        pointer-events: none;
    }
}

/* Mobile permanece como já aprovado, sem linha nem deslocamento. */
@media (max-width: 720px) {
    .portal-menu {
        transform: none !important;
    }

    .portal-menu::before {
        display: none !important;
    }
}

/* =========================================================
   PATCH 34.4 - CABECALHO MOBILE-FIRST
   Mantem a marca grande, recorta somente a transparencia
   da imagem e recolhe a navegacao em menu hamburguer.
   ========================================================= */

.portal-mobile-actions {
    display: none;
}

@media (max-width: 720px) {
    .portal-header {
        position: relative !important;
    }

    .portal-header-inner {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        justify-items: stretch !important;
        column-gap: 12px !important;
        row-gap: 8px !important;
        padding: 10px 0 14px !important;
    }

    .portal-header-inner > a:first-child {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        height: 190px !important;
        overflow: hidden !important;
        display: flex !important;
        justify-content: center !important;
        align-items: flex-start !important;
        line-height: 0 !important;
    }

    .portal-v3 .portal-header .portal-logo,
    .portal-header .portal-logo {
        width: 390px !important;
        max-width: 106vw !important;
        height: auto !important;
        margin: 0 auto !important;
        transform: translateY(-104px) !important;
    }

    .portal-mobile-actions {
        grid-column: 1 / -1;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 12px;
        width: 100%;
        margin-top: -2px;
    }

    .portal-mobile-primary {
        min-height: 46px;
        padding: 0 22px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(242, 205, 122, .72);
        border-radius: 999px;
        color: var(--asbac-gold-2, #f2cd7a) !important;
        font-size: 16px;
        font-weight: 900;
        text-decoration: none;
    }

    .portal-menu-toggle {
        width: 48px;
        height: 46px;
        padding: 0;
        border: 1px solid rgba(242, 205, 122, .72);
        border-radius: 16px;
        background: linear-gradient(135deg, #d8ad5d, #f2cd7a);
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        cursor: pointer;
    }

    .portal-menu-toggle span {
        width: 21px;
        height: 2px;
        border-radius: 4px;
        background: #071824;
        transition: transform .2s ease, opacity .2s ease;
    }

    .portal-menu-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .portal-menu-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .portal-menu-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .portal-menu {
        grid-column: 1 / -1 !important;
        width: min(430px, 100%) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(-8px) !important;
        transition: max-height .25s ease, opacity .2s ease, transform .2s ease,
                    padding .2s ease, visibility .2s ease !important;
    }

    .portal-menu.portal-menu-open {
        max-height: 520px !important;
        padding: 10px 0 2px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }

    .portal-menu a {
        min-height: 44px;
        padding: 8px 10px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 14px;
        background: rgba(255,255,255,.045);
        font-size: 14px !important;
        line-height: 1.15 !important;
        text-align: center;
    }

    .portal-menu .portal-btn-outline {
        display: none !important;
    }

    .portal-menu .portal-btn {
        min-height: 44px !important;
        padding: 8px 12px !important;
    }

    .portal-hero-v3 {
        padding-top: 24px !important;
    }
}

@media (max-width: 420px) {
    .portal-header-inner > a:first-child {
        height: 174px !important;
    }

    .portal-v3 .portal-header .portal-logo,
    .portal-header .portal-logo {
        width: 360px !important;
        max-width: 108vw !important;
        transform: translateY(-96px) !important;
    }

    .portal-mobile-primary {
        min-height: 44px;
        padding: 0 20px;
        font-size: 15px;
    }

    .portal-menu-toggle {
        width: 46px;
        height: 44px;
    }
}
