/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 25 2026 | 04:35:16 */
/* =========================================================
NARGUISTORE — CSS GLOBAL — V3.13 (remplace tout le contenu de l'entrée « CSS global » de Simple Custom CSS and JS)
V3.13 : H1 du bandeau noir ramené à 27 px (2 lignes au lieu de 3) ; le trait blanc d'un pixel entre la promo et le bandeau est supprimé (fond noir sur l'en-tête).
V3.12 : 32 px d'air au-dessus du titre « Notre boutique à Saint-Ouen » (il touchait la carte Accessoires).
V3.11 : téléphone : le titre H1 de l'accueil devient un bandeau noir pleine largeur sous le visuel promo (Bebas Neue blanc, trait rouge), au lieu de la carte noire arrondie ; ordinateur inchangé (entrée « Titre H1 » v2.1).
V3.10 : téléphone : respiration entre la carte noire du titre et « Nos univers » (12 px → 34 px), même espacement qu'entre les autres sections.
V3.9 : le titre « Une sélection de promos » est en rouge (seule exception : promo = rouge), les autres titres restent noirs.
V3.8 : tuiles « Nos univers » : plus de trait rouge sous les noms (le trait rouge est réservé aux titres de section).
V3.7 : titres de section de l'accueil (Nos univers, Best-sellers, Nos e-liquides, Nos puffs chicha, Promos, Nos marques, Notre boutique, Acheter votre chicha) : plus de pastille blanche cerclée de rouge, mais Bebas Neue noir avec le petit trait rouge, sur téléphone et ordinateur.
V3.6 : en-tête téléphone resserré : logo 44 px (au lieu de 50), vide réduit autour du logo et de la barre de recherche (46 px au lieu de 58). Haut de page 181 px → 129 px, logo et icônes centrés à la même hauteur.
V3.5 : en-tête téléphone : logo centré sur l'écran (il était 28 px trop à gauche : les colonnes gauche/droite de la rangée n'avaient pas la même largeur).
V3.4 : en-tête téléphone : icônes panier et compte centrées à la même hauteur que le ☰ et le logo (le compte était 4 px trop haut, le panier 2 px), icône compte à la taille du panier.
V3.3 : bandeau rouge « Livraison Express » : texte centré, même marge en haut et en bas (10 px).
V3.2 : haut de page sur téléphone : le bandeau rouge « Livraison Express » passe juste sous la recherche, le visuel promo vient ensuite ; vide sous la recherche et marges noires du visuel réduits.
V3.1 : sur téléphone, plus de filet blanc ni de bande rouge vide sous « Livraison Express » ; titre « Notre boutique à Saint-Ouen » au-dessus de la carte des horaires.
========================================================= */

:root {
  --red: #E0001B;
  --red-hover: #B50016;
  --radius: 12px;
  --transition: 0.25s ease;
}

/* =========================================================
PRIX FICHE PRODUIT (MOBILE)
========================================================= */
@media (max-width: 768px) {
  body.single-product span.woocommerce-Price-amount,
  body.single-product span.woocommerce-Price-amount bdi {
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    color: var(--red) !important;
  }

  body.single-product del .woocommerce-Price-amount {
    font-size: 18px !important;
    opacity: 0.6 !important;
  }

  body.single-product ins .woocommerce-Price-amount {
    font-size: 36px !important;
    font-weight: 900 !important;
    color: var(--red) !important;
    text-decoration: none !important;
  }

  /* Câble : garde la taille prévue par le snippet « ajouter câble » (24 px) */
  body.single-product .ns-puff-cable-box span.woocommerce-Price-amount,
  body.single-product .ns-puff-cable-box span.woocommerce-Price-amount bdi {
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
  }
}

/* =========================================================
PANIER MOBILE
========================================================= */
@media (max-width: 768px) {
  html, body,
  .site,
  .site-content,
  .woocommerce,
  .woocommerce-page,
  .woocommerce-cart,
  .woocommerce-checkout {
    background: #ffffff !important;
  }

  .woocommerce-cart-form,
  .woocommerce-cart-form table,
  .woocommerce-cart-form tbody,
  .shop_table,
  .shop_table_responsive {
    background: transparent !important;
  }

  /* Lignes du panier : gérées par le snippet « NS - PANIER V3 » */

  .product-name a {
    color: #000 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }

  .product-name a:hover {
    color: var(--red) !important;
  }

  .amount {
    color: var(--red) !important;
    font-weight: 800 !important;
  }

  .woocommerce .quantity .qty,
  select.qty-select {
    width: 70px !important;
    height: 50px !important;
    border: 1px solid #ddd !important;
    border-radius: 10px !important;
    text-align: center !important;
    font-weight: 700 !important;
    background: #fff !important;
    color: #0a0a0a !important;
    cursor: pointer !important;
    font-size: 1rem !important;
  }

  /* La poubelle du panier (ns-remove-item) garde sa taille de 42 px du snippet PANIER V3 */
  .woocommerce a.remove:where(:not(.ns-remove-item)) {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    color: var(--red) !important;
    border: 1px solid #eee !important;
  }

  .woocommerce a.remove:hover {
    background: var(--red) !important;
    color: #fff !important;
  }

  .cart_totals h2 {
    color: #000 !important;
    font-size: 22px !important;
    margin-bottom: 12px !important;
  }

  .cart_totals {
    background: #fff !important;
    border-radius: 18px !important;
    padding: 18px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.06) !important;
    margin-top: 20px !important;
    border: none !important;
  }

  .cart_totals table th,
  .cart_totals table td {
    color: #000 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #f2f2f2 !important;
  }

  .cart_totals .amount {
    color: var(--red) !important;
    font-weight: 800 !important;
  }

  .cart_totals .order-total td,
  .cart_totals .order-total th {
    font-weight: 700 !important;
  }

  .cart_totals .order-total .amount {
    font-size: 20px !important;
    color: var(--red) !important;
  }

  /* Modes de livraison (panier et paiement) */
  .woocommerce-shipping-methods {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .woocommerce-shipping-methods li {
    margin-bottom: 12px !important;
  }

  .woocommerce-shipping-methods label {
    color: #000 !important;
    font-weight: 500 !important;
  }

  .woocommerce-shipping-methods .amount {
    color: var(--red) !important;
  }

  .woocommerce-shipping-destination {
    color: #666 !important;
    font-size: 14px !important;
  }

  .woocommerce-shipping-calculator {
    color: #666 !important;
  }

  .woocommerce-shipping-calculator a,
  .shipping-calculator-button {
    color: #000 !important;
    text-decoration: underline !important;
  }

  .woocommerce-shipping-calculator a:hover,
  .shipping-calculator-button:hover {
    color: var(--red) !important;
  }

  .wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 14px !important;
    background: #000 !important;
    border: 2px solid #000 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    text-align: center !important;
    padding: 16px !important;
  }

  .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--red) !important;
    border-color: var(--red) !important;
  }
}

