.elementor-16117 .elementor-element.elementor-element-128848e9{--display:flex;--min-height:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16117 .elementor-element.elementor-element-6b5e85a6 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border-radius:30px 30px 30px 30px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}:root{--page-title-display:none;}@media(min-width:768px){.elementor-16117 .elementor-element.elementor-element-128848e9{--width:100%;}}/* Start custom CSS *//* =========================================================================
   TENNISBOX — CSS PAGE PANIER — VERSION COMPLETE (à coller dans Elementor)
   ------------------------------------------------------------------------
   Ce fichier contient :
     1. Le CSS d'origine du panier (structure, tableau, cart_totals, coupon,
        boutons, suggestions, layout 2 colonnes, responsive)
     2. Le supplement "checkout alignement" a la fin (hero navy gradient,
        pill Etape 1, stepper 3 etapes en absolute, bouton rouge, trust bar)

   >>> OU LE COLLER ?
   Elementor > page /panier/ > Modifier > icone engrenage > Reglages de page
     > Style > CSS personnalise
   Colle CE fichier a la place de tout ce qui s'y trouve. Enregistre.

   >>> ATTENTION
   Ne PAS y coller du PHP (les lignes qui commencent par add_action, function,
   //, <?php ...). Le PHP va dans WPCode > le snippet PHP panier.
   ========================================================================= */

/* ── 1. Conteneur général ── */
.woocommerce-cart .woocommerce {
  background: #F8EBE1 !important;
  padding: 40px 60px 60px !important;
  display: block !important;
}

/* Cette regle est nettement surchargee dans le supplement checkout en bas
   du fichier : fond bleu #e8f0f7, plus de padding en haut, hero qui touche
   le header. Ne pas dedoubler ici. */

/* ── 2. Hero panier (structure de base — le fond est overridé plus bas) ── */
.tb-panier-hero {
  position: relative !important;
  height: 700px !important;
  background-color: #CB5223 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin-bottom: 50px !important;
  margin-top: -40px !important;
  overflow: hidden !important;
  width: calc(100% + 120px) !important;
  max-width: calc(100% + 120px) !important;
  margin-left: -60px !important;
  margin-right: -60px !important;
  box-sizing: border-box !important;
  padding: 0 40px !important;
}

.tb-panier-hero::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.5) 0%, rgba(203,82,35,0.5) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.tb-panier-hero > * {
  position: relative !important;
  z-index: 2 !important;
}

.tb-panier-title {
  font-family: "Open Sans", sans-serif !important;
  font-size: 80px !important;
  font-weight: 700 !important;
  color: #004B76 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 0 16px !important;
  line-height: 1.1 !important;
  border: none !important;
  border-bottom: none !important;
  display: block !important;
  padding: 0 !important;
  background: none !important;
  width: 100% !important;
  text-align: center !important;
}

.tb-panier-subtitle {
  font-family: "Open Sans", sans-serif !important;
  font-size: 50px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  margin: 0 0 40px !important;
  line-height: 1.2 !important;
  width: 100% !important;
  text-align: center !important;
  max-width: 1000px !important;
}

.tb-panier-stats {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.tb-panier-stat {
  background: #004B76 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 12px !important;
  padding: 18px 40px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 160px !important;
  text-align: center !important;
}

.tb-panier-stat-num {
  color: #ffffff !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: block !important;
}

.tb-panier-stat-label {
  color: rgba(255,255,255,0.6) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin-top: 0 !important;
  display: block !important;
}

/* ── 3. Titre "Dans votre panier" ── */
.tb-panier-section-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #004B76 !important;
  margin-bottom: 16px !important;
  font-family: "Open Sans", sans-serif !important;
  display: inline-block !important;
  padding-bottom: 10px !important;
  border-bottom: 3px solid #CB5223 !important;
}

