/* === se-active-filter-chips === */
/* === se-ACTIVE-FILTER-CHIPS === */
	.se-afc {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.45rem;
		padding: 0.65rem 0;
		margin: 0 0 0.85rem;
		font-size: 0.85rem;
	}
	.se-afc-label {
		font-weight: 600;
		color: #475569;
		font-size: 0.78rem;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		margin-right: 0.25rem;
	}
	.se-afc-chip {
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
		padding: 0.32rem 0.55rem 0.32rem 0.7rem;
		background: #ffffff;
		color: #1d2327;
		border: 1px solid #cbd5e1;
		border-radius: 999px;
		font-size: 0.78rem;
		font-weight: 500;
		text-decoration: none;
		transition: all 0.15s ease;
		max-width: 280px;
	}
	.se-afc-chip:hover,
	.se-afc-chip:focus {
		background: #fff5f5;
		border-color: #fca5a5;
		color: #b91c1c;
		text-decoration: none;
	}
	.se-afc-chip-key {
		font-size: 0.68rem;
		font-weight: 700;
		color: #64748b;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}
	.se-afc-chip:hover .se-afc-chip-key {
		color: #b91c1c;
	}
	.se-afc-chip-value {
		font-weight: 600;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.se-afc-chip-x {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 18px;
		height: 18px;
		border-radius: 50%;
		background: #f1f5f9;
		color: #64748b;
		font-size: 0.78rem;
		font-weight: 700;
		line-height: 1;
		margin-left: 0.15rem;
	}
	.se-afc-chip:hover .se-afc-chip-x {
		background: #fecaca;
		color: #b91c1c;
	}
	.se-afc-clear-all {
		display: inline-flex;
		align-items: center;
		padding: 0.32rem 0.7rem;
		background: transparent;
		color: #2d7590;
		font-size: 0.78rem;
		font-weight: 600;
		text-decoration: underline;
		text-underline-offset: 2px;
		border-radius: 4px;
		margin-left: 0.25rem;
	}
	.se-afc-clear-all:hover,
	.se-afc-clear-all:focus {
		background: rgba(45, 117, 144, 0.08);
		text-decoration: underline;
		color: #1f5c75;
	}
	@media (max-width: 767px) {
		.se-afc {
			padding: 0.5rem 0;
			gap: 0.35rem;
			font-size: 0.78rem;
		}
		.se-afc-label { font-size: 0.7rem; width: 100%; margin-bottom: 0.15rem; }
		.se-afc-chip { padding: 0.28rem 0.5rem 0.28rem 0.6rem; font-size: 0.72rem; }
		.se-afc-chip-key { font-size: 0.62rem; }
		.se-afc-clear-all { font-size: 0.72rem; padding: 0.28rem 0.6rem; }
	}

/* === se-back-to-top === */
/* === se-BACK-TO-TOP === */
	.se-btt {
		position: fixed;
		bottom: 18px;
		right: 18px;
		z-index: 996;
		width: 46px;
		height: 46px;
		border-radius: 50%;
		background: rgba(45, 117, 144, 0.92);
		color: #ffffff;
		border: none;
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		opacity: 0;
		transform: translateY(20px) scale(0.95);
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.22s ease, transform 0.22s ease, background 0.15s ease;
		box-shadow: 0 6px 18px -4px rgba(15, 23, 42, 0.25), 0 2px 6px rgba(15, 23, 42, 0.10);
		backdrop-filter: blur(6px);
		-webkit-backdrop-filter: blur(6px);
	}
	.se-btt.is-visible {
		opacity: 1;
		transform: translateY(0) scale(1);
		visibility: visible;
		pointer-events: auto;
	}
	.se-btt:hover {
		background: #1f5c75;
	}
	.se-btt:focus-visible {
		outline: 3px solid rgba(45, 117, 144, 0.4);
		outline-offset: 2px;
	}
	.se-btt:active {
		transform: translateY(0) scale(0.92);
	}
	.se-btt svg {
		width: 22px;
		height: 22px;
		stroke: currentColor;
		stroke-width: 2.5;
		fill: none;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
	/* Sur mobile : se décale au-dessus du sticky cart si présent */
	@media (max-width: 768px) {
		.se-btt {
			bottom: 14px;
			right: 14px;
		}
		body:has(.se-sticky-cart.is-visible) .se-btt {
			bottom: 84px;
		}
	}
	@media (prefers-reduced-motion: reduce) {
		.se-btt {
			transition: opacity 0.1s ease !important;
			transform: none !important;
		}
	}
	@media print {
		.se-btt { display: none !important; }
	}

/* === se-boutique-pro-inline-fix === */
/* Fix scroll horizontal urgence */
	body.woocommerce-shop, body.tax-product_cat { overflow-x: hidden; }
	main, .brxe-shop, .woocommerce { max-width: 100% !important; }
	.woocommerce-products-header { padding: 0 !important; }
	.woocommerce-products-header__title.page-title { display: none !important; }
	.term-description { display: none !important; }
	/* Hide la fameuse <ul> categories list moche */
	.product-categories, ul.product-categories { display: none !important; }
	/* Hide bricks archive title sur boutique ET sub-cats */
	body.woocommerce-shop .bricks-archive-title-wrapper,
	body.tax-product_cat .bricks-archive-title-wrapper,
	body.tax-product_cat .page-description,
	body.tax-product_cat h1.title { display: none !important; }

/* === se-cart-toast === */
/* === se-CART-TOAST === */
	.se-toast-container {
		position: fixed;
		top: 18px;
		right: 18px;
		z-index: 99998;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		max-width: 360px;
		pointer-events: none;
	}
	.se-toast {
		display: flex;
		align-items: stretch;
		gap: 0.7rem;
		padding: 0.9rem 1rem;
		background: #ffffff;
		border-left: 4px solid #2bb87a;
		border-radius: 10px;
		box-shadow: 0 12px 32px -8px rgba(15, 23, 42, 0.18), 0 4px 12px rgba(15, 23, 42, 0.08);
		font-size: 0.88rem;
		color: #1d2327;
		transform: translateX(420px);
		opacity: 0;
		transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
		pointer-events: auto;
	}
	.se-toast.is-visible {
		transform: translateX(0);
		opacity: 1;
	}
	.se-toast.is-leaving {
		transform: translateX(420px);
		opacity: 0;
	}
	.se-toast-icon {
		flex: 0 0 auto;
		width: 28px;
		height: 28px;
		border-radius: 50%;
		background: #2bb87a;
		color: #ffffff;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 1rem;
		font-weight: 800;
		line-height: 1;
	}
	.se-toast-body {
		flex: 1 1 auto;
		min-width: 0;
	}
	.se-toast-title {
		font-weight: 700;
		font-size: 0.88rem;
		margin: 0 0 0.1rem;
		color: #1d2327;
		line-height: 1.3;
	}
	.se-toast-text {
		font-size: 0.78rem;
		color: #475569;
		margin: 0 0 0.35rem;
		line-height: 1.35;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.se-toast-actions {
		display: flex;
		gap: 0.4rem;
	}
	.se-toast-link {
		font-size: 0.78rem;
		font-weight: 700;
		color: #2d7590;
		text-decoration: none;
		padding: 0.2rem 0.5rem;
		border-radius: 4px;
		background: rgba(45, 117, 144, 0.08);
		transition: background 0.15s ease;
	}
	.se-toast-link:hover,
	.se-toast-link:focus {
		background: rgba(45, 117, 144, 0.18);
		text-decoration: none;
		color: #1f5c75;
	}
	.se-toast-close {
		flex: 0 0 auto;
		background: transparent;
		border: 0;
		color: #94a3b8;
		font-size: 1.2rem;
		font-weight: 400;
		cursor: pointer;
		line-height: 1;
		padding: 0 0.2rem;
		align-self: flex-start;
	}
	.se-toast-close:hover { color: #1d2327; }

	/* Hide default WC message banner (now replaced by toast) */
	.woocommerce-message.se-toast-replaced,
	.woocommerce-notices-wrapper .se-toast-replaced {
		display: none !important;
	}

	@media (max-width: 767px) {
		.se-toast-container {
			top: auto;
			bottom: 80px;
			right: 12px;
			left: 12px;
			max-width: none;
		}
		.se-toast {
			transform: translateY(120%);
		}
		.se-toast.is-visible {
			transform: translateY(0);
		}
		.se-toast.is-leaving {
			transform: translateY(120%);
		}
		/* Si sticky-cart visible, monte un peu plus haut */
		body:has(.se-sticky-cart.is-visible) .se-toast-container {
			bottom: 84px;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.se-toast { transition: opacity 0.15s !important; transform: none !important; }
		.se-toast.is-visible { transform: none !important; }
	}

	@media print {
		.se-toast-container { display: none !important; }
	}

/* === se-empty-state === */
/* === se-EMPTY-STATE === */
	.se-empty-state {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		padding: 3rem 1.5rem;
		background: linear-gradient(135deg, rgba(45, 117, 144, 0.04), rgba(58, 155, 184, 0.02));
		border: 2px dashed rgba(45, 117, 144, 0.2);
		border-radius: 16px;
		margin: 1.5rem 0;
		gap: 1rem;
	}
	.se-empty-state-icon {
		font-size: 3.5rem;
		line-height: 1;
		opacity: 0.6;
	}
	.se-empty-state-title {
		font-size: 1.35rem;
		font-weight: 700;
		color: #1d2327;
		margin: 0;
		letter-spacing: -0.01em;
	}
	.se-empty-state-text {
		font-size: 0.95rem;
		color: #475569;
		margin: 0;
		max-width: 480px;
		line-height: 1.5;
	}
	.se-empty-state-ctas {
		display: flex;
		flex-wrap: wrap;
		gap: 0.6rem;
		justify-content: center;
		margin-top: 0.5rem;
	}
	.se-empty-state-cta {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		padding: 0.7rem 1.2rem;
		border-radius: 10px;
		font-size: 0.92rem;
		font-weight: 700;
		text-decoration: none;
		transition: all 0.15s ease;
		cursor: pointer;
		font-family: inherit;
		border: none;
	}
	.se-empty-state-cta-primary {
		background: #2d7590;
		color: #fff;
	}
	.se-empty-state-cta-primary:hover,
	.se-empty-state-cta-primary:focus {
		background: #1f5c75;
		color: #fff;
		text-decoration: none;
	}
	.se-empty-state-cta-secondary {
		background: #fff;
		color: #2d7590;
		border: 2px solid #2d7590;
	}
	.se-empty-state-cta-secondary:hover,
	.se-empty-state-cta-secondary:focus {
		background: #2d7590;
		color: #fff;
		text-decoration: none;
	}
	.se-empty-state-tip {
		font-size: 0.78rem;
		color: #94a3b8;
		font-style: italic;
		margin-top: 0.4rem;
	}

	/* Hide default WC message if we're replacing */
	.se-empty-state ~ .woocommerce-no-products-found,
	.woocommerce-no-products-found.se-eh-hidden {
		display: none !important;
	}

/* === se-form-enhance === */
/* === se-FORM-ENHANCE === */

	/* Wrapper pour floating label */
	.se-fe-field {
		position: relative;
	}
	.se-fe-field input,
	.se-fe-field textarea {
		padding-top: 1.35rem !important;
		padding-bottom: 0.55rem !important;
	}
	.se-fe-label {
		position: absolute;
		left: 12px;
		top: 14px;
		font-size: 0.92rem;
		color: #94a3b8;
		pointer-events: none;
		background: transparent;
		padding: 0 4px;
		transition: top 0.15s ease, font-size 0.15s ease, color 0.15s ease;
		font-weight: 500;
	}
	.se-fe-field.se-fe-filled .se-fe-label,
	.se-fe-field.se-fe-focused .se-fe-label {
		top: -8px;
		font-size: 0.7rem;
		color: #2d7590;
		background: #ffffff;
		font-weight: 600;
	}
	.se-fe-field.se-fe-focused input,
	.se-fe-field.se-fe-focused textarea {
		border-color: #2d7590 !important;
		box-shadow: 0 0 0 3px rgba(45, 117, 144, 0.12) !important;
	}

	/* Required indicator subtil */
	.se-fe-required-mark {
		color: #ef4444;
		margin-left: 2px;
		font-weight: 700;
	}

	/* Submit button focus visible */
	.brxe-form button[type="submit"]:focus-visible {
		outline: 3px solid rgba(45, 117, 144, 0.4) !important;
		outline-offset: 2px !important;
	}

/* === se-mobile-filters-toggle-css === */
/* === sx-MOBILE-FILTERS-TOGGLE === Sidebar collapsable mobile === */

	/* Bouton toggle visible mobile uniquement */
	.sx-filters-mobile-toggle { display: none; }

	@media (max-width: 767px) {
		/* Hide sidebar par défaut mobile */
		.sx-filters-sidebar {
			display: none !important;
		}

		/* Show le bouton toggle */
		.sx-filters-mobile-toggle {
			display: flex !important;
			align-items: center;
			justify-content: space-between;
			width: 100%;
			padding: 0.75rem 1rem;
			margin: 0 0 0.85rem;
			background: linear-gradient(135deg, #2d7590 0%, #3a9bb8 100%);
			color: #fff;
			border: none;
			border-radius: 10px;
			font-size: 0.92rem;
			font-weight: 700;
			letter-spacing: 0.02em;
			cursor: pointer;
			box-shadow: 0 4px 12px -2px rgba(45, 117, 144, 0.35);
			font-family: inherit;
			gap: 0.5rem;
		}
		.sx-filters-mobile-toggle:hover { background: linear-gradient(135deg, #1d2327 0%, #2a7a8e 100%); }
		.sx-filters-mobile-toggle .sx-fmt-icon { font-size: 1.1rem; line-height: 1; }
		.sx-filters-mobile-toggle .sx-fmt-label { flex: 1; text-align: left; }
		.sx-filters-mobile-toggle .sx-fmt-count {
			padding: 0.18rem 0.55rem;
			background: rgba(255,255,255,0.22);
			border-radius: 999px;
			font-size: 0.72rem;
			font-weight: 800;
		}
		.sx-filters-mobile-toggle .sx-fmt-arrow { transition: transform 0.2s ease; }
		.sx-filters-mobile-toggle.sx-fmt-open .sx-fmt-arrow { transform: rotate(180deg); }

		/* Sidebar slide-down mobile quand active */
		.sx-filters-sidebar.sx-filters-mobile-open {
			display: block !important;
			position: fixed !important;
			top: 0 !important;
			left: 0 !important;
			right: 0 !important;
			bottom: 0 !important;
			z-index: 99997 !important;
			max-height: 100vh !important;
			overflow-y: auto !important;
			border-radius: 0 !important;
			padding: 1.25rem 1rem 5rem !important;
			box-shadow: none !important;
			animation: sx-fmt-slide-up 0.25s cubic-bezier(0.16, 1, 0.3, 1);
		}
		@keyframes sx-fmt-slide-up {
			from { transform: translateY(20px); opacity: 0; }
			to { transform: translateY(0); opacity: 1; }
		}

		/* Backdrop (pour fermeture au tap hors sidebar) */
		.sx-fmt-backdrop {
			display: none;
			position: fixed;
			inset: 0;
			background: rgba(15, 20, 25, 0.65);
			backdrop-filter: blur(4px);
			z-index: 99996;
			animation: sx-fmt-fade-in 0.2s ease forwards;
		}
		.sx-fmt-backdrop.sx-fmt-open { display: block; }
		@keyframes sx-fmt-fade-in { from { opacity: 0; } to { opacity: 1; } }

		/* Bouton "Voir produits" sticky bottom dans sidebar mobile */
		.sx-filters-sidebar.sx-filters-mobile-open::after {
			content: '';
			display: block;
			height: 60px;
		}
		.sx-fmt-apply-bar {
			display: none;
			position: fixed;
			bottom: 0;
			left: 0;
			right: 0;
			z-index: 99998;
			padding: 0.85rem 1rem;
			background: #fff;
			border-top: 1px solid #e4e7ea;
			box-shadow: 0 -4px 16px -4px rgba(0, 0, 0, 0.1);
		}
		.sx-fmt-apply-bar.sx-fmt-show { display: flex; gap: 0.55rem; }
		.sx-fmt-apply-btn {
			flex: 1;
			padding: 0.75rem 1rem;
			background: #2d7590;
			color: #fff !important;
			border: none;
			border-radius: 8px;
			font-size: 0.92rem;
			font-weight: 700;
			cursor: pointer;
			font-family: inherit;
		}
		.sx-fmt-apply-btn-secondary { background: transparent; color: #5b6770 !important; border: 2px solid #e4e7ea; }

		/* Body lock scroll quand sidebar ouverte */
		body.sx-fmt-locked { overflow: hidden !important; position: fixed !important; width: 100%; }
	}
	/* === /sx-MOBILE-FILTERS-TOGGLE === */

/* === se-mobile-header-search === */
/* === se-MOBILE-HEADER-SEARCH === */

	/* Bouton search dans sx-moh (style cohérent avec sx-moh-btn) */
	.sx-moh-search {
		appearance: none !important;
		background: transparent !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 8px !important;
		width: 42px !important;
		height: 42px !important;
		padding: 0 !important;
		margin: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		cursor: pointer !important;
		transition: background 0.15s ease, transform 0.1s ease !important;
		color: #0f1214 !important;
	}
	.sx-moh-search:hover {
		background: rgba(58, 155, 184, 0.08) !important;
	}
	.sx-moh-search:active {
		transform: scale(0.94) !important;
	}
	.sx-moh-search svg {
		width: 22px !important;
		height: 22px !important;
		stroke: currentColor !important;
		stroke-width: 2 !important;
		fill: none !important;
		stroke-linecap: round !important;
		stroke-linejoin: round !important;
	}

	/* Overlay search */
	#se-mh-search-overlay {
		position: fixed;
		inset: 0;
		z-index: 100001;
		background: rgba(15, 18, 20, 0.85);
		-webkit-backdrop-filter: blur(12px) saturate(140%);
		backdrop-filter: blur(12px) saturate(140%);
		display: none;
		align-items: flex-start;
		justify-content: center;
		padding: 6vh 1rem 2rem;
		opacity: 0;
		transition: opacity 0.18s ease;
	}
	#se-mh-search-overlay.is-open {
		display: flex;
		opacity: 1;
	}
	#se-mh-search-overlay .se-mhs-stage {
		width: 100%;
		max-width: 640px;
		background: #ffffff;
		border-radius: 16px;
		box-shadow: 0 24px 64px -12px rgba(0,0,0,0.45), 0 8px 24px -8px rgba(0,0,0,0.30);
		padding: 1.25rem 1.25rem 1rem;
		display: flex;
		flex-direction: column;
		gap: 0.85rem;
	}
	#se-mh-search-overlay .se-mhs-header {
		display: flex;
		align-items: center;
		gap: 0.6rem;
		padding-bottom: 0.5rem;
		border-bottom: 1px solid rgba(15, 18, 20, 0.08);
	}
	#se-mh-search-overlay .se-mhs-title {
		font-size: 0.95rem;
		font-weight: 700;
		color: #1d2327;
		flex: 1;
		margin: 0;
		letter-spacing: -0.01em;
	}
	#se-mh-search-overlay .se-mhs-close {
		appearance: none;
		background: rgba(15,18,20,0.06);
		border: 0;
		width: 36px;
		height: 36px;
		border-radius: 50%;
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #1d2327;
		font-size: 1.4rem;
		font-weight: 400;
		line-height: 1;
		transition: background 0.15s;
	}
	#se-mh-search-overlay .se-mhs-close:hover { background: rgba(15,18,20,0.12); }
	#se-mh-search-overlay .se-mhs-form {
		display: flex;
		gap: 0.5rem;
		align-items: stretch;
	}
	#se-mh-search-overlay .se-mhs-input {
		flex: 1;
		min-width: 0;
		padding: 0.85rem 1rem;
		font-size: 1rem;
		border: 2px solid #2d7590;
		border-radius: 10px;
		color: #1d2327;
		background: #ffffff;
	}
	#se-mh-search-overlay .se-mhs-input:focus {
		outline: none;
		border-color: #1f5c75;
		box-shadow: 0 0 0 3px rgba(45,117,144,0.15);
	}
	#se-mh-search-overlay .se-mhs-submit {
		appearance: none;
		background: #2d7590;
		color: #fff;
		border: none;
		border-radius: 10px;
		padding: 0.85rem 1.2rem;
		font-size: 0.95rem;
		font-weight: 700;
		cursor: pointer;
		min-width: 56px;
		transition: background 0.15s;
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
	}
	#se-mh-search-overlay .se-mhs-submit:hover { background: #1f5c75; }
	#se-mh-search-overlay .se-mhs-suggestions {
		display: flex;
		flex-wrap: wrap;
		gap: 0.4rem;
		padding-top: 0.25rem;
	}
	#se-mh-search-overlay .se-mhs-sug-label {
		font-size: 0.75rem;
		font-weight: 600;
		color: #64748b;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		display: block;
		width: 100%;
		margin-bottom: 0.15rem;
	}
	#se-mh-search-overlay .se-mhs-sug {
		display: inline-flex;
		align-items: center;
		gap: 0.3rem;
		padding: 0.38rem 0.7rem;
		background: #f1f5f9;
		color: #1d2327;
		border-radius: 999px;
		font-size: 0.8rem;
		font-weight: 500;
		text-decoration: none;
		transition: background 0.15s;
	}
	#se-mh-search-overlay .se-mhs-sug:hover {
		background: #dbeafe;
		color: #1d4ed8;
		text-decoration: none;
	}

	/* sx-moh-actions accommode 3 boutons */
	.sx-moh-actions {
		gap: 0.35rem !important;
	}

	/* === ASP slot dans overlay : reset overrides + visible === */
	#se-mh-search-overlay .se-mhs-asp-slot {
		width: 100%;
	}
	#se-mh-search-overlay .se-mhs-asp-slot .asp_w,
	#se-mh-search-overlay .se-mhs-asp-slot .asp_m,
	#se-mh-search-overlay .se-mhs-asp-slot [class*="asp_"] {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	#se-mh-search-overlay .se-mhs-asp-slot input[type="search"],
	#se-mh-search-overlay .se-mhs-asp-slot input.orig {
		padding: 0.85rem 1rem !important;
		font-size: 1rem !important;
		border: 2px solid #2d7590 !important;
		border-radius: 10px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	#se-mh-search-overlay .se-mhs-asp-slot .probox,
	#se-mh-search-overlay .se-mhs-asp-slot .proinput {
		width: 100% !important;
	}
	#se-mh-search-overlay .se-mhs-asp-slot .asp_res_wrap {
		position: relative !important;
		max-width: 100% !important;
		z-index: 100002 !important;
	}

	/* === /se-MOBILE-HEADER-SEARCH === */

/* === se-result-count === */
.se-result-count {
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	margin: 0 0 1.2rem;
	padding: 0.7rem 1rem;
	background: #f4f6f8;
	border-radius: 8px;
	border-left: 4px solid #2d7590;
	font-size: 0.92rem;
	color: #1d2327;
	font-weight: 500;
	font-family: inherit;
}
.se-result-count strong {
	color: #2d7590;
	font-weight: 800;
	font-size: 1.05em;
	font-variant-numeric: tabular-nums;
}
.se-result-count-filter-info {
	margin-left: auto;
	font-size: 0.8rem;
	color: #5b6770;
	font-weight: 600;
}
.se-result-count-filter-info a {
	color: #c4413c;
	text-decoration: none;
	margin-left: 0.4rem;
	font-weight: 700;
}
.se-result-count-filter-info a:hover { text-decoration: underline; }
@media (max-width: 767px) {
	.se-result-count { font-size: 0.85rem; padding: 0.55rem 0.8rem; }
	.se-result-count-filter-info { font-size: 0.72rem; width: 100%; margin: 0.3rem 0 0; }
	.se-result-count { flex-wrap: wrap; }
}

