/* Tunnel d'achat construire-au-naturel.fr — même identité que le site (ec-site-chrome, fiches produit) */
.cant, .ec-mc {
  --ct-green:#2F6B4F; --ct-green-dark:#234F3A; --ct-green-tint:#EAF3EE;
  --ct-blue:#2C5C8A; --ct-blue-tint:#EAF1F8;
  --ct-ink:#1E2124; --ct-muted:#5B6460; --ct-line:#E4E7E5;
  --ct-bg:#ffffff; --ct-surface:#F7F9F8; --ct-warn:#a12f1f; --ct-warn-tint:#FBEAE7;
  --ct-radius:16px; --ct-radius-sm:10px;
  --ct-shadow:0 2px 8px rgba(30,33,36,.06); --ct-shadow-lg:0 12px 32px rgba(30,33,36,.10);
  --ct-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
.cant, .cant * { box-sizing:border-box; }
.cant { font-family:var(--ct-sans); color:var(--ct-ink); background:var(--ct-bg); }
.cant-wrap { max-width:1200px; margin:0 auto; padding:28px 24px 64px; }
.cant .ec-breadcrumb { font-size:13px; margin-bottom:18px; }
.cant a { color:var(--ct-green); }

/* ---------- Barre d'étapes ---------- */
.cant-steps { list-style:none; margin:0 0 26px; padding:0; display:flex; gap:0; counter-reset:none; max-width:760px; }
.cant-steps li { flex:1; display:flex; align-items:center; gap:10px; position:relative; color:var(--ct-muted); font-size:13.5px; font-weight:600; padding-right:14px; }
.cant-steps li:not(:last-child)::after { content:""; flex:1; height:2px; background:var(--ct-line); border-radius:2px; margin-left:4px; }
.cant-steps li.is-done:not(:last-child)::after { background:var(--ct-green); }
.cant-steps li a { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }
.cant-steps li a:hover .cant-steps-l { text-decoration:underline; }
.cant-steps-n { width:30px; height:30px; flex:0 0 30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--ct-surface); border:1.5px solid var(--ct-line); color:var(--ct-muted); font-size:13px; font-weight:700; }
.cant-steps li.is-current { color:var(--ct-ink); }
.cant-steps li.is-current .cant-steps-n { background:var(--ct-green); border-color:var(--ct-green); color:#fff; box-shadow:0 0 0 4px var(--ct-green-tint); }
.cant-steps li.is-done { color:var(--ct-green); }
.cant-steps li.is-done .cant-steps-n { background:var(--ct-green-tint); border-color:var(--ct-green); color:var(--ct-green); }
.cant-steps-l { white-space:nowrap; }

.cant-head { margin:0 0 24px; }
.cant-head h1 { font-size:28px; line-height:1.2; margin:0 0 6px; font-weight:700; color:var(--ct-ink); padding:0; }
.cant-head p { margin:0; color:var(--ct-muted); font-size:14.5px; padding:0; }

/* ---------- Notices WooCommerce ---------- */
.cant .woocommerce-notices-wrapper:empty { display:none; }
.cant .woocommerce-message, .cant .woocommerce-info, .cant .woocommerce-error, .cant .woocommerce-NoticeGroup .woocommerce-error {
  background:var(--ct-green-tint) !important; border:1px solid #cfe2d7 !important; color:var(--ct-ink) !important;
  border-radius:var(--ct-radius-sm) !important; padding:13px 16px 13px 16px !important; font-size:14px; list-style:none;
  margin:0 0 18px !important; box-shadow:none !important; display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center;
}
.cant .woocommerce-info { background:var(--ct-blue-tint) !important; border-color:#cfdeee !important; }
.cant .woocommerce-error { background:var(--ct-warn-tint) !important; border-color:#efc7c0 !important; flex-direction:column; align-items:flex-start; }
.cant .woocommerce-error li { margin:0; padding:0; }
.cant .woocommerce-message::before, .cant .woocommerce-info::before, .cant .woocommerce-error::before { display:none !important; }
.cant .woocommerce-message .button, .cant .woocommerce-info .button { order:2; margin-left:auto; }

/* ---------- Boutons ---------- */
.cant .button, .cant button.button, .cant a.button, .cant input.button, .cant #place_order, .cant .checkout-button {
  font-family:var(--ct-sans) !important; font-weight:700 !important; font-size:14px !important; line-height:1.2 !important;
  border-radius:var(--ct-radius-sm) !important; border:1.5px solid var(--ct-line) !important; background:var(--ct-bg) !important;
  color:var(--ct-ink) !important; padding:12px 20px !important; box-shadow:none !important; text-decoration:none !important;
  cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease; text-transform:none !important; letter-spacing:0 !important;
}
.cant .button:hover { border-color:var(--ct-green) !important; color:var(--ct-green) !important; }
.cant .button::after, .cant .button::before { display:none !important; }
.cant .checkout-button, .cant #place_order, .cant .wc-backward, .cant .button.alt {
  background:var(--ct-green) !important; border-color:var(--ct-green) !important; color:#fff !important;
}
.cant .checkout-button:hover, .cant #place_order:hover, .cant .wc-backward:hover, .cant .button.alt:hover { background:var(--ct-green-dark) !important; border-color:var(--ct-green-dark) !important; color:#fff !important; }

/* ---------- Cartes ---------- */
.cant .cant-card, .cant form.woocommerce-cart-form, .cant .cart_totals, .cant #customer_details .col-1, .cant #customer_details .col-2,
.cant #order_review, .cant .woocommerce-order-details, .cant .woocommerce-customer-details, .cant .woocommerce-bacs-bank-details,
.cant .cross-sells, .cant form#order_review {
  background:var(--ct-bg); border:1px solid var(--ct-line); border-radius:var(--ct-radius); box-shadow:var(--ct-shadow); padding:24px;
}

