/* ==========================================================================
   Similius Practitioner Policy & Terms — Urenus look & feel
   Target:  https://us.similius.com/practitioner-policy-terms/  (page ID 48)
   Model:   https://urenus.com/en-us/pages/practitioner-policy-terms
   Markup:  similius-practitioner-page.html  (Custom HTML block)

   Loaded by the Similius Styles plugin on page 48 only.

   The Urenus page is theme-rendered, so these are computed values measured
   at 1440px:
     column            .page-width--narrow 780px - 40px = 700px, centred
     document title    48px / 700 / #42434D / line-height 1.2
     numbered section  32px / 700, 20px below
     sub-heading       24px / 700, 20px below
     body              16px / #42434D, 32px between paragraphs
     list item         16px, 4px apart
     rule              1px #e8e9ea, 8px above and below
     table cell        16px, padding 10px 15px, headers bold and left aligned

   HEADING LEVELS DO NOT MATCH THE SIZES ONE-FOR-ONE, ON PURPOSE.
   The source had two <h1>s on one page and skipped levels. The markup now
   runs h1 (page) > h2.doc-title (each of the two documents) > h3 (numbered
   sections) > h4 (sub-headings), which is a valid outline. The sizes below
   map those levels back onto Urenus's rendered scale, so it looks identical
   while the document structure is sound.

   ONE DELIBERATE DEPARTURE: Urenus sets line-height 1.2 on body copy. Over a
   document this long that is hard going, so this uses 1.6 — set --prac-lh to
   1.2 for an exact match. (Same call as the FAQ, disclaimer and billing.)
   ========================================================================== */

body.page-id-48 #sim-practitioner {
  --prac-ink: #42434D;        /* rgb(66, 67, 77) */
  --prac-rule: #e8e9ea;
  --prac-lh: 1.6;
}


/* --- Column ------------------------------------------------------------- */
/* Blocksy's constrained layout puts an !important auto margin on
   .entry-content's children, so the margin needs !important. */

body.page-id-48 #sim-practitioner {
  width: min(700px, calc(100% - 40px));
  max-width: none;
  margin-inline: auto !important;
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
  color: var(--prac-ink);
  font-family: inherit;   /* DM Sans, already the site font */
}

body.page-id-48 #sim-practitioner * { box-sizing: border-box; }


/* --- Headings ----------------------------------------------------------- */

/* The page title, above both documents. */
body.page-id-48 #sim-practitioner h1 {
  margin: 0 0 3rem;
  color: var(--prac-ink);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

/* "PRACTITIONER PRIVACY POLICY" / "PRACTITIONER TERMS OF USE".

   Urenus renders these at 48px, the same size as its theme page title, so
   its scale reads inverted — the document title is bigger than the page
   title above it. This page adds a real <h1> that Urenus does not have in
   its content, so the scale descends cleanly instead:

       h1 page title   48px
       doc title       40px   <- this rule
       h3 section      32px   (Urenus value)
       h4 sub-heading  24px   (Urenus value)

   Sections and sub-headings keep Urenus numbers exactly; only the two
   document titles step down 48 -> 40 to sit under the page title. */
body.page-id-48 #sim-practitioner .doc-title {
  margin: 4rem 0 1.5rem;
  color: var(--prac-ink);
  font-size: clamp(1.9rem, 4.5vw, 2.6rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

body.page-id-48 #sim-practitioner .doc-title:first-of-type { margin-top: 0; }

/* Numbered sections — Urenus's 32px. */
body.page-id-48 #sim-practitioner h3 {
  margin: 2.5rem 0 20px;
  color: var(--prac-ink);
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

/* Sub-headings — Urenus's 24px. */
body.page-id-48 #sim-practitioner h4 {
  margin: 2rem 0 20px;
  color: var(--prac-ink);
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 700;
  line-height: 1.25;
}


/* --- Body --------------------------------------------------------------- */

body.page-id-48 #sim-practitioner p {
  margin: 0 0 32px;
  color: var(--prac-ink);
  font-size: 16px;
  line-height: var(--prac-lh);
}

body.page-id-48 #sim-practitioner strong {
  color: var(--prac-ink);
  font-weight: 700;
}

body.page-id-48 #sim-practitioner a {
  color: var(--prac-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* --- Lists -------------------------------------------------------------- */

body.page-id-48 #sim-practitioner ul,
body.page-id-48 #sim-practitioner ol {
  margin: 0 0 32px;
  padding-left: 1.35rem;
}

body.page-id-48 #sim-practitioner li {
  margin-bottom: 4px;
  color: var(--prac-ink);
  font-size: 16px;
  line-height: var(--prac-lh);
}

body.page-id-48 #sim-practitioner li:last-child { margin-bottom: 0; }


/* --- Section rules ------------------------------------------------------ */
/* The <hr> between sections. Urenus: 1px #e8e9ea with 8px either side —
   tight, because the heading below supplies the real spacing. */

body.page-id-48 #sim-practitioner hr {
  height: 0;
  margin: 8px 0;
  border: 0;
  border-top: 1px solid var(--prac-rule);
}


/* --- Tables ------------------------------------------------------------- */
/* Section 5 of the privacy policy is a Purpose / Legal Basis table. It has to
   scroll on its own below ~500px rather than widen the page. */

body.page-id-48 #sim-practitioner .table-scroll {
  margin-bottom: 32px;
  overflow-x: auto;
}

body.page-id-48 #sim-practitioner table {
  width: 100%;
  margin-bottom: 32px;
  border-collapse: collapse;
}

body.page-id-48 #sim-practitioner .table-scroll table { margin-bottom: 0; }

body.page-id-48 #sim-practitioner th,
body.page-id-48 #sim-practitioner td {
  padding: 10px 15px;
  border-bottom: 1px solid var(--prac-rule);
  color: var(--prac-ink);
  font-size: 16px;
  line-height: var(--prac-lh);
  text-align: left;
  vertical-align: top;
}

body.page-id-48 #sim-practitioner th { font-weight: 700; }

body.page-id-48 #sim-practitioner tbody tr:last-child td { border-bottom: 0; }


/* --- Blockquote --------------------------------------------------------- */

body.page-id-48 #sim-practitioner blockquote {
  margin: 0 0 32px;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--prac-ink);
  background: #f6f7f9;
}

body.page-id-48 #sim-practitioner blockquote p:last-child { margin-bottom: 0; }


/* --- Mobile ------------------------------------------------------------- */

@media (max-width: 640px) {
  body.page-id-48 #sim-practitioner {
    width: calc(100% - 2rem);
    padding-block: 2rem;
  }

  body.page-id-48 #sim-practitioner p,
  body.page-id-48 #sim-practitioner ul,
  body.page-id-48 #sim-practitioner ol { margin-bottom: 24px; }

  body.page-id-48 #sim-practitioner h3 { margin-top: 2rem; }
  body.page-id-48 #sim-practitioner .doc-title { margin-top: 3rem; }

  body.page-id-48 #sim-practitioner th,
  body.page-id-48 #sim-practitioner td { padding: 10px; }
}
