/* ============================================================
   WOOCOMMERCE — Surcharges thème sombre
   ============================================================ */

/* Catalogue produits */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0 !important;
}

.woocommerce ul.products li.product {
  background: var(--c-dark3);
  border: 0.5px solid var(--b-subtle);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color .25s, transform .25s var(--ease);
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product:hover {
  border-color: var(--b-mid);
  transform: translateY(-3px);
}

/* Image produit */
.woocommerce ul.products li.product a img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  transition: transform .4s var(--ease);
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.04);
}

/* Contenu produit */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--t-primary) !important;
  padding: 16px 16px 6px !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product .price {
  color: var(--c-gold) !important;
  font-size: 13px !important;
  padding: 0 16px 12px !important;
  display: block;
}

/* Bouton ajout panier */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin: 0 16px 16px !important;
  display: block !important;
  width: calc(100% - 32px) !important;
  text-align: center;
  background: var(--c-purple) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r-md) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px !important;
  transition: opacity .2s !important;
}

.woocommerce ul.products li.product .button:hover { opacity: 0.85 !important; }

/* Page produit single */
.woocommerce div.product {
  color: var(--t-primary);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--c-gold) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

.woocommerce div.product .product_title {
  font-size: clamp(24px, 3vw, 38px) !important;
  font-weight: 700 !important;
  color: var(--t-primary) !important;
  letter-spacing: -0.5px !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--t-secondary);
  font-size: 15px;
  line-height: 1.7;
}

/* Bouton single */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--c-gold) !important;
  color: #0a0a0a !important;
  font-weight: 700 !important;
  border-radius: var(--r-md) !important;
  border: none !important;
  padding: 13px 28px !important;
  font-size: 14px !important;
  transition: opacity .2s !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--c-purple) !important;
  color: #fff !important;
}

/* Onglets produit */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 0.5px solid var(--b-subtle) !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--t-muted) !important;
  padding: 12px 20px !important;
  display: block;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--c-gold) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--t-primary) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--c-dark3) !important;
  border: 0.5px solid var(--b-subtle) !important;
  border-radius: 0 0 var(--r-lg) var(--r-lg) !important;
  padding: 28px !important;
  color: var(--t-secondary) !important;
}

/* Panier / Mon compte */
.woocommerce table.shop_table {
  background: var(--c-dark3);
  border: 0.5px solid var(--b-subtle) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden;
  color: var(--t-secondary) !important;
}

.woocommerce table.shop_table th {
  background: var(--c-dark2) !important;
  color: var(--t-muted) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  border-bottom: 0.5px solid var(--b-subtle) !important;
}

.woocommerce table.shop_table td {
  border-bottom: 0.5px solid var(--b-subtle) !important;
  color: var(--t-secondary) !important;
}

/* Mon compte — navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--c-dark3);
  border: 0.5px solid var(--b-subtle);
  border-radius: var(--r-lg);
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 20px;
  font-size: 13px;
  color: var(--t-secondary);
  border-bottom: 0.5px solid var(--b-subtle);
  transition: color .2s, background .2s;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { color: #fff; background: rgba(255,255,255,0.04); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--c-gold); }

/* Login WooCommerce */
.woocommerce-form-login,
.woocommerce-form-register {
  background: var(--c-dark3) !important;
  border: 0.5px solid var(--b-subtle) !important;
  border-radius: var(--r-lg) !important;
  padding: 32px !important;
}

.woocommerce-form-login label,
.woocommerce-form-register label {
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: var(--t-muted) !important;
}

.woocommerce-form-login input,
.woocommerce-form-register input,
.woocommerce-form-register textarea {
  background: var(--c-dark2) !important;
  border: 0.5px solid var(--b-subtle) !important;
  border-radius: var(--r-md) !important;
  color: var(--t-primary) !important;
  padding: 11px 14px !important;
}

