/* ================================================
   LES AILES DES PAPILLONS — DESIGN SYSTEM v2
   Refonte UI/UX — Professionnel, Sobre, Moderne
   ================================================ */

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Inter', system-ui, sans-serif;
  color: #2C2440;
  background: #F7F3FC;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a   { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
ul, ol { list-style: none; }
button, input, select, textarea { font-family: inherit; }
svg { display: block; }

/* ── Design Tokens ── */
:root {
  --deep:    #3D2470;
  --mid:     #6B4FA0;
  --light:   #9B7EC8;
  --lilac:   #C9B8E8;
  --pale:    #EDE6F7;
  --bg:      #F7F3FC;
  --cta:     #7C3AED;
  --cta-h:   #6D28D9;
  --white:   #FFFFFF;
  --text:    #2C2440;
  --muted:   #64748B;
  --border:  #E2D9F3;
  --divider: #F0EBF9;
  --green:   #16A34A;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --shadow-sm: 0 1px 3px rgba(61,36,112,.06), 0 1px 5px rgba(61,36,112,.04);
  --shadow-md: 0 4px 20px rgba(61,36,112,.10), 0 1px 4px rgba(61,36,112,.05);
  --shadow-lg: 0 12px 40px rgba(61,36,112,.13), 0 3px 10px rgba(61,36,112,.06);
  --shadow-cta: 0 4px 18px rgba(124,58,237,.35);
  --t: 160ms ease;
}

/* ── Typography ── */
h1, h2, h3, h4, h5 { font-family: 'Poppins', sans-serif; line-height: 1.2; letter-spacing: -.018em; }
h1 { font-size: clamp(30px, 4.5vw, 52px); font-weight: 700; }
h2 { font-size: clamp(22px, 3vw, 34px); font-weight: 700; }
h3 { font-size: clamp(16px, 2vw, 20px); font-weight: 600; }
h4 { font-size: 15px; font-weight: 600; }
p  { line-height: 1.72; }

/* ── Layout ── */
.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
}
.container--sm {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 40px;
}
.section      { padding: 92px 0; }
.section--sm  { padding: 64px 0; }
.section--white { background: var(--white); }
.section--bg    { background: var(--bg); }
.section--deep  { background: var(--deep); }

/* ── Eyebrow label ── */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cta);
  margin-bottom: 16px;
}
.eyebrow::before {
  content: '';
  display: block;
  width: 18px;
  height: 2px;
  background: var(--cta);
  border-radius: 1px;
  flex-shrink: 0;
}

/* ── Section header ── */
.sec-header { margin-bottom: 56px; }
.sec-header h2 { color: var(--deep); margin-bottom: 14px; }
.sec-header p  { font-size: 16.5px; color: var(--muted); max-width: 560px; line-height: 1.7; }
.sec-header--center { text-align: center; }
.sec-header--center p { margin: 0 auto; }

/* ── Divider ── */
.divider {
  width: 36px; height: 3px;
  background: var(--cta);
  border-radius: 2px;
  margin: 14px 0 0;
}
.sec-header--center .divider { margin: 14px auto 0; }

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .015em;
  padding: 11px 26px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition: transform var(--t), box-shadow var(--t), background var(--t), border-color var(--t), color var(--t), opacity var(--t);
}
.btn:hover  { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

.btn-primary {
  background: var(--cta);
  color: var(--white);
  box-shadow: var(--shadow-cta);
}
.btn-primary:hover { background: var(--cta-h); box-shadow: 0 8px 28px rgba(124,58,237,.42); }

.btn-secondary {
  background: var(--white);
  color: var(--deep);
  border: 1.5px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.btn-secondary:hover { border-color: var(--lilac); box-shadow: var(--shadow-md); }

.btn-outline {
  background: transparent;
  color: var(--mid);
  border: 1.5px solid var(--lilac);
}
.btn-outline:hover { background: var(--pale); border-color: var(--mid); }

.btn-outline-white {
  background: transparent;
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,.35);
}
.btn-outline-white:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.55); }

.btn-lg { padding: 14px 32px; font-size: 14.5px; }
.btn-sm { padding: 8px 18px;  font-size: 12.5px; }

/* ── Badge / Pill ── */
.badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 99px;
}
.badge--purple { background: var(--pale); color: var(--mid); }
.badge--green  { background: #F0FDF4; color: var(--green); }
.badge--blue   { background: #EFF6FF; color: #2563EB; }
.badge--orange { background: #FFF7ED; color: #C2410C; }

/* ────────────────────────────────────────────────
   NOTICE BAR
──────────────────────────────────────────────── */
.notice-bar {
  background: var(--deep);
  color: var(--white);
  padding: 10px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 13px;
  position: relative;
}
.notice-bar__text strong {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  letter-spacing: .04em;
  color: #D4B8FF;
}
.notice-bar__link {
  color: #D4B8FF;
  font-weight: 600;
  font-size: 12.5px;
  padding: 3px 12px;
  border-radius: 99px;
  border: 1px solid rgba(201,184,232,.4);
  transition: background var(--t), border-color var(--t);
}
.notice-bar__link:hover { background: rgba(255,255,255,.1); border-color: rgba(201,184,232,.7); }
.notice-bar__close {
  position: absolute; right: 20px;
  background: none; border: none;
  color: rgba(255,255,255,.4);
  cursor: pointer; padding: 4px; font-size: 16px; line-height: 1;
  transition: color var(--t);
}
.notice-bar__close:hover { color: var(--white); }

/* ────────────────────────────────────────────────
   HEADER
──────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 300;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92)),
    radial-gradient(circle at top left, rgba(124,58,237,.08), transparent 42%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  transition: box-shadow var(--t), border-color var(--t);
}
.site-header.is-scrolled {
  box-shadow: 0 16px 40px rgba(61,36,112,.08);
  border-color: rgba(107,79,160,.16);
}
.site-header .container {
  max-width: 1340px;
  padding: 0 36px;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  gap: 18px;
}

.header-brand {
  flex: 0 0 auto;
  min-width: 0;
}

.logo {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.logo__mark {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  border: 1px solid rgba(107,79,160,.16);
  overflow: hidden;
  flex-shrink: 0;
}
.logo__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(600%) brightness(30%) hue-rotate(-30deg);
  transition: transform var(--t), filter var(--t);
}
.logo:hover .logo__img {
  filter: saturate(600%) brightness(38%) hue-rotate(-30deg);
  transform: translateY(-1px);
}
.logo__text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.logo__name {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: var(--deep);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.logo__sub {
  font-size: 11px;
  font-weight: 500;
  color: var(--muted);
  display: block;
  letter-spacing: .01em;
}

.header-nav-shell {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: center;
}

.main-nav {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 5px;
  background: rgba(247,243,252,.92);
  border: 1px solid rgba(107,79,160,.14);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
}
.nav-link {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  border-radius: 999px;
  transition: color var(--t), background var(--t), box-shadow var(--t), transform var(--t);
  white-space: nowrap;
  position: relative;
}
.nav-link::after {
  content: '';
  position: absolute;
  inset: auto 10px 6px;
  height: 2px;
  background: linear-gradient(90deg, var(--cta), #9B6CFF);
  border-radius: 999px;
  opacity: 0;
  transform: scaleX(.6);
  transition: transform var(--t), opacity var(--t);
}
.nav-link:hover {
  color: var(--deep);
  background: rgba(255,255,255,.72);
}
.nav-link.active,
.current-menu-item > .nav-link,
.current_page_item > .nav-link {
  color: var(--deep);
  font-weight: 600;
  background: var(--white);
  box-shadow: 0 10px 24px rgba(61,36,112,.08);
}
.nav-link.active::after,
.current-menu-item > .nav-link::after,
.nav-link:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.header-actions .btn {
  box-shadow: 0 10px 22px rgba(61,36,112,.08);
}
.header-actions .btn-outline,
.header-actions .btn-secondary {
  padding: 7px 13px;
  font-size: 12px;
  border-color: rgba(107,79,160,.22);
  background: rgba(255,255,255,.86);
}
.header-actions .btn-primary {
  position: relative;
  margin-left: 6px;
}
.header-actions .btn-primary::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 18%;
  height: 64%;
  width: 1px;
  background: rgba(107,79,160,.18);
}
.header-username {
  max-width: 156px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 9px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(124,58,237,.12), rgba(107,79,160,.06));
  border: 1px solid rgba(107,79,160,.15);
  color: var(--deep);
  font-size: 12.5px;
  font-weight: 700;
}

.nav-toggle {
  display: none;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  background: rgba(247,243,252,.96);
  border: 1px solid rgba(107,79,160,.16);
  border-radius: 16px;
  cursor: pointer;
  color: var(--deep);
  box-shadow: 0 12px 30px rgba(61,36,112,.08);
}
.nav-toggle svg { width: 22px; height: 22px; }

.mobile-nav-panel {
  display: none;
  padding-bottom: 18px;
}
.mobile-nav-panel.is-open { display: block; }
.mobile-nav-panel__inner {
  padding: 12px;
  border: 1px solid rgba(107,79,160,.14);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,252,.96)),
    radial-gradient(circle at top left, rgba(124,58,237,.08), transparent 44%);
  box-shadow: 0 24px 40px rgba(61,36,112,.1);
}
.mobile-nav-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mobile-nav-panel a {
  display: block;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(107,79,160,.1);
  font-size: 14px;
  font-weight: 600;
  color: var(--deep);
  background: rgba(255,255,255,.7);
  transition: background var(--t), border-color var(--t), transform var(--t);
}
.mobile-nav-panel a:hover {
  background: var(--white);
  border-color: rgba(124,58,237,.22);
  transform: translateY(-1px);
}
.mobile-nav-panel a.is-active {
  background: linear-gradient(135deg, rgba(124,58,237,.14), rgba(107,79,160,.08));
  border-color: rgba(124,58,237,.24);
  color: var(--deep);
  font-weight: 600;
}
.mobile-nav-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(107,79,160,.12);
}
.mobile-nav-actions .btn-primary {
  grid-column: 1 / -1;
  justify-content: center;
}
.mobile-nav-user {
  grid-column: 1 / -1;
  padding: 11px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(124,58,237,.1), rgba(107,79,160,.04));
  border: 1px solid rgba(107,79,160,.12);
  color: var(--deep);
  font-size: 13px;
  font-weight: 700;
}

/* ────────────────────────────────────────────────
   HERO (Home)
──────────────────────────────────────────────── */
.hero {
  background: var(--deep);
  padding: clamp(40px, 5vh, 72px) 0;
  min-height: calc(100svh - 92px);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.hero > .container {
  width: 100%;
}
.hero::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 900px 700px at 80% -10%, rgba(147,51,234,.25) 0%, transparent 60%),
    radial-gradient(ellipse 500px 500px at -5% 110%, rgba(107,79,160,.18) 0%, transparent 60%);
  pointer-events: none;
}
.hero::after {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(201,184,232,.12) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}

.hero__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #C9B8E8 !important;
  margin-bottom: 12px;
  padding: 5px 14px 5px 5px;
  border: 1px solid rgba(201,184,232,.3);
  border-radius: 99px;
  background: rgba(201,184,232,.08);
}
.hero__label-dot {
  width: 18px; height: 18px;
  background: rgba(124,58,237,.5);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.hero__label-dot::after {
  content: '';
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #C084FC;
}
.hero__title {
  color: var(--white);
  font-size: clamp(26px, 3.6vw, 46px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.08;
  margin-bottom: 14px;
}
.hero__title em {
  font-style: normal;
  color: #C084FC;
}
.hero__desc {
  font-size: 15.5px;
  color: rgba(255,255,255,.68);
  line-height: 1.7;
  margin-bottom: 18px;
  max-width: 500px;
}
.hero__cta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.hero__trust {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  flex-wrap: nowrap;
}
.hero__trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: rgba(255,255,255,.5);
  white-space: nowrap;
}
.hero__trust-item svg {
  width: 14px; height: 14px;
  color: rgba(201,184,232,.6);
  fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
}

/* Hero logo panel (right column) */
.hero__logo-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.hero__logo-glow { display: none; }
.hero__logo-img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Hero stats inline (under desc) */
.hero__stats-inline {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 18px;
}
.hero__stat-inline {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-right: 24px;
}
.hero__stat-inline-val {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
}
.hero__stat-inline-lbl {
  font-size: 11.5px;
  color: rgba(255,255,255,.42);
}
.hero__stat-inline-sep {
  width: 1px;
  height: 30px;
  background: rgba(255,255,255,.14);
  margin-right: 24px;
  flex-shrink: 0;
}

/* ────────────────────────────────────────────────
   PAGE HERO (sub-pages)
──────────────────────────────────────────────── */
.page-hero {
  background: var(--deep);
  padding: 56px 0 52px;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 700px 400px at 100% 50%, rgba(147,51,234,.18) 0%, transparent 65%),
    radial-gradient(ellipse 400px 400px at -10% 50%, rgba(107,79,160,.15) 0%, transparent 65%);
}
.page-hero::after {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(201,184,232,.1) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.page-hero__inner { position: relative; z-index: 1; }
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  margin-bottom: 18px;
}
.breadcrumb a   { color: rgba(255,255,255,.5); transition: color var(--t); }
.breadcrumb a:hover { color: var(--white); }
.breadcrumb span { color: rgba(255,255,255,.25); }
.breadcrumb strong { color: rgba(255,255,255,.8); font-weight: 500; }
.page-hero__title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 700;
  color: var(--white);
  margin-bottom: 14px;
  letter-spacing: -.02em;
}
.page-hero__desc {
  font-size: 16px;
  color: rgba(255,255,255,.6);
  max-width: 580px;
  line-height: 1.75;
}
.page-hero__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 26px;
}

/* ────────────────────────────────────────────────
   STATS BAND
──────────────────────────────────────────────── */
.stats-band {
  background: var(--white);
  border-bottom: 1px solid var(--border);
}
.stats-band__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.stat-item {
  padding: 30px 32px;
  border-right: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 16px;
}
.stat-item:last-child { border-right: none; }
.stat-item__icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--pale);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.stat-item__icon svg { width: 22px; height: 22px; color: var(--mid); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.icon-text {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--mid);
}
.stat-item__val {
  font-family: 'Poppins', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--deep);
  line-height: 1;
  margin-bottom: 3px;
  letter-spacing: -.02em;
}
.stat-item__lbl { font-size: 12.5px; color: var(--muted); line-height: 1.5; }

/* ────────────────────────────────────────────────
   MISSION CARDS
──────────────────────────────────────────────── */
.missions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.mission-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 30px 26px;
  position: relative;
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
.mission-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--cta), var(--mid));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t);
}
.mission-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--lilac);
}
.mission-card:hover::before { transform: scaleX(1); }
.mission-card__icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--pale);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.mission-card__icon svg { width: 22px; height: 22px; color: var(--mid); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.mission-card h3 { color: var(--deep); margin-bottom: 10px; font-size: 17px; }
.mission-card p  { font-size: 14px; color: var(--muted); line-height: 1.7; }

/* ────────────────────────────────────────────────
   ACTION CARDS
──────────────────────────────────────────────── */
.actions-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.action-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 26px 22px;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
.action-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--lilac); }
.action-card__icon {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: var(--deep);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.action-card__icon svg { width: 20px; height: 20px; color: var(--white); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.action-card h3 { font-size: 15px; color: var(--deep); margin-bottom: 8px; }
.action-card p  { font-size: 13.5px; color: var(--muted); line-height: 1.65; }

/* ────────────────────────────────────────────────
   MALADIES SEARCH
──────────────────────────────────────────────── */
.maladies-search__inner {
  display: flex;
  gap: 10px;
  max-width: 520px;
}
.maladies-search__input {
  flex: 1;
  padding: 10px 16px;
  border: 1.5px solid var(--border);
  border-radius: var(--r-md);
  font-size: 15px;
  color: var(--text);
  background: var(--white);
  transition: border-color var(--t);
}
.maladies-search__input:focus {
  outline: none;
  border-color: var(--cta);
}
.maladies-search__btn { white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* ────────────────────────────────────────────────
   DISEASE CARDS
──────────────────────────────────────────────── */
.disease-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.disease-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
  display: flex;
  flex-direction: column;
}
.disease-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--lilac); }
.disease-card__thumb {
  height: 120px;
  background: linear-gradient(145deg, var(--deep), #5B2D8E);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.disease-card__thumb::after {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(201,184,232,.1) 1px, transparent 1px);
  background-size: 22px 22px;
}
.disease-card__thumb svg {
  width: 48px; height: 48px;
  color: rgba(255,255,255,.28);
  fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round;
  position: relative; z-index: 1;
}
.disease-card__body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.disease-card h3 { font-size: 16px; color: var(--deep); margin-bottom: 8px; }
.disease-card p  { font-size: 13.5px; color: var(--muted); line-height: 1.68; flex: 1; margin-bottom: 16px; }
.disease-card__link {
  font-size: 13px;
  color: var(--cta);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 5px;
}
.disease-card__link svg { width: 14px; height: 14px; transition: transform var(--t); }
.disease-card:hover .disease-card__link svg { transform: translateX(3px); }

/* ────────────────────────────────────────────────
   EVENT CARD
──────────────────────────────────────────────── */
.event-card {
  display: grid;
  grid-template-columns: 1fr 360px;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--border);
}
.event-card__main {
  background: linear-gradient(145deg, var(--deep) 0%, #5B2D8E 100%);
  padding: 52px 52px 44px;
  position: relative;
  overflow: hidden;
}
.event-card__main::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(201,184,232,.09) 1px, transparent 1px);
  background-size: 26px 26px;
}
.event-card__main::after {
  content: '';
  position: absolute;
  right: -60px; top: -60px;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: rgba(147,51,234,.2);
}
.event-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 99px;
  padding: 6px 14px;
  font-size: 12px;
  color: rgba(255,255,255,.85);
  margin-bottom: 24px;
  position: relative; z-index: 1;
}
.event-status__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #86EFAC;
  box-shadow: 0 0 6px rgba(134,239,172,.6);
}
.event-card__title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 700;
  color: var(--white);
  margin-bottom: 10px;
  position: relative; z-index: 1;
}
.event-card__location {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  color: rgba(255,255,255,.55);
  margin-bottom: 32px;
  position: relative; z-index: 1;
}
.event-card__location svg { width: 14px; height: 14px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.countdown { display: flex; gap: 10px; margin-bottom: 36px; position: relative; z-index: 1; }
.cd-item {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-md);
  padding: 12px 14px;
  text-align: center;
  min-width: 68px;
}
.cd-num { font-family: 'Poppins', sans-serif; font-size: 26px; font-weight: 700; color: var(--white); line-height: 1; }
.cd-lbl { font-size: 10px; color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .07em; margin-top: 4px; }
.event-btns { display: flex; gap: 12px; flex-wrap: wrap; position: relative; z-index: 1; }

