/* =====================================================================
   MD-CHECKOUT — Checkout + Cart dark premium (Sword Canada)
   Scope : body.sc-dark-checkout
   Hérite des variables du child theme (md-home.css)
   ===================================================================== */

body.sc-dark-checkout{
  --md-bg:#0a0a0a;
  --md-bg-alt:#141414;
  --md-bg-panel:#181818;
  --md-bg-input:#1d1d1d;
  --md-text:#c9bfab;
  --md-text-dim:#a79e8c;
  --md-text-mute:#6e6559;
  --md-title:#e8e2d3;
  --md-border:#2a2a2a;
  --md-border-soft:#3a3632;
  --md-accent:#c9a048;
  --md-accent-hover:#a8843a;
  --md-cta:#2ea04d;
  --md-cta-bright:#3cc265;
  --md-font-display:'Playfair Display',Georgia,serif;
  --md-font-body:'Cormorant Garamond','Cormorant',Georgia,serif;
  background:var(--md-bg);color:var(--md-text);
  font-family:var(--md-font-body)
}

/* Reset des wrappers Astra */
body.sc-dark-checkout #page,
body.sc-dark-checkout #content,
body.sc-dark-checkout #primary,
body.sc-dark-checkout #main,
body.sc-dark-checkout main#main,
body.sc-dark-checkout .ast-container,
body.sc-dark-checkout .ast-woocommerce-container,
body.sc-dark-checkout .entry-content,
body.sc-dark-checkout .site-content{
  background:var(--md-bg)!important;color:var(--md-text)!important;
  border:0!important;box-shadow:none!important;outline:0!important
}
body.sc-dark-checkout main#main{max-width:1320px;margin:0 auto!important;padding:24px 24px 80px!important}

/* ============= HEADER PAGE ============= */
body.sc-dark-checkout .woocommerce-breadcrumb,
body.sc-dark-checkout .woocommerce-notices-wrapper + .entry-header,
body.sc-dark-checkout .entry-header,
body.sc-dark-checkout .page-header,
body.sc-dark-checkout .woocommerce-products-header{
  background:transparent!important;padding:12px 0!important;border:0!important
}
body.sc-dark-checkout .entry-title,
body.sc-dark-checkout .woocommerce-products-header__title,
body.sc-dark-checkout h1.entry-title{
  font-family:var(--md-font-display)!important;
  font-style:italic;font-weight:500!important;
  font-size:clamp(1.8rem,3vw,2.4rem);
  color:var(--md-title)!important;letter-spacing:.01em;
  text-align:center;margin:16px 0 28px!important
}

/* Header principal garde son style existant (dark already on product page),
   mais force dark ici aussi pour être safe + kill la ligne blanche sous le header */
body.sc-dark-checkout .site-header,
body.sc-dark-checkout #masthead,
body.sc-dark-checkout .ast-main-header-wrap,
body.sc-dark-checkout .main-header-container,
body.sc-dark-checkout .ast-primary-header-bar,
body.sc-dark-checkout .main-header-bar{
  background:#050505!important;color:var(--md-text)!important;
  border:0!important;box-shadow:none!important;outline:0!important
}
body.sc-dark-checkout .ast-primary-header-bar{
  border-bottom:0!important
}
body.sc-dark-checkout .site-header::before,
body.sc-dark-checkout .site-header::after,
body.sc-dark-checkout .ast-primary-header-bar::before,
body.sc-dark-checkout .ast-primary-header-bar::after,
body.sc-dark-checkout .main-header-bar::before,
body.sc-dark-checkout .main-header-bar::after{display:none!important;content:none!important}

/* Kill aussi les bordures éventuelles sur les wrappers de contenu au-dessus du form */
body.sc-dark-checkout .entry-header,
body.sc-dark-checkout .page-header,
body.sc-dark-checkout .woocommerce-products-header,
body.sc-dark-checkout hr{border:0!important;outline:0!important;box-shadow:none!important}

