:root {
  --roxo-principal: #5C2D91; /* Roxo CCBJ */
  --roxo-escuro: #4A1F75;
  --cinza-claro: #f5f5f9;
  --cinza-medio: #ddd;
  --texto: #333;
}

body {
  font-family: "Segoe UI", Arial, sans-serif;
  background: var(--cinza-claro);
  margin: 0;
  padding: 0;
  color: var(--texto);
}

/* Header fixo */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background: var(--cinza-claro);
  display: flex;
  align-items: center;
  padding: 0 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  z-index: 1000;
}

header .logo {
  height: 50px;
  margin-right: 15px;
  flex-shrink: 0;
}

header h1 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font-size: 20px;
  text-align: center;
}

/* Main */
main {
  padding-top: 110px; /* espaço para header fixo */
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

/* Títulos */
h1 {
  text-align: center;
  margin-bottom: 25px;
  font-size: 1.8rem;
  color: var(--roxo-principal);
}

section h2 {
  margin-top: 0;
  font-size: 1.1rem;
  color: var(--roxo-escuro);
  border-left: 4px solid var(--roxo-principal);
  padding-left: 8px;
  margin-bottom: 12px;
}

/* Formulário */
form {
  background: #fff;
  padding: 60px 25px 25px 25px;
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.1);
  max-width: 850px;
  width: 100%;
  margin: auto;
  border: 1px solid var(--cinza-medio);
}

section {
  margin-bottom: 25px;
  padding: 18px;
  border: 1px solid var(--cinza-medio);
  border-radius: 10px;
  background: #fafafa;
}

label {
  display: block;
  margin: 12px 0 6px;
  font-weight: 600;
}

input, textarea, select, button {
  width: 100%;
  padding: 10px;
  margin-bottom: 12px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-size: 0.95rem;
}

input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--roxo-principal);
  box-shadow: 0 0 4px rgba(92, 45, 145, 0.4);
}

input[type="file"] {
  padding: 6px;
}

button {
  cursor: pointer;
  background: var(--roxo-principal);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 12px;
  font-size: 1rem;
  font-weight: bold;
  transition: background 0.3s ease;
}

button:hover {
  background: var(--roxo-escuro);
}

/* Integrantes */
.integrante {
  border: 1px dashed var(--cinza-medio);
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 6px;
  background: #fff;
}

.integrante button.remove {
  background: #c0392b;
  margin-top: 8px;
}

/* Links */
a {
  color: var(--roxo-principal);
  font-weight: 500;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

/* Esconder elementos */
.hidden {
  display: none;
}

/* Sidebar fixa */
#modelosSidebar {
  position: fixed;
  right: 20px;
  top: 100px;
  width: 170px;
  background: #f9f9f9;
  border: 1px solid var(--cinza-medio);
  border-radius: 8px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

#modelosSidebar h3 {
  margin-top: 0;
  font-size: 1.1em;
  text-align: center;
}

#modelosSidebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#modelosSidebar li {
  margin: 8px 0;
}

#modelosSidebar a {
  text-decoration: none;
  color: #0066cc;
  font-size: 0.95em;
}

#modelosSidebar a:hover {
  text-decoration: underline;
}

/* Responsividade */
@media (max-width: 900px) {
  #modelosSidebar {
    position: static;
    width: 100%;
    margin-top: 15px;
  }
}

@media (max-width: 600px) {
  form {
    padding: 40px 15px;
  }
  input, select, textarea {
    font-size: 0.9rem;
  }
}
