@charset "UTF-8";
/*
Theme Name: BestSub Caribbean Pro
Theme URI: https://bestsubcaribbean.com
Author: Régie BestSub Caribbean
Author URI: https://bestsubcaribbean.com
Description: Thème enfant sur-mesure pour BestSub Caribbean — Spécialiste de la sublimation & des supports personnalisables aux Antilles-Guyane.
Version: 3.4.0
Template: kadence
Text Domain: bestsubcaribbean
*/

/* ==========================================================================
   1. DESIGN SYSTEM & CSS VARIABLES (TOKENS)
   ========================================================================== */
:root {
	/* Palette Lumineuse & Attrayante BestSub Caribbean */
	--bsc-blue: #0284c7;
	--bsc-blue-hover: #0369a1;
	--bsc-blue-dark: #071e3d;
	--bsc-blue-light: #e0f2fe;
	--bsc-yellow: #fbbf24;
	--bsc-yellow-hover: #f59e0b;
	--bsc-yellow-light: #fefce8;
	--bsc-yellow-text: #071e3d;
	--bsc-cyan: #0284c7;
	--bsc-cyan-hover: #0369a1;
	--bsc-cyan-light: #e0f2fe;

	/* Couleurs de base BestSub */
	--bsc-navy: #071e3d;
	--bsc-navy-light: #0b2d5c;
	--bsc-navy-dark: #051429;
	
	/* Accents Chauds & Dynamiques (Couleurs attrayantes Caraïbes) */
	--bsc-coral: #f97316;
	--bsc-coral-hover: #ea580c;
	--bsc-coral-light: #fff7ed;
	--bsc-gold: #f59e0b;
	--bsc-gold-light: #fef3c7;
	--bsc-purple: #8b5cf6;
	--bsc-green: #10b981;
	--bsc-green-hover: #059669;
	--bsc-green-light: #f0fdf4;

	/* Neutres & Surfaces Harmoniques (Fin du Tout-Blanc) */
	--bsc-bg: #f1f5f9;
	--bsc-bg-subtle: #eef2f6;
	--bsc-card-bg: #ffffff;
	--bsc-border: #e2e8f0;
	--bsc-border-light: #edf2f7;
	--bsc-border-focus: #00a8cc;
	--bsc-text-main: #0f172a;
	--bsc-text-muted: #64748b;
	--bsc-text-light: #94a3b8;

	/* Typographies */
	--bsc-font-heading: 'Outfit', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--bsc-font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	/* Rayons & Ombres */
	--bsc-radius-sm: 6px;
	--bsc-radius: 12px;
	--bsc-radius-lg: 18px;
	--bsc-radius-full: 9999px;
	--bsc-shadow-sm: 0 2px 4px rgba(11, 31, 54, 0.04);
	--bsc-shadow: 0 4px 16px rgba(11, 31, 54, 0.06);
	--bsc-shadow-lg: 0 14px 32px rgba(11, 31, 54, 0.1);
	--bsc-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
html, body {
	overflow-x: hidden;
	max-width: 100%;
}
*, *::before, *::after {
	box-sizing: border-box;
}

body {
	font-family: var(--bsc-font-body);
	color: var(--bsc-text-main);
	background-color: var(--bsc-bg) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#wrapper, .site, #inner-wrap {
	background-color: var(--bsc-bg) !important;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .product_title, .woocommerce-loop-product__title {
	font-family: var(--bsc-font-heading) !important;
	font-weight: 700;
	color: var(--bsc-navy);
	letter-spacing: -0.02em;
}

/* Conteneurs centrés harmonieux pour le contenu sans casser le header */
.content-container, .site-main, .entry-content, .woocommerce-container {
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ==========================================================================
   3. HEADER, TOPBAR & NAVIGATION FAMILLES
   ========================================================================== */

/* Désactivation du chevauchement du Transparent Header pour éviter la collision avec la topbar et la nav */
.transparent-header .site-header,
.transparent-header .wp-block-kadence-header,
.header-desktop-transparent,
.header-mobile-transparent,
.wp-block-kadence-header {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	background: #ffffff !important;
	box-shadow: 0 1px 4px rgba(11, 31, 54, 0.04) !important;
	z-index: 40 !important;
	margin-top: 0 !important;
}

body.transparent-header .entry-content,
body.transparent-header .site-main,
body.transparent-header #inner-wrap {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Header principal Kadence blanc et net */
.wp-block-kadence-header-desktop {
	background: #ffffff !important;
}

.kadence-header-row-inner {
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 0.5rem 1rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

/* Liens du menu principal Kadence */
.wp-block-kadence-navigation .kb-navigation > li > .kb-link-wrap > a,
.wp-block-kadence-navigation .kb-nav-link-content,
.main-navigation .primary-menu-container > ul > li > a {
	color: var(--bsc-navy) !important;
	font-family: var(--bsc-font-heading) !important;
	font-weight: 600 !important;
	font-size: 0.92rem !important;
	padding: 0.5rem 0.85rem !important;
	transition: var(--bsc-transition) !important;
}

.wp-block-kadence-navigation .kb-navigation > li > .kb-link-wrap > a:hover,
.wp-block-kadence-navigation .kb-nav-link-content:hover {
	color: var(--bsc-cyan) !important;
}

/* Bouton CTA Kadence dans le header */
.wp-block-kadence-header .wp-block-button__link,
.wp-block-kadence-header .kb-button {
	background: linear-gradient(135deg, #FFDE39 0%, #e6b800 100%) !important;
	color: #ffffff !important;
	border-radius: var(--bsc-radius-full) !important;
	font-family: var(--bsc-font-heading) !important;
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	padding: 0.55rem 1.25rem !important;
	box-shadow: 0 3px 10px rgba(255, 90, 31, 0.3) !important;
	border: none !important;
	text-decoration: none !important;
}

.bsc-topbar {
	background: linear-gradient(90deg, #071526 0%, #0b1f36 50%, #004e75 100%);
	color: #ffffff;
	font-size: 0.82rem;
	padding: 0.5rem 1.5rem;
	font-weight: 500;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	width: 100%;
}
.bsc-topbar a {
	color: #e0f7fc;
	text-decoration: none;
	transition: color 0.2s;
}
.bsc-topbar a:hover {
	color: #ffffff;
	text-decoration: underline;
}
.bsc-topbar-pill {
	background: rgba(0, 168, 204, 0.25);
	color: #38bdf8;
	padding: 0.2rem 0.55rem;
	border-radius: var(--bsc-radius-full);
	font-size: 0.72rem;
	font-weight: 700;
	margin-right: 0.5rem;
	display: inline-block;
}

/* Barre de navigation familles de produits */
.bsc-nav-categories {
	background: #0b1f36;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 0 1rem;
	width: 100%;
}
.bsc-nav-categories-inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.25rem;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;
}
.bsc-nav-categories-inner::-webkit-scrollbar {
	display: none;
}
.bsc-nav-cat-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.65rem 0.75rem;
	color: #cbd5e1;
	text-decoration: none;
	font-size: 0.84rem;
	font-weight: 600;
	font-family: var(--bsc-font-heading);
	border-bottom: 2px solid transparent;
	transition: var(--bsc-transition);
	white-space: nowrap;
	flex-shrink: 0;
}
.bsc-nav-cat-item:hover, .bsc-nav-cat-item.active {
	color: #ffffff;
	background: rgba(255, 255, 255, 0.05);
	border-bottom-color: var(--bsc-cyan);
}
.bsc-nav-cat-item.pro {
	background: linear-gradient(135deg, #FFDE39 0%, #004b87 100%);
	color: #0b1f36 !important;
	padding: 0.4rem 0.95rem;
	border-radius: var(--bsc-radius-full);
	font-weight: 700;
	border-bottom: none !important;
	margin-left: 0.5rem;
	box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
	flex-shrink: 0;
}
.bsc-nav-cat-item.pro:hover {
	background: linear-gradient(135deg, #FFDE39 0%, #FFDE39 100%);
	color: #000000 !important;
	transform: translateY(-1px);
}

/* ==========================================================================
   4. FICHE ARTICLE / SINGLE PRODUCT (INSPIRÉE MABOUTEILLE & MISTERTEE)
   ========================================================================== */
.single-product .site-main {
	padding-top: 1.5rem;
	padding-bottom: 3rem;
}

/* Wrapper 2 colonnes fiche produit */
.single-product div.product {
	display: grid !important;
	grid-template-columns: 1fr 1.05fr !important;
	gap: 2.5rem !important;
	align-items: start !important;
	background: transparent !important;
	margin-bottom: 3rem !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Suppression stricte de toutes les icônes loupe superflues */
.woocommerce-product-gallery__trigger,
.single-product .woocommerce-product-gallery__trigger,
a.woocommerce-product-gallery__trigger,
.kadence-product-gallery__trigger {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Colonne Gauche : Galerie & Images Généreuses */
.single-product .woocommerce-product-gallery,
.single-product div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page div.product div.images {
	background: #ffffff !important;
	padding: 1.5rem !important;
	border-radius: var(--bsc-radius) !important;
	border: 1px solid var(--bsc-border) !important;
	box-shadow: var(--bsc-shadow) !important;
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: visible !important;
}
@media (min-width: 993px) {
	.single-product .woocommerce-product-gallery {
		position: sticky !important;
		top: 1.5rem !important;
	}
}

.single-product .woocommerce-product-gallery .flex-viewport {
	width: 100% !important;
	max-width: 100% !important;
	background: #f8fafc !important;
	border-radius: 12px !important;
	margin: 0 0 1.25rem 0 !important;
	overflow: hidden !important;
	position: relative !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #f8fafc !important;
	border-radius: 10px;
	padding: 1.5rem;
	box-sizing: border-box;
	min-height: 420px;
	max-height: 520px;
	cursor: zoom-in !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: zoom-in !important;
}

.single-product .woocommerce-product-gallery img,
.single-product .woocommerce-product-gallery .wp-post-image {
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 460px !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 auto !important;
	border-radius: 8px !important;
	transition: transform 0.3s ease;
	cursor: zoom-in !important;
}

.single-product .woocommerce-product-gallery:hover img {
	transform: scale(1.02);
}

/* Miniatures de la galerie (Thumbnails propres, positionnés en bas sans chevaucher la bordure) */
.single-product .woocommerce-product-gallery ol.flex-control-thumbs,
.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
	position: static !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.75rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
	height: auto !important;
	box-sizing: border-box !important;
	clear: both !important;
	transform: none !important;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
	flex: 0 0 74px !important;
	width: 74px !important;
	height: 74px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	box-sizing: border-box !important;
	overflow: visible !important;
	display: block !important;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img {
	width: 74px !important;
	height: 74px !important;
	max-width: 74px !important;
	max-height: 74px !important;
	object-fit: contain !important;
	padding: 4px !important;
	border-radius: 8px !important;
	border: 2px solid #e2e8f0 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	display: block !important;
	opacity: 0.75 !important;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img:hover,
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active {
	border-color: var(--bsc-cyan) !important;
	box-shadow: 0 0 0 2px rgba(0, 168, 204, 0.35) !important;
	opacity: 1 !important;
	transform: translateY(-2px);
}

/* Colonne Droite : Panneau de Personnalisation & Achat */
.single-product .summary.entry-summary {
	background: #ffffff !important;
	padding: 2rem !important;
	border-radius: var(--bsc-radius) !important;
	border: 1px solid var(--bsc-border) !important;
	box-shadow: var(--bsc-shadow) !important;
	float: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.single-product .product_title {
	font-size: 1.85rem !important;
	line-height: 1.25 !important;
	margin-bottom: 0.5rem !important;
	color: var(--bsc-navy) !important;
}

/* Ligne Méta & Avis */
.bsc-single-meta-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.85rem;
}
.bsc-badge-mat {
	background: #e0f7fc;
	color: #007799;
	font-weight: 700;
	font-size: 0.8rem;
	padding: 0.25rem 0.65rem;
	border-radius: var(--bsc-radius-full);
}
.bsc-stars-rating {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.85rem;
}
.bsc-stock-indicator {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
	padding: 0.4rem 0.85rem;
	border-radius: var(--bsc-radius-full);
	font-size: 0.85rem;
	font-weight: 500;
	margin-bottom: 1.25rem;
}
.bsc-stock-dot {
	width: 8px;
	height: 8px;
	background: #10b981;
	border-radius: 50%;
	display: inline-block;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25);
}

/* Bloc Prix & Remises Quantitatives */
.single-product div.product p.price,
.single-product div.product span.price {
	font-size: 1.85rem !important;
	font-weight: 800 !important;
	color: var(--bsc-coral) !important;
	margin-bottom: 1.25rem !important;
	display: flex !important;
	align-items: baseline !important;
	gap: 0.5rem !important;
}

/* Grille de Tarifs Dégressifs / Quantité */
.bsc-tiered-pricing {
	background: #f8fafc;
	border: 1px solid var(--bsc-border);
	border-radius: 8px;
	padding: 0.75rem 1rem;
	margin-bottom: 1.5rem;
}
.bsc-tiered-title {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--bsc-navy);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin-bottom: 0.5rem;
	display: flex;
	align-items: center;
	gap: 0.35rem;
}
.bsc-tiered-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.5rem;
	text-align: center;
}
.bsc-tier-col {
	background: #ffffff;
	border: 1px solid var(--bsc-border-light);
	border-radius: 6px;
	padding: 0.4rem 0.25rem;
}
.bsc-tier-qty {
	font-size: 0.72rem;
	color: var(--bsc-text-muted);
	font-weight: 600;
}
.bsc-tier-disc {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--bsc-navy);
}

/* Système de Personnalisation / Atelier de Marquage (mistertee / atelierduquai style) */
.bsc-customizer-box {
	background: #f8fafc;
	border: 2px solid #00a8cc;
	border-radius: var(--bsc-radius);
	padding: 1.35rem;
	margin: 1.5rem 0;
	box-shadow: 0 4px 12px rgba(0, 168, 204, 0.08);
}
.bsc-cust-step-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--bsc-navy);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.2rem 0.65rem;
	border-radius: var(--bsc-radius-full);
	margin-bottom: 0.75rem;
}
.bsc-cust-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--bsc-navy);
	margin: 0 0 0.5rem 0;
}

/* Zone Drag & Drop */
.bsc-dropzone {
	background: #ffffff;
	border: 2px dashed #00a8cc;
	border-radius: 10px;
	padding: 1.25rem;
	text-align: center;
	cursor: pointer;
	transition: var(--bsc-transition);
	margin-bottom: 1rem;
}
.bsc-dropzone:hover, .bsc-dropzone.dragover {
	border-color: var(--bsc-coral);
	background: #fff9f6;
}
.bsc-drop-icon {
	font-size: 2rem;
	margin-bottom: 0.35rem;
}
.bsc-drop-text {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--bsc-navy);
	margin-bottom: 0.25rem;
}
.bsc-drop-sub {
	font-size: 0.78rem;
	color: var(--bsc-text-muted);
}
.bsc-file-preview-wrap {
	display: none;
	background: #e0f7fc;
	border: 1px solid #00a8cc;
	border-radius: 8px;
	padding: 0.6rem 0.85rem;
	margin-top: 0.75rem;
	align-items: center;
	justify-content: space-between;
}
.bsc-file-info {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--bsc-navy);
}
.bsc-file-remove {
	color: #dc2626;
	cursor: pointer;
	font-size: 0.85rem;
	font-weight: 700;
}

