/*
 * Panier et page de commande : nouvelle présentation (Orthorepass, 21/10/2026).
 * Chargé seulement quand orp_panier_v2_actif() (functions.php) ; tout est limité à body.orp-pc.
 * Charte des fiches produits : fond crème, cartes blanches arrondies, Poppins pour les titres et les prix,
 * bouton jaune #FFBC01 en pilule. Aucune règle ne cache ni ne déplace un champ du formulaire.
 */

body.orp-pc {
	--orp-encre: #1a1a1a;
	--orp-gris: #6b7280;
	--orp-ligne: #ece5d2;
	--orp-ligne-champ: #ddd4bf;
	--orp-creme: #f8f4eb;
	--orp-creme-clair: #fffdf7;
	--orp-jaune: #ffbc01;
	--orp-jaune-survol: #fdb813;
	--orp-jaune-doux: #fff7dc;
	--orp-rouge: #c0392b;
	--orp-titre: "Poppins", sans-serif;
	--orp-texte: "Lato", sans-serif;
	--orp-ombre: 0 1px 2px rgba(26, 26, 26, .04), 0 8px 24px rgba(26, 26, 26, .04);
}

/* ---------- Éléments communs ---------- */

body.orp-pc { background-color: var(--orp-creme) !important; }

body.orp-pc .woocommerce-notices-wrapper:empty { display: none; }
body.orp-pc .woocommerce-error,
body.orp-pc .woocommerce-message,
body.orp-pc .woocommerce-info {
	border-radius: 14px;
	font-family: var(--orp-texte);
	font-size: 14px;
}

/* Bouton principal : même pilule jaune que « Ajouter au panier » sur les fiches.
   Pas de « display » forcé sur #place_order : Mondial Relay le cache (style en ligne) tant qu'aucun point relais n'est choisi. */
body.orp-pc .wc-proceed-to-checkout a.checkout-button { display: block !important; }
body.orp-pc .wc-proceed-to-checkout a.checkout-button,
body.orp-pc #place_order {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 17px 24px !important;
	border: 0 !important;
	border-radius: 100px !important;
	background: var(--orp-jaune) !important;
	color: var(--orp-encre) !important;
	font-family: var(--orp-titre) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(255, 188, 1, .4) !important;
	transition: background-color .15s, transform .15s;
}
body.orp-pc .wc-proceed-to-checkout a.checkout-button:hover,
body.orp-pc #place_order:hover {
	background: var(--orp-jaune-survol) !important;
	transform: translateY(-1px);
}

/* Modes de livraison (panier et commande) : une carte par mode, nom à gauche, prix aligné à droite. */
body.orp-pc ul#shipping_method {
	list-style: none !important;
	width: 100% !important;
	margin: 10px 0 0 !important;
	padding: 0 !important;
	float: none !important;
	text-align: left !important;
}
body.orp-pc ul#shipping_method li {
	display: grid !important;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: center;
	column-gap: 12px;
	float: none !important;
	width: 100% !important;
	box-sizing: border-box;
	margin: 0 0 7px !important;
	padding: 10px 13px !important;
	border: 1px solid var(--orp-ligne);
	border-radius: 14px;
	background: #fff;
	text-indent: 0 !important;
	text-align: left !important;
	cursor: pointer;
	transition: border-color .15s, background-color .15s;
}
body.orp-pc ul#shipping_method li:has(input:checked) {
	border-color: var(--orp-jaune);
	background: var(--orp-jaune-doux);
}
body.orp-pc ul#shipping_method li input.shipping_method {
	margin: 0 !important;
	width: 18px;
	height: 18px;
	accent-color: var(--orp-encre);
	cursor: pointer;
}
body.orp-pc ul#shipping_method li input[type="hidden"] + label { grid-column: 1 / -1; }
body.orp-pc ul#shipping_method li label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--orp-texte);
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: var(--orp-encre) !important;
	text-transform: none !important;
	cursor: pointer;
}
body.orp-pc .orp-liv-nom {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
body.orp-pc .orp-liv-nom img.mrwp_shipping_logo {
	width: 26px !important;
	max-width: 26px !important;
	height: auto;
	margin: 0 !important;
	border-radius: 6px;
	flex: none;
}
body.orp-pc .orp-liv-prix,
body.orp-pc .orp-liv-prix .amount {
	font-family: var(--orp-titre) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: var(--orp-encre) !important;
	white-space: nowrap;
}
body.orp-pc ul#shipping_method .shipping-method-description {
	grid-column: 2;
	margin: 4px 0 0 !important;
	font-size: 12.5px !important;
	line-height: 1.4 !important;
	color: var(--orp-gris) !important;
	text-align: left !important;
}
body.orp-pc .woocommerce-shipping-destination,
body.orp-pc .woocommerce-shipping-contents {
	margin: 2px 0 0 !important;
	font-size: 12.5px !important;
	color: var(--orp-gris) !important;
	text-align: left !important;
}