/* =========================================================
PAIEMENT MOBILE
========================================================= */
@media (max-width: 768px) {
  .woocommerce-checkout h1,
  .woocommerce-checkout h2,
  .woocommerce-checkout h3,
  .woocommerce-checkout .entry-title,
  .woocommerce-checkout .woocommerce-billing-fields h3,
  .woocommerce-checkout #order_review_heading {
    color: #000 !important;
    font-weight: 700 !important;
  }

  .woocommerce-checkout .entry-title,
  .woocommerce-checkout h1 {
    color: var(--red) !important;
    font-size: 42px !important;
    line-height: 1.05 !important;
    margin-bottom: 22px !important;
  }

  /* Messages WooCommerce (toutes les pages sur mobile) */
  .woocommerce-info,
  .woocommerce-message,
  .woocommerce-error {
    background: #fff !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    border-radius: 20px !important;
    padding: 18px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.05) !important;
  }

  .woocommerce-info a,
  .woocommerce-message a,
  .woocommerce-error a {
    color: #000 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
  }

  .woocommerce-info a:hover,
  .woocommerce-message a:hover,
  .woocommerce-error a:hover {
    color: var(--red) !important;
  }

  .wc-free-shipping-progress-bar,
  .ns-free-shipping-bar,
  .shipping-progress-bar {
    background: #fff !important;
    border: 2px solid #000 !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.05) !important;
    overflow: hidden !important;
  }

  .woocommerce-billing-fields,
  .woocommerce-shipping-fields,
  .woocommerce-additional-fields,
  #order_review,
  #payment {
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.06) !important;
    padding: 18px !important;
    margin-bottom: 20px !important;
  }

  .woocommerce form .form-row label,
  .woocommerce-checkout form .form-row label {
    color: #000 !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }

  .woocommerce form .form-row .required,
  .woocommerce-checkout form .form-row .required {
    color: var(--red) !important;
  }

  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select,
  .woocommerce-checkout form .form-row input.input-text,
  .woocommerce-checkout form .form-row textarea,
  .woocommerce-checkout form .form-row select,
  .select2-container--default .select2-selection--single {
    width: 100% !important;
    min-height: 54px !important;
    border: 1.5px solid #d8d8d8 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 16px !important;
    box-shadow: none !important;
  }

  .woocommerce form .form-row textarea,
  .woocommerce-checkout form .form-row textarea {
    min-height: 110px !important;
    padding: 14px 16px !important;
  }

  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row select,
  .woocommerce-checkout form .form-row input.input-text,
  .woocommerce-checkout form .form-row select {
    padding: 0 16px !important;
  }

  .woocommerce form .form-row input::placeholder,
  .woocommerce form .form-row textarea::placeholder,
  .woocommerce-checkout form .form-row input::placeholder,
  .woocommerce-checkout form .form-row textarea::placeholder {
    color: #767676 !important;
  }

  input[type="checkbox"] {
    accent-color: #000 !important;
  }

  #order_review_heading {
    color: #000 !important;
    font-size: 24px !important;
    margin: 8px 0 16px 0 !important;
  }

  .woocommerce-checkout-review-order-table {
    width: 100% !important;
    background: #fff !important;
    border: none !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.06) !important;
  }

  .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout-review-order-table td {
    border: 0 !important;
    border-bottom: 1px solid #f2f2f2 !important;
    padding: 16px !important;
    color: #000 !important;
    background: #fff !important;
    vertical-align: top !important;
    font-size: 15px !important;
  }

  .woocommerce-checkout-review-order-table thead th {
    color: #000 !important;
    font-weight: 700 !important;
    background: #fff !important;
  }

  .woocommerce-checkout-review-order-table .product-name {
    color: #000 !important;
    font-weight: 500 !important;
  }

  .woocommerce-checkout-review-order-table .product-total,
  .woocommerce-checkout-review-order-table .cart-subtotal .amount,
  .woocommerce-checkout-review-order-table .shipping .amount,
  .woocommerce-checkout-review-order-table .order-total .amount,
  .woocommerce-checkout-review-order-table .amount {
    color: var(--red) !important;
    font-weight: 800 !important;
  }

  .woocommerce-checkout-review-order-table .shipping td,
  .woocommerce-checkout-review-order-table .shipping th,
  .woocommerce-checkout-review-order-table .order-total td,
  .woocommerce-checkout-review-order-table .order-total th {
    color: #000 !important;
    font-weight: 700 !important;
  }

  #payment {
    border: none !important;
  }

  #payment ul.payment_methods {
    border-bottom: 1px solid #f2f2f2 !important;
    padding-bottom: 8px !important;
  }

  #payment ul.payment_methods li {
    color: #000 !important;
    font-weight: 600 !important;
  }

  #payment ul.payment_methods li label {
    color: #000 !important;
    font-weight: 700 !important;
  }

  #payment div.payment_box {
    background: #f7f7f7 !important;
    color: #000 !important;
    border-radius: 14px !important;
    border: 1px solid #ececec !important;
    box-shadow: none !important;
  }

  #payment div.payment_box::before {
    border-bottom-color: #f7f7f7 !important;
  }

  .woocommerce-terms-and-conditions-wrapper,
  .woocommerce-form__label-for-checkbox,
  .validate-required {
    color: #000 !important;
  }

  .woocommerce-terms-and-conditions-wrapper a,
  .woocommerce-form__label-for-checkbox a {
    color: #000 !important;
    text-decoration: underline !important;
  }

  .woocommerce-terms-and-conditions-wrapper a:hover,
  .woocommerce-form__label-for-checkbox a:hover {
    color: var(--red) !important;
  }

  #place_order,
  .woocommerce-checkout #place_order,
  .woocommerce-page #place_order,
  button#place_order {
    width: 100% !important;
    min-height: 58px !important;
    border-radius: 14px !important;
    border: 2px solid #000 !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    text-transform: none !important;
  }

  #place_order:hover,
  .woocommerce-checkout #place_order:hover,
  .woocommerce-page #place_order:hover,
  button#place_order:hover {
    background: var(--red) !important;
    border-color: var(--red) !important;
    color: #fff !important;
  }

  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #000 !important;
    line-height: 54px !important;
    padding-left: 16px !important;
  }

  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 54px !important;
    right: 10px !important;
  }
}

/* =========================================================
BADGES PROMO
Pastille « -X % » (ns-soldes) : placée dans le coin de l'image par le
snippet « NS - Cartes produits » ; sa taille et ses couleurs viennent d'ici.
========================================================= */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
ul.products li.product .onsale {
  display: none !important;
}

.ns-soldes {
  display: block !important;
  text-align: center !important;
  margin: 10px 0 6px !important;
}

.ns-soldes-word {
  display: block !important;
  color: var(--red) !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 5px !important;
}

.ns-soldes-pct {
  display: inline-block !important;
  background: var(--red) !important;
  color: #fff !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.3px !important;
  padding: 3px 12px !important;
  border-radius: 6px !important;
}

.pourcentage-block,
.pourcentage-badge {
  background: transparent !important;
}

/* =========================================================
ONGLETS WOOCOMMERCE (wc-tab) : fond noir
La description longue est traitée plus bas (« DESCRIPTION LONGUE »).
========================================================= */
.elementor-widget-woocommerce-product-content .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-tabs .wc-tab,
.elementor-widget-woocommerce-product-tabs .wc-tab {
  background-color: #0a0a0a !important;
  color: #ffffff !important;
  padding: 20px !important;
}

.wc-tab h2,
.wc-tab h2 span {
  color: var(--red) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-bottom: 1px solid var(--red) !important;
  padding-bottom: 6px !important;
  margin-top: 28px !important;
}

.wc-tab h3 {
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin-top: 20px !important;
  margin-bottom: 6px !important;
}

.wc-tab p {
  color: #c0c0c0 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.wc-tab * {
  color: inherit !important;
}

.wc-tab h2[style],
.wc-tab span[style] {
  color: var(--red) !important;
}