/* ── 4. Tableau articles ── */
.woocommerce-cart form.woocommerce-cart-form { margin-bottom: 20px !important; }
.woocommerce-cart table.shop_table {
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  border: none !important;
  border-collapse: collapse !important;
  width: 100% !important;
}
.woocommerce-cart table.shop_table thead tr { background: #004B76 !important; }
.woocommerce-cart table.shop_table thead th {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 18px 24px !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  border: none !important;
  text-align: left !important;
  font-family: "Open Sans", sans-serif !important;
}
.woocommerce-cart table.shop_table tbody td {
  padding: 20px 24px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #004B76 !important;
  border-bottom: 0.5px solid rgba(0,0,0,.06) !important;
  vertical-align: middle !important;
  background: #fff !important;
  font-family: "Open Sans", sans-serif !important;
}
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table th.product-price,
.woocommerce-cart table.shop_table td.product-quantity,
.woocommerce-cart table.shop_table th.product-quantity,
.woocommerce-cart table.shop_table td.product-subtotal,
.woocommerce-cart table.shop_table th.product-subtotal {
  text-align: left !important;
}
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
  font-weight: 700 !important;
  color: #CB5223 !important;
}
.woocommerce-cart table.shop_table td.product-price span,
.woocommerce-cart table.shop_table td.product-subtotal span {
  font-weight: 700 !important;
  color: #CB5223 !important;
}
.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}
.woocommerce-cart table.shop_table .product-remove a {
  color: #B92121 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 2px solid #B92121 !important;
  transition: all .2s !important;
}
.woocommerce-cart table.shop_table .product-remove a:hover {
  background: #B92121 !important;
  color: #fff !important;
}
.woocommerce-cart table.shop_table .product-name a {
  color: #004B76 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  font-family: "Open Sans", sans-serif !important;
}
.woocommerce-cart table.shop_table .product-name a:hover { color: #CB5223 !important; }
.woocommerce-cart table.shop_table .quantity {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.woocommerce-cart table.shop_table .quantity input {
  border: 1px solid #CB5223 !important;
  border-radius: 8px !important;
  color: #004B76 !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 8px !important;
  font-size: 16px !important;
  width: 70px !important;
  margin: 0 !important;
  height: auto !important;
  min-height: auto !important;
  line-height: normal !important;
}
.woocommerce-cart .actions .button {
  background: #004B76 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 12px 28px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: "Open Sans", sans-serif !important;
  transition: background .2s !important;
}
.woocommerce-cart .actions .button:hover { background: #CB5223 !important; }

/* ── 5. Bloc Total panier ── */
.woocommerce-cart .cart-collaterals { background: transparent !important; }
.woocommerce-cart .cart_totals {
  float: none !important;
  width: 100% !important;
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  margin-top: 0 !important;
}
.woocommerce-cart .cart_totals .woocommerce-form-coupon-toggle,
.woocommerce-cart .cart_totals > p,
.woocommerce-cart .cart_totals h2 + p,
p.woocommerce-cart-totals-coupon-title,
.woocommerce-shipping-calculator,
div#ast-checkout-coupon > p {
  display: none !important;
}
.woocommerce-cart .cart_totals h2 {
  background: #004B76 !important;
  color: #fff !important;
  padding: 20px 24px !important;
  margin: 0 !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-family: "Open Sans", sans-serif !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.woocommerce-cart .cart_totals table {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  background: #004B76 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 16px 24px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: "Open Sans", sans-serif !important;
  border: none !important;
  border-radius: 0 !important;
  background: #004B76 !important;
}
.woocommerce-cart .cart_totals table th { color: rgba(255,255,255,.8) !important; text-align: left !important; }
.woocommerce-cart .cart_totals table td { text-align: right !important; color: #fff !important; }
.woocommerce-cart .cart_totals tr.shipping { display: none !important; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  background: #CB5223 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  padding: 18px 24px !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ── 6. Section code promo ── */
.woocommerce-cart .coupon {
  background: #F8EBE1 !important;
  border-radius: 12px !important;
  padding: 12px !important;
  margin: 12px 20px 0 20px !important;
  width: calc(100% - 40px) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
.woocommerce-cart .coupon::before {
  content: "AVEZ-VOUS UN CODE PROMO ?" !important;
  display: block !important;
  width: 100% !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #CB5223 !important;
  text-transform: uppercase !important;
  font-family: "Open Sans", sans-serif !important;
  letter-spacing: .5px !important;
  margin-bottom: 4px !important;
}
.woocommerce-cart .coupon input[type="text"] {
  flex: 1 !important;
  min-width: 0 !important;
  width: auto !important;
  border: 1.5px solid #CB5223 !important;
  border-radius: 50px !important;
  padding: 0 18px !important;
  height: 42px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #004B76 !important;
  background: #fff !important;
  font-family: "Open Sans", sans-serif !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.woocommerce-cart .coupon input[type="text"]::placeholder {
  color: rgba(203,82,35,.45) !important;
  font-weight: 400 !important;
}
.woocommerce-cart .coupon .button {
  flex-shrink: 0 !important;
  width: auto !important;
  background: #CB5223 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  height: 42px !important;
  padding: 0 20px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: "Open Sans", sans-serif !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  margin: 0 !important;
  cursor: pointer !important;
  transition: background .2s !important;
  line-height: 1 !important;
}
.woocommerce-cart .coupon .button:hover { background: #004B76 !important; }

/* ── 7. Boutons checkout ── */
.woocommerce-cart .wc-proceed-to-checkout {
  padding: 16px 20px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  background: #fff !important;
}
.woocommerce-cart .wc-proceed-to-checkout::after { content: none !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.tb-continuer-achats {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 50px !important;
  height: 52px !important;
  padding: 0 28px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: "Open Sans", sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
  transition: all .2s !important;
  margin: 0 !important;
  letter-spacing: .3px !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: #004B76 !important;
  color: #fff !important;
  border: none !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: #CB5223 !important; }
.tb-continuer-achats {
  background: transparent !important;
  color: #004B76 !important;
  border: 2px solid #004B76 !important;
}
.tb-continuer-achats:hover { background: #004B76 !important; color: #fff !important; }

/* ── 8. Sections suggestions ── */
.tb-suggestions {
  margin-top: 40px !important;
  margin-bottom: 30px !important;
  width: 100% !important;
  clear: both !important;
}
.tb-suggestions-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #004B76 !important;
  margin-bottom: 20px !important;
  font-family: "Open Sans", sans-serif !important;
  display: inline-block !important;
  padding-bottom: 10px !important;
  border-bottom: 3px solid #CB5223 !important;
}
.tb-suggestions-title::after { display: none !important; }
.tb-suggestions-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.tb-suggestion-card {
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .2s, box-shadow .2s !important;
}
.tb-suggestion-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
}
.tb-suggestion-img-wrap {
  display: block !important;
  width: 100% !important;
  height: 200px !important;
  overflow: hidden !important;
}
.tb-suggestion-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
.tb-suggestion-body { padding: 16px 16px 8px !important; flex: 1 !important; text-align: center !important; }
.tb-suggestion-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #004B76 !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 8px !important;
  text-align: center !important;
  font-family: "Open Sans", sans-serif !important;
}
.tb-suggestion-name:hover { color: #CB5223 !important; }
.tb-suggestion-price {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #CB5223 !important;
  text-align: center !important;
  font-family: "Open Sans", sans-serif !important;
}
.tb-suggestion-qty {
  font-size: 13px !important;
  color: #004B76 !important;
  font-weight: 700 !important;
  margin-top: 6px !important;
  text-align: center !important;
  font-family: "Open Sans", sans-serif !important;
}
.tb-suggestion-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 12px 16px 16px !important;
  background: #004B76 !important;
  color: #fff !important;
  text-align: center !important;
  border-radius: 50px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: "Open Sans", sans-serif !important;
  text-decoration: none !important;
  transition: background .2s !important;
}
.tb-suggestion-btn:hover { background: #CB5223 !important; }

/* ── 9. Responsive ── */
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce { padding: 20px 16px !important; }
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals { width: 100% !important; float: none !important; }
  .tb-panier-hero {
    height: 460px !important;
    width: calc(100% + 32px) !important;
    max-width: calc(100% + 32px) !important;
    margin-left: -16px !important;
    margin-right: -16px !important;
    margin-top: -20px !important;
    margin-bottom: 28px !important;
    padding: 0 20px !important;
  }
  .tb-panier-title { font-size: 34px !important; }
  .tb-panier-subtitle { font-size: 22px !important; margin-bottom: 24px !important; }
  .tb-panier-stat { padding: 14px 18px !important; min-width: 120px !important; }
  .tb-panier-stat-num { font-size: 24px !important; }
  .tb-panier-stat-label { font-size: 11px !important; }
  .tb-suggestions-grid { grid-template-columns: 1fr !important; }
}

/* ── Sous-total fond bleu complet ── */
.woocommerce-cart .cart_totals table.shop_table tbody tr.cart-subtotal td,
.woocommerce-cart .cart_totals table.shop_table tbody tr.cart-subtotal th {
  background: #004B76 !important;
  color: #fff !important;
  border: none !important;
}
.woocommerce-cart .cart_totals table.shop_table tbody tr.cart-subtotal th {
  color: rgba(255,255,255,.8) !important;
}

/* ── Code promo (position et style) ── */
#ast-checkout-coupon { margin: 0 !important; padding: 0 !important; }
.woocommerce-cart .coupon input[type="text"] {
  flex: 1 !important;
  height: 44px !important;
  padding: 0 18px !important;
  line-height: 44px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
a#ast-apply-coupon.button,
.woocommerce-cart .coupon .button {
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
  line-height: 4px !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  width: auto !important;
}

/* ── Zone boutons checkout ── */
.woocommerce-cart .wc-proceed-to-checkout {
  padding: 10px 20px 20px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 28px !important;
  line-height: 4px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  white-space: nowrap !important;
}
.tb-continuer-achats {
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 28px !important;
  line-height: 54px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* ── Code promo (même largeur que boutons) ── */
.woocommerce-cart .coupon {
  background: #F8EBE1 !important;
  border-radius: 12px !important;
  margin: 8px 0 12px 0 !important;
  width: 100% !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}

/* ── Alignement bloc total avec tableau produits ── */
.woocommerce-cart .cart-collaterals .cart_totals { margin-top: 59px !important; }

/* ── Images suggestions (image entière visible) ── */
.tb-suggestion-img-wrap {
  height: auto !important;
  background: #F8EBE1 !important;
}
.tb-suggestion-img-wrap img {
  height: auto !important;
  max-height: 300px !important;
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
}

/* ══════════════════════════════════════
   BLOC TOTAL PANIER — Variante 2
   Sous-total blanc discret + Total rouge
══════════════════════════════════════ */
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table.shop_table tbody tr.cart-subtotal td,
.woocommerce-cart .cart_totals table.shop_table tbody tr.cart-subtotal th {
  background: #ffffff !important;
  color: #004b76 !important;
}
.woocommerce-cart .cart_totals table th {
  color: #999999 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
}
.woocommerce-cart .cart_totals table td {
  color: #004b76 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  background: #b92121 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  padding: 18px 24px !important;
  border: none !important;
}
.woocommerce-cart .cart_totals .order-total th {
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.woocommerce-cart .cart_totals .order-total td { font-size: 24px !important; }
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount {
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}
.woocommerce-cart .cart_totals table tr { display: table-row !important; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  display: table-cell !important;
  vertical-align: middle !important;
  font-weight: 700 !important;
  padding: 16px 24px !important;
}
.woocommerce-cart .cart_totals table th { text-align: left !important; width: 50% !important; }
.woocommerce-cart .cart_totals table td { text-align: right !important; width: 50% !important; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  display: table-cell !important;
  vertical-align: middle !important;
  padding: 18px 24px !important;
  font-weight: 700 !important;
}

/* =========================================================
   ETAPE 2 — LAYOUT PANIER 2 COLONNES
   ========================================================= */
.woocommerce-cart #ast-cart-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 24px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
}
.woocommerce-cart #ast-cart-wrapper .ast-cart-non-sticky {
  flex: 0 0 calc(62% - 12px) !important;
  width: calc(62% - 12px) !important;
  max-width: calc(62% - 12px) !important;
  min-width: 0 !important;
  height: auto !important;
  align-self: flex-start !important;
}
.woocommerce-cart #ast-cart-wrapper .cart-collaterals {
  flex: 0 0 calc(38% - 12px) !important;
  width: calc(38% - 12px) !important;
  max-width: calc(38% - 12px) !important;
  float: none !important;
  position: static !important;
  top: auto !important;
  margin: 0 !important;
  height: auto !important;
  align-self: flex-start !important;
}
.woocommerce-cart #ast-cart-wrapper .cart-collaterals .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
@media (max-width: 921px) {
  .woocommerce-cart #ast-cart-wrapper {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .woocommerce-cart #ast-cart-wrapper .ast-cart-non-sticky,
  .woocommerce-cart #ast-cart-wrapper .cart-collaterals {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   ETAPE 4 — SECTION "VOUS POURRIEZ AUSSI AIMER"
   ========================================================= */
.woocommerce-cart .tb-suggestions {
  margin-top: 32px !important;
  padding-top: 0 !important;
  margin-bottom: 30px !important;
  width: 100% !important;
}
.woocommerce-cart .tb-suggestions-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #004B76 !important;
  margin: 0 0 22px 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 3px solid #CB5223 !important;
  display: inline-block !important;
}
.woocommerce-cart .tb-suggestions-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
}
.woocommerce-cart .tb-suggestion-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.08) !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.woocommerce-cart .tb-suggestion-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.12) !important;
}
.woocommerce-cart .tb-suggestion-img-wrap {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  overflow: hidden !important;
  background: #F8EBE1 !important;
}
.woocommerce-cart .tb-suggestion-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
.woocommerce-cart .tb-suggestion-body {
  padding: 18px 18px 8px !important;
  flex: 1 !important;
  text-align: center !important;
}
.woocommerce-cart .tb-suggestion-name {
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #004B76 !important;
  margin-bottom: 10px !important;
  min-height: 40px !important;
}
.woocommerce-cart .tb-suggestion-price {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #CB5223 !important;
}
.woocommerce-cart .tb-suggestion-btn {
  margin: 12px 16px 16px !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  border-radius: 50px !important;
  background: #004B76 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.woocommerce-cart .tb-suggestion-btn:hover { background: #CB5223 !important; }
@media (max-width: 1024px) {
  .woocommerce-cart .tb-suggestions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .woocommerce-cart .tb-suggestions-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
}


/* ═══════════════════════════════════════════════════════════════════════
   SUPPLEMENT CHECKOUT-ALIGNEMENT
   Ces regles arrivent APRES le CSS existant → elles gagnent les conflits.
   ═══════════════════════════════════════════════════════════════════════ */

/* 0. FOND + CONTENEUR : on aligne sur le formalisme du checkout
      - fond de page bleu tres pale #e8f0f7 (comme /validation-de-commande/)
      - conteneur .woocommerce sans fond creme, sans padding-top, pour que
        le hero touche direct le header orange sans bande beige au-dessus */
body.woocommerce-cart,
body.woocommerce-cart .site-content,
body.woocommerce-cart .ast-container {
  background: #e8f0f7 !important;
}
.woocommerce-cart .woocommerce {
  background: transparent !important;
  padding: 0 60px 60px !important;   /* on tue le padding-top de 40px */
}
/* Le hero avait margin-top: -40px pour compenser l'ancien padding-top.
   Maintenant que le padding-top est 0, on annule ce decalage negatif. */
.woocommerce-cart .tb-panier-hero {
  margin-top: 0 !important;
}
/* La notice Woo "produit ajoute au panier" est redondante sur la page
   /panier/ (on VOIT deja le produit dans le tableau juste en-dessous du
   hero). Elle ajoutait ~240px de vide au-dessus du hero. On la masque. */
.woocommerce-cart > .woocommerce > .woocommerce-notices-wrapper:first-child,
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
  display: none !important;
}

/* 1. HERO : orange plat → gradient navy du checkout */
.woocommerce-cart .tb-panier-hero {
  background: linear-gradient(120deg, #003d62 0%, #075d87 42%, #5e718e 100%) !important;
  background-color: #003d62 !important;
  padding-bottom: 220px !important;
  overflow: visible !important;
  margin-bottom: 90px !important;
}
.woocommerce-cart .tb-panier-hero::before { background: transparent !important; }

/* Titre navy → blanc */
.woocommerce-cart .tb-panier-title { color: #ffffff !important; }

/* Sous-titre : ajustement taille */
.woocommerce-cart .tb-panier-subtitle {
  font-size: 24px !important;
  color: rgba(255,255,255,0.94) !important;
}

/* On masque les 2 cartouches "1 ARTICLE / X TOTAL" (le stepper les remplace) */
.woocommerce-cart .tb-panier-stats { display: none !important; }

/* 2. PILL "ETAPE 1 - MON PANIER" */
.woocommerce-cart .tb-hero-eyebrow {
  display: inline-block;
  font-family: Inter, "Open Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 3.3px;
  text-transform: uppercase;
  color: #ffffff;
  background: rgba(255,255,255,0.08);
  border: 1.5px solid rgba(255,255,255,0.55);
  padding: 14px 30px;
  border-radius: 999px;
  line-height: 1;
  margin-bottom: 28px;
}

/* 3. STEPPER : DANS le hero, positionne absolute, centre sur la page */
.woocommerce-cart .tb-panier-hero .tb-steps-wrap,
body.woocommerce-cart .tb-panier-hero .tb-steps-wrap {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  bottom: -80px !important;
  z-index: 5 !important;
  display: flex !important;
  justify-content: center !important;
  padding: 0 30px !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
  translate: none !important;
}
.woocommerce-cart .tb-panier-hero .tb-steps {
  background: #ffffff !important;
  border: 1px solid rgba(0,75,118,0.05) !important;
  border-radius: 24px !important;
  box-shadow:
    0 20px 55px rgba(0,75,118,0.16),
    0 4px 12px rgba(0,75,118,0.06) !important;
  padding: 28px 54px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  position: relative !important;
  width: 100% !important;
  max-width: 960px !important;
  box-sizing: border-box !important;
  z-index: 1 !important;
}
.woocommerce-cart .tb-steps::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 70px;
  height: 2px;
  background: repeating-linear-gradient(to right, rgba(0,75,118,0.15) 0 8px, transparent 8px 16px);
  z-index: 0;
}
.woocommerce-cart .tb-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  position: relative;
  z-index: 1;
}
.woocommerce-cart .tb-step-dot {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Inter, "Open Sans", sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #ffffff;
  background: #f0dfd0;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
.woocommerce-cart .tb-step.active .tb-step-dot {
  background: #cb5223;
  color: #ffffff;
  box-shadow: 0 6px 18px rgba(203,82,35,0.35);
}
.woocommerce-cart .tb-step.todo .tb-step-dot {
  background: #f0dfd0;
  color: #8a7a6e;
}
.woocommerce-cart .tb-step-label {
  font-family: Inter, "Open Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #1c2a35;
  text-align: center;
  line-height: 1.35;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.woocommerce-cart .tb-step-status {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #808285;
}
.woocommerce-cart .tb-step.active .tb-step-status { color: #cb5223; }
.woocommerce-cart .tb-step.todo .tb-step-label { color: #5f554d; }

/* 4. BOUTON "Valider la commande" : navy → rouge du checkout */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: #b92121 !important;
  color: #ffffff !important;
  box-shadow:
    0 4px 14px rgba(185,33,33,0.28),
    0 12px 30px rgba(185,33,33,0.22) !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #a11d1d !important;
}

/* 5. TRUST BAR (bloc apres cartouche total) */
/* Trust bar — valeurs exactes reprises de la page /validation-de-commande/
   pour un rendu strictement identique entre panier et checkout. */
.woocommerce-cart .tb-trust {
  background: #f4ede4 !important;
  border-radius: 12px !important;
  padding: 20px 18px !important;
  margin: 20px 0 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}
.woocommerce-cart .tb-trust-item {
  text-align: center !important;
  padding: 0 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
}
/* Icone : emoji natif WordPress, taille 20px, sans fond */
.woocommerce-cart .tb-trust-ico {
  display: block !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: #1ea54c !important;
  font-size: 20px !important;
  line-height: 1 !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
/* Titre "PAIEMENT SÉCURISÉ" etc : navy uppercase 10px 800 letter-spacing */
.woocommerce-cart .tb-trust-item b {
  display: block !important;
  font-family: Inter, "Open Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #004b76 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
/* Sous-titre "SSL 256-bit" etc : warm gray, italique enleve */
.woocommerce-cart .tb-trust-item em {
  display: block !important;
  font-family: Inter, "Open Sans", sans-serif !important;
  font-size: 9px !important;
  font-style: normal !important;
  color: #8a7a6e !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
.woocommerce-cart .tb-trust-item strong {
  display: block;
  font-family: Inter, "Open Sans", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #1c2a35;
  margin-bottom: 2px;
}
.woocommerce-cart .tb-trust-item span {
  font-family: Inter, "Open Sans", sans-serif;
  font-size: 12px;
  color: #808285;
  line-height: 1.35;
  display: block;
}

/* 7. LAYOUT 2 COLONNES — meme largeur que le checkout
      Grid identique a form.checkout du /validation-de-commande/ :
      max-width 1600px, colonnes 1000px + 540px, gap 60px, centre via
      le trick margin-left:50% + transform:translateX(-50%) qui laisse
      le grid deborder d'un eventuel conteneur etroit. */
.woocommerce-cart #ast-cart-wrapper,
body.woocommerce-cart #ast-cart-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1000px) minmax(0, 540px) !important;
  column-gap: 60px !important;
  row-gap: 0 !important;

  width: calc(100vw - 48px) !important;
  max-width: 1600px !important;

  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;

  padding: 0 0 40px !important;

  align-items: start !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
/* Colonne produits (gauche) : reprend toute la 1re colonne du grid */
.woocommerce-cart #ast-cart-wrapper .ast-cart-non-sticky {
  grid-column: 1 !important;
  flex: initial !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}
/* Colonne totaux (droite) : reprend toute la 2e colonne du grid */
.woocommerce-cart #ast-cart-wrapper .cart-collaterals {
  grid-column: 2 !important;
  flex: initial !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  position: static !important;
  align-self: start !important;
}
.woocommerce-cart #ast-cart-wrapper .cart-collaterals .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
}

/* La marge de compensation "margin-top: 59px" qu'on avait ajoutee pour
   aligner les 2 colonnes n'a plus lieu d'etre avec ce grid — on l'annule. */
.woocommerce-cart .cart-collaterals .cart_totals {
  margin-top: 0 !important;
}

/* Le titre "Dans votre panier" reste DANS la colonne gauche, au-dessus
   du tableau produits (le hook PHP le pose deja au bon endroit). */
.woocommerce-cart #ast-cart-wrapper .tb-panier-section-title {
  display: inline-block !important;
  margin: 0 0 14px 0 !important;
  padding: 0 0 10px 0 !important;
  width: auto !important;
  transform: none !important;
}
/* Le cart_totals est decale de 58px vers le bas pour que sa carte
   (le header navy "Total panier") s'aligne avec le tableau produits en
   face, en tenant compte de la hauteur du titre "Dans votre panier"
   (24px font + 10px padding-bottom + 14px margin-bottom = 58 environ). */
.woocommerce-cart #ast-cart-wrapper .cart-collaterals .cart_totals,
body.woocommerce-cart #ast-cart-wrapper .cart-collaterals .cart_totals {
  margin-top: 58px !important;
}
/* On force les 2 formulaires (produits a gauche, totals a droite) a
   demarrer sans marge en haut, pour que les 2 titres soient sur la meme ligne. */
.woocommerce-cart #ast-cart-wrapper .ast-cart-non-sticky > *:first-child,
.woocommerce-cart #ast-cart-wrapper .cart-collaterals > *:first-child,
.woocommerce-cart #ast-cart-wrapper form.woocommerce-cart-form,
.woocommerce-cart #ast-cart-wrapper form.woocommerce-cart-form > *:first-child {
  margin-top: 0 !important;
}

/* La section "Vous pourriez aussi aimer" est injectee par le PHP hook
   woocommerce_after_cart, ce qui la place comme enfant direct du
   #ast-cart-wrapper (donc dans le grid). Sans regle grid-column, elle
   irait automatiquement dans la 1re colonne d'une nouvelle ligne (etroit
   et decale). On la force a occuper les 2 colonnes. */
.woocommerce-cart #ast-cart-wrapper .tb-suggestions,
.woocommerce-cart .tb-suggestions {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 32px 0 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  translate: none !important;
  box-sizing: border-box !important;
}

/* Responsive : 1200px */
@media (max-width: 1200px) {
  .woocommerce-cart #ast-cart-wrapper,
  body.woocommerce-cart #ast-cart-wrapper {
    grid-template-columns: minmax(0, 1fr) 420px !important;
    column-gap: 30px !important;
    width: calc(100vw - 40px) !important;
  }
  .woocommerce-cart .tb-panier-section-title,
  .woocommerce-cart .tb-suggestions {
    width: calc(100vw - 40px) !important;
  }
}
/* Responsive : 900px — passage en une colonne */
@media (max-width: 900px) {
  .woocommerce-cart #ast-cart-wrapper,
  body.woocommerce-cart #ast-cart-wrapper {
    grid-template-columns: 1fr !important;
    row-gap: 24px !important;
    column-gap: 0 !important;
    width: calc(100vw - 32px) !important;
    padding-bottom: 30px !important;
  }
  .woocommerce-cart #ast-cart-wrapper .ast-cart-non-sticky,
  .woocommerce-cart #ast-cart-wrapper .cart-collaterals {
    grid-column: 1 !important;
  }
  .woocommerce-cart .tb-panier-section-title,
  .woocommerce-cart .tb-suggestions {
    width: calc(100vw - 32px) !important;
  }
}
/* Responsive : 520px */
@media (max-width: 520px) {
  .woocommerce-cart #ast-cart-wrapper,
  body.woocommerce-cart #ast-cart-wrapper {
    width: calc(100vw - 24px) !important;
  }
  .woocommerce-cart .tb-panier-section-title,
  .woocommerce-cart .tb-suggestions {
    width: calc(100vw - 24px) !important;
  }
}

/* 6. RESPONSIVE mobile */
@media (max-width: 767px) {
  .woocommerce-cart .tb-panier-hero { padding-bottom: 120px !important; }
  .woocommerce-cart .tb-hero-eyebrow {
    font-size: 12px;
    letter-spacing: 2.4px;
    padding: 10px 18px;
  }
  .woocommerce-cart .tb-panier-hero .tb-steps { padding: 22px 18px; gap: 12px; }
  .woocommerce-cart .tb-steps::before { display: none; }
  .woocommerce-cart .tb-step-dot { width: 42px; height: 42px; font-size: 16px; }
  .woocommerce-cart .tb-step-label { font-size: 12px; }
  .woocommerce-cart .tb-step-status { font-size: 10px; }
  .woocommerce-cart .tb-trust { grid-template-columns: 1fr; }
  .woocommerce-cart .tb-trust-item {
    flex-direction: row;
    text-align: left;
    gap: 12px;
  }
  .woocommerce-cart .tb-trust-item strong { margin-bottom: 0; }
}/* End custom CSS */