/**
 * Frontend styles for Resource Center access/login pages.
 *
 * These rules are intentionally scoped to plugin-added Resource Center body
 * classes and use --rarc-* tokens that map to RoofAdvisor theme tokens.
 */
body.ra-resource-center-page {
	--rarc-color-primary: var(--ra-link-color, #185FA5);
	--rarc-color-primary-dark: var(--ra-link-hover-color, #0C447C);
	--rarc-color-on-primary: var(--color-white, #fff);
	--rarc-color-surface: var(--ra-card-bg, var(--bg-white, #fff));
	--rarc-color-surface-muted: var(--ra-surface-muted, var(--bg-gray-light, #f8f8f8));
	--rarc-color-heading: var(--ra-text-heading, var(--color-black, #222));
	--rarc-color-text: var(--ra-text-body, var(--bg-gray-dark, #444));
	--rarc-color-muted: var(--ra-text-muted, #667085);
	--rarc-color-border: var(--color-border-soft, #e0e0e0);
	--rarc-color-border-muted: var(--color-border-muted, #cfcfcf);
	--rarc-card-radius: var(--radius-sm, 4px);
	--rarc-control-radius: var(--radius-sm, 4px);
	--rarc-space-1: var(--space-1, 8px);
	--rarc-space-1-5: var(--space-1-5, 12px);
	--rarc-space-2: var(--space-2, 16px);
	--rarc-space-3: var(--space-3, 24px);
	--rarc-space-4: var(--space-4, 32px);
	--rarc-font-xs: var(--font-size-xs, 12px);
	--rarc-font-sm: var(--font-size-sm, 14px);
	--rarc-font-md: var(--font-size-md, 16px);
	--rarc-line-normal: var(--line-height-normal, 1.5);
}

@media (prefers-color-scheme: dark) {
	body:not(.ra-theme-light).ra-resource-center-page {
		--rarc-color-primary: #60a5fa;
		--rarc-color-primary-dark: #bfdbfe;
		--rarc-color-surface: var(--ra-card-bg, #111827);
		--rarc-color-surface-muted: var(--ra-surface-muted, #1f2937);
		--rarc-color-heading: var(--ra-text-heading, #f7fafc);
		--rarc-color-text: var(--ra-text-body, #d7dde6);
		--rarc-color-muted: var(--ra-text-muted, #aeb8c5);
		--rarc-color-border: var(--color-border-soft, rgba(255,255,255,.14));
		--rarc-color-border-muted: var(--color-border-muted, rgba(255,255,255,.22));
	}
}

body.ra-theme-dark.ra-resource-center-page {
	--rarc-color-primary: #60a5fa;
	--rarc-color-primary-dark: #bfdbfe;
	--rarc-color-surface: var(--ra-card-bg, #111827);
	--rarc-color-surface-muted: var(--ra-surface-muted, #1f2937);
	--rarc-color-heading: var(--ra-text-heading, #f7fafc);
	--rarc-color-text: var(--ra-text-body, #d7dde6);
	--rarc-color-muted: var(--ra-text-muted, #aeb8c5);
	--rarc-color-border: var(--color-border-soft, rgba(255,255,255,.14));
	--rarc-color-border-muted: var(--color-border-muted, rgba(255,255,255,.22));
}

body.ra-resource-center-access-page .gform_wrapper,
body.ra-resource-center-login-page form,
body.ra-resource-center-content-page .gform_wrapper {
	max-width: 760px;
	margin: var(--rarc-space-4) auto;
	padding: var(--rarc-space-3);
	color: var(--rarc-color-text);
	background: var(--rarc-color-surface);
	border: 1px solid var(--rarc-color-border);
	border-radius: var(--rarc-card-radius);
}

body.ra-resource-center-access-page .gform_wrapper *,
body.ra-resource-center-login-page form *,
body.ra-resource-center-content-page .gform_wrapper * {
	box-sizing: border-box;
}

body.ra-resource-center-access-page .gform_heading,
body.ra-resource-center-content-page .gform_heading {
	margin-bottom: var(--rarc-space-2);
}

body.ra-resource-center-access-page .gform_title,
body.ra-resource-center-content-page .gform_title {
	color: var(--rarc-color-heading);
}

body.ra-resource-center-access-page .gform_description,
body.ra-resource-center-content-page .gform_description,
body.ra-resource-center-login-page form p {
	color: var(--rarc-color-muted);
	font-size: var(--rarc-font-sm);
	line-height: var(--rarc-line-normal);
}

body.ra-resource-center-access-page .gfield_label,
body.ra-resource-center-content-page .gfield_label,
body.ra-resource-center-login-page label {
	display: block;
	margin-bottom: var(--rarc-space-1);
	color: var(--rarc-color-heading);
	font-size: var(--rarc-font-sm);
	font-weight: 700;
}

body.ra-resource-center-access-page .ginput_container input,
body.ra-resource-center-access-page .ginput_container select,
body.ra-resource-center-access-page .ginput_container textarea,
body.ra-resource-center-content-page .ginput_container input,
body.ra-resource-center-content-page .ginput_container select,
body.ra-resource-center-content-page .ginput_container textarea,
body.ra-resource-center-login-page input[type="email"],
body.ra-resource-center-login-page input[type="text"] {
	width: 100%;
	color: var(--rarc-color-text);
	background: var(--rarc-color-surface);
	border: 1px solid var(--rarc-color-border-muted);
	border-radius: var(--rarc-control-radius);
	font: inherit;
	font-size: var(--rarc-font-md);
}

body.ra-resource-center-access-page .ginput_container input:focus,
body.ra-resource-center-access-page .ginput_container select:focus,
body.ra-resource-center-access-page .ginput_container textarea:focus,
body.ra-resource-center-content-page .ginput_container input:focus,
body.ra-resource-center-content-page .ginput_container select:focus,
body.ra-resource-center-content-page .ginput_container textarea:focus,
body.ra-resource-center-login-page input[type="email"]:focus,
body.ra-resource-center-login-page input[type="text"]:focus {
	border-color: var(--rarc-color-primary);
	outline: 2px solid color-mix(in srgb, var(--rarc-color-primary) 28%, transparent);
	outline-offset: 1px;
}

body.ra-resource-center-access-page .gform_button, body.ra-resource-center-content-page .gform_button, body.ra-resource-center-login-page form button, body.ra-resource-center-login-page input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px var(--rarc-space-3);
	color: var(--rarc-color-on-primary);
	background: var(--rarc-color-primary);
	border: 1px solid var(--rarc-color-primary);
	border-radius: var(--rarc-control-radius);
	font-size: var(--rarc-font-md);
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

body.ra-resource-center-access-page .gform_button:hover,
body.ra-resource-center-content-page .gform_button:hover,
body.ra-resource-center-login-page button:hover,
body.ra-resource-center-login-page input[type="submit"]:hover {
	color: var(--rarc-color-on-primary);
	background: var(--rarc-color-primary-dark);
	border-color: var(--rarc-color-primary-dark);
}

body.ra-resource-center-access-page .gfield_description,
body.ra-resource-center-content-page .gfield_description,
body.ra-resource-center-access-page .validation_message,
body.ra-resource-center-content-page .validation_message {
	color: var(--rarc-color-muted);
	font-size: var(--rarc-font-xs);
	line-height: var(--rarc-line-normal);
}

body.ra-resource-center-access-page .gform_validation_errors,
body.ra-resource-center-content-page .gform_validation_errors {
	padding: var(--rarc-space-1-5);
	background: var(--rarc-color-surface-muted);
	border: 1px solid var(--rarc-color-border);
	border-radius: var(--rarc-card-radius);
}

@media (max-width: 700px) {
	body.ra-resource-center-access-page .gform_wrapper,
	body.ra-resource-center-login-page form,
	body.ra-resource-center-content-page .gform_wrapper {
		margin: var(--rarc-space-3) auto;
		padding: var(--rarc-space-2);
	}
}