.event-card__info {
  background: var(--bg);
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.event-info-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.event-info-item__icon {
  width: 34px; height: 34px;
  border-radius: 8px;
  background: var(--pale);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.event-info-item__icon svg { width: 16px; height: 16px; color: var(--mid); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.event-info-item__label { font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.event-info-item__val   { font-size: 13.5px; font-weight: 600; color: var(--deep); }
.event-info-item__sub   { font-size: 12px; color: var(--muted); margin-top: 1px; }

/* ────────────────────────────────────────────────
   NEWS CARDS
──────────────────────────────────────────────── */
.news-grid {
  display: grid;
  grid-template-columns: 1.45fr 1fr 1fr;
  gap: 22px;
}
.news-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
.news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--lilac); }
.news-card__thumb {
  position: relative;
  overflow: hidden;
}
.news-card__thumb-img {
  width: 100%; height: 200px;
  object-fit: cover;
  background: linear-gradient(145deg, var(--deep) 0%, #5B2D8E 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.news-card:first-child .news-card__thumb-img { height: 240px; }
.news-card__thumb-img svg {
  width: 64px; height: 64px;
  color: rgba(255,255,255,.18);
  fill: none; stroke: currentColor; stroke-width: 1;
}
.news-card__cat-overlay {
  position: absolute;
  top: 14px; left: 14px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.2);
  color: var(--white);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 99px;
}
.news-card__body { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.news-card__meta { font-size: 12px; color: var(--muted); margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.news-card__meta-sep { opacity: .4; }
.news-card h3 { font-size: 15.5px; color: var(--deep); margin-bottom: 10px; line-height: 1.45; }
.news-card p  { font-size: 13.5px; color: var(--muted); line-height: 1.68; flex: 1; }
.news-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--divider);
}
.news-card__read { font-size: 13px; color: var(--cta); font-weight: 600; display: flex; align-items: center; gap: 4px; }
.news-card__read svg { width: 13px; height: 13px; transition: transform var(--t); }
.news-card:hover .news-card__read svg { transform: translateX(3px); }
.news-card__author { display: flex; align-items: center; gap: 7px; }
.author-av { width: 24px; height: 24px; border-radius: 50%; background: var(--pale); display: flex; align-items: center; justify-content: center; font-family: 'Poppins', sans-serif; font-size: 10px; font-weight: 700; color: var(--mid); }

/* ────────────────────────────────────────────────
   IBAN SECTION
──────────────────────────────────────────────── */
.iban-section {
  background: var(--deep);
  position: relative;
  overflow: hidden;
}
.iban-section::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 700px 500px at 80% 0%, rgba(147,51,234,.22) 0%, transparent 65%),
    radial-gradient(ellipse 500px 400px at 20% 100%, rgba(107,79,160,.18) 0%, transparent 65%);
}
.iban-section::after {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(201,184,232,.08) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.iban-inner {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 72px;
  align-items: center;
}
.iban-left h2 { color: var(--white); margin-bottom: 14px; }
.iban-left .eyebrow { color: var(--lilac); }
.iban-left .eyebrow::before { background: var(--lilac); }
.iban-left p  { color: rgba(255,255,255,.62); font-size: 16px; line-height: 1.78; margin-bottom: 28px; }

.iban-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-xl);
  padding: 30px;
  backdrop-filter: blur(20px);
}
.iban-card__org   { font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.85); margin-bottom: 2px; }
.iban-card__type  { font-size: 11.5px; color: rgba(255,255,255,.38); margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.08); }
.iban-card__label { font-size: 10.5px; color: rgba(255,255,255,.38); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.iban-card__number {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(18px, 3vw, 26px);
  font-weight: 700;
  color: var(--white);
  letter-spacing: .06em;
  margin-bottom: 5px;
}
.iban-card__benef { font-size: 13px; color: rgba(255,255,255,.45); margin-bottom: 20px; }
.iban-card__comm  {
  background: rgba(255,255,255,.06);
  border-radius: var(--r-sm);
  padding: 12px 14px;
  font-size: 13px;
  color: rgba(255,255,255,.58);
  margin-bottom: 24px;
}
.iban-card__comm strong { color: rgba(255,255,255,.82); }
.amounts { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 22px; }
.amount-opt {
  border: 1.5px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.72);
  padding: 8px 18px;
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--t);
}
.amount-opt:hover, .amount-opt.is-active {
  background: var(--cta);
  border-color: var(--cta);
  color: var(--white);
  box-shadow: var(--shadow-cta);
}
.iban-card__copy { width: 100%; margin-top: 4px; }

/* ── Encart fiscal IBAN ── */
.iban-fiscal {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-top: 20px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(192,132,252,.12);
  border: 1px solid rgba(192,132,252,.22);
}
.iban-fiscal__icon {
  flex-shrink: 0;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 10px;
  background: rgba(192,132,252,.15);
  color: #C084FC;
}
.iban-fiscal__icon svg { width: 18px; height: 18px; }
.iban-fiscal__title {
  font-family: 'Poppins', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #C084FC;
  margin-bottom: 6px;
}
.iban-fiscal__text {
  margin: 0;
  font-size: .88rem;
  line-height: 1.6;
  color: rgba(255,255,255,.72);
}
.iban-fiscal__text strong { color: rgba(255,255,255,.92); }

/* ── FAQ don ── */
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 48px;
}
.faq-item {
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  background: var(--white);
  overflow: hidden;
  transition: border-color var(--t), box-shadow var(--t);
}
.faq-item[open] {
  border-color: rgba(124,58,237,.22);
  box-shadow: var(--shadow-sm);
}
.faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--deep);
  cursor: pointer;
  list-style: none;
  transition: color var(--t);
}
.faq-item__question::-webkit-details-marker { display: none; }
.faq-item[open] .faq-item__question { color: var(--cta); }
.faq-item__question::after {
  content: '';
  flex-shrink: 0;
  width: 20px; height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B4FA0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform var(--t);
}
.faq-item[open] .faq-item__question::after {
  transform: rotate(180deg);
}
.faq-item__answer {
  padding: 0 24px 20px;
  border-top: 1px solid var(--border);
}
.faq-item__answer p {
  margin: 16px 0 0;
  font-size: .97rem;
  line-height: 1.75;
  color: var(--muted);
}
.faq-item__answer a {
  color: var(--cta);
  font-weight: 600;
  text-decoration: none;
}
.faq-item__answer a:hover { text-decoration: underline; }

/* Sponsor tiers */
.sponsor-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 36px;
}
.sponsor-tier {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-md);
  padding: 20px;
}
.sponsor-tier__title { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 600; color: var(--white); margin-bottom: 3px; }
.sponsor-tier__range { font-size: 12px; color: rgba(255,255,255,.38); margin-bottom: 12px; }
.sponsor-tier__perk  { font-size: 12.5px; color: rgba(255,255,255,.58); display: flex; align-items: flex-start; gap: 7px; margin-bottom: 6px; }
.sponsor-tier__perk::before { content: ''; width: 14px; height: 14px; border-radius: 50%; background: rgba(201,184,232,.15); border: 1px solid rgba(201,184,232,.25); flex-shrink: 0; margin-top: 2px; }

/* ────────────────────────────────────────────────
   NEWSLETTER
──────────────────────────────────────────────── */
.newsletter {
  background: var(--white);
  border-top: 1px solid var(--border);
}
.newsletter-box {
  display: flex;
  align-items: center;
  gap: 72px;
}
.newsletter-left  { flex: 1; }
.newsletter-left h2 { font-size: 22px; color: var(--deep); margin-bottom: 6px; }
.newsletter-left p  { font-size: 14.5px; color: var(--muted); }
.newsletter-right { flex: 1; }
.newsletter-form {
  display: flex;
  gap: 10px;
  align-items: center;
}
.newsletter-input {
  flex: 1;
  height: 46px;
  padding: 0 18px;
  font-size: 14px;
  color: var(--text);
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  outline: none;
  transition: border-color var(--t), box-shadow var(--t);
}
.newsletter-input:focus { border-color: var(--mid); box-shadow: 0 0 0 3px rgba(107,79,160,.1); }
.newsletter-input::placeholder { color: var(--muted); }
.newsletter-note { font-size: 12px; color: var(--muted); margin-top: 10px; display: flex; align-items: center; gap: 5px; }
.newsletter-note svg { width: 12px; height: 12px; color: var(--muted); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ────────────────────────────────────────────────
   PARTNERS
──────────────────────────────────────────────── */
.partners-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}
.partner-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  padding: 10px 28px;
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-md);
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  transition: border-color var(--t), color var(--t);
  min-width: 160px;
}
.partner-item:hover { border-color: var(--lilac); color: var(--deep); }

/* ────────────────────────────────────────────────
   FORMS
──────────────────────────────────────────────── */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-group.full { grid-column: 1 / -1; }
.form-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--deep);
}
.form-input, .form-textarea, .form-select {
  width: 100%;
  padding: 11px 16px;
  font-size: 14px;
  color: var(--text);
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-sm);
  outline: none;
  transition: border-color var(--t), box-shadow var(--t);
}
.form-input:focus, .form-textarea:focus, .form-select:focus {
  border-color: var(--mid);
  box-shadow: 0 0 0 3px rgba(107,79,160,.1);
}
.form-textarea { resize: vertical; min-height: 120px; }
.form-input::placeholder, .form-textarea::placeholder { color: var(--muted); }

/* ────────────────────────────────────────────────
   CONTACT INFO
──────────────────────────────────────────────── */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 52px;
}
.contact-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 28px 24px;
}
.contact-card__icon {
  width: 44px; height: 44px;
  border-radius: 11px;
  background: var(--pale);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.contact-card__icon svg { width: 20px; height: 20px; color: var(--mid); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.contact-card h3 { font-size: 15px; color: var(--deep); margin-bottom: 8px; }
.contact-card p  { font-size: 14px; color: var(--muted); line-height: 1.65; }
.contact-card a:hover { color: var(--cta); }

/* ────────────────────────────────────────────────
   DOCUMENTS LIST
──────────────────────────────────────────────── */
.doc-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.doc-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: border-color var(--t);
}
.doc-item:hover { border-color: var(--lilac); }
.doc-item__left { display: flex; align-items: center; gap: 14px; }
.doc-item__icon {
  width: 40px; height: 40px;
  border-radius: 9px;
  background: var(--pale);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.doc-item__icon svg { width: 18px; height: 18px; color: var(--mid); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.doc-item__name { font-size: 14px; font-weight: 600; color: var(--deep); }
.doc-item__size { font-size: 12px; color: var(--muted); margin-top: 1px; }

/* ────────────────────────────────────────────────
   TEAM CARDS
──────────────────────────────────────────────── */
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.team-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 28px 20px;
  text-align: center;
  transition: border-color var(--t), box-shadow var(--t);
}
.team-card:hover { border-color: var(--lilac); box-shadow: var(--shadow-sm); }
.team-card__avatar {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: var(--pale);
  border: 3px solid var(--white);
  box-shadow: 0 0 0 2px var(--lilac);
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.team-card__avatar svg { width: 36px; height: 36px; color: var(--mid); fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }
.team-card__name { font-family: 'Poppins', sans-serif; font-size: 14.5px; font-weight: 600; color: var(--deep); margin-bottom: 3px; }
.team-card__role { font-size: 12.5px; color: var(--muted); }

/* ────────────────────────────────────────────────
   OBJECTIVES
──────────────────────────────────────────────── */
.objective-list { display: flex; flex-direction: column; gap: 12px; }
.objective-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  transition: border-color var(--t);
}
.objective-item:hover { border-color: var(--lilac); }
.objective-item__num {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: var(--deep);
  color: var(--white);
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.objective-item h4 { font-size: 14.5px; color: var(--deep); margin-bottom: 4px; }
.objective-item p  { font-size: 13.5px; color: var(--muted); line-height: 1.6; }

/* ────────────────────────────────────────────────
   LAYOUTS
──────────────────────────────────────────────── */
.split-layout {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 40px;
  align-items: start;
}
.surface-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 30px;
  box-shadow: var(--shadow-sm);
}
.surface-card--deep {
  background: linear-gradient(145deg, var(--deep) 0%, #5B2D8E 100%);
  border-color: rgba(255,255,255,.08);
  color: var(--white);
}
.surface-card--deep h3, .surface-card--deep h4 { color: var(--white); }
.surface-card--deep p { color: rgba(255,255,255,.68); }
.stack-md { display: flex; flex-direction: column; gap: 20px; }
.stack-lg { display: flex; flex-direction: column; gap: 28px; }
.inline-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.metric-box {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  padding: 18px;
}
.metric-box__value {
  font-family: 'Poppins', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--deep);
  line-height: 1;
  margin-bottom: 6px;
}
.metric-box__label { font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.surface-card--deep .metric-box {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.1);
}
.surface-card--deep .metric-box__value { color: var(--white); }
.surface-card--deep .metric-box__label { color: rgba(255,255,255,.55); }

.feature-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.feature-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 0;
  border-top: 1px solid var(--divider);
}
.feature-item:first-child { border-top: none; padding-top: 0; }
.feature-item__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--pale);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.feature-item__icon svg {
  width: 18px;
  height: 18px;
  color: var(--mid);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.feature-item h4 { font-size: 14px; color: var(--deep); margin-bottom: 4px; }
.feature-item p  { font-size: 13.5px; color: var(--muted); line-height: 1.65; }

.link-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.link-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 3px solid transparent;
  border-radius: var(--r-lg);
  padding: 26px 24px;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
.link-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--lilac);
  border-left-color: var(--cta);
}
.link-card__kicker {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--cta);
  margin-bottom: 10px;
}
.link-card h3 { font-size: 17px; color: var(--deep); margin-bottom: 8px; }
.link-card p  { font-size: 13.5px; color: var(--muted); line-height: 1.68; margin-bottom: 18px; }
.link-card a  { font-size: 13px; font-weight: 600; color: var(--cta); display: flex; align-items: center; gap: 5px; }

.timeline {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.timeline-item {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 16px;
  align-items: start;
  padding: 16px 0;
  border-top: 1px solid var(--divider);
}
.timeline-item:first-child { border-top: none; padding-top: 0; }
.timeline-item__meta {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--mid);
}
.timeline-item h4 { font-size: 14.5px; color: var(--deep); margin-bottom: 4px; }
.timeline-item p  { font-size: 13.5px; color: var(--muted); line-height: 1.6; }

/* CTA Band */
.cta-band {
  background: linear-gradient(145deg, var(--deep) 0%, #5B2D8E 100%);
  border-radius: var(--r-xl);
  padding: 36px 40px;
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  position: relative;
  overflow: hidden;
}
.cta-band::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(201,184,232,.08) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}
.cta-band h3 { font-size: 22px; color: var(--white); margin-bottom: 6px; position: relative; z-index: 1; }
.cta-band p  { font-size: 14.5px; color: rgba(255,255,255,.68); position: relative; z-index: 1; }
.cta-band .gap-row { position: relative; z-index: 1; }

/* ────────────────────────────────────────────────
   ARTICLES LIST
──────────────────────────────────────────────── */
.filter-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.filter-tab {
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 99px;
  border: 1.5px solid var(--border);
  background: var(--white);
  color: var(--muted);
  cursor: pointer;
  transition: all var(--t);
}
.filter-tab:hover, .filter-tab.is-active {
  background: var(--deep);
  border-color: var(--deep);
  color: var(--white);
}
.articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.article-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
.article-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--lilac); }
.article-card__img {
  height: 180px;
  position: relative;
  background: linear-gradient(145deg, var(--deep), #5B2D8E);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.article-card__img::after {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(201,184,232,.1) 1px, transparent 1px);
  background-size: 20px 20px;
}
.article-card__img svg {
  width: 52px; height: 52px;
  color: rgba(255,255,255,.18);
  fill: none; stroke: currentColor; stroke-width: .8;
  position: relative; z-index: 1;
}
.article-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.article-card__meta { font-size: 12px; color: var(--muted); margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.article-card h3 { font-size: 15px; color: var(--deep); margin-bottom: 8px; line-height: 1.42; }
.article-card p  { font-size: 13.5px; color: var(--muted); line-height: 1.65; flex: 1; margin-bottom: 14px; }
.article-card a  { font-size: 13px; color: var(--cta); font-weight: 600; display: flex; align-items: center; gap: 4px; margin-top: auto; }
.article-card a svg { width: 13px; height: 13px; transition: transform var(--t); }
.article-card:hover a svg { transform: translateX(3px); }

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 48px;
  flex-wrap: wrap;
}
/* Classes native WordPress (paginate_links) */
.pagination .page-numbers,
.page-item {
  width: 38px; height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-sm);
  font-size: 13.5px;
  font-weight: 500;
  border: 1.5px solid var(--border);
  background: var(--white);
  color: var(--muted);
  cursor: pointer;
  transition: all var(--t);
  text-decoration: none;
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current,
.page-item:hover,
.page-item.is-active {
  background: var(--deep);
  border-color: var(--deep);
  color: var(--white);
}
.pagination .prev.page-numbers,
.pagination .next.page-numbers { width: auto; padding: 0 14px; }

/* ────────────────────────────────────────────────
   FOOTER
──────────────────────────────────────────────── */
.site-footer {
  background: #1B1030;
  color: var(--white);
}
.footer-top {
  padding: 64px 0 52px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1.4fr;
  gap: 52px;
}
.footer-brand__logo-wrap { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.footer-brand__logo-wrap img { width: 36px; height: 36px; border-radius: 7px; object-fit: contain; }
.footer-brand__name { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 700; color: var(--white); }
.footer-brand__desc { font-size: 13.5px; color: rgba(255,255,255,.45); line-height: 1.72; margin-bottom: 22px; }
.footer-socials { display: flex; gap: 8px; margin-bottom: 24px; }
.footer-social {
  width: 34px; height: 34px;
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--t), border-color var(--t);
}
.footer-social:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.2); }
.footer-social svg { width: 15px; height: 15px; color: rgba(255,255,255,.65); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.footer-iban {
  background: rgba(124,58,237,.14);
  border: 1px solid rgba(124,58,237,.22);
  border-radius: var(--r-md);
  padding: 14px 16px;
}
.footer-iban__label { font-size: 10.5px; text-transform: uppercase; letter-spacing: .09em; color: rgba(255,255,255,.35); margin-bottom: 5px; }
.footer-iban__number { font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 700; color: #D4B8FF; letter-spacing: .04em; }

.footer-col__title {
  font-family: 'Poppins', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.28);
  margin-bottom: 16px;
}
.footer-links { display: flex; flex-direction: column; gap: 10px; }
.footer-links a { font-size: 13.5px; color: rgba(255,255,255,.52); transition: color var(--t); }
.footer-links a:hover { color: var(--white); }

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
}
.footer-contact-item svg { width: 14px; height: 14px; color: rgba(255,255,255,.32); flex-shrink: 0; margin-top: 3px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.footer-contact-item span { font-size: 13px; color: rgba(255,255,255,.52); line-height: 1.55; }
.footer-contact-item a:hover { color: var(--lilac); }

.footer-bottom {
  padding: 20px 0;
}
.footer-bottom__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.footer-bottom__copy { font-size: 12.5px; color: rgba(255,255,255,.28); }
.footer-bottom__links { display: flex; gap: 20px; }
.footer-bottom__links a { font-size: 12.5px; color: rgba(255,255,255,.28); transition: color var(--t); }
.footer-bottom__links a:hover { color: rgba(255,255,255,.6); }

/* ────────────────────────────────────────────────
   NOTICE BOX
──────────────────────────────────────────────── */
.notice-box {
  background: var(--pale);
  border: 1px solid var(--border);
  border-left: 3px solid var(--cta);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: 14px 18px;
}
.notice-box p { font-size: 13.5px; color: var(--muted); line-height: 1.65; }
.notice-box strong { color: var(--deep); }

/* ────────────────────────────────────────────────
   COMMUNITY JOIN SECTION
──────────────────────────────────────────────── */
.community-section {
  background: var(--deep);
  position: relative;
  overflow: hidden;
}
.community-section::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 700px 500px at 70% -20%, rgba(147,51,234,.25) 0%, transparent 60%),
    radial-gradient(ellipse 400px 400px at 10% 110%, rgba(107,79,160,.2) 0%, transparent 60%);
}
.community-section::after {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(201,184,232,.09) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.community-inner {
  position: relative; z-index: 1;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.community-inner .eyebrow { color: var(--lilac); }
.community-inner .eyebrow::before { background: var(--lilac); }
.community-inner h2 { color: var(--white); margin-bottom: 16px; }
.community-inner p  { color: rgba(255,255,255,.65); font-size: 17px; line-height: 1.75; margin-bottom: 36px; }
.community-inner .hero__cta { justify-content: center; }
.community-inner .hero__trust { justify-content: center; border-top-color: rgba(255,255,255,.1); }

/* ────────────────────────────────────────────────
   UTILITIES
──────────────────────────────────────────────── */
.text-center { text-align: center; }
.text-muted  { color: var(--muted); }
.mt-8  { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }
.mt-48 { margin-top: 48px; }
.mb-8  { margin-bottom: 8px; }
.mb-16 { margin-bottom: 16px; }
.mb-24 { margin-bottom: 24px; }
.mb-32 { margin-bottom: 32px; }
.gap-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }

/* ────────────────────────────────────────────────
   SINGLE POST / MALADIE CONTENT
──────────────────────────────────────────────── */
.maladie-content-section { background: #ffffff !important; }
/* ────────────────────────────────────────────────
   ARTICLE (single post)
──────────────────────────────────────────────── */
.article-body {
  max-width: 760px;
  margin: 0 auto;
}

/* Hero : chip catégorie + méta */
.article-cat-chip {
  display: inline-flex;
  align-items: center;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #C9B8E8;
  background: rgba(201,184,232,.12);
  border: 1px solid rgba(201,184,232,.28);
  padding: 5px 13px;
  border-radius: 99px;
  margin-bottom: 16px;
}
.article-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
  font-size: 13.5px;
  color: rgba(255,255,255,.7);
}
.article-meta__author {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-weight: 600;
  color: #fff;
}
.article-meta__av {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--cta), #6B4FA0);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
}
.article-meta__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.article-meta__item svg {
  width: 15px; height: 15px;
  fill: none; stroke: rgba(201,184,232,.75);
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.article-meta__sep {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.28);
}

