/* ========================================================================
   PAGE PANIER v9 - Location en Fête
   bleu foncé #2997AA, bleu-vert #3AA6B9, corail #FF6B6B, texte #2D3748
   ======================================================================== */

/* ── PAGE PLUS LARGE ── */
.woocommerce-cart .site-content > .ast-container,
.woocommerce-cart .site-main > .ast-container,
body.woocommerce-cart .site-container {
  max-width: 1400px !important;
  width: 95% !important;
}

/* ── ÉTAPES CHECKOUT ── */
#ast-checkout-wrap {
  margin-bottom: 32px !important;
  gap: 8px !important;
}

#ast-checkout-wrap a .ast-step-number {
  width: 28px !important;
  height: 28px !important;
  line-height: 28px !important;
  font-size: 13px !important;
  border-radius: 50% !important;
}

#ast-checkout-wrap a.ast-current .ast-step-number {
  background: #18475B !important;
  color: #fff !important;
  border-color: #18475B !important;
}

#ast-checkout-wrap a.ast-current p {
  color: #18475B !important;
  font-weight: 700 !important;
}

#ast-checkout-wrap a:not(.ast-current) .ast-step-number {
  border-color: #cbd5e0 !important;
  color: #cbd5e0 !important;
}

#ast-checkout-wrap a:not(.ast-current) p {
  color: #b0bec5 !important;
}

#ast-checkout-wrap .ahfb-svg-iconset svg {
  fill: #cbd5e0 !important;
  width: 12px !important;
}

/* ── MESSAGE "PANIER MIS À JOUR" ── */
.woocommerce-message {
  border-top: 3px solid #3AA6B9 !important;
  background: #f0fafb !important;
  color: #2D3748 !important;
  font-size: 13px !important;
  padding: 12px 16px 12px 40px !important;
  border-radius: 0 0 8px 8px !important;
  margin-bottom: 16px !important;
  position: relative !important;
}

.woocommerce-message::before {
  color: #3AA6B9 !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.woocommerce-message a {
  color: #3AA6B9 !important;
}