/* Notices */
.woocommerce-message { background: rgba(108,59,191,0.08) !important; border-top-color: var(--c-purple) !important; color: var(--t-secondary) !important; }
.woocommerce-error   { background: rgba(226,75,74,0.08)  !important; border-top-color: #E24B4A !important; color: var(--t-secondary) !important; }
.woocommerce-info    { background: rgba(200,164,74,0.08) !important; border-top-color: var(--c-gold) !important; color: var(--t-secondary) !important; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
  border: none !important;
  display: flex;
  gap: 6px;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--c-dark3) !important;
  border: 0.5px solid var(--b-subtle) !important;
  border-radius: var(--r-md) !important;
  color: var(--t-secondary) !important;
  font-size: 13px !important;
  min-width: 38px;
  height: 38px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--c-gold) !important;
  border-color: var(--c-gold) !important;
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

/* ── Mon compte — reset wrapper + page-content overrides ──── */

/* Supprimer le border/background du wrapper .woocommerce sur la page compte */
.woocommerce-account .woocommerce {
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

/* Sur la page compte le contenu est large — override le max-width de .le-page-content */
.woocommerce-account .le-page-content {
  max-width: none !important;
}

/* Neutraliser la couleur/underline de .le-page-content a pour les éléments
   de notre dashboard (boutons, nav pills, liens utilitaires) */
.le-page-content .btn,
.le-page-content a.btn {
  color: inherit !important;
  text-decoration: none !important;
}

.le-page-content .btn--gold,
.le-page-content a.btn--gold {
  color: #0a0a0a !important;
  text-decoration: none !important;
}

.le-page-content .le-acct-nav__btn {
  color: rgba(255,255,255,.65) !important;
  text-decoration: none !important;
}

.le-page-content .le-acct-nav__btn.is-active {
  color: #0a0a0a !important;
  background: var(--c-gold) !important;
}

.le-page-content .le-acct-section__more,
.le-page-content .le-acct-order-row a {
  text-decoration: none !important;
}

/* ── Neutraliser les wrappers Avada/Fusion Builder sur la page compte ──
   Les shortcodes [fusion_fullwidth] etc. encore présents dans post_content
   génèrent des div avec border/padding. On les écrase ici. */
.woocommerce-account .fusion-fullwidth,
.woocommerce-account .fullwidth-box,
.woocommerce-account [class*="fusion-builder-row"],
.woocommerce-account .fusion-flex-container,
.woocommerce-account [class*="fusion-layout-column"],
.woocommerce-account .fusion-column-wrapper,
.woocommerce-account .fusion-section-separator {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
}

/* Fallback générique : toute classe commençant par fusion- sur la page compte */
.woocommerce-account [class*="fusion-"]:not(.fusion-login-box) {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ============================================================
   INSCRIPTION B2B — formulaire & bannières
   ============================================================ */

.le-b2b-form .le-b2b-fieldset {
  border: 0.5px solid var(--b-subtle);
  border-radius: var(--r-md);
  padding: 16px 18px 6px;
  margin: 0 0 18px;
}

.le-b2b-form .le-b2b-fieldset legend {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--c-gold);
  padding: 0 8px;
}

.le-b2b-form .form-row {
  margin-bottom: 14px;
}

.le-b2b-form label {
  display: block;
  font-size: 12px;
  color: var(--t-secondary);
  margin-bottom: 5px;
}

.le-b2b-form textarea.input-text {
  width: 100%;
  resize: vertical;
}

.le-form-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 14px;
}

@media (max-width: 560px) {
  .le-form-2col {
    grid-template-columns: 1fr;
  }
}

/* Champ anti-spam : hors écran, jamais visible */
.le-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.le-b2b-note {
  font-size: 12px;
  color: var(--t-muted);
  background: rgba(200, 164, 74, 0.06);
  border: 0.5px solid rgba(200, 164, 74, 0.2);
  border-radius: var(--r-md);
  padding: 12px 14px;
  margin: 4px 0 16px;
  line-height: 1.5;
}