/* Image de couverture */
.article-cover {
  margin: 0 0 44px;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  line-height: 0;
}
.article-cover img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Contenu */
.post-content {
  color: var(--text);
  font-size: 17px;
  line-height: 1.8;
  overflow-wrap: break-word;
  word-break: break-word;
}
.post-content > p:first-of-type {
  font-size: 19.5px;
  line-height: 1.7;
  color: var(--deep);
}
.post-content h2,
.post-content .wp-block-heading {
  color: var(--deep);
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  margin: 1.9em 0 .55em;
  font-size: clamp(20px, 2.4vw, 26px);
  padding-left: 16px;
  position: relative;
}
.post-content h2::before,
.post-content .wp-block-heading::before {
  content: '';
  position: absolute;
  left: 0; top: .15em; bottom: .15em;
  width: 4px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--cta), #6B4FA0);
}
.post-content h3 {
  color: var(--deep);
  font-weight: 600;
  margin: 1.7em 0 .5em;
  font-size: clamp(17px, 1.9vw, 21px);
}
.post-content p { margin-bottom: 1.35em; }
.post-content ul, .post-content ol { margin: 1.1em 0 1.5em; padding-left: 0; list-style: none; }
.post-content li {
  position: relative;
  font-size: 17px;
  line-height: 1.75;
  margin-bottom: .55em;
  padding-left: 28px;
}
.post-content ul li::before {
  content: '';
  position: absolute;
  left: 4px; top: .62em;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--cta);
}
.post-content ol { counter-reset: li; }
.post-content ol li::before {
  counter-increment: li;
  content: counter(li);
  position: absolute;
  left: 0; top: .1em;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--pale);
  color: var(--cta);
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.post-content a {
  color: var(--cta);
  text-decoration: underline;
  text-decoration-color: rgba(124,58,237,.35);
  text-underline-offset: 3px;
  transition: text-decoration-color var(--t);
}
.post-content a:hover { text-decoration-color: var(--cta); }
.post-content strong { color: var(--deep); font-weight: 700; }
.post-content blockquote {
  margin: 1.8em 0;
  padding: 18px 24px;
  border-left: 4px solid var(--cta);
  background: var(--pale);
  border-radius: 0 var(--r-lg) var(--r-lg) 0;
  color: var(--deep);
  font-size: 18px;
  font-style: italic;
}
.post-content blockquote p:last-child { margin-bottom: 0; }
.post-content img { max-width: 100%; height: auto; border-radius: var(--r-lg); }
.post-content figure { margin: 1.8em 0; }
.post-content figure img { display: block; margin: 0 auto; }
.post-content figcaption {
  margin-top: 10px;
  text-align: center;
  font-size: 13.5px;
  color: var(--muted);
}
.post-content hr {
  border: 0;
  height: 1px;
  background: var(--border);
  margin: 2.4em 0;
}
.post-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.6em 0;
  font-size: 15px;
}
.post-content th, .post-content td {
  padding: 11px 14px;
  border: 1px solid var(--border);
  text-align: left;
}
.post-content th { background: var(--pale); color: var(--deep); font-weight: 600; }
.post-content code {
  background: var(--pale);
  padding: 2px 6px;
  border-radius: 6px;
  font-size: .9em;
  color: var(--mid);
}

/* Tags */
.article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
}
.article-tag {
  font-size: 13px;
  font-weight: 600;
  color: var(--mid);
  background: var(--pale);
  border: 1px solid var(--border);
  padding: 6px 13px;
  border-radius: 99px;
  transition: background var(--t), color var(--t), border-color var(--t);
}
.article-tag:hover { background: var(--cta); color: #fff; border-color: var(--cta); }

/* Carte auteur */
.article-authorcard {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 40px;
  padding: 24px;
  background: var(--pale);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
}
.article-authorcard__av {
  width: 52px; height: 52px;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--cta), #6B4FA0);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 700;
}
.article-authorcard__body { display: flex; flex-direction: column; gap: 3px; }
.article-authorcard__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cta);
}
.article-authorcard__name {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--deep);
}
.article-authorcard__bio {
  margin-top: 4px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--muted);
}

/* Navigation prev / next */
.article-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 28px;
}
.article-nav__link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 20px;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  background: var(--white);
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.article-nav__link:hover {
  border-color: var(--lilac);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.article-nav__link--next { text-align: right; }
.article-nav__dir {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--cta);
}
.article-nav__title {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--deep);
  line-height: 1.35;
}

/* Retour */
.article-back {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: center;
}

@media (max-width: 600px) {
  .article-nav { grid-template-columns: 1fr; }
  .article-nav__link--next { text-align: left; }
  .post-content { font-size: 16px; }
  .post-content > p:first-of-type { font-size: 18px; }
  .post-content li { font-size: 16px; }
}

/* Article — dark mode (éléments utilisant --deep en couleur de texte) */
html[data-theme="dark"] .post-content > p:first-of-type { color: var(--text) !important; }
html[data-theme="dark"] .post-content blockquote { color: var(--text); }
html[data-theme="dark"] .post-content th { color: var(--text); }
html[data-theme="dark"] .post-content code { color: var(--lilac); }
html[data-theme="dark"] .article-authorcard__name,
html[data-theme="dark"] .article-nav__title { color: var(--text); }

/* ────────────────────────────────────────────────
   PARTNERS
──────────────────────────────────────────────── */
.partners-block { margin-top: 32px; }
.partners-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}
.partner-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.partner-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 72px;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transition: transform var(--t), box-shadow var(--t);
}
.partner-card:hover .partner-card__logo {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(0,0,0,.25);
}
.partner-card__logo img {
  max-width: 110px;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.partner-card__name {
  font-size: 11.5px;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  letter-spacing: .01em;
}

/* ────────────────────────────────────────────────
   SOUTENIR — Impact cards
──────────────────────────────────────────────── */
.soutenir-impact-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.soutenir-impact-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  transition: box-shadow var(--t), border-color var(--t);
}
.soutenir-impact-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--lilac);
}
.soutenir-impact-card__amount {
  font-family: 'Poppins', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--cta);
  line-height: 1;
}
.soutenir-impact-card__icon {
  width: 44px; height: 44px;
  background: var(--pale);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
}
.soutenir-impact-card__icon svg {
  width: 22px; height: 22px;
  color: var(--cta);
  stroke: currentColor;
}
.soutenir-impact-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--deep);
  margin: 0;
}
.soutenir-impact-card p {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

/* SOUTENIR — Réassurance */
.soutenir-reassurance {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 32px;
}
.soutenir-reassurance__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255,255,255,.7);
}
.soutenir-reassurance__item svg {
  width: 18px; height: 18px;
  color: var(--lilac);
  flex-shrink: 0;
}

/* SOUTENIR — Utilisation des fonds */
.soutenir-usage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.soutenir-usage-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 28px 24px;
}
.soutenir-usage-item__bar {
  height: 6px;
  background: var(--pale);
  border-radius: 99px;
  margin-bottom: 14px;
  overflow: hidden;
}
.soutenir-usage-item__fill {
  height: 100%;
  border-radius: 99px;
}
.soutenir-usage-item__pct {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: var(--deep);
  line-height: 1;
  margin-bottom: 4px;
}
.soutenir-usage-item__label {
  font-size: 14px;
  font-weight: 700;
  color: var(--deep);
  margin-bottom: 10px;
}
.soutenir-usage-item p {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

/* ────────────────────────────────────────────────
   ACTUALITÉS — Filter bar
──────────────────────────────────────────────── */
.actu-filter-bar {
  background: var(--white);
  border-bottom: 1px solid var(--border);
  padding: 14px 0;
  position: sticky;
  top: 68px;
  z-index: 90;
}
.actu-filter-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.actu-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 14px;
  border-radius: 99px;
  font-size: 13px;
  font-weight: 500;
  color: var(--mid);
  background: var(--pale);
  border: 1px solid transparent;
  transition: all var(--t);
  text-decoration: none;
}
.actu-filter-pill:hover { background: var(--white); border-color: var(--lilac); color: var(--deep); }
.actu-filter-pill.is-active { background: var(--deep); color: var(--white); border-color: var(--deep); }
.actu-filter-count { font-size: 11px; opacity: .6; }

/* ────────────────────────────────────────────────
   ACTUALITÉS — Featured post
──────────────────────────────────────────────── */
.actu-section { padding-top: 56px; }
.actu-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border);
}
.actu-featured__img {
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 16/10;
  background: linear-gradient(145deg, var(--deep), #5B2D8E);
}
.actu-featured__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.actu-featured__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.actu-featured__cat {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--cta);
  background: var(--pale);
  padding: 3px 10px;
  border-radius: 99px;
}
.actu-featured__date { font-size: 13px; color: var(--muted); }
.actu-featured__title { font-family: 'Poppins', sans-serif; font-size: clamp(22px, 2.8vw, 34px); font-weight: 700; color: var(--deep); line-height: 1.28; margin-bottom: 18px; overflow-wrap: break-word; }
.actu-featured__title a { color: inherit; text-decoration: none; }
.actu-featured__title a:hover { color: var(--cta); }
.actu-featured__excerpt { font-size: 16px; color: var(--muted); line-height: 1.75; margin-bottom: 28px; overflow-wrap: break-word; }

/* Sécurité : extraits/titres de cartes avec mots très longs non sécables */
.article-card h3, .article-card p,
.news-card__body h3, .news-card__body p,
.disease-card__body h3, .disease-card__body p { overflow-wrap: break-word; }
.actu-featured__btn { align-self: flex-start; }

/* ────────────────────────────────────────────────
   ACTUALITÉS — Grid
──────────────────────────────────────────────── */
.actu-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

/* ────────────────────────────────────────────────
   ACTUALITÉS — Empty state
──────────────────────────────────────────────── */
.actu-empty {
  text-align: center;
  padding: 80px 0 60px;
  max-width: 480px;
  margin: 0 auto;
}
.actu-empty__icon {
  width: 72px; height: 72px;
  background: var(--pale);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
}
.actu-empty__icon svg { width: 32px; height: 32px; color: var(--mid); }
.actu-empty h2 { color: var(--deep); font-size: 24px; margin-bottom: 12px; }
.actu-empty p  { color: var(--muted); line-height: 1.7; margin-bottom: 28px; }

/* ────────────────────────────────────────────────
   SKIP LINK (accessibilité clavier)
──────────────────────────────────────────────── */
.skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 9999;
  background: var(--cta);
  color: var(--white) !important;
  padding: 8px 20px;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  border-radius: 0 0 var(--r-md) var(--r-md);
  text-decoration: none;
  transition: top .15s ease;
}
.skip-link:focus { top: 0; outline: 2px solid var(--white); outline-offset: 2px; }

/* ────────────────────────────────────────────────
   FOCUS VISIBLE (accessibilité clavier)
──────────────────────────────────────────────── */
:focus-visible {
  outline: 2px solid var(--cta);
  outline-offset: 3px;
  border-radius: 3px;
}
a:focus-visible, button:focus-visible { outline-offset: 4px; }

/* ────────────────────────────────────────────────
   ANIMATIONS D'ENTRÉE AU SCROLL
──────────────────────────────────────────────── */
.fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s ease, transform .55s ease;
}
.fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.fade-up:nth-child(2) { transition-delay: .08s; }
.fade-up:nth-child(3) { transition-delay: .16s; }
.fade-up:nth-child(4) { transition-delay: .24s; }

/* ────────────────────────────────────────────────
   BBPRESS — Forum
──────────────────────────────────────────────── */

/* ── Forum wrap ── */
.forum-wrap,
.forum-content { width: 100%; }
.forum-layout {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.forum-panel {
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.94)),
    radial-gradient(circle at top left, rgba(124,58,237,.06), transparent 40%);
  border: 1px solid rgba(107,79,160,.12);
  border-radius: 28px;
  box-shadow: 0 28px 70px rgba(61,36,112,.08);
}
.forum-intro-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.forum-intro-card {
  padding: 24px 24px 22px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(61,36,112,.98), rgba(107,79,160,.94));
  color: var(--white);
  box-shadow: 0 24px 50px rgba(61,36,112,.18);
}
.forum-intro-card:nth-child(2) {
  background: linear-gradient(135deg, #ffffff, #f6f0ff);
  color: var(--deep);
  border: 1px solid rgba(107,79,160,.14);
  box-shadow: 0 24px 50px rgba(61,36,112,.07);
}
.forum-intro-card__eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.forum-intro-card:nth-child(2) .forum-intro-card__eyebrow {
  background: rgba(124,58,237,.1);
  color: var(--mid);
}
.forum-intro-card h2 {
  margin: 14px 0 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 1.4rem;
  line-height: 1.1;
}
.forum-intro-card p {
  margin: 0;
  font-size: .95rem;
  line-height: 1.65;
  color: inherit;
  opacity: .88;
}

/* Masquer le breadcrumb natif bbPress (on a déjà le breadcrumb dans le page-hero) */
.forum-wrap .bbp-breadcrumb,
.forum-content .bbp-breadcrumb,
#bbpress-forums .bbp-breadcrumb { display: none; }

/* ── Notice connexion ── */
.forum-login-notice {
  display: flex; align-items: center; gap: 12px;
  background: var(--pale); border-left: 3px solid var(--cta);
  border-radius: 0 var(--r-md) var(--r-md) 0; padding: 14px 18px; margin-bottom: 32px;
}
.forum-login-notice svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--cta); }
.forum-login-notice p { margin: 0; font-size: .88rem; color: var(--text); }
.forum-login-notice a { color: var(--cta); font-weight: 600; }

/* ── Reset ── */
#bbpress-forums { font-family: inherit; font-size: inherit; color: inherit; line-height: 1.6; }
#bbpress-forums li.bbp-header, #bbpress-forums li.bbp-footer { display: none; }
#bbpress-forums ul, #bbpress-forums ol { margin: 0; padding: 0; list-style: none; }
#bbpress-forums .bbp-template-notice {
  margin: 0 0 22px;
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid rgba(107,79,160,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,252,.76)),
    radial-gradient(circle at top left, rgba(124,58,237,.08), transparent 40%);
  box-shadow: 0 18px 34px rgba(61,36,112,.05);
}
#bbpress-forums .bbp-template-notice p,
#bbpress-forums .bbp-template-notice li {
  margin: 0;
  color: var(--text);
  font-size: .95rem;
}
#bbpress-forums .bbp-template-notice a {
  color: var(--cta);
  font-weight: 600;
  text-decoration: none;
}
#bbpress-forums #subscription-toggle,
#bbpress-forums #favorite-toggle {
  float: none;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 18px;
}
#bbpress-forums #subscription-toggle a,
#bbpress-forums #favorite-toggle a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(107,79,160,.14);
  background: rgba(255,255,255,.9);
  color: var(--deep);
  font-weight: 700;
  text-decoration: none;
  transition: border-color var(--t), color var(--t), background var(--t), transform var(--t);
}
#bbpress-forums #subscription-toggle a:hover,
#bbpress-forums #favorite-toggle a:hover {
  color: var(--cta);
  border-color: rgba(124,58,237,.28);
  background: var(--pale);
  transform: translateY(-1px);
}
#bbpress-forums .bbp-pagination-count {
  margin: 8px 0 18px;
  color: var(--deep);
  font-family: 'Poppins', sans-serif;
  font-size: .96rem;
  font-weight: 600;
}
#bbpress-forums .bbp-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 22px 0 28px;
}
#bbpress-forums .bbp-topic-tags {
  float: none;
  clear: both;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 14px;
}
#bbpress-forums .bbp-topic-tags p {
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  font-size: .82rem;
  color: var(--muted);
}
#bbpress-forums .bbp-topic-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(124,58,237,.08);
  border: 1px solid rgba(124,58,237,.12);
  color: var(--mid);
  font-weight: 600;
  text-decoration: none;
}

