/* =========================================================
   CEECI-UE — Espace Membre (extension du style admin)
   ========================================================= */

/* ------- Identité membre dans la sidebar ------- */
.mb-id{display:flex;gap:.8rem;align-items:center;padding:1.1rem 1.3rem;border-bottom:1px solid #ffffff14;background:#ffffff08}
.mb-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:14px;background:rgba(200,162,39,.18);border:2px solid rgba(200,162,39,.55);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',Georgia,serif;font-weight:800;color:#e2c14b;font-size:1.1rem;overflow:hidden}
.mb-avatar img{width:100%;height:100%;object-fit:cover}
.mb-id-txt{min-width:0}
.mb-id-txt b{display:block;color:#fff;font-size:.92rem;line-height:1.25}
.mb-id-txt span{display:block;font-size:.7rem;color:#8fa4c2;letter-spacing:.05em;margin:.1rem 0 .35rem}

/* ------- Étapes d'adhésion ------- */
.steps{display:grid;gap:.8rem;grid-template-columns:1fr;margin-bottom:1.4rem}
@media(min-width:820px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{display:flex;gap:.8rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.95rem 1rem;position:relative}
.step b{display:block;font-size:.86rem;color:var(--brand)}
.step small{font-size:.72rem;color:var(--muted)}
.step-dot{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;background:#eef2f7;color:var(--muted);border:2px solid var(--line)}
.step.done{border-color:#b9e4c7;background:#f4fbf6}
.step.done .step-dot{background:#166534;color:#fff;border-color:#166534}
.step.current{border-color:rgba(200,162,39,.6);background:#fffdf3}
.step.current .step-dot{background:var(--gold);color:#1b1b1b;border-color:var(--gold)}

/* ------- Cartes de paiement / actions ------- */
.pay-methods{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:820px){.pay-methods{grid-template-columns:1fr 1fr}}
.pay-card{display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;transition:.2s}
.pay-card:hover{box-shadow:var(--shadow);border-color:rgba(200,162,39,.5)}
.pay-card .p-ic{width:54px;height:54px;flex:0 0 54px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--accent));color:var(--gold);display:flex;align-items:center;justify-content:center}
.pay-card b{display:block;color:var(--brand);font-size:.95rem}
.pay-card span{font-size:.8rem;color:var(--muted)}
.pay-card .btn{margin-left:auto;flex:0 0 auto}
.price-chip{display:inline-flex;align-items:baseline;gap:.25rem;background:rgba(18,58,114,.07);border-radius:10px;padding:.4rem .8rem;color:var(--brand);font-weight:800;font-family:'Playfair Display',serif;font-size:1.15rem}
.price-chip small{font-size:.7rem;font-family:'Inter',sans-serif;color:var(--muted);font-weight:600}

/* ------- Documents ------- */
.doc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;height:100%;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}
.doc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--gold))}
.doc-card .d-ic{width:48px;height:48px;border-radius:12px;background:rgba(200,162,39,.14);color:var(--gold-dark);display:flex;align-items:center;justify-content:center;margin-bottom:.3rem}
.doc-card h4{margin:0;font-family:'Playfair Display',serif;color:var(--brand);font-size:1.02rem}
.doc-card p{font-size:.82rem;color:var(--muted);margin:0;flex:1}
.doc-card.locked{opacity:.75}
.doc-lock{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted)}
.docs-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:760px){.docs-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.docs-grid{grid-template-columns:repeat(3,1fr)}}

/* ------- Connexion membre ------- */
.login-card .status-note{background:#f5f7fa;border:1px solid #e4e9f0;border-radius:10px;padding:.7rem .9rem;font-size:.8rem;color:var(--muted);text-align:left;margin-top:1.1rem}
.login-card .status-note b{color:var(--brand)}

/* ------- Bannière de statut ------- */
.status-banner{border-radius:var(--radius);padding:1.2rem 1.3rem;margin-bottom:1.4rem;display:flex;gap:1rem;align-items:flex-start}
.status-banner .ic{flex:0 0 auto;margin-top:.15rem}
.status-banner b{display:block;font-size:.96rem;margin-bottom:.15rem}
.status-banner p{font-size:.86rem;margin:0}
.status-wait{background:#fffdf0;border:1px solid #f1dfae;color:#7a5f10}
.status-ok{background:#edfaf1;border:1px solid #b9e4c7;color:#166534}
.status-ko{background:#fef1f1;border:1px solid #f5c6c6;color:#9b1c1c}

/* ------- Carte de membre (écran) ------- */
.card-preview-wrap{display:flex;flex-direction:column;align-items:center;gap:1.2rem;padding:1rem 0 2rem}
.membre-card-rect{width:min(520px,100%);aspect-ratio:8.56/5.4;border-radius:18px;background:linear-gradient(130deg,#0a2249,#123a72 55%,#1a4d97);color:#fff;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(10,34,73,.35);padding:1.2rem 1.3rem;display:flex;flex-direction:column}
.membre-card-rect::before{content:'';position:absolute;right:-70px;top:-70px;width:240px;height:240px;border:3px solid rgba(200,162,39,.3);border-radius:50%}
.membre-card-rect::after{content:'';position:absolute;right:40px;bottom:-90px;width:200px;height:200px;border:3px solid rgba(200,162,39,.2);border-radius:50%}
.mc-head{display:flex;align-items:center;gap:.7rem;position:relative;z-index:2}
.mc-head img{width:44px;height:44px}
.mc-head b{font-family:'Playfair Display',serif;font-size:1.05rem;line-height:1.15}
.mc-head small{display:block;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:#b9c9e2}
.mc-body{flex:1;display:flex;gap:1rem;align-items:center;position:relative;z-index:2;margin-top:.5rem}
.mc-photo{width:92px;height:112px;border-radius:10px;background:rgba(255,255,255,.12);border:2px solid rgba(200,162,39,.6);object-fit:cover;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:800;color:#e2c14b;overflow:hidden;flex:0 0 92px}
.mc-photo img{width:100%;height:100%;object-fit:cover}
.mc-info .tag-lbl{font-size:.56rem;text-transform:uppercase;letter-spacing:.12em;color:#9fb4d4}
.mc-info h3{font-family:'Playfair Display',serif;margin:.1rem 0 .3rem;font-size:1.15rem}
.mc-info p{margin:.1rem 0;font-size:.74rem;color:#cfdaee}
.mc-foot{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:2;font-size:.66rem;color:#b9c9e2}
.mc-foot .mc-num{font-size:.8rem;color:#e2c14b;font-weight:700;letter-spacing:.05em}
.mc-sign{font-family:'Playfair Display',serif;font-style:italic}

/* ------- Impression ------- */
@media print{
  body *{visibility:hidden}
  .print-zone,.print-zone *{visibility:visible}
  .print-zone{position:absolute;inset:0;display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:2rem;margin:0}
  .no-print{display:none!important}
}