/* Boutique WooCommerce DECOENLIGNE — noir, or et lisibilité */
body.woocommerce,
body.woocommerce-page {
  --deo-shop-black: #151310;
  --deo-shop-gold: #c99b3d;
  --deo-shop-gold-light: #f4d786;
  --deo-shop-gold-soft: rgba(201, 155, 61, .42);
}

/* Prix : noirs et gras sur les fiches, listes et produits similaires. */
body.woocommerce :is(.price, .amount, .woocommerce-Price-amount),
body.woocommerce-page :is(.price, .amount, .woocommerce-Price-amount),
body.woocommerce div.product :is(p.price, span.price) {
  color: var(--deo-shop-black) !important;
  font-weight: 800 !important;
}

/* Compteur et montant du panier dans la barre de menu. */
body.woocommerce #header_cart .header-cart-count,
body.woocommerce-page #header_cart .header-cart-count {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 23px !important;
  height: 23px !important;
  padding: 0 6px !important;
  border: 1px solid var(--deo-shop-black) !important;
  border-radius: 999px !important;
  background: var(--deo-shop-gold) !important;
  color: var(--deo-shop-black) !important;
  font-size: 14px !important;
  line-height: 21px !important;
  font-weight: 900 !important;
}

body.woocommerce #header_cart .header-cart-total,
body.woocommerce-page #header_cart .header-cart-total {
  color: var(--deo-shop-black) !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

body.woocommerce :is(.price, .amount, .woocommerce-Price-amount) :is(del, ins),
body.woocommerce-page :is(.price, .amount, .woocommerce-Price-amount) :is(del, ins) {
  color: inherit !important;
  font-weight: inherit !important;
}

/* Les anciens textes et liens bleus passent en noir. */
body.woocommerce div.product :is(.summary, .product_meta) a,
body.woocommerce-page :is(.product_meta, .woocommerce-breadcrumb, .woocommerce-result-count) a,
body.woocommerce ul.products li.product :is(.woocommerce-loop-product__title, h2, h3, .price, a),
body.woocommerce-page ul.products li.product :is(.woocommerce-loop-product__title, h2, h3, .price, a) {
  color: var(--deo-shop-black) !important;
}

body.woocommerce div.product :is(.summary, .product_meta) a:hover,
body.woocommerce div.product :is(.summary, .product_meta) a:focus-visible,
body.woocommerce-page .product_meta a:hover,
body.woocommerce-page .product_meta a:focus-visible {
  color: #7a5a17 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Justification globale des textes éditoriaux des fiches produits. */
body.single-product #Content p {
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: auto;
}

/* Boutons : aucun aplat bleu, mais noir/or avec inversion au survol. */
body.woocommerce :is(a.button, button.button, input.button, .button.alt, .single_add_to_cart_button),
body.woocommerce-page :is(a.button, button.button, input.button, .button.alt, .single_add_to_cart_button),
body.woocommerce #respond input#submit {
  border: 1px solid var(--deo-shop-gold) !important;
  border-radius: 999px !important;
  background: var(--deo-shop-black) !important;
  color: var(--deo-shop-gold-light) !important;
  font-weight: 700 !important;
  text-align: center;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

body.woocommerce :is(a.button, button.button, input.button, .button.alt, .single_add_to_cart_button):hover,
body.woocommerce :is(a.button, button.button, input.button, .button.alt, .single_add_to_cart_button):focus-visible,
body.woocommerce-page :is(a.button, button.button, input.button, .button.alt, .single_add_to_cart_button):hover,
body.woocommerce-page :is(a.button, button.button, input.button, .button.alt, .single_add_to_cart_button):focus-visible {
  background: var(--deo-shop-gold) !important;
  color: var(--deo-shop-black) !important;
  transform: translateY(-1px);
}

/* Sélecteurs de catégories, tri et variations. */
body.woocommerce :is(select, .select2-selection--single),
body.woocommerce-page :is(select, .select2-selection--single) {
  border: 1px solid var(--deo-shop-gold) !important;
  border-radius: 6px !important;
  background-color: var(--deo-shop-black) !important;
  color: var(--deo-shop-gold-light) !important;
  font-weight: 700;
}

body.woocommerce :is(select, .select2-selection--single) :is(option, .select2-selection__rendered),
body.woocommerce-page :is(select, .select2-selection--single) :is(option, .select2-selection__rendered) {
  background: var(--deo-shop-black) !important;
  color: var(--deo-shop-gold-light) !important;
}

/* Cadre noir et or de l'image principale. */
body.single-product div.product div.images :is(.woocommerce-product-gallery__wrapper, .woocommerce-product-gallery__image, .image_frame) {
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--deo-shop-gold) !important;
  border-radius: 9px !important;
  background: var(--deo-shop-black) !important;
  box-shadow:
    inset 0 0 0 3px var(--deo-shop-black),
    inset 0 0 0 4px var(--deo-shop-gold-soft),
    0 12px 28px rgba(0, 0, 0, .18);
}

body.single-product div.product div.images :is(.woocommerce-product-gallery__image, .image_frame) img {
  display: block;
  box-sizing: border-box;
  padding: 6px;
  border-radius: 8px !important;
}

/* Même présentation pour les produits similaires et les listes boutique. */
body.woocommerce :is(.related, .upsells, .cross-sells, .products) li.product :is(.image_frame, .woocommerce-LoopProduct-link),
body.woocommerce-page :is(.related, .upsells, .cross-sells, .products) li.product :is(.image_frame, .woocommerce-LoopProduct-link) {
  overflow: hidden;
  border: 1px solid var(--deo-shop-gold) !important;
  border-radius: 9px !important;
  background: var(--deo-shop-black) !important;
  box-shadow: 0 9px 22px rgba(0, 0, 0, .14);
}

