/* Hallmark · site typography system · tone: warm editorial · anchor hue: gold */
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 */

/*
 * Send Revival typography roles
 * Display: Newsreader 700
 * Body/UI: IBM Plex Sans 400 / 600 / 700
 */

html,
body {
  overflow-x: clip;
}

body.send-revival-typography {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-body) !important;
  font-weight: var(--sr-weight-body) !important;
  line-height: 1.6 !important;
}

.send-revival-typography :is(button, input, select, textarea, label) {
  font-family: var(--sr-font-body) !important;
}

.send-revival-typography :is(h1, h2, h3, h4, h5, h6) {
  min-width: 0;
  font-family: var(--sr-font-heading) !important;
  font-style: normal !important;
  font-weight: var(--sr-weight-bold) !important;
  letter-spacing: -0.025em !important;
  overflow-wrap: anywhere;
}

.send-revival-typography h1 {
  font-size: var(--sr-text-display) !important;
  line-height: 1.05 !important;
}

.send-revival-typography h2 {
  font-size: var(--sr-text-section) !important;
  line-height: 1.16 !important;
}

.send-revival-typography h3 { font-size: var(--sr-text-h3) !important; line-height: 1.2 !important; }
.send-revival-typography h4 { font-size: var(--sr-text-h4) !important; line-height: 1.25 !important; }
.send-revival-typography h5 { font-size: var(--sr-text-h5) !important; line-height: 1.3 !important; }
.send-revival-typography h6 { font-size: var(--sr-text-h6) !important; letter-spacing: 0 !important; line-height: 1.35 !important; }

.send-revival-typography p {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-body) !important;
  font-weight: var(--sr-weight-body) !important;
  line-height: 1.6 !important;
}

.send-revival-typography :is(strong, b) {
  font-weight: var(--sr-weight-bold) !important;
}

.send-revival-typography :is(
  .eyebrow,
  [class*="eyebrow"],
  [class*="kicker"],
  [class*="optional"],
  .affiliation-card__label,
  .evangelist-directory-alphabet__label,
  .evangelist-directory-stat__label,
  .evangelist-sermon-card__label,
  .leader__label,
  .revival-form-feature__label,
  .revival-row__label,
  .wgbc-tax-directory-search__label,
  .wgbc-tax-directory-stat__label,
  .revival-card__badge
) {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-label) !important;
  font-weight: var(--sr-weight-bold) !important;
  letter-spacing: 0.08em !important;
  line-height: 1.35 !important;
}

/* Keep the single hero eyebrow; repeated profile-section eyebrows are removed. */
.send-revival-typography .sr-evangelist-page section:not(.hero) .eyebrow {
  display: none !important;
}

.send-revival-typography .revival-card-frame--past::before {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-label) !important;
  font-weight: var(--sr-weight-bold) !important;
  letter-spacing: 0.08em !important;
  line-height: 1.35 !important;
}

.send-revival-typography :is(
  .breadcrumb,
  .affiliation-card__location,
  .past-list__date,
  .past-list__details,
  .past-list__name > span,
  .church-panel > p:not(.eyebrow),
  .sermon-panel__heading > p:not(.eyebrow),
  .sermon-card p,
  .evangelist-note,
  small
) {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-support) !important;
  line-height: 1.5 !important;
}

.send-revival-typography :is(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  .revival-btn,
  .load-more-button,
  .sermon-card__button,
  .sr-site-nav__link,
  .sr-site-header__cta,
  .sr-mobile-panel__link,
  .sr-mobile-panel__cta,
  .sr-footer-cta__button
) {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-support) !important;
  font-weight: var(--sr-weight-bold) !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
}

/*
 * Component boundaries: site chrome is interface typography, even where the
 * markup uses semantic heading or paragraph elements. These rules prevent the
 * global content hierarchy from leaking into the header, notice, and footer.
 */
