/**
 * Nimo Modern — Design System E-Commerce
 * Palette : Black & White | Accent Bleu Électrique | Touches Dorées
 * Support natif complet : Light Mode & Dark Mode
 */

/* ── 0. Typographie Locale Haute Performance (Cairo Arabic) ──────────────── */
@font-face {
	font-family: 'Cairo';
	font-style: normal;
	font-weight: 200 1000;
	font-display: swap;
	src: url('../fonts/cairo/cairo-variable.ttf') format('truetype');
}

/* ── 1. Variables CSS (Light & Dark) ─────────────────────────────────────── */

:root {
	/* Light Mode (Défaut) */
	--nm-bg-page: #f8fafc;
	--nm-bg-surface: #ffffff;
	--nm-bg-subtle: #f1f5f9;
	--nm-bg-elevated: #ffffff;
	--nm-bg-header: rgba(255, 255, 255, 0.94);
	--nm-bg-announce: #0f172a;

	--nm-text-main: #0f172a;
	--nm-text-body: #334155;
	--nm-text-muted: #64748b;
	--nm-text-subtle: #94a3b8;
	--nm-text-announce: #f8fafc;

	--nm-border: #e2e8f0;
	--nm-border-strong: #cbd5e1;

	/* Accent Bleu Électrique */
	--nm-blue: #2563eb;
	--nm-blue-hover: #1d4ed8;
	--nm-blue-subtle: #eff6ff;
	--nm-blue-border: #bfdbfe;
	--nm-blue-glow: rgba(37, 99, 235, 0.22);

	/* Accent Or / Jaune Raffiné (Touches Dorées discrètes) */
	--nm-gold: #d97706;
	--nm-gold-bright: #f59e0b;
	--nm-gold-subtle: #fef3c7;
	--nm-gold-border: #fde68a;
	--nm-gold-glow: rgba(245, 158, 11, 0.25);

	/* Formes & Ombres */
	--nm-r-sm: 8px;
	--nm-r-md: 12px;
	--nm-r-lg: 18px;
	--nm-r-full: 9999px;

	--nm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
	--nm-shadow-md: 0 4px 14px -2px rgba(15, 23, 42, 0.08);
	--nm-shadow-lg: 0 12px 28px -6px rgba(15, 23, 42, 0.12);
	--nm-shadow-card: 0 2px 8px rgba(0, 0, 0, 0.04);
	--nm-shadow-card-hover: 0 12px 26px -4px rgba(37, 99, 235, 0.16);

	--nm-font: 'Cairo', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--nm-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="dark"] {
	/* Dark Mode */
	--nm-bg-page: #0b0f19;
	--nm-bg-surface: #111827;
	--nm-bg-subtle: #1e293b;
	--nm-bg-elevated: #1e293b;
	--nm-bg-header: rgba(17, 24, 39, 0.95);
	--nm-bg-announce: #030712;

	--nm-text-main: #f8fafc;
	--nm-text-body: #cbd5e1;
	--nm-text-muted: #94a3b8;
	--nm-text-subtle: #64748b;
	--nm-text-announce: #f3f4f6;

	--nm-border: #1e293b;
	--nm-border-strong: #334155;

	--nm-blue: #3b82f6;
	--nm-blue-hover: #60a5fa;
	--nm-blue-subtle: rgba(59, 130, 246, 0.16);
	--nm-blue-border: rgba(59, 130, 246, 0.35);
	--nm-blue-glow: rgba(59, 130, 246, 0.35);

	--nm-gold: #fbbf24;
	--nm-gold-bright: #fde047;
	--nm-gold-subtle: rgba(251, 191, 36, 0.15);
	--nm-gold-border: rgba(251, 191, 36, 0.35);
	--nm-gold-glow: rgba(251, 191, 36, 0.30);

	--nm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
	--nm-shadow-md: 0 4px 14px -2px rgba(0, 0, 0, 0.5);
	--nm-shadow-lg: 0 14px 30px -4px rgba(0, 0, 0, 0.7);
	--nm-shadow-card: 0 2px 8px rgba(0, 0, 0, 0.3);
	--nm-shadow-card-hover: 0 14px 28px -4px rgba(59, 130, 246, 0.25);

	/* Écrasement des variables inline GeneratePress */
	--contrast: #f8fafc !important;
	--contrast-2: #cbd5e1 !important;
	--contrast-3: #64748b !important;
	--base: #1e293b !important;
	--base-2: #0b0f19 !important;
	--base-3: #111827 !important;
}

/* ── 2. Réinitialisation Globale & Dark Mode Universel ─────────────────────── */

html {
	box-sizing: border-box;
	background-color: var(--nm-bg-page);
	color: var(--nm-text-body);
	font-family: var(--nm-font);
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
}

body {
	background-color: var(--nm-bg-page) !important;
	color: var(--nm-text-body) !important;
	font-family: var(--nm-font) !important;
	line-height: 1.6;
	margin: 0;
	transition: background-color 0.25s ease, color 0.25s ease;
}

/* Écrasement universel des conteneurs GeneratePress en Dark Mode */
[data-theme="dark"] body,
[data-theme="dark"] #page,
[data-theme="dark"] .site-content,
[data-theme="dark"] #content,
[data-theme="dark"] .site-main,
[data-theme="dark"] .inside-article,
[data-theme="dark"] article,
[data-theme="dark"] .separate-containers .inside-article,
[data-theme="dark"] .separate-containers .comments-area,
[data-theme="dark"] .separate-containers .page-header {
	background-color: var(--nm-bg-page) !important;
	color: var(--nm-text-main) !important;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .page-title,
.woocommerce-loop-product__title,
.product_title {
	color: var(--nm-text-main) !important;
	font-family: var(--nm-font) !important;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

a {
	color: var(--nm-blue);
	text-decoration: none;
	transition: var(--nm-transition);
}
a:hover {
	color: var(--nm-blue-hover);
}

/* ── 3. Bandeau Supérieur d'Annonce (AUCUN emoji) ────────────────────────── */

.nm-announce {
	background: var(--nm-bg-announce);
	color: var(--nm-text-announce);
	padding: 6px 16px;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.nm-announce__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: 0 auto;
}
.nm-announce__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.nm-announce__dot {
	color: var(--nm-gold-bright);
	font-size: 14px;
	opacity: 0.8;
}

/* ── 4. Barre de Navigation Fine (Thinner Navbar) ────────────────────────── */

.site-header {
	position: sticky !important;
	top: 0;
	z-index: 999;
	background: var(--nm-bg-header) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--nm-border);
	transition: var(--nm-transition);
}
.site-header .inside-header {
	padding: 10px 24px !important;
	min-height: unset !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}
.site-logo img,
.custom-logo {
	max-height: 34px !important;
	width: auto !important;
	display: block !important;
}

/* Commutation du Logo selon le thème (Light / Dark Mode) */
.site-logo .nm-logo-dark {
	display: none !important;
}
.site-logo .nm-logo-light {
	display: block !important;
}

[data-theme="dark"] .site-logo .nm-logo-light {
	display: none !important;
}
[data-theme="dark"] .site-logo .nm-logo-dark {
	display: block !important;
}

[data-theme="dark"] .site-logo img:not(.nm-logo-light):not(.nm-logo-dark) {
	content: url('../img/logo-dark.png') !important;
}
.main-navigation .main-nav ul li:not(.menu-item-nimo-lang) a {
	line-height: 38px !important;
	padding: 0 12px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--nm-text-main) !important;
	background: transparent !important;
}
.main-navigation .main-nav ul li:not(.menu-item-nimo-lang):hover > a,
.main-navigation .main-nav ul li:not(.menu-item-nimo-lang).current-menu-item > a {
	color: var(--nm-blue) !important;
}

/* ── Sélecteur de Langue (FR / AR) ────────────────────────────────────────── */
.main-navigation .main-nav ul li.menu-item-nimo-lang {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0 4px !important;
}
.main-navigation .main-nav ul li.menu-item-nimo-lang .nimo-lang,
.nimo-lang {
	display: inline-flex !important;
	align-items: center !important;
	gap: 2px !important;
	background: var(--nm-bg-subtle) !important;
	border: 1px solid var(--nm-border) !important;
	border-radius: var(--nm-r-full) !important;
	padding: 3px !important;
	box-shadow: var(--nm-shadow-sm) !important;
	transition: var(--nm-transition) !important;
	box-sizing: border-box !important;
}
.main-navigation .main-nav ul li.menu-item-nimo-lang .nimo-lang .nimo-lang__btn,
.nimo-lang__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 36px !important;
	height: 28px !important;
	line-height: 1 !important;
	padding: 0 11px !important;
	border-radius: var(--nm-r-full) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.3px !important;
	color: var(--nm-text-muted) !important;
	background: transparent !important;
	text-decoration: none !important;
	border: none !important;
	transition: all 0.18s ease !important;
	cursor: pointer !important;
}
.main-navigation .main-nav ul li.menu-item-nimo-lang .nimo-lang .nimo-lang__btn:hover,
.nimo-lang__btn:hover {
	color: var(--nm-text-main) !important;
	background: rgba(0, 0, 0, 0.05) !important;
}
.main-navigation .main-nav ul li.menu-item-nimo-lang .nimo-lang .nimo-lang__btn.is-active,
.nimo-lang__btn.is-active {
	background: var(--nm-blue) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

/* Sélecteur de Langue en Dark Mode */
[data-theme="dark"] .main-navigation .main-nav ul li.menu-item-nimo-lang .nimo-lang,
[data-theme="dark"] .nimo-lang {
	background: var(--nm-bg-subtle, #1e293b) !important;
	border: 1px solid var(--nm-border-strong, #334155) !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
}
[data-theme="dark"] .main-navigation .main-nav ul li.menu-item-nimo-lang .nimo-lang .nimo-lang__btn,
[data-theme="dark"] .nimo-lang__btn {
	color: #cbd5e1 !important;
	background: transparent !important;
	font-weight: 600 !important;
}
[data-theme="dark"] .main-navigation .main-nav ul li.menu-item-nimo-lang .nimo-lang .nimo-lang__btn:hover,
[data-theme="dark"] .nimo-lang__btn:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.12) !important;
}
[data-theme="dark"] .main-navigation .main-nav ul li.menu-item-nimo-lang .nimo-lang .nimo-lang__btn.is-active,
[data-theme="dark"] .nimo-lang__btn.is-active {
	background: var(--nm-blue, #3b82f6) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.45) !important;
}
.menu-bar-items {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

@media (max-width: 1024px) {
	/* Sur mobile et tablette, masquer strictement le menu-bar-items de la nav de bureau pour supprimer tout doublon */
	#site-navigation .menu-bar-items {
		display: none !important;
	}
	#site-navigation:not(.toggled) {
		display: none !important;
	}
	#mobile-menu-control-wrapper {
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
		margin-left: auto !important;
		margin-right: 0 !important;
	}
	#mobile-menu-control-wrapper .menu-bar-items {
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
	}
	/* Masquer le sélecteur de langue dans le menu accordéon déroulant (déjà présent sur la navbar) */
	.main-nav .menu-item-nimo-lang,
	#primary-menu .menu-item-nimo-lang {
		display: none !important;
	}
}