/* Consignes & BAT */
.bsc-cust-notes {
	width: 100%;
	border: 1px solid var(--bsc-border);
	border-radius: 8px;
	padding: 0.6rem 0.85rem;
	font-size: 0.85rem;
	background: #ffffff;
	margin-top: 0.5rem;
}
.bsc-bat-checkbox {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.85rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bsc-navy);
}

/* Bouton Ajout au Panier / Personnaliser sur fiche produit */
.single-product .single_add_to_cart_button.button,
.woocommerce div.product form.cart .button.single_add_to_cart_button {
	background: linear-gradient(135deg, #FFDE39 0%, #e6b800 100%) !important;
	color: #ffffff !important;
	font-family: var(--bsc-font-heading) !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	padding: 0.6rem 1.4rem !important;
	min-height: 40px !important;
	border-radius: 8px !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(255, 90, 31, 0.25) !important;
	transition: var(--bsc-transition) !important;
	width: auto !important;
	max-width: fit-content !important;
	display: inline-flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 0.45rem !important;
}
.single-product .single_add_to_cart_button.button:hover,
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 18px rgba(255, 90, 31, 0.4) !important;
}
.single-product form.cart {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;
}
.single-product form.cart .quantity input.qty {
	height: 40px !important;
	border-radius: 8px !important;
	font-size: 0.92rem !important;
	padding: 0 0.5rem !important;
}

/* Désactivation du zoom au survol (évite conflit avec la maquette interactive de visuel) */
.zoomImg {
	display: none !important;
	pointer-events: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}
.woocommerce-product-gallery__image {
	pointer-events: auto !important;
}

/* Mini-Grille de Réassurance sous CTA */
.bsc-single-reassurance-box {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
	background: #f8fafc;
	border: 1px solid var(--bsc-border);
	border-radius: var(--bsc-radius);
	padding: 1rem;
	margin-top: 1.5rem;
}
.bsc-reassurance-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}
.bsc-reassurance-icon {
	font-size: 1.25rem;
	line-height: 1;
}
.bsc-reassurance-item strong {
	display: block;
	font-size: 0.8rem;
	color: var(--bsc-navy);
}
.bsc-reassurance-item p {
	font-size: 0.72rem;
	color: var(--bsc-text-muted);
	margin: 0;
	line-height: 1.25;
}

/* Onglets Produits Pleine Largeur */
.woocommerce-tabs.wc-tabs-wrapper {
	grid-column: span 2 !important;
	background: #ffffff !important;
	border-radius: var(--bsc-radius) !important;
	border: 1px solid var(--bsc-border) !important;
	box-shadow: var(--bsc-shadow) !important;
	padding: 2rem !important;
	margin-top: 1rem !important;
}
.woocommerce-tabs ul.tabs {
	display: flex !important;
	gap: 1rem !important;
	border-bottom: 2px solid var(--bsc-border) !important;
	padding: 0 0 0.75rem 0 !important;
	margin-bottom: 1.5rem !important;
}
.woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}
.woocommerce-tabs ul.tabs li a {
	font-family: var(--bsc-font-heading) !important;
	font-weight: 700 !important;
	font-size: 1.05rem !important;
	color: var(--bsc-text-muted) !important;
	padding: 0.5rem 1rem !important;
	border-radius: 8px !important;
	transition: var(--bsc-transition) !important;
}
.woocommerce-tabs ul.tabs li.active a {
	color: #ffffff !important;
	background: var(--bsc-navy) !important;
}

/* Supprime le doublon de titre Description dans l'onglet */
.woocommerce-Tabs-panel--description > h2:first-child,
#tab-description > h2:first-child {
	display: none !important;
}

/* Cartes Métriques Sublimation */
.bsc-specs-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 1rem;
	margin: 1.25rem 0;
}
.bsc-spec-card {
	background: #f8fafc;
	border: 1px solid var(--bsc-border);
	border-radius: 10px;
	padding: 1rem;
	transition: var(--bsc-transition);
}
.bsc-spec-card:hover {
	border-color: var(--bsc-cyan);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 168, 204, 0.1);
}
.bsc-spec-card-top {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin-bottom: 0.35rem;
}
.bsc-spec-label {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--bsc-text-muted);
	text-transform: uppercase;
}
.bsc-spec-value {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--bsc-navy);
}

/* ==========================================================================
   5. BOUTIQUE & CATALOGUE (ARCHIVES CATÉGORIES)
   ========================================================================== */
.bsc-shop-hero-banner {
	background: linear-gradient(135deg, #071526 0%, #0b1f36 60%, #003857 100%);
	border-radius: var(--bsc-radius);
	padding: 2.5rem 2rem;
	margin-bottom: 1.5rem;
	color: #ffffff;
	box-shadow: var(--bsc-shadow);
}

/* Barre de Pilules de Filtres Catégories */
.bsc-pills-wrapper {
	margin-bottom: 2rem;
	position: sticky;
	top: 0;
	z-index: 10;
	background: var(--bsc-bg);
	padding: 0.5rem 0;
}
.bsc-pills-scroll {
	display: flex;
	gap: 0.65rem;
	overflow-x: auto;
	white-space: nowrap;
	padding-bottom: 0.35rem;
	scrollbar-width: none;
}
.bsc-pills-scroll::-webkit-scrollbar {
	display: none;
}
.bsc-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #ffffff;
	color: var(--bsc-navy);
	padding: 0.55rem 1.15rem;
	border-radius: var(--bsc-radius-full);
	border: 1px solid var(--bsc-border);
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	box-shadow: var(--bsc-shadow-sm);
	transition: var(--bsc-transition);
}
.bsc-pill:hover {
	border-color: var(--bsc-cyan);
	color: var(--bsc-cyan);
	transform: translateY(-2px);
}
.bsc-pill.active {
	background: var(--bsc-navy);
	color: #ffffff;
	border-color: var(--bsc-navy);
}
.bsc-pill-count {
	background: #eef2f6;
	color: var(--bsc-text-muted);
	font-size: 0.72rem;
	padding: 0.15rem 0.45rem;
	border-radius: var(--bsc-radius-full);
	font-weight: 700;
}
.bsc-pill.active .bsc-pill-count {
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

/* Cartes Produits dans la Grille */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
	gap: 1.5rem !important;
	padding: 0 !important;
	margin: 0 0 3rem 0 !important;
	list-style: none !important;
}
ul.products li.product {
	background: #ffffff !important;
	border: 1px solid var(--bsc-border) !important;
	border-radius: var(--bsc-radius) !important;
	padding: 1.25rem !important;
	display: flex !important;
	flex-direction: column !important;
	transition: var(--bsc-transition) !important;
	box-shadow: var(--bsc-shadow-sm) !important;
	position: relative !important;
}
ul.products li.product:hover {
	transform: translateY(-4px) !important;
	border-color: var(--bsc-cyan) !important;
	box-shadow: var(--bsc-shadow-lg) !important;
}
ul.products li.product img {
	border-radius: 8px !important;
	margin-bottom: 0.85rem !important;
	transition: transform 0.3s ease !important;
}
ul.products li.product:hover img {
	transform: scale(1.03) !important;
}
ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.98rem !important;
	line-height: 1.35 !important;
	margin: 0.5rem 0 !important;
	color: var(--bsc-navy) !important;
}
ul.products li.product .price {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: var(--bsc-coral) !important;
	margin-bottom: 0.75rem !important;
}
/* Bouton Ajouter au panier dans la grille catalogue / listes de produits */
ul.products li.product .button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products .product-action-wrap .button,
.woocommerce ul.products li.product .product-action-wrap .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce div.product-action-wrap a.button {
	background: #f8fafc !important;
	color: var(--bsc-navy) !important;
	border: 1.5px solid var(--bsc-border) !important;
	border-radius: 6px !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	padding: 0.35rem 0.8rem !important;
	min-height: 32px !important;
	height: auto !important;
	line-height: 1.2 !important;
	text-align: center !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.35rem !important;
	transition: var(--bsc-transition) !important;
	box-shadow: none !important;
}
ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products .product-action-wrap .button:hover,
.woocommerce ul.products li.product .product-action-wrap .button:hover,
.woocommerce div.product-action-wrap a.button:hover {
	background: var(--bsc-navy) !important;
	color: #ffffff !important;
	border-color: var(--bsc-navy) !important;
}
/* Réduction de la flèche SVG géante dans les boutons d'archive Kadence */
ul.products li.product .button svg,
.woocommerce ul.products .product-action-wrap .button svg,
.woocommerce ul.products .product-action-wrap .button .kadence-svg-iconset svg,
.woocommerce ul.products li.product .kadence-svg-iconset svg {
	width: 13px !important;
	height: 13px !important;
	max-width: 13px !important;
	max-height: 13px !important;
	vertical-align: middle !important;
}

/* ==========================================================================
   5.1. GRILLE BENTO DES FAMILLES DE PRODUITS AVEC PHOTOS RÉELLES
   ========================================================================== */
.bsc-bento-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
.bsc-bento-card {
	background: #ffffff;
	border: 1px solid var(--bsc-border);
	border-radius: var(--bsc-radius);
	overflow: hidden;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	box-shadow: var(--bsc-shadow-sm);
	transition: var(--bsc-transition);
	position: relative;
}
.bsc-bento-card:hover {
	transform: translateY(-4px);
	border-color: var(--bsc-cyan);
	box-shadow: var(--bsc-shadow-lg);
}
.bsc-bento-img-wrap {
	position: relative;
	width: 100%;
	height: 180px;
	background: #f1f5f9;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bsc-bento-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.bsc-bento-card:hover .bsc-bento-img {
	transform: scale(1.06);
}
.bsc-bento-emoji-fallback {
	font-size: 3.5rem;
}
.bsc-bento-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgba(11, 31, 54, 0.85);
	color: #ffffff;
	padding: 0.2rem 0.55rem;
	border-radius: var(--bsc-radius-full);
	font-size: 0.85rem;
	backdrop-filter: blur(4px);
}
.bsc-bento-info {
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.bsc-bento-title {
	font-size: 1.12rem;
	margin: 0 0 0.35rem 0;
	color: var(--bsc-navy);
}
.bsc-bento-desc {
	font-size: 0.82rem;
	color: var(--bsc-text-muted);
	margin: 0 0 0.85rem 0;
	line-height: 1.45;
	flex-grow: 1;
}
.bsc-bento-cta {
	font-size: 0.84rem;
	font-weight: 700;
	color: var(--bsc-cyan);
	transition: var(--bsc-transition);
}
.bsc-bento-card:hover .bsc-bento-cta {
	color: var(--bsc-coral);
	padding-left: 3px;
}
@media (max-width: 900px) {
	.bsc-bento-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
	.bsc-bento-grid { grid-template-columns: 1fr; }
}

/* Protection débordement boutique */
.woocommerce-shop .site-main,
.tax-product_cat .site-main,
.bsc-pills-wrapper,
.bsc-shop-hero-banner {
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* ==========================================================================
   6. GRAND FOOTER HARMONIEUX (BLEU NUIT CARAÏBES)
   ========================================================================== */
.bsc-footer {
	background: #071526;
	color: #94a3b8;
	font-size: 0.88rem;
	padding-top: 3.5rem;
	border-top: 3px solid var(--bsc-cyan);
}
.bsc-footer-trust-banner {
	max-width: 1280px;
	margin: 0 auto 3rem auto;
	padding: 0 1.5rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding-bottom: 2.5rem;
}
.bsc-footer-trust-item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}
.bsc-footer-trust-icon {
	font-size: 2rem;
	flex-shrink: 0;
}
.bsc-footer-trust-text strong {
	display: block;
	color: #ffffff;
	font-size: 0.95rem;
}
.bsc-footer-trust-text span {
	font-size: 0.78rem;
	color: #94a3b8;
}

.bsc-footer-grid {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.5rem 3rem 1.5rem;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 2.5rem;
}
.bsc-footer-col h4 {
	color: #ffffff !important;
	font-size: 1.05rem !important;
	margin-bottom: 1.25rem !important;
	position: relative;
	padding-bottom: 0.5rem;
}
.bsc-footer-col h4::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 35px;
	height: 2px;
	background: var(--bsc-cyan);
}
.bsc-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bsc-footer-col ul li {
	margin-bottom: 0.6rem;
}
.bsc-footer-col ul li a {
	color: #94a3b8;
	text-decoration: none;
	transition: var(--bsc-transition);
}
.bsc-footer-col ul li a:hover {
	color: #38bdf8;
	padding-left: 4px;
}
.bsc-footer-contact-item {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.75rem;
	color: #cbd5e1;
}

.bsc-footer-bottom {
	background: #040c17;
	padding: 1.25rem 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	font-size: 0.78rem;
}
.bsc-footer-bottom-inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
}

/* ==========================================================================
   7. RESPONSIVE DESIGN (MOBILE & TABLETTE)
   ========================================================================== */
