/* Bouton « Mes vidéos » injecté dans le header Elementor — partout côté site */
a.elementor-button.vapro-header-cta-link,
.vapro-header-cta-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 9px 18px !important;
  margin-right: 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #00603C, #00d084) !important;
  background-color: #00603C !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(0, 208, 132, .25) !important;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease !important;
  white-space: nowrap;
  border: 0 !important;
  line-height: 1.2 !important;
}
.vapro-header-cta-link .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.vapro-header-cta-link .elementor-button-icon { display: inline-flex !important; }
.vapro-header-cta-link .elementor-button-text { color: #ffffff !important; }
.vapro-header-cta-link:hover,
.vapro-header-cta-link:focus {
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(0, 208, 132, .35) !important;
  color: #fff !important;
  opacity: 1 !important;
}
.vapro-header-cta-link:active { transform: translateY(0) !important; }
.vapro-header-cta-link svg { display: block; }

/* Pour les thèmes Elementor qui injectent leurs propres classes/states */
.vapro-header-cta-link::before,
.vapro-header-cta-link::after { display: none !important; }
.vapro-header-cta .sub-arrow,
.vapro-header-cta-link .sub-arrow { display: none !important; }

/* Bouton Panier — variante outline avec badge compteur */
.vapro-header-cta-cart {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #00603C !important;
  border: 1px solid #00603C !important;
  box-shadow: 0 4px 12px rgba(0, 96, 60, .15) !important;
  position: relative;
}
.vapro-header-cta-cart .elementor-button-text { color: #00603C !important; }
.vapro-header-cta-cart:hover {
  background: #00603C !important;
  background-color: #00603C !important;
  color: #ffffff !important;
}
.vapro-header-cta-cart:hover .elementor-button-text { color: #ffffff !important; }
.vapro-cart-badge {
  position: absolute;
  top: -10px; right: -12px;
  min-width: 22px; height: 22px; padding: 0 6px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  background: #00603C;
  color: #ffffff !important;
  font-size: 11px; font-weight: 700;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
  line-height: 1;
}
@keyframes vapro-bump {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.4); }
}
.vapro-cart-badge.is-bumping { animation: vapro-bump .35s ease; }
