/* ═══════════════════════════════════════════════════════════════
   OMAR — Nos publications (archive du CPT « publication »)
   Liste de documents avec bouton de téléchargement PDF.
   Chargé sur /publications/. Utilise les tokens de main.css.
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ────────────────────────────────────────────────────── */
.pub-hero {
	background: var(--c-deep);
	color: #fff;
	text-align: center;
	padding: 120px 0 3.5rem;
}
.pub-hero .eyebrow { color: var(--c-sky); }
.pub-hero h1 { color: #fff; font-size: clamp(2rem, 4vw, 3rem); margin: .5rem 0; }
.pub-hero p { color: rgba(255,255,255,.7); max-width: 560px; margin: 0 auto; line-height: 1.7; }

/* ── Liste ───────────────────────────────────────────────────── */
.pub-main { padding-block: clamp(2.5rem, 6vw, 4rem); }
.pub-list { display: flex; flex-direction: column; gap: 1rem; max-width: 880px; margin: 0 auto; }

.pub-card {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	background: #fff;
	border: 1.5px solid #e8eff8;
	border-radius: var(--r-lg);
	padding: 1.1rem 1.35rem;
	box-shadow: var(--shadow-sm);
	transition: transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);
}
.pub-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: #d6e4f5; }

.pub-card-icon { flex-shrink: 0; }
.pub-card-thumb {
	width: 56px; height: 56px; border-radius: var(--r-md);
	object-fit: cover; display: block;
}
.pub-card-doc {
	width: 56px; height: 56px; border-radius: var(--r-md);
	background: var(--c-foam); color: var(--c-navy);
	display: flex; align-items: center; justify-content: center;
}

.pub-card-body { flex: 1; min-width: 0; }
.pub-card-title {
	font-family: var(--f-display);
	font-size: 1.05rem; font-weight: 700;
	color: var(--c-ink); line-height: 1.3; margin: 0 0 .25rem;
}
.pub-card-meta { font-size: .84rem; color: var(--c-muted); margin: 0; }

.pub-card-actions { flex-shrink: 0; }
.pub-dl {
	display: inline-flex; align-items: center; gap: .45rem;
	white-space: nowrap;
}
.pub-dl-size {
	font-size: .72rem; font-weight: 600;
	opacity: .8; padding-left: .35rem;
	border-left: 1px solid rgba(255,255,255,.35); margin-left: .1rem;
}
.pub-nofile {
	font-size: .8rem; font-weight: 600; color: var(--c-light-txt);
	padding: .3rem .8rem; border: 1.5px dashed #dde5f0; border-radius: var(--r-pill);
	white-space: nowrap;
}

.pub-empty { text-align: center; padding: 3rem 1rem; color: var(--c-muted); }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 640px) {
	.pub-card { flex-wrap: wrap; }
	.pub-card-body { flex: 1 1 60%; }
	.pub-card-actions { flex: 1 1 100%; }
	.pub-dl { width: 100%; justify-content: center; }
}
