/**
 * Boostage Online — WooCommerce : fiche produit, panier, paiement (classique et blocs), espace client.
 * Chargé uniquement sur les pages de la boutique.
 */

/* ------------------------------------------------------------------
 * Éléments WooCommerce communs
 * ------------------------------------------------------------------ */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	align-items: center;
	background: var(--bo-primary);
	border: 0;
	border-radius: var(--bo-radius);
	color: var(--bo-white);
	display: inline-flex;
	font-size: var(--bo-text-base);
	font-weight: var(--bo-weight-semibold);
	justify-content: center;
	line-height: 1.2;
	min-height: var(--bo-control-h);
	padding: 0.75rem 1.35rem;
	transition: background-color var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease);
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: var(--bo-primary-hover);
	box-shadow: 0 8px 20px -8px rgba(37, 99, 235, 0.55);
	color: var(--bo-white);
}

.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce .button.alt.disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled[disabled],
.woocommerce button.button.alt.disabled:hover {
	background: var(--bo-border-strong);
	box-shadow: none;
	color: var(--bo-text);
	cursor: not-allowed;
	opacity: 1;
	transform: none;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-notices-wrapper > * {
	background: var(--bo-primary-soft);
	border: 1px solid var(--bo-primary-a25);
	border-left: 4px solid var(--bo-primary);
	border-radius: var(--bo-radius);
	color: var(--bo-navy);
	list-style: none;
	margin: 0 0 var(--bo-space-6) !important; /* WooCommerce impose ses marges/retraits avec !important. */
	padding: var(--bo-space-4) var(--bo-space-5) !important;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
	display: none;
}

.woocommerce .woocommerce-message {
	background: var(--bo-success-soft);
	border-color: rgba(5, 150, 105, 0.35);
	border-left-color: var(--bo-success);
}

.woocommerce .woocommerce-error {
	background: var(--bo-error-soft);
	border-color: rgba(220, 38, 38, 0.3);
	border-left-color: var(--bo-error);
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-3) var(--bo-space-4);
	justify-content: space-between;
}

/* Le bouton d'action passe après le texte (il est avant dans le HTML de WooCommerce). */
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
	float: none;
	margin: 0;
	min-height: 36px;
	order: 1;
	padding: 0.45rem 0.9rem;
}

.woocommerce form .form-row label {
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
	margin-bottom: var(--bo-space-1);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce .select2-container .select2-selection--single {
	background: var(--bo-white);
	border: 1px solid var(--bo-border-input);
	border-radius: var(--bo-radius);
	color: var(--bo-navy);
	min-height: var(--bo-control-h);
	padding: 0.6rem 0.9rem;
}

/* Champ « code promo » : assez large pour lire le libellé et le code saisi. */
.woocommerce table.cart td.actions .coupon {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-2);
}

.woocommerce table.cart td.actions .coupon .input-text {
	float: none;
	margin: 0;
	min-width: 12rem;
	width: auto;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 28px;
	padding-left: 0;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
	height: 44px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--bo-primary);
	box-shadow: var(--bo-ring);
	outline: none;
}

/* États de validation WooCommerce alignés sur la palette (vert/rouge du thème, pas ceux par défaut). */
.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--bo-success);
}

.woocommerce form .form-row.woocommerce-invalid .select2-container,
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--bo-error);
}

.woocommerce form .form-row.woocommerce-invalid label {
	color: var(--bo-error);
}

.woocommerce .select2-container--default .select2-selection--single:focus,
.woocommerce .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--bo-primary);
	box-shadow: var(--bo-ring);
	outline: none;
}

.woocommerce table.shop_table {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-collapse: separate;
	border-radius: var(--bo-radius-lg);
	border-spacing: 0;
	margin: 0 0 var(--bo-space-6);
	overflow: hidden;
	width: 100%;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border: 0;
	border-top: 1px solid var(--bo-border);
	padding: var(--bo-space-4);
	text-align: left;
	vertical-align: middle;
}

.woocommerce table.shop_table thead th,
.woocommerce table.shop_table tr:first-child > th,
.woocommerce table.shop_table tr:first-child > td {
	border-top: 0;
}

.woocommerce table.shop_table th {
	background: var(--bo-bg);
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
}

.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tbody th {
	background: var(--bo-bg);
}

.woocommerce table.woocommerce-orders-table tbody th {
	background: transparent;
}

/* Les montants ne se coupent pas sur deux lignes (« 19 000 CFA »). */
.woocommerce table.shop_table .woocommerce-Price-amount,
.woocommerce table.shop_table .product-quantity {
	white-space: nowrap;
}

.woocommerce .star-rating span::before,
.woocommerce p.stars a {
	color: var(--bo-warning);
}

/* ------------------------------------------------------------------
 * Neutralise les couleurs par défaut de WooCommerce (prix vert, boutons violets)
 * ------------------------------------------------------------------ */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.woocommerce .price {
	color: var(--bo-navy);
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	font-weight: inherit;
	text-decoration: none;
}

.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce #respond input#submit.alt {
	background-color: var(--bo-primary);
	color: var(--bo-white);
}

.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover {
	background-color: var(--bo-primary-hover);
	color: var(--bo-white);
}

.woocommerce span.onsale {
	background: var(--bo-cyan);
	color: var(--bo-navy);
}

/* ------------------------------------------------------------------
 * Fiche produit — en-tête de vente
 * ------------------------------------------------------------------ */
.bo-product-hero {
	padding-block: var(--bo-space-8) clamp(3.5rem, 2rem + 5vw, 7rem);
}

.bo-product-hero__grid {
	align-items: start;
	display: grid;
	gap: var(--bo-space-10);
	grid-template-columns: minmax(0, 1fr);
}

.bo-product-hero__badges {
	margin-bottom: var(--bo-space-5);
}

.bo-product-hero .bo-badge {
	gap: 0.4rem;
	padding: 0.45rem 0.75rem;
}

.bo-dark .bo-badge--outline {
	background: transparent;
	border: 1px solid var(--bo-on-dark-border);
	color: var(--bo-on-dark);
}

.bo-dark .bo-badge--sale {
	background: var(--bo-cyan);
	color: var(--bo-navy);
}

.bo-product-hero__title {
	font-size: var(--bo-h1);
	letter-spacing: -0.03em;
	line-height: 1.1;
	margin-bottom: var(--bo-space-5);
	max-width: 18ch;
}

.bo-product-hero__excerpt {
	color: var(--bo-on-dark-muted);
	font-size: var(--bo-text-lg);
	line-height: 1.6;
	max-width: 38rem;
}

.bo-product-hero__excerpt p {
	margin: 0;
}

.bo-product-hero__highlights {
	display: grid;
	gap: var(--bo-space-3);
	list-style: none;
	margin: var(--bo-space-8) 0 0;
	max-width: 38rem;
	padding: 0;
}

.bo-product-hero__highlights li {
	align-items: flex-start;
	color: var(--bo-on-dark);
	display: flex;
	font-weight: var(--bo-weight-medium);
	gap: var(--bo-space-3);
}

.bo-product-hero__highlights .bo-icon {
	color: var(--bo-cyan);
	margin-top: 2px;
}

.bo-product-hero__rating {
	align-items: center;
	display: flex;
	gap: var(--bo-space-3);
	margin-top: var(--bo-space-6);
}

.bo-product-hero__rating .star-rating {
	margin: 0;
}

.bo-product-hero__facts {
	border-top: 1px solid var(--bo-on-dark-border);
	display: grid;
	gap: var(--bo-space-5);
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	margin: var(--bo-space-10) 0 0;
	max-width: 38rem;
	padding-top: var(--bo-space-6);
}

.bo-product-hero__facts dt {
	color: var(--bo-on-dark-muted);
	font-size: var(--bo-text-xs);
	letter-spacing: 0.06em;
	margin-bottom: var(--bo-space-1);
	text-transform: uppercase;
}

.bo-product-hero__facts dd {
	color: var(--bo-white);
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-semibold);
	margin: 0;
}

/* ------------------------------------------------------------------
 * Carte d'achat
 * ------------------------------------------------------------------ */
.bo-purchase {
	background: var(--bo-white);
	border-radius: var(--bo-radius-xl);
	box-shadow: 0 0 0 1px var(--bo-white-a08), 0 40px 80px -30px rgba(0, 0, 0, 0.7);
	color: var(--bo-text);
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	scroll-margin-top: calc(var(--bo-header-height) + 1rem);
	/* La carte est blanche dans une section sombre : on rétablit les rôles clairs. */
	--bo-heading: var(--bo-navy);
	--bo-muted: var(--bo-gray);
	--bo-border: var(--bo-line);
	--bo-link: var(--bo-primary);
	--bo-link-hover: var(--bo-primary-hover);
	--bo-focus: var(--bo-primary);
	--bo-eyebrow-color: var(--bo-primary);
	--bo-tile-bg: var(--bo-primary-soft);
	--bo-tile-color: var(--bo-primary);
	--bo-badge-bg: var(--bo-primary-soft);
	--bo-badge-color: var(--bo-primary-hover);
	--bo-on-dark-muted: var(--bo-gray);
}

.bo-purchase__included {
	border-top: 1px solid var(--bo-border);
	margin-top: var(--bo-space-5);
	padding-top: var(--bo-space-5);
}

.bo-purchase__included-title {
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
	margin: 0 0 var(--bo-space-3);
}

.bo-purchase__included .bo-purchase__notes {
	border-top: 0;
	margin: 0;
	padding: 0;
}

.bo-purchase__included .bo-icon {
	color: var(--bo-primary);
}

.bo-purchase__price {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-2);
	margin-bottom: var(--bo-space-5);
}

.bo-price-eur {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-medium);
	letter-spacing: 0;
	white-space: nowrap;
}

.bo-purchase__amount .bo-price-eur {
	display: inline-block;
	font-size: var(--bo-text-sm);
	margin-left: 0.25em;
	vertical-align: middle;
}

.bo-purchase__price-note {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs, 0.8125rem);
	line-height: 1.5;
	margin: calc(-1 * var(--bo-space-3)) 0 var(--bo-space-5);
}

.bo-purchase__from {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-medium);
}

.bo-purchase__amount,
.bo-purchase__amount .price {
	color: var(--bo-navy);
	font-size: clamp(1.75rem, 1.5rem + 1vw, 2.25rem);
	font-weight: var(--bo-weight-bold);
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.bo-purchase__amount del {
	color: var(--bo-muted);
	font-size: 0.55em;
	font-weight: var(--bo-weight-regular);
	margin-right: 0.3em;
}

.bo-purchase__amount ins {
	text-decoration: none;
}

/* Cartes de licence */
.bo-licenses-picker {
	border: 0;
	display: grid;
	gap: var(--bo-space-2);
	margin: 0 0 var(--bo-space-4);
	/* Un fieldset prend par défaut la largeur de son contenu le plus long : il débordait de la carte sur mobile. */
	min-inline-size: 0;
	min-width: 0;
	padding: 0;
}

.bo-licenses-picker legend {
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
	margin-bottom: var(--bo-space-3);
	padding: 0;
}

.bo-license-option {
	align-items: center;
	background: var(--bo-white);
	border: 1.5px solid var(--bo-border);
	border-radius: var(--bo-radius-md);
	cursor: pointer;
	display: flex;
	gap: var(--bo-space-2) var(--bo-space-3);
	max-width: 100%;
	padding: 0.85rem 1rem;
	position: relative;
	transition: border-color var(--bo-duration) var(--bo-ease), background-color var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease);
}

.bo-license-option:hover {
	border-color: var(--bo-border-strong);
}

.bo-license-option input {
	accent-color: var(--bo-primary);
	flex-shrink: 0;
	height: 18px;
	margin: 0;
	width: 18px;
}

.bo-license-option:has(input:checked) {
	background: var(--bo-primary-soft);
	border-color: var(--bo-primary);
	box-shadow: 0 0 0 3px var(--bo-primary-a12);
}

.bo-license-option:has(input:checked):hover {
	border-color: var(--bo-primary-hover);
}

