/* Neutral defaults for [lrw_auth] (sign in) and [lrw_register] (create account).
   Every selector is wrapped in :where(), so it has no weight: any theme's own
   styling, including the Lil Red Wagon theme's home.css, overrides it. */
/* ---------- sign in card -------------------------------------
   Wraps wp_login_form(), so the markup below is WordPress's own
   (#loginform, .login-username, .login-submit and friends). */
:where(.lrwh-auth) {
	background: #fff;
	border: 1px solid var(--h-line, #e5e3de);
	border-radius: var(--h-r, 26px);
	padding: 32px;
	box-shadow: 0 24px 50px -30px rgba(31, 35, 40, 0.55);
}
:where(.lrwh-auth h3) {
	font-family: var(--h-serif, Georgia, 'Times New Roman', serif);
	font-size: 1.65rem;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.014em;
	color: var(--h-ink, #1f2328);
}
:where(.lrwh-auth > p) {
	margin-top: 7px;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--h-muted, #6b7280);
}
:where(.lrwh-auth form) {
	margin-top: 22px;
}
:where(.lrwh-auth .login-username),
:where(.lrwh-auth .login-password) {
	margin-bottom: 15px;
}
:where(.lrwh-auth label) {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--h-ink, #1f2328);
	margin-bottom: 7px;
}
:where(.lrwh-auth input[type='text']),
:where(.lrwh-auth input[type='password']) {
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #ddd7cd;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	font-family: var(--h-sans, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);
	font-size: 1rem;
	color: var(--h-ink, #1f2328);
	-webkit-appearance: none;
	appearance: none;
}
:where(.lrwh-auth input[type='text']:focus),
:where(.lrwh-auth input[type='password']:focus) {
	outline: none;
	border-color: var(--h-red, #a4262c);
	box-shadow: 0 0 0 3px rgba(164, 38, 44, 0.13);
}
:where(.lrwh-auth .login-remember label) {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
	font-size: 0.88rem;
	color: var(--h-muted, #6b7280);
	margin: 0 0 16px;
}
:where(.lrwh-auth .login-remember input) {
	margin: 0;
}
:where(.lrwh-auth .login-submit) {
	margin: 0;
}
:where(.lrwh-auth input[type='submit']),
:where(.lrwh-auth .lrwh-auth-submit) {
	display: block;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 24px;
	border: 0;
	border-radius: 12px;
	background: var(--h-red, #a4262c);
	color: #fff;
	font-family: var(--h-sans, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);
	font-size: 1rem;
	font-weight: 600;
	line-height: 52px;
	text-align: center;
	text-transform: none;
	letter-spacing: 0.005em;
	cursor: pointer;
	box-shadow: 0 10px 26px -12px rgba(164, 38, 44, 0.7);
	transition: background 0.18s ease, transform 0.18s ease;
}
:where(.lrwh-auth input[type='submit']:hover),
:where(.lrwh-auth .lrwh-auth-submit:hover) {
	background: var(--h-red-deep, #7d1c21);
	color: #fff;
	transform: translateY(-1px);
}
:where(.lrwh-auth-alt) {
	margin-top: 14px;
	text-align: center;
	font-size: 0.9rem;
	color: var(--h-muted, #6b7280);
}
:where(.lrwh-auth-alt a) {
	color: var(--h-red, #a4262c);
	font-weight: 600;
}
:where(.lrwh-auth-alt a:hover) {
	text-decoration: underline;
}
:where(.lrwh-auth-alt .lrwh-auth-muted) {
	color: var(--h-muted, #6b7280);
	font-weight: 400;
}
@media (max-width: 849px) {/* Below the hero's two-column break the card is a long way down the
	   page; tighten it so it does not dominate the fold on a phone. */
:where(.lrwh-auth) { padding: 24px; margin-top: 8px; }
}/* ---------- create account -----------------------------------
   Shares the sign-in card's shell; these are only the parts a
   longer form needs — the paired name row, per-field errors and
   the hint under the password. */
:where(.lrwh-auth-register) {
	max-width: 520px;
}
:where(.lrwh-auth-form) {
	margin-top: 22px;
}
:where(.lrwh-auth-row) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
:where(.lrwh-auth-field) {
	margin: 0 0 15px;
}
:where(.lrwh-auth-field label) {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--h-ink, #1f2328);
	margin-bottom: 7px;
}
:where(.lrwh-auth-field label b) {
	color: var(--h-red, #a4262c);
	font-weight: 600;
}
:where(.lrwh-auth-hint) {
	display: block;
	font-size: 0.8rem;
	color: var(--h-muted, #6b7280);
	margin: -4px 0 7px;
}
:where(.lrwh-auth .lrwh-auth-field input) {
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #ddd7cd;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	font-family: var(--h-sans, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);
	font-size: 1rem;
	color: var(--h-ink, #1f2328);
	-webkit-appearance: none;
	appearance: none;
}
:where(.lrwh-auth .lrwh-auth-field input:focus) {
	outline: none;
	border-color: var(--h-red, #a4262c);
	box-shadow: 0 0 0 3px rgba(164, 38, 44, 0.13);
}
:where(.lrwh-auth-field.has-error input) {
	border-color: var(--h-red, #a4262c);
}
:where(.lrwh-auth-error) {
	display: block;
	margin-top: 6px;
	font-size: 0.83rem;
	line-height: 1.45;
	color: var(--h-red, #a4262c);
}/* Something that stopped the whole form, not one field. */
:where(.lrwh-auth-notice) {
	margin: 16px 0 0;
	padding: 11px 14px;
	border-radius: 12px;
	background: var(--h-blush, #f7ebeb);
	border: 1px solid #f0dcdb;
	color: var(--h-red-deep, #7d1c21);
	font-size: 0.9rem;
	line-height: 1.5;
}/* The honeypot: out of sight, still reachable by anything automated. */
:where(.lrwh-auth-hp) {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
:where(.lrwh-auth button.lrwh-auth-submit) {
	border: 0;
	cursor: pointer;
	margin-top: 4px;
}/* The page the card sits on. */
:where(.lrwh-auth-page) {
	display: flex;
	justify-content: center;
}
@media (max-width: 520px) {
:where(.lrwh-auth-row) { grid-template-columns: 1fr; gap: 0; }
}
:where(.lrwh-auth-register) { margin-left: auto; margin-right: auto; }/* "I agree to the Terms of Use and Privacy Policy" — a checkbox row, not a text field,
   so it must undo the 50px-tall, full-width input rules above. */