/* ════════════════════════════════════════════════
   PAPILLONS FORUM LAYOUT
════════════════════════════════════════════════ */
#bbpress-forums.forum-shell {
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: relative;
}
.forum-search-card {
  display: block;
  padding: 20px;
  width: 100%;
  margin: 0 0 4px;
  border-radius: 26px;
  border: 1px solid rgba(107,79,160,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,252,.76)),
    radial-gradient(circle at top left, rgba(124,58,237,.08), transparent 42%);
  box-shadow: 0 22px 48px rgba(61,36,112,.06);
  position: relative;
  overflow: hidden;
}
.forum-search-card::after {
  content: '';
  position: absolute;
  inset: auto -40px -60px auto;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,237,.12), transparent 68%);
  pointer-events: none;
}
.forum-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 28px;
  border-radius: 30px;
  border: 1px solid rgba(107,79,160,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,243,252,.72)),
    radial-gradient(circle at top left, rgba(124,58,237,.1), transparent 38%);
  box-shadow: 0 28px 54px rgba(61,36,112,.07);
  position: relative;
  overflow: hidden;
}
.forum-toolbar::before {
  content: '';
  position: absolute;
  right: -90px;
  top: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,237,.12), transparent 68%);
  pointer-events: none;
}
.forum-toolbar__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  z-index: 1;
}
.forum-toolbar__desc {
  max-width: 62ch;
  margin: 0;
  color: var(--muted);
  font-size: .97rem;
  line-height: 1.7;
}
.forum-toolbar__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.forum-toolbar__stat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(107,79,160,.14);
  background: rgba(255,255,255,.72);
  color: var(--mid);
  font-size: .82rem;
  font-weight: 600;
}
.forum-toolbar__stat strong {
  color: var(--deep);
  font-family: 'Poppins', sans-serif;
  font-size: .92rem;
}
.forum-toolbar__eyebrow,
.forum-section-heading__eyebrow {
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mid);
}
.forum-toolbar__title,
.forum-section-heading h3 {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.1;
  color: var(--deep);
}
.forum-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.forum-summary-card,
.forum-section-heading {
  padding: 0 4px;
}
.forum-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}
.forum-summary-card .bbp-template-notice {
  margin: 0;
}

#bbpress-forums .forum-card,
#bbpress-forums .forum-topic-card,
#bbpress-forums .forum-lead-card,
#bbpress-forums .forum-reply-card {
  list-style: none;
}
.forum-forums-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
}
.forum-topics-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.forum-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 18px;
  width: 100%;
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(107,79,160,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,243,252,.76)),
    radial-gradient(circle at top left, rgba(124,58,237,.08), transparent 40%);
  box-shadow: 0 24px 48px rgba(61,36,112,.06);
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
  position: relative;
  overflow: hidden;
}
.forum-card:hover,
.forum-topic-card:hover,
.forum-lead-card:hover,
.forum-reply-card:hover {
  transform: translateY(-2px);
  border-color: rgba(124,58,237,.18);
  box-shadow: 0 30px 56px rgba(61,36,112,.08);
}
.forum-card::before,
.forum-topic-card::before,
.forum-lead-card::before,
.forum-reply-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, rgba(124,58,237,.95), rgba(107,79,160,.18));
  opacity: .8;
}
.forum-card__main,
.forum-topic-card__main {
  min-width: 0;
}
.forum-card__title,
.forum-topic-card__title {
  display: block;
  margin: 0 0 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--deep);
  text-decoration: none;
  transition: color var(--t);
}
.forum-card__title:hover,
.forum-topic-card__title:hover {
  color: var(--cta);
}
.forum-topic-card__title {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 2.5vw, 1.95rem);
  line-height: 1.01;
  letter-spacing: -.02em;
  text-wrap: balance;
  color: #26164f;
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}
.forum-topic-card__main {
  padding-right: 8px;
  position: relative;
}
.forum-topic-card__main::before {
  content: '';
  display: block;
  width: 64px;
  height: 4px;
  margin: 0 0 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cta), rgba(107,79,160,.3));
}
.forum-topic-card:hover .forum-topic-card__title {
  color: var(--cta);
}
.forum-card__content {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.75;
}
.forum-card__aside {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#bbpress-forums .forum-card .bbp-forum-content,
#bbpress-forums .forum-card .bbp-forum-icon,
#bbpress-forums .forum-card .bbp-forum-desc,
#bbpress-forums .forum-card .bbp-forum-stats,
#bbpress-forums .forum-card .bbp-forum-topic-count,
#bbpress-forums .forum-card .bbp-forum-reply-count,
#bbpress-forums .forum-card .bbp-forum-freshness {
  all: unset;
}
.forum-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.forum-stat-pill {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(107,79,160,.14);
  background: rgba(255,255,255,.9);
  color: var(--mid);
  font-size: .82rem;
  font-weight: 700;
}
.forum-card__freshness,
.forum-topic-card__activity {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(107,79,160,.1);
  background: rgba(255,255,255,.88);
  position: relative;
}
.forum-card__freshness-time a,
.forum-topic-card__activity-time a {
  color: var(--deep);
  font-weight: 700;
  text-decoration: none;
}
.forum-card__freshness-author,
.forum-topic-card__activity-author {
  color: var(--muted);
  font-size: .82rem;
}

.forum-topic-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px minmax(180px, 220px);
  gap: 18px;
  align-items: center;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(107,79,160,.12);
  background: rgba(255,255,255,.95);
  box-shadow: 0 20px 42px rgba(61,36,112,.05);
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
  position: relative;
  overflow: hidden;
}
.forum-topic-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
}
.forum-topic-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.forum-topic-card__meta a {
  color: var(--mid);
  text-decoration: none;
  font-weight: 600;
}
.forum-topic-card__count {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  border-radius: 24px;
  border: 1px solid rgba(124,58,237,.16);
  background: linear-gradient(135deg, rgba(124,58,237,.1), rgba(107,79,160,.04));
}
.forum-topic-card__count-value {
  font-family: 'Poppins', sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--deep);
}
.forum-topic-card__count-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--mid);
}

.forum-lead-card,
.forum-reply-card {
  padding: 22px;
  border-radius: 28px;
  border: 1px solid rgba(107,79,160,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,243,252,.72)),
    radial-gradient(circle at top left, rgba(124,58,237,.07), transparent 40%);
  box-shadow: 0 24px 48px rgba(61,36,112,.06);
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
  position: relative;
  overflow: hidden;
}
.forum-lead-card__meta,
.forum-reply-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(107,79,160,.08);
}
.forum-post-meta,
.forum-post-meta__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
}
.forum-post-meta__date {
  color: var(--muted);
  font-size: .84rem;
}
.forum-post-meta__kind {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(124,58,237,.09);
  border: 1px solid rgba(124,58,237,.14);
  color: var(--mid);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.forum-post-meta__anchor {
  color: var(--mid);
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}
.forum-lead-card__body,
.forum-reply-card__body {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 20px;
}
.forum-lead-card__author,
.forum-reply-card__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  padding-top: 4px;
}
.forum-lead-card__author .avatar,
.forum-reply-card__author .avatar {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 2px solid rgba(124,58,237,.12);
  box-shadow: 0 0 0 4px rgba(124,58,237,.06);
}
.forum-lead-card__author .bbp-author-name,
.forum-reply-card__author .bbp-author-name {
  color: var(--deep);
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.25;
  word-break: break-word;
}
.forum-lead-card__author .bbp-author-role,
.forum-reply-card__author .bbp-author-role {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(124,58,237,.08);
  color: var(--mid);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.forum-lead-card__content,
.forum-reply-card__content {
  min-width: 0;
  padding: 20px 22px;
  border-radius: 22px;
  border: 1px solid rgba(107,79,160,.1);
  background: rgba(255,255,255,.95);
  color: var(--text);
  font-size: .97rem;
  line-height: 1.8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.forum-reply-card__content {
  position: relative;
}
.forum-reply-card__content::before {
  content: '';
  position: absolute;
  left: -11px;
  top: 22px;
  width: 22px;
  height: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(247,243,252,.9));
  border-left: 1px solid rgba(107,79,160,.1);
  border-bottom: 1px solid rgba(107,79,160,.1);
  transform: rotate(45deg);
}
.forum-lead-card__content > :first-child,
.forum-reply-card__content > :first-child {
  margin-top: 0;
}
.forum-lead-card__content > :last-child,
.forum-reply-card__content > :last-child {
  margin-bottom: 0;
}
.forum-lead-card__content p,
.forum-reply-card__content p {
  margin: 0 0 .9em;
}
.forum-lead-card__content p:last-child,
.forum-reply-card__content p:last-child {
  margin-bottom: 0;
}
.forum-lead-card__content a,
.forum-reply-card__content a {
  color: var(--cta);
  text-decoration: none;
  font-weight: 600;
}
.forum-lead-card__content ul,
.forum-lead-card__content ol,
.forum-reply-card__content ul,
.forum-reply-card__content ol {
  margin: 0 0 1em 1.2em;
  padding: 0;
}
.forum-lead-card__content li,
.forum-reply-card__content li {
  margin-bottom: .45em;
}
.forum-lead-card__content blockquote,
.forum-reply-card__content blockquote {
  margin: 14px 0;
  padding: 14px 16px;
  border-left: 3px solid var(--lilac);
  border-radius: 0 16px 16px 0;
  background: var(--pale);
  color: var(--muted);
}
.forum-reply-card + .forum-reply-card {
  margin-top: 14px;
}
.forum-replies-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.forum-replies-list > article.forum-reply-card,
#bbpress-forums article.forum-reply-card {
  display: block;
  width: 100%;
  margin: 0;
}
.forum-replies-list > article.forum-reply-card .forum-reply-card__meta,
.forum-replies-list > article.forum-reply-card .forum-reply-card__body {
  width: 100%;
}
#bbpress-forums article.forum-reply-card .forum-reply-card__body {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 20px;
}
.forum-pagination .bbp-pagination-count {
  margin: 0;
}
#bbp_search_submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 42px rgba(124,58,237,.28);
  filter: saturate(1.03);
}

/* ════════════════════════════════════════════════
   INDEX — liste de forums
════════════════════════════════════════════════ */

#bbpress-forums .bbp-search-form {
  margin-bottom: 24px;
}
#bbp-search-form > div {
  display: flex;
  align-items: center;
  justify-content: stretch;
  gap: 12px;
  width: 100%;
}
#bbp_search {
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
  height: 52px;
  padding: 12px 16px;
  border: 1.5px solid rgba(107,79,160,.18);
  border-radius: 16px;
  background: rgba(247,243,252,.65);
  color: var(--deep);
  font-size: .94rem;
  transition: border-color var(--t), box-shadow var(--t), background var(--t);
}
#bbp_search:focus {
  outline: none;
  border-color: var(--cta);
  background: var(--white);
  box-shadow: 0 0 0 4px rgba(124,58,237,.1);
}
#bbp_search_submit {
  flex: 0 0 auto;
  min-height: 52px;
  min-width: 156px;
  padding: 12px 20px;
  border: none;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--cta), #5b21b6);
  color: var(--white);
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 18px 36px rgba(124,58,237,.24);
  transition: transform var(--t), box-shadow var(--t), filter var(--t);
}

#bbpress-forums .forum-forums-list,
#bbpress-forums .forum-topics-list,
#bbpress-forums .forum-replies-list {
  border: none;
  margin: 0;
  padding: 0;
  background: transparent;
  overflow: visible;
}

#bbpress-forums .forum-card,
#bbpress-forums .forum-card * {
  box-sizing: border-box;
}
#bbpress-forums .forum-topic-card,
#bbpress-forums .forum-topic-card * {
  box-sizing: border-box;
}
#bbpress-forums .forum-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
}
#bbpress-forums .forum-topic-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 110px minmax(180px, 220px) !important;
  gap: 18px !important;
  align-items: center !important;
}
#bbpress-forums .forum-card__main,
#bbpress-forums .forum-card__aside,
#bbpress-forums .forum-topic-card__main,
#bbpress-forums .forum-topic-card__activity,
#bbpress-forums .forum-topic-card__count {
  min-width: 0;
}
#bbpress-forums .forum-card__content,
#bbpress-forums .forum-card__freshness {
  white-space: normal;
  word-break: normal;
}
#bbpress-forums .forum-card__main {
  display: block !important;
  width: auto !important;
}
#bbpress-forums .forum-card__aside {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
}

/* ════════════════════════════════════════════════
   LISTE DES TOPICS
════════════════════════════════════════════════ */
#bbpress-forums ul.topic {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px minmax(150px, 190px);
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid rgba(107,79,160,.12);
  border-radius: 22px;
  background: var(--white);
  box-shadow: 0 18px 40px rgba(61,36,112,.05);
}
#bbpress-forums li.bbp-topic-title {
  min-width: 0;
}
#bbpress-forums .bbp-topic-title .bbp-topic-permalink {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: var(--deep);
  text-decoration: none;
  line-height: 1.35;
  transition: color var(--t);
  display: block;
}
#bbpress-forums .bbp-topic-title .bbp-topic-permalink:hover { color: var(--cta); }
#bbpress-forums .bbp-topic-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: .78rem;
  color: var(--muted);
  margin-top: 8px;
}
#bbpress-forums .bbp-topic-meta a { color: var(--muted); text-decoration: none; }

#bbpress-forums .bbp-topic-reply-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  justify-self: center;
  width: 56px;
  min-height: 56px;
  padding: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(124,58,237,.1), rgba(107,79,160,.04));
  border: 1px solid rgba(124,58,237,.16);
  font-size: .82rem;
  font-weight: 700;
  color: var(--mid);
}
#bbpress-forums .bbp-topic-reply-count::before {
  content: '';
  display: inline-block; width: 14px; height: 14px; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B4FA0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
#bbpress-forums .bbp-topic-freshness {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(107,79,160,.1);
  background: rgba(255,255,255,.82);
  text-align: left;
  font-size: .77rem;
  color: var(--muted);
  line-height: 1.45;
}
#bbpress-forums .bbp-topic-freshness a {
  color: var(--muted);
  text-decoration: none;
  font-weight: 600;
}
#bbpress-forums .bbp-topic-voice-count { display: none; }

#bbpress-forums ul.topic.super-sticky,
#bbpress-forums ul.topic.sticky {
  background: linear-gradient(135deg, rgba(124,58,237,.09), rgba(237,230,247,.92)) !important;
  border-color: rgba(124,58,237,.18);
}
#bbpress-forums ul.topic.super-sticky .bbp-topic-title .bbp-topic-permalink::before,
#bbpress-forums ul.topic.sticky .bbp-topic-title .bbp-topic-permalink::before {
  content: '📌 ';
}

/* ════════════════════════════════════════════════
   SINGLE TOPIC — MESSAGE INITIAL
════════════════════════════════════════════════ */
#bbpress-forums ul.bbp-lead-topic {
  margin: 0 0 26px;
  border: none;
  background: transparent;
}
#bbpress-forums ul.bbp-lead-topic > .bbp-body {
  display: block;
}
#bbpress-forums .bbp-topic-header {
  margin: 0 0 12px;
  padding: 0;
  border: none;
  background: transparent;
}
#bbpress-forums .bbp-topic-header .bbp-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 0 6px;
  font-size: .8rem;
  color: var(--muted);
}
#bbpress-forums .bbp-topic-header .bbp-topic-permalink {
  color: var(--muted);
  text-decoration: none;
  font-weight: 600;
}
#bbpress-forums ul.bbp-lead-topic .topic {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(107,79,160,.1);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,243,252,.72)),
    radial-gradient(circle at top left, rgba(124,58,237,.07), transparent 40%);
  box-shadow: 0 24px 48px rgba(61,36,112,.06);
}
#bbpress-forums .bbp-topic-author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
#bbpress-forums .bbp-topic-author img {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 2px solid rgba(124,58,237,.12);
  box-shadow: 0 0 0 4px rgba(124,58,237,.06);
}
#bbpress-forums .bbp-topic-author .bbp-author-name {
  font-size: .88rem;
  font-weight: 700;
  color: var(--deep);
  text-decoration: none;
}
#bbpress-forums .bbp-topic-author .bbp-author-role {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(124,58,237,.08);
  color: var(--mid);
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
#bbpress-forums .bbp-topic-content {
  min-width: 0;
  margin: 0;
  padding: 20px 22px;
  border: 1px solid rgba(107,79,160,.1);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  color: var(--text);
  font-size: .98rem;
  line-height: 1.8;
}
#bbpress-forums .bbp-topic-content p { margin: 0 0 .9em; }
#bbpress-forums .bbp-topic-content p:last-child { margin-bottom: 0; }
#bbpress-forums .bbp-topic-content a {
  color: var(--cta);
  text-decoration: none;
  font-weight: 600;
}
#bbpress-forums .bbp-topic-content blockquote {
  margin: 14px 0;
  padding: 12px 16px;
  border-left: 3px solid var(--lilac);
  border-radius: 0 14px 14px 0;
  background: var(--pale);
  color: var(--muted);
}

/* ════════════════════════════════════════════════
   SINGLE TOPIC — RÉPONSES
════════════════════════════════════════════════ */
#bbpress-forums ul.bbp-replies { margin-bottom: 36px; }
#bbpress-forums ul.bbp-replies > .bbp-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#bbpress-forums .bbp-reply-header {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}
#bbpress-forums .bbp-reply-header .bbp-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 0 6px 10px;
  color: var(--muted);
  font-size: .79rem;
}

#bbpress-forums li.bbp-reply {
  display: flex;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(107,79,160,.1);
  border-radius: 24px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 20px 42px rgba(61,36,112,.05);
}

#bbpress-forums .bbp-reply-author {
  display: flex; flex-direction: column; align-items: center;
  gap: 6px; flex-shrink: 0; width: 64px; text-align: center;
}
#bbpress-forums .bbp-reply-author img {
  width: 44px; height: 44px; border-radius: 50%;
  border: 2px solid var(--border); display: block;
}
#bbpress-forums .bbp-reply-author .bbp-author-name {
  font-size: .72rem; font-weight: 700; color: var(--deep); line-height: 1.3;
  word-break: break-word;
}
#bbpress-forums .bbp-reply-author .bbp-author-role {
  font-size: .66rem; color: var(--mid); font-weight: 600;
  background: var(--pale); border-radius: 4px; padding: 1px 6px;
}

