/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 01 2026 | 08:23:28 */
/* =========================================================
NARGUISTORE — CSS GLOBAL — V4.1 (remplace tout le contenu de l'entrée « CSS global » de Simple Custom CSS and JS)
V4.1 (01/11/2026) : l'ancien bloc « MON COMPTE » est retiré en entier. Ce qu'il faisait encore est repris par le
snippet « NS - Compte » V1.4 (n° 203982), à activer AVANT de coller cette V4.1. Deux de ses règles ne sont pas
reprises, exprès : plus de vide de 36 px sous la barre de recherche sur les pages du compte (téléphone), ni de
48 px au-dessus du formulaire de connexion (ordinateur, tablette). Rien d'autre ne change.
V4.0 (01/11/2026) : nettoyage, sans changement de rendu par rapport à la V3.35 (vérifié page par page sur
téléphone, tablette et ordinateur ; détail et preuves dans « rapport-nettoyage-css-global-V4.0 »).
- Les blocs repris par les snippets PHP « NS - Panier, commande, compte » (n° 203944) et « NS - Compte »
  (n° 203982) — « Panier mobile », « Paiement mobile », « Panier », « Champ code promo » — ne gardent que les
  règles qui agissent encore quelque part ; elles sont regroupées sous des titres « RELIQUAT ».
- Retiré : règles qui ne visaient plus rien sur le site (onglets WooCommerce, ancien bandeau animé, anciennes
  classes de badges, icônes et éléments d'en-tête disparus, animations associées) et doublons.
- L'historique V3.1 → V3.35 est conservé à part dans « historique-css-global-V3.txt ».
Entrées séparées, à ne pas mélanger ici : « CSS - Zone paiement Viva Wallet (checkout) », CSS du menu
mobile (n° 187424), « NS-Blog-Lecture ».
========================================================= */

: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;
  }
}

/* =========================================================
ANCIEN BLOC « PANIER MOBILE » — RELIQUAT (V4.0)
Le panier est habillé par le snippet « NS - Panier, commande, compte » (n° 203944). Ne restent ici que les
4 règles qui agissent encore ailleurs sur téléphone : fond blanc des conteneurs WooCommerce ; liens des noms
de produits (.product-name a) noirs, gras 600, rouges au survol — notamment sur la page « commande reçue »,
que le snippet ne traite pas ; prix (.amount) en rouge gras partout où rien d'autre ne les habille
(ex. « 0.00 € de crédit boutique » au paiement).
========================================================= */
@media (max-width: 768px) {
  html, body,
  .site,
  .site-content,
  .woocommerce,
  .woocommerce-page,
  .woocommerce-cart,
  .woocommerce-checkout {
    background: #ffffff !important;
  }

  /* Noms de produits dans les tableaux WooCommerce (ex. page « commande reçue ») */
  .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;
  }

}

/* =========================================================
ANCIEN BLOC « PAIEMENT MOBILE » — RELIQUAT (V4.0)
La page de commande est habillée par le snippet n° 203944 (partie C) et la zone de paiement par l'entrée
« CSS - Zone paiement Viva Wallet ». Ne restent ici que les 11 règles qui agissent encore sur téléphone :
titres h1/h2/h3 en noir gras (page « commande reçue », que le snippet ne traite pas), notices WooCommerce et
leurs liens, astérisque rouge des champs obligatoires, cases à cocher noires, cellules du récapitulatif,
libellés des modes de paiement, couleur des textes des champs obligatoires et des CGV (liens noirs
soulignés, rouges au survol).
========================================================= */
@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;
  }

  /* 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;
  }

  .woocommerce form .form-row .required,
  .woocommerce-checkout form .form-row .required {
    color: var(--red) !important;
  }

  input[type="checkbox"] {
    accent-color: #000 !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;
  }

  #payment ul.payment_methods li {
    color: #000 !important;
    font-weight: 600 !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;
  }

}

/* =========================================================
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.
========================================================= */

.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;
}

/* =========================================================
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;
  }
}

/* =========================================================
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;
}

/* =========================================================
BADGE STOCK — « Plus que N en stock » sous le choix du goût (créé par le snippet « stock limité », n° 184750,
qui porte l'essentiel de son style ; ici l'espacement des lettres, le dégagement et le gras du nombre)
========================================================= */
.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;
}

/* =========================================================
DIVERS
========================================================= */
.woocommerce-form-login .show-password-input,
.woocommerce-form-register .show-password-input,
.show-password-input {
  background: transparent !important;
  color: #888 !important;
}

/* =========================================================
SECTION REPLIÉE « DESCRIPTION DU PRODUIT » (ACCORDÉON ELEMENTOR) — V3.26
Ligne sobre : titre à gauche en Bebas Neue, « + » rouge à droite, filet fin dessus et dessous.
Plus de pastille blanche ni d'ombre : ce n'est pas un bouton, c'est un tiroir.
(Le titre se change dans Elementor, gabarit 1225 : « EN SAVOIR PLUS » → « Description du produit ».)
========================================================= */
.e-n-accordion {
  --ns-border: #e5e5e5;
  --ns-text: #111;
  --ns-red: #E0001B;
}

.e-n-accordion .e-n-accordion-item {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
}

/* La ligne de titre */
.e-n-accordion .e-n-accordion-item-title {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--ns-border) !important;
  border-bottom: 1px solid var(--ns-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 56px !important;
  padding: 12px 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  position: relative !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease !important;
}

@media (hover: hover) {
  .e-n-accordion .e-n-accordion-item-title:hover {
    border-color: #c9c9c9 !important;
  }
}

.e-n-accordion .e-n-accordion-item-title-header {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  order: 1 !important;
}

