/* ==========================================================
   LUDORUM — PANIER v1.0.0
   Page panier uniquement. Aucun style global hors .lud-cart-page.
   ========================================================== */

body.ludorum-panier-v1 {
  --lc-blue-dark:#061a38;
  --lc-blue:#0B4DBB;
  --lc-red:#D72626;
  --lc-yellow:#F5C518;
  --lc-green:#15965c;
  --lc-ink:#071a33;
  --lc-muted:#6b7789;
  --lc-border:#dde5ef;
  --lc-soft:#f7f9fc;
  --lc-ivory:#fffaf0;
}

body.ludorum-panier-v1 .lud-cart-page,
body.ludorum-panier-v1 .lud-cart-page * {
  box-sizing:border-box;
}

body.ludorum-panier-v1 .lud-cart-page {
  width:min(1120px, calc(100% - 36px));
  margin:0 auto;
  padding:22px 0 56px;
  color:var(--lc-ink);
}

/* Header compact : le panier reste visible rapidement. */
.lud-cart-header {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:15px 24px;
  margin:0 0 24px;
  padding:22px 24px 20px;
  overflow:hidden;
  border:1px solid var(--lc-border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgba(7,26,51,.065);
}

.lud-cart-header__accent {
  position:absolute;
  inset:0 0 auto;
  display:flex;
  height:4px;
}
.lud-cart-header__accent i { flex:1; }
.lud-cart-header__accent i:nth-child(1){background:var(--lc-blue);}
.lud-cart-header__accent i:nth-child(2){background:var(--lc-yellow);}
.lud-cart-header__accent i:nth-child(3){background:var(--lc-red);}

.lud-cart-kicker {
  display:block;
  margin:0 0 4px;
  color:var(--lc-blue);
  font-size:10px;
  font-weight:900;
  letter-spacing:.085em;
}

.lud-cart-header h1 {
  margin:0;
  color:var(--lc-ink);
  font-size:clamp(27px,3.2vw,38px);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.03em;
}

.lud-cart-header__copy p {
  margin:7px 0 0;
  color:var(--lc-muted);
  font-size:13px;
  line-height:1.5;
}

.lud-cart-steps {
  display:flex;
  align-items:center;
  align-self:center;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}

.lud-cart-steps li {
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:5px 9px;
  border:1px solid var(--lc-border);
  border-radius:999px;
  background:var(--lc-soft);
  color:var(--lc-muted);
  font-size:10px;
}

.lud-cart-steps li span {
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#e9eef5;
  color:var(--lc-ink);
  font-size:9px;
  font-weight:900;
}

.lud-cart-steps li strong {font-weight:850;}
.lud-cart-steps li.is-active {
  border-color:rgba(11,77,187,.28);
  background:#eef4ff;
  color:var(--lc-blue);
}
.lud-cart-steps li.is-active span {background:var(--lc-blue);color:#fff;}

.lud-cart-shipping {
  grid-column:1/-1;
  padding:10px 12px;
  border:1px solid #e5eaf1;
  border-radius:11px;
  background:#fbfcfe;
}

.lud-cart-shipping__top {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:var(--lc-ink);
  font-size:11px;
}
.lud-cart-shipping__icon {font-size:13px;}
.lud-cart-shipping__top strong {font-weight:850;}
.lud-cart-shipping__threshold {margin-left:auto;color:var(--lc-muted);font-size:10px;font-weight:750;}
.lud-cart-shipping__track {
  width:100%;
  height:4px;
  margin-top:8px;
  overflow:hidden;
  border-radius:999px;
  background:#e7edf5;
}
.lud-cart-shipping__track span {
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--lc-blue),var(--lc-yellow),var(--lc-red));
  transition:width .3s ease;
}

/* WooCommerce classic cart */
.lud-cart-main > .woocommerce {
  display:grid;
  grid-template-columns:minmax(0,1fr) 350px;
  align-items:start;
  gap:22px;
}

