/* Page produit (modèle Elementor 51900 « DP Product ») — 29/10/2026 */

/* Galerie : photo de hauteur limitée ; sur ordinateur, vignettes à gauche de la photo */
.dp-produit-galerie .woocommerce-product-gallery__image img { width: 100%; max-height: 560px; object-fit: contain; }
@media (min-width: 1025px) {
	.dp-produit-galerie .woocommerce-product-gallery:has(.flex-control-thumbs) {
		display: grid !important; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; align-items: start;
	}
	.dp-produit-galerie .woocommerce-product-gallery .flex-viewport { grid-column: 2; grid-row: 1; }
	.dp-produit-galerie .woocommerce-product-gallery .flex-control-thumbs {
		grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 8px; margin: 0 !important;
	}
	.dp-produit-galerie .woocommerce-product-gallery .flex-control-thumbs li { width: 76px !important; margin: 0 !important; float: none !important; }
}
/* Tablette et téléphone : vignettes sur une seule ligne sous la photo (défilement de côté s'il y en a beaucoup) */
@media (max-width: 1024px) {
	.dp-produit-galerie .woocommerce-product-gallery .flex-control-thumbs {
		display: flex !important; gap: 8px; overflow-x: auto; margin: 10px 0 0 !important; padding: 0 !important;
	}
	.dp-produit-galerie .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 56px; width: 56px !important; margin: 0 !important; float: none !important; }
}
.dp-produit-galerie .flex-control-thumbs img { border: 1px solid #DDE7EA; border-radius: 6px; opacity: .7; cursor: pointer; }
.dp-produit-galerie .flex-control-thumbs img.flex-active,
.dp-produit-galerie .flex-control-thumbs img:hover { border-color: #0B1D51; opacity: 1; }

/* Colonne d'achat */
.dp-produit-achat > .elementor-element { margin: 0 !important; }
/* « .dp-produit-marque a » : passe devant la couleur des liens du kit Elementor (.elementor-kit-52504 a) */
.dp-produit-marque a.dp-marque-lien { font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #00AEEF; text-decoration: none; }
.dp-produit-marque a.dp-marque-lien:hover { color: #00AEEF; text-decoration: underline; }
.dp-produit-titre .elementor-heading-title {
	margin: 0 !important; font-size: 26px !important; line-height: 1.25 !important; font-weight: 700 !important;
	text-transform: none !important; color: #0B1D51 !important; text-align: left !important;
}
.dp-produit-ref .elementor-shortcode { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; font-size: 14px; color: #6D758C; }
.dp-produit-ref .stock { margin: 0 !important; font-size: 14px !important; font-weight: 600; }
.dp-produit-prix .price { margin: 0 !important; font-size: 30px !important; line-height: 1.2 !important; text-align: left !important; }
.dp-produit-prix .price small, .dp-produit-prix .woocommerce-price-suffix { font-size: 14px !important; font-weight: 400; color: #6D758C; }
.dp-produit-points { font-size: 15px; line-height: 1.55; color: #20272E; }
.dp-produit-points p:last-child { margin-bottom: 0; }
/* titre « Les points forts » recopié de sites de fournisseurs dans quelques fiches : ramené à la taille du texte */
.dp-produit-points :is(h1, h2, h3, h4) {
	margin: 0 0 6px !important; font-size: 15px !important; line-height: 1.4 !important; font-weight: 700 !important;
	text-transform: none !important; letter-spacing: 0 !important; color: #0B1D51 !important;
}
.dp-produit-panier .stock { display: none !important; }
.dp-produit-panier form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin: 0 !important; }
/* l'espacement vient du « gap » ci-dessus : marges du widget Elementor retirées (le bouton restait décalé de 20 px) */
.dp-produit-panier form.cart > .quantity, .dp-produit-panier form.cart > .single_add_to_cart_button { margin: 0 !important; }
/* « clearfix » de WooCommerce : dans une boîte flex, il compte comme un élément et ajoute un écart de 10 px à gauche */
.dp-produit-panier form.cart::before, .dp-produit-panier form.cart::after { display: none !important; }
/* quantité cachée par WooCommerce (un seul exemplaire en stock, vente à l'unité) : sa place n'est plus réservée */
.dp-produit-panier .quantity:has(input[type="hidden"]) { display: none !important; }
.dp-produit-panier .quantity input.qty { height: 50px; width: 72px; }
/* boutons − et + autour de la quantité (ajoutés par page-produit.js) */
.dp-produit-panier .quantity.dp-qte {
	display: flex; flex: 0 0 auto; width: auto !important; padding: 0 !important; align-items: stretch; height: 50px;
	border: 1px solid #DDE7EA; border-radius: 6px; overflow: hidden;
}
.dp-produit-panier .dp-qte input.qty {
	flex: 0 0 44px; width: 44px !important; height: auto; margin: 0; padding: 0; border: 0 !important; border-radius: 0; text-align: center;
	font-size: 16px; color: #0B1D51; -moz-appearance: textfield; appearance: textfield;
}
.dp-produit-panier .dp-qte input.qty::-webkit-inner-spin-button,
.dp-produit-panier .dp-qte input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.dp-produit-panier .dp-qte button {
	flex: 0 0 38px; width: 38px; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
	background: #F4F7F8 !important; color: #0B1D51 !important; font-size: 20px; line-height: 1; cursor: pointer;
}
.dp-produit-panier .dp-qte button:hover { background: #E6EEF1 !important; }
.dp-produit-panier .single_add_to_cart_button.dp-ajoute { background-color: #0B1D51 !important; }
.dp-produit-panier .added_to_cart { display: none !important; }   /* lien de WooCommerce après l'ajout : le panneau s'ouvre */
.dp-produit-panier .single_add_to_cart_button { flex: 1 1 220px; max-width: 360px; min-height: 50px; padding: 0 32px !important; font-size: 17px !important; }
.dp-produit-garanties { padding: 12px 0 !important; border-top: 1px solid #DDE7EA; border-bottom: 1px solid #DDE7EA; }
.dp-produit-garanties .elementor-icon-box-title, .dp-produit-garanties .elementor-icon-box-title span { font-size: 14px !important; }

/* Description sous le produit (rubrique masquée quand le produit n'en a pas) */
.dp-produit-description:not(:has(.dp-description-titre)) { display: none !important; }
.dp-produit-description .dp-description { max-width: 960px; }
.dp-description-titre { margin: 12px 0 10px; font-size: 20px; color: #0B1D51; }
.dp-description-texte { font-size: 15px; line-height: 1.6; color: #20272E; }

/* Téléphone : colonne unique, barre d'achat en bas de l'écran quand le bouton panier n'est plus visible */
.dp-barre-achat { display: none; }
@media (max-width: 767px) {
	.dp-produit-galerie, .dp-produit-achat { width: 100% !important; }
	.dp-produit-titre .elementor-heading-title { font-size: 21px !important; }
	.dp-produit-prix .price { font-size: 26px !important; }
	.dp-barre-achat {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; align-items: center; gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff;
		border-top: 1px solid #DDE7EA; box-shadow: 0 -2px 10px rgba(0, 0, 0, .08);
		transform: translateY(110%); transition: transform .2s;
	}
	.dp-barre-achat.dp-visible { transform: none; }
	.dp-barre-achat-prix { font-size: 17px; font-weight: 700; color: #0B1D51; white-space: nowrap; }
	.dp-barre-achat-prix small { display: none; }
	.dp-barre-achat-bouton { flex: 1; min-height: 46px; border: 0; border-radius: 5px; background: #34DD18; color: #fff; font-size: 16px; font-weight: 700; }
}
