/* ═══════════════════════════════════════════════════════════════════════════
   TYPOGRAPHY-SYSTEM.CSS — Source unique des polices du site
   Variables : --site-font-heading · --site-font-body (définies par app.js)
═══════════════════════════════════════════════════════════════════════════ */

:root {
  --site-font-heading: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --site-font-body: 'Lato', 'Segoe UI', system-ui, sans-serif;
  --page-font-heading: var(--site-font-heading);
  --page-font-body: var(--site-font-body);
}

/* ── Base globale ─────────────────────────────────────────────────────────── */
body,
#admin-bar,
.site-footer,
.modal-box,
.properties-panel,
.editor-bar,
.contact-form,
.contact-info-card,
.software-card,
.gallery-block,
.gallery-filter-btn,
.lightbox,
#cookie-consent-banner,
.nav-link,
.btn-admin,
.btn-edit,
.ebtn,
.font-select,
.gal-select,
.text-input,
.pp-input,
.pp-section-title,
.section-label {
  font-family: var(--site-font-body);
}

/* ── Titres & navigation ──────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
#site-name-display,
.gallery-block-title,
.software-card__title,
.footer-title,
.modal-header h3,
.pp-title,
.editor-bar-label,
.nav-link,
.btn-edit,
.el-text-inner h1,
.el-text-inner h2,
.el-text-inner h3,
.el-text-inner h4,
.lb-caption,
.dsp-hero-title,
.dsp-hero-label {
  font-family: var(--site-font-heading);
}

/* ── Canvas : rôles typographiques ───────────────────────────────────────── */
.page-canvas .canvas-element[data-typo="label"] .el-text-inner,
.page-canvas .canvas-element[data-typo="label"] .el-text-inner * {
  font-family: var(--el-font, var(--site-font-heading)) !important;
}

.page-canvas .canvas-element[data-typo="title"] .el-text-inner,
.page-canvas .canvas-element[data-typo="title"] .el-text-inner h1,
.page-canvas .canvas-element[data-typo="title"] .el-text-inner h2 {
  font-family: var(--el-font, var(--site-font-heading)) !important;
}

.page-canvas .canvas-element[data-typo="intro"] .el-text-inner,
.page-canvas .canvas-element[data-typo="intro"] .el-text-inner *,
.page-canvas .canvas-element[data-typo="legal"] .el-text-inner,
.page-canvas .canvas-element[data-typo="legal"] .el-text-inner * {
  font-family: var(--el-font, var(--site-font-body)) !important;
}

/* Texte canvas sans rôle → corps du site */
.page-canvas .canvas-element.el-text:not([data-typo]) .el-text-inner,
.page-canvas .canvas-element.el-text:not([data-typo]) .el-text-inner p {
  font-family: var(--el-font, var(--site-font-body)) !important;
}

.page-canvas .canvas-element.el-text:not([data-typo]) .el-text-inner h1,
.page-canvas .canvas-element.el-text:not([data-typo]) .el-text-inner h2,
.page-canvas .canvas-element.el-text:not([data-typo]) .el-text-inner h3 {
  font-family: var(--el-font, var(--site-font-heading)) !important;
}

/* ── Galeries & sections ──────────────────────────────────────────────────── */
.gallery-block-title,
.gallery-block-count {
  font-family: var(--site-font-heading) !important;
}

.gallery-block-desc,
.gallery-block-desc p,
.gallery-item-caption,
.contact-form label,
.contact-info-card p,
.software-card__desc,
.software-card__tagline,
.footer-text,
.footer-link,
.footer-copyright {
  font-family: var(--site-font-body) !important;
}

/* ── Boutons ──────────────────────────────────────────────────────────────── */
.el-button-inner,
.btn-modal-ok,
.btn-modal-cancel,
.contact-form button[type="submit"],
.gallery-filter-btn {
  font-family: var(--site-font-body) !important;
  letter-spacing: 0.12em;
}
