/* ═════════════════════════════════════════════════════════════
   SGH — Panier & Paiement (L'atelier de Laure)
   Uniquement sur les pages panier et paiement. Le fonctionnement
   de WooCommerce, Stripe, Amelia et des bons cadeaux n'est pas modifié.
   ═════════════════════════════════════════════════════════════ */

body.woocommerce-cart,
body.woocommerce-checkout{
  --sp-w:#6e1f2b;--sp-w2:#8a2f3c;--sp-g:#cfa460;--sp-g2:#b38845;
  --sp-ink:#1e1a17;--sp-tx:#4a433d;--sp-mu:#857b72;--sp-ln:#e7ddcf;
  --sp-pp:#fffdf9;--sp-cr:#f7f2ea;--sp-soft:#f3eadc;
  --sp-r:18px;
}

/* ── Fond crème pleine largeur sous le contenu ── */
body.woocommerce-cart #main,
body.woocommerce-checkout #main{background:var(--sp-cr);}
body.woocommerce-cart .ct-container-full,
body.woocommerce-checkout .ct-container-full{padding-bottom:0 !important;}
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce{
  max-width:1140px;margin:0 auto;padding:0 24px clamp(56px,7vw,96px);
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:var(--sp-tx);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
body.woocommerce-cart .woocommerce *,
body.woocommerce-checkout .woocommerce *{box-sizing:border-box;}
body.woocommerce-cart .woocommerce h2,
body.woocommerce-cart .woocommerce h3,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout .woocommerce h3{
  font-family:"Playfair Display",Georgia,serif;color:var(--sp-ink);font-weight:700;letter-spacing:0;
}

/* ── En-tête : titre + étapes ── */
.sp-head{grid-column:1 / -1;margin:0;padding:clamp(36px,5vw,64px) 0 clamp(8px,1.5vw,14px);font-family:Inter,Arial,sans-serif;}
body.woocommerce-checkout .woocommerce > .sp-head{margin-bottom:18px;}
.sp-head h1{
  margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:700;color:var(--sp-ink);
  font-size:clamp(2rem,3.6vw,2.8rem);line-height:1.1;letter-spacing:0;
}
.sp-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;margin:18px 0 0;padding:0;font-family:Inter,Arial,sans-serif;}
.sp-steps li{display:flex;align-items:center;gap:9px;font-size:.9rem;color:var(--sp-mu);margin:0;}
.sp-steps li span{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-size:.78rem;font-weight:600;background:var(--sp-pp);border:1px solid var(--sp-ln);color:var(--sp-mu);
}
.sp-steps li.is-done span{background:var(--sp-soft);border-color:var(--sp-soft);color:var(--sp-w);}
.sp-steps li.is-current{color:var(--sp-ink);font-weight:600;}
.sp-steps li.is-current span{background:var(--sp-w);border-color:var(--sp-w);color:#fff;}
.sp-steps li + li::before{content:"";width:22px;height:1px;background:var(--sp-ln);margin-right:4px;}

/* ── Boutons ── */
body.woocommerce-cart .woocommerce .button,
body.woocommerce-checkout .woocommerce .button,
body.woocommerce-checkout #place_order{
  font-family:Inter,Arial,sans-serif !important;font-weight:600 !important;letter-spacing:0 !important;text-transform:none !important;
  border-radius:999px !important;border:1px solid var(--sp-ln) !important;
  background:var(--sp-pp) !important;color:var(--sp-ink) !important;
  padding:12px 22px !important;min-height:0 !important;height:auto !important;line-height:1.3 !important;font-size:.93rem !important;
  box-shadow:none !important;transition:background .2s,border-color .2s,color .2s,transform .2s;
}
body.woocommerce-cart .woocommerce .button:hover,
body.woocommerce-checkout .woocommerce .button:hover{border-color:var(--sp-g) !important;color:var(--sp-w) !important;}
body.woocommerce-cart .woocommerce .button:disabled,
body.woocommerce-cart .woocommerce .button[disabled]{opacity:.45 !important;cursor:default;}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-checkout #place_order{
  display:flex !important;width:100%;align-items:center;justify-content:center;gap:10px;
  background:var(--sp-w) !important;border-color:var(--sp-w) !important;color:#fff !important;
  padding:16px 24px !important;font-size:1rem !important;margin:0 !important;
  box-shadow:0 12px 26px rgba(110,31,43,.24) !important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-checkout #place_order:hover{background:var(--sp-w2) !important;border-color:var(--sp-w2) !important;color:#fff !important;transform:translateY(-1px);}