.e-n-accordion .e-n-accordion-item-title-text {
  color: var(--ns-text) !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  line-height: 1.1 !important;
  text-align: left !important;
  text-transform: none !important;
  width: auto !important;
}

/* « + » (fermé) / « − » (ouvert), en rouge, à droite */
.e-n-accordion .e-n-accordion-item-title-icon {
  position: static !important;
  transform: none !important;
  order: 2 !important;
  margin-left: auto !important;
  flex: 0 0 auto !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ns-red) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  transition: none !important;
}

.e-n-accordion .e-n-accordion-item-title-icon svg {
  fill: var(--ns-red) !important;
  width: 18px !important;
  height: 18px !important;
}

/* Ouvert : le titre passe en rouge */
.e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-text,
.e-n-accordion .e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-text {
  color: var(--ns-red) !important;
}

/* Contenu : un seul bloc blanc sous la ligne */
.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: 12px !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;
}

@media (max-width: 768px) {
  .e-n-accordion .e-n-accordion-item-title-text {
    font-size: 24px !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;
}

/* V3.24 - Bouton « Ajouter au panier » : il reste rouge et actif même tant que le goût n'est pas choisi
   (comme chez Nike, Adidas, Zara, H&M, Zalando : pas de bouton grisé, pas de texte en double avec le menu).
   Le snippet « NS - Choix variation » gère l'appui sans choix : défilement jusqu'au menu, menu en rouge,
   message sous le menu, ouverture de la liste. Seul le cas « combinaison indisponible » reste grisé. */
html .woocommerce div.product form.cart .single_add_to_cart_button.disabled,
html .woocommerce div.product form.cart .single_add_to_cart_button:disabled,
html .woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed {
  background: var(--red) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 8px 22px rgba(224,0,27,.28) !important;
  cursor: pointer !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html .woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-is-unavailable {
  background: #e4e4e4 !important;
  color: #8a8a8a !important;
  border: none !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  transform: none !important;
  opacity: 1 !important;
}

/* V3.24 - Appui sans choix : le menu passe en rouge et un message dit quoi faire (snippet « NS - Choix variation ») */
.woocommerce div.product form.cart .variations select.ns-vf-manque {
  border: 2px solid var(--red) !important;
  box-shadow: 0 0 0 4px rgba(224,0,27,.14) !important;
  outline: none !important;
}

.woocommerce div.product form.cart .variations .ns-vf-erreur {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: var(--red) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: left !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;
}

/* V3.30 à V3.32 - ordinateur et tablette : le menu du goût fait 422 px, soit exactement la ligne du dessous
   (quantité 70 + écart 12 + bouton 340) ; les deux lignes sont calées à gauche et ont les mêmes bords.
   Avant : menu à 75 % et ligne quantité + bouton centrée, trois bords droits différents. */
@media (min-width: 768px) {
  html .woocommerce div.product form.cart table.variations td.value select {
    width: 422px !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html .woocommerce div.product form.cart .e-atc-qty-button-holder {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
  }

  html .woocommerce div.product form.cart .e-atc-qty-button-holder .quantity {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  html .woocommerce div.product form.cart .e-atc-qty-button-holder .single_add_to_cart_button {
    margin: 0 !important;
    width: 340px !important;
    max-width: 340px !important;
    flex: 0 0 340px !important;
    float: none !important;
  }
}

/* V3.30 - le petit trait rouge sous le titre de la fiche est centré sous le titre, comme le titre lui-même
   (il restait calé à gauche sur ordinateur). */
.single-product h1.product_title::after {
  margin-left: auto !important;
  margin-right: auto !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;
}

/* 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 ul.products {
  margin: 0 0 6px !important;
}

/* V3.21 - Titre « Vous aimerez peut-être aussi… » : même style que les titres de section de l'accueil
   (Bebas Neue noir, centré, petit trait rouge dessous), plus de pastille ni de coche */
.elementor-widget-woocommerce-product-upsell section.up-sells {
  text-align: center !important;
}

.elementor-widget-woocommerce-product-upsell section.up-sells > h2 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 26px 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;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.elementor-widget-woocommerce-product-upsell section.up-sells > h2::before {
  content: none !important;
  display: none !important;
}

@media (min-width: 768px) {
  .elementor-widget-woocommerce-product-upsell section.up-sells > h2 {
    font-size: 40px !important;
    letter-spacing: 2px !important;
    background-size: 56px 3px !important;
    margin-bottom: 24px !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;
}

/* V3.21 - « Produits similaires » : c'est un bouton Elementor qui sert de titre ; il prend le style des
   titres de section (Bebas Neue noir, trait rouge), perd sa coche, son fond, son ombre et son lien « # » */
.single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button-wrapper {
  text-align: center !important;
}

.single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button,
.single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button:hover,
.single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button:focus {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 0 12px !important;
  background: linear-gradient(#E0001B, #E0001B) center bottom / 44px 3px no-repeat !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: none !important;
  transform: none !important;
  pointer-events: none !important;
  cursor: default !important;
}

.single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button .elementor-button-text {
  color: #111111 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button .elementor-button-icon {
  display: none !important;
}

@media (min-width: 768px) {
  .single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button,
  .single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button:hover,
  .single-product .elementor-section.ns-related-title .elementor-widget-button .elementor-button:focus {
    font-size: 40px !important;
    letter-spacing: 2px !important;
    background-size: 56px 3px !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-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;
  }

  /* 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; }
  /* V3.18 : logo horizontal : 36 px de haut au plus, jamais plus large que sa colonne (colonne sans marges internes) */
  .elementor-location-header .elementor-element-3d638e6 { --padding-left: 6px !important; --padding-right: 6px !important; padding-left: 6px !important; padding-right: 6px !important; } /* V3.20 : 6 px d'espace minimum de chaque côté du logo (petits écrans) */
  .elementor-location-header .elementor-element-3d638e6 img { display: block !important; height: auto !important; max-height: 40px !important; /* V3.20 : 40 px (44px = maximum possible, au-delà la rangée grossit) */ width: auto !important; max-width: 100% !important; margin: 0 auto !important; object-fit: contain; }
  .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 %. */
  /* V3.19 : ☰, panier et compte prennent leur largeur réelle ; la colonne du logo prend tout le reste
     et centre le logo dedans : même espace entre le ☰ et le logo qu'entre le logo et le panier */
  .elementor-location-header .elementor-element-1903db5 { --width: auto !important; width: auto !important; flex: 0 0 auto !important; }
  .elementor-location-header .elementor-element-3d638e6 { --width: auto !important; width: auto !important; flex: 1 1 0 !important; min-width: 0 !important; }
  .elementor-location-header .elementor-element-a6ef0c3 { --width: auto !important; width: 44px !important; flex: 0 0 auto !important; --padding-left: 0px !important; --padding-right: 0px !important; padding-left: 0 !important; padding-right: 0 !important; }
  .elementor-location-header .elementor-element-c10c179 { --width: auto !important; width: 44px !important; flex: 0 0 auto !important; --padding-left: 0px !important; padding-left: 0 !important; --align-items: flex-end !important; align-items: flex-end !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;
  }
  /* V3.17 : l'icône compte se cale au bord droit de sa colonne (même marge que le ☰ à gauche), loin du panier */
  .elementor-location-header .elementor-element-c10c179 {
    --padding-right: 0px !important;
    padding-right: 0 !important;
  }
  .elementor-location-header .elementor-element-c10c179 .elementor-widget-icon {
    width: 100% !important;
  }
  .elementor-location-header .elementor-element-c10c179 .elementor-icon-wrapper {
    justify-content: flex-end !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;
  }
}

/* =========================================================
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;
}

/* =========================================================
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;
}

/* =========================================================
V3.15 — SUITE AU RAPPORT PAGESPEED DU 25/10
========================================================= */
/* Bebas Neue : texte affiché tout de suite avec une police de secours, puis remplacé (font-display swap) */
@font-face {
  font-family: 'Bebas Neue';
  src: url('https://narguistore.fr/wp-content/uploads/2026/10/BebasNeue-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Titres de section : pas d'animation (ils héritaient de la transition des boutons Elementor) */
body.home .ns-rayon-titre,
body.home .ns-rayon-titre * {
  transition: none !important;
}

/* V3.16 - Zones tactiles de 44 px minimum pour le panier et le compte (l'icône ne change pas de taille) */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-c10c179 .elementor-icon {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  /* V3.17 : le bouton panier faisait 72 px de large (marges internes) et dépassait sous le compte */
  .elementor-location-header .elementor-element-a6ef0c3 .elementor-menu-cart__toggle_button {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    min-height: 44px !important;
    padding: 10px 0 !important;
    margin: 0 auto !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  .elementor-location-header .elementor-element-a6ef0c3 .elementor-menu-cart__toggle_button .elementor-button-text {
    display: none !important;
  }
}

/* V3.22 - Cartes produit : sur téléphone et tablette, la couleur de survol (rouge) du bouton
   restait collée après un appui ; sans souris, le bouton garde son noir. La règle du snippet
   « NS - Cartes produits » est écrite avec !important : on passe devant par la spécificité (html). */
@media (hover: none) {
  html .woocommerce ul.products li.product a.button:hover,
  html .woocommerce ul.products li.product a.button:focus,
  html .elementor-wc-products ul.products li.product a.button:hover,
  html .elementor-wc-products ul.products li.product a.button:focus {
    background: #111111 !important;
    color: #ffffff !important;
  }
}

/* =========================================================
V3.24 - FICHE PRODUIT SUR TÉLÉPHONE : PHOTO SANS VIDE DESSOUS
L'ordre des blocs de la V3.23 (prix et bouton avant la description) est abandonné : le bloc
d'achat est trop haut (prix, compte à rebours, livraison, paiement, fidélité, pack, code promo)
et repoussait « L'essentiel » trop bas. On revient à l'ordre du gabarit : photo, « L'essentiel »,
« En savoir plus », prix, choix du goût et bouton, tableau, aide.
La photo (44e21a8) garde la correction V3.23 : plus de hauteur minimale de 380 px sous l'image.
Ordinateur : rien ne change.
========================================================= */
@media (max-width: 767px) {
  .single-product .elementor-element-44e21a8 { min-height: 0 !important; }
  .single-product .elementor-element-44e21a8 .woocommerce-product-gallery { margin-bottom: 0 !important; }
}

/* =========================================================
V3.25 - FICHE PRODUIT SUR TÉLÉPHONE : BLOC D'ACHAT RESSERRÉ
Rien n'est retiré, seuls les espaces entre et dans les cartes sont réduits : carte prix (marges
et rembourrages internes), carte fidélité, ligne « Effacer » invisible sous le menu du goût,
carte câble, pack, code promo, tableau, carte « Besoin d'aide ». Ordinateur : rien ne change.
========================================================= */
@media (max-width: 767px) {
  /* Carte prix : plus d'air au-dessus (Elementor) ni dedans */
  .single-product .elementor-element-f0e7192 > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
  html body.single-product .ns-offer-box { margin: 0 !important; padding: 14px 16px !important; }
  html body.single-product .ns-offer-top { margin: 0 0 10px !important; padding: 10px 14px !important; }
  html body.single-product .ns-offer-shipping { margin: 8px 0 0 !important; }
  html body.single-product .ns-line-day,
  html body.single-product .ns-line-countdown,
  html body.single-product .ns-offer-shipping-note { margin: 0 0 4px !important; }
  html body.single-product .ns-offer-free { margin-top: 10px !important; padding: 11px 14px !important; }
  html body.single-product .ns-offer-reassurance { margin-top: 10px !important; padding: 10px 14px !important; }

  /* Carte fidélité */
  html body.single-product .ns-loyalty-box { margin: 10px 0 !important; padding: 12px 16px !important; }

  /* Menu du goût : la ligne « Effacer » (invisible) ne prend plus de place */
  html .woocommerce div.product form.cart .reset_variations { display: none !important; }
  html .woocommerce div.product form.cart table.variations { margin-bottom: 10px !important; }

  /* Câble, pack, code promo, lien gamme */
  html body.single-product .ns-puff-cable-box { margin: 2px 0 !important; padding: 12px 14px !important; }
  html body.single-product a.ns-pack-luxe { margin-top: 10px !important; }
  html body.single-product .ns-promo-luxe { margin-top: 10px !important; }
  html body.single-product .ns-lgm { margin-top: 10px !important; }

  /* Tableau et carte « Besoin d'aide » */
  .single-product .elementor-element-08f8522 > .elementor-widget-container { padding: 0 !important; }
  .single-product .elementor-element-08f8522 table.shop_attributes { margin: 6px 0 !important; }
  .single-product .elementor-element-9a67c8f > .elementor-widget-container { padding: 14px 0 !important; }
  .single-product .elementor-element-e60b0dc { padding-bottom: 10px !important; row-gap: 16px !important; }
}

/* =========================================================
V3.26 - FICHE PRODUIT SUR TÉLÉPHONE : LA DESCRIPTION COMPLÈTE PASSE SOUS LE BLOC D'ACHAT
Gabarit Elementor 1225, version téléphone (conteneur 859ddea). Ordre : photo (f1ff7a8),
« L'essentiel » (c19be44), prix (f0e7192), goût et bouton (f2cc0b3), section repliée
« Description du produit » (6f90f9f), tableau (08f8522), aide (9a67c8f). Les conteneurs
intermédiaires passent en display: contents pour que ces blocs deviennent frères et
puissent être ordonnés. Ordinateur : rien ne change.
========================================================= */
@media (max-width: 767px) {
  .single-product .elementor-element-59a43f6,
  .single-product .elementor-element-59a43f6 > .e-con-inner,
  .single-product .elementor-element-e60b0dc,
  .single-product .elementor-element-e60b0dc > .e-con-inner,
  .single-product .elementor-element-2cf0331,
  .single-product .elementor-element-2cf0331 > .e-con-inner,
  .single-product .elementor-element-8991578,
  .single-product .elementor-element-8991578 > .e-con-inner {
    display: contents !important;
  }
  .single-product .elementor-element-f1ff7a8 { order: 1 !important; }
  .single-product .elementor-element-c19be44 { order: 2 !important; }
  .single-product .elementor-element-f0e7192 { order: 3 !important; }
  .single-product .elementor-element-f2cc0b3 { order: 4 !important; }
  .single-product .elementor-element-6f90f9f { order: 5 !important; margin-top: 8px !important; }
  .single-product .elementor-element-f0e7192 { margin-top: 10px !important; }
  /* Même écart de 20 px entre la carte photo, « L'essentiel », la carte prix et la fidélité */
  .single-product .elementor-element-c19be44 { margin-top: 10px !important; }
  .single-product .elementor-element-c19be44 .woocommerce-product-details__short-description { margin-bottom: 0 !important; }
  .single-product .elementor-element-08f8522 { order: 6 !important; }
  .single-product .elementor-element-9a67c8f { order: 7 !important; width: 100% !important; max-width: 100% !important; --container-widget-width: 100% !important; }
}

/* =========================================================
V3.27 - FICHE PRODUIT SUR TÉLÉPHONE : DESCRIPTION VISIBLE, TRONQUÉE, « LIRE LA SUITE »
Avec le snippet « NS - Description produit » : sur téléphone, la section « Description du produit »
est ouverte d'office ; seules ses premières lignes sont visibles, un fondu blanc et un bouton
« Lire la suite » déplient le reste. Le titre reste affiché, il ne sert plus de bouton.
Ordinateur : rien ne change (section repliée).
========================================================= */
@media (max-width: 767px) {
  /* Titre : un simple titre de section */
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-n-accordion-item-title {
    pointer-events: none !important;
    border-bottom: none !important;
    padding-bottom: 4px !important;
    min-height: 0 !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-n-accordion-item-title .e-n-accordion-item-title-icon {
    display: none !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-n-accordion-item-title .e-n-accordion-item-title-text {
    color: #111 !important;
  }

  /* Texte : premières lignes visibles, fondu blanc en bas */
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con {
    position: relative !important;
    max-height: 380px !important;
    overflow: hidden !important;
    margin-top: 6px !important;
    padding-bottom: 80px !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 170px;
    background: linear-gradient(rgba(255,255,255,0), #ffffff 60%);
    pointer-events: none;
  }

  /* Bouton « Lire la suite » posé sur le fondu */
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible .ns-dp-lire {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 18px !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    background: #ffffff !important;
    color: #111111 !important;
    border: 2px solid #111111 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font: inherit !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible .ns-dp-lire::after {
    content: '';
    width: 9px;
    height: 9px;
    border-right: 2.5px solid #E0001B;
    border-bottom: 2.5px solid #E0001B;
    transform: translateY(-3px) rotate(45deg);
  }

  /* Déplié : tout le texte, plus de fondu ni de bouton */
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-complet > .e-con {
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 18px !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-complet > .e-con::after,
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-complet .ns-dp-lire {
    display: none !important;
  }
}

/* =========================================================
V3.28 - FICHE PRODUIT SUR TÉLÉPHONE : LA DESCRIPTION DANS UNE CARTE COMME « L'ESSENTIEL »
Plus de ligne-titre à part : la description est une carte blanche à liseré rouge, avec dedans
le titre « Description du produit » en Bebas Neue noir, puis le texte. Le premier titre de
la description (qui répète le nom du produit) est masqué sur téléphone : la carte a déjà son titre.
Ordinateur : rien ne change.
========================================================= */
@media (max-width: 767px) {
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-n-accordion-item-title {
    display: none !important;
  }

  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con {
    display: block !important;
    background: #ffffff !important;
    border: none !important;
    border-left: 4px solid #E0001B !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.05) !important;
    padding: 16px 18px 80px !important;
    margin-top: 0 !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible.ns-dp-complet > .e-con {
    padding-bottom: 14px !important;
  }

  /* Le titre de la carte */
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con::before {
    content: 'Description du produit';
    display: block;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    font-family: 'Bebas Neue', Montserrat, sans-serif;
    font-size: 24px;
    line-height: 1.1;
    letter-spacing: 0.5px;
    text-transform: none;
    font-weight: 400;
    color: #111111;
    margin: 0 0 10px;
  }

  /* Le texte commence tout de suite sous le titre, aligné sur lui */
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con .e-con,
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con .e-con-inner {
    padding: 0 !important;
    margin: 0 !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con .elementor-widget:first-child > .elementor-widget-container {
    margin-top: 0 !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con :is(h1, h2):first-child {
    display: none !important;
  }
  .single-product .e-n-accordion .e-n-accordion-item.ns-dp-visible > .e-con :is(h1, h2):first-child + :is(h2, h3, h4) {
    margin-top: 4px !important;
  }
}

/* =========================================================
V3.29 - FICHE PRODUIT SUR ORDINATEUR ET TABLETTE : LA DESCRIPTION SOUS LE BLOC D'ACHAT
Colonne de droite du gabarit ordinateur (conteneur f43d4d1, en colonne, 20 px d'écart) :
L'essentiel (984c5ab), En savoir plus (d1b3243), prix (e28a818), achat (a7d6690).
La section repliée passe en dernier : ordre L'essentiel, prix, achat, description.
Sur téléphone ce gabarit est masqué, la règle n'y change rien.
========================================================= */
.single-product .elementor-element-f43d4d1 > .elementor-element-d1b3243 {
  order: 1;
}

/* Titre de la section : « Description du produit » à la place de « EN SAVOIR PLUS » */
.single-product .elementor-element-d1b3243 .e-n-accordion-item-title-text {
  font-size: 0 !important;
  letter-spacing: 0 !important;
}
.single-product .elementor-element-d1b3243 .e-n-accordion-item-title-text::before {
  content: 'Description du produit';
  font-size: 26px;
  letter-spacing: 0.5px;
}

/* =========================================================
V3.33 - FICHE PRODUIT SUR ORDINATEUR ET TABLETTE : LE PRIX DE LA CARTE D'ACHAT EN GRAND
Sur téléphone, la règle « PRIX FICHE PRODUIT (MOBILE) » met déjà le prix à 34 px. Sur ordinateur,
la taille du thème (13 px sur le montant) écrasait les 40 px du bloc. Même taille que sur téléphone.
========================================================= */
@media (min-width: 769px) {
  html body.single-product .ns-offer-top .ns-offer-price-now,
  html body.single-product .ns-offer-top .ns-offer-price-now .woocommerce-Price-amount,
  html body.single-product .ns-offer-top .ns-offer-price-now .woocommerce-Price-amount bdi,
  html body.single-product .ns-offer-top .ns-offer-price-now .woocommerce-Price-currencySymbol {
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    color: var(--red) !important;
  }

  html body.single-product .ns-offer-top .ns-offer-ttc {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #767676 !important;
    letter-spacing: 0.5px !important;
  }

  html body.single-product .ns-offer-top .ns-offer-price-old,
  html body.single-product .ns-offer-top .ns-offer-price-old .woocommerce-Price-amount,
  html body.single-product .ns-offer-top .ns-offer-price-old bdi,
  html body.single-product .ns-offer-top .ns-offer-price-old .woocommerce-Price-currencySymbol {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #767676 !important;
    text-decoration: line-through !important;
  }
}

/* =========================================================
V3.34 - ACCUEIL SUR ORDINATEUR ET TABLETTE : TITRE H1 DANS LE STYLE DES TITRES DE SECTION
Le H1 de l'accueil (div.page-header > h1.entry-title, mis en forme par l'entrée « Titre H1 ») sortait
en pastille noire arrondie, police système blanche 26 px, et le bloc de texte Elementor 4fc41c5 était
remonté de 100 px sur lui (4 px d'écart). Téléphone : le bandeau noir de la V3.11 reste tel quel.
========================================================= */
@media (min-width: 769px) {
  html body.home .page-header {
    padding: 0 24px !important;
  }

  html body.home .page-header h1.entry-title {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: 1100px !important;
    margin: 44px auto 0 !important;
    padding: 0 0 16px !important;
    background: linear-gradient(#E0001B, #E0001B) center bottom / 64px 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: 44px !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    color: #111111 !important;
    text-align: center !important;
  }

  html body.home .page-header h1.entry-title::before,
  html body.home .page-header h1.entry-title::after {
    display: none !important;
    content: none !important;
  }

  /* Le bloc de texte sous le titre : 40 px d'air au lieu de 4 */
  html body.home .elementor-element-4fc41c5 > .elementor-widget-container {
    margin-top: -36px !important;
  }
}

/* =========================================================
V3.35 - FICHE PRODUIT : LA PHOTO VISIBLE DÈS L'ARRIVÉE
WooCommerce pose opacity:0 sur la galerie dans le HTML et ne la révèle que quand single-product.js a
tourné. WP Rocket (JS différé) n'exécute ce script qu'au premier toucher ou défilement : d'ici là,
la carte photo est blanche et la photo ne compte pas dans le LCP. On rend la galerie visible tout de
suite ; avant l'initialisation, WooCommerce affiche la première image en grand et les suivantes en
petites vignettes, puis le diaporama prend le relais au premier geste.
========================================================= */
.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
}

/* === TITRES DES PAGES — un seul style sur tout le site ===
   1. Grand titre (H1) des catégories, étiquettes, marques, de la page Boutique et des pages
      (Livraison, Qui sommes-nous, pages villes, CGV, panier…) : Bebas Neue noir, majuscules,
      centré, petit trait rouge dessous — le motif des titres de l'accueil.
   2. Page du blog : même police noire, sans trait (le logo « Le blog » au-dessus a déjà le sien).
   3. Sous-titres (H2, H3) des textes de catégories, d'étiquettes et de marques : Bebas Neue rouge,
      comme les autres textes du site.
   Non concernés : l'accueil, les fiches produit, les articles du blog (déjà dans ce style). */

/* 1. Grand titre des pages */
body.archive .elementor-widget-theme-archive-title .elementor-heading-title,
body.archive h1.woocommerce-products-header__title,
body.page:not(.home) h1.entry-title,
body.page:not(.home) .elementor-widget-heading h1.elementor-heading-title {
  font-family: "Bebas Neue", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  text-align: center !important;
  margin: 18px auto 22px !important;
  padding: 0 0 14px !important;
  background: linear-gradient(#E0001B, #E0001B) center bottom / 56px 3px no-repeat !important;
}

/* 2. Titre de la page du blog (sans trait) */
body.page:not(.home) .elementor-widget-text-editor h1 {
  font-family: "Bebas Neue", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

/* 3. Sous-titres des textes de catégories, d'étiquettes et de marques */
body.archive .term-description h2,
body.archive .pwb-brand-description h2,
body.archive .ns-tag-seo h2,
body.archive [class*="ns-seo-"] h2 {
  font-family: "Bebas Neue", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  color: #E0001B !important;
}

body.archive .term-description h3,
body.archive .term-description h4,
body.archive .term-description h5,
body.archive .pwb-brand-description h3,
body.archive .pwb-brand-description h4,
body.archive .pwb-brand-description h5,
body.archive .ns-tag-seo h3,
body.archive .ns-tag-seo h4,
body.archive .ns-tag-seo h5,
body.archive [class*="ns-seo-"] h3,
body.archive [class*="ns-seo-"] h4,
body.archive [class*="ns-seo-"] h5 {
  font-family: "Bebas Neue", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  color: #E0001B !important;
}

/* Bebas n'a qu'une graisse : pas de faux gras dans les sous-titres */
body.archive .term-description h2 strong,
body.archive .term-description h2 b,
body.archive .term-description h3 strong,
body.archive .term-description h3 b,
body.archive .pwb-brand-description h2 strong,
body.archive .pwb-brand-description h2 b,
body.archive .ns-tag-seo h2 strong,
body.archive .ns-tag-seo h3 strong,
body.archive [class*="ns-seo-"] h2 strong,
body.archive [class*="ns-seo-"] h3 strong {
  font-weight: inherit !important;
  color: inherit !important;
}

/* Ordinateur et tablette */
@media (min-width: 768px) {
  body.archive .elementor-widget-theme-archive-title .elementor-heading-title,
  body.archive h1.woocommerce-products-header__title,
  body.page:not(.home) h1.entry-title,
  body.page:not(.home) .elementor-widget-heading h1.elementor-heading-title {
    font-size: 44px !important;
    letter-spacing: 2px !important;
    margin: 28px auto !important;
  }
  body.page:not(.home) .elementor-widget-text-editor h1 {
    font-size: 36px !important;
  }
}

/* === STYLE DES FICHES ET DES CARTES PRODUITS — repris de 4 snippets ===
   Contenu recopié tel quel depuis les snippets, sans aucun changement :
   1. NS-Choix-du-gout-visible-V1.2 (203109)
   2. NS-Description-produit-pleine-largeur-V1.1 (203104)
   3. NS - Cartes produits V1.8 (203050)
   4. NS - Titre de fiche produit V1.0 (203047)
   Ensuite ces 4 snippets sont désactivés : ce bloc les remplace. */

/* 1. Fiches produit à déclinaisons : libellé et menu de choix du goût bien visibles — ex-snippet « NS-Choix-du-gout-visible-V1.2 » (203109) */
body.woocommerce.single-product div.product form.cart table.variations th.label,
body.woocommerce.single-product div.product form.cart table.variations td.label{
	background:transparent !important;
	text-align:left !important;
	padding:0 0 8px 2px !important;
	border:0 !important;
	width:auto !important;
}
body.woocommerce.single-product div.product form.cart table.variations th.label label,
body.woocommerce.single-product div.product form.cart table.variations td.label label{
	color:#111111 !important;
	font-size:14px !important;
	font-weight:800 !important;
	letter-spacing:1px !important;
	text-transform:uppercase !important;
}
body.woocommerce.single-product div.product form.cart table.variations th.label label::after,
body.woocommerce.single-product div.product form.cart table.variations td.label label::after{
	content:" *";
	color:#E0001B;
}
body.woocommerce.single-product div.product form.cart table.variations td.value select{
	border:2px solid #111111 !important;
	color:#111111 !important;
	font-weight:600 !important;
	font-size:16px !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	background-color:#ffffff !important;
	box-shadow:0 2px 6px rgba(0,0,0,0.06) !important;
}
body.woocommerce.single-product div.product form.cart table.variations td.value select:focus,
body.woocommerce.single-product div.product form.cart table.variations td.value select:active{
	border-color:#E0001B !important;
	outline:none !important;
	box-shadow:0 0 0 3px rgba(224,0,27,0.12) !important;
}

/* 2. Fiches produit, téléphone : la fiche occupe la largeur de l’écran — ex-snippet « NS-Description-produit-pleine-largeur-V1.1 » (203104) */
@media (max-width:767px){
	/* Conteneur qui porte le bloc dépliant : plus de marge latérale */
	.single-product .e-con:has(> .elementor-widget-n-accordion){
		--padding-left:0;
		--padding-right:0;
		padding-left:0 !important;
		padding-right:0 !important;
	}
	/* Carte blanche du bloc dépliant : marge intérieure réduite */
	.single-product .e-n-accordion .e-n-accordion-item > .e-con{
		padding:14px 12px !important;
	}
	/* Sous-conteneurs à l’intérieur de la carte : aucune marge latérale */
	.single-product .e-n-accordion .e-n-accordion-item > .e-con .e-con,
	.single-product .e-n-accordion .e-n-accordion-item > .e-con .e-con-inner{
		--padding-left:0;
		--padding-right:0;
		padding-left:0 !important;
		padding-right:0 !important;
	}
	.single-product .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor > .elementor-widget-container{
		padding-left:0 !important;
		padding-right:0 !important;
	}
	/* V1.1 — conteneurs qui portent le formulaire d’achat (prix, goût, câble, panier, pack, FLASH15, tableau,
	   aide, produits similaires) : plus de marge latérale, la marge d’écran de la section reste */
	.single-product .e-con.e-child:has(.elementor-widget-woocommerce-product-add-to-cart),
	.single-product .e-con.e-child:has(.elementor-widget-woocommerce-product-images){
		--padding-left:0;
		--padding-right:0;
		padding-left:0 !important;
		padding-right:0 !important;
	}
	/* Tableau des caractéristiques : plus de marge autour */
	.single-product .elementor-widget-woocommerce-product-additional-information > .elementor-widget-container{
		padding-left:0 !important;
		padding-right:0 !important;
	}
}

/* 3. Cartes produits partout (catégories, accueil, nouveautés, produits similaires) — ex-snippet « NS - Cartes produits V1.8 » (203050) */
.woocommerce ul.products li.product,
.elementor-wc-products ul.products li.product{
	position:relative;
	display:flex !important;
	flex-direction:column;
	justify-content:flex-start !important;
	align-items:stretch !important;
	text-align:left !important;
	height:auto !important;
	min-height:0 !important;
	max-height:none !important;
}
.woocommerce ul.products,
.elementor-wc-products ul.products{
	grid-auto-rows:auto !important;
	grid-template-rows:none !important;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link{
	display:flex !important;
	flex-direction:column;
	justify-content:flex-start !important;
	flex:1 1 auto !important;
	height:auto !important;
	min-height:0 !important;
}
.woocommerce ul.products li.product > p,
.elementor-wc-products ul.products li.product > p{
	display:contents !important;
}
.woocommerce ul.products li.product p:empty,
.elementor-wc-products ul.products li.product p:empty,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > br,
.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link > br{
	display:none !important;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > *,
.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link > *{
	flex:0 0 auto !important;
	margin-top:0 !important;
	margin-bottom:0 !important;
}
.woocommerce ul.products li.product h3.woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.elementor-wc-products ul.products li.product h3.woocommerce-loop-product__title,
.elementor-wc-products ul.products li.product h2.woocommerce-loop-product__title{
	font-family:'Montserrat',Arial,sans-serif !important;
	font-size:15px !important;
	font-weight:500 !important;
	line-height:1.35 !important;
	color:#222222 !important;
	text-align:left !important;
	margin:10px 0 6px !important;
	padding:0 !important;
	min-height:61px !important;
	height:auto !important;
	display:-webkit-box;
	-webkit-line-clamp:4;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.woocommerce ul.products li.product span.price,
.elementor-wc-products ul.products li.product span.price{
	display:block !important;
	margin:auto 0 12px !important;
	font-size:18px !important;
	font-weight:700 !important;
	line-height:1.2 !important;
	text-align:left !important;
	color:#111111 !important;
}
.woocommerce ul.products li.product span.price .amount,
.woocommerce ul.products li.product span.price bdi,
.elementor-wc-products ul.products li.product span.price .amount,
.elementor-wc-products ul.products li.product span.price bdi{
	color:inherit !important;
	font-size:inherit !important;
	font-weight:inherit !important;
}
.woocommerce ul.products li.product span.price del,
.elementor-wc-products ul.products li.product span.price del{
	display:inline-block;
	margin-right:8px;
	font-size:14px !important;
	font-weight:400 !important;
	color:#767676 !important;
	opacity:1 !important;
}
.woocommerce ul.products li.product span.price del .amount,
.woocommerce ul.products li.product span.price del bdi,
.elementor-wc-products ul.products li.product span.price del .amount,
.elementor-wc-products ul.products li.product span.price del bdi{
	color:#767676 !important;
	font-weight:400 !important;
}
.woocommerce ul.products li.product span.price ins,
.elementor-wc-products ul.products li.product span.price ins{
	text-decoration:none !important;
	color:#E0001B !important;
	font-weight:700 !important;
}
.woocommerce ul.products li.product span.price ins .amount,
.woocommerce ul.products li.product span.price ins bdi,
.elementor-wc-products ul.products li.product span.price ins .amount,
.elementor-wc-products ul.products li.product span.price ins bdi{
	color:#E0001B !important;
}
.woocommerce ul.products li.product .ns-soldes,
.elementor-wc-products ul.products li.product .ns-soldes{
	position:absolute;
	top:10px;
	left:10px;
	z-index:2;
	margin:0 !important;
}
.woocommerce ul.products li.product .ns-soldes-word,
.elementor-wc-products ul.products li.product .ns-soldes-word{
	display:none !important;
}
.woocommerce ul.products li.product .ns-soldes-pct,
.elementor-wc-products ul.products li.product .ns-soldes-pct{
	display:inline-block;
	background:#E0001B;
	color:#ffffff;
	font-family:'Montserrat',Arial,sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:1;
	padding:6px 9px;
	border-radius:8px;
}
.woocommerce ul.products li.product a.button,
.elementor-wc-products ul.products li.product a.button{
	margin-top:auto !important;
	width:100%;
	box-sizing:border-box;
	text-align:center;
	background:#111111 !important;
	color:#ffffff !important;
	border:0 !important;
	border-radius:10px !important;
	font-family:'Montserrat',Arial,sans-serif !important;
	font-size:13px !important;
	font-weight:600 !important;
	padding:11px 12px !important;
}
.woocommerce ul.products li.product a.button:hover,
.elementor-wc-products ul.products li.product a.button:hover{
	background:#E0001B !important;
	color:#ffffff !important;
}

/* 4. Nom du produit (H1) sur les fiches : Bebas Neue noir, trait rouge — ex-snippet « NS - Titre de fiche produit V1.0 » (203047) */
.single-product h1.product_title,
.single-product .product_title,
.single-product .elementor-widget-woocommerce-product-title h1,
.single-product .elementor-widget-woocommerce-product-title .elementor-heading-title{
	font-family:'Bebas Neue',Arial,sans-serif !important;
	font-weight:400 !important;
	font-size:34px !important;
	line-height:1.1 !important;
	letter-spacing:1px;
	text-transform:uppercase;
	color:#111111 !important;
	text-align:center;
	background:none !important;
	border:0 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	padding:0 16px !important;
	margin:6px auto 4px !important;
}
.single-product h1.product_title::after,
.single-product .elementor-widget-woocommerce-product-title h1::after{
	content:"";
	display:block;
	width:48px;
	height:3px;
	background:#E0001B;
	margin:10px auto 0;
}
.single-product .elementor-widget-woocommerce-product-title > .elementor-widget-container{
	background:none !important;
	border-radius:0 !important;
	padding:0 !important;
	margin:0 !important;
}
.single-product .elementor-widget-woocommerce-product-title{
	margin-bottom:0 !important;
	padding-top:0 !important;
	padding-bottom:0 !important;
}
@media (min-width:1025px){
	.single-product h1.product_title,
	.single-product .elementor-widget-woocommerce-product-title h1{
		font-size:44px !important;
		text-align:left;
		padding:0 !important;
		margin:0 0 16px !important;
	}
	.single-product h1.product_title::after,
	.single-product .elementor-widget-woocommerce-product-title h1::after{
		margin-left:0;
	}
}

/* === ANCIEN BLOC « PANIER » — RELIQUAT (V4.0) ===
   La page Panier est habillée par le snippet « NS - Panier, commande, compte » (n° 203944). Ne reste ici
   que la règle encore active : bordure rouge du bouton « Valider mon panier » au survol et au focus. */

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus {
  background: #E0001B !important;
  border-color: #E0001B !important;
  color: #ffffff !important;
}

/* === CARTES PRODUITS ALIGNÉES ET CHAMP « CODE PROMO » — ordinateur et tablette ===
   1. Cartes produits (catégories, accueil, nouveautés, fiches) : le nom, le prix et le bouton partent tous
      à 11 px du bord de la carte (agit encore sur les grilles WooCommerce classiques, ex. « Nouveautés »).
      Sur téléphone, rien ne change : tout est déjà aligné.
   2. Champ « Code promo » du panier — reliquat (V4.0) : le panier est habillé par le snippet « NS - Panier,
      commande, compte » (n° 203944) ; restent les 2 règles encore actives (largeur du champ, bouton
      « Appliquer » 46 px, marge 22 px, coins 8 px). */

@media (min-width: 769px) {

  /* 1. Nom du produit : même retrait que le prix */
  html .woocommerce ul.products li.product h2.woocommerce-loop-product__title,
  html .woocommerce ul.products li.product h3.woocommerce-loop-product__title,
  html .elementor-wc-products ul.products li.product h2.woocommerce-loop-product__title,
  html .elementor-wc-products ul.products li.product h3.woocommerce-loop-product__title {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  /* 1. Bouton de la carte : même retrait que le nom et le prix */
  html .woocommerce ul.products li.product a.button,
  html .elementor-wc-products ul.products li.product a.button {
    width: auto !important;
    align-self: stretch !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  body.woocommerce-cart td.actions .coupon #coupon_code {
    float: none !important;
    width: 240px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }
  body.woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
    float: none !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
  }
}
