/* Rhema Health CMS — small additions to the original compiled stylesheet (style.css). */
.cms-hidden { display: none !important; }
.js .cms-js-hide { display: none; }
.no-loader #page-loader { display: none !important; }
.cms-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.cms-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Without JavaScript, reveal-on-scroll content must still be visible. */
html:not(.js) .reveal { opacity: 1; transform: none; }

/* Keyboard access for desktop dropdown menus. */
.group:focus-within > .cms-dropdown { visibility: visible; opacity: 1; transform: none; }

.cms-alert-error { border: 1px solid #fecaca; background: #fef2f2; color: #991b1b; border-radius: 1rem; padding: 1rem 1.25rem; font-size: .875rem; }
.cms-alert-error ul { margin: .4rem 0 0 1.1rem; list-style: disc; }

/* Rich text (news articles, policies) */
.cms-prose p { margin: 0 0 1rem; }
.cms-prose p:last-child { margin-bottom: 0; }
.cms-prose h3, .cms-prose h4 { color: var(--color-brand-900); font-weight: 700; margin: 1.5rem 0 .5rem; font-size: 1rem; }
.cms-prose ul, .cms-prose ol { margin: 0 0 1rem 1.25rem; }
.cms-prose ul { list-style: disc; }
.cms-prose ol { list-style: decimal; }
.cms-prose a { color: var(--color-brand-600); text-decoration: underline; }
.cms-prose blockquote { border-left: 3px solid var(--color-brand-200); padding-left: 1rem; color: #475569; font-style: italic; }

a:focus-visible, button:focus-visible { outline: 2px solid var(--color-brand-400); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .animate-marquee, .animate-float-slow, .animated-gradient, .ecg-line { animation: none; }
}
