/* === 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-cart-empty-enhance === */
/* === se-CART-EMPTY-ENHANCE === */
	.se-cee {
		max-width: 720px;
		margin: 2rem auto;
		padding: 2.5rem 2rem;
		background: #ffffff;
		border: 1px solid #e2e8f0;
		border-radius: 16px;
		box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
		text-align: center;
	}
	.se-cee-icon {
		font-size: 3.5rem;
		display: inline-block;
		margin-bottom: 0.5rem;
		opacity: 0.85;
		animation: se-cee-bounce 2.5s ease-in-out infinite;
	}
	@keyframes se-cee-bounce {
		0%, 100% { transform: translateY(0); }
		50% { transform: translateY(-6px); }
	}
	.se-cee-title {
		font-size: 1.6rem;
		font-weight: 700;
		color: #1d2327;
		margin: 0 0 0.5rem;
		letter-spacing: -0.01em;
	}
	.se-cee-text {
		font-size: 1rem;
		color: #475569;
		margin: 0 0 1.5rem;
		line-height: 1.5;
	}
	.se-cee-cats-label {
		font-size: 0.75rem;
		font-weight: 700;
		color: #64748b;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		margin: 0 0 0.85rem;
		display: block;
	}
	.se-cee-cats {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0.6rem;
		margin-bottom: 1.5rem;
	}
	.se-cee-cat {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.4rem;
		padding: 0.85rem 0.4rem;
		background: #f8fafc;
		border: 1px solid #e2e8f0;
		border-radius: 10px;
		color: #1d2327;
		text-decoration: none;
		font-size: 0.85rem;
		font-weight: 600;
		transition: all 0.15s ease;
		min-height: 92px;
		justify-content: center;
	}
	.se-cee-cat:hover,
	.se-cee-cat:focus {
		background: #ffffff;
		border-color: #2d7590;
		color: #2d7590;
		transform: translateY(-2px);
		box-shadow: 0 8px 20px -6px rgba(45, 117, 144, 0.18);
		text-decoration: none;
	}
	.se-cee-cat-icon {
		font-size: 1.6rem;
		line-height: 1;
	}
	.se-cee-ctas {
		display: flex;
		gap: 0.6rem;
		justify-content: center;
		flex-wrap: wrap;
	}
	.se-cee-cta {
		display: inline-flex;
		align-items: center;
		gap: 0.3rem;
		padding: 0.85rem 1.4rem;
		border-radius: 10px;
		font-size: 0.95rem;
		font-weight: 700;
		text-decoration: none;
		transition: all 0.15s ease;
		min-height: 48px;
	}
	.se-cee-cta-primary {
		background: #2d7590;
		color: #ffffff;
	}
	.se-cee-cta-primary:hover {
		background: #1f5c75;
		color: #ffffff;
		text-decoration: none;
	}
	.se-cee-cta-secondary {
		background: #ffffff;
		color: #2d7590;
		border: 2px solid #2d7590;
	}
	.se-cee-cta-secondary:hover {
		background: #2d7590;
		color: #ffffff;
		text-decoration: none;
	}
	.se-cee-tip {
		font-size: 0.82rem;
		color: #94a3b8;
		margin-top: 1.25rem;
		font-style: italic;
	}

	/* Hide default WC empty cart message */
	body.woocommerce-cart .cart-empty,
	body.woocommerce-cart .wc-empty-cart-message,
	body.woocommerce-cart p.cart-empty {
		display: none !important;
	}
	body.woocommerce-cart .return-to-shop {
		display: none !important;
	}

	@media (max-width: 767px) {
		.se-cee {
			padding: 1.5rem 1rem;
			margin: 1rem auto;
		}
		.se-cee-icon { font-size: 2.8rem; }
		.se-cee-title { font-size: 1.3rem; }
		.se-cee-text { font-size: 0.92rem; }
		.se-cee-cats { gap: 0.4rem; }
		.se-cee-cat { padding: 0.7rem 0.3rem; font-size: 0.78rem; min-height: 80px; }
		.se-cee-cat-icon { font-size: 1.4rem; }
		.se-cee-cta { width: 100%; justify-content: center; }
	}

	@media (prefers-reduced-motion: reduce) {
		.se-cee-icon { animation: none; }
	}

/* === 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-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-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-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-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-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-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-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 — UNSTICKY (Jeremy 2026-05-15 : barre blanche descendait au scroll partout site) */
		#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: static !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 — UNSTICKY (Jeremy 2026-05-15 : barre blanche descendait au scroll partout site) */
		#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: static !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-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;
	}

