/* ==========================================================================
   OASIS - Profil membre (page /participant/.../, tous onglets confondus :
   Profil, Activité, Favoris, Abonnements, Messages, Mon planning de modération)
   Fichier : kaala-child/assets/css/oasis-profil-membre.css

   Créé le 10/08 par copie depuis wpforo-oasis.css (sections "Texte noir :
   recadré le 08/07" et "14. Profil wpForo") pour isoler les styles du cadre
   commun à tous les onglets du profil (avatar, menu, cases de statistiques)
   dans un fichier dédié, sans alourdir les autres fichiers CSS.

   Les règles d'origine restent en place dans wpforo-oasis.css (copie, pas un
   déplacement) — voir [[feedback_antigravity_verifier_avant_agir]] /
   [[project_menage_fichiers_morts]] en mémoire pour le contexte. Ce fichier
   est chargé après les autres feuilles wpForo/OASIS : c'est lui qui gagne en
   cas de différence, donc c'est ici qu'il faut modifier le style du profil
   désormais.
   ========================================================================== */

/* Texte noir : recadré le 08/07 (bug noir-sur-noir) aux seules zones encore
   100% natives — .wpforo-profile-content, #wpf-widget-profile, .wpforo-login-wrap.
   Ne JAMAIS élargir à #wpforo #wpforo-wrap global : ça écrase l'héritage de
   couleur du HTML OASIS (ex. .oasis-forum-header__drawer > summary span). */
#wpforo #wpforo-wrap .wpforo-profile-content,
#wpforo #wpforo-wrap #wpf-widget-profile,
#wpforo #wpforo-wrap .wpforo-login-wrap,
#wpforo #wpforo-wrap .wpforo-profile-content div,
#wpforo #wpforo-wrap #wpf-widget-profile div,
#wpforo #wpforo-wrap .wpforo-login-wrap div,
#wpforo #wpforo-wrap .wpforo-profile-content span,
#wpforo #wpforo-wrap #wpf-widget-profile span,
#wpforo #wpforo-wrap .wpforo-login-wrap span,
#wpforo #wpforo-wrap .wpforo-profile-content p,
#wpforo #wpforo-wrap #wpf-widget-profile p,
#wpforo #wpforo-wrap .wpforo-login-wrap p,
#wpforo #wpforo-wrap .wpforo-profile-content li,
#wpforo #wpforo-wrap #wpf-widget-profile li,
#wpforo #wpforo-wrap .wpforo-login-wrap li,
#wpforo #wpforo-wrap .wpforo-profile-content label,
#wpforo #wpforo-wrap #wpf-widget-profile label,
#wpforo #wpforo-wrap .wpforo-login-wrap label,
#wpforo #wpforo-wrap .wpforo-profile-content small,
#wpforo #wpforo-wrap #wpf-widget-profile small,
#wpforo #wpforo-wrap .wpforo-login-wrap small,
#wpforo #wpforo-wrap .wpforo-profile-content time,
#wpforo #wpforo-wrap #wpf-widget-profile time,
#wpforo #wpforo-wrap .wpforo-login-wrap time,
#wpforo #wpforo-wrap .wpforo-profile-content strong,
#wpforo #wpforo-wrap #wpf-widget-profile strong,
#wpforo #wpforo-wrap .wpforo-login-wrap strong,
#wpforo #wpforo-wrap .wpforo-profile-content em,
#wpforo #wpforo-wrap #wpf-widget-profile em,
#wpforo #wpforo-wrap .wpforo-login-wrap em {
  color: var(--oasis-black) !important;
}

/* ========================================================================
   Activité membre — adaptation de la maquette FILTER / TOUT / SUJETS /
   RÉPONSES au HTML natif wpForo de profile-activity.php.
   Cette surcharge reste limitée à .wpf-activities, donc aux onglets du
   profil membre, et ne concerne pas la page « Quoi de neuf ? ».
   ======================================================================== */
