:root { --c3-checkout-line:#e5e5e7; --c3-checkout-muted:#52525b; }

/* WooCommerce reste propriétaire du DOM et du tunnel. Le thème ne fait que l’habiller. */
body.woocommerce-checkout { overflow-x:clip; background:#fff; color:#000; }
.woocommerce-checkout .c3-announcement,.woocommerce-checkout .c3-nav,.woocommerce-checkout .c3-header__account,.woocommerce-checkout .c3-header__search,.woocommerce-checkout .c3-header__menu,.woocommerce-checkout .c3-header__actions,.woocommerce-checkout .c3-search,.woocommerce-checkout .c3-search-panel,.woocommerce-checkout [data-c3-search-panel],.woocommerce-checkout .c3-footer,.woocommerce-checkout [data-c3-cart-drawer],.woocommerce-checkout .char3i-cart-drawer,.woocommerce-checkout .c3-checkout-intro,.woocommerce-checkout .c3-checkout-mobile-summary,.woocommerce-checkout .c3-checkout-identity { display:none !important; }
.woocommerce-checkout .c3-header { position:static; border-bottom:1px solid var(--c3-checkout-line); background:#fff; }
.woocommerce-checkout .c3-header__inner { display:flex; min-height:72px; justify-content:center; padding-inline:20px; }
.woocommerce-checkout .c3-main { width:min(calc(100% - clamp(28px,6vw,96px)),1280px); max-width:1280px !important; min-height:75vh; margin-inline:auto; padding:clamp(28px,4vw,54px) 0 clamp(72px,8vw,120px); }
.woocommerce-checkout .c3-main > article > h1,.woocommerce-checkout .entry-title { margin:0 0 clamp(26px,4vw,44px); font-size:clamp(2rem,4vw,3.25rem); line-height:1; text-align:center; }
.woocommerce-checkout form.checkout { display:grid; width:100%; gap:18px; }
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading { min-width:0; }
.woocommerce-checkout #customer_details { display:grid; gap:18px; }
.woocommerce-checkout .col-1,.woocommerce-checkout .col-2 { width:100% !important; float:none !important; }
.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields,.woocommerce-checkout #order_review { border:1px solid var(--c3-checkout-line); padding:clamp(20px,3vw,32px); background:#fff; }
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading { margin:0 0 18px; font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.15; }
.woocommerce-checkout form .form-row { min-width:0; margin:0 0 15px; }
.woocommerce-checkout form .form-row label { display:block; margin-bottom:7px; color:#18181b; font-size:.76rem; font-weight:750; }
.woocommerce-checkout form .form-row input.input-text,.woocommerce-checkout form .form-row textarea,.woocommerce-checkout form .form-row select,.woocommerce-checkout .select2-container .select2-selection--single { width:100%; min-width:0; min-height:52px !important; border:1px solid #d4d4d8 !important; border-radius:0 !important; padding-inline:14px; background:#fff !important; color:#000 !important; box-shadow:none !important; font-size:16px; }
.woocommerce-checkout form .form-row textarea { min-height:88px !important; padding-block:12px; }
.woocommerce-checkout .select2-container { max-width:100%; }
.woocommerce-checkout .select2-container .select2-selection__rendered { padding-left:0 !important; line-height:50px !important; }
.woocommerce-checkout .select2-container .select2-selection__arrow { height:50px !important; }
.woocommerce-checkout form .form-row input:focus,.woocommerce-checkout form .form-row textarea:focus,.woocommerce-checkout .select2-container--focus .select2-selection { border-color:#000 !important; outline:2px solid #000; outline-offset:2px; }
.woocommerce-checkout .woocommerce-form-login-toggle,.woocommerce-checkout .woocommerce-form-coupon-toggle { margin:0 0 16px; border:1px solid #d4d4d8; background:#fff; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin:0; border:0; padding:12px 16px; background:transparent; font-size:.8rem; }
.woocommerce-checkout .c3-coupon-note { color:#71717a; font-size:.72rem; font-weight:400; }
/* Icône bleue WooCommerce (i) — masquée partout sur le tunnel. */
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before { display:none !important; content:none !important; }
.woocommerce-checkout .woocommerce-info,
.woocommerce-cart .woocommerce-info,
.woocommerce-account .woocommerce-info { padding-left:16px !important; }
.woocommerce-checkout form.checkout_coupon,.woocommerce-checkout form.woocommerce-form-login { margin:-17px 0 20px !important; border:1px solid #d4d4d8 !important; border-top:0 !important; padding:18px !important; }
.woocommerce-checkout table.shop_table { width:100%; table-layout:fixed; border:0; background:transparent; }
.woocommerce-checkout table.shop_table th,.woocommerce-checkout table.shop_table td { min-width:0; border-color:#d4d4d8; padding:13px 0; font-size:.8rem; overflow-wrap:anywhere; }
.woocommerce-checkout table.shop_table th:last-child,.woocommerce-checkout table.shop_table td:last-child { text-align:right; }
.woocommerce-checkout table.shop_table .product-name { padding-right:14px; }
.woocommerce-checkout table.shop_table tr.order-total th,.woocommerce-checkout table.shop_table tr.order-total td { border-top:1px solid #000; padding-top:18px; font-size:1.05rem; font-weight:800; }

/* Livraison : carte pleine largeur du récap, texte compact (moins de vide vertical). */
.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals th { display:none !important; }
.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals td {
	width:100% !important;
	padding:4px 0 10px !important;
	text-align:left !important;
}
.woocommerce-checkout #shipping_method { display:grid; gap:8px; width:100%; margin:0; padding:0; list-style:none; text-align:left; }
.woocommerce-checkout #shipping_method > li {
	display:grid !important;
	grid-template-columns:18px minmax(0,1fr);
	align-items:start;
	column-gap:10px;
	row-gap:2px;
	width:100%;
	min-width:0;
	margin:0;
	border:1px solid #d4d4d8;
	padding:11px 12px;
	background:#fff;
}
.woocommerce-checkout #shipping_method > li:has(input:checked) { border-color:#000; box-shadow:inset 3px 0 #000; }
.woocommerce-checkout #shipping_method > li > input { grid-column:1; grid-row:1; width:16px; height:16px; margin:3px 0 0; accent-color:#000; }
.woocommerce-checkout #shipping_method > li > label {
	grid-column:2; grid-row:1;
	min-width:0; margin:0;
	font-size:.8rem; font-weight:750; line-height:1.3;
	overflow-wrap:anywhere;
}
.woocommerce-checkout #shipping_method > li > label .amount,
.woocommerce-checkout #shipping_method > li > label .c3-shipping-offered {
	font-weight:800; white-space:nowrap;
}
.woocommerce-checkout #shipping_method > li > label .c3-shipping-offered { color:#000; }
.woocommerce-checkout #shipping_method > li > small,
.woocommerce-checkout #shipping_method > li > .char3i-shipping-note {
	grid-column:2; grid-row:2;
	margin:0; color:#71717a; font-size:.68rem; line-height:1.35;
}
.woocommerce-checkout #shipping_method label br { display:none; }
.woocommerce-checkout .bw-parcel-point,
.woocommerce-checkout .bw-parcel-point * { position:static !important; float:none !important; max-width:100%; box-sizing:border-box; }
.woocommerce-checkout .bw-parcel-point {
	grid-column:1 / -1 !important;
	display:grid !important;
	justify-items:stretch;
	gap:6px;
	min-width:0;
	margin-top:8px;
	border-top:1px solid var(--c3-checkout-line);
	padding:10px 0 0;
	background:transparent !important;
	text-align:left;
	white-space:normal !important;
}
.woocommerce-checkout .bw-parcel-point br { display:none !important; }
.woocommerce-checkout .bw-parcel-point > [class*="bw-parcel-client-"] {
	display:block !important; color:#71717a; font-size:.62rem; font-weight:700;
	letter-spacing:.04em; text-transform:uppercase;
}
.woocommerce-checkout .bw-parcel-point [class*="bw-parcel-name-"] {
	display:block !important; font-size:.84rem; font-weight:800; line-height:1.25; text-transform:none;
}
.woocommerce-checkout .bw-parcel-point [class*="bw-parcel-address-"] {
	display:block !important; color:#52525b; font-size:.72rem; line-height:1.4; overflow-wrap:anywhere;
}
.woocommerce-checkout .bw-select-parcel {
	display:flex !important; width:100%; min-height:42px; align-items:center; justify-content:center;
	margin-top:2px; border:1px solid #000 !important; padding:8px 10px !important;
	background:#000 !important; color:#fff !important; font-size:.68rem; font-weight:800;
	line-height:1.2; text-align:center; text-decoration:none !important; white-space:normal !important;
}
.woocommerce-checkout .bw-parcel-point > p:not([class]),
.woocommerce-checkout .bw-parcel-point .description,
.woocommerce-checkout .c3-relay-help { display:none !important; }
.woocommerce-checkout #payment { margin-top:20px; border:1px solid #d4d4d8; border-radius:0; background:#fff; }
.woocommerce-checkout #payment ul.payment_methods { margin:0; padding:0; list-style:none; }
.woocommerce-checkout #payment ul.payment_methods > li { margin:0; border-bottom:1px solid var(--c3-checkout-line); padding:15px; }
.woocommerce-checkout #payment ul.payment_methods > li > input { width:18px; height:18px; accent-color:#000; }
.woocommerce-checkout #payment div.payment_box { margin:12px 0 0; border:0; border-radius:0; padding:13px; background:#f8f8fa; color:#000; font-size:.76rem; }
.woocommerce-checkout #payment div.payment_box::before { display:none; }
.woocommerce-checkout #payment div.form-row { margin:0; padding:17px; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { color:var(--c3-checkout-muted); font-size:.7rem; line-height:1.5; }
.woocommerce-checkout #payment #place_order { float:none; width:100%; min-height:56px; border:1px solid #000 !important; border-radius:0; background:#000 !important; color:#fff !important; font-size:.8rem; font-weight:800; text-transform:uppercase; }
.woocommerce-checkout #payment .place-order::after { content:'Paiement sécurisé · Livraison suivie · Support humain'; display:block; margin-top:12px; color:#71717a; font-size:.67rem; text-align:center; }
body.woocommerce-order-received .c3-main { width:min(calc(100% - clamp(28px,6vw,96px)),920px); max-width:920px !important; margin-inline:auto; }
.woocommerce-order-received .woocommerce-order { max-width:100%; }
.woocommerce-order-received .woocommerce-thankyou-order-received { margin:0 0 24px; border:1px solid #000; padding:18px 20px; background:#000; color:#fff; font-weight:700; }
.woocommerce-order-received .woocommerce-order-overview { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 30px; padding:0; list-style:none; }
.woocommerce-order-received .woocommerce-order-overview li { margin:0; border:1px solid var(--c3-checkout-line); padding:14px; font-size:.68rem; color:#71717a; overflow-wrap:anywhere; }
.woocommerce-order-received .woocommerce-order-overview li strong { display:block; margin-top:6px; color:#000; font-size:.88rem; }
.c3-order-relay { display:grid; grid-template-columns:42px minmax(0,1fr); gap:15px; margin:24px 0; border:1px solid #000; padding:18px; }
@media (min-width:960px) {
	.woocommerce-checkout form.checkout { grid-template-columns:minmax(0,1.45fr) minmax(390px,.8fr); grid-template-rows:auto 1fr; column-gap:clamp(28px,4vw,52px); align-items:start; }
	.woocommerce-checkout #customer_details { grid-column:1; grid-row:1 / span 2; }
	.woocommerce-checkout #order_review_heading { grid-column:2; grid-row:1; margin:0; border:1px solid var(--c3-checkout-line); border-bottom:0; padding:22px 24px 0; }
	.woocommerce-checkout #order_review { grid-column:2; grid-row:2; position:sticky; top:20px; padding-top:18px; }
}
@media (max-width:959px) { .woocommerce-checkout form.checkout { grid-template-columns:1fr; } .woocommerce-checkout #order_review_heading { margin-top:8px; } }
@media (max-width:600px) {
	.woocommerce-checkout .c3-main { width:min(calc(100% - 24px),1280px); padding-top:24px; }
	.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields,.woocommerce-checkout #order_review { padding:18px 14px; }
	.woocommerce-checkout form .form-row-first,.woocommerce-checkout form .form-row-last { width:100%; float:none; }
	.woocommerce-order-received .woocommerce-order-overview { grid-template-columns:1fr; }
}
