/**
 * Feedback Widget Styles
 * Utilise les patterns du design system Commu (o-dialog, a-button)
 */

/* Bouton flottant */
.feedback-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: var(--color-main-1);
  color: var(--color-greyscale-7);
  border: 2px solid var(--color-main-1);
  box-shadow: 0 4px 12px rgba(117, 115, 255, 0.3);
  cursor: pointer;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  transition-timing-function: var(--transition-timing-function-cubic-bezier);
  transition-duration: var(--transition-duration-0-25);
  transition-property: transform, box-shadow, background-color;
  animation: fadeInUp 0.5s ease-out;
}

.feedback-button:hover {
  transform: scale(1.1);
  background-color: var(--color-greyscale-2);
  border-color: var(--color-greyscale-2);
  box-shadow: 0 6px 20px rgba(117, 115, 255, 0.4);
}

.feedback-button:active {
  transform: scale(0.95);
}

/* Responsive button */
@media (max-width: 768px) {
  .feedback-button {
    bottom: 15px;
    right: 15px;
    width: 56px;
    height: 56px;
  }
}

/* Tous les styles de formulaire sont déjà fournis par commu/base :
 * - m-form-element.css : Structure et espacement
 * - a-text-field.css : Inputs text/email
 * - a-textarea.css : Textarea
 * - a-button.css : Boutons
 * - m-status-messages.css : Messages de succès/erreur
 * Aucun CSS custom nécessaire.
 */

/* Animation du bouton flottant */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Badge "Nouveau" sur le bouton */
.feedback-button::after {
  content: '';
  position: absolute;
  top: -2px;
  right: -2px;
  width: 12px;
  height: 12px;
  background: var(--color-error, #ef4444);
  border-radius: 50%;
  border: 2px solid var(--color-greyscale-7);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.1);
  }
}