#wpforo #wpforo-wrap .wpf-activities {
  padding: 24px 0 30px !important;
  background: transparent !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel {
  display: grid !important;
  grid-template-columns: auto repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 3px solid #101010 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: 4px 4px 0 #101010 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-left {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 112px !important;
  padding: 10px 18px !important;
  border: 0 !important;
  border-right: 3px solid #101010 !important;
  font: 900 14px/1.2 "IBM Plex Mono", monospace !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-left span {
  padding: 0 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-left span:not(:first-child) {
  display: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-left::before {
  content: "FILTER" !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-left > span {
  display: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-right {
  display: contents !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  min-height: 48px !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-right: 3px solid #101010 !important;
  color: #101010 !important;
  background: #fff !important;
  font: 900 14px/1.2 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link:last-child a {
  border-right: 0 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link.wpf-active a {
  background: #ffd600 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link a:hover,
#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link a:focus-visible {
  background: #fff588 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 3px solid #101010 !important;
  border-left: 6px solid #ffd600 !important;
  background: #fff !important;
  box-shadow: 4px 4px 0 #101010 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity.wpfa-reply {
  border-left-color: #ff1f8e !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 98px !important;
  padding: 12px 8px !important;
  border: 0 !important;
  border-right: 3px solid #101010 !important;
  background: #fff !important;
  text-align: center !important;
  width: 100% !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon svg {
  width: 26px !important;
  height: 26px !important;
  fill: #101010 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon i {
  display: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-tlabel {
  color: #101010 !important;
  font: 900 11px/1.1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-data {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: 14px 12px !important;
  border: 0 !important;
  width: 100% !important;
  text-align: left !important;
  align-items: stretch !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-top {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a {
  color: #101010 !important;
  font: 400 20px/1.2 "Anton", Impact, sans-serif !important;
  letter-spacing: .01em !important;
  text-align: left !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-date {
  flex: 0 0 auto !important;
  color: #101010 !important;
  font: 600 13px/1.2 "IBM Plex Mono", monospace !important;
  white-space: nowrap !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title p {
  display: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 7px !important;
  margin-left: 0 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-flabel {
  display: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum {
  display: inline !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #101010 !important;
  font: 400 14px/1.2 "IBM Plex Mono", monospace !important;
  margin-left: 0 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum::before {
  content: "Forum : " !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum i {
  display: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum a {
  color: inherit !important;
  border: 0 !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a,
#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a:hover,
#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum a:hover {
  border: 0 !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a:hover,
#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum a:hover {
  color: #101010 !important;
  background: #ffd600 !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity.wpfa-reply .wpf-activity-title > a:hover,
#wpforo #wpforo-wrap .wpf-activities .wpf-activity.wpfa-reply .wpf-activity-forum a:hover {
  color: #101010 !important;
  background: #ff1f8e !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-stat {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  margin: -16px 0 0 !important;
  color: #101010 !important;
  font: 600 12px/1.2 "IBM Plex Mono", monospace !important;
}

@media (max-width: 640px) {
  #wpforo #wpforo-wrap .wpf-activities {
    padding: 16px 0 22px !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel {
    grid-template-columns: 1fr 1fr 1fr !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-left {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    border-right: 0 !important;
    border-bottom: 3px solid #101010 !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link a {
    min-height: 44px !important;
    padding: 8px 4px !important;
    font-size: 11px !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity {
    grid-template-columns: 1fr !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon {
    min-height: 0 !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    padding: 8px 12px !important;
    border-right: 0 !important;
    border-bottom: 3px solid #101010 !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-data {
    padding: 12px !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-top {
    display: block !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-date {
    display: block !important;
    margin-top: 7px !important;
    text-align: left !important;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-stat {
    justify-content: flex-start !important;
    margin: 10px 0 0 !important;
  }
}

/* Liens généraux : pas de bleu, pas de violet — même recadrage */
#wpforo #wpforo-wrap .wpforo-profile-content a,
#wpforo #wpforo-wrap #wpf-widget-profile a,
#wpforo #wpforo-wrap .wpforo-login-wrap a,
#wpforo #wpforo-wrap .wpforo-profile-content a:link,
#wpforo #wpforo-wrap #wpf-widget-profile a:link,
#wpforo #wpforo-wrap .wpforo-login-wrap a:link,
#wpforo #wpforo-wrap .wpforo-profile-content a:visited,
#wpforo #wpforo-wrap #wpf-widget-profile a:visited,
#wpforo #wpforo-wrap .wpforo-login-wrap a:visited {
  color: var(--oasis-black) !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpforo-profile-content a:hover,
#wpforo #wpforo-wrap #wpf-widget-profile a:hover,
#wpforo #wpforo-wrap .wpforo-login-wrap a:hover,
#wpforo #wpforo-wrap .wpforo-profile-content a:focus,
#wpforo #wpforo-wrap #wpf-widget-profile a:focus,
#wpforo #wpforo-wrap .wpforo-login-wrap a:focus {
  color: var(--oasis-black) !important;
}

/* Icônes noires — même recadrage */
#wpforo #wpforo-wrap .wpforo-profile-content i,
#wpforo #wpforo-wrap #wpf-widget-profile i,
#wpforo #wpforo-wrap .wpforo-login-wrap i,
#wpforo #wpforo-wrap .wpforo-profile-content .fa,
#wpforo #wpforo-wrap #wpf-widget-profile .fa,
#wpforo #wpforo-wrap .wpforo-login-wrap .fa,
#wpforo #wpforo-wrap .wpforo-profile-content .fas,
#wpforo #wpforo-wrap #wpf-widget-profile .fas,
#wpforo #wpforo-wrap .wpforo-login-wrap .fas,
#wpforo #wpforo-wrap .wpforo-profile-content .far,
#wpforo #wpforo-wrap #wpf-widget-profile .far,
#wpforo #wpforo-wrap .wpforo-login-wrap .far,
#wpforo #wpforo-wrap .wpforo-profile-content [class*="fa-"],
#wpforo #wpforo-wrap #wpf-widget-profile [class*="fa-"],
#wpforo #wpforo-wrap .wpforo-login-wrap [class*="fa-"] {
  color: var(--oasis-black) !important;
  background: transparent !important;
  opacity: 1 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-content svg,
#wpforo #wpforo-wrap #wpf-widget-profile svg,
#wpforo #wpforo-wrap .wpforo-login-wrap svg,
#wpforo #wpforo-wrap .wpforo-profile-content svg path,
#wpforo #wpforo-wrap #wpf-widget-profile svg path,
#wpforo #wpforo-wrap .wpforo-login-wrap svg path,
#wpforo #wpforo-wrap .wpforo-profile-content svg rect,
#wpforo #wpforo-wrap #wpf-widget-profile svg rect,
#wpforo #wpforo-wrap .wpforo-login-wrap svg rect,
#wpforo #wpforo-wrap .wpforo-profile-content svg circle,
#wpforo #wpforo-wrap #wpf-widget-profile svg circle,
#wpforo #wpforo-wrap .wpforo-login-wrap svg circle,
#wpforo #wpforo-wrap .wpforo-profile-content svg polygon,
#wpforo #wpforo-wrap #wpf-widget-profile svg polygon,
#wpforo #wpforo-wrap .wpforo-login-wrap svg polygon,
#wpforo #wpforo-wrap .wpforo-profile-content svg line,
#wpforo #wpforo-wrap #wpf-widget-profile svg line,
#wpforo #wpforo-wrap .wpforo-login-wrap svg line {
  fill: var(--oasis-black) !important;
  stroke: var(--oasis-black) !important;
  color: var(--oasis-black) !important;
}

/* Exception au noir forcé ci-dessus : les icônes de "Mon Profil"
   (Profil/Compte/Activité/...) doivent passer au rose au survol. Sélecteur
   plus spécifique (mêmes 3 ID + classes en plus) pour gagner sur la règle
   du dessus. Demande de Mia le 16/08. */
#wpforo #wpforo-wrap #wpf-widget-profile .wpf-prof-buttons a.wpf-member-profile-button:hover svg,
#wpforo #wpforo-wrap #wpf-widget-profile .wpf-prof-buttons a.wpf-member-profile-button:hover svg path,
#wpforo #wpforo-wrap #wpf-widget-profile .wpf-prof-buttons a.wpf-member-profile-button:focus-visible svg,
#wpforo #wpforo-wrap #wpf-widget-profile .wpf-prof-buttons a.wpf-member-profile-button:focus-visible svg path {
  fill: var(--oasis-pink, #ff1f8e) !important;
  stroke: var(--oasis-pink, #ff1f8e) !important;
  color: var(--oasis-pink, #ff1f8e) !important;
}

/* ==========================================================================
   Profil wpForo — menu d'onglets + cases de statistiques
   ========================================================================== */

#wpforo #wpforo-wrap .wpforo-profile,
#wpforo #wpforo-wrap .wpforo-profile *,
#wpforo #wpforo-wrap .wpf-profile-section,
#wpforo #wpforo-wrap .wpf-profile-section * {
  color: var(--oasis-black) !important;
}

/* ==========================================================================
   MENU ONGLETS DU PROFIL MEMBRE — Style Neo-Brutaliste Blocs Épais (Option 1)
   ========================================================================== */
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-menu,
#wpforo #wpforo-wrap .wpforo-profile-menu {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 20px 0 24px !important;
  border: none !important;
  background: transparent !important;
  width: 100% !important;
}

#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-menu .wpf-profile-menu,
#wpforo #wpforo-wrap .wpf-profile-menu {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  min-width: auto !important;
  border: 2.5px solid var(--oasis-black, #101010) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: var(--oasis-black, #101010) !important;
  font: 800 13px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  text-decoration: none !important;
  box-shadow: 3px 3px 0 var(--oasis-black, #101010) !important;
  transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease !important;
  cursor: pointer !important;
  margin: 0 !important;
  line-height: 1 !important;
}

#wpforo #wpforo-wrap .wpf-profile-menu i,
#wpforo #wpforo-wrap .wpf-profile-menu svg {
  display: none !important; /* Pureté typographique */
}

#wpforo #wpforo-wrap .wpf-profile-menu .wpf-profile-menu-label,
#wpforo #wpforo-wrap .wpf-profile-menu span {
  font: 800 13px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  color: inherit !important;
  display: inline-block !important;
  background: transparent !important;
}

/* Onglet actif : Fond JAUNE NTM, surélévation */
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-menu .wpf-profile-menu.wpforo-active,
#wpforo #wpforo-wrap .wpf-profile-menu.wpforo-active,
#wpforo #wpforo-wrap .wpf-profile-menu.active {
  background: var(--oasis-yellow, #ffd600) !important;
  color: var(--oasis-black, #101010) !important;
  box-shadow: 4px 4px 0 var(--oasis-black, #101010) !important;
  transform: translate(-1px, -1px) !important;
}

/* Hover sur onglet inactif : Micro-surélévation */
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-menu .wpf-profile-menu:hover:not(.wpforo-active),
#wpforo #wpforo-wrap .wpf-profile-menu:hover:not(.wpforo-active) {
  background: #fbf9f4 !important;
  color: var(--oasis-black, #101010) !important;
  transform: translate(-1px, -1px) !important;
  box-shadow: 4px 4px 0 var(--oasis-black, #101010) !important;
}

/* Clic / Active */
#wpforo #wpforo-wrap .wpf-profile-menu:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 1px 1px 0 var(--oasis-black, #101010) !important;
}

/* Statistiques profil : icônes noires fond jaune */
#wpforo #wpforo-wrap .wpf-profile-section .wpf-statbox,
#wpforo #wpforo-wrap .wpf-statbox {
  color: var(--oasis-black) !important;
  background: transparent !important;
}

#wpforo #wpforo-wrap .wpf-profile-section .wpf-statbox-icon,
#wpforo #wpforo-wrap .wpf-statbox-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;

  color: var(--oasis-black) !important;
  background: var(--oasis-yellow) !important;

  border: 2px solid var(--oasis-black) !important;
  border-radius: 0 !important;

  box-shadow: 3px 3px 0 var(--oasis-black) !important;
}

#wpforo #wpforo-wrap .wpf-profile-section .wpf-statbox-icon i,
#wpforo #wpforo-wrap .wpf-statbox-icon i,
#wpforo #wpforo-wrap .wpf-profile-section .wpf-statbox-icon svg,
#wpforo #wpforo-wrap .wpf-statbox-icon svg {
  color: var(--oasis-black) !important;
  fill: var(--oasis-black) !important;
  stroke: var(--oasis-black) !important;
  background: transparent !important;
  font-size: 24px !important;
}

/* Pas de scroll interne sur la zone profil (copie ciblée, la règle groupée
   d'origine avec .wpf-sbs-bulk-options/.wpforo-subscriptions reste aussi
   active dans wpforo-oasis.css) */
#wpforo #wpforo-wrap .wpf-profile-section,
#wpforo #wpforo-wrap .wpf-profile-section * {
  max-height: none !important;
}

/* ==========================================================================
   Tableau de bord personnel membre - Refonte complète & Responsive
   ========================================================================== */

/* Carte d’identité : placée avant le bloc statistiques natif wpForo. */
#wpforo #wpforo-wrap .wpforo-profile-home > .oasis-member-identity-card {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

#wpforo #wpforo-wrap .oasis-member-identity-card .wpf-field {
  box-sizing: border-box;
}

#wpforo #wpforo-wrap .oasis-member-identity-card .wpf-label-wrap {
  flex: 0 0 360px !important;
  width: 360px !important;
  max-width: 360px !important;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .oasis-member-identity-card .wpf-field-wrap {
  min-width: 0;
  flex: 1 1 auto !important;
}

#wpforo #wpforo-wrap .oasis-member-identity-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  padding: 13px 16px;
  border: 3px solid var(--oasis-black, #101010);
  background: #ffffff;
  color: var(--oasis-black, #101010);
  cursor: pointer;
  font: 900 14px/1.2 "IBM Plex Mono", monospace;
  text-transform: uppercase;
  list-style: none;
  box-shadow: 4px 4px 0 var(--oasis-black, #101010);
}

#wpforo #wpforo-wrap .oasis-member-identity-card > summary::-webkit-details-marker {
  display: none;
}

#wpforo #wpforo-wrap .oasis-member-identity-card > summary::after {
  content: "+";
  font: 900 18px/1 "IBM Plex Mono", monospace;
}

#wpforo #wpforo-wrap .oasis-member-identity-card[open] > summary::after {
  content: "−";
}

#wpforo #wpforo-wrap .oasis-member-identity-card[open] > .wpf-table {
  padding-top: 16px;
}

#wpforo #wpforo-wrap .oasis-member-identity-card__edit {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  width: max-content;
  margin-left: auto !important;
  gap: 6px;
  margin-top: 16px;
  margin-bottom: 2px;
  padding: 8px 0;
  border: 0 !important;
  color: #f50b8f !important;
  font-weight: 700 !important;
  background: transparent !important;
  font: 800 10px/1.2 "IBM Plex Mono", monospace !important;
  text-transform: uppercase;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .oasis-member-identity-card__edit:hover,
#wpforo #wpforo-wrap .oasis-member-identity-card__edit:focus {
  color: #f50b8f !important;
  background: transparent !important;
  border: 0 !important;
}

/* Le style général wpForo recolore les liens du profil en noir : exception ciblée. */
#wpforo #wpforo-wrap .wpforo-profile-content .oasis-member-identity-card__edit,
#wpforo #wpforo-wrap .wpforo-profile-content .oasis-member-identity-card__edit:link,
#wpforo #wpforo-wrap .wpforo-profile-content .oasis-member-identity-card__edit:visited,
#wpforo #wpforo-wrap .wpforo-profile-content .oasis-member-identity-card__edit:hover,
#wpforo #wpforo-wrap .wpforo-profile-content .oasis-member-identity-card__edit:focus {
  color: #f50b8f !important;
  background: transparent !important;
  border: 0 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-content .oasis-member-identity-card__edit > span {
  color: #f50b8f !important;
}

/* Activité membre — même hiérarchie que le tableau de bord, sans modifier son HTML. */
#wpforo #wpforo-wrap .wpf-activities {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  padding: 24px 28px 30px;
  background: #fff;
}

/* Compteurs d'activité globale au-dessus de la barre de filtres */
#wpforo #wpforo-wrap .oasis-activity-head-stats {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 20px !important;
}

#wpforo #wpforo-wrap .oasis-activity-stat-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  background: #ffffff !important;
  border: 2px solid #101010 !important;
  box-shadow: 3px 3px 0 #101010 !important;
}

#wpforo #wpforo-wrap .oasis-activity-stat-pill strong {
  font: 900 20px/1 "Anton", Impact, sans-serif !important;
  color: #101010 !important;
  letter-spacing: .02em !important;
}

#wpforo #wpforo-wrap .oasis-activity-stat-pill span {
  font: 700 12px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  color: #625f5b !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 8px;
  padding: 0 0 18px;
  border-bottom: 2px solid var(--oasis-black, #101010);
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-left {
  font: 800 16px/1.2 "IBM Plex Mono", monospace;
  letter-spacing: .02em;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-right {
  display: flex;
  align-items: center;
  gap: 0;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link a {
  display: block;
  padding: 8px 12px;
  border-left: 1px solid #d8d8d8;
  color: var(--oasis-black, #101010) !important;
  background: transparent !important;
  font: 800 12px/1.2 "IBM Plex Mono", monospace;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link:last-child a {
  border-right: 1px solid #d8d8d8;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link.wpf-active a,
#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link a:hover,
#wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link a:focus-visible {
  color: var(--oasis-black, #101010) !important;
  background: var(--oasis-yellow, #ffd600) !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
  box-sizing: border-box;
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid #d8d8d8;
  background: #fff;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  min-height: 74px;
  padding: 10px 12px;
  border-left: 6px solid var(--oasis-yellow, #ffd600);
  background: #f7f7f5;
}

#wpforo #wpforo-wrap .wpf-activities .wpfa-reply .wpf-activity-icon {
  border-left-color: var(--oasis-pink, #f50b8f);
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-tlabel,
#wpforo #wpforo-wrap .wpf-activities .wpf-activity-flabel {
  color: #646464 !important;
  font: 800 10px/1.1 "IBM Plex Mono", monospace;
  text-transform: uppercase;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon svg {
  width: 28px;
  height: 28px;
  fill: var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon i {
  color: var(--oasis-black, #101010) !important;
  font-size: 16px;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title {
  min-width: 0;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a {
  color: var(--oasis-black, #101010) !important;
  font: 800 18px/1.25 "IBM Plex Mono", monospace;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a:hover,
#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a:focus-visible {
  color: var(--oasis-pink, #f50b8f) !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-date {
  flex: 0 0 auto;
  padding-top: 2px;
  color: #646464 !important;
  font: 700 12px/1.3 "IBM Plex Mono", monospace;
  text-align: right;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title p {
  max-width: 680px;
  margin: 8px 0 0;
  color: #646464 !important;
  font: 400 14px/1.45 system-ui, sans-serif;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-bottom {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 700 12px/1.3 "IBM Plex Mono", monospace;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum a {
  color: var(--oasis-black, #101010) !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity-stat {
  display: flex;
  gap: 18px;
  margin-top: 12px;
  color: #646464 !important;
  font: 600 11px/1.2 "IBM Plex Mono", monospace;
}

#wpforo #wpforo-wrap .wpf-activities .activity-foot {
  padding-top: 20px;
}

#wpforo #wpforo-wrap .oasis-member-identity-card .wpf-field-name-avatar img,
#wpforo #wpforo-wrap .oasis-member-identity-card .wpf-field-name-avatar .avatar {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  object-fit: cover;
}

#wpforo #wpforo-wrap .oasis-member-dashboard {
  clear: both;
  display: block !important;
  order: -1 !important;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  grid-column: 1 / -1;
  margin: 12px 0 20px;
  padding: 24px;
  border: 0;
  background: #ffffff;
  box-shadow: none;
}

/* Grille native wpForo des statistiques : intégration du dashboard en pleine largeur */
#wpforo #wpforo-wrap .wpf-stat-wrap:has(> .oasis-member-dashboard) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 16px;
}

#wpforo #wpforo-wrap .wpf-stat-wrap:has(> .oasis-member-dashboard) > .wpf-statbox {
  width: auto !important;
  margin: 0 !important;
}

/* Header du tableau de bord */
#wpforo #wpforo-wrap .oasis-member-dashboard__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--oasis-black, #101010);
}

#wpforo #wpforo-wrap .oasis-member-dashboard__kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--oasis-pink, #ff1f8e);
  font: 800 11px/1.1 "IBM Plex Mono", monospace !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#wpforo #wpforo-wrap .oasis-member-dashboard h2#oasis-member-dashboard-title {
  margin: 0 !important;
  color: var(--oasis-black, #101010) !important;
  font: 900 clamp(24px, 4vw, 32px)/1 Anton, Impact, sans-serif !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__all-activity-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--oasis-black, #101010) !important;
  font: 800 12px/1.2 "IBM Plex Mono", monospace !important;
  text-transform: uppercase;
  text-decoration: none !important;
  padding: 6px 12px;
  border: 1.5px solid var(--oasis-black, #101010);
  background: var(--oasis-yellow, #ffd600);
  box-shadow: 2px 2px 0 var(--oasis-black, #101010);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__all-activity-link:hover {
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--oasis-black, #101010);
  color: var(--oasis-black, #101010) !important;
}

/* Grille des cartes du tableau de bord */
#wpforo #wpforo-wrap .oasis-member-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

/* Carte individuelle */
#wpforo #wpforo-wrap .oasis-member-dashboard__card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 16px;
  border: 3px solid var(--oasis-black, #101010);
  border-top-width: 6px;
  background: #ffffff;
  box-shadow: 4px 4px 0 var(--oasis-black, #101010);
  min-height: 220px;
}

/* Variantes de couleurs par rubrique */
#wpforo #wpforo-wrap .oasis-member-dashboard__card--groups { border-top-color: var(--oasis-yellow, #ffd600); }
#wpforo #wpforo-wrap .oasis-member-dashboard__card--proposals { border-top-color: var(--oasis-pink, #ff1f8e); }
#wpforo #wpforo-wrap .oasis-member-dashboard__card--planning { border-top-color: #98d800; }
#wpforo #wpforo-wrap .oasis-member-dashboard__card--activity { border-top-color: var(--oasis-orange, #ff7a00); }
#wpforo #wpforo-wrap .oasis-member-dashboard__card--polls { border-top-color: #7557ff; }

/* Ordre de lecture : modération, groupes, propositions, votes, sujets. */
#wpforo #wpforo-wrap .oasis-member-dashboard__card--planning { order: 1; }
#wpforo #wpforo-wrap .oasis-member-dashboard__card--groups { order: 2; }
#wpforo #wpforo-wrap .oasis-member-dashboard__card--proposals { order: 3; }
#wpforo #wpforo-wrap .oasis-member-dashboard__card--polls { order: 4; }
#wpforo #wpforo-wrap .oasis-member-dashboard__card--activity { order: 5; }

/* En-tête de la carte */
#wpforo #wpforo-wrap .oasis-member-dashboard__card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1.5px solid var(--oasis-line, rgba(16,16,16,0.2));
  margin-bottom: 12px;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card-title-group {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 1.5px solid var(--oasis-black, #101010);
  background: #f4f3f0;
  font: 900 14px/1 "IBM Plex Mono", monospace !important;
  color: var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card-title {
  margin: 0 !important;
  color: var(--oasis-black, #101010) !important;
  font: 900 13px/1.2 "IBM Plex Mono", monospace !important;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 6px;
  border: 1.5px solid var(--oasis-black, #101010);
  background: var(--oasis-black, #101010);
  color: #ffffff !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card-badge b {
  font: 900 14px/1 Anton, Impact, sans-serif !important;
  color: #ffffff !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card-badge--alert {
  background: var(--oasis-pink, #ff1f8e);
  color: #ffffff !important;
}

/* Le compteur reprend la couleur de sa carte. */
#wpforo #wpforo-wrap .oasis-member-dashboard__card--groups .oasis-member-dashboard__card-badge,
#wpforo #wpforo-wrap .oasis-member-dashboard__card--planning .oasis-member-dashboard__card-badge {
  background: var(--oasis-yellow, #ffd600);
  color: var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card--planning .oasis-member-dashboard__card-badge {
  background: #98d800;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card--proposals .oasis-member-dashboard__card-badge {
  background: var(--oasis-pink, #ff1f8e);
  color: var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card--activity .oasis-member-dashboard__card-badge {
  background: var(--oasis-orange, #ff7a00);
  color: var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card--polls .oasis-member-dashboard__card-badge {
  background: #7557ff;
  color: #ffffff !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card--groups .oasis-member-dashboard__card-badge b,
#wpforo #wpforo-wrap .oasis-member-dashboard__card--planning .oasis-member-dashboard__card-badge b,
#wpforo #wpforo-wrap .oasis-member-dashboard__card--proposals .oasis-member-dashboard__card-badge b,
#wpforo #wpforo-wrap .oasis-member-dashboard__card--activity .oasis-member-dashboard__card-badge b {
  color: var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card--polls .oasis-member-dashboard__card-badge b {
  color: #ffffff !important;
}

/* Tous les chiffres des compteurs restent noirs, quel que soit le fond. */
#wpforo #wpforo-wrap .oasis-member-dashboard__card-badge b {
  color: var(--oasis-black, #101010) !important;
}

/* Corps de la carte */
#wpforo #wpforo-wrap .oasis-member-dashboard__card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__card-summary {
  margin: 0 0 4px 0 !important;
  color: #625f5b !important;
  font: 700 11px/1.2 "IBM Plex Mono", monospace !important;
  text-transform: uppercase;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__empty {
  margin: 6px 0 !important;
  color: #625f5b !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-style: italic;
}

/* Liste d'éléments dans les cartes */
#wpforo #wpforo-wrap .oasis-member-dashboard__item-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__item-list li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__item-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid #e1e1e1;
  background: #fcfcfc;
  color: var(--oasis-black, #101010) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__item-link:hover {
  border-color: var(--oasis-black, #101010);
  background: #ffffff;
  color: var(--oasis-pink, #ff1f8e) !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__item-name {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__item-arrow {
  flex: 0 0 auto;
  font-size: 14px;
  color: var(--oasis-black, #101010);
}

#wpforo #wpforo-wrap .oasis-member-dashboard__status-pill {
  flex: 0 0 auto;
  padding: 2px 6px;
  border: 1px solid var(--oasis-black, #101010);
  background: var(--oasis-yellow, #ffd600);
  color: var(--oasis-black, #101010) !important;
  font: 800 9px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__voters-count {
  flex: 0 0 auto;
  color: #625f5b !important;
  font: 800 10px/1 "IBM Plex Mono", monospace !important;
}

/* Formatage spécial des créneaux de modération (dates) */
#wpforo #wpforo-wrap .oasis-member-dashboard__dates-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__date-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 8px;
  border: 1px solid #e1e1e1;
  background: #fcfcfc;
  text-decoration: none !important;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__date-link:hover {
  border-color: var(--oasis-black, #101010);
  background: #ffffff;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__date-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 3px 6px;
  border: 1.5px solid var(--oasis-black, #101010);
  background: #98d800;
  color: var(--oasis-black, #101010) !important;
  box-shadow: 2px 2px 0 var(--oasis-black, #101010);
}

#wpforo #wpforo-wrap .oasis-member-dashboard__date-day {
  font: 900 20px/1 Anton, Impact, sans-serif !important;
  color: var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__date-month {
  font: 900 10px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase;
  font-style: normal;
  color: var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__date-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__date-weekday {
  font: 900 12px/1.2 "IBM Plex Mono", monospace !important;
  color: var(--oasis-black, #101010) !important;
  text-transform: capitalize;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__date-label {
  font-size: 11px !important;
  color: #625f5b !important;
}

/* Pied de la carte (Bouton Voir tout) */
#wpforo #wpforo-wrap .oasis-member-dashboard__card-footer {
  padding-top: 10px;
  border-top: 1px stroke var(--oasis-line, rgba(16,16,16,0.15));
  text-align: right;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--oasis-black, #101010) !important;
  font: 800 11px/1.2 "IBM Plex Mono", monospace !important;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: color 0.15s ease;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__action-btn:hover {
  color: var(--oasis-pink, #ff1f8e) !important;
}

/* Navigation d'accès rapide */
#wpforo #wpforo-wrap .oasis-member-dashboard__quick-links {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 2px solid var(--oasis-black, #101010);
}

#wpforo #wpforo-wrap .oasis-member-dashboard__quick-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1.5px solid var(--oasis-black, #101010);
  background: #f4f3f0;
  color: var(--oasis-black, #101010) !important;
  font: 800 11px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: 2px 2px 0 var(--oasis-black, #101010);
  transition: transform 0.15s ease, background-color 0.15s ease;
}

#wpforo #wpforo-wrap .oasis-member-dashboard__quick-link:hover {
  background: #ffffff;
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--oasis-black, #101010);
  color: var(--oasis-pink, #ff1f8e) !important;
}

/* ==========================================================================
   Adaptabilité Responsive (Desktop, Tablette, Mobile)
   ========================================================================== */

@media (max-width: 991px) {
  #wpforo #wpforo-wrap .oasis-member-dashboard {
    padding: 18px;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
  }
}

@media (max-width: 640px) {
  #wpforo #wpforo-wrap .wpforo-profile-home > .oasis-member-identity-card {
    margin-bottom: 18px !important;
  }

  #wpforo #wpforo-wrap .oasis-member-identity-card .wpf-field {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  #wpforo #wpforo-wrap .oasis-member-identity-card .wpf-label-wrap {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal;
  }

  #wpforo #wpforo-wrap .oasis-member-identity-card .wpf-field-name-avatar img,
  #wpforo #wpforo-wrap .oasis-member-identity-card .wpf-field-name-avatar .avatar {
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
  }

  #wpforo #wpforo-wrap .oasis-member-identity-card .wpf-field-wrap {
    width: 100%;
  }

  /* Sur mobile, le conteneur natif wpForo ne doit plus conserver ses 3 colonnes. */
  #wpforo #wpforo-wrap .wpf-stat-wrap:has(> .oasis-member-dashboard) {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 0 !important;
  }

  #wpforo #wpforo-wrap .wpf-stat-wrap:has(> .oasis-member-dashboard) > .oasis-member-dashboard,
  #wpforo #wpforo-wrap .wpf-stat-wrap:has(> .oasis-member-dashboard) > .wpf-statbox {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #wpforo #wpforo-wrap .wpf-stat-wrap:has(> .oasis-member-dashboard) > .wpf-statbox {
    margin: 0 0 14px !important;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard {
    padding: 14px;
    margin: 8px 0 16px;
    overflow: hidden;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard,
  #wpforo #wpforo-wrap .oasis-member-dashboard * {
    box-sizing: border-box;
    max-width: 100%;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__card {
    min-height: 0;
    padding: 14px;
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__card-header {
    flex-wrap: wrap;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__card-title {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__item-link,
  #wpforo #wpforo-wrap .oasis-member-dashboard__date-link {
    min-width: 0;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__item-name {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__quick-links {
    flex-direction: column;
    align-items: stretch;
  }

  #wpforo #wpforo-wrap .oasis-member-dashboard__quick-link {
    justify-content: space-between;
  }
}

@media (max-width: 640px) {
  #wpforo #wpforo-wrap .wpf-activities {
    padding: 16px 14px 22px;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 14px;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-panel-right {
    width: 100%;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link {
    flex: 1 1 0;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-member-template-link a {
    padding: 8px 6px;
    text-align: center;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px 0;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-height: 0;
    padding: 8px 10px;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-icon svg {
    width: 22px;
    height: 22px;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-top {
    display: block;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-date {
    margin-top: 8px;
    text-align: left;
  }

  #wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a {
    font-size: 16px;
    line-height: 1.3;
  }
}

/* ==========================================================================
   Messagerie Privée (Profil Membre / participant/.../messages/)
   Refonte visuelle Project Alpha Chat (Fond Clair & Finition Épurée)
   ========================================================================== */

/* 1. En-tête et barre d'outils (.wpfpm-toolbar, #wpfpm-tools) */
#wpforo #wpforo-wrap .wpfpm-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--oasis-black, #101010) !important;
  background: #ffffff !important;
  box-shadow: 2px 2px 0 var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap .wpfpm-convr-title {
  margin: 0 !important;
  color: var(--oasis-black, #101010) !important;
  font: 800 15px/1.2 "IBM Plex Mono", monospace !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

#wpforo #wpforo-wrap #wpfpm-tools {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: auto !important;
  padding: 0 !important;
  list-style: none !important;
}

#wpforo #wpforo-wrap #wpfpm-tools li:not([style*="display: none"]):not([style*="display:none"]),
#wpforo #wpforo-wrap #wpfpm_left_toggle_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border: 1.5px solid var(--oasis-black, #101010) !important;
  background: #f4f3f0 !important;
  color: var(--oasis-black, #101010) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: 2px 2px 0 var(--oasis-black, #101010) !important;
  transition: transform 0.15s ease, background-color 0.15s ease !important;
}

#wpforo #wpforo-wrap #wpfpm-tools li[style*="display: none"],
#wpforo #wpforo-wrap #wpfpm-tools li[style*="display:none"] {
  display: none !important;
}

#wpforo #wpforo-wrap #wpfpm-tools li:hover,
#wpforo #wpforo-wrap #wpfpm_left_toggle_button:hover {
  background: var(--oasis-yellow, #ffd600) !important;
  transform: translate(-1px, -1px) !important;
  box-shadow: 3px 3px 0 var(--oasis-black, #101010) !important;
}

/* ÉTAT ACTIF DES NOTIFICATIONS : Fond Jaune NTM très visible (Cloche normale sans barre) */
#wpforo #wpforo-wrap #wpfpm-tools li#wpfpm-tool-notification-off {
  background: var(--oasis-yellow, #ffd600) !important;
  border-color: var(--oasis-black, #101010) !important;
  color: var(--oasis-black, #101010) !important;
  box-shadow: 2px 2px 0 var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap #wpfpm-tools li#wpfpm-tool-notification-off:hover {
  background: var(--oasis-pink, #ff1f8e) !important;
  transform: translate(-1px, -1px) !important;
  box-shadow: 3px 3px 0 var(--oasis-black, #101010) !important;
}

/* ÉTAT INACTIF DES NOTIFICATIONS : Fond neutre (Cloche barrée) */
#wpforo #wpforo-wrap #wpfpm-tools li#wpfpm-tool-notification-on {
  background: #f4f3f0 !important;
  border-color: var(--oasis-black, #101010) !important;
  color: #888888 !important;
  box-shadow: 2px 2px 0 var(--oasis-black, #101010) !important;
}

#wpforo #wpforo-wrap #wpfpm-tools li#wpfpm-tool-notification-on:hover {
  background: var(--oasis-yellow, #ffd600) !important;
  color: var(--oasis-black, #101010) !important;
  transform: translate(-1px, -1px) !important;
  box-shadow: 3px 3px 0 var(--oasis-black, #101010) !important;
}

/* Infobulles noires 100% opaques pour la barre d'outils messagerie */
#wpforo #wpforo-wrap .wpfpm-toolbar [data-oasis-tooltip],
#wpforo #wpforo-wrap #wpfpm-tools [data-oasis-tooltip],
#wpforo #wpforo-wrap .wpfpm-add-user[data-oasis-tooltip] {
  position: relative !important;
}

#wpforo #wpforo-wrap [data-oasis-tooltip]::after {
  content: attr(data-oasis-tooltip) !important;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #181818 !important;
  color: #ffffff !important;
  font: 700 11px/1.2 "IBM Plex Mono", monospace !important;
  letter-spacing: 0.02em !important;
  padding: 6px 10px !important;
  border-radius: 2px !important;
  border: 1px solid #101010 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.15s ease, transform 0.15s ease !important;
  z-index: 999999 !important;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.4) !important;
}

#wpforo #wpforo-wrap [data-oasis-tooltip]::before {
  content: "" !important;
  position: absolute !important;
  top: calc(100% + 3px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border-width: 0 5px 5px 5px !important;
  border-style: solid !important;
  border-color: transparent transparent #181818 transparent !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.15s ease !important;
  z-index: 999999 !important;
}

#wpforo #wpforo-wrap [data-oasis-tooltip]:hover::after,
#wpforo #wpforo-wrap [data-oasis-tooltip]:hover::before {
  opacity: 1 !important;
  visibility: visible !important;
}

#wpforo #wpforo-wrap [data-oasis-tooltip]:active::after,
#wpforo #wpforo-wrap [data-oasis-tooltip]:active::before {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: none !important;
}

#wpforo #wpforo-wrap #wpfpm-tool-delete-all[data-oasis-tooltip]::after {
  left: auto !important;
  right: 0 !important;
  transform: none !important;
}
#wpforo #wpforo-wrap #wpfpm-tool-delete-all[data-oasis-tooltip]::before {
  left: auto !important;
  right: 10px !important;
  transform: none !important;
}

/* Désactivation TOTALE des infobulles sur écrans tactiles et mobiles (évite que l'infobulle reste collée au tap) */
@media (hover: none), (max-width: 768px) {
  #wpforo #wpforo-wrap [data-oasis-tooltip]::after,
  #wpforo #wpforo-wrap [data-oasis-tooltip]::before {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}

/* CORRECTIF ABSOLU 1 : Suppression TOTALE et DEFINITIVE de l'écriture blanche (Capture DevTools 5873)
   Sélecteurs ultra-spécifiques html body #wpforo neutralisant toutes les anciennes règles */
html body #wpforo .wpfpm-uli-active .wpfpm-uli-details,
html body #wpforo .wpfpm-uli-active .wpfpm-uli-details *,
html body #wpforo .wpfpm-uli:hover .wpfpm-uli-details,
html body #wpforo .wpfpm-uli:hover .wpfpm-uli-details *,
#wpforo #wpforo-wrap .wpfpm-left,
#wpforo #wpforo-wrap .wpfpm-left *,
#wpforo #wpforo-wrap .wpfpm-uli,
#wpforo #wpforo-wrap .wpfpm-uli *,
#wpforo #wpforo-wrap .wpfpm-uli-active,
#wpforo #wpforo-wrap .wpfpm-uli-active *,
#wpforo #wpforo-wrap .wpfpm-uli-details,
#wpforo #wpforo-wrap .wpfpm-uli-details *,
#wpforo #wpforo-wrap .wpfpm-uli-dname,
#wpforo #wpforo-wrap .wpfpm-uli-dname *,
#wpforo #wpforo-wrap .wpfpm-uli-title,
#wpforo #wpforo-wrap .wpfpm-uli-date,
#wpforo #wpforo-wrap .wpfpm-uli-time,
#wpforo #wpforo-wrap .wpfpm-uli-snippet,
#wpforo #wpforo-wrap .wpfpm-uli-lastmsg,
#wpforo #wpforo-wrap .wpfpm-uli-lastmsg *,
#wpforo #wpforo-wrap .wpfpm-uli-has-message,
#wpforo #wpforo-wrap .wpfpm-uli-has-message *,
#wpforo #wpforo-wrap .wpfpm-uli-unread,
#wpforo #wpforo-wrap .wpfpm-uli-unread *,
#wpforo #wpforo-wrap .wpfpm-uli-add-text {
  color: var(--oasis-black, #101010) !important;
  text-shadow: none !important;
}

/* 1. Éléments de la liste des conversations (.wpfpm-left li, .wpfpm-uli) */
#wpforo #wpforo-wrap .wpfpm-left li,
#wpforo #wpforo-wrap .wpfpm-uli {
  background: #ffffff !important;
  border: 2px solid var(--oasis-black, #101010) !important;
  margin-bottom: 10px !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition: background 0.15s ease !important;
}

/* Survol des cartes non-actives */
#wpforo #wpforo-wrap .wpfpm-left li:hover,
#wpforo #wpforo-wrap .wpfpm-uli:hover {
  background: #f4f3f0 !important;
}

/* CONVERSATION ACTIVE EN COURS DE LECTURE (.wpfpm-uli-active) : Fond Jaune NTM & Bordure Noire 2px */
#wpforo #wpforo-wrap .wpfpm-left li.active,
#wpforo #wpforo-wrap .wpfpm-left li.wpfpm-uli-active,
#wpforo #wpforo-wrap .wpfpm-uli.active,
#wpforo #wpforo-wrap .wpfpm-uli-active {
  background: var(--oasis-yellow, #ffd600) !important;
  border: 2px solid var(--oasis-black, #101010) !important;
  box-shadow: none !important;
}

/* Correctif pour le menu déroulant des participants (.wpfpm-ul-users-tooltip) */
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip,
#wpforo #wpforo-wrap #wpfpm-ul-users-tooltip-wrap .wpfpm-ul-users-tooltip,
#wpforo #wpforo-wrap .wpfpm-convr-user .wpfpm-ul-users-tooltip {
  padding: 10px 12px !important;
  margin: 0 !important;
  list-style: none !important;
  background: #ffffff !important;
  border: 2px solid var(--oasis-black, #101010) !important;
  box-shadow: none !important;
  z-index: 9999 !important;
  min-width: 240px !important;
}

#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip li,
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip .wpfpm-uli-users,
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip .wpfpm-add-user-button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 8px 12px !important;
  margin-bottom: 8px !important;
  background: #ffffff !important;
  border: 1.5px solid var(--oasis-black, #101010) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
}

#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip li:last-child {
  margin-bottom: 0 !important;
}

#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip .wpfpm-uli-details,
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip .wpfpm-uli-dname,
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip .wpfpm-dname,
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip a,
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip span {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--oasis-black, #101010) !important;
  font: 800 12px/1.2 "IBM Plex Mono", monospace !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip .wpfpm-uli-cog,
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip i.fa-cog,
#wpforo #wpforo-wrap .wpfpm-ul-users-tooltip i.fas {
  margin-left: auto !important;
  color: var(--oasis-black, #101010) !important;
  cursor: pointer !important;
}


/* 2. Fil de discussion (Project Alpha Chat sur fond clair) */
#wpforo #wpforo-wrap .wpfpm-main,
#wpforo #wpforo-wrap .wpfpm-main-inner {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#wpforo #wpforo-wrap .wpfpm-content {
  height: auto !important;
  max-height: 65vh !important;
  overflow-y: auto !important;
  padding: 4px !important;
}

#wpforo #wpforo-wrap ul#wpfpm-wrap,
#wpforo #wpforo-wrap .wpforo-messages-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Séparateurs de date & bande DEBUT DE CONVERSATION */
#wpforo #wpforo-wrap .whr,
#wpforo #wpforo-wrap .wpfpm-date-separator {
  position: relative !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 22px 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#wpforo #wpforo-wrap .whr:first-child,
#wpforo #wpforo-wrap .wpfpm-date-separator:first-child,
#wpforo #wpforo-wrap .wpfpm-content > .whr:first-child,
#wpforo #wpforo-wrap .wpforo-messages-content > .whr:first-child {
  margin-top: 35px !important;
  margin-bottom: 22px !important;
}

#wpforo #wpforo-wrap .whr abbr,
#wpforo #wpforo-wrap .whr span,
#wpforo #wpforo-wrap .wpfpm-date-separator span {
  display: inline-block !important;
  padding: 6px 16px !important;
  background: #ffffff !important;
  border: 1.5px solid var(--oasis-black, #101010) !important;
  color: var(--oasis-black, #101010) !important;
  font: 800 11px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  box-shadow: none !important;
}

/* Éléments de liste de message : TOUS ALIGNÉS À GAUCHE */
#wpforo #wpforo-wrap .oasis-alpha-row,
#wpforo #wpforo-wrap ul#wpfpm-wrap > li.oasis-alpha-row {
  display: block !important;
  width: 100% !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  list-style: none !important;
}

/* MASQUAGE ANTI-FLASH ABSOLU (Empêche physiquement l'ancien style wpForo d'apparaître au rechargement)
   Tant que l'élément n'est pas transformé en carte .oasis-alpha-row ou .whr, il est totalement invisible */
#wpfpm-wrap > li:not(.oasis-alpha-row):not(.whr),
#wpforo #wpforo-wrap ul#wpfpm-wrap > li:not(.oasis-alpha-row):not(.whr) {
  visibility: hidden !important;
  opacity: 0 !important;
  display: none !important;
}

#wpfpm-wrap > li.oasis-alpha-row,
#wpfpm-wrap > li.whr,
#wpforo #wpforo-wrap ul#wpfpm-wrap > li.oasis-alpha-row,
#wpforo #wpforo-wrap ul#wpfpm-wrap > li.whr {
  visibility: visible !important;
  opacity: 1 !important;
  display: flex !important;
}

/* PRE-STYLAGE CSS INSTANTANÉ (Élimination du saut/scintillement FOUC au chargement)
   Garantit que le HTML natif wpForo a immédiatement l'aspect de carte Neo-brutaliste dès la 1ère milliseconde */
#wpforo #wpforo-wrap .wpfpm,
#wpforo #wpforo-wrap li.wpfpm,
#wpforo #wpforo-wrap ul#wpfpm-wrap > li {
  display: block !important;
  width: 100% !important;
  clear: both !important;
  float: none !important;
  margin-bottom: 12px !important;
}

#wpforo #wpforo-wrap .wpfpm-inner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
  border: 2px solid var(--oasis-black, #101010) !important;
  border-left: 6px solid #98d800 !important; /* Liseré vert par défaut (reçus) */
  background: #ffffff !important;
  box-shadow: 3px 3px 0 var(--oasis-black, #101010) !important;
  border-radius: 0 !important;
  transition: transform 120ms ease, box-shadow 120ms ease !important;
}

#wpforo #wpforo-wrap .wpfpm-me .wpfpm-inner {
  border-left: 6px solid var(--oasis-pink, #ff1f8e) !important; /* Liseré rose pour soi */
}

#wpforo #wpforo-wrap .wpfpm-msg-inner {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--oasis-black, #101010) !important;
}

/* 2. Carte surélevée fermée Project Alpha Chat (Bordure 2px noire + Ombre d'angle 3px 3px 0 #101010) */
#wpforo #wpforo-wrap .oasis-alpha-card {
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 14px 18px !important;
  border: 2px solid var(--oasis-black, #101010) !important;
  border-left: 6px solid #98d800 !important; /* Liseré vert pour reçus */
  background: #ffffff !important;
  box-shadow: 3px 3px 0 var(--oasis-black, #101010) !important;
  border-radius: 0 !important;
  transition: transform 120ms ease, box-shadow 120ms ease !important;
}

#wpforo #wpforo-wrap .oasis-alpha-card:hover,
#wpforo #wpforo-wrap .wpfpm-inner:hover {
  transform: translate(-1px, -1px) !important;
  box-shadow: 4px 4px 0 var(--oasis-black, #101010) !important;
}

/* Messages de soi (Moi) : Liseré rose NTM à gauche */


/* COLONNE 1 : Avatar de l'expéditeur (Taille strictement bloquée à 38px) */
#wpforo #wpforo-wrap .oasis-alpha-col-avatar {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
}

#wpforo #wpforo-wrap .oasis-alpha-avatar-img {
  width: 38px !important;
  height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--oasis-black, #101010) !important;
  background: var(--oasis-yellow, #ffd600) !important;
  object-fit: cover !important;
  display: block !important;
}

#wpforo #wpforo-wrap .oasis-alpha-avatar-fallback {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--oasis-black, #101010) !important;
  background: var(--oasis-yellow, #ffd600) !important;
  font: 900 15px/1 Anton, Impact, sans-serif !important;
  color: var(--oasis-black, #101010) !important;
}

/* COLONNE 2 : En-tête (Nom + Date) & Corps du message */
#wpforo #wpforo-wrap .oasis-alpha-col-message {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
}

/* Ligne supérieure (Nom d'émetteur + Date) */
#wpforo #wpforo-wrap .oasis-alpha-top-bar {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

#wpforo #wpforo-wrap .oasis-alpha-sender-name {
  font: 800 12px/1.2 "IBM Plex Mono", monospace !important;
  color: var(--oasis-black, #101010) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

#wpforo #wpforo-wrap .oasis-alpha-time {
  font: 700 10px/1.2 "IBM Plex Mono", monospace !important;
  color: #625f5b !important;
}

/* Texte et images du message (Taille des images du message strictement limitée) */
#wpforo #wpforo-wrap .oasis-alpha-text-body {
  color: var(--oasis-black, #101010) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
}

#wpforo #wpforo-wrap .oasis-alpha-text-body img {
  max-width: 100% !important;
  max-height: 250px !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  margin: 6px 0 !important;
  border: 1.5px solid var(--oasis-black, #101010) !important;
  object-fit: contain !important;
}

#wpforo #wpforo-wrap .oasis-alpha-text-body img.wpf-emoj,
#wpforo #wpforo-wrap .oasis-alpha-text-body img.emoji {
  display: inline-block !important;
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  border: 0 !important;
  margin: 0 2px !important;
}

#wpforo #wpforo-wrap .oasis-alpha-text-body audio {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 6px !important;
}

/* 3. Zone de composition & Éditeur (.wpfpm-form-wrapper) */
#wpforo #wpforo-wrap .wpfpm-form-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 24px 0 20px 0 !important;
  padding: 16px !important;
  background: #ffffff !important;
  border: 1.5px solid var(--oasis-black, #101010) !important;
  border-top: 1.5px solid var(--oasis-black, #101010) !important;
  box-shadow: none !important;
  overflow: visible !important;
  clear: both !important;
}

/* Suppression de toutes les lignes/bordures parasites natives (wpForo, WordPress core, etc.) */
#wpforo #wpforo-wrap .wpforo-messages-content .wpfpm-main,
#wpforo #wpforo-wrap .wpforo-messages-content #wpfpm-main-inner,
#wpforo #wpforo-wrap .wpforo-messages-content .wpfpm-main-inner,
#wpforo #wpforo-wrap .wpforo-messages-content form#wpfpm-report {
  border-top: none !important;
  border-bottom: none !important;
}

#wpforo #wpforo-wrap .wpforo-messages-content .wpf-field-wrap,
#wpforo #wpforo-wrap .wpforo-messages-content .wp-editor-container,
#wpforo #wpforo-wrap .wpforo-messages-content .wp-editor-wrap,
#wpforo #wpforo-wrap .wpforo-messages-content .wpf-post-create,
#wpforo #wpforo-wrap .wpfpm-form-wrapper .wpf-field-wrap,
#wpforo #wpforo-wrap .wpfpm-form-wrapper .wp-editor-container,
#wpforo #wpforo-wrap .wpfpm-form-wrapper .wp-editor-wrap,
#wpforo #wpforo-wrap .wpfpm-form-wrapper .wpf-post-create,
#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-panel {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

#wpforo #wpforo-wrap .wpfpm-main > hr,
#wpforo #wpforo-wrap .wpfpm-form-wrapper > hr,
#wpforo #wpforo-wrap .wpforo-messages-content hr {
  display: none !important;
}

#wpforo #wpforo-wrap .wpfpm-form-wrapper form.wpfpm-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ÉDITEUR TINYMCE MESSAGERIE PRIVÉE : Style Brutaliste NTM (identique à À propos de moi) */
#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-tinymce,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-tinymce {
  width: 100% !important;
  border: 1px solid #101010 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
}

#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-toolbar-grp,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-toolbar-grp {
  background: #f4f3f4 !important;
  border-bottom: 1px solid #101010 !important;
  padding: 6px 8px !important;
}

#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-toolbar .mce-btn-group,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-toolbar .mce-btn-group {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
}

#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-btn,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-btn {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-btn:hover,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-btn:hover {
  background: #ffd600 !important;
  border-color: #101010 !important;
}

#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-btn button,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-btn button {
  padding: 4px 6px !important;
  background: transparent !important;
  border: 0 !important;
  color: #101010 !important;
  position: static !important;
}

#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-ico,
#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-btn i,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-ico,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-btn i {
  position: static !important;
  transform: none !important;
  display: inline-block !important;
  color: #101010 !important;
  font-size: 14px !important;
  line-height: normal !important;
  width: auto !important;
  height: auto !important;
}

#wpforo #wpforo-wrap .wpfpm-form-wrapper .mce-edit-area,
#wpforo #wpforo-wrap .wpforo-messages-content .mce-edit-area {
  border: 0 !important;
  background: #ffffff !important;
}

/* Positionnement responsive du bouton micro vocal (.wpfv-button) dans la messagerie */
#wpforo #wpforo-wrap .wpfpm-form-wrapper .wpfv-button,
#wpforo #wpforo-wrap .wpforo-messages-content .wpfv-button {
  position: absolute !important;
  top: 58px !important;
  right: 14px !important;
  z-index: 10 !important;
}

@media (max-width: 900px) {
  #wpforo #wpforo-wrap .wpfpm-form-wrapper .wpfv-button,
  #wpforo #wpforo-wrap .wpforo-messages-content .wpfv-button {
    top: 95px !important;
  }
}

@media (max-width: 640px) {
  #wpforo #wpforo-wrap .wpfpm-form-wrapper .wpfv-button,
  #wpforo #wpforo-wrap .wpforo-messages-content .wpfv-button {
    top: 132px !important;
    right: 12px !important;
  }
}

/* SUPPRESSION DES PASTILLES DE NOMBRE DE PARTICIPANTS */

#wpforo #wpforo-wrap .wpfpm-uli-count,
#wpforo #wpforo-wrap .wpfpm-badge,
#wpforo #wpforo-wrap .wpfpm-user-count {
  display: none !important;
}

/* CONSERVER L'ICÔNE DES PERSONNAGES ET MASQUER SEULEMENT LE CHIFFRE 3 (.wpfpm-members-count) */
#wpforo #wpforo-wrap #wpfpm-ul-users-tooltip-wrap,
#wpforo #wpforo-wrap .wpfpm-convr-user,
#wpforo #wpforo-wrap i.fa-users,
#wpforo #wpforo-wrap i.fas.fa-users {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#wpforo #wpforo-wrap .wpfpm-members-count,
#wpforo #wpforo-wrap div.wpfpm-members-count {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* TYPOGRAPHIE ET LISIBILITÉ DU PANNEAU DES CONVERSATIONS */
#wpforo #wpforo-wrap .wpfpm-uli-dname,
#wpforo #wpforo-wrap .wpfpm-uli-title {
  font: 800 13px/1.3 "IBM Plex Mono", monospace !important;
  color: var(--oasis-black, #101010) !important;
  letter-spacing: -0.2px !important;
}

#wpforo #wpforo-wrap .wpfpm-uli-date,
#wpforo #wpforo-wrap .wpfpm-uli-top small {
  font: 600 11px/1.2 "IBM Plex Mono", monospace !important;
  color: #555555 !important;
}

#wpforo #wpforo-wrap .wpfpm-uli-snippet,
#wpforo #wpforo-wrap .wpfpm-uli-body {
  font: 400 12px/1.4 "IBM Plex Mono", monospace !important;
  color: #444444 !important;
}

/* CORRECTIF ABSOLU 3 : Texte de police NOIRE (#101010) sur le bouton rose ENVOYER (Capture 3) */
#wpforo #wpforo-wrap input.wpfpm-submit,
#wpforo #wpforo-wrap button.wpfpm-submit,
#wpforo #wpforo-wrap .wpfpm-form-wrapper input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 24px !important;
  border: 2px solid var(--oasis-black, #101010) !important;
  background: var(--oasis-pink, #ff1f8e) !important;
  color: var(--oasis-black, #101010) !important; /* POLICE NOIRE EXPLICITE */
  font: 900 15px/1 Anton, Impact, sans-serif !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  box-shadow: 2.5px 2.5px 0 var(--oasis-black, #101010) !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

#wpforo #wpforo-wrap input.wpfpm-submit:hover,
#wpforo #wpforo-wrap button.wpfpm-submit:hover,
#wpforo #wpforo-wrap .wpfpm-form-wrapper input[type="submit"]:hover {
  transform: translate(-1px, -1px) !important;
  box-shadow: 3.5px 3.5px 0 var(--oasis-black, #101010) !important;
  color: var(--oasis-black, #101010) !important;
}

/* Responsive Mobile (375px) */
@media (max-width: 640px) {
  #wpforo #wpforo-wrap .oasis-alpha-card {
    grid-template-columns: 32px 1fr !important;
    padding: 10px 12px !important;
    gap: 10px !important;
    border-left-width: 4px !important;
  }

  #wpforo #wpforo-wrap .wpfpm-toolbar {
    padding: 10px 12px !important;
    gap: 8px !important;
  }

  #wpforo #wpforo-wrap .wpfpm-msg {
    gap: 8px !important;
  }

  #wpforo #wpforo-wrap .wpfpm-details {
    flex: 0 0 45px !important;
    max-width: 45px !important;
  }

  #wpforo #wpforo-wrap .wpfpm-details img,
  #wpforo #wpforo-wrap .wpfpm-details .avatar {
    width: 32px !important;
    height: 32px !important;
  }

  #wpforo #wpforo-wrap .wpfpm-msg-inner {
    padding: 10px 12px !important;
    border-left-width: 4px !important;
  }

  #wpforo #wpforo-wrap .oasis-alpha-col-avatar,
  #wpforo #wpforo-wrap .oasis-alpha-avatar-img,
  #wpforo #wpforo-wrap .oasis-alpha-avatar-fallback {
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }

  #wpforo #wpforo-wrap input.wpfpm-submit,
  #wpforo #wpforo-wrap button.wpfpm-submit,
  #wpforo #wpforo-wrap .wpfpm-form-wrapper input[type="submit"] {
    width: 100% !important;
  }
}
/* Profil membre : survol unique et ancres réelles des messages. */
#wpforo #wpforo-wrap .wpf-activities .wpf-activity-title > a:hover,
#wpforo #wpforo-wrap .wpf-activities .wpf-activity-forum a:hover {
  color: #101010 !important;
  background-color: #ffd600 !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpf-activities .wpf-activity.wpfa-reply .wpf-activity-title > a:hover,
#wpforo #wpforo-wrap .wpf-activities .wpf-activity.wpfa-reply .wpf-activity-forum a:hover {
  color: #101010 !important;
  background-color: #ff1f8e !important;
}

/* ==========================================================================
   Page Abonnements membre — Style épuré v2 (Ordre inversé, 1px, aéré & responsive)
   ========================================================================== */
#wpforo #wpforo-wrap .wpforo-subscriptions {
  width: 100% !important;
  max-width: 100% !important;
  padding: 16px 0 !important;
  background: transparent !important;
}

/* Titre natif "Gestionnaire des abonnements", retiré (demande de Mia le
   15/08) : redondant avec l'onglet ABONNEMENTS déjà actif juste au-dessus. */
#wpforo #wpforo-wrap .wpf-sbs-head {
  display: none !important;
}

/* Onglets secondaires (S'abonner / Mes abonnements) */
#wpforo #wpforo-wrap .wpforo-subscriptions .wpf-sbs-sub-menu,
#wpforo #wpforo-wrap .wpforo-subscriptions .sbn-head {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
}

/* Raccourcis globaux "Abonne-toi à tous..." retirés (demande de Mia le
   15/08) : personne ne s'abonne à tout d'un coup en pratique (ça inclurait
   même les forums de modération), et ça complique la page pour un cas
   d'usage quasi inexistant. Qui veut vraiment tout suivre peut toujours
   cocher chaque ligne une par une dans la liste détaillée plus bas.
   Documenté dans HANDOFF-NTM.md si quelqu'un cherche pourquoi ça a
   disparu. */
#wpforo #wpforo-wrap .wpf-sbs-bulk {
  display: none !important;
}

/* Neutralise le texte explicatif jaune d'un AUTRE fichier CSS,
   assets/css/wpforo-oasis.css (chargé en dépendance depuis functions.php,
   antérieur au 15/08, jamais touché aujourd'hui) — même sélecteur
   .wpf-sbs-bulk-options::before avec un ::before "Choisis les espaces..."
   à lui. C'est LUI qui refaisait réapparaître ce texte à chaque tentative
   de le masquer aujourd'hui, indépendamment de tout ce qui a été fait dans
   ce fichier-ci. Neutralisé ici (chargé après, donc gagne à spécificité
   égale) plutôt que dans wpforo-oasis.css pour ne pas toucher à un fichier
   qui semble être le terrain d'Antigravity. Voir HANDOFF-NTM.md. */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options::before {
  content: none !important;
}

/* "M'abonner" est maintenant un vrai bloc HTML inséré en JS juste avant
   .wpf-sbs-bulk-options (voir initialiseSubscriptionManagerAutoSave() dans
   oasis-wpforo-social.js), pas un ::before — un pseudo-élément texte
   héritait de comportements de boîte imprévisibles du conteneur natif
   (marges/paddings qui ne collaient jamais pile), un vrai <div> est
   entièrement sous contrôle comme le bouton "Voir mes abonnements". */

/* Bloc d'options globales & gestionnaire des forums */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 16px 0 !important;
  padding: 20px !important;
  background: #ffffff !important;
  border: 1px solid #101010 !important;
  box-shadow: none !important;
}

/* Retour visuel de l'enregistrement instantané des cases (voir
   initialiseSubscriptionManagerAutoSave() dans oasis-wpforo-social.js) */
#wpforo #wpforo-wrap .wpf-sbs-checkbox.oasis-sbs-saved {
  background: rgba(152, 216, 0, .25) !important;
  transition: background .25s ease !important;
}

#wpforo #wpforo-wrap .wpf-sbs-checkbox.oasis-sbs-error {
  background: rgba(255, 31, 142, .18) !important;
  transition: background .25s ease !important;
}

/* Une fois l'enregistrement automatique actif, le bouton natif "Mettre à
   jour" devient un simple filet de secours (si le JS n'a pas chargé) : on
   l'indique sans le retirer du DOM. */
#wpforo #wpforo-wrap .wpf-sbs-tool-foot.oasis-sbs-autosave-active::before {
  content: "Chaque case s'enregistre déjà toute seule — ce bouton n'est utile que si ça n'a pas fonctionné." !important;
  display: block !important;
  margin: 0 0 8px !important;
  font: 700 11px/1.4 "IBM Plex Mono", monospace !important;
  color: #6b6b6b !important;
}

#wpforo #wpforo-wrap .wpf-sbs-tool-foot.oasis-sbs-autosave-active input[type="submit"] {
  opacity: .6 !important;
}

/* Titres de catégories principales dans le gestionnaire (ex: VIE DU FORUM, AGIR POUR NOS QUARTIERS) */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options li:has(.wpf-sbs-cat) {
  margin-top: 24px !important;
  margin-bottom: 6px !important;
  padding: 14px 18px !important;
  background: #eeeced !important;
  border: 1px solid #101010 !important;
  border-left: 6px solid #ffd600 !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(.wpf-sbs-cat):nth-of-type(2n) {
  border-left-color: #ff1f8e !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(.wpf-sbs-cat):nth-of-type(3n) {
  border-left-color: #98d800 !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-form-title.wpf-sbs-cat,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-cat {
  color: #101010 !important;
  font: 900 18px/1.2 "Anton", Impact, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  order: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
}

/* Liste des forums : rangées aérées et inversées (Nom à gauche, Checkboxes à droite) */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options li:has(.wpf-sbs-forum),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options li {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border: 1px solid #101010 !important;
  border-left: 5px solid #ffd600 !important;
  border-radius: 0 !important;
  transition: background-color 0.15s ease !important;
}

/* Forums généraux (Section Vie du forum) : liserés de couleurs individuels par ligne */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(2),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(4),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(6) {
  border-left-color: #ff1f8e !important;
}

/* Bloc dupliqué retiré le 16/08 : sélecteur cassé par un commentaire collé
   sans espace (".wpf-sbs-bulk/* ... */" ), donc jamais appliqué en pratique
   (chaîné en descendant du bloc précédent, ne matchait rien de réel dans le
   DOM). Les vraies valeurs actives restent celles du premier bloc plus haut
   (margin-top 24px). Vérifié : aucun changement visuel, ce code ne
   s'exécutait déjà pas. */

/* 2. Bannières d'en-têtes de Quartiers (SFC/ALLENDE, FRANC-MOISIN, JOLIOT, DELAUNAY, GRAND CENTRE-VILLE, LA PLAINE, CONFLUENCE, FLORÉAL...) :
   bannières d'en-tête sans cases à cocher */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(8),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(11),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(14),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(17),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(20),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(23),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(26),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(29) {
  margin-top: 18px !important;
  margin-bottom: 2px !important;
  padding: 10px 14px !important;
  background: #f4f3f4 !important;
  border: 1px solid #101010 !important;
  border-left: 6px solid #ff1f8e !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(8) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(11) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(14) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(17) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(20) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(23) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(26) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(29) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(8) .wpf-sbs-div:has(input),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(11) .wpf-sbs-div:has(input),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(14) .wpf-sbs-div:has(input),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(17) .wpf-sbs-div:has(input),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(20) .wpf-sbs-div:has(input),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(23) .wpf-sbs-div:has(input),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(26) .wpf-sbs-div:has(input),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(29) .wpf-sbs-div:has(input) {
  display: none !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(8) .wpf-sbs-form-title,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(11) .wpf-sbs-form-title,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(14) .wpf-sbs-form-title,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(17) .wpf-sbs-form-title,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(20) .wpf-sbs-form-title,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(23) .wpf-sbs-form-title,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(26) .wpf-sbs-form-title,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(29) .wpf-sbs-form-title {
  color: #101010 !important;
  font: 900 15px/1.2 "Anton", Impact, sans-serif !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Couleurs unifiées par quartier (Bannière parent + Vie de quartier + Comité de quartier = MÊME couleur) */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(8),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(9),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(10),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(17),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(18),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(19),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(26),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(27),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(28) {
  border-left-color: #ff1f8e !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(11),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(12),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(13),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(20),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(21),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(22),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(29) {
  border-left-color: #98d800 !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(14),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(15),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(16),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(23),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(24),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:nth-child(25) {
  border-left-color: #ffd600 !important;
}


/* 3. Tous les forums et sous-forums (Grandir et vivre, Démocratie locale, Cadre de vie, etc.) :
   Cartes blanches 100% cliquables avec cases à cocher toujours visibles */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options li:has(.wpf-sbs-forum),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options li {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 !important;
  margin-top: 4px !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border: 1px solid #101010 !important;
  border-left: 5px solid #ffd600 !important;
  border-radius: 0 !important;
  transition: background-color 0.15s ease !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-div {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
}

/* 4. Masquage chirurgical des cases à cocher UNIQUEMENT pour Chantiers citoyens (forum 288) et Espaces communs (forum 289) */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_288),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_289) {
  margin-top: 20px !important;
  margin-bottom: 2px !important;
  padding: 10px 14px !important;
  background: #f4f3f4 !important;
  border: 1px solid #101010 !important;
  border-left: 6px solid #ffd600 !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_288) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_289) .wpf-sbs-checkbox,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_288) .wpf-sbs-div:has(input),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_289) .wpf-sbs-div:has(input) {
  display: none !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_288) .wpf-sbs-form-title,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_289) .wpf-sbs-form-title {
  color: #101010 !important;
  font: 900 15px/1.2 "Anton", Impact, sans-serif !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* ESPACES COMMUNS et l'ensemble de ses 4 sous-forums (Décider ensemble 296, Dialoguer 297, Ressources 298, Tous les espaces 300) en Vert NTM (#98d800) */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_289),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_296),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_297),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_298),
#wpforo #wpforo-wrap .wpf-sbs-bulk-options ul > li:has(#wpf_sbs_allposts_300) {
  border-left-color: #98d800 !important;
}


wrap .wpf-sbs-bulk-options ul > li:nth-child(43) .wpf-sbs-form-title {
  font: 800 13px/1.3 "IBM Plex Mono", monospace !important;
  color: #101010 !important;
}


#wpforo #wpforo-wrap .wpf-sbs-bulk-options li:nth-child(even) {
  background: #fafafa !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options li:hover {
  background: #f5f5f3 !important;
}

/* Inversion : Nom du forum passe à GAUCHE pour les forums */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-form-title.wpf-sbs-forum,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-form-title {
  order: -1 !important;
  flex: 1 1 auto !important;
  min-width: 200px !important;
  color: #101010 !important;
  font: 800 13px/1.3 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  text-align: left !important;
}


/* Conteneur des checkboxes aligné à DROITE */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-div,
#wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #101010 !important;
  font: 600 12px/1.2 "IBM Plex Mono", monospace !important;
  cursor: pointer !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Cases à cocher NTM 18px avec accent jaune */
#wpforo #wpforo-wrap .wpf-sbs-bulk-options input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1.5px solid #101010 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  position: relative !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options input[type="checkbox"]:checked {
  background: #ffd600 !important;
}

#wpforo #wpforo-wrap .wpf-sbs-bulk-options input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: 1px !important;
  width: 5px !important;
  height: 9px !important;
  border: solid #101010 !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}

/* Bouton "METTRE À JOUR LES ABONNEMENTS" masqué (demande de Mia le 15/08) :
   inutile depuis l'enregistrement automatique des cases (voir
   initialiseSubscriptionManagerAutoSave() dans oasis-wpforo-social.js). */
#wpforo #wpforo-wrap .wpf-sbs-tool-foot {
  display: none !important;
}

/* Titre "MES ABONNEMENTS" aéré inséré entre le bouton et la liste des abonnements actifs */
#wpforo #wpforo-wrap .wpforo-subscriptions .wpforo-sbs::before {
  content: "MES ABONNEMENTS" !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 36px 0 20px !important;
  padding: 12px 18px !important;
  background: #eeeced !important;
  color: #101010 !important;
  font: 900 18px/1.2 "Anton", Impact, sans-serif !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  border: 1px solid #101010 !important;
  border-left: 6px solid #ff1f8e !important;
}

/* Cartes abonnements individuels (onglet Mes abonnements) */
#wpforo #wpforo-wrap .wpforo-subscriptions .wpforo-sbs {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}


#wpforo #wpforo-wrap .wpforo-subscriptions .wpforo-sb {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 10px 14px !important;
  background: #ffffff !important;
  border: 1px solid #101010 !important;
}

#wpforo #wpforo-wrap .wpforo-subscriptions .wpforo-sb:hover {
  background: #fbfbf9 !important;
}

#wpforo #wpforo-wrap .wpforo-subscriptions .sbn-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background: #ffd600 !important;
  border: 1px solid #101010 !important;
}

#wpforo #wpforo-wrap .wpforo-subscriptions .sbn-title a {
  color: #101010 !important;
  font: 700 13px/1.3 "IBM Plex Mono", monospace !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpforo-subscriptions .wpf-sbn-unsbscrb {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  border: 1px solid #101010 !important;
  background: #ffffff !important;
  color: #101010 !important;
  font: 700 11px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

#wpforo #wpforo-wrap .wpforo-subscriptions .wpf-sbn-unsbscrb:hover {
  background: #ff1f8e !important;
  color: #ffffff !important;
}

/* Responsive mobile pour les abonnements */
@media (max-width: 640px) {
  #wpforo #wpforo-wrap .wpf-sbs-bulk-options li {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 10px 12px !important;
  }

  #wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-form-title {
    width: 100% !important;
    min-width: 0 !important;
  }

  #wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-div,
  #wpforo #wpforo-wrap .wpf-sbs-bulk-options .wpf-sbs-checkbox {
    margin-left: 0 !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* ==========================================================================
   PAGE COMPTE MEMBRE & PARAMÈTRES (/participant/<user>/account/)
   Design Brutaliste NTM : 4 Blocs Distincts, Liserés Couleurs NTM, Anton/IBM Plex
   ========================================================================== */

#wpforo #wpforo-wrap .wpforo-profile-account {
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account #wpf-profile-account-form {
  width: 100% !important;
  margin: 0 !important;
}

#wpforo #wpforo-wrap .oasis-account-sections {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  width: 100% !important;
  margin-top: 16px !important;
}

/* 1. Cartes des Blocs NTM */
#wpforo #wpforo-wrap .oasis-account-card {
  background: #ffffff !important;
  border: 1px solid #101010 !important;
  border-left: 6px solid #ffd600 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#wpforo #wpforo-wrap .oasis-account-card--identity {
  border-left-color: #ff1f8e !important;
}

#wpforo #wpforo-wrap .oasis-account-card--presentation {
  border-left-color: #ffd600 !important;
}

#wpforo #wpforo-wrap .oasis-account-card--social {
  border-left-color: #98d800 !important;
}

#wpforo #wpforo-wrap .oasis-account-card--security {
  border-left-color: #101010 !important;
}

/* En-tête des Blocs */
#wpforo #wpforo-wrap .oasis-account-card__header {
  padding: 12px 18px !important;
  background: #f4f3f4 !important;
  border-bottom: 1px solid #101010 !important;
  color: #101010 !important;
  font: 900 15px/1.2 "Anton", Impact, sans-serif !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

/* Corps des Blocs */
#wpforo #wpforo-wrap .oasis-account-card__body {
  padding: 20px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  box-sizing: border-box !important;
}

/* Grille 2 colonnes pour les réseaux sociaux */
#wpforo #wpforo-wrap .oasis-account-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}

@media (max-width: 640px) {
  #wpforo #wpforo-wrap .oasis-account-grid-2 {
    grid-template-columns: 1fr !important;
  }
}

/* 2. Champs de formulaire internes */
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  width: 100% !important;
  position: relative !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-label,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-label label {
  color: #101010 !important;
  font: 800 12px/1.3 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  margin: 0 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-label label .wpf-field-required {
  color: #ff1f8e !important;
  font-weight: 900 !important;
  margin-left: 3px !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-description {
  color: #666666 !important;
  font: 500 11px/1.3 "IBM Plex Mono", monospace !important;
  margin: 0 !important;
}

/* 3. Conteneur d'input et gestion propre des icônes */
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field {
  position: relative !important;
  width: 100% !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field input[type="text"],
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field input[type="email"],
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field input[type="password"] {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid #101010 !important;
  border-radius: 0 !important;
  font: 500 13px/1.4 "IBM Plex Mono", monospace !important;
  color: #101010 !important;
  padding: 12px 14px 12px 44px !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid #101010 !important;
  border-radius: 0 !important;
  font: 500 13px/1.4 "IBM Plex Mono", monospace !important;
  color: #101010 !important;
  padding: 12px 14px !important;
  min-height: 90px !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field input:focus,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field textarea:focus {
  outline: none !important;
  border: 2px solid #101010 !important;
  background: #fffbe6 !important;
}

/* Icônes intégrées dans les inputs sans chevauchement (exclusion stricte de TinyMCE) */
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field > i.fa,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field > i.fas,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field > i.fab,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field > .wpf-field-icon {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #101010 !important;
  font-size: 15px !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* 4. Champ Identifiant (Lecture seule) */
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-name-user_login,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-name-username {
  font: 800 14px "IBM Plex Mono", monospace !important;
  color: #101010 !important;
  background: #f4f3f4 !important;
  padding: 12px 16px !important;
  border: 1px solid #101010 !important;
  display: inline-block !important;
}

/* 5. Sélecteur de Quartier (Grand, visible et sans chevauchement) */
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-select i {
  display: none !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field select {
  width: 100% !important;
  min-height: 52px !important;
  background: #ffd600 !important;
  border: 2px solid #101010 !important;
  border-radius: 0 !important;
  font: 800 15px/1.3 "IBM Plex Mono", monospace !important;
  color: #101010 !important;
  padding: 14px 18px !important;
  box-shadow: 3px 3px 0 #101010 !important;
  cursor: pointer !important;
  transition: transform 0.1s ease, box-shadow 0.1s ease !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field select:hover,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field select:focus {
  outline: none !important;
  background: #ffd600 !important;
  box-shadow: 4px 4px 0 #101010 !important;
  transform: translate(-1px, -1px) !important;
}

/* 6. Éditeur TinyMCE propre (À propos de moi) */
#wpforo #wpforo-wrap .wpforo-profile-account .mce-tinymce {
  width: 100% !important;
  border: 1px solid #101010 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .mce-toolbar-grp {
  background: #f4f3f4 !important;
  border-bottom: 1px solid #101010 !important;
  padding: 4px 6px !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .mce-btn {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: static !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .mce-btn:hover {
  background: #ffd600 !important;
  border-color: #101010 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .mce-btn button {
  padding: 4px 6px !important;
  background: transparent !important;
  border: 0 !important;
  color: #101010 !important;
  position: static !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .mce-ico,
#wpforo #wpforo-wrap .wpforo-profile-account .mce-btn i {
  position: static !important;
  transform: none !important;
  display: inline-block !important;
  color: #101010 !important;
  font-size: 14px !important;
  line-height: normal !important;
  width: auto !important;
  height: auto !important;
}

/* 6. Section Avatar nettoyée & ultra-lisible (Mobile & Desktop) */
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar li {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 12px 14px !important;
  background: #fbfbfb !important;
  border: 1px solid #101010 !important;
  border-left: 4px solid #ffd600 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  transition: border-left-color 0.15s ease, background-color 0.15s ease !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar li:hover {
  border-left-color: #ff1f8e !important;
  background: #ffffff !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: radio !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 6px 0 0 !important;
  padding: 0 !important;
  accent-color: #101010 !important;
  cursor: pointer !important;
  display: inline-block !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar li label {
  font: 800 12px/1.3 "IBM Plex Mono", monospace !important;
  color: #101010 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  display: inline !important;
  margin: 0 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar input[type="url"] {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid #101010 !important;
  border-radius: 0 !important;
  font: 500 12px "IBM Plex Mono", monospace !important;
  color: #101010 !important;
  padding: 8px 12px !important;
  margin-top: 4px !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar input[type="url"]:focus {
  outline: none !important;
  border: 2px solid #101010 !important;
  background: #fffbe6 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar img.wpf-custom-avatar-img {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  border: 2px solid #101010 !important;
  object-fit: cover !important;
  margin: 6px 0 !important;
  box-shadow: 2px 2px 0 #101010 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-type-avatar input[type="file"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font: 700 11px "IBM Plex Mono", monospace !important;
  padding: 8px 12px !important;
  background: #ffffff !important;
  border: 1px solid #101010 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}

/* 7. Bouton d'enregistrement Brutaliste */
#wpforo #wpforo-wrap .oasis-account-submit-wrap {
  width: 100% !important;
  margin-top: 8px !important;
}

#wpforo #wpforo-wrap .oasis-account-submit-btn {
  width: 100% !important;
  background: #ff1f8e !important;
  color: #101010 !important;
  font: 900 16px/1 "Anton", Impact, sans-serif !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  padding: 16px 24px !important;
  border: 2px solid #101010 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 #101010 !important;
  cursor: pointer !important;
  transition: transform 0.1s ease, box-shadow 0.1s ease !important;
}

#wpforo #wpforo-wrap .oasis-account-submit-btn:hover {
  transform: translate(-2px, -2px) !important;
  box-shadow: 6px 6px 0 #101010 !important;
  background: #ff1f8e !important;
}

#wpforo #wpforo-wrap .oasis-account-submit-btn:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 2px 2px 0 #101010 !important;
}

/* ==========================================================================
   Page Abonnés & Abonnements membre (Réseau et Communauté)
   /participant/[user]/followers/ et /participant/[user]/following/
   ========================================================================== */

/* 1. Compteurs et boutons "Abonné-es / Abonnements" sous la bannière */
#wpforo #wpforo-wrap .wpforo-follow-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 12px 0 16px !important;
}

#wpforo #wpforo-wrap .wpforo-follow-tabs {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#wpforo #wpforo-wrap .wpforo-follow-tabs > span:not([class]) {
  display: none !important;
}

#wpforo #wpforo-wrap .wpforo-follow-tabs a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #ffffff !important;
  color: #101010 !important;
  border: 2px solid #101010 !important;
  box-shadow: 3px 3px 0 #101010 !important;
  padding: 6px 12px !important;
  font: 700 12px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease !important;
}

#wpforo #wpforo-wrap .wpforo-follow-tabs a:hover {
  background: #ff1f8e !important;
  color: #ffffff !important;
  transform: translate(-1px, -1px) !important;
  box-shadow: 4px 4px 0 #101010 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-content .wpforo-follow-tabs a .wpforo-follow-user-followers-count,
#wpforo #wpforo-wrap .wpforo-profile-content .wpforo-follow-tabs a .wpforo-follow-user-following-count,
#wpforo #wpforo-wrap .wpforo-follow-tabs a .wpforo-follow-user-followers-count,
#wpforo #wpforo-wrap .wpforo-follow-tabs a .wpforo-follow-user-following-count {
  font-weight: 900 !important;
  background: #101010 !important;
  color: #ffd600 !important;
  padding: 1px 6px !important;
  border-radius: 2px !important;
}

#wpforo #wpforo-wrap .wpforo-follow-tabs a:hover .wpforo-follow-user-followers-count,
#wpforo #wpforo-wrap .wpforo-follow-tabs a:hover .wpforo-follow-user-following-count {
  background: #ffffff !important;
  color: #101010 !important;
}

/* Bouton interactif "Suivre / Ne plus suivre" un membre */
#wpforo #wpforo-wrap .wpforo-follow-user {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #ffd600 !important;
  color: #101010 !important;
  border: 2px solid #101010 !important;
  box-shadow: 3px 3px 0 #101010 !important;
  padding: 6px 14px !important;
  font: 700 12px/1 "Inter", sans-serif !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: transform 120ms ease, box-shadow 120ms ease !important;
}

#wpforo #wpforo-wrap .wpforo-follow-user:hover {
  background: #ff1f8e !important;
  color: #ffffff !important;
  transform: translate(-1px, -1px) !important;
  box-shadow: 4px 4px 0 #101010 !important;
}

#wpforo #wpforo-wrap .wpforo-follow-user svg {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
}

/* 2. Conteneur principal Abonnés / Abonnements */
#wpforo #wpforo-wrap .oasis-member-network {
  padding: 8px 0 32px !important;
  background: transparent !important;
}

/* Masquer le sous-titre h3 par défaut de wpForo s'il existe */
#wpforo #wpforo-wrap .wpforo-followers .wpf-tab-subtitle,
#wpforo #wpforo-wrap .wpforo-following .wpf-tab-subtitle {
  display: none !important;
}

/* En-tête de section NTM */
#wpforo #wpforo-wrap .oasis-network-header {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 0 0 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 3px solid #101010 !important;
}

#wpforo #wpforo-wrap .oasis-network-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  font: 900 24px/1.1 "Anton", Impact, sans-serif !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: #101010 !important;
}

#wpforo #wpforo-wrap .wpforo-profile-content .oasis-network-title__badge,
#wpforo #wpforo-wrap .oasis-network-title__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 8px !important;
  background: #101010 !important;
  color: #ffd600 !important;
  font: 700 14px/1 "IBM Plex Mono", monospace !important;
  border: 2px solid #101010 !important;
  box-shadow: 2px 2px 0 #ffd600 !important;
  box-sizing: border-box !important;
}

#wpforo #wpforo-wrap .oasis-network-subtitle {
  margin: 0 !important;
  font: 500 13px/1.5 "Inter", sans-serif !important;
  color: #625f5b !important;
}

/* 3. Grille des cartes membres */
#wpforo #wpforo-wrap .oasis-network-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  margin: 0 0 32px !important;
  width: 100% !important;
}

/* 4. Carte Membre Brutaliste */
#wpforo #wpforo-wrap .oasis-member-card {
  background: #ffffff !important;
  border: 2px solid #101010 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 #101010 !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  transition: transform 120ms ease, box-shadow 120ms ease !important;
  box-sizing: border-box !important;
}

#wpforo #wpforo-wrap .oasis-member-card:hover {
  transform: translate(-2px, -2px) !important;
  box-shadow: 6px 6px 0 #101010 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__header {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 12px !important;
}

#wpforo #wpforo-wrap .oasis-member-card__avatar-wrap {
  position: relative !important;
  flex-shrink: 0 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__avatar-wrap .avatar,
#wpforo #wpforo-wrap .oasis-member-card__avatar-wrap img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  border: 2px solid #101010 !important;
  object-fit: cover !important;
  display: block !important;
  background: #f4f3f1 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__status {
  position: absolute !important;
  bottom: 2px !important;
  right: 2px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 0 0 1px #101010 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__status.is-online {
  background: #98d800 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__status.is-offline {
  background: #c0bdb8 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__identity {
  flex: 1 !important;
  min-width: 0 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__name {
  margin: 0 !important;
  font: 700 16px/1.2 "Oswald", sans-serif !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#wpforo #wpforo-wrap .oasis-member-card__name a {
  color: #101010 !important;
  text-decoration: none !important;
  transition: color 120ms ease !important;
}

#wpforo #wpforo-wrap .oasis-member-card__name a:hover {
  color: #ff1f8e !important;
}