/* === se-shop-mobile-fix === */
@media (max-width: 767px) {
		body.woocommerce-shop .sx-shop-with-filters,
		body.tax-product_cat .sx-shop-with-filters {
			grid-template-columns: 1fr !important;
			gap: 1rem !important;
		}
		body.woocommerce-shop .sx-filters-sidebar,
		body.tax-product_cat .sx-filters-sidebar {
			position: static !important;
			max-height: none !important;
			margin-bottom: 1rem;
		}
		/* WC native ordering + count : mobile align */
		body.woocommerce-shop .woocommerce-result-count,
		body.tax-product_cat .woocommerce-result-count {
			float: none !important;
			margin-bottom: 0.5rem !important;
			font-size: 0.82rem !important;
		}
		body.woocommerce-shop .woocommerce-ordering,
		body.tax-product_cat .woocommerce-ordering {
			float: none !important;
			width: 100% !important;
		}
		body.woocommerce-shop .woocommerce-ordering select,
		body.tax-product_cat .woocommerce-ordering select {
			width: 100% !important;
		}
	}

/* === se-mobile-tight === */
/* === sx-MOBILE-TIGHT === Compacter le UX mobile === */

	/* ==== ≤ 600px : compact général ==== */
	@media (max-width: 600px) {
		/* Hero boutique compact */
		.sx-boutique-hero { margin: 0.75rem auto 0 !important; padding: 0 0.75rem !important; }
		.sx-boutique-hero-inner {
			padding: 1.1rem 1rem !important;
			gap: 0.85rem !important;
			border-radius: 10px !important;
			grid-template-columns: 1fr !important;
		}
		.sx-boutique-hero-tag {
			font-size: 0.62rem !important;
			letter-spacing: 0.08em !important;
			padding: 0.22rem 0.6rem !important;
			margin-bottom: 0.55rem !important;
		}
		.sx-boutique-hero-h1 {
			font-size: 1.25rem !important;
			line-height: 1.18 !important;
			margin: 0 0 0.5rem !important;
		}
		.sx-boutique-hero-sub {
			font-size: 0.78rem !important;
			line-height: 1.45 !important;
		}
		.sx-boutique-hero-stats {
			grid-template-columns: repeat(3, 1fr) !important;
			gap: 0.3rem !important;
		}
		.sx-bhs-item { padding: 0.6rem 0.3rem !important; gap: 0.1rem !important; }
		.sx-bhs-num { font-size: 0.78rem !important; }
		.sx-bhs-lbl { font-size: 0.52rem !important; letter-spacing: 0.02em !important; }

		/* Grid catégories compact */
		.sx-boutique-cats { margin: 1rem auto !important; padding: 0 0.75rem !important; }
		.sx-boutique-cats-head { margin-bottom: 0.6rem !important; }
		.sx-boutique-cats-title { font-size: 1.05rem !important; margin: 0 0 0.2rem !important; }
		.sx-boutique-cats-sub { font-size: 0.78rem !important; }
		.sx-boutique-cats-grid {
			grid-template-columns: repeat(2, 1fr) !important;
			gap: 0.45rem !important;
		}
		.sx-boutique-cat-card {
			min-height: 88px !important;
			padding: 0.7rem 0.4rem 0.6rem !important;
			gap: 0.3rem !important;
		}
		.sx-bcc-emoji { font-size: 1.4rem !important; }
		.sx-bcc-name { font-size: 0.74rem !important; line-height: 1.15 !important; }
		.sx-bcc-count { font-size: 0.62rem !important; }

		/* Sector switcher mobile : scroll horizontal */
		.sx-boutique-sector-bar {
			max-width: 100% !important;
			padding: 0.55rem 0.75rem !important;
			margin: 0.85rem auto !important;
			overflow-x: auto !important;
			flex-wrap: nowrap !important;
			-webkit-overflow-scrolling: touch !important;
			gap: 0.35rem !important;
		}
		.sx-bsbar-label { font-size: 0.6rem !important; flex-shrink: 0 !important; }
		.sx-bsbar-pill {
			flex-shrink: 0 !important;
			font-size: 0.72rem !important;
			padding: 0.32rem 0.65rem !important;
		}

		/* Sidebar filtres : full-width au-dessus produits, padding réduit */
		.sx-shop-with-filters {
			grid-template-columns: 1fr !important;
			gap: 0.7rem !important;
			padding: 0 0.6rem !important;
			margin: 0.85rem auto !important;
		}
		.sx-filters-sidebar {
			position: static !important;
			max-height: none !important;
			padding: 0.7rem 0.85rem !important;
			border-radius: 8px !important;
		}
		.sx-filters-title { font-size: 0.68rem !important; }
		.sx-filter-section { margin-bottom: 0.75rem !important; padding-bottom: 0.75rem !important; }
		.sx-filter-section-title { font-size: 0.78rem !important; margin: 0 0 0.5rem !important; }

		/* Pills marques en row mobile */
		.sx-filter-pills,
		.sx-filter-pills-scroll {
			display: flex !important;
			flex-direction: row !important;
			flex-wrap: wrap !important;
			max-height: 160px !important;
			gap: 0.25rem !important;
		}
		.sx-filter-pill {
			width: auto !important;
			padding: 0.35rem 0.6rem !important;
			font-size: 0.72rem !important;
		}
		.sx-filter-pill-count { font-size: 0.62rem !important; padding: 0.05rem 0.35rem !important; }

		.sx-filter-toggle-label { font-size: 0.78rem !important; }
		.sx-filter-price-inputs label { font-size: 0.62rem !important; }
		.sx-filter-price-inputs input { padding: 0.38rem 0.5rem !important; font-size: 0.82rem !important; }

		/* Sub-cats links plus compacts */
		.sx-filter-subcat { padding: 0.35rem 0.55rem !important; font-size: 0.78rem !important; }
		.sx-filter-subcat-count { font-size: 0.6rem !important; padding: 0.02rem 0.35rem !important; }

		/* Cards produits 2-col compact */
		.woocommerce ul.products,
		body.woocommerce-shop ul.products,
		body.tax-product_cat ul.products,
		ul.products.columns-3,
		ul.products.columns-4 {
			grid-template-columns: repeat(2, 1fr) !important;
			gap: 0.55rem !important;
		}
		ul.products li.product {
			padding: 0.6rem !important;
			border-radius: 8px !important;
		}
		ul.products li.product .woocommerce-loop-product__title,
		ul.products li.product h2,
		ul.products li.product h3 {
			font-size: 0.78rem !important;
			line-height: 1.2 !important;
			margin: 0.35rem 0 0.2rem !important;
			display: -webkit-box !important;
			-webkit-line-clamp: 2 !important;
			-webkit-box-orient: vertical !important;
			overflow: hidden !important;
		}
		ul.products li.product .price,
		ul.products li.product .woocommerce-Price-amount {
			font-size: 0.92rem !important;
			font-weight: 700 !important;
		}
		.sx-card-brand { font-size: 0.58rem !important; padding: 0.12rem 0.38rem !important; }

		/* Quick view trigger toujours visible mobile */
		.sx-qv-trigger {
			opacity: 1 !important;
			top: 0.35rem !important;
			right: 0.35rem !important;
			padding: 0.28rem 0.5rem !important;
			font-size: 0.62rem !important;
		}

		/* Single product compact */
		body.single-product article.product,
		body.single-product .brxe-product {
			grid-template-columns: 1fr !important;
			gap: 0.85rem !important;
		}
		body.single-product main { padding: 0 0.65rem !important; }
		body.single-product .wp-post-image {
			max-height: 280px !important;
			padding: 0.85rem !important;
		}
		body.single-product h1.product_title,
		body.single-product h1.brxe-product-title {
			font-size: 1.1rem !important;
			line-height: 1.2 !important;
		}
		body.single-product .summary .price,
		body.single-product .brxe-product-price {
			font-size: 1.25rem !important;
		}

		/* Comptoir live home compact */
		.sx-comptoir-live { margin: 1rem auto !important; padding: 0 0.75rem !important; }
		.sx-comptoir-live > header,
		.sx-comptoir-live > .sx-comptoir-countdown,
		.sx-comptoir-live > .sx-comptoir-zones,
		.sx-comptoir-live > .sx-comptoir-ticker,
		.sx-comptoir-live > .sx-comptoir-cta {
			padding: 0.7rem 0.85rem !important;
		}
		.sx-comptoir-live-label { font-size: 0.62rem !important; letter-spacing: 0.1em !important; }
		.sx-comptoir-clock { font-size: 0.88rem !important; }
		.sx-comptoir-status-pill { font-size: 0.55rem !important; padding: 0.18rem 0.55rem !important; }
		.sx-comptoir-countdown-label { font-size: 0.82rem !important; }
		.sx-comptoir-zones-title { font-size: 0.58rem !important; margin: 0 0 0.5rem !important; }
		.sx-comptoir-zone { padding: 0.45rem 0 !important; font-size: 0.78rem !important; }
		.sx-comptoir-zone-label small { font-size: 0.58rem !important; }
		.sx-comptoir-zone-day { font-size: 0.72rem !important; padding: 0.15rem 0.5rem !important; }
		.sx-comptoir-tick { font-size: 0.7rem !important; }
		.sx-comptoir-btn { padding: 0.58rem 0.95rem !important; font-size: 0.78rem !important; min-height: 38px !important; }

		/* Hero pro home compact */
		.sx-hero-pro { padding: 0 0.75rem !important; margin-top: 1rem !important; }
		.se-hero-trust { padding: 0.7rem 0.85rem !important; gap: 0.4rem !important; }
		.se-hero-trust-num { font-size: 0.78rem !important; }
		.se-hero-trust-lbl { font-size: 0.52rem !important; }
		.se-hero-sector { min-height: 60px !important; padding: 0.55rem 0.3rem !important; font-size: 0.68rem !important; }
		.se-hero-sector-icon { font-size: 1.15rem !important; }
		.se-hero-cta { padding: 0.65rem 1rem !important; font-size: 0.82rem !important; min-height: 40px !important; }

		/* Pages locales + secteurs compact */
		.sx-local-page, .sx-sector-page { padding: 0.6rem 0.7rem 2rem !important; }
		.sx-local-header { padding: 1.2rem 0.6rem 1rem !important; margin-bottom: 1rem !important; }
		.sx-local-h1 { font-size: 1.4rem !important; }
		.sx-local-tagline { font-size: 0.78rem !important; }
		.sx-local-intro { padding: 0.85rem 1rem !important; font-size: 0.85rem !important; }
		.sx-local-industries-grid { grid-template-columns: 1fr !important; gap: 0.55rem !important; }
		.sx-local-industry { padding: 0.7rem 0.85rem !important; }
		.sx-local-industry h3 { font-size: 0.88rem !important; }
		.sx-local-industry p { font-size: 0.78rem !important; }
		.sx-local-avantages { grid-template-columns: 1fr !important; gap: 0.4rem !important; }
		.sx-local-avantages li { padding: 0.55rem 0.7rem !important; font-size: 0.82rem !important; }

		/* Page boutique fallback content */
		body.woocommerce-shop main,
		body.tax-product_cat main { padding: 0 0.5rem !important; }
		.woocommerce-result-count, .woocommerce-ordering { font-size: 0.78rem !important; }

		/* Cart toast plus compact */
		.sx-cart-toast { padding: 0.7rem 0.85rem !important; }
		.sx-toast-title { font-size: 0.66rem !important; }
		.sx-toast-product { font-size: 0.82rem !important; }
		.sx-toast-cta { padding: 0.4rem 0.65rem !important; font-size: 0.72rem !important; }
	}

	/* ==== ≤ 480px : ultra compact ==== */
	@media (max-width: 480px) {
		.sx-boutique-hero-inner { padding: 0.9rem 0.85rem !important; }
		.sx-boutique-hero-h1 { font-size: 1.1rem !important; }
		.sx-boutique-hero-sub { font-size: 0.74rem !important; }
		.sx-bhs-num { font-size: 0.72rem !important; }
		.sx-bhs-lbl { font-size: 0.5rem !important; }

		.sx-boutique-cat-card { min-height: 76px !important; }
		.sx-bcc-emoji { font-size: 1.2rem !important; }
		.sx-bcc-name { font-size: 0.68rem !important; }

		ul.products li.product { padding: 0.5rem !important; }
		ul.products li.product .woocommerce-loop-product__title,
		ul.products li.product h2 { font-size: 0.74rem !important; }
		ul.products li.product .price { font-size: 0.85rem !important; }

		body.single-product h1.product_title { font-size: 1rem !important; }
		body.single-product .summary .price { font-size: 1.1rem !important; }
		body.single-product .wp-post-image { max-height: 240px !important; }

		.sx-comptoir-clock { font-size: 0.78rem !important; }
		.sx-comptoir-zones-title { letter-spacing: 0.08em !important; }

		.sx-local-h1 { font-size: 1.2rem !important; }
		.sx-local-tagline { font-size: 0.72rem !important; line-height: 1.5 !important; }
	}

	/* ==== ≤ 380px : très petit ==== */
	@media (max-width: 380px) {
		.woocommerce ul.products,
		ul.products.columns-3,
		ul.products.columns-4 {
			grid-template-columns: 1fr !important;
		}
		.sx-boutique-hero-stats { grid-template-columns: 1fr 1fr !important; }
		.sx-bhs-item:nth-child(3) { grid-column: 1 / 3 !important; }
	}
	/* === /sx-MOBILE-TIGHT === */

/* === se-recently-viewed-css === */
.sx-rv-section {
		max-width: 1240px;
		margin: 0 auto 1.5rem;
		padding: 1rem clamp(1rem, 4vw, 2rem);
		background: linear-gradient(135deg, rgba(45, 117, 144, 0.04) 0%, rgba(58, 155, 184, 0.02) 100%);
		border-radius: 10px;
		border: 1px solid rgba(45, 117, 144, 0.1);
	}
	.sx-rv-head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 0.85rem;
		padding-bottom: 0.55rem;
		border-bottom: 1px dashed rgba(45, 117, 144, 0.18);
	}
	.sx-rv-title {
		font-size: 0.95rem;
		font-weight: 700;
		color: #2d7590;
		margin: 0;
		letter-spacing: 0.02em;
	}
	.sx-rv-clear {
		background: transparent;
		border: 1px solid #e4e7ea;
		color: #5b6770;
		font-size: 0.72rem;
		font-weight: 600;
		padding: 0.32rem 0.75rem;
		border-radius: 6px;
		cursor: pointer;
		font-family: inherit;
		transition: all 0.15s ease;
	}
	.sx-rv-clear:hover { border-color: #ff5a55; color: #ff5a55; }

	.sx-rv-grid {
		display: grid;
		grid-template-columns: repeat(8, 1fr);
		gap: 0.6rem;
	}
	.sx-rv-card {
		display: flex;
		flex-direction: column;
		background: #fff;
		border: 1px solid #e4e7ea;
		border-radius: 8px;
		overflow: hidden;
		text-decoration: none;
		color: #1d2327;
		transition: all 0.18s ease;
	}
	.sx-rv-card:hover {
		border-color: #2d7590;
		transform: translateY(-2px);
		box-shadow: 0 6px 14px -4px rgba(45, 117, 144, 0.18);
		text-decoration: none;
	}
	.sx-rv-img {
		aspect-ratio: 1;
		background: #f4f6f8;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0.5rem;
	}
	.sx-rv-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
	.sx-rv-noimg { font-size: 1.6rem; opacity: 0.4; }
	.sx-rv-info {
		padding: 0.4rem 0.5rem 0.55rem;
		display: flex;
		flex-direction: column;
		gap: 0.2rem;
	}
	.sx-rv-brand {
		font-size: 0.55rem;
		font-weight: 800;
		letter-spacing: 0.04em;
		color: #2d7590;
		text-transform: uppercase;
	}
	.sx-rv-name {
		font-size: 0.7rem;
		font-weight: 600;
		line-height: 1.2;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		min-height: 1.7rem;
	}
	.sx-rv-price {
		font-size: 0.78rem;
		font-weight: 800;
		color: #2d7590;
		font-variant-numeric: tabular-nums;
	}

	@media (max-width: 1199px) {
		.sx-rv-grid { grid-template-columns: repeat(6, 1fr); }
	}
	@media (max-width: 991px) {
		.sx-rv-grid { grid-template-columns: repeat(4, 1fr); }
	}
	@media (max-width: 600px) {
		.sx-rv-section { padding: 0.7rem 0.85rem; margin: 0 auto 0.85rem; border-radius: 8px; }
		.sx-rv-grid {
			grid-template-columns: none;
			grid-auto-flow: column;
			grid-auto-columns: 110px;
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
			scroll-snap-type: x mandatory;
			padding-bottom: 0.3rem;
		}
		.sx-rv-card { scroll-snap-align: start; }
		.sx-rv-name { font-size: 0.65rem; }
		.sx-rv-title { font-size: 0.85rem; }
	}

/* === se-mobile-tight-v2 === */
/* === se-MOBILE-TIGHT-V2 === Compacter les sections WC non couvertes par v1 === */

	@media (max-width: 767px) {
		/* === BREADCRUMBS === wrap proprement, retire couleur grise pâle */
		.woocommerce-breadcrumb,
		.brxe-woocommerce-breadcrumbs,
		nav.woocommerce-breadcrumb {
			font-size: 0.72rem !important;
			padding: 0.5rem 0.75rem !important;
			margin: 0 0 0.75rem !important;
			line-height: 1.4 !important;
			color: #5b6770 !important;
			word-break: break-word !important;
		}
		.woocommerce-breadcrumb a { color: #2d7590 !important; }

		/* === SINGLE PRODUCT GALLERY THUMBNAILS === */
		.woocommerce-product-gallery__wrapper { gap: 0.4rem !important; }
		.flex-control-thumbs,
		.flex-control-nav {
			margin: 0.5rem 0 0 !important;
			gap: 0.35rem !important;
			padding: 0 !important;
			display: flex !important;
			flex-wrap: wrap !important;
		}
		.flex-control-thumbs li,
		.flex-control-nav li {
			width: calc(20% - 0.3rem) !important;
			max-width: 56px !important;
			margin: 0 !important;
		}
		.flex-control-thumbs img,
		.flex-control-nav img {
			border-radius: 4px !important;
			border: 1px solid #e4e7ea !important;
		}

		/* === QUANTITY INPUT === bigger touch */
		body.single-product .quantity input.qty,
		.woocommerce .quantity input.qty,
		.brxe-product-quantity input {
			width: 56px !important;
			height: 42px !important;
			font-size: 0.95rem !important;
			text-align: center !important;
			padding: 0.4rem 0.3rem !important;
			border-radius: 6px !important;
			border: 1.5px solid #c1c8cd !important;
		}

		/* === ADD TO CART button single product === plus large */
		body.single-product button.single_add_to_cart_button,
		body.single-product .brxe-product-add-to-cart .button,
		body.single-product .brxe-product-add-to-cart button {
			width: 100% !important;
			min-height: 50px !important;
			padding: 0.8rem 1rem !important;
			font-size: 0.95rem !important;
			margin-top: 0.6rem !important;
		}

		/* === PRODUCT META (SKU/Catégorie/Marque) === */
		body.single-product .product_meta,
		body.single-product .brxe-product-meta {
			font-size: 0.72rem !important;
			margin-top: 0.85rem !important;
			padding-top: 0.85rem !important;
			border-top: 1px solid #eee !important;
			line-height: 1.5 !important;
		}
		body.single-product .product_meta > span,
		body.single-product .brxe-product-meta > * {
			display: block !important;
			margin-bottom: 0.25rem !important;
		}

		/* === TABS SINGLE PRODUCT === (description, FDS, etc) */
		.woocommerce-tabs ul.tabs,
		.wc-tabs {
			display: flex !important;
			flex-wrap: nowrap !important;
			overflow-x: auto !important;
			-webkit-overflow-scrolling: touch !important;
			padding: 0 !important;
			margin: 1rem 0 0.75rem !important;
			border-bottom: 1px solid #e4e7ea !important;
			gap: 0 !important;
		}
		.woocommerce-tabs ul.tabs::after,
		.woocommerce-tabs ul.tabs::before { display: none !important; }
		.woocommerce-tabs ul.tabs li,
		.wc-tabs li {
			flex-shrink: 0 !important;
			margin: 0 !important;
			padding: 0 !important;
			background: none !important;
			border: none !important;
			border-radius: 0 !important;
		}
		.woocommerce-tabs ul.tabs li::before,
		.woocommerce-tabs ul.tabs li::after { display: none !important; }
		.woocommerce-tabs ul.tabs li a,
		.wc-tabs li a {
			padding: 0.6rem 0.85rem !important;
			font-size: 0.78rem !important;
			font-weight: 600 !important;
			color: #5b6770 !important;
			border-bottom: 2px solid transparent !important;
			display: block !important;
		}
		.woocommerce-tabs ul.tabs li.active a,
		.wc-tabs li.active a {
			color: #2d7590 !important;
			border-bottom-color: #2d7590 !important;
		}
		.woocommerce-Tabs-panel {
			padding: 0.75rem 0 !important;
			font-size: 0.85rem !important;
			line-height: 1.55 !important;
		}
		.woocommerce-Tabs-panel h2 {
			font-size: 0.95rem !important;
			margin: 0 0 0.5rem !important;
		}

		/* === SECTIONS BAS SINGLE-PRODUCT === related/upsell/cross-sell */
		.related.products,
		.upsells.products,
		.cross-sells {
			margin-top: 1.5rem !important;
			padding-top: 1rem !important;
			border-top: 1px solid #eee !important;
		}
		.related.products > h2,
		.upsells.products > h2,
		.cross-sells > h2 {
			font-size: 0.95rem !important;
			margin: 0 0 0.75rem !important;
			text-transform: uppercase !important;
			letter-spacing: 0.05em !important;
			color: #2d7590 !important;
		}
		.related.products ul.products,
		.upsells.products ul.products {
			grid-template-columns: repeat(2, 1fr) !important;
			gap: 0.5rem !important;
		}

		/* === CART PAGE === */
		.woocommerce-cart .shop_table {
			font-size: 0.78rem !important;
			border-radius: 8px !important;
		}
		.woocommerce-cart .shop_table thead { display: none !important; }
		.woocommerce-cart .shop_table tr {
			display: block !important;
			padding: 0.85rem !important;
			border-bottom: 1px solid #e4e7ea !important;
		}
		.woocommerce-cart .shop_table td {
			display: block !important;
			text-align: left !important;
			padding: 0.25rem 0 !important;
			border: none !important;
		}
		.woocommerce-cart .shop_table td.product-thumbnail {
			float: left !important;
			width: 64px !important;
			margin: 0 0.65rem 0.3rem 0 !important;
		}
		.woocommerce-cart .shop_table td.product-thumbnail img { width: 64px !important; height: auto !important; }
		.woocommerce-cart .shop_table td.product-name { font-weight: 600 !important; font-size: 0.85rem !important; }
		.woocommerce-cart .shop_table td.product-name::before,
		.woocommerce-cart .shop_table td.product-price::before,
		.woocommerce-cart .shop_table td.product-quantity::before,
		.woocommerce-cart .shop_table td.product-subtotal::before {
			content: attr(data-title) ": " !important;
			font-weight: 700 !important;
			color: #5b6770 !important;
			font-size: 0.7rem !important;
			text-transform: uppercase !important;
			letter-spacing: 0.04em !important;
			margin-right: 0.3rem !important;
		}
		.woocommerce-cart .cart_totals {
			margin-top: 1rem !important;
			padding: 1rem !important;
			border-radius: 8px !important;
			background: #f7f9fa !important;
		}
		.woocommerce-cart .cart_totals h2 {
			font-size: 1rem !important;
			margin: 0 0 0.75rem !important;
		}
		.woocommerce-cart .cart_totals table { font-size: 0.85rem !important; }

		/* === CHECKOUT === */
		.woocommerce-checkout #order_review,
		.woocommerce-checkout .col2-set {
			display: block !important;
		}
		.woocommerce-checkout .col-1,
		.woocommerce-checkout .col-2 {
			width: 100% !important;
			max-width: 100% !important;
			float: none !important;
			margin-bottom: 1rem !important;
		}
		.woocommerce-checkout .form-row {
			padding: 0 !important;
			margin: 0 0 0.7rem !important;
		}
		.woocommerce-checkout .form-row input,
		.woocommerce-checkout .form-row select,
		.woocommerce-checkout .form-row textarea {
			padding: 0.65rem 0.75rem !important;
			font-size: 0.9rem !important;
			min-height: 44px !important;
			border-radius: 6px !important;
		}
		.woocommerce-checkout label { font-size: 0.82rem !important; }
		.woocommerce-checkout #payment {
			border-radius: 8px !important;
			padding: 0.85rem !important;
		}
		.woocommerce-checkout #place_order {
			width: 100% !important;
			min-height: 52px !important;
			font-size: 1rem !important;
			padding: 0.85rem 1rem !important;
		}

		/* === MY ACCOUNT === */
		.woocommerce-account .woocommerce-MyAccount-navigation,
		.woocommerce-account .woocommerce-MyAccount-content {
			width: 100% !important;
			float: none !important;
			margin-bottom: 0.85rem !important;
		}
		.woocommerce-account .woocommerce-MyAccount-navigation ul {
			display: flex !important;
			flex-wrap: wrap !important;
			gap: 0.35rem !important;
			padding: 0 !important;
		}
		.woocommerce-account .woocommerce-MyAccount-navigation li {
			padding: 0 !important;
			margin: 0 !important;
			list-style: none !important;
		}
		.woocommerce-account .woocommerce-MyAccount-navigation li a {
			padding: 0.5rem 0.85rem !important;
			background: #f7f9fa !important;
			border-radius: 6px !important;
			font-size: 0.78rem !important;
			color: #1d2327 !important;
			text-decoration: none !important;
		}
		.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
			background: #2d7590 !important;
			color: #fff !important;
		}

		/* === MESSAGES WC (notices, errors, success) === */
		.woocommerce-message,
		.woocommerce-info,
		.woocommerce-error,
		.woocommerce-notice {
			font-size: 0.82rem !important;
			padding: 0.7rem 1rem 0.7rem 3rem !important;
			border-radius: 8px !important;
			margin: 0 0 0.85rem !important;
		}
		.woocommerce-message::before,
		.woocommerce-info::before,
		.woocommerce-error::before {
			left: 0.85rem !important;
			top: 0.7rem !important;
			font-size: 1.1rem !important;
		}

		/* === HEADER MOBILE === logo compact */
		#brx-header .brxe-logo img,
		#brx-header .brxe-site-logo img,
		header .brxe-logo img {
			max-height: 40px !important;
			width: auto !important;
		}

		/* === FORMULAIRES CF7 + GENERIC === */
		.wpcf7-form input[type="text"],
		.wpcf7-form input[type="email"],
		.wpcf7-form input[type="tel"],
		.wpcf7-form textarea,
		.wpcf7-form select {
			padding: 0.65rem 0.75rem !important;
			font-size: 0.9rem !important;
			min-height: 44px !important;
			border-radius: 6px !important;
			border: 1.5px solid #c1c8cd !important;
			width: 100% !important;
		}
		.wpcf7-submit,
		.wpcf7-form button[type="submit"] {
			min-height: 50px !important;
			padding: 0.85rem 1.5rem !important;
			font-size: 0.95rem !important;
			width: 100% !important;
			margin-top: 0.5rem !important;
		}

		/* === REVIEWS (commentaires single-product) === */
		#reviews,
		.woocommerce-Reviews { padding: 0.85rem 0 !important; }
		#reviews h2, .woocommerce-Reviews h2 { font-size: 1rem !important; }
		.commentlist li { padding: 0.7rem 0 !important; font-size: 0.85rem !important; }

		/* === FOOTER CARDS / LIST === */
		footer .brxe-list,
		#brx-footer .brxe-list {
			font-size: 0.78rem !important;
			gap: 0.45rem !important;
		}
		footer h4, #brx-footer h4 {
			font-size: 0.78rem !important;
			letter-spacing: 0.08em !important;
		}
	}

	/* === ≤480px : encore plus serré === */
	@media (max-width: 480px) {
		.related.products ul.products,
		.upsells.products ul.products {
			grid-template-columns: 1fr 1fr !important;
		}
		.woocommerce-cart .shop_table td.product-thumbnail { width: 52px !important; }
		.woocommerce-cart .shop_table td.product-thumbnail img { width: 52px !important; }
		.flex-control-thumbs li,
		.flex-control-nav li { width: calc(25% - 0.3rem) !important; max-width: 48px !important; }
	}

	/* === ≤380px : ultra serré === */
	@media (max-width: 380px) {
		.related.products ul.products,
		.upsells.products ul.products {
			grid-template-columns: 1fr !important;
		}
		body.single-product h1.product_title { font-size: 0.95rem !important; }
		.woocommerce-tabs ul.tabs li a { font-size: 0.72rem !important; padding: 0.5rem 0.7rem !important; }
	}
	/* === /se-MOBILE-TIGHT-V2 === */

