/* ============================================
   DÉTENTE & CO — CHECKOUT v2.0.1
   Palette : Crème #FBF7F0, Sage #7A8B6A, Terracotta #C97D60, Forêt #2D3A2E
   ============================================ */

/* ==================== BASE ==================== */
body.woocommerce-checkout .woocommerce {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 40px 20px !important;
}

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.woocommerce-checkout {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif !important;
  color: #2D3A2E !important;
}

/* ==================== GRID 2 COLONNES ==================== */
body.woocommerce-checkout .wcdchk-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 460px) !important;
  gap: 60px !important;
  align-items: start !important;
}

body.woocommerce-checkout .wcdchk-col-left,
body.woocommerce-checkout .wcdchk-col-right {
  min-width: 0 !important;
}

body.woocommerce-checkout .wcdchk-sticky {
  position: sticky !important;
  top: 32px !important;
  background: #FBF7F0 !important;
  border: 1.5px solid #F0EAD6 !important;
  border-radius: 16px !important;
  padding: 28px !important;
}

body.woocommerce-checkout .wcdchk-sticky #order_review_heading {
  display: block !important;
}

body.woocommerce-checkout .wcdchk-sticky #order_review {
  display: block !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* ==================== SECTIONS GAUCHE ==================== */
body.woocommerce-checkout form.checkout .col2-set {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}

body.woocommerce-checkout form.checkout .col2-set .col-1,
body.woocommerce-checkout form.checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin-bottom: 32px !important;
}

body.woocommerce-checkout form.checkout .woocommerce-billing-fields,
body.woocommerce-checkout form.checkout .woocommerce-shipping-fields,
body.woocommerce-checkout form.checkout .woocommerce-additional-fields {
  background: transparent !important;
}

/* Titres sections (h3) */
body.woocommerce-checkout form.checkout h3 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #2D3A2E !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  border: none !important;
  letter-spacing: -.2px !important;
}

/* ==================== CHAMPS — labels flottants ==================== */
body.woocommerce-checkout form.checkout p.form-row {
  position: relative !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

/* Le label par défaut : positionné en absolu, façon placeholder */
body.woocommerce-checkout form.checkout p.form-row label {
  position: absolute !important;
  top: 18px !important;
  left: 16px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #9CAB95 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 4px !important;
  background: transparent !important;
  pointer-events: none !important;
  transition: all .15s ease !important;
  z-index: 1 !important;
  line-height: 1 !important;
}

body.woocommerce-checkout form.checkout p.form-row label .required,
body.woocommerce-checkout form.checkout p.form-row label .optional {
  color: #C97D60 !important;
  margin-left: 2px !important;
  border: none !important;
  text-decoration: none !important;
}

/* Le label MONTE quand le champ est rempli OU en focus
   (classes ajoutées par notre JS car les sélecteurs CSS purs ne marchent pas
   quand le label est AVANT l'input dans le DOM) */
body.woocommerce-checkout form.checkout p.form-row.wcdchk-has-value label,
body.woocommerce-checkout form.checkout p.form-row.wcdchk-is-focused label {
  top: 6px !important;
  font-size: 11px !important;
  color: #7A8B6A !important;
  font-weight: 500 !important;
  background: #fff !important;
}

/* Inputs */
body.woocommerce-checkout form.checkout input[type="text"],
body.woocommerce-checkout form.checkout input[type="email"],
body.woocommerce-checkout form.checkout input[type="tel"],
body.woocommerce-checkout form.checkout input[type="password"],
body.woocommerce-checkout form.checkout input[type="number"],
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout .select2-container .select2-selection {
  width: 100% !important;
  padding: 22px 16px 8px 16px !important;
  font-size: 15px !important;
  font-family: 'Poppins', sans-serif !important;
  border: 1.5px solid #E8DCC4 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #2D3A2E !important;
  transition: all 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  height: auto !important;
  min-height: 56px !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}

body.woocommerce-checkout form.checkout textarea {
  padding-top: 28px !important;
  min-height: 100px !important;
  resize: vertical !important;
}

body.woocommerce-checkout form.checkout input:focus,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout form.checkout .select2-container--open .select2-selection {
  outline: none !important;
  border-color: #C97D60 !important;
  box-shadow: 0 0 0 3px rgba(201, 125, 96, 0.12) !important;
  background: #fff !important;
}

/* Cache le placeholder natif (label fait office) */
body.woocommerce-checkout form.checkout input::placeholder,
body.woocommerce-checkout form.checkout textarea::placeholder {
  color: transparent !important;
}

/* Select2 (countries dropdown) */
body.woocommerce-checkout form.checkout .select2-container .select2-selection {
  display: flex !important;
  align-items: center !important;
  padding-top: 22px !important;
  padding-bottom: 8px !important;
}

body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 !important;
  line-height: 1 !important;
  color: #2D3A2E !important;
  font-size: 15px !important;
}

