/* Shared e-projetos identity. Program themes are restricted by visual-identity.js. */
html[data-visual-theme] {
  --identity-accent: #465365;
  --identity-rgb: 70, 83, 101;
  --identity-soft: #edf0f4;
  --identity-canvas: #f5f6f8;
  --identity-sidebar: #1c2021;
  --identity-photo: 0%;
  --identity-ink: #111b2e;
  --identity-muted: #536179;
  --identity-line: #dce2eb;
}
html[data-visual-theme="talents"] {
  --identity-accent: #005bea;
  --identity-rgb: 0, 91, 234;
  --identity-soft: #e8f2ff;
  --identity-canvas: #f2f8ff;
  --identity-sidebar: #002653;
  --identity-photo: 50%;
}
html[data-visual-theme="performance"] {
  --identity-accent: #008052;
  --identity-rgb: 0, 128, 82;
  --identity-soft: #e3f5ed;
  --identity-canvas: #f0faf5;
  --identity-sidebar: #003b2c;
  --identity-photo: 100%;
}
html[data-visual-theme] body {
  --bs-primary: var(--identity-accent);
  --bs-primary-rgb: var(--identity-rgb);
  --brand-blue: var(--identity-accent);
  --brand-green: var(--identity-accent);
  --brand-soft-bg: var(--identity-canvas);
  --blue: var(--identity-accent);
  --bs-heading-color: var(--identity-ink);
  background: var(--identity-canvas) !important;
  color: var(--identity-ink);
}
html[data-visual-theme] .content-body {
  background: linear-gradient(135deg, #fff8, transparent), var(--identity-canvas) !important;
}
html[data-visual-theme] .nav-header {
  background: var(--identity-sidebar) !important;
  border: 0;
}
html[data-visual-theme] .nav-header .brand-logo { padding: 16px 22px; }
html[data-visual-theme] .nav-header .brand-logo .identity-logo {
  width: 190px; max-width: 100%; height: 54px; object-fit: contain;
  transform: none; margin: 0;
}
html[data-visual-theme] .icnav {
  isolation: isolate;
  background: var(--identity-sidebar) !important;
  border: 0;
}
html[data-visual-theme] .icnav::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(180deg, var(--identity-sidebar) 0%, transparent 30%, #0002 100%), url('../images/identity-sports.png');
  background-size: 100% 100%, 300% 100%;
  background-position: center, var(--identity-photo) center;
  background-repeat: no-repeat;
}
html[data-visual-theme] .icnav-scroll { display: flex; flex-direction: column; min-height: 100%; }
html[data-visual-theme] .icnav .metismenu { padding-top: 12px; background: linear-gradient(var(--identity-sidebar) 75%, transparent); }
html[data-visual-theme] .icnav .metismenu a,
html[data-visual-theme] .icnav .menu-icon i,
html[data-visual-theme] .icnav .nav-text { color: #fff !important; }
html[data-visual-theme] .icnav .metismenu > li > a { border-left: 3px solid transparent; border-radius: 6px; margin: 2px 12px; }
html[data-visual-theme] .icnav .metismenu > li.mm-active > a,
html[data-visual-theme] .icnav .metismenu a:hover,
html[data-visual-theme] .icnav .metismenu a:focus-visible {
  background: #ffffff21 !important; border-left-color: #fff !important; color: #fff !important;
}
html[data-visual-theme] .icnav .metismenu ul { background: #0003 !important; }
html[data-visual-theme] .icnav .metismenu .has-arrow::after {
  width: 7px;
  height: 7px;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  transform: translateY(-50%) rotate(-45deg);
  transform-origin: center;
  transition: transform .2s ease;
}
html[data-visual-theme] .icnav .metismenu .has-arrow[aria-expanded="true"]::after {
  transform: translateY(-50%) rotate(45deg);
}
.identity-slogan { white-space: pre-line; margin: auto 22px 20px; padding-top: 220px; color: #fff; font-size: 13px; line-height: 1.15; font-weight: 700; text-shadow: 0 1px 5px #000; }
html[data-visual-theme] .header { background: #fff !important; border-bottom: 1px solid var(--identity-line); box-shadow: none; backdrop-filter: none; }
html[data-visual-theme] .header .main-title { color: var(--identity-muted); font-size: 15px; font-weight: 500; }
.identity-ministry { color: var(--identity-muted); font-size: 13px; margin-right: 20px; }
html[data-visual-theme] .card,
html[data-visual-theme] .cadastro-card,
html[data-visual-theme] .panel { background: #fff !important; border: 1px solid var(--identity-line); border-radius: 10px; box-shadow: 0 3px 12px #172a4510; }
html[data-visual-theme] :is(.main-title,.cadastro-title,.h3,.h5,.form-label) { color: var(--identity-ink); }
html[data-visual-theme] .cadastro-subtitle { color: var(--identity-muted); }
html[data-visual-theme] .btn-primary,
html[data-visual-theme] .cadastro-btn { background: var(--identity-accent) !important; border-color: var(--identity-accent) !important; color: #fff; box-shadow: none; }
html[data-visual-theme] .btn-primary:hover { filter: brightness(.9); }
html[data-visual-theme] .btn-primary:disabled { background: #a9b0bb !important; border-color: #a9b0bb !important; }
html[data-visual-theme] .btn-outline-primary { color: var(--identity-accent); border-color: var(--identity-accent); background: #fff; }
html[data-visual-theme] .btn-outline-primary:hover { background: var(--identity-accent); color: #fff; }
html[data-visual-theme] :is(.form-control,.form-select) { border-color: var(--identity-line); border-radius: 6px; }
html[data-visual-theme] :is(.form-control,.form-select):focus { border-color: var(--identity-accent); box-shadow: 0 0 0 3px rgba(var(--identity-rgb),.14); }
html[data-visual-theme] .form-check-input:checked { background-color: var(--identity-accent); border-color: var(--identity-accent); }
html[data-visual-theme] .page-title .breadcrumb { background: transparent; border: 0; border-radius: 0; padding-left: 0; }
html[data-visual-theme] .page-title .breadcrumb .breadcrumb-current { background: transparent; padding: 0; color: var(--identity-ink); }
html[data-visual-theme] .page-title .breadcrumb li.active { color: var(--identity-accent) !important; }
html[data-visual-theme] .profile { border: 1px solid var(--identity-line); border-radius: 7px; box-shadow: none; color: var(--identity-ink); }
html[data-visual-theme] .profile:hover { border-color: var(--identity-accent); box-shadow: 0 3px 10px #172a4510; }
html[data-visual-theme] .profile.selected { border-color: var(--identity-accent); background: var(--identity-soft); box-shadow: 0 0 0 1px var(--identity-accent); }
html[data-visual-theme] .profile.selected .check { background: var(--identity-accent); color: white; }
html[data-visual-theme] .profile .icon { color: var(--identity-ink); }
html[data-visual-theme] .profile h3 { color: var(--identity-ink); }
html[data-visual-theme] .profile .eixo-desc { color: var(--identity-muted); }
html[data-visual-theme] .wizard-step-btn.active,
html[data-visual-theme] .wizard-step-btn.active.done { background: var(--identity-accent); border-color: var(--identity-accent); color: #fff; }
html[data-visual-theme] .wizard-step-btn.done:not(.active):not(.has-error) { background: var(--identity-soft); border-color: var(--identity-accent); color: var(--identity-accent); }
html[data-visual-theme] #wizardProgressBar:not(.has-error) { background: var(--identity-accent) !important; }
.identity-intro { margin: 8px 0 24px; }
.identity-intro h2 { font-size: clamp(24px,2.5vw,34px); letter-spacing: -.7px; margin-bottom: 6px; color: var(--identity-ink); }
.identity-intro p { color: var(--identity-muted); margin-bottom: 14px; }
.identity-program { display: flex; align-items: center; gap: 14px; margin: 16px 0; }
.identity-program[hidden] { display: none; }
.identity-program span { padding: 7px 13px; border-radius: 18px; font-weight: 600; color: var(--identity-accent); background: var(--identity-soft); }
.identity-program a { color: var(--identity-accent); font-size: 13px; text-decoration: underline; }
.identity-steps { display: flex; list-style: none; padding: 0; gap: 18px; margin: 22px 0; color: var(--identity-muted); }
.identity-steps li { display: flex; align-items: center; gap: 8px; flex: 1; font-size: 13px; }
.identity-steps li:not(:last-child)::after { content: ''; height: 1px; flex: 1; background: var(--identity-line); }
.identity-steps b { display: grid; place-items: center; border: 1px solid var(--identity-line); border-radius: 50%; width: 27px; height: 27px; flex-shrink: 0; }
.identity-steps [aria-current] { color: var(--identity-accent); font-weight: 600; }
.identity-steps [aria-current] b { color: #fff; background: var(--identity-accent); border-color: var(--identity-accent); }
.identity-program-description { font-size: 14px; color: var(--identity-muted); margin: 12px 0; }
.identity-program-details { font-size: 12px; color: #728096; }
.identity-notice { background: var(--identity-soft); border: 1px solid var(--identity-line); border-radius: 6px; padding: 14px 18px; margin: 22px 0; color: var(--identity-ink); }
html[data-visual-theme] .cadastro-page .cadastro-card { max-width: 1100px; margin: 0 auto; }
html[data-visual-theme] .cadastro-page .profile:not(.eixo):not(.disabled) { min-height: 210px; }
html[data-visual-theme] .cadastro-page .profile.disabled { min-height: 90px; opacity: .55; }
html[data-visual-theme] .eixo-page .eixo { display: grid; grid-template-columns: 55px 1fr; grid-template-rows: auto auto; text-align: left; padding: 20px; min-height: 120px; }
html[data-visual-theme] .eixo-page .eixo .icon { grid-column: 1; grid-row: 1 / 3; font-size: 30px; margin: 0; }
html[data-visual-theme] .eixo-page .eixo h3 { grid-column: 2; font-size: 14px; margin: 0 20px 5px 0; }
html[data-visual-theme] .eixo-page .eixo .eixo-desc { grid-column: 2; font-size: 14px; }
html[data-visual-theme] .eixo-page .container-fluid.eixo-fluid { padding: 24px; }
html[data-visual-theme] .brand { background: var(--identity-sidebar); border-image: none; border-bottom-color: #dce2eb; }
html[data-visual-theme] .overlay { background: transparent; }
@media (max-width: 767px) {
  .identity-ministry { display: none; }
  .identity-steps { gap: 8px; flex-wrap: wrap; }
  .identity-steps li { flex: 1 1 40%; }
  html[data-visual-theme] .eixo-page .container-fluid.eixo-fluid { padding: 16px; }
  html[data-visual-theme] .profiles { grid-template-columns: 1fr; }
  html[data-visual-theme] .header .main-title { font-size: 12px; }
}
@media print { .identity-slogan { display: none; } }
/* Override legacy page decorations and keep typography independent of remote fonts. */
html[data-visual-theme] body,
html[data-visual-theme] button,
html[data-visual-theme] input,
html[data-visual-theme] select,
html[data-visual-theme] textarea {
  font-family: Arial, Helvetica, sans-serif !important;
}
html[data-visual-theme] body { --bs-body-font-family: Arial, Helvetica, sans-serif; }
html[data-visual-theme] .content-body::before { background: none !important; }
html[data-visual-theme] .icnav::before { background-size: 100% 100%, 300% auto; background-position: center, var(--identity-photo) bottom; }
html[data-visual-theme] .cadastro-page .cadastro-card,
html[data-visual-theme] .eixo-page .eixo-card { width: 100%; max-width: 1100px; }
html[data-visual-theme] .cadastro-page .cadastro-fluid { padding: 24px 32px; }
html[data-visual-theme] .profile > span { color: var(--identity-ink); }
html[data-visual-theme] .profile .check { width: 20px; height: 20px; right: 12px; top: 12px; border-radius: 4px; box-shadow: none; }
html[data-visual-theme] .eixo-page .eixo-btn { width: auto; min-width: 140px; margin: 0 0 0 12px; }
html[data-visual-theme] #identityAxisCount { color: var(--identity-accent); margin: 20px 0 16px; }
html[data-visual-theme] .cancel { color: var(--identity-muted); }
html[data-visual-theme] .table thead th { background: var(--identity-soft); color: var(--identity-ink); border-color: var(--identity-line); }
html[data-visual-theme] .rich-editor-toolbar { background: var(--identity-soft); border-color: var(--identity-line); }
html[data-visual-theme] .rich-editor-wrap { border-color: var(--identity-line); }
html[data-visual-theme] .alert-primary { background: var(--identity-soft); color: var(--identity-ink); border-color: var(--identity-line); }
html[data-visual-theme] #selectedEixosBadges .badge { white-space: normal; text-align: left; overflow-wrap: anywhere; }
html[data-visual-theme] .nav-header .brand-logo { overflow: hidden; }
@media (max-width: 767px) {
  .identity-ministry { display: none !important; }
  html[data-visual-theme] .cadastro-page .cadastro-fluid { padding: 16px; }
  html[data-visual-theme] .nav-header .brand-logo { padding: 8px; justify-content: flex-start; }
  html[data-visual-theme] .nav-header .brand-logo .identity-logo { min-width: 0; max-width: 100%; height: 46px; }
  html[data-visual-theme] .content-body .card-body { min-width: 0; }
}

html[data-visual-theme] #selectedEixosBadges { min-width: 0; max-width: 100%; }
.identity-sidebar-program { display: flex; align-items: center; gap: 10px; padding: 10px; margin: 12px 18px; border: 1px solid #ffffff80; background: #0003; color: white; border-radius: 6px; font-size: 13px; }
.identity-sidebar-program[hidden] { display: none; }
html[data-visual-theme] :focus-visible { outline: 3px solid var(--identity-accent); outline-offset: 3px; }
html[data-visual-theme] .icnav :focus-visible { outline-color: white; }
html[data-visual-theme] #main-wrapper { min-height: 100vh; background: var(--identity-canvas); }
html[data-visual-theme] .identity-intro h2,
html[data-visual-theme] .cadastro-title { font-weight: 700; }
html[data-visual-theme] .profile:not(.disabled) .check { display: grid; place-items: center; border: 1px solid #8b9bb5; background: white; color: transparent; }
html[data-visual-theme] .profile:not(.disabled).selected .check { background: var(--identity-accent); border-color: var(--identity-accent); color: white; }
html[data-visual-theme] .profile[role="radio"] .check { border-radius: 50%; }

/* More room for the SNE brand and sports photography on expanded desktops. */
@media (min-width: 1200px) {
  html[data-visual-theme] body[data-sidebar-style="full"] {
    --ic-sidebar-width: 290px;
    --ic-brand-header-height: 104px;
  }
  html[data-visual-theme] body[data-sidebar-style="full"] #main-wrapper:not(.menu-toggle) .nav-header .brand-logo {
    padding: 12px 42px 12px 18px;
  }
  html[data-visual-theme] body[data-sidebar-style="full"] #main-wrapper:not(.menu-toggle) .nav-header .brand-logo .identity-logo {
    width: 230px;
    height: 80px;
  }
}
