.membership-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:700px; margin:0 auto 21px; }
.membership-card { display:flex; align-items:flex-start; gap:11px; padding:14px; border:1px solid var(--line); border-radius:15px; background:rgba(26,28,33,.82); }
.membership-card.featured { border-color:#a75d68; background:linear-gradient(135deg,rgba(104,43,55,.42),rgba(29,34,42,.92)); }
.membership-icon { display:grid; place-items:center; flex:none; width:29px; height:29px; border-radius:9px; color:#211719; background:#d9d8db; font-weight:800; }
.membership-card.featured .membership-icon { color:#fff4ea; background:var(--red-soft); box-shadow:0 0 15px rgba(255,115,115,.35); }
.membership-card strong { display:block; margin-bottom:3px; }
.membership-card p,.membership-card small { display:block; margin:0; color:#d2d1d7; line-height:1.4; font-size:.82rem; }
.membership-card small { margin-top:5px; color:var(--muted); font-size:.73rem; }
@media (max-width:580px) { .membership-compare { grid-template-columns:1fr; } }

.form-message { margin:0; padding:10px 12px; border:1px solid rgba(130,207,166,.52); border-radius:10px; color:#bce9c9; background:rgba(55,117,76,.18); font-size:.88rem; line-height:1.45; }

/* Les formulaires et étapes changent via l'attribut HTML hidden. Les styles en grille
   ne doivent jamais le neutraliser. */
.create-profile[hidden],.wizard-step[hidden] { display:none !important; }

/* Entrée membre : chaque chemin est distinct pour éviter une page de connexion chargée. */
.auth-card { gap:13px; }
.auth-intro { margin:-4px 0 4px; color:var(--muted); font-size:.9rem; line-height:1.5; }
.auth-submit { width:100%; margin-top:4px; }
.auth-link { justify-self:start; padding:1px 0; border:0; color:#f1b7b8; background:transparent; text-decoration:underline; text-underline-offset:3px; font-size:.84rem; }
.auth-link:hover { color:#fff1eb; }
.auth-separator { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; color:var(--muted); font-size:.75rem; }
.auth-separator::before,.auth-separator::after { height:1px; content:""; background:var(--line); }
.auth-new-member { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px; border:1px solid rgba(167,93,104,.46); border-radius:12px; background:rgba(104,43,55,.17); font-size:.85rem; }
.auth-new-member strong { color:#f1e7e5; }
.auth-new-member .secondary-button { flex:none; padding:8px 10px; font-size:.8rem; }
.auth-back { justify-self:start; margin-top:1px; }

@media (max-width:420px) { .auth-new-member { align-items:flex-start; flex-direction:column; } }

.auth-flow .profile-hero,.auth-flow .membership-compare { display:none; }
.auth-flow .create-profile { margin-top:8vh; }

/* Accueil du compte : membre, nouveau membre, puis invité en retrait. */
.profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:520px; }
.profile-card-login,.profile-card-register { min-height:178px; border:1px solid var(--line); background:rgba(25,27,32,.72); }
.profile-card-login { border-color:#a75d68; background:linear-gradient(145deg,rgba(111,45,57,.46),rgba(29,33,40,.92)); }
.profile-card-login .profile-avatar { color:#fff4ea; background:var(--red-soft); box-shadow:0 0 18px rgba(255,115,115,.25); }
.profile-card-register:hover,.profile-card-login:hover { border-color:var(--red-soft); }
.profile-card-guest { grid-column:1 / -1; min-height:auto; flex-direction:row; justify-content:center; gap:10px; padding:12px; border:1px dashed #545862; background:transparent; }
.profile-card-guest .profile-avatar { width:34px; height:34px; border-radius:10px; font-size:1.15rem; }
.profile-card-guest strong { margin:0; }
.profile-card-guest small { margin:0; }

@media (max-width:450px) { .profile-grid { grid-template-columns:1fr; } .profile-card-guest { grid-column:auto; flex-wrap:wrap; } }
