/* Password fields with trailing show/hide (eye) control inside the input */
.gfch-password-field-wrap {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.gfch-password-field-shell {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.gfch-password-field-wrap > .gfch-password-field[type="password"],
.gfch-password-field-wrap > .gfch-password-field[type="text"],
.gfch-password-field-wrap > input.gfch-password-field,
.gfch-password-field-shell > .gfch-password-field[type="password"],
.gfch-password-field-shell > .gfch-password-field[type="text"],
.gfch-password-field-shell > input.gfch-password-field {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	padding-right: 2.75rem !important;
	margin: 0 !important;
}

.gfch-password-field-wrap > .gfch-password-toggle,
.gfch-password-field-shell > .gfch-password-toggle {
	position: absolute !important;
	right: 0.625rem !important;
	top: 50% !important;
	left: auto !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	padding: 3px !important;
	border: 0 !important;
	background: transparent !important;
	/* White icon on dark / themed inputs (login, signup) */
	color: #fff;
	cursor: pointer;
	line-height: 0 !important;
	border-radius: 3px;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	height: auto !important;
	float: none !important;
	z-index: 3;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.gfch-password-field-wrap > .gfch-password-toggle svg,
.gfch-password-field-shell > .gfch-password-toggle svg {
	stroke: currentColor;
	width: 15px;
	height: 15px;
	display: block;
	flex-shrink: 0;
	vertical-align: middle;
	pointer-events: none;
}

.gfch-password-field-wrap > .gfch-password-toggle:hover,
.gfch-password-field-shell > .gfch-password-toggle:hover {
	color: #fff;
	opacity: 0.92;
	filter: brightness(1.08);
}

.gfch-password-field-wrap > .gfch-password-toggle:focus,
.gfch-password-field-shell > .gfch-password-toggle:focus {
	outline: 2px solid #2271b1;
	outline-offset: 1px;
}

.gfch-password-toggle .gfch-password-toggle__icon-slash {
	display: none;
}

.gfch-password-toggle[aria-pressed="true"] .gfch-password-toggle__icon-open {
	display: none;
}

.gfch-password-toggle[aria-pressed="true"] .gfch-password-toggle__icon-slash {
	display: inline;
}

/* Light inputs (reset password / Elementor forms) */
.gfch-password-field-wrap--light > .gfch-password-toggle,
.gfch-password-field-wrap--light .gfch-password-field-shell > .gfch-password-toggle {
	color: #50575e !important;
}

.gfch-password-field-wrap--light > .gfch-password-toggle:hover,
.gfch-password-field-wrap--light .gfch-password-field-shell > .gfch-password-toggle:hover {
	color: #1d2327 !important;
	opacity: 1;
	filter: none;
}

/* Elementor form fields — keep eye inside bordered input */
.elementor-field-group .gfch-password-field-wrap,
.elementor-field-subgroup .gfch-password-field-wrap,
.elementor-widget-form .gfch-password-field-wrap {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	flex: 1 1 auto;
	align-self: stretch;
}

.elementor-field-group .gfch-password-field-wrap > .gfch-password-field,
.elementor-field-group .gfch-password-field-wrap > input[type="password"],
.elementor-field-group .gfch-password-field-wrap > input[type="text"],
.elementor-field-group .gfch-password-field-shell > .gfch-password-field,
.elementor-field-group .gfch-password-field-shell > input[type="password"],
.elementor-field-group .gfch-password-field-shell > input[type="text"] {
	width: 100% !important;
	padding-right: 2.75rem !important;
}

.elementor-field-group .gfch-password-field-wrap > .gfch-password-toggle,
.elementor-field-group .gfch-password-field-shell > .gfch-password-toggle {
	right: 0.75rem !important;
}

/* Prevent theme button styles from pushing the eye below the field */
.gfch-password-field-wrap > .gfch-password-toggle.btn,
.gfch-password-field-wrap > button.gfch-password-toggle,
.gfch-password-field-shell > .gfch-password-toggle.btn,
.gfch-password-field-shell > button.gfch-password-toggle {
	position: absolute !important;
	display: inline-flex !important;
	width: auto !important;
}

/* Validation hints belong below the field, not inside the eye positioning box */
.gfch-password-field-wrap > .gfch-reset-confirm-hint,
.gfch-password-field-shell > .gfch-reset-confirm-hint {
	position: static !important;
	display: block;
}