.lud-cart-main .woocommerce-notices-wrapper,
.lud-cart-main .woocommerce-message,
.lud-cart-main .woocommerce-info,
.lud-cart-main .woocommerce-error,
.lud-cart-main .cart-empty,
.lud-cart-main .return-to-shop {
  grid-column:1/-1;
}

.lud-cart-main .woocommerce-message,
.lud-cart-main .woocommerce-info,
.lud-cart-main .woocommerce-error {
  margin:0 0 4px !important;
  padding:13px 16px 13px 44px !important;
  border:1px solid var(--lc-border) !important;
  border-top:3px solid var(--lc-blue) !important;
  border-radius:11px !important;
  background:#fff !important;
  color:var(--lc-ink) !important;
  font-size:12px !important;
}
.lud-cart-main .woocommerce-error {border-top-color:var(--lc-red)!important;}

.lud-cart-main .woocommerce-cart-form {
  min-width:0;
  margin:0 !important;
  padding:0 !important;
}

.lud-cart-main table.shop_table {
  width:100% !important;
  margin:0 !important;
  overflow:hidden;
  border:1px solid var(--lc-border) !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 7px 20px rgba(7,26,51,.05) !important;
}

.lud-cart-main table.shop_table thead th {
  padding:11px 10px !important;
  border:0 !important;
  border-bottom:1px solid var(--lc-border) !important;
  background:#f7f9fc !important;
  color:var(--lc-muted) !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}

.lud-cart-main table.shop_table td {
  padding:13px 10px !important;
  border:0 !important;
  border-bottom:1px solid #edf1f5 !important;
  background:#fff !important;
  color:var(--lc-ink) !important;
  font-size:12px !important;
  vertical-align:middle !important;
}
.lud-cart-main table.shop_table tr:last-child td {border-bottom:0!important;}

.lud-cart-main table.cart img {
  width:76px !important;
  height:76px !important;
  object-fit:contain !important;
  padding:3px;
  border:1px solid #e8edf4;
  border-radius:9px;
  background:#f9fbfd;
}

.lud-cart-main td.product-name a {
  color:var(--lc-ink) !important;
  font-size:12.5px !important;
  font-weight:850 !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}
.lud-cart-main td.product-name a:hover {color:var(--lc-blue)!important;}
.lud-cart-main .variation {margin:4px 0 0!important;color:var(--lc-muted)!important;font-size:10px!important;}

.lud-cart-main td.product-price,
.lud-cart-main td.product-subtotal {
  color:var(--lc-blue) !important;
  font-weight:900 !important;
  white-space:nowrap;
}

