.elementor-kit-89{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"Archivo", Sans-serif;font-size:13px;font-weight:400;line-height:1.65em;}.elementor-kit-89 e-page-transition{background-color:#FFBC7D;}.elementor-kit-89 h1{font-family:"Space Grotesk", Sans-serif;font-size:46px;font-weight:300;text-transform:uppercase;line-height:1.06em;letter-spacing:2px;}.elementor-kit-89 h2{font-family:"Space Grotesk", Sans-serif;font-size:32px;font-weight:300;line-height:1.2em;letter-spacing:0.5px;}.elementor-kit-89 h3{font-family:"Space Grotesk", Sans-serif;font-size:17px;font-weight:500;text-transform:uppercase;line-height:1.2em;letter-spacing:0.5px;}.elementor-kit-89 h4{font-family:"Space Grotesk", Sans-serif;font-size:15px;font-weight:500;}.elementor-kit-89 h5{font-family:"Space Grotesk", Sans-serif;font-size:12px;font-weight:500;}.elementor-kit-89 h6{font-family:"Space Grotesk", Sans-serif;font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== BAGSBI — Charte D (Fiche technique) — appliquée aux 4 étapes du tunnel ===== */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500&family=Archivo:wght@400;500;600&display=swap');

body.single-cartflows_step {
  --bagsbi-bg: #f4f3f0;
  --bagsbi-ink: #161513;
  --bagsbi-accent: #d9541f;
  --bagsbi-hairline: #d9d6cc;
  --bagsbi-muted: #6b675e;
  --bagsbi-soft: #8a877e;
  --bagsbi-surface: #ffffff;

  background: var(--bagsbi-bg);
  font-family: Archivo, system-ui, sans-serif;
  color: var(--bagsbi-ink);
  -webkit-font-smoothing: antialiased;
}

/* --- Titres : Space Grotesk, graisse légère, tracking large --- */
body.single-cartflows_step h1,
body.single-cartflows_step h2,
body.single-cartflows_step h3,
body.single-cartflows_step h4,
body.single-cartflows_step h5,
body.single-cartflows_step h6,
body.single-cartflows_step .elementor-heading-title,
body.single-cartflows_step .elementor-widget-heading .elementor-heading-title {
  font-family: 'Space Grotesk', sans-serif !important;
}

body.single-cartflows_step h1,
body.single-cartflows_step h2,
body.single-cartflows_step .elementor-widget-heading h1.elementor-heading-title,
body.single-cartflows_step .elementor-widget-heading h2.elementor-heading-title {
  font-weight: 300 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.02em !important;
}

body.single-cartflows_step h3,
body.single-cartflows_step h4,
body.single-cartflows_step .elementor-widget-heading h3.elementor-heading-title,
body.single-cartflows_step .elementor-widget-heading h4.elementor-heading-title {
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
}

/* --- Corps de texte --- */
body.single-cartflows_step p,
body.single-cartflows_step li,
body.single-cartflows_step label,
body.single-cartflows_step td,
body.single-cartflows_step th {
  font-family: Archivo, system-ui, sans-serif;
  color: var(--bagsbi-muted);
}

/* --- Boutons : plein sombre, majuscules, tracking --- */
body.single-cartflows_step .wcf-embed-checkout-form button[type="submit"],
body.single-cartflows_step #place_order,
body.single-cartflows_step .woocommerce button.button,
body.single-cartflows_step .elementor-button,
body.single-cartflows_step .wcf-next-step-button a,
body.single-cartflows_step .cartflows-offer-btn,
body.single-cartflows_step .wcf-offer-yes-btn {
  background: var(--bagsbi-ink) !important;
  color: var(--bagsbi-bg) !important;
  border: 1px solid var(--bagsbi-ink) !important;
  border-radius: 0 !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 15px 40px !important;
  box-shadow: none !important;
  transition: background .18s ease, color .18s ease;
}

body.single-cartflows_step .wcf-embed-checkout-form button[type="submit"]:hover,
body.single-cartflows_step #place_order:hover,
body.single-cartflows_step .woocommerce button.button:hover,
body.single-cartflows_step .elementor-button:hover,
body.single-cartflows_step .wcf-next-step-button a:hover {
  background: var(--bagsbi-accent) !important;
  border-color: var(--bagsbi-accent) !important;
  color: var(--bagsbi-bg) !important;
}

/* --- Lien de refus upsell : discret, souligné --- */
body.single-cartflows_step .wcf-offer-no-btn,
body.single-cartflows_step .cartflows-offer-btn-no {
  background: transparent !important;
  color: var(--bagsbi-soft) !important;
  border: none !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: underline !important;
}

/* --- Champs de formulaire : filets fins, angles vifs --- */
body.single-cartflows_step .wcf-embed-checkout-form input[type="text"],
body.single-cartflows_step .wcf-embed-checkout-form input[type="email"],
body.single-cartflows_step .wcf-embed-checkout-form input[type="tel"],
body.single-cartflows_step .wcf-embed-checkout-form input[type="password"],
body.single-cartflows_step .wcf-embed-checkout-form textarea,
body.single-cartflows_step .wcf-embed-checkout-form select,
body.single-cartflows_step .woocommerce form .form-row input.input-text,
body.single-cartflows_step .woocommerce form .form-row textarea,
body.single-cartflows_step .select2-container .select2-selection--single {
  background: var(--bagsbi-surface) !important;
  border: 1px solid var(--bagsbi-hairline) !important;
  border-radius: 0 !important;
  color: var(--bagsbi-ink) !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 13px !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
}

body.single-cartflows_step .wcf-embed-checkout-form input:focus,
body.single-cartflows_step .wcf-embed-checkout-form textarea:focus,
body.single-cartflows_step .wcf-embed-checkout-form select:focus,
body.single-cartflows_step .woocommerce form .form-row input.input-text:focus {
  border-color: var(--bagsbi-ink) !important;
  outline: none !important;
}

/* --- Étiquettes de champ : majuscules discrètes --- */
body.single-cartflows_step .wcf-embed-checkout-form label,
body.single-cartflows_step .woocommerce form .form-row label {
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--bagsbi-soft) !important;
  font-weight: 600 !important;
}

