/* ================================================================
   RHO — DEFINITIVE TYPOGRAPHY  (rho-typography.css)
   Loaded LAST so it wins by cascade order — no !important needed
   on most rules.

   ROOT CAUSE: Pearl (Bootstrap 3) sets  html { font-size: 10px }
   so  1 rem = 10 px  everywhere. All our earlier rem-based rules
   rendered far too small. This file uses PIXEL values exclusively
   so sizes are 100% reliable regardless of any root/html setting.

   SCALE — desktop:
     Hero title      : 80 px   (scales down via vw on responsive)
     Section title   : 34 px
     Sub-heading (h3): 24 px
     Section eyebrow : 13 px
     Section intro   : 20 px
     Body / prose    : 18 px   (industry standard)
     List items      : 18 px
     Card titles     : 19 px
     Card body text  : 17 px
     Form labels     : 15 px
     Form inputs     : 16 px   (prevents iOS zoom)
     Meta / labels   : 14 px
     Tiny captions   : 13 px   (minimum — nothing below this)

   Selectors use  body.single-stm_events  prefix for high
   specificity — overrides any earlier rule without !important.
   ================================================================ */

/* ═══════════════════════════════════════════════════════════════
   0 · GLOBAL BASE
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-page-wrap,
body.single-stm_events .rhop-body,
body.single-stm_events .rhop-layout,
body.single-stm_events .rhop-main,
body.single-stm_events .rhop-section {
    font-size: 18px;
    line-height: 1.7;
    color: #374151;
}

/* ═══════════════════════════════════════════════════════════════
   1 · HERO — TITLE & SUBTITLE
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-hero-title {
    font-size: 80px;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: #ffffff;
    margin-bottom: 20px;
    max-width: 720px;
}
body.single-stm_events .rhop-hero-title span {
    color: var(--accent, #00A54B);
}
body.single-stm_events .rhop-hero-subtitle {
    font-size: 20px;
    line-height: 1.65;
    color: rgba(255,255,255,0.90);
    margin-bottom: 28px;
    max-width: 560px;
}

/* Hero tag row / code badge */
body.single-stm_events .rhop-hero-tag-row {
    font-size: 14px;
}
body.single-stm_events .rhop-hero-code {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
}
body.single-stm_events .rhop-hero-provider {
    font-size: 15px;
    color: rgba(255,255,255,0.85);
    line-height: 1.5;
}
body.single-stm_events .rhop-hero-provider a {
    color: rgba(255,255,255,0.95);
}

/* Hero meta pills */
body.single-stm_events .rhop-meta-pill,
body.single-stm_events .rhop-hero-date-pill {
    font-size: 14px;
    padding: 7px 16px;
}

/* Hero CTA buttons */
body.single-stm_events .rhop-btn {
    font-size: 16px;
    font-weight: 700;
}
body.single-stm_events .rhop-btn--lg {
    font-size: 17px;
    padding: 14px 28px;
}