/* =========================================================
GRILLE ET CARTES PRODUIT
L'apparence des cartes (nom, prix, bouton noir, pastille) est gérée par
le snippet « NS - Cartes produits ». Ici restent : la grille, le cadre de
la carte, l'image, le survol, et les réglages que le snippet ne fixe pas.
========================================================= */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products[class*=columns-],
.woocommerce-page ul.products[class*=columns-] {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Le ::before de WooCommerce occupe une case de la grille */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce ul.products[class*=columns-]::before,
.woocommerce ul.products[class*=columns-]::after,
.woocommerce-page ul.products[class*=columns-]::before,
.woocommerce-page ul.products[class*=columns-]::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products[class*=columns-],
  .woocommerce-page ul.products[class*=columns-] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products[class*=columns-],
  .woocommerce-page ul.products[class*=columns-] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*=columns-] li.product,
.woocommerce-page ul.products[class*=columns-] li.product {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Cadre de la carte */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform var(--transition), border-color var(--transition) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

/* Image */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
  width: 100% !important;
  height: 170px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  padding: 8px !important;
  border: none !important;
  transition: transform var(--transition) !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Survol : seulement avec une souris (sur téléphone l'effet restait bloqué après un appui) */
@media (hover: hover) {
  .woocommerce ul.products li.product:hover,
  .woocommerce-page ul.products li.product:hover {
    transform: translateY(-5px) !important;
    border-color: var(--red) !important;
  }

  .woocommerce ul.products li.product:hover img,
  .woocommerce-page ul.products li.product:hover img {
    transform: scale(1.05) !important;
  }
}

/* Nom : coupure des mots trop longs */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product h2 {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* Prix */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  padding: 2px 10px 8px !important;
}

/* Bouton */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product a.button {
  display: block !important;
  margin: 0 12px 12px !important;
  text-align: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background var(--transition) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  width: auto !important;
}

/* Cartes produit : mobile */
@media (max-width: 768px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    padding: 10px !important;
  }

  .woocommerce ul.products li.product img,
  .woocommerce-page ul.products li.product img {
    height: 120px !important;
    padding: 0 !important;
  }

  .woocommerce ul.products li.product .price,
  .woocommerce-page ul.products li.product .price {
    padding: 0 !important;
  }

  /* Ancien prix sur sa propre ligne, au-dessus du prix promo */
  .woocommerce ul.products li.product .price del,
  .woocommerce-page ul.products li.product .price del {
    display: block !important;
    margin-bottom: 4px !important;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.button,
  .woocommerce-page ul.products li.product .button,
  .woocommerce-page ul.products li.product a.button {
    width: 100% !important;
    margin: auto 0 0 !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    padding: 8px !important;
  }

  .woocommerce ul.products li.product img,
  .woocommerce-page ul.products li.product img {
    height: 105px !important;
  }
}

/* =========================================================
BANDEAU RÉASSURANCE ANIMÉ
========================================================= */
.ns-band {
  background: #111;
  color: #fff;
  overflow: hidden;
  height: 40px;
  display: flex;
  align-items: center;
}

.ns-band-track {
  display: flex;
  white-space: nowrap;
  animation: nsBand 28s linear infinite;
}

.ns-band:hover .ns-band-track {
  animation-play-state: paused;
}

@keyframes nsBand {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ns-band-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 40px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-right: 1px solid rgba(255,255,255,0.15);
  white-space: nowrap;
}

.ns-band-item .dot {
  color: var(--red);
  font-size: 18px;
  line-height: 0;
}

/* =========================================================
FIBOSEARCH PRO
========================================================= */
.dgwt-wcas-suggestions-wrp {
  border-radius: 12px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
  border: none !important;
  overflow: hidden !important;
  margin-top: 8px !important;
}

.dgwt-wcas-suggestion {
  padding: 12px 16px !important;
  border-bottom: 1px solid #F0F0F0 !important;
  transition: background 0.2s !important;
}

.dgwt-wcas-suggestion:hover,
.dgwt-wcas-suggestion.selected {
  background: #F5F5F5 !important;
}

.dgwt-wcas-suggestion img {
  width: 54px !important;
  height: 54px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid #EFEFEF !important;
}

.dgwt-wcas-st {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #111 !important;
}

.dgwt-wcas-sp .woocommerce-Price-amount,
.dgwt-wcas-sp {
  color: var(--red) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

.dgwt-wcas-btn-see-all {
  background: var(--red) !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 12px !important;
  border-radius: 0 0 12px 12px !important;
}

.dgwt-wcas-btn-see-all:hover {
  background: var(--red-hover) !important;
}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
  background-color: transparent !important;
}

.dgwt-wcas-sf-wrapp {
  background: transparent !important;
  box-shadow: none !important;
}

.dgwt-wcas-ico-magnifier,
.dgwt-wcas-ico-magnifier path,
.dgwt-wcas-ico-magnifier circle {
  stroke: #888 !important;
  fill: none !important;
  background: transparent !important;
}

.dgwt-wcas-search-wrp .dgwt-wcas-ico-magnifier {
  background: transparent !important;
  border-radius: 0 !important;
}

/* =========================================================
BADGE STOCK
========================================================= */
.ns-stock-badge {
  display: block;
  width: 100%;
  font-size: 13px;
  color: var(--red);
  font-weight: 500;
  margin-bottom: 10px;
  letter-spacing: 0.3px;
  clear: both;
}

.ns-stock-badge strong {
  font-weight: 700;
}

/* =========================================================
MON COMPTE
========================================================= */
.woocommerce-account .woocommerce {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin-bottom: 10px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 14px 16px !important;
  background: #ffffff !important;
  border: 2px solid #000000 !important;
  border-radius: 12px !important;
  color: #000000 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: #000000 !important;
  border-color: var(--red) !important;
  color: #ffffff !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  width: 100%;
  background: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 14px !important;
  padding: 22px 18px !important;
  color: #111111 !important;
  line-height: 1.7 !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content h1,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  color: var(--red) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin-bottom: 14px !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  color: #111111 !important;
  margin-bottom: 16px !important;
}

.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--red) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
  text-decoration: underline !important;
}

.woocommerce-account table.shop_table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.woocommerce-account table.shop_table th {
  background: #000000 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 12px !important;
}

.woocommerce-account table.shop_table td {
  padding: 12px !important;
  color: #111111 !important;
  border-top: 1px solid #eeeeee !important;
}

.woocommerce-account .button,
.woocommerce-account button,
.woocommerce-account input[type="submit"] {
  background: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.woocommerce-account .button:hover,
.woocommerce-account button:hover,
.woocommerce-account input[type="submit"]:hover {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #ffffff !important;
}

.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account textarea,
.woocommerce-account select {
  border: 1px solid #d9d9d9 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  background: #ffffff !important;
  color: #111111 !important;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin-bottom: 18px !important;
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    gap: 18px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: 13px 14px !important;
    font-size: 15px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 18px 14px !important;
    border-radius: 12px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content h1,
  .woocommerce-account .woocommerce-MyAccount-content h2,
  .woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: 28px !important;
  }

  .woocommerce-account table.shop_table th,
  .woocommerce-account table.shop_table td {
    padding: 10px !important;
    font-size: 14px !important;
  }
}

/* =========================================================
DIVERS
========================================================= */
.woocommerce-form-login .show-password-input,
.woocommerce-form-register .show-password-input,
.show-password-input {
  background: transparent !important;
  color: #888 !important;
}