/* --- Titres de section du checkout --- */
body.single-cartflows_step .wcf-embed-checkout-form h3,
body.single-cartflows_step .woocommerce-billing-fields h3,
body.single-cartflows_step #order_review_heading {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--bagsbi-ink) !important;
  border-bottom: 1px solid var(--bagsbi-hairline);
  padding-bottom: 12px;
}

/* --- Récapitulatif de commande : tableau à filets fins --- */
body.single-cartflows_step .woocommerce table.shop_table,
body.single-cartflows_step .wcf-order-wrap table {
  background: transparent !important;
  border: 1px solid var(--bagsbi-hairline) !important;
  border-radius: 0 !important;
  border-collapse: collapse !important;
}

body.single-cartflows_step .woocommerce table.shop_table th,
body.single-cartflows_step .woocommerce table.shop_table td {
  border-bottom: 1px solid var(--bagsbi-hairline) !important;
  padding: 14px 16px !important;
  font-size: 12.5px !important;
}

body.single-cartflows_step .woocommerce table.shop_table th {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 500 !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--bagsbi-soft) !important;
}

/* --- Prix : Space Grotesk, accent --- */
body.single-cartflows_step .woocommerce-Price-amount,
body.single-cartflows_step .amount {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 400 !important;
  color: var(--bagsbi-ink) !important;
}

body.single-cartflows_step .order-total .woocommerce-Price-amount {
  color: var(--bagsbi-accent) !important;
  font-size: 20px !important;
}

/* --- Modes de paiement --- */
body.single-cartflows_step #payment,
body.single-cartflows_step .wcf-embed-checkout-form #payment {
  background: transparent !important;
  border: 1px solid var(--bagsbi-hairline) !important;
  border-radius: 0 !important;
}

body.single-cartflows_step #payment ul.payment_methods {
  border-bottom: 1px solid var(--bagsbi-hairline) !important;
  padding: 16px !important;
}

body.single-cartflows_step #payment div.payment_box {
  background: #ebe9e4 !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  color: var(--bagsbi-muted) !important;
}

body.single-cartflows_step #payment div.payment_box::before {
  border-bottom-color: #ebe9e4 !important;
}

/* --- Messages WooCommerce --- */
body.single-cartflows_step .woocommerce-info,
body.single-cartflows_step .woocommerce-message,
body.single-cartflows_step .woocommerce-error {
  background: var(--bagsbi-surface) !important;
  border-top: 2px solid var(--bagsbi-accent) !important;
  border-radius: 0 !important;
  color: var(--bagsbi-ink) !important;
  font-size: 12.5px !important;
}

/* --- Filets de séparation génériques --- */
body.single-cartflows_step hr,
body.single-cartflows_step .elementor-divider-separator {
  border-color: var(--bagsbi-hairline) !important;
  border-top-width: 1px !important;
}

/* === Ajouts checkout : badges numerotes, onglets paiement, ombre legere (reconstruit propre) === */
body.single-cartflows_step #customer_information_heading,
body.single-cartflows_step #billing_fields_heading,
body.single-cartflows_step #payment_options_heading {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
body.single-cartflows_step #customer_information_heading::before,
body.single-cartflows_step #billing_fields_heading::before,
body.single-cartflows_step #payment_options_heading::before {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  background: var(--bagsbi-ink) !important;
  color: var(--bagsbi-bg) !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
}
body.single-cartflows_step #customer_information_heading::before { content: '1' !important; }
body.single-cartflows_step #billing_fields_heading::before { content: '2' !important; }
body.single-cartflows_step #payment_options_heading::before { content: '3' !important; }

