/**
 * ============================================================================
 * CONFIRM DIALOG - Styles pour la modale de confirmation
 * ============================================================================
 * Modale réutilisable pour remplacer window.confirm() et window.alert()
 * ============================================================================
 */

/* ============================================================================
   VARIABLES CSS SPÉCIFIQUES AU DIALOG
   ============================================================================ */

:root {
  /* Dimensions de la modale */
  --confirm-dialog-max-width: 500px;
  --confirm-dialog-padding: 25px;
  --confirm-dialog-border-radius: 12px;

  /* Espacement des éléments */
  --confirm-dialog-header-margin: 0 0 20px 0;
  --confirm-dialog-body-margin: 0 0 25px 0;
  --confirm-dialog-actions-gap: 15px;

  /* Boutons */
  --confirm-btn-padding: 12px 30px;
  --confirm-btn-border-radius: 8px;
  --confirm-btn-font-size: 1.05em;
  --confirm-btn-min-width: 120px;

  /* Animations */
  --confirm-dialog-animation-duration: 0.3s;

  /* Couleurs */
  --confirm-btn-primary-bg: var(--primary-color);
  --confirm-btn-primary-hover: #1a5266;
  --confirm-btn-secondary-bg: #6c757d;
  --confirm-btn-secondary-hover: #5a6268;

  /* Ombres */
  --confirm-dialog-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  --confirm-btn-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  --confirm-btn-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* ============================================================================
   MODAL CONTENT PERSONNALISÉ
   ============================================================================ */

#confirmDialog .confirm-dialog-content {
  max-width: var(--confirm-dialog-max-width);
  padding: var(--confirm-dialog-padding);
  border-radius: var(--confirm-dialog-border-radius);
  box-shadow: var(--confirm-dialog-shadow);
}

/* ============================================================================
   HEADER
   ============================================================================ */

#confirmDialog .modal-header {
  margin: var(--confirm-dialog-header-margin);
  border-bottom: 2px solid var(--border-color);
  padding-bottom: 15px;
}

#confirmDialog .modal-header h2 {
  margin: 0;
  color: var(--text-dark);
  font-size: 1.5em;
  font-weight: 600;
}

/* ============================================================================
   BODY
   ============================================================================ */

.confirm-dialog-body {
  margin: var(--confirm-dialog-body-margin);
  padding: 10px 0;
}

.confirm-dialog-body p {
  margin: 0;
  color: var(--text-dark);
  font-size: 1.1em;
  line-height: 1.6;
  white-space: pre-wrap; /* Préserver les sauts de ligne dans le message */
  word-wrap: break-word;
}

/* ============================================================================
   ACTIONS (BOUTONS)
   ============================================================================ */

.confirm-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--confirm-dialog-actions-gap);
  padding-top: 10px;
  border-top: 1px solid var(--border-color);
}

.confirm-dialog-actions button {
  padding: var(--confirm-btn-padding);
  border: none;
  border-radius: var(--confirm-btn-border-radius);
  font-size: var(--confirm-btn-font-size);
  font-weight: 600;
  min-width: var(--confirm-btn-min-width);
  cursor: pointer;
  transition: all var(--transition-speed);
  box-shadow: var(--confirm-btn-shadow);
}

.confirm-dialog-actions button:hover {
  transform: translateY(-2px);
  box-shadow: var(--confirm-btn-shadow-hover);
}

.confirm-dialog-actions button:active {
  transform: translateY(0);
  box-shadow: var(--confirm-btn-shadow);
}

.confirm-dialog-actions button:focus {
  outline: none;
  box-shadow: var(--confirm-btn-shadow-hover),
              0 0 0 3px rgba(44, 83, 100, 0.2);
}

/* Bouton primaire (Confirmer / OK) */
.confirm-dialog-actions .btn-primary {
  background: var(--confirm-btn-primary-bg);
  color: white;
}

.confirm-dialog-actions .btn-primary:hover {
  background: var(--confirm-btn-primary-hover);
}

.confirm-dialog-actions .btn-primary:focus {
  box-shadow: var(--confirm-btn-shadow-hover),
              0 0 0 3px rgba(44, 83, 100, 0.3);
}

/* Bouton secondaire (Annuler) */
.confirm-dialog-actions .btn-secondary {
  background: var(--confirm-btn-secondary-bg);
  color: white;
}

.confirm-dialog-actions .btn-secondary:hover {
  background: var(--confirm-btn-secondary-hover);
}

.confirm-dialog-actions .btn-secondary:focus {
  box-shadow: var(--confirm-btn-shadow-hover),
              0 0 0 3px rgba(108, 117, 125, 0.3);
}

/* ============================================================================
   ANIMATIONS
   ============================================================================ */

#confirmDialog {
  animation: fadeInDialog var(--confirm-dialog-animation-duration) ease;
}

#confirmDialog .confirm-dialog-content {
  animation: scaleInDialog var(--confirm-dialog-animation-duration) ease;
}

@keyframes fadeInDialog {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes scaleInDialog {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* ============================================================================
   RESPONSIVE - MOBILE
   ============================================================================ */

@media (max-width: 600px) {
  #confirmDialog .confirm-dialog-content {
    max-width: 90%;
    padding: 20px;
  }

  #confirmDialog .modal-header h2 {
    font-size: 1.3em;
  }

  .confirm-dialog-body p {
    font-size: 1em;
  }

  .confirm-dialog-actions {
    flex-direction: column-reverse;
    gap: 10px;
  }

  .confirm-dialog-actions button {
    width: 100%;
    min-width: unset;
  }
}

/* ============================================================================
   ACCESSIBILITÉ
   ============================================================================ */

/* Améliorer le contraste pour le focus */
.confirm-dialog-actions button:focus-visible {
  outline: 3px solid var(--primary-color);
  outline-offset: 2px;
}

/* Support pour prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  #confirmDialog,
  #confirmDialog .confirm-dialog-content {
    animation: none;
  }

  .confirm-dialog-actions button {
    transition: none;
  }

  .confirm-dialog-actions button:hover {
    transform: none;
  }
}