/* =========================================================
ACCORDÉON « EN SAVOIR PLUS » (ELEMENTOR)
========================================================= */
.e-n-accordion {
  --ns-border: #e5e5e5;
  --ns-bg: #ffffff;
  --ns-hover: #fafafa;
  --ns-text: #111;
  --ns-red: #E0001B;
  --ns-radius: 14px;
}

.e-n-accordion .e-n-accordion-item {
  border: none !important;
  background: transparent !important;
  margin-bottom: 14px !important;
}

/* Bouton */
.e-n-accordion .e-n-accordion-item-title {
  background: var(--ns-bg) !important;
  border: 2px solid var(--ns-border) !important;
  border-radius: var(--ns-radius) !important;
  min-height: 56px !important;
  padding: 14px 18px !important;
  transition: all 0.25s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
}

@media (hover: hover) {
  .e-n-accordion .e-n-accordion-item-title:hover {
    border-color: var(--ns-red) !important;
    background: var(--ns-hover) !important;
  }
}

.e-n-accordion .e-n-accordion-item-title-text {
  color: var(--ns-text) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
  width: 100% !important;
}

/* Icône + / − à gauche, en rouge NarguiStore */
.e-n-accordion .e-n-accordion-item-title-icon {
  color: var(--ns-red) !important;
  font-size: 22px !important;
  transition: 0.25s ease !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.e-n-accordion .e-n-accordion-item-title-icon i {
  color: var(--ns-red) !important;
}

.e-n-accordion .e-n-accordion-item-title-icon svg {
  fill: var(--ns-red) !important;
}

/* Ouvert */
.e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title,
.e-n-accordion .e-n-accordion-item-title[aria-expanded="true"] {
  border-color: var(--ns-red) !important;
}

/* Contenu : un seul bloc blanc */
.e-n-accordion .e-n-accordion-item > .e-con,
.e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content {
  background: #ffffff !important;
  border-radius: 14px !important;
  padding: 18px !important;
  margin-top: 10px !important;
  border: 1px solid #f0f0f0 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.04) !important;
}

/* Pas de second cadre autour des widgets */
.e-n-accordion .e-n-accordion-item .elementor-widget-container {
  background: transparent !important;
  border-radius: 14px !important;
  padding: 0 !important;
  margin-top: 10px !important;
  border: none !important;
  box-shadow: none !important;
}

.e-n-accordion .e-n-accordion-item p,
.e-n-accordion .e-n-accordion-item li {
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.e-n-accordion .e-n-accordion-item h1,
.e-n-accordion .e-n-accordion-item h2 {
  color: var(--red) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-bottom: 1px solid var(--red) !important;
  padding-bottom: 6px !important;
  margin-top: 24px !important;
}

.e-n-accordion .e-n-accordion-item h3 {
  color: #111 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin-top: 18px !important;
  margin-bottom: 6px !important;
}

.e-n-accordion .e-n-accordion-item a {
  color: #111 !important;
  text-decoration: underline !important;
}

.e-n-accordion .e-n-accordion-item a:hover {
  color: var(--red) !important;
}

.e-n-accordion .e-n-accordion-item-content {
  animation: nsAccordeonOuverture 0.25s ease;
}

@keyframes nsAccordeonOuverture {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .e-n-accordion .e-n-accordion-item-title {
    min-height: 54px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
  }

  .e-n-accordion .e-n-accordion-item-title-text {
    font-size: 17px !important;
  }

  .e-n-accordion .e-n-accordion-item .elementor-widget-container {
    border-radius: 12px !important;
  }
}

/* =========================================================
PRODUITS SIMILAIRES / UPSELLS / CROSS-SELLS (MOBILE)
========================================================= */
@media (max-width: 768px) {
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }

  .related.products ul.products li.product,
  .upsells.products ul.products li.product,
  .cross-sells ul.products li.product {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    animation: none !important;
    transform: none !important;
  }

  .related.products ul.products li.product:hover,
  .upsells.products ul.products li.product:hover,
  .cross-sells ul.products li.product:hover,
  .related.products ul.products li.product:hover img,
  .upsells.products ul.products li.product:hover img,
  .cross-sells ul.products li.product:hover img {
    transform: none !important;
  }

  /* Bloc offre : prix barré petit et gris */
  body.single-product .ns-offer-box .ns-offer-price-old,
  body.single-product .ns-offer-box .ns-offer-price-old .woocommerce-Price-amount,
  body.single-product .ns-offer-box .ns-offer-price-old bdi,
  body.single-product .ns-offer-box .ns-offer-price-old .woocommerce-Price-currencySymbol {
    font-size: 18px !important;
    color: #767676 !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    text-decoration: line-through !important;
  }

  body.single-product .ns-offer-box .ns-offer-discount {
    background: var(--red) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 3px 8px rgba(224,0,27,.25) !important;
  }
}

/* =========================================================
FICHE PRODUIT : ZONE D'ACHAT
========================================================= */

/* Choix du goût (variations) */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce div.product form.cart table.variations {
  margin-bottom: 14px !important;
}

.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
  height: auto !important;
  min-height: 0 !important;
  line-height: normal !important;
}

.woocommerce div.product form.cart table.variations th.label,
.woocommerce div.product form.cart table.variations th.label label {
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #111 !important;
  margin: 0 0 8px 2px !important;
}

.woocommerce div.product form.cart table.variations td.value {
  position: static !important;
}

.woocommerce div.product form.cart table.variations td.value::before,
.woocommerce div.product form.cart table.variations td.value::after,
.woocommerce div.product form.cart table.variations::after {
  display: none !important;
  content: none !important;
  height: 0 !important;
}

.woocommerce div.product form.cart table.variations td.value select {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 44px 0 16px !important;
  border: 2px solid #111 !important;
  border-radius: 14px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  transition: border-color .2s, box-shadow .2s !important;
}

.woocommerce div.product form.cart table.variations td.value select:focus {
  outline: none !important;
  border-color: var(--red) !important;
  box-shadow: 0 0 0 3px rgba(224,0,27,.12) !important;
}

.woocommerce div.product form.cart .reset_variations {
  display: inline-block !important;
  margin: 8px 2px 0 !important;
  font-size: 13px !important;
  color: #666 !important;
}