body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  right: 12px !important;
  top: 0 !important;
}

body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #7A8B6A transparent transparent !important;
}

/* Select natif */
body.woocommerce-checkout form.checkout select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A8B6A' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 14px !important;
  padding-right: 40px !important;
}

/* Champs adresse en row 2 cols (code postal / ville) */
body.woocommerce-checkout form.checkout p#billing_postcode_field,
body.woocommerce-checkout form.checkout p#shipping_postcode_field {
  width: calc(40% - 6px) !important;
  display: inline-block !important;
  margin-right: 12px !important;
  vertical-align: top !important;
}

body.woocommerce-checkout form.checkout p#billing_city_field,
body.woocommerce-checkout form.checkout p#shipping_city_field {
  width: calc(60% - 6px) !important;
  display: inline-block !important;
  vertical-align: top !important;
}

/* Prénom/Nom en 2 cols */
body.woocommerce-checkout form.checkout p#billing_first_name_field,
body.woocommerce-checkout form.checkout p#shipping_first_name_field {
  width: calc(50% - 6px) !important;
  display: inline-block !important;
  margin-right: 12px !important;
  vertical-align: top !important;
}

body.woocommerce-checkout form.checkout p#billing_last_name_field,
body.woocommerce-checkout form.checkout p#shipping_last_name_field {
  width: calc(50% - 6px) !important;
  display: inline-block !important;
  vertical-align: top !important;
}

/* ==================== ORDER REVIEW (colonne droite) ==================== */
body.woocommerce-checkout #order_review_heading {
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #2D3A2E !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #E8DCC4 !important;
}