@media (max-width: 992px) {
	/* Masquage du bandeau d'en-tête mobile et de l'icône sandwich (remplacé par le menu sticky du bas) */
	.wp-block-kadence-header-tablet,
	.wp-block-kadence-header-mobile,
	#mobile-header,
	.mobile-header-row,
	.site-mobile-header-wrap,
	.wp-block-kadence-off-canvas-trigger,
	.kadence-mobile-drawer-toggle {
		display: none !important;
	}

	/* Affichage épuré du logo au centre sur mobile */
	.wp-block-kadence-header-desktop {
		display: block !important;
		padding: 0.4rem 0 !important;
		background: #ffffff !important;
		border-bottom: 1px solid var(--bsc-border) !important;
	}
	.wp-block-kadence-header-desktop .kadence-header-row-inner {
		justify-content: center !important;
		padding: 0.25rem 1rem !important;
	}
	.wp-block-kadence-header-desktop .wp-block-kadence-navigation,
	.wp-block-kadence-header-desktop .kb-buttons-wrap {
		display: none !important;
	}
	.wp-block-kadence-header-desktop .wp-block-site-logo {
		margin-right: 0 !important;
	}
	.wp-block-kadence-header-desktop .wp-block-site-logo img {
		max-height: 42px !important;
		width: auto !important;
		margin: 0 auto !important;
		display: block !important;
	}

	.single-product #primary,
	.single-product .site-main,
	.single-product .content-container,
	.single-product .entry-content,
	.single-product article.product {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}
	.single-product .site-container,
	.single-product #main {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}
	.single-product div.product {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 1.25rem !important;
		margin-bottom: 2rem !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}
	/* Cadre de l'image produit en pleine largeur 100% sur mobile */
	.single-product .woocommerce-product-gallery,
	.woocommerce div.product div.images,
	.woocommerce-page div.product div.images,
	.woocommerce-product-gallery {
		position: static !important;
		top: auto !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 100% !important;
		margin: 0 0 1rem 0 !important;
		padding: 0.75rem !important;
		box-sizing: border-box !important;
		border-radius: 12px !important;
		background: #ffffff !important;
		border: 1px solid var(--bsc-border) !important;
		box-shadow: var(--bsc-shadow) !important;
		height: auto !important;
		overflow: visible !important;
	}
	.single-product .woocommerce-product-gallery .flex-viewport {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 0.75rem 0 !important;
		padding: 0 !important;
		background: #f8fafc !important;
		border-radius: 8px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}
	.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
		box-sizing: border-box !important;
	}
	.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 260px !important;
		max-height: 420px !important;
		padding: 1rem !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		background: #f8fafc !important;
	}
	.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
		width: 100% !important;
		height: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	/* Image principale uniquement */
	.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
	.single-product .woocommerce-product-gallery .flex-viewport .wp-post-image {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 380px !important;
		object-fit: contain !important;
		display: block !important;
		margin: 0 auto !important;
		border-radius: 6px !important;
	}
	/* Miniatures / Thumbnails visibles et dimensionnées */
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs,
	.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		margin: 0.5rem 0 0 0 !important;
		padding: 0 !important;
		list-style: none !important;
		width: 100% !important;
		box-sizing: border-box !important;
		position: static !important;
		visibility: visible !important;
	}
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
		flex: 0 0 65px !important;
		width: 65px !important;
		height: 65px !important;
		min-width: 65px !important;
		min-height: 65px !important;
		max-width: 65px !important;
		max-height: 65px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
		box-sizing: border-box !important;
		float: none !important;
		visibility: visible !important;
	}
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img {
		width: 65px !important;
		height: 65px !important;
		min-width: 65px !important;
		min-height: 65px !important;
		max-width: 65px !important;
		max-height: 65px !important;
		object-fit: contain !important;
		padding: 2px !important;
		border-radius: 6px !important;
		border: 2px solid #e2e8f0 !important;
		background: #ffffff !important;
		display: block !important;
		box-sizing: border-box !important;
		opacity: 0.85 !important;
		cursor: pointer !important;
		visibility: visible !important;
	}
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active,
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img:hover {
		border-color: #00a8cc !important;
		opacity: 1 !important;
		box-shadow: 0 0 0 2px rgba(0, 168, 204, 0.3) !important;
	}
	.single-product .summary.entry-summary {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 1.25rem !important;
		box-sizing: border-box !important;
	}
	/* Onglets & Accordéon mobile : suppression du conteneur imbriqué pour occuper 100% de la largeur */
	.woocommerce-tabs.wc-tabs-wrapper {
		grid-column: span 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 1.25rem 0 !important;
		box-sizing: border-box !important;
	}
	.bsc-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.single-product .woocommerce-product-gallery {
		padding: 0.5rem !important;
	}
	.single-product .summary.entry-summary {
		padding: 1rem !important;
	}
	.bsc-footer-grid {
		grid-template-columns: 1fr;
	}
	.bsc-single-reassurance-box {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   8. MENU MOBILE OFF-CANVAS HARMONISÉ (BLEU NUIT & CYAN CARAÏBES)
   ========================================================================== */
.wp-block-kadence-off-canvas .kb-off-canvas-inner-wrap,
#mobile-drawer .drawer-inner,
.site-mobile-menu {
	background: #071526 !important;
	color: #ffffff !important;
	padding: 0 !important;
}

.wp-block-kadence-off-canvas .kb-off-canvas-close,
#mobile-drawer .drawer-header .drawer-sub-toggle {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border-radius: 50% !important;
	width: 38px !important;
	height: 38px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	top: 1rem !important;
	right: 1rem !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	transition: var(--bsc-transition) !important;
}
.wp-block-kadence-off-canvas .kb-off-canvas-close:hover {
	background: rgba(255, 90, 31, 0.8) !important;
	color: #ffffff !important;
}

.bsc-mobile-drawer-wrap {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	box-sizing: border-box;
	color: #ffffff;
}

.bsc-mobile-header {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 1.25rem;
	margin-bottom: 1.25rem;
}
.bsc-mobile-brand {
	font-size: 1.2rem;
	font-weight: 800;
	font-family: var(--bsc-font-heading);
	color: #ffffff;
	text-decoration: none;
	display: block;
}
.bsc-mobile-brand span {
	color: var(--bsc-cyan);
}
.bsc-mobile-pill {
	display: inline-block;
	background: rgba(0, 168, 204, 0.2);
	color: #38bdf8;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.2rem 0.55rem;
	border-radius: 9999px;
	margin-top: 0.4rem;
}

.bsc-mobile-nav-title {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #94a3b8;
	font-weight: 700;
	margin: 0 0 0.65rem 0.25rem;
}

.bsc-mobile-nav-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 1.5rem 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.bsc-mobile-nav-item {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.bsc-mobile-nav-item a {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	padding: 0.75rem 1rem !important;
	color: #e2e8f0 !important;
	text-decoration: none !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	font-family: var(--bsc-font-heading) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	transition: all 0.2s ease !important;
}
.bsc-mobile-nav-item a:hover,
.bsc-mobile-nav-item a.active {
	background: rgba(0, 168, 204, 0.15) !important;
	color: #38bdf8 !important;
	border-color: #00a8cc !important;
	padding-left: 1.25rem !important;
}
.bsc-mobile-nav-item.pro a {
	background: linear-gradient(135deg, #FFDE39 0%, #004b87 100%) !important;
	color: #071526 !important;
	font-weight: 800 !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3) !important;
	margin-top: 0.35rem;
}
.bsc-mobile-nav-item.pro a:hover {
	background: linear-gradient(135deg, #FFDE39 0%, #FFDE39 100%) !important;
	color: #000000 !important;
}

.bsc-mobile-footer {
	margin-top: auto;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	font-size: 0.84rem;
}
.bsc-mobile-footer a {
	color: #94a3b8;
	text-decoration: none;
	transition: color 0.2s;
}
.bsc-mobile-footer a:hover {
	color: #ffffff;
}

/* ==========================================================================
   9. STRUCTURE CADRÉE DES PAGES BOUTIQUE & CATÉGORIES (FIX FULL-WIDTH)
   ========================================================================== */
.bsc-nav-categories {
	margin-bottom: 0.75rem !important;
}

/* Un seul conteneur racine porte le cadrage sans dupliquer le padding dans les enfants */
.archive.woocommerce #wrapper #inner-wrap,
.archive.tax-product_cat #wrapper #inner-wrap,
.tax-woo-product #wrapper #inner-wrap,
.post-type-archive-product #wrapper #inner-wrap {
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Suppression formelle du padding cumulé sur tous les sous-conteneurs imbriqués */
.archive.woocommerce #wrapper .site-container,
.archive.woocommerce #wrapper .content-container,
.archive.woocommerce #primary,
.archive.woocommerce .site-main,
.archive.tax-product_cat #wrapper .site-container,
.archive.tax-product_cat #wrapper .content-container,
.archive.tax-product_cat #primary,
.archive.tax-product_cat .site-main,
.tax-woo-product #wrapper .site-container,
.tax-woo-product #wrapper .content-container,
.tax-woo-product #primary,
.post-type-archive-product #wrapper .site-container,
.post-type-archive-product #wrapper .content-container,
.post-type-archive-product #primary {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.bsc-shop-hero-banner {
	background: linear-gradient(135deg, #071526 0%, #0b1f36 60%, #004e75 100%) !important;
	border-radius: 16px !important;
	margin: 1.5rem auto 1.25rem auto !important;
	max-width: 1280px !important;
	padding: 2.5rem 2rem !important;
	box-sizing: border-box !important;
	box-shadow: 0 10px 25px rgba(7, 21, 38, 0.12) !important;
}

.bsc-shop-hero-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 0.5rem;
	box-sizing: border-box;
}

.bsc-pills-wrapper {
	background: #ffffff;
	border-bottom: 1px solid var(--bsc-border);
	padding: 1rem 0;
	width: 100%;
}

.bsc-pills-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.25rem;
	box-sizing: border-box;
}

/* Sélecteur de langue et devise dans le footer */
.bsc-footer-lang-wrap {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}
.bsc-footer-lang-label {
	color: #94a3b8;
	font-size: 0.8rem;
	font-weight: 600;
}
.bsc-footer-lang-pills {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
.bsc-lang-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: rgba(255, 255, 255, 0.08);
	color: #cbd5e1;
	border: 1px solid rgba(255, 255, 255, 0.15);
	padding: 0.3rem 0.65rem;
	border-radius: 9999px;
	font-size: 0.76rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}
.bsc-lang-pill:hover,
.bsc-lang-pill.active {
	background: #00a8cc !important;
	color: #ffffff !important;
	border-color: #00a8cc !important;
	box-shadow: 0 2px 8px rgba(0, 168, 204, 0.35);
}

/* ==========================================================================
   10. NAVIGATION MOBILE RAPIDE STICKY FOOTER (STYLE PULSAT GUADELOUPE)
   ========================================================================== */
.bsc-sticky-bottom-bar,
.bsc-search-overlay,
.bsc-accordion-toggle {
	display: none;
}

@media (max-width: 992px) {
	body {
		padding-bottom: calc(65px + env(safe-area-inset-bottom, 0px)) !important;
	}

	/* Accordéon mobile pour les onglets fiches produits */
	.woocommerce-tabs ul.tabs {
		display: none !important;
	}
	.bsc-accordion-toggle {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		background: #ffffff !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 10px !important;
		padding: 0.95rem 1.25rem !important;
		margin-bottom: 0.5rem !important;
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		color: #071526 !important;
		font-family: var(--bsc-font-heading, sans-serif) !important;
		cursor: pointer !important;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
		transition: all 0.2s ease !important;
		box-sizing: border-box !important;
	}
	.bsc-accordion-toggle.active {
		background: #071526 !important;
		color: #ffffff !important;
		border-color: #071526 !important;
		border-bottom-left-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
		margin-bottom: 0 !important;
	}
	.bsc-accordion-toggle .bsc-acc-chevron {
		font-size: 0.75rem !important;
		transition: transform 0.25s ease !important;
	}
	.bsc-accordion-toggle.active .bsc-acc-chevron {
		transform: rotate(180deg) !important;
		color: #00a8cc !important;
	}
	.woocommerce-tabs .woocommerce-Tabs-panel {
		background: #ffffff !important;
		border: 1px solid #e2e8f0 !important;
		border-top: none !important;
		border-bottom-left-radius: 10px !important;
		border-bottom-right-radius: 10px !important;
		padding: 1.25rem !important;
		margin-bottom: 0.75rem !important;
		box-sizing: border-box !important;
	}

	.bsc-sticky-bottom-bar {
		display: flex !important;
		align-items: stretch !important;
		justify-content: space-around !important;
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 99999 !important;
		background: #ffffff !important;
		height: 60px !important;
		padding-bottom: env(safe-area-inset-bottom, 0px) !important;
		box-shadow: 0 -3px 15px rgba(0, 0, 0, 0.08) !important;
		border-top: 1px solid #e2e8f0 !important;
	}

	.bsc-bottom-nav-item {
		flex: 1 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 3px !important;
		text-decoration: none !important;
		color: #64748b !important;
		font-size: 0.72rem !important;
		font-weight: 600 !important;
		font-family: var(--bsc-font-heading, sans-serif) !important;
		background: transparent !important;
		border: none !important;
		padding: 4px 0 !important;
		cursor: pointer !important;
		transition: all 0.2s ease !important;
		position: relative !important;
	}

	.bsc-bottom-nav-item:active,
	.bsc-bottom-nav-item:hover,
	.bsc-bottom-nav-item.active {
		color: #0b1f36 !important;
	}

	.bsc-bottom-nav-icon {
		width: 22px !important;
		height: 22px !important;
		stroke-width: 2.2 !important;
		transition: transform 0.2s ease !important;
	}

	.bsc-bottom-nav-item:active .bsc-bottom-nav-icon {
		transform: scale(1.15) !important;
	}

	/* Bouton Rayons mis en valeur */
	.bsc-bottom-nav-rayons {
		background: #0b1f36 !important;
		color: #ffffff !important;
		border-radius: 8px 8px 0 0 !important;
		margin-top: -6px !important;
		box-shadow: 0 -2px 10px rgba(11, 31, 54, 0.25) !important;
	}
	.bsc-bottom-nav-rayons .bsc-bottom-nav-icon {
		stroke: #00a8cc !important;
	}
	.bsc-bottom-nav-rayons span {
		color: #ffffff !important;
	}
	.bsc-bottom-nav-rayons:hover,
	.bsc-bottom-nav-rayons:active {
		background: #071526 !important;
		color: #ffffff !important;
	}

	/* Bouton Conseil en vert WhatsApp */
	.bsc-bottom-nav-conseil {
		color: #10b981 !important;
	}
	.bsc-bottom-nav-conseil .bsc-bottom-nav-icon {
		stroke: #10b981 !important;
	}

	/* Badge panier */
	.bsc-bottom-nav-icon-wrap {
		position: relative;
		display: inline-flex;
	}
	.bsc-bottom-nav-badge {
		position: absolute;
		top: -4px;
		right: -8px;
		background: #ef4444;
		color: #ffffff;
		font-size: 0.65rem;
		font-weight: 700;
		width: 16px;
		height: 16px;
		border-radius: 50%;
		display: none;
		align-items: center;
		justify-content: center;
		line-height: 1;
	}
	.bsc-bottom-nav-badge.has-items {
		display: flex !important;
	}

	/* Modal de Recherche sans débordement */
	.bsc-search-overlay {
		position: fixed;
		inset: 0;
		background: rgba(11, 31, 54, 0.85);
		backdrop-filter: blur(4px);
		z-index: 100000;
		display: none;
		align-items: flex-start;
		justify-content: center;
		padding: 2rem 1rem;
	}
	.bsc-search-overlay.active {
		display: flex !important;
	}
	.bsc-search-overlay-inner {
		background: #ffffff;
		width: 92% !important;
		max-width: 460px !important;
		border-radius: 16px;
		padding: 1.25rem !important;
		box-shadow: 0 10px 30px rgba(0,0,0,0.3);
		animation: bscSlideDown 0.25s ease-out;
		box-sizing: border-box !important;
	}
	@keyframes bscSlideDown {
		from { opacity: 0; transform: translateY(-20px); }
		to { opacity: 1; transform: translateY(0); }
	}
	.bsc-search-overlay-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 1rem;
	}
	.bsc-search-overlay-header h3 {
		margin: 0;
		font-size: 1.1rem;
		color: #0b1f36;
		font-weight: 700;
	}
	.bsc-search-overlay-close {
		background: #f1f5f9;
		border: none;
		font-size: 1.5rem;
		width: 32px;
		height: 32px;
		border-radius: 50%;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #64748b;
	}
	.bsc-search-form {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
		gap: 0.5rem !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		margin-bottom: 1rem !important;
	}
	.bsc-search-input {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: 100% !important;
		padding: 0.75rem 0.85rem !important;
		border: 2px solid #e2e8f0 !important;
		border-radius: 8px !important;
		font-size: 0.92rem !important;
		outline: none !important;
		box-sizing: border-box !important;
	}
	.bsc-search-input:focus {
		border-color: #00a8cc !important;
	}
	.bsc-search-submit {
		flex: 0 0 auto !important;
		white-space: nowrap !important;
		padding: 0 1.25rem !important;
		font-size: 0.9rem !important;
		font-weight: 700 !important;
		background: #00a8cc !important;
		color: #ffffff !important;
		border: none !important;
		border-radius: 8px !important;
		cursor: pointer !important;
		box-sizing: border-box !important;
	}
	.bsc-search-suggestions {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 0.5rem;
		font-size: 0.85rem;
	}
	.bsc-suggestion-title {
		color: #64748b;
		font-weight: 600;
	}
	.bsc-search-suggestions a {
		background: #f8fafc;
		border: 1px solid #e2e8f0;
		padding: 0.25rem 0.65rem;
		border-radius: 20px;
		color: #0b1f36;
		text-decoration: none;
		font-weight: 500;
	}
}

