/* =========================================================================
   Extreme Team - Folha de Cadastro (/cadastrar) e Termos de Responsabilidade
   Complementa auth.css com os grupos de campos e blocos de termos.
   ========================================================================= */

/* ---------------------------------------------------- Grupos de Campos --- */
.form-grupo {
  min-width: 0;
  margin: 0 0 var(--sp-6);
  padding: 0;
  border: 0;
}

.form-grupo legend {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  width: 100%;
  margin-bottom: var(--sp-4);
  padding: 0 0 var(--sp-3);
  border-bottom: 1px solid var(--et-line-dark);
  font-family: var(--et-font-display);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--et-gold);
}

.form-grupo .round-badge {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--et-gold);
  color: var(--et-black);
  font-family: var(--et-font-display);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-4);
}

.field-wide {
  grid-column: 1 / -1;
}

.field-erro {
  margin: var(--sp-2) 0 0;
  color: var(--et-bad-ink-dark);
  font-size: var(--fs-xs);
  font-weight: 500;
}

/* -------------------------------------------------- Aceite dos Termos ---- */
.termos-aceite {
  display: grid;
  gap: var(--sp-3);
  margin: var(--sp-5) 0 var(--sp-6);
  padding: var(--sp-5);
  border: 1px solid var(--et-line-dark);
  border-left: 4px solid var(--et-gold);
  border-radius: var(--et-radius-control);
  background: var(--et-surface-dark-2);
}

.termos-aceite .eyebrow {
  margin: 0 0 var(--sp-1);
  color: var(--et-gold);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.termos-aceite h3 {
  margin: 0;
  font-family: var(--et-font-display);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--et-text-on-dark);
}

.termos-aceite .opcao-inline {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--et-text-on-dark-muted);
}

.termos-aceite a {
  color: var(--et-gold);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.termos-aceite a:hover {
  color: var(--et-gold-light);
}

/* ------------------------------------------- Documento de Termos Completo - */
.termos-page-shell {
  max-width: 860px;
  margin: var(--sp-6) auto var(--sp-9);
  padding: clamp(var(--sp-6), 5vw, var(--sp-9));
  border: 1px solid var(--et-line-dark);
  border-radius: var(--et-radius-card);
  background: var(--et-surface-dark);
  color: var(--et-text-on-dark);
  box-shadow: var(--et-shadow-dark);
}

.termos-documento > section {
  padding: var(--sp-5) 0;
  border-top: 1px solid var(--et-line-dark);
}

.termos-documento > section:first-of-type {
  margin-top: var(--sp-6);
}

.termos-documento h2 {
  margin: 0;
  font-family: var(--et-font-display);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--et-gold);
}

.termos-documento section p {
  margin: var(--sp-2) 0 0;
  color: var(--et-text-on-dark-muted);
  font-size: var(--fs-sm);
  line-height: 1.7;
}

.account-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 860px;
  margin: 0 auto var(--sp-5);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--et-line-dark);
}

.account-header .site-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  text-decoration: none;
  color: var(--et-text);
}

.account-header .site-brand img {
  width: 44px;
  height: 44px;
  border-radius: var(--et-radius-control);
}

@media (max-width: 560px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
  .field-wide {
    grid-column: auto;
  }
}
