/* ADeL Veille Juridique — Frontend public (scopé sous .avjf) */
.avjf { --en:#1b1f3b; --en70:#4a4e68; --carte:#fff; --filet:#e3e1d8; --ocre:#b07d2b; --ocrep:#f6efe1; --sceau:#8c2f39; --eu:#2b4a8c;
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--en); line-height:1.55; }
.avjf * { box-sizing:border-box; }

.avjf-tabs { display:flex; flex-wrap:wrap; border-bottom:1px solid var(--filet); margin-bottom:16px; }
.avjf-tab { appearance:none; background:none; border:none; border-bottom:2px solid transparent; padding:10px 14px; font-size:14px; font-weight:500; color:var(--en70); cursor:pointer; }
.avjf-tab:hover { color:var(--en); }
.avjf-tab[aria-selected="true"] { color:var(--en); border-bottom-color:var(--ocre); }
.avjf-tab .c { font-size:11px; color:var(--ocre); font-variant-numeric:tabular-nums; }

.avjf-search { width:100%; max-width:480px; padding:10px 14px; border:1px solid var(--filet); border-radius:6px; font-size:14px; margin-bottom:22px; }
.avjf-search:focus-visible { outline:2px solid var(--ocre); outline-offset:1px; }

.avjf-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:18px; }
.avjf-card { background:var(--carte); border:1px solid var(--filet); border-radius:8px; display:flex; flex-direction:column; overflow:hidden; transition:box-shadow .15s,transform .15s; }
.avjf-card:hover { box-shadow:0 6px 22px rgba(27,31,59,.08); transform:translateY(-2px); }
.avjf-head { display:flex; align-items:center; gap:10px; padding:14px 16px 0; }
.avjf-logo, .avjf-logo-fb { width:34px; height:34px; border-radius:6px; flex-shrink:0; }
.avjf-logo { object-fit:contain; background:#fbfbf8; border:1px solid var(--filet); padding:3px; }
.avjf-logo-fb { display:flex; align-items:center; justify-content:center; background:var(--en); color:#fff; font-size:16px; font-weight:600; }
.avjf-issuer { font-size:12.5px; font-weight:600; line-height:1.25; }
.avjf-issuer small { display:block; font-weight:400; color:var(--en70); font-size:11px; margin-top:1px; }
.avjf-body { padding:12px 16px 14px; flex:1; }
.avjf-line { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
.avjf-type { font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:3px; background:var(--ocrep); color:var(--ocre); }
.avjf-type.art { background:var(--ocrep); color:var(--ocre); }
.avjf-type[data-k="jurisprudence"] { background:#f7e8ea; color:var(--sceau); }
.avjf-type[data-k="loi"], .avjf-type[data-k="decret"] { background:#e9ecf6; color:var(--eu); }
.avjf-date { font-size:11px; color:var(--en70); }
.avjf-badge { font-size:9.5px; letter-spacing:.08em; color:#fff; background:var(--en); border-radius:3px; padding:2px 6px; }
.avjf-title { font-size:16px; font-weight:600; line-height:1.3; margin:0 0 8px; }
.avjf-desc { font-size:13.5px; color:var(--en70); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.avjf-foot { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px 16px; border-top:1px solid var(--filet); }
.avjf-ref { font-size:11px; color:var(--en70); }
.avjf-link { font-size:13px; font-weight:600; color:var(--en); text-decoration:none; border-bottom:1px solid var(--ocre); padding-bottom:1px; white-space:nowrap; }
.avjf-link:hover { color:var(--ocre); }

.avjf-more { display:flex; justify-content:center; margin-top:26px; }
.avjf-btn { padding:10px 18px; border:1px solid var(--en); border-radius:6px; background:#fff; color:var(--en); font-size:14px; font-weight:500; cursor:pointer; }
.avjf-btn:hover { background:var(--ocrep); }
.avjf-empty { grid-column:1/-1; text-align:center; padding:50px 20px; border:1px dashed var(--filet); border-radius:8px; color:var(--en70); }
.avjf-empty strong { display:block; font-size:17px; color:var(--en); margin-bottom:6px; }

@media (max-width:560px){
  .avjf-grid { grid-template-columns:1fr; }
  .avjf-tabs { overflow-x:auto; flex-wrap:nowrap; }
  .avjf-tab { white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce){ .avjf-card { transition:none; } }
