/* modele-feature.css — bibliothèque de modèles (/modeles/). Scopé. */

/* ── Index : grille de cartes ─────────────────────────────────────────── */
.modele-grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .modele-grid { grid-template-columns: 1fr 1fr; } }
.modele-card {
  display: flex; flex-direction: column; gap: 0.5rem;
  border: 1px solid var(--grid-border, rgba(0, 0, 0, 0.1));
  border-radius: 12px; padding: 1.3rem 1.4rem;
  text-decoration: none; color: inherit;
  transition: border-color 0.15s, transform 0.1s, box-shadow 0.15s;
}
.modele-card:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: 0 14px 30px -24px rgba(0, 0, 0, 0.5); }
:root[data-theme='dark'] .modele-card { border-color: rgba(236, 238, 243, 0.14); }
.modele-card-cat { font-family: var(--font-mono, monospace); font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--accent); }
.modele-card-title { font-family: var(--font-title, 'Space Grotesk', sans-serif); font-size: 1.15rem; font-weight: 700; margin: 0; line-height: 1.25; }
.modele-card-desc { font-size: 0.9rem; line-height: 1.5; color: rgba(0, 0, 0, 0.65); margin: 0; flex: 1; }
:root[data-theme='dark'] .modele-card-desc { color: rgba(236, 238, 243, 0.7); }
.modele-card-link { font-size: 0.82rem; font-weight: 700; color: var(--accent); }

/* ── Fiche document ───────────────────────────────────────────────────── */
.modele-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 1.8rem; align-items: center; }
.modele-section { margin-bottom: 1.8rem; }
.modele-section h2 {
  font-family: var(--font-title, 'Space Grotesk', sans-serif);
  font-size: 1.15rem; font-weight: 700; margin: 0 0 0.7rem;
  padding-bottom: 0.4rem; border-bottom: 2px solid var(--accent);
  display: inline-block;
}
.modele-checklist { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.modele-checklist li { line-height: 1.5; }
.modele-checklist label { display: flex; gap: 0.6rem; align-items: flex-start; cursor: pointer; font-size: 0.95rem; }
.modele-checklist input[type='checkbox'] { margin-top: 0.25rem; width: 1.05rem; height: 1.05rem; flex-shrink: 0; accent-color: var(--accent); }

.modele-related-list { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.modele-related-link {
  font-size: 0.85rem; font-weight: 600; text-decoration: none; color: var(--accent);
  border: 1px solid var(--grid-border, rgba(0, 0, 0, 0.14)); border-radius: 999px; padding: 0.35rem 0.8rem;
}
.modele-related-link:hover { border-color: var(--accent); }

.modele-note { font-size: 0.78rem; color: rgba(0, 0, 0, 0.5); margin-top: 1.5rem; }
:root[data-theme='dark'] .modele-note { color: rgba(236, 238, 243, 0.5); }

/* Bloc visible seulement à l'impression */
.modele-print-only { display: none; }
.modele-print-logo { height: 26px; width: auto; }

/* ── Impression / PDF ─────────────────────────────────────────────────── */
@media print {
  .no-print { display: none !important; }
  .modele-print-only { display: block; }
  .modele-print-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; border-bottom: 1px solid #ccc; padding-bottom: 10px; }
  .modele-print-head p { font-size: 11px; color: #555; margin: 0; }
  .page-hero { padding: 0 0 12px !important; }
  .modele-section h2 { border-bottom-color: #333; }
  .modele-checklist input[type='checkbox'] { -webkit-appearance: none; appearance: none; border: 1.5px solid #333; border-radius: 3px; }
  body { background: #fff; color: #000; }
}
