
/* ==========================================================
   CONECTA JOVEM — SISTEMA VISUAL UNIFICADO V6
   Normaliza tonalidades, espaçamento, tipografia, fundos,
   cartões, formulários, botões e responsividade.
========================================================== */

:root{
  --cj-primary:#2563eb;
  --cj-primary-hover:#1d4ed8;
  --cj-primary-soft:#eff6ff;
  --cj-secondary:#4f46e5;
  --cj-success:#16a34a;
  --cj-warning:#d97706;
  --cj-danger:#dc2626;

  --cj-bg:#f8fafc;
  --cj-surface:#ffffff;
  --cj-surface-2:#f1f5f9;
  --cj-text:#172033;
  --cj-text-2:#334155;
  --cj-muted:#64748b;
  --cj-border:#e2e8f0;
  --cj-border-strong:#cbd5e1;

  --cj-radius-sm:8px;
  --cj-radius-md:12px;
  --cj-radius-lg:18px;
  --cj-radius-xl:24px;

  --cj-space-1:4px;
  --cj-space-2:8px;
  --cj-space-3:12px;
  --cj-space-4:16px;
  --cj-space-5:20px;
  --cj-space-6:24px;
  --cj-space-7:32px;
  --cj-space-8:40px;
  --cj-space-9:48px;
  --cj-space-10:64px;

  --cj-shadow-sm:0 2px 10px rgba(15,23,42,.05);
  --cj-shadow-md:0 10px 28px rgba(15,23,42,.07);
  --cj-shadow-lg:0 18px 48px rgba(15,23,42,.10);

  --cj-container:1180px;
}

html{
  font-size:16px;
  scroll-behavior:smooth;
  background:var(--cj-bg);
}

*,*::before,*::after{box-sizing:border-box}

body{
  margin:0;
  min-width:320px;
  background:var(--cj-bg);
  color:var(--cj-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:1rem;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg,video,iframe{max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit}

a{
  color:var(--cj-primary);
  text-underline-offset:3px;
}
a:hover{color:var(--cj-primary-hover)}

h1,h2,h3,h4,h5,h6{
  color:var(--cj-text);
  line-height:1.2;
  margin-top:0;
  letter-spacing:-.015em;
}
h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:var(--cj-space-5)}
h2{font-size:clamp(1.5rem,2.7vw,2.2rem);margin-bottom:var(--cj-space-4)}
h3{font-size:clamp(1.1rem,2vw,1.35rem);margin-bottom:var(--cj-space-3)}
p{margin:0 0 var(--cj-space-4);color:var(--cj-text-2)}

.container,
.cj-container{
  width:min(var(--cj-container),calc(100% - 40px));
  margin-inline:auto;
}

section{width:100%}

.cj-section{
  padding-block:var(--cj-space-10);
}

.cj-section--soft{background:var(--cj-bg)}
.cj-section--white{background:var(--cj-surface)}

.cj-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--cj-primary);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cj-muted{color:var(--cj-muted)!important}

.cj-card,
.card{
  background:var(--cj-surface);
  border:1px solid var(--cj-border);
  border-radius:var(--cj-radius-lg);
  box-shadow:var(--cj-shadow-sm);
}

.cj-card{padding:var(--cj-space-6)}

button,
.btn,
.btn-primary,
.btn-principal,
.btn-cadastro,
.material-primary,
.home-video-button{
  min-height:44px;
  border-radius:var(--cj-radius-md);
  font-weight:700;
  line-height:1.2;
}

input,
select,
textarea{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  color:var(--cj-text);
  background:var(--cj-surface);
  border:1px solid var(--cj-border-strong);
  border-radius:var(--cj-radius-md);
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

textarea{min-height:120px;resize:vertical}

input::placeholder,
textarea::placeholder{color:#94a3b8}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--cj-primary);
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}

label{
  color:var(--cj-text-2);
  font-weight:600;
}

table{width:100%;border-collapse:collapse}
th,td{padding:12px 14px;border-bottom:1px solid var(--cj-border);text-align:left}
th{font-size:.82rem;color:var(--cj-text-2);background:var(--cj-surface-2)}

:focus-visible{
  outline:3px solid #f59e0b;
  outline-offset:2px;
}

.cj-page-header{
  padding:var(--cj-space-9) 0 var(--cj-space-7);
  background:var(--cj-surface);
  border-bottom:1px solid var(--cj-border);
}

.cj-page-header p{max-width:760px;color:var(--cj-muted)}

.cj-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cj-space-6)}
.cj-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cj-space-6)}
.cj-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cj-space-5)}

.cj-stack{display:flex;flex-direction:column;gap:var(--cj-space-4)}
.cj-row{display:flex;align-items:center;gap:var(--cj-space-4);flex-wrap:wrap}

.cj-empty{
  padding:var(--cj-space-8);
  text-align:center;
  color:var(--cj-muted);
  background:var(--cj-surface);
  border:1px dashed var(--cj-border-strong);
  border-radius:var(--cj-radius-lg);
}

.cj-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:4px 9px;
  border-radius:999px;
  background:var(--cj-primary-soft);
  color:#1d4ed8;
  font-size:.75rem;
  font-weight:800;
}

.cj-divider{height:1px;background:var(--cj-border);border:0;margin:var(--cj-space-6) 0}

@media(max-width:900px){
  .cj-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cj-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  html{font-size:15.5px}
  .container,.cj-container{width:min(100% - 28px,var(--cj-container))}
  .cj-section{padding-block:var(--cj-space-8)}
  .cj-grid-2,.cj-grid-3,.cj-grid-4{grid-template-columns:1fr}
  h1{font-size:clamp(1.85rem,9vw,2.5rem)}
  h2{font-size:clamp(1.4rem,7vw,1.9rem)}
}

/* ---------- Existing common classes: normalize common legacy styles ---------- */
.secao,.section,.section-page,.page-section{padding-block:var(--cj-space-10)!important}
.card,.card-vaga,.vaga-card,.stat-card,.dashboard-card,.perfil-card,.form-card{
  border-radius:var(--cj-radius-lg)!important;
}
