:root {
	--mawjoud-accent: #e8622c;
	--mawjoud-accent-dark: #b8481c;
	--mawjoud-ink: #1b2a3a;
	--mawjoud-muted: #6b7280;
	--mawjoud-border: #e6e6e6;
	--mawjoud-bg: #fbf7f4;
	--mawjoud-green: #173404;
}

/* ---------------------------------------------------------------------
 * Bande de confiance simplifiée (une seule ligne, sous le prix)
 * ------------------------------------------------------------------- */
.mawjoud-single-check-line {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--mawjoud-ink);
	padding: 14px 0;
	border-top: 1px solid var(--mawjoud-border);
	border-bottom: 1px solid var(--mawjoud-border);
	margin: 14px 0;
}

.mawjoud-single-check-line svg {
	width: 16px;
	height: 16px;
	color: var(--mawjoud-accent);
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
}

/* ---------------------------------------------------------------------
 * Bloc "Notre engagement envers vous" — plein largeur, vert foncé
 * ------------------------------------------------------------------- */
.mawjoud-promise-block {
	max-width: 1200px;
	margin: 24px auto;
	padding: 40px 44px;
	border-radius: 20px;
	background: var(--mawjoud-green);
	position: relative;
	overflow: hidden;
	display: flex;
	gap: 32px;
	align-items: center;
}

.mawjoud-promise-block__decor {
	position: absolute;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	right: -80px;
	bottom: -100px;
	z-index: 0;
}

.mawjoud-promise-block__media {
	flex: 0 0 220px;
	position: relative;
	z-index: 1;
	border-radius: 12px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.08);
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mawjoud-promise-block__media img,
.mawjoud-promise-block__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mawjoud-promise-block__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--mawjoud-accent);
	pointer-events: none;
}

.mawjoud-promise-block__play svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.mawjoud-promise-block__body {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
}

.mawjoud-promise-block__label {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mawjoud-accent);
	margin: 0 0 12px;
}

.mawjoud-promise-block__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
	margin: 0 0 14px;
}

.mawjoud-promise-block__text {
	font-size: 14.5px;
	color: #cfe0d3;
	margin: 0 0 22px;
	line-height: 1.6;
	max-width: 620px;
}

.mawjoud-promise-block__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 32px;
}

.mawjoud-promise-block__list li {
	font-size: 13.5px;
	font-weight: 700;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 10px;
}

.mawjoud-promise-block__list-icon {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--mawjoud-accent);
	display: flex;
	align-items: center;
	justify-content: center;
}

.mawjoud-promise-block__list-icon svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: #fff;
	stroke-width: 2.5;
}

@media (max-width: 767px) {
	.mawjoud-promise-block {
		flex-direction: column;
		align-items: stretch;
		padding: 28px 24px;
	}

	.mawjoud-promise-block__media {
		flex: none;
		width: 100%;
	}

	.mawjoud-promise-block__title {
		font-size: 21px;
	}
}

.mawjoud-orders-count {
	display: inline-block;
	margin-left: 10px;
	font-size: 13px;
	color: var(--mawjoud-muted);
	vertical-align: middle;
}

.mawjoud-price-block {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0;
}

.mawjoud-price-block__current {
	font-size: 26px;
	font-weight: 700;
	color: var(--mawjoud-accent);
}

.mawjoud-price-block__original {
	font-size: 15px;
	color: var(--mawjoud-muted);
	text-decoration: line-through;
}

.mawjoud-price-block__badge {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--mawjoud-accent);
	background: #fbe4d8;
	padding: 4px 10px;
	border-radius: 999px;
}

.content_product_detail>p.price {
	display: none !important;
}

body.single-product .single_add_to_cart_button.button,
body.single-product form.cart .button.single_add_to_cart_button,
body.single-product .summary .single_add_to_cart_button {
	background: var(--mawjoud-green) !important;
	background-color: var(--mawjoud-green) !important;
	color: #fff !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	font-weight: 700;
	font-size: 15px;
	padding: 16px 24px;
	border-radius: 14px;
	border: none;
	text-transform: none;
}