/* --- Modes de paiement en onglets horizontaux --- */
body.single-cartflows_step ul.payment_methods {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 16px !important;
}
body.single-cartflows_step ul.payment_methods li.wc_payment_method {
  flex: 1 1 auto !important;
  min-width: 140px !important;
  border: 1px solid var(--bagsbi-hairline) !important;
  border-radius: 0 !important;
  padding: 10px 12px !important;
  background: var(--bagsbi-surface) !important;
  position: relative !important;
}
body.single-cartflows_step ul.payment_methods li.wc_payment_method label {
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--bagsbi-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.single-cartflows_step ul.payment_methods li.wc_payment_method input[type=radio]:checked ~ label {
  color: var(--bagsbi-accent) !important;
}
body.single-cartflows_step ul.payment_methods::after {
  content: 'Carte bancaire — bientôt disponible' !important;
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 140px !important;
  border: 1px dashed var(--bagsbi-hairline) !important;
  border-radius: 0 !important;
  padding: 10px 12px !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 11px !important;
  color: var(--bagsbi-soft) !important;
  background: var(--bagsbi-bg) !important;
  pointer-events: none !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* --- Ombre legere --- */
body.single-cartflows_step #order_review {
  box-shadow: 0 2px 10px rgba(22, 21, 19, 0.06) !important;
}
body.single-cartflows_step .wcf-embed-checkout-form {
  box-shadow: 0 1px 6px rgba(22, 21, 19, 0.04) !important;
}


/* --- Bandeau confiance haut de page --- */
body.single-cartflows_step .bagsbi-trust-check {
  color: var(--bagsbi-accent) !important;
  font-weight: 700 !important;
  margin-right: 4px !important;
}


/* ===== BAGSBI — Refonte A / lot 1 : ossature, panneau collant, 4 clauses =====
   Ajouté au CSS personnalisé du kit Elementor #89.
   Vient après la charte D existante : même spécificité, la cascade tranche.
   ============================================================ */

/* --- Coquille cadrée, alignée sur la maquette (1240 px) --- */
body.single-cartflows_step .wcf-embed-checkout-form {
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* --- Filet vertical entre saisie et commande (desktop seulement) --- */
@media (min-width: 1081px) {
  body.single-cartflows_step .wcf-customer-info-main-wrapper {
    padding-right: 40px !important;
    border-right: 1px solid var(--bagsbi-hairline) !important;
  }
  body.single-cartflows_step .wcf-order-wrap {
    padding-left: 40px !important;
  }

  /* Le total ne quitte jamais l'écran pendant la saisie.
     align-self est indispensable : sans lui, l'élément flex est étiré
     sur toute la hauteur et sticky n'a aucune marge de manoeuvre. */
  body.single-cartflows_step .wcf-order-wrap {
    position: sticky !important;
    top: 24px !important;
    align-self: flex-start !important;
  }
}

/* --- Quatre clauses numérotées : Expédition prend le 3, Paiement passe au 4 --- */
body.single-cartflows_step .wcf-shipping-methods-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
body.single-cartflows_step .wcf-shipping-methods-title::before {
  content: '3' !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  background: var(--bagsbi-ink) !important;
  color: var(--bagsbi-bg) !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
}
body.single-cartflows_step #payment_options_heading::before {
  content: '4' !important;
}

/* --- Panneau commande : objet technique, repères de calage aux angles --- */
body.single-cartflows_step .wcf-order-wrap #order_review {
  position: relative !important;
  background: var(--bagsbi-surface) !important;
  border: 1px solid var(--bagsbi-hairline) !important;
  box-shadow: none !important;
  padding: 22px 22px 18px !important;
}
body.single-cartflows_step .wcf-order-wrap #order_review::before,
body.single-cartflows_step .wcf-order-wrap #order_review::after {
  content: '' !important;
  position: absolute !important;
  width: 9px !important;
  height: 9px !important;
  pointer-events: none !important;
}
body.single-cartflows_step .wcf-order-wrap #order_review::before {
  top: -1px !important;
  left: -1px !important;
  border-top: 2px solid var(--bagsbi-accent) !important;
  border-left: 2px solid var(--bagsbi-accent) !important;
}
body.single-cartflows_step .wcf-order-wrap #order_review::after {
  bottom: -1px !important;
  right: -1px !important;
  border-bottom: 2px solid var(--bagsbi-accent) !important;
  border-right: 2px solid var(--bagsbi-accent) !important;
}

/* --- Chiffres du récapitulatif en monospace : lecture de fiche technique --- */
body.single-cartflows_step .wcf-order-wrap .woocommerce-Price-amount,
body.single-cartflows_step .wcf-collapsed-order-review-section .woocommerce-Price-amount {
  font-variant-numeric: tabular-nums !important;
  letter-spacing: .01em !important;
}

/* --- Total : seul chiffre à l'accent, le reste reste encre --- */
body.single-cartflows_step .wcf-order-wrap .order-total .woocommerce-Price-amount {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--bagsbi-accent) !important;
}

/* --- Bouton de commande : pleine largeur, un seul geste --- */
body.single-cartflows_step #place_order {
  width: 100% !important;
  padding: 18px 20px !important;
  font-size: 12px !important;
  letter-spacing: .18em !important;
}


/* ===== BAGSBI — Refonte A / lot 2 : stepper, specs, order bump ===== */

/* --- Le total ne se casse plus en deux lignes --- */
body.single-cartflows_step .wcf-order-wrap .order-total .woocommerce-Price-amount,
body.single-cartflows_step .wcf-order-wrap .order-total bdi {
  white-space: nowrap !important;
  display: inline-block !important;
}

/* --- Stepper : on sait toujours où on en est --- */
body.single-cartflows_step .bagsbi-stepper {
  max-width: 1240px;
  margin: 0 auto 26px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--bagsbi-hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
body.single-cartflows_step .bagsbi-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Archivo, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--bagsbi-soft);
}
body.single-cartflows_step .bagsbi-step__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: none;
  border: 1px solid var(--bagsbi-hairline);
  font-size: 9px;
  color: var(--bagsbi-soft);
}
body.single-cartflows_step .bagsbi-step.is-done .bagsbi-step__n {
  border-color: var(--bagsbi-ink);
  color: var(--bagsbi-ink);
}
body.single-cartflows_step .bagsbi-step.is-current { color: var(--bagsbi-ink); }
body.single-cartflows_step .bagsbi-step.is-current .bagsbi-step__n {
  background: var(--bagsbi-accent);
  border-color: var(--bagsbi-accent);
  color: #fff;
}
body.single-cartflows_step .bagsbi-step__sep {
  width: 46px;
  height: 1px;
  background: var(--bagsbi-hairline);
  margin: 0 14px;
  flex: none;
}

