:root {
	--tse-navy: #163b6d;
	--tse-coral: #ff6b61;
	--tse-mint: #45c5b4;
	--tse-cream: #fff9f2;
}

/* Fiche produit : supprimer les compteurs artificiels et les blocs WoodMart hors marque. */
body.single-product .wd-product-info.wd-sold-count,
body.single-product .wd-product-info.wd-visits-count,
body.single-product .info-box-carousel,
body.single-product #reviews,
body.single-product .woocommerce-Reviews,
body.single-product .vc_row:has(#wd-645a14511384a),
body.single-product #wd-6464e33f5f034 .title-subtitle {
	display: none !important;
}

body.single-product .wd-buy-now-btn {
	background: var(--tse-mint) !important;
	color: #fff !important;
}

/* Produits similaires calculés depuis la catégorie la plus précise. */
.tse-related-products {
	margin: 32px 0 0;
	padding: clamp(30px, 5vw, 64px) 20px;
	background: var(--tse-cream);
}
.tse-related-products__inner { max-width: 1440px; margin: 0 auto; }
.tse-related-products__eyebrow {
	margin: 0 0 7px;
	color: var(--tse-mint);
	font-weight: 800;
	letter-spacing: .09em;
	text-align: center;
	text-transform: uppercase;
}
.tse-related-products h2 {
	margin: 0 0 25px;
	color: var(--tse-navy);
	font-size: clamp(26px, 3vw, 38px);
	text-align: center;
}
.tse-related-products__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
.tse-related-card {
	overflow: hidden;
	margin: 0 !important;
	border: 1px solid rgba(22, 59, 109, .08);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(22, 59, 109, .06);
}
.tse-related-card__image { display: block; aspect-ratio: 1; overflow: hidden; background: #fff; }
.tse-related-card__image img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease; }
.tse-related-card:hover .tse-related-card__image img { transform: scale(1.035); }
.tse-related-card__content { padding: 15px 16px 18px; }
.tse-related-card h3 { min-height: 2.8em; margin: 0 0 9px; font-size: 16px; line-height: 1.4; }
.tse-related-card h3 a { color: var(--tse-navy); }
.tse-related-card__price { margin-bottom: 13px; color: var(--tse-navy); font-size: 18px; font-weight: 800; }
.tse-related-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 15px;
	border-radius: 12px;
	background: var(--tse-coral);
	color: #fff !important;
	font-weight: 800;
}

/* Mini-panier : zone de produits réellement défilable, footer toujours accessible. */
.cart-widget-side .widget_shopping_cart,
.cart-widget-side .widget_shopping_cart_content {
	display: flex !important;
	min-height: 0;
	flex: 1 1 auto;
	flex-direction: column;
}
.cart-widget-side .shopping-cart-widget-body {
	min-height: 0 !important;
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
}
.cart-widget-side .shopping-cart-widget-body .wd-scroll-content {
	max-height: none !important;
	overflow: visible !important;
}
.cart-widget-side .shopping-cart-widget-footer { flex: 0 0 auto; background: #fff; }

/* Checkout : quantités visibles et message contre-remboursement. */
.woocommerce-checkout #order_review .quantity {
	display: inline-flex !important;
	align-items: stretch !important;
	justify-content: center;
	min-width: 118px;
}
.woocommerce-checkout #order_review .quantity input.qty {
	display: block !important;
	position: static !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	padding: 0 3px !important;
	border: 1px solid #d9e1e8 !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--tse-navy) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 44px !important;
	text-align: center !important;
	-webkit-text-fill-color: var(--tse-navy) !important;
}
.woocommerce-checkout #order_review .quantity .btn { min-width: 34px; height: 44px; }
.tse-cod-message {
	display: block;
	padding: 14px 16px;
	border: 1px solid #bdebdc;
	border-radius: 14px;
	background: #effbf6;
	color: #16734f;
	font-weight: 700;
	line-height: 1.55;
}
.tse-international-rate-row th,
.tse-international-rate-row td {
	background: #fff6de !important;
	color: #72520b !important;
	font-size: 15px !important;
}
.tse-international-rate-row strong { color: #a45b00; font-size: 18px; }
.select2-results__options { max-height: 310px !important; }
.tse-location-price { display: block; color: #16734f; font-size: 12px; font-weight: 700; }

@media (max-width: 900px) {
	.tse-related-products { padding: 30px 14px 36px; }
	.tse-related-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.tse-related-card { border-radius: 17px; }
	.tse-related-card__content { padding: 12px; }
	.tse-related-card h3 { font-size: 14px; }
	.tse-related-card__price { font-size: 16px; }
	.tse-related-card__cta { width: 100%; font-size: 13px; }

	.cart-widget-side { width: min(100%, 430px) !important; }
	.cart-widget-side .shopping-cart-widget-body { padding-bottom: 6px; }
	.cart-widget-side .woocommerce-mini-cart-item { min-height: 118px; }

	body.woocommerce-checkout #payment .place-order {
		position: static !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		z-index: auto !important;
		width: auto !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	body.woocommerce-checkout #place_order {
		position: fixed !important;
		left: 14px !important;
		right: 14px !important;
		bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
		z-index: 100001 !important;
		width: calc(100% - 28px) !important;
		min-height: 58px !important;
		margin: 0 !important;
		border-radius: 18px !important;
		box-shadow: 0 12px 32px rgba(22, 59, 109, .22) !important;
	}
	body.woocommerce-checkout form.checkout { padding-bottom: 170px !important; }
}

@media (max-width: 380px) {
	.tse-related-products__grid { grid-template-columns: 1fr; }
}

