/* RTV typography: public Bootstrap root is 10px. Keep its layout scale intact.
   These rules own text presentation across legacy bundles and later page styles.
   Icon glyphs, generated content, notation and image artwork are not targeted. */
:root {
  --rtv-type-unit: 1.6rem;
  --rtv-font-body: "Open Sans", Arial, sans-serif;
  --rtv-font-ui: "Poppins", "Open Sans", Arial, sans-serif;
}
body { font-family: var(--rtv-font-body); font-size: var(--rtv-type-unit); line-height: 1.6; }
body p { font-family: var(--rtv-font-body); font-size: var(--rtv-type-unit) !important; line-height: 1.6 !important; }
body a { font-family: inherit; }
body :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--rtv-font-ui) !important;
  font-weight: 600 !important; line-height: 1.25 !important;
  letter-spacing: -.015em !important; text-transform: none !important;
}
body h1 { font-size: clamp(calc(var(--rtv-type-unit) * 2), 3.4vw, calc(var(--rtv-type-unit) * 2.5)) !important; }
body h2 { font-size: clamp(calc(var(--rtv-type-unit) * 1.625), 2.7vw, calc(var(--rtv-type-unit) * 2)) !important; }
body h3 { font-size: calc(var(--rtv-type-unit) * 1.375) !important; line-height: 1.35 !important; }
body h4 { font-size: calc(var(--rtv-type-unit) * 1.125) !important; line-height: 1.4 !important; }
body :is(h5,h6) { font-size: var(--rtv-type-unit) !important; line-height: 1.4 !important; }
body :is(h1,h2,h3,h4,h5,h6) a { font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; letter-spacing: inherit !important; text-transform: none !important; }
body :is(.rtv-hero,.vg-hero,.cg-hero) h1 { font-size: clamp(calc(var(--rtv-type-unit) * 2.5), 4.4vw, calc(var(--rtv-type-unit) * 3.5)) !important; line-height: 1.15 !important; letter-spacing: -.025em !important; }
body .rtv-hero h1 { font-weight: 700 !important; }
body :is(.rtv-lead,.vg-lead,.cg-lead) { font-size: calc(var(--rtv-type-unit) * 1.125) !important; line-height: 1.65 !important; }
body :is(.rtv-reading,.rtv-copy,.video-guide,.cert-guide) p { font-size: calc(var(--rtv-type-unit) * 1.0625) !important; line-height: 1.7 !important; }
body :is(.video-guide,.cert-guide) :is(li,summary) { font-size: var(--rtv-type-unit); line-height: 1.65; }
body :is(.vg-route-card,.rtv-profile-section) h2 { font-size: calc(var(--rtv-type-unit) * 1.5) !important; }
body .rtv-profile-identity h2 { font-size: calc(var(--rtv-type-unit) * 1.625) !important; }
body :is(.catalog-card,.rtv-piece,.rtv-community-card,.rtv-earned-card,.rtv-purchase-card) :is(h2,h3) { font-size: calc(var(--rtv-type-unit) * 1.125) !important; line-height: 1.5 !important; }
body :is(.vg-dialog-head,.cg-dialog-header) h2 { font-size: calc(var(--rtv-type-unit) * 1.375) !important; }
body .white-popup-block :is(h3,h4) { font-size: calc(var(--rtv-type-unit) * 1.5) !important; }
body .white-popup-block :is(h3,h4)::first-letter { text-transform: uppercase; }
body :is(.vg-small,.vg-note,.cg-note,.cg-small,.file-upload-hint,.rtv-meta,.rtv-count,.rtv-review-heading,.rtv-notice,.rtv-profile-identity p,.rtv-genre-name,.rtv-genre-level,.rtv-genre-points,figcaption,small,.form-text,.help-block) { font-family: var(--rtv-font-body); font-size: calc(var(--rtv-type-unit) * .875) !important; line-height: 1.5 !important; }
body :is(.vg-eyebrow,.cg-eyebrow,.rtv-kicker) { font-size: calc(var(--rtv-type-unit) * .8125) !important; font-weight: 700 !important; line-height: 1.5 !important; letter-spacing: .08em !important; }
body :is(.rtv-badge,.rtv-unread,.rtv-account-count,.custom-sub-notif) { font-family: var(--rtv-font-body); font-size: calc(var(--rtv-type-unit) * .75) !important; font-weight: 600; line-height: 1.4 !important; font-variant-numeric: tabular-nums; }
body .rtv-comment { font-size: var(--rtv-type-unit) !important; line-height: 1.7 !important; }