/* ============= NOTICES / INFO BOXES ============= */
body.sc-dark-checkout .woocommerce-info,
body.sc-dark-checkout .woocommerce-message,
body.sc-dark-checkout .woocommerce-error,
body.sc-dark-checkout .woocommerce-notice,
body.sc-dark-checkout .woocommerce-NoticeGroup{
  background:var(--md-bg-alt)!important;color:var(--md-text)!important;
  border:1px solid var(--md-border)!important;border-left:3px solid var(--md-accent)!important;
  padding:14px 18px!important;border-radius:2px;
  font-family:var(--md-font-body);font-size:1.02em;line-height:1.6;
  box-shadow:none!important
}
/* Kill l'icône WC cassée (FontAwesome manquant → carré/glyphe parasite) */
body.sc-dark-checkout .woocommerce-info::before,
body.sc-dark-checkout .woocommerce-message::before,
body.sc-dark-checkout .woocommerce-error::before,
body.sc-dark-checkout .woocommerce-notice::before,
body.sc-dark-checkout .woocommerce-NoticeGroup::before,
body.sc-dark-checkout .woocommerce-form-coupon-toggle::before,
body.sc-dark-checkout .woocommerce-form-login-toggle::before{
  display:none!important;content:none!important
}
body.sc-dark-checkout .woocommerce-error{border-left-color:#c94848!important}
body.sc-dark-checkout .woocommerce-error::before{color:#d06868!important}
body.sc-dark-checkout .woocommerce-info a,
body.sc-dark-checkout .woocommerce-message a{color:var(--md-accent)!important;text-decoration:underline;text-underline-offset:3px}
body.sc-dark-checkout .woocommerce-info a:hover,
body.sc-dark-checkout .woocommerce-message a:hover{color:#e8c77a!important}

/* ============= LAYOUT : formulaire + résumé ============= */
/* Approche : JS crée .sc-checkout-layout qui contient .sc-checkout-left (billing)
   et .sc-checkout-right (résumé commande). Grid appliqué UNIQUEMENT à ce container
   que je contrôle 100%. */

/* Reset ULTRA agressif : libère toute largeur héritée d'Astra */
body.sc-dark-checkout .site-content,
body.sc-dark-checkout #page,
body.sc-dark-checkout #content,
body.sc-dark-checkout #primary,
body.sc-dark-checkout .ast-container,
body.sc-dark-checkout .ast-woocommerce-container,
body.sc-dark-checkout .entry-content,
body.sc-dark-checkout article.post,
body.sc-dark-checkout .woocommerce{
  background:var(--md-bg)!important;
  max-width:none!important;width:auto!important;
  padding-left:0!important;padding-right:0!important;
  margin-left:0!important;margin-right:0!important
}
/* main#main : full-width avec padding latéral calculé pour que le contenu
   (1480px max) soit centré, peu importe que le parent soit flex/grid */
html body.sc-dark-checkout main#main{
  background:var(--md-bg)!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding-left:max(6vw, calc((100% - 1480px) / 2))!important;
  padding-right:max(6vw, calc((100% - 1480px) / 2))!important;
  padding-top:0!important;padding-bottom:0!important;
  float:none!important;
  box-sizing:border-box;
  display:block!important
}
/* Force #primary à être block pour que main#main hérite correctement */
html body.sc-dark-checkout #primary{
  display:block!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:0!important
}

/* main#main est déjà centré et limité à 1480px — les enfants prennent juste 100% */
body.sc-dark-checkout .woocommerce,
body.sc-dark-checkout .woocommerce > *,
body.sc-dark-checkout form.checkout,
body.sc-dark-checkout form[name="checkout"],
body.sc-dark-checkout .entry-header,
body.sc-dark-checkout .entry-content{
  max-width:100%!important;width:auto!important;
  margin-left:0!important;margin-right:0!important;
  float:none!important;
  box-sizing:border-box
}
body.sc-dark-checkout .entry-header,
body.sc-dark-checkout form.checkout,
body.sc-dark-checkout .woocommerce > .woocommerce-form-coupon-toggle,
body.sc-dark-checkout .woocommerce > .woocommerce-NoticeGroup,
body.sc-dark-checkout .woocommerce > .woocommerce-notices-wrapper{
  padding-left:16px!important;padding-right:16px!important
}
body.sc-dark-checkout form.checkout.woocommerce-checkout{display:block;padding-top:16px;padding-bottom:48px}
body.sc-dark-checkout form.checkout.woocommerce-checkout *{min-width:0;box-sizing:border-box}

/* Kill tout encadrement parasite sur la colonne droite (outlines, box-shadows Astra) */
body.sc-dark-checkout .sc-checkout-right,
body.sc-dark-checkout .sc-checkout-right *,
body.sc-dark-checkout #order_review_heading{
  outline:0!important;box-shadow:none!important
}
body.sc-dark-checkout .sc-checkout-right,
body.sc-dark-checkout #order_review_heading{
  background:transparent!important;border:0!important
}
/* Re-ajoute uniquement le trait gold sous le heading */
body.sc-dark-checkout #order_review_heading{
  border-bottom:1px solid rgba(201,160,72,.3)!important
}
body.sc-dark-checkout form.checkout.woocommerce-checkout *{min-width:0;box-sizing:border-box}

/* Le nouveau container grid — 100% sous mon contrôle */
body.sc-dark-checkout .sc-checkout-layout{
  display:grid;
  grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);
  gap:24px 48px;
  align-items:start;
  margin-top:4px;
  width:100%
}
body.sc-dark-checkout .sc-checkout-left{min-width:0}
body.sc-dark-checkout .sc-checkout-right{min-width:0;display:flex;flex-direction:column;gap:12px;position:sticky;top:24px;align-self:start}

/* Reset des marges/floats internes hérités de WC sur les enfants désormais placés */
body.sc-dark-checkout .sc-checkout-left .col2-set,
body.sc-dark-checkout .sc-checkout-left #customer_details{
  width:100%!important;margin:0!important;float:none!important;display:block
}
body.sc-dark-checkout .col2-set .col-1,
body.sc-dark-checkout .col2-set .col-2{width:100%!important;float:none!important;margin:0 0 12px;padding:0!important}

body.sc-dark-checkout .sc-checkout-right #order_review_heading,
body.sc-dark-checkout .sc-checkout-right #order_review{
  float:none!important;width:100%!important;margin:0!important;clear:none!important;position:static!important
}

/* Cache les sections vides (pas de form-row à l'intérieur) */
body.sc-dark-checkout .woocommerce-shipping-fields:not(:has(.form-row)),
body.sc-dark-checkout .woocommerce-additional-fields:not(:has(.form-row)){display:none!important}

/* Sécurité word-break */
body.sc-dark-checkout #order_review,
body.sc-dark-checkout .woocommerce-billing-fields,
body.sc-dark-checkout .woocommerce-shipping-fields,
body.sc-dark-checkout .woocommerce-additional-fields,
body.sc-dark-checkout .woocommerce-info,
body.sc-dark-checkout #payment,
body.sc-dark-checkout #payment ul.payment_methods,
body.sc-dark-checkout #payment .payment_box{
  max-width:100%;overflow-wrap:break-word;word-break:normal
}

/* Mobile : stack vertical, pas de grid */
@media (max-width:900px){
  body.sc-dark-checkout main#main{padding:16px 14px 60px!important}
  body.sc-dark-checkout .sc-checkout-layout{
    display:block;gap:0
  }
  body.sc-dark-checkout .sc-checkout-left,
  body.sc-dark-checkout .sc-checkout-right{
    width:100%!important;max-width:100%!important;margin-bottom:20px!important;
    position:static!important
  }
}
body.sc-dark-checkout .woocommerce-billing-fields,
body.sc-dark-checkout .woocommerce-shipping-fields,
body.sc-dark-checkout .woocommerce-additional-fields{
  background:var(--md-bg-alt);border:1px solid var(--md-border);
  padding:28px 28px 22px;border-radius:2px;margin:0 0 20px;
  box-shadow:0 4px 16px rgba(0,0,0,.25)
}
@media (max-width:500px){
  body.sc-dark-checkout .woocommerce-billing-fields,
  body.sc-dark-checkout .woocommerce-shipping-fields,
  body.sc-dark-checkout .woocommerce-additional-fields{padding:20px 18px 16px}
}

/* Titres de section */
body.sc-dark-checkout .woocommerce-billing-fields h3,
body.sc-dark-checkout .woocommerce-shipping-fields h3,
body.sc-dark-checkout .woocommerce-additional-fields h3,
body.sc-dark-checkout #order_review_heading{
  font-family:var(--md-font-display)!important;font-style:italic;font-weight:500!important;
  font-size:1.5em!important;color:var(--md-title)!important;
  letter-spacing:.01em;margin:0 0 22px!important;padding:0 0 14px!important;
  border-bottom:1px solid rgba(201,160,72,.3);position:relative
}
body.sc-dark-checkout .woocommerce-billing-fields h3::after,
body.sc-dark-checkout .woocommerce-shipping-fields h3::after,
body.sc-dark-checkout #order_review_heading::after{
  content:'';position:absolute;bottom:-1px;left:0;width:54px;height:2px;
  background:var(--md-accent)
}