.lud-cart-main a.remove {
  display:grid !important;
  place-items:center !important;
  width:28px !important;
  height:28px !important;
  border:1px solid #f0c5ca !important;
  border-radius:8px !important;
  background:#fff5f6 !important;
  color:var(--lc-red) !important;
  font-size:18px !important;
  line-height:1 !important;
  text-decoration:none !important;
}
.lud-cart-main a.remove:hover {background:#ffe8eb!important;}

.lud-cart-main .quantity .qty {
  width:62px !important;
  min-height:36px !important;
  padding:5px 7px !important;
  border:1px solid #ccd6e2 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--lc-ink) !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-align:center !important;
}

/* Coupon + actions */
.lud-cart-main table.cart td.actions {
  padding:12px !important;
  background:#fafbfd !important;
}
.lud-cart-main .coupon {
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
}
.lud-cart-main .coupon .input-text {
  width:180px !important;
  min-height:38px !important;
  margin:0 !important;
  padding:8px 10px !important;
  border:1px solid #cdd7e4 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--lc-ink) !important;
  font-size:11px !important;
}

.lud-cart-main .button,
.lud-cart-main button.button,
.lud-cart-main input.button {
  min-height:38px !important;
  padding:8px 12px !important;
  border:0 !important;
  border-radius:8px !important;
  background:linear-gradient(120deg,var(--lc-blue-dark),var(--lc-blue)) !important;
  color:#fff !important;
  font-size:10.5px !important;
  font-weight:850 !important;
  line-height:1.1 !important;
  box-shadow:none !important;
}
.lud-cart-main .button:hover,
.lud-cart-main button.button:hover,
.lud-cart-main input.button:hover {filter:brightness(1.06);}

/* Total commande */
.lud-cart-main .cart-collaterals {
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.lud-cart-main .cart-collaterals::before,
.lud-cart-main .cart-collaterals::after {display:none!important;content:none!important;}

.lud-cart-main .cart_totals {
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid var(--lc-border) !important;
  border-radius:14px !important;
  background:linear-gradient(145deg,#fff,var(--lc-ivory)) !important;
  box-shadow:0 8px 24px rgba(7,26,51,.065) !important;
}

.lud-cart-main .cart_totals h2 {
  margin:0 0 12px !important;
  color:var(--lc-ink) !important;
  font-size:19px !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

.lud-cart-main .cart_totals table.shop_table {
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.lud-cart-main .cart_totals table.shop_table th,
.lud-cart-main .cart_totals table.shop_table td {
  padding:10px 0 !important;
  border-bottom:1px solid rgba(7,26,51,.09) !important;
  background:transparent !important;
  font-size:11px !important;
  vertical-align:top !important;
}
.lud-cart-main .cart_totals table.shop_table th {color:var(--lc-ink)!important;font-weight:850!important;}
.lud-cart-main .cart_totals table.shop_table td {color:#334158!important;text-align:right!important;}
.lud-cart-main .cart_totals .order-total th,
.lud-cart-main .cart_totals .order-total td {
  padding-top:13px !important;
  color:var(--lc-red) !important;
  font-size:14px !important;
  font-weight:950 !important;
  border-bottom:0!important;
}

.lud-cart-main .woocommerce-shipping-methods {
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.lud-cart-main .woocommerce-shipping-methods li {margin:0 0 6px!important;font-size:10px!important;}
.lud-cart-main .woocommerce-shipping-methods label {font-size:10px!important;line-height:1.35!important;}

.lud-cart-main .wc-proceed-to-checkout {
  margin:14px 0 0 !important;
  padding:0 !important;
}
.lud-cart-main .wc-proceed-to-checkout a.checkout-button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  padding:11px 14px !important;
  border:0 !important;
  border-radius:10px !important;
  background:linear-gradient(145deg,var(--lc-yellow),#ffc83d) !important;
  color:var(--lc-ink) !important;
  font-size:13px !important;
  font-weight:950 !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:0 7px 17px rgba(245,197,24,.25) !important;
}
.lud-cart-main .wc-proceed-to-checkout a.checkout-button:hover {filter:brightness(1.035);}

/* Shipping calculators / loyalty injections remain usable. */
.lud-cart-main .shipping-calculator-button,
.lud-cart-main .woocommerce-shipping-destination {font-size:10px!important;}

/* Empty cart */
.lud-cart-main .cart-empty {
  margin:0!important;
  padding:28px 20px!important;
  border:1px solid var(--lc-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--lc-ink)!important;
  text-align:center!important;
  font-size:14px!important;
}
.lud-cart-main .return-to-shop {text-align:center!important;}

/* Trust */
.lud-cart-trust {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
}
.lud-cart-trust article {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:12px;
  border:1px solid var(--lc-border);
  border-radius:12px;
  background:#fff;
}
.lud-cart-trust__icon {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:9px;
  font-size:14px;
}
.lud-cart-trust__icon.is-blue{background:#edf4ff;}
.lud-cart-trust__icon.is-red{background:#fff0f2;}
.lud-cart-trust__icon.is-yellow{background:#fff8dc;}
.lud-cart-trust strong {display:block;color:var(--lc-ink);font-size:11px;font-weight:900;line-height:1.2;}
.lud-cart-trust small {display:block;margin-top:3px;color:var(--lc-muted);font-size:9.5px;line-height:1.35;}

@media (max-width:1024px) {
  .lud-cart-main > .woocommerce {grid-template-columns:1fr;gap:16px;}
  .lud-cart-main .cart_totals {max-width:none;}
  .lud-cart-steps strong {display:none;}
  .lud-cart-steps li {padding:5px;}
  .lud-cart-trust {grid-template-columns:1fr;}
}

@media (max-width:767px) {
  body.ludorum-panier-v1 .lud-cart-page {width:calc(100% - 20px);padding:14px 0 36px;}
  .lud-cart-header {grid-template-columns:1fr;padding:18px 14px 14px;gap:12px;border-radius:14px;}
  .lud-cart-header h1 {font-size:28px;}
  .lud-cart-header__copy p {font-size:11.5px;}
  .lud-cart-steps {justify-content:flex-start;}
  .lud-cart-steps li {min-height:30px;}
  .lud-cart-shipping__top {font-size:10px;}
  .lud-cart-shipping__threshold {font-size:9px;}

  /* Woo responsive table becomes clean cards. */
  .lud-cart-main table.shop_table_responsive thead {display:none!important;}
  .lud-cart-main table.shop_table_responsive tbody,
  .lud-cart-main table.shop_table_responsive tr,
  .lud-cart-main table.shop_table_responsive td {display:block!important;width:100%!important;}

  .lud-cart-main table.shop_table_responsive tr.woocommerce-cart-form__cart-item {
    position:relative!important;
    margin:0 0 10px!important;
    padding:12px!important;
    border:1px solid var(--lc-border)!important;
    border-radius:12px!important;
    background:#fff!important;
  }

  .lud-cart-main table.shop_table_responsive td {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:7px 0!important;
    border:0!important;
    border-bottom:1px solid #eef2f6!important;
    text-align:right!important;
  }
  .lud-cart-main table.shop_table_responsive td:last-child {border-bottom:0!important;}
  .lud-cart-main table.shop_table_responsive td::before {
    color:var(--lc-muted)!important;
    font-size:9px!important;
    font-weight:850!important;
    text-transform:uppercase!important;
  }
  .lud-cart-main table.shop_table_responsive td.product-thumbnail {justify-content:center!important;}
  .lud-cart-main table.shop_table_responsive td.product-thumbnail::before,
  .lud-cart-main table.shop_table_responsive td.product-name::before,
  .lud-cart-main table.shop_table_responsive td.product-remove::before {display:none!important;}
  .lud-cart-main table.shop_table_responsive td.product-name {justify-content:flex-start!important;text-align:left!important;}
  .lud-cart-main table.cart img {width:92px!important;height:92px!important;}
  .lud-cart-main td.product-remove {position:absolute!important;top:7px!important;right:7px!important;width:auto!important;z-index:2;}

  .lud-cart-main table.cart td.actions {display:block!important;padding:10px!important;}
  .lud-cart-main .coupon {display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important;width:100%!important;}
  .lud-cart-main .coupon .input-text {width:100%!important;min-width:0!important;}
  .lud-cart-main table.cart td.actions > .button {width:100%!important;margin-top:7px!important;}

  .lud-cart-main .cart_totals {padding:15px!important;}
  .lud-cart-main .wc-proceed-to-checkout a.checkout-button {min-height:46px!important;font-size:12px!important;}
}


/* ==========================================================
   LUDORUM — PANIER v1.0.1
   FINITIONS CONVERSION
   - ensemble + large
   - produit + présent
   - total + lisible
   - paiements express -12 % environ
   ========================================================== */

/* 1. Plus de respiration sur grand écran sans changer le squelette. */
body.ludorum-panier-v1 .lud-cart-page {
  width:min(1210px, calc(100% - 36px)) !important;
}

/* La colonne produit gagne la majorité de l'espace supplémentaire. */
.lud-cart-main > .woocommerce {
  grid-template-columns:minmax(0, 1fr) 365px !important;
  gap:24px !important;
}

/* 2. Produit plus présent : image et nom légèrement renforcés. */
.lud-cart-main table.cart img {
  width:86px !important;
  height:86px !important;
  padding:4px !important;
  border-radius:10px !important;
}

.lud-cart-main td.product-name a {
  font-size:13.3px !important;
  line-height:1.35 !important;
}

.lud-cart-main table.shop_table td {
  padding-top:14px !important;
  padding-bottom:14px !important;
}

/* Prix / sous-total un peu plus lisibles dans les lignes. */
.lud-cart-main td.product-price,
.lud-cart-main td.product-subtotal {
  font-size:12.6px !important;
}

/* 3. Récapitulatif : meilleure hiérarchie avant validation. */
.lud-cart-main .cart_totals {
  padding:20px !important;
}

.lud-cart-main .cart_totals h2 {
  margin-bottom:14px !important;
  font-size:20px !important;
}

.lud-cart-main .cart_totals table.shop_table th,
.lud-cart-main .cart_totals table.shop_table td {
  padding:11px 0 !important;
  font-size:11.7px !important;
  line-height:1.4 !important;
}

.lud-cart-main .cart_totals .order-total th,
.lud-cart-main .cart_totals .order-total td {
  padding-top:15px !important;
  font-size:16px !important;
  line-height:1.2 !important;
}

.lud-cart-main .wc-proceed-to-checkout {
  margin-top:16px !important;
}

.lud-cart-main .wc-proceed-to-checkout a.checkout-button {
  min-height:50px !important;
  font-size:13.4px !important;
}

/* 4. Paiements express : réduire seulement le conteneur extérieur.
   Les boutons, composants Stripe/WooPayments et iframes internes restent intacts. */
body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper,
body.ludorum-panier-v1 .lud-cart-main #wc-stripe-payment-request-wrapper,
body.ludorum-panier-v1 .lud-cart-main .wc-stripe-cart-checkout-container,
body.ludorum-panier-v1 .lud-cart-main [class*="express-checkout-wrapper"] {
  width:88% !important;
  max-width:88% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Si WooPayments place son wrapper juste sous le récapitulatif, on garde un rythme propre. */
body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper {
  margin-top:8px !important;
  margin-bottom:0 !important;
}

/* On ne redimensionne jamais les contenus sécurisés eux-mêmes. */
body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper iframe,
body.ludorum-panier-v1 .lud-cart-main #wc-stripe-payment-request-wrapper iframe,
body.ludorum-panier-v1 .lud-cart-main [class*="express-checkout-wrapper"] iframe {
  width:100% !important;
  max-width:100% !important;
}

@media (max-width:1024px) {
  body.ludorum-panier-v1 .lud-cart-page {
    width:min(100%, calc(100% - 28px)) !important;
  }

  .lud-cart-main > .woocommerce {
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper,
  body.ludorum-panier-v1 .lud-cart-main #wc-stripe-payment-request-wrapper,
  body.ludorum-panier-v1 .lud-cart-main .wc-stripe-cart-checkout-container,
  body.ludorum-panier-v1 .lud-cart-main [class*="express-checkout-wrapper"] {
    width:92% !important;
    max-width:92% !important;
  }
}

@media (max-width:767px) {
  body.ludorum-panier-v1 .lud-cart-page {
    width:calc(100% - 20px) !important;
  }

  .lud-cart-main table.cart img {
    width:98px !important;
    height:98px !important;
  }

  .lud-cart-main td.product-name a {
    font-size:12.8px !important;
  }

  .lud-cart-main .cart_totals {
    padding:16px !important;
  }

  .lud-cart-main .cart_totals .order-total th,
  .lud-cart-main .cart_totals .order-total td {
    font-size:15px !important;
  }

  body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper,
  body.ludorum-panier-v1 .lud-cart-main #wc-stripe-payment-request-wrapper,
  body.ludorum-panier-v1 .lud-cart-main .wc-stripe-cart-checkout-container,
  body.ludorum-panier-v1 .lud-cart-main [class*="express-checkout-wrapper"] {
    width:96% !important;
    max-width:96% !important;
  }
}


/* ==========================================================
   LUDORUM — PANIER v1.0.2
   Mise à jour panier automatique : bouton natif masqué.
   Le bouton reste présent dans le DOM afin que panier.js
   puisse le déclencher après un changement de quantité.
   ========================================================== */
body.ludorum-panier-active .lud-cart-main button[name="update_cart"],
body.ludorum-panier-active .lud-cart-main input[name="update_cart"] {
  display:none !important;
}

/* La ligne d'actions ne conserve que le code promo. */
body.ludorum-panier-active .lud-cart-main table.cart td.actions {
  text-align:left !important;
}


/* ==========================================================
   LUDORUM — PANIER v1.0.3
   FINITION MAX
   - produit légèrement plus présent
   - récapitulatif plus dense et plus hiérarchisé
   - CTA principal renforcé
   - paiements express encore plus secondaires
   ========================================================== */

/* Produit : un peu plus de présence sans agrandir toute la table. */
body.ludorum-panier-v1 .lud-cart-main table.cart img {
  width:92px !important;
  height:92px !important;
  padding:4px !important;
  border-radius:11px !important;
}

body.ludorum-panier-v1 .lud-cart-main td.product-name a {
  font-size:13.8px !important;
  font-weight:900 !important;
  line-height:1.32 !important;
}

body.ludorum-panier-v1 .lud-cart-main table.shop_table td {
  padding-top:15px !important;
  padding-bottom:15px !important;
}

/* Prix de ligne plus net. */
body.ludorum-panier-v1 .lud-cart-main td.product-price,
body.ludorum-panier-v1 .lud-cart-main td.product-subtotal {
  font-size:12.9px !important;
  font-weight:950 !important;
}

/* Bloc total : plus dense, mais le total final prend clairement le dessus. */
body.ludorum-panier-v1 .lud-cart-main .cart_totals {
  padding:19px 20px 20px !important;
}

body.ludorum-panier-v1 .lud-cart-main .cart_totals h2 {
  margin-bottom:11px !important;
  font-size:20px !important;
}

body.ludorum-panier-v1 .lud-cart-main .cart_totals table.shop_table th,
body.ludorum-panier-v1 .lud-cart-main .cart_totals table.shop_table td {
  padding:9px 0 !important;
  font-size:11.8px !important;
}

body.ludorum-panier-v1 .lud-cart-main .cart_totals .order-total th,
body.ludorum-panier-v1 .lud-cart-main .cart_totals .order-total td {
  padding-top:14px !important;
  padding-bottom:4px !important;
  border-top:1px solid rgba(7,26,51,.10) !important;
  color:var(--lc-red) !important;
  font-size:16.8px !important;
  font-weight:950 !important;
}

/* CTA final : seul vrai bouton dominant de la colonne droite. */
body.ludorum-panier-v1 .lud-cart-main .wc-proceed-to-checkout {
  margin-top:13px !important;
}

body.ludorum-panier-v1 .lud-cart-main .wc-proceed-to-checkout a.checkout-button {
  min-height:52px !important;
  border-radius:10px !important;
  font-size:13.6px !important;
  letter-spacing:-.005em !important;
  box-shadow:0 8px 18px rgba(245,197,24,.28) !important;
}

/* Express : clairement secondaire, sans toucher aux iframes/boutons internes. */
body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper,
body.ludorum-panier-v1 .lud-cart-main #wc-stripe-payment-request-wrapper,
body.ludorum-panier-v1 .lud-cart-main .wc-stripe-cart-checkout-container,
body.ludorum-panier-v1 .lud-cart-main [class*="express-checkout-wrapper"] {
  width:82% !important;
  max-width:82% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-top:6px !important;
  margin-bottom:0 !important;
}

/* Espacement plus serré entre plusieurs boutons express adjacents. */
body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper + .wcpay-express-checkout-wrapper,
body.ludorum-panier-v1 .lud-cart-main [class*="express-checkout-wrapper"] + [class*="express-checkout-wrapper"] {
  margin-top:5px !important;
}

/* La ligne coupon reste légère : pas de grand vide à droite. */
body.ludorum-panier-v1 .lud-cart-main table.cart td.actions {
  padding:10px 12px !important;
}

body.ludorum-panier-v1 .lud-cart-main .coupon .input-text {
  min-height:36px !important;
}

body.ludorum-panier-v1 .lud-cart-main .coupon .button {
  min-height:36px !important;
}

@media (max-width:1024px) {
  body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper,
  body.ludorum-panier-v1 .lud-cart-main #wc-stripe-payment-request-wrapper,
  body.ludorum-panier-v1 .lud-cart-main .wc-stripe-cart-checkout-container,
  body.ludorum-panier-v1 .lud-cart-main [class*="express-checkout-wrapper"] {
    width:90% !important;
    max-width:90% !important;
  }
}

@media (max-width:767px) {
  body.ludorum-panier-v1 .lud-cart-main table.cart img {
    width:100px !important;
    height:100px !important;
  }

  body.ludorum-panier-v1 .lud-cart-main td.product-name a {
    font-size:13px !important;
  }

  body.ludorum-panier-v1 .lud-cart-main .cart_totals .order-total th,
  body.ludorum-panier-v1 .lud-cart-main .cart_totals .order-total td {
    font-size:15.6px !important;
  }

  body.ludorum-panier-v1 .lud-cart-main .wcpay-express-checkout-wrapper,
  body.ludorum-panier-v1 .lud-cart-main #wc-stripe-payment-request-wrapper,
  body.ludorum-panier-v1 .lud-cart-main .wc-stripe-cart-checkout-container,
  body.ludorum-panier-v1 .lud-cart-main [class*="express-checkout-wrapper"] {
    width:94% !important;
    max-width:94% !important;
  }
}

/* Ludorum cart mobile v1.0.6: product cards, uncropped images, full coupon CTA. */
@media (max-width: 767px) {
  body.ludorum-panier-v1 .lud-cart-main table.cart tr.woocommerce-cart-form__cart-item:not(.lud-pack-child) {
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr) 44px !important;
    gap: 12px !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding: 16px !important;
    margin: 0 0 14px !important;
    overflow: visible !important;
    border: 1px solid #dde5ef !important;
    border-radius: 16px !important;
    background: #fff !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart tr.cart_item > td {
    position: static !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-remove {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: block !important;
    z-index: auto !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-remove a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-thumbnail {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    display: block !important;
    align-self: start !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-thumbnail a {
    display: block !important;
    width: 80px !important;
    height: auto !important;
    overflow: visible !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-thumbnail img {
    display: block !important;
    position: static !important;
    width: 80px !important;
    height: 80px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 4px !important;
    transform: none !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    text-align: left !important;
    align-self: center !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-name a {
    font-size: 15px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-price {
    grid-column: 2 / -1 !important;
    grid-row: 2 !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-quantity,
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-subtotal {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding-top: 12px !important;
    border-top: 1px solid #eef2f6 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-quantity { grid-row: 3 !important; }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-subtotal { grid-row: 4 !important; }
  body.ludorum-panier-v1 .lud-cart-main table.cart td.product-subtotal .tax_label { font-size: 12px !important; }
  body.ludorum-panier-v1 .lud-cart-main table.cart .coupon {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    float: none !important;
  }
  body.ludorum-panier-v1 .lud-cart-main table.cart .coupon :is(.input-text, .button) {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