.bo-license-option:has(input:focus-visible) {
	outline: 2px solid var(--bo-focus);
	outline-offset: 2px;
}

.bo-license-option:has(input:disabled) {
	cursor: not-allowed;
	opacity: 0.5;
}

.bo-license-option__body {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	min-width: 0;
}

.bo-license-option__name {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
}

.bo-license-option__desc {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

.bo-license-option__price {
	color: var(--bo-navy);
	flex-shrink: 0;
	font-weight: var(--bo-weight-bold);
	line-height: 1.3;
	text-align: right;
	white-space: nowrap;
}

/* Écran étroit : le prix passe sous le nom de la formule, aligné avec lui */
@media (max-width: 420px) {
	.bo-license-option {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.bo-license-option input {
		margin-top: 3px;
	}

	.bo-license-option__body {
		flex-basis: calc(100% - 18px - var(--bo-space-3));
	}

	.bo-license-option__price {
		margin-left: calc(18px + var(--bo-space-3));
		text-align: left;
	}
}

/* Équivalent en euros sous le prix (sinon la ligne déborde de la carte sur mobile) */
.bo-license-option__price .bo-price-eur {
	display: block;
	font-size: var(--bo-text-xs, 0.8125rem);
	margin: 2px 0 0;
}

.bo-license-option__price del {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
	font-weight: var(--bo-weight-regular);
}

.bo-license-option__price ins {
	text-decoration: none;
}

/* Formulaire WooCommerce dans la carte (spécificité supérieure à la feuille WooCommerce) */
.woocommerce div.product .bo-purchase form.cart,
.bo-purchase form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-3);
	margin: 0;
}

.bo-purchase.has-cards table.variations,
.bo-purchase.has-cards .reset_variations,
.bo-purchase.has-cards .woocommerce-variation-price,
.bo-purchase.has-cards .woocommerce-variation-description {
	display: none !important;
}

.woocommerce div.product .bo-purchase form.cart .variations,
.bo-purchase .variations {
	border: 0;
	margin-bottom: var(--bo-space-3);
	width: 100%;
}

.bo-purchase .variations th,
.bo-purchase .variations td {
	border: 0;
	display: block;
	padding: 0;
	text-align: left;
}

.bo-purchase .variations th label {
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
}

.woocommerce div.product .bo-purchase form.cart .variations select,
.bo-purchase .variations select {
	appearance: none;
	background: var(--bo-white) var(--bo-select-arrow) no-repeat right 0.8rem center;
	border: 1px solid var(--bo-border-input);
	display: block;
	max-width: none;
	min-width: 0;
	border-radius: var(--bo-radius);
	margin: var(--bo-space-2) 0 var(--bo-space-3);
	min-height: 48px;
	padding: 0.6rem 2.6rem 0.6rem 0.9rem;
	width: 100%;
}

.bo-purchase .single_variation_wrap,
.bo-purchase .woocommerce-variation-add-to-cart {
	width: 100%;
}

.bo-purchase .woocommerce-variation-add-to-cart,
.bo-purchase form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-3);
}

.woocommerce div.product .bo-purchase form.cart .button,
.bo-purchase .single_add_to_cart_button {
	border-radius: var(--bo-radius-md);
	flex: 1 1 auto;
	float: none;
	font-size: var(--bo-text-md);
	min-height: 54px;
	position: relative;
	transition: background-color var(--bo-duration) var(--bo-ease), transform var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease);
	width: 100%;
}

.bo-purchase .single_add_to_cart_button:not(.disabled):not(:disabled):hover {
	box-shadow: 0 10px 24px -10px var(--bo-primary-a35);
	transform: translateY(-1px);
}

/* États AJAX : chargement (spinner), ajouté (vert + coche), erreur */
.bo-purchase .single_add_to_cart_button.is-loading {
	color: transparent !important;
	pointer-events: none;
}

.bo-purchase .single_add_to_cart_button.is-loading::after {
	animation: bo-spin 0.8s linear infinite;
	border: 2.5px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	border-top-color: #fff;
	content: "";
	height: 22px;
	left: 50%;
	margin: -11px 0 0 -11px;
	position: absolute;
	top: 50%;
	width: 22px;
}

.bo-purchase .single_add_to_cart_button.is-added,
.bo-purchase .single_add_to_cart_button.is-added:hover {
	background: var(--bo-success) !important;
	border-color: var(--bo-success) !important;
	color: #fff !important;
	opacity: 1 !important;
}

.bo-purchase .single_add_to_cart_button.is-added::before {
	content: "✓";
	font-weight: var(--bo-weight-bold);
	margin-right: 0.5em;
}

.bo-purchase .single_add_to_cart_button.is-error,
.bo-purchase .single_add_to_cart_button.is-error:hover {
	background: var(--bo-error) !important;
	border-color: var(--bo-error) !important;
	color: #fff !important;
}

.bo-purchase .quantity {
	display: flex;
}

.bo-purchase .quantity .qty {
	min-height: 54px;
	width: 5rem;
}

.bo-purchase .quantity:has(input[type="hidden"]) {
	display: none;
}

.bo-purchase .stock {
	font-size: var(--bo-text-sm);
	margin: 0 0 var(--bo-space-2);
}

.bo-purchase .woocommerce-variation-availability:empty,
.bo-purchase .single_variation:empty {
	display: none;
}

.bo-purchase__notes {
	border-top: 1px solid var(--bo-border);
	display: grid;
	font-size: var(--bo-text-sm);
	gap: var(--bo-space-3);
	list-style: none;
	margin: var(--bo-space-5) 0 0;
	padding: var(--bo-space-5) 0 0;
}

.bo-purchase__notes li {
	align-items: flex-start;
	display: flex;
	gap: var(--bo-space-3);
}

.bo-purchase__notes .bo-icon {
	color: var(--bo-success);
	margin-top: 1px;
}

.bo-purchase__demo {
	align-items: center;
	border: 1.5px solid var(--bo-border);
	border-radius: var(--bo-radius-md);
	color: var(--bo-navy);
	display: flex;
	font-weight: var(--bo-weight-semibold);
	gap: var(--bo-space-2);
	justify-content: center;
	margin-top: var(--bo-space-4);
	min-height: 48px;
	text-decoration: none;
}

.bo-purchase__demo:hover {
	border-color: var(--bo-primary);
	color: var(--bo-primary);
}

.bo-purchase__extra:empty {
	display: none;
}

/* ------------------------------------------------------------------
 * Vitrine des captures
 * ------------------------------------------------------------------ */
.bo-showcase {
	margin-top: calc(-1 * clamp(2.5rem, 1rem + 4vw, 5rem));
	position: relative;
	z-index: 2;
}

.bo-gallery__frame {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	box-shadow: var(--bo-shadow-lg);
	margin: 0;
	overflow: hidden;
}

.bo-gallery__bar {
	align-items: center;
	background: var(--bo-bg);
	border-bottom: 1px solid var(--bo-border);
	display: flex;
	gap: 6px;
	height: 34px;
	padding: 0 var(--bo-space-4);
}

.bo-gallery__bar span {
	background: var(--bo-border-strong);
	border-radius: 50%;
	height: 10px;
	width: 10px;
}

.bo-gallery__frame img {
	display: block;
	height: auto;
	width: 100%;
}

.bo-gallery__thumbs {
	display: flex;
	gap: var(--bo-space-3);
	justify-content: safe center;
	list-style: none;
	margin: var(--bo-space-4) 0 0;
	overflow-x: auto;
	padding: 4px;
}

.bo-gallery__thumb {
	background: var(--bo-white);
	border: 2px solid var(--bo-border);
	border-radius: var(--bo-radius);
	height: 64px;
	overflow: hidden;
	padding: 0;
	transition: border-color var(--bo-duration) var(--bo-ease), transform var(--bo-duration) var(--bo-ease);
	width: 100px;
}

.bo-gallery__thumb:hover {
	transform: translateY(-2px);
}

.bo-gallery__thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.bo-gallery__thumb[aria-pressed="true"] {
	border-color: var(--bo-primary);
}

/* ------------------------------------------------------------------
 * Navigation par sections
 * ------------------------------------------------------------------ */
.bo-product-nav {
	background: var(--bo-bg);
	border-bottom: 1px solid var(--bo-border);
	margin-top: var(--bo-space-10);
	position: static;
	z-index: 30;
}

/* Collante à partir de la tablette seulement : sur mobile, l'en-tête et la barre d'achat suffisent. */
@media (min-width: 768px) {
	.bo-product-nav {
		position: sticky;
		top: var(--bo-header-height);
	}

	.admin-bar .bo-product-nav {
		top: calc(var(--bo-header-height) + var(--wp-admin--admin-bar--height, 32px));
	}
}

.bo-product-nav__inner {
	align-items: center;
	display: flex;
	gap: var(--bo-space-4);
}

.bo-product-nav ul {
	display: flex;
	flex: 1;
	gap: var(--bo-space-1);
	list-style: none;
	margin: 0;
	min-width: 0;
	overflow-x: auto;
	padding: 0;
	scrollbar-width: none;
	/* Indique qu'il reste des sections à droite lorsque la liste déborde (elle défile au doigt ou à la molette). */
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent);
	mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent);
}

.bo-product-nav li:last-child a {
	margin-right: 2.5rem;
}

.bo-product-nav ul::-webkit-scrollbar {
	display: none;
}

.bo-product-nav a:not(.bo-btn) {
	border-bottom: 2px solid transparent;
	color: var(--bo-text);
	display: block;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
	padding: var(--bo-space-4) var(--bo-space-3);
	text-decoration: none;
	white-space: nowrap;
}

.bo-product-nav a:not(.bo-btn):hover,
.bo-product-nav a.is-active {
	border-bottom-color: var(--bo-primary);
	color: var(--bo-navy);
}

.bo-product-nav a:not(.bo-btn):focus-visible {
	outline-offset: -3px;
}

.bo-product-nav__cta {
	display: none;
	flex-shrink: 0;
}

.bo-product-nav__cta .woocommerce-Price-amount {
	font-weight: inherit;
}

/* ------------------------------------------------------------------
 * Contenu de la fiche
 * ------------------------------------------------------------------ */
.bo-product-body {
	display: grid;
	gap: var(--bo-space-10);
	grid-template-columns: minmax(0, 1fr);
	padding-block: var(--bo-space-12) var(--bo-space-4);
}

.bo-product-section {
	scroll-margin-top: calc(var(--bo-header-height) + 1.5rem);
}

@media (min-width: 768px) {
	.bo-product-section {
		scroll-margin-top: calc(var(--bo-header-height) + 72px);
	}
}

.bo-product-section + .bo-product-section {
	margin-top: clamp(3rem, 2rem + 3vw, 4.5rem);
}

.bo-product-section__title {
	font-size: var(--bo-h2);
	margin-bottom: var(--bo-space-6);
}

.bo-product-subtitle {
	font-size: var(--bo-text-lg);
	margin-bottom: var(--bo-space-4);
}

.bo-product-description {
	font-size: var(--bo-text-md);
}

/* Les sous-titres de la description restent hiérarchiquement sous le titre de la section. */
.bo-product-description h2 {
	font-size: var(--bo-h4);
	margin-top: var(--bo-space-8);
}

.bo-product-description h3 {
	font-size: var(--bo-text-lg);
	margin-top: var(--bo-space-6);
}

.bo-product-description img {
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
}

.bo-feature-grid {
	display: grid;
	gap: var(--bo-space-3);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-feature-grid__item {
	align-items: flex-start;
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	color: var(--bo-heading);
	display: flex;
	font-weight: var(--bo-weight-medium);
	gap: var(--bo-space-3);
	padding: var(--bo-space-5);
	transition: border-color var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease);
}

.bo-feature-grid__item:hover {
	border-color: var(--bo-primary-a35);
	box-shadow: var(--bo-shadow);
}

