/* ============================================================
   Regenerve global accessibility layer
   Spec: jet-black text on white, 20px+ body, 28px+ headings,
   bold legible sans-serif, 150% line spacing, 60px+ touch targets,
   no dark mode, no gray text.
   Palette derived from the Regenerve logo (kelly #019444 / lime #90CC15).
   ============================================================ */

:root {
	--rg-black: #000000;
	--rg-bg: #FFFFFF;
	--rg-white: #FFFFFF;
	--rg-green-dark: #00753A;  /* deepened logo kelly — CTAs (white text = 5.8:1) */
	--rg-green: #019444;       /* logo kelly — accents/borders, large text only */
	--rg-lime: #90CC15;        /* logo lime — decorative only, never text */
	--rg-tint: #F2F9E5;        /* pale lime wash for hover/selected states */
	--rg-focus: #0D47A1;       /* visible focus outline */
}

/* Absolute contrast base */
body {
	background: var(--rg-bg) !important;
	color: var(--rg-black) !important;
	font-family: Arial, Roboto, Helvetica, sans-serif !important;
	font-size: 20px !important;
	line-height: 1.5 !important;
}

p, li, td, th, label, input, textarea, select, button, a {
	font-size: 20px;
	line-height: 1.5;
	color: var(--rg-black);
}

h1, h2, h3, h4 {
	color: var(--rg-black);
	font-family: Arial, Roboto, Helvetica, sans-serif;
	font-weight: 700;
	line-height: 1.3;
}
h1 { font-size: 40px; }
h2 { font-size: 32px; }
h3 { font-size: 28px; }
h4 { font-size: 24px; }

@media (max-width: 600px) {
	h1 { font-size: 32px; }
	h2 { font-size: 28px; }
}

/* Links: always underlined, never color-only */
.entry-content a:not(.wp-block-button__link):not(.rg-option) {
	color: var(--rg-green-dark);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	font-weight: 700;
}

/* Massive block-style buttons */
.wp-block-button__link,
.rg-cta {
	display: inline-block;
	min-height: 64px;
	padding: 20px 36px !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	background: var(--rg-green-dark) !important;
	color: var(--rg-white) !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	border: 3px solid var(--rg-green-dark) !important;
}
.wp-block-button__link:hover,
.rg-cta:hover {
	background: var(--rg-black) !important;
	border-color: var(--rg-black) !important;
	color: var(--rg-white) !important;
}

/* Strong visible focus for keyboard / switch users */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 4px solid var(--rg-focus) !important;
	outline-offset: 3px;
}

/* Single-focus sections: generous breathing room */
.rg-section {
	padding: 72px 0;
}
@media (max-width: 600px) {
	.rg-section { padding: 48px 0; }
}
.rg-band {
	background: var(--rg-white);
	border-top: 3px solid var(--rg-black);
	border-bottom: 3px solid var(--rg-black);
}
.rg-band-green {
	background: var(--rg-green-dark);
	border-top: 6px solid var(--rg-lime);
	border-bottom: 6px solid var(--rg-lime);
}
.rg-band-green h2,
.rg-band-green p {
	color: var(--rg-white) !important;
}

/* Responsive video embed: high-contrast frame, large play affordance */
.rg-video {
	position: relative;
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	border: 4px solid var(--rg-black);
	border-radius: 8px;
	overflow: hidden;
	background: var(--rg-black);
}
.rg-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Patient testimonial cards: high-contrast, real text (screen-reader friendly) */
.rg-quote {
	background: var(--rg-white);
	border: 4px solid var(--rg-black);
	border-left: 12px solid var(--rg-green);
	border-radius: 10px;
	padding: 28px 24px;
	height: 100%;
	box-sizing: border-box;
}
.rg-quote h3 {
	color: var(--rg-green-dark);
	margin: 0 0 12px;
}
.rg-quote p {
	margin: 0 0 12px;
}
.rg-quote .rg-quote-attr {
	font-weight: 700;
	text-align: right;
	margin: 0;
}

/* Clinic / equipment photos: same high-contrast frame as videos */
.rg-photo {
	max-width: 860px;
	margin: 0 auto 32px;
}
.rg-photo img {
	display: block;
	width: 100%;
	height: auto;
	border: 4px solid var(--rg-black);
	border-radius: 8px;
}

/* Google Maps embed: same high-contrast frame as videos */
.rg-map {
	position: relative;
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	aspect-ratio: 4 / 3;
	border: 4px solid var(--rg-black);
	border-radius: 8px;
	overflow: hidden;
}
.rg-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Sticky top menu: header stays visible while scrolling */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--rg-white);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.admin-bar header.wp-block-template-part {
	top: 32px;
}

/* Header logo (Regenerve wordmark) */
.wp-block-site-logo img,
.custom-logo {
	max-height: 72px;
	width: auto;
}

/* Kill low-contrast defaults some themes apply */
.has-small-font-size { font-size: 20px !important; }
.entry-content .wp-block-quote,
.entry-content cite {
	color: var(--rg-black);
	font-size: 20px;
}

/* Medical Director bio (Science page) */
.rg-bio {
	border: 3px solid var(--rg-green, #019444);
	border-radius: 12px;
	padding: 32px;
	margin: 48px 0 32px;
	background: #FFFFFF;
}
.rg-bio h2 {
	margin-top: 0;
}
.rg-bio ul {
	font-size: 20px;
	line-height: 1.6;
	padding-left: 28px;
}
.rg-bio li {
	margin-bottom: 8px;
}
.rg-bio-npi {
	font-size: 18px;
	color: #333333;
	border-top: 2px solid var(--rg-green, #019444);
	padding-top: 12px;
}

/* Medically-reviewed byline (all clinical pages) */
.rg-reviewed {
	border-left: 6px solid var(--rg-green, #019444);
	background: var(--rg-hover, #F2F9E5);
	padding: 16px 24px;
	margin: 40px 0 0;
}
.rg-reviewed p {
	font-size: 18px;
	margin: 0;
	color: #000000;
}
.rg-reviewed a {
	color: #00753A;
}
