/* Portal do Passageiro — navegação institucional e idiomas (PT/EN). */
.portal-header .portal-back-compact {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .72rem;
  border: 1px solid rgba(0, 51, 102, .22);
  border-radius: 999px;
  color: #003366;
  background: #f5f9ff;
  text-decoration: none;
  font-size: .79rem;
  font-weight: 700;
}
.portal-header .portal-back-compact:hover,
.portal-header .portal-back-compact:focus-visible {
  border-color: #0056b3;
  color: #0056b3;
}
.portal-header .portal-nav-actions { row-gap: .55rem; }
.portal-header .portal-back-website {
  display: inline-flex;
  align-items: center;
  max-width: 275px;
  font-size: .8rem;
  text-align: center;
  line-height: 1.2;
  white-space: normal;
}
.portal-header .portal-language-switch {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  flex-shrink: 0;
  padding: .35rem .65rem;
  border: 1px solid #d8e5f4;
  border-radius: 999px;
  background: #fff;
  font-size: .8rem;
  font-weight: 700;
}
.portal-header .portal-language-switch a {
  color: #6b7280;
  text-decoration: none;
  border-radius: 999px;
  padding: .17rem .3rem;
}
.portal-header .portal-language-switch a.active {
  color: #003366;
  background: #e9f2fd;
}
.portal-header .portal-language-switch a:focus-visible,
.portal-header .portal-language-switch a:hover { outline: 2px solid #0056b3; outline-offset: 2px; }
.portal-footer-access {
  background: linear-gradient(125deg, #001a33, #003366) !important;
  color: #fff !important;
  border-top: 3px solid #d9aa2c;
  margin-top: 3rem;
  padding: 0 !important;
}
.portal-footer-access a { color: #f3f7ff; text-decoration: none; font-weight: 600; }
.portal-footer-access a:hover,
.portal-footer-access a:focus-visible { color: #ffe29b; text-decoration: underline; }
.portal-footer-access .portal-footer-return {
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  padding: .55rem .85rem;
  background: rgba(255,255,255,.08);
}
@media (max-width: 1399px) {
  .portal-header .portal-nav-actions {
    justify-content: center;
    padding: .5rem .5rem .9rem;
  }
  .portal-header .portal-back-website { max-width: none; }
}
@media (min-width: 1400px) and (max-width: 1799.98px) {
  .portal-header .portal-back-compact { display: inline-flex !important; }
}
@media (max-width: 575px) {
  .portal-header .portal-back-compact { font-size: .75rem; padding: .35rem .55rem; }
  .portal-header .portal-nav-actions { flex-direction: column; align-items: stretch !important; }
  .portal-header .portal-nav-actions > a { justify-content: center; }
  .portal-header .portal-language-switch { align-self: center; }
  .portal-footer-access .portal-footer-return { width: 100%; text-align: center; }
}
