/* ==========================================================================
   4 — WOOCOMMERCE, MODULES WOO DIVI ET PORTAIL B2B
   ========================================================================== */

/* ==========================================================================
   MODULES WOO DU THEME BUILDER DIVI
   Ces modules ont leurs propres sélecteurs, distincts de ceux de WooCommerce.
   C'est ce qui provoquait le prix blanc sur fond blanc de la fiche produit.
   Toutes les couleurs de texte sont forcées ici, une bonne fois.
   ========================================================================== */

/* --- Titre produit --- */
.et_pb_wc_title,
.et_pb_wc_title h1, .et_pb_wc_title h2, .et_pb_wc_title .product_title{
  color: var(--lmd-bleu) !important;
  font-family: var(--lmd-display);
  font-weight: 300;
}

/* --- Prix --- */
.et_pb_wc_price,
.et_pb_wc_price .price,
.et_pb_wc_price .price .amount,
.et_pb_wc_price .price bdi,
.et_pb_wc_price .price ins,
.et_pb_wc_price .price del,
.et_pb_wc_price .woocommerce-Price-amount,
.et_pb_wc_price .woocommerce-Price-currencySymbol{
  color: var(--lmd-bleu) !important;
  font-family: var(--lmd-texte) !important;
  font-size: 22px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.et_pb_wc_price .price del{ color: var(--lmd-bleu-400) !important; font-size: 17px; }

/* --- Description, description courte, informations --- */
.et_pb_wc_description, .et_pb_wc_description p,
.et_pb_wc_description li,
.et_pb_wc_tabs .et_pb_tab_content,
.et_pb_wc_tabs .et_pb_tab_content p,
.et_pb_wc_additional_info, .et_pb_wc_additional_info td,
.et_pb_wc_additional_info th{
  color: var(--lmd-bleu) !important;
  font-family: var(--lmd-texte);
}

/* --- Métadonnées : SKU, catégorie, marque --- */
.et_pb_wc_meta, .et_pb_wc_meta .product_meta,
.et_pb_wc_meta .sku_wrapper, .et_pb_wc_meta .posted_in,
.et_pb_wc_meta span, .product_meta{
  color: var(--lmd-bleu-400) !important;
  font-size: 13px;
}
.et_pb_wc_meta .sku, .product_meta .sku{
  color: var(--lmd-dore-texte) !important;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}
.et_pb_wc_meta a, .product_meta a{ color: var(--lmd-bleu-600) !important; }
.et_pb_wc_meta a:hover, .product_meta a:hover{ color: var(--lmd-dore-texte) !important; }

/* --- Ajout au panier (module Divi) --- */
.et_pb_wc_add_to_cart .quantity input.qty{
  color: var(--lmd-bleu) !important;
  background: #fff !important;
  border: 1px solid var(--lmd-filet-fort) !important;
}
.et_pb_wc_add_to_cart .single_add_to_cart_button,
.et_pb_wc_add_to_cart button.button{
  background-color: var(--lmd-bleu) !important;
  color: var(--lmd-creme) !important;
}
.et_pb_wc_add_to_cart .single_add_to_cart_button:hover{
  background-color: var(--lmd-bleu-fonce) !important;
}

/* --- Fil d'Ariane, notifications, onglets, stock --- */
.et_pb_wc_breadcrumb, .et_pb_wc_breadcrumb a, .woocommerce-breadcrumb{
  color: var(--lmd-bleu-400) !important;
  font-size: 13px;
}
.et_pb_wc_breadcrumb a:hover{ color: var(--lmd-dore-texte) !important; }

.et_pb_wc_tabs .et_pb_tabs_controls li a{ color: var(--lmd-bleu-600) !important; }
.et_pb_wc_tabs .et_pb_tabs_controls li.et_pb_tab_active a{ color: var(--lmd-bleu) !important; }

.et_pb_wc_stock, .et_pb_wc_stock .stock{ font-size: 13px; }
.et_pb_wc_stock .in-stock, .stock.in-stock{ color: var(--lmd-succes) !important; }
.et_pb_wc_stock .out-of-stock, .stock.out-of-stock{ color: var(--lmd-erreur) !important; }

/* --- Grille produits (modules Shop et Related) --- */
.et_pb_shop .woocommerce ul.products li.product h2,
.et_pb_shop .woocommerce ul.products li.product h3,
.et_pb_wc_related_products h2{ color: var(--lmd-bleu) !important; }
.et_pb_shop .woocommerce ul.products li.product .price,
.et_pb_shop .woocommerce ul.products li.product .price .amount{
  color: var(--lmd-bleu) !important;
  font-family: var(--lmd-texte) !important;
  font-size: 16px;
  font-weight: 500;
}

/* ==========================================================================
   WOOCOMMERCE NATIF
   ========================================================================== */

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price .amount{
  font-family: var(--lmd-texte);
  font-size: 22px;
  font-weight: 500;
  color: var(--lmd-bleu);
}
.woocommerce ul.products li.product .price{
  font-size: 16px; font-weight: 500; color: var(--lmd-bleu);
}

/* Mention HT : discrète, ne doit pas concurrencer le montant */
.lmd-mention-ht,
.woocommerce-price-suffix{
  font-size: 12px;
  font-weight: 400;
  color: var(--lmd-bleu-400);
  letter-spacing: .04em;
}

/* Prix public conseillé : argument de marge pour le revendeur */
.lmd-prix-public{ font-size: 13px; color: var(--lmd-bleu-400); margin-top: 4px; }
.lmd-prix-public b{ color: var(--lmd-bleu-600); font-weight: 500; }

/* --- Boutons WooCommerce --- */
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button{
  background-color: var(--lmd-bleu) !important;
  color: var(--lmd-creme) !important;
  font-family: var(--lmd-texte);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  padding: 14px 26px;
  min-height: var(--lmd-tactile);
  border-radius: var(--lmd-rayon);
  text-transform: none;
  border: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background-color: var(--lmd-bleu-fonce) !important;
  color: var(--lmd-creme) !important;
}
.woocommerce button.button:disabled,
.woocommerce button.button.alt:disabled,
.woocommerce button.button:disabled[disabled]{
  background-color: var(--lmd-bleu-200) !important;
  color: var(--lmd-creme-clair) !important;
  opacity: 1;
}

/* --- Champ quantité : zone tactile confortable --- */
.woocommerce .quantity input.qty{
  width: 72px;
  height: var(--lmd-tactile);
  text-align: center;
  font-size: 16px;
  color: var(--lmd-bleu);
  font-variant-numeric: tabular-nums;
  border: 1px solid var(--lmd-filet-fort);
  border-radius: var(--lmd-rayon);
  background: #fff;
  -moz-appearance: textfield;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none; margin: 0;
}

/* --- Panier : sélecteur − quantité +, identique au portail --- */
body.woocommerce-cart .quantity:has(.lmd-cart-qty__button){
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  border: 1px solid var(--lmd-filet-fort);
  border-radius: var(--lmd-rayon);
  background: #fff;
  overflow: hidden;
}
body.woocommerce-cart .quantity:has(.lmd-cart-qty__button) input.qty{
  width: 56px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 1px solid var(--lmd-filet) !important;
  border-left: 1px solid var(--lmd-filet) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.woocommerce-cart .quantity .lmd-cart-qty__button{
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 46px !important;
  min-width: 42px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--lmd-bleu) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--lmd-texte) !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
body.woocommerce-cart .quantity .lmd-cart-qty__button:hover,
body.woocommerce-cart .quantity .lmd-cart-qty__button:focus-visible{
  color: var(--lmd-bleu) !important;
  background: var(--lmd-creme-clair) !important;
}
body.woocommerce-cart .quantity .lmd-cart-qty__button:disabled{
  color: var(--lmd-bleu-200) !important;
  background: transparent !important;
  cursor: not-allowed;
}

/* --- Notifications ---
   Divi applique sa couleur d'accent avec `.woocommerce .woocommerce-info`,
   un sélecteur plus fort que la classe native. Les propriétés importantes
   neutralisent cette règle sur le panier, la commande et le compte. */
/* Le personnalisateur Divi imprime encore, après les feuilles du thème,
   une règle `background:#0F2738!important` sur ces trois classes. Les
   contextes ci-dessous ajoutent volontairement un niveau de spécificité :
   les avis restent lisibles même lorsque le CSS dynamique de Divi arrive
   en dernier dans la page. */
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error{
  border: 0 !important;
  border-left: 2px solid !important;
  border-radius: var(--lmd-rayon) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  background-image: none !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  padding: 14px 18px !important;
  color: var(--lmd-bleu) !important;
}
body.woocommerce-page .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
.woocommerce .woocommerce-message{
  border-left-color: var(--lmd-succes) !important;
  background-color: rgba(62,107,79,.08) !important;
}
body.woocommerce-page .woocommerce-info,
body.woocommerce-checkout .woocommerce-info,
.woocommerce .woocommerce-info{
  border-left-color: var(--lmd-info) !important;
  background-color: rgba(58,90,120,.08) !important;
}
body.woocommerce-page .woocommerce-error,
body.woocommerce-checkout .woocommerce-error,
.woocommerce .woocommerce-error{
  border-left-color: var(--lmd-erreur) !important;
  background-color: rgba(163,59,50,.08) !important;
}
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-message *,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-info *,
body.woocommerce-page .woocommerce-error,
body.woocommerce-page .woocommerce-error *,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-message *,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-info *,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-error *,
ul.woocommerce-error li{
  color: var(--lmd-bleu) !important;
}
body.woocommerce-page .woocommerce-message a:not(.button),
body.woocommerce-page .woocommerce-info a:not(.button),
body.woocommerce-page .woocommerce-error a:not(.button),
body.woocommerce-checkout .woocommerce-message a:not(.button),
body.woocommerce-checkout .woocommerce-info a:not(.button),
body.woocommerce-checkout .woocommerce-error a:not(.button){
  color: var(--lmd-dore-texte) !important;
  text-decoration: underline;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before{
  display: none !important;
}
.woocommerce-message .button{ float: none; margin-left: 12px; }
.woocommerce-notices-wrapper:empty{ display: none; }

/* ==========================================================================
   TABLEAU BARN2 — vue commande rapide du portail
   Le doré reste un accent : seule la référence le porte.
   ========================================================================== */

/* Le tableau se pose sur le crème : fond transparent, pas blanc. */
.wc-product-table-wrapper, .wc-product-table{
  background: transparent;
}
.wc-product-table{
  font-family: var(--lmd-texte);
  font-size: 14px;
  border-color: var(--lmd-filet);
  color: var(--lmd-bleu);
}
.wc-product-table thead th{
  background: var(--lmd-creme-clair);
  color: var(--lmd-bleu-400);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--lmd-filet-fort);
}
.wc-product-table td{ border-bottom: 1px solid var(--lmd-filet); vertical-align: middle; }
.wc-product-table tbody tr:hover td{ background: var(--lmd-creme-clair); }

/* Référence : le seul élément doré de la ligne */
.wc-product-table .col-sku{
  color: var(--lmd-dore-texte);
  font-size: 12px;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}

/* Nom du produit et liens : bleu, sinon la ligne devient un bloc doré */
.wc-product-table .col-name, .wc-product-table .col-name a,
.wc-product-table .col-description, .wc-product-table .col-description a,
.wc-product-table td a:not(.button){
  color: var(--lmd-bleu) !important;
  font-weight: 500;
}
.wc-product-table td a:not(.button):hover{ color: var(--lmd-dore-texte) !important; }

/* Taxonomies : discrètes */
.wc-product-table .col-tax-marque, .wc-product-table .col-tax-marque a,
.wc-product-table .col-tax-product_cat, .wc-product-table .col-tax-product_cat a{
  color: var(--lmd-bleu-400) !important;
  font-weight: 400;
  font-size: 13px;
}

.wc-product-table .col-price{ font-variant-numeric: tabular-nums; font-weight: 500; }
.wc-product-table .col-stock .in-stock{ color: var(--lmd-succes); font-size: 13px; }
.wc-product-table .col-stock .out-of-stock{ color: var(--lmd-erreur); font-size: 13px; }

/* Cellules d'action : le bouton ne doit pas déborder */
.wc-product-table .add-to-cart-button, .wc-product-table .button{
  white-space: nowrap; padding: 12px 20px; font-size: 13px;
}
.wc-product-table .quantity input.qty{ width: 62px; height: 42px; }

/* Recherche et pagination du tableau */
.wc-product-table-wrapper .dataTables_filter input{ min-height: 44px; }
.wc-product-table-wrapper .dataTables_length select{ min-height: 44px; }

/* ==========================================================================
   PANIER, COMMANDE, COMPTE
   ========================================================================== */

/* --------------------------------------------------------------------------
   COMMANDE — rythme général et modules Checkout du Theme Builder Divi

   Divi découpe le formulaire en plusieurs modules qui rappellent chacun les
   crochets WooCommerce. Ils ne doivent ni recréer des aplats bleu foncé, ni
   ajouter 128 px de vide entre chaque morceau du même formulaire.
   ----------------------------------------------------------------------- */

body.woocommerce-checkout #main-content .et_pb_section{
  padding-top: clamp(36px, 5vw, 72px) !important;
  padding-bottom: clamp(36px, 5vw, 72px) !important;
}
body.woocommerce-checkout #main-content .et_pb_section + .et_pb_section{
  padding-top: 0 !important;
}
body.woocommerce-checkout #main-content .et_pb_row{
  padding-top: 0;
  padding-bottom: 0;
}

