/**
 * WP2FA PeepSo Integration — login challenge step.
 *
 * The step is injected into every PeepSo login form, including the sidebar
 * widget. That widget is far narrower than the page-width login block, and
 * PeepSo's own row styling lays the field, the button and the fallback link out
 * on one line: in a ~250px column the text input collapses to the width of its
 * icon and the member cannot type the code at all.
 *
 * Everything below forces a vertical stack with a full-width input, so the step
 * behaves identically at any container width. Written logical-property first so
 * it is correct in both RTL and LTR.
 */

.wp2fa-ps-step {
	display: block;
	width: 100%;
	margin-top: 10px;
	box-sizing: border-box;
}

.wp2fa-ps-step .wp2fa-ps-prompt {
	display: block;
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.7;
	white-space: normal;
	word-wrap: break-word;
}

/* The field wrapper is a block of its own, never a flex/inline sibling of the
   button — this is what stops the input from being squeezed to nothing. */
.wp2fa-ps-step .ps-form__field,
.wp2fa-ps-step .ps-form__field--icon {
	display: block;
	width: 100%;
	max-width: 100%;
	float: none;
	margin: 0 0 8px;
	box-sizing: border-box;
}

.wp2fa-ps-step .wp2fa-ps-code {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	text-align: center;
	font-size: 18px;
	letter-spacing: 3px;
	direction: ltr;
}

.wp2fa-ps-step .wp2fa-ps-code::placeholder {
	font-size: 13px;
	letter-spacing: normal;
}

.wp2fa-ps-step .wp2fa-ps-verify {
	display: block;
	width: 100%;
	margin: 0 0 6px;
	box-sizing: border-box;
}

/* Fallback route to backup codes / another method: a full-width link-style
   control, allowed to wrap onto several lines in a narrow column. */
.wp2fa-ps-step .wp2fa-ps-alt {
	display: block;
	width: 100%;
	margin: 0;
	padding: 4px 0;
	background: none;
	border: 0;
	box-shadow: none;
	color: inherit;
	opacity: 0.85;
	font-size: 12px;
	line-height: 1.6;
	text-align: center;
	text-decoration: underline;
	white-space: normal;
	word-wrap: break-word;
	cursor: pointer;
	box-sizing: border-box;
}

.wp2fa-ps-step .wp2fa-ps-alt:hover {
	opacity: 1;
}

.wp2fa-ps-step .wp2fa-ps-error {
	display: block;
	margin: 6px 0 0;
	color: #c0392b;
	font-size: 12px;
	line-height: 1.6;
	white-space: normal;
	word-wrap: break-word;
}

.wp2fa-ps-step .wp2fa-ps-error:empty {
	display: none;
	margin: 0;
}