@media (min-width: 1025px) {
	#mobile-menu-control-wrapper,
	#mobile-menu-control-wrapper .menu-bar-items {
		display: none !important;
	}
	#site-navigation {
		display: block !important;
	}
	#site-navigation .menu-bar-items {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
	}
	.main-nav .menu-item-nimo-lang,
	#primary-menu .menu-item-nimo-lang {
		display: none !important;
	}
}

/* Style compact du sélecteur de langue placé sur la barre de navigation */
.menu-bar-items .nimo-lang {
	padding: 2px !important;
	gap: 2px !important;
	margin: 0 !important;
	border-radius: var(--nm-r-full) !important;
}
.menu-bar-items .nimo-lang__btn {
	height: 26px !important;
	min-width: 28px !important;
	padding: 0 8px !important;
	font-size: 11.5px !important;
	line-height: 26px !important;
}

/* Bouton Dark / Light Mode */
.nm-theme-toggle {
	background: var(--nm-bg-subtle) !important;
	color: var(--nm-text-main) !important;
	border: 1px solid var(--nm-border) !important;
	padding: 6px 11px !important;
	border-radius: var(--nm-r-full) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	font-size: 13px !important;
	line-height: 1 !important;
	transition: var(--nm-transition) !important;
	margin-inline-start: 0 !important;
}
.nm-theme-toggle:hover {
	border-color: var(--nm-blue) !important;
	color: var(--nm-blue) !important;
	transform: translateY(-1px);
}
.nm-theme-toggle svg {
	width: 15px;
	height: 15px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2.2;
}
[data-theme="dark"] .nm-theme-toggle .nm-icon-sun {
	color: var(--nm-gold-bright);
}

/* ── 5. Héro Moderne avec Image & Promesse Client ─────────────────────────── */

.nm-hero-section {
	max-width: 1240px;
	margin: 20px auto 44px;
	padding: 0 16px;
}
.nm-hero-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 36px;
	align-items: center;
	background: var(--nm-bg-surface);
	border: 1px solid var(--nm-border);
	border-radius: var(--nm-r-lg);
	padding: 40px;
	box-shadow: var(--nm-shadow-md);
	overflow: hidden;
}
[data-theme="dark"] .nm-hero-grid {
	background: linear-gradient(135deg, #111827 0%, #1e293b 100%);
	border-color: #1e293b;
}

.nm-hero-kicker {
	display: inline-block;
	background: var(--nm-blue-subtle);
	color: var(--nm-blue);
	border: 1px solid var(--nm-blue-border);
	padding: 4px 12px;
	border-radius: var(--nm-r-full);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 14px;
}
[data-theme="dark"] .nm-hero-kicker {
	background: rgba(59, 130, 246, 0.15);
	color: #60a5fa;
	border-color: rgba(59, 130, 246, 0.35);
}

.nm-hero-title {
	font-size: clamp(24px, 3.4vw, 36px);
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--nm-text-main) !important;
	margin: 0 0 14px;
	line-height: 1.25;
}

.nm-hero-desc {
	font-size: 15px;
	line-height: 1.65;
	color: var(--nm-text-body);
	margin: 0 0 20px;
}

.nm-hero-features {
	list-style: none;
	padding: 0;
	margin: 0 0 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.nm-hero-features li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	color: var(--nm-text-main);
}
.nm-hero-features svg {
	color: var(--nm-blue);
	flex-shrink: 0;
}

.nm-hero-actions .nm-hero-btn {
	background: var(--nm-blue) !important;
	color: #ffffff !important;
	padding: 13px 28px !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	border-radius: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	box-shadow: 0 4px 14px var(--nm-blue-glow) !important;
	transition: var(--nm-transition) !important;
}
.nm-hero-actions .nm-hero-btn:hover {
	background: var(--nm-blue-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px var(--nm-blue-glow) !important;
}

.nm-hero-card {
	position: relative;
	border-radius: var(--nm-r-md);
	overflow: hidden;
	border: 1px solid var(--nm-border);
	box-shadow: var(--nm-shadow-lg);
	background: var(--nm-bg-subtle);
}
.nm-hero-img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.nm-hero-card:hover .nm-hero-img {
	transform: scale(1.03);
}

.nm-hero-badge {
	position: absolute;
	bottom: 16px;
	inset-inline-start: 16px;
	background: rgba(15, 23, 42, 0.85);
	color: #ffffff;
	padding: 8px 14px;
	border-radius: var(--nm-r-sm);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.15);
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.nm-hero-badge-title {
	font-size: 11px;
	font-weight: 700;
	color: var(--nm-gold-bright);
	text-transform: uppercase;
	letter-spacing: 0.3px;
}
.nm-hero-badge-sub {
	font-size: 12.5px;
	font-weight: 600;
}

@media (max-width: 860px) {
	.nm-hero-grid {
		grid-template-columns: 1fr;
		padding: 24px;
		gap: 24px;
	}
}

/* ── 6. Grille Catégories & Décoloration des Nombres (No Yellow Count) ─────── */

.woocommerce ul.products li.product-category mark.count,
mark.count {
	background: transparent !important;
	color: var(--nm-text-muted) !important;
	font-weight: 500 !important;
	padding: 0 !important;
	font-size: 0.9em !important;
}

.woocommerce ul.products li.product-category {
	background: var(--nm-bg-surface) !important;
	border: 1px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	padding: 14px !important;
	margin: 0 !important;
	text-align: center !important;
	box-shadow: var(--nm-shadow-card) !important;
	transition: var(--nm-transition) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	box-sizing: border-box !important;
}
.woocommerce ul.products li.product-category:hover {
	transform: translateY(-4px) !important;
	border-color: var(--nm-blue) !important;
	box-shadow: var(--nm-shadow-card-hover) !important;
}
.woocommerce ul.products li.product-category a {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
}
.woocommerce ul.products li.product-category img {
	border-radius: var(--nm-r-sm) !important;
	background: var(--nm-bg-subtle) !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	margin: 0 0 10px 0 !important;
	display: block !important;
}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
	margin: 6px 0 0 0 !important;
	line-height: 1.3 !important;
}

/* ── 7. Grille Produits, Alignement Strict & Titres Complets ─────────────── */

/* ⚠️ SUPPRESSION DES PSEUDO-ÉLÉMENTS CLEARFIX WOOCOMMERCE
   WooCommerce injecte ::before et ::after avec display: table.
   En CSS Grid (display: grid), ::before devenait le premier élément de la grille,
   créant un espace vide (colonne 1 vide) dans les catégories, produits et produits similaires. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
ul.products::before,
ul.products::after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Suppression de la pilule 58 Wilayas sous le titre */
.bn-loop-ship-pill {
	display: none !important;
}

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 20px !important;
	padding: 0 !important;
	margin: 24px 0 !important;
}

/* Carte Produit : flex-direction column pour alignement parfait */
.woocommerce ul.products li.product {
	background: var(--nm-bg-surface) !important;
	border: 1px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	padding: 14px !important;
	margin: 0 !important;
	width: 100% !important;
	box-shadow: var(--nm-shadow-card) !important;
	transition: var(--nm-transition) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	height: 100% !important;
	box-sizing: border-box !important;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px) !important;
	border-color: var(--nm-blue) !important;
	box-shadow: var(--nm-shadow-card-hover) !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
}

/* Suppression complète du vide sous les images produits */
.bn-shop-thumb {
	display: block !important;
	width: 100% !important;
	line-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: var(--nm-r-sm) !important;
	overflow: hidden !important;
	background: var(--nm-bg-subtle) !important;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .bn-shop-thumb img,
.woocommerce-loop-product__link img {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: var(--nm-r-sm) !important;
}

/* Badge Catégorie : hauteur réservée fixe (aligne le début des titres avec ou sans catégorie) */
.bn-product-category {
	display: inline-block !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	padding: 3px 8px !important;
	border-radius: var(--nm-r-full) !important;
	margin-top: 6px !important;
	margin-bottom: 4px !important;
	text-transform: uppercase !important;
	width: fit-content !important;
	min-height: 22px !important;
	box-sizing: border-box !important;
	color: var(--nm-blue);
	background: var(--nm-blue-subtle);
}
[data-theme="dark"] .bn-product-category {
	background: rgba(59, 130, 246, 0.15);
	color: #60a5fa;
}

/* Espace réservé invisible pour les produits sans catégorie */
.bn-product-category--empty {
	visibility: hidden !important;
	pointer-events: none !important;
	border: none !important;
	background: transparent !important;
	padding: 3px 0 !important;
}

/* Titre Produit : affichage intégral (AUCUNE coupure, AUCUN ...) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
	margin: 6px 0 10px 0 !important;
	line-height: 1.45 !important;
	display: block !important;
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
	height: auto !important;
	min-height: unset !important;
	-webkit-line-clamp: unset !important;
	-webkit-box-orient: unset !important;
}

/* Prix Produit : NOIR EN LIGHT MODE, BLANC EN DARK MODE */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price bdi {
	font-size: 17px !important;
	font-weight: 800 !important;
	color: var(--nm-text-main) !important;
	margin-top: auto !important; /* Pousse le prix au bas de la carte */
	margin-bottom: 12px !important;
	display: block !important;
	line-height: 1.2 !important;
}
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount {
	font-size: 13px !important;
	color: var(--nm-text-subtle) !important;
	font-weight: 500 !important;
	margin-inline-end: 6px !important;
}
.woocommerce ul.products li.product .price ins {
	text-decoration: none !important;
	color: var(--nm-text-main) !important;
}

/* Bouton Commander : COULEUR ACCENT BLEU ÉLECTRIQUE & BORDER RADIUS 12PX */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
	width: 100% !important;
	margin-top: 0 !important;
	padding: 11px 16px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	background: var(--nm-blue) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 8px var(--nm-blue-glow) !important;
	transition: var(--nm-transition) !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
	background: var(--nm-blue-hover) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px var(--nm-blue-glow) !important;
}

