/* =============================================================================
   Pitt Nursing — Span-Bridge CSS  (v1)
   Author: Nicholas Burcin
   Source rules mirrored from:
     wp-content/themes/phs-master-child-theme/style.css  lines 1963-2089

   PURPOSE
   -------
   160over90 / Wyndetryst built the site's typography "system" by wrapping
   every block of editable text in <span class="wysiwyg-paragraph">,
   <span class="wysiwyg-headline">, etc. There are 24,658 of these spans in
   wp_posts.post_content. Editors have to reproduce them by hand on every
   edit or the page breaks visually.

   This stylesheet is the "bridge": it re-states the wysiwyg-* rules against
   plain semantic HTML (h1-h4, p, td, a, table) scoped to Divi / WP content
   wrappers, so editors can author normal HTML and get the same look.
   Existing wrapped content is untouched and continues to render exactly as
   today; this CSS only fills in the gap when the spans aren't there.

   SPECIFICITY
   -----------
   `body .et_pb_text_inner p`   = (0,1,2)
   `body .wysiwyg-paragraph`    = (0,1,1)   -> bridge wins
   `!important` is preserved to match the agency's pattern and to beat
   Divi inline styles on text modules.

   
   KNOWN LIMITS
   ------------
   - h5 / h6 intentionally not bridged: agency has no equivalent class.
   - Custom Divi modules (38 of them) emit the wysiwyg-* spans in JSX;
     those spans remain functional but are now decorative. Long-term DB
     cleanup is the proper fix; this is the bridge while we plan that.
   - Tailwind arbitrary-value classes baked into post content
     (w-[20px], sm:text-[28px], etc.) are out of scope here.

   ============================================================================= */


/* -----------------------------------------------------------------------------
   Heading bridge — mobile baseline
   ----------------------------------------------------------------------------- */

/* h1 -> wysiwyg-xl-title */
body .et_pb_text_inner h1,
body .entry-content h1,
body .et_pb_post_content h1 {
  font-family: 'Roboto', sans-serif !important;
  font-size: 38px !important;
  line-height: 110% !important;
  color: #003594 !important;
}

/* h2 -> wysiwyg-headline */
body .et_pb_text_inner h2,
body .entry-content h2,
body .et_pb_post_content h2 {
  font-family: 'Merriweather', serif !important;
  font-size: 25px !important;
  line-height: 130% !important;
  color: #003594 !important;
}

/* h3 -> wysiwyg-subhead */
body .et_pb_text_inner h3,
body .entry-content h3,
body .et_pb_post_content h3 {
  font-family: 'Merriweather', serif !important;
  font-size: 20px !important;
  line-height: 120% !important;
  color: #003594 !important;
}

/* h4 -> wysiwyg-detail-headline */
body .et_pb_text_inner h4,
body .entry-content h4,
body .et_pb_post_content h4 {
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
  line-height: 120% !important;
  color: #002058 !important;
  font-weight: 500 !important;
}


/* -----------------------------------------------------------------------------
   Body copy bridge
   ----------------------------------------------------------------------------- */

/* p (default body) and table cells -> wysiwyg-paragraph */
body .et_pb_text_inner p,
body .entry-content p,
body .et_pb_post_content p,
body .et_pb_text_inner td,
body .entry-content td,
body .et_pb_post_content td {
  font-family: 'Roboto', sans-serif !important;
  font-size: 15px !important;
  line-height: 150% !important;
  letter-spacing: -0.1% !important;
  color: #002058 !important;
  font-weight: 400 !important;
}

/* Intro / lead paragraphs -> wysiwyg-intro-paragraph
   Editors opt in by adding class="intro" or class="lead" to a <p>. */
body .et_pb_text_inner p.intro,
body .et_pb_text_inner p.lead,
body .entry-content p.intro,
body .entry-content p.lead,
body .et_pb_post_content p.intro,
body .et_pb_post_content p.lead {
  font-family: 'Merriweather', serif !important;
  font-size: 18px !important;
  line-height: 150% !important;
  color: #002058 !important;
  font-weight: 400 !important;
}

