/* Connexion, pseudo, compte et Mur — commun à toutes les pages */
[hidden]{display:none !important}

.cpt-zone{display:flex;align-items:center;gap:10px}
.cpt-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid #2E3647;background:transparent;color:#EEF1F6;font:600 15px Inter,system-ui,sans-serif;cursor:pointer;text-decoration:none}
.cpt-btn:hover{border-color:#4C8DFF;background:#101a2e}
.cpt-btn.primaire{background:#2563EB;border-color:#2563EB;color:#fff}
.cpt-btn.primaire:hover{background:#1D4FD8}
.cpt-btn.danger{border-color:#5a2a2e;color:#FF9A9A}
.cpt-btn.danger:hover{background:#2a1416;border-color:#FF7A7A}
.cpt-btn.lien{border:0;padding:0 6px;min-height:44px;color:#9AA3B2;font-weight:500}
.cpt-btn.lien:hover{background:transparent;color:#EEF1F6}
.cpt-btn:disabled{opacity:.55;cursor:not-allowed}
.cpt-btn:focus-visible,.cpt-champ:focus-visible,.cpt-case input:focus-visible{outline:2px solid #7FAEFF;outline-offset:3px}

.cpt-pastille{width:28px;height:28px;border-radius:50%;background:#1B2A4A;border:1.5px solid #4C8DFF;display:inline-flex;align-items:center;justify-content:center;font:800 13px 'Bricolage Grotesque',sans-serif;color:#7FAEFF;flex:0 0 auto}
.cpt-btn-compte{padding:0 16px 0 6px;max-width:220px}
.cpt-btn-compte span.nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

dialog.cpt-dialog{width:min(440px,calc(100vw - 32px));box-sizing:border-box;padding:28px;border-radius:24px;border:1px solid #283041;background:#0F1219;color:#EEF1F6;font-family:Inter,system-ui,sans-serif;line-height:1.55}
dialog.cpt-dialog::backdrop{background:rgba(4,5,8,.72)}
.cpt-dialog h2{margin:0 0 6px;font:800 26px/1.15 'Bricolage Grotesque',sans-serif;letter-spacing:-.01em}
.cpt-dialog p{margin:0}
.cpt-texte{color:#C3CAD6;font-size:15px}
.cpt-petit{color:#9AA3B2;font-size:13px}
.cpt-pile{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.cpt-fermer{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:#9AA3B2;font-size:24px;line-height:1;cursor:pointer}
.cpt-fermer:hover{color:#EEF1F6;background:#1A1F2B}

.cpt-fournisseur{width:100%;min-height:50px;border-radius:14px;font-size:16px}
.cpt-fournisseur.google{background:#FFFFFF;color:#1F1F1F;border-color:#FFFFFF}
.cpt-fournisseur.google:hover{background:#ECEEF2}
.cpt-fournisseur.apple{background:#000000;color:#FFFFFF;border-color:#3A4152}
.cpt-fournisseur.apple:hover{background:#111}
.cpt-fournisseur img{width:20px;height:20px;display:block}

.cpt-label{font-size:14px;color:#C3CAD6;font-weight:500}
.cpt-champ{width:100%;box-sizing:border-box;min-height:48px;padding:0 16px;border-radius:14px;border:1px solid #2E3647;background:#0B0D12;color:#EEF1F6;font:600 17px Inter,system-ui,sans-serif}
.cpt-champ[aria-invalid="true"]{border-color:#FF7A7A}
.cpt-case{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:#C3CAD6;cursor:pointer}
.cpt-case input{width:20px;height:20px;margin:2px 0 0;accent-color:#2563EB;flex:0 0 auto}
.cpt-erreur{color:#FF8A8A;font-size:14px}
.cpt-erreur:empty{display:none}
.cpt-ok{color:#8FD6A8;font-size:14px}
.cpt-ok:empty{display:none}
.cpt-separateur{border:0;border-top:1px solid #1C2230;margin:8px 0}

/* Boutons de téléchargement App Store / Google Play */
.stores{display:flex;flex-wrap:wrap;gap:12px}
.store{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px;border-radius:14px;border:1.5px solid #EEF1F6;background:#EEF1F6;color:#08090C;font:600 16px Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer}
.store:hover{background:#FFFFFF;color:#08090C}
.store svg{flex:0 0 auto}
.store.bientot{background:transparent;border-color:#2E3647;color:#C3CAD6;cursor:default}
.store.bientot:hover{background:transparent;color:#C3CAD6}
.store.avec-badge{padding:0;border:0;background:transparent;min-height:0}
.store.avec-badge:hover{background:transparent}
.store-badge{height:52px;width:auto;display:block}

/* Le Mur */
.mur-ligne{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:16px 0;border-bottom:1px solid #1C2230}
.mur-ligne .cpt-pastille{width:44px;height:44px;font-size:17px}
.mur-pseudo{font-weight:600;font-size:17px;overflow-wrap:anywhere}
.mur-date{color:#9AA3B2;font-size:14px}
.mur-forfait{justify-self:end;padding:5px 12px;border-radius:999px;border:1px solid #2E3647;color:#C3CAD6;font-size:13px;white-space:nowrap}
.mur-forfait.coupdefoudre,.mur-forfait.mecene{border-color:#4C8DFF;color:#B5D0FF}
.mur-toi{margin-left:8px;padding:2px 8px;border-radius:999px;background:#2563EB;color:#fff;font-size:11px;font-weight:600;vertical-align:2px}
@media (max-width:520px){
  .mur-ligne{grid-template-columns:44px minmax(0,1fr)}
  .mur-forfait{grid-column:2;justify-self:start}
}
