/* Research Dosing Gate - login / register styling.
   Colors mirror the site theme (green #09925D, navy #354262/#1D243C). */
.rdg-auth {
	--rdg-primary: #09925d;
	--rdg-hover: #16b377;
	--rdg-dark: #1d243c;
	--rdg-navy: #354262;
	--rdg-heading: #212121;
	--rdg-body: #6d6d6d;
	--rdg-light: #f7f9fb;
	--rdg-outline: #e5e7eb;
	--rdg-error: #b42318;
	--rdg-error-bg: #fef3f2;
	--rdg-ok-bg: #ecfdf3;
	--rdg-warn-bg: #fffaeb;
	display: flex;
	justify-content: center;
	padding: 32px 16px 56px;
	box-sizing: border-box;
}
.rdg-auth *, .rdg-auth *::before, .rdg-auth *::after { box-sizing: border-box; }

.rdg-card {
	width: 100%;
	max-width: 440px;
	background: #fff;
	border: 1px solid var(--rdg-outline);
	border-top: 4px solid var(--rdg-primary);
	border-radius: 16px;
	padding: 36px 32px 28px;
	box-shadow: 0 10px 30px rgba(29, 36, 60, 0.08), 0 2px 6px rgba(29, 36, 60, 0.04);
	color: var(--rdg-body);
	font-size: 15px;
	line-height: 1.5;
}
.rdg-brand { text-align: center; margin-bottom: 18px; }
.rdg-brand img { max-width: 240px; width: 70%; height: auto; max-height: 110px; display: inline-block; }
.rdg-brand-text { font-size: 22px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rdg-dark); }
.rdg-card h2.rdg-title { margin: 0 0 6px; text-align: center; font-size: 26px; line-height: 1.2; color: var(--rdg-heading); }
.rdg-sub { margin: 0 0 22px; text-align: center; color: var(--rdg-body); }

.rdg-field { margin: 0 0 16px; }
.rdg-field label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--rdg-heading); }
.rdg-field .rdg-hint { display: block; margin-top: 5px; font-size: 12.5px; color: var(--rdg-body); }

.rdg-card input[type="text"],
.rdg-card input[type="email"],
.rdg-card input[type="password"] {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	font: inherit;
	color: var(--rdg-heading);
	background: var(--rdg-light);
	border: 1px solid var(--rdg-outline);
	border-radius: 10px;
	transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
	-webkit-appearance: none;
	appearance: none;
}
.rdg-card input[type="text"]:focus,
.rdg-card input[type="email"]:focus,
.rdg-card input[type="password"]:focus {
	outline: none;
	background: #fff;
	border-color: var(--rdg-primary);
	box-shadow: 0 0 0 3px rgba(9, 146, 93, 0.18);
}
.rdg-pass { position: relative; }
.rdg-pass input { padding-right: 64px !important; }
.rdg-pass button.rdg-toggle {
	position: absolute; top: 50%; right: 8px; transform: translateY(-50%);
	width: auto; height: auto; padding: 6px 8px; margin: 0;
	background: none; border: 0; box-shadow: none;
	color: var(--rdg-navy); font-size: 12.5px; font-weight: 600; cursor: pointer; border-radius: 6px;
}
.rdg-pass button.rdg-toggle:hover { background: var(--rdg-outline); color: var(--rdg-dark); }

.rdg-check { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 18px; font-size: 14px; color: var(--rdg-body); cursor: pointer; }
.rdg-check input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--rdg-primary); }
.rdg-check.rdg-locked { cursor: default; }
.rdg-check.rdg-locked input[type="checkbox"] { opacity: 1; cursor: not-allowed; }
.rdg-check.rdg-optin { padding: 12px 14px; background: var(--rdg-light); border: 1px solid var(--rdg-outline); border-radius: 10px; }

.rdg-card button.rdg-btn {
	display: block; width: 100%; height: 48px; margin: 4px 0 0; padding: 0 20px;
	font: inherit; font-weight: 700; font-size: 16px; line-height: 1;
	color: #fff; background: var(--rdg-primary); border: 0; border-radius: 10px;
	cursor: pointer; text-align: center;
	transition: background 0.15s, transform 0.05s;
	box-shadow: 0 4px 12px rgba(9, 146, 93, 0.28);
}
.rdg-card button.rdg-btn:hover { background: var(--rdg-hover); color: #fff; }
.rdg-card button.rdg-btn:active { transform: translateY(1px); }
.rdg-card button.rdg-btn:focus-visible { outline: 3px solid rgba(9, 146, 93, 0.35); outline-offset: 2px; }
.rdg-card button.rdg-btn-secondary { background: #fff; color: var(--rdg-navy); border: 1px solid var(--rdg-outline); box-shadow: none; }
.rdg-card button.rdg-btn-secondary:hover { background: var(--rdg-light); color: var(--rdg-dark); }

.rdg-links { margin: 20px 0 0; text-align: center; font-size: 14px; }
.rdg-links p { margin: 6px 0; }
.rdg-card a { color: var(--rdg-primary); font-weight: 600; text-decoration: none; }
.rdg-card a:hover { color: var(--rdg-hover); text-decoration: underline; }
.rdg-divider { height: 1px; margin: 24px 0 18px; background: var(--rdg-outline); border: 0; }

.rdg-notice { margin: 0 0 20px; padding: 12px 14px 12px 16px; font-size: 14px; border-radius: 10px; border: 1px solid var(--rdg-outline); border-left-width: 4px; }
.rdg-notice p { margin: 0 0 6px; }
.rdg-notice p:last-child { margin-bottom: 0; }
.rdg-notice.rdg-success { background: var(--rdg-ok-bg); border-color: #abefc6; border-left-color: var(--rdg-primary); color: #05603a; }
.rdg-notice.rdg-error { background: var(--rdg-error-bg); border-color: #fecdca; border-left-color: var(--rdg-error); color: var(--rdg-error); }
.rdg-notice.rdg-suspended { background: var(--rdg-warn-bg); border-color: #fedf89; border-left-color: #b54708; color: #7a2e0e; }
.rdg-notice.rdg-suspended strong { display: block; margin-bottom: 4px; font-size: 15px; font-weight: 700; color: #93370d; }
.rdg-notice.rdg-suspended a.rdg-suspended-link { display: inline-block; margin-top: 6px; padding: 8px 14px; color: #fff; background: var(--rdg-navy); border-radius: 8px; }
.rdg-notice.rdg-suspended a.rdg-suspended-link:hover { background: var(--rdg-dark); color: #fff; text-decoration: none; }

.rdg-trust { margin: 18px 0 0; text-align: center; font-size: 12.5px; color: #9ca3af; }
.rdg-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }

/* The card has its own heading, so hide the theme's page title on these pages. */
body.rdg-auth-page .wp-block-post-title,
body.rdg-auth-page .entry-title,
body.rdg-auth-page .page-title { display: none; }

@media (max-width: 480px) {
	.rdg-card { padding: 28px 20px 22px; border-radius: 14px; }
}
