/* ============================================================
   Unified button hovers — blue → orange → yellow (client site)
   Load after enhancement.css; on exposants/sponsor/visiteurs also
   after exposants.css so overrides win.
   ============================================================ */

:root {
  /* Algeria Job Summit: deep blue → royal blue → orange → amber → gold */
  --ajs-bh-grad: linear-gradient(135deg, #21409a 0%, #1d4ed8 26%, #2563eb 42%, #ed952b 58%, #f59e0b 78%, #facc15 100%);
  --ajs-bh-shadow: 0 18px 44px -10px rgba(33, 64, 154, 0.48),
    0 12px 32px -10px rgba(237, 149, 43, 0.38),
    0 6px 20px -8px rgba(250, 204, 21, 0.32);
  --ajs-bh-transition: background 0.35s cubic-bezier(0.165, 0.84, 0.44, 1),
    border-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
}

/* ── Bootstrap & generic .btn (exclude links / close / accordion) ── */
.btn:not(.btn-link):not(.btn-close):not(.accordion-button):hover,
.btn:not(.btn-link):not(.btn-close):not(.accordion-button):focus-visible {
  transition: var(--ajs-bh-transition) !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.btn-secondary:hover,
.btn-secondary:focus-visible,
.btn-success:hover,
.btn-info:hover,
.btn-warning:hover,
.btn-danger:hover,
.btn-dark:hover,
.btn-cta:hover,
.btn-cta:focus-visible,
.btn-ticket:hover,
.btn-ticket:focus-visible {
  background: var(--ajs-bh-grad) !important;
  background-image: var(--ajs-bh-grad) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

.btn-light:hover,
.btn-light:focus-visible {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-dark:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover {
  background: var(--ajs-bh-grad) !important;
  background-image: var(--ajs-bh-grad) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

.btn-outline-light:hover,
.btn-outline-light:focus-visible {
  background: var(--ajs-bh-grad) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

/* Newsletter / CTA submit */
.btn-subscribe:hover,
.btn-subscribe:focus-visible {
  background: var(--ajs-bh-grad) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

/* Hero CTA (class may exist without .btn) */
.btn-hero:hover,
.btn-hero:focus-visible {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

/* Enhancement premium / outline pair */
.btn-premium:hover,
.btn-premium:focus-visible {
  background: var(--ajs-bh-grad) !important;
  background-image: var(--ajs-bh-grad) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow: var(--ajs-bh-shadow) !important;
}

.btn-secondary-outline:hover,
.btn-secondary-outline:focus-visible {
  background: var(--ajs-bh-grad) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
}

/* Header badge CTAs */
.btn-badge:hover,
.btn-badge:focus-visible {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-2px);
}

.btn-badge span {
  transition: color 0.3s ease;
}

.btn-badge:hover span,
.btn-badge:focus-visible span {
  color: #fff !important;
}

.btn-badge-secondary:hover,
.btn-badge-secondary:focus-visible {
  background: var(--ajs-bh-grad) !important;
  box-shadow: var(--ajs-bh-shadow) !important;
}

.btn-badge-outline:hover,
.btn-badge-outline:focus-visible {
  background: var(--ajs-bh-grad) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
}

.lang-btn:hover,
.lang-btn:focus-visible {
  background: var(--ajs-bh-grad) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
}

.mobile-lang-btn:hover,
.mobile-lang-btn:focus-visible {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  box-shadow: var(--ajs-bh-shadow) !important;
}

/* Countdown section CTAs (excluded from generic override to prevent 'decalage') */
.countdown-actions .cd-btn:hover,
.cd-btn:hover {
  /* Let custom styles in count_down.css handle this */
}

.countdown-actions .cd-btn::after,
.cd-btn::after {
  display: none !important;
  opacity: 0 !important;
}

/* Pack / exposant page CTAs */
.pack-cta:hover,
.pack-cta:focus-visible {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

.pack-card-premium:hover .pack-cta,
.pack-card-premium:focus-within .pack-cta {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
}

.pack-cta-btn:hover,
.pack-cta-btn:focus-visible,
.pack-cta-btn--blue:hover,
.pack-cta-btn--orange:hover,
.btn-cta:hover,
.expo-submit-btn:hover,
.btn-submit:hover,
.btn-pack-primary:hover,
.btn-pack-outline:hover,
.btn-pack-gold:hover {
  background: var(--ajs-bh-grad) !important;
  background-image: var(--ajs-bh-grad) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

.btn-pack-outline:hover {
  color: #fff !important;
}

.btn-pack-gold:hover {
  color: #fff !important;
}

/* Exposant inline links styled as buttons */
.expo-cta-link:hover,
.expo-cta-link:focus-visible {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  box-shadow: var(--ajs-bh-shadow) !important;
}

/* FAQ chatbar / floating actions if they use .btn */
.faq-chatbar .btn:hover:not(.btn-link),
.faq-chatbar .btn:focus-visible:not(.btn-link) {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  box-shadow: var(--ajs-bh-shadow) !important;
}

/* Social circles — lighter treatment */
.social-btn:hover,
.social-btn:focus-visible {
  background: var(--ajs-bh-grad) !important;
  color: #fff !important;
  box-shadow: var(--ajs-bh-shadow) !important;
  transform: translateY(-3px);
}

/* Programme / schedule pills often use .nav-link — skip unless .btn */

/* Form submit buttons without .btn */
input[type="submit"]:not(.btn-link):hover,
button[type="submit"]:not(.btn-link):not(.accordion-button):hover {
  filter: brightness(1.05);
}

input[type="submit"].btn:hover,
button[type="submit"].btn:hover {
  /* covered by .btn-primary etc. */
}