.bo-feature-grid__icon {
	align-items: center;
	background: var(--bo-primary);
	border-radius: var(--bo-radius-sm);
	color: var(--bo-white);
	display: inline-flex;
	flex-shrink: 0;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.bo-usecases {
	counter-reset: bo-case;
	display: grid;
	gap: var(--bo-space-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-usecases li {
	align-items: center;
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	color: var(--bo-heading);
	counter-increment: bo-case;
	display: flex;
	font-weight: var(--bo-weight-medium);
	gap: var(--bo-space-4);
	padding: var(--bo-space-4) var(--bo-space-5);
}

.bo-usecases li::before {
	align-items: center;
	background: var(--bo-cyan-soft);
	border-radius: 50%;
	color: var(--bo-cyan-strong);
	content: counter(bo-case, decimal-leading-zero);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--bo-font-mono);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-bold);
	height: 36px;
	justify-content: center;
	width: 36px;
}

.bo-compat {
	display: grid;
	gap: var(--bo-space-6);
}

.bo-compat__specs {
	display: grid;
	gap: var(--bo-space-3);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	margin: 0;
}

.bo-compat__specs > div {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	display: grid;
	gap: 2px var(--bo-space-3);
	grid-template-columns: auto 1fr;
	padding: var(--bo-space-4);
}

.bo-compat__specs .bo-icon {
	color: var(--bo-primary);
	grid-row: span 2;
	margin-top: 2px;
}

.bo-compat__specs dt {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bo-compat__specs dd {
	color: var(--bo-heading);
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-bold);
	margin: 0;
}

.bo-compat__lists {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	display: grid;
	gap: var(--bo-space-8);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	padding: var(--bo-space-6);
}

.bo-compat__lists .bo-checklist .bo-icon {
	color: var(--bo-primary);
}

/* Historique des versions (frise) */
.bo-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-timeline__item {
	border-left: 2px solid var(--bo-border);
	margin-left: 7px;
	padding: 0 0 var(--bo-space-8) var(--bo-space-6);
	position: relative;
}

.bo-timeline__item:last-child {
	padding-bottom: 0;
}

.bo-timeline__item::before {
	background: var(--bo-white);
	border: 2px solid var(--bo-border-strong);
	border-radius: 50%;
	content: "";
	height: 14px;
	left: -8px;
	position: absolute;
	top: 4px;
	width: 14px;
}

.bo-timeline__item.is-latest::before {
	background: var(--bo-primary);
	border-color: var(--bo-primary);
	box-shadow: 0 0 0 4px var(--bo-primary-a18);
}

.bo-timeline__head {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-3);
	margin-bottom: var(--bo-space-2);
}

.bo-timeline__head strong {
	font-size: var(--bo-text-lg);
}

.bo-timeline__date {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

.bo-timeline__item ul {
	color: var(--bo-text);
	margin: 0;
	padding-left: 1.1em;
}

.bo-timeline__item li + li {
	margin-top: var(--bo-space-1);
}

.bo-timeline__more {
	margin-top: var(--bo-space-6);
}

.bo-timeline__more summary {
	color: var(--bo-primary);
	cursor: pointer;
	font-weight: var(--bo-weight-semibold);
	margin-bottom: var(--bo-space-6);
}

.bo-product-docs {
	display: grid;
	gap: var(--bo-space-3);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	list-style: none;
	margin: 0 0 var(--bo-space-4);
	padding: 0;
}

.bo-product-docs .bo-docs-guide__link {
	background: var(--bo-white);
	border-color: var(--bo-border);
	height: 100%;
}

.bo-product-docs .bo-docs-guide__link:hover {
	border-color: var(--bo-primary-a35);
	box-shadow: var(--bo-shadow-sm);
}

.bo-support-box {
	align-items: center;
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-5);
	padding: var(--bo-space-6);
}

.bo-support-box__text {
	flex: 1 1 260px;
	min-width: 0;
}

@media (max-width: 479px) {
	.bo-support-box {
		align-items: flex-start;
	}

	.bo-support-box__text {
		flex-basis: auto;
	}
}

.bo-support-box__text h2 {
	font-size: var(--bo-text-xl);
	margin-bottom: var(--bo-space-1);
}

.bo-support-box__text p {
	color: var(--bo-muted);
	margin: 0;
}

/* Résumé d'achat collant (grand écran) */
.bo-product-aside {
	display: none;
}

.bo-product-summary {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	box-shadow: var(--bo-shadow);
	display: grid;
	gap: var(--bo-space-4);
	padding: var(--bo-space-5);
}

.bo-product-summary__head {
	align-items: center;
	display: flex;
	gap: var(--bo-space-3);
}

.bo-product-summary__thumb {
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius);
	flex-shrink: 0;
	height: 52px;
	object-fit: cover;
	width: 52px;
}

.bo-product-summary__name {
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-bold);
	line-height: 1.3;
	margin: 0 0 2px;
}

.bo-product-summary__price {
	color: var(--bo-navy);
	font-size: var(--bo-text-sm);
	margin: 0;
}

.bo-product-summary__price .woocommerce-Price-amount {
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-bold);
}

.bo-product-summary .bo-specs > div {
	padding: var(--bo-space-2) 0;
}

.bo-product-related {
	padding-bottom: var(--bo-section);
}

.bo-product-related .related > h2,
.bo-product-related .upsells > h2 {
	font-size: var(--bo-h3);
	margin-bottom: var(--bo-space-6);
}

.woocommerce .bo-product-related ul.products,
.bo-product-related ul.products {
	display: grid;
	gap: var(--bo-space-6);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce .bo-product-related ul.products::before,
.woocommerce .bo-product-related ul.products::after {
	display: none;
}

.woocommerce .bo-product-related ul.products li.product {
	display: flex;
	float: none;
	margin: 0;
	padding: 0;
	width: auto;
}

.bo-product-related ul.products li.product > .bo-card {
	width: 100%;
}

/* Avis clients (affichés seulement s'il y en a) */
.bo-product-reviews #reviews #comments ol.commentlist li .comment-text {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius);
}

/* Titre WooCommerce « Avis » en double avec celui de la section : réservé aux lecteurs d'écran. */
.bo-product-reviews .woocommerce-Reviews-title {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.bo-product-reviews .woocommerce-noreviews {
	color: var(--bo-muted);
}

/* Formulaire d'avis */
.bo-product-reviews #review_form_wrapper {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	margin-top: var(--bo-space-6);
	max-width: 42rem;
	padding: var(--bo-space-6);
}

.bo-product-reviews .comment-reply-title {
	color: var(--bo-heading);
	display: block;
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-semibold);
	margin-bottom: var(--bo-space-2);
}

.bo-product-reviews .comment-notes {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

.bo-product-reviews .comment-form > p {
	margin: 0 0 var(--bo-space-4);
}

.bo-product-reviews .comment-form label {
	display: block;
	font-weight: var(--bo-weight-medium);
	margin-bottom: var(--bo-space-2);
}

.bo-product-reviews .comment-form-cookies-consent {
	align-items: flex-start;
	display: flex;
	gap: var(--bo-space-2);
}

.bo-product-reviews .comment-form-cookies-consent input {
	margin-top: 0.3em;
}

.bo-product-reviews .comment-form-cookies-consent label {
	font-weight: var(--bo-weight-regular);
	margin: 0;
}

.bo-product-reviews .comment-form .form-submit {
	margin-bottom: 0;
}

.woocommerce .bo-product-reviews p.stars a {
	font-size: 1.25em;
}

.woocommerce .bo-product-reviews p.stars a:focus-visible {
	outline: 2px solid var(--bo-focus);
	outline-offset: 2px;
}

/* Barre d'achat mobile */
.bo-buybar {
	align-items: center;
	background: var(--bo-white);
	border-top: 1px solid var(--bo-border);
	bottom: 0;
	box-shadow: 0 -10px 30px -12px rgba(11, 18, 32, 0.25);
	display: flex;
	gap: var(--bo-space-3);
	left: 0;
	padding: var(--bo-space-2) var(--bo-gutter) calc(var(--bo-space-2) + env(safe-area-inset-bottom));
	position: fixed;
	right: 0;
	transform: translateY(110%);
	transition: transform var(--bo-duration-slow) var(--bo-ease);
	z-index: 60;
}

.bo-buybar.is-visible {
	transform: none;
}

.bo-buybar__info {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.bo-buybar__name {
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bo-buybar__price {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

.bo-buybar__price .woocommerce-Price-amount {
	color: var(--bo-navy);
	font-weight: var(--bo-weight-bold);
}

@media (min-width: 1024px) {
	.bo-buybar {
		display: none;
	}
}

/* ------------------------------------------------------------------
 * Panier, paiement, confirmation (modèles classiques)
 * ------------------------------------------------------------------ */
.bo-shop-flow .entry-content > .woocommerce {
	font-size: var(--bo-text-base);
}

.woocommerce-cart table.cart img {
	border-radius: var(--bo-radius-sm);
	width: 64px;
}

.woocommerce a.remove {
	border-radius: 50%;
	color: var(--bo-error) !important;
}

.woocommerce a.remove:hover {
	background: var(--bo-error);
	color: var(--bo-white) !important;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout #order_review {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	padding: var(--bo-space-6);
}

.woocommerce-checkout #payment {
	background: var(--bo-bg);
	border-radius: var(--bo-radius);
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-sm);
	color: var(--bo-text);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--bo-white);
}

.bo-checkout-note {
	align-items: flex-start;
	background: var(--bo-primary-soft);
	border-radius: var(--bo-radius);
	color: var(--bo-navy);
	display: flex;
	font-size: var(--bo-text-sm);
	gap: var(--bo-space-3);
	margin: var(--bo-space-4) 0;
	padding: var(--bo-space-3) var(--bo-space-4);
}

.bo-checkout-note .bo-icon {
	color: var(--bo-primary);
	margin-top: 2px;
}

.woocommerce-order .woocommerce-thankyou-order-received {
	background: var(--bo-success-soft);
	border-left: 4px solid var(--bo-success);
	border-radius: var(--bo-radius);
	color: var(--bo-navy);
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-semibold);
	padding: var(--bo-space-5);
}

.woocommerce ul.order_details {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	display: grid;
	gap: var(--bo-space-4);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
	margin: var(--bo-space-6) 0;
	padding: var(--bo-space-5);
}

.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after {
	display: none;
}

.woocommerce ul.order_details li {
	border: 0;
	color: var(--bo-muted);
	float: none;
	font-size: var(--bo-text-xs);
	letter-spacing: 0.04em;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.woocommerce ul.order_details li strong {
	color: var(--bo-heading);
	font-size: var(--bo-text-base);
	letter-spacing: normal;
	text-transform: none;
}

/* ------------------------------------------------------------------
 * Commande reçue : création de compte après l'achat (Boostage Core)
 * ------------------------------------------------------------------ */
.bo-ppa {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	box-shadow: var(--bo-shadow-sm);
	display: grid;
	gap: var(--bo-space-6);
	margin: var(--bo-space-6) 0;
	padding: var(--bo-space-6);
	scroll-margin-top: 120px;
}

.bo-ppa__eyebrow {
	color: var(--bo-primary);
	display: block;
	font-size: var(--bo-text-xs);
	font-weight: var(--bo-weight-bold);
	letter-spacing: 0.08em;
	margin-bottom: var(--bo-space-2);
	text-transform: uppercase;
}

.bo-ppa__title {
	font-size: var(--bo-h3);
	margin: 0 0 var(--bo-space-2);
}

.bo-ppa__text {
	color: var(--bo-muted);
	margin: 0;
}

.bo-ppa__benefits {
	display: grid;
	gap: var(--bo-space-2);
	list-style: none;
	margin: var(--bo-space-4) 0 0;
	padding: 0;
}

.bo-ppa__benefits li {
	align-items: center;
	color: var(--bo-heading);
	display: flex;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-medium);
	gap: var(--bo-space-2);
}

.bo-ppa__benefits .bo-icon {
	background: var(--bo-success-soft);
	border-radius: 50%;
	color: var(--bo-success-strong, var(--bo-success));
	flex-shrink: 0;
	height: 22px;
	padding: 4px;
	width: 22px;
}

.bo-ppa__form {
	background: var(--bo-bg);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius);
	display: grid;
	gap: var(--bo-space-4);
	padding: var(--bo-space-5);
}