/* --- Spécifications sous le prix : dernier rappel de ce qu'on achète --- */
body.single-cartflows_step .bagsbi-specs {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--bagsbi-hairline);
}
body.single-cartflows_step .bagsbi-specs__t {
  margin: 0 0 10px;
  font-family: Archivo, system-ui, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--bagsbi-soft);
}
body.single-cartflows_step .bagsbi-specs__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--bagsbi-hairline);
  border: 1px solid var(--bagsbi-hairline);
}
body.single-cartflows_step .bagsbi-spec {
  background: var(--bagsbi-surface);
  padding: 9px 11px;
}
body.single-cartflows_step .bagsbi-spec__k {
  display: block;
  font-family: Archivo, system-ui, sans-serif;
  font-size: 8.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bagsbi-soft);
  margin-bottom: 3px;
}
body.single-cartflows_step .bagsbi-spec__v {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--bagsbi-ink);
  font-variant-numeric: tabular-nums;
}

/* --- Mention de coût : dit ce qui est compris, sans promettre au-delà --- */
body.single-cartflows_step .bagsbi-costnote {
  margin: 12px 0 0;
  padding: 9px 11px;
  background: var(--bagsbi-bg);
  border-left: 3px solid var(--bagsbi-accent);
  font-family: Archivo, system-ui, sans-serif;
  font-size: 10.5px;
  line-height: 1.55;
  color: var(--bagsbi-muted);
}

/* --- Offre complémentaire : assumée, jamais piégeuse --- */
body.single-cartflows_step .wcf-order-wrap .wcf-bump-order-wrap {
  position: relative !important;
  border: 1px solid var(--bagsbi-accent) !important;
  background: var(--bagsbi-surface) !important;
  padding: 16px 14px 14px !important;
  margin-top: 18px !important;
  border-radius: 0 !important;
}
body.single-cartflows_step .wcf-order-wrap .wcf-bump-order-wrap::before {
  content: 'Recommandé' !important;
  position: absolute !important;
  top: -9px !important;
  left: 12px !important;
  background: var(--bagsbi-accent) !important;
  color: #fff !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  line-height: 1.3 !important;
}
body.single-cartflows_step .wcf-bump-order-label {
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  color: var(--bagsbi-ink) !important;
  text-transform: none !important;
}
body.single-cartflows_step .wcf-bump-order-desc {
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  color: var(--bagsbi-muted) !important;
}

/* --- Bouton coupons : outil secondaire, pas un appel à l'action --- */
body.single-cartflows_step .power-coupons-view-coupons-btn {
  background: transparent !important;
  border: 1px solid var(--bagsbi-hairline) !important;
  color: var(--bagsbi-muted) !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 9px 14px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 700px) {
  body.single-cartflows_step .bagsbi-step__sep { width: 18px; margin: 0 7px; }
  body.single-cartflows_step .bagsbi-step span.bagsbi-step__l { display: none; }
  body.single-cartflows_step .bagsbi-specs__grid { grid-template-columns: 1fr; }
}


/* ===== BAGSBI — Refonte A / lot 3 : garanties, mentions de paiement, récap mobile ===== */

/* --- Bandeau garanties : pleine largeur, trois colonnes séparées par des filets.
       Le conteneur Elementor était contraint à 280 px, les trois blocs s'empilaient. --- */
body.single-cartflows_step .elementor-element-2abc3a7 {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  border-top: 1px solid var(--bagsbi-hairline) !important;
  border-bottom: 1px solid var(--bagsbi-hairline) !important;
  padding: 0 !important;
}
body.single-cartflows_step .elementor-element-2abc3a7 > .e-con,
body.single-cartflows_step .elementor-element-2abc3a7 > .elementor-element {
  flex: 1 1 0% !important;
  min-width: 210px !important;
  width: auto !important;
  max-width: none !important;
  padding: 18px 22px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.single-cartflows_step .elementor-element-2abc3a7 > .elementor-element + .elementor-element {
  border-left: 1px solid var(--bagsbi-hairline) !important;
}
body.single-cartflows_step .elementor-element-2abc3a7 .elementor-widget-text-editor,
body.single-cartflows_step .elementor-element-2abc3a7 p {
  margin: 0 !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--bagsbi-ink) !important;
  text-align: center !important;
  line-height: 1.4 !important;
}

/* --- Mentions de paiement : chaque mode dit ce qui va se passer --- */
body.single-cartflows_step #payment div.payment_box {
  background: var(--bagsbi-bg) !important;
  border: none !important;
  border-left: 3px solid var(--bagsbi-accent) !important;
  border-radius: 0 !important;
  margin: 0 0 4px !important;
  padding: 12px 14px !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 11.5px !important;
  line-height: 1.6 !important;
  color: var(--bagsbi-muted) !important;
}
body.single-cartflows_step #payment div.payment_box p:last-child { margin-bottom: 0 !important; }

/* --- Récapitulatif replié : outil mobile, il n'a rien à faire en desktop
       où le panneau collant affiche déjà le total en permanence. --- */
@media (min-width: 1081px) {
  body.single-cartflows_step .wcf-collapsed-order-review-section { display: none !important; }
}
@media (max-width: 1080px) {
  body.single-cartflows_step .wcf-collapsed-order-review-section {
    border: 1px solid var(--bagsbi-hairline) !important;
    background: var(--bagsbi-surface) !important;
    margin-bottom: 20px !important;
  }
  body.single-cartflows_step .wcf-order-review-toggle-text {
    font-family: Archivo, system-ui, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--bagsbi-muted) !important;
  }
}

