/* =====================================================================
 * Bottes Santiag — tunnel.css
 * Panier + commande. Chargé UNIQUEMENT sur ces deux pages (inc/tunnel.php),
 * après main.css dont il reprend les tokens --bs-*.
 * Métaphore : le bon de commande du sellier. Lignes détachables séparées
 * par une surpiqûre, récapitulatif en reçu perforé, étiquettes mono.
 * =================================================================== */

/* ---------- 1) Cadre commun ---------- */
.bs-tunnel{
	background:var(--bs-papier);color:var(--bs-brou);font-family:var(--bs-body);
	--pad:clamp(16px,4vw,56px);
	padding:clamp(18px,3vw,32px) var(--pad) clamp(56px,7vw,90px);
	max-width:1240px;margin:0 auto;overflow-x:hidden}
.bs-tunnel *,.bs-tunnel *::before,.bs-tunnel *::after{box-sizing:border-box}
.bs-tunnel img{max-width:100%;height:auto;display:block}
.bs-tunnel a{color:inherit}
.bs-tunnel a:focus-visible,.bs-tunnel button:focus-visible,.bs-tunnel input:focus-visible,
.bs-tunnel select:focus-visible,.bs-tunnel textarea:focus-visible,.bs-tunnel summary:focus-visible{
	outline:2.5px solid var(--bs-bourbon);outline-offset:2px}