.bo-ppa__field {
	display: grid;
	gap: 6px;
	margin: 0;
}

.bo-ppa__field label {
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
}

.bo-ppa__field input {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius);
	color: var(--bo-heading);
	font: inherit;
	min-height: var(--bo-control-h);
	padding: 0 var(--bo-space-3);
	width: 100%;
}

.bo-ppa__field input[readonly] {
	background: var(--bo-bg);
	color: var(--bo-muted);
}

.bo-ppa__field input:focus {
	border-color: var(--bo-primary);
	box-shadow: 0 0 0 1px var(--bo-primary);
	outline: none;
}

.bo-ppa .password-input {
	display: block;
	position: relative;
}

.bo-ppa .password-input input.input-text {
	padding-right: 44px;
}

.bo-ppa__hint {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
}

.bo-ppa__hint--block {
	margin: 0;
}

.bo-ppa__submit {
	align-items: center;
	background: var(--bo-primary);
	border: 0;
	border-radius: var(--bo-radius);
	color: var(--bo-white);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: var(--bo-weight-semibold);
	justify-content: center;
	min-height: var(--bo-control-h);
	padding: 0 var(--bo-space-5);
	text-decoration: none;
	transition: background 0.15s ease;
}

.bo-ppa__submit:hover {
	background: var(--bo-primary-hover);
	color: var(--bo-white);
}

.bo-ppa__legal {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
	margin: 0;
}

.bo-ppa__legal a {
	color: inherit;
	text-decoration: underline;
}

.bo-ppa__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-4);
	margin: 0;
}

.bo-ppa__link {
	color: var(--bo-primary);
	font-weight: var(--bo-weight-semibold);
}

.bo-ppa__badge {
	align-items: center;
	background: var(--bo-success-soft);
	border-radius: 50%;
	color: var(--bo-success-strong, var(--bo-success));
	display: inline-flex;
	height: 44px;
	justify-content: center;
	margin-bottom: var(--bo-space-3);
	width: 44px;
}

.bo-ppa__badge .bo-icon {
	height: 24px;
	width: 24px;
}

.bo-ppa--success {
	border-color: var(--bo-success);
}

@media (min-width: 900px) {
	.bo-ppa:not(.bo-ppa--compact):not(.bo-ppa--success) {
		align-items: start;
		grid-template-columns: 1.1fr 1fr;
	}
}

/* ------------------------------------------------------------------
 * Blocs Panier et Paiement de WooCommerce
 * ------------------------------------------------------------------ */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	--wp--preset--color--contrast: var(--bo-navy);
}

.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--bo-primary) !important;
	border-radius: var(--bo-radius) !important;
	color: var(--bo-white) !important;
	font-weight: var(--bo-weight-semibold) !important;
	min-height: var(--bo-control-h);
}

.wc-block-components-button:not(.is-link):hover {
	background: var(--bo-primary-hover) !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-textarea {
	border-color: var(--bo-border) !important;
	border-radius: var(--bo-radius) !important;
}

.wc-block-components-text-input.is-active input:focus,
.wc-block-components-text-input input:focus {
	border-color: var(--bo-primary) !important;
	box-shadow: 0 0 0 1px var(--bo-primary) !important;
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	border-color: var(--bo-border);
}

.wp-block-woocommerce-checkout-order-summary-block {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
}

.wc-block-components-product-name {
	color: var(--bo-heading) !important;
	font-weight: var(--bo-weight-semibold);
	text-decoration: none;
}

.wc-block-components-radio-control__input:checked {
	border-color: var(--bo-primary) !important;
}

.wc-block-components-radio-control__input:checked::before {
	background: var(--bo-primary) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--bo-primary);
	border-color: var(--bo-primary);
}

/* ------------------------------------------------------------------
 * Espace client
 * ------------------------------------------------------------------ */
/* ------------------------------------------------------------------
 * Espace client : barre latérale (profil, navigation), barre de titre, contenu
 * ------------------------------------------------------------------ */
.bo-page-body--account {
	padding-top: var(--bo-space-8);
}

.woocommerce-account .entry-content > .woocommerce,
.bo-account {
	display: grid;
	gap: var(--bo-space-8);
	grid-template-columns: minmax(0, 1fr);
}

/* Le code court est enveloppé par le thème (.bo-account) : le conteneur WooCommerce redevient neutre. */
.woocommerce-account .entry-content > .woocommerce:has(> .bo-account) {
	display: block;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

/* Profil */
.bo-account__profile {
	align-items: center;
	display: flex;
	gap: var(--bo-space-4);
	margin-bottom: var(--bo-space-4);
	min-width: 0;
}

.bo-account__avatar {
	align-items: center;
	background: linear-gradient(135deg, var(--bo-primary), var(--bo-cyan));
	border-radius: 50%;
	color: var(--bo-white);
	display: inline-flex;
	flex-shrink: 0;
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-bold);
	height: 52px;
	justify-content: center;
	letter-spacing: 0.02em;
	width: 52px;
}

.bo-account__identity {
	min-width: 0;
}

.bo-account__identity p {
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bo-account__name {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
}

.bo-account__email {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

.bo-account__since {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
}

/* Navigation */
.bo-account__nav ul {
	display: flex;
	gap: var(--bo-space-1);
	list-style: none;
	margin: 0 calc(-1 * var(--bo-gutter));
	overflow-x: auto;
	padding: 0 var(--bo-gutter) var(--bo-space-2);
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.bo-account__nav ul::-webkit-scrollbar {
	display: none;
}

.bo-account__nav a {
	align-items: center;
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius);
	color: var(--bo-text);
	display: inline-flex;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-medium);
	gap: var(--bo-space-2);
	padding: 0.55rem 0.85rem;
	text-decoration: none;
	transition: background var(--bo-duration) var(--bo-ease), border-color var(--bo-duration) var(--bo-ease), color var(--bo-duration) var(--bo-ease);
	white-space: nowrap;
}

.bo-account__nav a::before {
	content: none;
}

.bo-account__nav-icon {
	color: var(--bo-primary);
	display: inline-flex;
	flex-shrink: 0;
}

.bo-account__nav a:hover {
	background: var(--bo-white);
	border-color: var(--bo-primary-a35);
	color: var(--bo-heading);
}

.bo-account__nav .is-active a,
.bo-account__nav a[aria-current="page"] {
	background: var(--bo-navy);
	border-color: var(--bo-navy);
	color: var(--bo-white);
}

.bo-account__nav .is-active .bo-account__nav-icon,
.bo-account__nav a[aria-current="page"] .bo-account__nav-icon {
	color: var(--bo-cyan);
}

.bo-account__nav-badge {
	align-items: center;
	background: var(--bo-error);
	border-radius: var(--bo-radius-pill);
	color: var(--bo-white);
	display: inline-flex;
	font-size: var(--bo-text-xs);
	font-weight: var(--bo-weight-bold);
	height: 20px;
	justify-content: center;
	line-height: 1;
	margin-left: auto;
	min-width: 20px;
	padding: 0 6px;
}

.bo-account__nav-logout a {
	color: var(--bo-muted);
}

.bo-account__nav-logout .bo-account__nav-icon {
	color: var(--bo-muted);
}

/* Barre de titre */
.bo-account__main {
	min-width: 0;
}

.bo-account__bar {
	align-items: flex-end;
	border-bottom: 1px solid var(--bo-border);
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-4);
	justify-content: space-between;
	margin-bottom: var(--bo-space-8);
	padding-bottom: var(--bo-space-5);
}

.bo-account__crumb {
	align-items: center;
	color: var(--bo-muted);
	display: flex;
	font-size: var(--bo-text-sm);
	gap: var(--bo-space-1);
	margin: 0 0 var(--bo-space-1);
}

.bo-account__crumb a {
	color: inherit;
	text-decoration: none;
}

.bo-account__crumb a:hover {
	color: var(--bo-primary);
}

.bo-account__title {
	font-size: var(--bo-h2);
	margin: 0;
}

.bo-account__bar-actions {
	align-items: center;
	display: flex;
	gap: var(--bo-space-3);
}

.bo-account__bell {
	align-items: center;
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: 50%;
	color: var(--bo-heading);
	display: inline-flex;
	height: 40px;
	justify-content: center;
	position: relative;
	transition: border-color var(--bo-duration) var(--bo-ease), color var(--bo-duration) var(--bo-ease);
	width: 40px;
}

.bo-account__bell:hover {
	border-color: var(--bo-primary);
	color: var(--bo-primary);
}

.bo-account__bell-count {
	align-items: center;
	background: var(--bo-error);
	border: 2px solid var(--bo-bg);
	border-radius: var(--bo-radius-pill);
	color: var(--bo-white);
	display: inline-flex;
	font-size: 0.65rem;
	font-weight: var(--bo-weight-bold);
	height: 18px;
	justify-content: center;
	min-width: 18px;
	padding: 0 4px;
	position: absolute;
	right: -4px;
	top: -4px;
}

.bo-account__logout {
	align-items: center;
	color: var(--bo-muted);
	display: inline-flex;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-medium);
	gap: var(--bo-space-2);
	text-decoration: none;
}

.bo-account__logout:hover {
	color: var(--bo-error);
}

.woocommerce-MyAccount-content {
	min-width: 0;
}

.bo-account__content > h2,
.bo-account__content > section > h2,
.bo-account__content .woocommerce-column__title {
	font-size: var(--bo-h4);
}

.bo-account__order-help {
	align-items: center;
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-4);
	margin-top: var(--bo-space-8);
	padding: var(--bo-space-5);
}

.bo-account__order-help > div {
	flex: 1;
	min-width: 14rem;
}

.bo-account__order-help p {
	margin: 0;
}

.bo-account__order-help p:last-child {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

/* Tableau de bord */
.bo-dash {
	display: grid;
	gap: var(--bo-space-8);
}

.bo-dash__welcome {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-4) var(--bo-space-8);
	justify-content: space-between;
}

.bo-dash__hello {
	font-size: var(--bo-h3);
	margin-bottom: var(--bo-space-1);
}

.bo-dash__intro {
	color: var(--bo-muted);
	margin: 0;
}

.bo-dash__welcome-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-2);
}