/* --- Sous 1080 px la grille passe en une colonne : le filet vertical
       et la gouttière de gauche n'ont plus lieu d'être. --- */
@media (max-width: 1080px) {
  body.single-cartflows_step .wcf-customer-info-main-wrapper {
    padding-right: 0 !important;
    border-right: 0 !important;
  }
  body.single-cartflows_step .wcf-order-wrap {
    padding-left: 0 !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--bagsbi-hairline) !important;
    margin-top: 28px !important;
  }
}


/* ===== BAGSBI — Refonte A / lot 4 : moyens de paiement acceptés ===== */

body.single-cartflows_step .bagsbi-paylogos {
  margin-top: 16px;
  padding: 14px 12px;
  border: 1px solid var(--bagsbi-hairline);
  background: var(--bagsbi-bg);
}

body.single-cartflows_step .bagsbi-paylogos__t {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--bagsbi-soft) !important;
  text-align: center !important;
  margin: 0 0 11px !important;
  line-height: 1.4 !important;
}

body.single-cartflows_step .bagsbi-paylogos__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex-wrap: wrap;
}

body.single-cartflows_step .bagsbi-paylogo {
  width: 44px;
  height: 29px;
  border: 1px solid var(--bagsbi-hairline);
  background: var(--bagsbi-surface);
  display: grid;
  place-items: center;
  flex: none;
}

body.single-cartflows_step .bagsbi-paylogo svg {
  width: 30px;
  height: 18px;
  display: block;
}


/* ===== BAGSBI — Refonte A / lot 5 : scénarios en carrousel, badge dégagé ===== */

/* --- Badge « Recommandé » : il déborde de 9 px vers le haut.
       18 px de marge ne suffisaient pas, il butait sur le bouton Appliquer. --- */
body.single-cartflows_step .wcf-order-wrap .wcf-bump-order-wrap {
  margin-top: 34px !important;
  padding-top: 20px !important;
}

/* --- Scénarios : la grille devient une piste qui glisse --- */
body.single-cartflows_step .bagsbi-scenarios__carousel {
  position: relative;
  overflow: hidden;
}

body.single-cartflows_step .bagsbi-scenarios__grid {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 1px !important;
  background: var(--bagsbi-hairline);
  border: 1px solid var(--bagsbi-hairline);
  transition: transform .35s ease;
  will-change: transform;
}

body.single-cartflows_step .bagsbi-scenario {
  flex: 0 0 calc(50% - .5px) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  background: var(--bagsbi-surface) !important;
  border: 0 !important;
  padding: 22px 20px !important;
}

/* --- Navigation : même mécanique que le carrousel de la maquette --- */
body.single-cartflows_step .bagsbi-scenarios__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding-top: 18px;
}
body.single-cartflows_step .bagsbi-scenarios__arrow {
  width: 26px;
  height: 26px;
  flex: none;
  border: 1px solid var(--bagsbi-hairline);
  background: var(--bagsbi-surface);
  color: var(--bagsbi-ink);
  font-family: Archivo, system-ui, sans-serif;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 0;
  transition: border-color .15s ease, color .15s ease;
}
body.single-cartflows_step .bagsbi-scenarios__arrow:hover {
  border-color: var(--bagsbi-accent);
  color: var(--bagsbi-accent);
}
body.single-cartflows_step .bagsbi-scenarios__arrow[disabled] {
  opacity: .35;
  cursor: default;
  border-color: var(--bagsbi-hairline);
  color: var(--bagsbi-soft);
}
body.single-cartflows_step .bagsbi-scenarios__dots {
  display: flex;
  align-items: center;
  gap: 7px;
}
body.single-cartflows_step .bagsbi-scenarios__dot {
  width: 6px;
  height: 6px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--bagsbi-hairline);
  cursor: pointer;
}
body.single-cartflows_step .bagsbi-scenarios__dot.is-active {
  background: var(--bagsbi-accent);
  width: 16px;
  border-radius: 3px;
  transition: width .2s ease;
}

/* --- Sous 700 px : une carte à la fois --- */
@media (max-width: 700px) {
  body.single-cartflows_step .bagsbi-scenario {
    flex: 0 0 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-cartflows_step .bagsbi-scenarios__grid { transition: none; }
}


/* ===== BAGSBI — Refonte A / lot 6 : en-tête, garanties, bordure carrousel ===== */

/* ------------------------------------------------------------------
   1. Carrousel : la bordure et les filets étaient posés sur la PISTE,
   dont la boîte fait la largeur de la fenêtre alors que son contenu
   est trois fois plus large. Tout ce qui dépassait n'était donc pas
   encadré. La bordure passe sur la fenêtre, les filets sur les cartes.
   ------------------------------------------------------------------ */
body.single-cartflows_step .bagsbi-scenarios__carousel {
  border: 1px solid var(--bagsbi-hairline);
  background: var(--bagsbi-surface);
}
body.single-cartflows_step .bagsbi-scenarios__grid {
  border: 0 !important;
  background: transparent !important;
  gap: 0 !important;
}
body.single-cartflows_step .bagsbi-scenario {
  flex: 0 0 50% !important;
  border-right: 1px solid var(--bagsbi-hairline) !important;
}
body.single-cartflows_step .bagsbi-scenario:last-child {
  border-right: 0 !important;
}

/* ------------------------------------------------------------------
   2. En-tête boutique
   ------------------------------------------------------------------ */
body.single-cartflows_step .bagsbi-shophead {
  border-bottom: 1px solid var(--bagsbi-hairline);
  background: var(--bagsbi-surface);
  margin-bottom: 0;
}
body.single-cartflows_step .bagsbi-shophead__in {
  max-width: 1240px;
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
body.single-cartflows_step .bagsbi-brand {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex: none;
}
body.single-cartflows_step .bagsbi-brand__name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: .22em;
  color: var(--bagsbi-ink);
  line-height: 1;
}
body.single-cartflows_step .bagsbi-brand__cat {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--bagsbi-soft);
}
body.single-cartflows_step .bagsbi-secure {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #2f6b4f;
  flex: none;
}
body.single-cartflows_step .bagsbi-secure svg {
  width: 13px;
  height: 13px;
  flex: none;
}