.bs-tunnel__head{margin:0 0 clamp(18px,2.4vw,28px)}
.bs-tunnel__t{
	font-family:var(--bs-display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;
	font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.1;margin:.5rem 0 0;color:var(--bs-brou);
	display:flex;align-items:baseline;gap:.7em;flex-wrap:wrap}
.bs-tunnel__n{
	font-family:var(--bs-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
	color:var(--bs-encre2);border:1.5px solid var(--bs-bd);border-radius:3px;padding:5px 10px;background:var(--bs-papier2)}

/* Étapes */
.bs-steps{display:flex;flex-wrap:wrap;gap:.55em;list-style:none;margin:0;padding:0;
	font-family:var(--bs-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.bs-steps__i{display:flex;align-items:center;gap:.55em;color:var(--bs-mut)}
.bs-steps__i+.bs-steps__i::before{content:"→";color:var(--bs-bd)}
.bs-steps__i.is-done a{color:var(--bs-encre2);text-decoration:none;border-bottom:1.5px solid var(--bs-fil);padding-bottom:1px}
.bs-steps__i.is-done a:hover{color:var(--bs-bourbon)}
.bs-steps__i.is-current{color:var(--bs-bourbon);font-weight:600}
.bs-steps__i.is-current span{border-bottom:1.5px solid var(--bs-bourbon);padding-bottom:1px}

/* ---------- 2) Panier : deux colonnes ---------- */
.bs-cart{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:clamp(22px,3vw,44px);align-items:start}
.bs-cart__main{min-width:0}
.bs-cart__back{
	display:inline-block;margin-top:18px;font-family:var(--bs-mono);font-size:.74rem;letter-spacing:.08em;
	color:var(--bs-encre2);text-decoration:none;border-bottom:1.5px solid var(--bs-fil);padding-bottom:2px}
.bs-cart__back::before{content:"← ";color:var(--bs-fil)}
.bs-cart__back:hover{color:var(--bs-bourbon)}

/* Lignes = souches d'un carnet. La table reste une table (compatibilité
   cart.js + extensions), la mise en page passe par grid. */
.bs-lines{display:block;width:100%;border:0!important;background:transparent!important;border-collapse:collapse;margin:0}
.bs-lines thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bs-lines tbody{display:block}
.bs-lines tr.bs-line{
	display:grid;
	grid-template-columns:96px minmax(0,1fr) auto;
	grid-template-areas:"img name rm" "img price price" "img qty sub";
	gap:6px 18px;align-items:center;
	padding:20px 0;border:0;
	background:
		repeating-linear-gradient(90deg,rgba(36,26,16,.28) 0 9px,transparent 9px 17px) bottom/100% 1.5px no-repeat}
.bs-lines tr.bs-line:first-child{padding-top:4px}
.bs-lines tr.bs-line td{display:block;padding:0;border:0!important;background:transparent!important;vertical-align:middle}

.bs-line .product-thumbnail{grid-area:img;align-self:start}
.bs-line .product-thumbnail img{
	width:96px;height:96px;object-fit:cover;border:1.5px solid var(--bs-bd);border-radius:3px;background:#fff}
.bs-line .product-name{grid-area:name;min-width:0}
.bs-line__name{
	font-family:var(--bs-body);font-weight:700;font-size:1.02rem;line-height:1.25;color:var(--bs-brou);
	text-decoration:none;display:inline-block}
.bs-line__name:hover{color:var(--bs-bourbon)}
.bs-line .product-name dl.variation{
	margin:.4rem 0 0;display:flex;flex-wrap:wrap;gap:.3em .9em;
	font-family:var(--bs-mono);font-size:.72rem;letter-spacing:.06em;color:var(--bs-encre2)}
.bs-line .product-name dl.variation dt{font-weight:400;text-transform:uppercase;color:var(--bs-mut);margin:0}
.bs-line .product-name dl.variation dd{margin:0}
.bs-line .product-name dl.variation dd p{margin:0}
.bs-line__low{margin:.45rem 0 0;font-family:var(--bs-mono);font-size:.7rem;letter-spacing:.06em;color:var(--bs-selvedge)}
.bs-line__oos{margin:.45rem 0 0;font-family:var(--bs-mono);font-size:.7rem;letter-spacing:.06em;color:#fff;background:var(--bs-selvedge);display:inline-block;padding:3px 8px;border-radius:2px}

.bs-line .product-price{
	grid-area:price;font-family:var(--bs-mono);font-size:.78rem;color:var(--bs-encre2);letter-spacing:.04em}
.bs-line .product-price::before{content:"Prix unitaire ";color:var(--bs-mut);text-transform:uppercase;font-size:.68rem;letter-spacing:.12em}
.bs-line .product-price del{opacity:.55;margin-right:.4em}
.bs-line .product-price ins{text-decoration:none;color:var(--bs-selvedge)}

.bs-line .product-quantity{grid-area:qty}
.bs-line .product-subtotal{
	grid-area:sub;text-align:right;font-family:var(--bs-mono);font-weight:600;font-size:1.05rem;color:var(--bs-brou);white-space:nowrap}
.bs-line .product-remove{grid-area:rm;text-align:right}
.bs-line .product-remove a.remove{
	display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
	border:1.5px solid var(--bs-bd);border-radius:50%;background:var(--bs-papier2);
	color:var(--bs-encre2)!important;font-size:1.05rem;line-height:1;text-decoration:none;transition:.18s ease}
.bs-line .product-remove a.remove:hover{background:var(--bs-selvedge);border-color:var(--bs-selvedge);color:#fff!important}

/* Stepper quantité */
.bs-qty{display:inline-flex;align-items:stretch;border:1.5px solid var(--bs-bd);border-radius:4px;background:var(--bs-papier2);overflow:hidden}
.bs-qty__b{
	width:42px;min-height:44px;border:0;background:transparent;cursor:pointer;
	font-family:var(--bs-mono);font-size:1.05rem;line-height:1;color:var(--bs-brou);transition:background .15s ease}
.bs-qty__b:hover{background:var(--bs-kraft)}
.bs-qty__b:disabled{opacity:.35;cursor:not-allowed}
.bs-qty .quantity{margin:0;display:flex}
.bs-qty input.qty{
	width:52px;min-height:44px;padding:0 4px;text-align:center;
	font-family:var(--bs-mono);font-size:.95rem;color:var(--bs-brou);
	background:transparent;border:0;border-inline:1.5px solid var(--bs-bd);border-radius:0;
	-moz-appearance:textfield;appearance:textfield}
.bs-qty input.qty::-webkit-outer-spin-button,.bs-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bs-qty--solo{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;
	border:1.5px dashed var(--bs-bd);border-radius:4px;font-family:var(--bs-mono);color:var(--bs-encre2)}
.bs-qty--solo+.quantity{display:none}

/* Actions (coupon + mise à jour) */
.bs-lines td.actions{display:block;padding:18px 0 0!important;border:0!important}
.bs-lines tr.bs-actions-row{display:block;background:none}
.bs-coupon{margin:0 0 12px;font-family:var(--bs-mono);font-size:.76rem}
.bs-coupon>summary{
	cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.5em;
	letter-spacing:.08em;color:var(--bs-encre2);padding:6px 0}
.bs-coupon>summary::-webkit-details-marker{display:none}
.bs-coupon>summary::before{content:"+";color:var(--bs-fil);font-size:1.1em}
.bs-coupon[open]>summary::before{content:"−"}
.bs-coupon>summary:hover{color:var(--bs-bourbon)}
.bs-coupon__in{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.bs-coupon__in input#coupon_code{
	flex:1 1 190px;min-height:46px;padding:10px 14px;
	background:var(--bs-papier2);color:var(--bs-brou);border:1.5px dashed var(--bs-fil);border-radius:3px;
	font-family:var(--bs-mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.bs-btn--ghost{
	background:transparent!important;color:var(--bs-brou)!important;border:1.5px solid var(--bs-bd)!important;
	box-shadow:none!important;min-height:46px;padding:11px 20px!important;font-size:.76rem!important;border-radius:4px!important}
.bs-btn--ghost::before{display:none}
.bs-btn--ghost:hover{border-color:var(--bs-bourbon)!important;color:var(--bs-bourbon)!important;transform:none}
.bs-update{
	background:transparent!important;color:var(--bs-encre2)!important;border:1.5px solid var(--bs-bd)!important;
	box-shadow:none!important;border-radius:4px!important;padding:11px 20px!important;min-height:46px;
	font-family:var(--bs-mono)!important;font-size:.74rem!important;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.bs-update::before{display:none}
.bs-update[disabled]{opacity:.4;cursor:default}
.bs-autoqty .bs-update{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bs-live-msg{margin:10px 0 0;font-family:var(--bs-mono);font-size:.72rem;letter-spacing:.06em;color:var(--bs-bourbon);min-height:1em}

/* ---------- 3) Récapitulatif (reçu perforé) ---------- */
.bs-sum{
	position:sticky;top:92px;
	background:var(--bs-papier2);border:1.5px solid var(--bs-bd);border-radius:4px;
	padding:22px 20px 20px;width:100%;float:none!important}
.bs-sum::before{
	content:"";position:absolute;top:-1px;left:0;right:0;height:8px;
	background:radial-gradient(circle at 8px 0,transparent 5px,var(--bs-papier2) 5.5px) 0 0/16px 8px repeat-x}
.bs-sum__t{
	font-family:var(--bs-display);font-weight:400;text-transform:uppercase;font-size:1.05rem;letter-spacing:.02em;
	color:var(--bs-brou);margin:0 0 14px}
.bs-sum__tb{width:100%;border-collapse:collapse;margin:0;border:0!important;background:transparent!important}
.bs-sum__tb th,.bs-sum__tb td{
	border:0!important;border-top:1px solid rgba(36,26,16,.12)!important;background:transparent!important;
	padding:11px 0!important;font-family:var(--bs-mono);font-size:.82rem;color:var(--bs-encre2)!important;
	text-align:left;font-weight:400}
.bs-sum__tb tr:first-child th,.bs-sum__tb tr:first-child td{border-top:0!important}
.bs-sum__tb td{text-align:right;color:var(--bs-brou)!important}
.bs-sum__tb .order-total th,.bs-sum__tb .order-total td{
	border-top:1.5px dashed var(--bs-bd)!important;padding-top:14px!important;font-size:.9rem}
.bs-sum__tb .order-total .amount{font-size:1.35rem;font-weight:700;color:var(--bs-bourbon)!important}
.bs-sum__tb .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.bs-sum__tb .woocommerce-shipping-methods li{margin:0}
.bs-sum__tb .woocommerce-shipping-methods label{font-family:var(--bs-mono);font-size:.8rem;color:var(--bs-brou)}
.bs-sum__tb .woocommerce-shipping-destination{font-size:.72rem;color:var(--bs-mut);margin:.4rem 0 0}
.bs-sum__tb .shipping-calculator-button{color:var(--bs-bourbon)!important;font-size:.74rem}
.bs-sum__tb .cart-discount td{color:var(--bs-selvedge)!important}

.wc-proceed-to-checkout{padding:0!important;margin:16px 0 0}
.wc-proceed-to-checkout .checkout-button{
	position:relative;display:flex;align-items:center;justify-content:center;width:100%;
	min-height:56px;padding:16px 20px!important;margin:0!important;
	font-family:var(--bs-body)!important;font-weight:700!important;font-size:.92rem!important;
	letter-spacing:.05em;text-transform:uppercase;text-decoration:none!important;
	color:#F6EBD8!important;background:linear-gradient(180deg,#8A4520,#6B3315)!important;
	border:0!important;border-radius:7px!important;overflow:hidden;
	box-shadow:0 2px 0 #4c2410,0 4px 10px rgba(36,26,16,.25);transition:transform .15s ease,box-shadow .15s ease}
.wc-proceed-to-checkout .checkout-button::before{
	content:"";position:absolute;inset:5px;border:1.5px dashed rgba(246,235,216,.55);border-radius:4px;pointer-events:none}
.wc-proceed-to-checkout .checkout-button:hover{transform:translateY(-2px);box-shadow:0 4px 0 #4c2410,0 8px 18px rgba(36,26,16,.3);color:#fff!important}
.wc-proceed-to-checkout .checkout-button:active{transform:translateY(1px);box-shadow:0 1px 0 #4c2410}

.bs-sum__eta{
	margin:14px 0 0;font-family:var(--bs-mono);font-size:.74rem;line-height:1.5;letter-spacing:.03em;color:var(--bs-encre2)}
.bs-sum__eta [data-bs-eta]{color:var(--bs-brou);font-weight:600}
.bs-sum__edit{margin:14px 0 0;text-align:center;font-family:var(--bs-mono);font-size:.74rem}
.bs-sum__edit a{color:var(--bs-encre2);border-bottom:1.5px solid var(--bs-fil);text-decoration:none;padding-bottom:2px}
.bs-sum__edit a:hover{color:var(--bs-bourbon)}

/* Réassurance */
.bs-trust{list-style:none;margin:18px 0 0;padding:16px 0 0;display:grid;gap:12px;
	border-top:1.5px dashed var(--bs-bd)}
.bs-trust__i{display:flex;align-items:flex-start;gap:11px}
.bs-trust__ic{color:var(--bs-bourbon);flex:0 0 auto;margin-top:1px}
.bs-trust__tx{display:flex;flex-direction:column;gap:1px;min-width:0}
.bs-trust__tx b{font-family:var(--bs-body);font-weight:700;font-size:.84rem;color:var(--bs-brou)}
.bs-trust__tx span{font-family:var(--bs-mono);font-size:.71rem;letter-spacing:.03em;color:var(--bs-encre2);line-height:1.4}

/* Moyens de paiement */
.bs-pay{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:14px 0 0;border-top:1.5px dashed var(--bs-bd)}
.bs-pay span{
	font-family:var(--bs-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
	color:var(--bs-encre2);border:1.5px solid var(--bs-bd);border-radius:3px;padding:5px 8px;background:var(--bs-papier)}

/* ---------- 4) Panier vide ---------- */
.bs-empty{max-width:640px;margin:0 auto;text-align:center;padding:clamp(28px,5vw,52px) clamp(18px,4vw,40px);
	background:var(--bs-papier2);border:1.5px solid var(--bs-bd);border-radius:4px}
.bs-empty__t{font-family:var(--bs-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.3rem,3vw,1.7rem);margin:.5rem 0 .7rem;color:var(--bs-brou)}
.bs-empty__p{font-size:1rem;line-height:1.6;color:var(--bs-encre2);margin:0 0 1.4rem}
.bs-empty__cats{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 1.6rem;padding:0}
.bs-empty__cats .bs-chip span{color:var(--bs-mut);font-size:.9em}
.bs-empty__cta{margin:0}
.bs-empty .bs-trust{text-align:left;max-width:360px;margin-inline:auto;margin-top:26px;
	grid-template-columns:1fr 1fr}
@media(max-width:520px){.bs-empty .bs-trust{grid-template-columns:1fr}}

/* ---------- 5) Cross-sells ---------- */
.cross-sells{margin:clamp(38px,5vw,60px) 0 0;padding-top:clamp(24px,3vw,34px);
	border-top:1.5px dashed var(--bs-bd)}
.cross-sells>h2{
	font-family:var(--bs-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.1rem,2.4vw,1.45rem);
	color:var(--bs-brou);margin:0 0 1.2rem}

/* ---------- 6) Commande : deux colonnes ---------- */
.bs-co{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:clamp(24px,3vw,46px);align-items:start}
.bs-co__main{grid-column:1;grid-row:1;min-width:0}
.bs-co__side{grid-column:2;grid-row:1;min-width:0}
.bs-co__side .bs-sum__t{margin-bottom:12px}
.bs-co__block{
	background:var(--bs-papier2);border:1.5px solid var(--bs-bd);border-radius:4px;
	padding:clamp(18px,2.4vw,26px);margin:0 0 18px}
.bs-co__h,.bs-co h3{
	font-family:var(--bs-display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;
	font-size:1.05rem;color:var(--bs-brou);margin:0 0 16px;padding-bottom:10px;
	background:repeating-linear-gradient(90deg,rgba(36,26,16,.28) 0 9px,transparent 9px 17px) bottom/100% 1.5px no-repeat}
#customer_details .col-1,#customer_details .col-2{width:100%;float:none;padding:0}
#customer_details .col-2:empty{display:none}

/* Champs */
.bs-co .woocommerce-billing-fields__field-wrapper,
.bs-co .woocommerce-shipping-fields__field-wrapper,
.bs-co .woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.bs-co .form-row{margin:0;padding:0;display:flex;flex-direction:column}
.bs-co .form-row-wide,.bs-co .form-row.notes{grid-column:1/-1}
.bs-co .form-row label{
	font-family:var(--bs-mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500;
	color:var(--bs-encre2);margin:0 0 6px}
.bs-co .form-row .required{color:var(--bs-selvedge);text-decoration:none;margin-inline-start:2px}
.bs-co .form-row .optional{color:var(--bs-mut);font-size:.9em;letter-spacing:.06em}
.bs-co .input-text,.bs-co textarea,.bs-co select,.bs-co .select2-selection{
	appearance:none;-webkit-appearance:none;box-sizing:border-box;width:100%;min-height:50px;
	background:var(--bs-papier)!important;color:var(--bs-brou)!important;
	border:1.5px solid var(--bs-bd)!important;border-radius:3px!important;
	padding:13px 15px!important;font-family:var(--bs-body);font-size:1rem;line-height:1.3;
	transition:border-color .18s ease,box-shadow .18s ease}
.bs-co textarea{min-height:92px;line-height:1.5;resize:vertical}
.bs-co select{
	padding-inline-end:42px!important;cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%237E3F1C' stroke-width='1.8'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;
	background-repeat:no-repeat!important;background-position:right 15px center!important;background-size:12px 8px!important}
.bs-co .input-text:focus,.bs-co textarea:focus,.bs-co select:focus{
	outline:none;border-color:var(--bs-bourbon)!important;box-shadow:0 0 0 3px rgba(126,63,28,.14)}
.bs-co .input-text::placeholder,.bs-co textarea::placeholder{color:var(--bs-mut);opacity:1}
.bs-co .woocommerce-invalid .input-text,.bs-co .woocommerce-invalid select{border-color:var(--bs-selvedge)!important}
.bs-co .woocommerce-invalid label::after{content:" (à compléter)";color:var(--bs-selvedge);letter-spacing:.04em}
.bs-co .woocommerce-validated .input-text{border-color:#5F7A4A!important}

/* Select2 (pays) */
.bs-co .select2-container--default .select2-selection--single{
	height:auto!important;border:1.5px solid var(--bs-bd)!important;border-radius:3px!important;background:var(--bs-papier)!important;padding:12px 15px!important}
.bs-co .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--bs-brou);line-height:1.3;padding:0}
.bs-co .select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:12px}

/* Case « livrer à une autre adresse » */
.bs-co .woocommerce-shipping-fields{margin-top:18px}
.bs-co #ship-to-different-address{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:0;background:none}
.bs-co #ship-to-different-address label{
	display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;
	font-family:var(--bs-body);font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--bs-brou);font-weight:600}
.bs-co input[type=checkbox]{
	appearance:none;-webkit-appearance:none;width:22px;height:22px;flex:0 0 22px;margin:0;cursor:pointer;
	border:1.5px solid var(--bs-bd);border-radius:3px;background:var(--bs-papier);display:inline-grid;place-content:center}
.bs-co input[type=checkbox]::after{content:"";width:11px;height:6px;border-inline-start:2px solid var(--bs-papier2);border-block-end:2px solid var(--bs-papier2);transform:rotate(-45deg) scale(0);transition:transform .12s ease}
.bs-co input[type=checkbox]:checked{background:var(--bs-bourbon);border-color:var(--bs-bourbon)}
.bs-co input[type=checkbox]:checked::after{transform:rotate(-45deg) scale(1)}

/* Coupon / connexion en tête de commande : présents mais discrets */
.bs-tunnel .woocommerce-form-coupon-toggle,.bs-tunnel .woocommerce-form-login-toggle{margin:0 0 14px}
.bs-tunnel .woocommerce-form-coupon-toggle .woocommerce-info,
.bs-tunnel .woocommerce-form-login-toggle .woocommerce-info{
	background:transparent!important;border:0!important;border-bottom:1.5px dashed var(--bs-bd)!important;
	padding:0 0 12px!important;margin:0!important;color:var(--bs-encre2)!important;
	font-family:var(--bs-mono);font-size:.76rem;letter-spacing:.04em}
.bs-tunnel .woocommerce-form-coupon-toggle .woocommerce-info::before,
.bs-tunnel .woocommerce-form-login-toggle .woocommerce-info::before{display:none!important}
.bs-tunnel .checkout_coupon,.bs-tunnel .woocommerce-form-login{
	background:var(--bs-papier2);border:1.5px dashed var(--bs-fil);border-radius:4px;padding:20px;margin:0 0 18px}
.bs-tunnel .checkout_coupon .form-row,.bs-tunnel .woocommerce-form-login .form-row{margin-bottom:12px}

/* Récapitulatif de commande (colonne droite) */
.bs-co__side #order_review{
	position:sticky;top:92px;
	background:var(--bs-papier2);border:1.5px solid var(--bs-bd);border-radius:4px;padding:20px}
.bs-co__side #order_review::before{
	content:"";position:absolute;top:-1px;left:0;right:0;height:8px;
	background:radial-gradient(circle at 8px 0,transparent 5px,var(--bs-papier2) 5.5px) 0 0/16px 8px repeat-x}
.bs-rev{width:100%;border-collapse:collapse;border:0!important;background:transparent!important;margin:0}
.bs-rev thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bs-rev tbody{display:block;max-height:none}
.bs-rev__img{flex:0 0 auto}
.bs-rev tr.bs-rev__i{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0}
.bs-rev td.product-name{display:flex;align-items:center;gap:12px;min-width:0}
.bs-rev tr.bs-rev__i+tr.bs-rev__i{border-top:1px solid rgba(36,26,16,.1)}
.bs-rev td{display:block;border:0!important;background:transparent!important;padding:0!important}
.bs-rev__img{position:relative;display:block;width:56px}
.bs-rev__img img{width:56px;height:56px;object-fit:cover;border:1.5px solid var(--bs-bd);border-radius:3px;background:#fff}
.bs-rev__q{
	position:absolute;top:-7px;inset-inline-end:-7px;min-width:21px;height:21px;padding:0 5px;
	display:flex;align-items:center;justify-content:center;border-radius:11px;
	background:var(--bs-brou);color:var(--bs-papier);font-family:var(--bs-mono);font-size:.66rem}
.bs-rev__tx{display:block;min-width:0}
.bs-rev__n{display:block;font-size:.88rem;font-weight:600;line-height:1.3;color:var(--bs-brou)}
.bs-rev__tx dl.variation{margin:.25rem 0 0;display:flex;flex-wrap:wrap;gap:.2em .7em;font-family:var(--bs-mono);font-size:.68rem;color:var(--bs-encre2)}
.bs-rev__tx dl.variation dt{margin:0;color:var(--bs-mut);text-transform:uppercase;font-weight:400}
.bs-rev__tx dl.variation dd{margin:0}
.bs-rev__tx dl.variation dd p{margin:0}
.bs-rev td.product-total{text-align:right;font-family:var(--bs-mono);font-size:.85rem;color:var(--bs-brou);white-space:nowrap}
.bs-rev tfoot{display:block;margin-top:12px;padding-top:4px;border-top:1.5px dashed var(--bs-bd)}
.bs-rev tfoot tr{display:flex;justify-content:space-between;gap:14px;padding:9px 0}
.bs-rev tfoot th{
	border:0!important;background:transparent!important;padding:0!important;text-align:left;font-weight:400;
	font-family:var(--bs-mono);font-size:.8rem;color:var(--bs-encre2)!important}
.bs-rev tfoot td{
	border:0!important;background:transparent!important;padding:0!important;text-align:right;
	font-family:var(--bs-mono);font-size:.85rem;color:var(--bs-brou)!important}
.bs-rev tfoot .order-total{border-top:1.5px dashed var(--bs-bd);margin-top:4px;padding-top:13px}
.bs-rev tfoot .order-total th{font-size:.9rem;color:var(--bs-brou)!important;font-weight:700}
.bs-rev tfoot .order-total .amount{font-size:1.3rem;font-weight:700;color:var(--bs-bourbon)!important}
.bs-rev tfoot .woocommerce-shipping-methods{list-style:none;margin:0;padding:0;text-align:right}
.bs-rev tfoot .woocommerce-shipping-methods label{font-family:var(--bs-mono);font-size:.8rem;color:var(--bs-brou)}
.bs-co__side .bs-trust{margin-top:16px}

/* Paiement */
.bs-co__pay #payment{background:transparent!important;border-radius:0}
.bs-co__pay #payment ul.wc_payment_methods{list-style:none;border:0!important;padding:0;margin:0 0 16px}
.bs-co__pay #payment ul.wc_payment_methods li{
	background:var(--bs-papier);border:1.5px solid var(--bs-bd);border-radius:4px;margin:0 0 10px;padding:14px 16px;list-style:none}
.bs-co__pay #payment ul.wc_payment_methods li:has(input:checked){border-color:var(--bs-bourbon);box-shadow:0 0 0 2px rgba(126,63,28,.12)}
.bs-co__pay #payment ul.wc_payment_methods li label{
	display:inline-flex;align-items:center;gap:10px;margin:0;cursor:pointer;
	font-family:var(--bs-body);font-size:.98rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--bs-brou)}
.bs-co__pay #payment input[type=radio]{
	appearance:none;-webkit-appearance:none;width:20px;height:20px;flex:0 0 20px;margin:0;
	border:1.5px solid var(--bs-bd);border-radius:50%;background:var(--bs-papier2);display:inline-grid;place-content:center;cursor:pointer}
.bs-co__pay #payment input[type=radio]:checked{border-color:var(--bs-bourbon)}
.bs-co__pay #payment input[type=radio]::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--bs-bourbon);transform:scale(0);transition:transform .12s ease}
.bs-co__pay #payment input[type=radio]:checked::after{transform:scale(1)}
.bs-co__pay #payment .payment_box{
	background:var(--bs-kraft)!important;color:var(--bs-encre2);border-radius:3px;margin:12px 0 0;padding:14px;font-size:.9rem}
.bs-co__pay #payment .payment_box::before{display:none}
.bs-co__pay #payment div.form-row.place-order{padding:0;margin:6px 0 0}
.bs-co__pay .woocommerce-terms-and-conditions-wrapper{margin:0 0 16px}
.bs-co__pay .woocommerce-terms-and-conditions{
	background:var(--bs-papier);border:1.5px solid var(--bs-bd);border-radius:3px;padding:14px;margin:0 0 12px;font-size:.86rem;line-height:1.55}
.bs-co__pay .woocommerce-privacy-policy-text{font-size:.82rem;line-height:1.5;color:var(--bs-encre2)}
.bs-co__pay .woocommerce-privacy-policy-text p{margin:0 0 10px}
.bs-co__pay .validate-required label,.bs-co__pay .woocommerce-terms-and-conditions-checkbox-text{
	font-family:var(--bs-body);font-size:.9rem;letter-spacing:0;text-transform:none;color:var(--bs-brou)}
.bs-co__pay .form-row.validate-required{display:flex;flex-direction:row;align-items:flex-start;gap:10px}
.bs-co__pay .form-row.validate-required label.checkbox{display:flex;align-items:flex-start;gap:10px;margin:0}
#place_order{
	position:relative;width:100%;min-height:58px;margin:14px 0 0!important;padding:17px 20px!important;
	font-family:var(--bs-body)!important;font-weight:700!important;font-size:.95rem!important;
	letter-spacing:.05em;text-transform:uppercase;cursor:pointer;
	color:#F6EBD8!important;background:linear-gradient(180deg,#8A4520,#6B3315)!important;
	border:0!important;border-radius:7px!important;overflow:hidden;
	box-shadow:0 2px 0 #4c2410,0 4px 10px rgba(36,26,16,.25);transition:transform .15s ease,box-shadow .15s ease}
#place_order::before{content:"";position:absolute;inset:5px;border:1.5px dashed rgba(246,235,216,.55);border-radius:4px;pointer-events:none}
#place_order:hover{transform:translateY(-2px);box-shadow:0 4px 0 #4c2410,0 8px 18px rgba(36,26,16,.3);color:#fff!important}
#place_order:active{transform:translateY(1px);box-shadow:0 1px 0 #4c2410}
.bs-after-submit{
	margin:12px 0 0;font-family:var(--bs-mono);font-size:.72rem;line-height:1.5;letter-spacing:.03em;
	color:var(--bs-encre2);text-align:center}

/* ---------- 7) Header allégé (mode tunnel) ---------- */
.bs-hd-wrap--tunnel .bs-hd{display:flex;align-items:center;justify-content:space-between;gap:16px}
.bs-hd-secure{
	display:flex;align-items:center;gap:8px;margin:0;
	font-family:var(--bs-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bs-encre2)}
.bs-hd-secure svg{color:var(--bs-bourbon)}
.bs-hd-backcart{
	font-family:var(--bs-mono);font-size:.72rem;letter-spacing:.08em;color:var(--bs-encre2);
	text-decoration:none;border-bottom:1.5px solid var(--bs-fil);padding-bottom:2px;white-space:nowrap}
.bs-hd-backcart:hover{color:var(--bs-bourbon)}

/* ---------- 8) Barre collante mobile ---------- */
.bs-stickybar{
	position:fixed;inset-inline:0;bottom:0;z-index:900;display:none;align-items:center;gap:14px;
	padding:12px 16px calc(12px + env(safe-area-inset-bottom));
	background:var(--bs-papier2);border-top:1.5px solid var(--bs-bd);box-shadow:0 -6px 20px rgba(36,26,16,.14)}
.bs-stickybar__tt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.bs-stickybar__tt span{font-family:var(--bs-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bs-mut)}
.bs-stickybar__tt b{font-family:var(--bs-mono);font-size:1.05rem;color:var(--bs-brou)}
.bs-stickybar__cta{flex:1 1 auto;min-height:50px;padding:13px 18px!important;font-size:.8rem!important}

/* ---------- 9) Responsive ---------- */
@media(max-width:1024px){
	.bs-cart{grid-template-columns:minmax(0,1fr) 310px;gap:26px}
	.bs-co{grid-template-columns:minmax(0,1fr) 330px;gap:26px}
}
@media(max-width:900px){
	.bs-cart,.bs-co{grid-template-columns:1fr}
	.bs-cart__main{grid-column:1;grid-row:1}
	.bs-cart__side{grid-column:1;grid-row:2}
	.bs-co__side{grid-column:1;grid-row:1}
	.bs-co__main{grid-column:1;grid-row:2}
	.bs-sum,.bs-co__side #order_review{position:relative;top:auto}
	.bs-cart__side{margin-top:22px}
	.bs-co__side{margin-bottom:18px}
	.bs-co__side .bs-trust,.bs-co__side .bs-sum__edit{display:none}
	.bs-rev tbody{max-height:330px;overflow-y:auto}
}
@media(max-width:640px){
	.bs-lines tr.bs-line{grid-template-columns:74px minmax(0,1fr) auto;gap:5px 14px}
	.bs-line .product-thumbnail img{width:74px;height:74px}
	.bs-line__name{font-size:.95rem}
	.bs-line .product-subtotal{font-size:.98rem}
	.bs-co .woocommerce-billing-fields__field-wrapper,
	.bs-co .woocommerce-shipping-fields__field-wrapper,
	.bs-co .woocommerce-additional-fields__field-wrapper{grid-template-columns:1fr}
	.bs-tunnel--cart{padding-bottom:104px}
	.bs-stickybar{display:flex}
	.bs-stickybar[hidden]{display:none}
	.bs-tunnel--cart .wc-proceed-to-checkout .checkout-button{min-height:52px}
	.bs-coupon__in{flex-direction:column}
	.bs-coupon__in .bs-btn--ghost{width:100%}
}
@media(max-width:420px){
	.bs-lines tr.bs-line{grid-template-areas:"img name rm" "img price price" "qty qty sub";gap:8px 12px}
	.bs-line .product-quantity{margin-top:4px}
	.bs-hd-secure{display:none}
}

/* ---------- 10) Motion ---------- */
@media(prefers-reduced-motion:reduce){
	.bs-tunnel *,.bs-stickybar{transition:none!important;animation:none!important}
	.wc-proceed-to-checkout .checkout-button:hover,#place_order:hover{transform:none}
}

/* ---------- 11) Priorité sur WooCommerce ----------
 * woocommerce.css / woocommerce-layout.css ciblent le panier avec une
 * spécificité supérieure à la nôtre (.woocommerce .cart-collaterals
 * .cart_totals = 0-3-0, .woocommerce table.cart img = 0-2-2). On ne
 * réécrit que les propriétés réellement en conflit.
 */
body.woocommerce-cart .bs-cart .cart-collaterals .cart_totals{width:100%!important;float:none!important;padding:22px 20px 20px!important}
body.woocommerce-cart table.bs-lines td.product-thumbnail img{width:96px!important;height:96px!important;box-shadow:none}
body.woocommerce-cart table.bs-lines td.actions{text-align:left!important;background:transparent!important}
body.woocommerce-cart .bs-autoqty td.actions .bs-update{
	position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;
	overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0!important}
body.woocommerce-cart table.bs-lines td.actions .coupon{float:none!important;width:auto!important}
body.woocommerce-cart .bs-cart .cart_totals table.shop_table{border:0!important;border-radius:0}
body.woocommerce-cart .bs-lines .quantity{float:none!important}
/* Destination d'expédition : redondante avec la ligne « Livraison offerte ». */
body.woocommerce-cart .bs-sum .woocommerce-shipping-destination,
body.woocommerce-cart .bs-sum .shipping-calculator-button,
body.woocommerce-cart .bs-sum .shipping-calculator-form{display:none}
body.woocommerce-cart .bs-sum__tb th{white-space:nowrap}
/* Panier latéral du plugin Side Cart : doublon du panier dans le tunnel. */
body.woocommerce-cart .xoo-wsc-modal,body.woocommerce-checkout .xoo-wsc-modal,
body.woocommerce-cart .xoo-wsc-basket,body.woocommerce-checkout .xoo-wsc-basket{display:none!important}
@media(max-width:640px){
	body.woocommerce-cart table.bs-lines td.product-thumbnail img{width:74px!important;height:74px!important}
}

/* ---------- 12) Neutraliser le mode tableau responsive de Woo ----------
 * woocommerce-smallscreen.css transforme toute .shop_table_responsive en
 * liste d'étiquettes (td::before = data-title, tout aligné à droite).
 * Nos tables ont leur propre grille : on tient la ligne sous 768 px.
 */
@media(max-width:768px){
	body.woocommerce-cart table.bs-lines td:not(.product-price)::before,
	body.woocommerce-cart table.bs-sum__tb td::before,
	body.woocommerce-checkout table.bs-rev td::before{content:none!important;display:none!important}
	body.woocommerce-cart table.bs-lines td.product-price::before{content:"Prix unitaire "!important;display:inline!important}
	body.woocommerce-cart table.bs-lines tr.bs-line{display:grid!important}
	body.woocommerce-cart table.bs-lines td{display:block!important;text-align:left!important;padding:0!important}
	body.woocommerce-cart table.bs-lines td.product-subtotal,
	body.woocommerce-cart table.bs-lines td.product-remove{text-align:right!important}
	body.woocommerce-cart table.bs-sum__tb tr{display:flex!important;justify-content:space-between;gap:14px;padding:0}
	body.woocommerce-cart table.bs-sum__tb th,
	body.woocommerce-cart table.bs-sum__tb td{display:block!important;text-align:left!important;width:auto}
	body.woocommerce-cart table.bs-sum__tb td{text-align:right!important}
}

/* ---------- 13) Portefeuilles Stripe (Apple Pay / Google Pay) ----------
 * Le bouton lui-même n'est jamais restylé : les chartes Apple et Google
 * l'interdisent. On ne touche qu'au séparateur, laissé en anglais par
 * l'extension, et à son rythme vertical.
 */
.bs-sum .wc-stripe-cart-or{font-size:0;margin:14px 0 12px;text-align:center;line-height:1}
.bs-sum .wc-stripe-cart-or::after{
	content:"ou";font-family:var(--bs-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bs-mut)}
.bs-sum .wc-stripe-payment-method{margin:0}
.bs-co__pay .wc-stripe-checkout-or{font-size:0;text-align:center;margin:12px 0}
.bs-co__pay .wc-stripe-checkout-or::after{
	content:"ou";font-family:var(--bs-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bs-mut)}

/* ---------- 14) Cases à cocher dans les lignes de formulaire ----------
 * `.bs-co .form-row` est en flex colonne : une case à cocher y héritait
 * de `align-items:stretch` et s'étirait sur toute la largeur (688 px
 * mesurés sur « Enregistrer sur le compte » de la passerelle Stripe).
 * On bascule en ligne dès qu'une case est présente, et on verrouille
 * ses dimensions dans les trois axes.
 */
.bs-co .form-row:has(> input[type=checkbox]){flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
.bs-co .form-row input[type=checkbox],
.bs-co__pay input[type=checkbox]{
	width:22px;min-width:22px;max-width:22px;height:22px;flex:0 0 22px;align-self:center}
.bs-co .form-row input[type=checkbox]+label,
.bs-co__pay input[type=checkbox]+label{
	margin:0;font-family:var(--bs-body);font-size:.92rem;letter-spacing:0;text-transform:none;
	color:var(--bs-brou);cursor:pointer}