/* Captions -> wysiwyg-caption
   Targets <figcaption>, <small>, and opt-in <p class="caption">. */
body .et_pb_text_inner figcaption,
body .et_pb_text_inner small,
body .et_pb_text_inner p.caption,
body .entry-content figcaption,
body .entry-content small,
body .entry-content p.caption,
body .et_pb_post_content figcaption,
body .et_pb_post_content small,
body .et_pb_post_content p.caption {
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px !important;
  line-height: 150% !important;
  letter-spacing: -0.1% !important;
  color: #002058 !important;
  font-weight: 400 !important;
}

/* Strong inside body copy bumps weight to 500
   (mirrors `body strong .wysiwyg-paragraph` etc.) */
body .et_pb_text_inner p strong,
body .et_pb_text_inner p.intro strong,
body .et_pb_text_inner p.lead strong,
body .et_pb_text_inner p.caption strong,
body .entry-content p strong,
body .entry-content p.intro strong,
body .entry-content p.lead strong,
body .entry-content p.caption strong,
body .et_pb_post_content p strong,
body .et_pb_post_content p.intro strong,
body .et_pb_post_content p.lead strong,
body .et_pb_post_content p.caption strong {
  font-weight: 500 !important;
}


/* -----------------------------------------------------------------------------
   Tables and links bridge — mirrors wysiwyg-output rules
   ----------------------------------------------------------------------------- */

body .et_pb_text_inner table,
body .entry-content table,
body .et_pb_post_content table {
  width: 100%;
}

body .et_pb_text_inner td,
body .entry-content td,
body .et_pb_post_content td {
  border: 1px solid #66B2E3;
  padding: 8px;
}

body .et_pb_text_inner a,
body .entry-content a,
body .et_pb_post_content a {
  color: #003594 !important;
  text-decoration: underline;
  transition: background-color 0.25s ease;
  background-color: rgba(255, 184, 28, 0);
}

body .et_pb_text_inner a:hover,
body .entry-content a:hover,
body .et_pb_post_content a:hover {
  background-color: rgba(255, 184, 28, 1);
}

/* Vertical rhythm for headings sitting inside body copy — same as wysiwyg-output */
body .et_pb_text_inner h2,
body .et_pb_text_inner h3,
body .et_pb_text_inner h4,
body .et_pb_text_inner h5,
body .et_pb_text_inner h6,
body .entry-content h2,
body .entry-content h3,
body .entry-content h4,
body .entry-content h5,
body .entry-content h6,
body .et_pb_post_content h2,
body .et_pb_post_content h3,
body .et_pb_post_content h4,
body .et_pb_post_content h5,
body .et_pb_post_content h6 {
  padding-top: 20px;
  padding-bottom: 0;
}


/* -----------------------------------------------------------------------------
   Desktop overrides — matches agency's @media (min-width: 1024px) block
   ----------------------------------------------------------------------------- */

@media (min-width: 1024px) {

  body .et_pb_text_inner h1,
  body .entry-content h1,
  body .et_pb_post_content h1 {
    font-size: 60px !important;
  }

  body .et_pb_text_inner h2,
  body .entry-content h2,
  body .et_pb_post_content h2 {
    font-size: 40px !important;
  }

  body .et_pb_text_inner h3,
  body .entry-content h3,
  body .et_pb_post_content h3 {
    font-size: 28px !important;
  }

  body .et_pb_text_inner h4,
  body .entry-content h4,
  body .et_pb_post_content h4 {
    font-size: 22px !important;
  }

  body .et_pb_text_inner p.intro,
  body .et_pb_text_inner p.lead,
  body .entry-content p.intro,
  body .entry-content p.lead,
  body .et_pb_post_content p.intro,
  body .et_pb_post_content p.lead {
    font-size: 21px !important;
    line-height: 140% !important;
  }

  body .et_pb_text_inner p,
  body .entry-content p,
  body .et_pb_post_content p,
  body .et_pb_text_inner td,
  body .entry-content td,
  body .et_pb_post_content td {
    font-size: 18px !important;
    letter-spacing: 0% !important;
  }

}

/* =============================================================================
   End of bridge.
   ============================================================================= */