.bo-dash__alerts {
	display: grid;
	gap: var(--bo-space-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-dash__alert {
	align-items: center;
	border: 1px solid;
	border-radius: var(--bo-radius);
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-3);
	padding: var(--bo-space-3) var(--bo-space-4);
}

.bo-dash__alert p {
	flex: 1;
	margin: 0;
	min-width: 12rem;
}

.bo-dash__alert-icon {
	display: inline-flex;
	flex-shrink: 0;
}

.bo-dash__alert-action {
	align-items: center;
	display: inline-flex;
	font-weight: var(--bo-weight-semibold);
	gap: var(--bo-space-1);
	text-decoration: none;
	white-space: nowrap;
}

.bo-dash__alert--warning {
	background: var(--bo-warning-soft);
	border-color: var(--bo-warning-a30);
	color: var(--bo-warning-strong);
}

.bo-dash__alert--error {
	background: var(--bo-error-soft);
	border-color: var(--bo-error-a30);
	color: var(--bo-error-strong);
}

.bo-dash__alert--info {
	background: var(--bo-primary-soft);
	border-color: var(--bo-primary-a35);
	color: var(--bo-navy);
}

.bo-dash__alert-action {
	color: inherit;
}

.bo-dash__stats {
	display: grid;
	gap: var(--bo-space-3);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-dash__stat a {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	color: var(--bo-text);
	display: grid;
	gap: 2px;
	height: 100%;
	padding: var(--bo-space-4) var(--bo-space-5);
	text-decoration: none;
	transition: border-color var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease), transform var(--bo-duration) var(--bo-ease);
}

.bo-dash__stat a:hover {
	border-color: var(--bo-primary-a35);
	box-shadow: var(--bo-shadow-sm);
	transform: translateY(-2px);
}

.bo-dash__stat-icon {
	align-items: center;
	background: var(--bo-primary-a12);
	border-radius: var(--bo-radius-sm);
	color: var(--bo-primary);
	display: inline-flex;
	height: 36px;
	justify-content: center;
	margin-bottom: var(--bo-space-2);
	width: 36px;
}

.bo-dash__stat--notifications .bo-dash__stat-icon {
	background: var(--bo-cyan-a12);
	color: var(--bo-cyan-strong);
}

.bo-dash__stat-value {
	color: var(--bo-heading);
	font-size: var(--bo-h3);
	font-weight: var(--bo-weight-bold);
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.bo-dash__stat-label {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

.bo-dash__grid {
	display: grid;
	gap: var(--bo-space-6);
	grid-template-columns: minmax(0, 1fr);
}

.bo-dash__panel {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	min-width: 0;
	padding: var(--bo-space-5);
}

.bo-dash__panel-head {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-2) var(--bo-space-4);
	justify-content: space-between;
	margin-bottom: var(--bo-space-4);
}

.bo-dash__panel-head h2 {
	align-items: center;
	display: flex;
	font-size: var(--bo-text-lg);
	gap: var(--bo-space-2);
	margin: 0;
}

.bo-dash__panel-head h2 .bo-icon {
	color: var(--bo-primary);
}

.bo-dash__panel-head .bo-link-arrow {
	font-size: var(--bo-text-sm);
}

.bo-dash__orders {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-dash__orders li + li {
	border-top: 1px solid var(--bo-border);
}

.bo-dash__order {
	align-items: center;
	color: var(--bo-text);
	display: flex;
	gap: var(--bo-space-4);
	justify-content: space-between;
	padding: var(--bo-space-3) 0;
	text-decoration: none;
}

.bo-dash__order-main {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.bo-dash__order-number {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
}

.bo-dash__order:hover .bo-dash__order-number {
	color: var(--bo-primary);
}

.bo-dash__order-items,
.bo-dash__order-date {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bo-dash__order-side {
	align-items: flex-end;
	display: grid;
	flex-shrink: 0;
	gap: var(--bo-space-1);
	justify-items: end;
}

.bo-dash__order-total {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
	white-space: nowrap;
}

.bo-dash__empty {
	color: var(--bo-muted);
	display: grid;
	gap: var(--bo-space-3);
	justify-items: start;
}

.bo-dash__empty p {
	margin: 0;
}

.bo-dash__links ul {
	display: grid;
	gap: var(--bo-space-3);
	grid-template-columns: minmax(0, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-dash__links a {
	align-items: center;
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius);
	color: var(--bo-text);
	display: flex;
	gap: var(--bo-space-3);
	padding: var(--bo-space-4);
	text-decoration: none;
	transition: border-color var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease);
}

.bo-dash__links a:hover {
	border-color: var(--bo-primary-a35);
	box-shadow: var(--bo-shadow-sm);
}

.bo-dash__links a > span:last-child {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.bo-dash__links strong {
	color: var(--bo-heading);
}

.bo-dash__links a > span:last-child > span {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

.bo-dash__link-icon {
	align-items: center;
	background: var(--bo-primary-a12);
	border-radius: var(--bo-radius-sm);
	color: var(--bo-primary);
	display: inline-flex;
	flex-shrink: 0;
	height: 36px;
	justify-content: center;
	width: 36px;
}

/* Notifications (liste réutilisée dans le tableau de bord et l'onglet) */
.bo-notifs__list {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-notifs__item {
	display: flex;
	gap: var(--bo-space-3);
	padding: var(--bo-space-3) 0;
	position: relative;
}

.bo-notifs__item + .bo-notifs__item {
	border-top: 1px solid var(--bo-border);
}

.bo-notifs__icon {
	background: var(--bo-primary-a12) var(--bo-notif-icon, none) center / 18px no-repeat;
	border-radius: 50%;
	color: var(--bo-primary);
	flex-shrink: 0;
	height: 36px;
	width: 36px;
}

.bo-notifs__icon[data-type="order"] { --bo-notif-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 4.5v9L12 21l-8-4.5v-9L12 3Z'/%3E%3Cpath d='m4 7.5 8 4.5 8-4.5M12 12v9'/%3E%3C/svg%3E"); }
.bo-notifs__icon[data-type="license"] { --bo-notif-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='m11 12 9-9M17 6l3 3M15 8l2 2'/%3E%3C/svg%3E"); }
.bo-notifs__icon[data-type="message"] { --bo-notif-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.bo-notifs__icon[data-type="success"] { background-color: var(--bo-success-soft); --bo-notif-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12 2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.bo-notifs__icon[data-type="warning"] { background-color: var(--bo-warning-soft); --bo-notif-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B45309' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E"); }
.bo-notifs__icon[data-type="info"] { --bo-notif-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a1 1 0 0 0 1 1h2l5 4V6L6 10H4a1 1 0 0 0-1 1Z'/%3E%3Cpath d='M15 9a4 4 0 0 1 0 6M18 6a8 8 0 0 1 0 12'/%3E%3C/svg%3E"); }

.bo-notifs__body {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.bo-notifs__title {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
	margin: 0;
}

.bo-notifs__title a {
	color: inherit;
	text-decoration: none;
}

.bo-notifs__title a:hover {
	color: var(--bo-primary);
}

.bo-notifs__text {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	margin: 0;
}

.bo-notifs__date {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
}

.bo-notifs__item.is-unread .bo-notifs__title::after {
	background: var(--bo-error);
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 8px;
	margin-left: 0.4rem;
	vertical-align: middle;
	width: 8px;
}

/* Messagerie (onglet Messages, Boostage Core) */
.bo-inbox {
	display: grid;
	gap: var(--bo-space-5);
}

.bo-inbox__toolbar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-4);
	justify-content: space-between;
}

.bo-inbox__lead {
	color: var(--bo-muted);
	flex: 1;
	margin: 0;
	min-width: 16rem;
}

.bo-inbox__empty {
	background: var(--bo-white);
	border: 1px dashed var(--bo-border-strong);
	border-radius: var(--bo-radius-lg);
	color: var(--bo-muted);
	padding: var(--bo-space-8);
	text-align: center;
}

.bo-inbox__empty p {
	margin: 0 0 var(--bo-space-1);
}

.bo-inbox__list {
	display: grid;
	gap: var(--bo-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-inbox__link {
	align-items: center;
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	color: var(--bo-text);
	display: flex;
	gap: var(--bo-space-3);
	padding: var(--bo-space-4) var(--bo-space-5);
	text-decoration: none;
	transition: border-color var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease);
}

.bo-inbox__link:hover {
	border-color: var(--bo-primary-a35);
	box-shadow: var(--bo-shadow-sm);
}

.bo-inbox__dot {
	background: var(--bo-border);
	border-radius: 50%;
	flex-shrink: 0;
	height: 10px;
	width: 10px;
}

.bo-inbox__item.is-unread .bo-inbox__dot {
	background: var(--bo-error);
	box-shadow: 0 0 0 4px var(--bo-error-a15);
}

.bo-inbox__body {
	display: grid;
	flex: 1;
	gap: 2px;
	min-width: 0;
}

.bo-inbox__subject {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
}

.bo-inbox__item.is-unread .bo-inbox__subject {
	font-weight: var(--bo-weight-bold);
}

.bo-inbox__preview {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bo-inbox__meta {
	align-items: flex-end;
	display: grid;
	flex-shrink: 0;
	gap: var(--bo-space-1);
	justify-items: end;
}

.bo-inbox__meta time {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
	white-space: nowrap;
}

.bo-badge--new {
	background: var(--bo-error-soft);
	color: var(--bo-error-strong);
	margin-left: 0.4rem;
	vertical-align: middle;
}

.bo-badge--open { background: var(--bo-warning-soft); color: var(--bo-warning-strong); }
.bo-badge--answered { background: var(--bo-success-soft); color: var(--bo-success-strong); }
.bo-badge--closed { background: var(--bo-bg); color: var(--bo-muted); }

.bo-inbox__back {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	text-decoration: none;
}

.bo-inbox__back:hover {
	color: var(--bo-primary);
}

.bo-inbox__heading {
	font-size: var(--bo-h4);
	margin: 0 0 var(--bo-space-2);
}

.bo-inbox__context {
	align-items: center;
	color: var(--bo-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--bo-text-sm);
	gap: var(--bo-space-3);
	margin: 0;
}

.bo-inbox__thread {
	display: grid;
	gap: var(--bo-space-4);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-inbox__msg {
	display: flex;
	gap: var(--bo-space-3);
	max-width: 88%;
}

.bo-inbox__msg--me {
	flex-direction: row-reverse;
	margin-left: auto;
}

.bo-inbox__avatar {
	align-items: center;
	background: var(--bo-navy);
	border-radius: 50%;
	color: var(--bo-white);
	display: inline-flex;
	flex-shrink: 0;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-bold);
	height: 36px;
	justify-content: center;
	width: 36px;
}

.bo-inbox__msg--me .bo-inbox__avatar {
	background: linear-gradient(135deg, var(--bo-primary), var(--bo-cyan));
}

.bo-inbox__bubble {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	min-width: 0;
	padding: var(--bo-space-3) var(--bo-space-4);
}

.bo-inbox__msg--me .bo-inbox__bubble {
	background: var(--bo-primary-soft);
	border-color: var(--bo-primary-a18);
}

.bo-inbox__author {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
	margin: 0 0 var(--bo-space-1);
}

.bo-inbox__author time {
	margin-left: 0.4rem;
}

.bo-inbox__text p:last-child {
	margin-bottom: 0;
}

.bo-inbox__form {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	padding: var(--bo-space-5);
}

.bo-inbox__form .bo-field {
	margin-bottom: var(--bo-space-4);
}

.bo-inbox__form label {
	display: block;
	font-weight: var(--bo-weight-semibold);
	margin-bottom: var(--bo-space-1);
}

.bo-inbox__form input[type="text"],
.bo-inbox__form select,
.bo-inbox__form textarea {
	width: 100%;
}

.bo-inbox__form p:last-child {
	margin-bottom: 0;
}

.bo-inbox__hint {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

/* Tableaux WooCommerce de l'espace client : plus aérés */
.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	font-weight: var(--bo-weight-semibold);
	text-decoration: none;
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions .button + .button {
	margin-left: var(--bo-space-2);
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:not(.view):not(.pay) {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	color: var(--bo-heading);
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:not(.view):not(.pay):hover {
	border-color: var(--bo-primary);
	color: var(--bo-primary);
}

@media (max-width: 639px) {
	.bo-inbox__link {
		flex-wrap: wrap;
	}

	.bo-inbox__meta {
		align-items: center;
		display: flex;
		justify-content: space-between;
		padding-left: calc(10px + var(--bo-space-3));
		width: 100%;
	}
}

@media (min-width: 640px) {
	.bo-dash__stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bo-dash__links ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.woocommerce-account .entry-content > .woocommerce:has(> .woocommerce-MyAccount-navigation),
	.bo-account {
		gap: var(--bo-space-12);
		grid-template-columns: 264px minmax(0, 1fr);
	}

	.bo-account__side {
		align-self: start;
		position: sticky;
		top: calc(var(--bo-header-height) + 1.5rem);
	}

	.bo-account__profile {
		background: var(--bo-white);
		border: 1px solid var(--bo-border);
		border-radius: var(--bo-radius-lg);
		margin-bottom: var(--bo-space-4);
		padding: var(--bo-space-4);
	}

	.bo-account__nav ul {
		flex-direction: column;
		gap: 2px;
		margin: 0;
		overflow: visible;
		padding: 0;
	}

	.bo-account__nav a {
		border-color: transparent;
		display: flex;
		font-size: var(--bo-text-base);
		padding: 0.65rem 0.85rem;
		white-space: normal;
	}

	.bo-account__nav-logout {
		border-top: 1px solid var(--bo-border);
		margin-top: var(--bo-space-2);
		padding-top: var(--bo-space-2);
	}

	.bo-dash__grid {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	}

	.bo-dash__links ul {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.woocommerce-account .woocommerce-orders-table .button,
.woocommerce-account .woocommerce-table--order-downloads .button {
	font-size: var(--bo-text-sm);
	min-height: 36px;
	padding: 0.45rem 0.9rem;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	background: var(--bo-white);
	border: 1px solid var(--bo-border) !important;
	border-radius: var(--bo-radius-lg) !important;
	margin-inline: auto;
	max-width: 30rem;
	padding: var(--bo-space-6) !important;
}

/* Page de connexion (visiteur non connecté) : formulaire centré, titre aligné dessus. */
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
	gap: var(--bo-space-4);
	justify-items: center;
}

.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > h2,
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > .woocommerce-notices-wrapper {
	margin: 0;
	max-width: 30rem;
	text-align: left;
	width: 100%;
}

.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-account .woocommerce-form-login {
	width: 100%;
}

.woocommerce-account .woocommerce-form-login__submit {
	margin-top: var(--bo-space-3);
	width: 100%;
}

.woocommerce-account .woocommerce-form-login__rememberme {
	font-weight: var(--bo-weight-regular);
}

.woocommerce-account .lost_password {
	margin: var(--bo-space-4) 0 0;
	text-align: center;
}

/* Bouton « afficher le mot de passe » ajouté par WooCommerce */
.woocommerce form .password-input {
	display: block;
	position: relative;
}

.woocommerce form .show-password-input {
	background: none;
	border: 0;
	color: var(--bo-muted);
	cursor: pointer;
	height: 40px;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
}

/* WooCommerce dessine sa propre icône en ::before : une seule icône (la nôtre, en ::after). */
.woocommerce form .show-password-input::before {
	content: none !important;
	display: none !important;
}

.woocommerce form .show-password-input::after {
	content: "";
	display: block;
	height: 20px;
	margin: 0 auto;
	width: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce form .show-password-input.display-password::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 6.2A10.5 10.5 0 0 1 12 6c6.5 0 10 6 10 6a17 17 0 0 1-3 3.6M6.3 6.3A17 17 0 0 0 2 12s3.5 6 10 6c1.6 0 3-.3 4.3-.9'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 6.2A10.5 10.5 0 0 1 12 6c6.5 0 10 6 10 6a17 17 0 0 1-3 3.6M6.3 6.3A17 17 0 0 0 2 12s3.5 6 10 6c1.6 0 3-.3 4.3-.9'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E");
}

.woocommerce form .show-password-input:focus-visible {
	border-radius: var(--bo-radius-sm);
	outline: 2px solid var(--bo-focus);
	outline-offset: 1px;
}

.woocommerce form .password-input input.input-text {
	padding-right: 48px;
}

/* Mes licences (Boostage Core) */
.bo-license-list {
	display: grid;
	gap: var(--bo-space-4);
}

.bo-license {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	padding: var(--bo-space-5);
}

.bo-license__head {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-3);
	justify-content: space-between;
	margin-bottom: var(--bo-space-4);
}

.bo-license__title {
	font-size: var(--bo-text-lg);
	margin: 0;
}

.bo-license__key {
	align-items: center;
	background: var(--bo-bg);
	border: 1px dashed var(--bo-border);
	border-radius: var(--bo-radius);
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-2);
	padding: var(--bo-space-3);
}

.bo-license__key code {
	background: none;
	flex: 1;
	font-size: var(--bo-text-sm);
	letter-spacing: 0.04em;
	word-break: break-all;
}

.bo-license__meta {
	display: grid;
	gap: var(--bo-space-4);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
	margin: var(--bo-space-4) 0;
}

.bo-license__meta dt {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bo-license__meta dd {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
	margin: 0;
}

.bo-license__note {
	background: var(--bo-warning-soft, #FEF3C7);
	border-left: 3px solid var(--bo-warning);
	border-radius: var(--bo-radius-sm);
	font-size: var(--bo-text-sm);
	margin: 0 0 var(--bo-space-4);
	padding: var(--bo-space-2) var(--bo-space-3);
}

.bo-license__sites {
	border-top: 1px solid var(--bo-border);
	margin-top: var(--bo-space-4);
	padding-top: var(--bo-space-3);
}

.bo-license__sites summary {
	color: var(--bo-heading);
	cursor: pointer;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
}

.bo-license__sites ul {
	list-style: none;
	margin: var(--bo-space-2) 0 0;
	padding: 0;
}

.bo-license__sites li {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-2) var(--bo-space-3);
	font-size: var(--bo-text-sm);
	padding: var(--bo-space-2) 0;
}

.bo-license__sites li + li {
	border-top: 1px dashed var(--bo-border);
}

.bo-license__sites li > span {
	font-family: var(--bo-font-mono, ui-monospace, monospace);
	font-weight: var(--bo-weight-medium);
}

.bo-license__since {
	color: var(--bo-muted);
}

.bo-license__deactivate {
	color: var(--bo-error);
	font-weight: var(--bo-weight-semibold);
	margin-left: auto;
	text-decoration: none;
}

.bo-license__deactivate:hover {
	text-decoration: underline;
}

.bo-license-table code {
	font-weight: var(--bo-weight-bold);
	letter-spacing: 0.04em;
	overflow-wrap: anywhere;
}

/* Petits écrans : une carte par licence, libellés issus de data-title. */
@media (max-width: 767px) {
	.woocommerce table.shop_table.bo-license-table,
	.woocommerce table.shop_table.bo-license-table tbody,
	.woocommerce table.shop_table.bo-license-table tr,
	.woocommerce table.shop_table.bo-license-table td {
		display: block;
		width: 100%;
	}

	.woocommerce table.shop_table.bo-license-table thead {
		display: none;
	}

	.woocommerce table.shop_table.bo-license-table tr {
		border-bottom: 1px solid var(--bo-border);
		padding: var(--bo-space-3) 0;
	}

	.woocommerce table.shop_table.bo-license-table tr:last-child {
		border-bottom: 0;
	}

	.woocommerce table.shop_table.bo-license-table td {
		border: 0;
		display: flex;
		flex-wrap: wrap;
		gap: var(--bo-space-1) var(--bo-space-3);
		justify-content: space-between;
		padding: var(--bo-space-1) var(--bo-space-3);
		text-align: right;
	}

	.woocommerce table.shop_table.bo-license-table td::before {
		color: var(--bo-muted);
		content: attr(data-title);
		font-size: var(--bo-text-xs);
		font-weight: var(--bo-weight-semibold);
		letter-spacing: 0.04em;
		text-align: left;
		text-transform: uppercase;
	}

	.woocommerce table.shop_table.bo-license-table td:not([data-title])::before {
		content: none;
	}
}

.bo-showcase .bo-gallery {
	margin-inline: auto;
	max-width: 1080px;
}

/* ==================================================================
 * Parcours d'achat : en-tête compact avec étapes (Panier → Commande → Confirmation)
 * ================================================================== */
.bo-funnel-header {
	background: var(--bo-white);
	border-bottom: 1px solid var(--bo-border);
	padding: var(--bo-space-6) 0 var(--bo-space-5);
}

.bo-funnel-header__top {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-4) var(--bo-space-8);
	justify-content: space-between;
}

.bo-funnel-header__title {
	font-size: var(--bo-h2);
	margin: 0;
}

.bo-funnel-header__lead {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	margin: var(--bo-space-1) 0 0;
}

.bo-steps-nav {
	align-items: center;
	display: flex;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bo-steps-nav__item {
	align-items: center;
	color: var(--bo-muted);
	display: flex;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-medium);
	gap: var(--bo-space-2);
	position: relative;
	white-space: nowrap;
}

.bo-steps-nav__item a {
	align-items: center;
	color: inherit;
	display: flex;
	gap: var(--bo-space-2);
	text-decoration: none;
}

.bo-steps-nav__item a:hover {
	color: var(--bo-primary);
}

.bo-steps-nav__item + .bo-steps-nav__item::before {
	background: var(--bo-border-strong);
	content: "";
	display: block;
	height: 2px;
	margin: 0 var(--bo-space-3);
	width: 28px;
}

.bo-steps-nav__item.is-done + .bo-steps-nav__item::before,
.bo-steps-nav__item.is-done::before {
	background: var(--bo-primary);
}

.bo-steps-nav__num {
	align-items: center;
	background: var(--bo-white);
	border: 2px solid var(--bo-border-strong);
	border-radius: 50%;
	color: var(--bo-muted);
	display: inline-flex;
	flex-shrink: 0;
	font-size: var(--bo-text-xs);
	font-weight: var(--bo-weight-bold);
	height: 28px;
	justify-content: center;
	width: 28px;
}

.bo-steps-nav__item.is-current {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
}

.bo-steps-nav__item.is-current .bo-steps-nav__num {
	background: var(--bo-primary);
	border-color: var(--bo-primary);
	box-shadow: 0 0 0 4px var(--bo-primary-a18);
	color: var(--bo-white);
}

.bo-steps-nav__item.is-done .bo-steps-nav__num {
	background: var(--bo-primary);
	border-color: var(--bo-primary);
	color: var(--bo-white);
}

.bo-page-body--funnel {
	padding-top: var(--bo-space-8);
}

/* Libellé court réservé au mobile. */
.bo-steps-nav__label-short {
	display: none;
}

@media (max-width: 639px) {
	/* Mobile : trois colonnes égales, pastille centrée, libellé dessous, ligne continue entre les pastilles. */
	.bo-steps-nav {
		align-items: flex-start;
		width: 100%;
	}

	.bo-steps-nav__item {
		flex: 1 1 0;
		flex-direction: column;
		font-size: var(--bo-text-xs);
		gap: var(--bo-space-2);
		min-width: 0;
		text-align: center;
		white-space: normal;
	}

	.bo-steps-nav__item a {
		flex-direction: column;
		gap: var(--bo-space-2);
	}

	/* Ligne de liaison : du centre de la pastille précédente au centre de celle-ci, sous les pastilles. */
	.bo-steps-nav__item + .bo-steps-nav__item::before {
		flex: none;
		height: 2px;
		left: -50%;
		margin: 0;
		position: absolute;
		top: 15px;
		width: 100%;
	}

	.bo-steps-nav__num {
		height: 32px;
		position: relative;
		width: 32px;
		z-index: 1;
	}

	.bo-steps-nav__item.is-current .bo-steps-nav__num {
		box-shadow: 0 0 0 4px var(--bo-primary-a18), 0 0 0 6px var(--bo-white);
	}

	.bo-steps-nav__label-long {
		display: none;
	}

	.bo-steps-nav__label-short {
		display: inline;
		line-height: 1.25;
	}

	.bo-page-body--funnel {
		padding-top: var(--bo-space-5);
	}
}

/* ==================================================================
 * Blocs Panier et Commande de WooCommerce : habillage sur mesure
 * ================================================================== */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
	/* Variables lues par les blocs WooCommerce pour les champs de formulaire. */
	--wc-form-border-color: var(--bo-border-input);
	--wc-form-border-width: 1px;
	--wc-form-border-radius: var(--bo-radius);
	--wc-form-color-text: var(--bo-navy);
	--wc-form-color-background: var(--bo-white);
	margin: 0 auto;
	max-width: none;
	width: 100%;
}

.woocommerce-checkout .bo-page-body,
.woocommerce-cart .bo-page-body {
	padding-bottom: var(--bo-space-16);
}

.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout,
.woocommerce-cart .entry-content > .wp-block-woocommerce-cart {
	margin-top: 0;
}

/* Disposition : formulaire à gauche, résumé collant à droite (le bloc gère déjà les colonnes).
   Sur une seule colonne (mobile), aucun retrait : les cadres sont centrés, 16 px de chaque côté. */
.wc-block-components-sidebar-layout .wc-block-components-main {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

@media (min-width: 700px) {
	.wc-block-components-sidebar-layout:not(.is-mobile):not(.is-small) .wc-block-components-main {
		padding-right: var(--bo-space-8) !important;
	}
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar {
	align-self: flex-start;
	padding-left: 0 !important;
	position: sticky;
	top: calc(var(--bo-header-height) + var(--bo-space-6));
}

/* --- Étapes du formulaire : carte blanche, titres numérotés ------------------------ */
.wc-block-checkout__main .wc-block-checkout__form,
.wc-block-checkout__main .wc-block-components-form {
	counter-reset: bo-step;
}

.wc-block-checkout__main .wc-block-components-checkout-step {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	margin: 0 0 var(--bo-space-4);
	padding: var(--bo-space-6) var(--bo-space-6) var(--bo-space-5);
}

.wc-block-checkout__main .wc-block-components-checkout-step__heading {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-3);
	justify-content: space-between;
	margin: 0 0 var(--bo-space-4);
}

.wc-block-checkout__main .wc-block-components-checkout-step__heading-content {
	font-size: var(--bo-text-sm);
	margin-left: auto;
}

.wc-block-checkout__main .wc-block-components-checkout-step__title {
	color: var(--bo-heading);
	font-family: var(--bo-font-heading, inherit);
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-bold);
	margin: 0;
}

.wc-block-checkout__main .wc-block-components-checkout-step > .wc-block-components-checkout-step__heading-container .wc-block-components-checkout-step__title::before {
	align-items: center;
	background: var(--bo-primary-soft);
	border-radius: 50%;
	color: var(--bo-primary);
	content: counter(bo-step);
	counter-increment: bo-step;
	display: inline-flex;
	font-size: var(--bo-text-xs);
	font-weight: var(--bo-weight-bold);
	height: 26px;
	justify-content: center;
	margin-right: var(--bo-space-3);
	vertical-align: middle;
	width: 26px;
}

.wc-block-checkout__main .wc-block-components-checkout-step__heading-content a {
	color: var(--bo-primary);
	font-weight: var(--bo-weight-semibold);
}

.wc-block-checkout__main .wc-block-components-checkout-step__description {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

/* Champs à libellé flottant : hauteur, bordure, focus dans la palette. */
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="url"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-textarea textarea,
.wc-block-components-select .components-custom-select-control__button,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-components-select select {
	background: var(--bo-white) !important;
	border: 1px solid var(--bo-border-input) !important;
	border-radius: var(--bo-radius) !important;
	box-shadow: none !important;
	color: var(--bo-navy) !important;
	font-family: inherit;
	transition: border-color var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease);
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea textarea:focus,
.wc-block-components-country-input select:focus,
.wc-block-components-state-input select:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox .components-combobox-control__input:focus {
	border-color: var(--bo-primary) !important;
	box-shadow: var(--bo-ring) !important;
	outline: none !important;
}

.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-country-input label,
.wc-block-components-state-input label,
.wc-block-components-combobox label {
	color: var(--bo-muted) !important;
}

.wc-block-components-validation-error p {
	color: var(--bo-error) !important;
	font-size: var(--bo-text-sm);
}

.has-error .wc-block-components-text-input input,
.wc-block-components-text-input.has-error input {
	border-color: var(--bo-error) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border: 1.5px solid var(--bo-border-input) !important;
	border-radius: 5px !important;
	height: 20px;
	width: 20px;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--bo-primary) !important;
	border-color: var(--bo-primary) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	color: #fff;
}

.wc-block-components-checkbox label {
	color: var(--bo-text);
}

.wc-block-components-address-card {
	background: var(--bo-bg);
	border: 1px solid var(--bo-border) !important;
	border-radius: var(--bo-radius) !important;
}

/* --- Moyens de paiement -------------------------------------------------------- */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
	border-color: var(--bo-border) !important;
	color: var(--bo-text);
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted {
	background: var(--bo-primary-soft);
	border-color: var(--bo-primary) !important;
	box-shadow: none !important;
}

.wc-block-components-radio-control__input {
	border: 2px solid var(--bo-border-input) !important;
}

.wc-block-components-radio-control__input:checked {
	border-color: var(--bo-primary) !important;
}

.wc-block-components-radio-control__input:checked::before {
	background: var(--bo-primary) !important;
}

.wc-block-components-payment-method-label {
	font-weight: var(--bo-weight-semibold);
}

.wc-block-components-radio-control-accordion-content {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

/* --- Bouton « Commander » -------------------------------------------------------- */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
	background: var(--bo-primary) !important;
	border: 0 !important;
	border-radius: var(--bo-radius-md) !important;
	box-shadow: 0 10px 24px -10px var(--bo-primary-a35);
	color: #fff !important;
	font-family: inherit;
	font-size: var(--bo-text-md) !important;
	font-weight: var(--bo-weight-bold) !important;
	min-height: 54px;
	transition: background-color var(--bo-duration) var(--bo-ease), transform var(--bo-duration) var(--bo-ease);
	width: 100%;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
	background: var(--bo-primary-hover) !important;
	transform: translateY(-1px);
}

.wc-block-components-checkout-place-order-button:focus-visible,
.wc-block-cart__submit-button:focus-visible {
	box-shadow: var(--bo-ring) !important;
	outline: none;
}

.wc-block-checkout__actions_row {
	margin-top: var(--bo-space-2);
}

.wc-block-checkout__terms {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
}

.wc-block-checkout__terms a {
	color: var(--bo-primary);
}

/* --- Résumé de commande (colonne de droite / panneau repliable sur mobile) ------ */
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	overflow: hidden;
}

.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper {
	border-color: var(--bo-border) !important;
	padding-left: var(--bo-space-5);
	padding-right: var(--bo-space-5);
}

.wc-block-components-sidebar .wc-block-components-totals-wrapper:first-child {
	border-top: 0 !important;
}

.wc-block-components-order-summary .wc-block-components-panel__button,
.wc-block-components-checkout-order-summary__title,
.wp-block-woocommerce-cart-order-summary-heading-block,
.wc-block-cart__totals-title {
	color: var(--bo-heading);
	font-family: var(--bo-font-heading, inherit);
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-bold);
}

.wc-block-components-checkout-order-summary__title,
.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-checkout-step__heading {
	background: var(--bo-bg);
	border-bottom: 1px solid var(--bo-border);
	margin: 0 !important;
	padding: var(--bo-space-4) var(--bo-space-5) !important;
}

.wc-block-components-checkout-order-summary__title-text {
	color: var(--bo-heading);
	font-size: var(--bo-text-lg);
	font-weight: var(--bo-weight-bold);
}

.wc-block-components-sidebar .wc-block-components-order-summary {
	border: 0 !important;
}

.wc-block-components-checkout-order-summary__content {
	border: 0;
}

.wc-block-components-order-summary-item {
	padding: var(--bo-space-4) 0;
}

.wc-block-components-order-summary-item__image img {
	aspect-ratio: 16 / 10;
	background: var(--bo-bg);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius);
	object-fit: contain;
}

.wc-block-components-order-summary-item__quantity {
	background: var(--bo-navy) !important;
	border: 2px solid var(--bo-white) !important;
	box-shadow: none !important;
	color: var(--bo-white) !important;
}

.wc-block-components-product-name {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
}

.wc-block-components-product-metadata,
.wc-block-components-product-details {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm) !important;
}

.wc-block-components-product-price,
.wc-block-components-order-summary-item__total-price,
.wc-block-formatted-money-amount {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
}

.wc-block-components-totals-item {
	color: var(--bo-text);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--bo-heading);
	font-size: var(--bo-text-xl) !important;
	font-weight: var(--bo-weight-bold);
}

.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon-link {
	color: var(--bo-primary) !important;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
}

.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon .wc-block-components-button {
	background: var(--bo-navy) !important;
	border-radius: var(--bo-radius) !important;
	color: #fff !important;
	font-weight: var(--bo-weight-semibold) !important;
}

/* Réassurance sous le formulaire (ajoutée par le thème après le bloc). */
.bo-funnel-reassurance {
	color: var(--bo-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--bo-text-sm);
	gap: var(--bo-space-3) var(--bo-space-6);
	justify-content: center;
	list-style: none;
	margin: var(--bo-space-8) 0 0;
	padding: 0;
}

.bo-funnel-reassurance li {
	align-items: center;
	display: flex;
	gap: var(--bo-space-2);
}

.bo-funnel-reassurance .bo-icon {
	color: var(--bo-success);
}

/* --- Mobile : le résumé repliable en tête devient une carte propre ------------ */
@media (max-width: 699px) {
	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		margin-bottom: var(--bo-space-6);
		position: static;
	}

	.wc-block-components-sidebar .wc-block-components-order-summary {
		border-radius: var(--bo-radius-lg) !important;
	}

	.wc-block-components-sidebar .wc-block-components-panel__button {
		padding: var(--bo-space-4) var(--bo-space-5) !important;
	}

	.wc-block-checkout__main .wc-block-components-checkout-step {
		padding: var(--bo-space-5) var(--bo-space-4);
	}

}

/* --- Bloc Panier ------------------------------------------------------------- */
.wp-block-woocommerce-cart .wc-block-cart-items {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	overflow: hidden;
}

.wc-block-cart-items th {
	background: var(--bo-bg);
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
	padding: var(--bo-space-4) var(--bo-space-5) !important;
}

.wc-block-cart-items td {
	border-top: 1px solid var(--bo-border) !important;
	padding: var(--bo-space-5) !important;
}

table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
	width: 136px;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
	aspect-ratio: 16 / 10;
	background: var(--bo-bg);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius);
	height: auto;
	object-fit: contain;
	width: 96px;
}

.wc-block-cart-item__remove-link {
	color: var(--bo-error) !important;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
}

.wc-block-components-quantity-selector {
	border-color: var(--bo-border-input) !important;
	border-radius: var(--bo-radius) !important;
}

.wc-block-components-quantity-selector::after {
	border-color: var(--bo-border-input) !important;
	border-radius: var(--bo-radius) !important;
}

.wp-block-woocommerce-cart-order-summary-block {
	padding: 0 !important;
}

.wp-block-woocommerce-cart-order-summary-heading-block,
.wc-block-cart__totals-title {
	background: var(--bo-bg);
	border-bottom: 1px solid var(--bo-border);
	display: block !important;
	letter-spacing: 0 !important;
	line-height: 1.4;
	margin: 0 !important;
	padding: var(--bo-space-4) var(--bo-space-5) !important;
	text-align: left !important;
	text-transform: none !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items {
	table-layout: fixed;
	width: 100%;
}

.wc-block-cart-items .wc-block-cart-item__image {
	width: 96px;
}

.wc-block-cart-items .wc-block-cart-item__total {
	text-align: right;
	width: 120px;
}

@media (max-width: 699px) {
	/* Sur mobile WooCommerce passe chaque ligne en grille : on laisse ses colonnes et on ajoute l'espace sur la ligne. */
	.wp-block-woocommerce-cart .wc-block-cart-items {
		border-radius: var(--bo-radius);
		table-layout: auto;
	}

	.wc-block-cart-items thead {
		display: none;
	}

	.wp-block-woocommerce-cart .wc-block-cart__main {
		margin-bottom: var(--bo-space-6);
	}

	.wc-block-cart-items .wc-block-cart-items__row {
		padding: var(--bo-space-4) var(--bo-space-3);
	}

	.wc-block-cart-items .wc-block-cart-items__row + .wc-block-cart-items__row {
		border-top: 1px solid var(--bo-border);
	}

	.wc-block-cart-items td {
		border-top: 0 !important;
		padding: 0 !important;
	}

	.wc-block-cart-items .wc-block-cart-item__image,
	.wc-block-cart-items .wc-block-cart-item__total {
		width: auto;
	}

	table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
		width: 80px;
	}

	.wc-block-cart-items .wc-block-components-product-name,
	.wc-block-cart-item__total .wc-block-components-product-price {
		font-size: var(--bo-text-sm);
	}
}

.wp-block-woocommerce-proceed-to-checkout-block {
	margin-top: var(--bo-space-4);
}

.wc-block-cart__empty-cart__title {
	color: var(--bo-heading);
}

/* État « panier vide » du thème */
.bo-empty-cart {
	display: grid;
	gap: var(--bo-space-10);
	padding: var(--bo-space-4) 0 var(--bo-space-6);
}

.bo-empty-cart__hero {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-lg);
	margin-inline: auto;
	max-width: 640px;
	padding: var(--bo-space-8) var(--bo-space-6);
	text-align: center;
	width: 100%;
}

.bo-empty-cart__icon {
	align-items: center;
	background: var(--bo-primary-soft);
	border-radius: 50%;
	color: var(--bo-primary);
	display: inline-flex;
	height: 72px;
	justify-content: center;
	margin-bottom: var(--bo-space-4);
	width: 72px;
}

.bo-empty-cart__title {
	font-size: var(--bo-h3);
	margin: 0 0 var(--bo-space-2);
}

.bo-empty-cart__text {
	color: var(--bo-muted);
	margin: 0 auto var(--bo-space-5);
	max-width: 46ch;
}

.bo-empty-cart__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-3);
	justify-content: center;
}

.bo-empty-cart__products .bo-section-head {
	margin-bottom: var(--bo-space-5);
}

@media (min-width: 900px) {
	.bo-empty-cart__products .bo-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 639px) {
	.bo-empty-cart__hero {
		padding: var(--bo-space-6) var(--bo-space-4);
	}

	.bo-empty-cart__actions .bo-btn {
		width: 100%;
	}
}

.wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
	background: var(--bo-primary) !important;
	border-radius: var(--bo-radius-md) !important;
}

/* Page classique (codes courts) : même espacement de haut de page. */
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-cart .cart-collaterals {
	margin-top: var(--bo-space-2);
}

/* Résumé complet affiché sur mobile au-dessus du bouton : pas de double cadre. */
.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block {
	margin: 0 0 var(--bo-space-4);
	padding: 0 !important;
}

.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content,
.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,
.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:last-child {
	border: 0 !important;
}

.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:last-child {
	border-top: 1px solid var(--bo-border) !important;
}

.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content {
	padding: 0 var(--bo-space-5);
}

/* Les styles .bo-payments sont dans components.css (utilisés aussi sur l'accueil). */

.bo-payments--funnel {
	justify-content: center;
	margin: var(--bo-space-8) 0 0;
}

.bo-payments--funnel + .bo-funnel-reassurance {
	margin-top: var(--bo-space-4);
}

.bo-purchase__guarantee {
	color: var(--bo-heading);
	font-weight: var(--bo-weight-semibold);
}

.bo-purchase__guarantee .bo-icon {
	color: var(--bo-success);
}

/* --- Actions d'une commande (page Merci, détail de commande) : Payer / Annuler ------ */
.woocommerce-table--order-details .order-actions--heading {
	vertical-align: middle;
}

.woocommerce-table--order-details td:has(> .order-actions-button) {
	align-items: center;
	display: flex !important; /* Prime sur l'affichage « bloc » des tableaux responsifs WooCommerce. */
	flex-wrap: wrap;
	gap: var(--bo-space-2);
	justify-content: flex-end;
}

.woocommerce-table--order-details .order-actions-button {
	font-size: var(--bo-text-sm);
	margin: 0 !important;
	min-height: 40px;
	padding: 0.5rem 1.1rem;
}

.woocommerce-table--order-details .order-actions-button.cancel {
	background: var(--bo-white);
	border: 1.5px solid var(--bo-border-input);
	color: var(--bo-text);
}

.woocommerce-table--order-details .order-actions-button.cancel:hover {
	background: var(--bo-bg);
	border-color: var(--bo-error);
	color: var(--bo-error);
}

@media (max-width: 599px) {
	/* Sur mobile : les deux boutons sur la même ligne, largeur partagée, 12 px entre eux. */
	.woocommerce-table--order-details td:has(> .order-actions-button) {
		flex-wrap: nowrap;
		gap: var(--bo-space-3);
		padding-top: var(--bo-space-3);
	}

	.woocommerce-table--order-details .order-actions-button {
		flex: 1 1 0;
		justify-content: center;
		min-width: 0;
		padding-inline: 0.5rem;
	}
}

/* ------------------------------------------------------------------
 * Espace client — connexion / inscription (visiteur non connecté)
 * ------------------------------------------------------------------ */
.bo-auth {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	min-height: calc(100vh - var(--bo-header-height));
}

.bo-auth__brand {
	display: flex;
	padding: clamp(2.5rem, 2rem + 3vw, 5rem) var(--bo-gutter);
}

.bo-auth__brand-inner {
	margin: auto;
	max-width: 30rem;
	width: 100%;
}

.bo-auth__title {
	color: var(--bo-white);
	font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.75rem);
	letter-spacing: -0.03em;
	line-height: 1.1;
	margin: 0 0 var(--bo-space-4);
	max-width: 14ch;
}

.bo-auth__text {
	color: var(--bo-on-dark-muted);
	font-size: var(--bo-text-md);
	margin: 0 0 var(--bo-space-8);
	max-width: 36rem;
}

.bo-auth__points {
	display: grid;
	gap: var(--bo-space-5);
	list-style: none;
	margin: 0 0 var(--bo-space-8);
	padding: 0;
}

.bo-auth__points li {
	align-items: flex-start;
	display: flex;
	gap: var(--bo-space-4);
}

.bo-auth__points .bo-icon-tile {
	height: 44px;
	width: 44px;
}

.bo-auth__points strong {
	color: var(--bo-white);
	display: block;
	font-size: var(--bo-text-base);
	margin-bottom: 2px;
}

.bo-auth__point-text {
	color: var(--bo-on-dark-muted);
	display: block;
	font-size: var(--bo-text-sm);
	line-height: 1.5;
}

.bo-auth__trust {
	border-top: 1px solid var(--bo-on-dark-border);
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-2) var(--bo-space-5);
	list-style: none;
	margin: 0;
	padding: var(--bo-space-5) 0 0;
}

.bo-auth__trust li {
	align-items: center;
	color: var(--bo-on-dark-muted);
	display: inline-flex;
	font-size: var(--bo-text-xs);
	font-weight: var(--bo-weight-medium);
	gap: var(--bo-space-2);
}

.bo-auth__trust .bo-icon {
	color: var(--bo-cyan);
}

.bo-auth__main {
	background: var(--bo-bg);
	display: flex;
	padding: clamp(2rem, 1.5rem + 3vw, 5rem) var(--bo-gutter);
}

.bo-auth__main-inner {
	margin: auto;
	max-width: 30rem;
	width: 100%;
}

/* Les notices WooCommerce (erreurs de connexion) au-dessus de la carte */
.bo-auth__main .woocommerce-notices-wrapper:empty {
	display: none;
}

.bo-auth__main .woocommerce-error,
.bo-auth__main .woocommerce-message,
.bo-auth__main .woocommerce-info {
	margin-bottom: var(--bo-space-4);
}

/* Carte */
.bo-auth-card {
	background: var(--bo-white);
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-radius-xl);
	box-shadow: var(--bo-shadow-lg);
	overflow: hidden;
}

.bo-auth-card__switch {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.bo-auth-card__tabs {
	background: var(--bo-bg);
	border-bottom: 1px solid var(--bo-border);
	display: grid;
	gap: 4px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 6px;
}

.bo-auth-card__tab {
	border-radius: var(--bo-radius);
	color: var(--bo-muted);
	cursor: pointer;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
	padding: 0.7rem 0.75rem;
	text-align: center;
	transition: background var(--bo-duration) var(--bo-ease), color var(--bo-duration) var(--bo-ease), box-shadow var(--bo-duration) var(--bo-ease);
	user-select: none;
}

#bo-auth-tab-login:checked ~ .bo-auth-card__tabs .bo-auth-card__tab[for="bo-auth-tab-login"],
#bo-auth-tab-register:checked ~ .bo-auth-card__tabs .bo-auth-card__tab[for="bo-auth-tab-register"] {
	background: var(--bo-white);
	box-shadow: var(--bo-shadow);
	color: var(--bo-heading);
}

#bo-auth-tab-login:focus-visible ~ .bo-auth-card__tabs .bo-auth-card__tab[for="bo-auth-tab-login"],
#bo-auth-tab-register:focus-visible ~ .bo-auth-card__tabs .bo-auth-card__tab[for="bo-auth-tab-register"] {
	outline: 2px solid var(--bo-focus);
	outline-offset: 2px;
}