/* Bouton « Voir tous les produits » (Bordures arrondies 12px) */
.nimo-home__btn,
a.nimo-home__btn.button {
	background: var(--nm-blue) !important;
	color: #ffffff !important;
	border-radius: 12px !important;
	padding: 12px 32px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 4px 14px var(--nm-blue-glow) !important;
	transition: var(--nm-transition) !important;
	border: none !important;
}
.nimo-home__btn:hover,
a.nimo-home__btn.button:hover {
	background: var(--nm-blue-hover) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px var(--nm-blue-glow) !important;
}

/* ── 8. Section Réassurance Haute Visibilité (Icônes Remplies & Contrastées) ── */

.nimo-home__reassure {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 24px 0 !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
	gap: 16px !important;
}
.nimo-home__promise {
	background: var(--nm-bg-surface) !important;
	border: 1.5px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	padding: 24px 20px !important;
	text-align: center !important;
	box-shadow: var(--nm-shadow-sm) !important;
	transition: var(--nm-transition) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}
.nimo-home__promise:hover {
	border-color: var(--nm-blue) !important;
	box-shadow: var(--nm-shadow-md) !important;
	transform: translateY(-3px);
}
.nimo-home__promise .nimo-home__ico {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 58px !important;
	height: 58px !important;
	border-radius: var(--nm-r-full) !important;
	background: var(--nm-blue-subtle) !important;
	color: var(--nm-blue) !important;
	margin: 0 auto 14px auto !important;
	transition: var(--nm-transition) !important;
}
.nimo-home__promise:hover .nimo-home__ico {
	transform: scale(1.08);
	background: var(--nm-blue) !important;
	color: #ffffff !important;
}
/* Remplissage franc et net des glyphes SVG Phosphor */
.nimo-home__promise .nimo-home__ico svg {
	width: 30px !important;
	height: 30px !important;
	fill: currentColor !important;
	stroke: none !important;
	display: block !important;
}
[data-theme="dark"] .nimo-home__promise .nimo-home__ico {
	background: rgba(59, 130, 246, 0.18) !important;
	color: #60a5fa !important;
}
[data-theme="dark"] .nimo-home__promise:hover .nimo-home__ico {
	background: var(--nm-blue) !important;
	color: #ffffff !important;
}
.nimo-home__promise h3 {
	font-size: 15.5px !important;
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
	margin: 0 0 6px 0 !important;
}
.nimo-home__promise p {
	font-size: 13px !important;
	color: var(--nm-text-body) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

/* ── 9. Fiche Produit : Galerie Plein Écran & Suppression Doublon Prix ───── */

/* Supprimer le prix en haut du résumé produit */
.single-product .summary > p.price,
.single-product div.product > .summary > p.price,
.single-product .summary > .price {
	display: none !important;
}

/* Icône Plein Écran Galerie */
.woocommerce-product-gallery .woocommerce-product-gallery__trigger::before,
.woocommerce-product-gallery .woocommerce-product-gallery__trigger::after {
	content: none !important;
	display: none !important;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	font-size: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: var(--nm-bg-surface) !important;
	border: 1px solid var(--nm-border) !important;
	color: var(--nm-text-main) !important;
	box-shadow: var(--nm-shadow-md) !important;
	z-index: 25 !important;
	transition: var(--nm-transition) !important;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
	transform: scale(1.08);
	border-color: var(--nm-blue) !important;
	color: var(--nm-blue) !important;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2.2;
}

/* ── 10. Formulaire COD : Labels Flottants, Sélecteur Quantité & Dark Mode ─── */

.nimo-cod {
	--sh-accent: var(--nm-blue) !important;
	--sh-accent-dark: var(--nm-blue-hover) !important;
	--sh-accent-wash: var(--nm-blue-subtle) !important;
	--sh-green: var(--nm-blue) !important;
	background: var(--nm-bg-surface) !important;
	border: 1px solid var(--nm-border) !important;
	border-radius: var(--nm-r-lg) !important;
	box-shadow: var(--nm-shadow-md) !important;
	color: var(--nm-text-main) !important;
}

/* Sélecteur Quantité : Angles droits à l'intérieur, arrondis à l'extérieur */
.nimo-cod__qtyfield {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	background: var(--nm-bg-subtle) !important;
	border: 1px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	padding: 10px 14px !important;
	box-sizing: border-box !important;
}
.nimo-cod__qty-label {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2px !important;
	line-height: 1.25 !important;
}
.nimo-cod__qty-label .nimo-cod__label-fr {
	color: var(--nm-text-main) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
}
.nimo-cod__qty-label .nimo-cod__label-ar {
	color: var(--nm-text-muted) !important;
	font-weight: 600 !important;
	font-size: 13px !important;
}
.nimo-cod__qtyfield label {
	color: var(--nm-text-main) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
}
.nimo-cod__stepper {
	border: 1.5px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	overflow: hidden !important;
	display: inline-flex !important;
	background: var(--nm-bg-surface) !important;
	flex-shrink: 0 !important;
}
.nimo-cod__stepper .nimo-cod__step {
	border: none !important;
	border-radius: 0 !important;
	background: var(--nm-bg-subtle) !important;
	color: var(--nm-text-main) !important;
	width: 42px !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
	cursor: pointer !important;
	transition: var(--nm-transition) !important;
}
.nimo-cod__stepper .nimo-cod__step:hover {
	background: var(--nm-blue-subtle) !important;
	color: var(--nm-blue) !important;
}
.nimo-cod__stepper input[type="number"],
.nimo-cod__stepper .nimo-cod__stepper-input {
	border: none !important;
	border-inline: 1.5px solid var(--nm-border) !important;
	border-radius: 0 !important;
	width: 52px !important;
	height: 42px !important;
	text-align: center !important;
	background: var(--nm-bg-surface) !important;
	color: var(--nm-text-main) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

/* Mode de Livraison & Prix */
.nimo-cod__delivery > label {
	color: var(--nm-text-main) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	margin-bottom: 8px !important;
	display: block !important;
}
.nimo-cod__radios {
	border: 1.5px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	overflow: hidden !important;
	background: var(--nm-bg-surface) !important;
}
.nimo-cod__radio-card {
	background: var(--nm-bg-surface) !important;
	color: var(--nm-text-main) !important;
	transition: var(--nm-transition) !important;
}
.nimo-cod__radio-title {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	color: var(--nm-text-main) !important;
	line-height: 1.25 !important;
}
.nimo-cod__radio-title-fr {
	font-weight: 700 !important;
	font-size: 13.5px !important;
	display: block !important;
}
.nimo-cod__radio-title-ar {
	font-weight: 600 !important;
	font-size: 12.5px !important;
	display: block !important;
	opacity: 0.85 !important;
}
.nimo-cod__radio-price {
	color: var(--nm-text-muted) !important;
	font-weight: 600 !important;
}
.nimo-cod__radio input:checked + .nimo-cod__radio-card {
	background: var(--nm-blue-subtle) !important;
	border-color: var(--nm-blue) !important;
}
.nimo-cod__radio input:checked + .nimo-cod__radio-card .nimo-cod__radio-title {
	color: var(--nm-blue) !important;
	font-weight: 700 !important;
}
.nimo-cod__radio input:checked + .nimo-cod__radio-card .nimo-cod__radio-price {
	color: var(--nm-blue) !important;
	font-weight: 700 !important;
}
.nimo-cod__radio input:checked + .nimo-cod__radio-card::before {
	border-color: var(--nm-blue) !important;
	box-shadow: inset 0 0 0 4px var(--nm-blue) !important;
}

/* Sélecteur de Société de Livraison (ZR Express & Navex) */
.nimo-cod__carrier-field {
	margin: 16px 0 !important;
}
.nimo-cod__carrier-cards {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 12px !important;
	margin-top: 6px !important;
	align-items: stretch !important;
}
@media (max-width: 520px) {
	.nimo-cod__carrier-cards {
		grid-template-columns: 1fr !important;
		gap: 8px !important;
	}
}
.nimo-cod__carrier-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 84px !important;
	cursor: pointer !important;
	user-select: none !important;
	border-radius: var(--nm-r-md) !important;
	box-sizing: border-box !important;
	transition: transform 0.15s ease !important;
}
.nimo-cod__carrier-radio {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.nimo-cod__carrier-box {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 12px 14px !important;
	background: var(--nm-bg-surface) !important;
	border: 2px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
	min-height: 84px !important;
	height: 100% !important;
	width: 100% !important;
	flex: 1 1 auto !important;
	box-sizing: border-box !important;
}
.nimo-cod__carrier-card:hover:not(.is-disabled) .nimo-cod__carrier-box {
	border-color: var(--nm-blue) !important;
	transform: translateY(-1px) !important;
	box-shadow: var(--nm-shadow-sm) !important;
}
.nimo-cod__carrier-card.is-selected .nimo-cod__carrier-box,
.nimo-cod__carrier-radio:checked + .nimo-cod__carrier-box {
	border-color: var(--nm-blue) !important;
	background: var(--nm-blue-subtle) !important;
	box-shadow: 0 0 0 1px var(--nm-blue) !important;
}
.nimo-cod__carrier-logo {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	border-radius: 10px !important;
	flex-shrink: 0 !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	border: 1px solid var(--nm-border) !important;
	background: #ffffff !important;
}
.nimo-cod__carrier-logo--zr {
	background: #FFCB05 !important;
	border-color: #EAB308 !important;
	padding: 0 !important;
}
.nimo-cod__carrier-logo--navex {
	background: #FFFFFF !important;
	border-color: #E2E8F0 !important;
	padding: 2px !important;
}
.nimo-cod__carrier-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	border-radius: 8px !important;
}
.nimo-cod__carrier-body {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	min-width: 0 !important;
	flex: 1 !important;
}
.nimo-cod__carrier-name-row {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 6px !important;
}
.nimo-cod__carrier-title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}
.nimo-cod__carrier-title-ar {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--nm-text-muted) !important;
	font-family: inherit !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}
