/**
 * Password visibility toggle styles for custom shortcode forms.
 * Scoped under .ddhh-pw-wrap so nothing leaks to Formidable's own forms.
 */

.ddhh-pw-wrap {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

/*
 * `form` prefix gives this rule specificity (0,2,2), beating the theme's
 * `.user-form .form-field input` (0,2,1) so our margin/padding overrides
 * win without resorting to !important.
 */
form .ddhh-pw-wrap > input.js-password-toggle {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding-right: 2.5em;
	box-sizing: border-box;
}

.ddhh-pw-wrap .ddhh-pw-toggle,
.ddhh-pw-wrap .ddhh-pw-toggle:hover,
.ddhh-pw-wrap .ddhh-pw-toggle:focus,
.ddhh-pw-wrap .ddhh-pw-toggle:active {
	position: absolute;
	top: 50%;
	right: 0.75em;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	padding: 0;
	margin: 0;
	background: transparent;
	background-color: transparent;
	background-image: none;
	border: 0;
	box-shadow: none;
	color: #6b7280;
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
}

.ddhh-pw-wrap .ddhh-pw-toggle:hover,
.ddhh-pw-wrap .ddhh-pw-toggle:focus {
	color: #374151;
}

.ddhh-pw-wrap .ddhh-pw-toggle:focus {
	outline: none;
}

.ddhh-pw-wrap .ddhh-pw-toggle:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
	border-radius: 2px;
}

.ddhh-pw-wrap .ddhh-pw-toggle .frmsvg {
	width: 20px;
	height: 20px;
	display: inline-block;
	fill: currentColor;
}

/* Default state: show the eye, hide the slash. */
.ddhh-pw-wrap .ddhh-pw-toggle .frmsvg + .frmsvg {
	display: none;
}

/* Revealed state: hide the eye, show the slash. */
.ddhh-pw-wrap .ddhh-pw-toggle.frm_show_password .frmsvg:first-child {
	display: none;
}

.ddhh-pw-wrap .ddhh-pw-toggle.frm_show_password .frmsvg + .frmsvg {
	display: inline-block;
}