#wpforo #wpforo-wrap .oasis-member-card__handle {
  display: block !important;
  font: 600 12px/1.3 "IBM Plex Mono", monospace !important;
  color: #625f5b !important;
  margin: 2px 0 6px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#wpforo #wpforo-wrap .oasis-member-card__badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin-top: 4px !important;
}

#wpforo #wpforo-wrap .oasis-member-card__meta {
  background: #fbfaf9 !important;
  border-left: 3px solid #ffd600 !important;
  padding: 6px 10px !important;
  margin-bottom: 12px !important;
  font: 500 12px/1.3 "Inter", sans-serif !important;
}

#wpforo #wpforo-wrap .oasis-member-card__quarter-label {
  color: #625f5b !important;
  font-weight: 600 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__quarter-value {
  color: #101010 !important;
  font-weight: 700 !important;
  margin-left: 4px !important;
}

#wpforo #wpforo-wrap .oasis-member-card__stats {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font: 500 12px/1 "IBM Plex Mono", monospace !important;
  color: #625f5b !important;
  margin-bottom: 14px !important;
  padding-top: 8px !important;
  border-top: 1px dashed #dedbd6 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__stat-item strong {
  color: #101010 !important;
  font-weight: 700 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__stat-sep {
  color: #dedbd6 !important;
  font-weight: bold !important;
}