/* =================== PANIER =================== */
.cant-step-1 .cant-body > .woocommerce { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:28px; align-items:start; }
.cant-step-1 .cant-body > .woocommerce > .woocommerce-notices-wrapper,
.cant-step-1 .cant-body > .woocommerce > .cross-sells,
.cant-step-1 .cant-body > .woocommerce > .cart-empty,
.cant-step-1 .cant-body > .woocommerce > .wc-empty-cart-message,
.cant-step-1 .cant-body > .woocommerce > .return-to-shop { grid-column:1 / -1; }
.cant-step-1 form.woocommerce-cart-form { grid-column:1; padding:8px 24px 24px; margin:0; }
.cant-step-1 .cart-collaterals { grid-column:2; width:auto !important; float:none !important; position:sticky; top:24px; }
.cant-step-1 .cart-collaterals::before, .cant-step-1 .cart-collaterals::after { display:none; }

/* Lignes du panier en cartes (la table reste une vraie table pour WooCommerce) */
.cant table.shop_table.cart { border:none !important; margin:0 !important; width:100%; border-collapse:collapse; background:none !important; }
.cant table.cart thead { display:none; }
.cant table.cart tr.cart_item { display:grid; grid-template-columns:84px minmax(0,1fr) auto 112px 34px; grid-template-areas:"thumb name qty sub remove";
  align-items:center; gap:6px 18px; padding:18px 0; border-bottom:1px solid var(--ct-line); }
.cant table.cart tr.cart_item td { display:block; border:none !important; padding:0 !important; background:none !important; }
.cant table.cart td.product-thumbnail { grid-area:thumb; width:auto !important; }
.cant table.cart td.product-thumbnail img { width:84px !important; height:84px !important; object-fit:cover; border-radius:12px; border:1px solid var(--ct-line); background:var(--ct-surface); display:block; }
.cant table.cart td.product-name { grid-area:name; font-size:15px; line-height:1.35; }
.cant table.cart td.product-name > a { color:var(--ct-ink) !important; font-weight:600; text-decoration:none !important; }
.cant table.cart td.product-name > a:hover { color:var(--ct-green) !important; }
.cant table.cart td.product-name dl.variation { margin:6px 0 0; font-size:13px; color:var(--ct-muted); display:flex; flex-wrap:wrap; gap:2px 12px; }
.cant table.cart td.product-name dl.variation dt, .cant table.cart td.product-name dl.variation dd { margin:0; padding:0; display:inline; }
.cant table.cart td.product-name dl.variation dd p { display:inline; margin:0; }
.cant .cant-unit { display:block; margin-top:6px; font-size:13px; color:var(--ct-muted); font-weight:400; }
.cant .cant-unit .amount { color:var(--ct-ink); font-weight:600; }
.cant table.cart td.product-name .backorder_notification, .cant table.cart td.product-name p { font-size:12.5px; color:var(--ct-blue); margin:6px 0 0; }
.cant table.cart td.product-price { display:none !important; }
.cant table.cart td.product-quantity { grid-area:qty; }
.cant table.cart td.product-subtotal { grid-area:sub; text-align:right; font-weight:700; font-size:15.5px; white-space:nowrap; }
.cant table.cart td.product-subtotal small { display:block; font-weight:400; font-size:11.5px; color:var(--ct-muted); }
.cant table.cart td.product-remove { grid-area:remove; text-align:right; }
.cant table.cart a.remove { width:32px !important; height:32px !important; border-radius:50% !important; display:inline-flex !important; align-items:center; justify-content:center;
  border:1.5px solid var(--ct-line); background:var(--ct-bg) !important; color:var(--ct-muted) !important; font-size:18px !important; line-height:1 !important; text-decoration:none !important; font-weight:400 !important; }
.cant table.cart a.remove:hover { border-color:var(--ct-warn); color:var(--ct-warn) !important; background:var(--ct-warn-tint) !important; }
.cant table.cart tr:last-child td.actions { display:flex !important; justify-content:flex-end; align-items:center; gap:12px; padding:16px 0 0 !important; border:none !important; }
.cant table.cart td.actions .coupon { display:none !important; }
.cant .cant-autosave { font-size:12.5px; color:var(--ct-muted); margin-right:auto; }
.cant table.cart button[name="update_cart"][disabled] { opacity:.5; }