/* ============= LABELS & INPUTS ============= */
body.sc-dark-checkout .form-row{margin:0 0 16px!important;padding:0!important}
body.sc-dark-checkout .form-row label{
  display:block;margin:0 0 6px;
  font-family:var(--md-font-body)!important;
  font-size:.95em;font-weight:600;color:var(--md-text-dim)!important;
  letter-spacing:.04em;text-transform:uppercase
}
body.sc-dark-checkout .form-row label .optional{
  font-weight:400;color:var(--md-text-mute)!important;
  font-style:italic;text-transform:none;letter-spacing:0;margin-left:4px
}
body.sc-dark-checkout .form-row label .required,
body.sc-dark-checkout .form-row abbr.required{
  color:var(--md-accent)!important;text-decoration:none;font-weight:700
}

/* Input fields — dark premium, ligne or sous focus */
body.sc-dark-checkout .input-text,
body.sc-dark-checkout input[type=text],
body.sc-dark-checkout input[type=email],
body.sc-dark-checkout input[type=tel],
body.sc-dark-checkout input[type=number],
body.sc-dark-checkout input[type=password],
body.sc-dark-checkout textarea,
body.sc-dark-checkout select,
body.sc-dark-checkout .select2-container--default .select2-selection--single,
body.sc-dark-checkout .select2-container--default .select2-selection--multiple{
  width:100%!important;
  background:var(--md-bg-input)!important;
  color:var(--md-text)!important;
  border:1px solid var(--md-border)!important;
  border-radius:2px!important;
  padding:13px 15px!important;
  font-family:var(--md-font-body)!important;
  font-size:1em!important;line-height:1.4!important;
  height:auto!important;min-height:48px;
  box-shadow:none!important;
  transition:border-color .2s ease, box-shadow .2s ease;
  outline:none!important
}
body.sc-dark-checkout textarea{min-height:96px}
body.sc-dark-checkout .input-text::placeholder,
body.sc-dark-checkout input::placeholder,
body.sc-dark-checkout textarea::placeholder{
  color:var(--md-text-mute)!important;font-style:italic;opacity:.7
}
body.sc-dark-checkout .input-text:focus,
body.sc-dark-checkout input[type=text]:focus,
body.sc-dark-checkout input[type=email]:focus,
body.sc-dark-checkout input[type=tel]:focus,
body.sc-dark-checkout input[type=number]:focus,
body.sc-dark-checkout input[type=password]:focus,
body.sc-dark-checkout textarea:focus,
body.sc-dark-checkout select:focus,
body.sc-dark-checkout .select2-container--default.select2-container--focus .select2-selection--single{
  border-color:var(--md-accent)!important;
  box-shadow:0 0 0 3px rgba(201,160,72,.15)!important
}
/* Kill du vilain icone "password-type" et des spinners natifs parasites */
body.sc-dark-checkout .input-text::-webkit-credentials-auto-fill-button,
body.sc-dark-checkout input::-webkit-credentials-auto-fill-button,
body.sc-dark-checkout input::-webkit-contacts-auto-fill-button,
body.sc-dark-checkout input::-webkit-strong-password-auto-fill-button,
body.sc-dark-checkout input::-webkit-caps-lock-indicator,
body.sc-dark-checkout input::-ms-reveal,
body.sc-dark-checkout input::-ms-clear{
  display:none!important;visibility:hidden!important;width:0!important;height:0!important;
  margin:0!important;padding:0!important;-webkit-appearance:none!important
}
/* Autofill : override le fond jaune/bleu pâle des navigateurs */
body.sc-dark-checkout input:-webkit-autofill,
body.sc-dark-checkout input:-webkit-autofill:hover,
body.sc-dark-checkout input:-webkit-autofill:focus,
body.sc-dark-checkout textarea:-webkit-autofill,
body.sc-dark-checkout select:-webkit-autofill{
  -webkit-box-shadow:0 0 0 40px var(--md-bg-input) inset!important;
  -webkit-text-fill-color:var(--md-text)!important;
  caret-color:var(--md-text)!important;
  border:1px solid var(--md-border)!important;
  transition:background-color 999999s ease-in-out 0s
}
body.sc-dark-checkout input[type=checkbox],
body.sc-dark-checkout input[type=radio]{
  appearance:none!important;-webkit-appearance:none!important;
  width:20px!important;height:20px!important;
  min-width:20px!important;min-height:20px!important;
  border:2px solid var(--md-text-dim)!important;
  background:var(--md-bg-input)!important;
  border-radius:3px;cursor:pointer;vertical-align:middle;
  margin-right:10px;transition:all .15s ease;flex-shrink:0;
  display:inline-block!important;opacity:1!important;visibility:visible!important;
  box-shadow:none!important
}
body.sc-dark-checkout input[type=radio]{border-radius:50%!important}
body.sc-dark-checkout input[type=checkbox]:hover,
body.sc-dark-checkout input[type=radio]:hover{border-color:var(--md-accent)!important}
body.sc-dark-checkout input[type=checkbox]:focus,
body.sc-dark-checkout input[type=radio]:focus{
  outline:none!important;border-color:var(--md-accent)!important;
  box-shadow:0 0 0 3px rgba(201,160,72,.18)!important
}
body.sc-dark-checkout input[type=checkbox]:checked,
body.sc-dark-checkout input[type=radio]:checked{
  background:var(--md-accent)!important;border-color:var(--md-accent)!important
}
body.sc-dark-checkout input[type=checkbox]:checked::after{
  content:'';display:block;width:6px;height:11px;margin:1px 0 0 5px;
  border:solid var(--md-bg);border-width:0 2px 2px 0;transform:rotate(45deg)
}
body.sc-dark-checkout input[type=radio]:checked::after{
  content:'';display:block;width:8px;height:8px;margin:4px;
  background:var(--md-bg);border-radius:50%
}

/* Select natif : flèche custom */
body.sc-dark-checkout select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  padding-right:40px!important;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23c9a048'><path d='M5.516 7.548c.436-.446 1.043-.481 1.576 0L10 10.295l2.908-2.747c.533-.481 1.141-.446 1.574 0 .436.445.408 1.197 0 1.615-.406.418-3.695 3.495-3.695 3.495a1.095 1.095 0 0 1-1.576 0S5.924 9.581 5.516 9.163c-.409-.418-.436-1.17 0-1.615z'/></svg>")!important;
  background-repeat:no-repeat!important;background-position:right 14px center!important;
  background-size:16px!important
}
body.sc-dark-checkout select option{background:var(--md-bg-panel);color:var(--md-text)}

