/* =========================================================================
   ICP — Fiche produit (single product)
   Dépend de 01-tokens.css. Chargé conditionnellement (is_product()).
   ========================================================================= */

/* ---------- Doublon de bouton ----------
   Le widget « Add to Cart » de The7 rend DEUX boutons dans le même form.cart :
   1) le bouton Woo standard « Ajouter au devis » (.button.alt, sans .elementor-button)
   2) le bouton Elementor « Ajouter à la commande » (.elementor-button, ajax)
   On ne garde que le n°2. Le doublon n'est masqué QUE s'il est bien suivi du
   bouton Elementor (sécurité : produits à variantes où le n°2 peut manquer). */
.single-product form.cart button.single_add_to_cart_button:not(.elementor-button):has(~ .single_add_to_cart_button.elementor-button) {
	display: none !important;
}

/* ---------- Bouton « Ajouter à la commande » (Elementor) ----------
   Pill bleu ICP, hover surélevé. Coins droits par défaut → on force le rayon. */
.single-product .single_add_to_cart_button.elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 999px !important;
	background: var(--icp-blue) !important;
	border: none !important;
	color: #fff !important;
	font: 600 15px/1.2 var(--font-body) !important;
	letter-spacing: .01em;
	padding: 14px 32px !important;
	box-shadow: 0 6px 16px rgba(26, 84, 144, .25);
	transition: background .18s ease, transform .12s ease, box-shadow .18s ease;
}
.single-product .single_add_to_cart_button.elementor-button:hover {
	background: var(--icp-blue-dark) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(26, 84, 144, .32);
}
.single-product .single_add_to_cart_button.elementor-button:focus-visible {
	outline: 3px solid rgba(26, 84, 144, .4);
	outline-offset: 2px;
}

/* ---------- Sélecteur de quantité ----------
   Stepper The7 (.quantity.buttons_added : .minus / input.qty / .plus)
   harmonisé avec le bouton : boîte arrondie, même hauteur, hover bleu. */
.single-product form.cart .quantity.buttons_added {
	display: inline-flex;
	align-items: center;
	height: 52px;
	background: #fff;
	border: 1px solid var(--icp-border);
	border-radius: 999px;
	overflow: hidden;
	vertical-align: middle;
}
.single-product form.cart .quantity .minus,
.single-product form.cart .quantity .plus {
	width: 46px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	color: var(--icp-text-muted);
	cursor: pointer;
	transition: background .18s, color .18s;
}
.single-product form.cart .quantity .minus:hover,
.single-product form.cart .quantity .plus:hover {
	background: var(--icp-bg-light) !important;
	color: var(--icp-blue);
}
.single-product form.cart .quantity .minus svg,
.single-product form.cart .quantity .plus svg { width: 18px; height: 18px; }
.single-product form.cart .quantity input.qty {
	width: 48px;
	height: 100%;
	padding: 0;
	margin: 0;
	text-align: center;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	font: 600 16px/1 var(--font-body);
	color: var(--icp-text);
	-moz-appearance: textfield;
}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Alignement vertical bouton ↔ quantité */
.single-product form.cart .single_add_to_cart_button.elementor-button { vertical-align: middle; min-height: 52px; }

/* ---------- Espacement : décoller le bouton des blocs specs ----------
   (Conditionnement / Poids-Volume rendus par [icp_product_specs]) */
.single-product form.cart { margin-bottom: 26px; }
.single-product .icp-specs { margin-top: 22px; }