/* Sélecteur de quantité − / + */
.cant .quantity { display:inline-flex !important; align-items:center; border:1.5px solid var(--ct-line); border-radius:999px; background:var(--ct-bg); overflow:hidden; height:42px; }
.cant .quantity .qty { width:46px !important; height:40px !important; border:none !important; background:none !important; text-align:center; font-size:15px !important; font-weight:600;
  color:var(--ct-ink) !important; padding:0 !important; -moz-appearance:textfield; box-shadow:none !important; margin:0 !important; }
.cant .quantity .qty::-webkit-outer-spin-button, .cant .quantity .qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.cant .cant-qbtn { width:38px; height:40px; border:none; background:none; color:var(--ct-ink); font-size:18px; line-height:1; cursor:pointer; padding:0; }
.cant .cant-qbtn:hover { background:var(--ct-surface); color:var(--ct-green); }
.cant .quantity label { position:absolute; left:-9999px; }

/* Bloc palettes (plugin Palettes Transport) dans la carte du panier */
.cant .wctr-cart-panel { margin:20px 0 0 !important; border-radius:12px !important; border:1px solid var(--ct-line) !important; background:var(--ct-surface) !important; box-shadow:none !important; font-family:var(--ct-sans); }

/* Récapitulatif */
.cant .cart_totals { padding:24px !important; width:100% !important; float:none !important; text-align:left !important; }
.cant .cart_totals h2 { font-size:18px !important; margin:0 0 14px !important; padding:0 !important; text-align:left !important; font-weight:700; color:var(--ct-ink); }
.cant .cart_totals table.shop_table { border:none !important; margin:0 0 6px !important; width:100%; }
.cant .cart_totals table.shop_table tr { display:flex !important; justify-content:space-between; align-items:flex-start; gap:12px; padding:12px 0 !important; border-bottom:1px solid var(--ct-line) !important; }
.cant .cart_totals table.shop_table th, .cant .cart_totals table.shop_table td { display:block !important; border:none !important; padding:0 !important; background:none !important; text-align:left; font-size:14px; }
.cant .cart_totals table.shop_table th { font-weight:600; color:var(--ct-muted); white-space:nowrap; text-transform:none; }
.cant .cart_totals table.shop_table td { text-align:right !important; }
.cant .cart_totals tr.woocommerce-shipping-totals { flex-direction:column; }
.cant .cart_totals tr.woocommerce-shipping-totals td { text-align:left !important; width:100%; }
.cant .cart_totals tr.order-total { border-bottom:none !important; padding-top:16px !important; align-items:baseline; }
.cant .cart_totals tr.order-total th { color:var(--ct-ink); font-size:16px; }
.cant .cart_totals tr.order-total td { font-size:22px !important; font-weight:800; color:var(--ct-green); }
.cant .cart_totals tr.order-total td small, .cant .cart_totals .includes_tax { display:block; font-size:12px !important; font-weight:400; color:var(--ct-muted); }
.cant .woocommerce-shipping-methods { list-style:none !important; margin:0 0 6px !important; padding:0 !important; }
.cant .woocommerce-shipping-methods li { margin:0 0 6px !important; padding:0 !important; font-size:13.5px; display:flex; gap:8px; align-items:baseline; text-align:left; }
.cant .woocommerce-shipping-methods li label { font-weight:600; }
.cant .woocommerce-shipping-destination { font-size:12.5px; color:var(--ct-muted); margin:6px 0 !important; }
.cant .shipping-calculator-button { font-size:13px; font-weight:600; color:var(--ct-blue) !important; text-decoration:underline !important; display:inline-block; margin-top:4px; }
.cant .shipping-calculator-button::after { display:none !important; }
.cant .shipping-calculator-form { padding:12px 0 0 !important; display:grid; gap:8px; }
.cant .shipping-calculator-form p { margin:0 !important; padding:0 !important; }
.cant .shipping-calculator-form button[name="calc_shipping"] { width:100%; }
.cant .wc-proceed-to-checkout { padding:14px 0 0 !important; }
.cant .wc-proceed-to-checkout .checkout-button { display:block !important; width:100%; text-align:center; font-size:16px !important; padding:16px !important; margin:0 !important; }
.cant .cant-secure { margin:12px 0 0; font-size:12.5px; line-height:1.5; color:var(--ct-muted); text-align:center; display:block; }
.cant .cant-secure svg { display:inline-block; vertical-align:-2px; margin-right:4px; }

/* Panier vide */
.cant .wc-empty-cart-message, .cant .cart-empty { text-align:center; }
.cant .cart-empty.woocommerce-info { justify-content:center; font-size:15px; padding:28px !important; }
.cant .return-to-shop { text-align:center; margin:8px 0 0; }
.cant .return-to-shop .wc-backward { display:inline-block; padding:14px 28px !important; }

/* Produits suggérés */
.cant .cross-sells { margin-top:8px; }
.cant .cross-sells h2 { font-size:18px; margin:0 0 16px; }
.cant .cross-sells ul.products { display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; margin:0 !important; padding:0 !important; list-style:none; }
.cant .cross-sells ul.products::before, .cant .cross-sells ul.products::after { display:none !important; }
.cant .cross-sells ul.products li.product { width:auto !important; margin:0 !important; float:none !important; border:1px solid var(--ct-line); border-radius:12px; padding:12px !important; background:var(--ct-bg); }
.cant .cross-sells ul.products li.product img { border-radius:10px; margin:0 0 10px !important; aspect-ratio:1/1; object-fit:cover; }
.cant .cross-sells .woocommerce-loop-product__title { font-size:13.5px !important; font-weight:600; color:var(--ct-ink); padding:0 !important; }
.cant .cross-sells .price { color:var(--ct-green) !important; font-weight:700; }