/* Select2 (Pays / région) */
body.sc-dark-checkout .select2-container--default .select2-selection--single{
  display:flex;align-items:center;padding:0 15px!important
}
body.sc-dark-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--md-text)!important;line-height:46px!important;padding:0!important
}
body.sc-dark-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:48px!important;right:10px!important
}
body.sc-dark-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:var(--md-accent) transparent transparent transparent!important
}
body.sc-dark-checkout .select2-container--open .select2-dropdown{
  background:var(--md-bg-panel)!important;border:1px solid var(--md-border)!important;
  color:var(--md-text)!important;box-shadow:0 12px 36px rgba(0,0,0,.6)!important
}
body.sc-dark-checkout .select2-container--default .select2-results__option{color:var(--md-text)!important;padding:10px 14px}
body.sc-dark-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.sc-dark-checkout .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background:var(--md-accent)!important;color:var(--md-bg)!important
}
body.sc-dark-checkout .select2-search--dropdown .select2-search__field{
  background:var(--md-bg-input)!important;color:var(--md-text)!important;
  border:1px solid var(--md-border)!important;padding:10px 12px!important
}

/* ============= ORDER REVIEW PANEL (résumé commande) ============= */
body.sc-dark-checkout #order_review_heading{
  background:transparent!important;margin:0 0 12px!important;padding:0 0 14px!important
}
body.sc-dark-checkout #order_review{
  background:var(--md-bg-alt);border:1px solid var(--md-border);
  padding:26px 26px 22px;border-radius:2px;
  box-shadow:0 4px 16px rgba(0,0,0,.25)
}

/* shop_table — résumé produits */
body.sc-dark-checkout .woocommerce-checkout-review-order-table,
body.sc-dark-checkout table.shop_table{
  width:100%;border-collapse:collapse;background:transparent!important;
  border:0!important;margin:0!important
}
body.sc-dark-checkout table.shop_table th,
body.sc-dark-checkout table.shop_table td{
  background:transparent!important;border:0!important;
  border-bottom:1px solid rgba(201,191,171,.1)!important;
  padding:14px 0!important;color:var(--md-text)!important;
  font-family:var(--md-font-body);font-size:1.02em;line-height:1.45
}
body.sc-dark-checkout table.shop_table thead th{
  font-family:var(--md-font-display)!important;font-style:italic;font-weight:500!important;
  color:var(--md-title)!important;font-size:.92em;letter-spacing:.05em;
  text-transform:uppercase;padding-bottom:10px!important
}
body.sc-dark-checkout table.shop_table tfoot th,
body.sc-dark-checkout table.shop_table tfoot td{
  color:var(--md-title)!important;font-weight:500;
  font-family:var(--md-font-display)
}
body.sc-dark-checkout table.shop_table tfoot tr:last-child th,
body.sc-dark-checkout table.shop_table tfoot tr:last-child td,
body.sc-dark-checkout table.shop_table tr.order-total th,
body.sc-dark-checkout table.shop_table tr.order-total td{
  font-size:1.2em;color:var(--md-accent)!important;
  font-weight:700;border-bottom:0!important;padding-top:18px!important
}
body.sc-dark-checkout table.shop_table .product-name{font-weight:500;color:var(--md-title)!important}
body.sc-dark-checkout table.shop_table .product-quantity{
  color:var(--md-text-dim)!important;font-style:italic;
  font-weight:400;margin-left:6px
}
body.sc-dark-checkout .woocommerce-Price-amount,
body.sc-dark-checkout .woocommerce-Price-currencySymbol{color:inherit!important}
body.sc-dark-checkout table.shop_table tr.order-total .woocommerce-Price-amount,
body.sc-dark-checkout table.shop_table tr.order-total .woocommerce-Price-currencySymbol{
  color:var(--md-accent)!important
}

/* ============= PAYMENT METHODS ============= */
body.sc-dark-checkout #payment{
  background:transparent!important;border:0!important;
  margin-top:22px!important;padding:0!important
}
body.sc-dark-checkout #payment ul.payment_methods{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0 0 16px!important;list-style:none
}
/* Hide payment methods UL if no methods (empty <li> list) */
body.sc-dark-checkout #payment ul.payment_methods:empty,
body.sc-dark-checkout #payment ul.payment_methods:not(:has(li)){display:none!important}
body.sc-dark-checkout #payment ul.payment_methods li{
  background:transparent!important;border-bottom:1px solid rgba(201,191,171,.08);
  padding:10px 0!important;margin:0!important
}
body.sc-dark-checkout #payment ul.payment_methods li:last-child{border-bottom:0}
body.sc-dark-checkout #payment ul.payment_methods li label{
  color:var(--md-text)!important;font-weight:500;font-size:1.02em;
  display:inline-flex;align-items:center;cursor:pointer;font-family:var(--md-font-body);
  text-transform:none;letter-spacing:0
}
body.sc-dark-checkout #payment .payment_box{
  background:var(--md-bg-input)!important;border:1px solid var(--md-border)!important;
  color:var(--md-text-dim)!important;padding:14px 16px!important;margin-top:10px!important;
  font-size:.95em;line-height:1.6;border-radius:2px
}
body.sc-dark-checkout #payment .payment_box::before{display:none!important}

/* ============= PLACE ORDER BUTTON — CTA premium or ============= */
body.sc-dark-checkout #place_order,
body.sc-dark-checkout button.button.alt,
body.sc-dark-checkout .wc-forward.button{
  position:relative;width:100%;max-width:100%;
  background:transparent!important;color:var(--md-title)!important;
  border:1px solid var(--md-accent)!important;border-radius:0!important;
  font-family:var(--md-font-body)!important;font-weight:700;
  font-size:1em!important;letter-spacing:.14em;text-transform:uppercase;
  padding:18px 18px!important;margin-top:8px!important;
  cursor:pointer;transition:all .3s ease;
  box-shadow:0 4px 16px rgba(0,0,0,.3);
  white-space:normal;word-break:normal;overflow-wrap:break-word;
  line-height:1.15;min-width:0
}
body.sc-dark-checkout #place_order::before{
  content:'';position:absolute;left:-1px;bottom:-1px;
  width:14px;height:14px;
  border-left:2px solid var(--md-cta);border-bottom:2px solid var(--md-cta);
  transition:all .25s ease
}
body.sc-dark-checkout #place_order::after{
  content:'';position:absolute;right:-1px;top:-1px;
  width:14px;height:14px;
  border-right:2px solid var(--md-cta);border-top:2px solid var(--md-cta);
  transition:all .25s ease
}
body.sc-dark-checkout #place_order:hover,
body.sc-dark-checkout button.button.alt:hover{
  background:var(--md-accent)!important;color:#0a0a0a!important;
  box-shadow:0 6px 24px rgba(201,160,72,.3)
}
body.sc-dark-checkout #place_order:hover::before,
body.sc-dark-checkout #place_order:hover::after{
  border-color:var(--md-cta-bright);width:18px;height:18px
}

