/* ============================================================
 * DP UI Pack — 19 Prose / Typographie globale (v2 additive)
 *
 * RÈGLES STRICTES :
 *   - PAS de width / max-width sur les conteneurs
 *   - PAS de padding / margin sur les conteneurs
 *   - PAS de display: grid/flex sur les conteneurs
 *   - PAS de margin négatifs
 *   - PAS de !important
 *   - On ne stylise QUE les éléments enfants directs (descendants
 *     immédiats du conteneur prose), jamais le conteneur lui-même.
 * ============================================================ */


/* 1. Sélection texte — universelle */
::selection {
  background: var(--dp-primary-soft);
  color: var(--dp-text-strong);
}
::-moz-selection {
  background: var(--dp-primary-soft);
  color: var(--dp-text-strong);
}


/* 2. Paragraphes (descendants directs) — font-size généreuse pour la lisibilité (1.1rem ~ 17.6px, accessible aux personnes âgées) */
.entry-content > p,
.entry-content > ul > li,
.entry-content > ol > li,
.wpb_text_column .wpb_wrapper > p,
.wpb_text_column .wpb_wrapper > ul > li,
.wpb_text_column .wpb_wrapper > ol > li,
.elementor-widget-text-editor > p,
.elementor-widget-text-editor > ul > li,
.elementor-widget-text-editor > ol > li {
  font-family: var(--dp-font);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--dp-text);
  margin: 0 0 1rem;
}
/* Forcer hausse de font sur paragraphes plus profonds (VC niveau 2-3) */
.entry-content .vc_column-inner p,
.entry-content .wpb_wrapper p,
.wpb_text_column .wpb_wrapper p,
.elementor-widget-text-editor p {
  font-size: 1.08rem;
  line-height: 1.65;
}


/* 3. Titres (descendants directs) */
.entry-content > h2,
.entry-content > h3,
.entry-content > h4,
.wpb_text_column .wpb_wrapper > h2,
.wpb_text_column .wpb_wrapper > h3,
.wpb_text_column .wpb_wrapper > h4,
.elementor-widget-text-editor > h2,
.elementor-widget-text-editor > h3,
.elementor-widget-text-editor > h4 {
  font-family: var(--dp-font-h);
  color: var(--dp-text-strong);
  letter-spacing: -0.01em;
  line-height: 1.25;
  font-weight: 700;
}
.entry-content > h2,
.wpb_text_column .wpb_wrapper > h2,
.elementor-widget-text-editor > h2 {
  font-size: clamp(1.5rem, 2.2vw, 1.9rem);
  margin: 2.4rem 0 0.8rem;
}
.entry-content > h3,
.wpb_text_column .wpb_wrapper > h3,
.elementor-widget-text-editor > h3 {
  font-size: clamp(1.2rem, 1.6vw, 1.45rem);
  margin: 1.8rem 0 0.6rem;
}
.entry-content > h4,
.wpb_text_column .wpb_wrapper > h4,
.elementor-widget-text-editor > h4 {
  font-size: 1.1rem;
  margin: 1.4rem 0 0.4rem;
}


/* 4. Listes (descendants directs) */
.entry-content > ul,
.entry-content > ol,
.wpb_text_column .wpb_wrapper > ul,
.wpb_text_column .wpb_wrapper > ol,
.elementor-widget-text-editor > ul,
.elementor-widget-text-editor > ol {
  margin: 0 0 1.2rem;
  color: var(--dp-text);
  line-height: 1.65;
}
.entry-content > ul > li,
.entry-content > ol > li,
.wpb_text_column .wpb_wrapper > ul > li,
.wpb_text_column .wpb_wrapper > ol > li,
.elementor-widget-text-editor > ul > li,
.elementor-widget-text-editor > ol > li {
  margin: 0 0 0.5rem;
  line-height: 1.6;
}


/* 5. Inline : strong, em, mark */
.entry-content strong, .entry-content b,
.wpb_text_column .wpb_wrapper strong, .wpb_text_column .wpb_wrapper b,
.elementor-widget-text-editor strong, .elementor-widget-text-editor b {
  color: var(--dp-text-strong);
  font-weight: 700;
}
.entry-content em, .entry-content i,
.wpb_text_column .wpb_wrapper em, .wpb_text_column .wpb_wrapper i,
.elementor-widget-text-editor em, .elementor-widget-text-editor i {
  font-style: italic;
}
.entry-content mark,
.wpb_text_column .wpb_wrapper mark,
.elementor-widget-text-editor mark {
  background: linear-gradient(180deg, transparent 55%, rgba(245, 158, 11, 0.35) 55%);
  color: var(--dp-text-strong);
  padding: 0 0.15em;
}


/* 6. Blockquote (descendants directs) — padding sur l'élément */
.entry-content > blockquote,
.wpb_text_column .wpb_wrapper > blockquote,
.elementor-widget-text-editor > blockquote {
  margin: 1.6rem 0;
  padding: 1rem 1.4rem 1rem 1.6rem;
  border: 0;
  border-left: 4px solid var(--dp-primary);
  background: linear-gradient(90deg, var(--dp-primary-soft) 0%, transparent 100%);
  border-radius: 0 var(--dp-radius-sm) var(--dp-radius-sm) 0;
  font-style: italic;
  color: var(--dp-text);
  font-size: 1.05rem;
  line-height: 1.6;
}


/* 7. Tables (descendants directs) — padding sur cellules, sans font-size override */
.entry-content > table,
.entry-content > figure.wp-block-table > table,
.wpb_text_column .wpb_wrapper > table,
.elementor-widget-text-editor > table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 1.5rem 0;
}
.entry-content > table th,
.entry-content > figure.wp-block-table > table th,
.wpb_text_column .wpb_wrapper > table th,
.elementor-widget-text-editor > table th {
  padding: 0.85rem 1rem;
  background: var(--dp-bg-dark);
  color: #fff;
  font-weight: 600;
  text-align: left;
  letter-spacing: 0.01em;
}
.entry-content > table td,
.entry-content > figure.wp-block-table > table td,
.wpb_text_column .wpb_wrapper > table td,
.elementor-widget-text-editor > table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--dp-border);
  vertical-align: top;
  color: var(--dp-text);
}


/* 8. HR (descendants directs uniquement) */
.entry-content > hr,
.entry-content > hr.wp-block-separator,
.wpb_text_column .wpb_wrapper > hr,
.elementor-widget-text-editor > hr {
  border: 0;
  height: 1px;
  margin: 2.2rem 0;
  background: linear-gradient(90deg, transparent 0%, var(--dp-border-strong) 50%, transparent 100%);
  opacity: 0.9;
}


/* 9. Code inline */
.entry-content code,
.wpb_text_column .wpb_wrapper code,
.elementor-widget-text-editor code {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.9em;
  padding: 0.1em 0.4em;
  background: var(--dp-primary-soft);
  color: var(--dp-primary-dark);
  border-radius: var(--dp-radius-xs);
}