/* === se-boutique-layout === */
/* ============================================================
	 * se-BOUTIQUE-LAYOUT canonique (REFACTOR 2026-05-12)
	 * Spec couleurs : teal #2d7590 / dark #1d2327 / bg #f8fafc
	 * ============================================================ */

	/* === A. Bricks lazy-hidden : force show sur category/shop === */
	/* IMPORTANT : exclure #brx-header pour ne pas re-montrer le header desktop sur mobile */
	body.tax-product_cat #brx-content .bricks-lazy-hidden,
	body.woocommerce-shop #brx-content .bricks-lazy-hidden,
	body.archive #brx-content .bricks-lazy-hidden {
		visibility: visible !important;
		opacity: 1 !important;
	}
	body.tax-product_cat #brx-content ul.products.bricks-lazy-hidden,
	body.woocommerce-shop #brx-content ul.products.bricks-lazy-hidden {
		display: grid !important;
	}
	body.tax-product_cat #brx-content .brxe-block.bricks-lazy-hidden,
	body.woocommerce-shop #brx-content .brxe-block.bricks-lazy-hidden,
	body.tax-product_cat #brx-content .brxe-container.bricks-lazy-hidden,
	body.woocommerce-shop #brx-content .brxe-container.bricks-lazy-hidden,
	body.tax-product_cat #brx-content .brxe-section.bricks-lazy-hidden,
	body.woocommerce-shop #brx-content .brxe-section.bricks-lazy-hidden,
	body.tax-product_cat #brx-content .sx-shop-with-filters.bricks-lazy-hidden,
	body.woocommerce-shop #brx-content .sx-shop-with-filters.bricks-lazy-hidden,
	body.tax-product_cat #brx-content .sx-shop-main.bricks-lazy-hidden,
	body.woocommerce-shop #brx-content .sx-shop-main.bricks-lazy-hidden {
		display: block !important;
	}
	body.tax-product_cat #brx-content [data-interaction-hidden-on-load="1"],
	body.woocommerce-shop #brx-content [data-interaction-hidden-on-load="1"],
	body.archive #brx-content [data-interaction-hidden-on-load="1"] {
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* === A.2 : Hide brx-header DESKTOP sur ≤ 991px (sx-moh prend le relais) === */
	@media (max-width: 991px) {
		#brx-header { display: none !important; }
	}

	/* === B. Container outer : full width sur small/tablet === */
	@media (max-width: 1199px) {
		body.woocommerce-shop .brxe-container,
		body.tax-product_cat .brxe-container,
		body.archive .brxe-container,
		body.single-product .brxe-container {
			max-width: 100% !important;
			width: 100% !important;
			padding-left: clamp(0.75rem, 2.5vw, 1.5rem) !important;
			padding-right: clamp(0.75rem, 2.5vw, 1.5rem) !important;
			box-sizing: border-box !important;
		}
		body.woocommerce-shop .brxe-woocommerce-products,
		body.tax-product_cat .brxe-woocommerce-products,
		.bricks-before-shop-loop {
			max-width: 100% !important;
			width: 100% !important;
			padding: 0 !important;
			margin: 0 !important;
			box-sizing: border-box !important;
		}
	}

	/* === C. Wrapper boutique+filters === */
	.sx-shop-with-filters,
	#se-shop-with-filters {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		gap: 1.25rem !important;
	}

	/* C.1. MOBILE ≤ 767 : sidebar hidden (toggle gère), products 2 cols */
	@media (max-width: 767px) {
		.sx-shop-with-filters {
			display: block !important; /* sidebar gérée par toggle */
			padding: 0 !important;
		}
		body.tax-product_cat ul.products,
		body.woocommerce-shop ul.products,
		body.archive ul.products {
			display: grid !important;
			grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
			gap: 0.75rem !important;
			padding: 0 !important;
			margin: 0 !important;
			list-style: none !important;
		}
	}

	/* C.2. TABLET 768-1199 : sidebar GAUCHE 200px (compact), products à droite (3 cols) */
	@media (min-width: 768px) and (max-width: 1199px) {
		.sx-shop-with-filters {
			display: grid !important;
			grid-template-columns: 200px 1fr !important;
			grid-template-rows: auto !important;
			gap: 1rem !important;
			padding: 0 0.25rem !important;
		}
		.sx-filters-sidebar {
			grid-row: 1 !important;
			grid-column: 1 !important;
			max-width: 100% !important;
			position: static !important;
			padding: 0.9rem 0.85rem !important;
		}
		.sx-shop-main {
			grid-row: 1 !important;
			grid-column: 2 !important;
			min-width: 0 !important;
		}
		/* Sidebar interne compact tablet */
		.sx-filters-sidebar .sx-filters-head {
			margin-bottom: 0.65rem !important;
			padding-bottom: 0.55rem !important;
		}
		.sx-filters-sidebar .sx-filter-section {
			margin-bottom: 0.75rem !important;
			padding-bottom: 0.75rem !important;
		}
		.sx-filters-sidebar .sx-filter-section-title {
			font-size: 0.72rem !important;
			letter-spacing: 0.05em !important;
			text-transform: uppercase !important;
			color: #475569 !important;
			margin-bottom: 0.45rem !important;
		}
		body.tax-product_cat ul.products,
		body.woocommerce-shop ul.products,
		body.archive ul.products {
			display: grid !important;
			grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important;
			gap: 0.85rem !important;
			padding: 0 !important;
			margin: 0 !important;
			list-style: none !important;
		}
	}

	/* C.3. DESKTOP 1200+ : sidebar gauche 240, products auto-fill min 220 */
	@media (min-width: 1200px) {
		.sx-shop-with-filters {
			display: grid !important;
			grid-template-columns: 240px 1fr !important;
			gap: 1.5rem !important;
			max-width: 1480px !important;
			margin: 0 auto !important;
			padding: 0 1rem !important;
		}
		.sx-filters-sidebar {
			position: static !important;
		}
		body.tax-product_cat ul.products,
		body.woocommerce-shop ul.products,
		body.archive ul.products {
			display: grid !important;
			grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
			gap: 1rem !important;
			padding: 0 !important;
			margin: 0 !important;
			list-style: none !important;
		}
	}

	/* C.4. WIDE DESKTOP 1440+ : container max 1680, cards plus larges */
	@media (min-width: 1440px) {
		.sx-shop-with-filters {
			max-width: 1680px !important;
			grid-template-columns: 260px 1fr !important;
			gap: 1.75rem !important;
		}
	}

	/* === D. Filtres sidebar restylés sobre (anti-jargon) === */
	.sx-filters-sidebar {
		background: #ffffff !important;
		border: 1px solid #e4e7ea !important;
		border-radius: 12px !important;
		padding: 1.1rem 1rem !important;
		box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
	}
	.sx-filters-head {
		padding-bottom: 0.75rem !important;
		margin-bottom: 0.9rem !important;
		border-bottom: 1px solid #e2e8f0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 0.5rem !important;
	}
	.sx-filters-title {
		font-size: 0.72rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.1em !important;
		color: #1d2327 !important;
		text-transform: uppercase !important;
		margin: 0 !important;
	}
	.sx-filter-clear {
		appearance: none !important;
		background: transparent !important;
		color: #2d7590 !important;
		border: 1px solid #cbd5e1 !important;
		padding: 0.32rem 0.65rem !important;
		border-radius: 999px !important;
		font-size: 0.72rem !important;
		font-weight: 600 !important;
		cursor: pointer !important;
		transition: all 0.15s ease !important;
	}
	.sx-filter-clear:hover {
		background: #2d7590 !important;
		color: #fff !important;
		border-color: #2d7590 !important;
	}
	.sx-filter-section {
		margin-bottom: 1rem !important;
		padding-bottom: 1rem !important;
		border-bottom: 1px solid #f1f5f9 !important;
	}
	.sx-filter-section:last-child {
		border-bottom: 0 !important;
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	.sx-filter-section-title {
		font-size: 0.85rem !important;
		font-weight: 700 !important;
		color: #1d2327 !important;
		margin: 0 0 0.6rem !important;
	}
	.sx-filter-pills,
	.sx-filter-pills-scroll {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 0.35rem !important;
		max-height: 280px !important;
		overflow-y: auto !important;
	}
	.sx-filter-pill {
		display: inline-flex !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0.35rem !important;
		padding: 0.35rem 0.7rem !important;
		background: #f8fafc !important;
		color: #475569 !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 999px !important;
		font-size: 0.78rem !important;
		font-weight: 500 !important;
		cursor: pointer !important;
		transition: all 0.15s ease !important;
		appearance: none !important;
		font-family: inherit !important;
		width: auto !important;
		max-width: 100% !important;
	}
	.sx-filter-pill-name {
		font-weight: 500 !important;
	}
	.sx-filter-pill-count {
		padding: 0.1rem 0.4rem !important;
		background: rgba(15, 23, 42, 0.08) !important;
		border-radius: 999px !important;
		font-size: 0.68rem !important;
		font-weight: 600 !important;
	}
	.sx-filter-pill.sx-filter-pill-active .sx-filter-pill-count,
	.sx-filter-pill.is-selected .sx-filter-pill-count,
	.sx-filter-pill[aria-pressed="true"] .sx-filter-pill-count {
		background: rgba(255, 255, 255, 0.25) !important;
	}
	.sx-filter-pill:hover {
		background: #f1f5f9 !important;
		border-color: #cbd5e1 !important;
		color: #1d2327 !important;
	}
	.sx-filter-pill.is-selected,
	.sx-filter-pill[aria-pressed="true"],
	.sx-filter-pill.active {
		background: #2d7590 !important;
		color: #fff !important;
		border-color: #2d7590 !important;
	}
	.sx-filter-subcat {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		padding: 0.4rem 0.65rem !important;
		font-size: 0.85rem !important;
		color: #475569 !important;
		text-decoration: none !important;
		border-radius: 6px !important;
		transition: background 0.15s ease !important;
		margin-bottom: 0.15rem !important;
	}
	.sx-filter-subcat:hover {
		background: #f1f5f9 !important;
		color: #1d2327 !important;
		text-decoration: none !important;
	}
	.sx-filter-subcat-count {
		font-size: 0.72rem !important;
		color: #94a3b8 !important;
	}
	.sx-filter-price-inputs {
		display: flex !important;
		gap: 0.5rem !important;
	}
	.sx-filter-price-inputs input {
		padding: 0.45rem 0.6rem !important;
		font-size: 0.85rem !important;
		border: 1px solid #cbd5e1 !important;
		border-radius: 6px !important;
		min-width: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	.sx-filter-price-inputs input:focus {
		outline: none !important;
		border-color: #2d7590 !important;
		box-shadow: 0 0 0 3px rgba(45, 117, 144, 0.12) !important;
	}
	.sx-filter-price-apply {
		margin-top: 0.5rem !important;
		padding: 0.55rem 1rem !important;
		background: #2d7590 !important;
		color: #fff !important;
		border: none !important;
		border-radius: 6px !important;
		font-size: 0.82rem !important;
		font-weight: 600 !important;
		cursor: pointer !important;
		transition: background 0.15s ease !important;
		width: 100% !important;
	}
	.sx-filter-price-apply:hover {
		background: #1f5c75 !important;
	}

	/* === E. Hide noise WC headers (remplacés par notre hero) === */
	body.woocommerce-shop .woocommerce-products-header,
	body.tax-product_cat .woocommerce-products-header,
	body.woocommerce-shop .woocommerce-products-header__title,
	body.tax-product_cat .woocommerce-products-header__title,
	body.tax-product_cat .term-description,
	body.tax-product_cat .bricks-archive-title-wrapper,
	body.woocommerce-shop .bricks-archive-title-wrapper {
		display: none !important;
	}

	/* === F. Product cards uniform === */
	body.tax-product_cat ul.products li.product,
	body.woocommerce-shop ul.products li.product {
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		list-style: none !important;
	}

	/* === G. No horizontal scroll === */
	body.woocommerce-shop,
	body.tax-product_cat,
	body.woocommerce,
	body.archive {
		overflow-x: hidden !important;
	}

	/* === H. Single product safety (mobile cadrage) === */
	@media (max-width: 1023px) {
		body.single-product main.product,
		body.single-product #brx-content .product.type-product {
			display: block !important;
			grid-template-columns: 1fr !important;
			max-width: 100% !important;
			width: 100% !important;
		}
		body.single-product .single-product-4__inner-container,
		body.single-product .single-product-4__container,
		body.single-product .single-product-4__inner-container-info,
		body.single-product .single-product-4__container-info {
			max-width: 100% !important;
			width: 100% !important;
			min-width: 0 !important;
			grid-template-columns: 1fr !important;
			padding-top: 0 !important;
			padding-bottom: 0 !important;
		}
		body.single-product h1.product_title,
		body.single-product h1.brxe-product-title {
			font-size: clamp(1.25rem, 4vw, 1.75rem) !important;
			line-height: 1.2 !important;
			margin-top: 0.5rem !important;
		}
		/* Tighten gap entre image et titre sur mobile/tablet
		   Specificity 0,3,1 pour battre .product .images { mb: 1.5rem !important } */
		body.single-product .product .woocommerce-product-gallery.images,
		body.single-product .product .woocommerce-product-gallery,
		body.single-product main .product .images {
			margin-bottom: 0.75rem !important;
			padding-bottom: 0 !important;
		}
		body.single-product .woocommerce-product-gallery__image {
			padding: 0 !important;
		}
		body.single-product .brxe-product-gallery {
			margin-bottom: 0.5rem !important;
			padding-bottom: 0 !important;
		}
		/* Inner container info padding-top */
		body.single-product .brxe-block.single-product-4__inner-container-info,
		body.single-product .single-product-4__inner-container,
		body.single-product .single-product-4__container-info {
			padding-top: 0 !important;
		}
	}

/* === se-header-product-fix === */
/* ============================================================
 * se-HEADER-PRODUCT-FIX (2026-05-12)
 * Garde-fous robustes pour le header sur fiches produit + cat.
 * ============================================================ */

/* === 1) Hide h3 #brxe-frojcm "Sani Express" partout === */
/* Sa règle inline est `#brxe-frojcm {display: none}` mais sans !important.
   Si un plugin downstream le réactive, force avec specificity ID + !important. */
#brx-header #brxe-frojcm,
header#brx-header #brxe-frojcm,
body #brxe-frojcm {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	left: -9999px !important;
}

/* === 2) Cap bplus__heading--h4 dans le header pour éviter 4rem géant === */
/* Cas où le h3 leak quand même : limiter sa taille pour ne pas faire le bug "Sani Express ▼" géant */
#brx-header .bplus__heading--h4.brxe-heading,
#brx-header .bplus__heading--h4 {
	font-size: 1.2rem !important;
	line-height: 1.4 !important;
}

/* === 3) Force hide offcanvas Bricks #brxe-plnuac sur desktop === */
@media (min-width: 992px) {
	#brxe-plnuac,
	body #brxe-plnuac,
	.brxe-offcanvas {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}
}

/* === 4) Force hide mobile menu (#sx-mob-menu) sur desktop, ignore body class === */
@media (min-width: 992px) {
	#sx-mob-menu,
	body.sx-mobile-menu-open #sx-mob-menu,
	body #sx-mob-menu {
		display: none !important;
		transform: translateX(100%) !important;
		visibility: hidden !important;
	}
	/* Reset body padding (sx-moh seulement ≤991px) */
	body.sx-mobile-menu-open {
		overflow: auto !important;
	}
}

/* === 5) Sx-moh (mobile-only header) hidden sur desktop === */
@media (min-width: 992px) {
	.sx-moh,
	body .sx-moh {
		display: none !important;
	}
}

/* === 6) Force-show bricks-lazy-hidden DANS le header desktop === */
/* Si Bricks JS échoue à enlever bricks-lazy-hidden, le header peut sembler vide.
   Force visibility:visible pour les enfants directs du header. */
@media (min-width: 992px) {
	#brx-header.bricks-lazy-hidden,
	#brx-header > .bricks-lazy-hidden,
	#brx-header section.bricks-lazy-hidden,
	#brx-header div.bricks-lazy-hidden,
	#brx-header nav.bricks-lazy-hidden,
	#brx-header figure.bricks-lazy-hidden,
	#brx-header [data-interaction-hidden-on-load] {
		visibility: visible !important;
		opacity: 1 !important;
	}
}

/* === 7) Cap bplus h3 link size globalement dans le header === */
#brx-header h3,
#brx-header h3 a {
	font-size: clamp(0.9rem, 1.2vw, 1.2rem) !important;
}

/* === 8) Garde-fou : si "Contact" link rendu énorme, le cap === */
#brx-header #brxe-xccvjj,
#brx-header .brxe-text-link.bplus__body--text {
	font-size: clamp(0.85rem, 1vw, 1rem) !important;
	padding: 0.4rem 0.85rem !important;
	color: #1d2327 !important;
	background: transparent !important;
	border: none !important;
}
#brx-header #brxe-xccvjj:hover,
#brx-header .brxe-text-link.bplus__body--text:hover {
	color: #2d7590 !important;
}

/* === 9) Hide la fig caption logo (déjà fait globalement, redondant safety) === */
#brx-header figcaption,
#brx-header .bricks-image-caption {
	display: none !important;
}