/* ═══════════════════════════════════════════════════════════════
   2 · BOOKING CARD
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-booking-card-head {
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
}
body.single-stm_events .rhop-booking-date {
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}
body.single-stm_events .rhop-booking-time {
    font-size: 16px;
    color: #374151;
}
body.single-stm_events .rhop-booking-loc {
    font-size: 15px;
    color: #6b7280;
}
body.single-stm_events .rhop-cd-val {
    font-size: 26px;
    font-weight: 900;
}
body.single-stm_events .rhop-cd-lbl {
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
body.single-stm_events .rhop-bs-val {
    font-size: 17px;
    font-weight: 900;
}
body.single-stm_events .rhop-bs-lbl {
    font-size: 11px;
    letter-spacing: 0.05em;
}
body.single-stm_events .rhop-booking-cta .rhop-btn {
    font-size: 15px;
    padding: 12px 14px;
}
body.single-stm_events .rhop-seats-label {
    font-size: 14px;
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
   3 · BREADCRUMB
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-breadcrumb,
body.single-stm_events .rhop-breadcrumb a,
body.single-stm_events .rhop-breadcrumb span {
    font-size: 14px;
    color: #6b7280;
}

/* ═══════════════════════════════════════════════════════════════
   4 · SECTION HEADINGS
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-section-eyebrow {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
body.single-stm_events .rhop-section-title,
body.single-stm_events .rhop-section h2 {
    font-size: 34px;
    font-weight: 800;
    line-height: 1.2;
    color: #0f1b2d;
    margin-bottom: 10px;
}
body.single-stm_events .rhop-section h3,
body.single-stm_events .rhop-sub-heading,
body.single-stm_events .rhop-accred-title {
    font-size: 24px;
    font-weight: 700;
    color: #0f1b2d;
    line-height: 1.3;
}
body.single-stm_events .rhop-section-intro {
    font-size: 20px;
    line-height: 1.7;
    color: #374151;
    margin-bottom: 24px;
}

/* ═══════════════════════════════════════════════════════════════
   5 · BODY PROSE
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-section p,
body.single-stm_events .rhop-overview-text,
body.single-stm_events .rhop-section-body,
body.single-stm_events .rhop-layout p,
body.single-stm_events .rhop-main p {
    font-size: 18px;
    line-height: 1.78;
    color: #374151;
}

/* ═══════════════════════════════════════════════════════════════
   6 · OVERVIEW / WHY GRID
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-why-item h3,
body.single-stm_events .rhop-why-title {
    font-size: 19px;
    font-weight: 700;
    color: #0f1b2d;
}
body.single-stm_events .rhop-why-item p,
body.single-stm_events .rhop-why-body {
    font-size: 17px;
    line-height: 1.65;
    color: #374151;
}

/* ═══════════════════════════════════════════════════════════════
   7 · LEARNING OBJECTIVES
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-obj-item,
body.single-stm_events .rhop-obj-list li {
    font-size: 18px;
    line-height: 1.65;
    color: #1a2d4a;
}
body.single-stm_events .rhop-obj-num {
    font-size: 14px;
    font-weight: 800;
}

/* ═══════════════════════════════════════════════════════════════
   8 · AUDIENCE CARDS
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-audience-item strong,
body.single-stm_events .rhop-audience-card strong {
    font-size: 17px;
    font-weight: 700;
}
body.single-stm_events .rhop-audience-card p,
body.single-stm_events .rhop-audience-item p {
    font-size: 16px;
    line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════════
   9 · ACCREDITATION SECTION
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-accred-desc {
    font-size: 17px;
    line-height: 1.7;
    color: #374151;
}
body.single-stm_events .rhop-accred-perks li {
    font-size: 17px;
    line-height: 1.6;
}
body.single-stm_events .rhop-accred-pill {
    font-size: 13px;
    font-weight: 600;
}
body.single-stm_events .rhop-accred-badge-label {
    font-size: 13px;
    font-weight: 600;
}
body.single-stm_events .rhop-accred-link {
    font-size: 15px;
    font-weight: 600;
}
body.single-stm_events .rhop-cpd-val {
    font-size: 36px;
    font-weight: 900;
}
body.single-stm_events .rhop-cpd-lbl {
    font-size: 14px;
}

/* ═══════════════════════════════════════════════════════════════
   10 · TESTIMONIALS
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-test-quote,
body.single-stm_events .rhop-test-card p {
    font-size: 18px;
    line-height: 1.75;
    color: #374151;
}
body.single-stm_events .rhop-test-stars {
    font-size: 18px;
}
body.single-stm_events .rhop-test-author strong {
    font-size: 16px;
    font-weight: 700;
    color: #0f1b2d;
}
body.single-stm_events .rhop-test-author span {
    font-size: 14px;
    color: #6b7280;
}
body.single-stm_events .rhop-classroom-caption {
    font-size: 14px;
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
   11 · REGISTRATION FORM
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-field label {
    font-size: 15px;
    font-weight: 600;
    color: #374151;
}
body.single-stm_events .rhop-field input,
body.single-stm_events .rhop-field select,
body.single-stm_events .rhop-field textarea {
    font-size: 16px;   /* 16px prevents iOS auto-zoom */
    padding: 12px 14px;
}
body.single-stm_events .rhop-field--check label {
    font-size: 14px;
    font-weight: 400;
}
body.single-stm_events .rhop-form-note {
    font-size: 14px;
    line-height: 1.6;
}
body.single-stm_events .rhop-form-submit,
body.single-stm_events .rhop-btn--submit {
    font-size: 17px;
    font-weight: 700;
    padding: 15px 32px;
}

