/*
 * Identidade visual Prefeitura do Rio / CET-Rio
 * Paleta oficial para telas:
 * - Azul: RGB 19 / 51 / 90  -> #13335a
 * - Cinza: RGB 236 / 237 / 237 -> #eceded
 * Tipografia: Cera Pro Black / Medium / Regular quando disponível no ambiente.
 * Não inclui arquivos de fonte licenciados.
 */
:root {
  --rio-blue: #13335a;
  --rio-blue-rgb: 19, 51, 90;
  --rio-gray: #eceded;
  --rio-gray-rgb: 236, 237, 237;
  --rio-white: #ffffff;
  --rio-text: var(--rio-blue);
  --rio-muted: rgba(var(--rio-blue-rgb), 0.72);
  --rio-border: rgba(var(--rio-blue-rgb), 0.16);
  --rio-blue-soft: rgba(var(--rio-blue-rgb), 0.08);
  --rio-gray-soft: rgba(var(--rio-gray-rgb), 0.72);
  --rio-shadow: 0 14px 35px rgba(var(--rio-blue-rgb), 0.10);
  --rio-logo-url: url('/assets/img/rio-prefeitura-cetrio-horizontal-azul.svg');
  --rio-logo-white-url: url('/assets/img/rio-prefeitura-cetrio-horizontal-branco.svg');
  --rio-font-regular: "Cera Pro regular", "Cera Pro Regular", "Cera Pro", "Segoe UI", Arial, sans-serif;
  --rio-font-medium: "Cera Pro Medium", "Cera Pro", "Segoe UI Semibold", "Segoe UI", Arial, sans-serif;
  --rio-font-black: "Cera Pro Black", "Cera Pro", "Segoe UI Black", "Segoe UI", Arial, sans-serif;
  --primary-color: var(--rio-blue);
  --primary-hover: var(--rio-blue);
  --secondary-color: var(--rio-blue);
  --bs-primary: var(--rio-blue);
  --bs-primary-rgb: var(--rio-blue-rgb);
  --bs-secondary: var(--rio-gray);
  --bs-secondary-rgb: var(--rio-gray-rgb);
  --bs-link-color: var(--rio-blue);
  --bs-link-hover-color: var(--rio-blue);
}

html,
body {
  color: var(--rio-text);
  font-family: var(--rio-font-regular) !important;
  background-color: var(--rio-gray);
}

body::before {
  background: linear-gradient(135deg, rgba(var(--rio-blue-rgb), 0.84), rgba(var(--rio-blue-rgb), 0.48)) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.pagetitle h1,
.card-title,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6 {
  color: var(--rio-blue) !important;
  font-family: var(--rio-font-black) !important;
  letter-spacing: -0.02em;
}

label,
.form-label,
.col-form-label,
.navbar,
.sidebar,
.btn,
.badge,
.dropdown-header,
.fw-bold,
.fw-semibold,
strong,
th {
  font-family: var(--rio-font-medium) !important;
}

p,
li,
td,
small,
.text-muted,
.form-control,
.form-select,
.select2-container,
.dropdown-item {
  font-family: var(--rio-font-regular) !important;
}

a,
a.nav-link,
.dropdown-item,
.link-login,
.forgot-link,
.link-danger-custom {
  color: var(--rio-blue) !important;
}

a:hover,
a.nav-link:hover,
.dropdown-item:hover,
.link-login:hover,
.forgot-link:hover,
.link-danger-custom:hover {
  color: var(--rio-blue) !important;
  text-decoration-color: var(--rio-blue);
}

.text-primary,
.text-indigo-600,
.text-danger-custom,
.text-warning {
  color: var(--rio-blue) !important;
}

.text-secondary,
.text-muted {
  color: var(--rio-muted) !important;
}

.bg-primary,
.badge.bg-primary,
.btn-primary,
.btn-brand,
button[type="submit"].btn-primary {
  background: var(--rio-blue) !important;
  border-color: var(--rio-blue) !important;
  color: var(--rio-white) !important;
}

.bg-secondary,
.bg-light,
.bg-gray-100 {
  background-color: var(--rio-gray) !important;
}

.btn-primary:hover,
.btn-brand:hover,
.btn-hover:hover,
button[type="submit"].btn-primary:hover {
  background: var(--rio-blue) !important;
  border-color: var(--rio-blue) !important;
  color: var(--rio-white) !important;
  box-shadow: 0 10px 22px rgba(var(--rio-blue-rgb), 0.24) !important;
  filter: brightness(0.96);
}

.btn-outline-custom,
.btn-outline-primary {
  border-color: var(--rio-blue) !important;
  color: var(--rio-blue) !important;
  background-color: transparent !important;
}

.btn-outline-custom:hover,
.btn-outline-primary:hover {
  background-color: var(--rio-blue) !important;
  border-color: var(--rio-blue) !important;
  color: var(--rio-white) !important;
}

.form-control,
.form-select,
.select2-selection,
input,
textarea,
select {
  border-color: var(--rio-border) !important;
  color: var(--rio-blue);
}

.form-control:focus,
.form-select:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-selection--single:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--rio-blue) !important;
  box-shadow: 0 0 0 0.20rem rgba(var(--rio-blue-rgb), 0.18) !important;
}