body.woocommerce-checkout-review-order-table,
body.woocommerce-checkout .shop_table {
  width: 100% !important;
  border: none !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

body.woocommerce-checkout-review-order-table thead,
body.woocommerce-checkout .shop_table thead {
  display: none !important;
}

body.woocommerce-checkout-review-order-table tbody td,
body.woocommerce-checkout .shop_table tbody td {
  padding: 14px 0 !important;
  border: none !important;
  border-bottom: 1px solid #E8DCC4 !important;
  font-size: 14px !important;
  color: #2D3A2E !important;
  background: transparent !important;
  vertical-align: middle !important;
}

body.woocommerce-checkout-review-order-table tbody tr:last-child td,
body.woocommerce-checkout .shop_table tbody tr:last-child td {
  border-bottom: 1px solid #E8DCC4 !important;
}

/* Cell product-name : flex pour aligner thumbnail + texte */
body.woocommerce-checkout-review-order-table .product-name,
body.woocommerce-checkout .shop_table .product-name {
  font-weight: 500 !important;
  padding-right: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* === THUMBNAIL PRODUIT === */
body.woocommerce-checkout .wcdchk-product-thumb-wrap {
  display: inline-block !important;
  position: relative !important;
  width: 56px !important;
  height: 56px !important;
  flex-shrink: 0 !important;
  background: #fff !important;
  border: 1px solid #E8DCC4 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

body.woocommerce-checkout .wcdchk-product-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 8px !important;
}

/* Badge quantité en overlay sur le thumbnail */
body.woocommerce-checkout-review-order-table .product-name strong.product-quantity,
body.woocommerce-checkout .shop_table .product-name strong.product-quantity {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  background: #2D3A2E !important;
  color: #FBF7F0 !important;
  border-radius: 50% !important;
  min-width: 20px !important;
  height: 20px !important;
  line-height: 20px !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 0 6px !important;
  z-index: 2 !important;
}

/* Wrap la quantité dans le thumbnail container */
body.woocommerce-checkout-review-order-table .product-name strong.product-quantity::before {
  content: '' !important;
}

body.woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .shop_table .product-total {
  font-weight: 600 !important;
  color: #2D3A2E !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Sous-total / total dans tfoot */
body.woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-checkout .shop_table tfoot th,
body.woocommerce-checkout .shop_table tfoot td {
  padding: 12px 0 !important;
  border: none !important;
  font-size: 14px !important;
  color: #2D3A2E !important;
  background: transparent !important;
}

body.woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
body.woocommerce-checkout-review-order-table tfoot .cart-subtotal td {
  font-weight: 500 !important;
  color: #7A8B6A !important;
}

body.woocommerce-checkout-review-order-table tfoot .cart-subtotal td .woocommerce-Price-amount {
  color: #2D3A2E !important;
}

body.woocommerce-checkout-review-order-table tfoot .order-total th,
body.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 20px !important;
  font-weight: 700 !important;
  padding-top: 18px !important;
  border-top: 1px solid #E8DCC4 !important;
  background: transparent !important;
}

body.woocommerce-checkout-review-order-table tfoot .order-total td .woocommerce-Price-amount {
  color: #C97D60 !important;
}

/* === FIX INSTALLATION === */
/* Cacher le thumbnail container pour les installations (icône 🔧 inline à la place) */
body.woocommerce-checkout-review-order-table tr.wcdcheckout-install-line .wcdchk-product-thumb-wrap,
body.woocommerce-checkout-review-order-table tr.wcdcheckout-install-line .wcdcheckout-install-thumb {
  display: none !important;
}

body.woocommerce-checkout-review-order-table tr.wcdcheckout-install-line .product-name {
  color: #C97D60 !important;
  font-size: 13px !important;
  padding-left: 8px !important;
  position: relative !important;
}

body.woocommerce-checkout-review-order-table tr.wcdcheckout-install-line .product-name::before {
  content: '🔧';
  font-size: 14px;
  margin-right: 4px;
}

body.woocommerce-checkout-review-order-table tr.wcdcheckout-install-line .product-name strong.product-quantity {
  display: none !important;
}

/* ==================== SECTION PAIEMENT ==================== */
body.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 24px 0 0 0 !important;
  margin-top: 24px !important;
  border-top: 1px solid #E8DCC4 !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
  list-style: none !important;
  background: transparent !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  background: #fff !important;
  padding: 16px !important;
  border-radius: 12px !important;
  margin-bottom: 10px !important;
  border: 1.5px solid #E8DCC4 !important;
  transition: all 0.2s ease !important;
}

body.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: #C97D60 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #2D3A2E !important;
  cursor: pointer !important;
  gap: 10px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  position: static !important;
  padding: 0 !important;
  background: transparent !important;
  width: 100% !important;
  text-align: center !important;
}

/* Cache complètement le bouton radio (un seul choix de paiement) */
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  display: none !important;
}

/* === CACHE TOUTES LES IMAGES DE LOGOS DE CARTES === */
/* Cache toute img/svg dans la section payment SAUF notre image custom */
body.woocommerce-checkout #payment img:not(.wcdchk-payment-icon),
body.woocommerce-checkout #payment svg:not(.wcdchk-payment-icon),
body.woocommerce-checkout #payment ul.payment_methods img,
body.woocommerce-checkout #payment ul.payment_methods svg,
body.woocommerce-checkout #payment li img,
body.woocommerce-checkout #payment li svg,
body.woocommerce-checkout #payment label img,
body.woocommerce-checkout #payment label svg {
  display: none !important;
}

