/* LPMP — page produit (maquette « Refonte Page produit ») */
body.single-product {
	--lpp-encre: #202435;
	--lpp-gris: #5F6477;
	--lpp-texte: #3A3F55;
	--lpp-trait: #E4E5EE;
	--lpp-jaune: #FAB42B;
	--lpp-rouge: #E3174B;
	--lpp-vert-fond: #EAF4E6;
	--lpp-vert-txt: #2E5E2B;
}
.lpp-ico {
	font-family: 'Material Symbols Rounded'; font-weight: normal; font-style: normal; font-size: 22px; line-height: 1; letter-spacing: normal;
	text-transform: none; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga';
}

/* Titre, prix, stock */
body.single-product .product_title { font: 700 clamp(30px, 3.4vw, 44px)/1.05 Dosis, sans-serif !important; color: var(--lpp-encre) !important; }
body.single-product .product-detail .price { font: 700 clamp(32px, 3.2vw, 40px)/1 Dosis, sans-serif !important; color: var(--lpp-encre) !important; margin: 0 0 12px !important; }
body.single-product .product-detail .price * { font: inherit !important; color: inherit !important; }
body.single-product .product-detail .column > .stock.product-available { display: none !important; }
body.single-product .product-detail .product-meta .stock.in-stock { display: inline-flex; align-items: center; gap: 4px; background: var(--lpp-vert-fond) !important; color: var(--lpp-vert-txt) !important; font: 600 15px Inter, sans-serif !important; text-transform: none !important; padding: 3px 10px !important; border-radius: 20px !important; }
body.single-product .product-detail .product-share { display: none !important; }
body.single-product .product-detail .woocommerce-product-details__short-description { font-size: 17px; color: var(--lpp-texte); }

