
.tright { margin-left: auto; display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.tico { width: 36px; height: 36px; border-radius: 50%; border: none; background: none;
  display: flex; align-items: center; justify-content: center;
  color: var(--soft); transition: all .15s; position: relative; cursor: pointer; }
.tico:hover { background: var(--bbg); color: var(--brand); }
.tico svg { width: 20px; height: 20px; }
.ndot { position: absolute; top: 5px; right: 5px; width: 8px; height: 8px;
  border-radius: 50%; background: var(--amber); border: 1.5px solid var(--sur); }
.ndot.msg { background: #3b82f6; }
.post-bar {
  background: var(--sur);
  border-radius: var(--radius);
  border: 1px solid var(--line);
  padding: .75rem 1rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s;
}
.post-bar:hover { border-color: var(--b2); box-shadow: var(--sh); }
.post-bar__input {
  flex: 1;
  font: 400 .85rem/1 'DM Sans', sans-serif;
  color: var(--soft);
  pointer-events: none;
}
.post-bar__actions {
  display: flex;
  gap: .4rem;
}
.post-bar__action {
  display: flex;
  align-items: center;
  gap: .3rem;
  padding: .3rem .65rem;
  border-radius: 16px;
  border: 1px solid var(--line);
  font: 500 .72rem/1 'DM Sans', sans-serif;
  color: var(--muted);
  background: var(--bg);
  transition: all .15s;
  cursor: pointer;
}
.post-bar__action:hover { background: var(--bbg); color: var(--brand); border-color: var(--b2); }
.post-bar__action svg { width: 13px; height: 13px; }
.fp-card {
  background: var(--sur);
  border-radius: var(--radius);
  border: 1px solid var(--line);
  border-left: 3px solid var(--line);
  overflow: hidden;
  box-shadow: var(--sh);
  transition: box-shadow .2s, transform .15s;
}
.fp-card:hover { box-shadow: var(--sh2); transform: translateY(-1px); }
.fp-card[data-type="par"]      { border-left-color: #0f5132; }
.fp-card[data-type="texte"]    { border-left-color: #2eb087; }
.fp-card[data-type="reseau"]   { border-left-color: #2eb087; }
.fp-card[data-type="groupe"]   { border-left-color: #7c3aed; }
.fp-card[data-type="mentor"]   { border-left-color: #0ea5e9; }
.fp-card[data-type="entraide"] { border-left-color: #f59e0b; }
.fp-card[data-type="campagne"] { border-left-color: #ef4444; }
.fp-card[data-type="atelier"]  { border-left-color: #8b5cf6; }
.fp-card[data-type="location"] { border-left-color: #14b8a6; }
.fp-card[data-type="interet"]  { border-left-color: #ec4899; }
.fp-card__head {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .9rem 1rem .6rem;
}
.fp-card__meta {
  flex: 1;
  min-width: 0;
}
.fp-card__author {
  font: 600 .82rem/1.2 'DM Sans', sans-serif;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fp-card__info {
  font: 400 .68rem/1 'DM Sans', sans-serif;
  color: var(--soft);
  margin-top: .2rem;
  display: flex;
  gap: .4rem;
  align-items: center;
  flex-wrap: wrap;
}
.fp-card__type-badge {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  padding: .15rem .45rem;
  border-radius: 10px;
  background: var(--bg);
  font: 600 .6rem/1 'DM Sans', sans-serif;
  color: var(--muted);
}
.fp-card__body {
  padding: 0 1rem .9rem;
}
.fp-card__title {
  font: 600 .9rem/1.35 'Lora', serif;
  color: var(--ink);
  margin-bottom: .35rem;
}
.fp-card__text {
  font: 400 .82rem/1.55 'DM Sans', sans-serif;
  color: var(--muted);
}
.fp-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  margin-top: .55rem;
}
.fp-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .5rem 1rem;
  border-top: 1px solid var(--line);
  background: var(--bg);
}
.fp-card__actions {
  display: flex;
  gap: .5rem;
}
.fp-card__action {
  display: flex;
  align-items: center;
  gap: .3rem;
  padding: .3rem .6rem;
  border-radius: 12px;
  font: 500 .72rem/1 'DM Sans', sans-serif;
  color: var(--soft);
  background: none;
  border: none;
  cursor: pointer;
  transition: all .15s;
}
.fp-card__action:hover { background: var(--b100); color: var(--brand); }
.fp-card__action svg { width: 13px; height: 13px; }
.fp-card__dist {
  font: 400 .65rem/1 'DM Sans', sans-serif;
  color: var(--soft);
}
.fp-section {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: .25rem 0 -.25rem;
}
.fp-section__label {
  font: 600 .68rem/1 'DM Sans', sans-serif;
  color: var(--soft);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.fp-section__line {
  flex: 1;
  height: 1px;
  background: var(--line);
}
.j-fil-filter {
  padding: .35rem .85rem;
  border-radius: 20px;
  border: 1.5px solid var(--line);
  background: var(--sur);
  font: 500 .75rem/1 'DM Sans', sans-serif;
  color: var(--muted);
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.j-fil-filter:hover { border-color: var(--b2); color: var(--brand); background: var(--bbg); }
.j-fil-filter.active { background: var(--brand); color: #fff; border-color: var(--brand); }
.j-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(11,18,32,.45);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s;
}
.j-modal-overlay.open {
  opacity: 1;
  pointer-events: all;
}
.j-modal {
  background: var(--sur);
  border-radius: var(--radius);
  width: 100%;
  max-width: 540px;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: var(--sh2);
  transform: translateY(12px);
  transition: transform .2s;
}
.j-modal-overlay.open .j-modal { transform: translateY(0); }
.j-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem .75rem;
  border-bottom: 1px solid var(--line);
}
.j-modal__title {
  font: 600 1rem/1 'Lora', serif;
  color: var(--ink);
}
.j-modal__close {
  width: 28px; height: 28px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--line);
  background: var(--bg);
  font-size: 1.1rem;
  color: var(--muted);
  cursor: pointer;
  transition: all .15s;
}
.j-modal__close:hover { background: var(--line); }
.j-modal__body { padding: 1rem 1.25rem; }
.post-textarea {
  width: 100%;
  min-height: 100px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius-sm);
  padding: .75rem;
  font: 400 .9rem/1.6 'DM Sans', sans-serif;
  color: var(--ink);
  background: var(--bg);
  resize: vertical;
  outline: none;
  transition: border-color .2s;
}
.post-textarea:focus { border-color: var(--b2); background: var(--sur); }
.se-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  padding: .5rem .75rem;
}
.match-score {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem .9rem;
}
.match-score__ring {
  width: 44px; height: 44px;
  flex-shrink: 0;
}
.match-score__info { flex: 1; }
.match-score__pct {
  font: 700 1.1rem/1 'DM Sans', sans-serif;
  color: var(--brand);
}
.match-score__label {
  font: 400 .7rem/1.3 'DM Sans', sans-serif;
  color: var(--soft);
  margin-top: .15rem;
}
.suggest-profile {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .55rem .9rem;
  cursor: pointer;
  transition: background .15s;
  border-bottom: 1px solid var(--line);
}
.suggest-profile:last-child { border-bottom: none; }
.suggest-profile:hover { background: var(--bbg); }
.suggest-profile__info { flex: 1; min-width: 0; }
.suggest-profile__name {
  font: 600 .78rem/1.2 'DM Sans', sans-serif;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.suggest-profile__sub {
  font: 400 .65rem/1 'DM Sans', sans-serif;
  color: var(--soft);
  margin-top: .15rem;
}
.cgd-bar-row { display:flex;align-items:center;gap:.4rem; }
.cgd-bar-label { font:400 .65rem/1 'DM Sans',sans-serif;color:var(--soft);width:72px;flex-shrink:0; }
.cgd-bar-track { flex:1;height:5px;background:var(--line);border-radius:3px;overflow:hidden; }
.cgd-bar-fill { height:100%;width:0;border-radius:3px;transition:width .6s ease; }
.cgd-bar-val { font:600 .62rem/1 'DM Sans',sans-serif;color:var(--muted);width:28px;text-align:right;flex-shrink:0; }
.j-fil-filter {
  padding: .35rem .75rem;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--sur);
  font: 500 .72rem/1 'DM Sans', sans-serif;
  color: var(--muted);
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.j-fil-filter:hover { border-color: var(--b2); color: var(--brand); background: var(--bbg); }
.j-fil-filter.active { background: var(--brand); color: #fff; border-color: var(--brand); }