.form-floating > label,
.form-check-label {
  color: var(--rio-muted) !important;
}

.form-check-input:checked {
  background-color: var(--rio-blue) !important;
  border-color: var(--rio-blue) !important;
}

.prefeitura-rio-navbar,
.navbar-custom,
.navbar-mobi,
.header.fixed-top,
header.header {
  background: var(--rio-blue) !important;
  background-color: var(--rio-blue) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 6px 22px rgba(var(--rio-blue-rgb), 0.22) !important;
  color: var(--rio-white) !important;
}

.navbar-custom .navbar-nav > .nav-item > .nav-link,
.navbar-mobi .navbar-nav > .nav-item > .nav-link,
.prefeitura-rio-navbar > .container-fluid .navbar-nav > .nav-item > .nav-link,
.prefeitura-rio-navbar > .container .navbar-nav > .nav-item > .nav-link,
.header.prefeitura-rio-navbar > .header-nav > ul > li > a.nav-link,
.header.prefeitura-rio-navbar > .header-nav > ul > li > a.nav-link i,
.header.prefeitura-rio-navbar > .mx-5,
.header.prefeitura-rio-navbar > .mx-5 b,
nav.prefeitura-rio-navbar > div a,
nav.prefeitura-rio-navbar > div button,
nav.prefeitura-rio-navbar > div svg {
  color: var(--rio-white) !important;
  fill: var(--rio-white) !important;
  stroke: var(--rio-white) !important;
  font-family: var(--rio-font-medium) !important;
  font-weight: 700;
}

.navbar-custom .navbar-nav > .nav-item > .nav-link:hover,
.navbar-mobi .navbar-nav > .nav-item > .nav-link:hover,
.prefeitura-rio-navbar > .container-fluid .navbar-nav > .nav-item > .nav-link:hover,
.prefeitura-rio-navbar > .container .navbar-nav > .nav-item > .nav-link:hover,
.header.prefeitura-rio-navbar > .header-nav > ul > li > a.nav-link:hover,
nav.prefeitura-rio-navbar > div a:hover,
nav.prefeitura-rio-navbar > div button:hover {
  color: var(--rio-white) !important;
  opacity: 0.86;
}

.navbar-toggler {
  border-color: var(--rio-border) !important;
}

.navbar-toggler:focus {
  box-shadow: 0 0 0 0.15rem rgba(var(--rio-blue-rgb), 0.22) !important;
}

.prefeitura-rio-page-logo,
.logo.prefeitura-rio-page-logo,
a.navbar-brand.prefeitura-rio-page-logo {
  display: inline-flex !important;
  align-items: center;
  min-width: auto !important;
  width: auto !important;
  padding: 0 !important;
  margin-right: 1rem;
  text-decoration: none !important;
}