/* =================== COMMANDE =================== */
.cant-step-2 .woocommerce-form-coupon-toggle, .cant-step-2 form.checkout_coupon { display:none !important; }
.cant-step-2 .woocommerce-form-login-toggle .woocommerce-info { background:var(--ct-surface) !important; border-color:var(--ct-line) !important; }
.cant-step-2 form.woocommerce-form-login { border:1px solid var(--ct-line) !important; border-radius:var(--ct-radius); padding:20px !important; margin:0 0 20px !important; }
.cant form.checkout.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1fr) 420px; grid-template-rows:auto 1fr; gap:0 28px; align-items:start; }
.cant form.checkout > .woocommerce-NoticeGroup { grid-column:1 / -1; }
.cant form.checkout #customer_details { grid-column:1; grid-row:1 / span 3; display:grid; gap:20px; width:auto; float:none; }
.cant form.checkout #customer_details::before, .cant form.checkout #customer_details::after { display:none; }
.cant #customer_details .col-1, .cant #customer_details .col-2 { width:100% !important; float:none !important; margin:0 !important; }
.cant form.checkout #order_review_heading { grid-column:2; grid-row:1; font-size:18px !important; font-weight:700; margin:0 0 -1px !important; padding:22px 24px 6px !important;
  background:var(--ct-bg); border:1px solid var(--ct-line); border-bottom:none; border-radius:var(--ct-radius) var(--ct-radius) 0 0; }
.cant form.checkout #order_review { grid-column:2; grid-row:2; border-top:none; border-radius:0 0 var(--ct-radius) var(--ct-radius); padding:6px 24px 24px; position:sticky; top:24px; }
.cant #customer_details h3, .cant .woocommerce-billing-fields h3, .cant .woocommerce-shipping-fields h3, .cant .woocommerce-additional-fields h3 {
  font-size:18px !important; font-weight:700; margin:0 0 16px !important; padding:0 !important; color:var(--ct-ink); }
.cant .woocommerce-shipping-fields #ship-to-different-address { font-size:15px !important; margin:0 0 12px !important; }
.cant #ship-to-different-address label { display:flex; gap:10px; align-items:center; font-weight:600; cursor:pointer; }

/* Champs */
.cant .form-row { padding:0 !important; margin:0 0 14px !important; }
.cant .woocommerce-billing-fields__field-wrapper, .cant .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.cant .woocommerce-billing-fields__field-wrapper .form-row, .cant .woocommerce-shipping-fields__field-wrapper .form-row { grid-column:1 / -1; width:auto !important; float:none !important; }
.cant .woocommerce-billing-fields__field-wrapper .form-row-first, .cant .woocommerce-shipping-fields__field-wrapper .form-row-first { grid-column:1; }
.cant .woocommerce-billing-fields__field-wrapper .form-row-last, .cant .woocommerce-shipping-fields__field-wrapper .form-row-last { grid-column:2; }
.cant .form-row label { display:block; font-size:13px; font-weight:600; color:var(--ct-ink); margin:0 0 6px !important; line-height:1.3; }
.cant .form-row label .required { color:var(--ct-warn); text-decoration:none; border:none; }
.cant .form-row label .optional { color:var(--ct-muted); font-weight:400; }
.cant .form-row .input-text, .cant .form-row select, .cant .form-row textarea, .cant .select2-container .select2-selection--single,
.cant .shipping-calculator-form input, .cant .shipping-calculator-form select {
  width:100% !important; min-height:46px; border:1.5px solid var(--ct-line) !important; border-radius:var(--ct-radius-sm) !important; background:var(--ct-bg) !important;
  font-family:var(--ct-sans) !important; font-size:15px !important; color:var(--ct-ink) !important; padding:10px 14px !important; box-shadow:none !important; line-height:1.4 !important; }