/* ---------- Panier ---------- */

body.orp-pc-panier .woocommerce:has(> form.woocommerce-cart-form) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	grid-template-areas: "tete tete" "avis avis" "liste recap";
	column-gap: 28px;
	align-items: start;
	max-width: 1180px;
	margin: 0 auto;
	padding: 36px 0 72px;
}
body.orp-pc-panier .woocommerce > .orp-pc-entete { grid-area: tete; }
body.orp-pc-panier .woocommerce > .woocommerce-notices-wrapper { grid-area: avis; }
body.orp-pc-panier .woocommerce > form.woocommerce-cart-form { grid-area: liste; min-width: 0; }
body.orp-pc-panier .woocommerce > .cart-collaterals { grid-area: recap; width: auto !important; float: none !important; margin: 0 !important; }

body.orp-pc .orp-pc-entete {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 0 0 22px;
}
body.orp-pc .orp-pc-titre,
body.orp-pc .orp-co-titre {
	margin: 0 !important;
	font-family: var(--orp-titre) !important;
	font-size: 34px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -.5px;
	color: var(--orp-encre) !important;
	text-transform: none !important;
}
body.orp-pc .orp-pc-compte {
	font-family: var(--orp-texte);
	font-size: 15px;
	color: var(--orp-gris);
}
body.orp-pc .orp-pc-retour,
body.orp-pc .orp-co-retour {
	margin-left: auto;
	font-family: var(--orp-titre);
	font-size: 14px;
	font-weight: 500;
	color: var(--orp-encre) !important;
	text-decoration: none !important;
}
body.orp-pc .orp-pc-retour:hover,
body.orp-pc .orp-co-retour:hover { text-decoration: underline !important; }

/* La liste des articles : la table de WooCommerce présentée en lignes compactes (sa structure ne change pas). */
body.orp-pc-panier form.woocommerce-cart-form { margin: 0 !important; }
body.orp-pc-panier table.shop_table.cart {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 4px 26px !important;
	border: 0 !important;
	border-radius: 24px !important;
	background: #fff !important;
	box-shadow: var(--orp-ombre);
	border-collapse: separate !important;
}
body.orp-pc-panier table.shop_table.cart thead { display: none !important; }
body.orp-pc-panier table.shop_table.cart tbody { display: block !important; }
body.orp-pc-panier table.shop_table.cart tr.cart_item {
	display: grid !important;
	grid-template-columns: 76px minmax(0, 1fr) auto 104px 32px;
	grid-template-areas: "img nom qte sous suppr" "img prix qte sous suppr";
	column-gap: 18px;
	row-gap: 2px;
	align-items: center;
	padding: 18px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--orp-ligne) !important;
	background: none !important;
}
body.orp-pc-panier table.shop_table.cart tr.cart_item:not(:has(~ tr.cart_item)) { border-bottom: 0 !important; }
body.orp-pc-panier table.shop_table.cart td {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
	width: auto !important;
	min-width: 0;
}
body.orp-pc-panier table.shop_table.cart td::before { content: none !important; display: none !important; }
body.orp-pc-panier table.shop_table.cart td.product-thumbnail { grid-area: img; }
body.orp-pc-panier table.shop_table.cart td.product-thumbnail a { display: block; }
body.orp-pc-panier table.shop_table.cart td.product-thumbnail img {
	display: block !important;
	width: 76px !important;
	height: 76px !important;
	max-width: none !important;
	object-fit: contain;
	padding: 6px;
	border: 1px solid var(--orp-ligne);
	border-radius: 16px;
	background: var(--orp-creme-clair);
	box-sizing: border-box;
}
body.orp-pc-panier table.shop_table.cart td.product-name {
	grid-area: nom;
	align-self: end;
	font-family: var(--orp-titre) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}
body.orp-pc-panier table.shop_table.cart td.product-name a {
	color: var(--orp-encre) !important;
	text-decoration: none !important;
	font: inherit !important;
}
body.orp-pc-panier table.shop_table.cart td.product-name a:hover { text-decoration: underline !important; }
body.orp-pc-panier table.shop_table.cart td.product-name dl.variation,
body.orp-pc-panier table.shop_table.cart td.product-name .wc-item-meta {
	margin: 4px 0 0 !important;
	font-family: var(--orp-texte);
	font-size: 13px;
	font-weight: 400;
	color: var(--orp-gris);
}
body.orp-pc-panier table.shop_table.cart td.product-name dl.variation dt,
body.orp-pc-panier table.shop_table.cart td.product-name dl.variation dd { display: inline; margin: 0; float: none; }
body.orp-pc-panier table.shop_table.cart td.product-name dl.variation dd p { display: inline; margin: 0; }
body.orp-pc-panier table.shop_table.cart td.product-price {
	grid-area: prix;
	align-self: start;
	font-family: var(--orp-texte) !important;
	font-size: 13.5px !important;
	color: var(--orp-gris) !important;
}
body.orp-pc-panier table.shop_table.cart td.product-price .amount {
	font: inherit !important;
	color: inherit !important;
}
body.orp-pc-panier table.shop_table.cart td.product-price::after { content: " l'unité"; }
body.orp-pc-panier table.shop_table.cart td.product-quantity { grid-area: qte; }
body.orp-pc-panier table.shop_table.cart td.product-subtotal {
	grid-area: sous;
	text-align: right !important;
}
body.orp-pc-panier table.shop_table.cart td.product-subtotal .amount {
	font-family: var(--orp-titre) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-panier table.shop_table.cart td.product-remove {
	grid-area: suppr;
	justify-self: end;
}
body.orp-pc-panier table.shop_table.cart td.product-remove a.remove {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--orp-gris) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: background-color .15s, color .15s;
}
body.orp-pc-panier table.shop_table.cart td.product-remove a.remove:hover {
	background: #fdecea !important;
	color: var(--orp-rouge) !important;
}