/* ── Champs ── */
body.woocommerce-cart .woocommerce input.input-text,
body.woocommerce-cart .woocommerce input[type=text],
body.woocommerce-checkout .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce input[type=text],
body.woocommerce-checkout .woocommerce input[type=email],
body.woocommerce-checkout .woocommerce input[type=tel],
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-checkout .select2-container .select2-selection--single{
  background:#fff !important;border:1.5px solid var(--sp-ln) !important;border-radius:12px !important;
  min-height:48px;padding:11px 14px !important;font:inherit;font-size:.97rem !important;color:var(--sp-ink) !important;
  box-shadow:none !important;transition:border-color .15s,box-shadow .15s;
}
body.woocommerce-checkout .woocommerce textarea{min-height:84px;}
body.woocommerce-checkout .select2-container .select2-selection--single{height:48px !important;display:flex;align-items:center;}
body.woocommerce-checkout .select2-container .select2-selection__rendered{padding:0 !important;line-height:1.3 !important;color:var(--sp-ink) !important;}
body.woocommerce-checkout .select2-container .select2-selection__arrow{height:46px !important;right:10px !important;}
body.woocommerce-cart .woocommerce input:focus,
body.woocommerce-checkout .woocommerce input:focus,
body.woocommerce-checkout .woocommerce textarea:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--open .select2-selection--single{
  border-color:var(--sp-g) !important;box-shadow:0 0 0 3px rgba(207,164,96,.2) !important;outline:none !important;
}
body.woocommerce-checkout .woocommerce .form-row label{font-size:.88rem;font-weight:500;color:var(--sp-ink);margin-bottom:6px;}
body.woocommerce-checkout .woocommerce .form-row .required{color:var(--sp-w);text-decoration:none;border:0;}
body.woocommerce-checkout .woocommerce .form-row .optional{color:var(--sp-mu);font-weight:400;}
body.woocommerce-checkout .woocommerce .form-row{margin-bottom:16px !important;}
body.woocommerce-checkout .woocommerce input[type=checkbox],
body.woocommerce-checkout .woocommerce input[type=radio]{accent-color:var(--sp-w);}

/* ── Messages ── */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error{
  border:1px solid var(--sp-ln) !important;border-radius:14px !important;background:var(--sp-pp) !important;
  color:var(--sp-ink) !important;padding:14px 18px !important;box-shadow:0 4px 16px rgba(60,40,20,.05);margin:0 0 18px !important;
}
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error{border-color:#ecc4ca !important;background:#fdf4f5 !important;color:var(--sp-w) !important;}
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-message::before{color:var(--sp-g2) !important;}

/* ═════════ PANIER ═════════ */

body.woocommerce-cart .woocommerce{
  display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start;
}
body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1;}
body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty{display:none;}
body.woocommerce-cart .woocommerce-cart-form{grid-column:1;margin:0;}
body.woocommerce-cart .cart-collaterals{grid-column:2;width:auto !important;margin:0 !important;position:sticky;top:110px;}
body.woocommerce-cart .cart-collaterals .cart_totals{width:100% !important;float:none !important;margin:0 !important;}