/* Le stepper rejoint l'en-tête : plus de filet ni de marge propres. */
body.single-cartflows_step .bagsbi-shophead .bagsbi-stepper {
  margin: 0;
  padding: 0;
  border-bottom: 0;
  flex: 1 1 auto;
}

/* ------------------------------------------------------------------
   3. Bandeau garanties : icône + intitulé + précision
   ------------------------------------------------------------------ */
body.single-cartflows_step .bagsbi-guarantee {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-align: left;
  width: 100%;
}
body.single-cartflows_step .bagsbi-guarantee svg {
  width: 20px;
  height: 20px;
  flex: none;
  margin-top: 1px;
  color: #2f6b4f;
}
body.single-cartflows_step .bagsbi-guarantee__t {
  display: block;
  font-family: Archivo, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--bagsbi-ink);
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}
body.single-cartflows_step .bagsbi-guarantee__d {
  display: block;
  font-family: Archivo, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 400;
  color: var(--bagsbi-muted);
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
  margin-top: 2px;
}
/* le conteneur Elementor centrait le texte : on reprend la main */
body.single-cartflows_step .elementor-element-2abc3a7 .elementor-widget-text-editor,
body.single-cartflows_step .elementor-element-2abc3a7 p {
  text-align: left !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* ------------------------------------------------------------------
   4. Titre du formulaire
   ------------------------------------------------------------------ */
body.single-cartflows_step .bagsbi-pagetitle {
  max-width: 1240px;
  margin: 34px auto 26px;
  padding: 0;
}
body.single-cartflows_step .bagsbi-pagetitle h1 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -.01em !important;
  color: var(--bagsbi-ink) !important;
  margin: 0 0 8px !important;
  text-transform: none !important;
}
body.single-cartflows_step .bagsbi-pagetitle p {
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: var(--bagsbi-muted) !important;
  margin: 0 !important;
  max-width: 52ch;
}

/* ------------------------------------------------------------------
   5. Bon de commande : intitulé + référence produit
   ------------------------------------------------------------------ */
body.single-cartflows_step #order_review_heading {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 14px !important;
}
body.single-cartflows_step .bagsbi-ref {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bagsbi-soft);
  flex: none;
}

@media (max-width: 900px) {
  body.single-cartflows_step .bagsbi-shophead__in {
    justify-content: center;
    text-align: center;
  }
  body.single-cartflows_step .bagsbi-shophead .bagsbi-stepper { flex: 1 1 100%; }
  body.single-cartflows_step .bagsbi-pagetitle h1 { font-size: 27px !important; }
}
@media (max-width: 700px) {
  body.single-cartflows_step .bagsbi-scenario { flex: 0 0 100% !important; }
}


/* ===== BAGSBI — Refonte A / lot 7 : badge, double filet, ordre mobile ===== */

/* ------------------------------------------------------------------
   1. Badge « Recommandé » enfin visible en entier.
   CartFlows pose overflow:hidden sur le bloc lui-même — ce n'était pas
   un parent. Le badge, en absolute top:-9px, était donc rogné par son
   propre conteneur. Les angles sont vifs ici, masquer n'a aucune utilité.
   ------------------------------------------------------------------ */
body.single-cartflows_step .wcf-order-wrap .wcf-bump-order-wrap {
  overflow: visible !important;
}
body.single-cartflows_step .wcf-order-wrap .wcf-bump-order-wrap::before {
  z-index: 2 !important;
  white-space: nowrap !important;
}

/* ------------------------------------------------------------------
   2. Un seul cadre autour du récapitulatif.
   Le panneau porte déjà sa bordure : la table interne en ajoutait une
   seconde à 22 px, d'où le double filet. On garde les filets de lignes.
   ------------------------------------------------------------------ */
body.single-cartflows_step .wcf-order-wrap table.shop_table {
  border: 0 !important;
  width: 100% !important;
}
body.single-cartflows_step .wcf-order-wrap table.shop_table thead th,
body.single-cartflows_step .wcf-order-wrap table.shop_table tbody td,
body.single-cartflows_step .wcf-order-wrap table.shop_table tbody th,
body.single-cartflows_step .wcf-order-wrap table.shop_table tfoot td,
body.single-cartflows_step .wcf-order-wrap table.shop_table tfoot th {
  border-left: 0 !important;
  border-right: 0 !important;
}

/* ------------------------------------------------------------------
   3. Mobile : on saisit d'abord, on récapitule ensuite.
   CartFlows plaçait le panneau (order:2) avant le formulaire (order:3),
   juste après le récapitulatif replié : deux récapitulatifs à la suite
   avant le premier champ.
   ------------------------------------------------------------------ */
