@charset "utf-8";

/* ============================================================
   SAHIFAH — DIVI 5 RESET LAYER
   ------------------------------------------------------------
   Neutralises the Divi defaults that change a baseline the
   ported CSS relies on — and nothing else.

   Audited on 2026-09-22 against Divi 5.13.1 as installed:
   style.min.css and style-static.min.css from the theme, plus
   the live site's dynamic CSS and cached Customizer CSS. Each
   rule below quotes the Divi rule it answers. Re-audit after a
   Divi update (README, "The Divi reset layer").

   Deliberately NOT reset:
   - Anything Divi sets that the ported CSS already sets at equal
     or higher specificity and later in the cascade — body colour
     and face, h1–h6 size, colour, weight and leading, link colour,
     list-style, box-sizing, img sizing. The port already wins;
     a reset would be dead code.
   - Divi rules for elements the design never uses: sub/sup, dl,
     code/pre, tables.
   - Divi's wrapper-scoped rules (#left-area ul, .entry-content
     ol, .et_pb_text ul …). They only reach our markup if it is
     placed inside those wrappers, which depends on the article
     template — not decided yet.
   ============================================================ */

/* Divi: p { padding-bottom: 1em }
         p:not(.has-background):last-of-type { padding-bottom: 0 }
   The design spaces paragraphs from their container
   (.prose > * + *), never from the element itself.             */
p {
  padding-bottom: 0;
}

/* Divi: h1, h2, h3, h4, h5, h6 { padding-bottom: 10px }        */
h1,
h2,
h3,
h4,
h5,
h6 {
  padding-bottom: 0;
}

/* Divi: blockquote { margin: 20px 0 30px; border-left: 5px solid;
                      padding-left: 20px; border-color: #2ea3f2 }
   base.css already zeroes the margin. The inline-start border
   and padding leak into .pull-quote, which sets only its block
   edges. Logical properties, so Divi's RTL stylesheet (which
   mirrors this onto the right edge) is answered too. Classed
   quotes that set their own edges (.hadith, .question) are
   unaffected — a class outranks this.                          */
blockquote {
  padding-inline-start: 0;
  border-inline-start: 0;
}

/* Two Divi sources restyle <body>, both printed after every
   enqueued stylesheet, so both beat base.css's equal-specificity
   body rule:

     Customizer (et-cache/…/et-divi-customizer.min.css, wp_head 99):
       body { font-size: 14px }  — written even at its default
     Divi 5 global fonts (inline <style class="et-vb-global-fonts">
     printed inside <body>, from builder-5/…/Module/Fonts.php):
       body { line-height: var(--et_global_body_font_height);
              font-size: var(--et_global_body_font_size) }
       with the variables at 1.7em and 14px (its responsive variants
       change only the variables, not this rule)

   The line height matters more than it looks: 1.7em computes to a
   fixed length, which every descendant inherits in place of the
   token's unitless 1.65 — so chips, labels and bylines all lose
   their own leading. One step of specificity restores both tokens.
   print.css raises its own body rule to match.                   */
html body {
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
}