/* Liste des articles : cartes */
body.woocommerce-cart table.cart{
  display:block;border:0 !important;margin:0 !important;background:transparent !important;border-collapse:separate;
}
body.woocommerce-cart table.cart thead{display:none;}
body.woocommerce-cart table.cart tbody{display:flex;flex-direction:column;gap:12px;}
body.woocommerce-cart table.cart tr.cart_item{
  position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto;
  grid-template-areas:"thumb name total";column-gap:18px;align-items:center;
  background:var(--sp-pp);border:1px solid var(--sp-ln);border-radius:var(--sp-r);padding:18px 52px 18px 18px;
  box-shadow:0 6px 22px rgba(60,40,20,.05);
}
body.woocommerce-cart table.cart tr.cart_item td{display:block;border:0 !important;padding:0 !important;background:transparent !important;text-align:left;}
body.woocommerce-cart table.cart tr.cart_item td::before{display:none !important;}
body.woocommerce-cart table.cart td.product-thumbnail{grid-area:thumb;}
body.woocommerce-cart table.cart td.product-name{grid-area:name;font-weight:600;color:var(--sp-ink);font-size:1.02rem;}
body.woocommerce-cart table.cart td.product-name a{color:var(--sp-ink);text-decoration:none;}
body.woocommerce-cart table.cart td.product-price{display:none !important;}
body.woocommerce-cart table.cart td.product-quantity{display:none !important;}
body.woocommerce-cart table.cart td.product-subtotal{grid-area:total;font-family:"Playfair Display",Georgia,serif;font-size:1.25rem;font-weight:700;color:var(--sp-ink);white-space:nowrap;text-align:right;}
body.woocommerce-cart table.cart td.product-remove{position:absolute;top:14px;right:14px;}
body.woocommerce-cart table.cart a.remove{
  width:30px !important;height:30px !important;border-radius:50% !important;display:grid !important;place-items:center;
  font-size:18px !important;line-height:1 !important;color:var(--sp-mu) !important;background:transparent !important;border:1px solid var(--sp-ln);
  text-decoration:none;transition:background .2s,color .2s,border-color .2s;
}
body.woocommerce-cart table.cart a.remove:hover{background:var(--sp-w) !important;border-color:var(--sp-w);color:#fff !important;}

/* Vignette : icône à la place de l'image grise par défaut */
.sp-thumb{
  width:76px;height:76px;border-radius:14px;display:grid;place-items:center;
  background:var(--sp-soft);color:var(--sp-w);
}
.sp-thumb svg{width:30px;height:30px;}
.sp-thumb.is-event{background:var(--sp-soft);color:var(--sp-w);}
.sp-thumb.is-gift{background:linear-gradient(135deg,#7a2433,#5a1822);color:var(--sp-g);}
body.woocommerce-cart table.cart td.product-thumbnail img{width:76px !important;height:76px !important;object-fit:cover;border-radius:14px;display:block;}

/* Détails sous le nom (date, pour, de la part de…) */
body.woocommerce-cart .woocommerce dl.variation,
body.woocommerce-checkout .woocommerce dl.variation{
  display:grid;grid-template-columns:auto 1fr;gap:3px 8px;margin:8px 0 0;font-size:.86rem;font-weight:400;color:var(--sp-tx);
}
body.woocommerce-cart .woocommerce dl.variation dt,
body.woocommerce-checkout .woocommerce dl.variation dt{margin:0;font-weight:500;color:var(--sp-mu);float:none;clear:none;white-space:nowrap;}
body.woocommerce-cart .woocommerce dl.variation dd,
body.woocommerce-checkout .woocommerce dl.variation dd{margin:0;padding:0;float:none;}
body.woocommerce-cart .woocommerce dl.variation dd p,
body.woocommerce-checkout .woocommerce dl.variation dd p{margin:0;}

/* Ligne actions : code promo + mise à jour */
body.woocommerce-cart table.cart tr:not(.cart_item){display:block;}
body.woocommerce-cart table.cart td.actions{
  display:flex !important;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;
  padding:6px 0 0 !important;border:0 !important;background:transparent !important;
}
body.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:8px;flex:1 1 320px;max-width:460px;margin:0;float:none;}
body.woocommerce-cart table.cart td.actions .coupon label{display:none;}
body.woocommerce-cart table.cart td.actions .coupon input{flex:1;min-width:0;width:auto !important;margin:0 !important;}
body.woocommerce-cart table.cart td.actions > .button{margin:0 !important;}

/* Récapitulatif */
body.woocommerce-cart .cart_totals{
  background:var(--sp-pp);border:1px solid var(--sp-ln);border-radius:22px;padding:26px 26px 24px !important;
  box-shadow:0 16px 44px rgba(60,40,20,.08);
}
body.woocommerce-cart .cart_totals h2{font-size:1.45rem;margin:0 0 14px;}
body.woocommerce-cart .cart_totals table{border:0 !important;margin:0 0 18px !important;background:transparent !important;}
body.woocommerce-cart .cart_totals table tr th,
body.woocommerce-cart .cart_totals table tr td{
  border:0 !important;border-top:1px solid var(--sp-ln) !important;padding:13px 0 !important;background:transparent !important;
  font-size:.95rem;font-weight:400;color:var(--sp-tx);vertical-align:top;
}
body.woocommerce-cart .cart_totals table tr td{text-align:right;}
body.woocommerce-cart .cart_totals table tr td::before{display:none !important;}
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td{color:var(--sp-ink);font-weight:600;}
body.woocommerce-cart .cart_totals tr.order-total td strong{font-family:"Playfair Display",Georgia,serif;font-size:1.55rem;font-weight:700;}
body.woocommerce-cart .cart_totals tr.wc-stripe-bnpl-cart-message,
body.woocommerce-cart .cart_totals tr.wc-stripe-bnpl-cart-message td{border:0 !important;padding:0 !important;}
body.woocommerce-cart .cart_totals tr.wc-stripe-bnpl-cart-message:has(#wc-stripe-bnpl-cart-msg:empty){display:none;}
body.woocommerce-cart .cart_totals .cart-discount td{color:var(--sp-w);}
body.woocommerce-cart .wc-proceed-to-checkout{padding:0 !important;display:flex;flex-direction:column;gap:12px;}
body.woocommerce-cart .wc-stripe-cart-checkout-container{margin:4px 0 0 !important;}
body.woocommerce-cart .wc-stripe-cart-or{margin:0 0 8px !important;text-align:center;font-size:0 !important;color:var(--sp-mu);}
body.woocommerce-cart .wc-stripe-cart-or::after{content:"ou";font-size:.82rem;}
body.woocommerce-cart table.cart td.actions>button[name=update_cart]{display:none !important;}

/* Ancien champ PW (« Vous avez une carte-cadeau ? ») */
body.woocommerce-cart #pwgc-redeem-gift-card-form,
body.woocommerce-checkout #pwgc-redeem-gift-card-form{
  order:3;padding:14px 16px;border:1px dashed var(--sp-ln);border-radius:14px;background:transparent;margin:0;
}
body.woocommerce-cart #pwgc-redeem-gift-card-container{margin:0 !important;}
#pwgc-redeem-gift-card-form label{font-size:.88rem;font-weight:600;color:var(--sp-ink);}
#pwgc-redeem-gift-card-form br{display:none;}
#pwgc-redeem-gift-card-form #pwgc-redeem-gift-card-number{width:100% !important;margin:8px 0 8px !important;}
#pwgc-redeem-gift-card-form #pwgc-redeem-button{
  width:100%;border-radius:999px !important;border:1px solid var(--sp-ln) !important;background:var(--sp-pp) !important;color:var(--sp-ink) !important;
  font:600 .93rem Inter,Arial,sans-serif !important;padding:12px 20px !important;height:auto !important;min-height:0 !important;text-transform:none !important;letter-spacing:0 !important;cursor:pointer;
}
#pwgc-redeem-gift-card-form #pwgc-redeem-button:hover{border-color:var(--sp-g) !important;color:var(--sp-w) !important;}
body.woocommerce-checkout #payment .place-order #pwgc-redeem-gift-card-form{order:-1;}

/* Panier vide */
body.woocommerce-cart .woocommerce:has(.cart-empty){display:block;}
body.woocommerce-cart .cart-empty::before{display:none !important;}
body.woocommerce-cart .cart-empty{
  text-align:center;padding:30px 20px !important;font-size:1.05rem;
}
body.woocommerce-cart .return-to-shop{text-align:center;margin:14px 0 0;}
body.woocommerce-cart .return-to-shop .button{background:var(--sp-w) !important;border-color:var(--sp-w) !important;color:#fff !important;}
.sp-empty-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px;}
.sp-empty-links a{
  display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;text-decoration:none;
  font:600 .93rem Inter,Arial,sans-serif;border:1px solid var(--sp-ln);background:var(--sp-pp);color:var(--sp-ink);
}
.sp-empty-links a.is-main{background:var(--sp-w);border-color:var(--sp-w);color:#fff;}

/* ═════════ PAIEMENT ═════════ */

body.woocommerce-checkout form.checkout{
  display:grid !important;grid-template-columns:minmax(0,1fr) 420px !important;gap:28px !important;align-items:start;
}
body.woocommerce-checkout .ct-customer-details{
  grid-column:1;background:var(--sp-pp);border:1px solid var(--sp-ln);border-radius:22px;
  padding:clamp(22px,3vw,34px);box-shadow:0 16px 44px rgba(60,40,20,.07);
}
body.woocommerce-checkout .ct-order-review{
  grid-column:2;background:var(--sp-pp) !important;border:1px solid var(--sp-ln) !important;border-radius:22px !important;
  padding:26px !important;box-shadow:0 16px 44px rgba(60,40,20,.08);position:sticky;top:110px;
}
body.woocommerce-checkout .woocommerce h3{font-size:1.35rem;margin:0 0 18px;}
body.woocommerce-checkout #customer_details{display:block;}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{width:100% !important;float:none !important;max-width:none;}
body.woocommerce-checkout #customer_details .col-2{margin-top:10px;}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{grid-column:1 / -1;width:auto !important;float:none !important;margin-right:0 !important;}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first{grid-column:1;}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last{grid-column:2;}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_postcode_field{grid-column:1;}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_city_field{grid-column:2;}
body.woocommerce-checkout .woocommerce-additional-fields h3{font-size:1.1rem;margin:8px 0 12px;}

/* Paiement express (Apple Pay) */
body.woocommerce-checkout .wc-stripe-banner-checkout{margin:0 0 22px !important;}
body.woocommerce-checkout .wc-stripe-banner-checkout fieldset{
  border:1px solid var(--sp-ln) !important;border-radius:16px !important;padding:12px 16px 16px !important;margin:0 !important;background:#fff;
}
body.woocommerce-checkout .wc-stripe-banner-checkout legend{
  padding:0 8px !important;font-size:.82rem !important;font-weight:600;color:var(--sp-mu);font-family:Inter,Arial,sans-serif;text-transform:none;letter-spacing:0;
}
body.woocommerce-checkout .wc-stripe-banner-checkout fieldset{background:transparent !important;}
body.woocommerce-checkout .wc-stripe-banner-checkout legend{font-size:0 !important;}
body.woocommerce-checkout .wc-stripe-banner-checkout legend::after{content:"Paiement express";font-size:.82rem;}
body.woocommerce-checkout .wc-stripe-banner-checkout .banner-divider{
  display:block;margin:18px 0 0 !important;text-align:center;font-size:0 !important;
  background:linear-gradient(var(--sp-ln),var(--sp-ln)) center/100% 1px no-repeat;
}
body.woocommerce-checkout .wc-stripe-banner-checkout .banner-divider::before{display:none !important;}
body.woocommerce-checkout .wc-stripe-banner-checkout .banner-divider::after{
  content:"ou" !important;display:inline-block;padding:0 12px;background:var(--sp-pp);font-size:.82rem !important;color:var(--sp-mu);
  position:static !important;width:auto !important;height:auto !important;border:0 !important;
}

/* Récapitulatif de commande */
body.woocommerce-checkout #order_review_heading{margin:0 0 14px !important;padding:0 !important;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table{border:0 !important;margin:0 0 18px !important;background:transparent !important;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead{display:none;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td{
  border:0 !important;border-top:1px solid var(--sp-ln) !important;padding:13px 0 !important;background:transparent !important;
  font-size:.95rem;font-weight:400;color:var(--sp-tx);vertical-align:top;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr:first-child td{border-top:0 !important;padding-top:0 !important;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name{font-weight:600;color:var(--sp-ink);padding-right:12px !important;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity{font-weight:400;color:var(--sp-mu);}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td{text-align:right;white-space:nowrap;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td{color:var(--sp-ink);font-weight:600;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td strong{font-family:"Playfair Display",Georgia,serif;font-size:1.55rem;font-weight:700;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart-discount td,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr[class*="pwgc"] td{color:var(--sp-w);}

/* Récapitulatif : jamais plus large que le bloc (infos Amelia longues) */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table{table-layout:fixed;width:100% !important;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th{overflow-wrap:anywhere;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td{width:38%;white-space:normal;}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th{width:62%;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation{display:block;margin-top:8px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt{display:block;white-space:normal;margin:0 0 2px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd{display:block;margin:0 0 6px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd p{margin:0 0 2px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd strong{font-weight:500;color:var(--sp-mu);}
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd hr,
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd .amelia-divider{display:none;}
body.woocommerce-checkout tr.order-total td strong{white-space:nowrap;}

/* Champ bon cadeau (plugin bons cadeaux) */
body.woocommerce-checkout .sghgc-field{background:var(--sp-cr) !important;border:1px solid var(--sp-ln) !important;border-radius:14px !important;padding:14px 16px !important;margin:0 0 18px !important;}
body.woocommerce-checkout .sghgc-field label{font-size:.9rem;color:var(--sp-ink);}
body.woocommerce-checkout .sghgc-field-row input{min-height:44px;}
body.woocommerce-checkout .sghgc-field-row .button{padding:10px 18px !important;}

/* Moyens de paiement */
body.woocommerce-checkout #payment{background:transparent !important;border-radius:0 !important;padding:0 !important;}
body.woocommerce-checkout #payment ul.payment_methods{
  border:0 !important;padding:0 !important;margin:0 0 18px !important;display:flex;flex-direction:column;gap:10px;
}
body.woocommerce-checkout #payment ul.payment_methods > li{
  list-style:none;margin:0 !important;padding:14px 16px !important;border:1.5px solid var(--sp-ln);border-radius:14px;background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
body.woocommerce-checkout #payment ul.payment_methods > li:has(> input:checked){border-color:var(--sp-w);box-shadow:0 0 0 3px rgba(110,31,43,.08);}
body.woocommerce-checkout #payment ul.payment_methods > li > label{font-weight:600;color:var(--sp-ink);font-size:.95rem;cursor:pointer;margin:0;}
body.woocommerce-checkout #payment ul.payment_methods > li > label img{max-height:22px;width:auto;vertical-align:middle;margin-left:6px;}
body.woocommerce-checkout #payment div.payment_box{
  background:transparent !important;padding:12px 0 0 !important;margin:0 !important;border-radius:0 !important;color:var(--sp-tx);font-size:.9rem;
}
body.woocommerce-checkout #payment div.payment_box::before{display:none !important;}
body.woocommerce-checkout #payment div.payment_box.hide-payment-box{display:none !important;}
body.woocommerce-checkout #payment ul.payment_methods>li{padding:0 !important;overflow:hidden;}
body.woocommerce-checkout #payment ul.payment_methods>li>label{padding:16px 18px 16px 46px !important;justify-content:space-between;align-items:center;gap:10px;}
body.woocommerce-checkout #payment ul.payment_methods>li>input{left:18px !important;}
body.woocommerce-checkout #payment div.payment_box{padding:0 18px 16px !important;}
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew{margin:10px 0 0 !important;font-size:.86rem;}
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label{font-weight:400;font-size:.86rem;color:var(--sp-tx);}
body.woocommerce-checkout #payment .place-order{padding:0 !important;margin:0 !important;display:flex;flex-direction:column;gap:14px;}
body.woocommerce-checkout .woocommerce-privacy-policy-text p,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p{font-size:.8rem;color:var(--sp-mu);margin:0;line-height:1.5;}
body.woocommerce-checkout .woocommerce-privacy-policy-text a{color:var(--sp-w);}
body.woocommerce-checkout .lp-nl-optin{margin:0 !important;font-size:.88rem;}
body.woocommerce-checkout .lp-nl-optin label{font-weight:400 !important;}

/* Réassurance sous le bouton */
.sp-secure{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 0;font-size:.8rem;color:var(--sp-mu);font-family:Inter,Arial,sans-serif;}
.sp-secure svg{width:14px;height:14px;flex:0 0 14px;}

/* Réassurance sous la liste du panier */
.sp-reassure{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;}
.sp-reassure li{display:flex;align-items:center;gap:12px;margin:0;font-size:.92rem;color:var(--sp-tx);}
.sp-reassure li span{flex:0 0 36px;height:36px;border-radius:11px;background:var(--sp-pp);border:1px solid var(--sp-ln);color:var(--sp-g2);display:grid;place-items:center;}
.sp-reassure svg{width:17px;height:17px;}
.sp-reassure a{color:var(--sp-w);font-weight:600;text-decoration:none;}

/* ═════════ CONFIRMATION ═════════ */
body.woocommerce-order-received .woocommerce-order{
  background:var(--sp-pp);border:1px solid var(--sp-ln);border-radius:22px;padding:clamp(22px,3vw,36px);
  box-shadow:0 16px 44px rgba(60,40,20,.07);
}
body.woocommerce-order-received .woocommerce-thankyou-order-received{
  font-family:"Playfair Display",Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--sp-ink);margin:0 0 20px;
}
body.woocommerce-order-received ul.woocommerce-order-overview{
  list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 28px !important;padding:0 !important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li{
  margin:0 !important;padding:14px 16px !important;border:1px solid var(--sp-ln) !important;border-radius:14px;background:#fff;
  font-size:.78rem;text-transform:none;letter-spacing:0;color:var(--sp-mu);float:none !important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li strong{display:block;margin-top:4px;font-size:.98rem;color:var(--sp-ink);}
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details{margin-top:24px;}
body.woocommerce-order-received table.shop_table{border:0 !important;background:transparent !important;}
body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td{border:0 !important;border-top:1px solid var(--sp-ln) !important;padding:12px 0 !important;background:transparent !important;}
body.woocommerce-order-received address{border:1px solid var(--sp-ln) !important;border-radius:14px;padding:16px 18px !important;background:#fff;font-style:normal;}

/* ═════════ Mobile ═════════ */
@media (max-width:960px){
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout form.checkout{grid-template-columns:1fr !important;}
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-checkout .ct-customer-details,
  body.woocommerce-checkout .ct-order-review{grid-column:1 !important;}
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-checkout .ct-order-review{position:static;}
}
@media (max-width:560px){
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce{padding-left:16px;padding-right:16px;}
  .sp-steps li + li::before{display:none;}
  body.woocommerce-cart table.cart tr.cart_item{
    grid-template-columns:56px minmax(0,1fr);grid-template-areas:"thumb name" "thumb total";row-gap:8px;padding:16px 48px 16px 16px;
  }
  body.woocommerce-cart table.cart td.product-subtotal{text-align:left;font-size:1.1rem;}
  body.woocommerce-cart .woocommerce dl.variation dd{overflow-wrap:anywhere;}
  .sp-thumb,body.woocommerce-cart table.cart td.product-thumbnail img{width:56px !important;height:56px !important;}
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr;}
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{grid-column:1 !important;}
  body.woocommerce-checkout .ct-customer-details,
  body.woocommerce-checkout .ct-order-review{padding:20px 18px !important;border-radius:18px !important;}
}