body.woocommerce-checkout .et_pb_wc_checkout_information,
body.woocommerce-checkout .et_pb_wc_checkout_billing,
body.woocommerce-checkout .et_pb_wc_checkout_shipping,
body.woocommerce-checkout .et_pb_wc_checkout_order_details,
body.woocommerce-checkout .et_pb_wc_checkout_payment_info,
body.woocommerce-checkout .et_pb_wc_checkout_information .et_pb_module_inner,
body.woocommerce-checkout .et_pb_wc_checkout_billing .et_pb_module_inner,
body.woocommerce-checkout .et_pb_wc_checkout_shipping .et_pb_module_inner,
body.woocommerce-checkout .et_pb_wc_checkout_order_details .et_pb_module_inner,
body.woocommerce-checkout .et_pb_wc_checkout_payment_info .et_pb_module_inner{
  background: transparent !important;
  color: var(--lmd-bleu) !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .et_pb_wc_checkout_information,
body.woocommerce-checkout .et_pb_wc_checkout_billing,
body.woocommerce-checkout .et_pb_wc_checkout_shipping,
body.woocommerce-checkout .et_pb_wc_checkout_order_details,
body.woocommerce-checkout .et_pb_wc_checkout_payment_info{
  margin-bottom: clamp(24px, 3vw, 40px) !important;
}

/* Code promotionnel : une information compacte, pas un bandeau de navigation. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle{
  margin: 0 0 24px;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 0 !important;
}
body.woocommerce-checkout form.checkout_coupon{
  margin: 0 0 28px !important;
  padding: 20px !important;
  border: 1px solid var(--lmd-filet) !important;
  border-radius: var(--lmd-rayon) !important;
  background: var(--lmd-creme-clair) !important;
}

/* Le message métier n'apparaît qu'une fois (garde dans le plugin) et se
   place comme une introduction du formulaire, sans créer une nouvelle zone. */
body.woocommerce-checkout .lmd-valide,
body.woocommerce-checkout .lmd-alerte{
  margin: 0 0 24px;
  line-height: 1.55;
}

/* Titres et rythme du formulaire. */
body.woocommerce-checkout form.checkout h2,
body.woocommerce-checkout form.checkout h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .wc-block-checkout h2{
  margin: 0 0 22px;
  color: var(--lmd-bleu) !important;
}
body.woocommerce-checkout form.checkout .form-row{
  margin: 0 0 20px !important;
  padding: 0 !important;
}
body.woocommerce-checkout form.checkout .form-row label{
  display: block;
  margin: 0 0 6px;
  color: var(--lmd-bleu-600) !important;
  font-size: 14px;
  line-height: 1.4;
}
body.woocommerce-checkout form.checkout .form-row .required{
  color: var(--lmd-erreur) !important;
  text-decoration: none;
}
body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout form.checkout select{
  width: 100% !important;
  color: var(--lmd-bleu) !important;
  background: #fff !important;
  border: 1px solid var(--lmd-filet-fort) !important;
  box-shadow: none !important;
}
body.woocommerce-checkout form.checkout textarea{
  min-height: 126px;
  resize: vertical;
}

/* SelectWoo (pays/région) utilise un faux select distinct du champ natif. */
body.woocommerce-checkout .select2-container{
  width: 100% !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single{
  min-height: 50px !important;
  padding: 13px 42px 13px 14px !important;
  color: var(--lmd-bleu) !important;
  background: #fff !important;
  border: 1px solid var(--lmd-filet-fort) !important;
  border-radius: var(--lmd-rayon) !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding: 0 !important;
  color: var(--lmd-bleu) !important;
  line-height: 22px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
  top: 0 !important;
  right: 10px !important;
  height: 50px !important;
}
body.woocommerce-checkout .select2-container--disabled .select2-selection--single{
  opacity: 1 !important;
  background: var(--lmd-creme-clair) !important;
}
body.woocommerce-checkout .select2-container--disabled .select2-selection__rendered{
  color: var(--lmd-bleu-600) !important;
}

/* Récapitulatif : hiérarchie claire entre lignes, sous-total et total. */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table{
  margin: 0 0 28px !important;
  background: transparent;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td{
  padding: 14px 16px !important;
  border-color: var(--lmd-filet) !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td{
  color: var(--lmd-bleu) !important;
  font-size: 17px;
  font-weight: 500;
}

/* Paiement : une seule carte claire et des erreurs lisibles. */
.woocommerce-checkout #payment,
body.woocommerce-checkout .et_pb_wc_checkout_payment_info #payment{
  padding: clamp(18px, 2.5vw, 28px) !important;
  color: var(--lmd-bleu) !important;
  background: var(--lmd-creme-clair) !important;
  border: 1px solid var(--lmd-filet) !important;
  border-radius: var(--lmd-rayon) !important;
  box-shadow: none !important;
}
body.woocommerce-checkout #payment ul.payment_methods{
  margin: 0 !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid var(--lmd-filet) !important;
}
body.woocommerce-checkout #payment ul.payment_methods:empty{
  display: none;
}
body.woocommerce-checkout #payment div.payment_box{
  color: var(--lmd-bleu-600) !important;
  background: #fff !important;
  border: 1px solid var(--lmd-filet) !important;
  box-shadow: none !important;
}
body.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color: var(--lmd-filet) !important;
}
body.woocommerce-checkout #payment div.form-row{
  margin: 0 !important;
  padding: 20px 0 0 !important;
}
body.woocommerce-checkout #payment .woocommerce-error{
  margin: 0 0 20px !important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text{
  max-width: 92ch;
  color: var(--lmd-bleu-600);
  font-size: 13px;
  line-height: 1.65;
}
body.woocommerce-checkout #payment #place_order{
  float: right;
  min-width: 180px;
  margin-top: 14px;
}