/* Quantité + bouton : une ligne */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form) {
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 6px !important;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
  flex: 0 0 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Tout bloc ajouté (câble, etc.) prend sa propre ligne pleine largeur */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart > *:not(.quantity):not(.single_add_to_cart_button),
.woocommerce div.product form.cart:not(.variations_form) > *:not(.quantity):not(.single_add_to_cart_button):not(.variations) {
  flex: 0 0 100% !important;
  width: 100% !important;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.woocommerce div.product form.cart .ns-puff-cable-box {
  margin: 0 !important;
}

.woocommerce div.product form.cart .quantity {
  margin: 0 !important;
  float: none !important;
  flex: 0 0 auto !important;
}

.woocommerce div.product form.cart .quantity .qty {
  width: 70px !important;
  height: 56px !important;
  border: 1.5px solid #d8d8d8 !important;
  border-radius: 14px !important;
  text-align: center !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #111 !important;
  background: #fff !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1 1 200px !important;
  min-width: 200px !important;
  min-height: 56px !important;
  border: none !important;
  border-radius: 14px !important;
  background: var(--red) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  box-shadow: 0 8px 22px rgba(224,0,27,.28) !important;
  transition: background .2s, transform .15s !important;
  opacity: 1 !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--red-hover) !important;
  transform: translateY(-1px) !important;
}

/* Bouton tant que le goût n'est pas choisi : grisé mais lisible */
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed,
.woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-is-unavailable {
  background: #ececec !important;
  color: #5f5f5f !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  transform: none !important;
  opacity: 1 !important;
}

/* Pas de vide sous le choix du goût : le bloc variation ne prend
   plus de place, ses enfants deviennent des éléments directs de la ligne */
.woocommerce div.product form.cart .single_variation_wrap {
  margin: 0 !important;
  display: contents !important;
}

.woocommerce div.product form.cart .woocommerce-variation {
  min-height: 0 !important;
}

.woocommerce div.product form.cart .woocommerce-variation.single_variation {
  flex: 0 0 100% !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce div.product form.cart .woocommerce-variation-price {
  margin-bottom: 10px !important;
}

.woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation:empty,
.woocommerce div.product form.cart p.stock:empty,
.woocommerce div.product form.cart .woocommerce-variation-availability:empty,
.woocommerce div.product form.cart .woocommerce-variation-description:empty,
.woocommerce div.product form.cart .woocommerce-variation-price:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

@media (min-width: 769px) {
  .woocommerce div.product form.cart table.variations td.value select {
    max-width: 420px !important;
  }

  .woocommerce div.product form.cart .single_add_to_cart_button {
    max-width: 340px !important;
  }
}

/* Mention de stock */
.woocommerce div.product .stock.in-stock {
  color: #1a8f3c !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

.woocommerce div.product .stock.out-of-stock {
  color: var(--red) !important;
  font-weight: 700 !important;
}

/* =========================================================
TABLEAUX CARACTÉRISTIQUES (FICHE PRODUIT)
========================================================= */

/* Tableaux de la description : carte 2 colonnes */
.single-product div.product .summary table:not(.variations),
.single-product .woocommerce-product-details__short-description table,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations),
.single-product .elementor-widget-theme-post-content table:not(.variations) {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #ececec !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.05) !important;
  margin: 18px 0 !important;
}

.single-product div.product .summary table:not(.variations) tbody,
.single-product .woocommerce-product-details__short-description table tbody,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations) tbody,
.single-product .elementor-widget-theme-post-content table:not(.variations) tbody {
  display: table-row-group !important;
}

.single-product div.product .summary table:not(.variations) tr,
.single-product .woocommerce-product-details__short-description table tr,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations) tr,
.single-product .elementor-widget-theme-post-content table:not(.variations) tr {
  display: table-row !important;
}

.single-product div.product .summary table:not(.variations) th,
.single-product div.product .summary table:not(.variations) td,
.single-product .woocommerce-product-details__short-description table th,
.single-product .woocommerce-product-details__short-description table td,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations) th,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations) td,
.single-product .elementor-widget-theme-post-content table:not(.variations) th,
.single-product .elementor-widget-theme-post-content table:not(.variations) td {
  display: table-cell !important;
  vertical-align: middle !important;
  padding: 15px 16px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  text-align: left !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111 !important;
  width: auto !important;
}

.single-product div.product .summary table:not(.variations) th,
.single-product div.product .summary table:not(.variations) td:first-child,
.single-product .woocommerce-product-details__short-description table th,
.single-product .woocommerce-product-details__short-description table td:first-child,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations) th,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations) td:first-child,
.single-product .elementor-widget-theme-post-content table:not(.variations) th,
.single-product .elementor-widget-theme-post-content table:not(.variations) td:first-child {
  background: #fafafa !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #666 !important;
  width: 45% !important;
}

.single-product div.product .summary table:not(.variations) tr:last-child th,
.single-product div.product .summary table:not(.variations) tr:last-child td,
.single-product .woocommerce-product-details__short-description table tr:last-child th,
.single-product .woocommerce-product-details__short-description table tr:last-child td,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations) tr:last-child th,
.single-product .elementor-widget-woocommerce-product-content table:not(.variations) tr:last-child td,
.single-product .elementor-widget-theme-post-content table:not(.variations) tr:last-child th,
.single-product .elementor-widget-theme-post-content table:not(.variations) tr:last-child td {
  border-bottom: none !important;
}

/* Tableaux des encarts sombres : on ne touche pas aux couleurs */
.single-product .wc-tab table,
.single-product .wc-tab table th,
.single-product .wc-tab table td {
  background: transparent !important;
  color: inherit !important;
}

/* Tableau « Informations complémentaires » de WooCommerce */
.single-product table.woocommerce-product-attributes {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #ececec !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.05) !important;
  margin: 18px 0 !important;
}

.single-product table.woocommerce-product-attributes tbody {
  display: table-row-group !important;
}

.single-product table.woocommerce-product-attributes tr {
  display: table-row !important;
  background: transparent !important;
}

.single-product table.woocommerce-product-attributes th,
.single-product table.woocommerce-product-attributes td {
  display: table-cell !important;
  float: none !important;
  vertical-align: middle !important;
  padding: 15px 16px !important;
  border: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  text-align: left !important;
}

.single-product table.woocommerce-product-attributes th.woocommerce-product-attributes-item__label {
  background: #fafafa !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #666 !important;
  width: 45% !important;
  text-decoration: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.single-product table.woocommerce-product-attributes td.woocommerce-product-attributes-item__value {
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111 !important;
}

.single-product table.woocommerce-product-attributes td.woocommerce-product-attributes-item__value p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111 !important;
  text-decoration: none !important;
  border: none !important;
}

.single-product table.woocommerce-product-attributes td.woocommerce-product-attributes-item__value a {
  text-decoration: none !important;
  border-bottom: none !important;
  color: #111 !important;
}

.single-product table.woocommerce-product-attributes tr:last-child th,
.single-product table.woocommerce-product-attributes tr:last-child td {
  border-bottom: none !important;
}

/* =========================================================
DESCRIPTION LONGUE (FICHE PRODUIT) — présentation unique pour toutes les fiches
Portée : le contenu du bloc dépliant « En savoir plus » — pas son bouton — (quel que soit le
widget qui affiche la description : Éditeur de texte, Contenu du produit, Contenu de l'article)
et l'onglet Description de WooCommerce, sur les fiches seulement.
Les règles passent devant les styles écrits dans chaque fiche (couleurs de titres,
tailles) ; seuls les encarts noirs gardent leur texte blanc.
========================================================= */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  color: #111 !important;
  font-size: 15px;
  line-height: 1.75;
}

/* Texte courant */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) p,
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) li {
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: #111 !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) p {
  margin: 0 0 14px !important;
}

/* Textes collés depuis Pages ou Word (classes p1 / s1) : même police et même couleur que le reste */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) span {
  font-family: inherit !important;
  color: inherit !important;
}

/* Paragraphes vides : aucun espace */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) p:empty {
  display: none !important;
}

/* Titre d'introduction : H2 (et H1 résiduel) */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h1,
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h2 {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #111 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 26px 0 12px !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h1:first-child,
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h2:first-child {
  margin-top: 0 !important;
}

/* Titres de section : H3 en rouge NarguiStore, Bebas Neue comme « L'essentiel » */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h3 {
  font-family: 'Bebas Neue', 'Montserrat', Arial, sans-serif !important;
  font-size: 23px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.5px !important;
  color: var(--red) !important;
  text-transform: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 26px 0 10px !important;
}

/* Sous-titres : H4 */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h4 {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #111 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 20px 0 8px !important;
}

/* Les spans de couleur posés dans les titres suivent le titre */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) :is(h1,
h2,
h3,
h4) span {
  color: inherit !important;
  font-size: inherit !important;
  font-family: inherit !important;
}