#wpforo #wpforo-wrap .oasis-member-card__actions {
  margin-top: auto !important;
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

#wpforo #wpforo-wrap .oasis-member-card__btn {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  font: 700 11px/1 "IBM Plex Mono", monospace !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 2px solid #101010 !important;
  border-radius: 0 !important;
  transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease, color 120ms ease !important;
  cursor: pointer !important;
  text-align: center !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

#wpforo #wpforo-wrap .oasis-member-card__btn--profile {
  background: #ffffff !important;
  color: #101010 !important;
  box-shadow: 2px 2px 0 #101010 !important;
}

#wpforo #wpforo-wrap .oasis-member-card__btn--profile:hover {
  background: #ff1f8e !important;
  color: #ffffff !important;
  box-shadow: 3px 3px 0 #101010 !important;
  transform: translate(-1px, -1px) !important;
}

#wpforo #wpforo-wrap .oasis-member-card__btn--unfollow {
  background: #fff5f5 !important;
  color: #d32f2f !important;
  border-color: #d32f2f !important;
  box-shadow: 2px 2px 0 #d32f2f !important;
}

#wpforo #wpforo-wrap .oasis-member-card__btn--unfollow:hover {
  background: #d32f2f !important;
  color: #ffffff !important;
  box-shadow: 3px 3px 0 #101010 !important;
  transform: translate(-1px, -1px) !important;
}