.le-account-banner {
  margin: 0 0 28px;
  padding: 16px 20px;
  border-radius: var(--r-md);
  font-size: 14px;
  line-height: 1.6;
  color: var(--t-primary);
}

.le-account-banner strong {
  display: block;
  margin-bottom: 2px;
}

.le-account-banner--ok {
  background: rgba(26, 188, 110, 0.08);
  border: 0.5px solid rgba(26, 188, 110, 0.35);
}

.le-account-banner--err {
  background: rgba(220, 60, 60, 0.08);
  border: 0.5px solid rgba(220, 60, 60, 0.35);
}

/* ============================================================
   NOTICES WOOCOMMERCE — bandeaux sombres lisibles
   (WooCommerce récent sert des .wc-block-components-notice-banner
   à fond clair, illisibles sur le thème sombre)
   ============================================================ */

.wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
ul.woocommerce-error {
  background: var(--c-dark3) !important;
  color: var(--t-primary) !important;
  border: 0.5px solid var(--b-subtle) !important;
  border-radius: var(--r-md) !important;
  box-shadow: none !important;
  margin-bottom: 24px;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content,
.wc-block-components-notice-banner p,
.wc-block-components-notice-banner li,
ul.woocommerce-error li {
  color: var(--t-primary) !important;
  font-size: 14px;
  line-height: 1.6;
}

/* Accents par type */
.wc-block-components-notice-banner.is-error,
ul.woocommerce-error {
  border-color: rgba(226, 75, 74, 0.55) !important;
  background: rgba(226, 75, 74, 0.10) !important;
}

.wc-block-components-notice-banner.is-error svg {
  fill: #e24b4a !important;
  background: transparent !important;
}

.wc-block-components-notice-banner.is-success {
  border-color: rgba(26, 188, 110, 0.55) !important;
  background: rgba(26, 188, 110, 0.10) !important;
}

.wc-block-components-notice-banner.is-success svg {
  fill: #1abc6e !important;
  background: transparent !important;
}

.wc-block-components-notice-banner.is-info {
  border-color: rgba(200, 164, 74, 0.55) !important;
  background: rgba(200, 164, 74, 0.10) !important;
}

.wc-block-components-notice-banner.is-info svg {
  fill: var(--c-gold) !important;
  background: transparent !important;
}

/* Liens dans les notices (ex : « Mot de passe oublié ? ») */
.wc-block-components-notice-banner a,
.woocommerce-message a,
ul.woocommerce-error a {
  color: var(--c-gold-light, #e8c86a) !important;
  text-decoration: underline;
}

/* ============================================================
   INDICATEUR DE FORCE DU MOT DE PASSE — lisible sur fond sombre
   (WooCommerce le rend clair par défaut : « Moyenne » illisible)
   ============================================================ */
.woocommerce-password-strength {
  text-align: center;
  font-weight: 600;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: var(--r-md);
  margin-top: 8px;
  border: 0.5px solid transparent;
}

.woocommerce-password-strength.short {
  background: rgba(226, 75, 74, 0.16) !important;
  border-color: rgba(226, 75, 74, 0.4) !important;
  color: #ff9b9a !important;
}

.woocommerce-password-strength.bad {
  background: rgba(230, 150, 60, 0.16) !important;
  border-color: rgba(230, 150, 60, 0.4) !important;
  color: #f0b46a !important;
}

.woocommerce-password-strength.good {
  background: rgba(200, 164, 74, 0.16) !important;
  border-color: rgba(200, 164, 74, 0.4) !important;
  color: var(--c-gold-light, #e8c86a) !important;
}

.woocommerce-password-strength.strong {
  background: rgba(26, 188, 110, 0.16) !important;
  border-color: rgba(26, 188, 110, 0.4) !important;
  color: #4cd18f !important;
}

.woocommerce-password-hint {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--t-secondary) !important;
}
