/* UDS Publications — styles du widget (scopés sous .uds-pub) */
.uds-pub{--uds-blue:#0a73ab;--uds-blue-d:#085a87;--uds-orange:#f6921e;
  font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;color:#1e2630;max-width:1100px;margin:0 auto;}
.uds-pub *{box-sizing:border-box;}
.uds-pub-head h2{color:var(--uds-blue);margin:0 0 4px;font-size:1.7rem;}
.uds-pub .uds-sub{color:#6b7785;margin:0 0 18px;}

.uds-pub .uds-fac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:22px;}
.uds-pub .uds-fac{border:1px solid #e3e8ef;border-radius:12px;padding:16px;cursor:pointer;background:#fff;transition:.15s;display:flex;align-items:center;gap:12px;}
.uds-pub .uds-fac:hover{border-color:var(--uds-blue);box-shadow:0 4px 14px rgba(10,115,171,.12);transform:translateY(-2px);}
.uds-pub .uds-fac.active{border-color:var(--uds-blue);background:rgba(10,115,171,.06);}
.uds-pub .uds-fac .ic{width:42px;height:42px;border-radius:10px;background:var(--uds-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto;overflow:hidden;}
.uds-pub .uds-fac .ic img{width:100%;height:100%;object-fit:contain;background:#fff;}
.uds-pub .uds-fac .nm{font-weight:600;line-height:1.2;}
.uds-pub .uds-fac .ct{color:#6b7785;font-size:.85rem;}

/* Disposition deux colonnes (publications) : filtres 4/12 + liste 8/12 */
.uds-pub .uds-layout{display:grid;grid-template-columns:4fr 8fr;gap:22px;align-items:start;}
@media (max-width:768px){.uds-pub .uds-layout{grid-template-columns:1fr;}}
.uds-pub .uds-side{display:flex;flex-direction:column;gap:16px;}
.uds-pub .uds-filter{border:1px solid #e3e8ef;border-radius:12px;padding:14px 16px;background:#fff;}
.uds-pub .uds-filter h4{margin:0 0 10px;color:var(--uds-blue);font-size:1rem;display:flex;align-items:center;justify-content:space-between;}
.uds-pub .uds-clear{background:none;border:none;color:#b5650a;font-size:.78rem;cursor:pointer;padding:0;text-decoration:underline;}
.uds-pub .uds-author-search,.uds-pub .uds-domain-search{width:100%;padding:8px 12px;border:1px solid #d7deea;border-radius:8px;font-size:.95rem;margin-bottom:10px;}
.uds-pub .uds-author-search:focus,.uds-pub .uds-domain-search:focus{outline:none;border-color:var(--uds-blue);box-shadow:0 0 0 3px rgba(10,115,171,.18);}
.uds-pub .uds-checks{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto;}
.uds-pub .uds-years.uds-checks{max-height:200px;}
.uds-pub .uds-checks label{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;cursor:pointer;font-size:.92rem;}
.uds-pub .uds-checks label:hover{background:rgba(10,115,171,.06);}
.uds-pub .uds-checks input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;accent-color:var(--uds-blue);cursor:pointer;}
.uds-pub .uds-empty-sm{color:#6b7785;font-size:.88rem;padding:6px;}

.uds-pub .uds-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.uds-pub .uds-toolbar input[type=search]{flex:1;min-width:220px;padding:10px 14px;border:1px solid #d7deea;border-radius:10px;font-size:1rem;}
.uds-pub .uds-toolbar select{padding:10px 12px;border:1px solid #d7deea;border-radius:10px;font-size:.95rem;background:#fff;cursor:pointer;}
.uds-pub .uds-toolbar input:focus,.uds-pub .uds-toolbar select:focus{outline:none;border-color:var(--uds-blue);box-shadow:0 0 0 3px rgba(10,115,171,.18);}
.uds-pub .uds-chip{background:rgba(246,146,30,.15);color:#b5650a;border-radius:20px;padding:5px 12px;font-size:.85rem;cursor:pointer;}
.uds-pub .uds-chip:after{content:" ✕";opacity:.6;}
.uds-pub .uds-count{color:#6b7785;font-size:.9rem;margin-left:auto;}

.uds-pub .uds-list{display:flex;flex-direction:column;gap:10px;}
.uds-pub .uds-card{border:1px solid #e9edf3;border-left:4px solid var(--uds-blue);border-radius:0 10px 10px 0;padding:14px 16px;background:#fff;}
.uds-pub .uds-card h3{margin:0 0 6px;font-size:1.08rem;}
.uds-pub .uds-card h3 a{color:#15212e;text-decoration:none;cursor:pointer;}
.uds-pub .uds-card h3 a:hover{color:var(--uds-blue);text-decoration:underline;}
.uds-pub .uds-card .meta{color:#5b6675;font-size:.9rem;margin-bottom:6px;}
.uds-pub .uds-card .authors{font-size:.92rem;color:#2c3744;}
.uds-pub .uds-card .authors b{color:var(--uds-blue);}
.uds-pub .uds-badge{display:inline-block;background:rgba(10,115,171,.1);color:var(--uds-blue);border-radius:6px;padding:2px 8px;font-size:.78rem;margin-right:6px;}
.uds-pub .uds-pb{display:inline-block;background:rgba(246,146,30,.15);color:#b5650a;border-radius:6px;padding:2px 8px;font-size:.78rem;}
.uds-pub a.uds-doi{color:var(--uds-orange);text-decoration:none;font-size:.85rem;}
.uds-pub a.uds-doi:hover{text-decoration:underline;}

.uds-pub .uds-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0;}
.uds-pub .uds-pager button{padding:8px 16px;border:1px solid var(--uds-blue);background:#fff;color:var(--uds-blue);border-radius:8px;cursor:pointer;}
.uds-pub .uds-pager button:disabled{opacity:.4;cursor:default;}
.uds-pub .uds-empty{padding:30px;text-align:center;color:#6b7785;}
.uds-pub .uds-err{padding:30px;text-align:center;color:#c0392b;}

/* Vue détail */
.uds-pub .uds-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--uds-blue);cursor:pointer;font-size:.95rem;padding:0;margin-bottom:14px;}
.uds-pub .uds-detail{border:1px solid #e9edf3;border-top:4px solid var(--uds-blue);border-radius:0 0 12px 12px;background:#fff;padding:22px 24px;}
.uds-pub .uds-detail h2{color:#15212e;margin:0 0 8px;font-size:1.5rem;}
.uds-pub .uds-detail .d-meta{color:#5b6675;margin-bottom:16px;}
.uds-pub .uds-detail h4{color:var(--uds-blue);margin:18px 0 6px;font-size:1rem;}
.uds-pub .uds-detail p{line-height:1.65;margin:0 0 8px;}
.uds-pub .uds-tags span{display:inline-block;background:#eef3f8;color:#2c3744;border-radius:14px;padding:3px 10px;margin:0 6px 6px 0;font-size:.85rem;}
.uds-pub .uds-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0;}
.uds-pub .uds-kv .b{background:#f7f9fc;border-radius:10px;padding:10px 12px;}
.uds-pub .uds-kv .b .k{color:#6b7785;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;}
.uds-pub .uds-kv .b .v{font-weight:600;font-size:1.1rem;color:#15212e;}
.uds-pub .uds-detail .btns{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;}
.uds-pub .uds-detail .btns a{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;text-decoration:none;font-size:.9rem;}
.uds-pub .uds-detail .btns a.primary{background:var(--uds-blue);color:#fff;}
.uds-pub .uds-detail .btns a.ghost{border:1px solid var(--uds-blue);color:var(--uds-blue);}

/* Page auteur */
.uds-pub .uds-author{border:1px solid #e9edf3;border-top:4px solid var(--uds-blue);border-radius:0 0 12px 12px;background:#fff;padding:22px 24px;margin-bottom:18px;}
.uds-pub .uds-author-head{display:flex;align-items:center;gap:16px;margin-bottom:12px;}
.uds-pub .uds-avatar{flex:0 0 auto;width:64px;height:64px;border-radius:50%;background:rgba(10,115,171,.1);color:var(--uds-blue);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;overflow:hidden;}
.uds-pub .uds-avatar img{width:100%;height:100%;object-fit:cover;}
.uds-pub .uds-author h2{margin:0;color:#15212e;font-size:1.4rem;}
.uds-pub .uds-author .d-meta{color:#5b6675;font-size:.92rem;}
.uds-pub .uds-ids{font-size:.88rem;color:#5b6675;margin:6px 0;}
.uds-pub .uds-aptitle{color:var(--uds-blue);margin:8px 0 10px;font-size:1.05rem;}
.uds-pub .uds-apcount{color:#6b7785;font-weight:400;font-size:.9rem;}
.uds-pub .uds-aplist-ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.uds-pub .uds-aplist-ul li{border-left:3px solid var(--uds-blue);padding:8px 12px;background:#fff;border-radius:0 8px 8px 0;border-top:1px solid #eef2f7;border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7;}
.uds-pub .uds-aplist-ul li a{color:#15212e;text-decoration:none;cursor:pointer;font-weight:600;}
.uds-pub .uds-aplist-ul li a:hover{color:var(--uds-blue);text-decoration:underline;}
.uds-pub .uds-aplist-ul li .m{color:#6b7785;font-size:.85rem;}
.uds-pub a.uds-aut{color:inherit;text-decoration:none;cursor:pointer;}
.uds-pub a.uds-aut:hover{color:var(--uds-blue);text-decoration:underline;}
