/* ══════════════════════════════════════════════════
   BIBLIOTHÈQUE DOCUMENTS — Mobile-first
══════════════════════════════════════════════════ */

.doc-hero {
  background:linear-gradient(145deg,#1a1d3b 0%,#0f3460 55%,#2d1060 100%);
  padding:clamp(90px,12vw,130px) 0 clamp(50px,7vw,80px);
  position:relative;overflow:hidden;
}
.doc-hero::before { content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;pointer-events:none; }
.dh-orb { position:absolute;border-radius:50%;pointer-events:none; }
.dh-orb-1 { width:460px;height:460px;top:-160px;right:-80px;background:radial-gradient(circle,rgba(54,162,206,.2),transparent 70%); }
.dh-orb-2 { width:340px;height:340px;bottom:-100px;left:-60px;background:radial-gradient(circle,rgba(78,43,134,.2),transparent 70%); }
.dl-label { display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.7);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 18px;border-radius:50px;margin-bottom:20px; }
.doc-hero h1 { font-family:var(--font-heading);font-size:clamp(1.9rem,5vw,3.2rem);font-weight:800;color:#fff;line-height:1.15;margin-bottom:16px; }
.doc-hero-sub { font-size:clamp(.9rem,1.8vw,1.05rem);color:rgba(255,255,255,.7);line-height:1.8;max-width:540px; }
.dh-breadcrumb { display:flex;align-items:center;gap:8px;margin-top:24px;font-size:.78rem;color:rgba(255,255,255,.4);flex-wrap:wrap; }
.dh-breadcrumb a { color:rgba(255,255,255,.55);text-decoration:none; }
.dh-breadcrumb a:hover { color:#fff; }

/* Stats hero */
.doc-hero-stats { display:flex;gap:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;margin-top:32px;max-width:480px; }
.dhs-item { flex:1;padding:16px;text-align:center;border-right:1px solid rgba(255,255,255,.08); }
.dhs-item:last-child { border-right:none; }
.dhs-val { font-family:var(--font-heading);font-size:1.4rem;font-weight:800;color:#fff; }
.dhs-lbl { font-size:.68rem;color:rgba(255,255,255,.45);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:3px; }

/* Filtres */
.doc-filters { padding:clamp(20px,3vw,28px) 0;background:#fff;border-bottom:1px solid var(--c-border);position:sticky;top:70px;z-index:50; }
.df-inner { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.df-tag { display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:50px;font-family:var(--font-heading);font-size:.78rem;font-weight:700;border:1.5px solid var(--c-border);background:#fff;color:var(--c-text);cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap; }
.df-tag:hover,.df-tag.active { background:var(--c-navy);color:#fff;border-color:var(--c-navy); }
.df-tag.active { background:var(--grad-main);border-color:transparent; }
.df-count { background:var(--c-light);color:var(--c-muted);border-radius:50px;padding:1px 7px;font-size:.68rem; }
.df-tag.active .df-count,.df-tag:hover .df-count { background:rgba(255,255,255,.2);color:inherit; }

/* Section docs */
.section-docs { padding:clamp(52px,8vw,90px) 0;background:var(--c-light); }

/* Grille documents */
.docs-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,22px); }

.doc-card {
  background:#fff;border-radius:18px;border:1.5px solid var(--c-border);
  padding:clamp(20px,3vw,30px);
  display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  position:relative;overflow:hidden;
}
.doc-card::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;opacity:0;transition:opacity .25s; }
.doc-card:hover { transform:translateY(-5px);box-shadow:0 16px 44px rgba(78,43,134,.1);border-color:transparent; }
.doc-card:hover::before { opacity:1; }

/* Couleurs par type */
.dc-pdf::before   { background:linear-gradient(90deg,#ef4444,#f97316); }
.dc-word::before  { background:linear-gradient(90deg,#2563eb,#3b82f6); }
.dc-excel::before { background:linear-gradient(90deg,#16a34a,#22c55e); }
.dc-ppt::before   { background:linear-gradient(90deg,#ea580c,#f97316); }
.dc-zip::before   { background:linear-gradient(90deg,#7c3aed,var(--c-purple)); }

/* Icône type fichier */
.doc-type-icon {
  width:52px;height:52px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;margin-bottom:16px;flex-shrink:0;
}
.dc-pdf   .doc-type-icon { background:rgba(239,68,68,.1);color:#ef4444; }
.dc-word  .doc-type-icon { background:rgba(37,99,235,.1); color:#2563eb; }
.dc-excel .doc-type-icon { background:rgba(22,163,74,.1); color:#16a34a; }
.dc-ppt   .doc-type-icon { background:rgba(234,88,12,.1); color:#ea580c; }
.dc-zip   .doc-type-icon { background:rgba(124,58,237,.1);color:#7c3aed; }

.doc-cat-badge {
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--font-heading);font-size:.68rem;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;
  padding:3px 10px;border-radius:50px;margin-bottom:10px;
  align-self:flex-start;
}
.badge-guide    { background:rgba(78,43,134,.1);color:var(--c-purple); }
.badge-modele   { background:rgba(54,162,206,.1);color:var(--c-blue); }
.badge-fiche    { background:rgba(130,190,96,.14);color:var(--c-green); }
.badge-rapport  { background:rgba(245,158,11,.1);color:#b45309; }
.badge-formation{ background:rgba(239,68,68,.1);color:#dc2626; }

.doc-title { font-family:var(--font-heading);font-size:clamp(.9rem,1.6vw,1rem);font-weight:700;color:var(--c-navy);line-height:1.4;margin-bottom:8px;flex:1; }
.doc-desc  { font-size:.82rem;color:var(--c-text);line-height:1.7;margin-bottom:16px; }

.doc-meta { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px; }
.doc-meta-item { display:flex;align-items:center;gap:5px;font-size:.74rem;color:var(--c-muted); }

.doc-dl-btn {
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 16px;border-radius:10px;
  font-family:var(--font-heading);font-size:.8rem;font-weight:700;
  text-decoration:none;border:1.5px solid var(--c-border);
  color:var(--c-navy);background:#fff;
  transition:all .2s;margin-top:auto;
}
.doc-card:hover .doc-dl-btn { background:var(--grad-main);color:#fff;border-color:transparent; }

/* Encadré "Accès membre" */
.doc-locked {
  position:absolute;inset:0;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(3px);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding:20px;
  border-radius:18px;
}
.doc-locked i { font-size:1.8rem;color:var(--c-purple);margin-bottom:10px; }
.doc-locked p { font-size:.8rem;color:var(--c-text);line-height:1.6;margin-bottom:14px; }

/* Bannière inscription */
.section-doc-cta { padding:clamp(52px,7vw,80px) 0;background:linear-gradient(145deg,#1a1d3b 0%,#2d1060 60%,#0f3460 100%);position:relative;overflow:hidden;text-align:center; }
.section-doc-cta::before { content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;pointer-events:none; }

/* RESPONSIVE */
@media (max-width:1199px) { .docs-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:991px)  { .docs-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:767px)  {
  .docs-grid { grid-template-columns:1fr; }
  .df-tag { padding:6px 14px;font-size:.74rem; }
  .doc-hero-stats { max-width:100%; }
  .doc-filters { top:60px; }
}
@media (max-width:480px) {
  .doc-card { padding:18px 16px; }
  .dhs-item { padding:12px 8px; }
}