/* ==========================================================================
   BOUTONS DEVIS & PARCOURS DE PERSONNALISATION / BAT
   ========================================================================== */
#b2bking_request_custom_quote_button,
.b2bking_request_custom_quote_button,
button.b2bking_request_custom_quote_button {
	background: linear-gradient(135deg, #071526 0%, #132f4f 100%) !important;
	color: #ffffff !important;
	border-radius: 9999px !important;
	padding: 0.85rem 1.65rem !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	box-shadow: 0 4px 14px rgba(7,21,38,0.2) !important;
	border: none !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	margin-top: 0.5rem !important;
}

#b2bking_request_custom_quote_button:hover,
.b2bking_request_custom_quote_button:hover {
	background: linear-gradient(135deg, #00a8cc 0%, #008fae 100%) !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(0,168,204,0.3) !important;
}

/* Galerie produit & Zoom */
.woocommerce-product-gallery__image {
	cursor: zoom-in;
	position: relative;
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 9;
	width: 38px;
	height: 38px;
	background: rgba(255, 255, 255, 0.92);
	border-radius: 50%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(0,0,0,0.12);
	cursor: pointer;
	transition: transform 0.2s ease;
}

.woocommerce-product-gallery__trigger:hover {
	transform: scale(1.1);
	background: #ffffff;
}

/* Formulaire Inscription Pro */
.bsc-pro-form-wrapper {
	background: #ffffff;
	border-radius: 12px;
}

.bsc-pro-register-form input:focus,
.bsc-pro-register-form select:focus,
.bsc-pro-register-form textarea:focus {
	outline: none;
	border-color: #00a8cc !important;
	box-shadow: 0 0 0 3px rgba(0,168,204,0.15) !important;
}


/* ==========================================================================
   20. RECHERCHE AJAX EN DIRECT & RÉSULTATS IMMÉDIATS
   ========================================================================== */
.bsc-live-search-container {
	position: relative;
	width: 100%;
	max-width: 650px;
	margin: 0 auto;
}

.bsc-live-search-form {
	display: flex;
	align-items: center;
	background: #ffffff;
	border: 2px solid #e2e8f0;
	border-radius: 9999px;
	padding: 3px 5px 3px 14px;
	transition: all 0.25s ease;
	box-shadow: 0 2px 6px rgba(0, 75, 135, 0.06);
}

.bsc-live-search-form:focus-within {
	border-color: #004b87;
	box-shadow: 0 0 0 4px rgba(0, 75, 135, 0.12);
}

.bsc-search-input-wrap {
	display: flex;
	align-items: center;
	flex: 1;
	gap: 8px;
	position: relative;
}

.bsc-search-glass-icon {
	color: #004b87;
	display: flex;
	align-items: center;
}

.bsc-live-search-input {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	width: 100%;
	font-size: 0.92rem;
	color: #071e3d;
	padding: 6px 0 !important;
}

.bsc-live-search-input::placeholder {
	color: #94a3b8;
	font-size: 0.88rem;
}

.bsc-search-clear-btn {
	background: #e2e8f0;
	border: none;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	cursor: pointer;
	color: #64748b;
	line-height: 1;
	padding: 0;
}

.bsc-search-spinner {
	width: 16px;
	height: 16px;
	border: 2px solid #e2e8f0;
	border-top-color: #004b87;
	border-radius: 50%;
	animation: bsc-spin 0.6s linear infinite;
}

@keyframes bsc-spin {
	to { transform: rotate(360deg); }
}

.bsc-live-search-submit {
	background: #004b87 !important;
	color: #ffffff !important;
	border: none !important;
	padding: 7px 16px !important;
	border-radius: 9999px !important;
	font-weight: 700 !important;
	font-size: 0.84rem !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
}

.bsc-live-search-submit:hover {
	background: #00386b !important;
}

/* Volet déroulant des résultats AJAX */
.bsc-live-search-results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	width: 100%;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(7, 30, 61, 0.22);
	z-index: 99999 !important;
	max-height: 520px;
	overflow-y: auto;
	padding: 10px 0;
}

.bsc-search-result-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 14px;
	text-decoration: none !important;
	border-bottom: 1px solid #f1f5f9;
	transition: background 0.15s ease;
}

.bsc-search-result-item:hover,
.bsc-search-result-item.highlighted {
	background: #f0f7ff;
}

.bsc-search-result-thumb {
	width: 44px;
	height: 44px;
	border-radius: 6px;
	object-fit: cover;
	border: 1px solid #e2e8f0;
	flex-shrink: 0;
}

.bsc-search-result-info {
	flex: 1;
	min-width: 0;
}

.bsc-search-result-title {
	font-size: 0.9rem;
	font-weight: 700;
	color: #071e3d;
	margin: 0 0 2px 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bsc-search-result-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.78rem;
	color: #64748b;
}

.bsc-search-result-cat {
	background: #e2e8f0;
	color: #334155;
	padding: 1px 6px;
	border-radius: 4px;
	font-weight: 600;
}

.bsc-search-result-price {
	font-weight: 800;
	color: #004b87;
	font-size: 0.92rem;
	margin-left: auto;
	flex-shrink: 0;
}

.bsc-search-footer-link {
	display: block;
	text-align: center;
	padding: 10px;
	font-size: 0.85rem;
	font-weight: 700;
	color: #004b87;
	background: #f8fafc;
	text-decoration: none;
	border-top: 1px solid #e2e8f0;
}

.bsc-search-footer-link:hover {
	background: #e8f2fa;
}

/* ==========================================================================
   21. BOUTON PANIER DU HEADER (VISIBLE UNIQUEMENT SI > 0 PRODUIT)
   ========================================================================== */
#bsc-header-cart-wrap {
	display: inline-flex !important;
	align-items: center;
	margin-left: 12px;
}

#bsc-header-cart-wrap.is-empty .bsc-header-cart-link {
	background: #f1f5f9;
	color: #004b87 !important;
	border: 1px solid #cbd5e1;
	box-shadow: none;
}

#bsc-header-cart-wrap.is-empty .bsc-header-cart-link:hover {
	background: #e2e8f0;
	color: #00386b !important;
}

#bsc-header-cart-wrap.is-empty .bsc-cart-badge-count {
	background: #cbd5e1;
	color: #475569;
}

#bsc-header-cart-wrap.has-items {
	display: inline-flex !important;
	align-items: center;
	margin-left: 12px;
}

.bsc-header-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #004b87;
	color: #ffffff !important;
	padding: 7px 14px;
	border-radius: 9999px;
	text-decoration: none !important;
	font-weight: 700;
	font-size: 0.88rem;
	transition: all 0.2s ease;
	box-shadow: 0 3px 10px rgba(0, 75, 135, 0.2);
}

.bsc-header-cart-link:hover {
	background: #00386b;
	color: #FFDE39 !important;
	transform: translateY(-1px);
}

.bsc-cart-badge-count {
	background: #FFDE39;
	color: #071e3d;
	font-weight: 800;
	font-size: 0.78rem;
	padding: 2px 7px;
	border-radius: 9999px;
	line-height: 1;
}

/* Mobile cart button visibility */
.bsc-bottom-nav-item .bsc-bottom-nav-badge:not(.has-items) {
	display: none !important;
}

/* ==========================================================================
   22. MENUS DÉROULANTS HIÉRARCHIQUES DU HEADER (KADENCE)
   ========================================================================== */
.wp-block-kadence-navigation ul.menu > li.menu-item-has-children > .kb-link-wrap,
.wp-block-kadence-navigation-link.has-sub-menu > .kb-link-wrap {
	position: relative;
}

/* Chevron indicateur de sous-menu */
.wp-block-kadence-navigation-link.menu-item-has-children > .kb-link-wrap > a::after,
.wp-block-kadence-navigation-link.has-sub-menu > .kb-link-wrap > a::after {
	content: '' !important;
	display: inline-block !important;
	width: 6px !important;
	height: 6px !important;
	margin-left: 8px !important;
	border-right: 2px solid #004b87 !important;
	border-bottom: 2px solid #004b87 !important;
	transform: rotate(45deg) translateY(-2px) !important;
	transition: transform 0.25s ease !important;
	vertical-align: middle !important;
}

.wp-block-kadence-navigation-link.menu-item-has-children:hover > .kb-link-wrap > a::after,
.wp-block-kadence-navigation-link.has-sub-menu:hover > .kb-link-wrap > a::after {
	transform: rotate(-135deg) translateY(2px) !important;
}

/* Volet du sous-menu déroulant */
.wp-block-kadence-navigation ul.sub-menu,
.wp-block-kadence-navigation-link ul.kb-navigation-sub-menu {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 10px !important;
	box-shadow: 0 12px 30px rgba(7, 30, 61, 0.12) !important;
	padding: 8px 0 !important;
	min-width: 220px !important;
}

.wp-block-kadence-navigation ul.sub-menu li a,
.wp-block-kadence-navigation-link ul.kb-navigation-sub-menu li a {
	padding: 9px 18px !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	color: #071e3d !important;
	transition: all 0.15s ease !important;
	display: block !important;
}

.wp-block-kadence-navigation ul.sub-menu li a:hover,
.wp-block-kadence-navigation-link ul.kb-navigation-sub-menu li a:hover {
	background: #f0f7ff !important;
	color: #004b87 !important;
	padding-left: 22px !important;
}

/* ==========================================================================
   23. PRODUITS SIMILAIRES : 5 SUR LA MÊME LIGNE & PLUS PETITS
   ========================================================================== */
.single-product .related.products {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid #e2e8f0;
}

.single-product .related.products > h2 {
	font-size: 1.4rem !important;
	color: #071e3d !important;
	font-weight: 800 !important;
	margin-bottom: 1.25rem !important;
}

.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 1rem !important;
}

@media (max-width: 1024px) {
	.single-product .related.products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.single-product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.single-product .related.products ul.products li.product {
	padding: 0.75rem !important;
	border-radius: 10px !important;
	border: 1px solid #e2e8f0 !important;
	background: #ffffff !important;
	margin-bottom: 0 !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.85rem !important;
	line-height: 1.3 !important;
	margin: 0.5rem 0 0.35rem 0 !important;
	height: 2.6em;
	overflow: hidden;
}

.single-product .related.products ul.products li.product .price {
	font-size: 0.9rem !important;
	color: #004b87 !important;
	font-weight: 800 !important;
	margin-bottom: 0.5rem !important;
}

.single-product .related.products ul.products li.product .button {
	font-size: 0.75rem !important;
	padding: 5px 10px !important;
	border-radius: 9999px !important;
}

/* ==========================================================================
   24. SIDEBAR STICKY GAUCHE AVEC NAVIGATION À FACETTES & ZONE REVIVE ADS 300x250
   ========================================================================== */
.bsc-faceted-sidebar-sticky {
	position: sticky;
	top: 90px;
	z-index: 20;
}

.bsc-filter-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1.25rem;
	box-shadow: 0 4px 14px rgba(7, 30, 61, 0.04);
}

.bsc-filter-header {
	padding-bottom: 0.75rem;
	margin-bottom: 0.75rem;
	border-bottom: 1px solid #f1f5f9;
}

.bsc-filter-categories-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.bsc-filter-cat-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.bsc-filter-cat-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1;
	padding: 6px 8px;
	border-radius: 6px;
	color: #334155;
	text-decoration: none !important;
	font-size: 0.88rem;
	font-weight: 600;
	transition: all 0.15s ease;
}

.bsc-filter-cat-link:hover,
.bsc-filter-cat-link.current {
	background: #f0f7ff;
	color: #004b87;
}

.bsc-filter-cat-count {
	font-size: 0.75rem;
	background: #f1f5f9;
	color: #64748b;
	padding: 2px 7px;
	border-radius: 9999px;
	font-weight: 700;
}

.bsc-cat-toggle-btn {
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px 8px;
	color: #64748b;
	font-size: 0.9rem;
}

.bsc-filter-subcats-wrap {
	padding-left: 14px;
	margin-top: 3px;
	margin-bottom: 6px;
	border-left: 2px solid #e2e8f0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.bsc-filter-subcat-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 4px 6px;
	font-size: 0.82rem;
	color: #475569;
	text-decoration: none !important;
	border-radius: 4px;
}

.bsc-filter-subcat-link:hover,
.bsc-filter-subcat-link.current {
	background: #f0f7ff;
	color: #004b87;
}

.bsc-filter-pills-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.bsc-filter-pill-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	padding: 4px 10px;
	border-radius: 9999px;
	font-size: 0.8rem;
	font-weight: 600;
	color: #334155;
	text-decoration: none !important;
	transition: all 0.15s ease;
}

.bsc-filter-pill-item:hover {
	background: #004b87;
	border-color: #004b87;
	color: #ffffff;
}

/* Zone Revive Ads 300x250 */
.bsc-revive-ad-wrapper {
	width: 300px;
	margin: 1.5rem auto 0 auto;
}

.bsc-revive-ad-label {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #94a3b8;
	font-weight: 700;
	text-align: center;
	margin-bottom: 4px;
}

