/* ═══════════════════════════════════════════════
   France Mineraux V6 — Cart & Checkout
   Design System: aubergine / gold / cream
   Fonts: Cormorant Garamond / Raleway
   Session 7 — 21 mars 2026
   ═══════════════════════════════════════════════ */

/* ── PAGE LAYOUT ── */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
  background: var(--cream-warm, #FAF7F2) !important;
  padding-bottom: 60px !important;
}
.woocommerce-cart .site-main > .container,
.woocommerce-checkout .site-main > .container,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* ═══════════════════════════════════════════════
   CHECKOUT STEPS / STEPPER
   ThemeSky renders: .ts-cart-checkout-process-bar
   with a.process-cart, a.process-checkout, a.process-confirm
   Each has: span.status (number) + div > h6 (title) + span (desc)
   ═══════════════════════════════════════════════ */

/* Wrapper — horizontal stepper row */
.ts-cart-checkout-process-bar {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 0 !important;
  padding: 28px 0 24px !important;
  margin-bottom: 20px !important;
  counter-reset: step-counter !important;
}

/* Each step link */
.ts-cart-checkout-process-bar > a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  text-decoration: none !important;
  padding: 0 28px !important;
  position: relative !important;
  min-width: 180px !important;
  flex: 1 !important;
  max-width: 260px !important;
}