/* === 10) Ensure brx-header itself is visible on desktop (>=992px) === */
@media (min-width: 992px) {
	#brx-header,
	header#brx-header {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}

/* === se-rv-section-fix === */
/* === se-RV-SECTION-FIX === Vus récemment : auto-fit + start === */

	/* Flex layout : cards collées à gauche, pas d'empty cols */
	.sx-rv-grid {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0.75rem !important;
		justify-content: flex-start !important;
	}
	.sx-rv-grid > * {
		flex: 0 0 auto !important;
		width: 200px !important;
	}

	/* Si 0 item OU section vide, hide complètement */
	.sx-rv-section:not(:has(.sx-rv-grid > *)) {
		display: none !important;
	}

	/* Section container : compact + style premium */
	.sx-rv-section,
	#se-recently-viewed-section {
		background: #f8fafc !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 10px !important;
		padding: 0.85rem 1rem !important;
		margin: 1rem 0 !important;
	}
	.sx-rv-head {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		margin-bottom: 0.65rem !important;
		padding-bottom: 0.5rem !important;
		border-bottom: 1px solid #e2e8f0 !important;
		font-size: 0.85rem !important;
		font-weight: 600 !important;
		color: #475569 !important;
	}
	.sx-rv-head a,
	.sx-rv-head button {
		font-size: 0.72rem !important;
		color: #94a3b8 !important;
		text-decoration: none !important;
		cursor: pointer !important;
		background: transparent !important;
		border: none !important;
		padding: 0.2rem 0.4rem !important;
		transition: color 0.15s ease !important;
	}
	.sx-rv-head a:hover,
	.sx-rv-head button:hover {
		color: #2d7590 !important;
		text-decoration: underline !important;
	}

	/* Cards inside : compact mini */
	.sx-rv-grid > * {
		background: #fff !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 8px !important;
		padding: 0.5rem !important;
		max-width: 200px !important;
		transition: all 0.15s ease !important;
	}
	.sx-rv-grid > *:hover {
		border-color: #2d7590 !important;
		box-shadow: 0 4px 12px rgba(45, 117, 144, 0.08) !important;
		transform: translateY(-2px) !important;
	}
	.sx-rv-grid img {
		width: 100% !important;
		max-height: 120px !important;
		object-fit: contain !important;
		background: #f8fafc !important;
		border-radius: 4px !important;
		padding: 0.25rem !important;
	}
	.sx-rv-grid .sx-card-brand {
		font-size: 0.6rem !important;
		color: #94a3b8 !important;
		font-weight: 600 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase !important;
		display: block !important;
		margin-top: 0.4rem !important;
	}
	.sx-rv-grid .sx-card-title,
	.sx-rv-grid h5,
	.sx-rv-grid h6 {
		font-size: 0.78rem !important;
		font-weight: 600 !important;
		color: #0f172a !important;
		line-height: 1.25 !important;
		margin: 0.25rem 0 !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}
	.sx-rv-grid .price,
	.sx-rv-grid .woocommerce-Price-amount {
		font-size: 0.85rem !important;
		font-weight: 700 !important;
		color: #2d7590 !important;
	}

	/* Mobile : 2 cols compact */
	@media (max-width: 767px) {
		.sx-rv-grid {
			grid-template-columns: repeat(2, 1fr) !important;
		}
		.sx-rv-grid > * { max-width: 100% !important; }
	}

	/* === /se-RV-SECTION-FIX === */

/* === se-filters-ux-elite === */
/* ============================================================
 * se-FILTERS-UX-ELITE (2026-05-12)
 * Couche d'amélioration UX sur sx-filters-sidebar existant.
 * Préserve toutes les CSS de sx-theme.css + se-boutique-layout.
 * ============================================================ */

/* === 1. Sidebar plus large + meilleur espacement sur tablet/desktop === */
@media (min-width: 768px) {
	.sx-filters-sidebar {
		padding: 1.25rem !important;
	}
}
@media (min-width: 992px) {
	.sx-filters-sidebar {
		min-width: 240px !important;
		max-width: 280px !important;
	}
}

/* === 2. Brand pills : 2-col sur tablet+desktop, fluide === */
@media (min-width: 768px) {
	.sx-filter-pills {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}
}
/* Desktop ≥1200 : 1 colonne pill (vs 2-col qui tronquait les noms longs comme "Sani Express", "Canguard").
   Pill nom autorisé à wrap sur 2 lignes si nécessaire. */
@media (min-width: 1200px) {
	.sx-filter-pills {
		grid-template-columns: 1fr;
		gap: 0.3rem;
	}
	.sx-filter-pill {
		font-size: 0.82rem !important;
		padding: 0.5rem 0.7rem !important;
		line-height: 1.2 !important;
	}
	.sx-filter-pill-name {
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		word-break: keep-all !important;
		overflow-wrap: break-word !important;
		min-width: 0 !important;
		flex: 1 1 auto !important;
		text-align: left !important;
	}
	.sx-filter-pill-count {
		flex-shrink: 0 !important;
	}
}
/* Tablet/mobile : 1 col aussi, mais pill nom no-truncate */
@media (max-width: 1199px) {
	.sx-filter-pill-name {
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		flex: 1 1 auto !important;
	}
}

/* === 3. Stick scroll for long brand lists === */
.sx-filter-pills-scroll {
	max-height: 320px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #cbd2d6 transparent;
	padding-right: 4px;
}
.sx-filter-pills-scroll::-webkit-scrollbar { width: 6px; }
.sx-filter-pills-scroll::-webkit-scrollbar-thumb {
	background: #cbd2d6;
	border-radius: 3px;
}
.sx-filter-pills-scroll::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

/* === 4. Section dividers : sobre + clean === */
.sx-filter-section {
	transition: opacity 0.15s ease;
}
.sx-filter-section-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	user-select: none;
	position: relative;
}
.sx-filter-section-title::after {
	content: '−';
	font-size: 1.1rem;
	color: #5b6770;
	font-weight: 400;
	margin-left: 0.5rem;
	line-height: 1;
	transition: transform 0.2s ease;
}
.sx-filter-section.sx-collapsed .sx-filter-section-title::after {
	content: '+';
	transform: rotate(0deg);
}
.sx-filter-section.sx-collapsed > *:not(.sx-filter-section-title) {
	display: none !important;
}

/* === 5. Touch targets WCAG ≥ 44px sur mobile === */
@media (max-width: 767px) {
	.sx-filter-pill {
		min-height: 44px !important;
	}
	.sx-filter-price-inputs input {
		min-height: 44px !important;
		font-size: 16px !important; /* prevent iOS zoom */
	}
	.sx-filter-price-apply {
		min-height: 44px !important;
	}
	.sx-filter-section-title {
		min-height: 38px;
		display: flex;
		align-items: center;
	}
	.sx-filter-toggle {
		min-height: 44px;
		display: flex !important;
		align-items: center;
	}
}

/* === 6. Mobile drawer : full-screen slide-in === */
@media (max-width: 991px) {
	/* Bouton "Filtres B2B" sticky bottom-left mobile */
	body.tax-product_cat .se-mobile-filters-toggle,
	body.woocommerce-shop .se-mobile-filters-toggle {
		position: fixed !important;
		bottom: 16px !important;
		left: 16px !important;
		right: auto !important;
		top: auto !important;
		z-index: 99996 !important;
		padding: 0.85rem 1.2rem !important;
		background: linear-gradient(135deg, #2d7590, #1e5a6f) !important;
		color: #fff !important;
		border-radius: 999px !important;
		box-shadow: 0 6px 20px rgba(45, 117, 144, 0.4) !important;
		font-weight: 700 !important;
		font-size: 0.9rem !important;
		border: none !important;
		cursor: pointer !important;
		display: inline-flex !important;
		align-items: center !important;
		gap: 0.5rem !important;
	}
}

/* === 7. Backdrop overlay quand drawer ouvert === */
@media (max-width: 991px) {
	body.se-filters-drawer-open::before {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(15, 18, 20, 0.55);
		z-index: 99996;
		backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
		animation: seFiltersFadeIn 0.2s ease-out;
	}
	body.se-filters-drawer-open .sx-filters-sidebar {
		position: fixed !important;
		top: 0 !important;
		bottom: 0 !important;
		right: 0 !important;
		left: auto !important;
		width: min(92vw, 380px) !important;
		max-height: 100vh !important;
		z-index: 99997 !important;
		border-radius: 16px 0 0 16px !important;
		box-shadow: -8px 0 32px rgba(0, 0, 0, 0.2) !important;
		padding: 1.5rem 1.25rem !important;
		overflow-y: auto !important;
		animation: seFiltersSlideIn 0.28s cubic-bezier(0.16, 1, 0.3, 1);
	}
	body.se-filters-drawer-open {
		overflow: hidden !important;
	}
}

@keyframes seFiltersFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes seFiltersSlideIn {
	from { transform: translateX(100%); }
	to { transform: translateX(0); }
}

/* === 8. Bouton fermer drawer === */
.se-filters-drawer-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	border: none;
	background: rgba(0, 0, 0, 0.06);
	color: #1d2327;
	border-radius: 8px;
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	transition: background 0.15s ease;
}
.se-filters-drawer-close:hover {
	background: rgba(0, 0, 0, 0.12);
}
@media (max-width: 991px) {
	body.se-filters-drawer-open .se-filters-drawer-close {
		display: inline-flex !important;
	}
}

/* === 9. Active filter chips floating top (visual feedback) === */
.se-active-chips-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 0.9rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px dashed #e4e7ea;
}
.se-active-chips-bar:empty { display: none; }
.se-active-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.7rem 0.3rem 0.8rem;
	background: #e8f1f4;
	color: #2d7590;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid rgba(45, 117, 144, 0.2);
	transition: all 0.15s ease;
}
.se-active-chip:hover {
	background: #2d7590;
	color: #fff !important;
}
.se-active-chip::after {
	content: '✕';
	font-size: 0.7rem;
	opacity: 0.6;
}
.se-active-chip:hover::after { opacity: 1; }

/* === 10. Filters loading state (apply price) === */
.sx-filter-price-apply:active {
	transform: scale(0.97);
}
.sx-filter-price-apply.se-loading {
	opacity: 0.6;
	cursor: wait;
}
.sx-filter-price-apply.se-loading::after {
	content: '...';
	margin-left: 0.3rem;
	letter-spacing: 0.1em;
}

/* === 11. Filter chips active (current selection) on shop main === */
.se-shop-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
	margin: 0 0 1rem;
	padding: 0.6rem 0.8rem;
	background: #fff7e6;
	border: 1px solid #ffe0a3;
	border-radius: 8px;
	font-size: 0.82rem;
}
.se-shop-active-filters:empty { display: none; }
.se-shop-active-filters-label {
	font-weight: 700;
	color: #92580f;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-right: 0.3rem;
}

/* === 12. Pill brand color hint via CSS counters or just better hover === */
.sx-filter-pill[data-brand] {
	position: relative;
}
.sx-filter-pill[data-brand]:hover {
	transform: translateX(2px);
}
.sx-filter-pill:active {
	transform: scale(0.97);
}

