/**
 * FRONTEND STABILITY FIX v2
 * Empêche les déplacements non désirés SANS bloquer le scroll
 */

/* Scroll smooth mais fonctionnel */
html {
  scroll-behavior: smooth;
  overflow-x: hidden; /* Seulement horizontal */
  overflow-y: auto !important; /* Vertical autorisé */
}

body {
  position: relative !important;
  overflow-x: hidden; /* Seulement horizontal */
  overflow-y: auto !important; /* Vertical autorisé */
  min-height: 100vh;
}

/* Stabiliser le conteneur principal MAIS garder scroll */
.main-content,
.app-container,
#app {
  position: relative !important;
  will-change: auto !important;
  overflow-y: auto !important; /* Scroll vertical autorisé */
}

/* Calendrier DOIT pouvoir scroller */
.calendar-v7-container,
.cal-v7-month-grid,
.cal-v7-week-grid,
.cal-v7-day-grid,
[class*="calendar"],
[class*="cal-v7"] {
  overflow-y: auto !important;
  overflow-x: hidden;
  max-height: none !important;
}

/* Empêcher les animations de bouger le viewport (SANS bloquer scroll) */
@keyframes slideUp {
  from { opacity: 0; }
  to { opacity: 1; }
}

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

/* Stabiliser les modals (position fixed OK) */
.modal-overlay,
.cal-v7-modal-overlay,
[class*="modal-overlay"] {
  position: fixed !important;
  inset: 0 !important;
  overflow-y: auto !important; /* Modal peut scroller */
}

.cal-v7-modal-content,
[class*="modal-content"] {
  overflow-y: auto !important;
  max-height: 90vh !important;
}

/* Empêcher les transforms de casser le layout */
.view-container,
[class*="view-"] {
  transform: none !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Fix pour animations - NE PAS toucher au scroll */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Assurer que TOUS les conteneurs peuvent scroller si besoin */
.view-container > *,
#view-calendar,
#view-tasks,
#view-projects,
#view-notes {
  overflow-y: auto !important;
  max-height: none !important; /* Pas de limite, expansion naturelle */
}

/* FIX: Permettre scroll molette partout dans le calendrier */
.calendar-v7-container,
.cal-v7-month-grid,
.cal-v7-main,
#view-calendar {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: auto !important; /* AUTO pour expansion */
  min-height: 500px !important;
  /* CRITIQUE: Capturer les événements de la molette */
  pointer-events: auto !important;
  touch-action: pan-y !important;
}

/* Assurer que le conteneur principal peut scroller */
.view-container {
  overflow-y: auto !important;
  height: auto !important; /* AUTO pour expansion */
  min-height: 100vh !important;
  position: relative !important;
}

/* Tous les enfants du calendrier doivent permettre le scroll */
.calendar-v7-container * {
  pointer-events: auto !important;
}

/* Grid du calendrier doit pouvoir scroller */
.cal-v7-month-view,
.cal-v7-week-view,
.cal-v7-day-view {
  overflow-y: auto !important;
  max-height: none !important;
}
