/* ==========================================================================
   ║  CORTEX::APP — components/input.css                              ║
   ║  Rôle   : Champs de formulaire fluides & Résistants aux débordements ║
   ========================================================================== */

:root {
  --input-bg: var(--bg-card);
  --input-bg-focus: var(--bg-surface);
  --input-border: var(--border);
  --input-border-focus: var(--gold-prime);
  --input-text: var(--text-primary);
  --input-placeholder: var(--text-muted);
  --input-shadow-focus: 0 0 0 3px var(--gold-dim);
  
  --input-height-standard: clamp(2.8rem, 6vh, 3.2rem);
  --input-padding: 0.75rem 1rem;
  --input-transition-speed: var(--duration-z5);
}

/* --- LOGIQUE DE SAISIE COMMUNE --- */
.form-control-field {
  width: 100%;
  max-width: 100%; /* S'assure que le champ ne déborde jamais du conteneur parent */
  height: var(--input-height-standard);
  background-color: var(--input-bg);
  border: 1px solid var(--input-border);
  border-radius: 12px;
  padding: var(--input-padding);
  font-family: 'Wotfard', system-ui, sans-serif;
  font-size: 0.95rem;
  color: var(--input-text);
  outline: none;
  contain: layout style;
  transition: 
    border-color var(--input-transition-speed) ease, 
    background-color var(--input-transition-speed) ease,
    box-shadow var(--input-transition-speed) ease;
}

.form-control-field:hover {
  border-color: var(--border-hover);
}

.form-control-field:focus {
  background-color: var(--input-bg-focus);
  border-color: var(--input-border-focus);
  box-shadow: var(--input-shadow-focus);
}

.form-control-field::placeholder {
  color: var(--input-placeholder);
  opacity: 0.75;
}

/* --- TEXTAREA --- */
textarea.form-control-field {
  height: auto;
  min-height: clamp(100px, 15vh, 150px);
  resize: vertical;
  line-height: 1.5;
}

/* --- SELECT CLAIR --- */
select.form-control-field {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23B57A0A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  background-size: 14px;
  padding-right: 2.5rem;
}

/* --- CONTENEUR ET ÉTIQUETTES --- */
.form-group-container {
  margin-bottom: var(--space-z1);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  text-align: left;
}

.form-group-label {
  font-family: 'Wotfard', sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--text-primary);
}

.form-group-hint {
  font-family: 'Wotfard', sans-serif;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 0.15rem;
  line-height: 1.4;
}