/* === 13. Brand search box dans pills === */
.se-filter-brand-search {
	width: 100%;
	padding: 0.5rem 0.7rem;
	font-size: 0.85rem;
	border: 1.5px solid #e4e7ea;
	border-radius: 8px;
	background: #fff;
	color: #1d2327;
	margin-bottom: 0.5rem;
	box-sizing: border-box;
	font-family: inherit;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.se-filter-brand-search:focus {
	outline: none;
	border-color: #2d7590;
	box-shadow: 0 0 0 3px rgba(45, 117, 144, 0.15);
}
.se-filter-brand-search::placeholder {
	color: #9ca3af;
	font-style: italic;
}

/* === 14. Active chips bar (top sidebar) — already in section 9, polish === */
.se-active-chips-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	padding: 0.7rem 0.85rem;
	margin: 0 -0.25rem 0.75rem;
	background: linear-gradient(135deg, rgba(45, 117, 144, 0.06), rgba(45, 117, 144, 0.02));
	border: 1px dashed rgba(45, 117, 144, 0.25);
	border-radius: 8px;
}
.se-active-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.3rem 0.7rem 0.3rem 0.75rem;
	background: #2d7590;
	color: #fff !important;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.15s ease;
	cursor: pointer;
}
.se-active-chip:hover {
	background: #1d4f63;
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.se-active-chip::after {
	content: '✕';
	font-size: 0.7rem;
	opacity: 0.7;
	margin-left: 0.2rem;
}
.se-active-chip:hover::after { opacity: 1; }

/* === /se-FILTERS-UX-ELITE === */

/* === se-tiny-text-polish === */
/* === se-TINY-TEXT-POLISH === Bump 9-10px → 11px min === */

	/* Card badges */
	.sx-badge,
	.sx-badge-instock,
	.sx-badge-order,
	.sx-badge-promo,
	.sx-badge-new,
	.sx-card-brand,
	.sx-card-new-badge {
		font-size: 0.7rem !important; /* ~11.2px */
		letter-spacing: 0.04em !important;
	}

	/* SKU on cards */
	.sx-card-sku {
		font-size: 0.74rem !important; /* ~11.8px */
		color: #64748b !important;
	}

	/* Hero tag uppercase */
	.sx-boutique-hero-tag {
		font-size: 0.72rem !important; /* ~11.5px */
	}

	/* Filters title */
	.sx-filters-title {
		font-size: 0.74rem !important; /* ~11.8px */
	}

	/* Boutique hero stats label */
	.sx-bhs-lbl {
		font-size: 0.74rem !important; /* ~11.8px */
	}

	/* Boutique cat card count */
	.sx-bcc-count {
		font-size: 0.74rem !important; /* ~11.8px */
	}

	/* Boutique sector bar pill */
	.sx-bsbar-pill {
		font-size: 0.82rem !important; /* ~13px */
	}

	/* Mobile : très légèrement plus petit acceptable */
	@media (max-width: 480px) {
		.sx-badge,
		.sx-card-brand,
		.sx-card-new-badge {
			font-size: 0.65rem !important; /* ~10.4px (compromis mobile compact) */
		}
		.sx-card-sku {
			font-size: 0.7rem !important;
		}
	}

/* === se-a11y-polish === */
/* === se-A11Y-POLISH === WCAG 2.2 AA improvements === */

	/* Tap targets : minimum 44×44 (sauf inline links) */
	.sx-mob-cart-popup-close,
	.sx-moh-search,
	.sx-moh-cart-toggle,
	.sx-moh-burger,
	.sx-rv-head button,
	.sx-rv-head a,
	.se-toast-close,
	.se-mhs-close,
	.brx-submenu-toggle a,
	.sx-filter-clear {
		min-width: 44px !important;
		min-height: 44px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/* Pour les boutons texte qui ne devraient pas être grand carré, juste min-height */
	.sx-rv-head button,
	.sx-rv-head a,
	.sx-filter-clear {
		min-width: auto !important;
		padding-left: 0.7rem !important;
		padding-right: 0.7rem !important;
	}

	/* Focus visible cohérent partout */
	a:focus-visible,
	button:focus-visible,
	input:focus-visible,
	textarea:focus-visible,
	select:focus-visible,
	[tabindex]:focus-visible {
		outline: 3px solid rgba(45, 117, 144, 0.5) !important;
		outline-offset: 2px !important;
		border-radius: 4px;
	}

	/* Skip link visible au focus */
	.skip-link:focus,
	.sx-skip-link:focus {
		position: fixed !important;
		top: 12px !important;
		left: 12px !important;
		z-index: 100000 !important;
		padding: 0.8rem 1.2rem !important;
		background: #1d2327 !important;
		color: #ffffff !important;
		font-weight: 700 !important;
		text-decoration: none !important;
		border-radius: 6px !important;
		box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
	}

	/* prefers-reduced-motion : kill toutes les animations */
	@media (prefers-reduced-motion: reduce) {
		*,
		*::before,
		*::after {
			animation-duration: 0.01ms !important;
			animation-iteration-count: 1 !important;
			transition-duration: 0.1s !important;
			scroll-behavior: auto !important;
		}
		.sx-card-new-pulse,
		.sx-fab-pulse,
		.se-toast,
		.sx-rv-grid > *:hover {
			animation: none !important;
			transform: none !important;
		}
	}

	/* High contrast mode fallbacks */
	@media (prefers-contrast: high) {
		.sx-filter-pill,
		.se-afc-chip,
		.se-empty-state-cta-secondary {
			border-width: 2px !important;
		}
	}

	/* Ensure text under 18px has minimum 4.5:1 contrast (sample fixes) */
	.se-toast-text,
	.sx-card-sku,
	.sx-rv-grid .sx-card-brand {
		color: #475569 !important; /* slate-600 = ~7:1 sur fond blanc */
	}

/* === se-boutique-ux-fixes === */
/* === se-BOUTIQUE-UX-FIXES === */

	/* 1. Hero plus compact (344px → ~200px) */
	body.tax-product_cat .sx-boutique-hero,
	body.woocommerce-shop .sx-boutique-hero,
	body.tax-product_cat .sx-cat-hero {
		padding: 1rem 1.25rem !important;
		margin: 0 0 1rem !important;
	}
	.sx-cat-hero .sx-cat-breadcrumb {
		margin: 0 0 0.75rem !important;
		padding: 0 !important;
		font-size: 0.85rem !important;
	}
	.sx-cat-hero .sx-cat-breadcrumb ol {
		padding: 0 !important;
		margin: 0 !important;
	}
	.sx-cat-hero .sx-boutique-hero-inner {
		padding: 0.75rem 0 !important;
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		gap: 1rem !important;
		align-items: center !important;
	}
	.sx-cat-hero .sx-boutique-hero-text {
		text-align: left !important;
	}
	.sx-cat-hero .sx-boutique-hero-tag {
		font-size: 0.7rem !important;
		margin-bottom: 0.3rem !important;
	}
	.sx-cat-hero .sx-boutique-hero-h1 {
		font-size: clamp(1.25rem, 3.5vw, 1.85rem) !important;
		margin: 0 0 0.4rem !important;
		line-height: 1.15 !important;
	}
	.sx-cat-hero .sx-boutique-hero-sub {
		font-size: 0.88rem !important;
		line-height: 1.4 !important;
		margin: 0 !important;
	}
	.sx-cat-hero .sx-boutique-hero-stats {
		display: flex !important;
		gap: 0.6rem !important;
		flex-wrap: nowrap !important;
	}
	.sx-cat-hero .sx-bhs-item {
		padding: 0.5rem 0.75rem !important;
		min-width: 0 !important;
	}
	.sx-cat-hero .sx-bhs-num {
		font-size: 0.95rem !important;
	}
	.sx-cat-hero .sx-bhs-lbl {
		font-size: 0.7rem !important;
	}

	/* Mobile : stats sous le texte */
	@media (max-width: 767px) {
		.sx-cat-hero .sx-boutique-hero-inner {
			grid-template-columns: 1fr !important;
			gap: 0.6rem !important;
		}
		.sx-cat-hero .sx-boutique-hero-stats {
			justify-content: flex-start !important;
		}
	}

	/* 2. "Vus récemment" position : déplacé en bas via JS, mais styling défini ici */
	#se-rv-moved {
		max-width: 100%;
		margin: 2.5rem 0 1rem !important;
	}

	/* Hide la position OLD du sx-rv-section (avant déplacement par JS) */
	body.tax-product_cat .sx-rv-section:not(#se-rv-moved):not([data-moved="1"]),
	body.woocommerce-shop .sx-rv-section:not(#se-rv-moved):not([data-moved="1"]) {
		display: none !important;
	}

	/* 3. Bouton "Filtres" tablet désactivé — filtres maintenant TOUJOURS visibles inline
	   sur tablet (cf. se-boutique-layout C.2 mis à jour). Le drawer cachait trop. */
	.se-tablet-filter-toggle,
	.se-tablet-filter-backdrop {
		display: none !important;
	}

	/* 4. Hide WC-products header (titre dupliqué) */
	.sx-shop-main .woocommerce-result-count,
	.sx-shop-main .woocommerce-notices-wrapper:empty {
		font-size: 0.85rem !important;
		color: #64748b !important;
		margin: 0 0 1rem !important;
	}

	/* 5. Boutique-pro hero (page /boutique/) plus compact aussi */
	body.woocommerce-shop .sx-boutique-hero {
		padding: 1.2rem 1.25rem !important;
		margin-bottom: 1rem !important;
	}
	body.woocommerce-shop .sx-boutique-hero-h1 {
		font-size: clamp(1.5rem, 4vw, 2.2rem) !important;
		margin: 0 0 0.5rem !important;
	}
	body.woocommerce-shop .sx-boutique-hero-sub {
		font-size: 0.92rem !important;
		line-height: 1.5 !important;
	}

/* === se-card-text-fits === */
/* === se-CARD-TEXT-FITS === Aucun texte qui déborde des cards === */

	/* === Services techniques cards (.sx-svctech-card) === */
	.sx-svctech-card {
		min-height: 240px !important;
		max-width: 100% !important;
		overflow: hidden !important;
		word-wrap: break-word !important;
		word-break: normal !important;
		hyphens: auto !important;
	}
	.sx-svctech-card h3 {
		word-wrap: break-word !important;
		hyphens: auto !important;
		line-height: 1.25 !important;
		max-width: 100% !important;
	}
	.sx-svctech-card p {
		word-wrap: break-word !important;
		hyphens: auto !important;
		max-width: 100% !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 4 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		line-height: 1.5 !important;
		flex-grow: 1 !important;
	}
	.sx-svctech-card .more {
		margin-top: auto !important;
		padding-top: 0.75rem !important;
		display: inline-flex !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		gap: 0.3rem !important;
		max-width: 100% !important;
		white-space: nowrap !important;
	}

	/* === Catégories cards home (.sx-cat-card) === */
	.sx-cat-card,
	.sx-boutique-cat-card {
		min-height: 140px !important;
		overflow: hidden !important;
		word-wrap: break-word !important;
		hyphens: auto !important;
	}
	.sx-cat-card .name,
	.sx-cat-card h3,
	.sx-boutique-cat-card .sx-bcc-name {
		word-wrap: break-word !important;
		hyphens: auto !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		line-height: 1.25 !important;
		max-width: 100% !important;
	}

	/* === Pourquoi cards (.sx-why-card) === */
	.sx-why-card {
		overflow: hidden !important;
		word-wrap: break-word !important;
		hyphens: auto !important;
	}
	.sx-why-card p {
		display: -webkit-box !important;
		-webkit-line-clamp: 5 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		line-height: 1.5 !important;
	}

	/* === Engagements cards === */
	.sx-engagements-card,
	.sx-engagement-card {
		overflow: hidden !important;
		word-wrap: break-word !important;
		hyphens: auto !important;
	}
	.sx-engagements-card p,
	.sx-engagement-card p {
		display: -webkit-box !important;
		-webkit-line-clamp: 4 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	/* === Vedettes / produits cards === */
	.sx-vedette-card {
		overflow: hidden !important;
	}
	.sx-vedette-card .name,
	.sx-vedette-card h4 {
		word-wrap: break-word !important;
		hyphens: auto !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		line-height: 1.3 !important;
	}

	/* === Product cards (li.product) === */
	li.product .sx-card-title,
	li.product .woocommerce-loop-product__title,
	li.product h2,
	li.product h3,
	li.product h4,
	li.product h5 {
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-wrap: break-word !important;
		hyphens: auto !important;
		line-height: 1.25 !important;
		max-width: 100% !important;
	}
	li.product .sx-card-desc,
	li.product .sx-card-description {
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-wrap: break-word !important;
		line-height: 1.4 !important;
		max-width: 100% !important;
	}
	li.product .sx-card-sku {
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
		max-width: 100% !important;
	}

	/* === Sector cards (.se-sector-card) === */
	.se-sector-card,
	.se-hero-sector {
		overflow: hidden !important;
		word-wrap: break-word !important;
		hyphens: auto !important;
	}
	.se-sector-card h3,
	.se-sector-card .name,
	.se-hero-sector span:not(.se-hero-sector-icon) {
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		line-height: 1.2 !important;
		max-width: 100% !important;
	}

	/* === Particuliers cards === */
	.sx-particuliers-card {
		overflow: hidden !important;
	}
	.sx-particuliers-card p {
		display: -webkit-box !important;
		-webkit-line-clamp: 4 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	/* === Commander cards === */
	.sx-commander-card {
		overflow: hidden !important;
	}
	.sx-commander-card p {
		display: -webkit-box !important;
		-webkit-line-clamp: 3 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	/* === Global : aucun texte n'overflow son parent === */
	.sx-blade-host *,
	.sx-svctech-card *,
	.sx-cat-card *,
	.sx-particuliers-card *,
	.sx-engagement-card *,
	.sx-commander-card *,
	.se-sector-card *,
	.sx-vedette-card * {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* === Mobile : line-clamps adjustments === */
	@media (max-width: 767px) {
		.sx-svctech-card { min-height: 200px !important; padding: 1.25rem !important; }
		.sx-svctech-card p { -webkit-line-clamp: 3 !important; }
		.sx-cat-card, .sx-boutique-cat-card { min-height: 110px !important; }
		.sx-why-card p { -webkit-line-clamp: 4 !important; }
		.sx-engagement-card p { -webkit-line-clamp: 3 !important; }
		li.product .sx-card-desc { -webkit-line-clamp: 2 !important; }
	}

/* === se-ui-polish-elite === */
/* ============================================================
 * se-UI-POLISH-ELITE (2026-05-13)
 * Polish global : focus visible, scroll smooth, microinteractions.
 * ============================================================ */

/* === 1. Focus visible AAA partout === */
*:focus-visible {
	outline: 2px solid #2d7590 !important;
	outline-offset: 2px !important;
	border-radius: 4px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	box-shadow: 0 0 0 3px rgba(45, 117, 144, 0.25) !important;
}
/* Désactive outline pour click mouse (focus-visible only via clavier) */
*:focus:not(:focus-visible) {
	outline: none !important;
}

/* === 2. Smooth scroll global (uniquement si user n'a pas prefers-reduced-motion) === */
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* === 3. Skip-link improvements === */
.skip-link {
	background: #1d2327;
	color: #fff;
	padding: 0.65rem 1.25rem;
	border-radius: 0 0 8px 0;
	font-weight: 700;
	z-index: 999999;
	font-family: inherit;
}
.skip-link:focus {
	left: 0;
	top: 0;
}

/* === 4. Demoted H1 (ex sx-local-h1) garde le styling H1 visuellement === */
h2.se-h2-from-h1 {
	font-size: 2rem !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	color: #1d2327 !important;
	margin: 1rem 0 1.5rem !important;
	letter-spacing: -0.02em !important;
}
@media (max-width: 767px) {
	h2.se-h2-from-h1 { font-size: 1.5rem !important; }
}

/* === 5. Microinteractions : hover lift sur cards === */
.sx-cat-card,
.sx-svctech-card,
.sx-vedette-card,
.sx-boutique-cat-card,
.se-sector-card {
	transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1),
	            box-shadow 0.18s cubic-bezier(0.16, 1, 0.3, 1),
	            border-color 0.18s ease !important;
}
.sx-cat-card:hover,
.sx-svctech-card:hover,
.sx-vedette-card:hover,
.sx-boutique-cat-card:hover,
.se-sector-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px -8px rgba(45, 117, 144, 0.18) !important;
}

/* === 6. Loading state global (skeleton + spinner unified) === */
.se-skeleton {
	background: linear-gradient(90deg,
		rgba(0,0,0,0.06) 25%,
		rgba(0,0,0,0.12) 37%,
		rgba(0,0,0,0.06) 63%
	);
	background-size: 400% 100%;
	animation: seSkeleton 1.4s ease infinite;
	border-radius: 6px;
}
@keyframes seSkeleton {
	0% { background-position: 100% 50%; }
	100% { background-position: 0 50%; }
}

/* === 7. Empty state polish === */
.woocommerce-info,
.woocommerce-error,
.woocommerce-message {
	padding: 1rem 1.25rem !important;
	border-radius: 8px !important;
	border-left: 4px solid #2d7590 !important;
	background: #f4f6f8 !important;
	font-size: 0.93rem !important;
	line-height: 1.5;
}
.woocommerce-error { border-left-color: #d32f2f !important; background: #fef0f0 !important; }
.woocommerce-message { border-left-color: #3ddc97 !important; background: #f0fdf4 !important; }

/* === 8. Selection color REMOVED 2026-05-13 (régression rendering Safari sur .sx-cta cards) ===
   Safari rendait rgba(45,117,144,0.2) trop opaque sur les boutons "En savoir plus →"
   créant l'illusion de bg teal solid. Revert au défaut natif macOS (bleu système). */

/* === 9. Buttons polish global === */
button:not([disabled]):hover,
.button:not([disabled]):hover,
input[type="submit"]:not([disabled]):hover {
	cursor: pointer;
}
button:disabled,
.button.disabled,
input[type="submit"]:disabled {
	cursor: not-allowed !important;
	opacity: 0.55 !important;
}

/* === 10. Image loading shimmer (avant que <img alt=""> charge) === */
img:not([loading="eager"]) {
	background: linear-gradient(110deg, #f0f0f0 30%, #f8f8f8 50%, #f0f0f0 70%);
	background-size: 200% 100%;
	animation: seImgShimmer 1.5s ease infinite;
}
img:not([loading="eager"]).loaded,
img.brxe-image.loaded {
	animation: none;
	background: none;
}
@keyframes seImgShimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* === 11. Mobile : remove tap highlight + smooth tap === */
@media (max-width: 991px) {
	* {
		-webkit-tap-highlight-color: transparent;
	}
	button:active,
	.button:active,
	a.sx-bcc-name:active,
	.sx-cat-card:active,
	.sx-svctech-card:active {
		transform: scale(0.97);
		transition: transform 0.1s ease;
	}
}

/* === 12. Print styles : éviter cassures dans cards === */
@media print {
	header, footer, .sx-filters-sidebar, .se-mobile-filters-toggle, #sx-mob-menu, .snn-cookie {
		display: none !important;
	}
	body { background: #fff !important; color: #000 !important; }
	a { color: #000 !important; text-decoration: underline; }
	a[href]::after { content: ' (' attr(href) ')'; font-size: 0.85em; color: #555; }
	a[href^="#"]::after, a[href^="javascript:"]::after { content: ''; }
	.sx-cat-card, .sx-svctech-card, .sx-vedette-card, li.product { page-break-inside: avoid; }
}

/* === 13. Tighter mobile filters toggle button (no scroll jump) === */
@media (max-width: 991px) {
	.se-mobile-filters-toggle,
	[data-se-mobile-filter-toggle] {
		-webkit-tap-highlight-color: transparent !important;
		touch-action: manipulation !important;
	}
}

/* === 14. Tooltip B2B price : REMOVED 2026-05-13 (régression sur cards) ===
   La CSS originale est dans sx-theme.css (display: inline-block, vertical-align: middle).
   Session 53 avait force inline-flex 18×18 circle qui cassait le layout des cards.
   Reverti — sx-theme.css règles préservées intactes. */

/* === /se-UI-POLISH-ELITE === */

/* === se-a11y-focus-visible === */
/* WCAG 2.4.7 Focus Visible : ring teal 3px sur tous interactifs */
	:focus-visible {
		outline: 3px solid #2d7590 !important;
		outline-offset: 2px !important;
		border-radius: 4px;
	}
	a:focus-visible,
	button:focus-visible,
	input:focus-visible,
	textarea:focus-visible,
	select:focus-visible,
	[role="button"]:focus-visible,
	[tabindex]:focus-visible {
		outline: 3px solid #2d7590 !important;
		outline-offset: 2px !important;
		box-shadow: 0 0 0 5px rgba(45, 117, 144, 0.15);
	}
	/* Skip-link visible quand focus */
	.screen-reader-text:focus,
	.skip-link:focus {
		position: absolute !important;
		left: 6px !important;
		top: 6px !important;
		width: auto !important;
		height: auto !important;
		clip: auto !important;
		clip-path: none !important;
		padding: 0.75rem 1.25rem;
		background: #1d2327;
		color: #fff;
		font-weight: 600;
		text-decoration: none;
		z-index: 100000;
		border-radius: 4px;
	}
	/* Required asterisk en couleur accessible */
	.woocommerce form .form-row .required,
	abbr.required {
		color: #d32f2f !important; /* contraste 5.6:1 sur fond blanc */
		text-decoration: none !important;
	}

/* === se-boutique-filters-fix === */
/* === 1. Neutralise word-break:keep-all global (sx-theme.css ligne 4957) === */
	.sx-filters-sidebar,
	.sx-filters-sidebar * {
		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	/* === 2. Sidebar largeur réaliste : 240px (était trop large = waste) === */
	@media (min-width: 992px) {
		.sx-shop-with-filters { grid-template-columns: 240px 1fr !important; }
	}
	@media (min-width: 1280px) {
		.sx-shop-with-filters { grid-template-columns: 260px 1fr !important; }
	}

	/* === 3. Sidebar inner : tight padding + UNSTICKY (Jeremy 2026-05-14 :
	   bar blanche descend au scroll) === */
	.sx-filters-sidebar {
		padding: 0.85rem 0.95rem !important;
		position: static !important;
		top: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}
	/* CRITICAL : .sx-filter-section est un <section> qui hérite du padding Bricks
	   par défaut (70.9px top + 50.9px L/R observé via Chrome DOM inspect).
	   Override TOUTES les directions pour récupérer la largeur inner. */
	.sx-filter-section {
		padding: 0 0 1rem 0 !important;
		margin: 0 0 1rem 0 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.sx-filter-section-title {
		font-size: 0.78rem !important;
		margin: 0 0 0.5rem !important;
		padding: 0 !important;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	/* === 4. Sub-cats : compact row + ellipsis single-line === */
	.sx-filter-subcats {
		gap: 0.18rem !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.sx-filter-subcat {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 0.4rem !important;
		padding: 0.4rem 0.55rem !important;
		min-height: 30px !important;
		font-size: 0.8rem !important;
		line-height: 1.25 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.sx-filter-subcat-name {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		font-size: 0.8rem !important;
		line-height: 1.25 !important;
		/* NE PAS mettre display:-webkit-box ici (cassait v1.1) */
	}
	.sx-filter-subcat-count {
		flex: 0 0 auto !important;
		font-size: 0.66rem !important;
		padding: 0.05rem 0.4rem !important;
		min-width: 26px !important;
		text-align: center !important;
		line-height: 1.3 !important;
	}

	/* === 5. Pills marques : même approche compact === */
	.sx-filter-pills {
		gap: 0.18rem !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.sx-filter-pill {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 0.4rem !important;
		padding: 0.4rem 0.55rem !important;
		min-height: 30px !important;
		font-size: 0.78rem !important;
		line-height: 1.25 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.sx-filter-pill-name {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		font-size: 0.78rem !important;
		text-align: left !important;
		font-weight: 600 !important;
	}
	.sx-filter-pill-count {
		flex: 0 0 auto !important;
		font-size: 0.66rem !important;
		padding: 0.05rem 0.4rem !important;
		min-width: 26px !important;
		text-align: center !important;
		line-height: 1.3 !important;
	}

	/* === 6. Scroll sub-cats si très long === */
	.sx-filter-subcats {
		max-height: 360px;
		overflow-y: auto;
		padding-right: 4px;
		scrollbar-width: thin;
	}
	.sx-filter-subcats::-webkit-scrollbar { width: 4px; }
	.sx-filter-subcats::-webkit-scrollbar-track { background: #f4f6f8; border-radius: 4px; }
	.sx-filter-subcats::-webkit-scrollbar-thumb { background: #c7d0d4; border-radius: 4px; }

/* === se-boutique-mobile-fix === */
/* Sticky-header anchor-scroll safety global */
	html { scroll-padding-top: 90px; }

	/* Boutique landing : safety margin sur la section catégories */
	.sx-boutique-cats { scroll-margin-top: 90px; }
	.sx-boutique-cats-title { scroll-margin-top: 90px; }
	.sx-boutique-hero { scroll-margin-top: 90px; }
	.sx-boutique-sector-bar { scroll-margin-top: 90px; }

	/* Mobile narrow : H2 "Magasine par catégorie" + sub trop proches de la sticky header.
	   Force single-line si possible et augmente margin pour respirer. */
	@media (max-width: 600px) {
		.sx-boutique-cats {
			margin-top: 1.8rem !important;
		}
		.sx-boutique-cats-title {
			font-size: 1.35rem !important;
			line-height: 1.25 !important;
			word-break: keep-all;
			hyphens: none;
		}
		.sx-boutique-cats-sub {
			font-size: 0.88rem !important;
			line-height: 1.45 !important;
		}
	}
	@media (max-width: 380px) {
		.sx-boutique-cats-title { font-size: 1.2rem !important; }
	}

	/* Pages catégorie produit : même problème sur archive titles */
	body.tax-product_cat .sx-shop-products-wrap > h1,
	body.tax-product_cat .sx-shop-products-wrap > h2 {
		scroll-margin-top: 90px;
	}

	/* Pages /marques/, /secteur/X/, /ville/X/ : margin-top safe sur premier H1 */
	body.page-template-default main h1:first-of-type,
	body.page-template-default main h2:first-of-type {
		scroll-margin-top: 90px;
	}

/* === se-desktop-menu-pro === */
/* Dropdown panel : 2-col grid, propre */
	.brx-dropdown-content {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
		gap: 0.2rem 1rem !important;
		background: #ffffff !important;
		border: 1px solid #e4e7ea !important;
		border-radius: 12px !important;
		box-shadow: 0 20px 40px -8px rgba(15, 18, 20, 0.18), 0 6px 16px -4px rgba(15, 18, 20, 0.08) !important;
		padding: 0.85rem 0.95rem !important;
		min-width: 520px !important;
		max-width: 640px !important;
		max-height: 70vh !important;
		overflow-y: auto !important;
		list-style: none !important;
	}

	/* Item links propres */
	.brx-dropdown-content li,
	.brx-dropdown-content > a {
		list-style: none !important;
	}
	.brx-dropdown-content a {
		display: block !important;
		padding: 0.4rem 0.6rem !important;
		font-size: 0.86rem !important;
		font-weight: 500 !important;
		color: #1d2327 !important;
		text-decoration: none !important;
		border-radius: 6px !important;
		transition: all 0.12s ease !important;
		line-height: 1.35 !important;
	}
	.brx-dropdown-content a:hover {
		background: rgba(45, 117, 144, 0.08) !important;
		color: #2d7590 !important;
		padding-left: 0.85rem !important;
	}

	/* CTA injecté "Magasiner en ligne" : span 2 cols, sticky en haut */
	.brx-dropdown-content .se-dm-cta {
		grid-column: 1 / -1 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0.5rem !important;
		padding: 0.7rem 1rem !important;
		margin-bottom: 0.65rem !important;
		background: linear-gradient(135deg, #2d7590, #3a9bb8) !important;
		color: #fff !important;
		font-size: 0.9rem !important;
		font-weight: 700 !important;
		text-decoration: none !important;
		border-radius: 8px !important;
		box-shadow: 0 4px 12px -4px rgba(45, 117, 144, 0.45) !important;
		transition: all 0.15s ease !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 2 !important;
	}
	.brx-dropdown-content .se-dm-cta:hover {
		background: linear-gradient(135deg, #1f5d77, #2d7590) !important;
		transform: translateY(-1px) !important;
		box-shadow: 0 6px 16px -4px rgba(45, 117, 144, 0.55) !important;
		color: #fff !important;
		padding-left: 1rem !important;
	}
	.brx-dropdown-content .se-dm-cta::before {
		content: '🛒';
		font-size: 1.05rem;
	}

	/* Group separator (Section label "PRODUITS", "COMPAGNIE" etc.) */
	.brx-dropdown-content .se-dm-group-label {
		grid-column: 1 / -1 !important;
		font-size: 0.7rem !important;
		font-weight: 800 !important;
		color: #8c98a4 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase !important;
		padding: 0.55rem 0.6rem 0.2rem !important;
		margin-top: 0.3rem !important;
		border-top: 1px solid #f0f2f4 !important;
		pointer-events: none !important;
	}
	.brx-dropdown-content .se-dm-group-label:first-of-type {
		border-top: none !important;
		margin-top: 0 !important;
	}

	/* Mobile : pas concerné par ce menu */
	@media (max-width: 991px) {
		.brx-dropdown-content {
			grid-template-columns: 1fr !important;
			min-width: 0 !important;
		}
	}

	/* Scrollbar slim */
	.brx-dropdown-content::-webkit-scrollbar { width: 5px; }
	.brx-dropdown-content::-webkit-scrollbar-track { background: #f4f6f8; border-radius: 4px; }
	.brx-dropdown-content::-webkit-scrollbar-thumb { background: #c7d0d4; border-radius: 4px; }
	.brx-dropdown-content::-webkit-scrollbar-thumb:hover { background: #2d7590; }

/* === se-home-services-cards-fix === */
/* ============================================================
	 * Fix .sx-tile .sx-cta : pill propre, sans padding-top vide ni
	 * border-top conflictuel avec le bg teal global.
	 * Spécificité élevée (3 classes) pour battre les règles existantes.
	 * ============================================================ */
	.sx-services-grid .sx-tile .sx-cta,
	.sx-cat-grid .sx-tile .sx-cta {
		/* Reset du padding/border/margin du style "discret" original */
		padding: 0.55rem 1rem !important;
		margin-top: auto !important; /* push to bottom of flex column card */
		border-top: 0 !important;
		border-radius: 999px !important;
		/* Vrai pill button */
		display: inline-flex !important;
		align-items: center !important;
		gap: 0.4rem !important;
		align-self: flex-start !important;
		font-size: 0.85rem !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		/* Couleurs : laisse la règle globale .sx-cta gérer bg teal + color white */
		background: #2d7590;
		color: #fff !important;
		text-decoration: none !important;
		box-shadow: 0 2px 6px -2px rgba(45, 117, 144, 0.35);
		transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	}

	.sx-tile:hover .sx-cta {
		background: #1f5d77 !important;
		color: #fff !important;
		transform: translateY(-1px);
		box-shadow: 0 4px 10px -2px rgba(45, 117, 144, 0.45);
	}

	/* Arrow after :hover : préserve le translateX existant */
	.sx-tile .sx-cta::after {
		color: #fff !important;
		font-weight: 700;
	}

	/* Card layout : assure que la p (description) ne pousse pas le CTA hors viewport */
	.sx-services-grid .sx-tile,
	.sx-cat-grid .sx-tile {
		min-height: 220px !important; /* +40px sur le 180px par défaut pour respirer */
		justify-content: flex-start;
		gap: 0.6rem !important;
	}
	.sx-services-grid .sx-tile p,
	.sx-cat-grid .sx-tile p {
		flex: 0 1 auto !important; /* ne grow pas — laisse l'espace au margin-top:auto du CTA */
		margin: 0 !important;
	}

	/* Mobile : pills légèrement plus compactes */
	@media (max-width: 600px) {
		.sx-services-grid .sx-tile .sx-cta,
		.sx-cat-grid .sx-tile .sx-cta {
			padding: 0.5rem 0.85rem !important;
			font-size: 0.8rem !important;
		}
	}

/* === se-pillar-pages-fix === */
/* Card unifié : title + voir dans un seul bloc */
	.se-pillar-card {
		display: flex !important;
		flex-direction: column !important;
		background: #fff;
		border: 1px solid #e4e7ea;
		border-radius: 12px;
		overflow: hidden;
		transition: all 0.2s ease;
	}
	.se-pillar-card:hover {
		border-color: #2d7590;
		box-shadow: 0 10px 24px -8px rgba(45, 117, 144, 0.18);
		transform: translateY(-2px);
	}
	.se-pillar-card > a {
		flex: 1 1 auto;
		display: flex !important;
		flex-direction: column;
		padding: 1.1rem !important;
		text-decoration: none !important;
		color: inherit !important;
		gap: 0.5rem;
	}
	.se-pillar-card > a h3,
	.se-pillar-card > a h2 {
		margin: 0 !important;
		font-size: 1.05rem !important;
		font-weight: 700 !important;
		color: #1d2327 !important;
		line-height: 1.3 !important;
	}
	.se-pillar-card > a p {
		margin: 0 !important;
		font-size: 0.88rem !important;
		color: #5b6770 !important;
		line-height: 1.5 !important;
	}
	.se-pillar-card > .se-pillar-cta {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0.7rem 1rem !important;
		background: #2d7590 !important;
		color: #fff !important;
		font-size: 0.85rem !important;
		font-weight: 700 !important;
		text-decoration: none !important;
		transition: background 0.15s ease !important;
		border-top: 0 !important;
		margin: 0 !important;
		text-align: center;
	}
	.se-pillar-card > .se-pillar-cta:hover {
		background: #1f5d77 !important;
		color: #fff !important;
	}

/* === se-search-pro === */
/* ============================================================
	 * SEARCH RESULTS PAGE (`/?s=X`) — body.search-results
	 * Cache dates + restyle cards via Bricks brxe-posts structure.
	 * ============================================================ */
	body.search-results .bricks-layout-wrapper {
		display: grid !important;
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
		gap: 1.25rem !important;
		max-width: 1240px !important;
		margin: 1.5rem auto !important;
		padding: 0 clamp(1rem, 4vw, 2rem) !important;
		list-style: none !important;
	}
	body.search-results .bricks-layout-item {
		background: #fff !important;
		border: 1px solid #e4e7ea !important;
		border-radius: 12px !important;
		padding: 1rem !important;
		transition: all 0.2s ease !important;
		display: flex !important;
		flex-direction: column !important;
		position: relative !important;
		overflow: hidden !important;
	}
	body.search-results .bricks-layout-item:hover {
		border-color: #2d7590 !important;
		box-shadow: 0 10px 24px -8px rgba(45, 117, 144, 0.18) !important;
		transform: translateY(-2px) !important;
	}
	body.search-results .bricks-layout-item .brxe-post-thumbnail,
	body.search-results .bricks-layout-item .post-thumbnail {
		margin: -1rem -1rem 0.85rem -1rem !important;
		background: #fafbfc !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 200px !important;
	}
	body.search-results .bricks-layout-item .brxe-post-thumbnail img,
	body.search-results .bricks-layout-item .post-thumbnail img {
		max-width: 100% !important;
		max-height: 200px !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
		padding: 0.5rem !important;
	}
	body.search-results .bricks-layout-item h2,
	body.search-results .bricks-layout-item h3 {
		font-size: 0.92rem !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		margin: 0 0 0.5rem !important;
		color: #1d2327 !important;
		min-height: 2.4em;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	body.search-results .bricks-layout-item h2 a,
	body.search-results .bricks-layout-item h3 a {
		color: #1d2327 !important;
		text-decoration: none !important;
	}
	body.search-results .bricks-layout-item h2 a:hover,
	body.search-results .bricks-layout-item h3 a:hover {
		color: #2d7590 !important;
	}
	/* Cache dates de publication (non-pertinent pour catalogue B2B).
	   Structure Bricks brxe-posts : H3.dynamic + DIV.dynamic (date) + DIV.dynamic (excerpt).
	   Cible le DIV.dynamic juste APRÈS H3 = la date. */
	body.search-results .bricks-layout-item .content-wrapper > h3 + div.dynamic,
	body.search-results .bricks-layout-item .content-wrapper > h2 + div.dynamic,
	body.search-results .bricks-layout-item .brxe-post-meta,
	body.search-results .bricks-layout-item .post-meta,
	body.search-results .bricks-layout-item .entry-date,
	body.search-results .bricks-layout-item .post-date,
	body.search-results .bricks-layout-item time {
		display: none !important;
	}
	/* Excerpt cleanup */
	body.search-results .bricks-layout-item .brxe-post-excerpt,
	body.search-results .bricks-layout-item .post-excerpt,
	body.search-results .bricks-layout-item p {
		font-size: 0.82rem !important;
		color: #5b6770 !important;
		line-height: 1.5 !important;
		margin: 0 0 0.75rem !important;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	/* H1 hero search */
	body.search-results h1 {
		max-width: 1240px;
		margin: 1.5rem auto 0.5rem !important;
		padding: 0 clamp(1rem, 4vw, 2rem);
		font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important;
	}

	/* === Enrichments injectés par JS === */
	.se-sp-meta {
		display: flex !important;
		align-items: center !important;
		gap: 0.5rem !important;
		margin-bottom: 0.5rem !important;
		flex-wrap: wrap !important;
	}
	.se-sp-brand {
		display: inline-flex;
		padding: 0.15rem 0.5rem;
		background: rgba(45, 117, 144, 0.1);
		color: #2d7590;
		font-size: 0.66rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		border-radius: 4px;
	}
	.se-sp-sku {
		font-size: 0.7rem;
		color: #8c98a4;
		font-family: ui-monospace, monospace;
	}
	.se-sp-stock {
		display: inline-flex;
		padding: 0.15rem 0.5rem;
		background: #d1fae5;
		color: #047857;
		font-size: 0.66rem;
		font-weight: 700;
		border-radius: 4px;
		margin-left: auto;
	}
	.se-sp-stock.out { background: #fee2e2; color: #b91c1c; }
	.se-sp-price {
		font-size: 1.05rem;
		font-weight: 800;
		color: #1d2327;
		margin: 0.4rem 0 0.65rem;
	}
	.se-sp-price-req {
		font-size: 0.85rem;
		font-weight: 700;
		color: #2d7590;
		margin: 0.4rem 0 0.65rem;
	}
	.se-sp-cta {
		display: block;
		width: 100%;
		padding: 0.55rem 0.85rem;
		background: #2d7590;
		color: #fff !important;
		border: 1px solid #2d7590;
		border-radius: 8px;
		font-size: 0.82rem;
		font-weight: 700;
		text-align: center;
		text-decoration: none !important;
		cursor: pointer;
		transition: all 0.15s ease;
		margin-top: auto;
	}
	.se-sp-cta:hover {
		background: #1f5d77;
		border-color: #1f5d77;
		color: #fff !important;
	}
	.se-sp-cta.se-sp-cta-secondary {
		background: transparent;
		color: #2d7590 !important;
	}
	.se-sp-cta.se-sp-cta-secondary:hover {
		background: rgba(45,117,144,0.06);
		color: #2d7590 !important;
	}

	/* === ASP LIVE DROPDOWN — COMPACT LIST (override isotope grid 240x240) === */
	.asp_w.asp_r {
		border-radius: 12px !important;
		box-shadow: 0 16px 32px -8px rgba(15, 18, 20, 0.18), 0 4px 8px -2px rgba(15, 18, 20, 0.08) !important;
		border: 1px solid #e4e7ea !important;
		background: #ffffff !important;
		max-height: 70vh !important;
		overflow-y: auto !important;
		padding: 0.35rem !important;
		/* FIX positioning : ASP rendait left:0 top:0 width:240 off-screen */
		min-width: 340px !important;
		width: min(540px, 92vw) !important;
		max-width: 92vw !important;
	}
	/* KILL isotope grid layout - force linear vertical list */
	.asp_w.asp_r.isotopic,
	.asp_w .asp_r.isotopic {
		display: block !important;
	}
	.asp_w .asp_isotopic_item,
	.asp_w .item.asp_isotopic_item,
	.asp_w .item.asp_r_item,
	.asp_w .asp_r_item {
		display: flex !important;
		align-items: center !important;
		gap: 0.7rem !important;
		padding: 0.45rem 0.55rem !important;
		margin: 0 0 0.15rem 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 60px !important;
		position: static !important;
		left: auto !important;
		top: auto !important;
		float: none !important;
		transform: none !important;
		background: transparent !important;
		border: 1px solid transparent !important;
		border-radius: 8px !important;
		transition: background 0.12s ease !important;
		box-sizing: border-box !important;
	}
	.asp_w .asp_isotopic_item:hover,
	.asp_w .item.asp_r_item:hover {
		background: rgba(45, 117, 144, 0.06) !important;
		border-color: rgba(45, 117, 144, 0.15) !important;
	}
	/* Image : smaller 48px thumbnail */
	.asp_w .asp_isotopic_item .asp_image,
	.asp_w .item .asp_image,
	.asp_w .asp_r_item .asp_image {
		flex: 0 0 48px !important;
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
		border-radius: 6px !important;
		background: #fafbfc !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
		position: relative !important;
		padding: 2px !important;
	}
	.asp_w .asp_isotopic_item .asp_image img,
	.asp_w .item .asp_image img,
	.asp_w .asp_r_item .asp_image img {
		max-width: 100% !important;
		max-height: 100% !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
		position: static !important;
		left: auto !important;
		top: auto !important;
	}
	/* Hide the weird "2" badge / category count overlay */
	.asp_w .asp_isotopic_item .asp_content_inner > .asp_content_meta,
	.asp_w .asp_isotopic_item [class*="cat"][class*="count"],
	.asp_w .asp_isotopic_item .asp_label,
	.asp_w .asp_isotopic_item .asp_pageprice {
		display: none !important;
	}
	/* CRITICAL : Kill ASP isotope overlay (carré noir 70x70 qui cache titre) */
	.asp_w .asp_item_overlay,
	.asp_w .asp_item_inner,
	.asp_w .asp_item_overlay_img,
	.asp_w .asp_isotopic_item .asp_item_overlay,
	.asp_w .asp_isotopic_item .asp_item_inner,
	.asp_w .asp_isotopic_item .asp_item_overlay_img {
		display: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
	}
	/* Force show content (was hidden by asp_content_hide_on_overlay) */
	.asp_w .asp_isotopic_item .asp_content,
	.asp_w .asp_isotopic_item .asp_content_hide_on_overlay {
		display: flex !important;
		flex-direction: column !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: static !important;
	}
	/* Content area — CRITICAL : ASP applique bg rgba(0,0,0,0.83) sur .asp_content qui cache le titre.
	   Force bg transparent + dark text on light background. */
	.asp_w .asp_isotopic_item .asp_content,
	.asp_w .asp_isotopic_item .asp_content_hide_on_overlay,
	.asp_w .asp_isotopic_item > div:not(.asp_image),
	.asp_w .item .asp_content {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		max-width: calc(100% - 60px) !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 0.18rem !important;
		text-align: left !important;
		padding: 0 !important;
		position: static !important;
		background: transparent !important;
		background-color: transparent !important;
		color: #1d2327 !important;
	}
	.asp_w .asp_isotopic_item .asp_content *,
	.asp_w .asp_isotopic_item .asp_content_hide_on_overlay * {
		background-color: transparent !important;
		text-shadow: none !important;
	}
	/* Title — VISIBLE dark text on transparent bg */
	.asp_w .asp_isotopic_item h3,
	.asp_w .asp_isotopic_item h2,
	.asp_w .asp_isotopic_item .asp_res_url,
	.asp_w .asp_isotopic_item .asp_res_url *,
	.asp_w .item .asp_res_url {
		display: block !important;
		font-size: 0.86rem !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		color: #1d2327 !important;
		margin: 0 !important;
		padding: 0 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		text-decoration: none !important;
		text-shadow: none !important;
		background: transparent !important;
		background-color: transparent !important;
	}
	.asp_w .asp_isotopic_item h3 a,
	.asp_w .asp_isotopic_item .asp_res_url {
		color: #1d2327 !important;
	}
	.asp_w .asp_isotopic_item:hover h3,
	.asp_w .asp_isotopic_item:hover .asp_res_url {
		color: #2d7590 !important;
	}
	.asp_w .asp_isotopic_item h3 a {
		color: inherit !important;
		text-decoration: none !important;
	}
	.asp_w .asp_isotopic_item .asp_excerpt,
	.asp_w .item .asp_excerpt {
		font-size: 0.7rem !important;
		color: #5b6770 !important;
		line-height: 1.3 !important;
		margin: 0 !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 1 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}
	/* "View all results" footer link */
	.asp_w .asp_v {
		background: #fafbfc !important;
		border-top: 1px solid #e4e7ea !important;
		padding: 0.5rem 0.75rem !important;
		text-align: center !important;
		font-size: 0.75rem !important;
		font-weight: 700 !important;
		color: #2d7590 !important;
		margin-top: 0.5rem !important;
		border-radius: 0 0 8px 8px !important;
	}
	/* Categories filter bar in ASP results */
	.asp_w .asp_filter,
	.asp_w .asp_cf {
		display: none !important;
	}
	.asp_w .item.asp_r_item .asp_image,
	.asp_w .asp_r_item .asp_image {
		flex: 0 0 56px !important;
		width: 56px !important;
		height: 56px !important;
		min-width: 56px !important;
		border-radius: 6px !important;
		background: #fafbfc !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}
	.asp_w .item.asp_r_item .asp_image img,
	.asp_w .asp_r_item .asp_image img {
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
	}
	.asp_w .item.asp_r_item .asp_content,
	.asp_w .asp_r_item .asp_content {
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}
	.asp_w .item.asp_r_item .asp_res_url,
	.asp_w .asp_r_item .asp_res_url {
		display: block !important;
		font-size: 0.85rem !important;
		font-weight: 600 !important;
		color: #1d2327 !important;
		line-height: 1.3 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		text-decoration: none !important;
	}
	.asp_w .item.asp_r_item .asp_excerpt,
	.asp_w .asp_r_item .asp_excerpt {
		font-size: 0.72rem !important;
		color: #5b6770 !important;
		margin-top: 0.15rem !important;
		display: -webkit-box;
		-webkit-line-clamp: 1;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	/* Bottom CTA "View all results" */
	.asp_w .asp_r .asp_v {
		background: linear-gradient(to bottom, #f9fafb, #fff) !important;
		border-top: 2px solid rgba(45, 117, 144, 0.15) !important;
		padding: 0.5rem 0.75rem !important;
		text-align: center !important;
		font-size: 0.75rem !important;
		font-weight: 700 !important;
		color: #2d7590 !important;
	}

	/* === ASP price + cart button enrichment (sx-asp-ext from Bricks footer JS) === */
	.sx-asp-ext {
		display: flex !important;
		align-items: center !important;
		gap: 0.5rem !important;
		margin-top: 0.25rem !important;
		flex-wrap: wrap !important;
	}
	.sx-asp-price {
		font-size: 0.85rem !important;
		font-weight: 800 !important;
		color: #1d2327 !important;
	}
	.sx-asp-price del { color: #94a3b8 !important; font-weight: 500 !important; text-decoration: line-through !important; }
	.sx-asp-price ins { color: #b91c1c !important; text-decoration: none !important; }
	.sx-asp-cart-btn {
		appearance: none !important;
		background: #2d7590 !important;
		color: #fff !important;
		border: none !important;
		border-radius: 6px !important;
		padding: 0.35rem 0.7rem !important;
		font-size: 0.72rem !important;
		font-weight: 700 !important;
		cursor: pointer !important;
		transition: background 0.15s ease !important;
	}
	.sx-asp-cart-btn:hover { background: #1f5d77 !important; }
	.sx-asp-cart-btn.done { background: #047857 !important; }
	.sx-asp-oos {
		font-size: 0.72rem !important;
		color: #b91c1c !important;
		font-weight: 700 !important;
	}

/* === se-service-menu-fix === */
/* ============================================================
	 * Service pages secondary nav bar — clean text menu
	 * Cible le LI dropdown qui avait `bplus__color--primary` teal bg
	 * ============================================================ */
	nav.brxe-nav-nested li.brxe-dropdown.bplus__color--primary,
	nav.brxe-nav-nested li.brxe-dropdown {
		background: transparent !important;
		color: #1d2327 !important;
		padding: 0 !important;
		border-radius: 0 !important;
		font-weight: 600 !important;
	}

	/* Submenu toggle text — clean, not a button */
	nav.brxe-nav-nested .brx-submenu-toggle {
		display: inline-flex !important;
		align-items: center !important;
		gap: 0.4rem !important;
		padding: 0.55rem 0.95rem !important;
		font-size: 0.92rem !important;
		font-weight: 600 !important;
		color: #1d2327 !important;
		cursor: pointer !important;
		border-radius: 8px !important;
		transition: all 0.15s ease !important;
		text-decoration: none !important;
	}
	nav.brxe-nav-nested .brx-submenu-toggle:hover {
		background: rgba(45, 117, 144, 0.08) !important;
		color: #2d7590 !important;
	}
	nav.brxe-nav-nested .brx-submenu-toggle.aria-current,
	nav.brxe-nav-nested .brx-submenu-toggle[aria-expanded="true"] {
		color: #2d7590 !important;
	}

	/* Chevron arrow after submenu trigger */
	nav.brxe-nav-nested .brx-submenu-toggle::after {
		content: '';
		display: inline-block;
		width: 0.55rem;
		height: 0.55rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		margin-left: 0.2rem;
		margin-top: -0.2rem;
		transition: transform 0.18s ease;
	}
	nav.brxe-nav-nested .brx-submenu-toggle[aria-expanded="true"]::after {
		transform: rotate(-135deg);
		margin-top: 0.15rem;
	}

	/* Dropdown content panel */
	nav.brxe-nav-nested .brx-dropdown-content {
		background: #ffffff !important;
		border: 1px solid #e4e7ea !important;
		border-radius: 10px !important;
		box-shadow: 0 16px 32px -8px rgba(15, 18, 20, 0.18), 0 4px 8px -2px rgba(15, 18, 20, 0.06) !important;
		padding: 0.5rem !important;
		min-width: 220px !important;
	}
	nav.brxe-nav-nested .brx-dropdown-content > li,
	nav.brxe-nav-nested .brx-dropdown-content > a {
		list-style: none !important;
	}
	nav.brxe-nav-nested .brx-dropdown-content a {
		display: block !important;
		padding: 0.55rem 0.85rem !important;
		font-size: 0.88rem !important;
		font-weight: 500 !important;
		color: #1d2327 !important;
		text-decoration: none !important;
		border-radius: 6px !important;
		transition: all 0.15s ease !important;
	}
	nav.brxe-nav-nested .brx-dropdown-content a:hover {
		background: rgba(45, 117, 144, 0.08) !important;
		color: #2d7590 !important;
		padding-left: 1rem !important;
	}

	/* Contact link styled as proper CTA */
	nav.brxe-nav-nested a.brxe-text-link[href*="contact"],
	nav.brxe-nav-nested a:not(.brx-submenu-toggle):not(.brx-dropdown-content a)[href*="contact"] {
		display: inline-flex !important;
		align-items: center !important;
		padding: 0.55rem 1.1rem !important;
		background: transparent !important;
		color: #2d7590 !important;
		border: 1.5px solid #2d7590 !important;
		border-radius: 8px !important;
		font-size: 0.88rem !important;
		font-weight: 700 !important;
		text-decoration: none !important;
		transition: all 0.15s ease !important;
	}
	nav.brxe-nav-nested a[href*="contact"]:hover {
		background: #2d7590 !important;
		color: #fff !important;
	}

	/* Nav bar background container — clean white with subtle bottom border */
	nav.brxe-nav-nested {
		background: #ffffff !important;
		border-bottom: 1px solid #e4e7ea !important;
		padding: 0.5rem 0 !important;
	}

	/* Ul list inside nav : flex row gap */
	nav.brxe-nav-nested > ul,
	nav.brxe-nav-nested ul.brxe-nav-nested-items {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 0.25rem !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}

	/* "Sani Express" first-child should push Contact to right edge */
	nav.brxe-nav-nested > ul > li:last-child,
	nav.brxe-nav-nested ul.brxe-nav-nested-items > li:last-child {
		margin-left: auto !important;
	}

	/* Mobile : neutralise — sx-moh menu hamburger handles mobile */
	@media (max-width: 991px) {
		nav.brxe-nav-nested {
			display: none !important;
		}
	}

/* === se-header-desktop-pro === */
/* ============================================================
	 * HEADER DESKTOP (#brx-header) — clean modern layout
	 * Visible uniquement sur ≥992px (sx-moh prend mobile)
	 * ============================================================ */
	@media (min-width: 992px) {
		/* Container header : white bg, subtle shadow, sticky */
		#brx-header {
			background: #ffffff !important;
			box-shadow: 0 1px 0 rgba(15, 18, 20, 0.06), 0 2px 8px -2px rgba(15, 18, 20, 0.04) !important;
			position: sticky !important;
			top: 0 !important;
			z-index: 100 !important;
		}

		/* Top row : logo + search + icons (height confortable 70px) */
		#brx-header > section:first-child,
		#brx-header > .brxe-section:first-child {
			min-height: 70px !important;
			padding: 0.6rem 0 !important;
		}
		#brx-header > section:first-child > .brxe-container {
			max-width: 1280px !important;
			margin: 0 auto !important;
			padding: 0 clamp(1rem, 3vw, 2rem) !important;
			display: flex !important;
			align-items: center !important;
			gap: 1rem !important;
		}

		/* Logo : grow modestly */
		#brx-header img.brxe-image[src*="sani"],
		#brx-header a[href="/"] img {
			max-height: 48px !important;
			width: auto !important;
		}

		/* Search bar dans header desktop : flex-grow + propre */
		#brx-header .asp_w_container,
		#brx-header [class*="asp_w_container"] {
			flex: 1 1 auto !important;
			max-width: 540px !important;
			margin: 0 auto !important;
		}
		#brx-header input.orig[name="phrase"] {
			padding: 0.6rem 2.5rem 0.6rem 1rem !important;
			font-size: 0.92rem !important;
			border: 1.5px solid #e4e7ea !important;
			border-radius: 8px !important;
			background: #fafbfc !important;
			width: 100% !important;
			box-sizing: border-box !important;
			transition: all 0.15s ease !important;
		}
		#brx-header input.orig[name="phrase"]:focus {
			border-color: #2d7590 !important;
			background: #fff !important;
			box-shadow: 0 0 0 3px rgba(45, 117, 144, 0.15) !important;
			outline: none !important;
		}

		/* Icon buttons (user, cart) */
		#brx-header a[href*="account"],
		#brx-header a[href*="panier"],
		#brx-header a[href*="cart"],
		#brx-header [class*="cart-icon"],
		#brx-header [class*="account-icon"] {
			display: inline-flex !important;
			align-items: center !important;
			justify-content: center !important;
			width: 42px !important;
			height: 42px !important;
			border-radius: 8px !important;
			color: #1d2327 !important;
			transition: background 0.15s ease, color 0.15s ease !important;
		}
		#brx-header a[href*="account"]:hover,
		#brx-header a[href*="panier"]:hover,
		#brx-header a[href*="cart"]:hover {
			background: rgba(45, 117, 144, 0.08) !important;
			color: #2d7590 !important;
		}

		/* ============================================================
		 * Secondary nav row — clean text menu, no carré teal
		 * Override toute LI dropdown qui aurait bg primary
		 * ============================================================ */
		#brx-header nav.brxe-nav-nested,
		#brx-header > section:nth-child(2) {
			background: #f4f6f8 !important;
			border-bottom: 1px solid #e4e7ea !important;
			padding: 0.4rem 0 !important;
		}
		#brx-header nav.brxe-nav-nested .brxe-container,
		#brx-header > section:nth-child(2) .brxe-container {
			max-width: 1280px !important;
			margin: 0 auto !important;
			padding: 0 clamp(1rem, 3vw, 2rem) !important;
		}
		#brx-header nav.brxe-nav-nested ul,
		#brx-header nav.brxe-nav-nested .brxe-nav-nested-items {
			display: flex !important;
			align-items: center !important;
			gap: 0.25rem !important;
			padding: 0 !important;
			margin: 0 !important;
			list-style: none !important;
		}
		/* Override TOUTE LI dropdown teal bg (bplus__color--primary) */
		#brx-header li.brxe-dropdown,
		#brx-header li.brxe-dropdown.bplus__color--primary {
			background: transparent !important;
			border-radius: 0 !important;
			padding: 0 !important;
		}
		/* Submenu toggle text propre */
		#brx-header .brx-submenu-toggle {
			display: inline-flex !important;
			align-items: center !important;
			gap: 0.35rem !important;
			padding: 0.5rem 0.85rem !important;
			font-size: 0.88rem !important;
			font-weight: 600 !important;
			color: #1d2327 !important;
			cursor: pointer !important;
			border-radius: 6px !important;
			transition: all 0.12s ease !important;
			background: transparent !important;
		}
		#brx-header .brx-submenu-toggle:hover {
			background: rgba(45, 117, 144, 0.1) !important;
			color: #2d7590 !important;
		}
		#brx-header .brx-submenu-toggle::after {
			content: '';
			display: inline-block;
			width: 0.5rem;
			height: 0.5rem;
			border-right: 1.5px solid currentColor;
			border-bottom: 1.5px solid currentColor;
			transform: rotate(45deg);
			margin-left: 0.2rem;
			margin-top: -0.2rem;
			transition: transform 0.15s ease;
		}
		#brx-header .brx-submenu-toggle[aria-expanded="true"]::after {
			transform: rotate(-135deg);
			margin-top: 0.1rem;
		}

		/* Contact link as outline button */
		#brx-header > section:nth-child(2) a[href*="contact"]:not(.brx-submenu-toggle),
		#brx-header > section:nth-child(2) ul > li:last-child a {
			padding: 0.5rem 1rem !important;
			border: 1.5px solid #2d7590 !important;
			color: #2d7590 !important;
			border-radius: 6px !important;
			font-weight: 700 !important;
			font-size: 0.85rem !important;
			text-decoration: none !important;
			margin-left: auto !important;
			transition: all 0.15s ease !important;
		}
		#brx-header > section:nth-child(2) a[href*="contact"]:hover {
			background: #2d7590 !important;
			color: #fff !important;
		}

		/* Push last menu item right (contact CTA) */
		#brx-header nav.brxe-nav-nested ul > li:last-child {
			margin-left: auto !important;
		}
	}

	/* ============================================================
	 * Dropdown panel scrollable (forced for ALL viewports)
	 * Override le se-desktop-menu-pro.php max-height
	 * ============================================================ */
	.brx-dropdown-content {
		max-height: min(70vh, 600px) !important;
		overflow-y: auto !important;
		overscroll-behavior: contain !important;
		-webkit-overflow-scrolling: touch !important;
	}
	/* Smooth scroll inside dropdown */
	.brx-dropdown-content { scroll-behavior: smooth !important; }
	/* Scrollbar slim */
	.brx-dropdown-content::-webkit-scrollbar { width: 6px; }
	.brx-dropdown-content::-webkit-scrollbar-track { background: #f4f6f8; border-radius: 4px; }
	.brx-dropdown-content::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #c7d0d4, #a0aaaf); border-radius: 4px; }
	.brx-dropdown-content::-webkit-scrollbar-thumb:hover { background: #2d7590; }

	/* When dropdown is open, prevent body scroll lock */
	body.brx-dropdown-open { overflow: auto !important; }

/* === se-header-2029 === */
/* ============================================================
	 * DESIGN TOKENS
	 * ============================================================ */
	:root {
		--se-h-teal: #2d7590;
		--se-h-teal-dark: #1f5d77;
		--se-h-teal-light: #3a9bb8;
		--se-h-ink: #0f1214;
		--se-h-text: #1d2327;
		--se-h-muted: #5b6770;
		--se-h-border: #e4e7ea;
		--se-h-bg: #ffffff;
		--se-h-bg-soft: #fafbfc;
		--se-h-shadow-sm: 0 1px 2px rgba(15,18,20,0.04);
		--se-h-shadow-md: 0 4px 12px -2px rgba(15,18,20,0.08), 0 2px 4px rgba(15,18,20,0.04);
		--se-h-shadow-lg: 0 12px 32px -8px rgba(15,18,20,0.16), 0 4px 8px -2px rgba(15,18,20,0.06);
		--se-h-radius: 10px;
		--se-h-radius-sm: 6px;
	}

	/* ============================================================
	 * DESKTOP HEADER (#brx-header) — ≥ 992px
	 * ============================================================ */
	@media (min-width: 992px) {
		/* Container : glassmorphism sticky */
		#brx-header {
			background: rgba(255, 255, 255, 0.96) !important;
			-webkit-backdrop-filter: saturate(180%) blur(14px) !important;
			backdrop-filter: saturate(180%) blur(14px) !important;
			box-shadow: var(--se-h-shadow-sm) !important;
			border-bottom: 1px solid var(--se-h-border) !important;
			position: sticky !important;
			top: 0 !important;
			z-index: 1000 !important;
			transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease !important;
		}
		#brx-header.se-h-scrolled {
			box-shadow: var(--se-h-shadow-md) !important;
		}
		#brx-header.se-h-hidden {
			transform: translateY(-100%) !important;
		}

		/* Top section : logo + search + icons */
		#brx-header > section:first-of-type,
		#brx-header > .brxe-section:first-of-type {
			background: transparent !important;
			min-height: 72px !important;
			padding: 0.65rem 0 !important;
			border: none !important;
		}
		#brx-header > section:first-of-type > .brxe-container {
			max-width: 1320px !important;
			margin: 0 auto !important;
			padding: 0 clamp(1rem, 3vw, 2rem) !important;
			display: flex !important;
			align-items: center !important;
			gap: 1.25rem !important;
		}

		/* Logo */
		#brx-header img.brxe-image[src*="sani"],
		#brx-header a[href="/"] img,
		#brx-header a[href*="//www.saniexpress.ca/"] img:first-child {
			max-height: 46px !important;
			width: auto !important;
			object-fit: contain !important;
			flex-shrink: 0 !important;
		}

		/* Search bar : prominent, focus glow.
		   IMPORTANT : Bricks rend plusieurs instances ASP (asp_w_container_1_1, _1_2, etc).
		   On garde la PREMIÈRE visible et on hide les autres pour éviter le 'double piton recherche'. */
		#brx-header .asp_w_container ~ .asp_w_container,
		#brx-header .asp_w_container ~ [class*="asp_w_container"],
		#brx-header [class*="asp_w_container"]:nth-of-type(n+2) {
			display: none !important;
		}
		#brx-header .asp_w_container:first-of-type,
		#brx-header [class*="asp_w_container"]:first-of-type {
			flex: 1 1 auto !important;
			max-width: 560px !important;
			margin: 0 auto !important;
			display: block !important;
		}
		/* Hide DUPLICATE Contact link (Bricks renders 2 — keep CTA primary only) */
		#brx-header a.brxe-text-link.bplus__color--secondary[href*="contact"] {
			display: none !important;
		}
		/* Hide standalone search icon buttons (other than ASP magnifier inside the bar) */
		#brx-header a[href*="?s="]:not(.asp_res_url),
		#brx-header button[aria-label*="echerch"]:not(.promagnifier),
		#brx-header button[aria-label*="earch"]:not(.promagnifier),
		#brx-header .brxe-search:not(.asp_w_container),
		#brx-header [class*="-search-toggle"],
		#brx-header [class*="search-trigger"],
		/* AGGRESSIVE : hide any standalone search/magnifier icon NOT inside the search bar */
		#brx-header svg[class*="search"]:not(.asp_w_container svg):not(.asp_w_container *),
		#brx-header i.fa-search:not(.asp_w_container i):not(.asp_w_container *),
		#brx-header i.fa-magnifying-glass:not(.asp_w_container *),
		#brx-header a[aria-label*="echerch"]:not(.promagnifier):not(.asp_w_container *),
		#brx-header a[aria-label*="earch"]:not(.promagnifier):not(.asp_w_container *) {
			display: none !important;
		}
		#brx-header input.orig[name="phrase"] {
			padding: 0.65rem 2.8rem 0.65rem 1.1rem !important;
			font-size: 0.94rem !important;
			line-height: 1.4 !important;
			border: 1.5px solid var(--se-h-border) !important;
			border-radius: var(--se-h-radius) !important;
			background: var(--se-h-bg-soft) !important;
			width: 100% !important;
			box-sizing: border-box !important;
			color: var(--se-h-text) !important;
			transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
		}
		#brx-header input.orig[name="phrase"]:hover {
			border-color: var(--se-h-teal-light) !important;
		}
		#brx-header input.orig[name="phrase"]:focus {
			border-color: var(--se-h-teal) !important;
			background: #fff !important;
			box-shadow: 0 0 0 3px rgba(45, 117, 144, 0.14) !important;
			outline: none !important;
		}
		#brx-header input.orig[name="phrase"]::placeholder {
			color: var(--se-h-muted) !important;
			font-size: 0.9rem !important;
		}

		/* Search submit icon button */
		#brx-header .promagnifier,
		#brx-header .probox button[type="submit"] {
			background: transparent !important;
			color: var(--se-h-muted) !important;
			right: 0.5rem !important;
			top: 50% !important;
			transform: translateY(-50%) !important;
			position: absolute !important;
		}
		#brx-header .promagnifier:hover { color: var(--se-h-teal) !important; }

		/* Icon buttons (account, cart) — modern square pill, CONSISTENT 44x44 */
		#brx-header a[href*="account"],
		#brx-header a[href*="mon-compte"],
		#brx-header a[href*="acces-client"],
		#brx-header a[href*="panier"],
		#brx-header a[href*="cart"],
		#brx-header .brxe-woocommerce-mini-cart,
		#brx-header .brxe-woocommerce-mini-cart > a,
		#brx-header .mini-cart-link {
			display: inline-flex !important;
			align-items: center !important;
			justify-content: center !important;
			position: relative !important;
			width: 44px !important;
			height: 44px !important;
			border-radius: var(--se-h-radius-sm) !important;
			color: var(--se-h-text) !important;
			background: transparent !important;
			transition: all 0.15s ease !important;
			flex-shrink: 0 !important;
			padding: 0 !important;
		}
		#brx-header a[href*="account"]:hover,
		#brx-header a[href*="mon-compte"]:hover,
		#brx-header a[href*="acces-client"]:hover,
		#brx-header a[href*="panier"]:hover,
		#brx-header a[href*="cart"]:hover,
		#brx-header .brxe-woocommerce-mini-cart:hover,
		#brx-header .mini-cart-link:hover {
			background: rgba(45, 117, 144, 0.08) !important;
			color: var(--se-h-teal) !important;
			transform: translateY(-1px) !important;
		}

		/* Force icon SIZE consistent : 24px inside 44px button */
		#brx-header a[href*="acces-client"] i.fa,
		#brx-header a[href*="acces-client"] .brxe-icon,
		#brx-header .brxe-woocommerce-mini-cart svg,
		#brx-header .brxe-woocommerce-mini-cart i,
		#brx-header .brxe-woocommerce-mini-cart .cart-icon {
			font-size: 22px !important;
			width: 22px !important;
			height: 22px !important;
			line-height: 22px !important;
			color: inherit !important;
		}
		#brx-header .brxe-woocommerce-mini-cart .cart-icon-counter,
		#brx-header .brxe-woocommerce-mini-cart .count {
			position: absolute !important;
			top: 6px !important;
			right: 6px !important;
			background: #dc2626 !important;
			color: #fff !important;
			font-size: 0.65rem !important;
			font-weight: 800 !important;
			min-width: 18px !important;
			height: 18px !important;
			padding: 0 4px !important;
			border-radius: 9px !important;
			display: inline-flex !important;
			align-items: center !important;
			justify-content: center !important;
			line-height: 1 !important;
		}

		/* Hide standalone "Mon compte" text-only link if accompanied by icon */
		#brx-header a[href*="mon-compte"]:not(:has(i, svg, img)) {
			display: none !important;
		}

		/* Cart count badge */
		.se-h-cart-count {
			position: absolute !important;
			top: 4px !important;
			right: 4px !important;
			background: #dc2626 !important;
			color: #fff !important;
			font-size: 0.65rem !important;
			font-weight: 800 !important;
			min-width: 18px !important;
			height: 18px !important;
			padding: 0 4px !important;
			border-radius: 9px !important;
			display: inline-flex !important;
			align-items: center !important;
			justify-content: center !important;
			line-height: 1 !important;
		}
		.se-h-cart-count:empty,
		.se-h-cart-count[data-count="0"] {
			display: none !important;
		}

		/* ============================================================
		 * Secondary nav : nav + Contact CTA propre
		 * ============================================================ */
		#brx-header > section:nth-of-type(2),
		#brx-header nav.brxe-nav-nested {
			background: rgba(250, 251, 252, 0.7) !important;
			border-top: 1px solid var(--se-h-border) !important;
			border-bottom: none !important;
			padding: 0.35rem 0 !important;
			-webkit-backdrop-filter: blur(8px) !important;
			backdrop-filter: blur(8px) !important;
		}
		#brx-header > section:nth-of-type(2) > .brxe-container {
			max-width: 1320px !important;
			margin: 0 auto !important;
			padding: 0 clamp(1rem, 3vw, 2rem) !important;
		}

		/* Nav ul flex row */
		#brx-header nav.brxe-nav-nested ul,
		#brx-header nav.brxe-nav-nested .brxe-nav-nested-items {
			display: flex !important;
			align-items: center !important;
			gap: 0.15rem !important;
			padding: 0 !important;
			margin: 0 !important;
			list-style: none !important;
		}

		/* Override teal carré on LI dropdown */
		#brx-header li.brxe-dropdown,
		#brx-header li.brxe-dropdown.bplus__color--primary,
		#brx-header li.brxe-dropdown.bplus__body--text,
		#brx-header li {
			background: transparent !important;
			border-radius: 0 !important;
			padding: 0 !important;
			color: var(--se-h-text) !important;
		}

		/* Submenu toggle pill */
		#brx-header .brx-submenu-toggle {
			display: inline-flex !important;
			align-items: center !important;
			gap: 0.4rem !important;
			padding: 0.5rem 0.9rem !important;
			font-size: 0.89rem !important;
			font-weight: 600 !important;
			color: var(--se-h-text) !important;
			cursor: pointer !important;
			border-radius: var(--se-h-radius-sm) !important;
			transition: all 0.15s ease !important;
			background: transparent !important;
			text-decoration: none !important;
			border: none !important;
			letter-spacing: -0.005em !important;
		}
		#brx-header .brx-submenu-toggle:hover {
			background: rgba(45, 117, 144, 0.1) !important;
			color: var(--se-h-teal) !important;
		}
		#brx-header .brx-submenu-toggle[aria-expanded="true"] {
			background: rgba(45, 117, 144, 0.12) !important;
			color: var(--se-h-teal) !important;
		}
		/* No ::after chevron — Bricks renders its own SVG chevron in <button> child */
		#brx-header .brx-submenu-toggle::after { content: none !important; display: none !important; }
		/* Style the Bricks chevron <svg> properly */
		#brx-header .brx-submenu-toggle > button {
			background: transparent !important;
			border: none !important;
			padding: 0 0 0 0.15rem !important;
			margin: 0 !important;
			cursor: pointer !important;
			display: inline-flex !important;
			align-items: center !important;
		}
		#brx-header .brx-submenu-toggle > button svg {
			width: 12px !important;
			height: 12px !important;
			stroke: currentColor !important;
			fill: none !important;
			transition: transform 0.18s ease !important;
		}
		#brx-header .brx-submenu-toggle[aria-expanded="true"] > button svg {
			transform: rotate(180deg) !important;
		}

		/* Simple nav links */
		#brx-header nav.brxe-nav-nested a:not(.brx-submenu-toggle):not(.se-h-contact) {
			display: inline-flex !important;
			align-items: center !important;
			padding: 0.5rem 0.9rem !important;
			font-size: 0.89rem !important;
			font-weight: 500 !important;
			color: var(--se-h-text) !important;
			text-decoration: none !important;
			border-radius: var(--se-h-radius-sm) !important;
			transition: all 0.15s ease !important;
		}
		#brx-header nav.brxe-nav-nested a:not(.brx-submenu-toggle):hover {
			background: rgba(45, 117, 144, 0.08) !important;
			color: var(--se-h-teal) !important;
		}

		/* Hide empty menu items (.menu-item with no text content) */
		#brx-header nav.brxe-nav-nested li.menu-item:empty,
		#brx-header nav.brxe-nav-nested li:has(> a:empty:not([href*="contact"])) {
			display: none !important;
		}

		/* Contact CTA : cible PRÉCISÉMENT les liens vers /contact/ pour éviter
		   d'appliquer le style gradient à des LIs vides */
		#brx-header > section:nth-of-type(2) a[href*="/contact/"]:not(.brx-submenu-toggle),
		#brx-header nav.brxe-nav-nested a[href*="/contact/"]:not(.brx-submenu-toggle) {
			padding: 0.55rem 1.25rem !important;
			background: linear-gradient(135deg, var(--se-h-teal) 0%, var(--se-h-teal-light) 100%) !important;
			color: #fff !important;
			border: none !important;
			border-radius: var(--se-h-radius-sm) !important;
			font-weight: 700 !important;
			font-size: 0.88rem !important;
			text-decoration: none !important;
			box-shadow: 0 2px 8px -2px rgba(45, 117, 144, 0.45) !important;
			transition: all 0.2s ease !important;
			letter-spacing: 0.01em !important;
			margin-left: auto !important;
		}
		#brx-header > section:nth-of-type(2) a[href*="/contact/"]:hover,
		#brx-header nav.brxe-nav-nested a[href*="/contact/"]:hover {
			background: linear-gradient(135deg, var(--se-h-teal-dark) 0%, var(--se-h-teal) 100%) !important;
			color: #fff !important;
			transform: translateY(-1px) !important;
			box-shadow: 0 6px 16px -3px rgba(45, 117, 144, 0.55) !important;
		}
		/* Push the parent LI of Contact to right */
		#brx-header nav.brxe-nav-nested li:has(> a[href*="/contact/"]) {
			margin-left: auto !important;
		}
	}

	/* ============================================================
	 * Dropdown panel : modern card with smooth animation
	 * ============================================================ */
	.brx-dropdown-content {
		background: #ffffff !important;
		border: 1px solid var(--se-h-border) !important;
		border-radius: 14px !important;
		box-shadow: var(--se-h-shadow-lg) !important;
		padding: 0.85rem !important;
		min-width: 340px !important;
		max-width: 380px !important;
		max-height: min(72vh, 640px) !important;
		overflow-y: auto !important;
		overscroll-behavior: contain !important;
		scroll-behavior: smooth !important;
		margin-top: 0.4rem !important;
		animation: seHDropIn 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
		/* ONE clean vertical column — pas de grid bizarre */
		display: flex !important;
		flex-direction: column !important;
		gap: 0.1rem !important;
	}
	/* KILL all borders/outlines on items inside dropdown */
	.brx-dropdown-content *,
	.brx-dropdown-content a,
	.brx-dropdown-content li,
	.brx-dropdown-content button {
		border: none !important;
		outline: none !important;
		box-shadow: none !important;
		background-image: none !important;
	}
	.brx-dropdown-content a:focus-visible {
		box-shadow: inset 0 0 0 2px var(--se-h-teal) !important;
	}
	@keyframes seHDropIn {
		from { opacity: 0; transform: translateY(-6px); }
		to { opacity: 1; transform: translateY(0); }
	}
	.brx-dropdown-content::-webkit-scrollbar { width: 5px; }
	.brx-dropdown-content::-webkit-scrollbar-track { background: transparent; }
	.brx-dropdown-content::-webkit-scrollbar-thumb { background: rgba(199, 208, 212, 0.6); border-radius: 4px; }
	.brx-dropdown-content::-webkit-scrollbar-thumb:hover { background: var(--se-h-teal) !important; }

	/* Dropdown items */
	.brx-dropdown-content a:not(.se-dm-cta) {
		display: block !important;
		padding: 0.45rem 0.7rem !important;
		font-size: 0.85rem !important;
		font-weight: 500 !important;
		color: var(--se-h-text) !important;
		text-decoration: none !important;
		border-radius: var(--se-h-radius-sm) !important;
		transition: all 0.12s ease !important;
		line-height: 1.35 !important;
	}
	.brx-dropdown-content a:not(.se-dm-cta):hover {
		background: rgba(45, 117, 144, 0.08) !important;
		color: var(--se-h-teal) !important;
		padding-left: 0.95rem !important;
	}

	/* CTA "Magasiner en ligne" hero */
	.brx-dropdown-content .se-dm-cta {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0.5rem !important;
		padding: 0.75rem 1rem !important;
		margin: 0 0 0.7rem !important;
		background: linear-gradient(135deg, var(--se-h-teal) 0%, var(--se-h-teal-light) 100%) !important;
		color: #fff !important;
		font-size: 0.92rem !important;
		font-weight: 700 !important;
		text-decoration: none !important;
		border-radius: var(--se-h-radius) !important;
		box-shadow: 0 4px 12px -3px rgba(45, 117, 144, 0.4) !important;
		transition: all 0.18s ease !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 2 !important;
		grid-column: 1 / -1 !important;
		letter-spacing: 0.005em !important;
	}
	.brx-dropdown-content .se-dm-cta:hover {
		background: linear-gradient(135deg, var(--se-h-teal-dark) 0%, var(--se-h-teal) 100%) !important;
		transform: translateY(-1px) !important;
		box-shadow: 0 8px 20px -4px rgba(45, 117, 144, 0.5) !important;
		color: #fff !important;
		padding-left: 1rem !important;
	}

	/* Group labels */
	.brx-dropdown-content .se-dm-group-label {
		grid-column: 1 / -1 !important;
		font-size: 0.68rem !important;
		font-weight: 800 !important;
		color: var(--se-h-muted) !important;
		letter-spacing: 0.1em !important;
		text-transform: uppercase !important;
		padding: 0.55rem 0.7rem 0.25rem !important;
		margin-top: 0.4rem !important;
		border-top: 1px solid var(--se-h-border) !important;
		pointer-events: none !important;
	}
	.brx-dropdown-content .se-dm-group-label:first-of-type {
		border-top: none !important;
		margin-top: 0 !important;
	}

	/* Mobile : neutralise (sx-moh handle) */
	@media (max-width: 991px) {
		.brx-dropdown-content {
			min-width: 0 !important;
			max-width: 100% !important;
		}
	}