/* --------------------------------------------------------------------------
   Checkout Block WooCommerce

   La page WordPress conserve le bloc natif comme solution de repli. Ces
   règles garantissent le même habillage si le modèle Divi est désactivé.
   ----------------------------------------------------------------------- */
body.woocommerce-checkout .wc-block-checkout{
  max-width: var(--lmd-conteneur);
  margin: 0 auto;
  padding: clamp(36px, 5vw, 72px) var(--lmd-marge);
  color: var(--lmd-bleu);
  font-family: var(--lmd-texte);
}
body.woocommerce-checkout .wc-block-components-sidebar-layout{
  gap: clamp(28px, 4vw, 56px);
}
body.woocommerce-checkout .wc-block-components-sidebar{
  align-self: flex-start;
  padding: 24px;
  background: var(--lmd-creme-clair);
  border: 1px solid var(--lmd-filet);
}
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{
  color: var(--lmd-bleu) !important;
  background: #fff !important;
  border-color: var(--lmd-filet-fort) !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-notice-banner{
  color: var(--lmd-bleu) !important;
  background: rgba(58,90,120,.08) !important;
  border: 0 !important;
  border-left: 2px solid var(--lmd-info) !important;
  border-radius: var(--lmd-rayon) !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-notice-banner.is-error{
  background: rgba(163,59,50,.08) !important;
  border-left-color: var(--lmd-erreur) !important;
}
body.woocommerce-checkout .wc-block-components-notice-banner > svg{
  fill: currentColor;
}
body.woocommerce-checkout .wc-block-components-button:not(.is-link){
  min-height: var(--lmd-tactile);
  color: var(--lmd-creme) !important;
  background: var(--lmd-bleu) !important;
  border: 0 !important;
  border-radius: var(--lmd-rayon) !important;
}

.woocommerce table.shop_table{
  border-color: var(--lmd-filet);
  border-radius: var(--lmd-rayon);
  font-size: 14px;
  color: var(--lmd-bleu);
}
.woocommerce table.shop_table th{
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lmd-bleu-400);
}
.woocommerce table.shop_table td{ border-top-color: var(--lmd-filet); }
/* Conteneurs WooCommerce : ne pas réintroduire de blanc sur le crème. */
.woocommerce, .woocommerce-page,
.woocommerce div.product,
.woocommerce .woocommerce-ordering,
.woocommerce-account .woocommerce{ background: transparent; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3{
  font-family: var(--lmd-display); font-weight: 400; color: var(--lmd-bleu);
}
/* ==========================================================================
   ESPACE MON COMPTE
   ========================================================================== */

body.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  list-style: none !important;
  border: 1px solid var(--lmd-filet);
  border-radius: var(--lmd-rayon);
  background: rgba(255,255,255,.28);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--lmd-filet);
  list-style: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-bottom: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li::marker{ content: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display: block;
  padding: 12px 15px;
  color: var(--lmd-bleu-600);
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background: rgba(15,39,56,.05);
  color: var(--lmd-bleu);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background: var(--lmd-bleu);
  color: var(--lmd-creme) !important;
  font-weight: 500;
}
body.woocommerce-account .woocommerce-MyAccount-content{
  min-width: 0;
  padding-bottom: 48px;
}

/* L’icône WooCommerce est dessinée par son pseudo-élément. Divi lui laisse
   une couleur noire qui disparaît sur le bouton bleu de révélation. */
body.woocommerce-account .woocommerce form .password-input .show-password-input,
body.woocommerce-account .woocommerce form .password-input .show-password-input::after{
  color: var(--lmd-creme) !important;
  opacity: 1 !important;
}
body.woocommerce-account .woocommerce form .password-input .show-password-input:hover,
body.woocommerce-account .woocommerce form .password-input .show-password-input:hover::after,
body.woocommerce-account .woocommerce form .password-input .show-password-input:focus-visible,
body.woocommerce-account .woocommerce form .password-input .show-password-input:focus-visible::after{
  color: var(--lmd-dore-clair) !important;
}

/* La règle générique des notifications colore tous leurs descendants en bleu.
   Les vrais boutons doivent reprendre le contraste principal du thème. */
body.woocommerce-account .woocommerce-info a.button,
body.woocommerce-account .woocommerce-message a.button,
body.woocommerce-account .woocommerce-error a.button,
body.woocommerce-account .woocommerce-info .woocommerce-Button,
body.woocommerce-account .woocommerce-message .woocommerce-Button{
  background-color: var(--lmd-bleu) !important;
  color: var(--lmd-creme) !important;
  text-decoration: none !important;
}
body.woocommerce-account .woocommerce-info a.button:hover,
body.woocommerce-account .woocommerce-message a.button:hover,
body.woocommerce-account .woocommerce-error a.button:hover,
body.woocommerce-account .woocommerce-info .woocommerce-Button:hover,
body.woocommerce-account .woocommerce-message .woocommerce-Button:hover{
  background-color: var(--lmd-bleu-fonce) !important;
  color: var(--lmd-creme) !important;
}

/* Tableau de bord revendeur. */
.lmd-compte-pro{ color: var(--lmd-bleu); }
.lmd-compte-pro__entete{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
  padding: 22px 24px;
  border: 1px solid var(--lmd-filet);
  border-radius: var(--lmd-rayon);
  background: rgba(255,255,255,.32);
}
.lmd-compte-pro__surtitre{
  margin: 0 0 5px !important;
  color: var(--lmd-dore-texte);
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1.3 !important;
  text-transform: uppercase;
}
.lmd-compte-pro__entete h2,
.lmd-compte-pro__carte h3{
  margin: 0 !important;
  padding: 0 !important;
  color: var(--lmd-bleu);
  font-family: var(--lmd-display);
  font-weight: 500;
}
.lmd-compte-pro__entete h2{ font-size: clamp(28px,3vw,38px); line-height: 1.05; }
.lmd-compte-pro__entete p:last-child{ margin: 8px 0 0 !important; color: var(--lmd-bleu-400); }
.lmd-compte-pro__validation{
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 7px 11px;
  border: 1px solid rgba(62,107,79,.3);
  border-radius: 999px;
  background: rgba(62,107,79,.1);
  color: var(--lmd-succes);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .04em;
}
.lmd-compte-pro__validation::before{ content: "✓"; margin-right: 6px; font-weight: 700; }

.lmd-compte-pro__actions{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
  margin-bottom: 16px;
}
body.woocommerce-account .woocommerce .lmd-compte-pro__action{
  display: inline-flex !important;
  width: auto !important;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 11px 14px !important;
  border: 1px solid var(--lmd-filet-fort) !important;
  background: transparent !important;
  color: var(--lmd-bleu) !important;
  text-align: center;
}
body.woocommerce-account .woocommerce .lmd-compte-pro__action:hover,
body.woocommerce-account .woocommerce .lmd-compte-pro__action:focus-visible,
body.woocommerce-account .woocommerce .lmd-compte-pro__action--principal{
  border-color: var(--lmd-bleu) !important;
  background: var(--lmd-bleu) !important;
  color: var(--lmd-creme) !important;
}
body.woocommerce-account .woocommerce .lmd-compte-pro__action--principal:hover,
body.woocommerce-account .woocommerce .lmd-compte-pro__action--principal:focus-visible{
  border-color: var(--lmd-bleu-fonce) !important;
  background: var(--lmd-bleu-fonce) !important;
}
.lmd-compte-pro__action:focus-visible{ outline: 3px solid rgba(170,133,69,.28); outline-offset: 2px; }

.lmd-compte-pro__indicateurs{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.lmd-compte-pro__indicateur,
.lmd-compte-pro__carte{
  min-width: 0;
  border: 1px solid var(--lmd-filet);
  border-radius: var(--lmd-rayon);
  background: rgba(255,255,255,.36);
}
.lmd-compte-pro__indicateur{ padding: 17px 18px; }
.lmd-compte-pro__indicateur > p{
  margin: 0 0 6px !important;
  color: var(--lmd-bleu-400);
  font-size: 11px !important;
  letter-spacing: .09em;
  line-height: 1.3 !important;
  text-transform: uppercase;
}
.lmd-compte-pro__indicateur > strong{
  display: block;
  color: var(--lmd-bleu);
  font-family: var(--lmd-display);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.1;
}
.lmd-compte-pro__indicateur > span{ display: block; margin-top: 3px; color: var(--lmd-bleu-400); font-size: 12px; }
.lmd-compte-pro__marques{ display: flex; flex-wrap: wrap; gap: 6px; }
.lmd-compte-pro__marque{
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid var(--lmd-filet-fort);
  border-radius: 999px;
  background: var(--lmd-creme-clair);
  color: var(--lmd-bleu);
  font-size: 11px;
  line-height: 1.25;
}
.lmd-compte-pro__marque--lsf{ border-color: rgba(214,81,65,.4); }
.lmd-compte-pro__marque--lmd{ border-color: rgba(177,191,184,.8); }
.lmd-compte-pro__marque--ole{ border-color: rgba(190,195,35,.65); }

.lmd-compte-pro__grille{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.lmd-compte-pro__carte{ padding: 20px; }
.lmd-compte-pro__carte--commande{ grid-column: 1/-1; }
.lmd-compte-pro__carte h3{ font-size: 23px; line-height: 1.2; }
.lmd-compte-pro__carte > p:not(.lmd-compte-pro__surtitre){ margin: 8px 0 0 !important; color: var(--lmd-bleu-600); }
.lmd-compte-pro__carte a:not(.button){ color: var(--lmd-dore-texte); text-decoration: underline; text-underline-offset: 3px; }
.lmd-compte-pro__carte-entete,
.lmd-compte-pro__commande{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.lmd-compte-pro__carte-entete{ margin-bottom: 15px; }
.lmd-compte-pro__carte-entete > a{ flex: 0 0 auto; font-size: 12px; }
.lmd-compte-pro__commande{
  padding: 15px 0;
  border-top: 1px solid var(--lmd-filet);
  border-bottom: 1px solid var(--lmd-filet);
}
.lmd-compte-pro__numero{ font-size: 16px; font-weight: 500; }
.lmd-compte-pro__commande p{ margin: 4px 0 0 !important; color: var(--lmd-bleu-400); font-size: 12px !important; }
.lmd-compte-pro__commande-total{ display: flex; flex: 0 0 auto; align-items: flex-end; flex-direction: column; gap: 6px; }
.lmd-compte-pro__commande-total strong{ color: var(--lmd-bleu); white-space: nowrap; }
.lmd-compte-pro__statut{
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(154,107,35,.1);
  color: var(--lmd-attention);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.lmd-compte-pro__statut--processing,
.lmd-compte-pro__statut--completed{ background: rgba(62,107,79,.1); color: var(--lmd-succes); }
.lmd-compte-pro__lien{ display: inline-flex; margin-top: 14px; font-size: 12px; }

/* Historique : pièces physiques et total professionnel lisibles d'un coup. */
body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-orders-table td{ vertical-align: middle; }
body.woocommerce-account .woocommerce-orders-table__cell-order-number a{ color: var(--lmd-dore-texte); font-weight: 500; }
.lmd-commande-total{ display: block; color: var(--lmd-bleu); font-weight: 500; white-space: nowrap; }
.lmd-commande-total small{ color: var(--lmd-bleu-400); font-size: 10px; font-weight: 400; letter-spacing: .05em; }
.lmd-commande-ttc{ display: block; margin-top: 2px; color: var(--lmd-bleu-400); font-size: 10px; white-space: nowrap; }
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button{
  display: inline-flex !important;
  width: auto !important;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 10px 17px !important;
}

@media (max-width: 980px){
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content{ float: none; width: 100%; }
  body.woocommerce-account .woocommerce-MyAccount-navigation{ margin-bottom: 22px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{ display: flex; overflow-x: auto; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li{ flex: 0 0 auto; border-right: 1px solid var(--lmd-filet); border-bottom: 0; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-right: 0; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a{ white-space: nowrap; }
}

@media (max-width: 767px){
  body.woocommerce-account .woocommerce-MyAccount-content{ padding-bottom: 32px; }
  .lmd-compte-pro__entete{ align-items: flex-start; flex-direction: column; gap: 14px; padding: 18px; }
  .lmd-compte-pro__actions,
  .lmd-compte-pro__indicateurs,
  .lmd-compte-pro__grille{ grid-template-columns: 1fr; }
  .lmd-compte-pro__carte--commande{ grid-column: auto; }
  body.woocommerce-account .woocommerce .lmd-compte-pro__action{ width: 100% !important; }
  .lmd-compte-pro__carte-entete,
  .lmd-compte-pro__commande{ align-items: flex-start; flex-direction: column; }
  .lmd-compte-pro__commande-total{ align-items: flex-start; }
  body.woocommerce-account .woocommerce-info a.button,
  body.woocommerce-account .woocommerce-message a.button,
  body.woocommerce-account .woocommerce-error a.button{ float: none; width: 100% !important; margin: 10px 0 0 !important; }
}

/* ==========================================================================
   ÉLÉMENTS PROPRES AU PORTAIL B2B
   ========================================================================== */

/* Sous-totaux par marque dans le panier multimarques */
.lmd-groupe-marque{
  display: flex; align-items: center; gap: 8px;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--lmd-dore-texte); padding: 18px 0 6px;
}

/* Jauge de seuil : 20 pièces à la première commande, 10 au réassort */
.lmd-jauge{
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-variant-numeric: tabular-nums;
}
.lmd-jauge__barre{
  width: 40px; height: 4px; background: var(--lmd-filet);
  border-radius: 2px; overflow: hidden;
}
.lmd-jauge__barre i{ display: block; height: 4px; }
.lmd-jauge--manque{ color: var(--lmd-attention); }
.lmd-jauge--ok{ color: var(--lmd-succes); }

/* Alertes de seuil */
.lmd-alerte{
  font-size: 13px; color: var(--lmd-attention);
  background: rgba(154,107,35,.08);
  border-left: 2px solid var(--lmd-attention);
  padding: 10px 12px; margin: 14px 0 4px; border-radius: var(--lmd-rayon);
}
.lmd-valide{
  font-size: 13px; color: var(--lmd-succes);
  background: rgba(62,107,79,.08);
  border-left: 2px solid var(--lmd-succes);
  padding: 10px 12px; margin: 14px 0 4px; border-radius: var(--lmd-rayon);
}

/* Badges d'état de stock */
.lmd-stock{ font-size: 12px; }
.lmd-stock--ok{ color: var(--lmd-succes); }
.lmd-stock--faible{ color: var(--lmd-attention); }
.lmd-stock--rupture{ color: var(--lmd-erreur); }

/* Statut du compte revendeur */
.lmd-badge-compte{
  display: inline-block; border-radius: 999px; padding: 4px 11px;
  font-size: 11px; font-weight: 500; letter-spacing: .08em;
}
.lmd-badge-compte--attente{
  background: rgba(154,107,35,.15); color: var(--lmd-attention);
  border: 1px solid rgba(154,107,35,.35);
}
.lmd-badge-compte--valide{
  background: rgba(62,107,79,.14); color: var(--lmd-succes);
  border: 1px solid rgba(62,107,79,.32);
}

/* Packshots : fond blanc assumé comme parti pris graphique,
   sinon le rectangle blanc fait tache sur le crème. */
.woocommerce ul.products li.product img,
.woocommerce div.product div.images img,
.wc-product-table .col-image img{
  background: #fff;
  border: 1px solid var(--lmd-filet);
}


/* ==========================================================================
   CORRECTIFS — texte blanc sur fond blanc
   Divi et certains plugins laissent des couleurs héritées invisibles.
   ========================================================================== */

/* --- Sélecteurs de déclinaison (variations) --- */
.wc-product-table select,
.woocommerce div.product form.cart .variations select,
.woocommerce select, select.wcpt-variation-select{
  color: var(--lmd-bleu) !important;
  background-color: #fff !important;
  border: 1px solid var(--lmd-filet-fort) !important;
  min-height: 44px;
  padding: 8px 12px !important;
  font-family: var(--lmd-texte) !important;
  font-size: 15px !important;
  border-radius: var(--lmd-rayon);
  -webkit-appearance: menulist;
  appearance: menulist;
}
.woocommerce select option, .wc-product-table select option{
  color: var(--lmd-bleu) !important;
  background-color: #fff !important;
}

/* --- Recherche FiboSearch : le panneau de suggestions doit être opaque --- */
.dgwt-wcas-suggestions-wrapp,
.dgwt-wcas-suggestions-wrapp *,
.dgwt-wcas-details-wrapp,
div.dgwt-wcas-suggestion{
  background-color: #fff !important;
  color: var(--lmd-bleu) !important;
}
.dgwt-wcas-suggestions-wrapp{
  border: 1px solid var(--lmd-filet-fort) !important;
  box-shadow: 0 12px 32px rgba(15,39,56,.16) !important;
}
div.dgwt-wcas-suggestion:hover,
div.dgwt-wcas-suggestion-selected{
  background-color: var(--lmd-creme-clair) !important;
}
.dgwt-wcas-st-title{ color: var(--lmd-bleu) !important; font-weight: 500; }
.dgwt-wcas-sku{ color: var(--lmd-dore-texte) !important; }
.dgwt-wcas-price, .dgwt-wcas-price *{
  color: var(--lmd-bleu) !important;
  font-variant-numeric: tabular-nums;
}
.dgwt-wcas-st-breadcrumbs{ color: var(--lmd-bleu-400) !important; }
.dgwt-wcas-search-input{ color: var(--lmd-bleu) !important; background: #fff !important; }

/* --- Tableau Barn2 : stock sur la même ligne que la marque --- */
.wc-product-table .col-description .wcpt-product-stock,
.wc-product-table td .stock{
  display: inline-block;
  margin-left: 10px;
}
.wc-product-table .col-description .wcpt-product-brand,
.wc-product-table .col-description .wcpt-product-terms{
  display: inline-block;
}

/* ==========================================================================
   VOLET DE NAVIGATION — MARQUES ET COLLECTIONS DE LA BOUTIQUE
   Le plugin fournit seulement les branches réellement visibles par le compte.
   ========================================================================== */

.lmd-collections__entree{
  clear: both;
  width: 100%;
  margin: 0 0 28px;
}
.lmd-collections__toggle{
  display: inline-grid;
  grid-template-columns: 28px minmax(0, 1fr) 22px;
  width: min(100%, 390px);
  min-height: 66px;
  align-items: center;
  gap: 14px;
  padding: 11px 16px;
  color: var(--lmd-bleu);
  background: var(--lmd-creme-clair);
  border: 1px solid var(--lmd-filet-fort);
  border-radius: var(--lmd-rayon);
  box-shadow: 0 8px 24px rgba(15,39,56,.06);
  font-family: var(--lmd-texte);
  text-align: left;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.lmd-collections__toggle:hover,
.lmd-collections__toggle:focus-visible{
  color: var(--lmd-creme);
  background: var(--lmd-bleu);
  border-color: var(--lmd-bleu);
  transform: translateY(-1px);
}
.lmd-collections__toggle:focus-visible{
  outline: 2px solid var(--lmd-dore);
  outline-offset: 3px;
}
.lmd-collections__toggle-icone{
  display: grid;
  gap: 5px;
  width: 26px;
}
.lmd-collections__toggle-icone i{
  display: block;
  width: 100%;
  height: 1px;
  background: currentColor;
}
.lmd-collections__toggle-icone i:nth-child(2){ width: 70%; }
.lmd-collections__toggle-texte{ display: grid; min-width: 0; gap: 2px; }
.lmd-collections__toggle-texte strong{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}
.lmd-collections__toggle-texte small{
  overflow: hidden;
  color: var(--lmd-bleu-400);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lmd-collections__toggle:hover small,
.lmd-collections__toggle:focus-visible small{ color: var(--lmd-creme); }
.lmd-collections__toggle-fleche{ font-size: 22px; line-height: 1; transition: transform .2s ease; }
.lmd-collections__toggle:hover .lmd-collections__toggle-fleche,
.lmd-collections__toggle:focus-visible .lmd-collections__toggle-fleche{ transform: translateX(3px); }

.lmd-collections__voile{
  position: fixed;
  z-index: 999998;
  inset: 0;
  visibility: hidden;
  background: rgba(8,32,47,.58);
  opacity: 0;
  cursor: pointer;
  transition: visibility 0s linear .3s, opacity .3s ease;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.lmd-collections__voile.is-open{
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}
.lmd-collections__panneau{
  position: fixed;
  z-index: 999999;
  top: 0;
  bottom: 0;
  left: 0;
  display: flex;
  width: min(390px, calc(100vw - 28px));
  max-width: 100%;
  flex-direction: column;
  overflow: hidden;
  color: var(--lmd-bleu);
  background: var(--lmd-creme);
  box-shadow: 18px 0 55px rgba(8,32,47,.22);
  transform: translate3d(-104%,0,0);
  transition: transform .32s cubic-bezier(.22,.61,.36,1);
}
.lmd-collections__panneau.is-open{ transform: translate3d(0,0,0); }
.lmd-collections__panneau-entete{
  position: relative;
  padding: max(30px, env(safe-area-inset-top)) 66px 28px 30px;
  color: var(--lmd-creme);
  background: var(--lmd-bleu);
  border-bottom: 1px solid var(--lmd-dore);
}
.lmd-collections__panneau-entete p{
  margin: 0 0 7px;
  color: var(--lmd-dore-clair);
  font-family: var(--lmd-texte);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}
.lmd-collections__panneau-entete h2{
  margin: 0;
  padding: 0;
  color: var(--lmd-creme) !important;
  font-family: var(--lmd-display);
  font-size: clamp(34px, 5vw, 44px);
  font-weight: 400;
  line-height: 1;
}
.lmd-collections__fermer{
  position: absolute;
  top: max(24px, env(safe-area-inset-top));
  right: 20px;
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  color: var(--lmd-creme);
  background: transparent;
  border: 1px solid var(--lmd-filet-clair);
  border-radius: 50%;
  font-family: var(--lmd-texte);
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.lmd-collections__fermer:hover,
.lmd-collections__fermer:focus-visible{
  color: var(--lmd-bleu);
  background: var(--lmd-creme);
  border-color: var(--lmd-creme);
}
.lmd-collections__fermer:focus-visible{ outline: 2px solid var(--lmd-dore-clair); outline-offset: 3px; }
.lmd-collections__navigation{
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 18px 20px 28px;
  scrollbar-width: thin;
  scrollbar-color: var(--lmd-filet-fort) transparent;
}
.lmd-collections__navigation a{
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 12px;
  color: var(--lmd-bleu);
  border-bottom: 1px solid var(--lmd-filet);
  font-family: var(--lmd-texte);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease, padding .18s ease;
}
.lmd-collections__navigation a:hover,
.lmd-collections__navigation a:focus-visible{
  color: var(--lmd-dore-texte);
  background: var(--lmd-creme-clair);
  padding-left: 16px;
}
.lmd-collections__navigation a:focus-visible{ outline: 2px solid var(--lmd-dore); outline-offset: -2px; }
.lmd-collections__navigation a.is-current,
.lmd-collections__item.is-current > .lmd-collections__ligne > a{
  color: var(--lmd-creme);
  background: var(--lmd-bleu);
  border-color: var(--lmd-bleu);
  font-weight: 500;
}
.lmd-collections__navigation a.is-current:hover,
.lmd-collections__navigation a.is-current:focus-visible,
.lmd-collections__item.is-current > .lmd-collections__ligne > a:hover,
.lmd-collections__item.is-current > .lmd-collections__ligne > a:focus-visible{ color: var(--lmd-creme); background: var(--lmd-bleu-fonce); }
.lmd-collections__toutes{ margin-bottom: 18px; border: 1px solid var(--lmd-filet-fort) !important; }
.lmd-collections__marque{ margin: 0 0 18px; }
.lmd-collections__marque-entete{
  display: grid;
  grid-template-columns: minmax(0,1fr) 48px;
  align-items: stretch;
}
.lmd-collections__marque-lien{
  min-height: 58px !important;
  padding: 10px 14px !important;
  background: #fff;
  border: 1px solid var(--lmd-filet-fort) !important;
  border-radius: 2px 0 0 2px;
}
.lmd-collections__marque-lien:hover,
.lmd-collections__marque-lien:focus-visible{ padding-left: 18px !important; }
.lmd-collections__marque-texte{ display: grid; gap: 1px; }
.lmd-collections__marque-texte small{
  color: var(--lmd-dore-texte);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}
.lmd-collections__marque-texte strong{
  font-family: var(--lmd-display);
  font-size: 21px;
  font-weight: 500;
  line-height: 1.05;
}
.lmd-collections__marque-lien.is-current .lmd-collections__marque-texte small{ color: var(--lmd-dore-clair); }
.lmd-collections__deplier{
  display: inline-grid;
  width: 48px;
  min-height: 42px;
  place-items: center;
  padding: 0;
  color: var(--lmd-bleu);
  background: var(--lmd-creme-clair);
  border: 0;
  border-bottom: 1px solid var(--lmd-filet);
  border-left: 1px solid var(--lmd-filet);
  font-family: var(--lmd-texte);
  font-size: 23px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}
.lmd-collections__marque-entete > .lmd-collections__deplier{
  min-height: 58px;
  margin-left: -1px;
  background: #fff;
  border: 1px solid var(--lmd-filet-fort);
  border-radius: 0 2px 2px 0;
}
.lmd-collections__deplier:hover,
.lmd-collections__deplier:focus-visible{
  color: var(--lmd-creme);
  background: var(--lmd-bleu);
  border-color: var(--lmd-bleu);
}
.lmd-collections__deplier:focus-visible{
  position: relative;
  z-index: 1;
  outline: 2px solid var(--lmd-dore);
  outline-offset: -2px;
}
.lmd-collections__marque.is-current > .lmd-collections__marque-entete > .lmd-collections__deplier,
.lmd-collections__item.is-current > .lmd-collections__ligne > .lmd-collections__deplier{
  color: var(--lmd-creme);
  background: var(--lmd-bleu);
  border-color: var(--lmd-bleu);
}
.lmd-collections__liste,
.lmd-collections__item{ margin: 0; padding: 0; list-style: none; }
.lmd-collections__liste[hidden]{ display: none !important; }
.lmd-collections__ligne{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: stretch;
}
.lmd-collections__ligne > a{ min-width: 0; }
.lmd-collections__marque > .lmd-collections__liste--niveau-0{
  margin: 5px 0 0 14px;
  border-left: 1px solid var(--lmd-filet-fort);
}
.lmd-collections__marque > .lmd-collections__liste--niveau-0 > .lmd-collections__item > .lmd-collections__ligne > a{
  min-height: 42px;
  padding-left: 16px;
  font-size: 13px;
}
.lmd-collections__liste--niveau-1,
.lmd-collections__liste--niveau-2{ margin-left: 15px; border-left: 1px solid var(--lmd-filet); }
.lmd-collections__liste--niveau-1 a,
.lmd-collections__liste--niveau-2 a{ min-height: 42px; padding-left: 16px; font-size: 13px; }
.lmd-collections__item.is-ancestor > .lmd-collections__ligne > a{ color: var(--lmd-dore-texte); font-weight: 500; }
.lmd-collections__fleche{ flex: 0 0 auto; color: currentColor; font-size: 17px; }
.lmd-collections__panneau-pied{
  display: grid;
  gap: 3px;
  padding: 18px 30px max(20px, env(safe-area-inset-bottom));
  color: var(--lmd-creme);
  background: var(--lmd-bleu);
  font-family: var(--lmd-texte);
}
.lmd-collections__panneau-pied span{ font-family: var(--lmd-display); font-size: 22px; line-height: 1.1; }
.lmd-collections__panneau-pied small{ color: var(--lmd-dore-clair); font-size: 10px; letter-spacing: .06em; }
html.lmd-collections-ouvertes,
html.lmd-collections-ouvertes body{ overflow: hidden !important; }

@media (max-width: 767px){
  .lmd-collections__entree{ margin-bottom: 20px; }
  .lmd-collections__toggle{ width: 100%; min-height: 62px; }
  .lmd-collections__panneau{ width: min(354px, calc(100vw - 18px)); }
  .lmd-collections__panneau-entete{ padding-left: 22px; }
  .lmd-collections__navigation{ padding-right: 14px; padding-left: 14px; }
  .lmd-collections__panneau-pied{ padding-left: 22px; }
}

@media (prefers-reduced-motion: reduce){
  .lmd-collections__toggle,
  .lmd-collections__toggle-fleche,
  .lmd-collections__voile,
  .lmd-collections__panneau,
  .lmd-collections__navigation a,
  .lmd-collections__deplier{ transition: none !important; }
}
