/* ABLOGUI — widget « publications » (repris de la maquette d'accueil, maquettes/css/accueil.css) */
.pb-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.pb-doc { display: flex; flex-direction: column; gap: 14px; }
.pb-doc.t-cp { --_c: var(--ab-rouge); }
.pb-doc.t-de { --_c: #b07a00; }
.pb-doc.t-ra { --_c: var(--ab-vert); }
.pb-doc.t-gu { --_c: #b07a00; }
.pb-feuille { position: relative; aspect-ratio: 3 / 4; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 2px 0 rgba(0,0,0,.04), 0 26px 44px -28px rgba(0, 0, 0, .5); transition: transform .8s var(--ab-doux), box-shadow .6s ease; }
.pb-doc:hover .pb-feuille { transform: translateY(-10px); box-shadow: 0 40px 60px -32px rgba(0, 0, 0, .55); }
.pb-feuille img { display: block; width: 100%; height: 62%; object-fit: cover; object-position: top; }
.pb-feuille__bas { height: 38%; padding: 16px 18px; display: flex; flex-direction: column; justify-content: space-between; }
.pb-feuille__bas span, .pb-feuille--gen span { font-family: "Nunito", var(--ab-police); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--_c); }
.pb-feuille__bas b { font-size: var(--ab-fs-m); font-weight: 900; line-height: 1.22; color: var(--ab-noir); }
.pb-feuille--gen { display: flex; flex-direction: column; justify-content: space-between; padding: 24px 22px; color: #fff; background: var(--_g); }
.pb-feuille--gen span { color: inherit; opacity: .85; }
.pb-feuille--gen b { font-size: 1.45rem; font-weight: 900; line-height: 1.1; }
.pb-feuille--gen img { width: 40px; height: auto; }
.pb-feuille--texte-noir { color: var(--ab-noir); }
.pb-doc__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pb-doc__meta small { font-size: var(--ab-fs-xs); font-weight: 700; color: var(--ab-texte-doux); line-height: 1.4; }
@media (max-width: 1000px) {
  .pb-grille { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .pb-grille { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 74%; overflow-x: auto; scroll-snap-type: x mandatory; padding: 12px 4px 20px; }
  .pb-doc { scroll-snap-align: start; }
}
.pb-feuille, .pb-doc:hover .pb-feuille { transform: none; transition: box-shadow .3s ease; }
.pb-doc:hover .pb-feuille { box-shadow: 0 2px 0 rgba(0,0,0,.04), 0 26px 44px -28px rgba(0, 0, 0, .5); }
.pb-doc { position: relative; }
.pb-doc > .ab-annotation { top: -26px; right: 10px; }


/* Survol : le résumé remonte du bas de la carte, sur fond blanc, sans autre effet */
.pb-synopsis { position: absolute; left: -1px; right: -1px; bottom: -1px; display: flex; flex-direction: column; gap: 12px; padding: 18px 18px 20px; background: #fff; color: var(--ab-noir); transform: translateY(101%); transition: transform .45s var(--ab-doux); box-shadow: 0 -12px 24px -18px rgba(0, 0, 0, .35); }
.pb-synopsis p { font-size: var(--ab-fs-s); line-height: 1.5; color: var(--ab-texte-doux); display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.pb-feuille .pb-synopsis__lien { display: inline-flex; align-items: center; gap: 8px; font-family: inherit; font-size: var(--ab-fs-s); font-weight: 900; letter-spacing: 0; text-transform: none; color: var(--ab-noir); opacity: 1; }
.pb-synopsis svg { width: 16px; height: 16px; }
@media (hover: hover) {
  .pb-doc:hover .pb-synopsis, .pb-doc:focus-visible .pb-synopsis { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pb-synopsis { transition: none; }
}
