/* Finitions : accessibilité, lisibilité, micro-interactions */
:focus-visible { outline: 2px solid var(--accent, #80348A); outline-offset: 2px; border-radius: 6px; }
button, .tab, a { -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Lecture des posts */
.post-title { font-size: 17px; font-weight: 700; letter-spacing: -.01em; line-height: 1.35; }
.post-body { font-size: 15px; line-height: 1.65; color: var(--text-body); }
.post-card { padding: 22px 24px 14px; }
.post-card:hover { transform: translateY(-1px); }
.post-action { border-radius: 999px; padding: 6px 12px; transition: background .15s, color .15s; }
.post-action:hover { background: var(--background-soft); }

/* Onglets : zone de clic plus généreuse, repère actif net */
.tab { padding-top: 14px; padding-bottom: 14px; }
.tab.active::after { height: 3px; }

/* Cartes de formation */
.classroom-card { transition: transform .18s, box-shadow .18s; }
.classroom-card:not(.locked):hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(32, 58, 124, .14); }
.classroom-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 4px; font-size: 12.5px; color: var(--text-muted); font-weight: 600; }
.classroom-pill { display: inline-block; padding: 2px 9px; border-radius: 999px; background: rgba(73, 55, 129, .1); color: var(--secondary, #493781); font-size: 11.5px; font-weight: 700; }
.classroom-pill.draft { background: #fdf3d0; color: #7a5b00; }

/* Avatars sans photo : couleur stable par personne */
.has-hue { background-image: linear-gradient(135deg, hsl(var(--hue) 62% 42%), hsl(calc(var(--hue) + 38) 58% 52%)) !important; color: #fff !important; }

/* Boutons principaux : même pastille partout */
.btn-submit, .invite-btn, .btn-action.primary { transition: transform .15s, box-shadow .15s; }
.btn-submit:hover, .invite-btn:hover, .btn-action.primary:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(32, 58, 124, .22); }

/* Barre de défilement discrète */
* { scrollbar-width: thin; scrollbar-color: rgba(120, 120, 140, .35) transparent; }

/* Icônes Lucide intégrées au texte */
.ic { flex: none; vertical-align: -0.18em; }
button .ic, a .ic { vertical-align: middle; }
.ev-badge .live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: 1px; }
.composer-tools { display: inline-flex; gap: 10px; color: #9CA3AF; }
.empty-ico, .lb-empty-ico, .learn-locked-icon { display: inline-grid; place-items: center; color: var(--primary, #203A7C); opacity: .85; }