body.woocommerce :is(.related, .upsells, .cross-sells, .products) li.product img,
body.woocommerce-page :is(.related, .upsells, .cross-sells, .products) li.product img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 5px;
  border-radius: 8px !important;
  background: var(--deo-shop-black) !important;
}

/* Prestations indisponibles : indication contrastée et aucune interaction. */
body.woocommerce li.product.outofstock,
body.woocommerce-page li.product.outofstock {
  cursor: default !important;
}

body.woocommerce li.product.outofstock a,
body.woocommerce-page li.product.outofstock a {
  pointer-events: none !important;
  cursor: default !important;
}

body.woocommerce li.product.outofstock .image_links,
body.woocommerce-page li.product.outofstock .image_links {
  display: none !important;
}

body.woocommerce li.product.outofstock .soldout,
body.woocommerce-page li.product.outofstock .soldout {
  z-index: 5;
  display: flex !important;
  align-items: center;
  justify-content: center;
  inset: 50% auto auto 50% !important;
  transform: translate(-50%, -50%);
  width: auto !important;
  min-width: 145px;
  height: auto !important;
  padding: 9px 15px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(12, 11, 9, .9) !important;
  box-shadow: 0 5px 18px rgba(0, 0, 0, .35);
}

body.woocommerce li.product.outofstock .soldout :is(h4, span),
body.woocommerce-page li.product.outofstock .soldout :is(h4, span) {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(16px, 1.15vw, 19px) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center;
}

/* Navigation de produit et anciens aplats bleu clair Betheme. */
body.single-product :is(.fixed-nav, .product-nav, .product-navigation) :is(a, .arrow),
body.woocommerce :is(.woocommerce-pagination, .pager) a {
  border-color: var(--deo-shop-gold) !important;
  background: var(--deo-shop-black) !important;
  color: var(--deo-shop-gold-light) !important;
}

/* Aucune date de publication ou de mise à jour dans la navigation produit. */
body.single-product :is(.fixed-nav, .product-nav, .product-navigation, .product-navigation-wrap)
  :is(.date, .post-date, .updated, .modified, .date_label, .date-label, time) {
  display: none !important;
}

/* Panier et commande : étapes Betheme en noir et or. */
body.woocommerce-cart :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps),
body.woocommerce-checkout :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps) {
  color: var(--deo-shop-black) !important;
}

body.woocommerce-cart :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps)
  :is(a, span, li, .step, .title, .label),
body.woocommerce-checkout :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps)
  :is(a, span, li, .step, .title, .label) {
  color: var(--deo-shop-black) !important;
}

/* Pastilles actives : fond noir, chiffre or. */
body.woocommerce-cart :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps)
  :is(.active, .current, .is-active) :is(.number, .step-number, .step, span:first-child),
body.woocommerce-checkout :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps)
  :is(.active, .current, .is-active) :is(.number, .step-number, .step, span:first-child),
body.woocommerce-cart :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps)
  > :is(.active, .current, .is-active)::before,
body.woocommerce-checkout :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps)
  > :is(.active, .current, .is-active)::before {
  border-color: var(--deo-shop-black) !important;
  background: var(--deo-shop-black) !important;
  color: var(--deo-shop-gold-light) !important;
}

/* Pastilles non actives : blanc remplacé par l'or, libellés noirs. */
body.woocommerce-cart :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps)
  :is(li, .step):not(.active):not(.current):not(.is-active) :is(.number, .step-number, .step, span:first-child),
body.woocommerce-checkout :is(.woocommerce-steps, .woocommerce-cart-steps, .checkout-steps, .mfn-checkout-steps)
  :is(li, .step):not(.active):not(.current):not(.is-active) :is(.number, .step-number, .step, span:first-child) {
  border-color: var(--deo-shop-gold) !important;
  background: var(--deo-shop-gold) !important;
  color: var(--deo-shop-black) !important;
}

/* Notifications WooCommerce : vert conservé, texte et pictogrammes noirs. */
body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-notice--success),
body.woocommerce-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-notice--success) {
  border-color: #72b48a !important;
  background: #e2f5e8 !important;
  color: var(--deo-shop-black) !important;
  font-weight: 600;
}

body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-notice--success) :is(a, button, .close),
body.woocommerce-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-notice--success) :is(a, button, .close),
body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-notice--success)::before,
body.woocommerce-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-notice--success)::before {
  color: var(--deo-shop-black) !important;
}

/* Message du panier vide : noir gras sur gris clair. */
body.woocommerce-cart :is(.cart-empty, .woocommerce-info.cart-empty, .woocommerce-cart-form__contents + .cart-empty),
body.woocommerce-cart .woocommerce > :is(.cart-empty, .woocommerce-info):has(+ .return-to-shop) {
  border: 0 !important;
  background: #eeeeef !important;
  color: var(--deo-shop-black) !important;
  font-weight: 800 !important;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce :is(a.button, button.button, input.button, .single_add_to_cart_button),
  body.woocommerce-page :is(a.button, button.button, input.button, .single_add_to_cart_button) {
    transition: none;
  }
}

/* Cadres des produits : 1 px noir + 4 px or, partout. */
body.single-product div.product div.images :is(.woocommerce-product-gallery__wrapper, .woocommerce-product-gallery__image, .image_frame),
body.woocommerce :is(.related, .upsells, .cross-sells, .products) li.product :is(.image_frame, .woocommerce-LoopProduct-link),
body.woocommerce-page :is(.related, .upsells, .cross-sells, .products) li.product :is(.image_frame, .woocommerce-LoopProduct-link) {
  border: 1px solid var(--deo-shop-black) !important;
  box-shadow:
    0 0 0 4px var(--deo-shop-gold),
    0 10px 24px rgba(0, 0, 0, .16) !important;
}