/* On RE-MONTRE notre image custom (qui pourrait être ciblée par le sélecteur ci-dessus) */
body.woocommerce-checkout #payment .wcdchk-payment-image-wrap img.wcdchk-payment-icon {
  display: block !important;
}

/* Payment box */
body.woocommerce-checkout #payment .payment_box {
  display: block !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 12px 0 0 0 !important;
  margin-top: 12px !important;
  box-shadow: none !important;
  color: #2D3A2E !important;
  font-size: 13px !important;
}

body.woocommerce-checkout #payment .payment_box::before,
body.woocommerce-checkout #payment .payment_box::after {
  display: none !important;
  content: none !important;
}

/* Image custom au-dessus du message sécurisé */
body.woocommerce-checkout .wcdchk-payment-image-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 12px !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  margin-bottom: 12px !important;
  border: 1px solid #E8DCC4 !important;
}

body.woocommerce-checkout .wcdchk-payment-icon {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 28px !important;
  width: auto !important;
  object-fit: contain !important;
}

body.woocommerce-checkout #payment .payment_box p {
  margin: 0 !important;
  padding: 14px !important;
  background: #FBF7F0 !important;
  border-left: 3px solid #7A8B6A !important;
  border-radius: 8px !important;
  color: #2D3A2E !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body.woocommerce-checkout #payment .payment_box p::before {
  content: "🔒" !important;
  font-size: 18px !important;
}

/* ==================== BOUTON PAYER ==================== */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout form.checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout input#place_order {
  background: #2D3A2E !important;
  color: #FBF7F0 !important;
  padding: 20px 32px !important;
  font-size: 15px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  border: none !important;
  border-radius: 12px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin-top: 20px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 56px !important;
  line-height: 1 !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout form.checkout #place_order:hover {
  background: #C97D60 !important;
  transform: none !important;
  color: #FBF7F0 !important;
}

/* Confidentialité */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 11px !important;
  color: #7A8B6A !important;
  line-height: 1.6 !important;
  padding: 12px 0 !important;
  background: transparent !important;
  margin-top: 12px !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: #C97D60 !important;
  font-weight: 500 !important;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 0 !important;
}

/* Erreurs */
body.woocommerce-checkout .woocommerce-error {
  background: #FFF1ED !important;
  border-left: 3px solid #C97D60 !important;
  color: #8B3B1F !important;
  padding: 14px 18px !important;
  border-radius: 10px !important;
  margin-bottom: 24px !important;
  font-weight: 500 !important;
  list-style: none !important;
  font-size: 13px !important;
}

body.woocommerce-checkout .woocommerce-error li {
  list-style: none !important;
}

body.woocommerce-checkout .woocommerce-message {
  background: #F4F7EF !important;
  border-left: 3px solid #7A8B6A !important;
  color: #2D3A2E !important;
  padding: 14px 18px !important;
  border-radius: 10px !important;
  margin-bottom: 24px !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}

/* Coupon dans la colonne droite (si on l'a déplacé manuellement) */
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
  display: none !important;
}

body.woocommerce-checkout .woocommerce-form-coupon {
  display: block !important;
  background: transparent !important;
  border: none !important;
  padding: 0 0 16px 0 !important;
  margin: 0 0 16px 0 !important;
  border-bottom: 1px solid #E8DCC4 !important;
}

body.woocommerce-checkout .woocommerce-info {
  display: none !important;
}

/* Hide order_review heading dupliqué */
body.woocommerce-checkout #order_review_heading + #order_review_heading {
  display: none !important;
}

