/* ====== Rosters & Escouades (Invicta) — style MMO/fantasy lisible ====== */

/* HERO */
.ix-hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(900px 600px at 12% -10%, rgba(196,22,28,.18), transparent 70%),
    radial-gradient(800px 600px at 100% 100%, rgba(196,22,28,.08), transparent 70%);
  pointer-events:none;
}
.icon-wrap{
  width:52px; height:52px; border-radius:12px; background:linear-gradient(180deg, var(--brand), var(--brand-dark));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(196,22,28,.35), inset 0 0 0 1px rgba(255,255,255,.08);
}
.icon-wrap i{ color:#fff; font-size:1.35rem; }

/* Rendre le titre plus lisible (contraste) */
.ix-title{
  letter-spacing:.2px; color:#fff;
  text-shadow: 0 0 6px rgba(196,22,28,.35), 0 0 12px rgba(196,22,28,.15);
}
.ix-brand{ color:var(--brand); }

/* Ornements runiques */
.ix-ornament{ display:flex; align-items:center; gap:.5rem; justify-content:center; opacity:.9; }
.ix-ornament .rune{
  width:18px; height:18px; border:1px solid rgba(196,22,28,.45);
  background: radial-gradient(circle at 50% 40%, rgba(196,22,28,.25), transparent 60%);
  transform: rotate(45deg);
  display:inline-block; border-radius:3px;
  box-shadow: 0 0 0 3px rgba(196,22,28,.10);
}
.ix-ornament .rune.large{ width:24px; height:24px; }

/* Cartes */
.section-card{ border:1px solid var(--border); background: var(--card); }
.section-card h2{ color:#fff; }
.text-secondary{ color:#cfd4dd !important; }
.ix-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:1.6rem; height:1.6rem; border-radius:6px;
  background: rgba(196,22,28,.18);
  border:1px solid rgba(196,22,28,.35);
  color:#fff; font-weight:700; margin-right:.4rem;
}

/* Chips / badges */
.chip, .chip-alt{
  display:inline-block; padding:.15rem .5rem; border-radius:.5rem; font-size:.8rem;
  border:1px solid rgba(255,255,255,.12);
  color:#cfd4dd; background: rgba(255,255,255,.06);
  transition:.2s;
}
.chip-alt{
  background: rgba(196,22,28,.15);
  border-color: rgba(196,22,28,.35);
  color:#ff9aa0;
}
.selectable{ cursor:pointer; }
.selectable.active{ box-shadow:0 0 0 2px rgba(196,22,28,.35) inset; }

/* TOC / Filtres */
.toc{ background: var(--card); border:1px solid var(--border); }
.toc .nav-link{ color:#dfe3ea; padding:.35rem .25rem; border-radius:.35rem; }
.toc .nav-link:hover{ color:#fff; background: rgba(196,22,28,.15); }

/* Group cards */
.ix-group{
  border:1px solid var(--border); border-radius:.75rem; padding:.9rem;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.ix-group-hd{
  display:flex; gap:.6rem; align-items:center; margin-bottom:.5rem;
}
.ix-group-hd i{ color:var(--brand); font-size:1.2rem; }
.ix-group-meta{ display:flex; flex-wrap:wrap; gap:.35rem; }

/* Squads */
.ix-squad{
  border:1px solid var(--border); border-radius:.75rem; padding:.9rem; height:100%;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  display:flex; flex-direction:column; gap:.65rem;
}
.ix-squad-hd{ display:flex; align-items:center; gap:.5rem; }
.ix-squad-hd h6{ color:#fff; }
.ix-squad-meta, .ix-squad-tags{ display:flex; flex-wrap:wrap; gap:.35rem; }

.ix-squad-members{
  display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.2rem;
}
.avatar{
  width:34px; height:34px; border-radius:50%; overflow:hidden; border:1px solid rgba(255,255,255,.1);
  background:#1b1b21; padding:0;
}
.avatar img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Members table */
.ix-table{
  --bs-table-bg: transparent;
  --bs-table-color: #e9ebef;
  --bs-table-striped-bg: rgba(255,255,255,.04);
  border-color: var(--border);
}
.ix-table th{ color:#ffffff; }
.ix-table td, .ix-table th{ border-color: var(--border); }

/* Modal */
.ix-modal{
  background: var(--card); color: var(--ink); border:1px solid var(--border);
}
.modal-header{ border-bottom-color: rgba(255,255,255,.1); }
.modal-footer{ border-top-color: rgba(255,255,255,.1); }

/* Utility */
.container-narrow{ max-width: 1000px; }
section{ scroll-margin-top: 6rem; }
/* Contraste titres h5 sur fond sombre */
.section-card h5,
.ix-group h5,
.ix-squad h5,
.ix-modal h5 {
  color: #f2f5f7;                 /* plus clair */
  text-shadow: 0 1px 1px rgba(0,0,0,.45); /* léger relief lisible */
}