/* Number circle — use .status span content or CSS counter */
.ts-cart-checkout-process-bar > a .status {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--cream, #EDE7DD) !important;
  color: var(--text-muted, #9A8A9A) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  transition: all .3s ease !important;
}
/* First step has empty .status — fill with "1" */
.ts-cart-checkout-process-bar > a .status:empty::before {
  content: '1' !important;
}

/* Step titles (h6) */
.ts-cart-checkout-process-bar > a h6 {
  font-family: 'Raleway', sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--text-muted, #9A8A9A) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  transition: color .3s ease !important;
}

/* Step description (span inside div) */
.ts-cart-checkout-process-bar > a > div > span {
  font-family: 'Raleway', sans-serif !important;
  font-size: .7rem !important;
  color: var(--text-muted, #9A8A9A) !important;
  margin-top: 2px !important;
  font-weight: 400 !important;
  display: block !important;
}

/* ── Active step ── */
.ts-cart-checkout-process-bar > a.active .status {
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  box-shadow: 0 2px 10px rgba(60, 42, 60, .25) !important;
}
.ts-cart-checkout-process-bar > a.active h6 {
  color: var(--aubergine, #3C2A3C) !important;
}
.ts-cart-checkout-process-bar > a.active > div > span {
  color: var(--text-soft, #6B5B6B) !important;
}

/* ── Connector lines between steps ── */
.ts-cart-checkout-process-bar > a:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  top: 18px !important;
  right: -2px !important;
  width: calc(100% - 140px) !important;
  max-width: 60px !important;
  height: 1px !important;
  background: var(--cream, #EDE7DD) !important;
}
/* Active step connector in gold */
.ts-cart-checkout-process-bar > a.active:not(:last-child)::after {
  background: var(--gold, #C4A265) !important;
}

/* ═══════════════════════════════════════════════
   YITH POINTS / DIAMANTS
   ═══════════════════════════════════════════════ */
/* Notification "En achetant ce produit vous gagnerez X Diamants!" */
.ywpar-earn-points-message,
.ywpar_earn_points_message,
.woocommerce-cart .woocommerce > div[class*="ywpar"],
.woocommerce-checkout .woocommerce > div[class*="ywpar"],
.woocommerce-cart main > div:not([class*="woocommerce"]):not(form):first-of-type,
.woocommerce .ywpar-messages,
.woocommerce .ywpar-message,
div[class*="ywpar_earn"],
div[class*="yith-par"] {
  background: var(--white, #fff) !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-left: 4px solid var(--gold, #C4A265) !important;
  border-radius: 0 12px 12px 0 !important;
  padding: 16px 20px !important;
  margin: 16px 0 !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .85rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  box-shadow: 0 2px 8px rgba(60, 42, 60, .04) !important;
}

/* Diamants apply form */
.ywpar_apply_points_container,
.ywpar-apply-points-container,
form[class*="ywpar"],
.woocommerce-cart main > form:not(.woocommerce-cart-form):first-of-type,
.woocommerce-checkout main > form:not(.woocommerce-checkout):first-of-type {
  background: var(--white, #fff) !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 12px !important;
  padding: 18px 24px !important;
  margin: 0 0 24px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .85rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 2px 8px rgba(60, 42, 60, .04) !important;
}
/* Diamants input */
.ywpar_apply_points_container input[type="text"],
.ywpar-apply-points-container input[type="text"],
form[class*="ywpar"] input[type="text"] {
  width: 60px !important;
  text-align: center !important;
  padding: 8px 12px !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  background: var(--cream-warm, #FAF7F2) !important;
  outline: none !important;
}
.ywpar_apply_points_container input[type="text"]:focus,
form[class*="ywpar"] input[type="text"]:focus {
  border-color: var(--gold, #C4A265) !important;
  box-shadow: 0 0 0 3px rgba(196, 162, 101, .12) !important;
}
/* Diamants submit button */
.ywpar_apply_points_container button,
.ywpar_apply_points_container input[type="submit"],
.ywpar-apply-points-container button,
form[class*="ywpar"] button,
form[class*="ywpar"] input[type="submit"] {
  padding: 9px 20px !important;
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
}
.ywpar_apply_points_container button:hover,
form[class*="ywpar"] button:hover {
  background: #2a1a2a !important;
  box-shadow: 0 4px 12px rgba(60, 42, 60, .2) !important;
}

/* ═══════════════════════════════════════════════
   CART TABLE
   ═══════════════════════════════════════════════ */
.woocommerce-cart table.shop_table,
.woocommerce-cart .woocommerce-cart-form table {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--white, #fff) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(60, 42, 60, .06) !important;
  font-family: 'Raleway', sans-serif !important;
  width: 100% !important;
}

/* Table header */
.woocommerce-cart table.shop_table thead th {
  background: var(--aubergine, #3C2A3C) !important;
  color: var(--cream, #E8D9BE) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 16px 20px !important;
  border: none !important;
}
/* Column widths — balanced layout */
.woocommerce-cart table.shop_table .product-remove {
  width: 40px !important;
  text-align: center !important;
}
.woocommerce-cart table.shop_table .product-thumbnail {
  width: 90px !important;
}
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table thead th.product-price {
  width: 120px !important;
  text-align: center !important;
}
.woocommerce-cart table.shop_table .product-quantity,
.woocommerce-cart table.shop_table thead th.product-quantity {
  width: 160px !important;
  text-align: center !important;
}
.woocommerce-cart table.shop_table .product-subtotal,
.woocommerce-cart table.shop_table thead th.product-subtotal {
  width: 130px !important;
  text-align: right !important;
}

/* Table rows */
.woocommerce-cart table.shop_table tbody td {
  padding: 20px !important;
  border-bottom: 1px solid var(--cream, #EDE7DD) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
  font-size: .88rem !important;
  color: var(--aubergine, #3C2A3C) !important;
}
.woocommerce-cart table.shop_table tbody tr:last-child td {
  border-bottom: none !important;
}

/* Product thumbnail */
.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 1px solid var(--cream, #EDE7DD) !important;
}

/* Product name */
.woocommerce-cart table.shop_table .product-name a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  text-decoration: none !important;
  transition: color .3s ease !important;
}
.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--gold, #C4A265) !important;
}

/* Variation details */
.woocommerce-cart table.shop_table .product-name .variation,
.woocommerce-cart table.shop_table .product-name dl.variation {
  font-family: 'Raleway', sans-serif !important;
  font-size: .7rem !important;
  color: var(--text-soft, #6B5B6B) !important;
  margin-top: 6px !important;
  line-height: 1.6 !important;
  max-width: 320px !important;
}
.woocommerce-cart table.shop_table .product-name dl.variation dt,
.woocommerce-cart table.shop_table .product-name dl.variation dd {
  display: inline !important;
  font-weight: 400 !important;
  margin: 0 !important;
}
.woocommerce-cart table.shop_table .product-name dl.variation dt {
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
}
.woocommerce-cart table.shop_table .product-name dl.variation dd {
  margin-right: 8px !important;
}
.woocommerce-cart table.shop_table .product-name dl.variation dd p {
  display: inline !important;
  margin: 0 !important;
}
.woocommerce-cart table.shop_table .product-name dl.variation dd::after {
  content: ' · ' !important;
  color: var(--cream, #EDE7DD) !important;
}
/* Add-ons (.wc-item-meta) in cart — Bourse en satin, Coffret Cadeau, etc. */
.woocommerce-cart table.shop_table .product-name .wc-item-meta {
  font-family: 'Raleway', sans-serif !important;
  font-size: .7rem !important;
  color: var(--text-soft, #6B5B6B) !important;
  margin-top: 6px !important;
  line-height: 1.6 !important;
  max-width: 320px !important;
  list-style: none !important;
  padding: 0 !important;
}
.woocommerce-cart table.shop_table .product-name .wc-item-meta dt,
.woocommerce-cart table.shop_table .product-name .wc-item-meta dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
.woocommerce-cart table.shop_table .product-name .wc-item-meta dt {
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
}
.woocommerce-cart table.shop_table .product-name .wc-item-meta dd {
  margin-right: 8px !important;
}
.woocommerce-cart table.shop_table .product-name .wc-item-meta dd p {
  display: inline !important;
  margin: 0 !important;
}
.woocommerce-cart table.shop_table .product-name .wc-item-meta li {
  display: block !important;
  list-style: none !important;
  margin: 2px 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}
.woocommerce-cart table.shop_table .product-name .wc-item-meta li::before,
.woocommerce-cart table.shop_table .product-name .wc-item-meta li::marker {
  content: none !important;
  display: none !important;
}

/* Product price */
.woocommerce-cart table.shop_table .product-price .amount,
.woocommerce-cart table.shop_table .product-subtotal .amount {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
}
.woocommerce-cart table.shop_table .product-price del .amount {
  font-size: .85rem !important;
  color: var(--text-muted, #9A8A9A) !important;
  font-weight: 400 !important;
}
.woocommerce-cart table.shop_table .product-price ins {
  text-decoration: none !important;
}

/* Quantity in cart — FORCE horizontal row
   Real HTML: div.quantity > div.number-button > input.minus + input.qty + input.plus
   ThemeSky wraps qty controls in div.number-button */
.woocommerce-cart table.shop_table td.product-quantity {
  white-space: nowrap !important;
}
.woocommerce-cart table.shop_table .quantity,
.woocommerce-cart .quantity {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: var(--white, #fff) !important;
  width: 120px !important;
  max-width: 120px !important;
  min-width: 120px !important;
  height: 42px !important;
  box-sizing: border-box !important;
}
/* ThemeSky .number-button wrapper must also be flex row */
.woocommerce-cart .quantity .number-button,
.woocommerce-cart .quantity > div {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
}
.woocommerce-cart table.shop_table .quantity input.qty,
.woocommerce-cart .quantity input.qty,
.woocommerce-cart .quantity input[type="number"] {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 100% !important;
  text-align: center !important;
  border: none !important;
  border-left: 1px solid var(--cream, #EDE7DD) !important;
  border-right: 1px solid var(--cream, #EDE7DD) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  outline: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 40px !important;
}
.woocommerce-cart table.shop_table .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart table.shop_table .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
}
.woocommerce-cart table.shop_table .quantity .minus,
.woocommerce-cart table.shop_table .quantity .plus,
.woocommerce-cart .quantity .minus,
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity button,
.woocommerce-cart .quantity input[type="button"],
.woocommerce-cart td.product-quantity .minus,
.woocommerce-cart td.product-quantity .plus,
.woocommerce-cart td.product-quantity input[type="button"] {
  width: 38px !important;
  min-width: 38px !important;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  font-size: 1rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .2s ease !important;
  flex: 0 0 38px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-cart table.shop_table .quantity .minus:hover,
.woocommerce-cart table.shop_table .quantity .plus:hover {
  background: var(--gold-ultra, rgba(196,162,101,.06)) !important;
}

/* Remove button */
.woocommerce-cart table.shop_table .product-remove a.remove {
  color: var(--text-soft, #6B5B6B) !important;
  font-size: 1.3rem !important;
  font-weight: 400 !important;
  transition: all .3s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: var(--cream-warm, #FAF7F2) !important;
  border: 1px solid var(--cream, #EDE7DD) !important;
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  color: #c05050 !important;
  background: rgba(192, 80, 80, .08) !important;
  border-color: rgba(192, 80, 80, .2) !important;
}

/* ═══════════════════════════════════════════════
   COUPON + UPDATE CART + VIDER LE PANIER
   Real HTML structure (from view-source):
   td.actions[colspan="6"]
     div.coupon
       input[name="coupon_code"].input-text
       button[name="apply_coupon"].button
     button[name="update_cart"].button
     button[name="ts_empty_cart"].button.button-border.empty-cart-button
   ═══════════════════════════════════════════════ */
.woocommerce-cart table.shop_table td.actions {
  padding: 24px 20px !important;
  background: var(--cream-warm, #FAF7F2) !important;
  border-top: 1px solid var(--cream, #EDE7DD) !important;
  line-height: 44px !important;
  white-space: nowrap !important;
  position: relative !important;
}
/* Force all action buttons/inputs to same vertical baseline */
.woocommerce-cart td.actions button,
.woocommerce-cart td.actions .coupon,
.woocommerce-cart td.actions input[type="text"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}
/* Coupon: input + APPLIQUER side by side */
.woocommerce-cart .coupon {
  display: inline-flex !important;
  gap: 8px !important;
  align-items: center !important;
  vertical-align: middle !important;
  margin-right: 12px !important;
  height: 44px !important;
}
.woocommerce-cart .coupon label {
  display: none !important;
}
.woocommerce-cart .coupon input[type="text"],
.woocommerce-cart .coupon #coupon_code {
  padding: 0 18px !important;
  height: 44px !important;
  line-height: 44px !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  background: var(--white, #fff) !important;
  outline: none !important;
  width: 280px !important;
  transition: border-color .3s ease !important;
  box-sizing: border-box !important;
}
.woocommerce-cart .coupon input[type="text"]:focus,
.woocommerce-cart .coupon #coupon_code:focus {
  border-color: var(--gold, #C4A265) !important;
  box-shadow: 0 0 0 3px rgba(196, 162, 101, .12) !important;
}
/* Appliquer button — name="apply_coupon" */
.woocommerce-cart .coupon button[type="submit"],
.woocommerce-cart .coupon button[name="apply_coupon"] {
  padding: 0 24px !important;
  height: 44px !important;
  line-height: 44px !important;
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  box-sizing: border-box !important;
}
.woocommerce-cart .coupon button[type="submit"]:hover,
.woocommerce-cart .coupon button[name="apply_coupon"]:hover {
  background: #2a1a2a !important;
  box-shadow: 0 4px 12px rgba(60, 42, 60, .2) !important;
}

/* Vider le panier — name="ts_empty_cart", class="empty-cart-button" */
.woocommerce-cart .actions button[name="ts_empty_cart"],
.woocommerce-cart .actions .empty-cart-button,
.woocommerce-cart .actions .v6-empty-cart,
.woocommerce-cart td.actions > button[type="submit"]:not([name="update_cart"]):not([name="apply_coupon"]) {
  padding: 0 24px !important;
  height: 44px !important;
  line-height: 44px !important;
  background: transparent !important;
  color: #9A8A9A !important;
  border: 1.5px dashed #EDE7DD !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  vertical-align: middle !important;
  box-shadow: none !important;
  outline: none !important;
}
.woocommerce-cart .actions button[name="ts_empty_cart"]:hover,
.woocommerce-cart .actions .empty-cart-button:hover,
.woocommerce-cart .actions .v6-empty-cart:hover {
  border-color: #c05050 !important;
  color: #c05050 !important;
}

/* Update cart button — name="update_cart", pushed right via margin-left:auto */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
  padding: 0 24px !important;
  height: 44px !important;
  line-height: 44px !important;
  background: transparent !important;
  color: var(--gold, #C4A265) !important;
  border: 1.5px dashed var(--gold, #C4A265) !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  float: none !important;
}
.woocommerce-cart button[name="update_cart"]:disabled,
.woocommerce-cart input[name="update_cart"]:disabled {
  opacity: .4 !important;
  cursor: not-allowed !important;
  border-color: var(--cream, #EDE7DD) !important;
  color: var(--text-muted, #9A8A9A) !important;
}
.woocommerce-cart button[name="update_cart"]:hover:not(:disabled),
.woocommerce-cart input[name="update_cart"]:hover:not(:disabled) {
  background: var(--gold, #C4A265) !important;
  color: var(--white, #fff) !important;
  border-style: solid !important;
}

/* ═══════════════════════════════════════════════
   CART TOTALS
   ═══════════════════════════════════════════════ */
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals {
  margin-top: 32px !important;
}
.woocommerce-cart .cart_totals > h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin-bottom: 20px !important;
}
.woocommerce-cart .cart_totals table,
.woocommerce-cart .cart_totals .shop_table {
  background: var(--white, #fff) !important;
  border: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(60, 42, 60, .06) !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 18px 24px !important;
  border: none !important;
  border-bottom: 1px solid var(--cream, #EDE7DD) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  color: var(--aubergine, #3C2A3C) !important;
}
.woocommerce-cart .cart_totals table th {
  font-size: .72rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--text-soft, #6B5B6B) !important;
  background: var(--cream-warm, #FAF7F2) !important;
  width: 140px !important;
}
.woocommerce-cart .cart_totals table tr:last-child th,
.woocommerce-cart .cart_totals table tr:last-child td {
  border-bottom: none !important;
}

/* Order total row */
.woocommerce-cart .cart_totals .order-total th {
  font-size: .78rem !important;
  font-weight: 700 !important;
  color: var(--aubergine, #3C2A3C) !important;
}
.woocommerce-cart .cart_totals .order-total .amount {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--aubergine, #3C2A3C) !important;
}

/* ═══════════════════════════════════════════════
   SHIPPING OPTIONS (radio list) — CART + CHECKOUT
   Kill ALL bullets, style as clean radio list
   ═══════════════════════════════════════════════ */
ul#shipping_method,
.woocommerce-shipping-methods,
.cart_totals .shipping ul,
.woocommerce-checkout-review-order-table .shipping ul,
#order_review .shipping ul {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
ul#shipping_method li,
.woocommerce-shipping-methods li,
.cart_totals .shipping ul li,
.woocommerce-checkout-review-order-table .shipping ul li,
#order_review .shipping ul li {
  list-style: none !important;
  list-style-type: none !important;
  padding: 10px 0 !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-bottom: 1px solid rgba(237, 231, 221, .5) !important;
}
ul#shipping_method li:last-child,
.cart_totals .shipping ul li:last-child,
#order_review .shipping ul li:last-child {
  border-bottom: none !important;
}
ul#shipping_method li::before,
ul#shipping_method li::marker,
.cart_totals .shipping ul li::before,
.cart_totals .shipping ul li::marker,
#order_review .shipping ul li::before,
#order_review .shipping ul li::marker {
  content: none !important;
  display: none !important;
}
/* Radio buttons styling */
ul#shipping_method li input[type="radio"],
.cart_totals .shipping input[type="radio"],
#order_review .shipping input[type="radio"] {
  accent-color: var(--aubergine, #3C2A3C) !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
ul#shipping_method li label,
.cart_totals .shipping label,
#order_review .shipping label {
  cursor: pointer !important;
  font-size: .84rem !important;
  font-family: 'Raleway', sans-serif !important;
  color: var(--aubergine, #3C2A3C) !important;
  font-weight: 400 !important;
}
/* Shipping price amounts */
ul#shipping_method li .amount,
.cart_totals .shipping .amount,
#order_review .shipping .amount {
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
}
/* Shipping address text */
.woocommerce-shipping-destination,
.cart_totals .shipping p,
#order_review .shipping p {
  font-size: .78rem !important;
  color: var(--text-soft, #6B5B6B) !important;
  margin-top: 8px !important;
}

/* ═══════════════════════════════════════════════
   PROCEED TO CHECKOUT BUTTON
   ═══════════════════════════════════════════════ */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .button,
.woocommerce-cart main > a.checkout-button,
.woocommerce-cart a.checkout-button {
  display: block !important;
  width: 100% !important;
  max-width: 600px !important;
  padding: 18px 32px !important;
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  box-shadow: 0 4px 16px rgba(60, 42, 60, .15) !important;
  margin: 24px auto 40px !important;
  box-sizing: border-box !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout .button:hover,
.woocommerce-cart a.checkout-button:hover {
  background: #2a1a2a !important;
  box-shadow: 0 6px 24px rgba(60, 42, 60, .25) !important;
  transform: translateY(-1px) !important;
}

/* PayPal "Payez en 4 échéances" promotional text — HIDDEN on cart + checkout
   IMPORTANT: only target .ppcp-messages (promo text), NOT .ppcp-gateway (payment method) */
.woocommerce-cart .ppcp-messages,
.woocommerce-checkout .ppcp-messages,
.woocommerce-cart div.ppcp-messages,
.woocommerce-checkout div.ppcp-messages,
.woocommerce-cart div[id^="ppcp-messages"],
.woocommerce-checkout div[id^="ppcp-messages"],
.woocommerce-cart [class*="paypal-message"],
.woocommerce-checkout [class*="paypal-message"],
.woocommerce-cart [data-pp-message],
.woocommerce-checkout [data-pp-message] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ═══════════════════════════════════════════════
   CROSS-SELLS — .recommandations + .recommandations2
   Uses WC Blocks: .wc-block-grid__product-*
   ═══════════════════════════════════════════════ */

/* Section titles */
.recommandations h3,
.recommandations2 h3,
.woocommerce-cart .cross-sells > h2,
.woocommerce-cart .cart-collaterals h2:not(.cart_totals h2) {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin: 40px 0 20px !important;
  text-align: center !important;
}

/* ── CROSS-SELLS NUCLEAR OVERRIDES ──
   WC Blocks uses .wc-block-grid.has-N-columns with floats + calc widths.
   We must override EVERY property on EVERY level with full specificity. */

/* Level 0: outer wrappers */
div.recommandations,
div.recommandations2 {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  clear: both !important;
  overflow: hidden !important;
}

/* Level 1: WC Block grid wrapper (.wc-block-grid.has-N-columns) */
div.recommandations div.wc-block-grid,
div.recommandations2 div.wc-block-grid,
div.recommandations .wc-block-grid.has-3-columns,
div.recommandations2 .wc-block-grid.has-6-columns,
div.recommandations .wp-block-handpicked-products,
div.recommandations2 .wp-block-handpicked-products,
div.recommandations .wc-block-handpicked-products,
div.recommandations2 .wc-block-handpicked-products {
  display: block !important;
  float: none !important;
  width: 100% !important;
  overflow: visible !important;
}

/* Level 2: the <ul> product list */
div.recommandations ul.wc-block-grid__products,
div.recommandations2 ul.wc-block-grid__products,
div.recommandations .wc-block-grid .wc-block-grid__products,
div.recommandations2 .wc-block-grid .wc-block-grid__products,
.wc-block-grid.has-3-columns .wc-block-grid__products,
.wc-block-grid.has-6-columns .wc-block-grid__products {
  display: grid !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 40px !important;
  float: none !important;
  width: 100% !important;
  clear: both !important;
}
/* Single-product wrapper — FORCE CENTER with multiple approaches */
div.recommandations {
  text-align: center !important;
  display: block !important;
}
div.recommandations > *,
div.recommandations .wc-block-grid,
div.recommandations .wp-block-handpicked-products,
div.recommandations .wc-block-handpicked-products,
div.recommandations [data-block-name] {
  max-width: 320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
div.recommandations h3 {
  max-width: 100% !important;
}
/* 1-2 products (recommandations) → centered card */
div.recommandations ul.wc-block-grid__products,
div.recommandations .wc-block-grid__products {
  grid-template-columns: 1fr !important;
  max-width: 300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 6 products (recommandations2) → responsive 3-col grid */
div.recommandations2 ul.wc-block-grid__products,
div.recommandations2 .wc-block-grid__products {
  grid-template-columns: repeat(3, 1fr) !important;
  max-width: 100% !important;
}

/* Level 3: each <li> product card — KILL WC Block float+width */
div.recommandations li.wc-block-grid__product,
div.recommandations2 li.wc-block-grid__product,
div.recommandations .wc-block-grid__products .wc-block-grid__product,
div.recommandations2 .wc-block-grid__products .wc-block-grid__product,
.wc-block-grid.has-3-columns .wc-block-grid__products .wc-block-grid__product,
.wc-block-grid.has-6-columns .wc-block-grid__products .wc-block-grid__product {
  list-style: none !important;
  background: var(--white, #fff) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid var(--cream, #EDE7DD) !important;
  box-shadow: none !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
  text-align: center !important;
  padding: 0 0 14px 0 !important;
  /* KILL WC Blocks float layout */
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: block !important;
}
div.recommandations li.wc-block-grid__product:hover,
div.recommandations2 li.wc-block-grid__product:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 16px rgba(60, 42, 60, .08) !important;
  border-color: var(--gold, #C4A265) !important;
}

/* Level 4: product image wrapper — fixed height, WHITE bg */
div.recommandations .wc-block-grid__product-image,
div.recommandations2 .wc-block-grid__product-image {
  width: 100% !important;
  height: 180px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
/* Level 4: product images — uniform height with contain */
div.recommandations .wc-block-grid__product-image img,
div.recommandations2 .wc-block-grid__product-image img,
div.recommandations li img,
div.recommandations2 li img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 148px !important;
  object-fit: contain !important;
  border-radius: 4px !important;
  display: block !important;
}

/* Product title */
.recommandations li a:not(.button):not(.add_to_cart_button),
.recommandations2 li a:not(.button):not(.add_to_cart_button),
.wc-block-grid__product-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  text-decoration: none !important;
  display: block !important;
  padding: 12px 14px 4px !important;
  line-height: 1.3 !important;
}

/* Prices */
.recommandations li .wc-block-grid__product-price,
.recommandations2 li .wc-block-grid__product-price,
.recommandations li .price,
.recommandations2 li .price,
.recommandations li .amount,
.recommandations2 li .amount {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  font-size: 1rem !important;
  padding: 0 14px !important;
}
.recommandations li del,
.recommandations2 li del {
  font-size: .85rem !important;
}
.recommandations li del .amount,
.recommandations2 li del .amount {
  color: var(--text-muted, #9A8A9A) !important;
  font-weight: 400 !important;
  font-size: .85rem !important;
}
.recommandations li ins,
.recommandations2 li ins {
  text-decoration: none !important;
}

/* Add to cart buttons — subtle outline, fill on hover */
.recommandations li .button,
.recommandations2 li .button,
.recommandations li a.add_to_cart_button,
.recommandations2 li a.add_to_cart_button,
.recommandations li .wp-block-button a,
.recommandations2 li .wp-block-button a {
  display: inline-block !important;
  padding: 8px 18px !important;
  background: transparent !important;
  color: var(--aubergine, #3C2A3C) !important;
  border: 1px solid var(--aubergine, #3C2A3C) !important;
  border-radius: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .62rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  margin-top: 8px !important;
  margin-bottom: 4px !important;
}
.recommandations li .button:hover,
.recommandations2 li .button:hover,
.recommandations li a.add_to_cart_button:hover,
.recommandations2 li a.add_to_cart_button:hover,
.recommandations li .wp-block-button a:hover,
.recommandations2 li .wp-block-button a:hover {
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  box-shadow: 0 2px 8px rgba(60, 42, 60, .15) !important;
}

/* Star ratings — HIDE "SSSSS" text completely */
.recommandations .wc-block-grid__product-rating,
.recommandations2 .wc-block-grid__product-rating,
div.recommandations .wc-block-grid__product-rating,
div.recommandations2 .wc-block-grid__product-rating {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ═══════════════════════════════════════════════
   CHECKOUT PAGE — POLISH SUBTIL V6
   ═══════════════════════════════════════════════ */

/* ── Page background ── */
.woocommerce-checkout {
  background: var(--cream-warm, #FAF7F2) !important;
}

/* ── Checkout toggle bars (Déjà client / Coupon) ── */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle {
  margin-bottom: 12px !important;
}
/* The toggle bar itself — white card style matching billing card */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
  background: var(--white, #fff) !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 18px 24px 18px 22px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  box-shadow: 0 2px 12px rgba(60, 42, 60, .05) !important;
  line-height: 1.5 !important;
  transition: all .25s ease !important;
  position: relative !important;
  overflow: visible !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: block !important;
  margin: 0 !important;
  border-left: none !important;
}
/* Kill ALL ::before from WC (icon, gold bar, anything) */
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Hover — subtle lift */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info:hover,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info:hover {
  box-shadow: 0 4px 18px rgba(60, 42, 60, .08) !important;
  transform: translateY(-1px) !important;
}
/* Force lowercase on the text */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  text-transform: none !important;
}
/* Link inside */
.woocommerce-checkout .woocommerce-info a {
  color: var(--gold, #C4A265) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  transition: border-color .25s ease !important;
  text-transform: none !important;
}
.woocommerce-checkout .woocommerce-info a:hover {
  border-bottom-color: var(--gold, #C4A265) !important;
}

/* ── Login form (expanded) ── */
.woocommerce-checkout form.woocommerce-form-login {
  background: var(--white, #fff) !important;
  border-radius: 16px !important;
  padding: 28px 32px !important;
  box-shadow: 0 2px 16px rgba(60, 42, 60, .06) !important;
  margin-bottom: 20px !important;
  max-width: 520px !important;
}
.woocommerce-checkout form.woocommerce-form-login p:first-of-type {
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  color: var(--text-soft, #6B5B6B) !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
}
.woocommerce-checkout form.woocommerce-form-login label {
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.woocommerce-checkout form.woocommerce-form-login input[type="text"],
.woocommerce-checkout form.woocommerce-form-login input[type="email"],
.woocommerce-checkout form.woocommerce-form-login input[type="password"] {
  width: 100% !important;
  padding: 0 16px !important;
  height: 44px !important;
  line-height: 44px !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 8px !important;
  background: var(--cream-warm, #FAF7F2) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  box-sizing: border-box !important;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
  outline: none !important;
}
.woocommerce-checkout form.woocommerce-form-login input:focus {
  border-color: var(--gold, #C4A265) !important;
  box-shadow: 0 0 0 3px rgba(196, 162, 101, .10) !important;
  background: var(--white, #fff) !important;
}
/* "Se souvenir de moi" checkbox label */
.woocommerce-checkout form.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin: 16px 0 !important;
  cursor: pointer !important;
}
/* "SE CONNECTER" button */
.woocommerce-checkout form.woocommerce-form-login button[type="submit"],
.woocommerce-checkout form.woocommerce-form-login .woocommerce-button {
  display: inline-block !important;
  padding: 12px 32px !important;
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  box-shadow: 0 2px 8px rgba(60, 42, 60, .12) !important;
}
.woocommerce-checkout form.woocommerce-form-login button[type="submit"]:hover {
  background: #2a1a2a !important;
  box-shadow: 0 4px 16px rgba(60, 42, 60, .20) !important;
  transform: translateY(-1px) !important;
}
/* "Mot de passe perdu ?" link */
.woocommerce-checkout form.woocommerce-form-login .lost_password a,
.woocommerce-checkout form.woocommerce-form-login a[href*="lost-password"] {
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  color: var(--gold, #C4A265) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
.woocommerce-checkout form.woocommerce-form-login .lost_password a:hover {
  text-decoration: underline !important;
}
/* Social login buttons (Facebook, Google) */
.woocommerce-checkout form.woocommerce-form-login .wc-social-login,
.woocommerce-checkout form.woocommerce-form-login [class*="social"],
.woocommerce-checkout .wc-social-login {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--cream, #EDE7DD) !important;
}
.woocommerce-checkout .wc-social-login .button-social-login,
.woocommerce-checkout [class*="social"] a,
.woocommerce-checkout [class*="social"] button {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 320px !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-bottom: 10px !important;
  transition: all .25s ease !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
}
/* Facebook button */
.woocommerce-checkout .wc-social-login [class*="facebook"],
.woocommerce-checkout [class*="social"] [class*="facebook"] {
  background: #1877F2 !important;
  color: #fff !important;
  border: none !important;
}
.woocommerce-checkout .wc-social-login [class*="facebook"]:hover {
  background: #1565D8 !important;
  box-shadow: 0 2px 8px rgba(24, 119, 242, .25) !important;
}
/* Google button */
.woocommerce-checkout .wc-social-login [class*="google"],
.woocommerce-checkout [class*="social"] [class*="google"] {
  background: var(--white, #fff) !important;
  color: var(--aubergine, #3C2A3C) !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
}
.woocommerce-checkout .wc-social-login [class*="google"]:hover {
  border-color: var(--gold, #C4A265) !important;
  box-shadow: 0 2px 8px rgba(60, 42, 60, .08) !important;
}

/* ── Coupon form (expanded) ── */
.woocommerce-checkout form.checkout_coupon {
  background: var(--white, #fff) !important;
  border-radius: 16px !important;
  padding: 24px 32px !important;
  box-shadow: 0 2px 16px rgba(60, 42, 60, .06) !important;
  margin-bottom: 20px !important;
  border: none !important;
}
.woocommerce-checkout form.checkout_coupon p:first-of-type {
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  color: var(--text-soft, #6B5B6B) !important;
  line-height: 1.6 !important;
  margin-bottom: 14px !important;
}
.woocommerce-checkout form.checkout_coupon .form-row {
  display: inline-flex !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
}
.woocommerce-checkout form.checkout_coupon input[type="text"] {
  flex: 1 !important;
  padding: 0 16px !important;
  height: 44px !important;
  line-height: 44px !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 8px !important;
  background: var(--cream-warm, #FAF7F2) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
}
.woocommerce-checkout form.checkout_coupon input[type="text"]:focus {
  border-color: var(--gold, #C4A265) !important;
  box-shadow: 0 0 0 3px rgba(196, 162, 101, .10) !important;
  background: var(--white, #fff) !important;
}
/* "APPLIQUER" button */
.woocommerce-checkout form.checkout_coupon button[type="submit"],
.woocommerce-checkout form.checkout_coupon .button {
  padding: 0 28px !important;
  height: 44px !important;
  line-height: 44px !important;
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .76rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 8px rgba(60, 42, 60, .12) !important;
}
.woocommerce-checkout form.checkout_coupon button[type="submit"]:hover {
  background: #2a1a2a !important;
  box-shadow: 0 4px 12px rgba(60, 42, 60, .20) !important;
}

/* ── Billing form card wrapper ── */
.woocommerce-checkout .col2-set,
.woocommerce-checkout form.woocommerce-checkout > .col2-set {
  background: var(--white, #fff) !important;
  border-radius: 16px !important;
  padding: 36px 32px 28px !important;
  box-shadow: 0 2px 16px rgba(60, 42, 60, .06) !important;
  margin-bottom: 20px !important;
}
/* Avoid double card nesting if .col2-set already wraps billing */
.woocommerce-checkout .col2-set .woocommerce-billing-fields,
.woocommerce-checkout .col2-set .woocommerce-shipping-fields {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* ── Section headings ── */
.woocommerce-checkout .col2-set h3,
.woocommerce-checkout h3#ship-to-different-address,
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--cream, #EDE7DD) !important;
  letter-spacing: .3px !important;
  margin-top: 0 !important;
}
/* "Votre commande" heading — visually part of the card below */
.woocommerce-checkout h3#order_review_heading {
  font-size: 1.4rem !important;
  margin-top: 28px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  background: var(--white, #fff) !important;
  padding: 28px 28px 16px !important;
  border-radius: 16px 16px 0 0 !important;
  box-shadow: 0 -2px 16px rgba(60, 42, 60, .06) !important;
}

/* ── Order review wrapper card — continues from heading ── */
.woocommerce-checkout .woocommerce-checkout-review-order {
  background: var(--white, #fff) !important;
  border-radius: 0 0 16px 16px !important;
  padding: 0 28px 28px !important;
  box-shadow: 0 2px 16px rgba(60, 42, 60, .06) !important;
  margin-bottom: 20px !important;
}

/* ── Additional fields (notes) — inside billing card, no separate wrapper ── */
.woocommerce-checkout .woocommerce-additional-fields {
  background: var(--white, #fff) !important;
  border-radius: 16px !important;
  padding: 24px 32px 28px !important;
  box-shadow: 0 2px 16px rgba(60, 42, 60, .06) !important;
  margin-bottom: 20px !important;
  margin-top: 0 !important;
}
.woocommerce-checkout .woocommerce-additional-fields h3 {
  margin-top: 0 !important;
  font-size: 1.15rem !important;
  margin-bottom: 14px !important;
}

/* ── Form fields grid — ALL fields in 2 columns ── */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-auto-flow: dense !important;
  gap: 14px 16px !important;
}
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: block !important;
}

/* ── Row 1: Prénom (col1) + Nom (col2) ── */
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #shipping_first_name_field,
.woocommerce-checkout .form-row-first {
  grid-column: 1 / 2 !important;
  order: 1 !important;
}
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #shipping_last_name_field,
.woocommerce-checkout .form-row-last {
  grid-column: 2 / 3 !important;
  order: 1 !important;
}

/* ── Row 2: Entreprise (col1) + Pays (col2) ── */
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #shipping_company_field {
  grid-column: 1 / 2 !important;
  order: 5 !important;
}
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field {
  grid-column: 2 / 3 !important;
  order: 5 !important;
}

/* ── Row 3: Adresse 1 (col1) + Adresse 2 / Complément (col2) ── */
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #shipping_address_1_field {
  grid-column: 1 / 2 !important;
  order: 7 !important;
}
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #shipping_address_2_field {
  grid-column: 2 / 3 !important;
  order: 7 !important;
}

/* ── State (hidden for FR, visible for other countries) — full width ── */
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #shipping_state_field {
  grid-column: 1 / -1 !important;
  order: 19 !important;
}

/* ── Row 4: Code postal (col1) + Ville (col2) ── */
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #shipping_postcode_field {
  grid-column: 1 / 2 !important;
  order: 20 !important;
}
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #shipping_city_field {
  grid-column: 2 / 3 !important;
  order: 20 !important;
}

/* ── Row 5: Téléphone (col1) + Email (col2) ── */
.woocommerce-checkout #billing_phone_field {
  grid-column: 1 / 2 !important;
  order: 30 !important;
}
.woocommerce-checkout #billing_email_field {
  grid-column: 2 / 3 !important;
  order: 30 !important;
}

/* ── ALL inputs/selects fill their column ── */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .select2-container,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper input,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper select,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .select2-container {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* ── Prénom/Nom: force form-row-first/last to fill grid column ── */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
.woocommerce-checkout .form-row-first input[type="text"],
.woocommerce-checkout .form-row-last input[type="text"],
.woocommerce-checkout #billing_first_name_field input,
.woocommerce-checkout #billing_last_name_field input,
.woocommerce-checkout #shipping_first_name_field input,
.woocommerce-checkout #shipping_last_name_field input {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* p.form-row — remove WC default margins */
.woocommerce-checkout p.form-row {
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Labels — NO UPPERCASE, natural sentence case ── */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label {
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.woocommerce-checkout label .required {
  color: var(--gold, #C4A265) !important;
  font-weight: 400 !important;
}
/* Optional label */
.woocommerce-checkout label .optional {
  color: var(--text-muted, #9A8A9A) !important;
  font-size: .75rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-style: italic !important;
}

/* ── Inputs ── */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  padding: 0 16px !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  background: var(--cream-warm, #FAF7F2) !important;
  outline: none !important;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
  height: 44px !important;
  line-height: 44px !important;
}
/* Textarea — separate, compact */
.woocommerce-checkout textarea {
  padding: 14px 16px !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 10px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  background: var(--cream-warm, #FAF7F2) !important;
  outline: none !important;
  transition: border-color .25s ease, box-shadow .25s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 90px !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}
/* Placeholder */
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
  color: var(--text-muted, #9A8A9A) !important;
  font-size: .82rem !important;
  font-style: normal !important;
}
/* Focus state */
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single {
  border-color: var(--gold, #C4A265) !important;
  box-shadow: 0 0 0 3px rgba(196, 162, 101, .10) !important;
  background: var(--white, #fff) !important;
}
/* Select2 — force cream-warm background */
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-checkout .select2 .select2-selection--single {
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  background: #FAF7F2 !important;
  background-color: #FAF7F2 !important;
  border: 1.5px solid #EDE7DD !important;
  border-radius: 8px !important;
}
.woocommerce-checkout .select2-container .select2-selection__rendered,
.woocommerce-checkout .select2-container--default .select2-selection__rendered {
  line-height: 44px !important;
  padding-left: 16px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  color: #3C2A3C !important;
  background: transparent !important;
}
.woocommerce-checkout .select2-container .select2-selection__arrow {
  height: 44px !important;
  right: 14px !important;
  top: 0 !important;
  width: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
}
/* Replace default arrow with SVG chevron */
.woocommerce-checkout .select2-container .select2-selection__arrow b {
  display: none !important;
  border: none !important;
}
.woocommerce-checkout .select2-container .select2-selection__arrow::after {
  content: '' !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid var(--aubergine, #3C2A3C) !important;
  border-bottom: 2px solid var(--aubergine, #3C2A3C) !important;
  transform: rotate(45deg) translateY(-2px) !important;
  margin: 0 !important;
  opacity: .45 !important;
  transition: opacity .25s ease !important;
}
.woocommerce-checkout .select2-container:hover .select2-selection__arrow::after {
  opacity: .8 !important;
}
/* Native select — custom chevron too */
.woocommerce-checkout select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233C2A3C' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round' opacity='.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px !important;
  padding-right: 40px !important;
}
/* Select2 dropdown */
.select2-dropdown {
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 8px 24px rgba(60, 42, 60, .10) !important;
}
.select2-results__option {
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  padding: 10px 16px !important;
}
.select2-results__option--highlighted {
  background: var(--cream-warm, #FAF7F2) !important;
  color: var(--aubergine, #3C2A3C) !important;
}
.select2-results__option[aria-selected="true"] {
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
}

/* ── Checkboxes premium ── */
.woocommerce-checkout input[type="checkbox"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 5px !important;
  background: var(--white, #fff) !important;
  cursor: pointer !important;
  position: relative !important;
  vertical-align: middle !important;
  margin-right: 10px !important;
  flex-shrink: 0 !important;
  transition: all .2s ease !important;
  padding: 0 !important;
  line-height: normal !important;
}
.woocommerce-checkout input[type="checkbox"]:checked {
  background: var(--aubergine, #3C2A3C) !important;
  border-color: var(--aubergine, #3C2A3C) !important;
}
.woocommerce-checkout input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 6px !important;
  width: 4px !important;
  height: 8px !important;
  border: solid #E8D9BE !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}
.woocommerce-checkout input[type="checkbox"]:hover {
  border-color: var(--gold, #C4A265) !important;
}
.woocommerce-checkout input[type="checkbox"]:focus {
  box-shadow: 0 0 0 3px rgba(196, 162, 101, .12) !important;
  outline: none !important;
}

/* ── "Créer un compte" / "Expédier à une adresse différente" ── */
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout #ship-to-different-address {
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--cream, #EDE7DD) !important;
}
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout .woocommerce-account-fields label {
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Order review table ── */
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-checkout #order_review table {
  border: none !important;
  background: var(--white, #fff) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(60, 42, 60, .06) !important;
  font-family: 'Raleway', sans-serif !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
.woocommerce-checkout #order_review table thead th {
  background: var(--aubergine, #3C2A3C) !important;
  color: var(--cream, #E8D9BE) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  letter-spacing: .5px !important;
  text-transform: none !important;
  font-weight: 600 !important;
  padding: 14px 24px !important;
  border: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout #order_review table td,
.woocommerce-checkout #order_review table th {
  padding: 16px 24px !important;
  border: none !important;
  border-bottom: 1px solid var(--cream, #EDE7DD) !important;
  font-size: .85rem !important;
  vertical-align: top !important;
}
/* Column widths — product name wider, subtotal narrower */
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-name,
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
  width: 68% !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
  width: 32% !important;
  text-align: right !important;
}
/* Shipping/Expedition row — single column layout */
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping th {
  padding-bottom: 4px !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td {
  text-align: right !important;
}
/* Product name in order review */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
  font-family: 'Raleway', sans-serif !important;
  font-size: .85rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  line-height: 1.5 !important;
}
/* Quantity × */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .product-quantity,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name strong {
  color: var(--gold, #C4A265) !important;
  font-weight: 600 !important;
}
/* Variation details in checkout — dl AND .wc-item-meta (add-ons like Bourse en satin) */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .variation,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name dl,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta {
  font-size: .72rem !important;
  color: var(--text-soft, #6B5B6B) !important;
  margin-top: 4px !important;
  list-style: none !important;
  padding: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name dl dt,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name dl dd,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta dt,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: .72rem !important;
  float: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name dl dt,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta dt {
  font-weight: 600 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name dl dd p,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta dd p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta li {
  display: block !important;
  list-style: none !important;
  margin: 2px 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta li::before,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta li::marker {
  content: none !important;
  display: none !important;
}
/* Subtotal row — align price right */
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
  text-transform: none !important;
  font-size: .84rem !important;
  font-weight: 600 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td {
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  text-align: right !important;
}
/* Shipping row — th label hidden, td spans full width visually */
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping th {
  font-size: .84rem !important;
  font-weight: 600 !important;
  padding-bottom: 4px !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td {
  padding-top: 4px !important;
  padding-bottom: 12px !important;
}
/* Shipping labels — ensure label + price fit on one line */
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li label {
  flex: 1 1 0% !important;
  white-space: nowrap !important;
}
/* Shipping radio list */
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method,
.woocommerce-checkout #order_review #shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li,
.woocommerce-checkout #order_review #shipping_method li {
  list-style: none !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(237, 231, 221, .5) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li::before,
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li::marker {
  content: none !important;
  display: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li:last-child {
  border-bottom: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li input[type="radio"] {
  accent-color: var(--aubergine, #3C2A3C) !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li label {
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  font-weight: 400 !important;
  color: var(--aubergine, #3C2A3C) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li label .amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li label .woocommerce-Price-amount {
  font-weight: 600 !important;
}
/* Order total — keep table display, just style cells */
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
  padding-top: 20px !important;
  border-top: 1px solid var(--cream, #EDE7DD) !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  border-bottom: none !important;
  border-top: 1px solid var(--cream, #EDE7DD) !important;
  text-align: right !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--aubergine, #3C2A3C) !important;
}
/* Barred original price */
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total del,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total del .amount {
  font-size: .9rem !important;
  color: var(--text-muted, #9A8A9A) !important;
  font-weight: 400 !important;
}
/* TVA text — block display so it wraps below the price, smaller size */
.woocommerce-checkout .woocommerce-checkout-review-order-table .includes_tax,
.woocommerce-checkout .woocommerce-checkout-review-order-table .tax-rate,
.woocommerce-cart .cart_totals .includes_tax,
.woocommerce-cart .cart_totals small {
  font-size: .62rem !important;
  color: var(--text-muted, #9A8A9A) !important;
  font-weight: 400 !important;
  display: block !important;
  line-height: 1.4 !important;
  margin-top: 2px !important;
}

/* ── PayPal "Payez en 4 échéances / En savoir plus" — HIDDEN everywhere ── */
.woocommerce-checkout .ppcp-messages,
.woocommerce-checkout .woocommerce-checkout-review-order > .ppcp-messages,
.woocommerce-checkout .woocommerce-checkout-review-order-table + .ppcp-messages,
.woocommerce-cart .ppcp-messages,
.woocommerce-cart .cart_totals .ppcp-messages {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Payment methods — card wrapper with heading ── */
.woocommerce-checkout #payment {
  background: var(--white, #fff) !important;
  border: none !important;
  border-radius: 16px !important;
  overflow: visible !important;
  box-shadow: 0 2px 16px rgba(60, 42, 60, .06) !important;
  margin-top: 24px !important;
  padding: 28px !important;
}
/* Pseudo-heading "Votre Méthode de Paiement" */
.woocommerce-checkout #payment::before {
  content: 'Votre Méthode de Paiement' !important;
  display: block !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin-bottom: 20px !important;
  letter-spacing: .3px !important;
}
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment .payment_methods {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
/* Each payment option = full-width card */
.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout #payment .payment_methods li {
  list-style: none !important;
  list-style-type: none !important;
  padding: 16px 20px !important;
  border: 1.5px solid var(--cream, #EDE7DD) !important;
  border-radius: 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  background: var(--white, #fff) !important;
  transition: all .25s ease !important;
  cursor: pointer !important;
}
.woocommerce-checkout #payment ul.payment_methods li::before,
.woocommerce-checkout #payment ul.payment_methods li::marker,
.woocommerce-checkout #payment .payment_methods li::before,
.woocommerce-checkout #payment .payment_methods li::marker {
  content: none !important;
  display: none !important;
}
/* Hover */
.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: var(--gold, #C4A265) !important;
  box-shadow: 0 2px 12px rgba(196, 162, 101, .08) !important;
}
/* Active/selected — subtle: aubergine border + cream-warm bg */
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
  background: var(--cream-warm, #FAF7F2) !important;
  border-color: var(--aubergine, #3C2A3C) !important;
  box-shadow: 0 2px 12px rgba(60, 42, 60, .08) !important;
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) label {
  color: var(--aubergine, #3C2A3C) !important;
  font-weight: 600 !important;
}
/* Labels */
.woocommerce-checkout #payment ul.payment_methods li label {
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--gold, #C4A265) !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 6px 0 0 !important;
  flex-shrink: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li img {
  max-height: 22px !important;
  vertical-align: middle !important;
  border-radius: 3px !important;
}
/* Payment description box — inside the card */
.woocommerce-checkout #payment .payment_box {
  background: var(--white, #fff) !important;
  color: var(--text-soft, #6B5B6B) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  padding: 12px 0 4px !important;
  border-radius: 0 !important;
  margin: 8px 0 0 !important;
  line-height: 1.6 !important;
  border: none !important;
  border-top: 1px solid var(--cream, #EDE7DD) !important;
  flex: 1 1 100% !important;
}
/* When selected, payment_box inherits the cream-warm bg */
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) .payment_box {
  background: transparent !important;
}
/* Payment box ::before arrow — kill default WC triangle */
.woocommerce-checkout #payment .payment_box::before {
  display: none !important;
}
/* PayPal buttons container */
.woocommerce-checkout #payment .payment_box .wc-paypal-buttons-container,
.woocommerce-checkout #payment .payment_box iframe {
  margin-top: 8px !important;
}

/* ── PayPal smart buttons — centered, compact ── */
.woocommerce-checkout #payment .payment_box [id*="paypal-button"],
.woocommerce-checkout #payment .place-order + div,
.woocommerce-checkout #payment ~ div[class*="paypal"],
.woocommerce-checkout .ppc-button-wrapper {
  border-radius: 8px !important;
  overflow: hidden !important;
  margin-top: 4px !important;
  max-width: 380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Place order button ── */
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout .woocommerce-checkout-payment #place_order,
.woocommerce-checkout .woocommerce-checkout-payment button[type="submit"],
.woocommerce-checkout #payment .place-order #place_order {
  display: block !important;
  width: 100% !important;
  padding: 18px 32px !important;
  background: #3C2A3C !important;
  background-color: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .8rem !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  box-shadow: 0 4px 20px rgba(60, 42, 60, .20) !important;
  margin-top: 20px !important;
  opacity: 1 !important;
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout .woocommerce-checkout-payment button[type="submit"]:hover {
  background: #2a1a2a !important;
  background-color: #2a1a2a !important;
  box-shadow: 0 6px 24px rgba(60, 42, 60, .30) !important;
  transform: translateY(-1px) !important;
}

/* ── Privacy & Terms ── */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  padding: 16px 0 12px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .8rem !important;
  color: var(--text-soft, #6B5B6B) !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 4px !important;
  font-size: .82rem !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  color: var(--aubergine, #3C2A3C) !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label a {
  color: var(--gold, #C4A265) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(196, 162, 101, .3) !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text p {
  font-size: .76rem !important;
  color: var(--text-muted, #9A8A9A) !important;
  margin-top: 6px !important;
  line-height: 1.6 !important;
}

/* ── "Optimisé par PayPal" text ── */
.woocommerce-checkout .woocommerce-checkout-payment + div,
.woocommerce-checkout [class*="paypal-powered"],
.woocommerce-checkout .wc-ppcp-messages-container {
  font-size: .72rem !important;
  color: var(--text-muted, #9A8A9A) !important;
  text-align: center !important;
  margin-top: 6px !important;
}

/* ── PayPal external buttons (PayPal, 4X PayPal, Carte bancaire) ── */
.woocommerce-checkout #payment ~ div,
.woocommerce-checkout .woocommerce-checkout-payment ~ div {
  max-width: 380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.woocommerce-checkout #payment ~ div [class*="paypal-button"],
.woocommerce-checkout #payment ~ div iframe {
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* ═══════════════════════════════════════════════
   EMPTY CART
   ═══════════════════════════════════════════════ */
.woocommerce-cart .cart-empty {
  text-align: center !important;
  padding: 80px 40px !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  color: var(--text-soft, #6B5B6B) !important;
}
.woocommerce-cart .return-to-shop a {
  display: inline-block !important;
  padding: 16px 40px !important;
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border-radius: 10px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .3s ease !important;
}
.woocommerce-cart .return-to-shop a:hover {
  background: #2a1a2a !important;
}

/* ═══════════════════════════════════════════════
   WC NOTICES / MESSAGES — Premium V6 Design
   ═══════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
  background: var(--white, #fff) !important;
  border: 1px solid var(--cream, #EDE7DD) !important;
  border-left: 3px solid var(--gold, #C4A265) !important;
  border-radius: 0 12px 12px 0 !important;
  padding: 18px 24px 18px 52px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  box-shadow: 0 4px 16px rgba(60, 42, 60, .06) !important;
  margin-bottom: 24px !important;
  text-transform: none !important;
  line-height: 1.6 !important;
  letter-spacing: .2px !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}
/* Kill WC default icon (colored square/green circle) — replace with gold checkmark SVG */
.woocommerce-message::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4A265' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 11-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") !important;
  background-size: 22px 22px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-mask: none !important;
  -webkit-mask-image: none !important;
  mask: none !important;
  mask-image: none !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  /* Kill WC icon font */
  font-family: inherit !important;
  -webkit-font-smoothing: auto !important;
  speak: none !important;
}
/* "POURSUIVRE LES ACHATS" button — pill gold style */
.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce-message a.restore-item {
  background: transparent !important;
  color: var(--gold, #C4A265) !important;
  border: 1.5px solid var(--gold, #C4A265) !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all .25s ease !important;
  flex-shrink: 0 !important;
  order: 2 !important;
  float: none !important;
}
.woocommerce-message .button:hover,
.woocommerce-message a.button:hover {
  background: var(--gold, #C4A265) !important;
  color: var(--white, #fff) !important;
}
/* --- Validation Errors — Premium V6 Design --- */
.woocommerce-error,
.woocommerce-NoticeGroup-checkout .woocommerce-error,
form.checkout .woocommerce-error {
  background: var(--white, #fff) !important;
  border: 1px solid #E8D0D0 !important;
  border-left: 3px solid var(--aubergine, #3C2A3C) !important;
  border-radius: 0 12px 12px 0 !important;
  padding: 24px 24px 20px 56px !important;
  margin: 0 0 24px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  box-shadow: 0 4px 16px rgba(60, 42, 60, .06) !important;
  list-style: none !important;
  text-transform: none !important;
  line-height: 1.7 !important;
  letter-spacing: .2px !important;
  position: relative !important;
}
/* Kill WC default red square icon */
.woocommerce-error::before,
.woocommerce-NoticeGroup-checkout .woocommerce-error::before,
form.checkout .woocommerce-error::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 18px !important;
  top: 24px !important;
  width: 24px !important;
  height: 24px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4A265' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}
.woocommerce-error li,
.woocommerce-NoticeGroup-checkout .woocommerce-error li {
  list-style: none !important;
  text-transform: none !important;
  padding: 6px 0 6px 28px !important;
  position: relative !important;
  font-weight: 400 !important;
  color: #5A3A3A !important;
  border-bottom: 1px solid #F5EDED !important;
}
.woocommerce-error li:last-child,
.woocommerce-NoticeGroup-checkout .woocommerce-error li:last-child {
  border-bottom: none !important;
}
/* Subtle dot icon before each error line */
.woocommerce-error li::before,
.woocommerce-NoticeGroup-checkout .woocommerce-error li::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 6px !important;
  top: 14px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #C4A265 !important;
  opacity: .6 !important;
}
.woocommerce-error li::marker,
.woocommerce-NoticeGroup-checkout .woocommerce-error li::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
/* Strong tag inside errors (field name) */
.woocommerce-error li strong {
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
}
/* Error link (if any) */
.woocommerce-error a {
  color: var(--gold, #C4A265) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(196, 162, 101, .3) !important;
}
.woocommerce-error a:hover {
  border-bottom-color: var(--gold, #C4A265) !important;
}

/* --- Inline field validation (red borders on invalid fields) --- */
.woocommerce-checkout .woocommerce-invalid .input-text,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid .select2-selection {
  border-color: #C4A265 !important;
  box-shadow: 0 0 0 2px rgba(196, 162, 101, .15) !important;
}
/* Override WC default red border with gold glow */
.woocommerce form .form-row.woocommerce-invalid .select2-container .select2-selection,
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: #C4A265 !important;
}
.woocommerce-message a,
.woocommerce-info a {
  color: var(--gold, #C4A265) !important;
  font-weight: 600 !important;
}

/* ═══════════════════════════════════════════════
   ORDER PAY / ORDER RECEIVED — Premium V6 Design
   Page "Commande & Livraison" (étape 3)
   ═══════════════════════════════════════════════ */

/* Page wrapper — center & constrain content */
.woocommerce-order-pay .woocommerce,
.woocommerce-order-received .woocommerce {
  max-width: 680px !important;
  margin: 40px auto !important;
  padding: 0 20px !important;
}

/* --- Nuclear: NO uppercase anywhere on these pages --- */
.woocommerce-order-pay .woocommerce *,
.woocommerce-order-received .woocommerce * {
  text-transform: none !important;
}

/* --- Dashed border wrapper (ThemeSky checkout wrapper) — remove --- */
.woocommerce-order-received .woocommerce,
.woocommerce-order-received .woocommerce > div,
.woocommerce-order-received .woocommerce > .woocommerce-order,
.woocommerce-order-received .ts-cart-checkout-process-bar,
.woocommerce-order-received .woocommerce > div:first-of-type,
.woocommerce-order-pay .woocommerce,
.woocommerce-order-pay .woocommerce > div,
.woocommerce-order-pay .woocommerce > .woocommerce-order,
.woocommerce-order-pay .ts-cart-checkout-process-bar,
.woocommerce-order-pay .woocommerce > div:first-of-type,
.woocommerce-order-received .ts-checkout-content,
.woocommerce-order-pay .ts-checkout-content {
  border: none !important;
  border-style: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* --- Order Details Card (Numero, Date, Total, Moyen de paiement) --- */
.woocommerce-order-pay ul.order_details,
.woocommerce-order-pay ul.woocommerce-order-overview,
.woocommerce-order-received ul.order_details,
.woocommerce-order-received ul.woocommerce-order-overview,
.woocommerce-order-pay .woocommerce > ul,
.woocommerce-order-received .woocommerce > ul {
  background: var(--white, #fff) !important;
  border: 1px solid rgba(237, 231, 221, .5) !important;
  border-radius: 14px !important;
  padding: 24px 28px !important;
  margin: 0 0 28px !important;
  list-style: none !important;
  box-shadow: 0 4px 24px rgba(60, 42, 60, .04), 0 1px 3px rgba(60, 42, 60, .02) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
}
.woocommerce-order-pay ul.order_details li,
.woocommerce-order-pay ul.woocommerce-order-overview li,
.woocommerce-order-received ul.order_details li,
.woocommerce-order-received ul.woocommerce-order-overview li,
.woocommerce-order-pay .woocommerce > ul > li,
.woocommerce-order-received .woocommerce > ul > li {
  list-style: none !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(237, 231, 221, .4) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  color: #8A7A8A !important;
  text-transform: none !important;
  line-height: 1.5 !important;
}
.woocommerce-order-pay ul.order_details li::marker,
.woocommerce-order-pay ul.woocommerce-order-overview li::marker,
.woocommerce-order-received ul.order_details li::marker,
.woocommerce-order-received ul.woocommerce-order-overview li::marker,
.woocommerce-order-pay .woocommerce > ul > li::marker,
.woocommerce-order-received .woocommerce > ul > li::marker {
  content: none !important;
  font-size: 0 !important;
}
.woocommerce-order-pay ul.order_details li::before,
.woocommerce-order-pay ul.woocommerce-order-overview li::before,
.woocommerce-order-received ul.order_details li::before,
.woocommerce-order-received ul.woocommerce-order-overview li::before,
.woocommerce-order-pay .woocommerce > ul > li::before,
.woocommerce-order-received .woocommerce > ul > li::before {
  content: none !important;
}
/* Last row: no border */
.woocommerce-order-pay ul.order_details li:nth-last-child(-n+2),
.woocommerce-order-pay .woocommerce > ul > li:nth-last-child(-n+2),
.woocommerce-order-received ul.order_details li:nth-last-child(-n+2),
.woocommerce-order-received .woocommerce > ul > li:nth-last-child(-n+2) {
  border-bottom: none !important;
}
/* Strong values — Cormorant aubergine */
.woocommerce-order-pay ul.order_details li strong,
.woocommerce-order-pay ul.order_details li mark,
.woocommerce-order-received ul.order_details li strong,
.woocommerce-order-received ul.order_details li mark,
.woocommerce-order-pay .woocommerce > ul > li strong,
.woocommerce-order-pay .woocommerce > ul > li mark,
.woocommerce-order-received .woocommerce > ul > li strong,
.woocommerce-order-received .woocommerce > ul > li mark {
  display: block !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin-top: 3px !important;
  background: none !important;
}

/* --- Payment Gateway Area --- */
.woocommerce-order-pay #payment,
.woocommerce-order-pay form.woocommerce-checkout-payment,
.woocommerce-order-pay .woocommerce > form {
  background: var(--white, #fff) !important;
  border: 1px solid rgba(237, 231, 221, .5) !important;
  border-radius: 14px !important;
  padding: 24px 28px !important;
  margin: 0 0 24px !important;
  box-shadow: 0 4px 24px rgba(60, 42, 60, .04), 0 1px 3px rgba(60, 42, 60, .02) !important;
}
/* Hide empty woocommerce-notices-wrapper and stray empty divs */
.woocommerce-order-pay .woocommerce > .woocommerce-notices-wrapper:empty,
.woocommerce-order-received .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none !important;
}

/* --- iframes inside payment (E-transactions, etc.) --- */
.woocommerce-order-pay iframe {
  border: 1px solid var(--cream, #EDE7DD) !important;
  border-radius: 12px !important;
  max-width: 100% !important;
  margin: 12px 0 !important;
}

/* --- Tables inside order confirmation (Details de la commande) --- */
.woocommerce-order-pay table,
.woocommerce-order-received table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid rgba(237, 231, 221, .5) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 12px 0 20px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
}
/* Table headers — soft cream, sentence case */
.woocommerce-order-pay table thead th,
.woocommerce-order-received table thead th {
  background: var(--cream-warm, #FAF7F2) !important;
  color: #5A4A5A !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: .3px !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid rgba(237, 231, 221, .6) !important;
}
.woocommerce-order-pay table tbody td,
.woocommerce-order-received table tbody td {
  padding: 11px 16px !important;
  border-bottom: 1px solid #F5F0EB !important;
  color: var(--aubergine, #3C2A3C) !important;
  font-size: .82rem !important;
}
.woocommerce-order-pay table td,
.woocommerce-order-received table td {
  color: var(--aubergine, #3C2A3C) !important;
  font-size: .82rem !important;
}
.woocommerce-order-pay table th,
.woocommerce-order-received table th {
  text-transform: none !important;
  font-size: .82rem !important;
  padding: 11px 16px !important;
  color: #6B5B6B !important;
  font-weight: 500 !important;
}
.woocommerce-order-pay table tr:last-child td,
.woocommerce-order-received table tr:last-child td {
  border-bottom: none !important;
}
/* Table footer rows (Sous-total, Expedition, Moyen de paiement, Total) — no underlines */
/* NUCLEAR: kill ALL borders on tfoot — the generic td border-bottom was cascading here */
.woocommerce-order-pay table tfoot,
.woocommerce-order-received table tfoot,
.woocommerce-order-pay table tfoot tr,
.woocommerce-order-received table tfoot tr,
.woocommerce-order-pay table tfoot th,
.woocommerce-order-received table tfoot th,
.woocommerce-order-pay table tfoot td,
.woocommerce-order-received table tfoot td {
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-style: none !important;
}
.woocommerce-order-pay table tfoot th,
.woocommerce-order-received table tfoot th {
  font-family: 'Raleway', sans-serif !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  color: #6B5B6B !important;
  text-transform: none !important;
  padding: 11px 16px !important;
}
.woocommerce-order-pay table tfoot td,
.woocommerce-order-received table tfoot td {
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  padding: 11px 16px !important;
}
/* Total row — slightly emphasized, only top border as separator */
.woocommerce-order-pay table tfoot tr:last-child th,
.woocommerce-order-received table tfoot tr:last-child th {
  font-weight: 600 !important;
  color: var(--aubergine, #3C2A3C) !important;
  font-size: .84rem !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--cream, #EDE7DD) !important;
  border-bottom: none !important;
}
.woocommerce-order-pay table tfoot tr:last-child td,
.woocommerce-order-received table tfoot tr:last-child td {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--cream, #EDE7DD) !important;
  border-bottom: none !important;
}
/* Add-on text in product cells — word wrap for long names like "Bourse en satin" */
.woocommerce-order-pay table td,
.woocommerce-order-received table td {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}
.woocommerce-order-pay table td dl,
.woocommerce-order-received table td dl,
.woocommerce-order-pay table td .wc-item-meta,
.woocommerce-order-received table td .wc-item-meta {
  display: block !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  font-size: .72rem !important;
  color: #6B5B6B !important;
  line-height: 1.5 !important;
}
/* dt + dd on same line, wrapping naturally */
.woocommerce-order-pay table td dl dt,
.woocommerce-order-received table td dl dt,
.woocommerce-order-pay table td .wc-item-meta dt,
.woocommerce-order-received table td .wc-item-meta dt {
  display: inline !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  font-size: .72rem !important;
}
.woocommerce-order-pay table td dl dd,
.woocommerce-order-received table td dl dd,
.woocommerce-order-pay table td .wc-item-meta dd,
.woocommerce-order-received table td .wc-item-meta dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 0 0 2px !important;
  float: none !important;
  clear: none !important;
  font-size: .72rem !important;
}
.woocommerce-order-pay table td dl dd p,
.woocommerce-order-received table td dl dd p,
.woocommerce-order-pay table td .wc-item-meta dd p,
.woocommerce-order-received table td .wc-item-meta dd p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Buttons: primary (Retour boutique, Pay) = aubergine compact --- */
.woocommerce-order-pay .woocommerce a.button,
.woocommerce-order-pay .woocommerce button,
.woocommerce-order-pay .woocommerce input[type="submit"],
.woocommerce-order-received .woocommerce > a.button,
.woocommerce-order-received .woocommerce > .woocommerce-order > a.button {
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .74rem !important;
  font-weight: 600 !important;
  letter-spacing: .5px !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: all .3s cubic-bezier(.25,.46,.45,.94) !important;
  box-shadow: 0 2px 8px rgba(60, 42, 60, .08) !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.woocommerce-order-pay .woocommerce a.button:hover,
.woocommerce-order-pay .woocommerce button:hover,
.woocommerce-order-received .woocommerce > a.button:hover,
.woocommerce-order-received .woocommerce > .woocommerce-order > a.button:hover {
  background: #2a1a2a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(60, 42, 60, .15) !important;
}

/* --- Email verification form button (Vérifier) = aubergine/cream --- */
.woocommerce-order-received .woocommerce form button,
.woocommerce-order-received .woocommerce form input[type="submit"],
.woocommerce-order-received .woocommerce form .button,
.woocommerce-order-received .woocommerce button.button,
.woocommerce-order-received .woocommerce input[type="submit"],
.woocommerce-order-received .woocommerce .woocommerce-form button,
.woocommerce-order-received .woocommerce .woocommerce-form input[type="submit"],
.woocommerce-order-received form button[type="submit"],
.woocommerce-order-received form input[type="submit"] {
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .74rem !important;
  font-weight: 600 !important;
  letter-spacing: .5px !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: all .3s cubic-bezier(.25,.46,.45,.94) !important;
  box-shadow: 0 2px 8px rgba(60, 42, 60, .08) !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.woocommerce-order-received .woocommerce form button:hover,
.woocommerce-order-received .woocommerce form input[type="submit"]:hover,
.woocommerce-order-received .woocommerce button.button:hover,
.woocommerce-order-received form button[type="submit"]:hover,
.woocommerce-order-received form input[type="submit"]:hover {
  background: #2a1a2a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(60, 42, 60, .15) !important;
}
/* Email verification input field */
.woocommerce-order-received .woocommerce form input[type="text"],
.woocommerce-order-received .woocommerce form input[type="email"],
.woocommerce-order-received form input[type="text"],
.woocommerce-order-received form input[type="email"] {
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  padding: 10px 16px !important;
  border: 1px solid var(--cream, #EDE7DD) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--aubergine, #3C2A3C) !important;
  height: 44px !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
}
.woocommerce-order-received .woocommerce form input[type="text"]:focus,
.woocommerce-order-received .woocommerce form input[type="email"]:focus,
.woocommerce-order-received form input[type="text"]:focus,
.woocommerce-order-received form input[type="email"]:focus {
  border-color: var(--gold, #C4A265) !important;
  box-shadow: 0 0 0 3px rgba(196, 162, 101, .12) !important;
  outline: none !important;
}

/* --- VOIR / FACTURE buttons inside tables = subtle text links --- */
.woocommerce-order-received table a.button,
.woocommerce-order-received table .button,
.woocommerce-order-received .woocommerce-table a.button,
.woocommerce-order-received .woocommerce-orders-table a.button {
  background: transparent !important;
  color: #8A7A8A !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 2px 0 !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 500 !important;
  letter-spacing: .3px !important;
  text-transform: none !important;
  box-shadow: none !important;
  display: inline !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  transition: all .25s ease !important;
  margin-right: 12px !important;
}
.woocommerce-order-received table a.button:hover,
.woocommerce-order-received table .button:hover,
.woocommerce-order-received .woocommerce-table a.button:hover,
.woocommerce-order-received .woocommerce-orders-table a.button:hover {
  color: var(--aubergine, #3C2A3C) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--aubergine, #3C2A3C) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* --- "ACTIONS:" column header — hide label, keep cell --- */
.woocommerce-order-received table thead th.woocommerce-orders-table__header-order-actions,
.woocommerce-order-received table thead th:last-child:empty,
.woocommerce-order-received table th[data-title="Actions"] {
  font-size: 0 !important;
  color: transparent !important;
}

/* --- Address cards inside order confirmation --- */
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .addresses {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  margin-top: 28px !important;
}
.woocommerce-order-received .woocommerce-column,
.woocommerce-order-received .addresses .col-1,
.woocommerce-order-received .addresses .col-2 {
  flex: 1 1 calc(50% - 10px) !important;
  background: var(--white, #fff) !important;
  border: 1px solid rgba(237, 231, 221, .5) !important;
  border-radius: 12px !important;
  padding: 20px 22px !important;
  box-shadow: 0 4px 24px rgba(60, 42, 60, .04), 0 1px 3px rgba(60, 42, 60, .02) !important;
}
.woocommerce-order-received .woocommerce-column h2,
.woocommerce-order-received .addresses h2,
.woocommerce-order-received .woocommerce-column h3,
.woocommerce-order-received .addresses h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin: 0 0 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(237, 231, 221, .4) !important;
}
.woocommerce-order-received .woocommerce-column address,
.woocommerce-order-received .addresses address {
  font-family: 'Raleway', sans-serif !important;
  font-size: .8rem !important;
  font-style: normal !important;
  color: #5A4A5A !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
.woocommerce-order-received .woocommerce-column address p,
.woocommerce-order-received .addresses address p {
  margin: 0 0 2px !important;
  text-align: left !important;
}
.woocommerce-order-received .woocommerce-column address br {
  line-height: 1.2 !important;
}
/* Address links (tel, mailto, street) — no underlines */
.woocommerce-order-received .woocommerce-column address a,
.woocommerce-order-received .addresses address a {
  color: #5A4A5A !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
.woocommerce-order-received .woocommerce-column address a:hover,
.woocommerce-order-received .addresses address a:hover {
  color: var(--aubergine, #3C2A3C) !important;
}

/* --- Order received thank-you message --- */
.woocommerce-order-received .woocommerce-notice,
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received p:first-of-type {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  text-align: center !important;
  padding: 20px 0 !important;
  margin-bottom: 8px !important;
}

/* --- Headings on these pages --- */
.woocommerce-order-pay .woocommerce h2,
.woocommerce-order-received .woocommerce h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: var(--aubergine, #3C2A3C) !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}

/* --- "Commerce : France" text at bottom --- */
.woocommerce-order-pay .woocommerce > p:last-child,
.woocommerce-order-received .woocommerce > p:last-child {
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  color: #9A8A9A !important;
  text-align: center !important;
  margin-top: 20px !important;
}

/* --- Responsive 768px --- */
@media (max-width: 768px) {
  .woocommerce-order-pay .woocommerce,
  .woocommerce-order-received .woocommerce {
    margin: 20px auto !important;
    padding: 0 14px !important;
  }
  /* Thank you message */
  .woocommerce-order-received .woocommerce-notice,
  .woocommerce-order-received .woocommerce-thankyou-order-received,
  .woocommerce-order-received p:first-of-type {
    font-size: 1.15rem !important;
    padding: 16px 0 !important;
  }
  /* Headings */
  .woocommerce-order-pay .woocommerce h2,
  .woocommerce-order-received .woocommerce h2 {
    font-size: 1.15rem !important;
    margin: 0 0 12px !important;
  }
  /* Order details card */
  .woocommerce-order-pay ul.order_details,
  .woocommerce-order-pay .woocommerce > ul,
  .woocommerce-order-received ul.order_details,
  .woocommerce-order-received .woocommerce > ul {
    grid-template-columns: 1fr 1fr !important;
    padding: 16px 18px !important;
    border-radius: 12px !important;
  }
  .woocommerce-order-pay ul.order_details li,
  .woocommerce-order-received ul.order_details li,
  .woocommerce-order-pay .woocommerce > ul > li,
  .woocommerce-order-received .woocommerce > ul > li {
    padding: 10px 12px !important;
    font-size: .72rem !important;
  }
  .woocommerce-order-pay ul.order_details li strong,
  .woocommerce-order-received ul.order_details li strong,
  .woocommerce-order-pay ul.order_details li mark,
  .woocommerce-order-received ul.order_details li mark,
  .woocommerce-order-pay .woocommerce > ul > li strong,
  .woocommerce-order-received .woocommerce > ul > li strong,
  .woocommerce-order-pay .woocommerce > ul > li mark,
  .woocommerce-order-received .woocommerce > ul > li mark {
    font-size: .92rem !important;
  }
  /* Tables */
  .woocommerce-order-pay table,
  .woocommerce-order-received table {
    font-size: .78rem !important;
    border-radius: 10px !important;
  }
  .woocommerce-order-pay table thead th,
  .woocommerce-order-received table thead th {
    font-size: .7rem !important;
    padding: 10px 12px !important;
  }
  .woocommerce-order-pay table td,
  .woocommerce-order-received table td,
  .woocommerce-order-pay table th,
  .woocommerce-order-received table th {
    padding: 9px 12px !important;
    font-size: .78rem !important;
  }
  .woocommerce-order-pay table tfoot tr:last-child td,
  .woocommerce-order-received table tfoot tr:last-child td {
    font-size: 1.05rem !important;
  }
  /* Payment area */
  .woocommerce-order-pay #payment,
  .woocommerce-order-pay .woocommerce > form {
    padding: 18px 20px !important;
    border-radius: 12px !important;
  }
  /* Buttons */
  .woocommerce-order-pay .woocommerce a.button,
  .woocommerce-order-pay .woocommerce button,
  .woocommerce-order-received .woocommerce > a.button,
  .woocommerce-order-received .woocommerce > .woocommerce-order > a.button {
    padding: 9px 20px !important;
    font-size: .7rem !important;
  }
  /* VOIR/FACTURE buttons */
  .woocommerce-order-received table a.button,
  .woocommerce-order-received table .button {
    font-size: .68rem !important;
    margin-right: 8px !important;
  }
  /* Address cards */
  .woocommerce-order-received .woocommerce-customer-details,
  .woocommerce-order-received .addresses {
    gap: 14px !important;
    margin-top: 20px !important;
  }
  .woocommerce-order-received .woocommerce-column,
  .woocommerce-order-received .addresses .col-1,
  .woocommerce-order-received .addresses .col-2 {
    padding: 16px 18px !important;
    border-radius: 10px !important;
  }
  .woocommerce-order-received .woocommerce-column h2,
  .woocommerce-order-received .woocommerce-column h3,
  .woocommerce-order-received .addresses h2,
  .woocommerce-order-received .addresses h3 {
    font-size: 1rem !important;
    margin: 0 0 10px !important;
    padding-bottom: 8px !important;
  }
  .woocommerce-order-received .woocommerce-column address,
  .woocommerce-order-received .addresses address {
    font-size: .78rem !important;
  }
}

/* --- Responsive 480px --- */
@media (max-width: 480px) {
  .woocommerce-order-pay .woocommerce,
  .woocommerce-order-received .woocommerce {
    margin: 16px auto !important;
    padding: 0 12px !important;
  }
  .woocommerce-order-received .woocommerce-notice,
  .woocommerce-order-received .woocommerce-thankyou-order-received,
  .woocommerce-order-received p:first-of-type {
    font-size: 1.05rem !important;
    padding: 12px 0 !important;
  }
  .woocommerce-order-pay ul.order_details,
  .woocommerce-order-pay .woocommerce > ul,
  .woocommerce-order-received ul.order_details,
  .woocommerce-order-received .woocommerce > ul {
    grid-template-columns: 1fr !important;
    padding: 14px 16px !important;
  }
  .woocommerce-order-pay ul.order_details li:nth-last-child(2),
  .woocommerce-order-pay .woocommerce > ul > li:nth-last-child(2),
  .woocommerce-order-received ul.order_details li:nth-last-child(2),
  .woocommerce-order-received .woocommerce > ul > li:nth-last-child(2) {
    border-bottom: 1px solid rgba(237, 231, 221, .4) !important;
  }
  /* Address cards — stack */
  .woocommerce-order-received .woocommerce-column,
  .woocommerce-order-received .addresses .col-1,
  .woocommerce-order-received .addresses .col-2 {
    flex: 1 1 100% !important;
  }
  .woocommerce-order-pay #payment,
  .woocommerce-order-pay .woocommerce > form {
    padding: 16px !important;
  }
}

/* ═══════════════════════════════════════════════
   GLOBAL LIST CLEANUP — kill ALL stray bullets
   in cart/checkout pages
   ═══════════════════════════════════════════════ */
.woocommerce-cart ul:not(.products):not([class*="mega"]):not(.fm-nav),
.woocommerce-checkout ul:not(.products):not([class*="mega"]):not(.fm-nav) {
  list-style: none !important;
}
.woocommerce-cart li::marker,
.woocommerce-checkout li::marker {
  font-size: 0 !important;
}

/* ═══════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* ── Page layout ── */
  .woocommerce-cart .site-main > .container,
  .woocommerce-checkout .site-main > .container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce {
    padding: 0 14px !important;
  }

  /* ── Stepper: compact on mobile ── */
  .ts-cart-checkout-process-bar {
    gap: 0 !important;
    padding: 14px 0 10px !important;
    margin-bottom: 12px !important;
  }
  .ts-cart-checkout-process-bar > a {
    min-width: 70px !important;
    padding: 0 8px !important;
  }
  .ts-cart-checkout-process-bar > a .status {
    width: 28px !important;
    height: 28px !important;
    font-size: .65rem !important;
    margin-bottom: 6px !important;
  }
  .ts-cart-checkout-process-bar > a h6 {
    font-size: .5rem !important;
    letter-spacing: .8px !important;
  }
  .ts-cart-checkout-process-bar > a > div > span {
    display: none !important;
  }
  .ts-cart-checkout-process-bar > a:not(:last-child)::after {
    display: none !important;
  }

  /* ── WC Message "ajouté au panier" — mobile ── */
  .woocommerce-message,
  .woocommerce-cart .woocommerce-info,
  .woocommerce-checkout .woocommerce-info {
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 14px 16px 14px 44px !important;
    font-size: .8rem !important;
  }
  .woocommerce-message::before,
  .woocommerce-cart .woocommerce-message::before {
    left: 12px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    background-size: 18px 18px !important;
  }
  .woocommerce-message .button,
  .woocommerce-message a.button {
    white-space: normal !important;
    text-align: center !important;
    padding: 10px 20px !important;
    font-size: .62rem !important;
    letter-spacing: 1px !important;
    line-height: 1.4 !important;
    flex-shrink: 1 !important;
    flex-grow: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ── Cross-sells responsive ── */
  div.recommandations2 ul.wc-block-grid__products,
  div.recommandations2 .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  div.recommandations ul.wc-block-grid__products,
  div.recommandations .wc-block-grid__products {
    max-width: 100% !important;
  }

  /* ═══ CART TABLE MOBILE ═══ */
  .woocommerce-cart table.shop_table {
    border-radius: 12px !important;
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    box-shadow: 0 2px 12px rgba(60,42,60,.06) !important;
  }
  /* Hide the table header */
  .woocommerce-cart table.shop_table thead {
    display: none !important;
  }
  /* Table body — no dashed borders */
  .woocommerce-cart table.shop_table tbody {
    border: none !important;
  }
  /* Each row = card-like block */
  .woocommerce-cart table.shop_table tbody tr {
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--cream, #EDE7DD) !important;
    position: relative !important;
    align-items: flex-start !important;
  }
  .woocommerce-cart table.shop_table tbody tr:last-child {
    border-bottom: none !important;
  }
  /* Reset td — kill all borders */
  .woocommerce-cart table.shop_table tbody td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    text-align: left !important;
    background: none !important;
    width: auto !important;
  }
  .woocommerce-cart table.shop_table tbody td::before {
    display: none !important;
  }
  /* Remove button — top right, smaller to avoid overlap */
  .woocommerce-cart table.shop_table td.product-remove {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: auto !important;
    order: 99 !important;
    z-index: 2 !important;
  }
  .woocommerce-cart table.shop_table td.product-remove a.remove {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    font-size: 1rem !important;
    line-height: 22px !important;
    background: var(--cream-warm, #FAF7F2) !important;
    border: 1px solid var(--cream, #EDE7DD) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }
  /* Thumbnail — left side */
  .woocommerce-cart table.shop_table td.product-thumbnail {
    width: 68px !important;
    flex-shrink: 0 !important;
    margin-right: 12px !important;
    order: 1 !important;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 68px !important;
    height: 68px !important;
    border-radius: 8px !important;
  }
  /* Product name — next to thumbnail, MUST fill first row to push price below */
  .woocommerce-cart table.shop_table td.product-name {
    flex: 1 1 calc(100% - 80px) !important;
    min-width: 0 !important;
    order: 2 !important;
    padding-right: 36px !important; /* space for × button */
    box-sizing: border-box !important;
  }
  .woocommerce-cart table.shop_table td.product-name a {
    font-size: .86rem !important;
    line-height: 1.3 !important;
  }
  .woocommerce-cart table.shop_table td.product-name .variation,
  .woocommerce-cart table.shop_table td.product-name dl.variation {
    font-size: .72rem !important;
    margin-top: 4px !important;
  }
  /* Price, Qty, Subtotal — forced onto second row */
  .woocommerce-cart table.shop_table td.product-price {
    order: 3 !important;
    flex: 0 0 auto !important;
    margin-top: 12px !important;
    font-size: .8rem !important;
    color: var(--text-soft, #6B5B6B) !important;
  }
  .woocommerce-cart table.shop_table td.product-quantity {
    order: 4 !important;
    flex: 0 0 auto !important;
    margin-top: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  .woocommerce-cart table.shop_table td.product-subtotal {
    order: 5 !important;
    flex: 0 0 auto !important;
    margin-top: 12px !important;
    margin-left: auto !important;
    text-align: right !important;
    font-weight: 700 !important;
    font-size: .9rem !important;
    color: var(--aubergine, #3C2A3C) !important;
  }
  /* Qty controls compact */
  .woocommerce-cart .quantity {
    max-width: 100px !important;
  }
  .woocommerce-cart .quantity .number-button,
  .woocommerce-cart .quantity > div {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  .woocommerce-cart .quantity input.qty {
    width: 34px !important;
    height: 34px !important;
    font-size: .8rem !important;
  }
  .woocommerce-cart .quantity input[type="button"],
  .woocommerce-cart .quantity button {
    width: 30px !important;
    height: 34px !important;
    font-size: .8rem !important;
  }

  /* ── Actions row (coupon, update, empty) ── */
  .woocommerce-cart table.shop_table td.actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 16px !important;
    width: 100% !important;
    position: relative !important;
  }
  .woocommerce-cart .coupon {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 8px !important;
    order: 1 !important;
  }
  .woocommerce-cart .coupon input[type="text"],
  .woocommerce-cart .coupon #coupon_code {
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    height: 40px !important;
    font-size: .78rem !important;
  }
  .woocommerce-cart .coupon button,
  .woocommerce-cart .coupon input[type="submit"] {
    flex-shrink: 0 !important;
    height: 40px !important;
    padding: 0 16px !important;
    font-size: .68rem !important;
    white-space: nowrap !important;
  }
  .woocommerce-cart td.actions > button[name="ts_empty_cart"],
  .woocommerce-cart td.actions > .empty-cart-button {
    order: 2 !important;
    width: auto !important;
    position: static !important;
    transform: none !important;
    height: 40px !important;
    font-size: .62rem !important;
    padding: 0 14px !important;
  }
  .woocommerce-cart td.actions > button[name="update_cart"],
  .woocommerce-cart td.actions > input[name="update_cart"] {
    order: 3 !important;
    width: auto !important;
    flex: 1 1 0% !important;
    position: static !important;
    transform: none !important;
    height: 40px !important;
    font-size: .62rem !important;
  }

  /* ── Cart totals ── */
  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-top: 20px !important;
    padding: 20px 16px !important;
  }
  .woocommerce-cart .cart_totals h2 {
    font-size: 1.3rem !important;
  }
  .woocommerce-cart .cart_totals table {
    width: 100% !important;
    border: none !important;
  }
  .woocommerce-cart .cart_totals table tr {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--cream, #EDE7DD) !important;
  }
  .woocommerce-cart .cart_totals table tr:last-child {
    border-bottom: none !important;
  }
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    display: inline !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    width: auto !important;
    background: none !important;
    font-size: .84rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }
  .woocommerce-cart .cart_totals table th {
    font-family: 'Raleway', sans-serif !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    color: var(--text-soft, #6B5B6B) !important;
  }
  .woocommerce-cart .cart_totals table td {
    text-align: right !important;
  }
  /* Shipping row — stack */
  .woocommerce-cart .cart_totals table .shipping {
    flex-direction: column !important;
  }
  .woocommerce-cart .cart_totals table .shipping th {
    margin-bottom: 8px !important;
  }
  .woocommerce-cart .cart_totals table .shipping td {
    width: 100% !important;
    text-align: left !important;
  }
  /* Shipping options */
  .woocommerce-cart .cart_totals ul#shipping_method {
    padding: 0 !important;
  }
  .woocommerce-cart .cart_totals ul#shipping_method li {
    padding: 6px 0 !important;
  }
  /* Order total row */
  .woocommerce-cart .cart_totals table .order-total th {
    font-size: .86rem !important;
    font-weight: 700 !important;
    color: var(--aubergine, #3C2A3C) !important;
  }
  .woocommerce-cart .cart_totals table .order-total .amount {
    font-size: 1.3rem !important;
  }
  /* Validate button */
  .woocommerce-cart .wc-proceed-to-checkout a,
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    padding: 16px 24px !important;
    font-size: .76rem !important;
  }
  /* Diamants / YITH */
  .ywpar_apply_points_container,
  .ywpar-apply-points-container,
  form[class*="ywpar"] {
    padding: 14px 16px !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* ═══ CHECKOUT MOBILE ═══ */
  /* Form fields: 1 column */
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: block !important;
  }
  .woocommerce-checkout .form-row {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-bottom: 14px !important;
  }
  /* Country field — extra bottom margin for visual separation */
  .woocommerce-checkout #billing_country_field,
  .woocommerce-checkout #shipping_country_field {
    margin-bottom: 18px !important;
  }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last,
  .woocommerce-checkout .form-row-wide {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
  /* Reset ALL forced 2-col fields */
  .woocommerce-checkout #billing_first_name_field,
  .woocommerce-checkout #billing_last_name_field,
  .woocommerce-checkout #billing_company_field,
  .woocommerce-checkout #billing_country_field,
  .woocommerce-checkout #billing_address_1_field,
  .woocommerce-checkout #billing_address_2_field,
  .woocommerce-checkout #billing_postcode_field,
  .woocommerce-checkout #billing_city_field,
  .woocommerce-checkout #billing_phone_field,
  .woocommerce-checkout #billing_email_field,
  .woocommerce-checkout #shipping_first_name_field,
  .woocommerce-checkout #shipping_last_name_field,
  .woocommerce-checkout #shipping_company_field,
  .woocommerce-checkout #shipping_country_field,
  .woocommerce-checkout #shipping_address_1_field,
  .woocommerce-checkout #shipping_address_2_field,
  .woocommerce-checkout #shipping_postcode_field,
  .woocommerce-checkout #shipping_city_field {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    grid-column: unset !important;
  }
  /* Inputs full-width */
  .woocommerce-checkout input[type="text"],
  .woocommerce-checkout input[type="email"],
  .woocommerce-checkout input[type="tel"],
  .woocommerce-checkout select,
  .woocommerce-checkout .select2-container,
  .woocommerce-checkout textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Checkout card wrappers */
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout form.woocommerce-checkout > .col2-set {
    padding: 20px 16px !important;
    border-radius: 12px !important;
  }
  .woocommerce-checkout .woocommerce-additional-fields {
    padding: 16px !important;
    border-radius: 12px !important;
  }

  /* Order review heading */
  .woocommerce-checkout h3#order_review_heading {
    padding: 20px 16px 12px !important;
    border-radius: 12px 12px 0 0 !important;
    font-size: 1.2rem !important;
  }
  .woocommerce-checkout #order_review {
    padding: 0 16px 20px !important;
    border-radius: 0 0 12px 12px !important;
  }

  /* Order review table */
  .woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    font-size: .82rem !important;
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    padding: 10px 12px !important;
    font-size: .7rem !important;
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 10px 12px !important;
  }
  /* Shipping row — reduce font on mobile so labels fit */
  .woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li label {
    font-size: .76rem !important;
  }

  /* Payment — 1 column on mobile */
  .woocommerce-checkout #payment {
    padding: 20px 16px !important;
    border-radius: 12px !important;
  }
  .woocommerce-checkout #payment ul.payment_methods {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .woocommerce-checkout #payment ul.payment_methods li {
    padding: 12px 14px !important;
    flex: 1 1 100% !important;
  }
  .woocommerce-checkout #payment ul.payment_methods li label {
    font-size: .8rem !important;
  }

  /* Commander button */
  .woocommerce-checkout #place_order {
    padding: 16px 24px !important;
    font-size: .74rem !important;
    letter-spacing: 1.5px !important;
  }

  /* Login + coupon forms */
  .woocommerce-checkout form.woocommerce-form-login,
  .woocommerce-checkout form.checkout_coupon {
    padding: 16px !important;
    max-width: 100% !important;
  }
  .woocommerce-checkout form.checkout_coupon .form-row {
    flex-direction: column !important;
  }

  /* Toggle bars compact */
  .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
  .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    padding: 12px 16px !important;
    font-size: .78rem !important;
  }
}

@media (max-width: 480px) {
  .woocommerce-cart .site-main > .container,
  .woocommerce-checkout .site-main > .container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce {
    padding: 0 10px !important;
  }
  .ts-cart-checkout-process-bar > a .status {
    width: 24px !important;
    height: 24px !important;
    font-size: .6rem !important;
  }
  .ts-cart-checkout-process-bar > a h6 {
    font-size: .45rem !important;
  }
  /* Cart table 480 */
  .woocommerce-cart table.shop_table tbody tr {
    padding: 12px !important;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail {
    width: 60px !important;
    margin-right: 10px !important;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 60px !important;
    height: 60px !important;
  }
  .woocommerce-cart table.shop_table td.product-name a {
    font-size: .8rem !important;
  }
  /* Actions 480 */
  .woocommerce-cart td.actions {
    padding: 12px !important;
  }
  .woocommerce-cart .coupon input[type="text"],
  .woocommerce-cart .coupon #coupon_code {
    height: 36px !important;
    font-size: .72rem !important;
  }
  .woocommerce-cart .coupon button,
  .woocommerce-cart .coupon input[type="submit"] {
    height: 36px !important;
    padding: 0 12px !important;
    font-size: .62rem !important;
  }
  /* Cart totals 480 */
  .woocommerce-cart .cart_totals {
    padding: 16px 12px !important;
  }
  .woocommerce-cart .cart_totals h2 {
    font-size: 1.15rem !important;
  }
  /* Cross-sells 480 */
  div.recommandations2 ul.wc-block-grid__products,
  div.recommandations2 .wc-block-grid__products {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* Checkout 480px */
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout form.woocommerce-checkout > .col2-set {
    padding: 16px 12px !important;
  }
  .woocommerce-checkout .woocommerce-additional-fields {
    padding: 12px !important;
  }
  .woocommerce-checkout h3#order_review_heading {
    padding: 16px 12px 10px !important;
    font-size: 1.1rem !important;
  }
  .woocommerce-checkout #order_review {
    padding: 0 12px 16px !important;
  }
  .woocommerce-checkout #payment {
    padding: 16px 12px !important;
  }
  .woocommerce-checkout #place_order {
    padding: 14px 20px !important;
    font-size: .7rem !important;
  }
}

/* ── Extra small phone (≤ 390px — iPhone SE, older Android) ── */
@media (max-width: 390px) {
  /* Page padding ultra-compact */
  .woocommerce-cart .site-main > .container,
  .woocommerce-checkout .site-main > .container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce {
    padding: 0 8px !important;
  }

  /* Stepper — icons only, no text */
  .ts-cart-checkout-process-bar {
    padding: 10px 0 8px !important;
    margin-bottom: 8px !important;
  }
  .ts-cart-checkout-process-bar > a {
    min-width: 50px !important;
    padding: 0 4px !important;
  }
  .ts-cart-checkout-process-bar > a .status {
    width: 22px !important;
    height: 22px !important;
    font-size: .55rem !important;
    margin-bottom: 4px !important;
  }
  .ts-cart-checkout-process-bar > a h6 {
    font-size: .42rem !important;
    letter-spacing: .3px !important;
  }

  /* Cart table — tighter */
  .woocommerce-cart table.shop_table tbody tr {
    padding: 10px !important;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail {
    width: 54px !important;
    margin-right: 8px !important;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 54px !important;
    height: 54px !important;
    border-radius: 6px !important;
  }
  .woocommerce-cart table.shop_table td.product-name a {
    font-size: .76rem !important;
  }
  .woocommerce-cart table.shop_table td.product-name .variation,
  .woocommerce-cart table.shop_table td.product-name dl.variation,
  .woocommerce-cart table.shop_table td.product-name .wc-item-meta {
    font-size: .66rem !important;
  }

  /* Actions — stack coupon vertically */
  .woocommerce-cart td.actions {
    padding: 10px !important;
    gap: 8px !important;
  }
  .woocommerce-cart .coupon {
    flex-wrap: wrap !important;
  }
  .woocommerce-cart .coupon input[type="text"],
  .woocommerce-cart .coupon #coupon_code {
    flex: 1 1 100% !important;
    width: 100% !important;
    height: 36px !important;
  }
  .woocommerce-cart .coupon button,
  .woocommerce-cart .coupon input[type="submit"] {
    flex: 1 1 100% !important;
    width: 100% !important;
    height: 36px !important;
  }
  .woocommerce-cart td.actions > button[name="ts_empty_cart"],
  .woocommerce-cart td.actions > .empty-cart-button,
  .woocommerce-cart td.actions > button[name="update_cart"],
  .woocommerce-cart td.actions > input[name="update_cart"] {
    width: 100% !important;
    flex: 1 1 100% !important;
    height: 36px !important;
  }

  /* Cart totals — tighter */
  .woocommerce-cart .cart_totals {
    padding: 14px 10px !important;
  }
  .woocommerce-cart .cart_totals h2 {
    font-size: 1.05rem !important;
  }
  .woocommerce-cart .cart_totals table tr {
    padding: 10px 12px !important;
  }
  .woocommerce-cart .cart_totals table .order-total .amount {
    font-size: 1.15rem !important;
  }
  .woocommerce-cart .wc-proceed-to-checkout a,
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    padding: 14px 20px !important;
    font-size: .7rem !important;
    letter-spacing: 1.5px !important;
  }

  /* Cross-sells — compact cards */
  div.recommandations2 ul.wc-block-grid__products,
  div.recommandations2 .wc-block-grid__products {
    gap: 8px !important;
  }
  .wc-block-grid__product-title {
    font-size: .82rem !important;
  }

  /* Diamants / YITH — compact */
  .ywpar_apply_points_container,
  .ywpar-apply-points-container,
  form[class*="ywpar"] {
    padding: 10px 12px !important;
    font-size: .78rem !important;
  }

  /* Checkout — tighter cards */
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout form.woocommerce-checkout > .col2-set {
    padding: 14px 10px !important;
  }
  .woocommerce-checkout h3#order_review_heading {
    padding: 14px 10px 8px !important;
    font-size: 1rem !important;
  }
  .woocommerce-checkout #order_review {
    padding: 0 10px 14px !important;
  }
  .woocommerce-checkout #payment {
    padding: 14px 10px !important;
  }
  .woocommerce-checkout #place_order {
    padding: 12px 16px !important;
    font-size: .66rem !important;
    letter-spacing: 1px !important;
  }
  /* Checkout form labels */
  .woocommerce-checkout label {
    font-size: .76rem !important;
  }

  /* Order confirmation — compact */
  .woocommerce-order-pay .woocommerce,
  .woocommerce-order-received .woocommerce {
    padding: 0 8px !important;
  }
}
