.mhrf-wrap{
  max-width: 420px;
  margin: 0 auto;
  padding: 26px 18px 60px;
  color: var(--mhrf-text);
}
body{
  background: radial-gradient(1200px 700px at 20% 0%, rgba(192,19,58,.25), transparent 55%),
              radial-gradient(900px 700px at 80% 10%, rgba(192,19,58,.12), transparent 55%),
              var(--mhrf-bg) !important;
}
.mhrf-hero{ margin-bottom: 18px; }
.mhrf-title{
  font-size: 38px;
  letter-spacing: -0.02em;
  margin: 0 0 8px 0;
}
.mhrf-sub{ margin:0; color: var(--mhrf-muted); line-height: 1.45; font-size: 14px;}



/* v1.1.35 – Brand typography enforcement (Registration Flow only)
   UI/body: Manrope (400–700)
   Display/headlines: Fraunces (500–600)
*/
.mhrf-wrap{
  --mhrf-font-ui: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --mhrf-font-display: "Fraunces", Georgia, "Times New Roman", serif;
  font-family: var(--mhrf-font-ui);
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Ensure everything inside inherits UI font unless explicitly set */
.mhrf-wrap *, .mhrf-wrap *::before, .mhrf-wrap *::after{
  font-family: inherit;
}
/* Explicit display typography for key headings */
.mhrf-wrap .mhrf-title,
.mhrf-wrap .mhrf-h1,
.mhrf-wrap h1,
.mhrf-wrap h2,
.mhrf-wrap .mhrf-modal__title,
.mhrf-wrap .mhrf-modal-title{
  font-family: var(--mhrf-font-display);
  font-weight: 600;
  letter-spacing: -0.02em;
}
/* Ritual/quote-style headings if present */
.mhrf-wrap .mhrf-quote,
.mhrf-wrap .mhrf-ritual-title{
  font-family: var(--mhrf-font-display);
  font-weight: 500;
}
/* UI labels, chips, buttons */
.mhrf-wrap label,
.mhrf-wrap .mhrf-label,
.mhrf-wrap .mhrf-step__meta,
.mhrf-wrap .mhrf-chip,
.mhrf-wrap .mhrf-pill{
  font-family: var(--mhrf-font-ui);
  font-weight: 600;
}
/* Form controls */
.mhrf-wrap input,
.mhrf-wrap select,
.mhrf-wrap textarea,
.mhrf-wrap button{
  font-family: var(--mhrf-font-ui);
}
/* Button labels */
.mhrf-wrap .mhrf-btn,
.mhrf-wrap .mhrf-button{
  font-weight: 700;
}
/* Toasts + notices */
.mhrf-wrap .mhrf-toast,
.mhrf-wrap .mhrf-toast-confirm,
.mhrf-wrap .mhrf-notice{
  font-family: var(--mhrf-font-ui);
}
.mhrf-wrap .mhrf-toast__title,
.mhrf-wrap .mhrf-toast-confirm__title{
  font-family: var(--mhrf-font-display);
  font-weight: 600;
}
/* Prevent theme/Elementor from overriding via !important only on the root */
.mhrf-wrap{ font-family: var(--mhrf-font-ui) !important; }

/* v1.1.36 – DOB wheel: center-locked selection + drag + transitions */
.mhrf-wheel-list{
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
}
.mhrf-wheel-list.is-dragging{ cursor: grabbing; }
.mhrf-wheel-list.is-snapping{ scroll-behavior: auto; }

.mhrf-dob-wheel .mhrf-wheel-item{
  transition: transform 180ms ease, opacity 180ms ease;
  will-change: transform, opacity;
}
.mhrf-dob-wheel .mhrf-wheel-item[data-value]{ opacity: .55; }
.mhrf-dob-wheel .mhrf-wheel-item.is-active{ opacity: 1; transform: scale(1.03); }