.single_add_to_cart_button.button::before {
	content: "🛒";
	font-size: 16px;
}

.mawjoud-buy-now-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	background: #fff;
	color: var(--mawjoud-green);
	font-weight: 700;
	font-size: 15px;
	padding: 15px 24px;
	border: 2px solid var(--mawjoud-green);
	border-radius: 14px;
	margin-top: 12px;
	text-decoration: none;
}

.mawjoud-buy-now-button:hover {
	background: #f3f7f1;
	color: var(--mawjoud-green);
}

.mawjoud-color-swatches {
	display: flex;
	gap: 10px;
	margin: 6px 0 4px;
}

.mawjoud-color-swatch {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 2px solid #fff;
	outline: 1px solid var(--mawjoud-border);
	cursor: pointer;
	display: inline-block;
	transition: outline-color .15s, transform .15s;
}

.mawjoud-color-swatch:hover {
	transform: scale(1.06);
}

.mawjoud-color-swatch.is-active {
	outline: 2px solid var(--mawjoud-green);
	outline-offset: 1px;
}
/* ---------------------------------------------------------------------
 * Fiche produit — largeur boxée, masquage vendeur/avis, "récemment
 * consultés" et "produits similaires" (voir functions.php pour les
 * hooks PHP qui réactivent/injectent ces sections)
 * ------------------------------------------------------------------- */

/* Conteneur boxé (le thème est réglé sur 1600px en pleine largeur) */
body.single-product .container {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Bloc vendeur — masqué partout sur la fiche produit (nom, avatar,
   "Visit Store"...). Le thème le duplique 2 fois dans le template. */
body.single-product .content_vendor_info,
body.single-product .single-vendor-info-top,
body.single-product .single-vendor-info-bottom {
	display: none !important;
}

/* Onglet "Avis" (reviews) */
body.single-product .reviews_tab,
body.single-product #tab-reviews,
body.single-product .woocommerce-Tabs-panel--reviews {
	display: none !important;
}

/* Onglet "Plus d'offres" (WCFM multivendor) — affiche aussi des noms
   de vendeurs concurrents sur le même produit, donc masqué également */
body.single-product .wcfm_product_multivendor_tab_tab,
body.single-product .woocommerce-Tabs-panel--wcfm_product_multivendor_tab {
	display: none !important;
}

/* "Produits similaires" — réutilise le style slider existant
   (.mawjoud-cat-row) déjà présent dans woocommerce/single-product/related.php */
body.single-product .mawjoud-related-row {
	margin: 40px 0;
}

/* "Récemment consultés" */
body.single-product .mawjoud-recently-viewed {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 20px;
}

body.single-product .mawjoud-recently-viewed .box-title h3 {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--mawjoud-green);
	margin: 0 0 16px;
}

/* ---------------------------------------------------------------------
 * Galerie produit — vignettes plus petites, image principale plus
 * grande, colonne info pleine largeur.
 *
 * Root cause : le wrapper .product_detail garde la classe .has-vendor
 * même une fois le bloc vendeur masqué (display:none n'enlève pas la
 * classe posée côté PHP), et woocommerce-custom.css définit alors
 * .product_detail.has-vendor sur 3 colonnes (5/12, 5/12, 2/12) au lieu
 * de 2 — la 3e colonne est perdue puisque son contenu est caché.
 * On repasse à 2 colonnes avec minmax(0, …) : sans le minmax, la piste
 * du slider Slick (qui contient toutes les slides côte à côte, donc
 * très large en min-content) empêche la grille de la réduire et fait
 * déborder toute la mise en page — testé et vérifié en direct.
 * ------------------------------------------------------------------- */
