/**
 * Gravity Forms Custom Styles
 * 
 * Ce fichier contient toutes les personnalisations de style pour les formulaires Gravity Forms
 * 
 * @package Arsla
 */

/* ============================================
   Structure générale du formulaire
   ============================================ */

.gform_wrapper {
  /* Styles pour le wrapper principal du formulaire */
}

.gform_body {
  /* Styles pour le corps du formulaire */
}

.gform_fields {
  /* Styles pour la liste des champs */
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ============================================
   Champs de formulaire
   ============================================ */

.gfield {
  /* Styles pour chaque champ */
  margin-bottom: 1.5rem;
}

.gfield_label {
  /* Styles pour les labels */
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: block;
}

.gfield_required {
  /* Styles pour l'indicateur de champ requis */
  color: #d63638;
  margin-left: 0.25rem;
}

.ginput_container {
  /* Styles pour le conteneur d'input */
}

.ginput_container input[type="text"],
.ginput_container input[type="email"],
.ginput_container input[type="tel"],
.ginput_container input[type="url"],
.ginput_container input[type="number"],
.ginput_container textarea,
.ginput_container select {
  /* Styles pour les inputs de base */
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.3s ease;
}

.ginput_container input[type="text"]:focus,
.ginput_container input[type="email"]:focus,
.ginput_container input[type="tel"]:focus,
.ginput_container input[type="url"]:focus,
.ginput_container input[type="number"]:focus,
.ginput_container textarea:focus,
.ginput_container select:focus {
  /* Styles pour les inputs au focus */
  outline: none;
  border-color: #0073aa;
}

.ginput_container textarea {
  /* Styles spécifiques pour les textareas */
  min-height: 120px;
  resize: vertical;
}

/* ============================================
   Messages de validation et d'erreur
   ============================================ */

.gfield_description {
  /* Styles pour les descriptions de champs */
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.25rem;
}

.validation_message {
  /* Styles pour les messages de validation */
  color: #d63638;
  font-size: 0.875rem;
  margin-top: 0.5rem;
  display: block;
}

.gfield_error .gfield_label {
  /* Styles pour les labels en cas d'erreur */
  color: #d63638;
}

.gfield_error input,
.gfield_error textarea,
.gfield_error select {
  /* Styles pour les inputs en cas d'erreur */
  border-color: #d63638;
}

.gform_validation_errors {
  /* Styles pour le message d'erreur général */
  background-color: #fef2f2;
  border-left: 4px solid #d63638;
  padding: 1rem;
  margin-bottom: 1.5rem;
  color: #d63638;
}

.gform_confirmation_message {
  /* Styles pour le message de confirmation */
  background-color: #d1fae5;
  border-left: 4px solid #10b981;
  padding: 1rem;
  margin-bottom: 1.5rem;
  color: #065f46;
}

/* ============================================
   Boutons
   ============================================ */

.gform_button {
  /* Styles pour le bouton de soumission */
  background-color: transparent !important;
  color: #fe330a !important;
  padding: 0.75rem 2rem !important;
  border: 1px solid #fe330a !important;
  border-radius: 5px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease, border-color 0.3s ease !important;
}

.gform_button:hover {
  /* Styles pour le bouton au survol */
  background-color: #fe330a !important;
  color: #ffffff !important;
}

.gform_button:active {
  /* Styles pour le bouton au clic */
  background-color: #004085 !important;
  border-color: #fe330a !important;
}

.gform_button:disabled {
  /* Styles pour le bouton désactivé */
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  border-color: #fe330a !important;
}

/* ============================================
   Cases à cocher et boutons radio
   ============================================ */

.gfield_checkbox,
.gfield_radio {
  /* Styles pour les conteneurs de checkbox/radio */
}

.gchoice {
  /* Styles pour chaque choix */
  margin-bottom: 0.5rem;
}

.gchoice input[type="checkbox"],
.gchoice input[type="radio"] {
  /* Styles pour les inputs checkbox/radio */
  margin-right: 0.5rem;
}

.gchoice label {
  /* Styles pour les labels des choix */
  font-weight: normal;
  cursor: pointer;
}

/* ============================================
   Champs de fichier
   ============================================ */

.ginput_container_fileupload {
  /* Styles pour le conteneur d'upload de fichier */
}

.ginput_container_fileupload input[type="file"] {
  /* Styles pour l'input de fichier */
  padding: 0.5rem;
  border: 1px dashed #ddd;
  border-radius: 4px;
  width: 100%;
  font-size: 1rem;
  cursor: pointer;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}

.ginput_container_fileupload input[type="file"]:hover {
  /* Styles pour l'input de fichier au survol */
  border-color: #0073aa;
  background-color: #f8f9fa;
}

.ginput_container_fileupload input[type="file"]:focus {
  /* Styles pour l'input de fichier au focus */
  outline: none;
  border-color: #0073aa;
  border-style: solid;
}

.ginput_container_fileupload input[type="file"]:disabled {
  /* Styles pour l'input de fichier désactivé */
  opacity: 0.6;
  cursor: not-allowed;
}

/* Styles pour l'affichage du nom de fichier sélectionné */
.ginput_container_fileupload .gform_fileupload_rules {
  /* Styles pour les règles d'upload */
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.5rem;
}

.ginput_container_fileupload .gform_drop_area {
  /* Styles pour la zone de dépôt de fichier */
  border: 2px dashed #ddd;
  border-radius: 4px;
  padding: 2rem;
  text-align: center;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}

.ginput_container_fileupload .gform_drop_area:hover {
  /* Styles pour la zone de dépôt au survol */
  border-color: #0073aa;
  background-color: #f8f9fa;
}

.ginput_container_fileupload .gform_drop_area.drag-over {
  /* Styles pour la zone de dépôt lors du drag over */
  border-color: #0073aa;
  background-color: #e6f3ff;
}

/* ============================================
   Champs de date
   ============================================ */

.ginput_container_date {
  /* Styles pour le conteneur de date */
}

.gdatepicker {
  /* Styles pour le datepicker */
}

/* ============================================
   Champs cachés
   ============================================ */

.gfield_hidden {
  /* Styles pour les champs cachés (généralement pas besoin de style) */
  display: none;
}

/* ============================================
   Pages multiples (multi-step forms)
   ============================================ */

.gform_page {
  /* Styles pour chaque page d'un formulaire multi-étapes */
}

.gform_page_footer {
  /* Styles pour le footer de page (boutons précédent/suivant) */
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
}

.gform_previous_button,
.gform_next_button {
  /* Styles pour les boutons précédent/suivant */
  background-color: #666;
  color: #fff;
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.gform_previous_button:hover,
.gform_next_button:hover {
  background-color: #555;
}

/* ============================================
   Progress bar (barre de progression)
   ============================================ */

.gform_progress {
  /* Styles pour la barre de progression */
  margin-bottom: 2rem;
}

.gform_progress_bar {
  /* Styles pour la barre de progression elle-même */
  background-color: #e0e0e0;
  border-radius: 4px;
  height: 8px;
  overflow: hidden;
}

.gform_progress_bar_percentage {
  /* Styles pour le pourcentage de progression */
  background-color: #0073aa;
  height: 100%;
  transition: width 0.3s ease;
}

/* ============================================
   Styles spécifiques pour single-jobs.php
   ============================================ */

.single-jobs-content .gform_wrapper {
  /* Styles spécifiques pour les formulaires dans single-jobs */
  margin-top: 2rem;
}

.single-jobs-content .gform_wrapper h2 {
  /* Styles pour le h2 "Candidature" si nécessaire */
}

/* ============================================
   Responsive
   ============================================ */

@media (max-width: 768px) {
  .gform_button {
    width: 100%;
    padding: 1rem;
  }

  .gform_page_footer {
    flex-direction: column;
    gap: 1rem;
  }

  .gform_previous_button,
  .gform_next_button {
    width: 100%;
  }
}