#bbpress-forums .reply:not(article.forum-reply-card) {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 18px;
  width: 100%;
}
#bbpress-forums .bbp-reply-content-wrap {
  flex: 1; min-width: 0;
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 18px 22px;
  box-shadow: var(--shadow-sm);
}
#bbpress-forums li.bbp-reply:first-child .bbp-reply-content-wrap {
  border-color: var(--lilac); background: var(--bg);
}
#bbpress-forums li.bbp-reply:first-child .bbp-reply-author img {
  border-color: var(--cta);
  box-shadow: 0 0 0 3px var(--pale);
}

#bbpress-forums .bbp-reply-meta {
  display: flex; align-items: center; gap: 10px;
  font-size: .75rem; color: var(--muted); margin-bottom: 12px;
}
#bbpress-forums .bbp-reply-meta a { color: var(--muted); text-decoration: none; }
#bbpress-forums .bbp-reply-meta a:hover { color: var(--cta); }
#bbpress-forums .bbp-reply-meta::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: var(--lilac); display: inline-block; flex-shrink: 0;
}

#bbpress-forums .bbp-reply-content {
  min-width: 0;
  margin: 0;
  padding: 18px 22px;
  border: 1px solid rgba(107,79,160,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  font-size: .94rem;
  line-height: 1.75;
  color: var(--text);
}
#bbpress-forums .bbp-reply-content p { margin: 0 0 .75em; }
#bbpress-forums .bbp-reply-content p:last-child { margin: 0; }
#bbpress-forums .bbp-reply-content a { color: var(--cta); }
#bbpress-forums .bbp-reply-content blockquote {
  border-left: 3px solid var(--lilac); margin: 10px 0;
  padding: 8px 14px; background: var(--pale);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-style: italic; color: var(--muted); font-size: .9rem;
}

#bbpress-forums .bbp-admin-links,
#bbpress-forums .bbp-topic-admin-links,
#bbpress-forums .bbp-reply-admin-links {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: .74rem;
}
#bbpress-forums .bbp-admin-links a,
#bbpress-forums .bbp-topic-admin-links a,
#bbpress-forums .bbp-reply-admin-links a { color: var(--muted); text-decoration: none; }
#bbpress-forums .bbp-admin-links a:hover,
#bbpress-forums .bbp-topic-admin-links a:hover,
#bbpress-forums .bbp-reply-admin-links a:hover { color: var(--cta); }

/* ════════════════════════════════════════════════
   FORMULAIRES
════════════════════════════════════════════════ */
#bbpress-forums #new-post { margin-top: 36px; }
#bbpress-forums fieldset.bbp-form {
  border: none; padding: 0; margin: 0;
}
#bbpress-forums fieldset.bbp-form legend,
#bbpress-forums .bbp-topic-form-title,
#bbpress-forums .bbp-reply-form-title {
  font-size: 1rem; font-weight: 700; color: var(--deep);
  margin-bottom: 20px; padding: 0 0 14px;
  border-bottom: 1px solid var(--border);
  display: block; width: 100%;
}

#bbpress-forums label {
  display: block; font-weight: 600; font-size: .83rem;
  color: var(--muted); margin-bottom: 6px; margin-top: 18px; letter-spacing: .02em;
  text-transform: uppercase;
}
#bbpress-forums label:first-of-type { margin-top: 0; }

#bbpress-forums input[type="text"],
#bbpress-forums input[type="email"],
#bbpress-forums input[type="url"],
#bbpress-forums textarea {
  width: 100%; padding: 11px 14px;
  border: 1.5px solid var(--border); border-radius: var(--r-md);
  font-family: inherit; font-size: .94rem;
  background: var(--white); color: var(--text);
  transition: border-color var(--t), box-shadow var(--t); box-sizing: border-box;
}
#bbpress-forums input:focus, #bbpress-forums textarea:focus {
  border-color: var(--cta); outline: none;
  box-shadow: 0 0 0 3px rgba(124,58,237,.1);
}
#bbpress-forums textarea { min-height: 130px; resize: vertical; }

#bbpress-forums input[type="submit"],
#bbpress-forums .bbp-submit-wrapper input[type="submit"] {
  background: var(--cta); color: var(--white);
  border: none; border-radius: var(--r-md);
  padding: 11px 26px; font-size: .93rem; font-weight: 700;
  cursor: pointer; transition: background var(--t), transform var(--t), box-shadow var(--t);
  margin-top: 18px; box-shadow: var(--shadow-cta); font-family: inherit;
}
#bbpress-forums input[type="submit"]:hover {
  background: var(--cta-h); transform: translateY(-1px);
}

/* ════════════════════════════════════════════════
   PAGINATION
════════════════════════════════════════════════ */
#bbpress-forums .bbp-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 28px 0; }
#bbpress-forums .bbp-pagination-links { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px; }
#bbpress-forums .bbp-pagination-links a,
#bbpress-forums .bbp-pagination-links span.current,
#bbpress-forums .bbp-pagination-links span.dots {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 10px;
  border: 1px solid var(--border); border-radius: var(--r-md);
  font-size: .88rem; color: var(--text); text-decoration: none; transition: all var(--t);
}
#bbpress-forums .bbp-pagination-links a:hover { border-color: var(--cta); color: var(--cta); background: var(--pale); }
#bbpress-forums .bbp-pagination-links span.current { background: var(--cta); border-color: var(--cta); color: #fff; font-weight: 700; }
#bbpress-forums .bbp-pagination-links span.dots { border-color: transparent; min-width: 16px; }

/* ── Misc ── */
#bbpress-forums .bbp-topic-permalink,
#bbpress-forums .bbp-reply-permalink { font-size: .73rem; color: var(--muted); text-decoration: none; }
#bbpress-forums .bbp-topic-permalink:hover,
#bbpress-forums .bbp-reply-permalink:hover { color: var(--cta); }
#bbpress-forums .forum-topic-card .bbp-topic-permalink.forum-topic-card__title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.22rem, 2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.01em;
  color: #26164f;
  text-decoration: none;
}
#bbpress-forums .forum-topic-card:hover .bbp-topic-permalink.forum-topic-card__title {
  color: var(--cta);
}

/* ────────────────────────────────────────────────
   INSCRIPTION / CONNEXION
──────────────────────────────────────────────── */
.register-grid {
  display: grid; grid-template-columns: 1fr 380px; gap: 48px;
  align-items: start; max-width: 920px; margin: 0 auto;
}
.register-grid--narrow {
  grid-template-columns: 420px 1fr; max-width: 860px;
}
.register-card {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--r-xl); padding: 40px 44px;
  box-shadow: var(--shadow-md);
}
.register-card__title {
  font-size: 1.35rem; font-weight: 800; color: var(--deep);
  margin: 0 0 6px; letter-spacing: -.02em;
}
.register-card__sub { font-size: .9rem; color: var(--muted); margin: 0 0 28px; }

/* Champs du formulaire */
.form-row { margin-bottom: 18px; }
.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.form-row label, .form-row-2 label {
  display: block; font-size: .8rem; font-weight: 700;
  color: var(--deep); margin-bottom: 6px; letter-spacing: .02em; text-transform: uppercase;
}
.form-input {
  width: 100%; padding: 11px 14px; box-sizing: border-box;
  border: 1.5px solid var(--border); border-radius: var(--r-md);
  font-family: inherit; font-size: .93rem; color: var(--text);
  background: var(--white); transition: border-color var(--t), box-shadow var(--t);
}
.form-input:focus {
  border-color: var(--cta); outline: none;
  box-shadow: 0 0 0 3px rgba(124,58,237,.1);
}
.form-input.is-error { border-color: #ef4444; }
.form-input.is-valid { border-color: var(--green); }

/* Mot de passe avec toggle */
.form-input-wrap { position: relative; }
.form-input-wrap .form-input { padding-right: 44px; }
.form-pw-toggle {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer; color: var(--muted); padding: 4px;
  transition: color var(--t);
}
.form-pw-toggle:hover { color: var(--deep); }
.form-pw-toggle svg { width: 18px; height: 18px; display: block; }

/* Force du mot de passe */
.pw-strength { height: 4px; border-radius: 99px; background: var(--border); margin-top: 8px; overflow: hidden; }
.pw-strength__bar { height: 100%; border-radius: 99px; width: 0%; transition: width .3s, background .3s; }
.pw-strength--weak   .pw-strength__bar { width: 33%; background: #ef4444; }
.pw-strength--medium .pw-strength__bar { width: 66%; background: #f59e0b; }
.pw-strength--strong .pw-strength__bar { width: 100%; background: var(--green); }

/* Checkbox CGU */
.form-check { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 22px; }
.form-check input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; accent-color: var(--cta); cursor: pointer; }
.form-check label { font-size: .85rem; color: var(--muted); cursor: pointer; text-transform: none; font-weight: 400; letter-spacing: 0; margin: 0; }
.form-check a { color: var(--cta); }

/* Bouton submit */
.form-submit { width: 100%; justify-content: center; font-size: .95rem; padding: 13px; }

/* Messages erreur/succès */
.form-errors { margin-bottom: 20px; }
.form-error-msg {
  display: flex; align-items: center; gap: 10px;
  background: #fef2f2; border: 1px solid #fecaca;
  border-radius: var(--r-md); padding: 12px 16px; font-size: .88rem; color: #991b1b;
}
.form-error-msg svg { width: 16px; height: 16px; flex-shrink: 0; color: #ef4444; }
.form-success {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 48px 24px; gap: 16px;
}
.form-success__icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: #dcfce7; display: flex; align-items: center; justify-content: center;
}
.form-success__icon svg { width: 32px; height: 32px; color: var(--green); }
.form-success h2 { font-size: 1.3rem; font-weight: 800; color: var(--deep); margin: 0; }
.form-success p { color: var(--muted); font-size: .93rem; margin: 0; max-width: 300px; }

/* Panneau latéral */
.register-aside { padding-top: 8px; }
.register-aside__title { font-size: .78rem; font-weight: 700; color: var(--muted); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.register-perks { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
.register-perk { display: flex; align-items: flex-start; gap: 12px; }
.register-perk__icon { width: 36px; height: 36px; border-radius: 10px; background: var(--pale); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.register-perk__icon svg { width: 18px; height: 18px; color: var(--mid); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.register-perk__text strong { display: block; font-size: .9rem; color: var(--deep); margin-bottom: 2px; }
.register-perk__text p { font-size: .83rem; color: var(--muted); margin: 0; line-height: 1.5; }
.register-login-link { font-size: .88rem; color: var(--muted); text-align: center; margin-top: 20px; }
.register-login-link a { color: var(--cta); font-weight: 600; }

/* ────────────────────────────────────────────────
   RESPONSIVE
──────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .missions-grid     { grid-template-columns: repeat(2, 1fr); }
  .actions-grid      { grid-template-columns: repeat(2, 1fr); }
  .team-grid         { grid-template-columns: repeat(2, 1fr); }
  .footer-grid       { grid-template-columns: 1fr 1fr; }
  .stats-band__grid  { grid-template-columns: repeat(2, 1fr); }
  .disease-grid            { grid-template-columns: repeat(2, 1fr); }
  .soutenir-impact-grid    { grid-template-columns: repeat(2, 1fr); }
  .soutenir-usage-grid     { grid-template-columns: repeat(2, 1fr); }
  .header-nav-shell, .header-actions { display: none; }
  .nav-toggle { display: flex; }
  body.nav-open { overflow: hidden; }
}
@media (max-width: 900px) {
  .hero__inner { grid-template-columns: minmax(0, 1fr); }
  .hero__logo-panel { width: 100%; max-width: 420px; margin: 4px auto 0; }
  .hero__logo-img { max-width: 100%; }
  .hero__trust { flex-wrap: wrap; gap: 10px 16px; }
  .hero__desc { max-width: none; }
  .event-card    { grid-template-columns: 1fr; }
  .news-grid     { grid-template-columns: 1fr; }
  .iban-inner            { grid-template-columns: 1fr; }
  .soutenir-impact-grid  { grid-template-columns: 1fr; }
  .soutenir-usage-grid   { grid-template-columns: 1fr; }
  .newsletter-box { flex-direction: column; gap: 28px; }
  .contact-grid  { grid-template-columns: 1fr; }
  .sponsor-grid  { grid-template-columns: 1fr; }
  .split-layout  { grid-template-columns: 1fr; }
  .link-grid     { grid-template-columns: 1fr; }
  .inline-metrics { grid-template-columns: 1fr; }
  .cta-band      { flex-direction: column; align-items: flex-start; }
  .actu-featured { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .actu-featured > * { min-width: 0; }
  .actu-grid     { grid-template-columns: repeat(2, 1fr); }
  .forum-search-card,
  .forum-toolbar,
  .forum-card,
  .forum-topic-card,
  .forum-lead-card,
  .forum-reply-card {
    padding: 20px;
    border-radius: 24px;
  }
  .forum-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .forum-toolbar__actions {
    justify-content: flex-start;
  }
  .forum-toolbar__desc {
    max-width: none;
  }
  #bbpress-forums .forum-card {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .forum-card__aside {
    gap: 12px;
  }
  #bbpress-forums .forum-topic-card {
    grid-template-columns: minmax(0, 1fr) 104px !important;
    gap: 14px;
    align-items: start;
  }
  .forum-topic-card__activity {
    grid-column: 1 / -1;
  }
  .forum-lead-card__body,
  .forum-reply-card__body,
  #bbpress-forums article.forum-reply-card .forum-reply-card__body {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 16px;
  }
  .forum-reply-card__content::before {
    left: -9px;
    top: 18px;
    width: 18px;
    height: 18px;
  }
}
@media (max-width: 760px) {
  body.nav-open { overflow: hidden; }
  .maladies-search__inner { flex-direction: column; max-width: 100%; }
  .maladies-search__btn   { width: 100%; justify-content: center; }
  .container, .container--sm { padding: 0 20px; }
  .section { padding: 64px 0; }
  .header-inner { min-height: 70px; }
  .missions-grid   { grid-template-columns: 1fr; }
  .actions-grid    { grid-template-columns: 1fr; }
  .disease-grid    { grid-template-columns: 1fr; }
  .articles-grid   { grid-template-columns: 1fr; }
  .actu-grid       { grid-template-columns: 1fr; }
  .actu-filter-bar { top: 0; }
  .stats-band__grid { grid-template-columns: 1fr 1fr; }
  .stat-item { padding: 20px 18px; }
  .hero { padding: 72px 0 60px; }
  .page-hero { padding: 40px 0 36px; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-top { padding: 44px 0 36px; }
  .notice-bar { padding: 10px 50px 10px 20px; flex-wrap: wrap; gap: 10px; font-size: 12.5px; }
  .newsletter-form { flex-direction: column; }
  .newsletter-input { width: 100%; }
  .forum-panel { padding: 18px; border-radius: 22px; }
  .forum-intro-grid { grid-template-columns: 1fr; }
  .forum-intro-card { padding: 24px 20px; }
  .mobile-nav-actions { grid-template-columns: 1fr; }
  .forum-search-card,
  .forum-toolbar,
  .forum-card,
  .forum-topic-card,
  .forum-lead-card,
  .forum-reply-card {
    padding: 18px;
    border-radius: 22px;
  }
  .forum-toolbar__stats {
    gap: 8px;
  }
  .forum-toolbar__stat {
    width: 100%;
    justify-content: space-between;
  }
  #bbpress-forums .forum-card,
  #bbpress-forums .forum-topic-card {
    grid-template-columns: 1fr !important;
  }
  .forum-lead-card__body,
  .forum-reply-card__body,
  #bbpress-forums article.forum-reply-card .forum-reply-card__body {
    grid-template-columns: 1fr;
  }
  .forum-topic-card__main::before {
    width: 44px;
    margin-bottom: 10px;
  }
  .forum-topic-card__count {
    width: 100%;
    min-height: 72px;
  }
  .forum-topic-card__activity,
  .forum-card__freshness {
    padding: 14px;
  }
  .forum-lead-card__author,
  .forum-reply-card__author {
    flex-direction: row;
    align-items: center;
    gap: 12px;
    text-align: left;
  }
  .forum-lead-card__author .avatar,
  .forum-reply-card__author .avatar {
    width: 48px;
    height: 48px;
  }
  .forum-reply-card__content::before {
    display: none;
  }
  #bbp-search-form > div { flex-direction: column; }
  #bbp_search, #bbp_search_submit {
    width: 100%;
    min-width: 0;
  }
  #bbp_search_submit {
    min-width: 0;
  }
  #bbpress-forums .bbp-pagination,
  #bbpress-forums .bbp-topic-tags,
  #bbpress-forums #subscription-toggle,
  #bbpress-forums #favorite-toggle { justify-content: flex-start; }
  #bbpress-forums .bbp-topic-tags p { justify-content: flex-start; }
  #bbpress-forums ul.forum { grid-template-columns: 1fr; }
  #bbpress-forums .bbp-forum-freshness { padding: 14px; }
  #bbpress-forums ul.topic { grid-template-columns: 1fr auto; }
  #bbpress-forums .bbp-topic-freshness {
    grid-column: 1 / -1;
    align-items: flex-start;
    text-align: left;
  }
  #bbpress-forums ul.bbp-lead-topic .topic,
  #bbpress-forums .reply:not(article.forum-reply-card) { grid-template-columns: 1fr; }
  #bbpress-forums .bbp-topic-author,
  #bbpress-forums .bbp-reply-author {
    width: 100%;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
  }
  #bbpress-forums li.bbp-reply { padding: 18px; }
  /* Inscription / Connexion */
  .register-grid,
  .register-grid--narrow { grid-template-columns: 1fr; }
  .register-aside { display: none; }
  .register-card { padding: 28px 22px; }
  .form-row-2 { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .team-grid { grid-template-columns: 1fr; }
  .hero__stats-inline { gap: 0; }
  .hero__stat-inline { padding-right: 14px; }
  .hero__stat-inline-val { font-size: 18px; }
  .hero__stat-inline-lbl { font-size: 10.5px; }
  .hero__stat-inline-sep { margin-right: 14px; }
  .stats-band__grid { grid-template-columns: 1fr; }
  .stat-item { border-right: none; border-bottom: 1px solid var(--border); }
  .stat-item:last-child { border-bottom: none; }
  .header-inner { gap: 12px; }
  .logo { gap: 10px; }
  .logo__mark { width: 52px; height: 52px; border-radius: 16px; }
  .logo__img { width: 100%; height: 100%; }
  .logo__name { font-size: 13px; }
  .logo__sub { font-size: 10px; }
  .forum-search-card,
  .forum-toolbar,
  .forum-card,
  .forum-topic-card,
  .forum-lead-card,
  .forum-reply-card { padding: 16px; }
  .forum-toolbar__title,
  .forum-section-heading h3 {
    font-size: 1.55rem;
  }
  .forum-topic-card__title,
  #bbpress-forums .forum-topic-card .bbp-topic-permalink.forum-topic-card__title {
    font-size: 1.12rem;
    line-height: 1.12;
  }
  .forum-topic-card__meta {
    font-size: .76rem;
  }
  .forum-topic-card__count-value {
    font-size: 1.15rem;
  }
  .forum-lead-card__content,
  .forum-reply-card__content { padding: 16px; }
  #bbpress-forums ul.topic { grid-template-columns: 1fr; }
  #bbpress-forums .bbp-topic-reply-count { justify-self: flex-start; }
  #bbpress-forums .bbp-topic-header .bbp-meta,
  #bbpress-forums .bbp-reply-header .bbp-meta,
  #bbpress-forums .bbp-pagination {
    flex-direction: column;
    align-items: flex-start;
  }
  #bbpress-forums .bbp-topic-content,
  #bbpress-forums .bbp-reply-content { padding: 16px; }
  #bbpress-forums li.bbp-reply { padding: 16px; gap: 12px; }
  .forum-toolbar__stat {
    min-height: 34px;
    padding: 0 12px;
    font-size: .78rem;
  }
}

/* ════════════════════════════════════════════════════
   FICHE MALADIE — sommaire, à retenir, CTA, impression
════════════════════════════════════════════════════ */

/* Méta auteur · date dans le hero */
.maladie-meta {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  font-size: 14px;
  color: rgba(255,255,255,.85);
}
.maladie-meta__label { opacity: .7; margin-right: 4px; }
.maladie-meta__sep   { opacity: .5; }

/* Layout 2 colonnes : sommaire à gauche, contenu à droite */
.maladie-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 56px;
  align-items: start;
}
@media (max-width: 900px) {
  .maladie-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .maladie-layout > * { min-width: 0; }
}

/* Sommaire ancré */
.maladie-toc {
  position: sticky;
  top: 96px;
  align-self: start;
}
.maladie-toc__inner {
  background: var(--pale);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 20px 18px;
}
.maladie-toc__toggle {
  display: none;
  width: 100%;
  background: transparent;
  border: 0;
  color: var(--deep);
  font: 600 15px/1 'Poppins', sans-serif;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 0;
}
.maladie-toc__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.maladie-toc__toggle svg { transition: transform var(--t); }
.maladie-toc__nav { margin-top: 14px; }
.maladie-toc__nav ol {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: toc;
}
.maladie-toc__nav li {
  counter-increment: toc;
  margin: 0;
}
.maladie-toc__nav a {
  display: flex;
  gap: 10px;
  align-items: baseline;
  padding: 8px 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--mid);
  text-decoration: none;
  border-left: 2px solid transparent;
  padding-left: 12px;
  margin-left: -14px;
  transition: color var(--t), border-color var(--t);
}
.maladie-toc__nav a::before {
  content: counter(toc, decimal-leading-zero);
  font-size: 11px;
  font-weight: 700;
  color: var(--lilac);
  letter-spacing: .04em;
}
.maladie-toc__nav a:hover { color: var(--deep); }
.maladie-toc__nav a.is-active {
  color: var(--deep);
  border-left-color: var(--cta);
  font-weight: 600;
}

@media (max-width: 900px) {
  .maladie-toc { position: static; }
  .maladie-toc__toggle { display: flex; }
  .maladie-toc__nav { display: none; }
  .maladie-toc__nav.is-open { display: block; }
}

/* Encadré "À retenir" */
.a-retenir {
  background: linear-gradient(135deg, #F5EFFC 0%, #EDE6F7 100%);
  border-left: 4px solid var(--cta);
  border-radius: var(--r-md);
  padding: 24px 28px;
  margin: 0 0 40px;
}
.a-retenir__title {
  font-size: 18px !important;
  margin: 0 0 12px !important;
  color: var(--deep);
  display: flex;
  align-items: center;
  gap: 10px;
}
.a-retenir__title::before {
  content: '✦';
  color: var(--cta);
  font-size: 20px;
}
.a-retenir ul { margin: 0; padding-left: 20px; }
.a-retenir li {
  margin: 6px 0;
  line-height: 1.65;
  color: var(--text);
}

/* Ancres : compenser le header sticky */
.maladie-content h2 { scroll-margin-top: 96px; }
.maladie-content h2 { margin-top: 44px; }
.maladie-content h2:first-child { margin-top: 0; }

/* Largeur de lecture confortable */
.maladie-main { max-width: 760px; }

/* CTA forum en fin de fiche */
.maladie-cta {
  margin-top: 48px;
  padding: 32px;
  background: var(--deep);
  color: var(--white);
  border-radius: var(--r-lg);
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.maladie-cta__text { flex: 1; min-width: 240px; }
.maladie-cta h2 {
  color: var(--white);
  margin: 0 0 8px;
  font-size: 22px;
}
.maladie-cta p { margin: 0; color: rgba(255,255,255,.85); }

.maladie-footer-nav {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

/* ─── Impression ─── */
@media print {
  .site-header,
  .site-footer,
  .notice-bar,
  .page-hero__actions,
  .maladie-toc,
  .maladie-cta,
  .maladie-footer-nav,
  .js-print-page,
  .breadcrumb { display: none !important; }

  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
  }
  .page-hero {
    background: #fff !important;
    color: #000 !important;
    padding: 0 0 16pt !important;
    border-bottom: 1px solid #000;
  }
  .page-hero__title { color: #000 !important; font-size: 22pt !important; margin: 0 0 6pt; }
  .page-hero__desc  { color: #333 !important; font-size: 11pt !important; }
  .maladie-meta     { color: #555 !important; margin-top: 6pt; }
  .badge            { border: 1px solid #999; background: transparent !important; color: #000 !important; }

  .container { max-width: 100% !important; padding: 0 !important; }
  .section   { padding: 12pt 0 !important; }
  .maladie-layout { display: block !important; }
  .maladie-main   { max-width: 100% !important; }
  .a-retenir {
    background: #f5f5f5 !important;
    border-left: 3px solid #000 !important;
    page-break-inside: avoid;
  }
  .notice-box {
    border: 1px solid #999 !important;
    background: #fafafa !important;
    page-break-inside: avoid;
  }
  .maladie-content h2 { page-break-after: avoid; color: #000 !important; }
  .maladie-content a[href]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
  .maladie-content a[href^="#"]::after,
  .maladie-content a[href^="/"]::after { content: ""; }
}

/* ════════════════════════════════════════════════════
   CHARTE DU FORUM
════════════════════════════════════════════════════ */
.forum-charte {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 22px 26px 22px 30px;
  margin: 0 0 28px;
  color: var(--text);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.forum-charte::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--cta), var(--lilac));
}
.forum-charte__head {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--deep);
  margin: 0 0 14px;
  font-family: 'Poppins', sans-serif;
  white-space: nowrap;
}
.forum-charte__head svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--cta);
}
.forum-charte__head strong {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.forum-charte__body {
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--text);
}
.forum-charte__body p { margin: 0 0 10px; }
.forum-charte__body p:last-child { margin-bottom: 0; }
.forum-charte__body ul {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}
.forum-charte__body li {
  position: relative;
  padding-left: 20px;
  margin: 8px 0;
  list-style: none;
}
.forum-charte__body li::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cta);
}
.forum-charte__body strong { color: var(--deep); font-weight: 600; }

/* ════════════════════════════════════════════════════
   BANDEAU COOKIES / RGPD
════════════════════════════════════════════════════ */
.cookie-banner {
  position: fixed;
  bottom: 16px;
  left: 16px;
  right: 16px;
  z-index: 9999;
  background: var(--deep);
  color: var(--white);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg);
  padding: 18px 22px;
  animation: cookie-fade-in 280ms ease;
}
.cookie-banner[hidden] { display: none; }
.cookie-banner__inner {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.cookie-banner__text {
  flex: 1;
  font-size: 14px;
  line-height: 1.6;
  min-width: 240px;
  color: rgba(255,255,255,.92);
}
.cookie-banner__text strong { color: var(--white); }
.cookie-banner__text a {
  color: var(--white);
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-left: 4px;
}
.cookie-banner__accept {
  background: var(--cta);
  color: var(--white);
  border: 0;
  border-radius: 8px;
  padding: 10px 22px;
  font: 600 14px/1 'Poppins', sans-serif;
  cursor: pointer;
  box-shadow: var(--shadow-cta);
  transition: background var(--t), transform var(--t);
}
.cookie-banner__accept:hover { background: var(--cta-h); transform: translateY(-1px); }
@keyframes cookie-fade-in {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 600px) {
  .cookie-banner { left: 8px; right: 8px; bottom: 8px; padding: 16px; }
  .cookie-banner__inner { gap: 14px; }
  .cookie-banner__accept { width: 100%; }
}
@media print { .cookie-banner { display: none !important; } }

/* ════════════════════════════════════════════════════
   THEME TOGGLE + MODE SOMBRE
════════════════════════════════════════════════════ */

/* Transitions douces lors du switch */
html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
body, .site-header, .site-footer, .section, .section--white, .section--bg, .section--deep,
.page-hero, .maladie-toc__inner, .a-retenir, .maladie-cta, .forum-charte, .notice-box,
.btn-secondary, .btn-outline, .cookie-banner, .badge, .card {
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}

/* Bouton toggle */
.theme-toggle {
  background: transparent;
  border: 1.5px solid var(--border);
  width: 36px; height: 36px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--mid);
  flex-shrink: 0;
  padding: 0;
}
.theme-toggle:hover { border-color: var(--lilac); color: var(--deep); }
.theme-toggle--mobile {
  grid-column: 1 / -1;
  width: 100%;
  height: auto;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--deep);
}
html[data-theme="dark"] .theme-toggle--mobile { color: var(--text); }
.theme-toggle__icon { width: 18px; height: 18px; }
.theme-toggle__icon--sun  { display: none; }
.theme-toggle__icon--moon { display: block; }
html[data-theme="dark"] .theme-toggle__icon--sun  { display: block; }
html[data-theme="dark"] .theme-toggle__icon--moon { display: none; }
html[data-theme="dark"] .theme-toggle:hover { color: var(--lilac); border-color: var(--lilac); }