.cant .form-row textarea { min-height:96px; }
.cant .form-row .input-text:focus, .cant .form-row select:focus, .cant .form-row textarea:focus, .cant .select2-container--focus .select2-selection--single,
.cant .select2-container--open .select2-selection--single { border-color:var(--ct-green) !important; outline:none; box-shadow:0 0 0 3px var(--ct-green-tint) !important; }
.cant .select2-container .select2-selection--single { display:flex; align-items:center; padding:0 14px !important; }
.cant .select2-container .select2-selection--single .select2-selection__rendered { padding:0 !important; line-height:1.4 !important; color:var(--ct-ink); }
.cant .select2-container .select2-selection--single .select2-selection__arrow { height:44px !important; right:8px !important; }
.cant .form-row.woocommerce-invalid .input-text, .cant .form-row.woocommerce-invalid select { border-color:var(--ct-warn) !important; }
.cant .form-row .description { font-size:12.5px; color:var(--ct-muted); background:none !important; padding:4px 0 0 !important; }
.cant .form-row .description::before { display:none; }
.select2-dropdown { border-color:var(--ct-line) !important; border-radius:var(--ct-radius-sm) !important; overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif; }
.select2-results__option--highlighted[aria-selected], .select2-results__option--highlighted[data-selected] { background:#2F6B4F !important; }

/* Récapitulatif de commande */
.cant table.woocommerce-checkout-review-order-table { border:none !important; margin:0 0 16px !important; width:100%; border-collapse:collapse; }
.cant .woocommerce-checkout-review-order-table thead { display:none; }
.cant .woocommerce-checkout-review-order-table th, .cant .woocommerce-checkout-review-order-table td { border:none !important; border-bottom:1px solid var(--ct-line) !important; padding:12px 0 !important; background:none !important; font-size:14px; vertical-align:top; }
.cant .woocommerce-checkout-review-order-table td.product-name { padding-right:12px !important; line-height:1.4; }
.cant .woocommerce-checkout-review-order-table td.product-name .product-quantity { color:var(--ct-muted); font-weight:600; }
.cant .woocommerce-checkout-review-order-table dl.variation { font-size:12.5px; color:var(--ct-muted); margin:4px 0 0; }
.cant .woocommerce-checkout-review-order-table dl.variation dt, .cant .woocommerce-checkout-review-order-table dl.variation dd, .cant .woocommerce-checkout-review-order-table dl.variation p { display:inline; margin:0; }
.cant .woocommerce-checkout-review-order-table td.product-total, .cant .woocommerce-checkout-review-order-table tfoot td { text-align:right; white-space:nowrap; font-weight:600; }
.cant .woocommerce-checkout-review-order-table tfoot th { font-weight:600; color:var(--ct-muted); text-align:left; }
.cant .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { white-space:normal; text-align:left; }
.cant .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { vertical-align:top; padding-right:12px !important; }
.cant .woocommerce-checkout-review-order-table tr.order-total th, .cant .woocommerce-checkout-review-order-table tr.order-total td { border-bottom:none !important; padding-top:16px !important; }
.cant .woocommerce-checkout-review-order-table tr.order-total th { color:var(--ct-ink); font-size:16px; }
.cant .woocommerce-checkout-review-order-table tr.order-total td { font-size:22px; font-weight:800; color:var(--ct-green); }
.cant .woocommerce-checkout-review-order-table tr.order-total td small { display:block; font-size:12px; font-weight:400; color:var(--ct-muted); }

/* Paiement */
.cant #payment { background:none !important; border-radius:0 !important; padding:0 !important; }
.cant #payment ul.payment_methods { list-style:none !important; margin:0 0 16px !important; padding:0 !important; border:none !important; display:grid; gap:10px; }
.cant #payment ul.payment_methods::before, .cant #payment ul.payment_methods::after { display:none !important; }
.cant #payment ul.payment_methods li { margin:0 !important; padding:14px 16px !important; border:1.5px solid var(--ct-line); border-radius:12px; background:var(--ct-bg); line-height:1.4 !important; transition:border-color .15s ease, background .15s ease; }
.cant #payment ul.payment_methods li:has(input:checked) { border-color:var(--ct-green); background:var(--ct-green-tint); }
.cant #payment ul.payment_methods li > label { font-weight:700; font-size:14.5px; cursor:pointer; display:inline; }
.cant #payment ul.payment_methods li > input[type=radio] { accent-color:var(--ct-green); margin:0 8px 0 0 !important; transform:translateY(1px); }
.cant #payment ul.payment_methods li img { max-height:22px; vertical-align:middle; margin-left:6px; }
.cant #payment div.payment_box { background:transparent !important; color:var(--ct-muted) !important; font-size:13px !important; padding:8px 0 0 24px !important; margin:0 !important; border-radius:0 !important; }
.cant #payment div.payment_box::before { display:none !important; }
.cant #payment div.payment_box p:last-child { margin-bottom:0; }
.cant #payment .place-order { padding:0 !important; margin:0 !important; }
.cant .woocommerce-privacy-policy-text, .cant .woocommerce-terms-and-conditions-wrapper { font-size:12.5px; color:var(--ct-muted); line-height:1.5; }
.cant .woocommerce-terms-and-conditions-wrapper .form-row { margin:10px 0 14px !important; }
.cant .woocommerce-form__label-for-checkbox { display:flex !important; gap:10px; align-items:flex-start; font-weight:400 !important; font-size:13.5px !important; cursor:pointer; }
.cant .woocommerce-form__input-checkbox, .cant input[type=checkbox] { accent-color:var(--ct-green); width:18px; height:18px; flex:0 0 18px; margin:1px 0 0 !important; }
.cant #place_order { display:block; width:100%; font-size:16px !important; padding:17px !important; float:none !important; margin:0 !important; }
.cant .cant-back { text-align:center; margin:12px 0 0; font-size:13px; }
.cant .cant-back a { color:var(--ct-muted); text-decoration:none; }
.cant .cant-back a:hover { color:var(--ct-green); text-decoration:underline; }
.cant .blockUI.blockOverlay { border-radius:var(--ct-radius); background:rgba(255,255,255,.6) !important; }

/* =================== CONFIRMATION =================== */
.cant-step-3 .cant-head { display:none; }
.cant .woocommerce-order { display:grid; gap:20px; }
.cant .woocommerce-order > p.woocommerce-thankyou-order-received, .cant .woocommerce-notice--success.woocommerce-thankyou-order-received {
  background:var(--ct-green-tint) !important; border:1px solid #cfe2d7 !important; border-radius:var(--ct-radius) !important; padding:28px 28px 28px 92px !important;
  font-size:16px !important; line-height:1.5; color:var(--ct-ink) !important; position:relative; margin:0 !important; font-weight:600; }
.cant .woocommerce-thankyou-order-received::before { content:""; position:absolute; left:28px; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%;
  background:var(--ct-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px no-repeat; display:block !important; }
.cant ul.woocommerce-order-overview { list-style:none !important; margin:0 !important; padding:0 !important; display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:12px; }
.cant ul.woocommerce-order-overview::before, .cant ul.woocommerce-order-overview::after { display:none !important; }
.cant ul.woocommerce-order-overview li { margin:0 !important; padding:16px 18px !important; border:1px solid var(--ct-line) !important; border-radius:12px; background:var(--ct-surface);
  font-size:12px !important; text-transform:uppercase; letter-spacing:.03em; color:var(--ct-muted); float:none !important; }
.cant ul.woocommerce-order-overview li strong { display:block; margin-top:6px; font-size:16px !important; text-transform:none; letter-spacing:0; color:var(--ct-ink); }
.cant .woocommerce-order-details h2, .cant .woocommerce-customer-details h2, .cant .woocommerce-bacs-bank-details h2, .cant .wc-bacs-bank-details-heading {
  font-size:18px !important; margin:0 0 14px !important; padding:0 !important; }
.cant .woocommerce-bacs-bank-details { border-color:#cfdeee; background:var(--ct-blue-tint); }
.cant .wc-bacs-bank-details { list-style:none !important; margin:0 !important; padding:0 !important; display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:10px; }
.cant .wc-bacs-bank-details li { margin:0 !important; font-size:12px; text-transform:uppercase; color:var(--ct-muted); }
.cant .wc-bacs-bank-details li strong { display:block; font-size:15px; text-transform:none; color:var(--ct-ink); margin-top:4px; word-break:break-all; }
.cant table.woocommerce-table--order-details { border:none !important; margin:0 !important; width:100%; border-collapse:collapse; }
.cant table.woocommerce-table--order-details th, .cant table.woocommerce-table--order-details td { border:none !important; border-bottom:1px solid var(--ct-line) !important; padding:11px 0 !important; background:none !important; font-size:14px; }
.cant table.woocommerce-table--order-details thead th { font-size:12px; text-transform:uppercase; color:var(--ct-muted); letter-spacing:.03em; }
.cant table.woocommerce-table--order-details td:last-child, .cant table.woocommerce-table--order-details th:last-child { text-align:right; }
.cant table.woocommerce-table--order-details tfoot tr:last-child th, .cant table.woocommerce-table--order-details tfoot tr:last-child td { border-bottom:none !important; font-size:16px; font-weight:800; color:var(--ct-green); }
.cant .woocommerce-customer-details .woocommerce-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.cant .woocommerce-customer-details .woocommerce-columns::before, .cant .woocommerce-customer-details .woocommerce-columns::after { display:none !important; content:none !important; }
.cant .woocommerce-customer-details .woocommerce-column h2 { margin-top:0 !important; }
.cant .woocommerce-customer-details .woocommerce-column { width:auto !important; float:none !important; }
.cant .woocommerce-customer-details address { border:1px solid var(--ct-line) !important; border-radius:12px; padding:16px !important; font-style:normal; line-height:1.6; font-size:14px; }
.cant .woocommerce-customer-details--phone, .cant .woocommerce-customer-details--email { margin:6px 0 0 !important; padding:0 !important; }
.cant .woocommerce-customer-details--phone::before, .cant .woocommerce-customer-details--email::before { display:none !important; }

/* =================== Réassurance =================== */
.cant-trust { list-style:none; margin:40px 0 0; padding:22px 0 0; border-top:1px solid var(--ct-line); display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px; }
.cant-trust li { display:flex; gap:12px; align-items:flex-start; margin:0; padding:0; }
.cant-trust-i { width:42px; height:42px; flex:0 0 42px; border-radius:12px; background:var(--ct-green-tint); color:var(--ct-green); display:inline-flex; align-items:center; justify-content:center; }
.cant-trust b { display:block; font-size:14px; color:var(--ct-ink); }
.cant-trust small { display:block; font-size:12.5px; color:var(--ct-muted); line-height:1.45; margin-top:2px; }

/* =================== Panier latéral (ec-mini-cart) =================== */
.ec-mc-drawer { width:min(420px, 100vw) !important; height:100vh !important; height:100dvh !important; }
.ec-mc-drawer-head, .ec-mc-pallet { flex:0 0 auto; }
/* Panier ouvert : au-dessus de tout (bandeau cookies, pastilles, boutons flottants) */
.ec-mc-drawer-overlay.show { z-index:2147483600 !important; }
.ec-mc-drawer.show { z-index:2147483601 !important; }
.ec-mc-foot { padding-bottom:calc(22px + env(safe-area-inset-bottom, 0px)) !important; }
.ec-mc-items { flex:1 1 auto !important; min-height:0 !important; }
.ec-mc-foot { flex:0 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
/* Formulaire « Enregistrer comme devis » déplié : plus de place pour lui, tout reste visible et défilable */
.ec-mc-drawer.ec-mc-devis-open .ec-mc-pallet { display:none !important; }
.ec-mc-drawer.ec-mc-devis-open .ec-mc-items { flex:0 1 auto !important; max-height:24vh; max-height:24dvh; }
.ec-mc-drawer.ec-mc-devis-open .ec-mc-foot { flex:1 1 auto; }
.ec-mc-drawer-head { background:var(--ct-bg) !important; padding:18px 22px !important; }
.ec-mc-drawer-title { font-size:18px !important; display:flex; align-items:center; gap:10px; }
.ec-mc-items { padding:4px 22px !important; }
.ec-mc-item { grid-template-columns:64px 1fr auto !important; gap:14px !important; padding:16px 0 !important; }
.ec-mc-item img { width:64px !important; height:64px !important; border-radius:12px !important; }
.ec-mc-item-name { font-size:13.5px !important; margin-bottom:8px !important; }
.ec-mc-item-qtyrow { gap:0 !important; border:1.5px solid var(--ct-line); border-radius:999px; width:max-content; overflow:hidden; }
.ec-mc-qty-btn { width:30px !important; height:30px !important; border:none !important; border-radius:0 !important; font-size:15px !important; }
.ec-mc-qty-btn:hover { background:var(--ct-surface) !important; }
.ec-mc-qty-input { width:34px !important; border:none !important; padding:0 !important; height:30px; font-size:13.5px !important; }
.ec-mc-item-remove { color:var(--ct-muted) !important; font-size:12px !important; margin-top:7px !important; }
.ec-mc-item-remove:hover { color:var(--ct-warn) !important; }
.ec-mc-item-price { font-size:14px !important; color:var(--ct-ink) !important; }
.ec-mc-pallet { background:var(--ct-surface) !important; margin:12px 22px; border:1px solid var(--ct-line) !important; border-radius:12px; padding:14px 16px !important; }
.ec-mc-pallet-btn { background:var(--ct-blue) !important; border-radius:999px !important; padding:9px 16px !important; }
.ec-mc-dept-input { border-radius:999px !important; }
.ec-mc-foot { padding:18px 22px 22px !important; box-shadow:0 -8px 24px rgba(30,33,36,.06); }
.ec-mc-subtotal-row .lbl { font-size:13.5px !important; font-weight:600; color:var(--ct-ink) !important; }
.ec-mc-subtotal-row .amt { font-size:22px !important; font-weight:800 !important; }
.ec-mc-btn { border-radius:var(--ct-radius-sm) !important; padding:14px 12px !important; font-size:14px !important; }
.ec-mc-btn-ghost { background:var(--ct-bg) !important; }
.ec-mc-foot-actions { gap:10px !important; }
.ec-mc-subtotal-row { align-items:baseline !important; }
.ec-mc-item-var { font-size:12px; color:var(--ct-muted); margin:-4px 0 8px; }
.ec-mc-devis-row { margin-top:10px !important; }
.ec-mc-btn-link { background:none !important; border:none !important; color:var(--ct-blue) !important; font-weight:600 !important; font-size:13px !important; padding:8px !important; text-decoration:underline; }
.ec-mc-btn-link:hover { color:var(--ct-green) !important; }
.ec-mc-express-acc { border:1px solid var(--ct-line); border-radius:12px; padding:14px; margin-top:6px !important; background:var(--ct-surface); }
.ec-mc .ec-mc-express-acc .ec-acc-tabs { display:flex !important; gap:6px !important; background:var(--ct-bg); border:1px solid var(--ct-line); border-radius:999px; padding:3px; margin:0 0 12px !important; box-shadow:none !important; }
.ec-mc .ec-mc-express-acc .ec-acc-tab-btn { flex:1; border:none !important; border-radius:999px !important; background:none !important; color:var(--ct-muted) !important; font:600 13px/1.2 var(--ct-sans) !important;
  padding:9px 10px !important; box-shadow:none !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; }
.ec-mc .ec-mc-express-acc .ec-acc-tab-btn.active { background:var(--ct-green) !important; color:#fff !important; }
.ec-mc .ec-mc-express-acc .ec-acc-tab-pane { display:none; }
.ec-mc .ec-mc-express-acc .ec-acc-tab-pane.active { display:block; }
.ec-mc .ec-mc-express-acc input[type=email], .ec-mc .ec-mc-express-acc input[type=password], .ec-mc .ec-mc-express-acc input[type=text] {
  width:100% !important; height:42px; border:1.5px solid var(--ct-line) !important; border-radius:var(--ct-radius-sm) !important; background:var(--ct-bg) !important;
  padding:0 12px !important; font:14px var(--ct-sans) !important; color:var(--ct-ink) !important; box-shadow:none !important; margin:0 0 8px !important; }
.ec-mc .ec-mc-express-acc input:focus { border-color:var(--ct-green) !important; outline:none; }
.ec-mc .ec-mc-express-acc .ec-acc-btn { width:100% !important; border:none !important; border-radius:var(--ct-radius-sm) !important; background:var(--ct-green) !important; color:#fff !important;
  font:700 14px var(--ct-sans) !important; padding:12px !important; box-shadow:none !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; }
.ec-mc .ec-mc-express-acc .ec-acc-btn:hover { background:var(--ct-green-dark) !important; }
.ec-mc .ec-mc-express-acc .ec-acc-forgot-link { display:block; text-align:center; font-size:12.5px; color:var(--ct-muted) !important; margin:8px 0 0; }
.ec-mc .ec-mc-express-acc .ec-acc-status { font-size:12px; margin:6px 0 0; }
.ec-mc .ec-mc-express-acc .ec-acc-hint { font-size:12.5px; color:var(--ct-muted); margin:0 0 10px; }
.ec-mc .ec-mc-pw-field { position:relative; }
.ec-mc .ec-mc-pw-field input { padding-right:84px !important; }
.ec-mc .ec-mc-pw-toggle { position:absolute; right:6px; top:6px; height:30px; border:none; background:var(--ct-surface); border-radius:999px; padding:0 12px; font:600 12px var(--ct-sans); color:var(--ct-muted); cursor:pointer; }
.ec-mc .ec-mc-pw-toggle:hover { color:var(--ct-green); }
.ec-mc .ec-mc-express-acc .ec-acc-status.ok { color:var(--ct-green); font-weight:600; }
.ec-mc .ec-mc-express-acc .ec-acc-status.err { color:var(--ct-warn); font-weight:600; }

/* Tables « responsive » de WooCommerce (étiquettes data-title, alignement à droite) : neutralisées */
.cant table.shop_table_responsive tbody td::before, .cant table.shop_table_responsive tbody th::before,
.cant table.shop_table_responsive tr td::before, .cant .cart_totals table td::before { display:none !important; content:none !important; }
.cant table.shop_table_responsive tr td { text-align:left !important; }
.cant table.cart td.product-subtotal { text-align:right !important; }
.cant .cart_totals table.shop_table td { text-align:right !important; }
.cant .cart_totals tr.woocommerce-shipping-totals td { text-align:left !important; }
.cant table.shop_table_responsive tr:nth-child(2n) td { background:none !important; }
.cant form.woocommerce-cart-form, .cant .cart_totals, .cant .wctr-cart-panel, .cant #order_review, .cant #customer_details { max-width:100%; min-width:0; }
.cant .wctr-cart-panel * { max-width:100%; }

/* =================== Mobile =================== */
@media (max-width: 980px) {
  .cant-step-1 .cant-body > .woocommerce, .cant form.checkout.woocommerce-checkout { grid-template-columns:minmax(0,1fr); }
  .cant-step-1 .cart-collaterals, .cant form.checkout #order_review { position:static; }
  .cant-step-1 .cart-collaterals { grid-column:1; }
  .cant form.checkout #customer_details { grid-row:auto; }
  .cant form.checkout #order_review_heading, .cant form.checkout #order_review { grid-column:1; grid-row:auto; }
  .cant form.checkout #order_review_heading { margin-top:20px !important; }
  .cant-trust { grid-template-columns:1fr 1fr; }
  .cant .cross-sells ul.products { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .cant-wrap { padding:18px 16px 48px; }
  .cant-head h1 { font-size:23px; }
  .cant-steps { margin-bottom:20px; }
  .cant-steps li { gap:6px; padding-right:6px; font-size:12px; }
  .cant-steps-l { white-space:normal; line-height:1.2; }
  .cant-steps li:not(.is-current) .cant-steps-l { display:none; }
  .cant-step-1 form.woocommerce-cart-form, .cant .cart_totals, .cant #customer_details .col-1, .cant #customer_details .col-2, .cant form.checkout #order_review,
  .cant .woocommerce-order-details, .cant .woocommerce-customer-details, .cant .cross-sells { padding:16px !important; }
  .cant form.checkout #order_review_heading { padding:16px 16px 4px !important; }
  .cant table.cart tr.cart_item { grid-template-columns:72px minmax(0,1fr) auto; grid-template-areas:"thumb name remove" "thumb qty sub"; gap:10px 12px; }
  .cant table.cart td.product-remove { align-self:start; }
  .cant table.cart td.product-thumbnail img { width:72px !important; height:72px !important; }
  .cant table.cart td.product-subtotal { align-self:center; }
  .cant .woocommerce-billing-fields__field-wrapper, .cant .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr; }
  .cant .woocommerce-billing-fields__field-wrapper .form-row-first, .cant .woocommerce-billing-fields__field-wrapper .form-row-last,
  .cant .woocommerce-shipping-fields__field-wrapper .form-row-first, .cant .woocommerce-shipping-fields__field-wrapper .form-row-last { grid-column:1; }
  .cant .woocommerce-customer-details .woocommerce-columns { grid-template-columns:1fr; }
  .cant .woocommerce-order > p.woocommerce-thankyou-order-received { padding:22px 20px 22px 80px !important; font-size:15px !important; }
  .cant .woocommerce-thankyou-order-received::before { left:20px; }
  .cant-trust { grid-template-columns:1fr; gap:14px; }
}
