.halo-b2b-fields {
	border: 0;
	margin: 1.5rem 0;
	padding: 0;
}
.halo-b2b-fields legend,
.halo-order-b2b h3 {
	font-weight: 600;
	margin-bottom: .75rem;
}
.halo-business-fields {
	transition: opacity .2s ease;
}

/* Connexion / inscription : un seul panneau, centré au même emplacement. */
#customer_login.halo-account-panels {
	display: block !important;
	width: min(100%, 620px) !important;
	max-width: 620px !important;
	margin: 0 auto !important;
}
#customer_login.halo-account-panels::before,
#customer_login.halo-account-panels::after {
	display: none !important;
	content: none !important;
}
#customer_login.halo-account-panels > .u-column1,
#customer_login.halo-account-panels > .u-column2,
#customer_login.halo-account-panels > .col-1,
#customer_login.halo-account-panels > .col-2 {
	float: none !important;
	clear: both !important;
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
#customer_login.halo-account-panels > [hidden] {
	display: none !important;
}
#customer_login.halo-account-panels .halo-account-switcher + .u-column1,
#customer_login.halo-account-panels .halo-account-switcher + .col-1 {
	margin-top: 0 !important;
}

/* Les titres natifs sont remplacés par la navigation discrète ci-dessous. */
#customer_login.halo-account-panels > .u-column1 > h2:first-child,
#customer_login.halo-account-panels > .u-column2 > h2:first-child,
#customer_login.halo-account-panels > .col-1 > h2:first-child,
#customer_login.halo-account-panels > .col-2 > h2:first-child {
	display: none !important;
}

.halo-account-switcher {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin: 0 0 2rem;
	padding: 0;
	border: 0;
	background: transparent;
}
.halo-account-tab {
	appearance: none;
	position: relative;
	margin: 0;
	padding: .35rem 0 .55rem;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit;
	font-weight: 500;
	line-height: 1.3;
	opacity: .55;
	cursor: pointer;
}
.halo-account-tab::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: currentColor;
	content: '';
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .18s ease;
}
.halo-account-tab:hover {
	opacity: .8;
}
.halo-account-tab.is-active {
	font-weight: 700;
	opacity: 1;
}
.halo-account-tab.is-active::after {
	transform: scaleX(1);
}
.halo-account-tab:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

@media (max-width: 480px) {
	.halo-account-switcher {
		gap: 1rem;
		margin-bottom: 1.5rem;
	}
	.halo-account-tab {
		font-size: .95em;
	}
}


/* Les labels des lignes de formulaire WooCommerce doivent rester en flex pour le toggle. */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
	display: flex !important;
}

/* Sélecteur particulier / professionnel sous forme de switch accessible. */
.halo-switch-row {
	margin-top: 1rem;
	margin-bottom: 1.25rem;
}
.halo-switch {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	margin: 0;
	font-weight: 600;
	cursor: pointer;
}
.halo-switch > input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.halo-switch-control {
	position: relative;
	flex: 0 0 auto;
	width: 46px;
	height: 26px;
	border: 1px solid currentColor;
	border-radius: 999px;
	background: transparent;
	opacity: .55;
	transition: background-color .18s ease, opacity .18s ease;
}
.halo-switch-control::after {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: currentColor;
	content: '';
	transition: transform .18s ease;
}
.halo-switch > input[type="checkbox"]:checked + .halo-switch-control {
	background: currentColor;
	opacity: 1;
}
.halo-switch > input[type="checkbox"]:checked + .halo-switch-control::after {
	background: #fff;
	transform: translateX(20px);
}
.halo-switch > input[type="checkbox"]:focus-visible + .halo-switch-control {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* Le switch du checkout classique utilise sa propre structure, indépendante des styles checkbox Divi. */
.woocommerce .halo-switch-row .halo-switch,
.woocommerce-page .halo-switch-row .halo-switch {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: 100%;
	line-height: 1.35;
}
.woocommerce .halo-switch-row .halo-switch > input[type="checkbox"],
.woocommerce-page .halo-switch-row .halo-switch > input[type="checkbox"] {
	position: absolute !important;
	inset: auto !important;
	width: 1px !important;
	min-width: 1px !important;
	max-width: 1px !important;
	height: 1px !important;
	min-height: 1px !important;
	max-height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	opacity: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	pointer-events: none;
}
.woocommerce .halo-switch-row .halo-switch-control,
.woocommerce-page .halo-switch-row .halo-switch-control {
	display: inline-block;
	box-sizing: border-box;
}
.woocommerce .halo-switch-row .halo-switch-label,
.woocommerce-page .halo-switch-row .halo-switch-label {
	display: inline-block;
	margin: 0;
}

/* Isolation complète du toggle contre les styles de checkbox du thème/Divi. */
.woocommerce .halo-switch-row,
.woocommerce-page .halo-switch-row {
	clear: both;
}
.woocommerce .halo-switch-row .halo-switch,
.woocommerce-page .halo-switch-row .halo-switch {
	position: relative !important;
	display: inline-flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	min-height: 28px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	text-indent: 0 !important;
	line-height: 1.35 !important;
}
.woocommerce .halo-switch-row .halo-switch::before,
.woocommerce .halo-switch-row .halo-switch::after,
.woocommerce-page .halo-switch-row .halo-switch::before,
.woocommerce-page .halo-switch-row .halo-switch::after {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	content: none !important;
}
.woocommerce .halo-switch-row .halo-switch > input[type="checkbox"],
.woocommerce-page .halo-switch-row .halo-switch > input[type="checkbox"] {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	z-index: -1 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}
.woocommerce .halo-switch-row .halo-switch-control,
.woocommerce-page .halo-switch-row .halo-switch-control {
	position: relative !important;
	order: 2;
	display: block !important;
	flex: 0 0 46px !important;
	box-sizing: border-box !important;
	width: 46px !important;
	height: 26px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #dedede !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: none !important;
	line-height: 0 !important;
	opacity: 1;
}
.woocommerce .halo-switch-row .halo-switch-control::before,
.woocommerce-page .halo-switch-row .halo-switch-control::before {
	display: none !important;
	content: none !important;
}
.woocommerce .halo-switch-row .halo-switch-control::after,
.woocommerce-page .halo-switch-row .halo-switch-control::after {
	position: absolute !important;
	top: 3px !important;
	left: 3px !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #aaa !important;
	box-shadow: none !important;
	content: '' !important;
}
.woocommerce .halo-switch-row .halo-switch-label,
.woocommerce-page .halo-switch-row .halo-switch-label {
	order: 1;
	display: block !important;
	flex: 1 1 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
}
.woocommerce .halo-switch-row .halo-switch > input[type="checkbox"]:checked + .halo-switch-control,
.woocommerce-page .halo-switch-row .halo-switch > input[type="checkbox"]:checked + .halo-switch-control {
	background: currentColor !important;
	opacity: 1;
}
.woocommerce .halo-switch-row .halo-switch > input[type="checkbox"]:checked + .halo-switch-control::after,
.woocommerce-page .halo-switch-row .halo-switch > input[type="checkbox"]:checked + .halo-switch-control::after {
	background: #fff !important;
	transform: translateX(20px) !important;
}
