/* Créé par MS & LC */
/* ==========================================================================
   BUTTONS COMPONENT - Boutons et indicateurs d'action
   ========================================================================== */

.Button {
  display: inline-block;
  border-radius: var(--radius);
  padding: 14px 24px;
  font-family: var(--font-accent);
  font-weight: 600;
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  transition: all var(--transition-base);
  text-decoration: none;
  cursor: pointer;
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.Button:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 3px;
}

.Button:active {
  transform: translateY(0) scale(0.98);
}

.Button:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.Button--primary {
  background: var(--color-accent);
  color: var(--color-primary-dark);
  border-color: var(--color-accent);
}

.Button--primary:hover {
  background: var(--color-accent-light);
  border-color: var(--color-accent-light);
  color: var(--color-primary-dark);
  transform: translateY(-2px);
  text-decoration: none;
}

.Button--secondary {
  background: transparent;
  border: 2px solid var(--color-accent);
  color: var(--color-text-on-light);
}

.Button--secondary:hover {
  background: var(--color-accent);
  color: var(--color-primary);
  transform: translateY(-2px);
  text-decoration: none;
}

.section--dark .Button--secondary,
.DomainHero .Button--secondary {
  color: #fff;
}

.section--dark .Button--secondary:hover,
.DomainHero .Button--secondary:hover {
  color: var(--color-primary);
}

:is(.section--dark, .section--dark-alt) .Button--primary {
  color: var(--color-primary-dark);
}

.Button--subtle {
  background: transparent;
  border: 1px solid var(--color-border);
  color: var(--color-text-muted);
  padding: 10px 18px;
  font-size: var(--text-small);
  text-transform: none;
  letter-spacing: normal;
}

.Button--subtle:hover {
  border-color: var(--color-accent);
  color: var(--color-accent-text);
  background: rgba(195, 148, 91, 0.05);
  transform: translateY(-1px);
  text-decoration: none;
}

/* --------------------------------------------------------------------------
   INDICATEUR D'URGENCE
   -------------------------------------------------------------------------- */

.Button--urgent {
  position: relative;
}

.Button__urgencyDot {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
  animation: urgencyPulse 1.5s infinite;
  flex-shrink: 0;
}

@keyframes urgencyPulse {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(255, 68, 68, 0.7);
  }
  50% {
    opacity: 0.6;
    box-shadow: 0 0 0 6px rgba(255, 68, 68, 0);
  }
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
  .Button__urgencyDot {
    width: 8px;
    height: 8px;
  }
}