/* =====================================================================
   CART PAGE — design aligné sur la page produit dark premium
   ===================================================================== */

/* Layout 2 colonnes : cart (66%) + totaux sticky (34%) sur desktop */
body.sc-dark-checkout.woocommerce-cart .woocommerce{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(320px,1fr);
  gap:24px 28px;
  align-items:start
}
body.sc-dark-checkout.woocommerce-cart .woocommerce > *{grid-column:1 / -1;min-width:0}
body.sc-dark-checkout.woocommerce-cart form.woocommerce-cart-form{
  grid-column:1 / 2;min-width:0;
  width:100%!important;max-width:none!important;float:none!important;margin:0!important
}
body.sc-dark-checkout.woocommerce-cart .cart-collaterals{
  grid-column:2 / 3;min-width:0;position:sticky;top:24px;
  width:100%!important;max-width:none!important;float:none!important;margin:0!important
}
body.sc-dark-checkout.woocommerce-cart .cart-collaterals .cart_totals{
  width:100%!important;max-width:none!important;float:none!important
}
@media (max-width:900px){
  body.sc-dark-checkout.woocommerce-cart .woocommerce{display:block}
  body.sc-dark-checkout.woocommerce-cart .cart-collaterals{position:static;margin-top:20px}
}

/* ---- Table panier ---- */
body.sc-dark-checkout .woocommerce-cart-form table.shop_table{
  background:var(--md-bg-alt)!important;
  border:1px solid var(--md-border)!important;
  border-collapse:separate!important;border-spacing:0!important;
  padding:0!important;border-radius:2px;width:100%;margin:0!important
}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table thead{
  background:var(--md-bg-panel)!important
}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table thead th{
  background:var(--md-bg-panel)!important;
  color:var(--md-accent)!important;
  font-family:var(--md-font-display)!important;font-style:italic;font-weight:500!important;
  font-size:.95em!important;letter-spacing:.08em;text-transform:uppercase;
  padding:18px 14px!important;border:0!important;
  border-bottom:1px solid rgba(201,160,72,.25)!important;
  text-align:left
}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table thead th.product-price,
body.sc-dark-checkout .woocommerce-cart-form table.shop_table thead th.product-quantity,
body.sc-dark-checkout .woocommerce-cart-form table.shop_table thead th.product-subtotal{text-align:center}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td{
  background:transparent!important;
  border:0!important;border-bottom:1px solid rgba(201,191,171,.08)!important;
  padding:20px 14px!important;color:var(--md-text)!important;
  vertical-align:middle;font-family:var(--md-font-body);font-size:1.02em
}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody tr:last-child td{border-bottom:0!important}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table td.product-price,
body.sc-dark-checkout .woocommerce-cart-form table.shop_table td.product-subtotal,
body.sc-dark-checkout .woocommerce-cart-form table.shop_table td.product-quantity{text-align:center}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table td.product-name a{
  color:var(--md-title)!important;font-family:var(--md-font-display);font-style:italic;
  font-weight:500;font-size:1.08em;text-decoration:none;letter-spacing:.01em;
  transition:color .2s
}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table td.product-name a:hover{color:var(--md-accent)!important}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table td.product-thumbnail img{
  max-width:80px;height:auto;border-radius:2px;border:1px solid var(--md-border)
}
body.sc-dark-checkout .woocommerce-cart-form table.shop_table td.product-price,
body.sc-dark-checkout .woocommerce-cart-form table.shop_table td.product-subtotal{
  color:var(--md-accent)!important;font-family:var(--md-font-display);font-weight:700;font-size:1.1em
}

/* Bouton "supprimer" × */
body.sc-dark-checkout .woocommerce-cart-form a.remove{
  color:var(--md-text-mute)!important;font-size:1.5em;font-weight:300;
  width:28px;height:28px;line-height:26px;text-align:center;
  background:transparent!important;border:1px solid transparent;border-radius:50%;
  transition:all .2s;display:inline-block
}
body.sc-dark-checkout .woocommerce-cart-form a.remove:hover{
  color:#d06868!important;background:rgba(208,104,104,.08)!important;
  border-color:rgba(208,104,104,.3)
}

/* Input quantité */
body.sc-dark-checkout .quantity .qty{
  width:72px!important;height:44px!important;
  text-align:center;padding:8px 10px!important;
  background:var(--md-bg-input)!important;
  color:var(--md-text)!important;
  border:1px solid var(--md-border)!important;
  border-radius:2px!important;
  font-family:var(--md-font-body)!important;font-size:1em
}
body.sc-dark-checkout .quantity .qty:focus{
  border-color:var(--md-accent)!important;
  box-shadow:0 0 0 3px rgba(201,160,72,.15)!important;outline:none
}

/* Ligne "Actions" : coupon + update cart */
body.sc-dark-checkout table.shop_table td.actions{
  background:var(--md-bg-panel)!important;
  padding:20px 16px!important;border-top:1px solid rgba(201,160,72,.15)!important
}
body.sc-dark-checkout .coupon{
  display:inline-flex;gap:10px;align-items:center;margin:0!important
}
body.sc-dark-checkout .coupon label{display:none!important}
body.sc-dark-checkout input#coupon_code{
  width:220px!important;height:46px!important;
  background:var(--md-bg-input)!important;color:var(--md-text)!important;
  border:1px solid var(--md-border)!important;border-radius:2px!important;
  padding:10px 14px!important;
  font-family:var(--md-font-body)!important;font-size:1em
}
body.sc-dark-checkout input#coupon_code::placeholder{color:var(--md-text-mute);font-style:italic}
body.sc-dark-checkout input#coupon_code:focus{
  border-color:var(--md-accent)!important;outline:none;box-shadow:0 0 0 3px rgba(201,160,72,.15)!important
}