/* 5. État vide */
#wpforo #wpforo-wrap .oasis-network-empty {
  background: #ffffff !important;
  border: 3px dashed #101010 !important;
  box-shadow: 4px 4px 0 #101010 !important;
  padding: 40px 24px !important;
  text-align: center !important;
  margin: 20px 0 32px !important;
}

#wpforo #wpforo-wrap .oasis-network-empty__icon {
  font-size: 38px !important;
  color: #ffd600 !important;
  margin-bottom: 14px !important;
  text-shadow: 2px 2px 0 #101010 !important;
}

#wpforo #wpforo-wrap .oasis-network-empty__title {
  margin: 0 0 10px !important;
  font: 900 20px/1.2 "Anton", Impact, sans-serif !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: #101010 !important;
}

#wpforo #wpforo-wrap .oasis-network-empty__text {
  margin: 0 auto 24px !important;
  max-width: 520px !important;
  font: 500 14px/1.6 "Inter", sans-serif !important;
  color: #625f5b !important;
}

#wpforo #wpforo-wrap .oasis-network-empty__actions {
  display: flex !important;
  justify-content: center !important;
}

#wpforo #wpforo-wrap .oasis-network-empty__actions .ntm-button {
  background: #ffd600 !important;
  color: #101010 !important;
  border: 2px solid #101010 !important;
  box-shadow: 4px 4px 0 #101010 !important;
  font: 900 14px/1 "Anton", Impact, sans-serif !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
  text-decoration: none !important;
  transition: transform 120ms ease, box-shadow 120ms ease !important;
}

#wpforo #wpforo-wrap .oasis-network-empty__actions .ntm-button:hover {
  background: #ff1f8e !important;
  color: #ffffff !important;
  transform: translate(-2px, -2px) !important;
  box-shadow: 6px 6px 0 #101010 !important;
}

/* 6. Pagination Réseau */
#wpforo #wpforo-wrap .oasis-network-pagination {
  margin: 24px 0 !important;
  display: flex !important;
  justify-content: center !important;
}

/* 7. Responsive Mobile */
@media (max-width: 600px) {
  #wpforo #wpforo-wrap .oasis-network-grid {
    grid-template-columns: 1fr !important;
  }
  
  #wpforo #wpforo-wrap .oasis-network-title {
    font-size: 20px !important;
  }
}