/* Packs (WPC Product Bundles) : les articles inclus, en retrait sous la ligne du pack, plus petits et en gris.
   Leur prix est le détail du prix du pack, déjà compté une fois dans le total. */
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child {
	grid-template-columns: 52px minmax(0, 1fr) auto 104px 32px;
	grid-template-areas: "img nom qte sous suppr";
	margin-left: 34px;
	padding: 10px 0 10px 16px !important;
	border-left: 2px solid var(--orp-ligne) !important;
}
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td { opacity: 1 !important; }
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-thumbnail img {
	width: 52px !important;
	height: 52px !important;
	border-radius: 12px;
	padding: 4px;
}
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-name {
	align-self: center;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	color: var(--orp-encre);
}
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-price,
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-remove { display: none !important; }
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-quantity {
	font-family: var(--orp-texte) !important;
	font-size: 13.5px !important;
	color: var(--orp-gris) !important;
	text-align: center !important;
}
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-quantity::before { content: "× " !important; display: inline !important; }
body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-subtotal .amount {
	font-family: var(--orp-texte) !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	color: var(--orp-gris) !important;
}
body.orp-pc-panier table.shop_table.cart tr.woosb-item-parent:has(+ tr.woosb-item-child) { border-bottom: 0 !important; padding-bottom: 10px !important; }
body.orp-pc-commande table.orp-co-table tbody tr.woosb-item-child {
	margin-left: 22px;
	padding: 6px 0 6px 12px !important;
	border-bottom: 0 !important;
	border-left: 2px solid var(--orp-ligne) !important;
}
body.orp-pc-commande table.orp-co-table tbody tr.woosb-item-child .orp-co-miniature { width: 40px; height: 40px; border-radius: 10px; }
body.orp-pc-commande table.orp-co-table tbody tr.woosb-item-child .orp-co-qte { display: none; }
body.orp-pc-commande table.orp-co-table tbody tr.woosb-item-child .orp-co-nom { font-size: 13px; font-weight: 400; }
body.orp-pc-commande table.orp-co-table tbody tr.woosb-item-child td.product-total .amount {
	font-family: var(--orp-texte) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: var(--orp-gris) !important;
}
body.orp-pc-commande table.orp-co-table tbody tr.woosb-item-parent:has(+ tr.woosb-item-child) { border-bottom: 0 !important; }