.bo-auth-card__panel {
	padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
}

#bo-auth-tab-register:checked ~ .bo-auth-card__panel--login,
#bo-auth-tab-login:checked ~ .bo-auth-card__panel--register {
	display: none;
}

.bo-auth-card__title {
	font-size: var(--bo-h3);
	letter-spacing: -0.02em;
	margin: 0 0 var(--bo-space-2);
}

.bo-auth-card__lead {
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	margin: 0 0 var(--bo-space-6);
}

/* Le formulaire perd la mise en forme « boîte » générique de l'espace client */
.woocommerce-account .bo-auth-card .woocommerce-form-login,
.woocommerce-account .bo-auth-card .woocommerce-form-register,
.woocommerce-account .bo-auth-card .woocommerce-ResetPassword {
	background: transparent;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0;
	max-width: none;
	padding: 0 !important;
}

.bo-auth-card .form-row {
	margin-bottom: var(--bo-space-4);
}

.bo-auth-card .form-row label {
	color: var(--bo-heading);
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-semibold);
	margin-bottom: var(--bo-space-2);
}

.bo-auth-card .form-row .required {
	color: var(--bo-danger, #dc2626);
	text-decoration: none;
}

.bo-auth-card .input-text {
	min-height: 48px;
}

.bo-auth-card__row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bo-space-2) var(--bo-space-4);
	justify-content: space-between;
	margin: calc(var(--bo-space-1) * -1) 0 var(--bo-space-5);
}