/* Bloc d'achat */
body.single-product form.cart.lpp-form {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: 14px; margin: 18px 0 14px !important; padding: clamp(16px, 2vw, 22px) !important;
	border: 1px solid var(--lpp-trait) !important; border-radius: 16px; background: #fff;
}
body.single-product form.cart.lpp-form::before, body.single-product form.cart.lpp-form::after { display: none !important; }
body.single-product #lpmp-estimation { display: none !important; }
.lpp-raccourcis { flex: 1 1 100%; display: flex; flex-direction: column; gap: 10px; }
.lpp-label { font-weight: 600; color: var(--lpp-encre); }
.lpp-raccourcis__grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.lpp-raccourci { height: 48px; border-radius: 10px; border: 1.5px solid #D5D8E2; background: #fff; font: 600 16px Inter, sans-serif; color: var(--lpp-encre); cursor: pointer; padding: 0; }
.lpp-raccourci:hover { border-color: var(--lpp-encre); }
.lpp-raccourci.is-sel { border: 2px solid var(--lpp-encre); background: var(--lpp-jaune); }
.lpp-raccourci:focus-visible, body.single-product form.cart.lpp-form .quantity-button:focus-visible { outline: 3px solid var(--lpp-jaune); outline-offset: 2px; }
body.single-product form.cart.lpp-form .quantity {
	display: inline-flex !important; align-items: center; border: 1.5px solid #D5D8E2 !important; border-radius: 999px !important; padding: 2px !important;
	margin: 0 !important; height: auto !important; background: #fff; width: auto !important;
}
body.single-product form.cart.lpp-form .quantity-button {
	position: static !important; width: 48px !important; height: 48px !important; border-radius: 50% !important; background: #F3F4F7 !important;
	display: flex !important; align-items: center; justify-content: center; cursor: pointer; color: var(--lpp-encre) !important; border: 0 !important; transform: none !important;
}
body.single-product form.cart.lpp-form .quantity-button:hover { background: var(--lpp-trait) !important; }
body.single-product form.cart.lpp-form .quantity input.qty {
	width: 72px !important; height: 48px !important; border: 0 !important; background: none !important; text-align: center; font: 700 18px Inter, sans-serif !important; color: var(--lpp-encre) !important; padding: 0 !important; box-shadow: none !important;
}
body.single-product form.cart.lpp-form .lpmp-qty-suffix { font: 700 18px Inter, sans-serif; margin-left: -10px; color: var(--lpp-encre); }
.lpp-calcul { color: var(--lpp-gris); font-size: 16px; flex: 1 1 auto; }
body.single-product form.cart.lpp-form .single_add_to_cart_button {
	flex: 1 1 100%; width: 100% !important; max-width: none !important; height: 58px !important; white-space: nowrap; margin: 0 !important; border: 0 !important; border-radius: 12px !important; background: var(--lpp-rouge) !important; color: #fff !important;
	font: 700 18px Inter, sans-serif !important; display: flex !important; align-items: center; justify-content: center; gap: 10px; text-transform: none !important; padding: 0 16px !important; line-height: 1 !important;
}
body.single-product form.cart.lpp-form .single_add_to_cart_button:hover { background: #C8103F !important; }
body.single-product form.cart.lpp-form .single_add_to_cart_button .lpp-ico { font-size: 22px; }
.lpp-note-poids { display: flex; gap: 8px; align-items: flex-start; font-size: 15px; color: var(--lpp-gris); margin: -4px 0 16px !important; }
.lpp-note-poids::before { content: 'scale'; font-family: 'Material Symbols Rounded'; font-size: 19px; line-height: 1.2; font-feature-settings: 'liga'; }
body.single-product .lpa-recup.is-compact { margin: 6px 0 16px; }
body.single-product .product-detail .product_meta.bottom { font-size: 15px; color: var(--lpp-gris); border: 0 !important; padding: 0 !important; margin: 0 !important; }
body.single-product .product-detail .product_meta.bottom a { color: var(--lpp-encre) !important; font-weight: 600; }

/* Engagements (bloc lpmp-poids) */
body.single-product .lpmp-product-trust { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 12px; background: #F7F8FB; border-radius: 16px; padding: clamp(16px, 2vw, 22px) !important; margin: 32px 0 !important; border: 0 !important; }
body.single-product .lpmp-trust-item { display: flex; gap: 12px; align-items: flex-start; }
body.single-product .lpmp-trust-icon { width: 44px; height: 44px; flex: none; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; }
body.single-product .lpmp-trust-item strong { font: 700 16px Inter, sans-serif; color: var(--lpp-encre); }
body.single-product .lpmp-trust-item p { margin: 2px 0 0 !important; font-size: 15px; color: var(--lpp-gris); }

/* Onglets */
body.single-product .woocommerce-tabs { border: 1px solid var(--lpp-trait) !important; border-radius: 16px !important; overflow: hidden; }
body.single-product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--lpp-trait) !important; padding: 0 16px !important; margin: 0 !important; }
body.single-product .woocommerce-tabs ul.tabs li a { font: 700 17px Dosis, sans-serif !important; text-transform: uppercase; letter-spacing: .03em; color: var(--lpp-gris) !important; min-height: 52px; display: flex !important; align-items: center; border-bottom: 3px solid transparent; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--lpp-encre) !important; border-bottom-color: var(--lpp-jaune); }
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel { padding: clamp(18px, 2.4vw, 28px) !important; }
body.single-product #reviews h2, body.single-product #reviews .woocommerce-Reviews-title { font: 700 18px Inter, sans-serif !important; text-transform: none !important; }
.lpp-btn-avis { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 20px; border: 2px solid var(--lpp-encre); border-radius: 10px; background: #fff; font: 600 16px Inter, sans-serif; color: var(--lpp-encre); cursor: pointer; margin-top: 12px; }
.lpp-btn-avis:hover { background: #FFF6E3; }

/* Dans le même rayon : vignette commune */
body.single-product .related > h2, body.single-product .related .section-title, body.single-product .related-products h2 { font: 700 clamp(24px, 2.2vw, 28px)/1.1 Dosis, sans-serif !important; text-transform: uppercase; color: var(--lpp-encre) !important; }

@media (max-width: 767px) {
	.lpp-raccourcis__grille { gap: 6px; }
	body.single-product form.cart.lpp-form .single_add_to_cart_button { font-size: 17px !important; }
}

/* Raccourcis : rectangles arrondis (le thème arrondit tous les boutons) */
body.single-product .lpp-raccourci { border-radius: 10px !important; width: 100% !important; min-width: 0 !important; }