/* === SUPPRESSION SOUS-TOTAL (redondant avec le total) === */
body.woocommerce-checkout-review-order-table tfoot .cart-subtotal,
body.woocommerce-checkout .shop_table tfoot .cart-subtotal {
  display: none !important;
}

/* === DENSIFICATION COLONNE DROITE pour faire tenir le bouton sans scroll === */
body.woocommerce-checkout .wcdchk-sticky {
  padding: 20px !important;
}

body.woocommerce-checkout #order_review_heading {
  font-size: 16px !important;
  margin: 0 0 14px 0 !important;
  padding-bottom: 12px !important;
}

body.woocommerce-checkout-review-order-table tbody td,
body.woocommerce-checkout .shop_table tbody td {
  padding: 10px 0 !important;
  font-size: 13px !important;
}

body.woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-checkout .shop_table tfoot th,
body.woocommerce-checkout .shop_table tfoot td {
  padding: 10px 0 !important;
  font-size: 13px !important;
}

body.woocommerce-checkout-review-order-table tfoot .order-total th,
body.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 18px !important;
  padding-top: 14px !important;
}

/* Total : pas de retour à la ligne entre quantité et prix */
body.woocommerce-checkout-review-order-table tfoot .order-total td,
body.woocommerce-checkout-review-order-table tfoot .order-total td .woocommerce-Price-amount,
body.woocommerce-checkout-review-order-table tfoot .order-total td bdi,
body.woocommerce-checkout .shop_table tfoot .order-total td {
  white-space: nowrap !important;
}

body.woocommerce-checkout-review-order-table tfoot .order-total td .includes_tax,
body.woocommerce-checkout-review-order-table tfoot .order-total td small {
  display: block !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #7A8B6A !important;
  margin-top: 2px !important;
}

/* Cache le champ "Bâtiment, appartement, lot..." (address_2) */
body.woocommerce-checkout form.checkout p#billing_address_2_field,
body.woocommerce-checkout form.checkout p#shipping_address_2_field {
  display: none !important;
}

body.woocommerce-checkout #payment {
  padding: 16px 0 0 0 !important;
  margin-top: 16px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  padding: 12px !important;
  margin-bottom: 8px !important;
}

body.woocommerce-checkout .wcdchk-payment-image-wrap {
  padding: 10px !important;
  margin-bottom: 10px !important;
}

body.woocommerce-checkout .wcdchk-payment-icon {
  max-height: 24px !important;
}

body.woocommerce-checkout #payment .payment_box p {
  padding: 10px 12px !important;
  font-size: 12px !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout form.checkout #place_order {
  padding: 16px 28px !important;
  margin-top: 14px !important;
  min-height: 50px !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text {
  padding: 8px 0 !important;
  font-size: 10px !important;
  margin-top: 8px !important;
}

/* Thumbnail produit plus compact */
body.woocommerce-checkout .wcdchk-product-thumb-wrap {
  width: 48px !important;
  height: 48px !important;
}

/* === ESTIMATION DE LIVRAISON === */
body.woocommerce-checkout .wcdchk-delivery-estimate {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  background: #F4F7EF !important;
  border-left: 3px solid #7A8B6A !important;
  border-radius: 8px !important;
  margin: 16px 0 0 0 !important;
  font-size: 13px !important;
  color: #2D3A2E !important;
  line-height: 1.5 !important;
}

/* Variante installation : ton terracotta */
body.woocommerce-checkout .wcdchk-delivery-estimate.wcdchk-delivery-install {
  background: #FDF3EE !important;
  border-left-color: #C97D60 !important;
}

body.woocommerce-checkout .wcdchk-delivery-icon {
  font-size: 18px !important;
  flex-shrink: 0 !important;
  line-height: 1.4 !important;
}

body.woocommerce-checkout .wcdchk-delivery-text {
  flex: 1 !important;
}

body.woocommerce-checkout .wcdchk-delivery-text strong {
  font-weight: 600 !important;
  color: #2D3A2E !important;
}