/* Gras et liens */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) strong {
  font-weight: 700 !important;
  color: inherit !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) a {
  color: var(--red) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* Lien présenté comme un bouton (fond de couleur écrit dans la fiche) : texte blanc */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) a[style*="background" i] {
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Listes */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) ul,
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) ol {
  margin: 0 0 16px !important;
  padding-left: 22px !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) li {
  margin: 0 0 8px !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) li::marker {
  color: var(--red);
}

/* Trait de séparation */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) hr {
  border: 0 !important;
  border-top: 1px solid #ececec !important;
  margin: 24px 0 !important;
  height: 0 !important;
}

/* Avertissements légaux (section.avertissement) : encadré clair, texte noir */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) section.avertissement {
  display: block;
  background: #fafafa;
  border-left: 3px solid var(--red);
  border-radius: 0 10px 10px 0;
  padding: 12px 14px;
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.6;
  color: #111;
}

/* Encarts noirs écrits dans les fiches : texte blanc conservé, titres blancs */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) [style*="#0a0a0a" i],
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) [style*="#1a1a1a" i],
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) [style*="#111111" i],
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) [style*="#000000" i] {
  color: #ffffff !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) :is([style*="#0a0a0a" i],
[style*="#1a1a1a" i],
[style*="#111111" i],
[style*="#000000" i]) :is(p,
li,
span,
strong,
a,
h2,
h3,
h4) {
  color: #ffffff !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) :is([style*="#0a0a0a" i],
[style*="#1a1a1a" i],
[style*="#111111" i],
[style*="#000000" i]) h2 {
  font-family: 'Bebas Neue', 'Montserrat', Arial, sans-serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 12px !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) :is([style*="#0a0a0a" i],
[style*="#1a1a1a" i],
[style*="#111111" i],
[style*="#000000" i]) a {
  text-decoration: none !important;
}

/* Pastille rouge « L'avis de l'équipe » : garde son fond rouge et sa taille */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) span[style*="#E0001B" i][style*="border-radius"] {
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-size: 11px !important;
  color: #ffffff !important;
}

/* Résidus d'onglets collés depuis un autre site : titre d'onglet vide masqué */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) [id="tab-title-description"] {
  display: none !important;
}

/* Tableaux de caractéristiques : même carte 2 colonnes que le tableau « Informations complémentaires » */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #ececec !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.05) !important;
  background: #fff !important;
  margin: 18px 0 !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) thead {
  display: table-header-group !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) tbody {
  display: table-row-group !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) tr {
  display: table-row !important;
  background: transparent !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) th,
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) td {
  display: table-cell !important;
  float: none !important;
  vertical-align: middle !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  text-align: left !important;
  background: #fff !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  color: #111 !important;
  width: auto !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) th,
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) td:first-child {
  background: #fafafa !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #666 !important;
  width: 45% !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) tr:last-child th,
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) tr:last-child td {
  border-bottom: none !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) p {
  margin: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) table:not(.variations) strong {
  font-weight: inherit !important;
}

/* Images dans la description */
.single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) img {
  max-width: 100% !important;
  height: auto !important;
}

@media (max-width: 768px) {
  .single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h1,
  .single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h2 {
    font-size: 18px !important;
  }
  .single-product :is(.e-n-accordion .e-n-accordion-item > .e-con, .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-content, .elementor-widget.elementor-widget-woocommerce-product-content, .elementor-widget.elementor-widget-theme-post-content, .woocommerce-Tabs-panel--description) h3 {
    font-size: 22px !important;
  }
}

/* =========================================================
FICHE PRODUIT : « VOUS AIMEREZ PEUT-ÊTRE AUSSI » ET « PRODUITS SIMILAIRES »
V2.9 (V2.8 + titre suggérés en pastille) — écrit d'après le code réel de la fiche (modèle Elementor 1225) :
- la section qui précède « Produits similaires » contient un espaceur de 1 px et le widget
  « Produits suggérés », avec 30 px de marge au-dessus et au-dessous : marges et espaceur retirés ;
  sans produits suggérés, la section est vide et disparaît ;
- la section du titre « Produits similaires » (classe ns-related-title) avait un fond gris sur la
  section ET sur sa colonne, avec 42 px au-dessus : fond blanc, 18 px ;
- le prix des cartes « suggérés » prenait la police Questrial du widget : même police que les autres.
========================================================= */

/* Section « espaceur + suggérés », repérée par sa position : juste avant le titre similaires */
.single-product .elementor-section:has(+ .elementor-section.ns-related-title) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.single-product .elementor-section:has(+ .elementor-section.ns-related-title) > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.single-product .elementor-section:has(+ .elementor-section.ns-related-title) .elementor-widget-spacer {
  display: none !important;
}

/* Sans produits suggérés : plus rien dedans, la section disparaît */
.single-product .elementor-section:has(+ .elementor-section.ns-related-title):not(:has(.elementor-widget-woocommerce-product-upsell)) {
  display: none !important;
}

/* Widget « Produits suggérés » */
.elementor-widget-woocommerce-product-upsell,
.elementor-widget-woocommerce-product-upsell > .elementor-widget-container,
.elementor-widget-woocommerce-product-upsell section.up-sells {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-widget-woocommerce-product-upsell section.up-sells > h2 {
  margin: 22px 0 12px !important;
  padding: 0 !important;
}

.elementor-widget-woocommerce-product-upsell section.up-sells ul.products {
  margin: 0 0 6px !important;
}

/* Titre « Vous aimerez peut-être aussi… » : même pastille que « Produits similaires »
   (fond blanc, ombre, coins 10 px, Titillium rouge majuscules, coche rouge devant) */
.elementor-widget-woocommerce-product-upsell section.up-sells {
  text-align: center !important;
}

.elementor-widget-woocommerce-product-upsell section.up-sells > h2 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 15px !important;
  margin: 22px auto 16px !important;
  padding: 12px 24px !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.5) !important;
  font-family: "Titillium Web", Sans-serif !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #ea1a1a !important;
  text-align: center !important;
}

.elementor-widget-woocommerce-product-upsell section.up-sells > h2::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 1em !important;
  height: 1em !important;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><circle cx='256' cy='256' r='248' fill='%23ea1a1a'/><path d='M150 262l70 70 150-150' fill='none' stroke='%23ffffff' stroke-width='52' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat !important;
}

@media (max-width: 767px) {
  .elementor-widget-woocommerce-product-upsell section.up-sells > h2 {
    font-size: 13px !important;
  }
}

/* Prix des cartes suggérés : même police que les autres cartes (le widget imposait Questrial) */
.elementor-wc-products ul.products li.product .price,
.elementor-wc-products ul.products li.product .price .amount,
.elementor-wc-products ul.products li.product .price bdi {
  font-family: inherit !important;
}

/* Titre « Produits similaires » : plus de fond gris (section et colonne), hauteur réduite */
.single-product .elementor-section.ns-related-title {
  background: #ffffff !important;
  background-image: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  min-height: 0 !important;
}