/* TOUS les boutons cart : outline or, CTA premium (pas de bleu Astra) */
body.sc-dark-checkout button[name="apply_coupon"],
body.sc-dark-checkout button[name="update_cart"],
body.sc-dark-checkout .woocommerce-cart .button,
body.sc-dark-checkout .woocommerce-cart button.button,
body.sc-dark-checkout .woocommerce-cart input[type=submit].button{
  position:relative;
  background:transparent!important;color:var(--md-title)!important;
  border:1px solid var(--md-accent)!important;border-radius:0!important;
  font-family:var(--md-font-body)!important;font-weight:700;
  font-size:.92em!important;letter-spacing:.14em;text-transform:uppercase;
  padding:13px 22px!important;height:46px!important;line-height:1;
  cursor:pointer;transition:all .25s ease;
  white-space:nowrap
}
body.sc-dark-checkout button[name="apply_coupon"]:hover,
body.sc-dark-checkout button[name="update_cart"]:hover,
body.sc-dark-checkout .woocommerce-cart .button:hover{
  background:var(--md-accent)!important;color:#0a0a0a!important;
  box-shadow:0 4px 16px rgba(201,160,72,.2)
}
/* Update cart disabled state (quand rien n'a changé) */
body.sc-dark-checkout button[name="update_cart"]:disabled,
body.sc-dark-checkout button[name="update_cart"][disabled]{
  opacity:.4;cursor:not-allowed;
  border-color:var(--md-border)!important;color:var(--md-text-dim)!important
}
body.sc-dark-checkout button[name="update_cart"]:disabled:hover{
  background:transparent!important;color:var(--md-text-dim)!important;box-shadow:none
}

/* ---- Cart totals (colonne droite) ---- */
body.sc-dark-checkout .cart_totals{
  background:var(--md-bg-alt)!important;
  border:1px solid var(--md-border)!important;
  padding:28px 28px 24px!important;border-radius:2px;
  box-shadow:0 4px 16px rgba(0,0,0,.25)
}
body.sc-dark-checkout .cart_totals h2{
  font-family:var(--md-font-display)!important;font-style:italic;font-weight:500!important;
  color:var(--md-title)!important;font-size:1.5em!important;
  letter-spacing:.01em;margin:0 0 20px!important;padding:0 0 14px!important;
  border-bottom:1px solid rgba(201,160,72,.3)!important;
  background:transparent!important;position:relative
}
body.sc-dark-checkout .cart_totals h2::after{
  content:'';position:absolute;bottom:-1px;left:0;width:54px;height:2px;
  background:var(--md-accent)
}
body.sc-dark-checkout .cart_totals table.shop_table{
  background:transparent!important;border:0!important;margin:0 0 18px!important;width:100%
}
body.sc-dark-checkout .cart_totals table.shop_table th,
body.sc-dark-checkout .cart_totals table.shop_table td{
  background:transparent!important;border:0!important;
  border-bottom:1px solid rgba(201,191,171,.1)!important;
  padding:14px 0!important;color:var(--md-text)!important;
  font-family:var(--md-font-body);font-size:1.02em
}
body.sc-dark-checkout .cart_totals .cart-subtotal th,
body.sc-dark-checkout .cart_totals .cart-subtotal td{font-weight:500;color:var(--md-title)!important}
body.sc-dark-checkout .cart_totals .order-total th,
body.sc-dark-checkout .cart_totals .order-total td{
  font-size:1.2em!important;color:var(--md-accent)!important;font-weight:700!important;
  font-family:var(--md-font-display)!important;
  border-bottom:0!important;padding-top:18px!important
}
body.sc-dark-checkout .cart_totals .order-total .woocommerce-Price-amount,
body.sc-dark-checkout .cart_totals .order-total .woocommerce-Price-currencySymbol,
body.sc-dark-checkout .cart_totals .cart-subtotal .woocommerce-Price-amount,
body.sc-dark-checkout .cart_totals .cart-subtotal .woocommerce-Price-currencySymbol{color:inherit!important}

/* "Valider la commande" CTA — outline or + coins verts */
body.sc-dark-checkout .wc-proceed-to-checkout{padding:0!important;margin:8px 0 0}
body.sc-dark-checkout .wc-proceed-to-checkout .checkout-button,
body.sc-dark-checkout .wc-proceed-to-checkout a.button{
  position:relative;width:100%;display:inline-block;
  background:transparent!important;color:var(--md-title)!important;
  border:1px solid var(--md-accent)!important;border-radius:0!important;
  font-family:var(--md-font-body)!important;font-weight:700;
  font-size:1em!important;letter-spacing:.16em;text-transform:uppercase;
  padding:18px 24px!important;margin:0!important;
  cursor:pointer;transition:all .3s ease;
  box-shadow:0 4px 16px rgba(0,0,0,.3)
}
body.sc-dark-checkout .wc-proceed-to-checkout .checkout-button::before,
body.sc-dark-checkout .wc-proceed-to-checkout a.button::before{
  content:'';position:absolute;left:-1px;bottom:-1px;
  width:14px;height:14px;
  border-left:2px solid var(--md-cta);border-bottom:2px solid var(--md-cta);
  transition:all .25s ease
}
body.sc-dark-checkout .wc-proceed-to-checkout .checkout-button::after,
body.sc-dark-checkout .wc-proceed-to-checkout a.button::after{
  content:'';position:absolute;right:-1px;top:-1px;
  width:14px;height:14px;
  border-right:2px solid var(--md-cta);border-top:2px solid var(--md-cta);
  transition:all .25s ease
}
body.sc-dark-checkout .wc-proceed-to-checkout .checkout-button:hover,
body.sc-dark-checkout .wc-proceed-to-checkout a.button:hover{
  background:var(--md-accent)!important;color:#0a0a0a!important;
  box-shadow:0 6px 24px rgba(201,160,72,.3)
}
body.sc-dark-checkout .wc-proceed-to-checkout .checkout-button:hover::before,
body.sc-dark-checkout .wc-proceed-to-checkout .checkout-button:hover::after{
  border-color:var(--md-cta-bright);width:18px;height:18px
}