/* Quantité : champ de WooCommerce entouré des boutons − et + (ajoutés par panier-commande.js). */
body.orp-pc-panier .woocommerce-cart-form .quantity {
	display: inline-flex !important;
	align-items: center;
	height: 40px;
	margin: 0 !important;
	border: 1px solid var(--orp-ligne-champ);
	border-radius: 100px;
	background: #fff;
	overflow: hidden;
	float: none !important;
}
body.orp-pc-panier .woocommerce-cart-form .quantity input.qty {
	width: 40px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: var(--orp-titre) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 38px !important;
	vertical-align: middle;
	color: var(--orp-encre) !important;
	text-align: center !important;
	-webkit-appearance: none;
	-moz-appearance: textfield;
	appearance: textfield;
}
body.orp-pc-panier .woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
body.orp-pc-panier .woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.orp-pc-panier .orp-qte-btn {
	width: 36px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--orp-encre);
	font-family: var(--orp-titre);
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
}
body.orp-pc-panier .orp-qte-btn:hover { background: var(--orp-creme); }
body.orp-pc-panier .orp-qte-btn:disabled { color: #c9c3b4; cursor: default; background: transparent; }

/* Ligne des actions (bouton « Mettre à jour le panier », code promo éventuel). Avec JavaScript, la mise à jour est automatique. */
body.orp-pc-panier table.shop_table.cart tr:not(.cart_item) { display: block !important; border: 0 !important; }
body.orp-pc-panier table.shop_table.cart td.actions {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 0 16px !important;
	border-top: 1px solid var(--orp-ligne) !important;
}
body.orp-pc-panier table.shop_table.cart td.actions button[name="update_cart"] {
	padding: 10px 18px !important;
	border: 1px solid var(--orp-encre) !important;
	border-radius: 100px !important;
	background: #fff !important;
	color: var(--orp-encre) !important;
	font-family: var(--orp-titre) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	opacity: 1 !important;
}
body.orp-pc-panier table.shop_table.cart td.actions button[name="update_cart"]:disabled { opacity: .45 !important; }
body.orp-pc-js.orp-pc-panier table.shop_table.cart td.actions button[name="update_cart"] { display: none !important; }
body.orp-pc-js.orp-pc-panier table.shop_table.cart td.actions:not(:has(.coupon)) { padding: 0 !important; border-top: 0 !important; }
body.orp-pc-panier .woocommerce-cart-form.processing,
body.orp-pc-panier .cart_totals.processing { opacity: .6; }

/* Le récapitulatif du panier. */
body.orp-pc-panier .cart-collaterals .cart_totals {
	position: sticky;
	top: 110px;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 26px 26px 22px !important;
	border: 0 !important;
	border-radius: 24px !important;
	background: #fff !important;
	box-shadow: var(--orp-ombre);
	box-sizing: border-box;
	text-align: left !important;
}
body.orp-pc-panier .cart_totals > * { float: none !important; }
body.orp-pc-panier .cart_totals > h2 {
	display: block !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-family: var(--orp-titre) !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	color: var(--orp-encre) !important;
	text-transform: none !important;
	text-align: left !important;
	letter-spacing: 0 !important;
}
body.orp-pc-panier .cart_totals table.shop_table {
	display: block !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	border: 0 !important;
}
body.orp-pc-panier .cart_totals table.shop_table tbody { display: block !important; }
body.orp-pc-panier .cart_totals table.shop_table tr {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 10px 0 !important;
	border: 0 !important;
}
body.orp-pc-panier .cart_totals table.shop_table tr[style*="display:none"],
body.orp-pc-panier .cart_totals table.shop_table tr[style*="display: none"] { display: none !important; }
body.orp-pc-panier .cart_totals table.shop_table th,
body.orp-pc-panier .cart_totals table.shop_table td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-family: var(--orp-texte) !important;
	font-size: 14.5px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	color: var(--orp-gris) !important;
	text-align: left !important;
}
body.orp-pc-panier .cart_totals table.shop_table td { text-align: right !important; }
body.orp-pc-panier .cart_totals table.shop_table td::before { content: none !important; display: none !important; }
body.orp-pc-panier .cart_totals table.shop_table td .amount {
	font-family: var(--orp-titre) !important;
	font-weight: 600 !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-panier .cart_totals table.shop_table tr.shipping {
	display: block !important;
	padding: 10px 0 12px !important;
}
body.orp-pc-panier .cart_totals table.shop_table tr.shipping td { text-align: left !important; }
body.orp-pc-panier .cart_totals table.shop_table tr.order-total {
	margin-top: 6px;
	padding-top: 16px !important;
	border-top: 1px solid var(--orp-ligne) !important;
	flex-wrap: wrap;
}
body.orp-pc-panier .cart_totals table.shop_table tr.order-total th {
	font-family: var(--orp-titre) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-panier .cart_totals table.shop_table tr.order-total td strong .amount {
	font-size: 24px !important;
	font-weight: 800 !important;
}
body.orp-pc .includes_tax {
	display: block;
	margin-top: 2px;
	font-family: var(--orp-texte) !important;
	font-size: 12px !important;
	color: var(--orp-gris) !important;
}
body.orp-pc .includes_tax .amount {
	font-family: var(--orp-texte) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	color: var(--orp-gris) !important;
}
body.orp-pc-panier .wc-proceed-to-checkout {
	margin: 16px 0 0 !important;
	padding: 0 !important;
}
body.orp-pc-panier .wc-proceed-to-checkout::after {
	content: "Paiement sécurisé par Stripe";
	display: block;
	margin-top: 12px;
	font-family: var(--orp-texte);
	font-size: 12.5px;
	color: var(--orp-gris);
	text-align: center;
}
body.orp-pc-panier #wc-stripe-express-checkout-element { margin-top: 12px !important; }

/* Panier vide. */
body.orp-pc-panier .woocommerce:has(.wc-empty-cart-message),
body.orp-pc-panier .woocommerce:has(.cart-empty) {
	max-width: 640px;
	margin: 0 auto;
	padding: 72px 0;
	text-align: center;
}
body.orp-pc-panier .cart-empty.woocommerce-info {
	padding: 28px !important;
	border: 0 !important;
	border-radius: 24px !important;
	background: #fff !important;
	box-shadow: var(--orp-ombre);
	font-family: var(--orp-titre) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: var(--orp-encre) !important;
	text-align: center !important;
}
body.orp-pc-panier .cart-empty.woocommerce-info::before { display: none !important; }
body.orp-pc-panier .return-to-shop { margin: 22px 0 0 !important; }
body.orp-pc-panier .return-to-shop a.button {
	display: inline-block !important;
	height: auto !important;
	line-height: 1.2 !important;
	padding: 15px 28px !important;
	border-radius: 100px !important;
	background: var(--orp-jaune) !important;
	color: var(--orp-encre) !important;
	font-family: var(--orp-titre) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 1px;
	text-transform: uppercase;
	box-shadow: 0 4px 14px rgba(255, 188, 1, .4);
}

/* ---------- Page de commande ---------- */

body.orp-pc-commande form.orp-co {
	max-width: 1180px;
	margin: 0 auto;
	padding: 36px 0 72px;
}
body.orp-pc-commande .orp-co-entete {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 0 0 22px;
}
body.orp-pc-commande .orp-co-grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	column-gap: 28px;
	align-items: start;
}
body.orp-pc-commande .orp-co-principal,
body.orp-pc-commande .orp-co-cote { min-width: 0; }
body.orp-pc-commande .orp-co-cote.orp-co-colle {
	position: sticky;
	top: 110px;
}
body.orp-pc-commande .orp-co-carte {
	margin: 0 0 20px;
	padding: 28px;
	border-radius: 24px;
	background: #fff;
	box-shadow: var(--orp-ombre);
	box-sizing: border-box;
}
body.orp-pc-commande .orp-co-carte[hidden] { display: none; }
body.orp-pc-commande #customer_details {
	display: block !important;
	width: auto !important;
	float: none !important;
}
body.orp-pc-commande #customer_details > div { width: auto !important; float: none !important; }