@media (max-width: 1080px) {
  body.single-cartflows_step .wcf-customer-info-main-wrapper {
    order: 1 !important;
    width: 100% !important;
  }
  body.single-cartflows_step .wcf-order-wrap {
    order: 2 !important;
    width: 100% !important;
  }
}

/* ------------------------------------------------------------------
   4. Mobile : respiration de l'en-tête, qui empilait trois blocs collés
   ------------------------------------------------------------------ */
@media (max-width: 900px) {
  body.single-cartflows_step .bagsbi-shophead__in {
    padding: 16px 20px;
    gap: 14px;
    flex-direction: column;
  }
  body.single-cartflows_step .bagsbi-brand { justify-content: center; }
}

@media (max-width: 700px) {
  body.single-cartflows_step .bagsbi-pagetitle { margin: 24px auto 18px; }
  body.single-cartflows_step .wcf-order-wrap #order_review { padding: 18px 16px 16px !important; }
  body.single-cartflows_step .bagsbi-paylogos { padding: 12px 8px; }
  body.single-cartflows_step .bagsbi-paylogos__row { gap: 5px; }
  body.single-cartflows_step .bagsbi-paylogo { width: 40px; height: 27px; }
  /* l'intitulé et la référence ne tiennent pas côte à côte sous 400 px */
  body.single-cartflows_step #order_review_heading {
    flex-wrap: wrap !important;
    gap: 4px 12px !important;
  }
}


/* ===== BAGSBI — Refonte A / lot 8 : ordre mobile, doublon de récap, suffixe EUR ===== */

/* ------------------------------------------------------------------
   1. Mobile : le récapitulatif revient AVANT la saisie.
   Le lot 7 l'avait passé après pour supprimer un doublon ; conséquence,
   le bouton « Passer commande » se retrouvait avant le total, l'offre
   complémentaire et les moyens de paiement. On rétablit l'ordre de
   CartFlows et on traite le doublon à sa source (règle 2 ci-dessous).
   ------------------------------------------------------------------ */
@media (max-width: 1080px) {
  body.single-cartflows_step .wcf-order-wrap {
    order: 1 !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    margin-bottom: 28px !important;
  }
  body.single-cartflows_step .wcf-customer-info-main-wrapper {
    order: 2 !important;
    width: 100% !important;
  }
}

/* ------------------------------------------------------------------
   2. Un seul récapitulatif, à toutes les tailles.
   Le bandeau repliable de CartFlows reprend produit, sous-total, total
   et code promo : déplié, il double exactement le panneau. Ce dernier
   étant désormais en tête sur mobile, le bandeau n'a plus d'objet.
   ------------------------------------------------------------------ */
body.single-cartflows_step .wcf-collapsed-order-review-section {
  display: none !important;
}

/* ------------------------------------------------------------------
   3. Suffixe de devise : « EUR » est un simple nœud texte posé après
   le montant, il héritait donc de sa taille et partait à la ligne.
   ------------------------------------------------------------------ */
body.single-cartflows_step .wcf-order-wrap .order-total td,
body.single-cartflows_step .wcf-order-wrap .order-total th {
  font-size: 10px !important;
  letter-spacing: .1em !important;
  color: var(--bagsbi-soft) !important;
  vertical-align: baseline !important;
}
body.single-cartflows_step .wcf-order-wrap .order-total th {
  font-family: Archivo, system-ui, sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: var(--bagsbi-muted) !important;
}
body.single-cartflows_step .wcf-order-wrap .order-total .woocommerce-Price-amount {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: var(--bagsbi-accent) !important;
  white-space: nowrap !important;
  margin-right: 4px;
}

/* ------------------------------------------------------------------
   4. Filets du récapitulatif : une seule ligne de séparation par rangée
   ------------------------------------------------------------------ */
body.single-cartflows_step .wcf-order-wrap table.shop_table tr > *,
body.single-cartflows_step .wcf-order-wrap table.shop_table tfoot tr > * {
  border-bottom: 1px solid var(--bagsbi-hairline) !important;
  border-top: 0 !important;
}
body.single-cartflows_step .wcf-order-wrap table.shop_table tfoot tr:last-child > * {
  border-bottom: 0 !important;
}


/* ===== BAGSBI — Refonte A / lot 9 : rétablir le récapitulatif mobile ===== */

/* ------------------------------------------------------------------
   CartFlows masque la table du panneau sous 1080 px parce que son
   bandeau repliable la remplace. Le lot 8 ayant masqué ce bandeau,
   le mobile se retrouvait sans produit ni total : le panneau n'affichait
   plus que les spécifications et l'offre complémentaire.
   On garde un seul récapitulatif — celui du panneau, conforme à la
   maquette — en le rendant visible à toutes les tailles.
   ------------------------------------------------------------------ */
@media (max-width: 1080px) {
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table {
    display: table !important;
    width: 100% !important;
  }
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table thead {
    display: table-header-group !important;
  }
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table tbody,
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table tfoot {
    display: table-row-group !important;
  }
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table tr {
    display: table-row !important;
  }
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table th,
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table td {
    display: table-cell !important;
    text-align: left;
  }
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table td {
    text-align: right;
  }
  /* WooCommerce ajoute des libellés en ::before sur les tables
     responsives : ils font doublon avec les en-têtes rétablis. */
  body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table td::before {
    content: none !important;
  }
}

/* Le suffixe « EUR » est un nœud texte hors du montant : il héritait de
   la taille de la cellule. Spécificité renforcée, la règle du lot 8
   perdait contre celle de CartFlows. */