/* ============= MOBILE CART (<=768px) — refonte cellules empilées ============= */
@media (max-width:768px){
  /* Container main : padding réduit pour donner de la place */
  body.sc-dark-checkout main#main{
    padding-left:12px!important;padding-right:12px!important
  }

  /* Table : chaque cellule devient un rang avec label (data-title) gauche + valeur droite */
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table{
    background:var(--md-bg-alt)!important;border:1px solid var(--md-border)!important;
    display:block;padding:8px!important
  }
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table thead{display:none!important}
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody,
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tfoot{display:block;width:100%}
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody tr{
    display:block;padding:12px;margin-bottom:10px;
    background:var(--md-bg-panel)!important;border:1px solid var(--md-border)!important;
    border-radius:2px;position:relative
  }
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody tr:last-child{margin-bottom:0}
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td{
    display:flex!important;align-items:center;justify-content:space-between;
    text-align:right!important;
    padding:8px 0!important;border-bottom:1px solid rgba(201,191,171,.06)!important;
    width:100%;min-height:0
  }
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td:last-child{border-bottom:0!important}
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td::before{
    content:attr(data-title);
    font-family:var(--md-font-body);font-weight:600;font-size:.88em;
    color:var(--md-text-dim);letter-spacing:.04em;text-transform:uppercase;
    flex:0 0 auto;margin-right:14px
  }

  /* Product thumbnail + remove : bloc dédié en haut de la "card" */
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-remove{
    position:absolute;top:10px;right:10px;padding:0!important;border:0!important;
    width:auto;display:block!important
  }
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-remove::before{display:none!important}
  body.sc-dark-checkout .woocommerce-cart-form a.remove{font-size:1.3em}

  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-thumbnail{
    display:block!important;text-align:center!important;
    padding:6px 0 14px!important;border-bottom:1px solid rgba(201,191,171,.08)!important
  }
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-thumbnail::before{display:none!important}
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-thumbnail img{
    max-width:120px;margin:0 auto;display:block
  }

  /* Nom produit : full-width centré sous la photo */
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-name{
    display:block!important;text-align:center!important;
    padding:4px 0 12px!important
  }
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-name::before{display:none!important}
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-name a{
    font-size:1.1em;line-height:1.3;word-break:break-word
  }

  /* Prix, quantité, sous-total : label gauche / valeur droite */
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-price,
  body.sc-dark-checkout .woocommerce-cart-form table.shop_table tbody td.product-subtotal{
    font-family:var(--md-font-display);font-weight:700;color:var(--md-accent)!important
  }

  /* Ligne "Actions" — coupon + update : bouton vertical stack */
  body.sc-dark-checkout table.shop_table tfoot{display:block!important}
  body.sc-dark-checkout table.shop_table td.actions{
    display:block!important;padding:16px 12px!important;
    background:var(--md-bg-panel)!important;
    border:1px solid var(--md-border)!important;border-radius:2px;margin-top:10px
  }
  body.sc-dark-checkout .coupon{
    display:flex!important;flex-direction:column;gap:8px;width:100%;margin:0 0 10px!important
  }
  body.sc-dark-checkout input#coupon_code{width:100%!important;box-sizing:border-box}
  body.sc-dark-checkout button[name="apply_coupon"],
  body.sc-dark-checkout button[name="update_cart"]{
    width:100%!important;padding:14px 12px!important;font-size:.82em!important;
    letter-spacing:.1em;white-space:normal;line-height:1.2;height:auto!important
  }

  /* Totaux card : padding réduit, full-width */
  body.sc-dark-checkout .cart_totals{padding:22px 18px 18px!important}
  body.sc-dark-checkout .cart_totals h2{font-size:1.3em!important}
  body.sc-dark-checkout .wc-proceed-to-checkout .checkout-button{
    font-size:.85em!important;letter-spacing:.12em;padding:16px 14px!important
  }
}

/* Shipping calculator dans cart_totals */
body.sc-dark-checkout .woocommerce-shipping-calculator{
  margin-top:14px;padding:0!important;background:transparent!important;border:0!important
}
body.sc-dark-checkout .shipping-calculator-button{
  color:var(--md-accent)!important;text-decoration:underline;text-underline-offset:3px;
  font-family:var(--md-font-body);font-size:.95em
}
body.sc-dark-checkout .shipping-calculator-button:hover{color:var(--md-cta-bright)!important}

/* Cart empty notice */
body.sc-dark-checkout .cart-empty{
  font-family:var(--md-font-display)!important;font-style:italic;
  color:var(--md-text)!important;text-align:center;font-size:1.2em;
  padding:40px 20px
}
body.sc-dark-checkout .return-to-shop,
body.sc-dark-checkout p.return-to-shop{text-align:center;margin:30px 0}
body.sc-dark-checkout .return-to-shop a,
body.sc-dark-checkout .return-to-shop a.wc-backward,
body.sc-dark-checkout .return-to-shop a.button{
  display:inline-block;margin-top:20px;
  background:transparent!important;color:var(--md-title)!important;
  border:1px solid var(--md-accent)!important;
  padding:14px 32px!important;
  font-family:var(--md-font-body)!important;font-style:italic!important;
  font-size:1em!important;letter-spacing:.16em!important;text-transform:uppercase!important;
  border-radius:0!important;text-decoration:none!important;
  transition:all .25s!important;cursor:pointer
}
body.sc-dark-checkout .return-to-shop a:hover,
body.sc-dark-checkout .return-to-shop a.wc-backward:hover,
body.sc-dark-checkout .return-to-shop a.button:hover{
  background:var(--md-accent)!important;color:#0a0a0a!important
}

/* Coupon form dépliable sur checkout (différent du coupon form cart) */
body.sc-dark-checkout .checkout_coupon,
body.sc-dark-checkout .woocommerce-form-coupon{
  background:var(--md-bg-alt)!important;border:1px solid var(--md-border)!important;
  padding:22px!important;border-radius:2px;margin:0 0 24px!important
}
body.sc-dark-checkout .checkout_coupon input[type=submit],
body.sc-dark-checkout .woocommerce-form-coupon button{
  background:transparent!important;color:var(--md-title)!important;
  border:1px solid var(--md-accent)!important;
  padding:13px 22px!important;letter-spacing:.12em;text-transform:uppercase;
  font-family:var(--md-font-body)!important;font-weight:600;border-radius:0!important;
  cursor:pointer;transition:all .25s ease;height:46px
}
body.sc-dark-checkout .checkout_coupon input[type=submit]:hover,
body.sc-dark-checkout .woocommerce-form-coupon button:hover{
  background:var(--md-accent)!important;color:#0a0a0a!important
}

/* ============= LOADER OVERLAY ============= */
body.sc-dark-checkout .woocommerce-checkout-review-order.processing,
body.sc-dark-checkout form.checkout.processing{
  opacity:.6;position:relative;pointer-events:none
}
body.sc-dark-checkout .blockUI.blockOverlay{
  background:rgba(10,10,10,.7)!important
}