.nimo-cod__carrier-badge-row {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	margin-top: 4px !important;
}
.nimo-cod__carrier-badge {
	display: inline-block !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.nimo-cod__carrier-badge--fr {
	color: var(--nm-blue) !important;
}
.nimo-cod__carrier-badge--ar {
	color: var(--nm-text-muted) !important;
	font-size: 10.5px !important;
}
.nimo-cod__carrier-card.is-disabled {
	cursor: not-allowed !important;
	opacity: 0.55 !important;
}
.nimo-cod__carrier-card.is-disabled .nimo-cod__carrier-box {
	border-color: var(--nm-border) !important;
	background: var(--nm-bg-surface) !important;
	filter: grayscale(70%) !important;
	box-shadow: none !important;
}
.nimo-cod__carrier-unavail-badge {
	position: absolute !important;
	top: -7px !important;
	right: -5px !important;
	background: #e11d48 !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	padding: 2px 8px !important;
	border-radius: 999px !important;
	box-shadow: 0 2px 6px rgba(225,29,72,0.35) !important;
	display: none !important;
	gap: 4px !important;
	align-items: center !important;
	z-index: 3 !important;
	pointer-events: none !important;
}
.nimo-cod__carrier-card.is-disabled .nimo-cod__carrier-unavail-badge {
	display: inline-flex !important;
}
.nimo-cod__carrier-error {
	margin-top: 8px !important;
	padding: 8px 14px !important;
	background: rgba(220, 38, 38, 0.08) !important;
	border: 1px solid rgba(220, 38, 38, 0.3) !important;
	border-radius: var(--nm-r-sm) !important;
	color: #dc2626 !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	display: none !important;
	justify-content: space-between !important;
	align-items: center !important;
}
.nimo-cod__carrier-error.is-visible {
	display: flex !important;
}

/* Récapitulatif : Sous-total, Livraison, Total */
.nimo-cod__summary {
	margin: 20px 0 !important;
	padding: 16px 0 0 !important;
	border-top: 1px solid var(--nm-border) !important;
}
.nimo-cod__summary > div {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: 12px !important;
	padding: 6px 0 !important;
	font-size: 14px !important;
	color: var(--nm-text-body) !important;
}
.nimo-cod__summary > div strong {
	color: var(--nm-text-main) !important;
	font-weight: 700 !important;
}
.nimo-cod__grand {
	margin-top: 10px !important;
	padding-top: 14px !important;
	border-top: 1.5px solid var(--nm-border) !important;
	font-size: 15px !important;
	color: var(--nm-text-main) !important;
}
.nimo-cod__grand > span {
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
}
.nimo-cod__grand strong {
	font-size: 1.35em !important;
	font-weight: 800 !important;
	color: var(--nm-blue) !important;
}

/* Bouton Confirmer la commande */
.nimo-cod__submit,
button.nimo-cod__submit {
	background: var(--nm-blue) !important;
	color: #ffffff !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	box-shadow: 0 4px 14px var(--nm-blue-glow) !important;
	transition: var(--nm-transition) !important;
}
.nimo-cod__submit:hover,
button.nimo-cod__submit:hover {
	background: var(--nm-blue-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px var(--nm-blue-glow) !important;
}

/* ── Formulaire COD Bilingue (Français à gauche, Arabe à droite) ─────────── */

.nimo-cod__field {
	margin-bottom: 16px !important;
	position: relative !important;
}

.nimo-cod__label-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	direction: ltr !important; /* Force STRICTEMENT le Français à gauche et l'Arabe à droite */
	margin-bottom: 6px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
	line-height: 1.3 !important;
	width: 100% !important;
}

.nimo-cod__label-fr {
	text-align: left !important;
	direction: ltr !important;
	color: var(--nm-text-main) !important;
	display: inline-flex !important;
	align-items: center !important;
}

.nimo-cod__label-ar {
	text-align: right !important;
	direction: rtl !important;
	color: var(--nm-text-main) !important;
	font-family: inherit !important;
}

.nimo-cod__req {
	color: #ef4444 !important;
	margin-inline-start: 3px !important;
	font-weight: 700 !important;
}

.nimo-cod__input-wrap {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
}

.nimo-cod__input-icon {
	position: absolute !important;
	inset-inline-start: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #94a3b8 !important;
	pointer-events: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 2 !important;
	transition: color 0.15s ease !important;
}

.nimo-cod__input-wrap input[type="text"],
.nimo-cod__input-wrap input[type="tel"],
.nimo-cod__input-wrap input[type="number"],
.nimo-cod__input-wrap select {
	width: 100% !important;
	height: 48px !important;
	line-height: 48px !important;
	padding-inline-start: 42px !important; /* Espace pour l'icône */
	padding-inline-end: 14px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background: var(--nm-bg-subtle) !important;
	border: 1.5px solid var(--nm-border) !important;
	border-radius: 10px !important;
	color: var(--nm-text-main) !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	transition: var(--nm-transition) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

/* Select Wilaya & Commune : flèche élégante et sans icône */
.nimo-cod__input-wrap select {
	padding-inline-start: 14px !important;
	padding-inline-end: 38px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% - 14px) center !important;
	cursor: pointer !important;
}
[dir="rtl"] .nimo-cod__input-wrap select {
	background-position: 14px center !important;
}

.nimo-cod__input-wrap input::placeholder {
	color: #94a3b8 !important;
	font-weight: 400 !important;
	opacity: 0.9 !important;
}

.nimo-cod__input-wrap input:focus,
.nimo-cod__input-wrap select:focus {
	background: var(--nm-bg-surface) !important;
	border-color: var(--nm-blue) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px var(--nm-blue-glow) !important;
}
.nimo-cod__input-wrap input:focus ~ .nimo-cod__input-icon,
.nimo-cod__input-wrap:focus-within .nimo-cod__input-icon {
	color: var(--nm-blue) !important;
}

/* ── 10.B. ÉCR鴻SEMENT COMPLET DARK MODE POUR LE FORMULAIRE COD ────────────── */

[data-theme="dark"] .nimo-cod {
	background: var(--nm-bg-surface) !important;
	border-color: var(--nm-border) !important;
	color: #f8fafc !important;
}

/* Labels Bilingues en Dark Mode */
[data-theme="dark"] .nimo-cod__label-row,
[data-theme="dark"] .nimo-cod__label-fr,
[data-theme="dark"] .nimo-cod__label-ar {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__input-wrap input,
[data-theme="dark"] .nimo-cod__input-wrap select {
	background: #1e293b !important;
	border-color: #334155 !important;
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__input-wrap input::placeholder {
	color: #64748b !important;
}
[data-theme="dark"] .nimo-cod__input-wrap input:focus,
[data-theme="dark"] .nimo-cod__input-wrap select:focus {
	background: #111827 !important;
	border-color: var(--nm-blue) !important;
	box-shadow: 0 0 0 3px var(--nm-blue-glow) !important;
}
[data-theme="dark"] .nimo-cod__input-icon {
	color: #64748b !important;
}

/* Quantité en Dark Mode */
[data-theme="dark"] .nimo-cod__qtyfield {
	background: var(--nm-bg-subtle) !important;
	border-color: var(--nm-border-strong) !important;
}
[data-theme="dark"] .nimo-cod__qty-label .nimo-cod__label-fr {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__qty-label .nimo-cod__label-ar {
	color: #94a3b8 !important;
}
[data-theme="dark"] .nimo-cod__qtyfield label {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__stepper {
	background: var(--nm-bg-surface) !important;
	border-color: var(--nm-border-strong) !important;
}
[data-theme="dark"] .nimo-cod__stepper .nimo-cod__step {
	background: var(--nm-bg-subtle) !important;
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__stepper input[type="number"],
[data-theme="dark"] .nimo-cod__stepper .nimo-cod__stepper-input {
	background: var(--nm-bg-surface) !important;
	color: #f8fafc !important;
	border-color: var(--nm-border-strong) !important;
}

/* Champs text / tel / select en Dark Mode */
[data-theme="dark"] .nimo-cod input[type="text"],
[data-theme="dark"] .nimo-cod input[type="tel"],
[data-theme="dark"] .nimo-cod select,
[data-theme="dark"] .nimo-cod textarea {
	background: var(--nm-bg-surface) !important;
	color: #f8fafc !important;
	border-color: var(--nm-border-strong) !important;
}

/* Mode de Livraison en Dark Mode */
[data-theme="dark"] .nimo-cod__delivery > label {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__radios {
	border-color: var(--nm-border-strong) !important;
	background: var(--nm-bg-surface) !important;
}
[data-theme="dark"] .nimo-cod__radio-card {
	background: var(--nm-bg-surface) !important;
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__radio + .nimo-cod__radio .nimo-cod__radio-card {
	border-color: var(--nm-border-strong) !important;
}
[data-theme="dark"] .nimo-cod__radio-title {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__radio-title-ar {
	color: #94a3b8 !important;
}
[data-theme="dark"] .nimo-cod__radio-price {
	color: #cbd5e1 !important;
}
[data-theme="dark"] .nimo-cod__radio-card::before {
	background: #1e293b !important;
	border-color: #475569 !important;
}
[data-theme="dark"] .nimo-cod__radio input:checked + .nimo-cod__radio-card {
	background: rgba(37, 99, 235, 0.22) !important;
	border-color: var(--nm-blue) !important;
}
[data-theme="dark"] .nimo-cod__radio input:checked + .nimo-cod__radio-card .nimo-cod__radio-title {
	color: #ffffff !important;
	font-weight: 700 !important;
}
[data-theme="dark"] .nimo-cod__radio input:checked + .nimo-cod__radio-card .nimo-cod__radio-title-ar {
	color: #bfdbfe !important;
}
[data-theme="dark"] .nimo-cod__radio input:checked + .nimo-cod__radio-card .nimo-cod__radio-price {
	color: #93c5fd !important;
}
[data-theme="dark"] .nimo-cod__radio input:checked + .nimo-cod__radio-card::before {
	background: #ffffff !important;
	border-color: var(--nm-blue) !important;
	box-shadow: inset 0 0 0 4px var(--nm-blue) !important;
}

/* Transporteurs en Dark Mode */
[data-theme="dark"] .nimo-cod__carrier-box {
	background: var(--nm-bg-subtle) !important;
	border-color: var(--nm-border-strong) !important;
}
[data-theme="dark"] .nimo-cod__carrier-card.is-selected .nimo-cod__carrier-box,
[data-theme="dark"] .nimo-cod__carrier-radio:checked + .nimo-cod__carrier-box {
	background: rgba(37, 99, 235, 0.22) !important;
	border-color: var(--nm-blue) !important;
}
[data-theme="dark"] .nimo-cod__carrier-logo {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="dark"] .nimo-cod__carrier-logo--zr {
	background: #FFCB05 !important;
	border-color: #CA8A04 !important;
}
[data-theme="dark"] .nimo-cod__carrier-logo--navex {
	background: #FFFFFF !important;
	border-color: #CBD5E1 !important;
}
[data-theme="dark"] .nimo-cod__carrier-title {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__carrier-title-ar {
	color: #cbd5e1 !important;
}
[data-theme="dark"] .nimo-cod__carrier-badge--fr {
	color: #93c5fd !important;
}
[data-theme="dark"] .nimo-cod__carrier-badge--ar {
	color: #94a3b8 !important;
}
[data-theme="dark"] .nimo-cod__carrier-card.is-disabled .nimo-cod__carrier-box {
	background: #0f172a !important;
	border-color: #334155 !important;
	opacity: 0.45 !important;
}
[data-theme="dark"] .nimo-cod__carrier-error {
	background: rgba(220, 38, 38, 0.2) !important;
	color: #fca5a5 !important;
	border-color: rgba(220, 38, 38, 0.4) !important;
}

/* Récapitulatif en Dark Mode : Sous-total, Livraison, Total */
[data-theme="dark"] .nimo-cod__summary {
	border-top-color: var(--nm-border-strong) !important;
}
[data-theme="dark"] .nimo-cod__summary > div {
	color: #cbd5e1 !important;
}
[data-theme="dark"] .nimo-cod__summary > div strong {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__grand {
	border-top-color: var(--nm-border-strong) !important;
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__grand > span {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__grand strong {
	color: #60a5fa !important;
}

/* ── Options / Variantes (Sélection de couleur, taille, etc.) ─────────────── */
.nimo-cod__optsec {
	margin: 16px 0 !important;
}
.nimo-cod__optsec .nimo-cod__optlabel,
.nimo-cod__optlabel {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 2px !important;
	margin-bottom: 8px !important;
	text-align: start !important;
}
.nimo-cod__optsec .nimo-cod__optlabel .nimo-cod__label-fr,
.nimo-cod__optlabel .nimo-cod__label-fr,
.nimo-cod__optlabel-fr {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--nm-text-main, #0f172a) !important;
	display: block !important;
}
.nimo-cod__optsec .nimo-cod__optlabel .nimo-cod__label-ar,
.nimo-cod__optlabel .nimo-cod__label-ar,
.nimo-cod__optlabel-ar {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--nm-text-muted, #64748b) !important;
	display: block !important;
	margin-top: 1px !important;
}
[dir="rtl"] .nimo-cod__optsec .nimo-cod__optlabel,
[dir="rtl"] .nimo-cod__optlabel {
	align-items: flex-start !important;
	text-align: right !important;
}
.nimo-cod__opt-card {
	background: var(--nm-bg-surface, #ffffff) !important;
	border: 1.5px solid var(--nm-border, #e2e8f0) !important;
	border-radius: var(--nm-r-md, 10px) !important;
	color: var(--nm-text-main, #0f172a) !important;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-shadow: none !important;
}
.nimo-cod__opt-name {
	color: var(--nm-text-main, #0f172a) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}
.nimo-cod__opt:hover:not(.nimo-cod__opt--rupture) .nimo-cod__opt-card {
	border-color: var(--nm-blue, #2563eb) !important;
	transform: translateY(-1px);
	box-shadow: var(--nm-shadow-sm) !important;
}
.nimo-cod__opt input:checked + .nimo-cod__opt-card {
	background: var(--nm-blue-subtle, rgba(37, 99, 235, 0.08)) !important;
	border-color: var(--nm-blue, #2563eb) !important;
	box-shadow: 0 0 0 1px var(--nm-blue, #2563eb) !important;
}
.nimo-cod__opt input:checked + .nimo-cod__opt-card .nimo-cod__opt-name {
	color: var(--nm-blue, #2563eb) !important;
	font-weight: 700 !important;
}

/* ── Messages d'avertissement par champ ───────────────────────────────────── */
.nimo-cod__field-error {
	margin-top: 6px !important;
	padding: 6px 10px !important;
	background: #fef2f2 !important;
	border: 1px solid #fecaca !important;
	border-radius: 8px !important;
	color: #dc2626 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	animation: nimo-field-err-in 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.nimo-cod__field-error:empty,
.nimo-cod__field-error[style*="display: none"],
.nimo-cod__field-error[style*="display:none"],
.nimo-cod__field-error[hidden] {
	display: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
}
.nimo-cod__field-error-fr {
	text-align: left !important;
}
.nimo-cod__field-error-ar {
	text-align: right !important;
	direction: rtl !important;
}
.has-field-error > input,
.has-field-error > select,
.has-field-error .nimo-cod__input-wrap input,
.has-field-error .nimo-cod__input-wrap select,
.has-field-error .nimo-cod__carrier-cards {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 1.5px #ef4444 !important;
}
@keyframes nimo-field-err-in {
	from { opacity: 0; transform: translateY(-3px); }
	to   { opacity: 1; transform: none; }
}

/* Options / Variantes en Dark Mode */
[data-theme="dark"] .nimo-cod__optsec .nimo-cod__optlabel,
[data-theme="dark"] .nimo-cod__optlabel,
[data-theme="dark"] .nimo-cod__optsec .nimo-cod__optlabel .nimo-cod__label-fr,
[data-theme="dark"] .nimo-cod__optlabel .nimo-cod__label-fr,
[data-theme="dark"] .nimo-cod__optlabel-fr {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__optsec .nimo-cod__optlabel .nimo-cod__label-ar,
[data-theme="dark"] .nimo-cod__optlabel .nimo-cod__label-ar,
[data-theme="dark"] .nimo-cod__optlabel-ar {
	color: #94a3b8 !important;
}
[data-theme="dark"] .nimo-cod__field-error {
	background: rgba(239, 68, 68, 0.16) !important;
	border-color: rgba(239, 68, 68, 0.35) !important;
	color: #fca5a5 !important;
}
[data-theme="dark"] .has-field-error > input,
[data-theme="dark"] .has-field-error > select,
[data-theme="dark"] .has-field-error .nimo-cod__input-wrap input,
[data-theme="dark"] .has-field-error .nimo-cod__input-wrap select,
[data-theme="dark"] .has-field-error .nimo-cod__carrier-cards {
	border-color: #f87171 !important;
	box-shadow: 0 0 0 1.5px #f87171 !important;
}
[data-theme="dark"] .nimo-cod__opt-card {
	background: var(--nm-bg-subtle, #1e293b) !important;
	border-color: var(--nm-border-strong, #334155) !important;
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__opt-name {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod__opt-thumb {
	border-color: #334155 !important;
}
[data-theme="dark"] .nimo-cod__opt:hover:not(.nimo-cod__opt--rupture) .nimo-cod__opt-card {
	border-color: var(--nm-blue, #3b82f6) !important;
	background: #1e293b !important;
	transform: translateY(-1px);
}
[data-theme="dark"] .nimo-cod__opt input:checked + .nimo-cod__opt-card {
	background: rgba(37, 99, 235, 0.22) !important;
	border-color: var(--nm-blue, #3b82f6) !important;
	box-shadow: 0 0 0 1px var(--nm-blue, #3b82f6) !important;
}
[data-theme="dark"] .nimo-cod__opt input:checked + .nimo-cod__opt-card .nimo-cod__opt-name {
	color: #ffffff !important;
}

/* ── Panneau de remerciement post-achat (Thank You) ───────────────────────── */
.nimo-cod__done {
	text-align: center !important;
	padding: 32px 24px !important;
	background: var(--nm-bg-surface, #ffffff) !important;
	border: 1.5px solid var(--nm-border, #e2e8f0) !important;
	border-radius: var(--nm-r-lg, 16px) !important;
	box-shadow: var(--nm-shadow-md, 0 4px 6px -1px rgba(0,0,0,0.1)) !important;
	animation: nimo-done-in 0.35s ease !important;
	margin: 10px 0 !important;
}
.nimo-cod__done-ic {
	width: 60px !important;
	height: 60px !important;
	margin: 0 auto 16px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: rgba(37, 99, 235, 0.1) !important;
	color: var(--nm-blue, #2563eb) !important;
}
.nimo-cod__done-title-wrap {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	margin-bottom: 12px !important;
}
.nimo-cod__done-title {
	margin: 0 !important;
	font-size: 19px !important;
	font-weight: 800 !important;
	color: var(--nm-text-main, #0f172a) !important;
	line-height: 1.3 !important;
}
.nimo-cod__done-title--ar {
	font-size: 20px !important;
	color: var(--nm-text-main, #0f172a) !important;
}
.nimo-cod__done-sub-wrap {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	max-width: 440px !important;
	margin: 0 auto !important;
}
.nimo-cod__done-sub {
	margin: 0 !important;
	font-size: 13.5px !important;
	color: var(--nm-text-muted, #64748b) !important;
	line-height: 1.5 !important;
}
.nimo-cod__done-sub--ar {
	font-size: 14px !important;
	color: var(--nm-text-muted, #64748b) !important;
}

[data-theme="dark"] .nimo-cod__done {
	background: var(--nm-bg-surface, #1e293b) !important;
	border-color: var(--nm-border-strong, #334155) !important;
	box-shadow: 0 10px 25px -5px rgba(0,0,0,0.5) !important;
}
[data-theme="dark"] .nimo-cod__done-ic {
	background: rgba(37, 99, 235, 0.22) !important;
	color: #60a5fa !important;
}
[data-theme="dark"] .nimo-cod__done-title {
	color: #ffffff !important;
}
[data-theme="dark"] .nimo-cod__done-sub {
	color: #cbd5e1 !important;
}

/* ── Modale Upsell 1-Clic Post-Achat ───────────────────────────────────────── */
.nimo-cod-upsell-overlay {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(15, 23, 42, 0.65) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 16px !important;
	box-sizing: border-box !important;
}
.nimo-cod-upsell-modal {
	position: relative !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	color: #0f172a !important;
	border-radius: 20px !important;
	max-width: 580px !important;
	width: 100% !important;
	max-height: 92vh !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 25px 50px -12px rgba(0,0,0,0.4) !important;
	overflow: hidden !important;
	animation: nimoUpsellPop 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
@keyframes nimoUpsellPop {
	from { opacity: 0; transform: scale(0.92); }
	to   { opacity: 1; transform: scale(1); }
}
.nimo-cod-upsell-header {
	position: relative !important;
	padding: 44px 20px 16px !important; /* Dégage 44px au sommet pour que le bouton X trône seul sans chevaucher le texte */
	background: #ecfdf5 !important;
	border-bottom: 1px solid #a7f3d0 !important;
	text-align: center !important;
}
.nimo-cod-upsell-close {
	position: absolute !important;
	top: 10px !important;
	inset-inline-end: 12px !important;
	right: auto !important;
	left: auto !important;
	background: rgba(0,0,0,0.08) !important;
	border: none !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	color: #475569 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.15s ease !important;
	z-index: 10 !important;
}
.nimo-cod-upsell-close:hover {
	background: rgba(0,0,0,0.16) !important;
	color: #0f172a !important;
	transform: scale(1.05);
}
.nimo-cod-upsell-badge {
	display: inline-block !important;
	background: #059669 !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 5px 14px !important;
	border-radius: 999px !important;
	margin: 0 auto 8px auto !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	white-space: normal !important;
	line-height: 1.35 !important;
}
.nimo-cod-upsell-subtitle {
	margin: 0 !important;
	font-size: 14.5px !important;
	color: #14532d !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}
.nimo-cod-upsell-subtitle--ar {
	font-size: 14px !important;
	margin-top: 3px !important;
}
.nimo-cod-upsell-body {
	padding: 18px 20px !important;
	overflow-y: auto !important;
	flex: 1 1 auto !important;
}
.nimo-cod-upsell-main-img-wrap {
	text-align: center !important;
}
.nimo-cod-upsell-main-img {
	max-height: 220px !important;
	max-width: 100% !important;
	object-fit: contain !important;
	border-radius: 12px !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
}
.nimo-cod-upsell-gallery {
	display: flex !important;
	gap: 8px !important;
	overflow-x: auto !important;
	padding: 8px 0 !important;
	margin-top: 8px !important;
}
.nimo-cod-upsell-thumb {
	width: 52px !important;
	height: 52px !important;
	object-fit: cover !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	border: 2px solid #e2e8f0 !important;
	flex-shrink: 0 !important;
	transition: border-color 0.15s !important;
}
.nimo-cod-upsell-thumb.is-active {
	border-color: #16a34a !important;
}
.nimo-cod-upsell-info-head {
	margin-top: 14px !important;
	text-align: start !important;
}
.nimo-cod-upsell-title {
	margin: 0 0 6px !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	line-height: 1.3 !important;
}
.nimo-cod-upsell-price-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin-bottom: 8px !important;
}
.nimo-cod-upsell-old-price {
	color: #94a3b8 !important;
	font-size: 13.5px !important;
}
.nimo-cod-upsell-offer-price {
	color: #16a34a !important;
	font-weight: 800 !important;
	font-size: 20px !important;
}
.nimo-cod-upsell-ship-badge {
	background: #dcfce7 !important;
	color: #15803d !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	padding: 3px 8px !important;
	border-radius: 6px !important;
}

/* Accordéon Détails & Description (inspection sans quitter la page) */
.nimo-cod-upsell-details-box {
	margin: 14px 0 !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 12px !important;
	background: #f8fafc !important;
	overflow: hidden !important;
	transition: border-color 0.2s ease !important;
}
.nimo-cod-upsell-details-toggle {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 12px 16px !important;
	background: rgba(37, 99, 235, 0.06) !important;
	border: none !important;
	cursor: pointer !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--nm-blue, #2563eb) !important;
	text-align: start !important;
	transition: all 0.2s ease !important;
}
.nimo-cod-upsell-details-toggle:hover {
	background: rgba(37, 99, 235, 0.12) !important;
}
.nimo-cod-upsell-info-icon {
	flex-shrink: 0 !important;
	margin-right: 6px !important;
	vertical-align: middle !important;
}
[dir="rtl"] .nimo-cod-upsell-info-icon {
	margin-right: 0 !important;
	margin-left: 6px !important;
}
.nimo-cod-upsell-details-toggle-txt {
	display: flex !important;
	align-items: baseline !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
	flex: 1 1 auto !important;
}
.nimo-cod-upsell-details-toggle-fr {
	font-size: 13.5px !important;
	font-weight: 700 !important;
}
.nimo-cod-upsell-details-toggle-ar {
	font-size: 13px !important;
	font-weight: 600 !important;
	opacity: 0.9 !important;
}
.nimo-cod-upsell-details-arrow {
	transition: transform 0.25s ease !important;
	color: currentColor !important;
	flex-shrink: 0 !important;
	margin-left: 8px !important;
}
[dir="rtl"] .nimo-cod-upsell-details-arrow {
	margin-left: 0 !important;
	margin-right: 8px !important;
}
.nimo-cod-upsell-details-arrow.is-open {
	transform: rotate(180deg) !important;
}
.nimo-cod-upsell-details-content {
	padding: 14px 16px !important;
	border-top: 1px solid #e2e8f0 !important;
	font-size: 13px !important;
	color: #334155 !important;
	line-height: 1.65 !important;
	text-align: start !important;
	max-height: 380px !important;
	overflow-y: auto !important;
}
.nimo-cod-upsell-points {
	margin-bottom: 10px !important;
}
.nimo-cod-upsell-point {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-bottom: 6px !important;
	font-size: 13px !important;
	color: inherit !important;
}
.nimo-cod-upsell-point-check {
	color: #16a34a !important;
	font-weight: 700 !important;
}
.nimo-cod-upsell-full-desc {
	margin-top: 10px !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}
.nimo-cod-upsell-full-desc img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: 8px !important;
	display: block !important;
	margin: 10px auto !important;
}
.nimo-cod-upsell-desc-ar {
	margin-top: 12px !important;
	padding-top: 10px !important;
	border-top: 1px dashed rgba(148, 163, 184, 0.3) !important;
	direction: rtl !important;
	text-align: right !important;
}

/* Options / Variantes dans l'Upsell */
.nimo-cod-upsell-options-wrap {
	margin: 14px 0 !important;
	padding: 12px 14px !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	text-align: start !important;
}
.nimo-cod-upsell-options-head {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 6px !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	color: #0f172a !important;
	margin-bottom: 8px !important;
}

/* Footer Upsell : 2 boutons côte à côte, taille identique, bilingue */
.nimo-cod-upsell-footer {
	padding: 14px 18px !important;
	background: #ffffff !important;
	border-top: 1px solid #f1f5f9 !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 12px !important;
	box-sizing: border-box !important;
}
.nimo-cod-upsell-btn {
	min-height: 54px !important;
	padding: 8px 12px !important;
	border-radius: 12px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 2px !important;
	text-align: center !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
	border: none !important;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.nimo-cod-upsell-btn-fr {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}
.nimo-cod-upsell-btn-ar {
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}
.nimo-cod-upsell-submit-btn {
	background: #16a34a !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35) !important;
}
.nimo-cod-upsell-submit-btn:hover {
	background: #15803d !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(22, 163, 74, 0.45) !important;
}
.nimo-cod-upsell-submit-btn .nimo-cod-upsell-btn-fr,
.nimo-cod-upsell-submit-btn .nimo-cod-upsell-btn-ar {
	color: #ffffff !important;
}
.nimo-cod-upsell-skip-btn {
	background: #f1f5f9 !important;
	border: 1.5px solid #cbd5e1 !important;
	color: #475569 !important;
}
.nimo-cod-upsell-skip-btn:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
}
.nimo-cod-upsell-skip-btn .nimo-cod-upsell-btn-fr,
.nimo-cod-upsell-skip-btn .nimo-cod-upsell-btn-ar {
	color: inherit !important;
}

/* Écran de succès dans l'Upsell */
.nimo-cod-upsell-success-screen {
	padding: 36px 24px !important;
	text-align: center !important;
}
.nimo-cod-upsell-success-ic {
	width: 56px !important;
	height: 56px !important;
	border-radius: 50% !important;
	background: #dcfce7 !important;
	color: #16a34a !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 14px !important;
}
.nimo-cod-upsell-success-title {
	margin: 0 0 4px !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #14532d !important;
}
.nimo-cod-upsell-success-title-ar {
	font-size: 19px !important;
	font-weight: 700 !important;
	color: #14532d !important;
	margin: 0 0 14px !important;
}
.nimo-cod-upsell-success-sub {
	margin: 0 0 4px !important;
	font-size: 14px !important;
	color: #047857 !important;
}
.nimo-cod-upsell-success-sub-ar {
	margin: 0 0 18px !important;
	font-size: 14px !important;
	color: #047857 !important;
}
.nimo-cod-upsell-done-btn {
	background: #16a34a !important;
	color: #ffffff !important;
	border: none !important;
	padding: 12px 28px !important;
	border-radius: 12px !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(22,163,74,0.3) !important;
}

/* ── Modale Upsell en Dark Mode ────────────────────────────────────────────── */
[data-theme="dark"] .nimo-cod-upsell-modal,
.nimo-cod-upsell-modal.is-dark {
	background: #1e293b !important;
	border-color: #334155 !important;
	color: #f8fafc !important;
	box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7) !important;
}
[data-theme="dark"] .nimo-cod-upsell-header,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-header {
	background: rgba(16, 185, 129, 0.14) !important;
	border-bottom-color: rgba(16, 185, 129, 0.28) !important;
}
[data-theme="dark"] .nimo-cod-upsell-close,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-close {
	background: rgba(255, 255, 255, 0.12) !important;
	color: #e2e8f0 !important;
}
[data-theme="dark"] .nimo-cod-upsell-close:hover,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-close:hover {
	background: rgba(255, 255, 255, 0.22) !important;
	color: #ffffff !important;
}
[data-theme="dark"] .nimo-cod-upsell-subtitle,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-subtitle {
	color: #6ee7b7 !important;
}
[data-theme="dark"] .nimo-cod-upsell-subtitle--ar,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-subtitle--ar {
	color: #a7f3d0 !important;
}
[data-theme="dark"] .nimo-cod-upsell-main-img,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-main-img {
	background: #0f172a !important;
	border-color: #334155 !important;
}
[data-theme="dark"] .nimo-cod-upsell-thumb,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-thumb {
	border-color: #334155 !important;
}
[data-theme="dark"] .nimo-cod-upsell-thumb.is-active,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-thumb.is-active {
	border-color: #22c55e !important;
}
[data-theme="dark"] .nimo-cod-upsell-title,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-title {
	color: #ffffff !important;
}
[data-theme="dark"] .nimo-cod-upsell-old-price,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-old-price {
	color: #94a3b8 !important;
}
[data-theme="dark"] .nimo-cod-upsell-offer-price,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-offer-price {
	color: #4ade80 !important;
}
[data-theme="dark"] .nimo-cod-upsell-ship-badge,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-ship-badge {
	background: rgba(22, 163, 74, 0.25) !important;
	color: #86efac !important;
}
[data-theme="dark"] .nimo-cod-upsell-details-box,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-details-box {
	background: #0f172a !important;
	border-color: #334155 !important;
}
[data-theme="dark"] .nimo-cod-upsell-details-toggle,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-details-toggle {
	background: rgba(96, 165, 250, 0.1) !important;
	color: #60a5fa !important;
}
[data-theme="dark"] .nimo-cod-upsell-details-toggle:hover,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-details-toggle:hover {
	background: rgba(96, 165, 250, 0.18) !important;
}
[data-theme="dark"] .nimo-cod-upsell-details-content,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-details-content {
	border-top-color: #334155 !important;
	color: #cbd5e1 !important;
}
[data-theme="dark"] .nimo-cod-upsell-options-wrap,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-options-wrap {
	background: #0f172a !important;
	border-color: #334155 !important;
}
[data-theme="dark"] .nimo-cod-upsell-options-head,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-options-head {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod-upsell-options-wrap .nimo-cod__optlabel,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-options-wrap .nimo-cod__optlabel,
[data-theme="dark"] .nimo-cod-upsell-options-wrap .nimo-cod__label-fr,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-options-wrap .nimo-cod__label-fr {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod-upsell-options-wrap .nimo-cod__label-ar,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-options-wrap .nimo-cod__label-ar {
	color: #94a3b8 !important;
}
[data-theme="dark"] .nimo-cod-upsell-options-wrap .nimo-cod__opt-card,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-options-wrap .nimo-cod__opt-card {
	background: #1e293b !important;
	border-color: #334155 !important;
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod-upsell-options-wrap .nimo-cod__opt-name,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-options-wrap .nimo-cod__opt-name {
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod-upsell-footer,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-footer {
	background: #1e293b !important;
	border-top-color: #334155 !important;
}
[data-theme="dark"] .nimo-cod-upsell-skip-btn,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-skip-btn {
	background: #334155 !important;
	border-color: #475569 !important;
	color: #f8fafc !important;
}
[data-theme="dark"] .nimo-cod-upsell-skip-btn:hover,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-skip-btn:hover {
	background: #475569 !important;
	color: #ffffff !important;
}
[data-theme="dark"] .nimo-cod-upsell-success-ic,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-success-ic {
	background: rgba(34, 197, 94, 0.22) !important;
	color: #4ade80 !important;
}
[data-theme="dark"] .nimo-cod-upsell-success-title,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-success-title,
[data-theme="dark"] .nimo-cod-upsell-success-title-ar,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-success-title-ar {
	color: #ffffff !important;
}
[data-theme="dark"] .nimo-cod-upsell-success-sub,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-success-sub,
[data-theme="dark"] .nimo-cod-upsell-success-sub-ar,
.nimo-cod-upsell-modal.is-dark .nimo-cod-upsell-success-sub-ar {
	color: #86efac !important;
}

/* ── 11. Pied de Page (Footer - Sans Emoji) ───────────────────────────────── */

.site-footer {
	background: var(--nm-bg-surface) !important;
	color: var(--nm-text-muted) !important;
	border-top: 1px solid var(--nm-border);
	padding: 32px 16px !important;
	text-align: center;
	margin-top: 48px;
}
.site-footer a {
	color: var(--nm-text-muted);
}
.site-footer a:hover {
	color: var(--nm-blue);
}
.nm-footer-nav {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 14px 0;
	flex-wrap: wrap;
}
.nm-footer-brand {
	font-size: 18px;
	font-weight: 800;
	color: var(--nm-text-main);
	margin-bottom: 6px;
}

/* ── 12. Barre d'Achat Flottante Fixe (Sticky Buy Bar) ───────────────────── */

.nm-sticky-bar {
	position: fixed !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 99999 !important;
	background: rgba(255, 255, 255, 0.94) !important;
	backdrop-filter: blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	border-top: 1px solid var(--nm-border) !important;
	box-shadow: 0 -6px 24px rgba(15, 23, 42, 0.08) !important;
	padding: 10px 16px !important;
	box-sizing: border-box !important;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease !important;
	transform: translateY(0) !important;
	opacity: 1 !important;
}
[data-theme="dark"] .nm-sticky-bar {
	background: rgba(17, 24, 39, 0.95) !important;
	border-top-color: #1e293b !important;
	box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.5) !important;
}
.nm-sticky-bar.is-hidden {
	transform: translateY(115%) !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.nm-sticky-bar__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.nm-sticky-bar__info {
	display: flex;
	align-items: baseline;
	gap: 8px;
}
.nm-sticky-bar__price {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: var(--nm-text-main) !important;
	line-height: 1 !important;
}
.nm-sticky-bar__price .woocommerce-Price-amount {
	color: var(--nm-text-main) !important;
}
.nm-sticky-bar__btn {
	background: var(--nm-blue) !important;
	color: #ffffff !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	padding: 11px 24px !important;
	border-radius: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	box-shadow: 0 4px 14px var(--nm-blue-glow) !important;
	transition: var(--nm-transition) !important;
	text-decoration: none !important;
	border: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}
.nm-sticky-bar__btn:hover {
	background: var(--nm-blue-hover) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px var(--nm-blue-glow) !important;
}
.nm-sticky-bar__btn svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2.2;
}

/* ── 15. Page Contact : Design Épuré, Formulaire Élargi & Dark Mode ─────────── */

/* Grille de contact équilibrée et plus large */
.nimo-contact {
	display: grid !important;
	gap: 2.5rem !important;
	margin: 20px auto 40px !important;
	max-width: 1100px !important;
}

@media (min-width: 860px) {
	.nimo-contact {
		grid-template-columns: 1fr 1.35fr !important;
		align-items: start !important;
		gap: 3.5rem !important;
	}
}

/* Détails de contact (gauche) : alignement vertical parfait des icônes */
.nimo-contact__intro {
	color: var(--nm-text-body) !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	margin-bottom: 24px !important;
}

[data-theme="dark"] .nimo-contact__intro {
	color: var(--nm-text-muted) !important;
}

.nimo-contact__list {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

.nimo-contact__list li {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	font-size: 15px !important;
	color: var(--nm-text-body) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.nimo-contact__list li a,
.nimo-contact__list li span {
	display: inline-flex !important;
	align-items: center !important;
	color: var(--nm-text-main) !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	transition: var(--nm-transition) !important;
}

.nimo-contact__list li a:hover {
	color: var(--nm-blue) !important;
}

.nimo-contact__ico {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	flex: 0 0 24px !important;
	margin: 0 !important;
	line-height: 1 !important;
	vertical-align: middle !important;
}

.nimo-contact__ico svg {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	stroke-width: 2.2 !important;
}

/* Formulaire de contact : plus large, bords généreusement arrondis (22px) */
.nimo-contact__form.nimo-cod {
	width: 100% !important;
	max-width: 100% !important;
	background: var(--nm-bg-surface) !important;
	border: 1px solid var(--nm-border) !important;
	border-radius: 22px !important;
	padding: 36px 38px !important;
	box-shadow: var(--nm-shadow-lg) !important;
	box-sizing: border-box !important;
}

@media (max-width: 600px) {
	.nimo-contact__form.nimo-cod {
		padding: 24px 20px !important;
		border-radius: 18px !important;
	}
}

/* Champs et labels du formulaire de contact */
.nimo-contact__form .nimo-cod__field {
	margin-bottom: 20px !important;
}

.nimo-contact__form .nimo-cod__field > label {
	display: block !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: var(--nm-text-main) !important;
	margin-bottom: 8px !important;
	letter-spacing: -0.01em !important;
}

.nimo-contact__form .nimo-cod__field > label span {
	color: #ef4444 !important;
	margin-inline-start: 3px !important;
}

/* Inputs & Textarea */
.nimo-contact__form input[type="text"],
.nimo-contact__form input[type="email"],
.nimo-contact__form input[type="tel"],
.nimo-contact__form textarea {
	width: 100% !important;
	background: var(--nm-bg-subtle) !important;
	color: var(--nm-text-main) !important;
	border: 1.5px solid var(--nm-border) !important;
	border-radius: 14px !important;
	padding: 13px 18px !important;
	font-size: 15px !important;
	font-family: var(--nm-font) !important;
	box-sizing: border-box !important;
	outline: none !important;
	transition: var(--nm-transition) !important;
}

.nimo-contact__form textarea {
	min-height: 130px !important;
	resize: vertical !important;
}

.nimo-contact__form input:focus,
.nimo-contact__form textarea:focus {
	border-color: var(--nm-blue) !important;
	background: var(--nm-bg-surface) !important;
	box-shadow: 0 0 0 3px var(--nm-blue-glow) !important;
}

/* Bouton d'envoi du message */
.nimo-contact__form .nimo-cod__submit {
	width: 100% !important;
	min-height: 48px !important;
	padding: 13px 24px !important;
	font-size: 15.5px !important;
	font-weight: 700 !important;
	border-radius: 14px !important;
	background: var(--nm-blue) !important;
	color: #ffffff !important;
	border: none !important;
	box-shadow: 0 4px 14px var(--nm-blue-glow) !important;
	cursor: pointer !important;
	transition: var(--nm-transition) !important;
	margin-top: 8px !important;
}

.nimo-contact__form .nimo-cod__submit:hover {
	background: var(--nm-blue-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px var(--nm-blue-glow) !important;
}

/* ── Dark Mode Ultra-Contraste pour le Contact ────────────────────────────── */

[data-theme="dark"] .nimo-contact__form.nimo-cod {
	background: #111827 !important;
	border: 1px solid #1e293b !important;
	box-shadow: 0 14px 35px -5px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="dark"] .nimo-contact__form .nimo-cod__field > label {
	color: #f8fafc !important; /* BLANC / CLAIR TOTALEMENT VISIBLE */
	font-weight: 700 !important;
}

[data-theme="dark"] .nimo-contact__form input[type="text"],
[data-theme="dark"] .nimo-contact__form input[type="email"],
[data-theme="dark"] .nimo-contact__form input[type="tel"],
[data-theme="dark"] .nimo-contact__form textarea {
	background: #1e293b !important;
	color: #f8fafc !important;
	border-color: #334155 !important;
}

[data-theme="dark"] .nimo-contact__form input:focus,
[data-theme="dark"] .nimo-contact__form textarea:focus {
	background: #0f172a !important;
	border-color: #3b82f6 !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3) !important;
}

[data-theme="dark"] .nimo-contact__list li a,
[data-theme="dark"] .nimo-contact__list li span {
	color: #f8fafc !important;
}

/* ── 16. Bouton Retour en Haut (Back to Top) surélevé au-dessus du Sticky Bar ─ */
.generate-back-to-top,
a.generate-back-to-top {
	bottom: 85px !important;
	z-index: 10001 !important;
	border-radius: 50% !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
	transition: bottom 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease !important;
}
.nm-sticky-bar.is-hidden ~ .generate-back-to-top,
body:not(.single-product) .generate-back-to-top,
body:not(.single-product) a.generate-back-to-top {
	bottom: 24px !important;
}
[dir="rtl"] .generate-back-to-top,
[dir="rtl"] a.generate-back-to-top {
	left: 20px !important;
	right: auto !important;
}

/* ── 17. Système de Preuve Sociale & Réassurance CRO (Multi-Produits) ─────── */

/* Badge de note sous le titre du produit (actif si ≥ 5 avis) */
.nm-product-rating-badge {
	margin: 6px 0 16px !important;
	display: inline-block !important;
}
.nm-product-rating-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	text-decoration: none !important;
	background: var(--nm-bg-subtle) !important;
	padding: 5px 12px !important;
	border-radius: var(--nm-r-full) !important;
	border: 1px solid var(--nm-border) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--nm-text-main) !important;
	transition: var(--nm-transition) !important;
}
.nm-product-rating-link:hover {
	border-color: var(--nm-blue) !important;
	transform: translateY(-1px);
	box-shadow: var(--nm-shadow-sm) !important;
}
.nm-rating-stars {
	color: #f59e0b !important;
	letter-spacing: 1.5px !important;
	font-size: 14px !important;
}
.nm-rating-score {
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
}
.nm-rating-count {
	color: var(--nm-text-muted) !important;
}

/* Bloc de Réassurance & Garanties COD (Fin de Page) */
.nm-product-reassurance {
	margin: 40px auto 30px !important;
	padding: 0 15px !important;
	max-width: 1100px !important;
	box-sizing: border-box !important;
}
.nm-product-reassurance__inner {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 20px !important;
}
.nm-reassurance-card {
	display: flex !important;
	align-items: flex-start !important;
	gap: 16px !important;
	padding: 22px 20px !important;
	background: var(--nm-bg-surface) !important;
	border: 1.5px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	box-shadow: var(--nm-shadow-card) !important;
	transition: var(--nm-transition) !important;
	box-sizing: border-box !important;
}
.nm-reassurance-card:hover {
	border-color: var(--nm-blue) !important;
	transform: translateY(-2px);
	box-shadow: var(--nm-shadow-md) !important;
}
.nm-reassurance-card__icon {
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	border-radius: 12px !important;
	background: var(--nm-blue-subtle) !important;
	color: var(--nm-blue) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	border: 1px solid var(--nm-blue-border) !important;
}
.nm-reassurance-card__content {
	flex: 1 !important;
	min-width: 0 !important;
}
.nm-reassurance-card__title {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
	margin: 0 0 6px !important;
	line-height: 1.35 !important;
}
.nm-reassurance-card__desc {
	font-size: 13.5px !important;
	color: var(--nm-text-muted) !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

/* Vitrine d'Avis Clients & Preuve Sociale */
.nm-product-reviews {
	margin: 30px auto 50px !important;
	padding: 30px 20px !important;
	max-width: 1100px !important;
	box-sizing: border-box !important;
	background: var(--nm-bg-surface) !important;
	border: 1.5px solid var(--nm-border) !important;
	border-radius: var(--nm-r-lg) !important;
	box-shadow: var(--nm-shadow-card) !important;
}
.nm-reviews-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	padding-bottom: 24px !important;
	margin-bottom: 24px !important;
	border-bottom: 1px solid var(--nm-border) !important;
	flex-wrap: wrap !important;
}
.nm-reviews-title {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--nm-text-main) !important;
	margin: 0 0 4px !important;
	letter-spacing: -0.3px !important;
}
.nm-reviews-subtitle {
	font-size: 13.5px !important;
	color: var(--nm-text-muted) !important;
	display: block !important;
}
.nm-reviews-summary-card {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	background: var(--nm-bg-subtle) !important;
	padding: 10px 18px !important;
	border-radius: var(--nm-r-md) !important;
	border: 1px solid var(--nm-border) !important;
}
.nm-summary-score {
	font-size: 28px !important;
	font-weight: 900 !important;
	color: var(--nm-text-main) !important;
	line-height: 1 !important;
}
.nm-summary-stars-col {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}
.nm-summary-stars {
	color: #f59e0b !important;
	font-size: 15px !important;
	letter-spacing: 1.5px !important;
}
.nm-summary-text {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--nm-text-muted) !important;
}

/* Grille des cartes d'avis */
.nm-reviews-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)) !important;
	gap: 20px !important;
}
.nm-review-card {
	background: var(--nm-bg-subtle) !important;
	border: 1px solid var(--nm-border) !important;
	border-radius: var(--nm-r-md) !important;
	padding: 18px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	box-sizing: border-box !important;
	transition: var(--nm-transition) !important;
}
.nm-review-card:hover {
	border-color: var(--nm-border-strong) !important;
	transform: translateY(-2px);
	box-shadow: var(--nm-shadow-sm) !important;
}
.nm-review-card__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
}
.nm-review-card__author-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}
.nm-review-avatar {
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: var(--nm-blue) !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	text-transform: uppercase !important;
}
.nm-review-meta {
	display: flex !important;
	flex-direction: column !important;
}
.nm-review-author {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: var(--nm-text-main) !important;
	line-height: 1.2 !important;
}
.nm-review-wilaya {
	font-size: 12.5px !important;
	color: var(--nm-text-muted) !important;
}
.nm-review-verified-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: #16a34a !important;
	background: rgba(22, 163, 74, 0.1) !important;
	padding: 3px 8px !important;
	border-radius: var(--nm-r-full) !important;
	border: 1px solid rgba(22, 163, 74, 0.25) !important;
	white-space: nowrap !important;
}
.nm-review-card__rating {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}
.nm-review-stars {
	color: #f59e0b !important;
	font-size: 13.5px !important;
	letter-spacing: 1px !important;
}
.nm-review-date {
	font-size: 11.5px !important;
	color: var(--nm-text-subtle) !important;
}
.nm-review-body {
	flex: 1 !important;
}
.nm-review-text {
	font-size: 13.5px !important;
	line-height: 1.6 !important;
	color: var(--nm-text-body) !important;
	margin: 0 !important;
}
.nm-review-card__photo {
	margin-top: 4px !important;
}
.nm-review-photo-link {
	display: block !important;
	border-radius: var(--nm-r-sm) !important;
	overflow: hidden !important;
	max-height: 180px !important;
	border: 1px solid var(--nm-border) !important;
	transition: var(--nm-transition) !important;
}
.nm-review-photo-link:hover {
	opacity: 0.92 !important;
	border-color: var(--nm-blue) !important;
}
.nm-review-photo-link img {
	width: 100% !important;
	height: 100% !important;
	max-height: 180px !important;
	object-fit: cover !important;
	display: block !important;
}

/* ── Dark Mode Preuve Sociale & Réassurance ────────────────────────────────── */
[data-theme="dark"] .nm-reassurance-card {
	background: #111827 !important;
	border-color: #1e293b !important;
}
[data-theme="dark"] .nm-reassurance-card:hover {
	border-color: #3b82f6 !important;
}
[data-theme="dark"] .nm-reassurance-card__icon {
	background: rgba(59, 130, 246, 0.15) !important;
	color: #60a5fa !important;
	border-color: rgba(59, 130, 246, 0.3) !important;
}
[data-theme="dark"] .nm-product-reviews {
	background: #111827 !important;
	border-color: #1e293b !important;
}
[data-theme="dark"] .nm-reviews-header {
	border-bottom-color: #1e293b !important;
}
[data-theme="dark"] .nm-reviews-summary-card {
	background: #1e293b !important;
	border-color: #334155 !important;
}
[data-theme="dark"] .nm-review-card {
	background: #1e293b !important;
	border-color: #334155 !important;
}
[data-theme="dark"] .nm-review-card:hover {
	border-color: #475569 !important;
}
[data-theme="dark"] .nm-review-verified-badge {
	color: #4ade80 !important;
	background: rgba(34, 197, 94, 0.15) !important;
	border-color: rgba(34, 197, 94, 0.3) !important;
}

/* Adaptabilité Mobile */
@media (max-width: 768px) {
	.nm-product-reassurance__inner {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}
	.nm-reassurance-card {
		padding: 16px !important;
	}
	.nm-reviews-header {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.nm-reviews-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ── 18. Ajustements Mobile & Nettoyage Affichage Produit ─────────────────────── */

/* 1. Suppression totale de l'espace excessif (padding-top: 30px) sous la barre de navigation sur mobile */
@media (max-width: 1024px) {
	#page,
	#content,
	.site-content,
	#primary,
	#main,
	.one-container .site-content,
	.separate-containers .inside-article,
	.separate-containers .site-main,
	.woocommerce.single-product .site-content,
	.woocommerce.single-product #content,
	.woocommerce.single-product .inside-article,
	.single-product .site-main,
	.woocommerce.single-product #primary,
	.woocommerce.single-product #main,
	.featured-image.page-header-image-single {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	.woocommerce.single-product .entry-content,
	.woocommerce-breadcrumb {
		margin-top: 4px !important;
		margin-bottom: 8px !important;
		padding-top: 0 !important;
	}
}

/* 2. Suppression de l'onglet et de la ligne de séparation Description de WooCommerce */
.woocommerce-tabs ul.wc-tabs,
.woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-tabs > ul.tabs,
.woocommerce-tabs::before,
.woocommerce-tabs::after,
.woocommerce div.product .woocommerce-tabs::before,
.woocommerce div.product .woocommerce-tabs::after {
	display: none !important;
	content: none !important;
	border: none !important;
}
.woocommerce-tabs .panel.entry-content,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
.nm-clean-tabs .panel {
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-top: 0 !important;
}
.woocommerce-Tabs-panel--description > h2:first-child,
.woocommerce-Tabs-panel--description > h2 {
	font-size: 20px !important;
	font-weight: 800 !important;
	margin: 20px 0 12px !important;
	color: var(--nm-text-main) !important;
}

/* 3. Dégagement du pied de page pour ne pas être masqué par le bouton Commander Maintenant */
.site-footer,
footer.site-info,
.site-info,
.inside-site-info,
.copyright-bar,
body.single-product footer.site-info,
body.single-product .site-info {
	padding-bottom: calc(25px + env(safe-area-inset-bottom, 0px)) !important;
}
.generate-back-to-top,
a.generate-back-to-top {
	bottom: 85px !important;
	z-index: 10001 !important;
}

/* 4. Fiabilisation du rendu des images de description produit */
.woocommerce-Tabs-panel--description img,
.nimo-cod-upsell-full-desc img,
.entry-content .woocommerce-Tabs-panel--description p img,
.entry-content .woocommerce-Tabs-panel--description img,
.nm-clean-tabs img {
	max-width: 100% !important;
	height: auto !important;
	display: block !important;
	margin: 12px auto !important;
	border-radius: 8px !important;
	content-visibility: visible !important;
	min-height: 80px;
}