/* === se-configurateur === */
.se-cfg-wrap {
		max-width: 1280px;
		margin: 2.5rem auto 0;
		padding: 0 clamp(1rem, 4vw, 2rem);
	}
	.se-cfg-card {
		background: linear-gradient(135deg, #fafbfc 0%, #ffffff 60%);
		border: 1px solid rgba(15, 18, 20, 0.08);
		border-radius: 18px;
		padding: 2rem 1.75rem;
		box-shadow: 0 4px 16px -4px rgba(15, 18, 20, 0.06);
	}
	.se-cfg-eyebrow {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		padding: 0.25rem 0.75rem;
		background: rgba(45, 117, 144, 0.1);
		color: #2d7590;
		font-size: 0.72rem;
		font-weight: 800;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		border-radius: 999px;
		margin-bottom: 0.85rem;
	}
	.se-cfg-eyebrow::before {
		content: '';
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: linear-gradient(135deg, #2d7590, #3a9bb8);
	}
	.se-cfg-title {
		font-size: clamp(1.4rem, 2.4vw, 1.85rem);
		font-weight: 800;
		color: #1d2327;
		margin: 0 0 0.5rem;
		letter-spacing: -0.015em;
		line-height: 1.2;
	}
	.se-cfg-sub {
		font-size: 0.95rem;
		color: #5b6770;
		margin: 0 0 1.5rem;
		line-height: 1.5;
	}
	.se-cfg-step {
		margin-bottom: 1.3rem;
		display: none;
	}
	.se-cfg-step.is-active {
		display: block;
		animation: seCfgFadeIn 0.3s ease;
	}
	@keyframes seCfgFadeIn {
		from { opacity: 0; transform: translateY(8px); }
		to { opacity: 1; transform: translateY(0); }
	}
	.se-cfg-step-label {
		font-size: 0.78rem;
		font-weight: 800;
		color: #8c98a4;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		margin-bottom: 0.6rem;
	}
	.se-cfg-step-q {
		font-size: 1.05rem;
		font-weight: 700;
		color: #1d2327;
		margin: 0 0 0.85rem;
	}
	.se-cfg-options {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
		gap: 0.55rem;
	}
	.se-cfg-option {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.4rem;
		padding: 1rem 0.7rem;
		background: #ffffff;
		border: 2px solid #e4e7ea;
		border-radius: 12px;
		cursor: pointer;
		font-family: inherit;
		font-size: 0.9rem;
		font-weight: 600;
		color: #1d2327;
		text-align: center;
		transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
	}
	.se-cfg-option:hover {
		border-color: #2d7590;
		background: rgba(45, 117, 144, 0.04);
		transform: translateY(-2px);
		box-shadow: 0 8px 16px -6px rgba(45, 117, 144, 0.18);
	}
	.se-cfg-option.is-selected {
		border-color: #2d7590;
		background: linear-gradient(135deg, rgba(45, 117, 144, 0.08), rgba(58, 155, 184, 0.04));
		color: #2d7590;
	}
	.se-cfg-option-emoji {
		font-size: 1.85rem;
		line-height: 1;
	}
	.se-cfg-progress {
		display: flex;
		gap: 4px;
		margin-bottom: 1.2rem;
	}
	.se-cfg-dot {
		flex: 1 1 auto;
		height: 4px;
		border-radius: 2px;
		background: #e4e7ea;
		transition: background 0.2s ease;
	}
	.se-cfg-dot.is-active { background: linear-gradient(90deg, #2d7590, #3a9bb8); }
	.se-cfg-actions {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		margin-top: 0.5rem;
	}
	.se-cfg-back {
		background: transparent;
		border: none;
		color: #5b6770;
		font-size: 0.88rem;
		font-weight: 600;
		cursor: pointer;
		padding: 0.5rem 0.85rem;
		border-radius: 6px;
		transition: all 0.15s ease;
	}
	.se-cfg-back:hover { background: #f4f6f8; color: #1d2327; }
	.se-cfg-submit {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.85rem 1.5rem;
		background: linear-gradient(135deg, #2d7590, #3a9bb8);
		color: #fff !important;
		border: none;
		border-radius: 10px;
		font-size: 0.95rem;
		font-weight: 800;
		text-decoration: none !important;
		cursor: pointer;
		box-shadow: 0 4px 14px -3px rgba(45, 117, 144, 0.45);
		transition: all 0.18s ease;
	}
	.se-cfg-submit:hover {
		background: linear-gradient(135deg, #1f5d77, #2d7590);
		transform: translateY(-1px);
		box-shadow: 0 8px 20px -3px rgba(45, 117, 144, 0.55);
		color: #fff !important;
	}
	.se-cfg-summary {
		background: #fafbfc;
		border-left: 3px solid #2d7590;
		border-radius: 0 10px 10px 0;
		padding: 0.85rem 1.1rem;
		margin-top: 1rem;
		font-size: 0.88rem;
		color: #1d2327;
		line-height: 1.5;
	}
	.se-cfg-summary strong { color: #2d7590; font-weight: 700; }

/* === se-mega-menu-pro === */
/* ============================================================
	 * NAV SIMPLIFIÉ — Jeremy demande moins de trucs
	 * Hide la totalité du dropdown "Sani Express" (mega menu trop)
	 * Garde uniquement les links directs : Boutique, Services, Secteurs, Contact
	 * ============================================================ */
	#brx-header li.brxe-dropdown,
	#brx-header .brx-submenu-toggle,
	#brx-header .brx-dropdown-content,
	#brx-header .brx-has-megamenu {
		display: none !important;
	}

	/* OLD : Override .brx-dropdown-content avec layout structuré 4-col — désactivé */
	.brx-dropdown-content { display: none !important; }

	.brx-dropdown-content.se-mm-ready {
		display: block !important;
		position: absolute !important;
		background: #ffffff !important;
		border: 1px solid rgba(15, 18, 20, 0.06) !important;
		border-radius: 18px !important;
		box-shadow:
			0 32px 64px -16px rgba(15, 18, 20, 0.22),
			0 12px 24px -8px rgba(15, 18, 20, 0.10),
			0 0 0 1px rgba(15, 18, 20, 0.04) !important;
		padding: 0 !important;
		min-width: 1180px !important;
		width: min(1280px, calc(100vw - 32px)) !important;
		max-width: 1280px !important;
		max-height: min(82vh, 720px) !important;
		overflow: hidden !important;
		margin-top: 0.65rem !important;
		animation: seMMIn 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
		transform-origin: top left !important;
		z-index: 999999 !important;
		/* Auto-position : si déborde à droite, aligne à droite */
		right: auto !important;
	}
	@keyframes seMMIn {
		from { opacity: 0; transform: translateY(-10px) scale(0.97); }
		to   { opacity: 1; transform: translateY(0) scale(1); }
	}

	/* === Banner CTA top — gradient riche === */
	.se-mm-banner {
		background:
			radial-gradient(ellipse at top right, rgba(58, 155, 184, 0.4), transparent 60%),
			linear-gradient(135deg, #1d2327 0%, #2d7590 50%, #3a9bb8 100%);
		padding: 1.1rem 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1.25rem;
		position: relative;
		overflow: hidden;
	}
	.se-mm-banner::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 1px;
		background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
	}
	.se-mm-banner-text {
		color: #fff;
		font-size: 0.98rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: -0.005em;
	}
	.se-mm-banner-text small {
		display: block;
		font-size: 0.78rem;
		font-weight: 500;
		opacity: 0.85;
		margin-top: 0.2rem;
		letter-spacing: 0;
	}
	.se-mm-banner-btn {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.7rem 1.35rem;
		background: #ffffff;
		color: #1d2327 !important;
		font-size: 0.92rem;
		font-weight: 800;
		text-decoration: none !important;
		border-radius: 10px;
		box-shadow: 0 8px 20px -6px rgba(0, 0, 0, 0.35);
		transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
		white-space: nowrap;
		letter-spacing: -0.005em;
	}
	.se-mm-banner-btn:hover {
		background: #1d2327;
		color: #ffffff !important;
		transform: translateY(-2px) scale(1.02);
		box-shadow: 0 14px 28px -8px rgba(0, 0, 0, 0.45);
	}
	.se-mm-banner-btn svg {
		width: 18px;
		height: 18px;
		transition: transform 0.2s ease;
	}
	.se-mm-banner-btn:hover svg { transform: translateX(3px); }

	/* === Grid 4 colonnes === */
	.se-mm-grid {
		display: grid;
		grid-template-columns: 1.15fr 1fr 1fr 0.9fr;
		gap: 0;
		padding: 1.35rem 0.5rem 1.1rem;
	}
	.se-mm-col {
		padding: 0 1.05rem;
		position: relative;
	}
	.se-mm-col:not(:last-child)::after {
		content: '';
		position: absolute;
		top: 0.4rem;
		bottom: 0.4rem;
		right: 0;
		width: 1px;
		background: linear-gradient(180deg, transparent, rgba(15, 18, 20, 0.08) 20%, rgba(15, 18, 20, 0.08) 80%, transparent);
	}
	.se-mm-col-head {
		display: flex;
		align-items: center;
		gap: 0.45rem;
		font-size: 0.7rem;
		font-weight: 800;
		color: #8c98a4;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		margin: 0 0 0.7rem;
		padding: 0 0.4rem;
		line-height: 1.2;
	}
	.se-mm-col-head-dot {
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: linear-gradient(135deg, #2d7590, #3a9bb8);
		flex-shrink: 0;
	}

	.se-mm-item {
		display: flex !important;
		align-items: center !important;
		gap: 0.6rem !important;
		padding: 0.5rem 0.55rem !important;
		font-size: 0.875rem !important;
		font-weight: 500 !important;
		color: #1d2327 !important;
		text-decoration: none !important;
		border-radius: 8px !important;
		transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1) !important;
		line-height: 1.3 !important;
		letter-spacing: -0.005em !important;
		position: relative;
	}
	.se-mm-item:hover {
		background: linear-gradient(90deg, rgba(45, 117, 144, 0.1), rgba(45, 117, 144, 0.04)) !important;
		color: #1f5d77 !important;
		transform: translateX(2px) !important;
	}
	.se-mm-emoji {
		font-size: 1.05rem;
		flex-shrink: 0;
		width: 22px;
		text-align: center;
		filter: saturate(1.1);
	}
	.se-mm-item-text {
		flex: 1 1 auto;
		min-width: 0;
		/* Allow up to 2 lines wrap for long items (ex. 'Conciergerie institutionnelle') */
		display: -webkit-box;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		word-break: normal;
		overflow-wrap: break-word;
	}
	.se-mm-item-count {
		flex: 0 0 auto;
		font-size: 0.7rem;
		color: #8c98a4;
		font-variant-numeric: tabular-nums;
		font-weight: 700;
		background: #f4f6f8;
		padding: 0.1rem 0.4rem;
		border-radius: 4px;
		transition: all 0.15s ease;
	}
	.se-mm-item:hover .se-mm-item-count {
		background: rgba(45, 117, 144, 0.15);
		color: #2d7590;
	}

	/* === Footer trust bar === */
	.se-mm-footer {
		background: linear-gradient(180deg, #fafbfc 0%, #f4f6f8 100%);
		border-top: 1px solid rgba(15, 18, 20, 0.06);
		padding: 0.75rem 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		font-size: 0.8rem;
	}
	.se-mm-footer-info {
		color: #5b6770;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		flex-wrap: wrap;
	}
	.se-mm-footer-info strong {
		color: #1d2327;
		font-weight: 700;
	}
	.se-mm-footer-divider {
		color: #cbd5da;
	}
	.se-mm-footer-tag {
		display: inline-flex;
		align-items: center;
		gap: 0.3rem;
		padding: 0.18rem 0.5rem;
		background: rgba(45, 117, 144, 0.1);
		color: #2d7590;
		border-radius: 4px;
		font-size: 0.7rem;
		font-weight: 700;
		letter-spacing: 0.03em;
	}
	.se-mm-footer-actions {
		display: flex;
		gap: 0.85rem;
		align-items: center;
	}
	.se-mm-footer-link {
		color: #2d7590 !important;
		font-weight: 700 !important;
		text-decoration: none !important;
		transition: color 0.15s ease;
		display: inline-flex;
		align-items: center;
		gap: 0.25rem;
	}
	.se-mm-footer-link:hover { color: #1f5d77 !important; }

	/* === Mobile fallback === */
	@media (max-width: 991px) {
		.brx-dropdown-content.se-mm-ready,
		.brx-dropdown-content {
			min-width: 0 !important;
			max-width: 100% !important;
		}
		.se-mm-grid {
			grid-template-columns: 1fr;
			padding: 1rem 0.5rem;
		}
		.se-mm-col {
			padding: 0.5rem 0.65rem;
		}
		.se-mm-col:not(:last-child)::after {
			top: auto;
			bottom: 0;
			left: 0.65rem;
			right: 0.65rem;
			width: auto;
			height: 1px;
			background: linear-gradient(90deg, transparent, rgba(15,18,20,0.08), transparent);
		}
		.se-mm-banner {
			padding: 0.85rem 1rem;
			flex-direction: column;
			align-items: stretch;
			text-align: center;
		}
		.se-mm-banner-btn { justify-content: center; }
		.se-mm-footer {
			flex-direction: column;
			gap: 0.5rem;
			padding: 0.7rem 1rem;
		}
	}

	/* === Scrollbar custom (rare cas overflow vertical) === */
	.brx-dropdown-content.se-mm-ready { scrollbar-width: thin; }
	.brx-dropdown-content.se-mm-ready::-webkit-scrollbar { width: 6px; }
	.brx-dropdown-content.se-mm-ready::-webkit-scrollbar-thumb {
		background: linear-gradient(180deg, #c7d0d4, #a0aaaf);
		border-radius: 4px;
	}
	.brx-dropdown-content.se-mm-ready::-webkit-scrollbar-thumb:hover { background: #2d7590; }

/* === se-nav-top-level === */
@media (min-width: 992px) {
		#brx-header nav.brxe-nav-nested ul .se-nav-direct,
		#brx-header nav.brxe-nav-nested .brxe-nav-nested-items .se-nav-direct {
			list-style: none !important;
		}
		#brx-header nav.brxe-nav-nested .se-nav-direct > a {
			display: inline-flex !important;
			align-items: center !important;
			gap: 0.4rem !important;
			padding: 0.5rem 0.9rem !important;
			font-size: 0.89rem !important;
			font-weight: 600 !important;
			color: #1d2327 !important;
			text-decoration: none !important;
			border-radius: 6px !important;
			transition: all 0.15s ease !important;
			letter-spacing: -0.005em !important;
		}
		#brx-header nav.brxe-nav-nested .se-nav-direct > a:hover {
			background: rgba(45, 117, 144, 0.1) !important;
			color: #2d7590 !important;
		}
		#brx-header nav.brxe-nav-nested .se-nav-direct > a.is-active {
			color: #2d7590 !important;
			background: rgba(45, 117, 144, 0.12) !important;
		}
	}

/* === se-prices-public === */
.se-price-public {
		display: inline-flex;
		flex-direction: column;
		gap: 0.15rem;
		line-height: 1.2;
	}
	.se-price-amount {
		font-size: 1.1rem;
		font-weight: 800;
		color: #1d2327;
	}
	.se-price-ref {
		font-size: 0.7rem;
		color: #5b6770;
		font-weight: 500;
		line-height: 1.3;
	}
	.se-price-b2b-link {
		color: #2d7590 !important;
		font-weight: 700 !important;
		text-decoration: none !important;
		transition: color 0.12s ease;
	}
	.se-price-b2b-link:hover { color: #1f5d77 !important; }
	.se-price-quote {
		font-size: 0.92rem;
		font-weight: 700;
		color: #2d7590;
	}
	/* Hide "Se connecter →" karvo-erp CTA when prix public displayed */
	.se-price-public ~ .karvo-login-cta,
	.karvo-quote-tooltip-login,
	.karvo-price-login-required {
		display: none !important;
	}

/* === se-social-proof === */
.se-sp-wrap {
		max-width: 1280px;
		margin: 2.5rem auto 0;
		padding: 0 clamp(1rem, 4vw, 2rem);
	}
	.se-sp-card {
		background: #ffffff;
		border: 1px solid rgba(15, 18, 20, 0.06);
		border-radius: 18px;
		padding: 2rem 1.5rem;
		box-shadow: 0 4px 16px -4px rgba(15, 18, 20, 0.06);
	}
	.se-sp-eyebrow {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		padding: 0.25rem 0.75rem;
		background: rgba(45, 117, 144, 0.1);
		color: #2d7590;
		font-size: 0.72rem;
		font-weight: 800;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		border-radius: 999px;
		margin-bottom: 0.85rem;
	}
	.se-sp-eyebrow::before {
		content: '';
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: linear-gradient(135deg, #2d7590, #3a9bb8);
	}
	.se-sp-title {
		font-size: clamp(1.4rem, 2.4vw, 1.85rem);
		font-weight: 800;
		color: #1d2327;
		margin: 0 0 0.5rem;
		letter-spacing: -0.015em;
		line-height: 1.2;
	}
	.se-sp-sub {
		font-size: 0.95rem;
		color: #5b6770;
		margin: 0 0 1.5rem;
		line-height: 1.5;
		max-width: 60ch;
	}
	.se-sp-clients {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
		gap: 0.6rem;
		margin-bottom: 1.5rem;
	}
	.se-sp-client {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.35rem;
		padding: 0.95rem 0.75rem;
		background: linear-gradient(180deg, #fafbfc 0%, #f4f6f8 100%);
		border: 1px solid rgba(15, 18, 20, 0.05);
		border-radius: 12px;
		text-align: center;
		transition: all 0.18s ease;
	}
	.se-sp-client:hover {
		border-color: rgba(45, 117, 144, 0.3);
		transform: translateY(-2px);
		box-shadow: 0 8px 16px -6px rgba(45, 117, 144, 0.15);
	}
	.se-sp-client-emoji {
		font-size: 1.6rem;
		line-height: 1;
	}
	.se-sp-client-label {
		font-size: 0.78rem;
		font-weight: 700;
		color: #1d2327;
		line-height: 1.3;
	}
	.se-sp-client-sub {
		font-size: 0.7rem;
		color: #8c98a4;
		font-weight: 500;
	}

	/* Testimonials */
	.se-sp-quotes {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		gap: 0.85rem;
		margin-top: 1rem;
	}
	.se-sp-quote {
		background: #fafbfc;
		border-left: 3px solid #2d7590;
		border-radius: 0 10px 10px 0;
		padding: 1rem 1.15rem;
		position: relative;
	}
	.se-sp-quote::before {
		content: '"';
		position: absolute;
		top: -0.5rem;
		left: 0.6rem;
		font-size: 3rem;
		font-weight: 800;
		color: rgba(45, 117, 144, 0.18);
		line-height: 1;
		font-family: Georgia, serif;
	}
	.se-sp-quote-text {
		font-size: 0.92rem;
		font-style: italic;
		color: #1d2327;
		line-height: 1.55;
		margin: 0 0 0.55rem;
		padding-left: 1rem;
		position: relative;
		z-index: 1;
	}
	.se-sp-quote-author {
		font-size: 0.78rem;
		color: #5b6770;
		padding-left: 1rem;
	}
	.se-sp-quote-author strong { color: #1d2327; }

	@media (max-width: 600px) {
		.se-sp-card { padding: 1.4rem 1rem; }
		.se-sp-clients { grid-template-columns: repeat(2, 1fr); }
	}

/* === se-perf-defer-anim === */
/* Defer animations on non-hero content : appliqué seulement après page load */
	body:not(.se-loaded) [data-animate]:not([data-priority="hero"]) {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

/* === se-animations-pro === */
/* === Smooth scroll global === */
	html { scroll-behavior: smooth; }

	/* === Page fade-in on load === */
	@keyframes seFadeIn {
		from { opacity: 0; transform: translateY(8px); }
		to { opacity: 1; transform: translateY(0); }
	}
	body.se-loaded main,
	body.se-loaded #brx-content {
		animation: seFadeIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) both;
	}

	/* === Scroll reveal sections === */
	@keyframes seReveal {
		from { opacity: 0; transform: translateY(24px); }
		to { opacity: 1; transform: translateY(0); }
	}
	.se-reveal {
		opacity: 0;
		animation: seReveal 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}
	.se-reveal[data-delay="100"] { animation-delay: 100ms; }
	.se-reveal[data-delay="200"] { animation-delay: 200ms; }
	.se-reveal[data-delay="300"] { animation-delay: 300ms; }
	.se-reveal[data-delay="400"] { animation-delay: 400ms; }

	/* === Header icons : subtle bounce on hover === */
	#brx-header a[href*="acces-client"],
	#brx-header a[href*="panier"],
	#brx-header .brxe-woocommerce-mini-cart,
	.sx-moh-btn {
		transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.15s ease, color 0.15s ease !important;
	}
	#brx-header a[href*="acces-client"]:hover,
	#brx-header a[href*="panier"]:hover,
	#brx-header .brxe-woocommerce-mini-cart:hover,
	.sx-moh-btn:hover {
		transform: translateY(-2px) scale(1.05) !important;
	}
	#brx-header a[href*="acces-client"]:active,
	#brx-header a[href*="panier"]:active,
	.sx-moh-btn:active {
		transform: scale(0.95) !important;
	}

	/* === Buttons CTA : shimmer on hover === */
	@keyframes seShimmer {
		0% { background-position: -200% center; }
		100% { background-position: 200% center; }
	}
	.sx-cta,
	.sx-btn-primary,
	.se-mm-cta-btn,
	.se-pillar-cta,
	.se-sp-cta,
	a[href*="/contact/"][class*="contact"] {
		position: relative;
		overflow: hidden;
	}
	.sx-cta::before,
	.se-mm-cta-btn::before,
	.se-pillar-cta::before {
		content: '';
		position: absolute;
		top: 0;
		left: -100%;
		width: 100%;
		height: 100%;
		background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
		transition: left 0.45s ease;
		pointer-events: none;
	}
	.sx-cta:hover::before,
	.se-mm-cta-btn:hover::before,
	.se-pillar-cta:hover::before {
		left: 100%;
	}

	/* === Product card lift on hover === */
	.sx-boutique-cat-card,
	.se-pillar-card,
	.bricks-layout-item,
	ul.products li.product {
		transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s ease, border-color 0.22s ease !important;
	}

	/* === Dropdown items micro-interaction === */
	.se-mm-item {
		position: relative;
		overflow: hidden;
	}
	.se-mm-item::after {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		width: 3px;
		background: linear-gradient(180deg, #2d7590, #3a9bb8);
		transform: scaleY(0);
		transition: transform 0.2s ease;
		border-radius: 0 2px 2px 0;
	}
	.se-mm-item:hover::after {
		transform: scaleY(1);
	}

	/* === Search input focus : smooth glow === */
	input.orig[name="phrase"],
	#se-mh-search-overlay input,
	input[type="search"] {
		transition: border-color 0.18s ease, box-shadow 0.25s ease, background 0.18s ease !important;
	}

	/* === Pulse animation pour notifications === */
	@keyframes sePulse {
		0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.45); }
		50% { box-shadow: 0 0 0 6px rgba(220, 38, 38, 0); }
	}
	.se-h-cart-count[data-count]:not([data-count="0"]) {
		animation: sePulse 2.5s ease-in-out infinite;
	}

	/* === Hero text subtle fade-up === */
	@keyframes seHeroIn {
		from { opacity: 0; transform: translateY(16px); }
		to { opacity: 1; transform: translateY(0); }
	}
	.sx-boutique-hero h1,
	body.home h1,
	body.home main h1 {
		animation: seHeroIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
	}
	body.home h1 + p,
	body.home main h1 + p {
		animation: seHeroIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
	}

	/* === Stagger reveal for grid items === */
	body.se-loaded .sx-boutique-cats-grid > *,
	body.se-loaded .sx-cat-grid > *,
	body.se-loaded ul.products > li {
		animation: seFadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
	}
	body.se-loaded .sx-boutique-cats-grid > *:nth-child(1) { animation-delay: 0.05s; }
	body.se-loaded .sx-boutique-cats-grid > *:nth-child(2) { animation-delay: 0.10s; }
	body.se-loaded .sx-boutique-cats-grid > *:nth-child(3) { animation-delay: 0.15s; }
	body.se-loaded .sx-boutique-cats-grid > *:nth-child(4) { animation-delay: 0.20s; }
	body.se-loaded .sx-boutique-cats-grid > *:nth-child(5) { animation-delay: 0.25s; }
	body.se-loaded .sx-boutique-cats-grid > *:nth-child(6) { animation-delay: 0.30s; }

	/* === Sticky header glassmorphism smooth transition === */
	#brx-header {
		transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s ease, background-color 0.2s ease !important;
	}

	/* === Respect prefers-reduced-motion === */
	@media (prefers-reduced-motion: reduce) {
		*,
		*::before,
		*::after {
			animation-duration: 0.01ms !important;
			animation-iteration-count: 1 !important;
			transition-duration: 0.01ms !important;
			scroll-behavior: auto !important;
		}
	}

/* === se-fix-h1-doubles-css === */
.se-h1-merged { display: inline-block; }

/* === se-mobile-search-patch-css === */
/* Fix input search positioning : forcing the ASP input to render correctly inside overlay */
	#se-mh-search-overlay .se-mhs-asp-slot {
		width: 100% !important;
		display: block !important;
	}
	/* STRATÉGIE FINALE : ASP DOM est trop cassé pour l'overlay mobile.
	   On HIDE le slot ASP et force-show le fallback form simple (propre, fonctionnel). */
	#se-mh-search-overlay .se-mhs-asp-slot {
		display: none !important;
	}
	#se-mh-search-overlay .se-mhs-fallback,
	#se-mh-search-overlay form.se-mhs-form {
		display: flex !important;
		align-items: stretch !important;
		gap: 0.5rem !important;
		width: 100% !important;
	}
	#se-mh-search-overlay .se-mhs-input {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		padding: 0.85rem 1rem !important;
		font-size: 1rem !important;
		border: 2px solid #2d7590 !important;
		border-radius: 10px !important;
		outline: none !important;
		box-sizing: border-box !important;
	}
	#se-mh-search-overlay .se-mhs-input:focus {
		border-color: #1f5d77 !important;
		box-shadow: 0 0 0 3px rgba(45, 117, 144, 0.18) !important;
	}
	#se-mh-search-overlay .se-mhs-submit {
		flex: 0 0 auto !important;
		display: inline-flex !important;
		align-items: center !important;
		gap: 0.4rem !important;
		padding: 0.85rem 1.1rem !important;
		background: #2d7590 !important;
		color: #fff !important;
		border: 2px solid #2d7590 !important;
		border-radius: 10px !important;
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		cursor: pointer !important;
	}
	#se-mh-search-overlay .se-mhs-submit:hover {
		background: #1f5d77 !important;
		border-color: #1f5d77 !important;
	}
	#se-mh-search-overlay .se-mhs-asp-slot input.orig,
	#se-mh-search-overlay .se-mhs-asp-slot input.autocomplete,
	#se-mh-search-overlay .se-mhs-asp-slot input[type="search"],
	#se-mh-search-overlay .se-mhs-asp-slot input[name="phrase"] {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0.85rem 2.5rem 0.85rem 1rem !important;
		font-size: 1rem !important;
		border: 2px solid #2d7590 !important;
		border-radius: 10px !important;
		box-sizing: border-box !important;
		left: 0 !important;
		position: relative !important;
		text-indent: 0 !important;
	}
	/* Hide the autocomplete input if duplicate (ASP renders 2 inputs side by side normally) */
	#se-mh-search-overlay .se-mhs-asp-slot input.autocomplete {
		display: none !important;
	}
	/* Ensure overlay covers everything including sx-mob-menu */
	#se-mh-search-overlay {
		z-index: 100005 !important;
	}
	/* When search is open, force-hide sx-mob-menu defensively */
	#se-mh-search-overlay.is-open ~ #sx-mob-menu,
	body:has(#se-mh-search-overlay.is-open) #sx-mob-menu {
		display: none !important;
	}