.bo-auth-card .woocommerce-form-login__rememberme {
	align-items: center;
	color: var(--bo-muted);
	display: inline-flex;
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-regular);
	gap: var(--bo-space-2);
	margin: 0;
}

.bo-auth-card__lost {
	font-size: var(--bo-text-sm);
	font-weight: var(--bo-weight-medium);
}

.bo-auth-card__submit {
	margin: 0 !important;
}

.woocommerce-account .bo-auth-card .woocommerce-form-login__submit,
.woocommerce-account .bo-auth-card .woocommerce-form-register__submit,
.woocommerce-account .bo-auth-card .woocommerce-ResetPassword .button {
	gap: var(--bo-space-2);
	justify-content: center;
	margin: 0;
	width: 100%;
}

.bo-auth-card__note {
	align-items: flex-start;
	background: var(--bo-bg);
	border-radius: var(--bo-radius);
	color: var(--bo-muted);
	display: flex;
	font-size: var(--bo-text-sm);
	gap: var(--bo-space-2);
	margin: 0 0 var(--bo-space-4);
	padding: var(--bo-space-3) var(--bo-space-4);
}

.bo-auth-card__note .bo-icon {
	color: var(--bo-primary);
	flex-shrink: 0;
	margin-top: 2px;
}

.bo-auth-card__alt {
	border-top: 1px solid var(--bo-border);
	color: var(--bo-muted);
	font-size: var(--bo-text-sm);
	margin: var(--bo-space-6) 0 0;
	padding-top: var(--bo-space-5);
	text-align: center;
}

