a, 
button, 
.elementor-button, 
.elementor-clickable, 
input[type="submit"], 
.wp-block-button__link {
    cursor: pointer !important;
}

@keyframes shineSweepBleu {
  0% { 
    background-position: 200%; 
  }
  100% { 
    background-position: -200%; 
  }
}

.boucle-reflet {
  background: linear-gradient(120deg, #ffffff 35%, #002B66 50%, #FFFFFF 65%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shineSweepBleu 4s infinite linear;
}

/* Conteneur principal du titre HTML */
.titre-double {
  position: relative !important;
  display: block !important;
  text-align: center !important;
  margin: 0 auto !important;
  z-index: 1 !important;
}

/* Texte d'arrière-plan */
.titre-double::before {
  content: attr(data-texte) !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 1.8em !important; /* Taille ajustée pour être plus petite que sur l'image exemple */
  font-weight: 900 !important;
  color: rgba(255, 255, 255, 0.12) !important; /* Blanc semi-transparent adapté au fond bleu */
  white-space: nowrap !important;
  z-index: -1 !important;
  pointer-events: none !important;
  text-transform: uppercase !important;
  width: 100% !important;
}


/* 1. Bloque tout débordement global sur la page */
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* 2. Conteneur (bande noire) */
.bandeau-noir {
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* 3. Animation et taille du texte (empêche la coupure sur mobile) */
.texte-defilant {
  display: inline-block !important;
  white-space: nowrap !important;
  max-width: none !important;
  width: auto !important;
  will-change: transform;
  animation: defilement 20s linear infinite !important;
}

@keyframes defilement {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* 4. Grille produits en 1 colonne sur mobile */
@media screen and (max-width: 600px) {
  .grille-produits-mobile .wp-block-woocommerce-product-template,
  .grille-produits-mobile.wp-block-woocommerce-product-template,
  .grille-produits-mobile .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }

  .grille-produits-mobile .wc-block-product,
  .grille-produits-mobile .wp-block-post {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Masque la quantité et le bouton d'ajout au panier sur la fiche produit */
.single-product .quantity,
.single-product .single_add_to_cart_button,
.wp-block-woocommerce-add-to-cart-form .quantity,
.wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
  display: none !important;
}