/* Titres des cartes. */
body.orp-pc-commande .orp-co-carte-titre,
body.orp-pc-commande #order_review_heading,
body.orp-pc-commande .woocommerce-additional-fields > h3,
body.orp-pc-commande #cfu-upload-wrapper > h3 {
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: var(--orp-titre) !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	color: var(--orp-encre) !important;
	text-transform: none !important;
	text-align: left !important;
}
body.orp-pc-commande .woocommerce-additional-fields > h3 {
	margin: 22px 0 12px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

/* Champs : grille à deux colonnes, prénom / nom et code postal / ville côte à côte. */
body.orp-pc-commande .woocommerce-billing-fields__field-wrapper,
body.orp-pc-commande .woocommerce-shipping-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px 16px;
}
body.orp-pc-commande .woocommerce-billing-fields__field-wrapper > *,
body.orp-pc-commande .woocommerce-shipping-fields__field-wrapper > * { grid-column: 1 / -1; }
body.orp-pc-commande .woocommerce-billing-fields__field-wrapper > .form-row-first,
body.orp-pc-commande .woocommerce-shipping-fields__field-wrapper > .form-row-first,
body.orp-pc-commande #billing_postcode_field,
body.orp-pc-commande #shipping_postcode_field { grid-column: 1; }
body.orp-pc-commande .woocommerce-billing-fields__field-wrapper > .form-row-last,
body.orp-pc-commande .woocommerce-shipping-fields__field-wrapper > .form-row-last,
body.orp-pc-commande #billing_city_field,
body.orp-pc-commande #shipping_city_field { grid-column: 2; }
body.orp-pc-commande #billing_address_2_field,
body.orp-pc-commande #shipping_address_2_field { margin-top: -8px !important; }
body.orp-pc-commande form.checkout .form-row {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.orp-pc-commande form.checkout .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-family: var(--orp-titre) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	color: var(--orp-encre) !important;
	text-transform: none !important;
}
body.orp-pc-commande form.checkout .form-row label.screen-reader-text { display: none !important; }
body.orp-pc-commande form.checkout .form-row .required {
	color: var(--orp-rouge) !important;
	text-decoration: none !important;
	border: 0 !important;
}
body.orp-pc-commande form.checkout .form-row .optional { color: var(--orp-gris); font-weight: 400; }
body.orp-pc-commande form.checkout .form-row input.input-text,
body.orp-pc-commande form.checkout .form-row select,
body.orp-pc-commande form.checkout .form-row textarea,
body.orp-pc-commande #cfu-upload-wrapper .form-row input[type="text"],
body.orp-pc-commande #cfu-upload-wrapper .form-row input[type="date"] {
	width: 100% !important;
	height: auto;
	min-height: 48px;
	margin: 0 !important;
	/* Marge verticale réelle (pas de hauteur fixe) : Stripe recopie le style de ces champs pour ses champs carte. */
	padding: 13px 14px !important;
	border: 1px solid var(--orp-ligne-champ) !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
	font-family: var(--orp-texte) !important;
	font-size: 15px !important;
	line-height: 20px !important;
	color: var(--orp-encre) !important;
	box-sizing: border-box !important;
	transition: border-color .15s, box-shadow .15s;
}
body.orp-pc-commande form.checkout .form-row textarea { min-height: 96px; }
body.orp-pc-commande form.checkout .form-row input.input-text::placeholder,
body.orp-pc-commande form.checkout .form-row textarea::placeholder { color: #9b9585; opacity: 1; }
body.orp-pc-commande form.checkout .form-row input.input-text:focus,
body.orp-pc-commande form.checkout .form-row select:focus,
body.orp-pc-commande form.checkout .form-row textarea:focus,
body.orp-pc-commande #cfu-upload-wrapper .form-row input:focus {
	border-color: var(--orp-jaune) !important;
	box-shadow: 0 0 0 3px rgba(255, 188, 1, .25) !important;
	outline: none !important;
}
body.orp-pc-commande form.checkout .form-row.woocommerce-invalid input.input-text,
body.orp-pc-commande form.checkout .form-row.woocommerce-invalid select { border-color: var(--orp-rouge) !important; }
body.orp-pc-commande form.checkout .form-row.woocommerce-validated input.input-text { border-color: var(--orp-ligne-champ) !important; }
/* Liste déroulante du pays (selectWoo). */
body.orp-pc-commande form.checkout .select2-container .select2-selection--single {
	height: 48px !important;
	border: 1px solid var(--orp-ligne-champ) !important;
	border-radius: 12px !important;
	background: #fff !important;
}
body.orp-pc-commande form.checkout .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 40px 0 14px !important;
	line-height: 46px !important;
	font-family: var(--orp-texte) !important;
	font-size: 15px !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-commande form.checkout .select2-container .select2-selection--single .select2-selection__rendered { background: transparent !important; }
