/* ============================================================
   Kog — Job board, thème clair premium (v9)
   Nouveau en v9 : ombre douce au repos, pastille "ouvert" en respiration
   lente, dégradé retenu sur le titre (bloc isolé, supprimable seul).
   Rappel v8 : liseré + flèche au survol, ligne méta violet apaisé.
   Rappel v7 : pastille verte sobre "poste ouvert" à gauche du titre.
   Conforme au validateur Ashby : uniquement des classes .ashby-*
   Travail typographique : hiérarchie, rythme, colonne méta, accents.
   Où le charger : Ashby > Admin > Job Boards > Theme (Job Board)
                   > Custom CSS > Browse files
   ============================================================ */

/* ---------- BOARD : LISTE ---------- */

/* Titre principal du board */
.ashby-job-board-heading {
  color: #1D1D1B !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

/* Compteur (Open Positions) : violet apaisé */
.ashby-job-board-heading-count {
  color: #A99BD6 !important;
  font-weight: 600 !important;
}

/* En-tête de département / section (Engineering) : libellé discret en capitales espacées */
.ashby-department-heading,
.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading,
.ashby-job-posting-brief-department-heading-level {
  color: #8A8594 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.8rem !important;
}

/* Filtres déroulants */
.ashby-job-board-filter {
  background-color: #FFFFFF !important;
  color: #1D1D1B !important;
  border: 1px solid #E2DEEC !important;
  border-radius: 10px !important;
}

/* Cartes de poste : plus d'air, bordure fine, relief net au survol */
.ashby-job-posting-brief {
  background-color: #FFFFFF !important;
  border: 1px solid #ECE8F6 !important;
  border-radius: 14px !important;
  padding: 22px 24px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 1px 2px rgba(29, 29, 27, 0.04), 0 6px 16px rgba(29, 29, 27, 0.05) !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
}
.ashby-job-posting-brief:hover {
  border-color: #8D62EB !important;
  box-shadow: 0 16px 44px rgba(141, 98, 235, 0.16) !important;
  transform: translateY(-3px) !important;
}

/* Liseré violet à gauche de la carte, révélé au survol.
   Pseudo-élément posé sur la carte, distinct de la pastille du titre. */
.ashby-job-posting-brief::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background-color: #8D62EB !important;
  opacity: 0 !important;
  transition: opacity 0.18s ease !important;
}
.ashby-job-posting-brief:hover::before {
  opacity: 1 !important;
}

/* Flèche "voir le poste" à droite, révélée au survol. */
.ashby-job-posting-brief::after {
  content: "\2192" !important;
  position: absolute !important;
  right: 22px !important;
  top: 26px !important;
  color: #8D62EB !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  opacity: 0 !important;
  transform: translateX(-6px) !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}
.ashby-job-posting-brief:hover::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* Titre de poste dans la liste : affirmé, avec pastille "ouvert" à gauche */
.ashby-job-posting-brief-title {
  color: #1D1D1B !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
  letter-spacing: -0.01em !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Pastille verte sobre signalant un poste ouvert, en respiration lente.
   Pseudo-élément CSS car Ashby interdit d'insérer un vrai élément HTML.
   Le @keyframes est un pari : même famille d'instruction que @font-face,
   qu'Ashby refuse. Si l'upload le rejette, la pastille reste fixe et belle. */
@keyframes kog-pulse {
  0% { box-shadow: 0 0 0 0 rgba(46, 158, 120, 0.35) !important; }
  70% { box-shadow: 0 0 0 7px rgba(46, 158, 120, 0) !important; }
  100% { box-shadow: 0 0 0 0 rgba(46, 158, 120, 0) !important; }
}
.ashby-job-posting-brief-title::before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background-color: #2E9E78 !important;
  box-shadow: 0 0 0 3px rgba(46, 158, 120, 0.15) !important;
  flex-shrink: 0 !important;
  animation: kog-pulse 2.4s ease-out infinite !important;
}

/* Ligne méta du poste : réveillée dans un violet-gris apaisé, plus dans ta marque */
.ashby-job-posting-brief-details {
  color: #7A6BA6 !important;
  letter-spacing: 0.01em !important;
}

/* ---- DÉGRADÉ TITRE (bloc isolé, supprimable seul) ----
   Version la plus retenue possible : presque-noir vers violet sombre.
   Regarde-le en vrai. Si ça sent le template, supprime ce seul bloc,
   le titre repasse en noir net grâce au color de la règle du dessus. */
.ashby-job-posting-brief-title {
  background: linear-gradient(95deg, #1D1D1B 30%, #4A3B7A 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
/* ---- FIN DÉGRADÉ TITRE ---- */

/* ---------- FICHE DE POSTE : DÉTAIL ---------- */

/* Titre de la fiche de poste : grand, serré, affirmé */
.ashby-job-posting-heading {
  color: #1D1D1B !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

/* Colonne méta de gauche : libellés discrets en capitales, valeurs affirmées.
   Ashby n'expose pas de classe dédiée à cette colonne, donc on soigne
   ce qu'on peut cibler. La hiérarchie principale se joue sur les titres. */

/* Titres de section de la description (About Kog, What you will work on) */
.ashby-application-form-section-header-title {
  color: #1D1D1B !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
.ashby-application-form-section-header-description {
  color: #6B6672 !important;
  line-height: 1.7 !important;
}

/* Questions du formulaire de candidature */
.ashby-application-form-question-title {
  color: #1D1D1B !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
}
.ashby-application-form-question-description {
  color: #6B6672 !important;
  line-height: 1.7 !important;
}

/* Conteneur du formulaire : de l'air */
.ashby-application-form-container {
  line-height: 1.7 !important;
}

/* Bouton Apply / soumission : plein, arrondi, affirmé */
.ashby-application-form-submit-button {
  background-color: #8D62EB !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}