.single-product .elementor-section.ns-related-title .elementor-column > .elementor-widget-wrap,
.single-product .elementor-section.ns-related-title .elementor-column {
  background: transparent !important;
  background-image: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

.single-product .elementor-section.ns-related-title .elementor-widget-button,
.single-product .elementor-section.ns-related-title .elementor-widget-button > .elementor-widget-container {
  margin: 0 !important;
}

/* Grille des similaires : collée à son titre */
.single-product .elementor-section.ns-related-products {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.single-product .elementor-section.ns-related-products > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding-top: 0 !important;
}

/* Téléphone : la carte blanche de la zone d'achat (qui se termine par « Besoin d'aide ») garde
   moins de vide sous la carte d'aide */
@media (max-width: 767px) {
  .single-product .e-con:has(> .elementor-widget-icon-box:last-child):has(form.cart) {
    --padding-bottom: 22px !important;
  }
}

/* =========================================================
ACCUEIL ET EN-TÊTE SUR TÉLÉPHONE — V3.0
Réorganisation sans toucher à Elementor : l'en-tête (logo, recherche) passe avant la bannière
promo ; sur l'accueil, les blocs sont réordonnés (produits et univers en haut, texte en bas),
les doublons sont masqués. Les tuiles « Nos univers » et le pli « Lire la suite » sont créés
et habillés par le snippet « NS - Cartes accueil » V3.0. Identifiants = éléments Elementor
de l'accueil (page 901) et de l'en-tête (modèle 1126).
========================================================= */

/* Pied de page : widget HTML vide (247 px) sous les icônes réseaux sociaux */
.elementor-location-footer .elementor-element-52f0b24 {
  display: none !important;
}

@media (max-width: 767px) {
  /* En-tête : logo et recherche d'abord, bannière promo ensuite ; barre contact/boutiques masquée */
  .elementor-location-header {
    display: flex !important;
    flex-direction: column !important;
  }
  .elementor-location-header > .elementor-element-09abe55 { order: 1; }
  .elementor-location-header > .elementor-element-0ff67a3 { order: 2; }
  .elementor-location-header > .elementor-element-3836086 { order: 3; }
  .elementor-location-header > .elementor-element-4bf014d { order: 4; }
  .elementor-location-header .elementor-element-9fd70d2,
  .elementor-location-header .elementor-element-c30007c {
    display: none !important;
  }

  /* Accueil : la barre « Nos packs vape » est remplacée par les tuiles « Nos univers » */
  body.home .elementor-location-header > .elementor-element-3836086 {
    display: none !important;
  }

  /* Accueil : ordre des blocs */
  body.home [data-elementor-type="wp-page"] {
    display: flex !important;
    flex-direction: column !important;
  }
  body.home [data-elementor-type="wp-page"] > * { order: 9; }
  body.home [data-elementor-type="wp-page"] > .elementor-element-4474d2e0 { order: 1; } /* titre Best-sellers */
  body.home [data-elementor-type="wp-page"] > .elementor-element-c667be4 { order: 2; }  /* grille Best-sellers */
  body.home [data-elementor-type="wp-page"] > .elementor-element-ade2346 { order: 3; }  /* Puffs chicha + E-liquides */
  body.home [data-elementor-type="wp-page"] > .elementor-element-98ce46b { order: 4; }  /* Promos */
  body.home [data-elementor-type="wp-page"] > .ns-cartes { order: 5; }                  /* JNR, coups de cœur, packs, accessoires */
  body.home [data-elementor-type="wp-page"] > .elementor-element-6074f99 { order: 6; }  /* Horaires de la boutique */
  body.home [data-elementor-type="wp-page"] > .elementor-element-d03fc9e { order: 7; }  /* Marques */
  body.home [data-elementor-type="wp-page"] > .elementor-element-a71130a { order: 8; }  /* Texte + liens internes */

  /* Accueil : doublons masqués (textes 1 et 3, tuiles de réassurance 2 et 3, espaceurs) */
  body.home [data-elementor-type="wp-page"] > .elementor-element-9039104,
  body.home [data-elementor-type="wp-page"] > .elementor-element-faf0cc3,
  body.home [data-elementor-type="wp-page"] > .elementor-element-387302d,
  body.home [data-elementor-type="wp-page"] > .elementor-element-5f663d3,
  body.home [data-elementor-type="wp-page"] > .elementor-element-4236e5a,
  body.home [data-elementor-type="wp-page"] > .elementor-element-ec133f2 {
    display: none !important;
  }

  /* V3.1 - Bandeau rouge « Livraison Express » : le filet blanc et la bande rouge vide en dessous
     servaient à la barre « Contactez-nous / Nos boutiques », masquée sur téléphone */
  .elementor-location-header .elementor-element-25315a3 > .elementor-widget-container {
    border-bottom: 0 !important;
  }
  .elementor-location-header > .elementor-element-0ff67a3 {
    --padding-bottom: 0px !important;
  }

  /* V3.2 - Haut de page : logo + recherche, puis le bandeau rouge, puis le visuel promo.
     Le bandeau (6e65923) passe devant le visuel (102cdcb) dans le même conteneur ; le vide sous la
     recherche (332f549) est réduit ; les marges noires incluses dans l'image promo sont rognées */
  .elementor-location-header > .elementor-element-09abe55 {
    --padding-bottom: 0px !important;
  }
  .elementor-location-header .elementor-element-332f549 {
    --margin-bottom: 10px !important;
  }
  .elementor-location-header > .elementor-element-0ff67a3 {
    display: flex !important;
    flex-direction: column !important;
  }
  .elementor-location-header .elementor-element-6e65923 {
    order: -1;
    margin-top: 0 !important;
    --padding-top: 10px !important;
    --padding-bottom: 10px !important;
  }
  /* V3.3 - l'espace de 20 px entre le bandeau et le visuel (écart entre éléments du conteneur rouge)
     apparaissait comme du rouge sous le texte : écart à zéro, le bandeau prend ses propres marges */
  .elementor-location-header > .elementor-element-0ff67a3 {
    --gap: 0px !important;
    --row-gap: 0px !important;
    gap: 0 !important;
  }
  .elementor-location-header .elementor-element-102cdcb {
    overflow: hidden !important;
  }
  .elementor-location-header .elementor-element-102cdcb .elementor-widget-image img {
    margin: -3% 0 -6.1% !important;
  }

  /* V3.6 - En-tête resserré : paddings 10 → 6, logo 44 px, barre de recherche 46 px, marges réduites.
     Le logo (3d638e6) est aussi centré en hauteur (Elementor le calait en bas de sa colonne) */
  .elementor-location-header > .elementor-element-09abe55 { --padding-top: 6px !important; padding-top: 6px !important; }
  .elementor-location-header .elementor-element-1903db5,
  .elementor-location-header .elementor-element-3d638e6,
  .elementor-location-header .elementor-element-a6ef0c3,
  .elementor-location-header .elementor-element-c10c179 { --padding-top: 6px !important; --padding-bottom: 6px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
  .elementor-location-header .elementor-element-3d638e6 { --justify-content: center !important; justify-content: center !important; --align-items: center !important; align-items: center !important; }
  .elementor-location-header .elementor-element-3d638e6 > .elementor-widget { align-self: center !important; }
  .elementor-location-header .elementor-element-3d638e6 .elementor-widget-container { line-height: 0 !important; }
  .elementor-location-header .elementor-element-3d638e6 img { display: block !important; height: 44px !important; width: auto !important; max-width: 100% !important; margin: 0 auto !important; }
  .elementor-location-header .elementor-element-a6ef0c3 .elementor-menu-cart__toggle_button { padding-top: 8px !important; padding-bottom: 8px !important; }
  .elementor-location-header .elementor-element-332f549 { --margin-top: 4px !important; --margin-bottom: 8px !important; margin-top: 4px !important; margin-bottom: 8px !important; }
  .elementor-location-header .elementor-element-332f549 .dgwt-wcas-sf-wrapp { padding-top: 0 !important; padding-bottom: 0 !important; }
  .elementor-location-header .elementor-element-332f549 .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input { height: 46px !important; padding-top: 8px !important; padding-bottom: 8px !important; }

  /* V3.5 - Rangée logo : colonne ☰ (1903db5) aussi large que panier + compte (a6ef0c3 + c10c179),
     pour que le logo (3d638e6, 38 %) tombe au milieu de l'écran. Avant : 22 % / 38 % / 10 % / 25 %. */
  .elementor-location-header .elementor-element-1903db5 { --width: 29.4% !important; }
  .elementor-location-header .elementor-element-c10c179 { --width: 17.6% !important; }

  /* V3.4 - Rangée logo : panier (a6ef0c3) et compte (c10c179) centrés verticalement comme le ☰ et le logo.
     Les conteneurs sont en colonne : c'est justify-content qui centre en hauteur */
  .elementor-location-header .elementor-element-a6ef0c3,
  .elementor-location-header .elementor-element-c10c179 {
    --justify-content: center !important;
    justify-content: center !important;
    --align-items: center !important;
    align-items: center !important;
  }
  .elementor-location-header .elementor-element-c10c179 .elementor-icon-wrapper,
  .elementor-location-header .elementor-element-c10c179 .elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }
  .elementor-location-header .elementor-element-c10c179 .elementor-icon i {
    display: block !important;
    line-height: 1 !important;
    font-size: 24px !important;
  }

  /* V3.1 - Carte des horaires : titre « Notre boutique à Saint-Ouen » au-dessus (même pastille que les autres titres) */
  body.home .elementor-element-6074f99::before {
    content: "Notre boutique à Saint-Ouen";
    display: block;
    width: max-content;
    max-width: calc(100% - 32px);
    box-sizing: border-box;
    margin: 26px auto 14px;
    padding: 12px 28px;
    font-family: 'Titillium Web', sans-serif;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    text-align: center;
    color: #E0001B;
    background: #ffffff;
    border: 2px solid #E0001B;
    border-radius: 10px;
  }

  /* Bulle « Besoin d'aide ? » : pastille ronde, ne recouvre plus les boutons */
  html body #ns-chat-bubble {
    height: 48px !important;
    width: 48px !important;
    padding: 0 !important;
    bottom: 14px !important;
    right: 12px !important;
    border-radius: 24px !important;
  }
  html body #ns-chat-bubble-label { display: none !important; }

  /* Cibles tactiles : boutons des cartes à 44 px minimum */
  .ns-top-vente-btn,
  .ns-carte-bouton,
  .woocommerce ul.products li.product a.button,
  .elementor-wc-products ul.products li.product a.button {
    min-height: 44px !important;
    padding: 13px 12px !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
ANIMATIONS : RESPECT DU RÉGLAGE « RÉDUIRE LES ANIMATIONS » DU TÉLÉPHONE
========================================================= */
@media (prefers-reduced-motion: reduce) {
  .ns-band-track {
    animation: none !important;
  }

  .e-n-accordion .e-n-accordion-item-content {
    animation: none !important;
  }
}

/* =========================================================
ACCUEIL : TITRES DE SECTION — V3.7
Les titres de rayon (classe ns-rayon-titre posée par le snippet de retouches de l'accueil
sur les boutons Elementor Best-sellers / Nos e-liquides / Nos puffs chicha / Promos),
le titre « Nos marques » (c1aad60), « Nos univers » et « Acheter votre chicha » (snippet
Cartes accueil) et « Notre boutique à Saint-Ouen » (V3.1) partagent un seul style :
Bebas Neue noir, centré, petit trait rouge dessous — le motif des tuiles. Les pastilles
restent réservées aux vrais boutons.
========================================================= */
/* TITRES DE SECTION DE L'ACCUEIL : typographie Bebas noire + trait rouge, plus de pastille */
body.home .ns-rayon-titre,
body.home .elementor-element-c1aad60 .elementor-heading-title,
body.home .ns-univers-etiquette,
body.home .ns-cartes-titre,
body.home .elementor-element-6074f99::before {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 auto 18px !important;
  padding: 0 0 12px !important;
  background: linear-gradient(#E0001B, #E0001B) center bottom / 44px 3px no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 32px !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  text-align: center !important;
  text-decoration: none !important;
}
body.home .ns-rayon-titre *,
body.home .elementor-element-c1aad60 .elementor-heading-title * {
  color: #111111 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  background: none !important;
}
body.home a.ns-rayon-titre:hover,
body.home a.ns-rayon-titre:focus {
  color: #E0001B !important;
}
body.home a.ns-rayon-titre:hover *,
body.home a.ns-rayon-titre:focus * {
  color: #E0001B !important;
}
@media (min-width: 768px) {
  body.home .ns-rayon-titre,
  body.home .elementor-element-c1aad60 .elementor-heading-title,
  body.home .ns-univers-etiquette,
  body.home .ns-cartes-titre,
  body.home .elementor-element-6074f99::before {
    font-size: 40px !important;
    letter-spacing: 2px !important;
    background-size: 56px 3px !important;
    margin-bottom: 24px !important;
  }
}

/* V3.8 - Tuiles « Nos univers » : le nom seul, sans trait rouge (le trait est le signe des titres de section) */
body.home .ns-univers-tuile span {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.home .ns-univers-tuile {
  padding-bottom: 14px !important;
}

/* V3.9 - Seule exception aux titres noirs : « Une sélection de promos » (section 98ce46b) en rouge */
body.home .elementor-element-98ce46b .ns-rayon-titre,
body.home .elementor-element-98ce46b .ns-rayon-titre * {
  color: #E0001B !important;
}

/* V3.10 - Accueil téléphone : air entre la carte du titre et « Nos univers » */
@media (max-width: 767px) {
  body.home .page-header + .ns-univers {
    padding-top: 30px !important;
  }
}

/* =========================================================
ACCUEIL TÉLÉPHONE : TITRE H1 EN BANDEAU NOIR — V3.11
Le H1 (remonté sous l'en-tête par le snippet Cartes accueil V3.3+) ferme le bloc sombre du haut :
fond noir pleine largeur, Bebas Neue blanc, trait rouge. Prend le pas sur la carte arrondie de
l'entrée « NS - Titre H1 de la page d'accueil v2.1 » grâce à un sélecteur plus précis.
========================================================= */
@media (max-width: 767px) {
  body.home header.elementor-location-header + .page-header {
    margin: -1px 0 0 !important;
    padding: 22px 22px 22px !important;
    background: #000000 !important;
  }
  /* V3.13 - l'en-tête a un fond noir : plus de pixel blanc entre le visuel promo et le bandeau du titre */
  body.home header.elementor-location-header {
    background: #000000 !important;
  }
  body.home header.elementor-location-header + .page-header h1.entry-title {
    width: auto !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 0 14px !important;
    background: linear-gradient(#E0001B, #E0001B) center bottom / 44px 3px no-repeat !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    color: #ffffff !important;
    font-family: 'Bebas Neue', Arial, sans-serif !important;
    font-size: 27px !important;
    line-height: 1.1 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    text-align: center !important;
  }
  body.home header.elementor-location-header + .page-header h1.entry-title::before {
    display: none !important;
  }
  body.home .page-header + .ns-univers {
    padding-top: 30px !important;
  }
}

/* V3.12 - Titre « Notre boutique à Saint-Ouen » : air au-dessus, comme les autres titres de section */
body.home .elementor-element-6074f99::before {
  margin-top: 32px !important;
}