body.orp-pc-commande form.checkout .select2-container .select2-selection--single .select2-selection__arrow {
	height: 46px !important;
	right: 10px !important;
}

/* Documents requis (snippet 11) : trois blocs, la saisie « ou » rangée dans son bloc. */
body.orp-pc-commande #cfu-upload-wrapper {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border-radius: 0 !important;
}
body.orp-pc-commande #cfu-upload-wrapper > h3 { margin-bottom: 6px !important; }
body.orp-pc-commande #cfu-upload-wrapper > p {
	margin: 0 0 18px !important;
	font-family: var(--orp-texte) !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: var(--orp-gris) !important;
}
body.orp-pc-commande #cfu-upload-wrapper > p strong { color: var(--orp-rouge) !important; font-weight: 700; }
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec {
	margin: 0 0 12px !important;
	padding: 18px 20px !important;
	border: 1px solid var(--orp-ligne) !important;
	border-radius: 16px !important;
	background: var(--orp-creme-clair) !important;
}
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec:last-child { margin-bottom: 0 !important; }
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec > label:first-child {
	font-family: var(--orp-titre) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec > p {
	margin: 2px 0 12px !important;
	font-family: var(--orp-texte) !important;
	font-size: 13.5px !important;
	color: var(--orp-gris) !important;
}
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec > label:has(> input.cfu-input) {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 10px 18px !important;
	border: 1px solid var(--orp-encre) !important;
	border-radius: 100px !important;
	background: #fff !important;
	color: var(--orp-encre) !important;
	font-family: var(--orp-titre) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background-color .15s;
}
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec > label:has(> input.cfu-input):hover { background: var(--orp-jaune-doux) !important; }
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec > div[style*="dashed"] {
	margin-top: 16px !important;
	padding-top: 14px !important;
	border-top: 1px dashed var(--orp-ligne-champ) !important;
}
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec > div[style*="dashed"] > p {
	margin: 0 0 10px !important;
	font-size: 13.5px !important;
	color: var(--orp-gris) !important;
}
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec .form-row { margin: 0 0 12px !important; }
body.orp-pc-commande #cfu-upload-wrapper .cfu-sec .form-row:last-child { margin-bottom: 0 !important; }

/* Case « télétransmission immédiate » (snippet 35) : un encadré doux. */
body.orp-pc-commande #orp_renoncer_retractation_field {
	margin: 4px 0 0 !important;
	padding: 14px 16px !important;
	border: 1px solid #f1e2ad;
	border-radius: 14px;
	background: var(--orp-jaune-doux);
}

/* Livraison à une autre adresse, notes. */
body.orp-pc-commande #ship-to-different-address {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--orp-titre) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-transform: none !important;
}
body.orp-pc-commande #ship-to-different-address label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	cursor: pointer;
}
body.orp-pc-commande #ship-to-different-address input { margin: 0 !important; width: 18px; height: 18px; accent-color: var(--orp-encre); }
body.orp-pc-commande .shipping_address { margin-top: 18px; }
body.orp-pc-commande .woocommerce-additional-fields__field-wrapper .form-row { margin: 0 !important; }