body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table tfoot tr.order-total td,
body.single-cartflows_step .wcf-order-wrap #order_review table.shop_table tfoot tr.order-total th {
  font-size: 10px !important;
  letter-spacing: .1em !important;
  vertical-align: baseline !important;
}
body.single-cartflows_step .wcf-order-wrap #order_review tr.order-total .woocommerce-Price-amount {
  font-size: 22px !important;
  white-space: nowrap !important;
}


/* ===== BAGSBI — Refonte A / lot 10 : panneau collant, version tenable ===== */

/* ------------------------------------------------------------------
   Le panneau est plus haut que l'écran (1049 px pour 900 px de viewport).
   Un sticky ancré en haut collerait son sommet et rendrait son bas
   inatteignable — total, offre complémentaire et logos inclus.
   On ancre donc sur le bas : le décalage est calculé en JS et posé
   dans --bagsbi-sticky-top, recalculé à chaque changement de hauteur.
   La valeur de repli (24px) sert tant que le script n'a pas mesuré.
   ------------------------------------------------------------------ */
@media (min-width: 1081px) {
  body.single-cartflows_step .wcf-order-wrap {
    position: sticky !important;
    top: var(--bagsbi-sticky-top, 24px) !important;
    align-self: flex-start !important;
  }
  /* Posée par le script quand coller n'apporte rien : panneau plus haut
     que la colonne de saisie, ou marge de glisse négligeable. */
  body.single-cartflows_step .wcf-order-wrap.bagsbi-sticky-off {
    position: static !important;
    top: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-cartflows_step .wcf-order-wrap { transition: none !important; }
}


/* ===== BAGSBI — Option C : barre d'action en pied, plus de collage ===== */

body.single-cartflows_step .wcf-order-wrap {
  position: static !important;
  top: auto !important;
}

body.single-cartflows_step .bagsbi-actionbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9000;
  height: 72px;
  background: var(--bagsbi-ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 32px;
  transform: translateY(100%);
  transition: transform .22s ease;
}
body.single-cartflows_step .bagsbi-actionbar.is-on {
  transform: translateY(0);
}
body.single-cartflows_step .bagsbi-actionbar__left {
  display: flex;
  align-items: baseline;
  gap: 16px;
  min-width: 0;
}
body.single-cartflows_step .bagsbi-actionbar__lab {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--bagsbi-soft);
  flex: none;
}
body.single-cartflows_step .bagsbi-actionbar__total {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: var(--bagsbi-bg);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
body.single-cartflows_step .bagsbi-actionbar__note {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--bagsbi-soft);
  white-space: nowrap;
}
body.single-cartflows_step .bagsbi-actionbar__cta {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--bagsbi-accent);
  color: #fff;
  border: 0;
  border-radius: 0;
  padding: 16px 34px;
  cursor: pointer;
  flex: none;
  transition: background .15s ease;
}
body.single-cartflows_step .bagsbi-actionbar__cta:hover { background: #b8420f; }
body.single-cartflows_step .bagsbi-actionbar__cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}
body.single-cartflows_step.bagsbi-has-actionbar { padding-bottom: 72px; }

@media (max-width: 700px) {
  body.single-cartflows_step .bagsbi-actionbar {
    height: 68px;
    padding: 0 14px;
    gap: 10px;
  }
  body.single-cartflows_step .bagsbi-actionbar__left {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  body.single-cartflows_step .bagsbi-actionbar__note { display: none; }
  body.single-cartflows_step .bagsbi-actionbar__total { font-size: 19px; }
  body.single-cartflows_step .bagsbi-actionbar__cta { padding: 14px 24px; font-size: 10px; }
  body.single-cartflows_step.bagsbi-has-actionbar { padding-bottom: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  body.single-cartflows_step .bagsbi-actionbar { transition: none; }
}

/* ===== Option A+C : panneau court et collant en bureau, barre en mobile ===== */

/* Le panneau ne garde que produit + total + action : il passe sous la
   hauteur d'ecran, donc le collage tient reellement. */
@media (min-width: 1081px) {
  body.single-cartflows_step .wcf-order-wrap {
    position: sticky !important;
    top: 24px !important;
    align-self: flex-start !important;
  }
  /* En bureau le panneau porte deja l'action : la barre ferait doublon. */
  body.single-cartflows_step .bagsbi-actionbar { display: none !important; }
  body.single-cartflows_step.bagsbi-has-actionbar { padding-bottom: 0 !important; }
}

/* Bloc deplace sous la saisie : meme vocabulaire, jamais un fourre-tout. */
body.single-cartflows_step .bagsbi-recap-bas {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--bagsbi-hairline);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body.single-cartflows_step .bagsbi-recap-bas__t {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--bagsbi-soft) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* Action portee par le panneau collant */
body.single-cartflows_step .bagsbi-panel-cta {
  width: 100%;
  margin-top: 14px;
  background: var(--bagsbi-ink);
  color: var(--bagsbi-bg);
  border: 0;
  border-radius: 0;
  padding: 17px 20px;
  cursor: pointer;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background .15s ease;
}
body.single-cartflows_step .bagsbi-panel-cta:hover { background: #000; }
body.single-cartflows_step .bagsbi-panel-cta:focus-visible {
  outline: 2px solid var(--bagsbi-accent);
  outline-offset: 2px;
}
@media (max-width: 1080px) {
  body.single-cartflows_step .bagsbi-panel-cta { display: none; }
}/* End custom CSS */