/* ============================================================
   UniSegPub — Visual App Suave / Neumorphism
   Inspiração: interface mobile clara, cartões elevados, cantos amplos
   e navegação inferior. Esta camada altera apenas aparência.
   ============================================================ */

:root {
  --app-soft-bg: #eef0f4;
  --app-soft-panel: #e9ebf1;
  --app-soft-card: #f1f2f6;
  --app-soft-card-2: #e3e6ed;
  --app-soft-text: #2a2d34;
  --app-soft-muted: #69707d;
  --app-soft-border: rgba(255, 255, 255, 0.78);
  --app-soft-shadow-dark: rgba(118, 124, 138, 0.34);
  --app-soft-shadow-light: rgba(255, 255, 255, 0.96);
  --app-soft-shadow: 16px 16px 34px var(--app-soft-shadow-dark), -16px -16px 34px var(--app-soft-shadow-light);
  --app-soft-shadow-small: 9px 9px 18px rgba(118, 124, 138, 0.26), -9px -9px 18px rgba(255,255,255,0.95);
  --app-soft-shadow-inset: inset 6px 6px 12px rgba(118, 124, 138, 0.18), inset -6px -6px 12px rgba(255,255,255,0.86);
  --app-soft-radius-xl: 38px;
  --app-soft-radius-lg: 28px;
  --app-soft-radius-md: 20px;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--app-soft-bg) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg width='900' height='900' viewBox='0 0 900 900' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23cbd0d9' stroke-width='2' stroke-opacity='.38'%3E%3Cpath d='M-100 76c145-34 270-21 376 40 145 83 260 88 390 11 88-52 191-64 314-34'/%3E%3Cpath d='M-93 142c138-38 266-28 383 31 151 77 278 74 389-9 84-63 186-82 304-56'/%3E%3Cpath d='M-110 235c117-42 237-46 360-13 171 46 305 29 402-51 92-76 206-105 344-83'/%3E%3Cpath d='M-125 343c143-55 276-55 399 2 142 66 267 59 374-23 100-77 220-104 361-80'/%3E%3Cpath d='M-102 472c119-34 236-30 352 12 166 60 307 47 423-37 96-70 207-91 333-63'/%3E%3Cpath d='M-100 610c140-54 268-51 383 9 146 76 283 71 411-15 86-58 187-71 305-38'/%3E%3Cpath d='M-95 742c123-40 242-38 357 5 164 62 302 52 414-31 90-67 198-87 322-61'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 18% 8%, rgba(255,255,255,0.95), transparent 30%),
    radial-gradient(circle at 82% 12%, rgba(255,255,255,0.58), transparent 26%);
  background-size: 980px 980px, auto, auto !important;
  background-attachment: fixed, fixed, fixed !important;
  color: var(--app-soft-text) !important;
  padding-bottom: 110px !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 14px;
  pointer-events: none;
  border-radius: 42px;
  border: 1px solid rgba(255,255,255,0.55);
  opacity: .42;
  z-index: -1;
}

body[data-theme="dark"],
[data-theme="dark"] body {
  --app-soft-bg: #11151c;
  --app-soft-panel: #171c25;
  --app-soft-card: #1c222d;
  --app-soft-card-2: #141923;
  --app-soft-text: #f3f5f8;
  --app-soft-muted: #a7afbd;
  --app-soft-border: rgba(255, 255, 255, 0.08);
  --app-soft-shadow-dark: rgba(0, 0, 0, 0.42);
  --app-soft-shadow-light: rgba(255, 255, 255, 0.04);
  background-image:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,0.06), transparent 30%),
    radial-gradient(circle at 82% 12%, rgba(255,255,255,0.04), transparent 26%) !important;
}