body.single-product .product_detail.has-vendor {
	grid-template-columns: minmax(0, 45fr) minmax(0, 55fr) !important;
}

/* Le thème force aussi min-width:145px sur ce composant via une règle
   très spécifique (.no-sidebar .product_detail ... .product-responsive-thumbnail),
   qui gagne sur un simple "width" quel que soit l'ordre de chargement :
   min-width prime toujours sur width. Il faut donc écraser min-width
   ET max-width, pas seulement width. */
body.single-product .product-responsive-thumbnail,
body.single-product .product-responsive-thumbnail .slick-slide,
body.single-product .product-responsive-thumbnail .slick-slide > div,
body.single-product .product-responsive-thumbnail .woocommerce-product-gallery__image {
	width: 105px !important;
	min-width: 105px !important;
	max-width: 105px !important;
}

/* Bouton "Comparer" masqué sur la fiche produit */
body.single-product .compare {
	display: none !important;
}



.product_detail .content_product_detail .product_title{
	font-size: 22px!important;
    color: #222; 
    line-height: 26px!important; 
}
.product-full-bg .single-product>.product{
	background-color: transparent!important;
}
.product_detail{
	margin-bottom: 0px;
}
.product-full-bg .single-product>.product .product_detail {
    padding-bottom: 0;
}

/* ---------------------------------------------------------------------
 * Quantité figée à 1 (stock = 1) : le champ réel devient
 * <input type="hidden">, on affiche donc "1" en lecture seule à côté
 * et on grise les boutons +/- (voir mawjoud_single_product_layout_script
 * dans functions.php, qui ajoute .mawjoud-qty-locked + .mawjoud-qty-static).
 * ------------------------------------------------------------------- */
.mawjoud-qty-static {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 100%;
	padding: 0 12px;
	font-weight: 700;
	color: var(--mawjoud-ink);
}

.mawjoud-qty-locked .minus,
.mawjoud-qty-locked .plus {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
}

/* ---------------------------------------------------------------------
 * "En stock" + Catégorie — déplacés juste sous le prix par JS
 * ------------------------------------------------------------------- */
.mawjoud-stock-meta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin: 4px 0 16px;
}

.mawjoud-stock-meta-row .stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 700;
}

.mawjoud-stock-meta-row .stock.in-stock {
	background: #e1f0e5;
	color: var(--mawjoud-green);
}

.mawjoud-stock-meta-row .stock.out-of-stock {
	background: #fbe4d8;
	color: var(--mawjoud-accent-dark);
}

.mawjoud-stock-meta-row .stock::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}

.mawjoud-stock-meta-row .posted_in {
	font-size: 13px;
	color: var(--mawjoud-muted);
}

.mawjoud-stock-meta-row .posted_in a {
	color: var(--mawjoud-ink);
	font-weight: 600;
	text-decoration: none;
}

.mawjoud-stock-meta-row .posted_in a:hover {
	color: var(--mawjoud-accent);
}

/* ---------------------------------------------------------------------
 * Bande de confiance (Livraison / Paiement / Expédition) — 3 par
 * ligne, icônes orange sur pastille, rendu plus "pro"
 * ------------------------------------------------------------------- */
.mawjoud-trust-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 16px 0;
}

.mawjoud-trust-item {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--mawjoud-border);
	border-radius: 12px;
	padding: 12px 14px;
}

.mawjoud-trust-item .trust-icon {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #fbe4d8;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--mawjoud-accent);
}

.mawjoud-trust-item .trust-icon svg {
	width: 17px;
	height: 17px;
}

.mawjoud-trust-item .trust-label {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--mawjoud-ink);
	line-height: 1.3;
}

@media (max-width: 700px) {
	.mawjoud-trust-row {
		grid-template-columns: 1fr;
	}
}

.mawjoud-low-stock{
	display: none!important;
}
.product-full-bg .single-product>.product .product_detail{
	padding-bottom: 0!important;
}