/* ─── Variables dark mode ─── */
html[data-theme="dark"] {
  --bg:       #0E0918;
  --white:    #1F1830;
  --text:     #ECE6F4;
  --muted:    #A498B5;
  --pale:     #2B2042;
  --border:   #3A2D52;
  --divider:  #251A39;
  --light:    #6B4FA0;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.45);
  --shadow-md: 0 4px 20px rgba(0,0,0,.50);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.60);
}

/* Overrides spécifiques dark mode — variables ne suffisent pas partout */
html[data-theme="dark"] body { background: var(--bg); color: var(--text); }

/* Les boutons secondaires utilisent --deep en couleur (sombre par défaut) */
html[data-theme="dark"] .btn-secondary { color: var(--text); background: var(--white); }
html[data-theme="dark"] .btn-outline   { color: var(--lilac); border-color: var(--border); }
html[data-theme="dark"] .btn-outline:hover { background: var(--pale); border-color: var(--lilac); }

/* Titres : --deep est trop sombre comme couleur de texte */
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3,
html[data-theme="dark"] h4, html[data-theme="dark"] h5,
html[data-theme="dark"] .sec-header h2,
html[data-theme="dark"] .footer-brand__name,
html[data-theme="dark"] .footer-col__title { color: var(--text); }

/* Cartes claires sur fond sombre */
html[data-theme="dark"] .maladie-toc__inner {
  background: var(--pale);
  border-color: var(--border);
}
html[data-theme="dark"] .maladie-toc__nav a { color: var(--muted); }
html[data-theme="dark"] .maladie-toc__nav a:hover,
html[data-theme="dark"] .maladie-toc__nav a.is-active { color: var(--lilac); }
html[data-theme="dark"] .maladie-toc__nav a::before { color: var(--mid); }

