/* Hub financeiro institucional — Royal Seguros */



.fin-hub--page {

  background: linear-gradient(180deg, #eef2f8 0%, #ffffff 42%);

}



.fin-hub--terminal {

  position: relative;

}



.fin-hub__page-header--terminal {

  padding-bottom: 0.25rem;

}



.fin-hub__terminal-bar {

  display: inline-flex;

  align-items: center;

  gap: 0.5rem;

  padding: 0.5rem 0.875rem;

  border-radius: 0.5rem;

  background: #081f4d;

  border: 1px solid rgba(212, 160, 23, 0.2);

}



.fin-hub__terminal-dot {

  width: 0.5rem;

  height: 0.5rem;

  border-radius: 9999px;

  background: #22c55e;

}



.fin-hub__terminal-dot--amber {

  background: #d4a017;

}



.fin-hub__terminal-dot--muted {

  background: rgba(255, 255, 255, 0.25);

}



.fin-hub__terminal-label {

  margin-left: 0.35rem;

  font-size: 0.625rem;

  font-weight: 800;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.72);

}



/* Cards do hub principal */

.fin-hub__grid--portals {

  max-width: 100%;

}



.fin-hub__portal-card {

  position: relative;

}



.fin-hub__portal-card-accent {

  height: 4px;

  background: linear-gradient(90deg, #0a2a66 0%, #d4a017 100%);

}



.fin-hub__portal-card--arseg .fin-hub__portal-card-accent {

  background: linear-gradient(90deg, #071a42 0%, #d4a017 55%, #0a2a66 100%);

}



.fin-hub__portal-card--bna .fin-hub__portal-card-accent {

  background: linear-gradient(90deg, #0a2a66, #1e5a9e);

}



.fin-hub__portal-card--agt .fin-hub__portal-card-accent {

  background: linear-gradient(90deg, #0c3d8f, #d4a017);

}



.fin-hub__portal-card--bodiva .fin-hub__portal-card-accent {

  background: linear-gradient(90deg, #123d7a, #22c55e);

}



.fin-hub__portal-card--featured {

  grid-column: span 1;

}



@media (min-width: 1024px) {

  .fin-hub__portal-card--featured {

    transform: translateY(-2px);

  }

}



.fin-hub__portal-enter:focus-visible {

  outline: 2px solid var(--rs-royal, #0a2a66);

  outline-offset: 2px;

}



.fin-hub__banner {

  background: linear-gradient(135deg, #081f4d 0%, #0a2a66 55%, #0c3d8f 100%);

  border-bottom: 1px solid rgba(212, 160, 23, 0.25);

}



.fin-hub__banner--featured,

.fin-hub__banner--portal.fin-hub__banner--featured {

  background: linear-gradient(135deg, #071a42 0%, #0a2a66 40%, #123d7a 100%);

  box-shadow: inset 0 -1px 0 rgba(212, 160, 23, 0.35);

}



.fin-hub__banner--portal.fin-hub__banner--portal-bna {

  background: linear-gradient(135deg, #061832 0%, #0a2a66 50%, #134074 100%);

}



.fin-hub__banner--portal.fin-hub__banner--portal-agt {

  background: linear-gradient(135deg, #071a42 0%, #0c3d8f 60%, #0a2a66 100%);

}



.fin-hub__banner--portal.fin-hub__banner--portal-bodiva {

  background: linear-gradient(135deg, #081f4d 0%, #0f4d3a 45%, #0a2a66 100%);

}



/* Chips de categoria (portais) */

.fin-portal__chip {

  display: inline-flex;

  align-items: center;

  padding: 0.5rem 1rem;

  border-radius: 9999px;

  font-size: 0.8125rem;

  font-weight: 600;

  color: var(--rs-royal-dark, #081f4d);

  background: #fff;

  border: 1px solid var(--rs-border, #e2e8f0);

  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;

}



.fin-portal__chip:hover {

  border-color: rgba(212, 160, 23, 0.55);

  color: var(--rs-royal, #0a2a66);

}



.fin-portal__chip--active {

  background: var(--rs-royal, #0a2a66);

  border-color: var(--rs-royal, #0a2a66);

  color: #fff;

  box-shadow: 0 4px 14px rgba(8, 31, 77, 0.2);

}



.fin-portal__chip--active:hover {

  background: var(--rs-royal-dark, #081f4d);

  color: #fff;

}



.fin-portal__chip--ghost {

  background: #f8fafc;

}



.home-fin-hub {

  background: linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);

}



.fin-news-card {

  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;

}



.fin-news-card:hover {

  transform: translateY(-2px);

  box-shadow: 0 14px 36px rgba(8, 31, 77, 0.1);

}



.fin-news-card--featured:hover {

  box-shadow: 0 16px 40px rgba(8, 31, 77, 0.12);

}



/* Detalhe de notícia institucional */

.noticia-detail__summary-box {

  border-left: 4px solid var(--rs-gold, #d4a017);

}



.noticia-detail__notice {

  border-left: 4px solid var(--rs-gold, #d4a017);

}



.noticia-detail__actions {

  margin-top: 2.5rem;

  padding-top: 2rem;

  border-top: 1px solid var(--rs-border, #e2e8f0);

}



.noticia-detail__actions-row {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  gap: 0.875rem 1rem;

}



.noticia-detail__btn-back {

  flex: 1 1 auto;

  min-width: min(100%, 12rem);

}



.noticia-detail__cta-official {

  flex: 1 1 auto;

  min-width: min(100%, 16rem);

  background: var(--rs-royal, #0a2a66) !important;

  color: #ffffff !important;

  font-weight: 700;

  gap: 0.5rem;

  box-shadow: 0 4px 14px rgba(8, 31, 77, 0.22);

  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;

}



.noticia-detail__cta-official:hover {

  background: var(--rs-royal-dark, #081f4d) !important;

  color: #ffffff !important;

  transform: translateY(-2px);

  box-shadow: 0 8px 22px rgba(8, 31, 77, 0.28);

}



.noticia-detail__cta-icon {

  width: 1.125rem;

  height: 1.125rem;

  flex-shrink: 0;

}



.noticia-detail__cta-icon--external {

  width: 1rem;

  height: 1rem;

  opacity: 0.9;

}



.noticia-detail__unavailable {

  margin: 1rem 0 0;

  font-size: 0.875rem;

  color: var(--rs-muted, #64748b);

  font-style: italic;

}



@media (min-width: 640px) {

  .noticia-detail__actions-row {

    flex-wrap: nowrap;

  }



  .noticia-detail__btn-back,

  .noticia-detail__cta-official {

    flex: 0 1 auto;

    min-width: 0;

  }

}

/* ── Notícias estilo CNN: hero + grid ── */
.fin-news-hero__media {
  min-height: 16rem;
  background: linear-gradient(135deg, #0b2e6b 0%, #23406e 100%);
}
.fin-news-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.fin-news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -18px rgba(11, 46, 107, 0.35);
}
.fin-news-card img,
.fin-news-hero__media img {
  background: #eef2f7;
}
@media (max-width: 1023px) {
  .fin-news-hero {
    grid-template-columns: 1fr;
  }
}


