/* FlowCart 1.2 — interface inspirée des meilleurs checkouts SaaS : claire, nette et rapide */
body.flowcart-active{
  --fc-border:#e7ebf0;
  --fc-border-strong:#d7dde5;
  --fc-soft:#f7f9fb;
  --fc-soft-2:#fbfcfd;
  --fc-ink:#1f2937;
  --fc-muted:#6b7280;
  --fc-green-1:var(--fc-btn-1,#79d85c);
  --fc-green-2:var(--fc-btn-2,#2eae48);
  --fc-shadow:0 1px 2px rgba(16,24,40,.02),0 8px 24px rgba(16,24,40,.045);
}

/* Neutralisation ciblée Artkombat / WPBakery */
body.flowcart-active .vc_row{margin-left:0!important;margin-right:0!important}
body.flowcart-active .vc_column_container>.vc_column-inner{padding-left:0!important;padding-right:0!important}
body.flowcart-active .wpb_content_element{margin-bottom:0!important}
body.flowcart-active .woocommerce{width:100%!important;max-width:none!important;margin:0!important;color:var(--fc-ink)!important}
body.flowcart-active .woocommerce:before,body.flowcart-active .woocommerce:after{display:none!important}

/* Messages */
body.flowcart-active .woocommerce-message,
body.flowcart-active .woocommerce-info,
body.flowcart-active .woocommerce-error{
  width:min(1160px,calc(100vw - 40px))!important;max-width:1160px!important;margin:14px auto!important;padding:13px 16px 13px 42px!important;
  border:1px solid var(--fc-border)!important;border-radius:10px!important;background:#fff!important;color:var(--fc-ink)!important;
  box-shadow:none!important;font-size:13px!important;line-height:1.45!important
}
body.flowcart-active .woocommerce-message::before,body.flowcart-active .woocommerce-info::before{color:#2eae48!important;top:13px!important}

/* Boutons */
body.flowcart-active .woocommerce .button,
body.flowcart-active .woocommerce button.button,
body.flowcart-active .woocommerce input.button,
body.flowcart-active .woocommerce #place_order{
  min-height:44px!important;border:0!important;border-radius:9px!important;padding:11px 16px!important;
  font-weight:700!important;letter-spacing:0!important;text-transform:none!important;line-height:1.2!important;box-shadow:none!important;
  transition:transform .12s ease,filter .12s ease!important
}
body.flowcart-active .woocommerce .button.alt,
body.flowcart-active .woocommerce #place_order,
body.flowcart-active .woocommerce .checkout-button,
body.flowcart-active .woocommerce .wc-forward,
body.flowcart-active .woocommerce button[name="update_cart"]{
  background:linear-gradient(135deg,var(--fc-green-1),var(--fc-green-2))!important;color:#fff!important
}
body.flowcart-active .woocommerce .button:hover,body.flowcart-active .woocommerce #place_order:hover{transform:translateY(-1px);filter:saturate(1.03)}
body.flowcart-active .woocommerce button[name="apply_coupon"]{background:#182230!important;color:#fff!important}

/* Coque commune */
.flowcart-shell{
  width:min(1160px,calc(100vw - 40px))!important;max-width:1160px!important;margin:22px auto 54px!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) 410px!important;gap:28px!important;align-items:start!important;
  box-sizing:border-box!important
}
.flowcart-main,.flowcart-summary{min-width:0!important;box-sizing:border-box!important;background:#fff;border:1px solid var(--fc-border);border-radius:14px;box-shadow:var(--fc-shadow)}
.flowcart-main{overflow:hidden}
.flowcart-summary{padding:20px}
.flowcart-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:19px 22px 16px;border-bottom:1px solid var(--fc-border)}
.flowcart-section-head h2,.flowcart-summary-title{margin:0!important;color:var(--fc-ink)!important;font-family:inherit!important;font-size:20px!important;line-height:1.25!important;font-weight:700!important;letter-spacing:-.02em!important;text-transform:none!important}
.flowcart-section-subtitle{margin:5px 0 0!important;color:var(--fc-muted)!important;font-size:12.5px!important;line-height:1.45!important}
.flowcart-count{font-size:12px;color:var(--fc-muted);background:var(--fc-soft);border-radius:999px;padding:5px 9px;white-space:nowrap}

/* PANIER */
.flowcart-cart-form{padding:0!important;margin:0!important}
.flowcart-items{display:block}
.flowcart-item{display:grid;grid-template-columns:78px minmax(0,1fr);gap:15px;padding:18px 22px;border-bottom:1px solid var(--fc-border);background:#fff}
.flowcart-item-media img{display:block;width:78px!important;height:78px!important;object-fit:cover;border-radius:10px!important;border:1px solid var(--fc-border)!important;background:#fff!important}
.flowcart-item-copy{min-width:0}
.flowcart-item-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.flowcart-item-name{display:inline-block;color:var(--fc-ink)!important;font-size:14.5px;font-weight:700;line-height:1.35;text-decoration:none!important}
.flowcart-item-price{color:var(--fc-ink);font-size:14px;font-weight:700;white-space:nowrap}
.flowcart-item .variation,.flowcart-item .woocommerce-Price-amount+small{margin-top:5px;color:var(--fc-muted)!important;font-size:11.5px!important}
.flowcart-item-actions{display:flex;align-items:center;gap:13px;margin-top:13px}
.flowcart-item-subtotal{margin-left:auto;color:var(--fc-ink);font-size:13.5px;font-weight:700;white-space:nowrap}
.flowcart-remove{color:#9aa3af!important;font-size:11.5px!important;font-weight:600;text-decoration:none!important}
.flowcart-remove:hover{color:#d92d20!important}
.flowcart-single-qty{font-size:12px;color:var(--fc-muted)}
.flowcart-cart-tools{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:16px 22px;background:var(--fc-soft-2)}
.flowcart-coupon{display:flex;align-items:center;gap:8px}
.flowcart-coupon input{width:175px!important}
.flowcart-update{margin-left:auto!important}

body.flowcart-active .quantity{display:inline-flex!important;align-items:center!important;height:38px!important;border:1px solid var(--fc-border-strong)!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important}
body.flowcart-active .quantity .qty{width:40px!important;height:36px!important;min-height:36px!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--fc-ink)!important;text-align:center!important;padding:0!important;box-shadow:none!important}
body.flowcart-active .fc-qty-btn{width:32px!important;height:36px!important;border:0!important;background:#fff!important;color:#596579!important;font-size:15px!important;font-weight:700!important;cursor:pointer!important}
body.flowcart-active .fc-qty-btn:hover{background:var(--fc-soft)!important}

/* Récapitulatif */
.flowcart-summary-title{margin-bottom:13px!important}
.flowcart-summary .cart-collaterals,.flowcart-summary .cart_totals{width:100%!important;float:none!important;margin:0!important;padding:0!important}
.flowcart-summary .cart_totals>h2{display:none!important}
.flowcart-summary table.shop_table{width:100%!important;border:0!important;border-collapse:collapse!important;margin:0!important;background:transparent!important}
.flowcart-summary table.shop_table th,.flowcart-summary table.shop_table td{border:0!important;border-bottom:1px solid var(--fc-border)!important;background:transparent!important;padding:11px 0!important;color:var(--fc-ink)!important;font-size:12.5px!important;vertical-align:top!important}
.flowcart-summary table.shop_table th{color:var(--fc-muted)!important;font-weight:600!important}
.flowcart-summary table.shop_table td{text-align:right!important}
.flowcart-summary table.shop_table .order-total th,.flowcart-summary table.shop_table .order-total td{padding-top:14px!important;border-bottom:0!important;font-size:16px!important;font-weight:800!important;color:var(--fc-ink)!important}
.flowcart-summary .wc-proceed-to-checkout{padding:14px 0 0!important;margin:0!important}
.flowcart-summary .checkout-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;margin:0!important;font-size:14.5px!important}

/* Réassurance */
.flowcart-trust{display:grid;gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid var(--fc-border)}
.flowcart-trust>div{display:flex;align-items:center;gap:8px;color:var(--fc-muted);font-size:11.5px}
.flowcart-trust-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f2f7fc;color:#4d7fbd;flex:0 0 auto}
.flowcart-trust-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* CHECKOUT : coordonnées à gauche, récapitulatif à droite, paiement sous les coordonnées */
.flowcart-checkout-shell{grid-template-areas:"details summary" "payment summary"!important;margin-top:18px!important}
.flowcart-checkout-main{grid-area:details}
.flowcart-checkout-summary{grid-area:summary}
.flowcart-payment-main{grid-area:payment}
.flowcart-checkout-main #customer_details{padding:18px 22px 20px!important;margin:0!important;width:100%!important;box-sizing:border-box!important}
.flowcart-checkout-main .col2-set,.flowcart-checkout-main .col-1,.flowcart-checkout-main .col-2{width:100%!important;float:none!important;margin:0!important;padding:0!important}
.flowcart-checkout-main .col-2{margin-top:10px!important}
.flowcart-checkout-main .woocommerce-billing-fields>h3,.flowcart-checkout-main .woocommerce-shipping-fields h3{display:none!important}
body.flowcart-checkout .form-row{width:100%!important;float:none!important;margin:0 0 10px!important;padding:0!important;box-sizing:border-box!important}
body.flowcart-checkout .form-row label{display:block!important;margin:0 0 4px!important;color:#465266!important;font-size:11.5px!important;font-weight:650!important;line-height:1.35!important;text-transform:none!important}
body.flowcart-checkout .form-row .required{color:#d92d20!important}
body.flowcart-active .woocommerce input.input-text,
body.flowcart-active .woocommerce select,
body.flowcart-active .woocommerce textarea{width:100%!important;min-height:44px!important;border:1px solid var(--fc-border-strong)!important;border-radius:8px!important;background:#fff!important;color:var(--fc-ink)!important;padding:9px 11px!important;font-size:14px!important;line-height:1.3!important;box-shadow:0 1px 2px rgba(16,24,40,.025)!important;box-sizing:border-box!important}
body.flowcart-active .woocommerce textarea{min-height:84px!important;resize:vertical}
body.flowcart-active .woocommerce input.input-text:focus,body.flowcart-active .woocommerce textarea:focus{border-color:#84adff!important;box-shadow:0 0 0 3px rgba(47,128,237,.09)!important;outline:0!important}
body.flowcart-checkout .select2-container{width:100%!important}
body.flowcart-checkout .select2-container .select2-selection--single{height:44px!important;border:1px solid var(--fc-border-strong)!important;border-radius:8px!important;background:#fff!important;box-shadow:0 1px 2px rgba(16,24,40,.025)!important}
body.flowcart-checkout .select2-selection__rendered{line-height:42px!important;color:var(--fc-ink)!important;padding-left:11px!important}
body.flowcart-checkout .select2-selection__arrow{height:42px!important}
body.flowcart-checkout .woocommerce-form__label-for-checkbox{display:flex!important;gap:8px;align-items:flex-start;color:#475467!important;font-size:11.5px!important}

.flowcart-checkout-summary>h2{margin-bottom:8px!important}
body.flowcart-checkout .woocommerce-checkout-review-order-table{width:100%!important;border:0!important;border-collapse:collapse!important;margin:0!important;background:transparent!important}
body.flowcart-checkout .woocommerce-checkout-review-order-table th,body.flowcart-checkout .woocommerce-checkout-review-order-table td{border:0!important;border-bottom:1px solid var(--fc-border)!important;background:transparent!important;padding:10px 0!important;color:var(--fc-ink)!important;font-size:12.5px!important;vertical-align:top!important}
body.flowcart-checkout .woocommerce-checkout-review-order-table th{color:var(--fc-muted)!important;font-weight:600!important;text-transform:none!important}
body.flowcart-checkout .woocommerce-checkout-review-order-table td.product-name{padding-right:12px!important;line-height:1.4!important;overflow-wrap:anywhere!important}
body.flowcart-checkout .woocommerce-checkout-review-order-table td.product-total{text-align:right!important;white-space:nowrap!important}
body.flowcart-checkout .woocommerce-checkout-review-order-table .order-total th,body.flowcart-checkout .woocommerce-checkout-review-order-table .order-total td{padding-top:14px!important;border-bottom:0!important;font-size:16px!important;font-weight:800!important}

/* Paiement séparé : réduit la colonne droite et évite le grand vide visuel */
.flowcart-payment-inner{padding:8px 22px 20px}
body.flowcart-checkout .flowcart-payment-main #payment{margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;color:var(--fc-ink)!important}
body.flowcart-checkout .flowcart-payment-main #payment ul.payment_methods{margin:0!important;padding:0!important;border:0!important}
body.flowcart-checkout .flowcart-payment-main #payment ul.payment_methods li{margin:0 0 8px!important;padding:11px!important;border:1px solid var(--fc-border)!important;border-radius:9px!important;background:#fff!important;color:var(--fc-ink)!important}
body.flowcart-checkout .flowcart-payment-main #payment div.payment_box{width:100%!important;margin:9px 0 0!important;padding:11px!important;border:1px solid var(--fc-border)!important;border-radius:8px!important;background:var(--fc-soft-2)!important;color:#475467!important;box-sizing:border-box!important;font-size:11.5px!important;box-shadow:none!important}
body.flowcart-checkout .flowcart-payment-main #payment div.payment_box::before{display:none!important}
body.flowcart-checkout .flowcart-payment-main #payment .place-order{padding:11px 0 0!important;margin:0!important}
body.flowcart-checkout #place_order{width:100%!important;min-height:48px!important;font-size:14.5px!important}
body.flowcart-checkout .woocommerce-terms-and-conditions-wrapper{color:#475467!important;font-size:11.5px!important;line-height:1.5!important}
body.flowcart-checkout .woocommerce-terms-and-conditions-wrapper a{color:#2f6fd3!important}

/* Si une extension injecte encore un bloc payment dans le récap, on ne le duplique pas visuellement. */
.flowcart-checkout-summary #payment{display:none!important}

/* Coupon checkout */
body.flowcart-checkout .woocommerce-form-coupon-toggle{width:min(1160px,calc(100vw - 40px))!important;max-width:1160px!important;margin:16px auto 0!important}
body.flowcart-checkout form.checkout_coupon{width:min(1160px,calc(100vw - 40px))!important;max-width:1160px!important;margin:8px auto 0!important;padding:12px!important;border:1px solid var(--fc-border)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}

/* Limite les cartes/logos de livraison ajoutés par les extensions dans la colonne droite */
.flowcart-checkout-summary img{max-width:100%!important;height:auto!important}
.flowcart-checkout-summary ul#shipping_method{margin:0!important;padding:0!important;list-style:none!important}
.flowcart-checkout-summary ul#shipping_method li{margin:0 0 7px!important;padding:9px!important;border:1px solid var(--fc-border)!important;border-radius:9px!important;background:#fff!important;font-size:11.5px!important;line-height:1.35!important}
.flowcart-checkout-summary .shipping td,.flowcart-checkout-summary .shipping th{padding-top:10px!important;padding-bottom:10px!important}

@media (min-width:901px){body.flowcart-sticky-summary .flowcart-summary{position:sticky!important;top:82px!important}}

/* Mobile : ordre logique = coordonnées > récapitulatif/livraison > paiement */
@media (max-width:900px){
  .flowcart-shell{width:calc(100vw - 16px)!important;grid-template-columns:1fr!important;gap:10px!important;margin:10px auto 24px!important}
  .flowcart-checkout-shell{grid-template-areas:"details" "summary" "payment"!important}
  .flowcart-main,.flowcart-summary{border-radius:11px!important;box-shadow:0 3px 12px rgba(16,24,40,.04)!important}
  .flowcart-summary{padding:13px!important}
  .flowcart-section-head{padding:14px 14px 12px!important}
  .flowcart-section-head h2,.flowcart-summary-title{font-size:17px!important}
  .flowcart-section-subtitle{font-size:11.5px!important;margin-top:3px!important}
  .flowcart-item{grid-template-columns:58px minmax(0,1fr)!important;gap:10px!important;padding:12px 13px!important}
  .flowcart-item-media img{width:58px!important;height:58px!important;border-radius:8px!important}
  .flowcart-item-topline{gap:7px!important}
  .flowcart-item-name{font-size:13px!important}
  .flowcart-item-price{font-size:12px!important}
  .flowcart-item-actions{gap:8px!important;margin-top:8px!important;flex-wrap:wrap!important}
  .flowcart-item-subtotal{font-size:12px!important}
  .flowcart-cart-tools{padding:11px 13px!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .flowcart-coupon{display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important}
  .flowcart-coupon input{width:100%!important}
  .flowcart-update{width:100%!important;margin:0!important}
  body.flowcart-active .woocommerce .button,body.flowcart-active .woocommerce button.button,body.flowcart-active .woocommerce input.button{min-height:40px!important;padding:9px 12px!important;font-size:12px!important}
  .flowcart-checkout-main #customer_details{padding:12px 13px 13px!important}
  body.flowcart-checkout .form-row{margin-bottom:8px!important}
  body.flowcart-checkout .form-row label{font-size:11px!important;margin-bottom:3px!important}
  body.flowcart-active .woocommerce input.input-text,body.flowcart-active .woocommerce select,body.flowcart-active .woocommerce textarea{min-height:40px!important;padding:8px 9px!important;font-size:13.5px!important;border-radius:7px!important}
  body.flowcart-checkout .select2-container .select2-selection--single{height:40px!important;border-radius:7px!important}
  body.flowcart-checkout .select2-selection__rendered{line-height:38px!important;font-size:13.5px!important}
  body.flowcart-checkout .select2-selection__arrow{height:38px!important}
  .flowcart-payment-inner{padding:7px 13px 13px!important}
  body.flowcart-checkout .woocommerce-checkout-review-order-table th,body.flowcart-checkout .woocommerce-checkout-review-order-table td,.flowcart-summary table.shop_table th,.flowcart-summary table.shop_table td{padding:8px 0!important;font-size:11.5px!important}
  body.flowcart-checkout .flowcart-payment-main #payment ul.payment_methods li{padding:8px!important;border-radius:8px!important}
  body.flowcart-checkout .flowcart-payment-main #payment div.payment_box{padding:8px!important;font-size:11px!important}
  body.flowcart-checkout .woocommerce-terms-and-conditions-wrapper{font-size:10.5px!important;line-height:1.4!important}
  body.flowcart-checkout #place_order{min-height:44px!important;font-size:13.5px!important}
  .flowcart-trust{gap:6px;margin-top:10px;padding-top:10px}
  .flowcart-trust>div{font-size:10.5px}
  body.flowcart-active .woocommerce-message,body.flowcart-active .woocommerce-info,body.flowcart-active .woocommerce-error{width:calc(100vw - 16px)!important;margin:8px auto!important;font-size:11.5px!important;padding:10px 11px 10px 36px!important}
  body.flowcart-checkout .woocommerce-form-coupon-toggle,body.flowcart-checkout form.checkout_coupon{width:calc(100vw - 16px)!important;margin-left:auto!important;margin-right:auto!important}
}

/* FlowCart 1.3 — règles métier et finitions */
body.flowcart-has-coaching-monthly #wc-stripe-express-checkout-element,
body.flowcart-has-coaching-monthly .wcpay-express-checkout-wrapper,
body.flowcart-has-coaching-monthly .wcpay-express-checkout-order-separator,
body.flowcart-has-coaching-monthly #wc-stripe-express-checkout-button-separator{display:none!important}
.flowcart-review-product{display:flex;align-items:center;gap:12px}
.flowcart-review-product-img{width:54px!important;height:54px!important;object-fit:cover;border-radius:10px;border:1px solid #e8edf3}
.flowcart-review-product-title{min-width:0}
.flowcart-monthly-note td{padding-top:8px!important}
.flowcart-monthly-note small{display:block;color:#6b7280;line-height:1.45;font-size:11px}
.flowcart-client-type .woocommerce-input-wrapper{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.sr-pro-field{display:none}
.woocommerce-shipping-methods li label img.lpc_shipping_icon,
.woocommerce-shipping-methods li label img[class*="lpc_shipping_icon"],
.woocommerce-shipping-methods li label img[src*="colissimo"],
.woocommerce-shipping-methods li label img[alt*="colissimo" i]{display:none!important}

/* =========================================================
   FlowCart 1.3.1 — corrections de mise en page
   ========================================================= */

/* Les thèmes WooCommerce peuvent simuler la couleur des boutons avec un
   box-shadow interne. On neutralise également cette couche. */
body.flowcart-active .woocommerce a.checkout-button,
body.flowcart-active .woocommerce .checkout-button,
body.flowcart-active .woocommerce #place_order,
body.flowcart-active .woocommerce a.button.alt,
body.flowcart-active .woocommerce button.button.alt,
body.flowcart-active .woocommerce input.button.alt,
body.flowcart-active .woocommerce button[name="update_cart"],
body.flowcart-active .woocommerce .wc-forward{
  background:#20a947!important;
  background-color:#20a947!important;
  background-image:none!important;
  border-color:#20a947!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 999px #20a947!important;
  text-shadow:none!important
}
body.flowcart-active .woocommerce a.checkout-button:hover,
body.flowcart-active .woocommerce .checkout-button:hover,
body.flowcart-active .woocommerce #place_order:hover,
body.flowcart-active .woocommerce a.button.alt:hover,
body.flowcart-active .woocommerce button.button.alt:hover,
body.flowcart-active .woocommerce input.button.alt:hover,
body.flowcart-active .woocommerce button[name="update_cart"]:hover,
body.flowcart-active .woocommerce .wc-forward:hover{
  background:#16873a!important;
  background-color:#16873a!important;
  background-image:none!important;
  border-color:#16873a!important;
  box-shadow:inset 0 0 0 999px #16873a!important;
  color:#fff!important
}

/* PANIER DESKTOP : produit(s) puis récapitulatif pleine largeur.
   La livraison peut être beaucoup plus longue que la liste des produits,
   donc on évite deux colonnes déséquilibrées. */
@media (min-width:901px){
  body.flowcart-cart .flowcart-cart-shell{
    width:min(1000px,calc(100vw - 48px))!important;
    max-width:1000px!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important
  }
  body.flowcart-cart .flowcart-cart-main,
  body.flowcart-cart .flowcart-cart-shell>.flowcart-summary{
    width:100%!important;
    max-width:none!important;
    position:static!important
  }
}

/* CHECKOUT DESKTOP : deux colonnes équilibrées, avec un récapitulatif
   réellement assez large pour les noms de produits et la livraison. */
@media (min-width:901px){
  body.flowcart-checkout .flowcart-checkout-shell{
    width:min(1220px,calc(100vw - 48px))!important;
    max-width:1220px!important;
    grid-template-columns:minmax(0,1fr) minmax(470px,500px)!important;
    grid-template-areas:"details summary" "payment summary"!important;
    gap:24px!important
  }
  body.flowcart-checkout .flowcart-checkout-main,
  body.flowcart-checkout .flowcart-payment-main,
  body.flowcart-checkout .flowcart-checkout-summary{
    min-width:0!important
  }
}

/* Titres : toujours ancrés à gauche. */
body.flowcart-checkout .flowcart-section-head,
body.flowcart-checkout .flowcart-section-head>div,
body.flowcart-checkout .flowcart-summary-title{
  text-align:left!important;
  justify-content:flex-start!important
}
body.flowcart-checkout .flowcart-summary-title{
  display:block!important;
  width:100%!important
}

/* Récapitulatif : l'en-tête Produit / Sous-total n'apporte rien et réduit
   inutilement la largeur disponible. */
body.flowcart-checkout .woocommerce-checkout-review-order-table thead{
  display:none!important
}
body.flowcart-checkout .woocommerce-checkout-review-order-table{
  table-layout:auto!important
}
body.flowcart-checkout .woocommerce-checkout-review-order-table td.product-name{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding-right:18px!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-align:left!important
}
body.flowcart-checkout .flowcart-review-product{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  align-items:center!important
}
body.flowcart-checkout .flowcart-review-product-title,
body.flowcart-checkout .flowcart-review-product-title *{
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important
}
body.flowcart-checkout .woocommerce-checkout-review-order-table td.product-total{
  width:110px!important;
  min-width:110px!important;
  max-width:110px!important;
  white-space:nowrap!important;
  text-align:right!important
}

/* Suppression panier : croix rouge uniquement, sans texte. */
body.flowcart-cart .flowcart-remove{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:27px!important;
  min-width:27px!important;
  height:27px!important;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid #ffd6d6!important;
  background:#fff5f5!important;
  color:#d92d20!important;
  font-size:20px!important;
  font-weight:500!important;
  line-height:1!important;
  text-decoration:none!important;
  flex:0 0 27px!important
}
body.flowcart-cart .flowcart-remove:hover{
  background:#ffe9e9!important;
  color:#b42318!important
}

/* MOBILE : le prix et la croix ne se chevauchent jamais. */
@media (max-width:900px){
  body.flowcart-cart .flowcart-item-actions{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) 27px!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    flex-wrap:nowrap!important
  }
  body.flowcart-cart .flowcart-item-subtotal{
    min-width:0!important;
    margin:0!important;
    text-align:right!important;
    white-space:nowrap!important
  }

  /* Expédition checkout : le contenu prend toute la largeur du bloc au lieu
     d'être comprimé dans la colonne droite du tableau WooCommerce. */
  body.flowcart-checkout .woocommerce-checkout-review-order-table tr.shipping,
  body.flowcart-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{
    display:block!important;
    width:100%!important
  }
  body.flowcart-checkout .woocommerce-checkout-review-order-table tr.shipping>th,
  body.flowcart-checkout .woocommerce-checkout-review-order-table tr.shipping>td,
  body.flowcart-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals>th,
  body.flowcart-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals>td{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    text-align:left!important;
    padding-left:0!important;
    padding-right:0!important
  }
  body.flowcart-checkout .flowcart-checkout-summary ul#shipping_method,
  body.flowcart-checkout .flowcart-checkout-summary ul#shipping_method li{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important
  }
  body.flowcart-checkout .flowcart-checkout-summary .shipping td>div,
  body.flowcart-checkout .flowcart-checkout-summary .shipping td>section,
  body.flowcart-checkout .flowcart-checkout-summary .shipping td>fieldset,
  body.flowcart-checkout .flowcart-checkout-summary .shipping td>[class*="relay" i],
  body.flowcart-checkout .flowcart-checkout-summary .shipping td>[class*="locker" i],
  body.flowcart-checkout .flowcart-checkout-summary .shipping td>[class*="pickup" i],
  body.flowcart-checkout .flowcart-checkout-summary .shipping td>[class*="shiptia" i]{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important
  }
  body.flowcart-checkout .woocommerce-checkout-review-order-table td.product-total{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important
  }
}



/* =========================================================
   FlowCart 1.3.2 — derniers ajustements panier / checkout
   ========================================================= */

/* Bouton code promo : vert par défaut, comme les autres CTA. */
body.flowcart-active .woocommerce button[name="apply_coupon"],
body.flowcart-active .woocommerce .flowcart-coupon .button{
  background:#20a947!important;
  background-color:#20a947!important;
  background-image:none!important;
  border-color:#20a947!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 999px #20a947!important;
  text-shadow:none!important
}
body.flowcart-active .woocommerce button[name="apply_coupon"]:hover,
body.flowcart-active .woocommerce .flowcart-coupon .button:hover{
  background:#16873a!important;
  background-color:#16873a!important;
  border-color:#16873a!important;
  box-shadow:inset 0 0 0 999px #16873a!important;
  color:#fff!important
}

/* Panier : différencier visuellement le prix unitaire du total de ligne. */
body.flowcart-cart .flowcart-item-price{
  font-size:12px!important;
  font-weight:600!important;
  color:var(--fc-muted)!important;
  text-align:right!important
}
body.flowcart-cart .flowcart-item-price::before{
  content:"Prix unitaire";
  display:block;
  margin-bottom:2px;
  color:var(--fc-muted)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.03em;
  text-transform:uppercase
}
body.flowcart-cart .flowcart-item-subtotal{
  font-size:15px!important;
  font-weight:800!important;
  color:var(--fc-ink)!important
}
body.flowcart-cart .flowcart-item-subtotal::before{
  content:"Total";
  display:block;
  margin-bottom:2px;
  color:var(--fc-muted)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-align:right
}

/* Récapitulatif : sous-total plus lisible, sur desktop comme mobile. */
body.flowcart-active .flowcart-summary table.shop_table .cart-subtotal th,
body.flowcart-active .flowcart-summary table.shop_table .cart-subtotal td{
  font-size:15px!important;
  font-weight:750!important;
  color:var(--fc-ink)!important
}
body.flowcart-active .flowcart-summary table.shop_table .cart-subtotal td{
  text-align:right!important
}

/* Checkout : le bloc expédition / point relais doit occuper toute la largeur
   disponible, sans être tassé sur la droite. */
body.flowcart-checkout .woocommerce-checkout-review-order-table tr.shipping,
body.flowcart-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{
  display:block!important;
  width:100%!important
}
body.flowcart-checkout .woocommerce-checkout-review-order-table tr.shipping>th,
body.flowcart-checkout .woocommerce-checkout-review-order-table tr.shipping>td,
body.flowcart-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals>th,
body.flowcart-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals>td{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  text-align:left!important;
  padding-left:0!important;
  padding-right:0!important
}
body.flowcart-checkout .flowcart-checkout-summary ul#shipping_method,
body.flowcart-checkout .flowcart-checkout-summary ul#shipping_method li,
body.flowcart-checkout .flowcart-checkout-summary .shipping td>div,
body.flowcart-checkout .flowcart-checkout-summary .shipping td>section,
body.flowcart-checkout .flowcart-checkout-summary .shipping td>fieldset,
body.flowcart-checkout .flowcart-checkout-summary .shipping td>[class*="relay" i],
body.flowcart-checkout .flowcart-checkout-summary .shipping td>[class*="locker" i],
body.flowcart-checkout .flowcart-checkout-summary .shipping td>[class*="pickup" i],
body.flowcart-checkout .flowcart-checkout-summary .shipping td>[class*="shiptia" i],
body.flowcart-checkout .flowcart-checkout-summary .woocommerce-shipping-totals td>div,
body.flowcart-checkout .flowcart-checkout-summary .woocommerce-shipping-totals td>section,
body.flowcart-checkout .flowcart-checkout-summary .woocommerce-shipping-totals td>fieldset,
body.flowcart-checkout .flowcart-checkout-summary .woocommerce-shipping-totals td>[class*="relay" i],
body.flowcart-checkout .flowcart-checkout-summary .woocommerce-shipping-totals td>[class*="locker" i],
body.flowcart-checkout .flowcart-checkout-summary .woocommerce-shipping-totals td>[class*="pickup" i],
body.flowcart-checkout .flowcart-checkout-summary .woocommerce-shipping-totals td>[class*="shiptia" i]{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important
}

@media (max-width:900px){
  body.flowcart-cart .flowcart-item-price{font-size:11px!important}
  body.flowcart-cart .flowcart-item-subtotal{font-size:14px!important}
  body.flowcart-active .flowcart-summary table.shop_table .cart-subtotal th,
  body.flowcart-active .flowcart-summary table.shop_table .cart-subtotal td{font-size:14px!important}
}


/* =========================================================
   FlowCart 1.3.3 — finitions UX panier / paiement
   ========================================================= */

/* Si la mise à jour automatique est active, le bouton manuel devient inutile.
   Il reste présent dans le DOM pour que WooCommerce puisse être déclenché par JS. */
body.flowcart-cart.flowcart-auto-update .flowcart-update{
  display:none!important
}

/* Sélecteur quantité : un seul système visuel (+ / − FlowCart), sans les
   flèches natives du navigateur en doublon. */
body.flowcart-active .quantity input.qty{
  -moz-appearance:textfield!important;
  appearance:textfield!important
}
body.flowcart-active .quantity input.qty::-webkit-outer-spin-button,
body.flowcart-active .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
  display:none!important
}

/* Message d'attente sous le bouton de paiement : discret, centré et compact. */
body.flowcart-checkout .flowcart-payment-wait-note{
  display:block!important;
  width:100%!important;
  margin:10px auto 0!important;
  padding:0!important;
  color:#7a828c!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:400!important;
  text-align:center!important;
  white-space:normal!important
}
body.flowcart-checkout .flowcart-payment-wait-note + .flowcart-payment-wait-note{
  margin-top:2px!important
}
@media (min-width:901px){
  body.flowcart-checkout .flowcart-payment-wait-note{
    font-size:10.5px!important;
    white-space:nowrap!important
  }
}
@media (max-width:900px){
  body.flowcart-checkout .flowcart-payment-wait-note{
    font-size:10px!important;
    line-height:1.3!important;
    margin-top:8px!important
  }
}


/* =========================================================
   FlowCart 1.3.4 — mobile : calculateur d'expédition inutile
   ========================================================= */
@media (max-width:900px){
  body.flowcart-cart .woocommerce-shipping-calculator,
  body.flowcart-cart .shipping-calculator-button,
  body.flowcart-cart .shipping-calculator-form{
    display:none!important
  }
}
