/* Registrazione B2B frontend — scoped to plugin wrap only.
 * Overrides theme/Bootstrap `.form-row { display:flex }` (horizontal label+input)
 * and restores password-toggle styles from woocommerce-layout.css,
 * which is not loaded on this custom page / SiteGround combined CSS.
 */

.bgv-register-wrap,
.bgv-register-wrap *,
.bgv-register-wrap *::before,
.bgv-register-wrap *::after {
	box-sizing: border-box;
}

.bgv-register-wrap {
	max-width: 920px;
	margin: 0 auto;
	width: 100%;
}

.bgv-register-form {
	width: 100%;
	max-width: 100%;
}

.bgv-form-row {
	display: grid;
	gap: 1rem 1.25rem;
	margin-bottom: 1rem;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.bgv-cols-1 { grid-template-columns: 1fr; }
.bgv-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bgv-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bgv-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.bgv-form-col {
	min-width: 0;
	max-width: 100%;
	width: 100%;
}

/* Beat Bootstrap `.form-row { display:flex; flex-wrap:wrap; margin-left/right:-5px }` */
.woocommerce.bgv-register-wrap .bgv-register-form .form-row,
.bgv-register-wrap .form-row {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 0.25rem !important;
	padding: 0 !important;
}

.bgv-register-wrap .form-row .woocommerce-input-wrapper {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Labels above the control, left-aligned, ~6px gap */
.bgv-register-wrap .form-row > label {
	display: block !important;
	float: none !important;
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	text-align: left !important;
	line-height: 1.3;
}

.bgv-register-wrap .form-row .input-text,
.bgv-register-wrap .form-row input[type="text"],
.bgv-register-wrap .form-row input[type="email"],
.bgv-register-wrap .form-row input[type="tel"],
.bgv-register-wrap .form-row input[type="password"],
.bgv-register-wrap .form-row input[type="number"],
.bgv-register-wrap .form-row select,
.bgv-register-wrap .form-row textarea {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	height: 44px !important;
	min-height: 44px;
	margin: 0 !important;
	padding: 8px 12px !important;
	line-height: 1.25 !important;
}

.bgv-register-wrap .form-row textarea {
	height: auto !important;
	min-height: 88px;
}

/* Select2 closed widget inside the form */
.bgv-register-wrap .select2-container {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}

.bgv-register-wrap .select2-container .select2-selection--single {
	display: flex !important;
	align-items: center;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
}

.bgv-register-wrap .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 42px !important;
	padding-left: 12px;
}

.bgv-register-wrap .select2-container .select2-selection--single .select2-selection__arrow {
	height: 42px !important;
}

/* Checkbox / radio: control stays beside its text */
.bgv-register-wrap .form-row label.checkbox,
.bgv-register-wrap .form-row label.radio,
.bgv-register-wrap .form-row .woocommerce-input-wrapper label.checkbox,
.bgv-register-wrap .form-row .woocommerce-input-wrapper label.radio {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: wrap;
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	gap: 8px;
	text-align: left !important;
	line-height: 1.4;
}

.bgv-register-wrap .form-row input[type="checkbox"],
.bgv-register-wrap .form-row input[type="radio"],
.bgv-register-wrap .form-row .input-checkbox,
.bgv-register-wrap .form-row .input-radio {
	display: inline-block !important;
	float: none !important;
	width: 18px !important;
	height: 18px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto;
	vertical-align: middle;
}

/* Password show/hide — WooCommerce injects an empty button; layout CSS is missing here */
.bgv-register-wrap .password-input {
	display: block !important;
	position: relative !important;
	width: 100% !important;
}

.bgv-register-wrap .password-input input[type="password"],
.bgv-register-wrap .password-input input[type="text"] {
	padding-right: 2.75rem !important;
}

.bgv-register-wrap .password-input input::-ms-reveal {
	display: none;
}

.bgv-register-wrap .show-password-input {
	position: absolute !important;
	right: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 2;
	display: block !important;
	width: 28px !important;
	height: 28px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 4px;
	background-color: transparent !important;
	background-image: none !important;
	cursor: pointer;
	color: inherit;
	line-height: 0 !important;
	font-size: 0 !important;
}

.bgv-register-wrap .show-password-input::before {
	content: "" !important;
	display: block;
	width: 20px;
	height: 20px;
	margin: 4px auto;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23cfcfcf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.bgv-register-wrap .show-password-input.display-password::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23cfcfcf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94'/%3E%3Cpath d='M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

.bgv-register-wrap .show-password-input:focus {
	outline: 2px solid #cfcfcf;
	outline-offset: 2px;
}

.bgv-register-wrap .show-password-input:focus:not(:focus-visible) {
	outline: none;
}

.bgv-hp {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}

.bgv-notice {
	margin-bottom: 1.25rem;
}

.bgv-submit {
	margin-top: 1.25rem;
}

.bgv-register-wrap .bgv-field-hidden,
.bgv-register-wrap .form-row.bgv-field-hidden,
.woocommerce.bgv-register-wrap .bgv-register-form .form-row.bgv-field-hidden {
	display: none !important;
}

@media (max-width: 782px) {
	.bgv-cols-2,
	.bgv-cols-3,
	.bgv-cols-4 {
		grid-template-columns: 1fr;
	}

	.bgv-register-wrap,
	.bgv-register-form,
	.bgv-form-row,
	.bgv-form-col,
	.bgv-register-wrap .form-row {
		overflow-x: hidden;
	}
}

.bgv-logged-in-message {
	max-width: 920px;
	margin: 0 auto 1.5em;
	width: 100%;
}

.bgv-logged-in-message p:last-child {
	margin-bottom: 0;
}