.bo-auth-card__alt-link {
	color: var(--bo-primary);
	cursor: pointer;
	font-weight: var(--bo-weight-semibold);
}

.bo-auth-card__alt-link:hover {
	text-decoration: underline;
}

.bo-auth-card__alt-link a {
	align-items: center;
	display: inline-flex;
	gap: var(--bo-space-1);
}

/* Texte de confidentialité ajouté par WooCommerce sous l'inscription */
.bo-auth-card .woocommerce-privacy-policy-text p {
	color: var(--bo-muted);
	font-size: var(--bo-text-xs);
	line-height: 1.5;
	margin: 0 0 var(--bo-space-4);
}

/* Mot de passe perdu (endpoint) */
.bo-auth-card .woocommerce-ResetPassword > p:first-child {
	display: none; /* Le texte d'introduction WooCommerce est remplacé par le nôtre. */
}

@media (min-width: 1024px) {
	.bo-auth {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	}

	.bo-auth__brand {
		padding-inline: clamp(2rem, 4vw, 5rem);
	}
}

@media (max-width: 1023px) {
	.bo-auth__brand {
		order: 2;
	}

	.bo-auth__title {
		max-width: none;
	}

	.bo-auth__points {
		gap: var(--bo-space-4);
	}

	.bo-auth__point-text {
		display: none;
	}
}