body.woocommerce-checkout .wcdchk-delivery-note {
  display: block !important;
  margin-top: 4px !important;
  font-size: 11px !important;
  color: #7A8B6A !important;
  font-style: italic !important;
  line-height: 1.4 !important;
}

body.woocommerce-checkout .wcdchk-delivery-install .wcdchk-delivery-note {
  color: #B36548 !important;
}

/* === UPSELL INSTALLATION CARD === */
body.woocommerce-checkout .wcdchk-upsell-card {
  margin: 16px 0 0 0 !important;
  padding: 18px !important;
  background: linear-gradient(135deg, #FDF3EE 0%, #FBF7F0 100%) !important;
  border: 1.5px solid #E8DCC4 !important;
  border-radius: 14px !important;
  position: relative !important;
}

body.woocommerce-checkout .wcdchk-upsell-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

body.woocommerce-checkout .wcdchk-upsell-icon-wrap {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #C97D60 0%, #B86B4E 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 4px 12px rgba(201, 125, 96, 0.25) !important;
}

body.woocommerce-checkout .wcdchk-upsell-header-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  flex: 1 !important;
}

body.woocommerce-checkout .wcdchk-upsell-header-text strong {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #2D3A2E !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout .wcdchk-upsell-header-text span {
  font-size: 11px !important;
  color: #7A8B6A !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout .wcdchk-upsell-benefits {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 14px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

body.woocommerce-checkout .wcdchk-upsell-benefits li {
  font-size: 11px !important;
  color: #2D3A2E !important;
  line-height: 1.5 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

body.woocommerce-checkout .wcdchk-upsell-benefits li::before {
  content: '' !important;
}

body.woocommerce-checkout .wcdchk-upsell-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.woocommerce-checkout .wcdchk-upsell-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  background: #fff !important;
  border: 1px solid #F0EAD6 !important;
  border-radius: 10px !important;
}

body.woocommerce-checkout .wcdchk-upsell-item-info {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

body.woocommerce-checkout .wcdchk-upsell-item-name {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #2D3A2E !important;
  line-height: 1.3 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout .wcdchk-upsell-item-price {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #C97D60 !important;
}

body.woocommerce-checkout .wcdchk-upsell-add-btn {
  flex-shrink: 0 !important;
  padding: 8px 16px !important;
  background: #2D3A2E !important;
  color: #FBF7F0 !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: 'Poppins', sans-serif !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
}

body.woocommerce-checkout .wcdchk-upsell-add-btn:hover {
  background: #C97D60 !important;
}

body.woocommerce-checkout .wcdchk-upsell-add-btn:disabled {
  opacity: .6 !important;
  cursor: wait !important;
}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 980px) {
  body.woocommerce-checkout .wcdchk-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Mobile : formulaire en premier, récap + paiement en bas */
  body.woocommerce-checkout .wcdchk-col-left {
    order: 1 !important;
  }

  body.woocommerce-checkout .wcdchk-col-right {
    order: 2 !important;
  }

  body.woocommerce-checkout .wcdchk-sticky {
    position: static !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-checkout .woocommerce {
    padding: 20px 12px !important;
  }

  body.woocommerce-checkout .wcdchk-sticky {
    padding: 20px !important;
    border-radius: 12px !important;
  }

  body.woocommerce-checkout form.checkout p#billing_first_name_field,
  body.woocommerce-checkout form.checkout p#shipping_first_name_field,
  body.woocommerce-checkout form.checkout p#billing_last_name_field,
  body.woocommerce-checkout form.checkout p#shipping_last_name_field,
  body.woocommerce-checkout form.checkout p#billing_postcode_field,
  body.woocommerce-checkout form.checkout p#shipping_postcode_field,
  body.woocommerce-checkout form.checkout p#billing_city_field,
  body.woocommerce-checkout form.checkout p#shipping_city_field {
    width: 100% !important;
    display: block !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout .wcdchk-product-thumb-wrap {
    width: 48px !important;
    height: 48px !important;
  }
}
