/* =========================================================================
   PAGE SOUTENIR / ADHÉSION
   Styles scopés, fidèles aux tokens du design system.
   ====================================================================== */

/* ---------------- Bloc adhésion (deux colonnes) ---------------- */
.membership__split {
  display: grid;
  gap: clamp(2rem, 1.5rem + 3vw, 4rem);
  align-items: start;
}
@media (min-width: 980px) {
  .membership__split { grid-template-columns: 1.05fr 0.95fr; }
}

/* Catégories de membres (liste de définitions) */
.member-types { display: grid; gap: var(--sp-5); }
.member-type {
  display: flex;
  gap: var(--sp-4);
  align-items: flex-start;
  padding-bottom: var(--sp-5);
  border-bottom: 1px solid var(--color-border-soft);
}
.member-type:last-child { border-bottom: 0; padding-bottom: 0; }
.member-type__icon {
  flex: none;
  width: 48px; height: 48px;
  display: grid; place-items: center;
  border-radius: var(--r-sm);
  background: var(--color-surface-2);
  color: var(--color-primary);
}
.member-type__name {
  font-family: var(--font-display);
  font-size: var(--fs-300);
  font-weight: 600;
  color: var(--color-ink);
}
.member-type__text {
  margin-top: var(--sp-2);
  font-size: var(--fs-200);
  color: var(--color-muted);
}

/* Panneau des frais (sticky sur grand écran) */
.fees-panel { position: relative; }
@media (min-width: 980px) {
  .fees-panel { position: sticky; top: calc(var(--header-h) + var(--sp-5)); }
}
.fees-panel__head {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-5);
}
.fees-panel__head .icon {
  flex: none;
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border-radius: var(--r-sm);
  background: var(--grad-gold);
  color: var(--c-green-950);
  box-shadow: var(--sh-sm);
}
.fees-grid {
  display: grid;
  gap: var(--sp-4);
  margin-bottom: var(--sp-6);
}
@media (min-width: 480px) {
  .fees-grid { grid-template-columns: repeat(2, 1fr); }
}
.fee {
  background: var(--color-surface);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--r-md);
  padding: var(--sp-5);
  box-shadow: var(--sh-xs);
}
.fee__label {
  font-size: var(--fs-50);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-faint);
}
.fee__value {
  margin-top: var(--sp-2);
  font-family: var(--font-display);
  font-size: var(--fs-400);
  font-weight: 600;
  color: var(--color-ink);
  letter-spacing: var(--tracking-tight);
}
.fees-panel__note {
  margin-top: var(--sp-5);
  font-size: var(--fs-50);
  color: var(--color-faint);
}

/* ---------------- Formulaire de soutien ---------------- */
.support-form-wrap {
  display: grid;
  gap: clamp(2rem, 1.5rem + 3vw, 4rem);
  align-items: start;
}
@media (min-width: 980px) {
  .support-form-wrap { grid-template-columns: 0.85fr 1.15fr; }
}

/* Carte d'aside descriptive à gauche du formulaire */
.support-aside { display: grid; gap: var(--sp-5); align-content: start; }
.support-aside__list { display: grid; gap: var(--sp-4); }
.support-aside__item { display: flex; gap: var(--sp-3); align-items: flex-start; }
.support-aside__item .icon {
  flex: none; color: var(--color-primary);
  background: var(--color-surface-2);
  border-radius: 50%; padding: 5px; width: 30px; height: 30px;
}
.support-aside__item strong { display: block; color: var(--color-ink); font-size: var(--fs-200); }
.support-aside__item span.txt { color: var(--color-muted); font-size: var(--fs-100); }

/* Carte enveloppant le formulaire */
.support-form {
  background: var(--color-surface);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-md);
  padding: clamp(1.5rem, 1.2rem + 2vw, 2.8rem);
}

/* Grille interne pour champs courts côte à côte */
.form-grid {
  display: grid;
  gap: 0 var(--sp-5);
}
@media (min-width: 620px) {
  .form-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .form-grid .field--full { grid-column: 1 / -1; }
}

.support-form .field { margin-bottom: var(--sp-5); }
.support-form .field:last-of-type { margin-bottom: 0; }
.support-form .form-foot {
  margin-top: var(--sp-6);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-4);
}
.support-form .form-foot .form-note { flex: 1 1 14rem; }