/* ============= TERMS / CGV CHECKBOX ============= */
body.sc-dark-checkout .woocommerce-terms-and-conditions-wrapper{
  margin:18px 0 8px
}
body.sc-dark-checkout .woocommerce-terms-and-conditions-wrapper label{
  text-transform:none!important;letter-spacing:0!important;
  font-size:.98em!important;color:var(--md-text)!important;font-weight:400
}
body.sc-dark-checkout .woocommerce-terms-and-conditions-wrapper a{
  color:var(--md-accent)!important;text-decoration:underline;text-underline-offset:3px
}

/* ============= UPSELLS CHECKOUT (Support + Huile) ============= */
body.sc-dark-checkout .sc-checkout-upsells{
  max-width:1480px;margin:14px auto 0;padding:0 6vw;
  clear:both
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsells{
  background:var(--md-bg-alt,#141414);border:1px solid rgba(201,160,72,.22);
  border-top:none;
  padding:32px 40px 40px;border-radius:2px;
  position:relative
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsells::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--md-accent,#c9a048) 20%,var(--md-accent,#c9a048) 80%,transparent)
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsells-header{
  text-align:center;margin:0 0 24px
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsells-kicker{
  font-size:.82em;letter-spacing:.22em
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsells-title{
  font-size:1.6em;margin-top:8px
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsells-list{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsell{
  padding:16px 20px;gap:18px
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsell-image{
  flex:0 0 80px;width:80px;height:80px
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsell-name{
  font-size:1.05em;-webkit-line-clamp:2;line-clamp:2
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsell-price{
  font-size:1.05em
}
body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsell-btn{
  flex:0 0 44px;width:44px;height:44px;font-size:24px
}
@media (max-width:720px){
  body.sc-dark-checkout .sc-checkout-upsells{padding:0 4vw;margin-top:10px}
  body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsells{padding:24px 20px 28px}
  body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsells-list{grid-template-columns:1fr;gap:12px}
  body.sc-dark-checkout .sc-checkout-upsells .sc-cart-upsell-image{flex:0 0 64px;width:64px;height:64px}
}

/* ============= BADGE TRUST / AVIS CLIENTS BOUTIQUE (non-cliquable) ============= */
body.sc-dark-checkout .sc-checkout-trust-badge{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;
  box-sizing:border-box;
  margin:0 16px 18px!important;padding:14px 22px;
  background:rgba(46,160,77,.08);
  border:1px solid rgba(46,160,77,.45);
  border-radius:2px;
  color:#d3efd9;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:1.02em;letter-spacing:.02em;
  position:relative;
  user-select:none
}
body.sc-dark-checkout .sc-checkout-trust-badge::before{
  content:"";position:absolute;top:-1px;left:-1px;bottom:-1px;width:3px;
  background:#2ea04d
}
body.sc-dark-checkout .sc-trust-badge-check{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:#2ea04d;color:#fff;
  font-size:16px;font-weight:700;
  flex:0 0 28px;
  box-shadow:0 0 0 3px rgba(46,160,77,.18)
}
/* Étoiles vertes simples (sans carré) — identiques à la fiche produit */
body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-stars{
  display:inline-flex;align-items:center;gap:3px;line-height:0
}
body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;
  background:transparent;
  position:relative;overflow:hidden
}
body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star.is-full{color:#2ea04d}
body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star.is-empty{color:#3a3a3a}
body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star.is-partial{color:#3a3a3a}
body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star.is-partial::after{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:var(--p,50%);
  background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232ea04d' d='M2 9.27l6.74-.6L12 2.5l3.26 6.17 6.74.6-5.04 4.65 1.5 6.58L12 17.27 5.54 20.5l1.5-6.58z'/%3E%3C/svg%3E") no-repeat left center;
  background-size:22px 22px;
  z-index:2;
  pointer-events:none
}
body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star svg{
  position:relative;z-index:1;
  width:22px;height:22px;
  display:block
}
body.sc-dark-checkout .sc-trust-badge-text{
  color:#d3efd9
}
body.sc-dark-checkout .sc-trust-badge-text strong{
  color:#fff;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600
}
body.sc-dark-checkout .sc-trust-badge-sep{
  color:rgba(211,239,217,.4);margin:0 2px
}
@media (max-width:560px){
  body.sc-dark-checkout .sc-checkout-trust-badge{
    font-size:.95em;padding:12px 16px;gap:8px 10px;margin:0 16px 14px!important
  }
  body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star{width:18px;height:18px}
  body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star svg{width:18px;height:18px}
  body.sc-dark-checkout .sc-checkout-trust-badge .sc-tp-star.is-partial::after{background-size:18px 18px}
  body.sc-dark-checkout .sc-trust-badge-sep{display:none}
}

/* =====================================================================
   Stripe Payment Elements — labels Numéro de carte / Date / CVC
   Stripe injecte ses propres .p-FieldLabel / .Label en couleurs par défaut
   trop sombres sur notre fond noir. On force des couleurs visibles.
   ===================================================================== */
body.sc-dark-checkout .p-FieldLabel,
body.sc-dark-checkout .Label,
body.sc-dark-checkout .p-FieldLabel.Label,
body.sc-dark-checkout label.p-FieldLabel{
  color:var(--md-text)!important;
  font-family:var(--md-font-body)!important;
  font-size:.95em!important;
  font-weight:500!important;
  letter-spacing:.02em;
  opacity:1!important;
  text-shadow:none!important
}
body.sc-dark-checkout .p-FieldLabel.Label--empty,
body.sc-dark-checkout .p-FieldLabel.Label--floating,
body.sc-dark-checkout .Label--empty,
body.sc-dark-checkout .Label--floating{
  color:var(--md-text-dim)!important
}
/* Texte dans les inputs Stripe (ex: "1234 1234 1234 1234", "MM / AA", "CVC") */
body.sc-dark-checkout .p-Input,
body.sc-dark-checkout .Input,
body.sc-dark-checkout .p-Input input,
body.sc-dark-checkout .Input input{
  color:var(--md-text)!important
}
body.sc-dark-checkout .p-Input::placeholder,
body.sc-dark-checkout .Input::placeholder,
body.sc-dark-checkout .p-Input input::placeholder,
body.sc-dark-checkout .Input input::placeholder{
  color:var(--md-text-mute)!important;opacity:1!important
}
