.filters { display: grid; gap: 0.75rem; margin-bottom: 1.5rem; padding: 1rem; background: #f7f7f7; border-radius: 8px; }
.filters details { background: white; padding: 0.5rem 0.75rem; border-radius: 4px; }
.filters summary { cursor: pointer; font-weight: 500; }
.filter-group { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.5rem; }
.filter-btn { padding: 0.25rem 0.7rem; border: 1px solid #ccc; background: white; cursor: pointer; border-radius: 999px; font-size: 0.85em; }
.filter-btn.active { background: #2c3e50; color: white; border-color: #2c3e50; }
#search { padding: 0.5rem; border: 1px solid #ccc; border-radius: 4px; }
#reset-filters { padding: 0.5rem; cursor: pointer; background: white; border: 1px solid #ccc; border-radius: 4px; }
.auth-zone { margin-bottom: 1.5rem; }
#login-btn { padding: 0.6rem 1rem; background: #e67e22; color: white; border: none; border-radius: 4px; cursor: pointer; }
.item { padding: 1.25rem; margin-bottom: 1rem; border: 1px solid #eee; border-radius: 8px; list-style: none; }
.item-cours { border-left: 4px solid #e67e22; }
.item-post { border-left: 4px solid #3498db; }
.item-head { display: flex; gap: 0.75rem; align-items: center; margin-bottom: 0.5rem; }
.badge { padding: 0.2rem 0.6rem; border-radius: 4px; font-size: 0.75em; color: white; }
.badge-cours { background: #e67e22; }
.badge-post { background: #3498db; }
.meta-cat { font-size: 0.85em; color: #666; }
.cta { display: inline-block; margin-top: 0.5rem; }