html[data-theme="dark"] .a-retenir {
  background: linear-gradient(135deg, #1F1633 0%, #261B3D 100%);
  border-left-color: var(--cta);
}
html[data-theme="dark"] .a-retenir__title { color: var(--lilac); }
html[data-theme="dark"] .a-retenir li { color: var(--text); }

html[data-theme="dark"] .forum-charte {
  background: linear-gradient(135deg, #1F1633 0%, #261B3D 100%);
  color: var(--text);
}
html[data-theme="dark"] .forum-charte__head { color: var(--lilac); }

html[data-theme="dark"] .notice-box {
  background: var(--pale);
  border-color: var(--border);
  color: var(--text);
}

/* La page-hero garde son fond violet sombre (déjà dark) — pas d'override */

/* Section blanche → utilise --white qui devient sombre via la variable */
html[data-theme="dark"] .section--white { background: var(--white); }
html[data-theme="dark"] .section--bg    { background: var(--bg); }

/* Le contenu maladie en dark mode */
html[data-theme="dark"] .maladie-content { color: var(--text); }
html[data-theme="dark"] .maladie-content h2,
html[data-theme="dark"] .maladie-content h3 { color: var(--lilac); }
html[data-theme="dark"] .maladie-content strong { color: var(--white); }
html[data-theme="dark"] .maladie-content a { color: #B89AFF; }

/* Badges : leurs bg pastels deviennent sombres */
html[data-theme="dark"] .badge--purple { background: var(--pale); color: var(--lilac); }
html[data-theme="dark"] .badge--green  { background: #14361F; color: #6EE7A0; }
html[data-theme="dark"] .badge--blue   { background: #122140; color: #7FB1FF; }
html[data-theme="dark"] .badge--orange { background: #3A2412; color: #FFB280; }

/* Header reste sur fond clair → en dark, mettre fond sombre */
html[data-theme="dark"] .site-header { background: var(--white); border-bottom-color: var(--border); }
html[data-theme="dark"] .site-header.is-scrolled { background: rgba(24,18,33,.85); backdrop-filter: blur(12px); }
html[data-theme="dark"] .nav-link { color: var(--text); }
html[data-theme="dark"] .nav-link:hover, html[data-theme="dark"] .nav-link.active { color: var(--lilac); }

/* Mobile nav panel */
html[data-theme="dark"] .mobile-nav-panel { background: var(--white); border-color: var(--border); }
html[data-theme="dark"] .mobile-nav-links a { color: var(--text); }

/* Footer : déjà sombre, mais on ajuste */
html[data-theme="dark"] .site-footer { background: #0A0612; }

/* Inputs / formulaires */
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="url"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
  background: var(--pale);
  color: var(--text);
  border-color: var(--border);
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: var(--muted); }

/* Tableaux bbPress */
html[data-theme="dark"] .bbp-forums, html[data-theme="dark"] .bbp-topics,
html[data-theme="dark"] .bbp-replies, html[data-theme="dark"] .bbp-body {
  background: var(--white);
  border-color: var(--border);
  color: var(--text);
}
html[data-theme="dark"] .bbp-forum-info a, html[data-theme="dark"] .bbp-topic-permalink { color: var(--lilac); }

/* ════════════════════════════════════════════════════
   DARK MODE — OVERRIDES EXHAUSTIFS
════════════════════════════════════════════════════ */

/* ── Texte global ── */
html[data-theme="dark"] body,
html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] dd,
html[data-theme="dark"] dt,
html[data-theme="dark"] blockquote,
html[data-theme="dark"] figcaption,
html[data-theme="dark"] label,
html[data-theme="dark"] small { color: var(--text); }

/* Tous les titres en lilas clair pour la hiérarchie visuelle */
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3,
html[data-theme="dark"] h4, html[data-theme="dark"] h5, html[data-theme="dark"] h6 { color: var(--lilac); }

/* Liens par défaut */
html[data-theme="dark"] a { color: #B89AFF; }
html[data-theme="dark"] a:hover { color: var(--lilac); }

/* ── Contenu d'articles (combat les !important existants) ── */
html[data-theme="dark"] .post-content,
html[data-theme="dark"] .post-content p,
html[data-theme="dark"] .post-content li,
html[data-theme="dark"] .post-content .wp-block-paragraph { color: var(--text) !important; }
html[data-theme="dark"] .post-content h1,
html[data-theme="dark"] .post-content h2,
html[data-theme="dark"] .post-content h3,
html[data-theme="dark"] .post-content h4,
html[data-theme="dark"] .post-content .wp-block-heading { color: var(--lilac) !important; }
html[data-theme="dark"] .post-content strong { color: #fff !important; }
html[data-theme="dark"] .post-content a { color: #B89AFF !important; }
html[data-theme="dark"] .post-content blockquote { background: var(--pale); border-color: var(--cta); }

/* ── Headers de section & labels ── */
html[data-theme="dark"] .sec-header h2,
html[data-theme="dark"] .sec-header__label,
html[data-theme="dark"] .stat-val,
html[data-theme="dark"] .feature-item__title,
html[data-theme="dark"] .actu-card__title,
html[data-theme="dark"] .event-card__title,
html[data-theme="dark"] .partner-card__name,
html[data-theme="dark"] .val-card__title,
html[data-theme="dark"] .soutenir-impact-card h3,
html[data-theme="dark"] .soutenir-usage-amount,
html[data-theme="dark"] .soutenir-usage-item__label,
html[data-theme="dark"] .footer-iban__number { color: var(--lilac) !important; }

html[data-theme="dark"] .stat-lbl,
html[data-theme="dark"] .sec-header__kicker,
html[data-theme="dark"] .feature-item__icon svg,
html[data-theme="dark"] .actu-card__meta,
html[data-theme="dark"] .event-card__meta,
html[data-theme="dark"] .author-name { color: var(--muted) !important; }

/* ── Hero page d'accueil ── */
/* .hero garde son fond sombre — le contenu reste blanc */
html[data-theme="dark"] .hero__title { color: #fff; }
html[data-theme="dark"] .hero__desc { color: rgba(255,255,255,.7); }
html[data-theme="dark"] .hero__stat-inline-val { color: #fff; }
html[data-theme="dark"] .hero__stat-inline-lbl { color: rgba(255,255,255,.6); }

/* ── Cards génériques ── */
html[data-theme="dark"] .card,
html[data-theme="dark"] .actu-card,
html[data-theme="dark"] .event-card,
html[data-theme="dark"] .partner-card,
html[data-theme="dark"] .val-card,
html[data-theme="dark"] .feature-item,
html[data-theme="dark"] .soutenir-impact-card,
html[data-theme="dark"] .soutenir-usage-item,
html[data-theme="dark"] .stat-card {
  background: var(--white);
  border-color: var(--border);
  color: var(--text);
}
html[data-theme="dark"] .card:hover,
html[data-theme="dark"] .actu-card:hover,
html[data-theme="dark"] .event-card:hover {
  border-color: var(--lilac);
  box-shadow: var(--shadow-md);
}

/* ── Headers de page (.page-hero garde son fond violet sombre) ── */
html[data-theme="dark"] .page-hero { background: linear-gradient(180deg, #1A1033 0%, #0F0820 100%); }
html[data-theme="dark"] .page-hero__title { color: #fff; }
html[data-theme="dark"] .page-hero__desc  { color: rgba(255,255,255,.6); }

/* ── Navigation : liens actifs et hover ── */
html[data-theme="dark"] .nav-link:hover,
html[data-theme="dark"] .nav-link.active,
html[data-theme="dark"] .current-menu-item > .nav-link,
html[data-theme="dark"] .current_page_item > .nav-link { color: var(--lilac); }

html[data-theme="dark"] .mobile-nav-panel a { color: var(--text); border-color: var(--border); }
html[data-theme="dark"] .mobile-nav-panel a:hover,
html[data-theme="dark"] .mobile-nav-panel a.is-active {
  background: var(--pale);
  border-color: var(--cta);
  color: var(--lilac);
}

/* ── Formulaires ── */
html[data-theme="dark"] .form-label { color: var(--lilac); }
html[data-theme="dark"] .form-input,
html[data-theme="dark"] .form-input:focus { color: var(--text); background: var(--pale); border-color: var(--border); }
html[data-theme="dark"] .form-input:focus { border-color: var(--cta); }
html[data-theme="dark"] .form-help { color: var(--muted); }
html[data-theme="dark"] .form-error-msg { background: rgba(239,68,68,.1); color: #fca5a5; }
html[data-theme="dark"] .form-input.is-error { border-color: #ef4444; }

/* ── Badges hardcodés ── */
html[data-theme="dark"] .badge--blue   { background: #122140; color: #7FB1FF; }
html[data-theme="dark"] .badge--orange { background: #3A2412; color: #FFB280; }
html[data-theme="dark"] .badge--green  { background: #14361F; color: #6EE7A0; }

/* ── Hardcoded #26164f (deep purple text) ── */
html[data-theme="dark"] [style*="color:#26164f"],
html[data-theme="dark"] .hero__title,
html[data-theme="dark"] .sec-title { color: #fff !important; }

/* ── Inline color:#C9B8E8 dans front-page (label hero) — déjà clair ok ── */

/* ── Tables WordPress (admin-like) ── */
html[data-theme="dark"] table { color: var(--text); }
html[data-theme="dark"] table th, html[data-theme="dark"] table td { border-color: var(--border); }

/* ── bbPress avancé ── */
html[data-theme="dark"] #bbpress-forums { background: transparent; color: var(--text); }
html[data-theme="dark"] #bbpress-forums li.bbp-header,
html[data-theme="dark"] #bbpress-forums li.bbp-footer { background: var(--pale); border-color: var(--border); color: var(--lilac); }
html[data-theme="dark"] #bbpress-forums li.bbp-body ul.forum,
html[data-theme="dark"] #bbpress-forums li.bbp-body ul.topic,
html[data-theme="dark"] #bbpress-forums li.bbp-body ul.reply { background: var(--white); border-color: var(--border); }
html[data-theme="dark"] #bbpress-forums li.bbp-body ul.forum:nth-child(even),
html[data-theme="dark"] #bbpress-forums li.bbp-body ul.topic:nth-child(even) { background: var(--pale); }
html[data-theme="dark"] #bbpress-forums .bbp-forum-title,
html[data-theme="dark"] #bbpress-forums .bbp-topic-permalink,
html[data-theme="dark"] #bbpress-forums a.bbp-forum-title,
html[data-theme="dark"] #bbpress-forums a.bbp-topic-permalink { color: var(--lilac); }
html[data-theme="dark"] #bbpress-forums div.bbp-forum-content,
html[data-theme="dark"] #bbpress-forums div.bbp-topic-content,
html[data-theme="dark"] #bbpress-forums div.bbp-reply-content { color: var(--text); }
html[data-theme="dark"] #bbpress-forums div.bbp-template-notice { background: var(--pale); border-color: var(--cta); color: var(--text); }
html[data-theme="dark"] #bbpress-forums fieldset.bbp-form { background: var(--white); border-color: var(--border); }
html[data-theme="dark"] #bbpress-forums fieldset.bbp-form legend { color: var(--lilac); }
html[data-theme="dark"] #bbpress-forums input[type="text"],
html[data-theme="dark"] #bbpress-forums input[type="password"],
html[data-theme="dark"] #bbpress-forums input[type="email"],
html[data-theme="dark"] #bbpress-forums textarea,
html[data-theme="dark"] #bbpress-forums select { background: var(--pale); color: var(--text); border-color: var(--border); }

/* ── Trust banners, dividers, separators ── */
html[data-theme="dark"] .hero__trust { color: rgba(255,255,255,.6); }
html[data-theme="dark"] hr, html[data-theme="dark"] .divider { border-color: var(--border); background: var(--border); }

/* ── Code et pre ── */
html[data-theme="dark"] code, html[data-theme="dark"] pre { background: var(--pale); color: var(--lilac); }

/* ── Tooltips et popovers ── */
html[data-theme="dark"] .tooltip, html[data-theme="dark"] .popover { background: var(--white); color: var(--text); border-color: var(--border); }

/* ── Recherche / search form ── */
html[data-theme="dark"] .search-form input[type="search"],
html[data-theme="dark"] .bbp-search-form input { background: var(--pale); color: var(--text); border-color: var(--border); }

/* ── Notice-bar (déjà sombre, ajusté légèrement) ── */
html[data-theme="dark"] .notice-bar { background: linear-gradient(90deg, #1F0F33 0%, #0F0820 100%); border-bottom-color: var(--border); }

/* ── Pagination ── */
html[data-theme="dark"] #bbpress-forums .bbp-pagination-links a,
html[data-theme="dark"] .pagination a { background: var(--pale); color: var(--text); border-color: var(--border); }
html[data-theme="dark"] #bbpress-forums .bbp-pagination-links a:hover,
html[data-theme="dark"] .pagination a:hover { background: var(--white); color: var(--lilac); }

/* ════════════════════════════════════════════════════
   DARK MODE — CORRECTIFS NAVBAR & PAGES LISTING
════════════════════════════════════════════════════ */

/* ── Navbar ── */
html[data-theme="dark"] .site-header {
  background: rgba(31,24,48,.85);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
html[data-theme="dark"] .site-header.is-scrolled {
  background: rgba(20,15,30,.92);
}
html[data-theme="dark"] .logo__name { color: var(--text); }
html[data-theme="dark"] .logo__sub  { color: var(--muted); }
html[data-theme="dark"] .header-nav-shell { background: rgba(180,150,230,.06); }
html[data-theme="dark"] .nav-link { color: rgba(236,230,244,.78); }
html[data-theme="dark"] .nav-link:hover,
html[data-theme="dark"] .nav-link.active { color: var(--lilac); }

html[data-theme="dark"] .header-username {
  background: linear-gradient(135deg, rgba(180,150,230,.16), rgba(124,58,237,.08));
  border-color: rgba(180,150,230,.22);
  color: var(--lilac);
}
html[data-theme="dark"] .header-actions .btn-outline,
html[data-theme="dark"] .header-actions .btn-secondary {
  border-color: rgba(180,150,230,.22);
  color: var(--text);
  background: rgba(180,150,230,.04);
}
html[data-theme="dark"] .header-actions .btn-outline:hover,
html[data-theme="dark"] .header-actions .btn-secondary:hover {
  border-color: var(--lilac);
  color: var(--lilac);
  background: rgba(180,150,230,.1);
}
html[data-theme="dark"] .nav-toggle {
  color: var(--text);
  background: var(--pale);
  border-color: var(--border);
  box-shadow: none;
}
html[data-theme="dark"] .nav-toggle:hover {
  border-color: var(--lilac);
  color: var(--lilac);
}

/* ── Page Forum ── */
html[data-theme="dark"] .forum-panel {
  background:
    linear-gradient(180deg, rgba(31,24,48,.95), rgba(43,32,66,.92)),
    radial-gradient(circle at top left, rgba(124,58,237,.10), transparent 40%);
  border-color: var(--border);
  box-shadow: 0 28px 70px rgba(0,0,0,.5);
}
html[data-theme="dark"] .forum-intro-card {
  background: linear-gradient(135deg, #2A1B4A, #3D2470);
  color: var(--text);
  box-shadow: 0 24px 50px rgba(0,0,0,.4);
}
html[data-theme="dark"] .forum-intro-card:nth-child(2) {
  background: linear-gradient(135deg, var(--white), var(--pale));
  color: var(--text);
  border-color: var(--border);
  box-shadow: 0 24px 50px rgba(0,0,0,.35);
}
html[data-theme="dark"] .forum-intro-card h2 { color: var(--lilac); }
html[data-theme="dark"] .forum-intro-card p { color: rgba(236,230,244,.85); }
html[data-theme="dark"] .forum-intro-card__eyebrow {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.78);
}
html[data-theme="dark"] .forum-intro-card:nth-child(2) .forum-intro-card__eyebrow {
  background: rgba(180,150,230,.14);
  color: var(--lilac);
}
html[data-theme="dark"] .forum-login-notice {
  background: var(--pale);
  border-left-color: var(--cta);
}
html[data-theme="dark"] .forum-login-notice p { color: var(--text); }
html[data-theme="dark"] .forum-login-notice a { color: var(--lilac); }

/* ── Page Maladies (listing) ── */
html[data-theme="dark"] .maladies-search__input {
  background: var(--pale);
  color: var(--text);
  border-color: var(--border);
}
html[data-theme="dark"] .maladies-search__input:focus { border-color: var(--cta); }
html[data-theme="dark"] .maladies-search__input::placeholder { color: var(--muted); }

html[data-theme="dark"] .disease-card,
html[data-theme="dark"] .maladie-card {
  background: var(--white);
  border-color: var(--border);
  color: var(--text);
}
html[data-theme="dark"] .disease-card:hover,
html[data-theme="dark"] .maladie-card:hover {
  border-color: var(--lilac);
  background: var(--pale);
  box-shadow: var(--shadow-md);
}
html[data-theme="dark"] .disease-card__title,
html[data-theme="dark"] .maladie-card__title { color: var(--lilac); }
html[data-theme="dark"] .disease-card__excerpt,
html[data-theme="dark"] .maladie-card__excerpt { color: var(--muted); }

/* ── Filtres Actualités ── */
html[data-theme="dark"] .actu-filter-bar {
  background: rgba(31,24,48,.92);
  backdrop-filter: blur(8px);
  border-bottom-color: var(--border);
}
html[data-theme="dark"] .actu-filter-pill {
  background: var(--pale);
  color: var(--text);
}
html[data-theme="dark"] .actu-filter-pill:hover {
  background: var(--white);
  border-color: var(--lilac);
  color: var(--lilac);
}
html[data-theme="dark"] .actu-filter-pill.is-active {
  background: var(--cta);
  border-color: var(--cta);
  color: #fff;
}
html[data-theme="dark"] .actu-filter-count { opacity: .75; }

/* ── Eyebrow / labels ── */
html[data-theme="dark"] .eyebrow { color: var(--muted); }

/* ── Mobile nav panel ── */
html[data-theme="dark"] .mobile-nav-panel { background: var(--white); border-color: var(--border); }
html[data-theme="dark"] .mobile-nav-panel a {
  background: var(--pale);
  border-color: transparent;
  color: var(--text);
}
html[data-theme="dark"] .mobile-nav-panel a.is-active,
html[data-theme="dark"] .mobile-nav-panel a:hover {
  background: linear-gradient(135deg, rgba(124,58,237,.2), rgba(180,150,230,.1));
  border-color: rgba(180,150,230,.3);
  color: var(--lilac);
}

/* ── notice-bar (haut de page) ── */
html[data-theme="dark"] .notice-bar { background: linear-gradient(90deg, #2A1B4A 0%, #1A0F33 100%); }

/* ════════════════════════════════════════════════════
   DARK MODE — FORÇAGE des fonds blancs hardcodés
════════════════════════════════════════════════════ */

/* ── BODY (couleur hardcodée à la racine) ── */
html[data-theme="dark"] body {
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* ── Section blanche (force) ── */
html[data-theme="dark"] .section--white { background: var(--bg) !important; }
html[data-theme="dark"] .section--bg    { background: #0A0612 !important; }

/* ── NAVBAR — toutes surfaces blanches ── */
html[data-theme="dark"] .site-header {
  background: rgba(20,15,32,.92) !important;
  border-bottom-color: var(--border) !important;
}
html[data-theme="dark"] .main-nav { box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
html[data-theme="dark"] .nav-link:hover { background: rgba(180,150,230,.1) !important; color: var(--lilac) !important; }
html[data-theme="dark"] .header-actions .btn-outline,
html[data-theme="dark"] .header-actions .btn-secondary {
  background: rgba(180,150,230,.06) !important;
  border-color: rgba(180,150,230,.22) !important;
  color: var(--text) !important;
}
html[data-theme="dark"] .header-actions .btn-outline:hover,
html[data-theme="dark"] .header-actions .btn-secondary:hover {
  background: rgba(180,150,230,.14) !important;
  border-color: var(--lilac) !important;
  color: var(--lilac) !important;
}

/* ── Mobile nav panel (blanc hardcodé) ── */
html[data-theme="dark"] .mobile-nav-panel__inner {
  background: linear-gradient(180deg, var(--white), var(--pale)) !important;
}
html[data-theme="dark"] .mobile-nav-panel a {
  background: rgba(180,150,230,.06) !important;
  color: var(--text) !important;
}

/* ── FORUM — barre recherche & panel ── */
html[data-theme="dark"] .forum-search-card {
  background:
    linear-gradient(180deg, rgba(31,24,48,.98), rgba(43,32,66,.92)),
    radial-gradient(circle at top left, rgba(124,58,237,.18), transparent 42%) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .forum-search-card input[type="text"],
html[data-theme="dark"] #bbp_search {
  background: var(--pale) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .forum-search-card input::placeholder { color: var(--muted) !important; }
html[data-theme="dark"] .forum-panel {
  background:
    linear-gradient(180deg, rgba(31,24,48,.95), rgba(43,32,66,.88)),
    radial-gradient(circle at top left, rgba(124,58,237,.1), transparent 40%) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .forum-toolbar {
  background:
    linear-gradient(180deg, rgba(31,24,48,.98), rgba(43,32,66,.92)),
    radial-gradient(circle at top left, rgba(124,58,237,.14), transparent 38%) !important;
  border-color: var(--border) !important;
}

/* ── Forum intro cards (la 2e était #ffffff en dur) ── */
html[data-theme="dark"] .forum-intro-card:nth-child(2) {
  background: linear-gradient(135deg, var(--white), var(--pale)) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .forum-intro-card:nth-child(2) h2 { color: var(--lilac) !important; }
html[data-theme="dark"] .forum-intro-card:nth-child(2) p  { color: var(--text) !important; }

/* ── PAGES MALADIES — fond et cards ── */
html[data-theme="dark"] .maladie-content-section,
html[data-theme="dark"] section.section.section--white { background: var(--bg) !important; }

/* Cards maladies sur listing */
html[data-theme="dark"] .disease-card,
html[data-theme="dark"] .maladie-card,
html[data-theme="dark"] .card {
  background: var(--white) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* ── Reply cards (forum) ── */
html[data-theme="dark"] .forum-reply-card,
html[data-theme="dark"] .forum-reply-card__body {
  background: var(--white) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* ── Partner cards (blanc dur en accueil) ── */
html[data-theme="dark"] .partner-card__logo {
  background: var(--white) !important;
  border-color: var(--border) !important;
}

/* ── Page hero spécifique : fond plus sombre ── */
html[data-theme="dark"] .page-hero {
  background:
    linear-gradient(180deg, #1A0F2E 0%, #0F0820 100%),
    radial-gradient(ellipse 700px 400px at 100% 50%, rgba(147,51,234,.18) 0%, transparent 65%) !important;
}

/* ════════════════════════════════════════════════════
   DARK MODE — PAGINATION & DISEASE CARDS LISTING
════════════════════════════════════════════════════ */

/* Pagination WordPress native (page maladies, archives, actualités) */
html[data-theme="dark"] .pagination .page-numbers,
html[data-theme="dark"] .page-item {
  background: var(--pale) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
html[data-theme="dark"] .pagination .page-numbers:hover,
html[data-theme="dark"] .page-item:hover {
  background: var(--white) !important;
  border-color: var(--lilac) !important;
  color: var(--lilac) !important;
}
html[data-theme="dark"] .pagination .page-numbers.current,
html[data-theme="dark"] .page-item.is-active {
  background: var(--cta) !important;
  border-color: var(--cta) !important;
  color: #fff !important;
}

/* Disease cards : h3 (titre) et p (excerpt) en couleur claire */
html[data-theme="dark"] .disease-card h3,
html[data-theme="dark"] .disease-card h2,
html[data-theme="dark"] .disease-card__title { color: var(--lilac) !important; }
html[data-theme="dark"] .disease-card p,
html[data-theme="dark"] .disease-card__excerpt { color: var(--muted) !important; }
html[data-theme="dark"] .disease-card:hover { border-color: var(--lilac) !important; }

/* News cards et article cards (page actualités) */
html[data-theme="dark"] .news-card,
html[data-theme="dark"] .article-card {
  background: var(--white) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .news-card h3,
html[data-theme="dark"] .news-card__title,
html[data-theme="dark"] .article-card h3,
html[data-theme="dark"] .article-card__title { color: var(--lilac) !important; }
html[data-theme="dark"] .news-card p,
html[data-theme="dark"] .news-card__excerpt,
html[data-theme="dark"] .article-card p,
html[data-theme="dark"] .article-card__excerpt { color: var(--muted) !important; }

/* Sec-header titres (h2 sous-section) */
html[data-theme="dark"] .sec-header h2 { color: var(--lilac) !important; }
html[data-theme="dark"] .sec-header p { color: var(--muted) !important; }
html[data-theme="dark"] .eyebrow { color: var(--muted) !important; }

/* ════════════════════════════════════════════════════
   DARK MODE — fond blanc du contenu article/maladie
════════════════════════════════════════════════════ */
html[data-theme="dark"] .post-content,
html[data-theme="dark"] .maladie-content,
html[data-theme="dark"] .maladie-content-section {
  background: transparent !important;
  color: var(--text) !important;
}
html[data-theme="dark"] .post-content { background: transparent !important; }

/* ════════════════════════════════════════════════════
   DARK MODE — Pilule de navigation (.main-nav)
════════════════════════════════════════════════════ */
html[data-theme="dark"] .main-nav {
  background: rgba(180,150,230,.08) !important;
  border-color: rgba(180,150,230,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html[data-theme="dark"] .nav-link {
  color: rgba(236,230,244,.78) !important;
}
html[data-theme="dark"] .nav-link.active,
html[data-theme="dark"] .nav-link:hover {
  background: rgba(180,150,230,.18) !important;
  color: var(--lilac) !important;
}

/* Retirer le rectangle autour de la pilule nav */
html[data-theme="dark"] .header-nav-shell { background: transparent !important; }

/* ════════════════════════════════════════════════════
   DARK MODE — Force texte lisible partout (couche large)
════════════════════════════════════════════════════ */

/* Forcer toutes les couleurs hardcodées sombres à être claires */
html[data-theme="dark"] *[style*="color:#2C2440"],
html[data-theme="dark"] *[style*="color:#3D2470"],
html[data-theme="dark"] *[style*="color:#26164f"],
html[data-theme="dark"] *[style*="color:#000"],
html[data-theme="dark"] *[style*="color: #2C2440"],
html[data-theme="dark"] *[style*="color: #3D2470"] { color: var(--text) !important; }

/* Conteneurs de contenu : forcer texte clair */
html[data-theme="dark"] article,
html[data-theme="dark"] section,
html[data-theme="dark"] .container,
html[data-theme="dark"] .content,
html[data-theme="dark"] .page-content,
html[data-theme="dark"] .entry-content,
html[data-theme="dark"] .wp-block-group,
html[data-theme="dark"] .wp-block-column { color: var(--text); }

/* Tous les éléments texte génériques qui utilisent --deep ou des couleurs sombres */
html[data-theme="dark"] .form-label,
html[data-theme="dark"] .form-group label,
html[data-theme="dark"] .field-label,
html[data-theme="dark"] .input-label,
html[data-theme="dark"] label,
html[data-theme="dark"] .label,
html[data-theme="dark"] dt,
html[data-theme="dark"] dd,
html[data-theme="dark"] caption,
html[data-theme="dark"] th,
html[data-theme="dark"] td,
html[data-theme="dark"] .meta,
html[data-theme="dark"] .meta-item,
html[data-theme="dark"] .date,
html[data-theme="dark"] .category,
html[data-theme="dark"] .tag,
html[data-theme="dark"] .author,
html[data-theme="dark"] .info,
html[data-theme="dark"] .description,
html[data-theme="dark"] .text,
html[data-theme="dark"] .body,
html[data-theme="dark"] .content-text,
html[data-theme="dark"] span:not([class*="badge"]):not([class*="dot"]):not([class*="icon"]):not([class*="sep"]) { color: inherit; }

/* Cards génériques : tous les textes en clair */
html[data-theme="dark"] .card *,
html[data-theme="dark"] .news-card *,
html[data-theme="dark"] .article-card *,
html[data-theme="dark"] .disease-card *,
html[data-theme="dark"] .maladie-card *,
html[data-theme="dark"] .event-card *,
html[data-theme="dark"] .partner-card *,
html[data-theme="dark"] .val-card *,
html[data-theme="dark"] .feature-item *,
html[data-theme="dark"] .stat-card *,
html[data-theme="dark"] .forum-reply-card *,
html[data-theme="dark"] .soutenir-impact-card *,
html[data-theme="dark"] .soutenir-usage-item * { color: inherit; }

/* Forcer la couleur de base de la card */
html[data-theme="dark"] .card,
html[data-theme="dark"] .news-card,
html[data-theme="dark"] .article-card,
html[data-theme="dark"] .disease-card,
html[data-theme="dark"] .maladie-card,
html[data-theme="dark"] .event-card,
html[data-theme="dark"] .partner-card,
html[data-theme="dark"] .val-card,
html[data-theme="dark"] .feature-item,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .forum-reply-card,
html[data-theme="dark"] .soutenir-impact-card,
html[data-theme="dark"] .soutenir-usage-item { color: var(--text) !important; }

/* Headings dans cards : lilas */
html[data-theme="dark"] .card h1, html[data-theme="dark"] .card h2, html[data-theme="dark"] .card h3, html[data-theme="dark"] .card h4,
html[data-theme="dark"] .news-card h1, html[data-theme="dark"] .news-card h2, html[data-theme="dark"] .news-card h3,
html[data-theme="dark"] .article-card h1, html[data-theme="dark"] .article-card h2, html[data-theme="dark"] .article-card h3,
html[data-theme="dark"] .disease-card h1, html[data-theme="dark"] .disease-card h2, html[data-theme="dark"] .disease-card h3,
html[data-theme="dark"] .event-card h1, html[data-theme="dark"] .event-card h2, html[data-theme="dark"] .event-card h3 { color: var(--lilac) !important; }

/* Templates personnalisés (inscription, connexion, soutenir, etc.) */
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .login-card,
html[data-theme="dark"] .signup-card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .box,
html[data-theme="dark"] .surface,
html[data-theme="dark"] .surface-card { background: var(--white) !important; color: var(--text) !important; border-color: var(--border) !important; }

html[data-theme="dark"] .auth-card *,
html[data-theme="dark"] .login-card *,
html[data-theme="dark"] .signup-card *,
html[data-theme="dark"] .form-card *,
html[data-theme="dark"] .panel *,
html[data-theme="dark"] .box *,
html[data-theme="dark"] .surface *,
html[data-theme="dark"] .surface-card * { color: inherit; }

html[data-theme="dark"] .auth-card h1, html[data-theme="dark"] .auth-card h2, html[data-theme="dark"] .auth-card h3,
html[data-theme="dark"] .login-card h1, html[data-theme="dark"] .login-card h2,
html[data-theme="dark"] .signup-card h1, html[data-theme="dark"] .signup-card h2,
html[data-theme="dark"] .surface-card h1, html[data-theme="dark"] .surface-card h2, html[data-theme="dark"] .surface-card h3 { color: var(--lilac) !important; }

/* Strong / b dans contenu général */
html[data-theme="dark"] p strong,
html[data-theme="dark"] p b,
html[data-theme="dark"] li strong,
html[data-theme="dark"] li b { color: #fff !important; }

/* Texte général dans le main */
html[data-theme="dark"] main, html[data-theme="dark"] main p, html[data-theme="dark"] main li,
html[data-theme="dark"] main span, html[data-theme="dark"] main div { color: var(--text); }

/* Mais préserver les couleurs des badges, CTAs, status */
html[data-theme="dark"] .badge,
html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .btn-primary *,
html[data-theme="dark"] .page-hero,
html[data-theme="dark"] .page-hero *,
html[data-theme="dark"] .hero,
html[data-theme="dark"] .hero *,
html[data-theme="dark"] .site-footer,
html[data-theme="dark"] .site-footer *,
html[data-theme="dark"] .maladie-cta,
html[data-theme="dark"] .maladie-cta *,
html[data-theme="dark"] .forum-intro-card:first-child,
html[data-theme="dark"] .forum-intro-card:first-child *,
html[data-theme="dark"] .notice-bar,
html[data-theme="dark"] .notice-bar *,
html[data-theme="dark"] .cookie-banner,
html[data-theme="dark"] .cookie-banner * { /* on ne touche pas — bg sombres préservent leur texte blanc */ }

/* ════════════════════════════════════════════════════
   DARK MODE — Boutons outline (Imprimer/PDF etc.)
════════════════════════════════════════════════════ */
html[data-theme="dark"] .btn-outline-white {
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important;
  background: transparent !important;
}
html[data-theme="dark"] .btn-outline-white:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.55) !important;
}

html[data-theme="dark"] .btn-outline {
  color: var(--lilac) !important;
  border-color: var(--border) !important;
  background: rgba(180,150,230,.04) !important;
}
html[data-theme="dark"] .btn-outline:hover {
  background: rgba(180,150,230,.14) !important;
  border-color: var(--lilac) !important;
  color: #fff !important;
}

/* Bouton secondaire (utilisé un peu partout pour retour) */
html[data-theme="dark"] .btn-secondary {
  background: var(--white) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .btn-secondary:hover {
  border-color: var(--lilac) !important;
  color: var(--lilac) !important;
}

/* Notice-bar texte en clair (utilisait var(--white) qui devient sombre) */
html[data-theme="dark"] .notice-bar,
html[data-theme="dark"] .notice-bar__text { color: #fff !important; }
html[data-theme="dark"] .notice-bar__close { color: rgba(255,255,255,.5) !important; }
html[data-theme="dark"] .notice-bar__close:hover { color: #fff !important; }

/* ════════════════════════════════════════════════════
   DARK MODE — Fix charte forum (encadré, puces, titre)
════════════════════════════════════════════════════ */
html[data-theme="dark"] .forum-charte {
  background: linear-gradient(135deg, #261A40 0%, #2F2150 100%) !important;
  border-left: 4px solid var(--cta) !important;
  color: var(--text) !important;
  padding: 18px 22px !important;
  margin: 0 0 28px !important;
}
html[data-theme="dark"] .forum-charte__head {
  color: var(--lilac) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}
html[data-theme="dark"] .forum-charte__head strong { color: var(--lilac) !important; }
html[data-theme="dark"] .forum-charte__head svg { color: var(--lilac) !important; }
html[data-theme="dark"] .forum-charte__body { color: var(--text) !important; }
html[data-theme="dark"] .forum-charte__body p { color: var(--text) !important; margin: 0 0 8px !important; }
html[data-theme="dark"] .forum-charte__body strong { color: #fff !important; }
html[data-theme="dark"] .forum-charte__body ul {
  list-style: disc !important;
  padding-left: 22px !important;
  margin: 8px 0 !important;
}
html[data-theme="dark"] .forum-charte__body li {
  list-style: disc !important;
  color: var(--text) !important;
  margin: 4px 0 !important;
  display: list-item !important;
}

/* Pareil en light mode si les puces n'apparaissent pas (correction globale) */
.forum-charte__body ul { list-style: disc; padding-left: 22px; }
.forum-charte__body li { list-style: disc; display: list-item; }

/* ════════════════════════════════════════════════════
   DARK MODE — Simplifier la barre de recherche forum
   (pas d'encadré redondant autour)
════════════════════════════════════════════════════ */
html[data-theme="dark"] .forum-search-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 8px !important;
}
html[data-theme="dark"] .forum-search-card::after { display: none !important; }
html[data-theme="dark"] #bbp-search-form > div {
  display: flex;
  gap: 10px;
  align-items: stretch;
}
html[data-theme="dark"] #bbp_search {
  flex: 1;
  padding: 12px 18px !important;
  background: var(--pale) !important;
  color: var(--text) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 12px !important;
  font-size: 14px !important;
}
html[data-theme="dark"] #bbp_search:focus {
  border-color: var(--cta) !important;
  outline: none !important;
}
html[data-theme="dark"] #bbp_search::placeholder { color: var(--muted) !important; }
html[data-theme="dark"] #bbp_search_submit {
  padding: 12px 24px !important;
  background: var(--cta) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background var(--t) !important;
}
html[data-theme="dark"] #bbp_search_submit:hover { background: var(--cta-h) !important; }

/* ════════════════════════════════════════════════════
   DARK MODE — Charte forum (synchronisé avec nouveau design)
════════════════════════════════════════════════════ */
html[data-theme="dark"] .forum-charte {
  background: var(--white) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.3) !important;
}
html[data-theme="dark"] .forum-charte__head { color: var(--lilac) !important; }
html[data-theme="dark"] .forum-charte__head strong { color: var(--lilac) !important; }
html[data-theme="dark"] .forum-charte__head svg { color: var(--cta) !important; }
html[data-theme="dark"] .forum-charte__body,
html[data-theme="dark"] .forum-charte__body p,
html[data-theme="dark"] .forum-charte__body li { color: var(--text) !important; }
html[data-theme="dark"] .forum-charte__body strong { color: #fff !important; }
html[data-theme="dark"] .forum-charte__body li::before { background: var(--cta) !important; }


/* ════════════════════════════════════════════════════
   DARK MODE — Forum : surfaces personnalisées (correctif complet)
   Cartes forum / sujet / message / réponse + sous-éléments
   qui gardaient un fond blanc codé en dur (texte clair illisible).
════════════════════════════════════════════════════ */

/* ── Cartes principales ── */
html[data-theme="dark"] .forum-card,
html[data-theme="dark"] .forum-topic-card,
html[data-theme="dark"] .forum-lead-card,
html[data-theme="dark"] .forum-reply-card {
  background:
    linear-gradient(180deg, rgba(31,24,48,.98), rgba(43,32,66,.92)),
    radial-gradient(circle at top left, rgba(124,58,237,.12), transparent 42%) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
  box-shadow: 0 22px 48px rgba(0,0,0,.45) !important;
}
html[data-theme="dark"] .forum-card:hover,
html[data-theme="dark"] .forum-topic-card:hover,
html[data-theme="dark"] .forum-lead-card:hover,
html[data-theme="dark"] .forum-reply-card:hover {
  border-color: rgba(180,150,230,.40) !important;
  box-shadow: 0 30px 60px rgba(0,0,0,.55) !important;
}
html[data-theme="dark"] .forum-lead-card__body,
html[data-theme="dark"] .forum-reply-card__body { background: transparent !important; }

/* ── Titres de cartes ── */
html[data-theme="dark"] .forum-card__title,
html[data-theme="dark"] .forum-topic-card__title {
  color: var(--text) !important;
  text-shadow: none !important;
}
html[data-theme="dark"] .forum-card__title:hover,
html[data-theme="dark"] .forum-topic-card__title:hover,
html[data-theme="dark"] .forum-topic-card:hover .forum-topic-card__title { color: var(--lilac) !important; }

/* ── Descriptions / métas secondaires ── */
html[data-theme="dark"] .forum-card__content,
html[data-theme="dark"] .forum-toolbar__desc,
html[data-theme="dark"] .forum-topic-card__meta,
html[data-theme="dark"] .forum-card__freshness-author,
html[data-theme="dark"] .forum-topic-card__activity-author,
html[data-theme="dark"] .forum-topic-card__activity-label,
html[data-theme="dark"] .forum-post-meta__date { color: var(--muted) !important; }
html[data-theme="dark"] .forum-topic-card__meta a,
html[data-theme="dark"] .forum-card__freshness-time a,
html[data-theme="dark"] .forum-topic-card__activity-time a { color: var(--text) !important; }
html[data-theme="dark"] .forum-topic-card__meta a:hover { color: var(--lilac) !important; }

/* ── Pastilles de stats & sous-encadrés (étaient blancs) ── */
html[data-theme="dark"] .forum-stat-pill,
html[data-theme="dark"] .forum-toolbar__stat,
html[data-theme="dark"] .forum-card__freshness,
html[data-theme="dark"] .forum-topic-card__activity {
  background: rgba(180,150,230,.08) !important;
  border-color: var(--border) !important;
  color: var(--muted) !important;
}
html[data-theme="dark"] .forum-toolbar__stat strong { color: var(--text) !important; }

/* ── Compteur de réponses (carte sujet) ── */
html[data-theme="dark"] .forum-topic-card__count {
  background: linear-gradient(135deg, rgba(124,58,237,.22), rgba(124,58,237,.06)) !important;
  border-color: rgba(180,150,230,.28) !important;
}
html[data-theme="dark"] .forum-topic-card__count-value { color: var(--lilac) !important; }
html[data-theme="dark"] .forum-topic-card__count-label { color: var(--muted) !important; }

/* ── Badges & libellés (Sujet, Épinglé, Réponse, rôle auteur, #ancre) ── */
html[data-theme="dark"] .forum-topic-card__badge,
html[data-theme="dark"] .forum-post-meta__kind,
html[data-theme="dark"] .forum-lead-card__author .bbp-author-role,
html[data-theme="dark"] .forum-reply-card__author .bbp-author-role {
  background: rgba(124,58,237,.18) !important;
  border-color: rgba(180,150,230,.25) !important;
  color: var(--lilac) !important;
}
html[data-theme="dark"] .forum-topic-card__badge--accent {
  background: var(--cta) !important;
  border-color: var(--cta) !important;
  color: #fff !important;
}
html[data-theme="dark"] .forum-post-meta__anchor { color: var(--lilac) !important; }

/* ── Nom de l'auteur + avatar ── */
html[data-theme="dark"] .forum-lead-card__author .bbp-author-name,
html[data-theme="dark"] .forum-reply-card__author .bbp-author-name { color: var(--text) !important; }
html[data-theme="dark"] .forum-lead-card__author .avatar,
html[data-theme="dark"] .forum-reply-card__author .avatar {
  border-color: rgba(180,150,230,.25) !important;
  box-shadow: 0 0 0 4px rgba(124,58,237,.12) !important;
}

/* ── Encadré de contenu du message (était blanc → texte invisible) ── */
html[data-theme="dark"] .forum-lead-card__content,
html[data-theme="dark"] .forum-reply-card__content {
  background: var(--pale) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .forum-lead-card__content::before,
html[data-theme="dark"] .forum-reply-card__content::before {
  background: var(--pale) !important;
  border-left-color: var(--border) !important;
  border-bottom-color: var(--border) !important;
}
html[data-theme="dark"] .forum-lead-card__content a,
html[data-theme="dark"] .forum-reply-card__content a { color: var(--lilac) !important; }
html[data-theme="dark"] .forum-lead-card__content blockquote,
html[data-theme="dark"] .forum-reply-card__content blockquote {
  background: rgba(124,58,237,.10) !important;
  border-left-color: var(--cta) !important;
  color: var(--muted) !important;
}
html[data-theme="dark"] .forum-lead-card__meta,
html[data-theme="dark"] .forum-reply-card__meta { border-bottom-color: var(--border) !important; }

/* ── Toolbar & en-têtes de section ── */
html[data-theme="dark"] .forum-toolbar__eyebrow,
html[data-theme="dark"] .forum-section-heading__eyebrow { color: var(--lilac) !important; }
html[data-theme="dark"] .forum-toolbar__title,
html[data-theme="dark"] .forum-section-heading h3 { color: var(--text) !important; }
html[data-theme="dark"] .forum-topic-card__main::before {
  background: linear-gradient(90deg, var(--cta), rgba(180,150,230,.3)) !important;
}

/* ── Pagination forum ── */
html[data-theme="dark"] .forum-pagination .bbp-pagination-count { color: var(--muted) !important; }
html[data-theme="dark"] #bbpress-forums .bbp-pagination-links a,
html[data-theme="dark"] .forum-pagination .bbp-pagination-links a {
  background: var(--pale) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
html[data-theme="dark"] #bbpress-forums .bbp-pagination-links span.current,
html[data-theme="dark"] .forum-pagination .bbp-pagination-links span.current {
  background: var(--cta) !important;
  border-color: var(--cta) !important;
  color: #fff !important;
}