.send-revival-typography .sr-site-footer .sr-footer-cta__heading {
  font-family: var(--sr-font-heading) !important;
  font-size: var(--sr-text-section) !important;
  font-weight: var(--sr-weight-bold) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.16 !important;
}

.send-revival-typography .sr-site-footer .sr-footer-col__title {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-label) !important;
  font-weight: var(--sr-weight-bold) !important;
  letter-spacing: 0.08em !important;
  line-height: 1.35 !important;
}

.send-revival-typography .sr-site-footer :is(
  .sr-footer-cta__text,
  .sr-footer-brand__text,
  .sr-footer-brand__verse,
  .sr-footer-col__link
) {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-support) !important;
  line-height: 1.55 !important;
}

.send-revival-typography .sr-site-footer :is(
  .sr-footer-brand__verse span,
  .sr-site-footer__copy,
  .sr-site-footer__top
) {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-label) !important;
  line-height: 1.35 !important;
}

.send-revival-typography .revival-archive-correction {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-support) !important;
  line-height: 1.5 !important;
}

.send-revival-typography :is(label, input, select, textarea) {
  font-size: var(--sr-text-support) !important;
  line-height: 1.5 !important;
}

.send-revival-typography label {
  font-weight: var(--sr-weight-semibold) !important;
}

.send-revival-typography :is(
  .revival-signup__form,
  .revival-thank-you-form,
  .revival-update-form,
  .revivals-cta
) .ff-el-input--label label {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-support) !important;
  font-weight: var(--sr-weight-semibold) !important;
  line-height: 1.5 !important;
}

.send-revival-typography :is(
  .revival-signup__form,
  .revival-thank-you-form,
  .revival-update-form,
  .revivals-cta
) :is(.ff-el-form-control, .ff-btn, .ff-btn-submit) {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-support) !important;
  line-height: 1.5 !important;
}

.send-revival-typography :is(
  .revival-signup__form,
  .revival-thank-you-form,
  .revival-update-form,
  .revivals-cta
) :is(.ff-btn, .ff-btn-submit) {
  font-weight: var(--sr-weight-bold) !important;
}

.send-revival-typography :is(.church-list a, .evangelist-name, .revival-row__value) {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-body) !important;
  line-height: 1.5 !important;
}

.send-revival-typography .church-list a {
  min-height: 48px;
  font-weight: var(--sr-weight-semibold) !important;
}

.send-revival-typography .past-list__name > span {
  margin-top: 3px;
  font-weight: var(--sr-weight-semibold) !important;
}

.send-revival-typography .revival-card {
  --revival-card-title-size: var(--sr-text-body);
  --revival-card-label-size: var(--sr-text-label);
  --revival-card-value-size: var(--sr-text-body);
  --revival-card-evangelist-size: var(--sr-text-body);
  --revival-card-note-size: var(--sr-text-support);
  --revival-card-button-size: var(--sr-text-support);
}

.send-revival-typography .revival-row__value--church strong {
  font-size: var(--sr-text-body) !important;
  line-height: 1.35 !important;
}

.send-revival-typography .revival-row__value--church span {
  font-size: var(--sr-text-support) !important;
  font-weight: var(--sr-weight-body) !important;
  line-height: 1.5 !important;
}

.send-revival-typography :is(.submit-revival-hero__summary span, .submit-revival-divider span) {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-support) !important;
  font-weight: var(--sr-weight-body) !important;
  line-height: 1.5 !important;
}

.send-revival-typography .submit-revival-field label span {
  font-family: var(--sr-font-body) !important;
  font-size: var(--sr-text-label) !important;
  font-weight: var(--sr-weight-bold) !important;
  line-height: 1.35 !important;
}

.send-revival-typography :is(
  .past-list__date,
  .past-list__details,
  .revival-row__value,
  .revival-card__badge
) {
  font-variant-numeric: tabular-nums;
}

@media (pointer: coarse) {
  .send-revival-typography :is(a.button, button, input[type="button"], input[type="submit"], .revival-btn, .load-more-button) {
    min-height: 48px;
  }
}