/* ── TABLE PANIER ── */
.woocommerce-cart-form .shop_table {
  border: 1px solid #edf2f7 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

/* En-tête */
.woocommerce-cart-form .shop_table thead th {
  background: #f8fbfc !important;
  color: #18475B !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

/* ── Largeurs colonnes ── */
.woocommerce-cart-form .shop_table th.product-remove,
.woocommerce-cart-form .shop_table td.product-remove {
  width: 36px !important;
  padding: 10px 4px 10px 12px !important;
  vertical-align: middle !important;
  text-align: center !important;
}

.woocommerce-cart-form .shop_table th.product-thumbnail,
.woocommerce-cart-form .shop_table td.product-thumbnail {
  width: 76px !important;
  padding: 10px 8px !important;
}

.woocommerce-cart-form .shop_table th.product-name,
.woocommerce-cart-form .shop_table td.product-name {
  width: auto !important;
  padding: 10px 14px !important;
}

.woocommerce-cart-form .shop_table th.product-price,
.woocommerce-cart-form .shop_table td.product-price {
  width: 120px !important;
  padding: 10px 10px !important;
}

.woocommerce-cart-form .shop_table th.product-quantity,
.woocommerce-cart-form .shop_table td.product-quantity {
  width: 80px !important;
  padding: 10px 8px !important;
  text-align: center !important;
}

.woocommerce-cart-form .shop_table th.product-subtotal,
.woocommerce-cart-form .shop_table td.product-subtotal {
  width: 130px !important;
  padding: 10px 14px 10px 10px !important;
}

/* ── Lignes produits ── */
.woocommerce-cart-form .shop_table tbody tr.cart_item {
  border-bottom: 1px solid #f5f7fa !important;
}

.woocommerce-cart-form .shop_table tbody tr.bundle_table_item:not(.bundled_table_item) {
  border-top: 1px solid #e2e8f0 !important;
}

.woocommerce-cart-form .shop_table tbody tr.bundle_table_item:not(.bundled_table_item):first-child {
  border-top: none !important;
}

/* ── Bundle sub-items ── */
.woocommerce-cart-form .shop_table tbody tr.bundled_table_item {
  background: #fafcfe !important;
}

.woocommerce-cart-form .shop_table tbody tr.bundled_table_item td {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.woocommerce-cart-form .shop_table tbody tr.bundled_table_item td.product-thumbnail img {
  width: 36px !important;
  height: 36px !important;
}

.woocommerce-cart-form .shop_table tbody tr.bundled_table_item td.product-name {
  padding-left: 14px !important;
}

.woocommerce-cart-form .shop_table .bundled_table_item .ast-product-name,
.woocommerce-cart-form .shop_table .bundled_table_item .ast-product-name a,
.woocommerce-cart-form .shop_table .bundled_table_item td.product-name a,
.woocommerce-cart-form .shop_table .bundled_table_item td.product-name .ast-product-name,
.woocommerce-cart-form .shop_table tr.bundled_table_item td.product-name .ast-product-name {
  color: #6b7d8e !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.woocommerce-cart-form .shop_table .bundled_table_item td.product-price .woocommerce-Price-amount,
.woocommerce-cart-form .shop_table .bundled_table_item td.product-subtotal .woocommerce-Price-amount {
  color: #a0aec0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.woocommerce-cart-form .shop_table .bundled_table_item td.product-quantity {
  font-size: 12px !important;
  color: #a0aec0 !important;
}

.woocommerce-cart-form .shop_table .bundled_table_item .tinv-wraper {
  display: none !important;
}

/* ── Bouton supprimer ── */
.woocommerce-cart-form .shop_table td.product-remove a.remove {
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  opacity: 0.4 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.woocommerce-cart-form .shop_table td.product-remove a.remove:hover,
.woocommerce-cart-form .shop_table td.product-remove a.remove:focus,
.woocommerce-cart-form .shop_table td.product-remove a.remove:active {
  opacity: 1 !important;
  transform: scale(1.15) !important;
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.woocommerce-cart-form .shop_table td.product-remove .remove svg {
  width: 16px !important;
  height: 16px !important;
  fill: #FF6B6B !important;
}

/* Cœur sous le X */
.woocommerce-cart-form .shop_table td.product-remove .tinv-wraper {
  display: block !important;
  margin-top: 6px !important;
}

/* ── Save for later - juste le cœur ── */
.tinvwl_cart_to_wishlist_button .tinvwl_add_to_wishlist-text {
  display: none !important;
}

.tinvwl_cart_to_wishlist_button {
  font-size: 0 !important;
  color: #FF6B6B !important;
  display: block !important;
  text-align: center !important;
}

.tinvwl_cart_to_wishlist_button::before {
  font-size: 16px !important;
  color: #FF6B6B !important;
  transition: color 0.2s ease !important;
}

.tinvwl_cart_to_wishlist_button:hover::before {
  color: #ff4444 !important;
}

.tinvwl-bulk-save-cart {
  display: none !important;
}

/* ── Miniatures ── */
.woocommerce-cart-form .shop_table td.product-thumbnail img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  border: 1px solid #f0f4f8 !important;
  background: #fff !important;
  padding: 4px !important;
  mix-blend-mode: multiply !important;
}

/* ── Nom produit ── */
.woocommerce-cart-form .shop_table td.product-name a {
  color: #18475B !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}

/* Variant names (div.ast-product-name, pas dans un bundle) */
.woocommerce-cart-form .shop_table td.product-name .ast-product-name {
  color: #18475B !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

.woocommerce-cart-form .shop_table td.product-name a:hover {
  color: #3AA6B9 !important;
}

.woocommerce-cart-form .shop_table .edit_in_cart_text small {
  color: #18475B !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

/* ── Prix TVAC ── */
.woocommerce-cart-form .shop_table td.product-price .woocommerce-Price-amount,
.woocommerce-cart-form .shop_table td.product-subtotal .woocommerce-Price-amount {
  color: #FF6B6B !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

.lef-cart-price-label {
  font-size: 10px !important;
  color: #FF6B6B !important;
  font-weight: 500 !important;
  margin-left: 2px !important;
  opacity: 0.7 !important;
}

.lef-cart-price-htva {
  display: block !important;
  font-size: 12px !important;
  color: #718096 !important;
  font-weight: 500 !important;
  margin-top: 1px !important;
}

.lef-cart-price-htva small {
  font-weight: 400 !important;
  color: #a0aec0 !important;
}

/* ── Input quantité ── */
.woocommerce-cart-form .shop_table .quantity .qty {
  width: 46px !important;
  height: 34px !important;
  text-align: center !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #2D3748 !important;
  background: #fff !important;
  -moz-appearance: textfield !important;
  transition: border-color 0.2s ease !important;
}

.woocommerce-cart-form .shop_table .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart-form .shop_table .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.woocommerce-cart-form .shop_table .quantity .qty:focus {
  border-color: #3AA6B9 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(58, 166, 185, 0.12) !important;
}

/* ── Actions ── */
.woocommerce-cart-form .shop_table td.actions {
  padding: 14px !important;
  background: #f8fbfc !important;
  border-top: 1px solid #edf2f7 !important;
}

.woocommerce-cart-form .shop_table td.actions .coupon .input-text {
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
}

.woocommerce-cart-form .shop_table td.actions .coupon .input-text:focus {
  border-color: #3AA6B9 !important;
  outline: none !important;
}

.woocommerce-cart-form .shop_table td.actions .coupon .button {
  background: #3AA6B9 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.woocommerce-cart-form .shop_table td.actions button[name="update_cart"] {
  background: transparent !important;
  color: #718096 !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.woocommerce-cart-form .shop_table td.actions button[name="update_cart"]:hover {
  border-color: #3AA6B9 !important;
  color: #3AA6B9 !important;
}

/* ========================================================================
   SIDEBAR TOTAUX
   ======================================================================== */
.cart_totals {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 0 !important;
  border: 1px solid #edf2f7 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  overflow: hidden !important;
}

.cart_totals h2 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 14px 24px !important;
  background: linear-gradient(135deg, #FF6B6B, #ff5252) !important;
  border: none !important;
}

.cart_totals .shop_table {
  border: none !important;
  margin: 0 !important;
}

.cart_totals .shop_table th,
.cart_totals .shop_table td {
  border: none !important;
  background: transparent !important;
  padding: 10px 24px !important;
}

.cart_totals .shop_table th {
  color: #718096 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  text-align: left !important;
}

.cart_totals .shop_table td {
  color: #2D3748 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  text-align: right !important;
}

/* ★ FIX SHIPPING: text-align left + overflow visible ★ */
.cart_totals .shop_table tr.woocommerce-shipping-totals td,
.cart_totals .shop_table .woocommerce-shipping-totals td[data-title] {
  text-align: left !important;
  overflow: visible !important;
}

/* Desktop: shipping labels on one line */
.cart_totals .woocommerce-shipping-methods label {
  white-space: nowrap !important;
}

.cart_totals .shop_table tr {
  border-bottom: 1px solid #f5f7fa !important;
}

.cart_totals .shop_table tr.order-total {
  border-bottom: none !important;
  border-top: 1px solid #e2e8f0 !important;
}

.cart_totals .shop_table tr.order-total th {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #2D3748 !important;
  padding-top: 16px !important;
}

.cart_totals .shop_table tr.order-total td {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #FF6B6B !important;
  padding-top: 16px !important;
}

/* ── Livraison radios ── */
.cart_totals .woocommerce-shipping-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ★ FIX: annuler le text-indent/-22px de WooCommerce qui coupe les radios ★ */
.cart_totals .woocommerce-shipping-methods li,
ul#shipping_method li,
ul#shipping_method li:not(.elementor-widget-woocommerce-cart #shipping_method li) {
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-indent: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.cart_totals .woocommerce-shipping-methods label {
  font-size: 13px !important;
  color: #2D3748 !important;
  cursor: pointer !important;
  font-weight: 500 !important;
}

/* ★ Radio - ciblage maximal avec reset complet ★ */
input.shipping_method,
input.shipping_method[type="radio"],
#shipping_method input[type="radio"],
#shipping_method li input,
.woocommerce-shipping-methods input[type="radio"],
.cart_totals input[type="radio"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  border: 2px solid #cbd5e0 !important;
  border-radius: 50% !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  position: relative !important;
  flex-shrink: 0 !important;
  background: #fff !important;
  background-image: none !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  line-height: normal !important;
  float: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
}

input.shipping_method:checked,
#shipping_method input[type="radio"]:checked {
  border-color: #3AA6B9 !important;
  background: #fff !important;
  background-image: none !important;
}

input.shipping_method::before,
#shipping_method input[type="radio"]::before {
  content: '' !important;
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: 8px !important;
  height: 8px !important;
  background: #3AA6B9 !important;
  border-radius: 50% !important;
  transform: scale(0) !important;
  transition: transform 0.15s ease !important;
}

input.shipping_method:checked::before,
#shipping_method input[type="radio"]:checked::before {
  transform: scale(1) !important;
}

input.shipping_method:focus,
#shipping_method input[type="radio"]:focus {
  box-shadow: none !important;
  outline: none !important;
}

.cart_totals .woocommerce-shipping-destination {
  font-size: 11px !important;
  color: #a0aec0 !important;
  margin-top: 4px !important;
}

.cart_totals .shipping-calculator-button {
  font-size: 12px !important;
  color: #3AA6B9 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

/* Coupon sidebar */
#ast-coupon-trigger {
  color: #3AA6B9 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  padding: 0 24px !important;
}

#ast-checkout-coupon .coupon {
  padding: 0 24px !important;
}

#ast-checkout-coupon .coupon input {
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
}

#ast-checkout-coupon .coupon .button {
  background: #3AA6B9 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* ── Bouton Valider ── */
.wc-proceed-to-checkout {
  padding: 16px 24px 24px !important;
}

.wc-proceed-to-checkout .checkout-button {
  background: #fff !important;
  color: #FF6B6B !important;
  border: 2px solid #FF6B6B !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 14px 24px !important;
  width: 100% !important;
  text-align: center !important;
  display: block !important;
  text-transform: none !important;
  transition: all 0.25s ease !important;
  box-shadow: none !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
  background: #FF6B6B !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(255, 107, 107, 0.35) !important;
}

/* ========================================================================
   MOBILE
   ======================================================================== */
@media (max-width: 768px) {

  .woocommerce-cart .site-content > .ast-container,
  .woocommerce-cart .site-main > .ast-container {
    width: 100% !important;
    padding: 0 10px !important;
  }

  /* Titre Panier - GRAND (dans les étapes checkout) */
  .woocommerce-cart .entry-title,
  .woocommerce-cart .woocommerce-products-header__title,
  .woocommerce-cart .page-title,
  .woocommerce-cart .ast-woo-header-section .page-title {
    font-size: 28px !important;
    color: #18475B !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
  }

  /* Le mot "Panier" dans le breadcrumb Astra */
  #ast-checkout-wrap a.ast-current p {
    font-size: 18px !important;
    font-weight: 700 !important;
  }

  /* Titres produits mobile */
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-name a,
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-name .ast-product-name {
    font-size: 11.5px !important;
    color: #18475B !important;
  }

  /* Message update - icône ne chevauche pas le texte */
  .woocommerce-message {
    font-size: 12px !important;
    padding: 10px 12px 10px 36px !important;
    margin-bottom: 8px !important;
    position: relative !important;
  }

  .woocommerce-message::before {
    position: absolute !important;
    left: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 14px !important;
  }

  /* Étapes mobile */
  #ast-checkout-wrap {
    margin-bottom: 12px !important;
    gap: 2px !important;
  }

  #ast-checkout-wrap a .ast-step-number {
    width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
    font-size: 10px !important;
  }

  #ast-checkout-wrap a p {
    font-size: 11px !important;
  }

  #ast-checkout-wrap .ahfb-svg-iconset svg {
    width: 8px !important;
  }

  /* ── Table reset total ── */
  .woocommerce-cart-form .shop_table {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .woocommerce-cart-form .shop_table thead {
    display: none !important;
  }

  /* Kill ALL Astra default td borders and ::before labels */
  .woocommerce-cart-form .shop_table td {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
  }

  .woocommerce-cart-form .shop_table td::before {
    display: none !important;
    content: none !important;
  }

  /* ── Produit principal = carte ──
     Row 1: [Image 56px] [Titre + Modifier]
     Row 2: [X ♡] [Prix TVAC + HTVA] [Qty]
  */
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) {
    display: grid !important;
    grid-template-columns: 56px 1fr auto !important;
    grid-template-rows: auto auto !important;
    gap: 0 10px !important;
    background: #fff !important;
    border: 1px solid #edf2f7 !important;
    border-radius: 12px !important;
    padding: 12px !important;
    margin-bottom: 8px !important;
    align-items: center !important;
  }

  /* Image: col 1, row 1 */
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-thumbnail {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: 0 !important;
    width: auto !important;
  }

  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-thumbnail img {
    width: 56px !important;
    height: 56px !important;
    border-radius: 8px !important;
    border: none !important;
  }

  /* Nom: col 2-3, row 1 */
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-name {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    padding: 0 0 8px 0 !important;
    width: auto !important;
  }

  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-name a {
    font-size: 11.5px !important;
    color: #18475B !important;
    line-height: 1.3 !important;
  }

  /* Row 2 col 1: X + ♡ */
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-remove {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 0 !important;
    width: auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    padding-top: 4px !important;
  }

  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-remove .tinv-wraper {
    display: inline-flex !important;
    margin-top: 0 !important;
  }

  /* Row 2 col 2: Prix - aligné verticalement avec qty */
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-price {
    grid-column: 2 !important;
    grid-row: 2 !important;
    padding: 0 !important;
    width: auto !important;
    padding-top: 4px !important;
    display: flex !important;
    align-items: center !important;
  }

  .lef-price-mobile-wrap {
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
  }

  .lef-price-mobile-wrap .woocommerce-Price-amount {
    font-size: 13px !important;
  }

  .lef-price-mobile-wrap .lef-cart-price-label {
    font-size: 9px !important;
  }

  .lef-price-mobile-wrap .lef-cart-price-htva {
    display: inline !important;
    font-size: 11px !important;
    margin-top: 0 !important;
  }

  /* Row 2 col 3: Quantité - aligné avec prix */
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-quantity {
    grid-column: 3 !important;
    grid-row: 2 !important;
    padding: 0 !important;
    width: auto !important;
    text-align: right !important;
    padding-top: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .woocommerce-cart-form .shop_table .quantity .qty {
    width: 40px !important;
    height: 30px !important;
    font-size: 13px !important;
  }

  /* Sous-total: caché */
  .woocommerce-cart-form .shop_table tbody tr.cart_item:not(.bundled_table_item) td.product-subtotal {
    display: none !important;
  }

  /* ── Bundle sub-items mobile ── */
  .woocommerce-cart-form .shop_table tbody tr.bundled_table_item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #f8fbfc !important;
    border: 1px solid #f0f4f8 !important;
    border-radius: 8px !important;
    padding: 6px 10px !important;
    margin: 0 4px 4px 20px !important;
  }

  .woocommerce-cart-form .shop_table tbody tr.bundled_table_item td {
    padding: 0 !important;
    width: auto !important;
    display: inline !important;
  }

  .woocommerce-cart-form .shop_table tbody tr.bundled_table_item td.product-remove {
    display: none !important;
  }

  .woocommerce-cart-form .shop_table tbody tr.bundled_table_item td.product-thumbnail img {
    width: 30px !important;
    height: 30px !important;
    border-radius: 6px !important;
    border: none !important;
  }

  .woocommerce-cart-form .shop_table .bundled_table_item td.product-name a,
  .woocommerce-cart-form .shop_table .bundled_table_item .ast-product-name,
  .woocommerce-cart-form .shop_table .bundled_table_item td.product-name .ast-product-name {
    font-size: 11px !important;
    color: #6b7d8e !important;
    font-weight: 500 !important;
  }

  .woocommerce-cart-form .shop_table .bundled_table_item td.product-price .woocommerce-Price-amount {
    font-size: 11px !important;
    color: #a0aec0 !important;
  }

  .woocommerce-cart-form .shop_table tbody tr.bundled_table_item td.product-quantity,
  .woocommerce-cart-form .shop_table tbody tr.bundled_table_item td.product-subtotal {
    display: none !important;
  }

  .woocommerce-cart-form .shop_table .bundled_table_item .lef-cart-price-htva,
  .woocommerce-cart-form .shop_table .bundled_table_item .lef-cart-price-label,
  .woocommerce-cart-form .shop_table .bundled_table_item .tinv-wraper {
    display: none !important;
  }

  /* ── Actions mobile ── */
  .woocommerce-cart-form .shop_table td.actions {
    display: block !important;
    padding: 12px 0 !important;
    background: none !important;
    border: none !important;
  }

  /* ── Total panier mobile ── */
  .cart_totals {
    border-radius: 12px !important;
    margin-top: 12px !important;
  }

  .cart_totals h2 {
    font-size: 14px !important;
    padding: 12px 16px !important;
  }

  .cart_totals .shop_table th,
  .cart_totals .shop_table td {
    padding: 8px 16px !important;
    font-size: 12px !important;
  }

  .cart_totals .shop_table tr.order-total td {
    font-size: 16px !important;
  }

  /* Shipping: empilé sur mobile */
  .cart_totals .shop_table tr.woocommerce-shipping-totals {
    display: block !important;
  }

  /* Cacher le th - Astra met déjà "Envoi 1:" via ::before sur le td */
  .cart_totals .shop_table tr.woocommerce-shipping-totals th {
    display: none !important;
  }

  .cart_totals .shop_table tr.woocommerce-shipping-totals td {
    display: block !important;
    width: 100% !important;
    padding-top: 8px !important;
    text-align: left !important;
  }

  /* Réactiver le ::before label Astra uniquement pour shipping */
  .cart_totals .shop_table tr.woocommerce-shipping-totals td::before {
    display: block !important;
    content: attr(data-title) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    color: #718096 !important;
    margin-bottom: 6px !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  /* Le contenu du td (ul radios) doit aussi être en block */
  .cart_totals .shop_table tr.woocommerce-shipping-totals td #shipping_method,
  .cart_totals .shop_table tr.woocommerce-shipping-totals td .woocommerce-shipping-methods {
    display: block !important;
    clear: both !important;
    width: 100% !important;
  }

  .cart_totals .woocommerce-shipping-methods label {
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .wc-proceed-to-checkout {
    padding: 12px 16px 20px !important;
  }

  .wc-proceed-to-checkout .checkout-button {
    font-size: 14px !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
  }
}