/* =========================================
   FORMS
   Formulário de contato: estados de foco, erro, sucesso, envio.
   ========================================= */
form#contactForm { display: flex; flex-direction: column; gap: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-group label { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--clr-dark); }
.form-group input, .form-group select, .form-group textarea {
  font-size: 15px; color: var(--clr-dark); background: var(--clr-white); border: 1.5px solid var(--clr-border);
  border-radius: var(--radius); padding: 13px 16px; outline: none;
  transition: border-color var(--transition), box-shadow var(--transition); width: 100%; -webkit-appearance: none;
}
.form-group input::placeholder, .form-group textarea::placeholder { color: #aaa; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--clr-dark); box-shadow: 0 0 0 3px rgba(17,17,17,0.07); }
.form-group textarea { resize: vertical; min-height: 120px; }
.form-group select { cursor: pointer; }
.form-submit { margin-top: 8px; }
.form-note { font-size: 13px; color: var(--clr-muted); text-align: center; margin-top: 6px; }
.form-success { display: none; background: var(--clr-blue-dim); border: 1.5px solid var(--clr-blue); border-radius: var(--radius); padding: 16px 20px; font-size: 14px; color: var(--clr-dark); margin-top: 8px; }
.form-success.show { display: block; }
