/* B2B Medicalem : styles discrets, alignés sur le thème. */

.b2bm-btns a,
.b2bm-btns button {
	display: inline-block;
	margin: 0 10px 10px 0;
}

.b2bm-price-guest a { text-decoration: underline; }
.b2bm-ttc { display: block; font-size: .85em; opacity: .75; }

.b2bm-resah {
	margin: 10px 0 15px;
	padding: 12px 15px;
	border: 2px solid currentColor;
	border-radius: 6px;
	font-weight: 600;
}
.b2bm-resah a { text-decoration: none; }
.b2bm-public #description_rapide > p > a[href*="resah.fr"] { display: none; }

.b2bm-mode {
	margin: 0 0 25px;
	padding: 15px 20px;
	border: 1px solid #d6dde5;
	border-radius: 6px;
	background: #f7f9fb;
}
.b2bm-mode-title { font-weight: 600; margin: 0 0 8px; }
.b2bm-mode p { margin: 0 0 6px; }
.b2bm-mode-actions a { text-decoration: underline; }
.b2bm-mode-option { display: block; margin: 6px 0; cursor: pointer; }
.b2bm-mode-option.is-disabled { opacity: .5; cursor: not-allowed; }
.b2bm-reasons { margin: 8px 0 0 20px; font-size: .9em; color: #a33; }
.b2bm-quote-only { color: #777; }
.b2bm-remove { margin: 12px 0 0; }
.b2bm-empty { float: left; margin-top: 10px; text-decoration: underline; }
.b2bm-delivery-choice { clear: both; padding-top: 10px; }
.b2bm-notices { margin: 0 0 15px; }
.b2bm-notices .woocommerce-error,
.b2bm-notices .woocommerce-message,
.b2bm-notices .woocommerce-info {
	display: block !important;
	position: relative;
	margin: 0 0 10px !important;
	padding: 14px 18px !important;
	list-style: none;
	border: 0 !important;
	border-radius: 4px;
	box-shadow: none !important;
	outline: none !important;
	line-height: 1.5;
}
.b2bm-notices .woocommerce-error::before,
.b2bm-notices .woocommerce-message::before,
.b2bm-notices .woocommerce-info::before { display: none !important; content: none !important; }
.b2bm-notices .woocommerce-message .button {
	float: right;
	margin: -4px 0 0 15px;
}
.woocommerce-cart .b2bm-notices .wc-forward,
.b2bm-cart-page .b2bm-notices .wc-forward { display: none !important; }
.b2bm-notices .woocommerce-error { background: #fdecea; border-left: 4px solid #b72f33 !important; color: #8a1f22; }
.b2bm-notices .woocommerce-message { background: #edf7ee; border-left: 4px solid #2e7d32 !important; color: #1e5a22; }
.b2bm-notices .woocommerce-info { background: #eef4f8; border-left: 4px solid #3984a1 !important; color: #1f4d61; }
.b2bm-notices li { list-style: none; margin: 0; }
.woocommerce-error .b2bm-notice-btn { display: inline-block; margin: 8px 10px 0 0; }
.woocommerce-error .b2bm-notice-link { display: inline-block; margin-top: 8px; text-decoration: underline; }
.b2bm-delivery-link { margin: 0 0 10px; font-size: .95em; }

.b2bm-totals table { width: 100%; max-width: 420px; margin-left: auto; }
.b2bm-note { text-align: right; font-size: .9em; opacity: .8; }

.b2bm-box { padding: 15px 20px; border: 1px solid #d6dde5; border-radius: 6px; margin: 0 0 20px; }
.b2bm-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 15px 0 25px; }
.b2bm-card { display: block; padding: 14px; border: 1px solid #d6dde5; border-radius: 6px; text-decoration: none; }
.b2bm-card strong { display: block; font-size: 1.8em; line-height: 1.1; }
.b2bm-table { width: 100%; }
.b2bm-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; background: #e7eef6; font-size: .85em; }
.b2bm-addr { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-bottom: 20px; }
.b2bm-addr .b2bm-box { margin: 0; }
.b2bm-form p { margin: 0 0 12px; }
.b2bm-form label { display: block; font-weight: 600; }
.b2bm-form input[type="text"],
.b2bm-form input[type="tel"],
.b2bm-form select,
.b2bm-form textarea { width: 100%; max-width: 480px; }
.b2bm-addr-new { display: none; }

/* Page de commande : largeur confortable, centrée. */
body.b2bm-actif form.woocommerce-checkout {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
body.b2bm-actif form.woocommerce-checkout textarea,
body.b2bm-actif form.woocommerce-checkout textarea.input-text {
	height: 96px !important;
	min-height: 0 !important;
	padding: 12px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background-color: #f2f2f2 !important;
	box-sizing: border-box !important;
}
body.b2bm-actif form.woocommerce-checkout input[type="date"],
body.b2bm-actif form.woocommerce-checkout select {
	height: 52px !important;
	line-height: normal !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background-color: #f2f2f2 !important;
	box-sizing: border-box !important;
}
body.b2bm-actif form.woocommerce-checkout .form-row { margin-bottom: 14px; }
body.b2bm-actif form.woocommerce-checkout .select2-container .select2-selection--single {
	height: 52px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 4px !important;
	background-color: #f2f2f2 !important;
	display: flex !important;
	align-items: center !important;
}
body.b2bm-actif form.woocommerce-checkout .select2-container .select2-selection__rendered {
	padding-left: 12px !important;
	line-height: 52px !important;
	font-size: 16px !important;
}
body.b2bm-actif form.woocommerce-checkout .select2-container .select2-selection__arrow { height: 52px !important; }
body.b2bm-actif form.woocommerce-checkout .form-row.woocommerce-validated select,
body.b2bm-actif form.woocommerce-checkout .form-row.woocommerce-invalid select { border: 0 !important; }

/* Moyens de paiement : le thème les masque (site en devis seulement) ; affichés en mode achat. */
body.b2bm-actif .woocommerce-checkout ul.wc_payment_methods.b2bm-pay-list {
	display: block !important;
	margin: 10px 0 20px !important;
	padding: 15px 20px !important;
	border: 1px solid #d6dde5;
	border-radius: 6px;
	list-style: none;
}
body.b2bm-actif .b2bm-pay-list li { margin: 8px 0; list-style: none; }
body.b2bm-actif .b2bm-pay-list li label { font-weight: 600; margin-left: 6px; }
body.b2bm-actif .b2bm-pay-list .payment_box { margin: 6px 0 0 24px; font-size: .9em; opacity: .85; }
.b2bm-pay-title { margin-top: 25px; }
body.b2bm-actif .woocommerce-checkout #payment #place_order { margin-top: 12px !important; }
body.b2bm-actif .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 0 !important; }
body.b2bm-actif .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin-bottom: 0 !important; }

/* Page de commande : champs homogènes avec ceux du thème. */
.b2bm-actif .woocommerce-checkout .b2bm-subtitle {
	clear: both;
	margin: 25px 0 5px;
	padding-top: 15px;
	border-top: 1px solid #e3e7ec;
	font-size: 1.1em;
}
.b2bm-actif .woocommerce-checkout select,
.b2bm-actif .woocommerce-checkout input[type="date"],
.b2bm-actif .woocommerce-checkout .select2-container .select2-selection--single {
	height: 52px;
	width: 100%;
	padding: 0 12px;
	border: 0;
	border-radius: 4px;
	background-color: #f2f2f2;
	box-sizing: border-box;
}
.b2bm-actif .woocommerce-checkout .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	padding: 0;
}
.b2bm-actif .woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
	padding-left: 12px;
	line-height: 52px;
}
.b2bm-actif .woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
	height: 50px;
}
.b2bm-actif .woocommerce-checkout textarea {
	height: auto;
	min-height: 0;
	width: 100%;
	padding: 12px;
	border: 0;
	border-radius: 4px;
	background-color: #f2f2f2;
	box-sizing: border-box;
	resize: vertical;
}
.b2bm-actif .woocommerce-checkout .form-row-first,
.b2bm-actif .woocommerce-checkout .form-row-last {
	width: 48%;
}
.b2bm-actif .woocommerce-checkout .form-row-first { float: left; clear: left; }
.b2bm-actif .woocommerce-checkout .form-row-last { float: right; }
.b2bm-actif .woocommerce-checkout .form-row-wide { clear: both; }
@media (max-width: 640px) {
	.b2bm-actif .woocommerce-checkout .form-row-first,
	.b2bm-actif .woocommerce-checkout .form-row-last { width: 100%; float: none; }
}
.b2bm-actif #ship-to-different-address { display: none; }
.b2bm-actif .woocommerce-shipping-fields .shipping_address { display: block !important; }

/* Page de confirmation */
.b2bm-thanks { max-width: 760px; margin: 0 auto; padding: 10px 0 40px; }
.b2bm-thanks-title { text-align: center; margin: 0 0 25px; }
.b2bm-thanks-lead { text-align: center; }
.b2bm-thanks-summary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0;
	margin: 0 0 25px !important;
	padding: 0 !important;
	list-style: none;
	border: 1px solid #d6dde5;
	border-radius: 6px;
	overflow: hidden;
}
.b2bm-thanks-summary li {
	list-style: none;
	margin: 0;
	padding: 14px 16px;
	border-right: 1px solid #d6dde5;
	text-align: center;
}
.b2bm-thanks-summary li:last-child { border-right: 0; }
.b2bm-thanks-summary span { display: block; font-size: .85em; opacity: .7; margin-bottom: 4px; }
.b2bm-thanks-summary strong { font-size: 1.05em; }
.b2bm-thanks-next {
	margin: 0 0 25px;
	padding: 18px 22px;
	background: #f7f9fb;
	border-left: 4px solid #3984a1;
	border-radius: 4px;
}
.b2bm-thanks-next h4 { margin: 0 0 8px; }
.b2bm-thanks-next p { margin: 0 0 8px; }
.b2bm-thanks-next h2,
.b2bm-thanks-next h3 { font-size: 1em; margin: 12px 0 6px; }
.b2bm-thanks-next ul { margin: 0 0 8px 18px; }
.b2bm-thanks-actions { text-align: center; margin: 0 0 20px; }
.b2bm-thanks-actions .button { margin: 0 12px 8px 0; }
.b2bm-thanks-link { text-decoration: underline; }
.b2bm-thanks-sign { text-align: center; opacity: .85; }
@media (max-width: 640px) {
	.b2bm-thanks-summary li { border-right: 0; border-bottom: 1px solid #d6dde5; }
	.b2bm-thanks-summary li:last-child { border-bottom: 0; }
}

.b2bm-testbar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	background: #1d2327;
	color: #fff;
	font: 13px/1.4 sans-serif;
	padding: 8px 14px;
	text-align: center;
}
.b2bm-testbar a { color: #72aee6; margin-left: 6px; }

/* Profil Entreprise / Particulier et nouvelle adresse de livraison (1.4.0) */
body.b2bm-actif form.woocommerce-checkout .b2bm-profil .woocommerce-input-wrapper { display: flex !important; flex-wrap: wrap; gap: 6px 24px; }
body.b2bm-actif form.woocommerce-checkout .b2bm-profil input[type="radio"] { width: auto !important; margin: 0 6px 0 0 !important; display: inline-block !important; vertical-align: middle; }
body.b2bm-actif form.woocommerce-checkout .b2bm-profil label.radio { display: inline-block !important; margin: 0 !important; font-weight: normal; cursor: pointer; }
body.b2bm-actif form.woocommerce-checkout .b2bm-delivery-choice { clear: both; }
body.b2bm-actif form.woocommerce-checkout .b2bm-new-delivery { overflow: hidden; }
.b2bm-totals .b2bm-min { color: #b32d2e; }

/* Boutons Commander / Devis : espacés même sur les produits à variantes (le thème annule la marge). */
body.b2bm-actif p#add_to_cart_btn.b2bm-btns { display: flex !important; flex-wrap: wrap; gap: 10px; }
body.b2bm-actif p#add_to_cart_btn.b2bm-btns a,
body.b2bm-actif p#add_to_cart_btn.b2bm-btns button { margin: 0 !important; }

/* Délai de livraison estimé (stock à 0) */
.b2bm-delai { margin: 0 0 12px; font-size: .95em; }