.prefeitura-rio-page-logo-img,
.prefeitura-rio-page-logo img,
.logo.prefeitura-rio-page-logo img {
  width: auto !important;
  height: 40px;
  max-height: 44px;
  object-fit: contain;
  filter: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.prefeitura-rio-card-logo {
  width: auto !important;
  height: 72px !important;
  max-width: 100%;
  object-fit: contain;
  filter: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.prefeitura-rio-floating-logo {
  position: fixed;
  top: 16px;
  left: 20px;
  z-index: 1100;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--rio-gray);
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(var(--rio-blue-rgb), 0.12);
  text-decoration: none !important;
}

.prefeitura-rio-floating-logo img {
  width: auto !important;
  height: 38px !important;
  max-height: 38px;
  object-fit: contain;
  filter: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.prefeitura-rio-guest-body,
.prefeitura-rio-guest-body .min-h-screen {
  background: linear-gradient(135deg, var(--rio-gray), var(--rio-white)) !important;
}

.card,
.card-glass,
.edital-card,
.intro-card,
.shadow,
.bg-white {
  border-color: var(--rio-border) !important;
  box-shadow: var(--rio-shadow) !important;
}

.card,
.card-glass,
.edital-card,
.intro-card {
  border-radius: 18px !important;
}

.card-header,
.card-footer {
  background-color: var(--rio-white) !important;
  color: var(--rio-blue) !important;
  border-color: var(--rio-gray) !important;
}

.card-glass {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(var(--rio-gray-rgb), 0.95) !important;
}

.sidebar {
  background: var(--rio-white) !important;
  border-right: 1px solid var(--rio-gray) !important;
  box-shadow: 8px 0 24px rgba(var(--rio-blue-rgb), 0.06) !important;
}

.sidebar .nav-link,
.sidebar .nav-link i,
.sidebar .nav-content a,
.sidebar .nav-content a i {
  color: var(--rio-blue) !important;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active,
.sidebar .nav-content a:hover,
.sidebar .nav-content a.active {
  color: var(--rio-blue) !important;
  background: var(--rio-blue-soft) !important;
  border-radius: 12px;
}

.toggle-sidebar-btn,
.nav-icon i,
.back-to-top i {
  color: var(--rio-blue) !important;
}

.back-to-top {
  background: var(--rio-gray) !important;
  border: 1px solid var(--rio-border);
}

.footer {
  background: var(--rio-white) !important;
  border-top: 1px solid var(--rio-gray) !important;
}

.footer,
.footer .copyright,
.footer .credits {
  color: var(--rio-blue) !important;
}

.table,
.table thead,
.table th {
  color: var(--rio-blue) !important;
}

.table thead th,
.table > :not(caption) > * > th {
  background-color: var(--rio-gray) !important;
  border-color: var(--rio-border) !important;
}

.pagination .page-link {
  color: var(--rio-blue) !important;
}

.pagination .active .page-link,
.page-item.active .page-link {
  background-color: var(--rio-blue) !important;
  border-color: var(--rio-blue) !important;
  color: var(--rio-white) !important;
}

.alert-success {
  background-color: rgba(var(--rio-blue-rgb), 0.08) !important;
  border-color: rgba(var(--rio-blue-rgb), 0.22) !important;
  color: var(--rio-blue) !important;
}

.alert-warning {
  background-color: rgba(var(--rio-gray-rgb), 0.90) !important;
  border-color: var(--rio-gray) !important;
  color: var(--rio-blue) !important;
}

.brand-box-right {
  background: var(--rio-gray) !important;
}

.brand-box-right img {
  width: auto !important;
  max-width: 210px;
  height: 46px !important;
  object-fit: contain;
  filter: none !important;
}

.intro-card {
  border-left-color: var(--rio-blue) !important;
}

.border-status-open,
.border-status-soon,
.border-status-closed {
  border-top-color: var(--rio-blue) !important;
}

.spinner,
.spinner-border {
  border-top-color: var(--rio-blue) !important;
}

.select2-container--bootstrap-5 .select2-selection:focus,
.select2-container--bootstrap-5.select2-container--focus .select2-selection,
.select2-container--bootstrap-5.select2-container--open .select2-selection {
  border-color: var(--rio-blue) !important;
  box-shadow: 0 0 0 .25rem rgba(var(--rio-blue-rgb), .18) !important;
}

.select2-container--bootstrap-5 .select2-dropdown {
  border-color: var(--rio-blue) !important;
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected,
.select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted) {
  background-color: var(--rio-blue) !important;
  color: var(--rio-white) !important;
}

@media (max-width: 767.98px) {
  .prefeitura-rio-floating-logo {
    top: 10px;
    left: 12px;
    padding: 5px 7px;
  }

  .prefeitura-rio-floating-logo img {
    height: 32px !important;
  }

  .prefeitura-rio-page-logo-img,
  .prefeitura-rio-page-logo img {
    height: 34px !important;
    max-height: 34px;
  }

  .prefeitura-rio-card-logo {
    height: 58px !important;
  }
}


/* Barra superior: azul oficial com textos/ícones em branco */
.prefeitura-rio-navbar .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.42) !important;
}

.prefeitura-rio-navbar .navbar-toggler-icon {
  filter: brightness(0) invert(1) !important;
}

.prefeitura-rio-navbar > .container-fluid,
.prefeitura-rio-navbar > .container,
.header.prefeitura-rio-navbar > .d-flex,
.header.prefeitura-rio-navbar > .header-nav,
.header.prefeitura-rio-navbar > .mx-5 {
  color: var(--rio-white) !important;
}

.prefeitura-rio-navbar > .container-fluid a:not(.dropdown-item),
.prefeitura-rio-navbar > .container a:not(.dropdown-item),
.prefeitura-rio-navbar > .container-fluid i,
.prefeitura-rio-navbar > .container i,
.header.prefeitura-rio-navbar > .d-flex .toggle-sidebar-btn,
.header.prefeitura-rio-navbar > .header-nav > ul > li > a.nav-link,
.header.prefeitura-rio-navbar > .header-nav > ul > li > a.nav-link i,
.header.prefeitura-rio-navbar > .mx-5,
.header.prefeitura-rio-navbar > .mx-5 b {
  color: var(--rio-white) !important;
}

.prefeitura-rio-navbar .dropdown-menu,
.header.prefeitura-rio-navbar .dropdown-menu {
  color: var(--rio-blue) !important;
}

.prefeitura-rio-navbar .dropdown-menu a,
.header.prefeitura-rio-navbar .dropdown-menu a,
.prefeitura-rio-navbar .dropdown-menu i,
.header.prefeitura-rio-navbar .dropdown-menu i,
.prefeitura-rio-navbar .dropdown-menu h4,
.header.prefeitura-rio-navbar .dropdown-menu h4,
.prefeitura-rio-navbar .dropdown-menu h6,
.header.prefeitura-rio-navbar .dropdown-menu h6,
.prefeitura-rio-navbar .dropdown-menu p,
.header.prefeitura-rio-navbar .dropdown-menu p,
.prefeitura-rio-navbar .dropdown-menu span,
.header.prefeitura-rio-navbar .dropdown-menu span {
  color: var(--rio-blue) !important;
}

.prefeitura-rio-navbar .prefeitura-rio-page-logo-img,
.header.prefeitura-rio-navbar .prefeitura-rio-page-logo-img {
  filter: none !important;
}



/* Dropdowns do layout Breeze/Tailwind permanecem legíveis sobre fundo claro */
nav.prefeitura-rio-navbar .absolute,
nav.prefeitura-rio-navbar .absolute * {
  color: var(--rio-blue) !important;
  fill: var(--rio-blue) !important;
  stroke: var(--rio-blue) !important;
}

nav.prefeitura-rio-navbar button.bg-white,
nav.prefeitura-rio-navbar .bg-white > button {
  background: transparent !important;
  color: var(--rio-white) !important;
}