.bsc-revive-ad-box {
	width: 300px;
	height: 250px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	overflow: hidden;
	background: #f8fafc;
	position: relative;
	box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.bsc-revive-ad-fallback {
	padding: 24px 18px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	background: linear-gradient(180deg, #f8fafc 0%, #eef4f9 100%);
}

/* ==========================================================================
   25. WIDGET FLOTTANT WHATSAPP MULTI-NUMÉROS
   ========================================================================== */
.bsc-whatsapp-multi-wrap {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 99999;
	font-family: var(--bsc-font-body);
}

.bsc-wa-floating-btn {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #25D366;
	border: none;
	box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: relative;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.bsc-wa-floating-btn:hover {
	transform: scale(1.08);
}

.bsc-wa-btn-pulse {
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #25D366;
	opacity: 0.6;
	animation: bsc-wa-pulse 2s infinite;
	z-index: -1;
}

@keyframes bsc-wa-pulse {
	0% { transform: scale(1); opacity: 0.6; }
	100% { transform: scale(1.4); opacity: 0; }
}

.bsc-wa-modal {
	position: absolute;
	bottom: 74px;
	right: 0;
	width: 330px;
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(7, 30, 61, 0.22);
	border: 1px solid #e2e8f0;
	overflow: hidden;
	animation: bsc-modal-slide 0.25s ease-out;
}

@keyframes bsc-modal-slide {
	from { opacity: 0; transform: translateY(12px) scale(0.96); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.bsc-wa-modal-header {
	background: #004b87;
	padding: 16px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.bsc-wa-avatar-wrap {
	position: relative;
	width: 40px;
	height: 40px;
}

.bsc-wa-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ffffff;
	object-fit: contain;
	padding: 2px;
}

.bsc-wa-online-dot {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #22c55e;
	border: 2px solid #004b87;
}

.bsc-wa-modal-close {
	background: transparent;
	border: none;
	color: #ffffff;
	font-size: 24px;
	cursor: pointer;
	line-height: 1;
	padding: 0;
	opacity: 0.8;
}

.bsc-wa-modal-close:hover {
	opacity: 1;
}

.bsc-wa-modal-body {
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bsc-wa-channel {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.bsc-wa-channel:hover {
	background: #f0fdf4;
	border-color: #86efac;
	transform: translateX(3px);
}

.bsc-wa-channel-icon {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}

.bsc-wa-channel-info {
	flex: 1;
	min-width: 0;
}

.bsc-wa-channel-info strong {
	display: block;
	font-size: 0.86rem;
	color: #071e3d;
	line-height: 1.25;
}

.bsc-wa-channel-info span {
	display: block;
	font-size: 0.74rem;
	color: #64748b;
	margin-top: 2px;
}

.bsc-wa-channel-arrow {
	color: #22c55e;
	font-weight: 800;
	font-size: 1rem;
}

.bsc-wa-modal-footer {
	background: #f1f5f9;
	padding: 8px 18px;
	text-align: center;
	font-size: 0.75rem;
	color: #64748b;
	font-weight: 600;
}

@media (max-width: 768px) {
	.bsc-whatsapp-multi-wrap {
		bottom: 78px;
		right: 16px;
	}
	.bsc-wa-modal {
		width: calc(100vw - 32px);
		right: -6px;
	}
}

/* ==========================================================================
   23. SUPPRESSION INTÉGRALE DES BADGES DE RÉASSURANCE GÉNÉRIQUES & PAIEMENTS
   ========================================================================== */
.kadence-product-feature-list,
.kadence-product-payments,
.entry-summary .product-extra-features,
.entry-summary .product-payments,
.entry-summary .kadence-product-payments,
.product-content-element-extras,
.product-content-element-payments,
.kadence-product-payments-title,
.entry-summary .kadence-product-feature-list {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

/* ==========================================================================
   24. MÉTADONNÉES PRODUIT (RÉF, CATÉGORIE, MARQUE) - HAUTE LISIBILITÉ SOBRE
   ========================================================================== */
.single-product .product_meta {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin-top: 1.5rem !important;
	padding-top: 1.25rem !important;
	border-top: 1px solid #e2e8f0 !important;
	font-size: 0.95rem !important;
	line-height: 1.6 !important;
	color: #334155 !important;
}

.single-product .product_meta > span {
	display: inline-flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	color: #334155 !important;
	font-weight: 600 !important;
}

.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as,
.single-product .product_meta .brand_wrapper {
	color: #334155 !important;
	font-weight: 600 !important;
}

.single-product .product_meta .sku {
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	color: #0f172a !important;
	background: #f1f5f9 !important;
	padding: 3px 10px !important;
	border-radius: 6px !important;
	border: 1px solid #cbd5e1 !important;
	letter-spacing: 0.02em !important;
}

.single-product .product_meta a {
	color: #1e293b !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-decoration-color: #cbd5e1 !important;
	text-underline-offset: 3px !important;
	transition: all 0.2s ease !important;
}

.single-product .product_meta a:hover {
	color: #004b87 !important;
	text-decoration-color: #004b87 !important;
}

/* ==========================================================================
   25. CARROUSEL BIG IMAGE PRODUITS SIMILAIRES (3 ARTICLES, ROTATION 5s)
   ========================================================================== */
.single-product .related.products,
.single-product .upsells.products,
section.related.products,
section.upsells.products {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	position: relative !important;
	margin-top: 3.5rem !important;
	padding-top: 2rem !important;
	border-top: 1px solid #e2e8f0 !important;
}

.single-product .related.products > h2 {
	font-family: var(--bsc-font-heading) !important;
	font-size: 1.5rem !important;
	color: #071e3d !important;
	font-weight: 800 !important;
	margin-bottom: 1.5rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.bsc-carousel-nav-arrows {
	display: inline-flex;
	gap: 8px;
}

.bsc-car-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	color: #004b87;
	font-size: 1.1rem;
	font-weight: bold;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	transition: all 0.2s ease;
}

.bsc-car-btn:hover {
	background: #004b87;
	color: #ffffff;
	border-color: #004b87;
	transform: scale(1.05);
}

.single-product .related.products ul.products {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto !important;
	scroll-snap-type: x mandatory !important;
	scroll-behavior: smooth !important;
	gap: 24px !important;
	margin: 0 !important;
	padding: 8px 4px 20px 4px !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

.single-product .related.products ul.products::-webkit-scrollbar {
	display: none !important;
}

.single-product .related.products ul.products li.product {
	flex: 0 0 calc((100% - 48px) / 3) !important;
	max-width: calc((100% - 48px) / 3) !important;
	width: calc((100% - 48px) / 3) !important;
	scroll-snap-align: start !important;
	box-sizing: border-box !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

.single-product .related.products ul.products li.product:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 12px 28px rgba(7, 30, 61, 0.12) !important;
	border-color: #cbd5e1 !important;
}

/* BIG IMAGE : Hauteur généreuse et qualité maximale */
.single-product .related.products ul.products li.product .woocommerce-loop-image-link {
	display: block !important;
	width: 100% !important;
	height: 280px !important;
	overflow: hidden !important;
	background: #f8fafc !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-image-link img,
.single-product .related.products ul.products li.product img.attachment-woocommerce_thumbnail {
	width: 100% !important;
	height: 280px !important;
	object-fit: cover !important;
	transition: transform 0.35s ease !important;
}

.single-product .related.products ul.products li.product:hover img {
	transform: scale(1.05) !important;
}

.single-product .related.products ul.products li.product .kadence-product-loop-title {
	font-size: 1.02rem !important;
	font-weight: 700 !important;
	color: #071e3d !important;
	margin: 14px 16px 8px 16px !important;
	line-height: 1.4 !important;
}

.single-product .related.products ul.products li.product .price {
	margin: 0 16px 16px 16px !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: #004b87 !important;
}

/* Points de pagination du carrousel */
.bsc-carousel-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 1rem;
}

.bsc-car-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #cbd5e1;
	border: none;
	cursor: pointer;
	padding: 0;
	transition: all 0.25s ease;
}

.bsc-car-dot.is-active {
	background: #004b87;
	width: 26px;
	border-radius: 6px;
}

@media (max-width: 1024px) {
	.single-product .related.products ul.products li.product {
		flex: 0 0 calc((100% - 20px) / 2) !important;
		max-width: calc((100% - 20px) / 2) !important;
		width: calc((100% - 20px) / 2) !important;
	}
	.single-product .related.products ul.products li.product .woocommerce-loop-image-link,
	.single-product .related.products ul.products li.product .woocommerce-loop-image-link img {
		height: 250px !important;
	}
}

@media (max-width: 640px) {
	.single-product .related.products ul.products li.product {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	.single-product .related.products ul.products li.product .woocommerce-loop-image-link,
	.single-product .related.products ul.products li.product .woocommerce-loop-image-link img {
		height: 270px !important;
	}
}

/* ==========================================================================
   26. BARRE D'ACCÈS RAPIDE FOOTER (BONS PLANS, PRO, MATÉRIEL, CONTACT)
   ========================================================================== */
.bsc-footer-quick-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	padding: 12px 20px;
	margin-bottom: 2.25rem;
}

.bsc-quick-bar-label {
	color: #94a3b8;
	font-weight: 700;
	font-size: 0.88rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.bsc-quick-link {
	color: #ffffff !important;
	text-decoration: none !important;
	font-size: 0.88rem;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	transition: all 0.2s ease;
}

.bsc-quick-link:hover {
	background: #FFDE39;
	color: #071e3d !important;
	transform: translateY(-1px);
}

.bsc-quick-badge {
	background: rgba(255, 222, 57, 0.2);
	color: #FFDE39 !important;
	border: 1px solid rgba(255, 222, 57, 0.3);
}

.bsc-quick-badge:hover {
	background: #FFDE39;
	color: #071e3d !important;
}

/* ==========================================================================
   27. HEADER PROFESSIONNEL : RECHERCHE CENTRÉE ÉLARGIE & MENU FULL WIDTH
   ========================================================================== */
/* Row 1 (Logo, Recherche centrée élargie, Panier) */
.wp-block-kadence-header-row3405_3f53fa-ff {
	background: #ffffff !important;
	border-bottom: 1px solid #e2e8f0 !important;
	padding: 10px 0 !important;
}

.wp-block-kadence-header-row3405_3f53fa-ff .kadence-header-row-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
	gap: 24px !important;
}

.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-section3405_e799bc-07 {
	flex: 0 0 auto !important;
}

.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-column-center {
	flex: 1 1 auto !important;
	max-width: 680px !important;
	margin: 0 auto !important;
	display: flex !important;
	justify-content: center !important;
}

.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-section3405_c3a8a8-42 {
	flex: 0 0 auto !important;
	display: flex !important;
	align-items: center !important;
}

/* --- ADAPTATION MOBILE DU HEADER & NETTOYAGE FIRST CONTENT SEO (SERP) --- */
@media (max-width: 860px) {
	/* Masquage de la topbar d'adresse et de l'ancienne bande bleue vide sur mobile */
	.bsc-topbar {
		display: none !important;
	}

	.wp-block-kadence-header-row3405_2bcb94-da,
	.wp-block-kadence-header-row-bottom {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		overflow: hidden !important;
	}

	/* Masquage du bandeau défilant sur les pages catégories & produits pour laisser le H1 en First Content */
	body:not(.home) .bsc-marquee-wrapper {
		display: none !important;
	}
	.wp-block-kadence-header-row3405_3f53fa-ff {
		padding: 8px 0 !important;
	}

	.wp-block-kadence-header-row3405_3f53fa-ff .kadence-header-row-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		padding: 0 16px !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: 12px !important;
		min-height: 52px !important;
	}

	/* 1. Le Logo bestsub sur la gauche */
	.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-section3405_e799bc-07,
	.wp-block-kadence-header-row-center .wp-block-kadence-header-section:first-child {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		display: flex !important;
		justify-content: flex-start !important;
		align-items: center !important;
		margin: 0 !important;
		text-align: left !important;
	}

	.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-section3405_e799bc-07 .kb-identity,
	.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-section3405_e799bc-07 .wp-block-site-logo {
		margin-right: 0 !important;
		margin-left: 0 !important;
		margin: 0 !important;
		display: flex !important;
		justify-content: flex-start !important;
		text-align: left !important;
		width: auto !important;
	}

	.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-section3405_e799bc-07 a {
		display: inline-block !important;
		margin: 0 !important;
		line-height: 1 !important;
	}

	.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-section3405_e799bc-07 .custom-logo {
		max-width: 170px !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		display: block !important;
	}

	/* 2. RECHERCHE MASQUÉE SUR MOBILE (Accessible au doigt via le pied de page sticky) */
	.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-column-center,
	.wp-block-kadence-header-row-center .wp-block-kadence-header-column-center,
	.wp-block-kadence-header-desktop .wp-block-kadence-header-column-center {
		display: none !important;
	}

	/* 3. Bouton Panier sur la MÊME LIGNE que le logo à droite */
	.wp-block-kadence-header-row3405_3f53fa-ff .wp-block-kadence-header-section3405_c3a8a8-42,
	.wp-block-kadence-header-row-center .wp-block-kadence-header-section:last-child {
		flex: 0 0 auto !important;
		display: flex !important;
		align-items: center !important;
		margin: 0 !important;
	}

	#bsc-header-cart-wrap {
		display: inline-flex !important;
		margin: 0 !important;
	}

	.bsc-header-cart-link {
		height: 38px !important;
		padding: 0 14px !important;
		font-size: 0.85rem !important;
		font-weight: 700 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		white-space: nowrap !important;
		border-radius: 9999px !important;
		box-sizing: border-box !important;
		box-shadow: 0 2px 8px rgba(0, 75, 135, 0.18) !important;
	}
}

/* Row 2 : Menu en Full Width sous le logo et panier */
.wp-block-kadence-header-row3405_2bcb94-da {
	background: #004b87 !important; /* Bleu BestSub Caraïbes */
	border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
	box-shadow: 0 4px 14px rgba(7, 30, 61, 0.12) !important;
	padding: 0 !important;
	min-height: 48px !important;
}

.wp-block-kadence-header-row3405_2bcb94-da .kadence-header-row-inner {
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.wp-block-kadence-header-row3405_2bcb94-da .wp-block-kadence-navigation {
	width: 100% !important;
}

.wp-block-kadence-header-row3405_2bcb94-da .wp-block-kadence-navigation ul.menu {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	flex-wrap: wrap !important;
}

.wp-block-kadence-header-row3405_2bcb94-da .wp-block-kadence-navigation ul.menu > li > .kb-link-wrap > a {
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	padding: 12px 18px !important;
	display: inline-flex !important;
	align-items: center !important;
	transition: all 0.2s ease !important;
	border-radius: 6px !important;
	text-decoration: none !important;
}

.wp-block-kadence-header-row3405_2bcb94-da .wp-block-kadence-navigation ul.menu > li:hover > .kb-link-wrap > a {
	background: rgba(255, 255, 255, 0.16) !important;
	color: #FFDE39 !important; /* Jaune BestSub au survol */
}

.wp-block-kadence-header-row3405_2bcb94-da .wp-block-kadence-navigation-link.menu-item-has-children > .kb-link-wrap > a::after {
	border-right-color: #FFDE39 !important;
	border-bottom-color: #FFDE39 !important;
}

/* Volets déroulants du menu Full Width */
.wp-block-kadence-header-row3405_2bcb94-da .wp-block-kadence-navigation ul.sub-menu {
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 12px !important;
	box-shadow: 0 16px 36px rgba(7, 30, 61, 0.18) !important;
	padding: 8px 0 !important;
	min-width: 240px !important;
	top: 100% !important;
}

.wp-block-kadence-header-row3405_2bcb94-da .wp-block-kadence-navigation ul.sub-menu li a {
	color: #071e3d !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	padding: 9px 20px !important;
}

.wp-block-kadence-header-row3405_2bcb94-da .wp-block-kadence-navigation ul.sub-menu li a:hover {
	background: #f0f7ff !important;
	color: #004b87 !important;
	padding-left: 24px !important;
}

/* ==========================================================================
   28. CORRECTION LARGEUR FICHE ARTICLE & CONTRAINTE CARROUSEL STRICTE
   ========================================================================== */
body.single-product {
	overflow-x: hidden !important;
}

.single-product .site-container,
.single-product .content-container,
.single-product #primary,
.single-product #main,
.single-product .product {
	max-width: 1280px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

.single-product .entry-content {
	max-width: 100% !important;
	overflow: hidden !important;
}

/* Section Produits Similaires Pleine Largeur sur PC */
.single-product .related.products,
.single-product .upsells.products,
section.related.products,
section.upsells.products {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	margin-top: 3rem !important;
	padding-top: 2rem !important;
}

.single-product .related.products ul.products {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto !important;
	scroll-snap-type: x mandatory !important;
	scroll-behavior: smooth !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: 10px 4px 20px 4px !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important; /* EMPÊCHE L'ÉTIREMENT DE TOUTE LA PAGE */
	box-sizing: border-box !important;
}

.single-product .related.products ul.products li.product {
	min-width: 0 !important;
	flex: 0 0 calc((100% - 40px) / 3) !important;
	width: calc((100% - 40px) / 3) !important;
	max-width: calc((100% - 40px) / 3) !important;
	scroll-snap-align: start !important;
	box-sizing: border-box !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-image-link,
.single-product .related.products ul.products li.product .woocommerce-loop-image-link img,
.single-product .related.products ul.products li.product img.attachment-woocommerce_thumbnail {
	height: 240px !important;
	width: 100% !important;
	object-fit: cover !important;
}

@media (max-width: 1024px) {
	.single-product .related.products ul.products li.product {
		flex: 0 0 calc((100% - 20px) / 2) !important;
		width: calc((100% - 20px) / 2) !important;
		max-width: calc((100% - 20px) / 2) !important;
	}
	.single-product .related.products ul.products li.product .woocommerce-loop-image-link,
	.single-product .related.products ul.products li.product .woocommerce-loop-image-link img {
		height: 220px !important;
	}
}

@media (max-width: 640px) {
	.single-product .related.products ul.products li.product {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.single-product .related.products ul.products li.product .woocommerce-loop-image-link,
	.single-product .related.products ul.products li.product .woocommerce-loop-image-link img {
		height: 250px !important;
	}
}

/* ==========================================================================
   29. MODULE DE PERSONNALISATION / SUPPORT VIERGE (FICHE ARTICLE)
   ========================================================================== */
.bsc-customizer-wrapper {
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 1.25rem !important;
	margin: 1.5rem 0 !important;
	box-shadow: 0 4px 15px rgba(7, 30, 61, 0.05) !important;
}

.bsc-cust-options-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 12px !important;
	margin-bottom: 0.5rem !important;
}

.bsc-cust-radio-card {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	border: 2px solid #e2e8f0 !important;
	border-radius: 10px !important;
	padding: 0.85rem 1rem !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	background: #f8fafc !important;
	user-select: none !important;
}

.bsc-cust-radio-card:hover {
	border-color: #004b87 !important;
	background: #f0f7ff !important;
}

.bsc-cust-radio-card.active {
	border-color: #004b87 !important;
	background: #f0f7ff !important;
	box-shadow: 0 4px 12px rgba(0, 75, 135, 0.12) !important;
}

.bsc-cust-radio-card input[type="radio"] {
	margin-top: 3px !important;
	accent-color: #004b87 !important;
}

.bsc-cust-card-title {
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	color: #071e3d !important;
	display: block !important;
	margin-bottom: 2px !important;
}

.bsc-cust-card-sub {
	font-size: 0.78rem !important;
	color: #64748b !important;
	display: block !important;
	line-height: 1.35 !important;
}

/* MASQUÉ PAR DÉFAUT SI SUPPORT VIERGE SÉLECTIONNÉ */
.bsc-cust-drop-section {
	display: none;
	border-top: 1px solid #edf2f7 !important;
	padding-top: 1.15rem !important;
	margin-top: 1rem !important;
	animation: bscFadeIn 0.3s ease !important;
}

.bsc-cust-drop-section.is-open {
	display: block !important;
}

/* =========================================================================
 * 16. RETRAIT DÉFINITIF DE L'ENREGISTREMENT DANS UNE LISTE (FICHE ARTICLE & PANIER / CHECKOUT)
 * ========================================================================= */
.b2bking_purchaselist_productpage_wrap,
.b2bking_purchaselist_productpage_select,
.b2bking_purchaselist_productpage_add_button,
.b2bking_add_cart_to_purchase_list_button,
.b2bking_save_cart_to_list,
.b2bking_save_as_purchase_list,
.b2bking_purchaselist_checkout,
#b2bking_save_cart_to_list {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

/* =========================================================================
 * 30. BANDE DÉFILANTE (MARQUEE TICKER), STOCKS TEMPS RÉEL & DESIGN LUMINEUX
 * ========================================================================= */

/* Bande défilante d'annonces et d'offres phares */
.bsc-marquee-wrapper {
	background: linear-gradient(90deg, #071e3d 0%, #0c2d58 50%, #071e3d 100%);
	color: #ffffff;
	border-bottom: 2px solid #0284c7;
	display: flex;
	align-items: center;
	height: 40px;
	overflow: hidden;
	position: relative;
	z-index: 100;
	font-family: var(--bsc-font-body);
	box-shadow: 0 2px 10px rgba(7, 30, 61, 0.2);
}

.bsc-marquee-pill {
	flex-shrink: 0;
	background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 800;
	padding: 0 1rem;
	height: 100%;
	display: flex;
	align-items: center;
	gap: 0.45rem;
	letter-spacing: 0.04em;
	z-index: 2;
	box-shadow: 2px 0 8px rgba(0,0,0,0.25);
	white-space: nowrap;
}

.bsc-marquee-pulse {
	width: 8px;
	height: 8px;
	background: #ffffff;
	border-radius: 50%;
	animation: bscPulseDot 1.4s infinite;
}

@keyframes bscPulseDot {
	0% { transform: scale(0.9); opacity: 0.7; }
	50% { transform: scale(1.3); opacity: 1; }
	100% { transform: scale(0.9); opacity: 0.7; }
}

.bsc-marquee-viewport {
	flex: 1;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.bsc-marquee-track {
	display: inline-flex;
	align-items: center;
	gap: 1.5rem;
	white-space: nowrap;
	will-change: transform;
	animation: bscMarqueeContinuous 38s linear infinite;
}

.bsc-marquee-wrapper:hover .bsc-marquee-track {
	animation-play-state: paused;
}

.bsc-marquee-item {
	font-size: 0.8rem;
	color: #f1f5f9;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.bsc-marquee-item strong {
	color: #38bdf8;
	font-weight: 700;
}

.bsc-marquee-sep {
	color: #f59e0b;
	font-size: 0.75rem;
}

@keyframes bscMarqueeContinuous {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* Badges Produits Phares (Mug Blanc #1) */
.bsc-badge-bestseller {
	transition: transform 0.2s ease;
}
.bsc-badge-bestseller:hover {
	transform: scale(1.06);
}

/* Badges Stocks Temps Réel */
.bsc-realtime-stock-box {
	transition: all 0.2s ease;
}
.bsc-realtime-stock-box:hover {
	box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

.bsc-loop-stock-pill span {
	letter-spacing: 0.01em;
	transition: transform 0.15s ease;
}
.bsc-loop-stock-pill:hover span {
	transform: translateY(-1px);
}

/* Commandes interactives simulateur maquette */
.bsc-btn-ctrl-arrow:hover {
	background: #0284c7 !important;
	color: #ffffff !important;
	border-color: #0284c7 !important;
	transform: scale(1.08);
}
.bsc-btn-ctrl-arrow:active {
	transform: scale(0.95);
}

.bsc-mockup-handle {
	transition: transform 0.1s ease;
}
.bsc-mockup-handle:hover {
	transform: scale(1.25);
	background: #f59e0b !important;
}

/* Couleurs attrayantes boutons & CTAs */
.button.alt,
.woocommerce button.button.alt,
.single_add_to_cart_button,
a.button.alt {
	background: linear-gradient(135deg, #0284c7 0%, #004b87 100%) !important;
	border: none !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.button.alt:hover,
.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,
a.button.alt:hover {
	background: linear-gradient(135deg, #0369a1 0%, #071e3d 100%) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(7, 30, 61, 0.4) !important;
}


/* =========================================================================
 * 31. HERO MULTI-SLIDES INTERACTIF, AMBIANCE MOTION & DESIGN MOBILE ATTRACTIF
 * ========================================================================= */

/* --- HERO SLIDER WRAPPER --- */
.bsc-hero-slider-wrap {
	position: relative;
	background: linear-gradient(135deg, #051429 0%, #071e3d 45%, #033c5e 100%);
	border-radius: 20px;
	padding: 3rem 2.5rem 2.25rem 2.5rem;
	color: #ffffff;
	margin: 1.5rem 0 3rem 0;
	box-shadow: 0 20px 50px rgba(5, 20, 41, 0.22);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
}

/* Aura Lumineuse d'ambiance Caraïbes (Ultra-légère, 0 KB vidéo, 60fps GPU) */
.bsc-hero-ambient-aura {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
	z-index: 1;
}

.bsc-aura-blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	opacity: 0.35;
	will-change: transform;
}

.bsc-aura-1 {
	top: -10%;
	right: 15%;
	width: 380px;
	height: 380px;
	background: radial-gradient(circle, #0284c7 0%, rgba(2, 132, 199, 0) 70%);
	animation: bscAuraGlow 12s ease-in-out infinite alternate;
}

.bsc-aura-2 {
	bottom: -20%;
	left: 5%;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, #fbbf24 0%, rgba(251, 191, 36, 0) 70%);
	opacity: 0.22;
	animation: bscAuraGlow 16s ease-in-out infinite alternate-reverse;
}

.bsc-aura-3 {
	top: 30%;
	right: -5%;
	width: 280px;
	height: 280px;
	background: radial-gradient(circle, #10b981 0%, rgba(16, 185, 129, 0) 70%);
	opacity: 0.2;
}

@keyframes bscAuraGlow {
	0% { transform: scale(1) translate(0, 0); }
	50% { transform: scale(1.15) translate(-20px, 15px); }
	100% { transform: scale(0.95) translate(15px, -20px); }
}

/* Container & Slides */
.bsc-hero-slides {
	position: relative;
	min-height: 440px;
	z-index: 2;
}

.bsc-hero-slide {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 2.5rem;
	opacity: 0;
	transform: scale(0.98);
	transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.bsc-hero-slide.active {
	display: flex;
	opacity: 1;
	transform: scale(1);
}

.bsc-hero-content {
	flex: 1.25;
	max-width: 640px;
}

.bsc-hero-visual {
	flex: 0.95;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

/* Badge Eyebrow */
.bsc-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	background: rgba(2, 132, 199, 0.25);
	color: #38bdf8;
	padding: 0.35rem 0.95rem;
	border-radius: 9999px;
	font-weight: 800;
	font-size: 0.78rem;
	letter-spacing: 0.03em;
	margin-bottom: 1.15rem;
	border: 1px solid rgba(56, 189, 248, 0.35);
	backdrop-filter: blur(8px);
}

.bsc-badge-pulse {
	width: 8px;
	height: 8px;
	background: #38bdf8;
	border-radius: 50%;
	animation: bscDotPulse 1.5s infinite;
}

@keyframes bscDotPulse {
	0% { transform: scale(0.8); opacity: 0.6; }
	50% { transform: scale(1.3); opacity: 1; }
	100% { transform: scale(0.8); opacity: 0.6; }
}

/* Titres & Dégradés Hero */
.bsc-hero-title {
	font-size: 2.5rem !important;
	line-height: 1.2 !important;
	margin: 0 0 1rem 0 !important;
	color: #ffffff !important;
	font-family: var(--bsc-font-heading) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
}

.bsc-gradient-text {
	background: linear-gradient(135deg, #38bdf8 0%, #fbbf24 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}

.bsc-hero-desc {
	font-size: 1.05rem;
	color: #cbd5e1;
	line-height: 1.6;
	margin: 0 0 2rem 0;
}

/* Boutons d'Action */
.bsc-hero-actions {
	display: flex;
	gap: 0.85rem;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 2.25rem;
}

.bsc-hero-btn-primary {
	background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
	color: #071e3d !important;
	padding: 0.85rem 1.75rem;
	border-radius: 9999px;
	font-weight: 800;
	font-size: 0.95rem;
	text-decoration: none !important;
	box-shadow: 0 4px 18px rgba(251, 191, 36, 0.35);
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.bsc-hero-btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(251, 191, 36, 0.45);
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.bsc-hero-btn-secondary,
.bsc-hero-btn-video {
	display: none !important;
}

.bsc-video-icon {
	width: 22px;
	height: 22px;
	background: #38bdf8;
	color: #071e3d;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 900;
}

/* Statistiques du Hero */
.bsc-hero-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 1.5rem;
}

.bsc-hero-stat strong {
	display: block;
	font-size: 1.45rem;
	color: #38bdf8;
	font-weight: 800;
	line-height: 1.2;
}

.bsc-hero-stat span {
	font-size: 0.78rem;
	color: #94a3b8;
}

/* Carte Visuelle Flottante (Visual Showcase) */
.bsc-visual-card {
	position: relative;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(12px);
	border: 1.5px solid rgba(255, 255, 255, 0.16);
	border-radius: 20px;
	padding: 2.25rem 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
	max-width: 360px;
	width: 100%;
}

.bsc-visual-glow {
	position: absolute;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle, rgba(2, 132, 199, 0.4) 0%, rgba(2, 132, 199, 0) 70%);
	filter: blur(25px);
	z-index: 1;
}

.bsc-visual-img {
	max-height: 270px;
	width: auto;
	object-fit: contain;
	position: relative;
	z-index: 2;
	filter: drop-shadow(0 15px 25px rgba(0, 0, 0, 0.4));
	transition: transform 0.4s ease;
}

.bsc-visual-card:hover .bsc-visual-img {
	transform: scale(1.05) rotate(1deg);
}

/* Pastilles Flottantes */
.bsc-floating-pill {
	position: absolute;
	background: rgba(7, 30, 61, 0.88);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 12px;
	padding: 0.45rem 0.85rem;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	z-index: 3;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
	animation: bscFloatPill 4s ease-in-out infinite alternate;
}

.bsc-pill-top {
	top: -12px;
	right: -10px;
}

.bsc-pill-bottom {
	bottom: -12px;
	left: -10px;
	animation-delay: 2s;
}

.bsc-floating-pill strong {
	font-size: 0.78rem;
	color: #ffffff;
	display: block;
	line-height: 1.2;
}

.bsc-floating-pill small {
	font-size: 0.68rem;
	color: #38bdf8;
	display: block;
}

.bsc-pill-icon {
	font-size: 1.15rem;
}

.bsc-badge-overlay {
	position: absolute;
	top: 14px;
	left: 14px;
	background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 800;
	padding: 0.25rem 0.65rem;
	border-radius: 9999px;
	z-index: 3;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

@keyframes bscFloatPill {
	0% { transform: translateY(0); }
	100% { transform: translateY(-6px); }
}

/* Carte Showcase Espace Pro */
.bsc-pro-card-showcase {
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(12px);
	border: 1.5px solid rgba(255, 255, 255, 0.16);
	border-radius: 20px;
	padding: 1.75rem;
	max-width: 380px;
	width: 100%;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

.bsc-pro-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	padding-bottom: 0.75rem;
}

.bsc-pro-chip {
	font-size: 0.75rem;
	font-weight: 800;
	color: #fbbf24;
	letter-spacing: 0.04em;
}

.bsc-pro-tag {
	font-size: 0.68rem;
	background: rgba(251, 191, 36, 0.2);
	color: #fbbf24;
	padding: 0.15rem 0.5rem;
	border-radius: 9999px;
	font-weight: 700;
}

.bsc-pro-perk {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.95rem;
}

.bsc-perk-icon {
	font-size: 1.25rem;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bsc-pro-perk strong {
	display: block;
	font-size: 0.85rem;
	color: #ffffff;
}

.bsc-pro-perk span {
	font-size: 0.74rem;
	color: #cbd5e1;
	line-height: 1.35;
	display: block;
}

.bsc-pro-cta-btn {
	display: block;
	text-align: center;
	background: #fbbf24;
	color: #071e3d !important;
	font-weight: 800;
	font-size: 0.85rem;
	padding: 0.65rem 1rem;
	border-radius: 8px;
	text-decoration: none !important;
	margin-top: 1.25rem;
	transition: background 0.2s ease;
}

.bsc-pro-cta-btn:hover {
	background: #f59e0b;
}

/* Flèches Précédent / Suivant */
.bsc-slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(7, 30, 61, 0.65);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #ffffff;
	font-size: 1.1rem;
	cursor: pointer;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.bsc-slider-prev { left: 14px; }
.bsc-slider-next { right: 14px; }

.bsc-slider-arrow:hover {
	background: #0284c7;
	border-color: #38bdf8;
	transform: translateY(-50%) scale(1.1);
	box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4);
}

/* Onglets & Barres de Progression */
.bsc-slider-tabs {
	display: flex;
	gap: 0.85rem;
	margin-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 1.25rem;
	position: relative;
	z-index: 2;
}

.bsc-slider-tab {
	flex: 1;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	padding: 0.65rem 0.95rem;
	cursor: pointer;
	text-align: left;
	position: relative;
	overflow: hidden;
	transition: all 0.2s ease;
}

.bsc-slider-tab:hover {
	background: rgba(255, 255, 255, 0.1);
}

.bsc-slider-tab.active {
	background: rgba(2, 132, 199, 0.2);
	border-color: rgba(56, 189, 248, 0.5);
}

.bsc-tab-progress {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: rgba(255, 255, 255, 0.1);
}

.bsc-tab-bar {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, #38bdf8 0%, #fbbf24 100%);
	display: block;
}

@keyframes bscTabProgress {
	0% { width: 0%; }
	100% { width: 100%; }
}

.bsc-tab-num {
	font-size: 0.72rem;
	font-weight: 800;
	color: #38bdf8;
	margin-right: 0.35rem;
}

.bsc-tab-label {
	font-size: 0.82rem;
	font-weight: 700;
	color: #ffffff;
}

/* Modal Lightbox Vidéo */
.bsc-video-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
}

.bsc-video-modal.is-open {
	display: flex;
	animation: bscFadeIn 0.25s ease;
}

.bsc-video-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 20, 41, 0.85);
	backdrop-filter: blur(8px);
}

.bsc-video-modal-box {
	position: relative;
	z-index: 2;
	background: #071e3d;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 16px;
	max-width: 820px;
	width: 100%;
	padding: 1.5rem;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6);
}

.bsc-video-modal-close {
	position: absolute;
	top: 14px;
	right: 14px;
	background: rgba(255, 255, 255, 0.12);
	border: none;
	color: #ffffff;
	font-size: 1.5rem;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
}

.bsc-video-modal-close:hover {
	background: #ef4444;
}

.bsc-video-modal-header {
	margin-bottom: 1rem;
}

.bsc-video-modal-pill {
	display: inline-block;
	background: rgba(2, 132, 199, 0.25);
	color: #38bdf8;
	font-size: 0.72rem;
	font-weight: 800;
	padding: 0.2rem 0.6rem;
	border-radius: 9999px;
	margin-bottom: 0.4rem;
}

.bsc-video-modal-header h3 {
	margin: 0 0 0.25rem 0;
	color: #ffffff;
	font-size: 1.35rem;
}

.bsc-video-modal-header p {
	margin: 0;
	color: #94a3b8;
	font-size: 0.85rem;
}

.bsc-video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	border-radius: 10px;
	overflow: hidden;
	background: #000;
}

.bsc-video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.bsc-video-modal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 1rem;
	font-size: 0.82rem;
	color: #cbd5e1;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.bsc-modal-cta {
	background: #fbbf24;
	color: #071e3d !important;
	font-weight: 800;
	padding: 0.45rem 1rem;
	border-radius: 9999px;
	text-decoration: none !important;
}

/* =========================================================================
 * 32. STORIES MOBILE STYLE INSTAGRAM (RAYONS PHARES)
 * ========================================================================= */
.bsc-stories-wrapper {
	margin: 1.25rem 0 1.5rem 0;
	padding: 0 0.25rem;
}

.bsc-stories-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.85rem;
}

.bsc-stories-title {
	font-size: 0.95rem;
	font-weight: 800;
	color: #071e3d;
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-family: var(--bsc-font-heading);
}

.bsc-stories-all {
	font-size: 0.82rem;
	font-weight: 700;
	color: #0284c7;
	text-decoration: none;
}

.bsc-stories-track {
	display: flex;
	gap: 1.15rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 0.4rem 0.25rem 0.85rem 0.25rem;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.bsc-stories-track::-webkit-scrollbar {
	display: none;
}

.bsc-story-item {
	flex-shrink: 0;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none !important;
	width: 72px;
	transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.bsc-story-item:hover,
.bsc-story-item:active {
	transform: scale(1.06);
}

.bsc-story-ring {
	width: 66px;
	height: 66px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--story-accent, #0284c7) 0%, #38bdf8 100%);
	padding: 2.5px;
	position: relative;
	box-shadow: 0 4px 12px rgba(2, 132, 199, 0.2);
}

.bsc-story-avatar {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #ffffff;
	border: 2px solid #ffffff;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bsc-story-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bsc-story-icon {
	font-size: 1.85rem;
}

.bsc-story-badge {
	position: absolute;
	bottom: -4px;
	left: 50%;
	transform: translateX(-50%);
	background: #071e3d;
	color: #ffffff;
	font-size: 0.58rem;
	font-weight: 800;
	padding: 1.5px 6px;
	border-radius: 9999px;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
	letter-spacing: 0.02em;
}

.bsc-story-title {
	font-size: 0.72rem;
	font-weight: 700;
	color: #1e293b;
	margin-top: 7px;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	width: 100%;
}

/* =========================================================================
 * 33. BARRE D'ACHAT RAPIDE STICKY SUR MOBILE (FICHE ARTICLE)
 * ========================================================================= */
.bsc-mobile-sticky-buy-bar {
	position: fixed;
	bottom: 60px;
	left: 0;
	right: 0;
	z-index: 99980;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(14px);
	border-top: 1px solid #e2e8f0;
	box-shadow: 0 -4px 20px rgba(7, 30, 61, 0.08);
	padding: 0.6rem 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	transform: translateY(140%);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.bsc-mobile-sticky-buy-bar.is-visible {
	transform: translateY(0);
}

.bsc-buy-bar-thumb {
	width: 42px;
	height: 42px;
	border-radius: 8px;
	overflow: hidden;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bsc-buy-bar-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bsc-buy-bar-info {
	flex: 1;
	min-width: 0;
}

.bsc-buy-bar-title {
	font-size: 0.8rem;
	font-weight: 700;
	color: #071e3d;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.3;
}

.bsc-buy-bar-price {
	font-size: 0.9rem;
	font-weight: 800;
	color: #f97316;
	display: block;
}

.bsc-buy-bar-cta {
	background: linear-gradient(135deg, #0284c7 0%, #004b87 100%);
	color: #ffffff !important;
	font-weight: 800;
	font-size: 0.84rem;
	padding: 0.55rem 1.15rem;
	border-radius: 9999px;
	border: none;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35);
	transition: all 0.2s ease;
}

.bsc-buy-bar-cta:active {
	transform: scale(0.96);
}

.bsc-catalog-mode .price,
.bsc-catalog-mode .woocommerce-Price-amount,
.bsc-catalog-mode .bsc-search-result-price,
.bsc-catalog-mode .bsc-buy-bar-price,
.bsc-catalog-mode .bsc-swipe-price,
.bsc-catalog-mode .bsc-cust-card-price,
.bsc-catalog-mode .single_add_to_cart_button,
.bsc-catalog-mode .add_to_cart_button,
.bsc-catalog-mode .bsc-mobile-sticky-buy-bar,
.bsc-catalog-mode .bsc-header-cart-wrap,
.bsc-catalog-mode .bsc-bottom-nav-item[title="Mon Panier"],
.bsc-catalog-mode .wc-block-mini-cart,
.bsc-catalog-mode .widget_shopping_cart,
.bsc-catalog-mode .kadence-woo-cart-toggle {
	display: none !important;
}

/* =========================================================================
 * 34. OPTIMISATION MOBILE DU CATALOGUE (GRILLE 2 COLONNES ULTRA-LUMINEUSE)
 * ========================================================================= */
@media (max-width: 640px) {
	/* Grille 2 colonnes ultra-propre */
	ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.65rem !important;
		margin-bottom: 2rem !important;
	}

	ul.products li.product {
		padding: 0.65rem !important;
		border-radius: 12px !important;
		box-shadow: 0 2px 8px rgba(7, 30, 61, 0.05) !important;
	}

	ul.products li.product img {
		aspect-ratio: 1/1 !important;
		object-fit: contain !important;
		border-radius: 8px !important;
		margin-bottom: 0.35rem !important;
	}

	ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.82rem !important;
		line-height: 1.25 !important;
		margin: 0.25rem 0 !important;
		min-height: 2.5em !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	ul.products li.product .price {
		font-size: 0.95rem !important;
		margin-bottom: 0.35rem !important;
	}

	ul.products li.product .button,
	.woocommerce ul.products li.product .button {
		font-size: 0.72rem !important;
		padding: 0.35rem 0.5rem !important;
		min-height: 28px !important;
		width: 100% !important;
		justify-content: center !important;
		border-radius: 6px !important;
	}

	.bsc-badge-bestseller {
		font-size: 0.62rem !important;
		padding: 0.2rem 0.45rem !important;
		top: 6px !important;
		right: 6px !important;
	}

	.bsc-loop-stock-pill span {
		font-size: 0.64rem !important;
		padding: 0.1rem 0.4rem !important;
	}

	/* Hero sur mobile */
	.bsc-hero-slider-wrap {
		padding: 1.75rem 1.25rem 1.5rem 1.25rem !important;
		border-radius: 16px !important;
		margin: 0.75rem 0 2rem 0 !important;
	}

	.bsc-hero-slides {
		min-height: auto !important;
	}

	.bsc-hero-slide {
		flex-direction: column !important;
		gap: 1.5rem !important;
	}

	.bsc-hero-title {
		font-size: 1.65rem !important;
		line-height: 1.25 !important;
	}

	.bsc-hero-desc {
		font-size: 0.92rem !important;
		margin-bottom: 1.35rem !important;
	}

	.bsc-hero-actions {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.65rem !important;
		margin-bottom: 1.5rem !important;
	}

	.bsc-hero-btn-primary,
	.bsc-hero-btn-secondary,
	.bsc-hero-btn-video {
		justify-content: center !important;
		text-align: center !important;
		padding: 0.75rem 1.25rem !important;
		font-size: 0.88rem !important;
	}

	.bsc-hero-stats {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.85rem !important;
	}

	.bsc-hero-stat strong {
		font-size: 1.25rem !important;
	}

	.bsc-visual-card {
		max-width: 100% !important;
		padding: 1.5rem 1.25rem !important;
	}

	.bsc-visual-img {
		max-height: 200px !important;
	}

	.bsc-slider-arrow {
		display: none !important; /* Navigation par balayage tactile sur mobile */
	}

	.bsc-slider-tabs {
		flex-direction: column !important;
		gap: 0.5rem !important;
		margin-top: 1.5rem !important;
	}

	.bsc-slider-tab {
		padding: 0.55rem 0.75rem !important;
	}

	.bsc-slider-tab.active .bsc-tab-label {
		color: #38bdf8 !important;
	}

	/* Simulateur tactile ergonomique */
	.bsc-mockup-handle {
		width: 32px !important;
		height: 32px !important;
		touch-action: none !important;
		font-size: 14px !important;
	}

	.bsc-btn-ctrl-arrow {
		width: 44px !important;
		height: 44px !important;
		font-size: 1.15rem !important;
	}

	/* Amélioration visuelle bottom bar */
	.bsc-sticky-bottom-bar {
		background: rgba(7, 30, 61, 0.96) !important;
		backdrop-filter: blur(16px) !important;
		border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	}

	.bsc-bottom-nav-item {
		color: #94a3b8 !important;
	}

	.bsc-bottom-nav-item.active {
		color: #38bdf8 !important;
	}

	.bsc-bottom-nav-badge {
		background: #fbbf24 !important;
		color: #071e3d !important;
		font-weight: 800 !important;
	}
}

/* =========================================================================
 * 35. SOUS-CATÉGORIES EN SWIPE HORIZONTAL (Remplace la grille 2 colonnes)
 * ========================================================================= */
.bsc-subcategories-swipe-container {
	margin: 0.75rem 0 1.5rem 0;
	width: 100%;
	box-sizing: border-box;
}

.bsc-subcategories-swipe-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.65rem;
	padding: 0 4px;
}

.bsc-subcats-title {
	font-size: 0.95rem;
	font-weight: 800;
	color: #071e3d;
	font-family: var(--bsc-font-heading);
	display: flex;
	align-items: center;
	gap: 6px;
}

.bsc-subcats-hint {
	font-size: 0.75rem;
	font-weight: 700;
	color: #0284c7;
}

.bsc-subcategories-swipe-track {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 12px !important;
	overflow-x: auto !important;
	scroll-snap-type: x mandatory !important;
	padding: 4px 4px 12px 4px !important;
	scrollbar-width: none !important;
	-webkit-overflow-scrolling: touch !important;
	list-style: none !important;
	margin: 0 !important;
}

.bsc-subcategories-swipe-track::-webkit-scrollbar {
	display: none;
}

.bsc-subcategories-swipe-track li.product-category {
	flex: 0 0 115px !important;
	width: 115px !important;
	max-width: 115px !important;
	scroll-snap-align: start !important;
	margin: 0 !important;
	padding: 10px 8px !important;
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 14px !important;
	box-shadow: 0 2px 8px rgba(7, 30, 61, 0.05) !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: space-between !important;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
	box-sizing: border-box !important;
}

.bsc-subcategories-swipe-track li.product-category:hover,
.bsc-subcategories-swipe-track li.product-category:active {
	transform: translateY(-2px) !important;
	border-color: #0284c7 !important;
	box-shadow: 0 4px 12px rgba(2, 132, 199, 0.15) !important;
}

.bsc-subcategories-swipe-track li.product-category a {
	text-decoration: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
}

.bsc-subcategories-swipe-track li.product-category img {
	width: 68px !important;
	height: 68px !important;
	object-fit: contain !important;
	margin: 0 auto 6px auto !important;
	border-radius: 8px !important;
	display: block !important;
}

.bsc-subcategories-swipe-track li.product-category .product-details,
.bsc-subcategories-swipe-track li.product-category .entry-content-wrap {
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	width: 100% !important;
}

.bsc-subcategories-swipe-track li.product-category .woocommerce-loop-category__title {
	font-size: 0.8rem !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	color: #071e3d !important;
	margin: 0 !important;
	text-align: center !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	width: 100% !important;
	display: block !important;
}

.bsc-subcategories-swipe-track li.product-category .count {
	display: inline-block !important;
	background: #e0f2fe !important;
	color: #0284c7 !important;
	font-size: 0.68rem !important;
	font-weight: 800 !important;
	padding: 1px 6px !important;
	border-radius: 9999px !important;
	margin-top: 3px !important;
}

/* Optimisation de la bannière shop sur mobile */
@media (max-width: 768px) {
	.bsc-shop-hero-banner {
		padding: 1.25rem 1rem !important;
		margin-bottom: 1rem !important;
		border-radius: 14px !important;
	}
	.bsc-shop-hero-banner h1 {
		font-size: 1.45rem !important;
		line-height: 1.25 !important;
		margin-bottom: 0.35rem !important;
	}
	.bsc-shop-hero-banner p {
		font-size: 0.85rem !important;
		line-height: 1.45 !important;
	}
}

/* =========================================================================
 * 36. OPTIMISATION MOBILE: SUPPRESSION DES MARGES INTÉRIEURES EXCESSIVES & PLEINE VISIBILITÉ
 * ========================================================================= */
@media (max-width: 768px) {
	/* Réduction drastique du padding de bordure globale Kadence (de 24px à 4px) */
	:root {
		--global-content-edge-padding: 4px !important;
		--global-content-boxed-padding: 4px !important;
	}

	#wrapper,
	#inner-wrap,
	#wrapper #inner-wrap,
	.archive.woocommerce #wrapper #inner-wrap,
	.archive.tax-product_cat #wrapper #inner-wrap,
	.site-container,
	.content-container,
	.content-container.site-container,
	.content-area,
	#primary,
	.site-main,
	main#main,
	.entry-content,
	.woocommerce {
		padding-left: 4px !important;
		padding-right: 4px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Suppression des marges inutiles du header woocommerce archive */
	.woocommerce-products-header,
	.kadence-shop-top-row {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Bannière Hero Shop compacte avec marges affleurantes */
	.bsc-shop-hero-banner {
		padding: 1rem 0.75rem !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 0.85rem !important;
		border-radius: 12px !important;
	}

	/* Les sections de carrousels s'étalent sur toute la largeur */
	.bsc-subcat-sections-wrapper {
		margin: 0.25rem 0 1.5rem 0 !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.bsc-subcat-row-section {
		margin-bottom: 1.5rem !important;
		padding-bottom: 0.75rem !important;
	}

	.bsc-subcat-products-swipe {
		margin-left: -4px !important;
		margin-right: -4px !important;
		width: calc(100% + 8px) !important;
	}

	.bsc-subcat-products-track {
		padding: 2px 4px 10px 4px !important;
		gap: 8px !important;
	}

	/* Grille produits WooCommerce mobile optimisée plein écran */
	ul.products.grid-cols,
	ul.products.grid-ss-col-2,
	ul.products {
		grid-column-gap: 8px !important;
		grid-row-gap: 10px !important;
		padding: 0 !important;
		margin: 0 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Cartes produits : marges intérieures fines pour agrandir l'image et le texte */
	ul.products li.product {
		padding: 6px 5px 8px 5px !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		background: #ffffff !important;
		border-radius: 12px !important;
		border: 1px solid #e2e8f0 !important;
		box-shadow: 0 2px 6px rgba(7, 30, 61, 0.05) !important;
	}

	ul.products li.product .entry-content-wrap {
		padding: 4px 2px 0 2px !important;
		margin: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}

	ul.products li.product a.woocommerce-loop-image-link {
		padding: 0 !important;
		margin: 0 0 4px 0 !important;
		background: #f8fafc;
		border-radius: 8px;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	ul.products li.product img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1/1 !important;
		object-fit: contain !important;
		border-radius: 8px !important;
		margin: 0 !important;
	}

	ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.82rem !important;
		line-height: 1.25 !important;
		margin: 0.2rem 0 !important;
		font-weight: 700 !important;
		color: #071e3d !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		min-height: 2.5em !important;
	}

	ul.products li.product .price {
		font-size: 0.88rem !important;
		font-weight: 800 !important;
		color: #004b87 !important;
		margin-bottom: 0.25rem !important;
	}

	/* Swipe sous-catégories plein écran avec marges affleurantes */
	.bsc-subcategories-swipe-container {
		margin: 0.25rem 0 1rem 0 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.bsc-subcategories-swipe-header {
		padding: 0 2px !important;
		margin-bottom: 0.45rem !important;
	}

	.bsc-subcategories-swipe-track {
		padding: 2px 2px 8px 2px !important;
		gap: 8px !important;
	}

	.bsc-subcategories-swipe-track li.product-category {
		flex: 0 0 100px !important;
		width: 100px !important;
		max-width: 100px !important;
		padding: 8px 4px !important;
	}

	.bsc-subcategories-swipe-track li.product-category img {
		width: 60px !important;
		height: 60px !important;
		margin-bottom: 4px !important;
	}

	.bsc-subcategories-swipe-track li.product-category .woocommerce-loop-category__title {
		font-size: 0.74rem !important;
	}
}

/* =========================================================================
 * 37. STRUCTURE PAR SOUS-CATÉGORIE AVEC CARROUSEL SWIPE HORIZONTAL (STYLE APP STORE / NETFLIX)
 * ========================================================================= */
body.bsc-has-subcat-carousels ul.products.product-archive,
body.bsc-has-subcat-carousels .kadence-shop-top-row,
body.bsc-has-subcat-carousels .woocommerce-pagination,
body.bsc-has-subcat-carousels .bsc-subcategories-swipe-container {
	display: none !important;
}

.bsc-subcat-sections-wrapper {
	width: 100%;
	margin: 0.5rem 0 2.5rem 0;
	box-sizing: border-box;
}

/* Barre de raccourcis rapides / pills vers chaque sous-catégorie */
.bsc-subcat-nav-quickbar {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 2px 14px 2px;
	margin-bottom: 1.25rem;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	box-sizing: border-box;
}
.bsc-subcat-nav-quickbar::-webkit-scrollbar {
	display: none;
}
.bsc-subcat-nav-pill {
	flex-shrink: 0;
	scroll-snap-align: start;
	background: #ffffff;
	border: 1.5px solid #e2e8f0;
	border-radius: 9999px;
	padding: 6px 14px;
	font-size: 0.82rem;
	font-weight: 700;
	color: #071e3d;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s ease;
	box-shadow: 0 2px 6px rgba(7, 30, 61, 0.04);
}
.bsc-subcat-nav-pill:hover,
.bsc-subcat-nav-pill:active {
	border-color: #0284c7;
	color: #0284c7;
	background: #f0f9ff;
	transform: translateY(-1px);
}
.bsc-subcat-nav-pill-count {
	background: #e0f2fe;
	color: #0284c7;
	font-size: 0.7rem;
	padding: 1px 6px;
	border-radius: 9999px;
	font-weight: 800;
}

/* Chaque bloc de sous-catégorie */
.bsc-subcat-row-section {
	margin-bottom: 2.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid #f1f5f9;
}
.bsc-subcat-row-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.85rem;
	padding: 0 4px;
}
.bsc-subcat-row-title-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
}
.bsc-subcat-row-title {
	font-size: 1.18rem !important;
	font-weight: 800 !important;
	color: #071e3d !important;
	font-family: var(--bsc-font-heading);
	margin: 0 !important;
}
.bsc-subcat-row-title a {
	color: #071e3d !important;
	text-decoration: none !important;
	transition: color 0.15s ease;
}
.bsc-subcat-row-title a:hover {
	color: #0284c7 !important;
}
.bsc-subcat-row-badge {
	background: #f1f5f9;
	color: #64748b;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 9999px;
}
.bsc-subcat-row-all {
	font-size: 0.84rem;
	font-weight: 700;
	color: #0284c7 !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: transform 0.15s ease;
}
.bsc-subcat-row-all:hover {
	transform: translateX(2px);
}

/* Le rail swipe de produits */
.bsc-subcat-products-swipe {
	position: relative;
	width: 100%;
}
.bsc-subcat-products-track {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 2px 14px 2px;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	margin: 0;
	list-style: none;
}
.bsc-subcat-products-track::-webkit-scrollbar {
	display: none;
}

/* Carte produit dans le swipe */
.bsc-swipe-product-card {
	flex: 0 0 152px;
	width: 152px;
	max-width: 152px;
	scroll-snap-align: start;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 8px;
	box-shadow: 0 2px 8px rgba(7, 30, 61, 0.04);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.bsc-swipe-product-card:hover {
	transform: translateY(-2px);
	border-color: #0284c7;
	box-shadow: 0 6px 16px rgba(2, 132, 199, 0.12);
}
.bsc-swipe-card-link {
	text-decoration: none !important;
	color: inherit !important;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.bsc-swipe-img-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 1/1;
	background: #f8fafc;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	overflow: hidden;
}
.bsc-swipe-img-wrap img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	border-radius: 8px;
	display: block;
	transition: transform 0.25s ease;
}
.bsc-swipe-product-card:hover .bsc-swipe-img-wrap img {
	transform: scale(1.05);
}
.bsc-swipe-badge-top {
	position: absolute;
	top: 6px;
	left: 6px;
	background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);
	color: #ffffff;
	font-size: 0.65rem;
	font-weight: 800;
	padding: 2px 6px;
	border-radius: 9999px;
	z-index: 2;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.bsc-swipe-info {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: space-between;
}
.bsc-swipe-title {
	font-size: 0.8rem !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	color: #071e3d !important;
	margin: 0 0 6px 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	min-height: 2.5em;
}
.bsc-swipe-price {
	font-size: 0.88rem !important;
	font-weight: 800 !important;
	color: #004b87 !important;
	margin-top: auto;
}

/* Carte finale "Explorer tout" */
.bsc-swipe-more-card {
	flex: 0 0 135px;
	width: 135px;
	max-width: 135px;
	scroll-snap-align: start;
	background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
	border: 1.5px dashed #38bdf8;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
	transition: all 0.2s ease;
}
.bsc-swipe-more-card:hover {
	background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
	border-color: #0284c7;
	transform: translateY(-2px);
}
.bsc-swipe-more-link {
	text-decoration: none !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1rem 0.5rem;
	width: 100%;
	height: 100%;
}
.bsc-more-icon {
	width: 38px;
	height: 38px;
	background: #0284c7;
	color: #ffffff;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 8px;
	box-shadow: 0 4px 10px rgba(2, 132, 199, 0.25);
}
.bsc-more-text {
	font-size: 0.78rem;
	font-weight: 800;
	color: #071e3d;
	line-height: 1.25;
	margin-bottom: 4px;
}
.bsc-more-count {
	font-size: 0.7rem;
	color: #0284c7;
	font-weight: 700;
}

@media (max-width: 580px) {
	.bsc-swipe-product-card {
		flex: 0 0 136px;
		width: 136px;
		max-width: 136px;
		padding: 6px;
	}
	.bsc-swipe-title {
		font-size: 0.76rem !important;
	}
	.bsc-swipe-price {
		font-size: 0.82rem !important;
	}
	.bsc-subcat-row-title {
		font-size: 1.05rem !important;
	}
	.bsc-subcat-products-track {
		gap: 8px;
		padding: 2px 2px 10px 2px;
	}
}

/* ==========================================================================
   28. TABLEAU DE BORD CLIENT MODERNISÉ (MON COMPTE WOOCOMMERCE)
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 16px;
	box-shadow: 0 4px 16px rgba(7, 30, 61, 0.04);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	padding: 10px 14px;
	border-radius: 8px;
	color: #334155;
	font-weight: 600;
	font-size: 0.92rem;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: #f0f7ff;
	color: #004b87;
	transform: translateX(3px);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: #004b87;
	color: #ffffff !important;
	box-shadow: 0 3px 8px rgba(0, 75, 135, 0.25);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: #dc2626;
	margin-top: 6px;
	border-top: 1px dashed #e2e8f0;
	padding-top: 12px;
	border-radius: 0 0 8px 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	background: #fef2f2;
	color: #b91c1c;
}

/* Version Mobile : Navigation en Barrette / Scroll horizontal */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		background: transparent;
		border: none;
		border-radius: 0;
		padding: 0 0 12px 0;
		box-shadow: none;
		margin-bottom: 12px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 8px;
		padding: 4px 2px 8px 2px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
		display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li {
		flex: 0 0 auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		padding: 7px 14px;
		border-radius: 9999px;
		background: #ffffff;
		border: 1px solid #cbd5e1;
		font-size: 0.82rem;
		white-space: nowrap;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
		transform: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		background: #004b87;
		color: #ffffff !important;
		border-color: #004b87;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
		color: #dc2626;
		margin-top: 0;
		border-top: 1px solid #fca5a5;
		border-radius: 9999px;
		padding: 7px 14px;
		background: #fff5f5;
	}

	.woocommerce-account .woocommerce-orders-table {
		display: block;
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* ==========================================================================
   30. PAGE PANIER (CART) : RETIRER L'AFFICHAGE DU TITRE DE PAGE
   ========================================================================== */
body.woocommerce-cart .entry-hero,
body.woocommerce-cart header.entry-header.page-title,
body.woocommerce-cart .entry-header .entry-title,
body.woocommerce-cart .entry-hero-container-inner {
	display: none !important;
}

/* Fiche article : Retrait de l'affichage du bloc de stock sous le prix */
.single-product .bsc-realtime-stock-box {
	display: none !important;
}

/* Fiche article : Masquer la mention "En stock atelier" */
.single-product p.stock.in-stock,
.single-product .stock.in-stock {
	display: none !important;
}

/* ==========================================================================
   31. PAGE MON COMPTE (MY ACCOUNT) : RETIRER L'AFFICHAGE DU TITRE DE PAGE
   ========================================================================== */
body.woocommerce-account .entry-hero,
body.woocommerce-account header.entry-header.page-title,
body.woocommerce-account .entry-header .entry-title,
body.woocommerce-account .entry-hero-container-inner,
body.page-id-8 .entry-hero,
body.page-id-8 header.entry-header {
	display: none !important;
}

/* ==========================================================================
   32. PAGE INSCRIPTION REVENDEUR : SUPPRIMER LES BOUTONS VIDES / FANTOMES
   ========================================================================== */
.bsc-page-container a:empty,
.entry-content a:empty,
.entry-content p:empty {
	display: none !important;
}

/* ==========================================================================
   33. EMOJIS WORDPRESS (img.emoji) : NE JAMAIS HERITER DES REGLES IMAGES PRODUIT
   Les regles "ul.products li.product img" (largeur 100 %, ratio 1/1) agrandissaient
   l'emoji des boutons "Decouvrir & Personnaliser" et ecrasaient le texte sur mobile.
   ========================================================================== */
img.emoji,
ul.products li.product img.emoji,
.woocommerce ul.products li.product a img.emoji {
	display: inline-block !important;
	width: 1em !important;
	height: 1em !important;
	min-width: 0 !important;
	max-width: 1em !important;
	aspect-ratio: auto !important;
	margin: 0 0.3em 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: none !important;
	object-fit: contain !important;
	vertical-align: -0.125em !important;
	flex: 0 0 auto !important;
}

ul.products li.product .button {
	flex-wrap: wrap;
	align-items: center;
	white-space: normal;
	line-height: 1.3;
}

@media (max-width: 640px) {
	ul.products li.product .button,
	.woocommerce ul.products li.product .button {
		min-height: 40px !important;
	}

	.bsc-ceramic-press-tip strong {
		flex: 1 1 100%;
	}
}