/* Récapitulatif et paiement (colonne de droite). */
body.orp-pc-commande .orp-co-recap { padding: 26px; }
body.orp-pc-commande #order_review { width: auto !important; float: none !important; }
body.orp-pc-commande table.orp-co-table {
	display: block !important;
	width: 100% !important;
	margin: 0 0 6px !important;
	border: 0 !important;
}
body.orp-pc-commande table.orp-co-table thead { display: none !important; }
body.orp-pc-commande table.orp-co-table tbody,
body.orp-pc-commande table.orp-co-table tfoot { display: block !important; }
body.orp-pc-commande table.orp-co-table tr {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	padding: 9px 0 !important;
	border: 0 !important;
}
body.orp-pc-commande table.orp-co-table tr[style*="display:none"],
body.orp-pc-commande table.orp-co-table tr[style*="display: none"] { display: none !important; }
body.orp-pc-commande table.orp-co-table th,
body.orp-pc-commande table.orp-co-table td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-family: var(--orp-texte) !important;
	font-size: 14.5px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	text-align: left !important;
	color: var(--orp-gris) !important;
}
body.orp-pc-commande table.orp-co-table td.product-total,
body.orp-pc-commande table.orp-co-table tfoot td { text-align: right !important; }
body.orp-pc-commande table.orp-co-table .amount {
	font-family: var(--orp-titre) !important;
	font-weight: 600 !important;
	color: var(--orp-encre) !important;
	white-space: nowrap;
}
body.orp-pc-commande table.orp-co-table tbody tr.cart_item {
	padding: 10px 0 !important;
	border-bottom: 1px solid var(--orp-ligne) !important;
}
body.orp-pc-commande table.orp-co-table tbody tr.cart_item:last-child { margin-bottom: 8px; }
body.orp-pc-commande .orp-co-produit {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}
body.orp-pc-commande .orp-co-miniature {
	position: relative;
	flex: none;
	width: 56px;
	height: 56px;
	border: 1px solid var(--orp-ligne);
	border-radius: 12px;
	background: var(--orp-creme-clair);
}
body.orp-pc-commande .orp-co-miniature img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	padding: 4px;
	object-fit: contain;
	border-radius: 12px;
	box-sizing: border-box;
}
body.orp-pc-commande .orp-co-qte {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--orp-encre);
	color: #fff;
	font-family: var(--orp-titre);
	font-size: 11px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
	box-sizing: border-box;
}
body.orp-pc-commande .orp-co-nom {
	font-family: var(--orp-titre);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--orp-encre);
}
body.orp-pc-commande .orp-co-nom .product-quantity { display: none; }
body.orp-pc-commande .orp-co-nom dl.variation {
	margin: 2px 0 0;
	font-family: var(--orp-texte);
	font-size: 12.5px;
	color: var(--orp-gris);
}
body.orp-pc-commande .orp-co-nom dl.variation dt,
body.orp-pc-commande .orp-co-nom dl.variation dd { display: inline; margin: 0; float: none; }
body.orp-pc-commande .orp-co-nom dl.variation dd p { display: inline; margin: 0; }
body.orp-pc-commande table.orp-co-table tr.shipping,
body.orp-pc-commande table.orp-co-table tr.woocommerce-shipping-totals {
	display: block !important;
	padding: 10px 0 12px !important;
}
body.orp-pc-commande table.orp-co-table tr.shipping td { text-align: left !important; }
body.orp-pc-commande table.orp-co-table tr.mrwp {
	display: block !important;
	padding: 4px 0 10px !important;
}
body.orp-pc-commande table.orp-co-table tr.mrwp th,
body.orp-pc-commande table.orp-co-table tr.mrwp td {
	font-size: 12.5px !important;
	text-align: left !important;
}
body.orp-pc-commande table.orp-co-table tr.order-total {
	flex-wrap: wrap;
	margin-top: 4px;
	padding-top: 16px !important;
	border-top: 1px solid var(--orp-ligne) !important;
}
body.orp-pc-commande table.orp-co-table tr.order-total th {
	font-family: var(--orp-titre) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-commande table.orp-co-table tr.order-total td strong .amount {
	font-size: 24px !important;
	font-weight: 800 !important;
}
body.orp-pc-commande #payment {
	margin: 10px 0 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}
body.orp-pc-commande #payment ul.payment_methods {
	margin: 0 !important;
	padding: 16px 0 6px !important;
	border: 0 !important;
	border-top: 1px solid var(--orp-ligne) !important;
}
body.orp-pc-commande #payment ul.payment_methods > li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
body.orp-pc-commande #payment ul.payment_methods > li > label {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px !important;
	font-family: var(--orp-titre) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-commande #payment ul.payment_methods > li > label img { max-height: 22px; margin: 0 !important; }
body.orp-pc-commande #payment div.payment_box {
	margin: 0 !important;
	padding: 4px 0 8px !important;
	background: none !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-commande #payment div.payment_box::before { display: none !important; }