/* Estrutura geral em formato de app/card central */
.site-header,
main.page-section,
.ad-slot--footer,
footer {
  width: min(1120px, calc(100% - 28px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.site-header {
  margin-top: 18px !important;
  margin-bottom: 18px !important;
  padding: clamp(16px, 2.4vw, 28px) !important;
  border: 1px solid var(--app-soft-border) !important;
  border-radius: var(--app-soft-radius-xl) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.74), rgba(228,231,238,0.92)) !important;
  box-shadow: var(--app-soft-shadow) !important;
  overflow: hidden !important;
}

[data-theme="dark"] .site-header,
body[data-theme="dark"] .site-header {
  background: linear-gradient(145deg, rgba(32,38,50,0.96), rgba(19,23,32,0.96)) !important;
}

.site-header::before,
.site-header::after,
.stripe-container {
  display: none !important;
}

.header-content,
.header-shell {
  max-width: none !important;
  padding: 0 !important;
}

.header-topbar {
  align-items: center !important;
  gap: 18px !important;
}

.header-menu-tools {
  gap: 12px !important;
}

.menu-btn,
.theme-toggle-header,
.close-btn,
.app-floating-action,
.app-bottom-item {
  border: 1px solid var(--app-soft-border) !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg, #f7f8fb, #dde1e9) !important;
  color: var(--app-soft-text) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.menu-btn:hover,
.theme-toggle-header:hover,
.close-btn:hover,
.app-floating-action:hover,
.app-bottom-item:hover {
  transform: translateY(-2px) !important;
}

.menu-btn:active,
.theme-toggle-header:active,
.close-btn:active,
.app-floating-action:active,
.app-bottom-item:active {
  transform: translateY(1px) !important;
  box-shadow: var(--app-soft-shadow-inset) !important;
}

.menu-btn span {
  background: var(--app-soft-text) !important;
}

.header-brand-block h1 {
  color: var(--app-soft-text) !important;
  text-shadow: none !important;
  letter-spacing: .2px !important;
}

.header-brand-block h1 span {
  color: var(--app-soft-text) !important;
}

.header-independent-note,
.header-current-label,
.header-current-copy small,
.header-desc {
  color: var(--app-soft-muted) !important;
  background: rgba(255,255,255,0.45) !important;
  border-color: rgba(255,255,255,0.62) !important;
  box-shadow: none !important;
}

.header-institution-card,
.principal-hero,
.principal-card,
.card,
.consulta-instituicao-card,
.poderes-resultado,
.brasoes-historia-resultado,
.comparador-topo,
.comparador-select-panel,
.comparador-selecionadas,
.remuneracao-stat,
.ad-slot--card,
.ad-slot--inline,
.ad-slot--hero,
.produto-card,
.curso-card,
.field,
.principal-como-usar,
.principal-nota,
.portal-disclaimer,
.result-list,
.alerta,
.success {
  border: 1px solid var(--app-soft-border) !important;
  border-radius: var(--app-soft-radius-lg) !important;
  background: linear-gradient(145deg, rgba(255,255,255,0.72), rgba(226,230,238,0.94)) !important;
  color: var(--app-soft-text) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  overflow: hidden;
}

[data-theme="dark"] .header-institution-card,
[data-theme="dark"] .principal-hero,
[data-theme="dark"] .principal-card,
[data-theme="dark"] .card,
[data-theme="dark"] .consulta-instituicao-card,
[data-theme="dark"] .poderes-resultado,
[data-theme="dark"] .brasoes-historia-resultado,
[data-theme="dark"] .comparador-topo,
[data-theme="dark"] .comparador-select-panel,
[data-theme="dark"] .comparador-selecionadas,
[data-theme="dark"] .remuneracao-stat,
[data-theme="dark"] .ad-slot--card,
[data-theme="dark"] .ad-slot--inline,
[data-theme="dark"] .ad-slot--hero,
[data-theme="dark"] .produto-card,
[data-theme="dark"] .curso-card,
[data-theme="dark"] .field,
[data-theme="dark"] .principal-como-usar,
[data-theme="dark"] .principal-nota,
[data-theme="dark"] .portal-disclaimer,
[data-theme="dark"] .result-list,
[data-theme="dark"] .alerta,
[data-theme="dark"] .success {
  background: linear-gradient(145deg, rgba(33,39,52,0.96), rgba(18,22,31,0.96)) !important;
}

.header-institution-card {
  padding: clamp(18px, 2.5vw, 30px) !important;
}

.header-current-identity {
  min-height: auto !important;
}

.current-flag-frame,
.current-flag-frame.brand-logo-frame,
.current-flag-frame.institution-logo-frame {
  border-radius: 28px !important;
  background: linear-gradient(145deg, #f9fafc, #dfe3ec) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
  border: 1px solid rgba(255,255,255,.86) !important;
}

.current-flag-frame img,
.current-flag-frame.brand-logo-frame img,
.current-flag-frame.institution-logo-frame img {
  border-radius: 22px !important;
  background: transparent !important;
}

.header-current-copy strong,
.header-current-copy p,
.header-facts-head span,
.header-facts-head strong,
.header-fact span,
.header-fact strong,
.header-leadership-item span,
.header-leadership-item strong {
  color: var(--app-soft-text) !important;
  text-shadow: none !important;
}

.header-current-copy p,
.header-fact span,
.header-leadership-item span,
.principal-subtitle,
.principal-card p,
.principal-section-title p,
.como-usar-step span,
.small-note,
.ad-placeholder-link small,
.produto-card p,
.curso-card p {
  color: var(--app-soft-muted) !important;
}

.header-facts-panel,
.header-fact,
.header-leadership-item {
  border: 1px solid var(--app-soft-border) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,0.42) !important;
  box-shadow: none !important;
}

.header-controls-grid {
  gap: 14px !important;
}

.header-inst-selector,
.inst-selector,
.sidebar-inst-panel {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
}

select,
input,
textarea,
button,
.btn-primary,
.btn-secondary,
.btn-submit,
.principal-btn,
.branch-option,
.comparador-add-btn,
.comparador-toggle-lista,
.ad-button {
  border-radius: 18px !important;
}

select,
input,
textarea {
  border: 1px solid var(--app-soft-border) !important;
  background: linear-gradient(145deg, #f7f8fb, #e1e4ec) !important;
  color: var(--app-soft-text) !important;
  box-shadow: var(--app-soft-shadow-inset) !important;
}

[data-theme="dark"] select,
[data-theme="dark"] input,
[data-theme="dark"] textarea {
  background: linear-gradient(145deg, #1d2430, #121722) !important;
}

.principal-title,
.principal-section-title h2,
.card h2,
.card h3,
.principal-card h3,
.curso-section-title h2,
.sidebar-brand strong {
  color: var(--app-soft-text) !important;
  text-shadow: none !important;
}

.principal-title {
  font-size: clamp(27.2px, 4vw, 46.4px) !important;
  letter-spacing: -0.03em !important;
}

.principal-eyebrow,
.principal-tag,
.ad-label {
  border: 1px solid rgba(255,255,255,.74) !important;
  background: rgba(255,255,255,.38) !important;
  color: var(--app-soft-text) !important;
  box-shadow: none !important;
}

.principal-card,
.produto-card,
.curso-card,
.como-usar-step,
.remuneracao-stat {
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.principal-card:hover,
.produto-card:hover,
.curso-card:hover,
.como-usar-step:hover,
.remuneracao-stat:hover {
  transform: translateY(-4px) !important;
  box-shadow: 18px 18px 34px rgba(118,124,138,.30), -14px -14px 28px rgba(255,255,255,.92) !important;
}

.principal-card-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #f8f9fc, #dde1ea) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
}

.principal-actions {
  gap: 14px !important;
}

.principal-btn,
.btn-primary,
.btn-secondary,
.btn-submit,
.ad-button,
.comparador-add-btn,
.comparador-toggle-lista {
  border: 1px solid var(--app-soft-border) !important;
  background: linear-gradient(145deg, #f7f8fb, #dde1e9) !important;
  color: var(--app-soft-text) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
}

.principal-btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-submit:hover,
.ad-button:hover,
.comparador-add-btn:hover,
.comparador-toggle-lista:hover {
  transform: translateY(-2px) !important;
  color: var(--app-soft-text) !important;
}

/* Sidebar também vira painel de app */
.menu-overlay.active {
  background: rgba(216, 220, 228, .54) !important;
  backdrop-filter: blur(10px) !important;
}

.sidebar {
  width: min(372px, calc(100vw - 30px)) !important;
  left: calc(-1 * min(390px, 100vw)) !important;
  margin: 14px 0 14px 14px !important;
  height: calc(100vh - 28px) !important;
  border: 1px solid var(--app-soft-border) !important;
  border-radius: 34px !important;
  background: linear-gradient(145deg, rgba(247,248,251,.98), rgba(226,230,238,.98)) !important;
  box-shadow: var(--app-soft-shadow) !important;
}

.sidebar.active {
  left: 0 !important;
}

.sidebar-header {
  border: 0 !important;
  background: transparent !important;
}

.sidebar-nav a,
.sidebar-social-btn,
.sidebar-product,
.sidebar-ad a {
  margin: 5px 14px !important;
  border-radius: 18px !important;
  border-left: 0 !important;
  background: rgba(255,255,255,.32) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.48) !important;
}

.sidebar-nav a.active {
  color: var(--app-soft-text) !important;
  background: linear-gradient(145deg, #f9fafc, #dfe3ec) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
}

/* Tabelas e resultados em cartões arredondados */
.remuneracao-table-wrap,
.comparador-table-wrap {
  border-radius: 26px !important;
  box-shadow: var(--app-soft-shadow-small) !important;
  border: 1px solid var(--app-soft-border) !important;
  overflow: auto !important;
}

.remuneracao-table,
.comparador-table {
  background: transparent !important;
}

/* Controles flutuantes inspirados no app da referência */
.app-floating-actions {
  position: fixed;
  z-index: 90;
  top: 22px;
  left: 50%;
  width: min(1120px, calc(100% - 38px));
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.app-floating-action {
  pointer-events: auto;
  width: 56px;
  height: 56px;
  display: inline-grid;
  place-items: center;
  text-decoration: none;
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
}

.app-floating-action span,
.app-bottom-nav .menu-btn span {
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  display: block !important;
}

/* Navegação inferior mobile/app */
.app-bottom-nav {
  position: fixed;
  z-index: 95;
  left: 50%;
  bottom: max(12px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(560px, calc(100% - 28px));
  padding: 10px;
  border: 1px solid var(--app-soft-border);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(247,248,251,.92), rgba(226,230,238,.92));
  box-shadow: var(--app-soft-shadow);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}

.app-bottom-item {
  min-width: 0;
  height: 62px;
  padding: 7px 4px !important;
  text-decoration: none;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 3px !important;
  font: 700 10px/1.05 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
}

.app-bottom-icon {
  font-size: 22px;
  line-height: 1;
}

.app-bottom-label {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

body[data-page="principal"] .app-bottom-item[href="index.html"],
body[data-page="remuneracao"] .app-bottom-item[href="remuneracao.html"],
body[data-page="concursos"] .app-bottom-item[href="concursos.html"],
body[data-page="comparar"] .app-bottom-item[href="comparar-carreiras.html"] {
  box-shadow: var(--app-soft-shadow-inset) !important;
  background: linear-gradient(145deg, #dde1ea, #f7f8fb) !important;
}

footer {
  margin-top: 24px !important;
  margin-bottom: 116px !important;
  border-radius: var(--app-soft-radius-lg) !important;
  background: rgba(233,235,241,.78) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
  color: var(--app-soft-muted) !important;
}

footer strong,
footer .footer-disclaimer strong {
  color: var(--app-soft-text) !important;
}

/* Ajustes mobile: fica mais parecido com tela de aplicativo */
@media (max-width: 760px) {
  body {
    padding-bottom: 106px !important;
  }

  body::before {
    inset: 8px;
    border-radius: 36px;
  }

  .site-header,
  main.page-section,
  .ad-slot--footer,
  footer {
    width: min(100% - 22px, 520px) !important;
  }

  .site-header {
    margin-top: 76px !important;
    border-radius: 42px !important;
    padding: 14px !important;
  }

  main.page-section {
    margin-top: 16px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .header-topbar {
    display: none !important;
  }

  .header-institution-main,
  .header-controls-grid,
  .principal-grid,
  .como-usar-grid,
  .consulta-instituicao-grid,
  .remuneracao-resumo-grid,
  .comparador-resumo-grid,
  .curso-grid {
    grid-template-columns: 1fr !important;
  }

  .header-current-identity {
    align-items: center !important;
    text-align: left !important;
    min-height: 0 !important;
    padding: 6px 0 14px !important;
  }

  .header-current-copy strong {
    font-size: clamp(28px, 10vw, 42px) !important;
  }

  .header-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .principal-hero,
  .header-institution-card,
  .principal-card,
  .card,
  .consulta-instituicao-card,
  .poderes-resultado,
  .brasoes-historia-resultado,
  .comparador-topo,
  .comparador-select-panel,
  .comparador-selecionadas,
  .principal-como-usar,
  .principal-nota,
  .ad-slot--card,
  .ad-slot--inline,
  .ad-slot--hero,
  .produto-card,
  .curso-card {
    border-radius: 30px !important;
  }

  .principal-title {
    font-size: clamp(25.6px, 10.4vw, 41.6px) !important;
  }

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

  .app-floating-actions {
    top: 16px;
    width: min(520px, calc(100% - 44px));
  }

  .app-floating-action {
    width: 54px;
    height: 54px;
    border-radius: 16px !important;
  }
}

@media (min-width: 761px) {
  .app-floating-actions {
    top: 26px;
  }

  .app-bottom-nav {
    width: min(560px, calc(100% - 40px));
  }
}

@media (max-width: 390px) {
  .app-bottom-label {
    font-size: 9px;
  }

  .app-bottom-icon {
    font-size: 20px;
  }

  .app-bottom-nav {
    gap: 6px;
    padding: 8px;
  }
}


/* ============================================================
   Ajustes v2 — contraste mais alto, paleta cinza/preto/branco,
   e prevenção de sobreposição em desktop.
   ============================================================ */

:root {
  --app-soft-bg: #121315;
  --app-soft-panel: #1a1c1f;
  --app-soft-card: #202327;
  --app-soft-card-2: #17191d;
  --app-soft-text: #f3f4f6;
  --app-soft-muted: #c4c8cf;
  --app-soft-border: rgba(255, 255, 255, 0.10);
  --app-soft-shadow-dark: rgba(0, 0, 0, 0.55);
  --app-soft-shadow-light: rgba(255, 255, 255, 0.03);
  --app-soft-shadow: 14px 14px 28px var(--app-soft-shadow-dark), -8px -8px 18px var(--app-soft-shadow-light);
  --app-soft-shadow-small: 7px 7px 15px rgba(0, 0, 0, 0.48), -4px -4px 10px rgba(255,255,255,0.03);
  --app-soft-shadow-inset: inset 4px 4px 10px rgba(0, 0, 0, 0.45), inset -3px -3px 8px rgba(255,255,255,0.03);
}

body {
  background-color: var(--app-soft-bg) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg width='900' height='900' viewBox='0 0 900 900' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2' stroke-opacity='.055'%3E%3Cpath d='M-100 76c145-34 270-21 376 40 145 83 260 88 390 11 88-52 191-64 314-34'/%3E%3Cpath d='M-93 142c138-38 266-28 383 31 151 77 278 74 389-9 84-63 186-82 304-56'/%3E%3Cpath d='M-110 235c117-42 237-46 360-13 171 46 305 29 402-51 92-76 206-105 344-83'/%3E%3Cpath d='M-125 343c143-55 276-55 399 2 142 66 267 59 374-23 100-77 220-104 361-80'/%3E%3Cpath d='M-102 472c119-34 236-30 352 12 166 60 307 47 423-37 96-70 207-91 333-63'/%3E%3Cpath d='M-100 610c140-54 268-51 383 9 146 76 283 71 411-15 86-58 187-71 305-38'/%3E%3Cpath d='M-95 742c123-40 242-38 357 5 164 62 302 52 414-31 90-67 198-87 322-61'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 18% 8%, rgba(255,255,255,0.04), transparent 30%),
    radial-gradient(circle at 82% 12%, rgba(255,255,255,0.03), transparent 26%) !important;
  color: var(--app-soft-text) !important;
}

body::before {
  border: 1px solid rgba(255,255,255,0.06) !important;
  opacity: .6;
}

.site-header {
  background: linear-gradient(145deg, rgba(33,35,39,0.96), rgba(20,21,24,0.98)) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.menu-btn,
.theme-toggle-header,
.close-btn,
.app-floating-action,
.app-bottom-item,
.principal-btn,
.btn-primary,
.btn-secondary,
.btn-submit,
.ad-button,
.comparador-add-btn,
.comparador-toggle-lista {
  background: linear-gradient(145deg, #2b2f34, #17191d) !important;
  color: #f6f7f9 !important;
  border-color: rgba(255,255,255,0.12) !important;
}

.menu-btn span {
  background: #f6f7f9 !important;
}

.current-flag-frame,
.current-flag-frame.brand-logo-frame,
.current-flag-frame.institution-logo-frame,
.principal-card-icon {
  background: linear-gradient(145deg, #2a2d31, #17191d) !important;
  border-color: rgba(255,255,255,.08) !important;
}

.header-independent-note,
.header-current-label,
.header-current-copy small,
.header-desc,
.header-facts-panel,
.header-fact,
.header-leadership-item,
.principal-eyebrow,
.principal-tag,
.ad-label,
.sidebar-nav a,
.sidebar-social-btn,
.sidebar-product,
.sidebar-ad a {
  background: rgba(255,255,255,0.05) !important;
  color: var(--app-soft-muted) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.header-institution-card,
.principal-hero,
.principal-card,
.card,
.consulta-instituicao-card,
.poderes-resultado,
.brasoes-historia-resultado,
.comparador-topo,
.comparador-select-panel,
.comparador-selecionadas,
.remuneracao-stat,
.ad-slot--card,
.ad-slot--inline,
.ad-slot--hero,
.produto-card,
.curso-card,
.field,
.principal-como-usar,
.principal-nota,
.portal-disclaimer,
.result-list,
.alerta,
.success,
.remuneracao-table-wrap,
.comparador-table-wrap,
footer {
  background: linear-gradient(145deg, rgba(35,37,41,0.98), rgba(21,22,26,0.98)) !important;
  border-color: rgba(255,255,255,0.08) !important;
  color: var(--app-soft-text) !important;
}

.sidebar {
  background: linear-gradient(145deg, rgba(32,34,38,0.98), rgba(17,18,22,0.98)) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.sidebar-nav a.active,
body[data-page="principal"] .app-bottom-item[href="index.html"],
body[data-page="remuneracao"] .app-bottom-item[href="remuneracao.html"],
body[data-page="concursos"] .app-bottom-item[href="concursos.html"],
body[data-page="comparar"] .app-bottom-item[href="comparar-carreiras.html"] {
  background: linear-gradient(145deg, #3a3f45, #1f2227) !important;
  color: #ffffff !important;
}

select,
input,
textarea {
  background: linear-gradient(145deg, #272b30, #17191d) !important;
  color: #f5f6f8 !important;
  border-color: rgba(255,255,255,0.10) !important;
}

select option {
  background: #1b1d21;
  color: #f3f4f6;
}

::placeholder {
  color: #aeb4be !important;
  opacity: 1;
}

.header-brand-block h1,
.header-brand-block h1 span,
.header-current-copy strong,
.header-current-copy p,
.header-facts-head strong,
.header-facts-head span,
.header-fact strong,
.header-fact span,
.header-leadership-item strong,
.header-leadership-item span,
.principal-title,
.principal-section-title h2,
.card h2,
.card h3,
.principal-card h3,
.curso-section-title h2,
.sidebar-brand strong,
footer strong,
footer .footer-disclaimer strong,
.remuneracao-table,
.comparador-table,
.remuneracao-table th,
.remuneracao-table td,
.comparador-table th,
.comparador-table td,
label,
legend,
strong,
.summary-card strong,
.summary-card span,
.result-list,
.result-list * {
  color: var(--app-soft-text) !important;
}

.header-current-copy small,
.header-fact span,
.header-leadership-item span,
.principal-subtitle,
.principal-card p,
.principal-section-title p,
.como-usar-step span,
.small-note,
.ad-placeholder-link small,
.produto-card p,
.curso-card p,
footer,
.footer-disclaimer,
.remuneracao-table .small,
.comparador-table .small,
.card p,
.card li,
.card ul,
.card ol,
.portal-disclaimer p,
.alerta p,
.success p {
  color: var(--app-soft-muted) !important;
}

.app-bottom-nav {
  background: linear-gradient(145deg, rgba(34,36,40,.95), rgba(18,19,23,.95)) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.menu-overlay.active {
  background: rgba(0,0,0,.56) !important;
}

/* Evita sobreposição dos controles extras em desktop */
@media (min-width: 761px) {
  .app-floating-actions,
  .app-bottom-nav {
    display: none !important;
  }

  body {
    padding-bottom: 32px !important;
  }

  footer {
    margin-bottom: 32px !important;
  }
}

/* Mobile: mais contraste e menos chance de botões encavalados */
@media (max-width: 760px) {
  .app-floating-actions {
    top: 12px !important;
    width: min(520px, calc(100% - 32px)) !important;
    z-index: 80 !important;
  }

  .app-floating-action {
    width: 50px !important;
    height: 50px !important;
  }

  .site-header {
    margin-top: 80px !important;
  }

  .app-bottom-nav {
    z-index: 85 !important;
    width: min(520px, calc(100% - 20px)) !important;
  }

  .app-bottom-item {
    min-height: 58px !important;
  }

  body {
    padding-bottom: 118px !important;
  }

  footer {
    margin-bottom: 126px !important;
  }
}


/* ============================================================
   Ajustes v3 — botão de tema no topo e tema claro legível.
   ============================================================ */

.app-floating-action--theme {
  font-size: 24px !important;
  font-weight: 700 !important;
}

html[data-theme="light"] {
  --app-soft-bg: #e7eaee;
  --app-soft-panel: #eceff4;
  --app-soft-card: #f2f4f7;
  --app-soft-card-2: #e5e8ee;
  --app-soft-text: #15191f;
  --app-soft-muted: #515866;
  --app-soft-border: rgba(255, 255, 255, 0.72);
  --app-soft-shadow-dark: rgba(134, 141, 153, 0.28);
  --app-soft-shadow-light: rgba(255, 255, 255, 0.96);
  --app-soft-shadow: 14px 14px 28px var(--app-soft-shadow-dark), -12px -12px 28px var(--app-soft-shadow-light);
  --app-soft-shadow-small: 8px 8px 16px rgba(134, 141, 153, 0.24), -7px -7px 15px rgba(255,255,255,0.96);
  --app-soft-shadow-inset: inset 5px 5px 12px rgba(134, 141, 153, 0.16), inset -5px -5px 12px rgba(255,255,255,0.92);
}

html[data-theme="light"] body {
  background-color: var(--app-soft-bg) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg width='900' height='900' viewBox='0 0 900 900' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23aeb4bf' stroke-width='2' stroke-opacity='.22'%3E%3Cpath d='M-100 76c145-34 270-21 376 40 145 83 260 88 390 11 88-52 191-64 314-34'/%3E%3Cpath d='M-93 142c138-38 266-28 383 31 151 77 278 74 389-9 84-63 186-82 304-56'/%3E%3Cpath d='M-110 235c117-42 237-46 360-13 171 46 305 29 402-51 92-76 206-105 344-83'/%3E%3Cpath d='M-125 343c143-55 276-55 399 2 142 66 267 59 374-23 100-77 220-104 361-80'/%3E%3Cpath d='M-102 472c119-34 236-30 352 12 166 60 307 47 423-37 96-70 207-91 333-63'/%3E%3Cpath d='M-100 610c140-54 268-51 383 9 146 76 283 71 411-15 86-58 187-71 305-38'/%3E%3Cpath d='M-95 742c123-40 242-38 357 5 164 62 302 52 414-31 90-67 198-87 322-61'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 18% 8%, rgba(255,255,255,0.84), transparent 30%),
    radial-gradient(circle at 82% 12%, rgba(255,255,255,0.52), transparent 26%) !important;
  color: var(--app-soft-text) !important;
}

html[data-theme="light"] body::before {
  border-color: rgba(255,255,255,0.56) !important;
}

html[data-theme="light"] .site-header {
  background: linear-gradient(145deg, rgba(247,248,251,0.98), rgba(228,232,239,0.98)) !important;
  border-color: rgba(255,255,255,0.82) !important;
}

html[data-theme="light"] .menu-btn,
html[data-theme="light"] .theme-toggle-header,
html[data-theme="light"] .close-btn,
html[data-theme="light"] .app-floating-action,
html[data-theme="light"] .app-bottom-item,
html[data-theme="light"] .principal-btn,
html[data-theme="light"] .btn-primary,
html[data-theme="light"] .btn-secondary,
html[data-theme="light"] .btn-submit,
html[data-theme="light"] .ad-button,
html[data-theme="light"] .comparador-add-btn,
html[data-theme="light"] .comparador-toggle-lista {
  background: linear-gradient(145deg, #f8f9fb, #dde2ea) !important;
  color: #171b21 !important;
  border-color: rgba(255,255,255,0.82) !important;
}

html[data-theme="light"] .menu-btn span {
  background: #171b21 !important;
}

html[data-theme="light"] .current-flag-frame,
html[data-theme="light"] .current-flag-frame.brand-logo-frame,
html[data-theme="light"] .current-flag-frame.institution-logo-frame,
html[data-theme="light"] .principal-card-icon {
  background: linear-gradient(145deg, #f8f9fb, #dde2ea) !important;
  border-color: rgba(255,255,255,.82) !important;
}

html[data-theme="light"] .header-independent-note,
html[data-theme="light"] .header-current-label,
html[data-theme="light"] .header-current-copy small,
html[data-theme="light"] .header-desc,
html[data-theme="light"] .header-facts-panel,
html[data-theme="light"] .header-fact,
html[data-theme="light"] .header-leadership-item,
html[data-theme="light"] .principal-eyebrow,
html[data-theme="light"] .principal-tag,
html[data-theme="light"] .ad-label,
html[data-theme="light"] .sidebar-nav a,
html[data-theme="light"] .sidebar-social-btn,
html[data-theme="light"] .sidebar-product,
html[data-theme="light"] .sidebar-ad a {
  background: rgba(255,255,255,0.42) !important;
  color: var(--app-soft-muted) !important;
  border-color: rgba(255,255,255,0.65) !important;
}

html[data-theme="light"] .header-institution-card,
html[data-theme="light"] .principal-hero,
html[data-theme="light"] .principal-card,
html[data-theme="light"] .card,
html[data-theme="light"] .consulta-instituicao-card,
html[data-theme="light"] .poderes-resultado,
html[data-theme="light"] .brasoes-historia-resultado,
html[data-theme="light"] .comparador-topo,
html[data-theme="light"] .comparador-select-panel,
html[data-theme="light"] .comparador-selecionadas,
html[data-theme="light"] .remuneracao-stat,
html[data-theme="light"] .ad-slot--card,
html[data-theme="light"] .ad-slot--inline,
html[data-theme="light"] .ad-slot--hero,
html[data-theme="light"] .produto-card,
html[data-theme="light"] .curso-card,
html[data-theme="light"] .field,
html[data-theme="light"] .principal-como-usar,
html[data-theme="light"] .principal-nota,
html[data-theme="light"] .portal-disclaimer,
html[data-theme="light"] .result-list,
html[data-theme="light"] .alerta,
html[data-theme="light"] .success,
html[data-theme="light"] .remuneracao-table-wrap,
html[data-theme="light"] .comparador-table-wrap,
html[data-theme="light"] footer {
  background: linear-gradient(145deg, rgba(246,247,250,0.98), rgba(228,232,239,0.98)) !important;
  border-color: rgba(255,255,255,0.82) !important;
  color: var(--app-soft-text) !important;
}

html[data-theme="light"] .sidebar {
  background: linear-gradient(145deg, rgba(246,247,250,0.98), rgba(228,232,239,0.98)) !important;
  border-color: rgba(255,255,255,0.82) !important;
}

html[data-theme="light"] .sidebar-nav a.active,
html[data-theme="light"] body[data-page="principal"] .app-bottom-item[href="index.html"],
html[data-theme="light"] body[data-page="remuneracao"] .app-bottom-item[href="remuneracao.html"],
html[data-theme="light"] body[data-page="concursos"] .app-bottom-item[href="concursos.html"],
html[data-theme="light"] body[data-page="comparar"] .app-bottom-item[href="comparar-carreiras.html"] {
  background: linear-gradient(145deg, #dee3eb, #f7f8fb) !important;
  color: #11151c !important;
}

html[data-theme="light"] select,
html[data-theme="light"] input,
html[data-theme="light"] textarea {
  background: linear-gradient(145deg, #f8f9fb, #e1e5ed) !important;
  color: #15191f !important;
  border-color: rgba(255,255,255,0.82) !important;
}

html[data-theme="light"] select option {
  background: #f6f8fb;
  color: #15191f;
}

html[data-theme="light"] ::placeholder {
  color: #68717e !important;
}

html[data-theme="light"] .header-brand-block h1,
html[data-theme="light"] .header-brand-block h1 span,
html[data-theme="light"] .header-current-copy strong,
html[data-theme="light"] .header-current-copy p,
html[data-theme="light"] .header-facts-head strong,
html[data-theme="light"] .header-facts-head span,
html[data-theme="light"] .header-fact strong,
html[data-theme="light"] .header-fact span,
html[data-theme="light"] .header-leadership-item strong,
html[data-theme="light"] .header-leadership-item span,
html[data-theme="light"] .principal-title,
html[data-theme="light"] .principal-section-title h2,
html[data-theme="light"] .card h2,
html[data-theme="light"] .card h3,
html[data-theme="light"] .principal-card h3,
html[data-theme="light"] .curso-section-title h2,
html[data-theme="light"] .sidebar-brand strong,
html[data-theme="light"] footer strong,
html[data-theme="light"] footer .footer-disclaimer strong,
html[data-theme="light"] .remuneracao-table,
html[data-theme="light"] .comparador-table,
html[data-theme="light"] .remuneracao-table th,
html[data-theme="light"] .remuneracao-table td,
html[data-theme="light"] .comparador-table th,
html[data-theme="light"] .comparador-table td,
html[data-theme="light"] label,
html[data-theme="light"] legend,
html[data-theme="light"] strong,
html[data-theme="light"] .summary-card strong,
html[data-theme="light"] .summary-card span,
html[data-theme="light"] .result-list,
html[data-theme="light"] .result-list * {
  color: var(--app-soft-text) !important;
}

html[data-theme="light"] .header-current-copy small,
html[data-theme="light"] .header-fact span,
html[data-theme="light"] .header-leadership-item span,
html[data-theme="light"] .principal-subtitle,
html[data-theme="light"] .principal-card p,
html[data-theme="light"] .principal-section-title p,
html[data-theme="light"] .como-usar-step span,
html[data-theme="light"] .small-note,
html[data-theme="light"] .ad-placeholder-link small,
html[data-theme="light"] .produto-card p,
html[data-theme="light"] .curso-card p,
html[data-theme="light"] footer,
html[data-theme="light"] .footer-disclaimer,
html[data-theme="light"] .remuneracao-table .small,
html[data-theme="light"] .comparador-table .small,
html[data-theme="light"] .card p,
html[data-theme="light"] .card li,
html[data-theme="light"] .card ul,
html[data-theme="light"] .card ol,
html[data-theme="light"] .portal-disclaimer p,
html[data-theme="light"] .alerta p,
html[data-theme="light"] .success p {
  color: var(--app-soft-muted) !important;
}

html[data-theme="light"] .app-bottom-nav {
  background: linear-gradient(145deg, rgba(246,247,250,.95), rgba(228,232,239,.95)) !important;
  border-color: rgba(255,255,255,0.82) !important;
}

html[data-theme="light"] .menu-overlay.active {
  background: rgba(180, 186, 196, .42) !important;
}

/* Acessibilidade: foco de teclado visível em elementos interativos */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--dourado, #f4c542);
  outline-offset: 3px;
  border-radius: 10px;
}


/* =======================================================
   AJUSTE DE LEGIBILIDADE DOS TÍTULOS DOS CAMPOS
   Mantém o desenho dos inputs/selects e só evita que o texto
   do label seja recortado pelas bordas arredondadas do bloco.
   ======================================================= */
.field {
  overflow: visible !important;
}

.field > label {
  max-width: calc(100% - 32px) !important;
  margin: 0 16px 7px 18px !important;
  line-height: 1.25 !important;
  min-height: 1.25em !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  flex-wrap: wrap !important;
  position: relative;
  z-index: 2;
}

.field > input,
.field > select,
.field > textarea {
  position: relative;
  z-index: 1;
}

/* =======================================================
   AJUSTE DO RESUMO DO CABEÇALHO
   Integra o resumo do portal/institucional em um painel único,
   preservando as informações e garantindo a porcentagem no mobile.
   ======================================================= */
.header-facts-panel {
  --usp-summary-panel-bg: linear-gradient(145deg, rgba(32, 35, 42, 0.84), rgba(18, 20, 27, 0.74));
  --usp-summary-sheet-bg: rgba(255,255,255,0.035);
  --usp-summary-divider: rgba(255,255,255,0.105);
  --usp-summary-muted: rgba(255,255,255,0.66);
  --usp-summary-text: #f8fafc;
  --usp-summary-accent-bg: linear-gradient(135deg, color-mix(in srgb, var(--vermelho) 24%, rgba(255,255,255,0.035)), rgba(255,255,255,0.035));
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: clamp(14px, 1.5vw, 18px) !important;
  border: 1px solid rgba(255,255,255,0.13) !important;
  border-left: 3px solid color-mix(in srgb, var(--vermelho) 70%, rgba(255,255,255,0.18)) !important;
  border-radius: 24px !important;
  background: var(--usp-summary-panel-bg) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.09), 0 18px 42px rgba(0,0,0,0.24) !important;
  overflow: hidden !important;
}

.header-facts-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 11px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--usp-summary-divider) !important;
}

.header-facts-head span {
  color: var(--usp-summary-muted) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: .13em !important;
  text-shadow: none !important;
}

.header-facts-head strong {
  justify-self: end !important;
  max-width: 100% !important;
  padding: 5px 9px !important;
  border: 1px solid color-mix(in srgb, var(--vermelho) 38%, var(--usp-summary-divider)) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--vermelho) 16%, rgba(255,255,255,0.035)) !important;
  color: var(--usp-summary-text) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  text-align: right !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-shadow: none !important;
}

.header-facts-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  border: 1px solid var(--usp-summary-divider) !important;
  border-radius: 18px !important;
  background: var(--usp-summary-sheet-bg) !important;
  overflow: hidden !important;
}

.header-fact,
.header-leadership-item {
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 0 !important;
  border-right: 1px solid var(--usp-summary-divider) !important;
  border-bottom: 1px solid var(--usp-summary-divider) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.header-fact:nth-child(4n) {
  border-right: 0 !important;
}

.header-fact span,
.header-leadership-item span {
  min-height: 0 !important;
  margin: 0 0 5px !important;
  color: var(--usp-summary-muted) !important;
  font-size: 8.5px !important;
  line-height: 1.18 !important;
  letter-spacing: .08em !important;
  text-shadow: none !important;
}

.header-fact strong,
.header-leadership-item strong {
  margin: 0 !important;
  color: var(--usp-summary-text) !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
  text-shadow: none !important;
}

.header-fact--dados-atualizados {
  display: grid !important;
  grid-column: 1 / -1 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-top: 1px solid color-mix(in srgb, var(--vermelho) 34%, var(--usp-summary-divider)) !important;
  background: var(--usp-summary-accent-bg) !important;
}

.header-fact--dados-atualizados span {
  margin: 0 !important;
  color: color-mix(in srgb, var(--dourado, #DFB63E) 82%, var(--usp-summary-text)) !important;
  font-size: 9.5px !important;
}

.header-fact--dados-atualizados strong {
  justify-self: end !important;
  font-size: clamp(17px, 1.8vw, 22px) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.header-leadership {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  border: 1px solid var(--usp-summary-divider) !important;
  border-radius: 18px !important;
  background: var(--usp-summary-sheet-bg) !important;
  overflow: hidden !important;
}

.header-leadership-item {
  border-bottom: 0 !important;
}

.header-leadership-item:last-child {
  border-right: 0 !important;
}

html[data-theme="light"] .header-facts-panel,
body:not([data-theme="dark"]) .header-facts-panel {
  --usp-summary-panel-bg: linear-gradient(145deg, rgba(248,249,251,0.94), rgba(226,231,239,0.88));
  --usp-summary-sheet-bg: rgba(255,255,255,0.48);
  --usp-summary-divider: rgba(105,112,125,0.18);
  --usp-summary-muted: #657080;
  --usp-summary-text: #151a22;
  --usp-summary-accent-bg: linear-gradient(135deg, color-mix(in srgb, var(--vermelho) 12%, rgba(255,255,255,0.86)), rgba(255,255,255,0.58));
  border-color: rgba(255,255,255,0.78) !important;
  box-shadow: 10px 10px 24px rgba(118,124,138,0.18), -10px -10px 24px rgba(255,255,255,0.72) !important;
}

body[data-theme="dark"] .header-facts-panel,
[data-theme="dark"] body .header-facts-panel {
  --usp-summary-panel-bg: linear-gradient(145deg, rgba(32, 35, 42, 0.84), rgba(18, 20, 27, 0.74));
  --usp-summary-sheet-bg: rgba(255,255,255,0.035);
  --usp-summary-divider: rgba(255,255,255,0.105);
  --usp-summary-muted: rgba(255,255,255,0.66);
  --usp-summary-text: #f8fafc;
  --usp-summary-accent-bg: linear-gradient(135deg, color-mix(in srgb, var(--vermelho) 24%, rgba(255,255,255,0.035)), rgba(255,255,255,0.035));
  border-color: rgba(255,255,255,0.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.09), 0 18px 42px rgba(0,0,0,0.24) !important;
}

@media (max-width: 820px) {
  .header-facts-panel {
    display: block !important;
    padding: 12px !important;
    border-radius: 20px !important;
  }

  .header-facts-head {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    gap: 6px !important;
    margin-bottom: 9px !important;
    padding-bottom: 9px !important;
  }

  .header-facts-head strong {
    justify-self: start !important;
    max-width: none !important;
    padding: 4px 8px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .header-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border-radius: 16px !important;
  }

  .header-facts-grid .header-fact:nth-child(n+5):not(.header-fact--dados-atualizados) {
    display: none !important;
  }

  .header-facts-grid .header-fact.header-fact--dados-atualizados {
    display: grid !important;
    grid-column: 1 / -1 !important;
  }

  .header-fact,
  .header-leadership-item {
    padding: 9px 10px !important;
  }

  .header-fact:nth-child(2n) {
    border-right: 0 !important;
  }

  .header-fact--dados-atualizados {
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
  }

  .header-fact--dados-atualizados span {
    font-size: 8.5px !important;
    line-height: 1.2 !important;
  }

  .header-fact--dados-atualizados strong {
    font-size: 18px !important;
  }

  .header-leadership {
    display: grid !important;
    grid-template-columns: 1fr !important;
    border-radius: 16px !important;
  }

  .header-leadership-item {
    display: block !important;
    border-right: 0 !important;
  }

  .header-leadership-item + .header-leadership-item {
    border-top: 1px solid var(--usp-summary-divider) !important;
  }
}

@media (max-width: 480px) {
  .header-facts-grid {
    grid-template-columns: 1fr !important;
  }

  .header-fact,
  .header-fact:nth-child(2n),
  .header-fact:nth-child(4n) {
    border-right: 0 !important;
  }

  .header-fact--dados-atualizados {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .header-fact--dados-atualizados strong {
    justify-self: start !important;
  }
}

/* Oculta o bloco de comando no resumo inicial do portal; ele volta apenas quando uma instituição é selecionada. */
.header-command-item[hidden],
.header-command-item.is-hidden {
  display: none !important;
}


/* Ajuste 2026-05-03: cabeçalho inicial mais compacto, cobertura ampliada e dados de atualização discretos no rodapé do resumo. */
body[data-inst="portal"] .header-institution-main {
  align-items: stretch !important;
}

body[data-inst="portal"] .header-facts-panel {
  align-self: end !important;
  padding: clamp(10px, 1vw, 13px) !important;
  border-radius: 20px !important;
}

body[data-inst="portal"] .header-facts-head {
  gap: 8px !important;
  margin-bottom: 8px !important;
  padding-bottom: 8px !important;
}

body[data-inst="portal"] .header-facts-head span {
  font-size: 8.4px !important;
  letter-spacing: .11em !important;
}

body[data-inst="portal"] .header-facts-head strong {
  padding: 4px 8px !important;
  font-size: 8.6px !important;
  line-height: 1.12 !important;
}

body[data-inst="portal"] .header-facts-grid {
  border-radius: 15px !important;
}

body[data-inst="portal"] .header-fact,
body[data-inst="portal"] .header-leadership-item {
  padding: 8px 9px !important;
}

body[data-inst="portal"] .header-fact span,
body[data-inst="portal"] .header-leadership-item span {
  margin-bottom: 3px !important;
  font-size: 7.4px !important;
  line-height: 1.08 !important;
  letter-spacing: .07em !important;
}

body[data-inst="portal"] .header-fact strong,
body[data-inst="portal"] .header-leadership-item strong {
  font-size: clamp(10.4px, .86vw, 12px) !important;
  line-height: 1.14 !important;
}

body[data-inst="portal"] .header-leadership {
  grid-template-columns: 1fr !important;
  margin: 6px 0 0 !important;
  border-radius: 14px !important;
}

body[data-inst="portal"] .header-leadership-item:first-child {
  grid-column: 1 / -1 !important;
}

body[data-inst="portal"] #header-resumo-governador {
  display: block !important;
  font-size: clamp(8.8px, .72vw, 10.4px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: .01em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: auto !important;
}

body[data-inst="portal"] .header-update-note.header-fact--dados-atualizados {
  display: flex !important;
  grid-column: auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 6px 0 0 !important;
  padding: 5px 8px !important;
  border: 1px solid var(--usp-summary-divider) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,0.035) !important;
  box-shadow: none !important;
  opacity: .82 !important;
}

body[data-inst="portal"] .header-update-note.header-fact--dados-atualizados span {
  margin: 0 !important;
  color: var(--usp-summary-muted) !important;
  font-size: 6.9px !important;
  line-height: 1.05 !important;
  letter-spacing: .055em !important;
}

body[data-inst="portal"] .header-update-note.header-fact--dados-atualizados strong {
  flex: 0 0 auto !important;
  justify-self: auto !important;
  color: var(--usp-summary-muted) !important;
  font-size: 8.7px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

html[data-theme="light"] body[data-inst="portal"] .header-update-note.header-fact--dados-atualizados,
body[data-inst="portal"]:not([data-theme="dark"]) .header-update-note.header-fact--dados-atualizados {
  background: rgba(255,255,255,0.42) !important;
}

@media (max-width: 820px) {
  body[data-inst="portal"] .header-facts-panel {
    padding: 10px !important;
  }

  body[data-inst="portal"] .header-facts-head {
    margin-bottom: 7px !important;
    padding-bottom: 7px !important;
  }

  body[data-inst="portal"] .header-facts-grid .header-fact.header-fact--dados-atualizados {
    display: flex !important;
  }

  body[data-inst="portal"] .header-fact,
  body[data-inst="portal"] .header-leadership-item {
    padding: 7px 8px !important;
  }

  body[data-inst="portal"] #header-resumo-governador {
    font-size: 8.3px !important;
    line-height: 1.14 !important;
  }

  body[data-inst="portal"] .header-update-note.header-fact--dados-atualizados {
    margin-top: 5px !important;
    padding: 5px 7px !important;
  }

  body[data-inst="portal"] .header-update-note.header-fact--dados-atualizados strong {
    font-size: 8.2px !important;
  }
}

@media (max-width: 480px) {
  body[data-inst="portal"] .header-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-inst="portal"] .header-fact,
  body[data-inst="portal"] .header-leadership-item {
    padding: 6px 7px !important;
  }

  body[data-inst="portal"] .header-fact strong,
  body[data-inst="portal"] .header-leadership-item strong {
    font-size: 9.7px !important;
  }

  body[data-inst="portal"] #header-resumo-governador {
    font-size: 7.7px !important;
    line-height: 1.13 !important;
  }

  body[data-inst="portal"] .header-update-note.header-fact--dados-atualizados span {
    font-size: 6.5px !important;
  }

  body[data-inst="portal"] .header-update-note.header-fact--dados-atualizados strong {
    font-size: 7.8px !important;
  }
}

/* Sidebar mobile — vitrine compacta com 10 produtos */
.sidebar-products-vitrine {
  margin: 12px 14px 26px !important;
  padding: 12px !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.28) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.30), var(--app-soft-shadow-small) !important;
}

.sidebar-products-title {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
}

.sidebar-products-title strong {
  color: var(--app-soft-text) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: .8px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.sidebar-products-title span {
  color: var(--text-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .4px !important;
  line-height: 1.1 !important;
  text-align: right !important;
  text-transform: uppercase !important;
}

.sidebar-products-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.sidebar-product-card {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 7px !important;
  border: 1px solid rgba(255,255,255,.44) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.38) !important;
  color: var(--app-soft-text) !important;
  text-decoration: none !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25) !important;
  overflow: hidden !important;
}

.sidebar-product-card:hover,
.sidebar-product-card:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
  outline: 0 !important;
}

.sidebar-product-card img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.42) !important;
}

.sidebar-product-card-info {
  display: flex !important;
  min-height: 64px !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 6px !important;
}

.sidebar-product-card-info strong {
  display: -webkit-box !important;
  min-height: 2.25em !important;
  overflow: hidden !important;
  color: var(--app-soft-text) !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 10.6px !important;
  font-weight: 800 !important;
  letter-spacing: .1px !important;
  line-height: 1.12 !important;
  text-transform: none !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.sidebar-product-card-info em {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 28px !important;
  padding: 6px 7px !important;
  border-radius: 999px !important;
  background: var(--vermelho) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 9.8px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: .7px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.sidebar-products-more {
  display: grid !important;
  gap: 3px !important;
  margin-top: 10px !important;
  padding: 13px 12px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, var(--vermelho), var(--vermelho-escuro)) !important;
  color: #fff !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 14px 24px rgba(230,0,0,.22) !important;
}

.sidebar-products-more strong {
  color: #fff !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .9px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.sidebar-products-more span {
  color: rgba(255,255,255,.86) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.sidebar-products-vitrine .sidebar-affiliate-note {
  display: block !important;
  margin: 9px 2px 0 !important;
  color: var(--text-muted) !important;
  font-size: 9.5px !important;
  line-height: 1.28 !important;
  text-align: center !important;
}

html[data-theme="dark"] .sidebar-products-vitrine,
html[data-theme="dark"] .sidebar-product-card {
  background: rgba(20,21,24,.72) !important;
  border-color: rgba(255,255,255,.10) !important;
}


/* Ajuste desktop: faz o logoleao preencher todo o cabeçalho sem alterar a altura. */
@media (min-width: 1041px) {
  body[data-inst="portal"] .header-institution-card::before,
  .header-institution-card.header-portal-home::before {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    background-size: cover !important;
    background-position: center center !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
}

/* Página inicial: seletor de instituição integrado ao card do cabeçalho. */
body[data-page="principal"] .header-institution-card .header-controls-grid--home {
  display: grid !important;
  grid-template-columns: minmax(220px, 420px) !important;
  justify-content: start !important;
  gap: 0 !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 4 !important;
}

body[data-page="principal"] .header-institution-card .header-inst-selector--home {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
}

body[data-page="principal"] .header-institution-card .header-inst-selector--home select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(12,16,26,.84) !important;
  color: #fff !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .2px !important;
}

body[data-page="principal"] .header-institution-card .header-inst-selector--home select:focus {
  border-color: color-mix(in srgb, var(--vermelho) 70%, #fff) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vermelho) 24%, transparent) !important;
  outline: 0 !important;
}

@media (max-width: 640px) {
  body[data-page="principal"] .header-institution-card .header-controls-grid--home,
  body[data-page="principal"] .header-institution-card .header-inst-selector--home {
    max-width: none !important;
    width: 100% !important;
  }
}


/* Ajuste: cabeçalho institucional com estrutura visual alinhada ao cabeçalho da página inicial.
   Mantém o conteúdo institucional e usa bandeira/identidade da instituição como fundo, sem logoleão. */
@media (min-width: 1041px) {
  body:not([data-inst="portal"]) .header-institution-card {
    min-height: 0 !important;
  }

  body:not([data-inst="portal"]) .header-institution-card::before {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    background-image:
      linear-gradient(90deg,
        rgba(4, 6, 11, 0.36) 0%,
        rgba(4, 6, 11, 0.18) 38%,
        rgba(4, 6, 11, 0.56) 72%,
        rgba(4, 6, 11, 0.82) 100%),
      linear-gradient(180deg,
        rgba(4, 6, 11, 0.08) 0%,
        rgba(4, 6, 11, 0.12) 48%,
        rgba(4, 6, 11, 0.58) 100%),
      var(--header-hero-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    filter: saturate(1.06) contrast(1.06) brightness(0.72) !important;
    opacity: 0.92 !important;
  }

  body:not([data-inst="portal"]) .header-institution-main {
    grid-template-columns: minmax(420px, 0.96fr) minmax(500px, 1.04fr) !important;
    min-height: clamp(286px, 25vw, 350px) !important;
    gap: clamp(18px, 2.2vw, 28px) !important;
    align-items: stretch !important;
  }

  body:not([data-inst="portal"]) .header-current-identity {
    min-height: clamp(286px, 25vw, 350px) !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(16px, 1.9vw, 24px) !important;
    padding: clamp(28px, 4vw, 52px) 8px clamp(26px, 3vw, 38px) clamp(6px, 1vw, 12px) !important;
  }

  body:not([data-inst="portal"]) .header-current-identity::before {
    left: -24px !important;
    right: 0 !important;
    bottom: 12px !important;
    height: 62% !important;
    border-radius: 30px !important;
    background: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.28), rgba(0,0,0,.04)) !important;
    filter: blur(8px) !important;
    opacity: .78 !important;
  }

  body:not([data-inst="portal"]) .current-flag-frame.institution-logo-frame {
    width: clamp(142px, 13vw, 186px) !important;
    height: clamp(142px, 13vw, 186px) !important;
    min-width: clamp(142px, 13vw, 186px) !important;
    min-height: clamp(142px, 13vw, 186px) !important;
  }

  body:not([data-inst="portal"]) .header-facts-panel {
    align-self: center !important;
    padding: clamp(12px, 1.15vw, 15px) !important;
    border-radius: 20px !important;
  }
}

/* Ajuste visual: indicador de atualização apenas no cabeçalho inicial do portal. */
.header-update-note.header-fact--dados-atualizados {
  display: none !important;
}

body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados {
  display: grid !important;
  grid-template-columns: 1fr !important;
  place-items: center !important;
  gap: 4px !important;
  width: clamp(64px, 5.6vw, 76px) !important;
  min-width: clamp(64px, 5.6vw, 76px) !important;
  aspect-ratio: 1 / 1 !important;
  margin: 8px 0 0 auto !important;
  padding: 8px 7px !important;
  border: 1px solid var(--usp-summary-divider) !important;
  border-radius: 16px !important;
  background: var(--usp-summary-sheet-bg) !important;
  box-shadow: none !important;
  opacity: .94 !important;
  text-align: center !important;
}

body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados span {
  display: block !important;
  margin: 0 !important;
  color: var(--usp-summary-muted) !important;
  font-size: 6.4px !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados strong {
  display: block !important;
  justify-self: center !important;
  color: #00c853 !important;
  font-size: clamp(15px, 1.35vw, 18px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 820px) {
  body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados {
    width: 66px !important;
    min-width: 66px !important;
    margin-top: 7px !important;
    padding: 7px 6px !important;
    border-radius: 15px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados span {
    font-size: 5.9px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados strong {
    font-size: 15px !important;
  }
}

@media (max-width: 480px) {
  body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados {
    width: 62px !important;
    min-width: 62px !important;
    padding: 6px 5px !important;
    border-radius: 14px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados span {
    font-size: 5.5px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados strong {
    font-size: 14px !important;
  }
}


/* ============================================================
   Ajuste 2026-05-06: troca do card de atualização com o seletor
   e seletor enquadrado abaixo do resumo institucional.
   ============================================================ */

/* HOME — seletor passa a ficar dentro do card de resumo do portal. */
body[data-page="principal"] .header-facts-panel > .header-inst-selector--home {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
  position: relative !important;
  z-index: 5 !important;
}

body[data-page="principal"] .header-facts-panel > .header-inst-selector--home select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(12,16,26,.84) !important;
  color: #fff !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .2px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 26px rgba(0,0,0,.16) !important;
}

body[data-page="principal"] .header-facts-panel > .header-inst-selector--home select:focus {
  border-color: color-mix(in srgb, var(--vermelho) 70%, #fff) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vermelho) 24%, transparent), inset 0 1px 0 rgba(255,255,255,.08) !important;
  outline: 0 !important;
}

/* HOME — o card de atualização ocupa o antigo espaço do seletor. */
body[data-page="principal"] .header-institution-card > .header-controls-grid--home {
  display: grid !important;
  grid-template-columns: minmax(64px, 76px) !important;
  justify-content: start !important;
  align-items: start !important;
  gap: 0 !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 4 !important;
}

body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home {
  display: grid !important;
  grid-template-columns: 1fr !important;
  place-items: center !important;
  gap: 4px !important;
  width: clamp(64px, 5.6vw, 76px) !important;
  min-width: clamp(64px, 5.6vw, 76px) !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 8px 7px !important;
  border: 1px solid var(--usp-summary-divider) !important;
  border-radius: 16px !important;
  background: var(--usp-summary-sheet-bg) !important;
  box-shadow: none !important;
  opacity: .94 !important;
  text-align: center !important;
}

body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home span {
  display: block !important;
  margin: 0 !important;
  color: var(--usp-summary-muted) !important;
  font-size: 6.4px !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home strong {
  display: block !important;
  justify-self: center !important;
  color: #00c853 !important;
  font-size: clamp(15px, 1.35vw, 18px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* PÁGINAS INTERNAS — controles ficam dentro/embaixo do card de resumo institucional. */
body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary,
body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 5 !important;
}

body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector,
body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03)), rgba(12,16,26,.82) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 32px rgba(0,0,0,.18) !important;
  clip-path: none !important;
}

body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector label,
body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector label {
  margin: 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector select,
body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector select {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(7,10,18,.88) !important;
  color: #fff !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector select:focus,
body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector select:focus {
  border-color: color-mix(in srgb, var(--vermelho) 70%, #fff) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vermelho) 24%, transparent) !important;
  outline: 0 !important;
}

body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary .header-branch-switcher,
body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary .header-branch-switcher {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.025)), rgba(12,16,26,.68) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 12px 28px rgba(0,0,0,.14) !important;
}

body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary .branch-buttons,
body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary .branch-buttons {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 1040px) {
  body[data-page="principal"] .header-institution-card > .header-controls-grid--home {
    width: 100% !important;
  }

  body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary,
  body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary {
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  body[data-page="principal"] .header-facts-panel > .header-inst-selector--home,
  body[data-page="principal"] .header-facts-panel > .header-inst-selector--home select,
  body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary,
  body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector,
  body:not([data-page="principal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector select,
  body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary,
  body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector,
  body[data-page="principal"][data-inst]:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary .header-inst-selector select {
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home {
    width: 62px !important;
    min-width: 62px !important;
    padding: 6px 5px !important;
    border-radius: 14px !important;
  }

  body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home span {
    font-size: 5.5px !important;
  }

  body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home strong {
    font-size: 14px !important;
  }
}


/* ============================================================
   Ajuste 2026-05-06B — refinamento desktop do cabeçalho
   - home: logo maior, título acima da imagem e remoção do texto solto
   - instituições: brasão maior, nome acima da imagem e remoção das referências
   - ajuste da altura do card do cabeçalho sem mexer no plano de fundo
   ============================================================ */
@media (min-width: 1041px) {
  /* Ajuste geral da altura do cabeçalho para aproximar a borda inferior do seletor. */
  .header-institution-card {
    min-height: auto !important;
    padding-bottom: 14px !important;
  }

  .header-institution-main {
    align-items: start !important;
    min-height: 0 !important;
    gap: clamp(16px, 1.8vw, 24px) !important;
  }

  .header-facts-panel {
    align-self: start !important;
  }

  /* HOME */
  body[data-page="principal"][data-inst="portal"] .header-institution-main {
    grid-template-columns: minmax(360px, 0.88fr) minmax(520px, 1.12fr) !important;
    min-height: 0 !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-current-identity {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    gap: 16px !important;
    padding: 18px 8px 8px 6px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-current-identity::before {
    bottom: 4px !important;
    height: 52% !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-current-copy {
    order: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    max-width: 100% !important;
  }

  body[data-page="principal"][data-inst="portal"] .current-flag-frame.brand-logo-frame {
    order: 2 !important;
    width: clamp(154px, 14vw, 184px) !important;
    height: clamp(154px, 14vw, 184px) !important;
    min-width: clamp(154px, 14vw, 184px) !important;
    min-height: clamp(154px, 14vw, 184px) !important;
    border-radius: 28px !important;
  }

  body[data-page="principal"][data-inst="portal"] .current-flag-frame.brand-logo-frame img {
    border-radius: 22px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-current-copy strong {
    font-size: clamp(46px, 4.8vw, 60px) !important;
    line-height: .96 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-current-copy p {
    max-width: 420px !important;
    margin-top: 0 !important;
    font-size: clamp(20px, 1.95vw, 26px) !important;
    line-height: 1.04 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.96) !important;
  }

  body[data-page="principal"][data-inst="portal"] #header-desc,
  body[data-page="principal"][data-inst="portal"] .header-current-copy small {
    display: none !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home {
    margin-top: 10px !important;
  }

  /* INSTITUIÇÕES */
  body:not([data-inst="portal"]) .header-institution-main {
    grid-template-columns: minmax(370px, 0.88fr) minmax(520px, 1.12fr) !important;
    min-height: 0 !important;
  }

  body:not([data-inst="portal"]) .header-current-identity {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    gap: 16px !important;
    padding: 18px 8px 8px 6px !important;
  }

  body:not([data-inst="portal"]) .header-current-identity::before {
    bottom: 4px !important;
    height: 52% !important;
  }

  body:not([data-inst="portal"]) .header-current-copy {
    order: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body:not([data-inst="portal"]) .current-flag-frame.institution-logo-frame {
    order: 2 !important;
    width: clamp(164px, 15vw, 194px) !important;
    height: clamp(164px, 15vw, 194px) !important;
    min-width: clamp(164px, 15vw, 194px) !important;
    min-height: clamp(164px, 15vw, 194px) !important;
    border-radius: 28px !important;
  }

  body:not([data-inst="portal"]) .current-flag-frame.institution-logo-frame img {
    border-radius: 22px !important;
  }

  body:not([data-inst="portal"]) .header-current-copy strong {
    font-size: clamp(44px, 4.55vw, 58px) !important;
    line-height: .96 !important;
    letter-spacing: 1.5px !important;
  }

  body:not([data-inst="portal"]) .header-current-copy p {
    max-width: 430px !important;
    margin-top: 0 !important;
    font-size: clamp(19px, 1.7vw, 25px) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    color: rgba(255,255,255,.96) !important;
  }

  body:not([data-inst="portal"]) .header-facts-head {
    margin-bottom: 8px !important;
    padding-bottom: 8px !important;
  }

  body:not([data-inst="portal"]) .header-facts-head strong,
  body:not([data-inst="portal"]) #header-resumo-atualizado,
  body:not([data-inst="portal"]) .header-update-note.header-fact--dados-atualizados {
    display: none !important;
  }

  body:not([data-inst="portal"]) .header-facts-panel > .header-controls-grid--summary {
    margin-top: 10px !important;
  }
}


/* ============================================================
   Ajuste 2026-05-06C — home: textos, cards e rodapé
   ============================================================ */

/* Igualdade visual das siglas PF, PRF, PM, PC, PP, BM e GM. */
.principal-stat--instituicoes strong {
  display: block !important;
  width: 100% !important;
  font-size: inherit !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: .02em !important;
  white-space: normal !important;
}

/* Formatação normal: sem sublinhado nas áreas da página inicial. */
.consultas-principais a,
.consultas-principais a *,
.conteudos-parceiros a,
.conteudos-parceiros a *,
.principal-grid.consultas-principais a,
.principal-grid.consultas-principais a *,
.principal-grid.conteudos-parceiros a,
.principal-grid.conteudos-parceiros a * {
  text-decoration: none !important;
}

.consultas-principais a:hover,
.consultas-principais a:hover *,
.conteudos-parceiros a:hover,
.conteudos-parceiros a:hover *,
.principal-grid.consultas-principais a:hover,
.principal-grid.consultas-principais a:hover *,
.principal-grid.conteudos-parceiros a:hover,
.principal-grid.conteudos-parceiros a:hover * {
  text-decoration: none !important;
}


/* ============================================================
   Ajuste 2026-05-06D — Comparador de carreiras simplificado
   ============================================================ */

#page-comparar .comparador-simples-page {
  display: grid !important;
  gap: 16px !important;
  padding: clamp(16px, 2.2vw, 24px) !important;
}

.comparador-hero-simples,
.comparador-controle-simples,
.comparador-resultado-simples,
.comparador-detalhes-tecnicos {
  border: 1px solid var(--app-soft-border, rgba(255,255,255,.14)) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 30px rgba(0,0,0,.12) !important;
}

.comparador-hero-simples {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  padding: clamp(18px, 2vw, 24px) !important;
  overflow: hidden !important;
}

.comparador-hero-copy h2 {
  margin: 6px 0 8px !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: .98 !important;
  letter-spacing: -.02em !important;
}

.comparador-hero-copy p,
.comparador-resultado-head p,
.comparador-selecao-cabecalho small {
  color: var(--text-muted) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.comparador-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 5px 9px !important;
  border: 1px solid color-mix(in srgb, var(--vermelho) 40%, rgba(255,255,255,.18)) !important;
  border-radius: 999px !important;
  color: color-mix(in srgb, var(--vermelho) 78%, #ffffff) !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.comparador-hero-passos {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(92px, 1fr)) !important;
  gap: 10px !important;
}

.comparador-passo {
  display: grid !important;
  gap: 7px !important;
  justify-items: center !important;
  min-width: 92px !important;
  padding: 12px 10px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.055) !important;
  text-align: center !important;
}

.comparador-passo strong {
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: var(--vermelho) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.comparador-passo span {
  color: var(--text-main) !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
}

.comparador-controle-simples {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: end !important;
  padding: 16px !important;
}

.comparador-filtros-simples {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.2fr) minmax(180px, .55fr) !important;
  gap: 12px !important;
  align-items: end !important;
}

.comparador-controle-simples .field {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.comparador-controle-simples label {
  display: block !important;
  margin-bottom: 7px !important;
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.comparador-controle-simples input,
.comparador-controle-simples select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border-radius: 16px !important;
}

.comparador-acoes-simples {
  display: flex !important;
  gap: 8px !important;
  justify-content: flex-end !important;
  align-items: end !important;
}

.comparador-acoes-simples .btn-secondary {
  min-height: 48px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
}

.comparador-selecao--simples {
  margin: 0 !important;
}

.comparador-selecao--simples .comparador-select-panel {
  padding: 16px !important;
  border-radius: 22px !important;
}

.comparador-selecao-cabecalho {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  align-items: flex-start !important;
  margin-bottom: 12px !important;
}

.comparador-selecao-cabecalho .comparador-select-label {
  margin: 0 0 4px !important;
  font-size: 14px !important;
}

.comparador-contador {
  flex: 0 0 auto !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: var(--vermelho) !important;
  color: #fff !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

#page-comparar .comparador-check-list--simples {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  max-height: min(440px, 58vh) !important;
  overflow: auto !important;
  margin-top: 0 !important;
  padding: 10px !important;
  border-radius: 18px !important;
}

#page-comparar .comparador-check-list--simples .comparador-check-grupo {
  align-content: start !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.035) !important;
}

#page-comparar .comparador-check-list--simples .comparador-check-grupo + .comparador-check-grupo {
  padding-top: 10px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}

#page-comparar .comparador-check-list--simples .comparador-check-titulo {
  margin-bottom: 4px !important;
}

#page-comparar .comparador-check-list--simples .comparador-check-option {
  border-radius: 14px !important;
}

#page-comparar .comparador-check-option.is-hidden,
#page-comparar .comparador-check-grupo.is-hidden {
  display: none !important;
}

.comparador-lista-vazia {
  margin-top: 10px !important;
  padding: 14px !important;
  border: 1px dashed var(--border-input) !important;
  border-radius: 16px !important;
  color: var(--text-muted) !important;
  text-align: center !important;
}

.comparador-selecionadas {
  margin-top: 12px !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
}

.comparador-resultado-simples {
  padding: 16px !important;
}

.comparador-resultado-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  align-items: flex-end !important;
  margin-bottom: 12px !important;
}

.comparador-resultado-head h3 {
  margin: 5px 0 0 !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
}

#page-comparar .comparador-resumo-grid {
  margin: 0 0 14px !important;
}

#page-comparar .comparador-cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}

#page-comparar .comparador-card--simples {
  padding: 16px !important;
  border-radius: 20px !important;
}

.comparador-card-cabecalho {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: flex-start !important;
  margin-bottom: 12px !important;
}

.comparador-card-cabecalho h3 {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

.comparador-card-cabecalho p {
  margin: 4px 0 0 !important;
  color: var(--text-muted) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

.comparador-card-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  justify-content: flex-end !important;
}

.comparador-card-metricas {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.comparador-card-metricas > div {
  padding: 11px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.045) !important;
}

.comparador-card-metricas span {
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--text-muted) !important;
  font-size: 9.5px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.comparador-card-metricas strong {
  display: block !important;
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.12 !important;
}

.comparador-card-metricas small {
  display: block !important;
  margin-top: 4px !important;
  color: var(--text-muted) !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

.comparador-card-notas {
  margin-top: 12px !important;
}

.comparador-card-notas p {
  margin: 8px 0 0 !important;
  color: var(--text-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.comparador-card-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.comparador-card-links a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 0 11px !important;
  border: 1px solid color-mix(in srgb, var(--vermelho) 44%, rgba(255,255,255,.16)) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--vermelho) 11%, transparent) !important;
  text-decoration: none !important;
}

.comparador-detalhes-tecnicos {
  margin-top: 14px !important;
  overflow: hidden !important;
}

.comparador-detalhes-tecnicos summary {
  cursor: pointer !important;
  padding: 14px 16px !important;
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.comparador-detalhes-tecnicos .comparador-table-wrap {
  border-radius: 0 0 18px 18px !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
}

.comparador-vazio--simples {
  display: grid !important;
  gap: 5px !important;
  padding: 18px !important;
}

.comparador-vazio--simples strong {
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 18px !important;
}

.comparador-vazio--simples span {
  color: var(--text-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.comparador-aviso-final {
  margin-top: 0 !important;
}

@media (max-width: 1020px) {
  .comparador-hero-simples,
  .comparador-controle-simples,
  .comparador-resultado-head {
    grid-template-columns: 1fr !important;
  }

  .comparador-controle-simples {
    align-items: stretch !important;
  }

  .comparador-acoes-simples {
    justify-content: flex-start !important;
  }

  #page-comparar .comparador-check-list--simples {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  #page-comparar .comparador-simples-page {
    gap: 12px !important;
    padding: 13px !important;
  }

  .comparador-hero-simples,
  .comparador-controle-simples,
  .comparador-resultado-simples,
  .comparador-selecao--simples .comparador-select-panel {
    padding: 13px !important;
    border-radius: 18px !important;
  }

  .comparador-hero-passos,
  .comparador-filtros-simples,
  #page-comparar .comparador-cards,
  .comparador-card-metricas {
    grid-template-columns: 1fr !important;
  }

  .comparador-acoes-simples {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .comparador-acoes-simples .btn-secondary {
    width: 100% !important;
  }

  .comparador-selecao-cabecalho,
  .comparador-card-cabecalho,
  .comparador-resultado-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .comparador-contador {
    width: fit-content !important;
  }

  #page-comparar .comparador-check-list--simples {
    max-height: 340px !important;
    padding: 8px !important;
  }
}


/* ============================================================
   Ajuste 2026-05-06E — Nova aba Base Legal
   ============================================================ */

#page-baselegal {
  max-width: min(1180px, 100%) !important;
  margin: clamp(18px, 3vw, 34px) auto !important;
  padding: 0 20px !important;
}

.base-legal-page {
  display: grid !important;
  gap: 16px !important;
  padding: clamp(16px, 2.2vw, 24px) !important;
}

.base-legal-hero,
.base-legal-busca-card,
.base-legal-resultados-card {
  border: 1px solid var(--app-soft-border, rgba(255,255,255,.14)) !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 30px rgba(0,0,0,.12) !important;
  overflow: hidden !important;
}

.base-legal-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  align-items: stretch !important;
  padding: clamp(18px, 2.3vw, 28px) !important;
}

.base-legal-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 5px 9px !important;
  border: 1px solid color-mix(in srgb, var(--vermelho) 40%, rgba(255,255,255,.18)) !important;
  border-radius: 999px !important;
  color: color-mix(in srgb, var(--vermelho) 80%, #ffffff) !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.base-legal-hero h2 {
  margin: 8px 0 10px !important;
  color: var(--text-main) !important;
  font-size: clamp(32px, 4.4vw, 56px) !important;
  line-height: .96 !important;
  letter-spacing: -.035em !important;
}

.base-legal-hero p {
  max-width: 760px !important;
  color: var(--text-muted) !important;
  font-size: clamp(14px, 1.35vw, 17px) !important;
  line-height: 1.48 !important;
}

.base-legal-hero-box {
  display: grid !important;
  align-content: center !important;
  gap: 12px !important;
  padding: 16px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.055) !important;
}

.base-legal-hero-box > strong {
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 14px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.base-legal-exemplos {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.base-legal-exemplos button,
.base-legal-chip {
  min-height: 34px !important;
  padding: 0 11px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
  color: var(--text-main) !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.base-legal-exemplos button:hover,
.base-legal-chip:hover,
.base-legal-chip.is-active {
  border-color: color-mix(in srgb, var(--vermelho) 70%, #fff) !important;
  background: color-mix(in srgb, var(--vermelho) 18%, rgba(255,255,255,.07)) !important;
}

.base-legal-busca-card {
  display: grid !important;
  gap: 14px !important;
  padding: 16px !important;
}

.base-legal-busca-card .field {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.base-legal-busca-card label {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.base-legal-input-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
}

.base-legal-input-row input {
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 16px !important;
  border-radius: 18px !important;
}

.base-legal-input-row button {
  min-height: 50px !important;
  padding: 0 16px !important;
  white-space: nowrap !important;
}

#base-legal-sugestao {
  display: block !important;
  margin-top: 8px !important;
  color: var(--text-muted) !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

.base-legal-categorias {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.base-legal-resultados-card {
  padding: 16px !important;
}

.base-legal-resultados-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  align-items: flex-end !important;
  margin-bottom: 12px !important;
}

.base-legal-resultados-head h3 {
  margin: 6px 0 0 !important;
  color: var(--text-main) !important;
  font-size: clamp(23px, 2.6vw, 32px) !important;
  line-height: 1 !important;
}

#base-legal-contador {
  flex: 0 0 auto !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: var(--vermelho) !important;
  color: #fff !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.base-legal-alerta {
  margin-bottom: 14px !important;
  padding: 12px 14px !important;
  border: 1px solid color-mix(in srgb, var(--vermelho) 26%, rgba(255,255,255,.12)) !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--vermelho) 7%, transparent) !important;
  color: var(--text-muted) !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

.base-legal-alerta strong {
  color: var(--text-main) !important;
}

.base-legal-resultados {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.base-legal-card {
  display: grid !important;
  gap: 12px !important;
  padding: 16px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.035)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.base-legal-card-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: flex-start !important;
}

.base-legal-categoria {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--vermelho) 15%, transparent) !important;
  color: color-mix(in srgb, var(--vermelho) 78%, #ffffff) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.base-legal-card h3 {
  margin: 8px 0 5px !important;
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: clamp(19px, 1.8vw, 24px) !important;
  line-height: 1.05 !important;
}

.base-legal-card-head strong {
  display: block !important;
  color: var(--text-muted) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

.base-legal-fonte-btn {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 0 11px !important;
  border: 1px solid color-mix(in srgb, var(--vermelho) 44%, rgba(255,255,255,.16)) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--vermelho) 10%, transparent) !important;
  color: var(--text-main) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.base-legal-detalhes {
  display: grid !important;
  gap: 9px !important;
  margin: 0 !important;
}

.base-legal-detalhes div {
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.04) !important;
}

.base-legal-detalhes dt {
  margin-bottom: 4px !important;
  color: var(--text-main) !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.base-legal-detalhes dd {
  margin: 0 !important;
  color: var(--text-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.base-legal-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.base-legal-tags span {
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  color: var(--text-muted) !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
}

.base-legal-vazio {
  display: grid !important;
  gap: 5px !important;
  margin-bottom: 12px !important;
  padding: 16px !important;
  border: 1px dashed var(--border-input) !important;
  border-radius: 16px !important;
  color: var(--text-muted) !important;
}

.base-legal-vazio[hidden] {
  display: none !important;
}

.base-legal-vazio strong {
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 18px !important;
}

@media (max-width: 920px) {
  .base-legal-hero,
  .base-legal-resultados {
    grid-template-columns: 1fr !important;
  }

  .base-legal-resultados-head,
  .base-legal-card-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .base-legal-fonte-btn {
    width: fit-content !important;
  }
}

@media (max-width: 640px) {
  #page-baselegal {
    padding: 0 10px !important;
    margin-top: 14px !important;
  }

  .base-legal-page {
    gap: 12px !important;
    padding: 13px !important;
  }

  .base-legal-hero,
  .base-legal-busca-card,
  .base-legal-resultados-card {
    border-radius: 18px !important;
    padding: 13px !important;
  }

  .base-legal-input-row {
    grid-template-columns: 1fr !important;
  }

  .base-legal-input-row button {
    width: 100% !important;
  }

  .base-legal-card {
    padding: 13px !important;
    border-radius: 16px !important;
  }
}


/* ============================================================
   Ajuste 2026-05-06F — Mobile: logo maior, atualização no topo
   e botão Menu igual aos demais na barra inferior.
   ============================================================ */
@media (max-width: 760px) {
  /* Cabeçalho mobile: cria espaço seguro para o card de atualização no canto superior direito. */
  .header-institution-card {
    position: relative !important;
    padding-top: 78px !important;
    padding-bottom: 16px !important;
    overflow: hidden !important;
  }

  .header-institution-main {
    align-items: start !important;
    gap: 14px !important;
  }

  /* A imagem principal do cabeçalho fica maior no mobile, sem alterar o plano de fundo. */
  body[data-page="principal"][data-inst="portal"] .header-current-identity,
  body:not([data-inst="portal"]) .header-current-identity {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    min-height: clamp(258px, 72vw, 330px) !important;
    gap: 14px !important;
    padding: 4px 4px 18px !important;
    text-align: left !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-current-copy,
  body:not([data-inst="portal"]) .header-current-copy {
    order: 1 !important;
    width: min(100%, calc(100% - 92px)) !important;
    max-width: calc(100% - 92px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
    position: relative !important;
    z-index: 4 !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-current-copy strong,
  body:not([data-inst="portal"]) .header-current-copy strong {
    font-size: clamp(32px, 12vw, 46px) !important;
    line-height: .96 !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-current-copy p,
  body:not([data-inst="portal"]) .header-current-copy p {
    font-size: clamp(14px, 5vw, 20px) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
  }

  body[data-page="principal"][data-inst="portal"] .current-flag-frame.brand-logo-frame,
  body:not([data-inst="portal"]) .current-flag-frame.institution-logo-frame {
    order: 2 !important;
    width: clamp(168px, 52vw, 204px) !important;
    height: clamp(168px, 52vw, 204px) !important;
    min-width: clamp(168px, 52vw, 204px) !important;
    min-height: clamp(168px, 52vw, 204px) !important;
    border-radius: 30px !important;
    padding: 8px !important;
    position: relative !important;
    z-index: 3 !important;
  }

  body[data-page="principal"][data-inst="portal"] .current-flag-frame.brand-logo-frame img,
  body:not([data-inst="portal"]) .current-flag-frame.institution-logo-frame img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 23px !important;
  }

  /* O resumo deixa de ser referência de posicionamento para o card de atualização. */
  .header-institution-card .header-facts-panel {
    position: static !important;
  }

  body[data-page="principal"] .header-institution-card > .header-controls-grid--home {
    position: static !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Card "Dados de atualização do site" no canto superior direito do cabeçalho. */
  .header-institution-card .header-update-note.header-fact--dados-atualizados,
  body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 12 !important;
    display: grid !important;
    place-items: center !important;
    gap: 3px !important;
    width: 74px !important;
    min-width: 74px !important;
    height: 74px !important;
    min-height: 74px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 7px 6px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, rgba(22,25,32,.92), rgba(8,10,15,.88)) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.09) !important;
    text-align: center !important;
    opacity: .98 !important;
  }

  .header-institution-card .header-update-note.header-fact--dados-atualizados span,
  body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home span {
    display: block !important;
    margin: 0 !important;
    color: rgba(255,255,255,.74) !important;
    font-family: 'Roboto Condensed', sans-serif !important;
    font-size: 6px !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
  }

  .header-institution-card .header-update-note.header-fact--dados-atualizados strong,
  body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home strong {
    display: block !important;
    color: #00d66f !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html[data-theme="light"] .header-institution-card .header-update-note.header-fact--dados-atualizados,
  html[data-theme="light"] body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home {
    background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(226,230,238,.92)) !important;
    border-color: rgba(255,255,255,.72) !important;
  }

  html[data-theme="light"] .header-institution-card .header-update-note.header-fact--dados-atualizados span,
  html[data-theme="light"] body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home span {
    color: rgba(20,24,32,.64) !important;
  }

  /* Barra inferior mobile: o botão Menu passa a ter exatamente a mesma caixa dos demais botões. */
  .app-bottom-nav {
    align-items: stretch !important;
  }

  .app-bottom-nav .app-bottom-item,
  .app-bottom-nav button.app-bottom-item.menu-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    margin: 0 !important;
    padding: 7px 4px !important;
    border-radius: 17px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    gap: 3px !important;
    font: 700 10px/1.05 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    overflow: hidden !important;
  }

  .app-bottom-nav button.app-bottom-item.menu-btn .app-bottom-icon,
  .app-bottom-nav button.app-bottom-item.menu-btn .app-bottom-label {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .app-bottom-nav button.app-bottom-item.menu-btn .app-bottom-icon {
    font-size: 22px !important;
  }

  .app-bottom-nav button.app-bottom-item.menu-btn .app-bottom-label {
    max-width: 100% !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 390px) {
  body[data-page="principal"][data-inst="portal"] .current-flag-frame.brand-logo-frame,
  body:not([data-inst="portal"]) .current-flag-frame.institution-logo-frame {
    width: clamp(156px, 51vw, 184px) !important;
    height: clamp(156px, 51vw, 184px) !important;
    min-width: clamp(156px, 51vw, 184px) !important;
    min-height: clamp(156px, 51vw, 184px) !important;
  }

  .header-institution-card .header-update-note.header-fact--dados-atualizados,
  body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home {
    width: 68px !important;
    min-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    top: 12px !important;
    right: 12px !important;
  }

  .app-bottom-nav .app-bottom-item,
  .app-bottom-nav button.app-bottom-item.menu-btn {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }
}


/* ============================================================
   Ajuste 2026-05-06G — Mobile modo claro sem fade branco
   Remove vidros/transparências brancas e gradientes esbranquiçados
   apenas no mobile quando o tema claro está ativo.
   ============================================================ */
@media (max-width: 760px) {
  html[data-theme="light"] {
    --app-soft-bg: #e7ebf2;
    --app-soft-panel: #eef1f6;
    --app-soft-card: #f3f5f8;
    --app-soft-card-2: #e6eaf1;
    --app-soft-text: #111827;
    --app-soft-muted: #4b5563;
    --app-soft-border: #c9d0dc;
    --app-soft-shadow: 0 12px 26px rgba(15, 23, 42, .16);
    --app-soft-shadow-small: 0 8px 18px rgba(15, 23, 42, .13);
    --app-soft-shadow-inset: inset 0 2px 5px rgba(15, 23, 42, .12);
  }

  html[data-theme="light"] body {
    background-color: #e7ebf2 !important;
    background-image: none !important;
    color: #111827 !important;
  }

  html[data-theme="light"] body::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
    background: none !important;
    opacity: 0 !important;
  }

  html[data-theme="light"] .site-header,
  html[data-theme="light"] .header-institution-card,
  html[data-theme="light"] .principal-hero,
  html[data-theme="light"] .principal-card,
  html[data-theme="light"] .card,
  html[data-theme="light"] .consulta-instituicao-card,
  html[data-theme="light"] .poderes-resultado,
  html[data-theme="light"] .brasoes-historia-resultado,
  html[data-theme="light"] .comparador-topo,
  html[data-theme="light"] .comparador-select-panel,
  html[data-theme="light"] .comparador-selecionadas,
  html[data-theme="light"] .comparador-stat,
  html[data-theme="light"] .comparador-card,
  html[data-theme="light"] .comparador-hero-simples,
  html[data-theme="light"] .comparador-controle-simples,
  html[data-theme="light"] .comparador-resultado-simples,
  html[data-theme="light"] .comparador-detalhes-tecnicos,
  html[data-theme="light"] .base-legal-hero,
  html[data-theme="light"] .base-legal-busca-card,
  html[data-theme="light"] .base-legal-resultados-card,
  html[data-theme="light"] .base-legal-card,
  html[data-theme="light"] .remuneracao-stat,
  html[data-theme="light"] .remuneracao-table-wrap,
  html[data-theme="light"] .comparador-table-wrap,
  html[data-theme="light"] .ad-slot--card,
  html[data-theme="light"] .ad-slot--inline,
  html[data-theme="light"] .ad-slot--hero,
  html[data-theme="light"] .ad-slot--footer,
  html[data-theme="light"] .produto-card,
  html[data-theme="light"] .curso-card,
  html[data-theme="light"] .principal-como-usar,
  html[data-theme="light"] .principal-nota,
  html[data-theme="light"] .portal-disclaimer,
  html[data-theme="light"] .result-list,
  html[data-theme="light"] .alerta,
  html[data-theme="light"] .success,
  html[data-theme="light"] footer {
    background: #f3f5f8 !important;
    background-image: none !important;
    border-color: #c9d0dc !important;
    color: #111827 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html[data-theme="light"] .header-facts-panel,
  html[data-theme="light"] .header-fact,
  html[data-theme="light"] .header-leadership-item,
  html[data-theme="light"] .header-independent-note,
  html[data-theme="light"] .header-current-label,
  html[data-theme="light"] .header-current-copy small,
  html[data-theme="light"] .header-desc,
  html[data-theme="light"] .principal-eyebrow,
  html[data-theme="light"] .principal-tag,
  html[data-theme="light"] .ad-label,
  html[data-theme="light"] .sidebar-nav a,
  html[data-theme="light"] .sidebar-social-btn,
  html[data-theme="light"] .sidebar-product,
  html[data-theme="light"] .sidebar-ad a,
  html[data-theme="light"] .base-legal-hero-box,
  html[data-theme="light"] .base-legal-detalhes div,
  html[data-theme="light"] .comparador-card-metricas > div,
  html[data-theme="light"] .comparador-check-list--simples .comparador-check-grupo,
  html[data-theme="light"] .comparador-card,
  html[data-theme="light"] .base-legal-card {
    background: #eef1f6 !important;
    background-image: none !important;
    border-color: #c9d0dc !important;
    color: #111827 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html[data-theme="light"] .current-flag-frame,
  html[data-theme="light"] .current-flag-frame.brand-logo-frame,
  html[data-theme="light"] .current-flag-frame.institution-logo-frame,
  html[data-theme="light"] .principal-card-icon {
    background: #eef1f6 !important;
    background-image: none !important;
    border-color: #c9d0dc !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .13) !important;
  }

  html[data-theme="light"] .current-flag-frame img,
  html[data-theme="light"] .current-flag-frame.brand-logo-frame img,
  html[data-theme="light"] .current-flag-frame.institution-logo-frame img {
    background: transparent !important;
  }

  html[data-theme="light"] .menu-btn,
  html[data-theme="light"] .theme-toggle-header,
  html[data-theme="light"] .close-btn,
  html[data-theme="light"] .app-floating-action,
  html[data-theme="light"] .app-bottom-item,
  html[data-theme="light"] .principal-btn,
  html[data-theme="light"] .btn-primary,
  html[data-theme="light"] .btn-secondary,
  html[data-theme="light"] .btn-submit,
  html[data-theme="light"] .ad-button,
  html[data-theme="light"] .comparador-add-btn,
  html[data-theme="light"] .comparador-toggle-lista,
  html[data-theme="light"] .base-legal-exemplos button,
  html[data-theme="light"] .base-legal-chip,
  html[data-theme="light"] .base-legal-fonte-btn,
  html[data-theme="light"] .comparador-card-links a {
    background: #e6eaf1 !important;
    background-image: none !important;
    border-color: #c0c8d5 !important;
    color: #111827 !important;
    box-shadow: 0 5px 12px rgba(15, 23, 42, .10) !important;
  }

  html[data-theme="light"] .app-bottom-nav {
    background: #eef1f6 !important;
    background-image: none !important;
    border-color: #c9d0dc !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .20) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html[data-theme="light"] body[data-page="principal"] .app-bottom-item[href="index.html"],
  html[data-theme="light"] body[data-page="remuneracao"] .app-bottom-item[href="remuneracao.html"],
  html[data-theme="light"] body[data-page="concursos"] .app-bottom-item[href="concursos.html"],
  html[data-theme="light"] body[data-page="comparar"] .app-bottom-item[href="comparar-carreiras.html"] {
    background: #d8dee9 !important;
    background-image: none !important;
    box-shadow: inset 0 2px 5px rgba(15, 23, 42, .16) !important;
  }

  html[data-theme="light"] select,
  html[data-theme="light"] input,
  html[data-theme="light"] textarea,
  html[data-theme="light"] .base-legal-input-row input,
  html[data-theme="light"] .comparador-controle-simples input,
  html[data-theme="light"] .comparador-controle-simples select {
    background: #f8fafc !important;
    background-image: none !important;
    border-color: #bdc6d4 !important;
    color: #111827 !important;
    box-shadow: inset 0 2px 5px rgba(15, 23, 42, .10) !important;
  }

  html[data-theme="light"] .sidebar {
    background: #eef1f6 !important;
    background-image: none !important;
    border-color: #c9d0dc !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html[data-theme="light"] .menu-overlay.active {
    background: rgba(17, 24, 39, .34) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html[data-theme="light"] .header-institution-card .header-update-note.header-fact--dados-atualizados,
  html[data-theme="light"] body[data-page="principal"] .header-institution-card > .header-controls-grid--home .header-update-note--home {
    background: #e6eaf1 !important;
    background-image: none !important;
    border-color: #c0c8d5 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .18) !important;
  }

  html[data-theme="light"] .header-current-copy strong,
  html[data-theme="light"] .header-current-copy p,
  html[data-theme="light"] .header-facts-head span,
  html[data-theme="light"] .header-facts-head strong,
  html[data-theme="light"] .header-fact span,
  html[data-theme="light"] .header-fact strong,
  html[data-theme="light"] .header-leadership-item span,
  html[data-theme="light"] .header-leadership-item strong,
  html[data-theme="light"] .principal-title,
  html[data-theme="light"] .principal-section-title h2,
  html[data-theme="light"] .card h2,
  html[data-theme="light"] .card h3,
  html[data-theme="light"] .principal-card h3,
  html[data-theme="light"] .sidebar-brand strong {
    color: #111827 !important;
    text-shadow: none !important;
  }

  html[data-theme="light"] .header-current-copy p,
  html[data-theme="light"] .header-fact span,
  html[data-theme="light"] .header-leadership-item span,
  html[data-theme="light"] .principal-card p,
  html[data-theme="light"] .principal-section-title p,
  html[data-theme="light"] .small-note,
  html[data-theme="light"] .ad-placeholder-link small,
  html[data-theme="light"] footer,
  html[data-theme="light"] .footer-disclaimer,
  html[data-theme="light"] .base-legal-detalhes dd,
  html[data-theme="light"] .base-legal-tags span,
  html[data-theme="light"] .comparador-card-notas p {
    color: #4b5563 !important;
  }
}

/* =======================================================
   Ajuste mobile pontual do fundo grande do cabeçalho
   - aplica apenas em celular
   - faz a imagem grande (bandeira / logoleão) ocupar todo o cabeçalho
   - evita corte da arte, mantendo-a inteira atrás do conteúdo
   ======================================================= */
@media (max-width: 820px) {
  .header-institution-card::before {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: auto !important;
    background-size: cover, cover, contain !important;
    background-position: center center, center center, center center !important;
    background-repeat: no-repeat, no-repeat, no-repeat !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 0.82 !important;
  }
}


/* =======================================================
   Ajuste mobile pontual do fundo grande do cabeçalho — zoom forte
   - aplica apenas em celular
   - bandeira/logoleão preenche 100% do cabeçalho com cover
   - permite corte da arte para completar todo o fundo
   ======================================================= */
@media (max-width: 820px) {
  body[data-page="principal"] .header-institution-card::before,
  body[data-inst="portal"] .header-institution-card::before,
  body:not([data-inst="portal"]) .header-institution-card::before,
  .header-institution-card::before {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: auto !important;
    background-size: cover, cover, cover !important;
    background-position: center center, center center, center center !important;
    background-repeat: no-repeat, no-repeat, no-repeat !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 0.86 !important;
  }
}


/* =======================================================
   Ajustes de confiança, rodapé legal e aviso de cookies
   Preparação para Search Console / AdSense
   ======================================================= */
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  justify-content: center;
  margin: 14px auto 8px;
  font-size: 0.92rem;
}
.footer-links a {
  color: inherit;
  opacity: 0.92;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-links a:hover,
.footer-links a:focus {
  opacity: 1;
}
.legal-shell {
  width: min(1040px, calc(100% - 32px));
  margin: 32px auto 48px;
}
.legal-hero {
  margin-bottom: 18px;
}
.legal-hero .small-note {
  margin-top: 8px;
}
.legal-content {
  line-height: 1.75;
}
.legal-content h2 {
  margin-top: 28px;
  margin-bottom: 10px;
}
.legal-content h3 {
  margin-top: 20px;
  margin-bottom: 8px;
}
.legal-content ul {
  padding-left: 1.2rem;
}
.legal-content li {
  margin: 8px 0;
}
.legal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.legal-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  text-decoration: none;
}
.cookie-notice {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  max-width: 980px;
  margin: 0 auto;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: rgba(15, 23, 42, 0.96);
  color: #f8fafc;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.35);
}
.cookie-notice p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.5;
}
.cookie-notice a {
  color: #bfdbfe;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cookie-notice__actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.cookie-notice button,
.cookie-notice .cookie-notice__link {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  font-weight: 700;
  text-decoration: none;
}
.cookie-notice button {
  background: #f8fafc;
  color: #0f172a;
}
.cookie-notice .cookie-notice__link {
  display: inline-flex;
  align-items: center;
  color: #f8fafc;
  border: 1px solid rgba(248, 250, 252, 0.35);
}
@media (max-width: 760px) {
  .cookie-notice {
    grid-template-columns: 1fr;
  }
  .cookie-notice__actions {
    justify-content: flex-start;
  }
}

/* Melhoria do menu lateral — categorias mais claras sem alterar a vitrine inferior de produtos */
.sidebar-nav {
  padding: 10px 0 14px !important;
  gap: 10px !important;
}

.sidebar-nav-group {
  margin: 0 12px !important;
  padding: 10px 8px 8px !important;
  border: 1px solid color-mix(in srgb, var(--vermelho) 12%, var(--app-soft-border, rgba(148, 163, 184, 0.24))) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(255,255,255,0.28), rgba(255,255,255,0.12)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.34) !important;
}

.sidebar-nav-title {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin: 0 8px 8px !important;
  padding: 0 2px 8px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--vermelho) 14%, rgba(148, 163, 184, 0.18)) !important;
  color: var(--text-muted) !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  text-transform: none !important;
}

.sidebar-nav-title span {
  color: var(--text-main) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.9px !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.sidebar-nav-title small {
  color: var(--text-muted) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

.sidebar-nav a {
  min-height: 54px !important;
  margin: 4px 0 !important;
  padding: 10px 11px !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,0.20) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  box-shadow: none !important;
}

.sidebar-nav a:hover,
.sidebar-nav a:focus-visible {
  background: color-mix(in srgb, var(--vermelho) 10%, rgba(255,255,255,0.22)) !important;
  border-color: color-mix(in srgb, var(--vermelho) 30%, rgba(255,255,255,0.18)) !important;
}

.sidebar-nav a.active {
  background: linear-gradient(145deg, color-mix(in srgb, var(--vermelho) 24%, rgba(255,255,255,0.42)), rgba(255,255,255,0.18)) !important;
  border-color: color-mix(in srgb, var(--vermelho) 48%, rgba(255,255,255,0.18)) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--vermelho) 16%, transparent) !important;
}

.sidebar-nav a.active::before {
  left: 7px !important;
  height: 28px !important;
}

.sidebar-link-icon {
  background: color-mix(in srgb, var(--vermelho) 10%, rgba(255,255,255,0.38)) !important;
  border-color: color-mix(in srgb, var(--vermelho) 24%, rgba(255,255,255,0.24)) !important;
}

html[data-theme="dark"] .sidebar-nav-group {
  background: linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.025)) !important;
  border-color: color-mix(in srgb, var(--vermelho) 20%, rgba(255,255,255,0.08)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07) !important;
}

html[data-theme="dark"] .sidebar-nav a {
  background: rgba(255,255,255,0.045) !important;
  border-color: rgba(255,255,255,0.075) !important;
}

html[data-theme="dark"] .sidebar-nav a:hover,
html[data-theme="dark"] .sidebar-nav a:focus-visible {
  background: color-mix(in srgb, var(--vermelho) 15%, rgba(255,255,255,0.055)) !important;
  border-color: color-mix(in srgb, var(--vermelho) 34%, rgba(255,255,255,0.08)) !important;
}

html[data-theme="dark"] .sidebar-nav a.active {
  background: linear-gradient(145deg, color-mix(in srgb, var(--vermelho) 28%, #2a2d31), #1f2227) !important;
  border-color: color-mix(in srgb, var(--vermelho) 54%, rgba(255,255,255,0.10)) !important;
}

@media (max-width: 640px) {
  .sidebar-nav {
    gap: 8px !important;
  }

  .sidebar-nav-group {
    margin: 0 10px !important;
    padding: 9px 7px 7px !important;
    border-radius: 20px !important;
  }

  .sidebar-nav a {
    min-height: 52px !important;
    padding: 9px 10px !important;
  }
}

/* ============================================================
   Ajuste 2026-05-09 — largura dos cards de conteúdo alinhada ao cabeçalho
   ============================================================
   Os cards das áreas principais agora usam o mesmo recuo horizontal
   interno do cabeçalho institucional. Assim, os blocos que aparecem
   abaixo do cabeçalho ficam com a mesma largura visual do card superior.
*/
:root {
  --usp-content-shell-padding: clamp(16px, 2.4vw, 28px);
}

main.page-section {
  padding-left: var(--usp-content-shell-padding) !important;
  padding-right: var(--usp-content-shell-padding) !important;
  box-sizing: border-box !important;
}

main.page-section > * {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  main.page-section {
    --usp-content-shell-padding: 14px;
  }
}

/* ============================================================
   Ajuste 2026-05-10 — card de atualização apenas na home
   ============================================================
   Mantém o indicador "Dados de atualização do site" somente no
   cabeçalho da página inicial e, no mobile, tira o card do modo
   absoluto para ele ocupar um espaço próprio sem sobrepor textos.
*/
.header-update-note.header-fact--dados-atualizados:not(.header-update-note--home),
body:not([data-page="principal"]) .header-update-note.header-fact--dados-atualizados,
body[data-page="principal"]:not([data-inst="portal"]) .header-update-note.header-fact--dados-atualizados {
  display: none !important;
}

body[data-page="principal"][data-inst="portal"] .header-update-note.header-fact--dados-atualizados.header-update-note--home {
  display: grid !important;
}

@media (max-width: 760px) {
  .header-institution-card {
    padding-top: 16px !important;
    overflow: visible !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home {
    display: grid !important;
    grid-template-columns: 62px !important;
    justify-content: start !important;
    align-items: start !important;
    width: fit-content !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home .header-update-note--home {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: grid !important;
    width: 62px !important;
    min-width: 62px !important;
    height: 62px !important;
    min-height: 62px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 6px 5px !important;
    border-radius: 14px !important;
    place-items: center !important;
    text-align: center !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home .header-update-note--home span {
    font-size: 5.5px !important;
    line-height: 1.04 !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home .header-update-note--home strong {
    font-size: 14px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 390px) {
  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home {
    grid-template-columns: 58px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home .header-update-note--home {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 5px 4px !important;
    border-radius: 13px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home .header-update-note--home span {
    font-size: 5.1px !important;
  }

  body[data-page="principal"][data-inst="portal"] .header-institution-card > .header-controls-grid--home .header-update-note--home strong {
    font-size: 13px !important;
  }
}

/* ============================================================
   Ajustes v4 — tema claro desktop com contraste real.
   Escopo restrito a html[data-theme="light"] para preservar o tema escuro.
   ============================================================ */

html[data-theme="light"] {
  --app-soft-bg: #ffffff;
  --app-soft-panel: #f5f7fa;
  --app-soft-card: #edf1f6;
  --app-soft-card-2: #e3e9f1;
  --app-soft-text: #101624;
  --app-soft-muted: #445063;
  --app-soft-border: rgba(15, 23, 42, 0.13);
  --app-soft-shadow-dark: rgba(15, 23, 42, 0.13);
  --app-soft-shadow-light: rgba(255, 255, 255, 0.78);
  --app-soft-shadow: 0 18px 42px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255,255,255,0.82);
  --app-soft-shadow-small: 0 10px 24px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255,255,255,0.78);
  --app-soft-shadow-inset: inset 5px 5px 12px rgba(15, 23, 42, 0.08), inset -5px -5px 12px rgba(255,255,255,0.72);
  --bg-site: #ffffff;
  --bg-card: #edf1f6;
  --bg-input: #ffffff;
  --border-card: rgba(15, 23, 42, 0.14);
  --border-input: rgba(15, 23, 42, 0.18);
  --text-main: #101624;
  --text-muted: #445063;
  color-scheme: light;
}

html[data-theme="light"] body {
  background-color: #ffffff !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #f8fafc 48%, #f2f5f9 100%) !important;
  background-attachment: fixed !important;
  color: var(--app-soft-text) !important;
}

html[data-theme="light"] body::before {
  border-color: rgba(15, 23, 42, 0.08) !important;
  opacity: .32 !important;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .header-institution-card,
html[data-theme="light"] .principal-hero,
html[data-theme="light"] .principal-card,
html[data-theme="light"] .card,
html[data-theme="light"] .consulta-instituicao-card,
html[data-theme="light"] .poderes-resultado,
html[data-theme="light"] .brasoes-historia-resultado,
html[data-theme="light"] .comparador-topo,
html[data-theme="light"] .comparador-select-panel,
html[data-theme="light"] .comparador-selecionadas,
html[data-theme="light"] .remuneracao-stat,
html[data-theme="light"] .ad-slot--card,
html[data-theme="light"] .ad-slot--inline,
html[data-theme="light"] .ad-slot--hero,
html[data-theme="light"] .produto-card,
html[data-theme="light"] .curso-card,
html[data-theme="light"] .field,
html[data-theme="light"] .principal-como-usar,
html[data-theme="light"] .principal-nota,
html[data-theme="light"] .portal-disclaimer,
html[data-theme="light"] .result-list,
html[data-theme="light"] .alerta,
html[data-theme="light"] .success,
html[data-theme="light"] .remuneracao-table-wrap,
html[data-theme="light"] .comparador-table-wrap,
html[data-theme="light"] .sidebar,
html[data-theme="light"] .sidebar-products-vitrine,
html[data-theme="light"] .sidebar-product-card,
html[data-theme="light"] .app-bottom-nav,
html[data-theme="light"] footer {
  background: linear-gradient(145deg, #f5f7fa 0%, #e8edf4 100%) !important;
  border-color: rgba(15, 23, 42, 0.13) !important;
  color: var(--app-soft-text) !important;
  box-shadow: var(--app-soft-shadow) !important;
}

html[data-theme="light"] .principal-card,
html[data-theme="light"] .card,
html[data-theme="light"] .produto-card,
html[data-theme="light"] .curso-card,
html[data-theme="light"] .consulta-instituicao-card,
html[data-theme="light"] .field,
html[data-theme="light"] .remuneracao-stat,
html[data-theme="light"] .sidebar-product-card {
  background: linear-gradient(145deg, #eef2f7 0%, #e2e8f0 100%) !important;
}

html[data-theme="light"] .site-header {
  background: linear-gradient(145deg, #f6f8fb 0%, #e6ecf3 100%) !important;
}

html[data-theme="light"] .header-institution-card {
  background: linear-gradient(145deg, #f1f5f9 0%, #e2e8f0 100%) !important;
  overflow: hidden !important;
}

html[data-theme="light"] .header-institution-card::before,
html[data-theme="light"] body[data-inst="portal"] .header-institution-card::before,
html[data-theme="light"] body:not([data-inst="portal"]) .header-institution-card::before {
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.66) 42%, rgba(226,232,240,0.80) 100%),
    var(--header-hero-image) !important;
  filter: saturate(.9) contrast(.95) brightness(1.08) !important;
  opacity: .46 !important;
}

html[data-theme="light"] body[data-inst="portal"] header.site-header::before,
html[data-theme="light"] body:not([data-inst="portal"]) header.site-header::before,
html[data-theme="light"] header.site-header::before {
  background: linear-gradient(90deg, rgba(255,255,255,0.86), rgba(226,232,240,0.68)) !important;
  opacity: .28 !important;
}

html[data-theme="light"] .header-current-identity::before,
html[data-theme="light"] body:not([data-inst="portal"]) .header-current-identity::before {
  background: linear-gradient(90deg, rgba(255,255,255,.68), rgba(255,255,255,.18), transparent) !important;
  filter: blur(10px) !important;
  opacity: .42 !important;
}

html[data-theme="light"] .menu-btn,
html[data-theme="light"] .theme-toggle-header,
html[data-theme="light"] .close-btn,
html[data-theme="light"] .app-floating-action,
html[data-theme="light"] .app-bottom-item,
html[data-theme="light"] .principal-btn,
html[data-theme="light"] .btn-primary,
html[data-theme="light"] .btn-secondary,
html[data-theme="light"] .btn-submit,
html[data-theme="light"] .ad-button,
html[data-theme="light"] .comparador-add-btn,
html[data-theme="light"] .comparador-toggle-lista {
  background: linear-gradient(145deg, #f8fafc 0%, #e1e7ef 100%) !important;
  border-color: rgba(15, 23, 42, 0.14) !important;
  color: #101624 !important;
  box-shadow: var(--app-soft-shadow-small) !important;
  text-shadow: none !important;
}

html[data-theme="light"] .btn-primary,
html[data-theme="light"] .btn-submit,
html[data-theme="light"] .ad-button,
html[data-theme="light"] .comparador-add-btn,
html[data-theme="light"] .sidebar-products-more,
html[data-theme="light"] .branch-option.active {
  background: linear-gradient(135deg, var(--vermelho), var(--vermelho-escuro)) !important;
  border-color: color-mix(in srgb, var(--vermelho) 52%, rgba(15,23,42,.22)) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--vermelho) 22%, transparent) !important;
}

html[data-theme="light"] .btn-primary *,
html[data-theme="light"] .btn-submit *,
html[data-theme="light"] .ad-button *,
html[data-theme="light"] .comparador-add-btn *,
html[data-theme="light"] .sidebar-products-more * {
  color: #ffffff !important;
}

html[data-theme="light"] .menu-btn span {
  background: #101624 !important;
}

html[data-theme="light"] .current-flag-frame,
html[data-theme="light"] .current-flag-frame.brand-logo-frame,
html[data-theme="light"] .current-flag-frame.institution-logo-frame,
html[data-theme="light"] .principal-card-icon,
html[data-theme="light"] .summary-card,
html[data-theme="light"] .header-fact,
html[data-theme="light"] .header-leadership-item,
html[data-theme="light"] .header-current-label,
html[data-theme="light"] .header-current-copy small,
html[data-theme="light"] .header-independent-note,
html[data-theme="light"] .principal-eyebrow,
html[data-theme="light"] .principal-tag,
html[data-theme="light"] .ad-label,
html[data-theme="light"] .sidebar-nav a,
html[data-theme="light"] .sidebar-social-btn,
html[data-theme="light"] .sidebar-product,
html[data-theme="light"] .sidebar-ad a {
  background: rgba(255,255,255,0.58) !important;
  border-color: rgba(15, 23, 42, 0.12) !important;
  color: var(--app-soft-muted) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72) !important;
}

html[data-theme="light"] .current-flag-frame img,
html[data-theme="light"] .current-flag-frame.institution-logo-frame img,
html[data-theme="light"] .current-flag-frame.brand-logo-frame img {
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(15,23,42,0.08) !important;
}

html[data-theme="light"] .header-facts-panel {
  --usp-summary-panel-bg: linear-gradient(145deg, #f7f9fc 0%, #e8edf4 100%);
  --usp-summary-sheet-bg: rgba(255,255,255,0.54);
  --usp-summary-divider: rgba(15,23,42,0.14);
  --usp-summary-muted: #4d596b;
  --usp-summary-text: #101624;
  --usp-summary-accent-bg: linear-gradient(135deg, color-mix(in srgb, var(--vermelho) 10%, #ffffff), #e8eef6);
  background: var(--usp-summary-panel-bg) !important;
  border-color: rgba(15,23,42,0.14) !important;
  color: var(--usp-summary-text) !important;
  box-shadow: var(--app-soft-shadow-small) !important;
}

html[data-theme="light"] .header-facts-grid,
html[data-theme="light"] .header-leadership {
  background: rgba(255,255,255,0.52) !important;
  border-color: var(--usp-summary-divider) !important;
}

html[data-theme="light"] .header-brand-block h1,
html[data-theme="light"] .header-brand-block h1 span,
html[data-theme="light"] .header-current-copy strong,
html[data-theme="light"] .header-current-copy p,
html[data-theme="light"] .header-facts-head strong,
html[data-theme="light"] .header-facts-head span,
html[data-theme="light"] .header-fact strong,
html[data-theme="light"] .header-leadership-item strong,
html[data-theme="light"] .principal-title,
html[data-theme="light"] .principal-section-title h2,
html[data-theme="light"] .card h1,
html[data-theme="light"] .card h2,
html[data-theme="light"] .card h3,
html[data-theme="light"] .principal-card h3,
html[data-theme="light"] .curso-section-title h2,
html[data-theme="light"] .sidebar-brand strong,
html[data-theme="light"] footer strong,
html[data-theme="light"] footer .footer-disclaimer strong,
html[data-theme="light"] .remuneracao-table,
html[data-theme="light"] .comparador-table,
html[data-theme="light"] .remuneracao-table th,
html[data-theme="light"] .remuneracao-table td,
html[data-theme="light"] .comparador-table th,
html[data-theme="light"] .comparador-table td,
html[data-theme="light"] label,
html[data-theme="light"] legend,
html[data-theme="light"] strong,
html[data-theme="light"] .summary-card strong,
html[data-theme="light"] .summary-card span,
html[data-theme="light"] .result-list,
html[data-theme="light"] .result-list * {
  color: var(--app-soft-text) !important;
  text-shadow: none !important;
}

html[data-theme="light"] .header-current-copy small,
html[data-theme="light"] .header-fact span,
html[data-theme="light"] .header-leadership-item span,
html[data-theme="light"] .principal-subtitle,
html[data-theme="light"] .principal-card p,
html[data-theme="light"] .principal-section-title p,
html[data-theme="light"] .como-usar-step span,
html[data-theme="light"] .small-note,
html[data-theme="light"] .ad-placeholder-link small,
html[data-theme="light"] .produto-card p,
html[data-theme="light"] .curso-card p,
html[data-theme="light"] footer,
html[data-theme="light"] .footer-disclaimer,
html[data-theme="light"] .remuneracao-table .small,
html[data-theme="light"] .comparador-table .small,
html[data-theme="light"] .card p,
html[data-theme="light"] .card li,
html[data-theme="light"] .card ul,
html[data-theme="light"] .card ol,
html[data-theme="light"] .portal-disclaimer p,
html[data-theme="light"] .alerta p,
html[data-theme="light"] .success p,
html[data-theme="light"] .sidebar-products-title span,
html[data-theme="light"] .sidebar-affiliate-note {
  color: var(--app-soft-muted) !important;
  text-shadow: none !important;
}

html[data-theme="light"] select,
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] body[data-page="principal"] .header-institution-card .header-inst-selector--home select,
html[data-theme="light"] .header-inst-selector select,
html[data-theme="light"] .branch-option {
  background: #ffffff !important;
  border-color: rgba(15,23,42,0.18) !important;
  color: #101624 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 18px rgba(15,23,42,.07) !important;
  text-shadow: none !important;
}

html[data-theme="light"] select option {
  background: #ffffff !important;
  color: #101624 !important;
}

html[data-theme="light"] ::placeholder {
  color: #657284 !important;
}

html[data-theme="light"] .sidebar-nav a.active,
html[data-theme="light"] body[data-page="principal"] .app-bottom-item[href="index.html"],
html[data-theme="light"] body[data-page="remuneracao"] .app-bottom-item[href="remuneracao.html"],
html[data-theme="light"] body[data-page="concursos"] .app-bottom-item[href="concursos.html"],
html[data-theme="light"] body[data-page="comparar"] .app-bottom-item[href="comparar-carreiras.html"] {
  background: linear-gradient(145deg, #dce4ee 0%, #f8fafc 100%) !important;
  border-color: color-mix(in srgb, var(--vermelho) 25%, rgba(15,23,42,.16)) !important;
  color: #0f172a !important;
}

html[data-theme="light"] .remuneracao-table th,
html[data-theme="light"] .comparador-table th {
  background: #e0e7f0 !important;
}

html[data-theme="light"] .remuneracao-table td,
html[data-theme="light"] .comparador-table td {
  background: #f8fafc !important;
  border-color: rgba(15,23,42,0.11) !important;
}

html[data-theme="light"] .menu-overlay.active {
  background: rgba(15, 23, 42, .22) !important;
}

/* ============================================================
   Ajuste 2026-05-11 — Produtos laterais discretos no desktop
   ============================================================
   Mostra produtos da aba Produtos nas laterais do conteúdo em
   telas de computador, sem diminuir a largura dos cards centrais.
*/
.usp-affiliate-side-shell {
  --usp-affiliate-main-width: min(1120px, calc(100vw - 28px));
  --usp-affiliate-rail-width: clamp(92px, 7.2vw, 128px);
  --usp-affiliate-rail-gap: clamp(10px, 0.9vw, 18px);
  display: flow-root;
  position: relative;
  width: var(--usp-affiliate-main-width);
  max-width: calc(100% - 28px);
  margin-left: auto;
  margin-right: auto;
  isolation: isolate;
}

.usp-affiliate-side-shell > main.page-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.usp-affiliate-rail {
  display: none;
}

@media (min-width: 1360px) {
  body:not([data-page="produtos"]) .usp-affiliate-rail {
    display: block;
    position: absolute;
    top: clamp(18px, 3vw, 40px);
    width: var(--usp-affiliate-rail-width);
    z-index: 2;
    pointer-events: none;
  }

  body:not([data-page="produtos"]) .usp-affiliate-rail--left {
    right: calc(100% + var(--usp-affiliate-rail-gap));
  }

  body:not([data-page="produtos"]) .usp-affiliate-rail--right {
    left: calc(100% + var(--usp-affiliate-rail-gap));
  }

  .usp-affiliate-rail__inner {
    position: sticky;
    top: 92px;
    display: flex;
    flex-direction: column;
    gap: clamp(26px, 4vh, 44px);
    pointer-events: auto;
  }

  .usp-affiliate-rail__title {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto -10px;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--vermelho) 22%, rgba(148, 163, 184, 0.30));
    background: color-mix(in srgb, var(--bg-card) 88%, transparent);
    color: var(--text-muted);
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  }

  .usp-affiliate-card {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--vermelho) 18%, var(--border-card));
    border-radius: 18px;
    background: color-mix(in srgb, var(--bg-card) 90%, transparent);
    color: var(--text-main);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(12px) saturate(118%);
    -webkit-backdrop-filter: blur(12px) saturate(118%);
    overflow: hidden;
  }

  html[data-theme="dark"] .usp-affiliate-card,
  [data-theme="dark"] .usp-affiliate-card {
    background: color-mix(in srgb, var(--bg-card) 88%, rgba(255, 255, 255, 0.03));
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.34);
  }

  .usp-affiliate-card__media {
    display: block;
    width: 100%;
    height: clamp(64px, 5.7vw, 88px);
    border-radius: 13px;
    overflow: hidden;
    background: color-mix(in srgb, var(--vermelho) 9%, var(--item-bg));
    border: 1px solid color-mix(in srgb, var(--vermelho) 14%, var(--border-card));
    text-decoration: none;
  }

  .usp-affiliate-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .usp-affiliate-card__media.is-missing-image {
    display: grid;
    place-items: center;
    min-height: 64px;
  }

  .usp-affiliate-card__media.is-missing-image::before {
    content: "Produto";
    color: var(--text-muted);
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .usp-affiliate-card h3 {
    margin: 0;
    color: var(--text-main);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(10.5px, 0.86vw, 13px);
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .usp-affiliate-card__note {
    display: block;
    color: var(--text-muted);
    font-size: 7.5px;
    line-height: 1.2;
    opacity: 0.78;
  }

  .usp-affiliate-card__store,
  .usp-affiliate-card__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    border-radius: 999px;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 900;
    line-height: 1.1;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
  }

  .usp-affiliate-card__store {
    min-height: 28px;
    padding: 7px 8px;
    background: linear-gradient(135deg, var(--vermelho), var(--vermelho-escuro));
    color: #ffffff;
    font-size: 10px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: 0 8px 16px color-mix(in srgb, var(--vermelho) 20%, transparent);
  }

  .usp-affiliate-card__more {
    margin-top: -2px;
    padding: 2px 4px;
    color: var(--text-muted);
    font-size: 8.5px;
    letter-spacing: 0.02em;
    text-transform: none;
  }

  .usp-affiliate-card__store:hover,
  .usp-affiliate-card__store:focus-visible,
  .usp-affiliate-card__more:hover,
  .usp-affiliate-card__more:focus-visible {
    color: #ffffff;
    background: var(--vermelho-escuro);
    transform: translateY(-1px);
    outline: none;
  }
}

@media (max-width: 1359px), print {
  .usp-affiliate-rail {
    display: none !important;
  }
}