/* All navigation levels share one family; dropdown weight signals hierarchy. */
body :is(#navbar-menu a,.rtv-account-nav>a,.custom-nav a,.nav-pills>li>a,.nav-tabs>li>a,.vg-nav a,.cg-journey a,.catalog-nav a,.pagination a,.pagination span,#rtv-menu-toggle) {
  font-family: var(--rtv-font-ui) !important; font-size: calc(var(--rtv-type-unit) * .9375) !important;
  font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: normal !important; text-transform: none !important;
}
body #navbar-menu .dropdown-menu a { font-weight: 500 !important; line-height: 1.5 !important; }
body #navbar-menu .dropdown-menu .title { font-family: var(--rtv-font-ui) !important; font-size: calc(var(--rtv-type-unit) * .875) !important; font-weight: 600 !important; line-height: 1.5 !important; letter-spacing: .02em !important; text-transform: none !important; }
body :is(.rtv-account-nav>a,.custom-nav a,.nav-tabs>li>a,.nav-pills>li>a) { min-height: 44px; }
body .rtv-account-nav>a { gap: 8px; padding: 11px 14px; }
body :is(.rtv-account-count,.custom-sub-notif) { flex-shrink: 0; min-width: 22px; }
@media(min-width:992px) {
  body nav.navbar.bootsnav ul.nav>li>a { padding-left: 12px; padding-right: 12px; }
  body #navbar-menu>ul.nav { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
  body #navbar-menu>ul.nav>li { flex: 0 0 auto; }
  body #navbar-menu>ul.nav>li>a.dropdown-toggle { max-width: 240px; overflow-wrap: anywhere; }
}

/* Form text stays at 16px. Do not restyle checkboxes, range controls or icons. */
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]),textarea,select,.form-control,.form-select,.nice-select,.nice-select .current,.nice-select .option,.select2-container .select2-selection,.select2-results__option) {
  font-family: var(--rtv-font-body) !important; font-size: var(--rtv-type-unit) !important;
  font-weight: 400 !important; letter-spacing: normal !important; text-transform: none !important;
}
body :is(input.form-control,textarea.form-control,select.form-control,.form-select,.rtv-filters input,.rtv-filters select) { line-height: 1.5 !important; }
body :is(input.form-control,select.form-control,.form-select,.rtv-filters input,.rtv-filters select) { min-height: 44px; }
body :is(label,.rtv-filters label) { font-family: var(--rtv-font-body); font-size: calc(var(--rtv-type-unit) * .875) !important; line-height: 1.5 !important; font-weight: 600; }
body ::placeholder { font-size: inherit; font-family: inherit; text-transform: none; }
body :is(button:not(.close):not(.btn-close):not([class*="fa-"]),input[type=submit],input[type=button],.btn,.rtv-button,.vg-button,.cg-button,.custom-button-primary,.custom-file-upload,.catalog-button) {
  font-family: var(--rtv-font-ui) !important; font-size: calc(var(--rtv-type-unit) * .9375) !important;
  font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: normal !important; text-transform: none !important;
}
body :is(.btn,.rtv-button,.vg-button,.cg-button,.custom-button-primary) { white-space: normal; }
body :is(.btn-sm,.btn-xsm,.btn-sm-pro,.rtv-text-button) { font-size: calc(var(--rtv-type-unit) * .875) !important; }
body :is(.rtv-feedback summary,.rtv-inline-feedback,summary) { font-family: var(--rtv-font-body); font-size: var(--rtv-type-unit) !important; line-height: 1.5 !important; font-weight: 600; }
body :is(th,td) { font-family: var(--rtv-font-body) !important; font-size: calc(var(--rtv-type-unit) * .9375) !important; line-height: 1.5 !important; }
body th { font-weight: 600 !important; text-transform: none !important; letter-spacing: normal !important; }
body :is(.rtv-piece-score,.rtv-stat,.rtv-genre-points,.points-display,td) { font-variant-numeric: tabular-nums; }
body footer :is(p,li,a) { font-size: calc(var(--rtv-type-unit) * .875) !important; line-height: 1.6 !important; }
body footer :is(h3,h4,h5) { font-size: calc(var(--rtv-type-unit) * 1.125) !important; }
@media(max-width:991px) {
  body :is(#navbar-menu a,.rtv-account-nav>a,.custom-nav a,.nav-pills>li>a,.nav-tabs>li>a,.vg-nav a,.cg-journey a,#rtv-menu-toggle) { font-size: var(--rtv-type-unit) !important; }
  body #navbar-menu .dropdown-menu a { white-space: normal; }
}
@media(max-width:767px) {
  body h3 { font-size: calc(var(--rtv-type-unit) * 1.25) !important; }
  body :is(.rtv-reading,.rtv-copy,.video-guide,.cert-guide) p { font-size: var(--rtv-type-unit) !important; }
  body :is(.rtv-lead,.vg-lead,.cg-lead) { font-size: calc(var(--rtv-type-unit) * 1.0625) !important; }
  body .rtv-account-nav>a { flex: 1 1 44%; padding: 10px 8px; }
  body :is(.btn,.rtv-button,.vg-button,.cg-button,.custom-button-primary,button[type=submit]) { font-size: var(--rtv-type-unit) !important; }
  body :is(.btn-sm,.btn-xsm,.btn-sm-pro,.rtv-text-button) { font-size: calc(var(--rtv-type-unit) * .875) !important; }
}