body.orp-pc-commande #payment .place-order {
	margin: 0 !important;
	padding: 6px 0 0 !important;
}
body.orp-pc-commande #payment .woocommerce-terms-and-conditions-wrapper {
	margin: 0 0 16px !important;
	font-family: var(--orp-texte);
	font-size: 13px !important;
	line-height: 1.55;
	color: var(--orp-gris);
}
body.orp-pc-commande #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p { margin: 0 0 10px; }
body.orp-pc-commande #payment .woocommerce-terms-and-conditions-wrapper .form-row.validate-required {
	padding: 12px 14px !important;
	border: 1px solid var(--orp-ligne) !important;
	border-radius: 12px;
	background: var(--orp-creme-clair);
}
body.orp-pc-commande #payment .woocommerce-terms-and-conditions-wrapper .form-row.woocommerce-invalid { border-color: var(--orp-rouge) !important; }
body.orp-pc-commande #payment .woocommerce-terms-and-conditions-wrapper label.checkbox {
	display: flex !important;
	padding: 0 !important;
	align-items: flex-start;
	gap: 10px;
	margin: 0 !important;
	font-size: 14px !important;
	color: var(--orp-encre) !important;
}
body.orp-pc-commande #payment .woocommerce-terms-and-conditions-wrapper label.checkbox input { position: static !important; margin: 2px 0 0 !important; width: 17px; height: 17px; flex: none; accent-color: var(--orp-encre); }
body.orp-pc-commande #payment .woocommerce-terms-and-conditions-wrapper a { color: var(--orp-encre) !important; text-decoration: underline !important; }

/* Mondial Relay : ses deux liens « Choisir un point de retrait » (récapitulatif et bas de page) en bouton clair à sa couleur. */
body.orp-pc-commande a#modaal_link.modaal_link {
	display: block !important;
	width: 100% !important;
	margin: 6px 0 0 !important;
	padding: 12px 16px !important;
	border: 1.5px solid #96154a !important;
	border-radius: 100px !important;
	background: #fff !important;
	color: #96154a !important;
	font-family: var(--orp-titre) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-sizing: border-box;
}
body.orp-pc-commande a#modaal_link.modaal_link:hover { background: #fbeef3 !important; }
body.orp-pc-commande .mrwpbutton { margin-top: 10px !important; }
body.orp-pc-commande #parcel_shop_info { display: block; font-style: normal; color: var(--orp-gris); }

/* ---------- Tablette et téléphone ---------- */

@media (max-width: 1000px) {
	body.orp-pc-panier .woocommerce:has(> form.woocommerce-cart-form) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "tete" "avis" "liste" "recap";
		row-gap: 20px;
		padding-top: 24px;
		padding-bottom: 56px;
	}
	body.orp-pc-panier .cart-collaterals .cart_totals { position: static; }
	body.orp-pc-commande .orp-co-grille { grid-template-columns: minmax(0, 1fr); }
	body.orp-pc-commande .orp-co-cote.orp-co-colle { position: static; }
	body.orp-pc-commande form.orp-co { padding: 24px 16px 56px; box-sizing: border-box; }
}
@media (max-width: 640px) {
	body.orp-pc .orp-pc-titre,
	body.orp-pc .orp-co-titre { font-size: 27px !important; }
	body.orp-pc .orp-pc-entete,
	body.orp-pc-commande .orp-co-entete { margin-bottom: 16px; }
	body.orp-pc-panier table.shop_table.cart { padding: 2px 16px !important; border-radius: 20px !important; }
	body.orp-pc-panier table.shop_table.cart tr.cart_item {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		grid-template-areas: "img nom suppr" "img prix prix" "img qte sous";
		column-gap: 14px;
		row-gap: 6px;
		padding: 16px 0 !important;
	}
	body.orp-pc-panier table.shop_table.cart td.product-thumbnail { align-self: start; }
	body.orp-pc-panier table.shop_table.cart td.product-thumbnail img { width: 64px !important; height: 64px !important; border-radius: 14px; }
	body.orp-pc-panier table.shop_table.cart td.product-name { align-self: start; font-size: 14.5px !important; }
	body.orp-pc-panier table.shop_table.cart td.product-remove { align-self: start; margin-top: -4px !important; }
	body.orp-pc-panier table.shop_table.cart td.product-quantity { justify-self: start; }
	body.orp-pc-panier table.shop_table.cart tr.woosb-item-child {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		grid-template-areas: "img nom nom" "img qte sous";
		margin-left: 18px;
		padding: 8px 0 8px 12px !important;
	}
	body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-thumbnail img { width: 44px !important; height: 44px !important; }
	body.orp-pc-panier table.shop_table.cart tr.woosb-item-child td.product-quantity { text-align: left !important; }
	body.orp-pc-panier .cart-collaterals .cart_totals { padding: 22px 20px 20px !important; border-radius: 20px !important; }
	body.orp-pc-commande .orp-co-carte { padding: 22px 18px; border-radius: 20px; margin-bottom: 16px; }
	body.orp-pc-commande #cfu-upload-wrapper .cfu-sec { padding: 16px !important; }
	body.orp-pc-commande .woocommerce-billing-fields__field-wrapper,
	body.orp-pc-commande .woocommerce-shipping-fields__field-wrapper { gap: 14px 12px; }
}
