/* ==================================================================
   One emphasis per piece of text, site-wide.
   Rohan, 3 Nov 2026: "Make sure there is no double emphasis anywhere."
   Text gets one of bold, capitals, colour or underline, never two.

   Loaded last on every page (inc/enqueue.php, priority 999), so it
   overrides page stylesheets; !important only on the typographic
   properties it owns. Labels drop capitals and bold and keep their
   colour; accent words drop bold and keep their colour. Buttons and
   in-text links (colour plus underline is how a link is recognised)
   are left alone. Check with the scan in docs/handoffs (single
   emphasis) after adding new label styles.
   ================================================================== */

/* Labels set in capitals: sentence case, normal weight, colour kept. */
.srk-page .srk-eyebrow,
.cs-glance-label, .srcs-glance-label, .srin-read-date, .srcs-place,
.p-eyebrow, .shr-hero-eyebrow, .su-cov-tag, .su-cov-go, .su-kick,
.su-half-label, .srm-stat-u, .srpt-role, .sr-post-card__more-label,
.sr-post-card__category, .srst-card-label, .sr-sol-choose__label,
.shr-modal-label, .srst-seg-tag, .srpr-ind-name, .srpk-pill, .srm-pill,
.srco-tl-shop-kicker, .srco-tl-rating-why, .srco-tl-cover-label,
.srdv-links-head, .srma-chip, .srst-pill {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}

/* Elementor headings set in capitals: the heading is already bold. */
.elementor-heading-title {
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Table headers and definition terms: bold only. */
.srk-page th, .entry-content th, .elementor th, main th,
.srk-page dt, .entry-content dt, .elementor dt, main dt {
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Accent words and labels: colour only. */
.srin-w, .srin-tagline, .cs-stat-label, .read-link, .cs-back-link,
.srin-yes, .srlg-mod-name, .srlg-nw, .srdv-tag, .srpt-more, .srm-card-go,
.srco-hw, .srlg-cta-link, .srk-page .srk-mark, .srk-page .srmm-soon,
.srk-page .srmm-ptile-cta {
  font-weight: 500 !important;
}

/* Bold inside a heading adds nothing: the heading is already bold. */
h1 strong, h2 strong, h3 strong, h4 strong, h1 b, h2 b, h3 b, h4 b {
  font-weight: inherit !important;
}

/* Bold links: the underline marks the link, so drop the bold. */
.srst-prod-link {
  font-weight: 500 !important;
}

/* Second pass: everything the site-wide scan still found. */

/* Tables: no capitals anywhere; a coloured header loses its bold. */
th, td, dt {
  text-transform: none !important;
  letter-spacing: normal !important;
}
.srpr-table th, .srcm-table th, .srpr-col-price {
  font-weight: 500 !important;
}

/* More labels set in capitals. */
.srpk-coming, .srk-cta-kicker, .su-sol-eyebrow, .sr-legal__entity,
.shr-eyebrow, .p-crosslink-back, .p-back, .p-crosslinks a, .p-crumb a,
.p-trust-card span, .srlg-flow-label, .srlg-flow-label span,
.phase-card p, .dm-wp p, .elementor-widget-container p,
.sr-post-card__category, a.active {
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* More accent text that was also bold: colour only. */
.su-more, .su-hl, .srcs-more, .srco-tl-rating-pill, .shr-accent,
.srk-ad-add, .p-link, .phase-card p, .srpk-coming, .srk-cta-kicker,
.su-sol-eyebrow, .sr-legal__entity, .shr-eyebrow, .p-crosslink-back,
.p-crosslinks a, .sr-sol-industries a, .sr-legal-notice__archive a,
.dm-wp p {
  font-weight: 500 !important;
}

/* Bold words in body copy: bold only, in the text colour. */
.elementor-widget-container strong, .dm-wp strong, .step-row strong,
.elementor-widget-container b, .entry-content strong {
  color: inherit !important;
}

/* Third pass: some pages carry inline <style> blocks with very specific
   !important rules (e.g. "html body.shr-wp-brief .tech-block .shr-tech-table
   td:first-child"). Two :not(#_) clauses lift these selectors above any of
   them without touching those pages. */
html body :is(th, td, dt):not(#_a):not(#_b),
html body :is(.dm-wp, .phase-card, .elementor-widget-container) p:not(#_a):not(#_b),
html body .blog-category-pills a:not(#_a):not(#_b) {
  text-transform: none !important;
  letter-spacing: normal !important;
}
html body :is(.dm-wp, .elementor-widget-container, .step-row, .entry-content) :is(strong, b):not(#_a):not(#_b) {
  color: inherit !important;
}
/* Weight comes off only on these named labels. Body paragraphs, spans,
   dt and Elementor button text keep their own weight: the rules above
   already take their capitals off, so any bold left is the one emphasis
   (review, 5 Nov 2026: a catch-all here turned body copy 400 to 500 and
   button labels 600 to 500 on every Elementor page). */
html body :is(.phase-card p, .srst-xcard-fig span, .shr-mk-section a, .shr-container a):not(#_a):not(#_b),
html body :is(.srm-fact, .srst-facts, .srst-fact--shared, .srdv-stat, .srct-reach-item) dt:not(#_a):not(#_b),
html body :is(.elementor-element-82d476e p, .elementor-element-b9c27d4 span):not(#_a):not(#_b) {
  font-weight: 500 !important;
}
html body :is(.shr-tech-table td, .srst-release-line span, .srk-ad-badge b, .su-behind-head a):not(#_a):not(#_b) {
  font-weight: 500 !important;
}
/* Italics inside a heading: the heading is already the emphasis. */
html body :is(h1, h2, h3, h4) :is(em, i):not(#_a):not(#_b) {
  font-style: normal !important;
}