/* Register summary box */
body.single-stm_events .rhop-reg-box h3 {
    font-size: 18px;
    font-weight: 800;
}
body.single-stm_events .rhop-reg-detail {
    font-size: 16px;
    line-height: 1.55;
}
body.single-stm_events .rhop-wa-btn {
    font-size: 16px;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════
   12 · SIDEBAR CTA
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rhop-sb-cta-tag {
    font-size: 11px;
    letter-spacing: 0.08em;
}
body.single-stm_events .rhop-sb-cta-date strong {
    font-size: 17px;
    font-weight: 800;
}
body.single-stm_events .rhop-sb-cta-date span {
    font-size: 14px;
}
body.single-stm_events .rhop-sb-cta-loc {
    font-size: 13px;
}

/* Other programs list */
body.single-stm_events .rhop-other-tag {
    font-size: 11px;
}
body.single-stm_events .rhop-other-info strong {
    font-size: 15px;
    font-weight: 700;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}
body.single-stm_events .rhop-other-info span {
    font-size: 13px;
}

/* Stats strip */
body.single-stm_events .rhop-stat-val {
    font-size: 28px;
    font-weight: 800;
}
body.single-stm_events .rhop-stat-lbl {
    font-size: 12px;
    letter-spacing: 0.05em;
}

/* ═══════════════════════════════════════════════════════════════
   13 · SIDEBAR PROGRAMS PANEL (rho-programs-sidebar)
   ═══════════════════════════════════════════════════════════════ */
body.single-stm_events .rho-sb-heading {
    font-size: 17px;
    font-weight: 800;
}
body.single-stm_events .rho-sb-sub {
    font-size: 14px;
}
body.single-stm_events .rho-sb-stat-val {
    font-size: 18px;
    font-weight: 800;
    color: #fff;
}
body.single-stm_events .rho-sb-stat-lbl {
    font-size: 11px;
    letter-spacing: 0.06em;
}
body.single-stm_events .rho-sb-card-name {
    font-size: 16px;
    font-weight: 800;
    color: #0f1b2d;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}
body.single-stm_events .rho-sb-tagline {
    font-size: 14px;
    color: #4b5563;
    line-height: 1.45;
}
body.single-stm_events .rho-sb-tag {
    font-size: 11px;
    font-weight: 700;
}
body.single-stm_events .rho-sb-meta-item {
    font-size: 13px;
    color: #4b5563;
}
body.single-stm_events .rho-sb-cta-btn {
    font-size: 15px;
    font-weight: 700;
    padding: 11px 14px;
}
body.single-stm_events .rho-sb-bottom-text {
    font-size: 14px;
    font-weight: 600;
}
body.single-stm_events .rho-sb-wa-btn,
body.single-stm_events .rho-sb-email-btn {
    font-size: 14px;
    padding: 11px 14px;
    font-weight: 700;
}
body.single-stm_events .rho-sb-bundle-note {
    font-size: 13px;
}

/* ═══════════════════════════════════════════════════════════════
   14 · RESPONSIVE — TABLET  ≤ 1024 px
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    body.single-stm_events .rhop-hero-title {
        font-size: 60px;
    }
    body.single-stm_events .rhop-section-title,
    body.single-stm_events .rhop-section h2 {
        font-size: 30px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   15 · RESPONSIVE — MOBILE  ≤ 768 px
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    body.single-stm_events .rhop-hero-title {
        font-size: 42px;
    }
    body.single-stm_events .rhop-hero-subtitle {
        font-size: 17px;
    }
    body.single-stm_events .rhop-hero-provider {
        font-size: 14px;
    }
    body.single-stm_events .rhop-section-title,
    body.single-stm_events .rhop-section h2 {
        font-size: 26px;
    }
    body.single-stm_events .rhop-section h3,
    body.single-stm_events .rhop-sub-heading,
    body.single-stm_events .rhop-accred-title {
        font-size: 21px;
    }
    body.single-stm_events .rhop-section-intro {
        font-size: 17px;
    }
    body.single-stm_events .rhop-section p,
    body.single-stm_events .rhop-layout p,
    body.single-stm_events .rhop-main p {
        font-size: 16px;
    }
    body.single-stm_events .rhop-obj-item,
    body.single-stm_events .rhop-obj-list li {
        font-size: 16px;
    }
    body.single-stm_events .rhop-why-item p,
    body.single-stm_events .rhop-audience-card p,
    body.single-stm_events .rhop-audience-item p,
    body.single-stm_events .rhop-accred-desc,
    body.single-stm_events .rhop-accred-perks li {
        font-size: 16px;
    }
    body.single-stm_events .rhop-test-quote,
    body.single-stm_events .rhop-test-card p {
        font-size: 16px;
    }
    body.single-stm_events .rhop-btn--lg {
        font-size: 16px;
        padding: 13px 22px;
    }
    body.single-stm_events .rhop-booking-date {
        font-size: 18px;
    }
    body.single-stm_events .rhop-stat-val {
        font-size: 22px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   16 · RESPONSIVE — SMALL MOBILE  ≤ 480 px
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
    body.single-stm_events .rhop-hero-title {
        font-size: 34px;
    }
    body.single-stm_events .rhop-hero-subtitle {
        font-size: 16px;
    }
    body.single-stm_events .rhop-section-title,
    body.single-stm_events .rhop-section h2 {
        font-size: 22px;
    }
    body.single-stm_events .rhop-section h3,
    body.single-stm_events .rhop-sub-heading {
        font-size: 19px;
    }
    body.single-stm_events .rhop-section-intro {
        font-size: 16px;
    }
    body.single-stm_events .rhop-meta-pill {
        font-size: 13px;
        padding: 6px 12px;
    }
    body.single-stm_events .rhop-cd-val {
        font-size: 22px;
    }
}

/* END rho-typography.css */
