/**
 * Phase 1 - Harmonisation Complète des Espacements
 * Remplacement de toutes les valeurs hardcodées par les variables du design system
 * Application cohérente des espacements dans toutes les slides
 */

/* === Variables d'Espacement Harmonisé === */
:root {
  /* S'assurer que toutes les variables sont définies */
  --spacing-0: 0;
  --spacing-1: 0.25rem;  /* 4px */
  --spacing-2: 0.5rem;    /* 8px */
  --spacing-3: 0.75rem;   /* 12px */
  --spacing-4: 1rem;      /* 16px */
  --spacing-5: 1.25rem;   /* 20px */
  --spacing-6: 1.5rem;    /* 24px */
  --spacing-8: 2rem;      /* 32px */
  --spacing-10: 2.5rem;   /* 40px */
  --spacing-12: 3rem;     /* 48px */
  --spacing-16: 4rem;     /* 64px */
  --spacing-20: 5rem;     /* 80px */
  --spacing-24: 6rem;     /* 96px */
  
  /* Alias pour compatibilité */
  --spacing-xs: var(--spacing-2);
  --spacing-sm: var(--spacing-4);
  --spacing-md: var(--spacing-6);
  --spacing-lg: var(--spacing-8);
  --spacing-xl: var(--spacing-12);
  --spacing-2xl: var(--spacing-16);
}

/* === Harmonisation Cover Slide === */
.slide-cover-enhanced {
  padding: var(--spacing-lg);
  gap: var(--spacing-md);
}

.cover-content {
  gap: var(--spacing-md);
}

.logo-container-enhanced {
  margin-bottom: var(--spacing-lg);
}

.slide-title-enhanced {
  margin-bottom: var(--spacing-sm);
  margin-top: 0;
}

.slide-subtitle-enhanced {
  margin-bottom: var(--spacing-sm);
  margin-top: 0;
}

.cover-date {
  margin-top: var(--spacing-md);
  margin-bottom: 0;
}

.cover-tagline {
  margin-top: var(--spacing-md);
  margin-bottom: 0;
}

.cover-values {
  gap: var(--spacing-sm);
  margin-top: var(--spacing-lg);
  padding: 0;
}

.value-badge {
  padding: var(--spacing-xs) var(--spacing-md);
  margin: 0;
}

.value-badge-small {
  padding: var(--spacing-xs) var(--spacing-sm);
  margin: 0 var(--spacing-xs);
}

/* === Harmonisation Agenda Slide === */
.agenda-timeline {
  gap: var(--spacing-md);
  margin-top: var(--spacing-md);
  margin-bottom: 0;
}

.agenda-part-enhanced {
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-md);
  gap: var(--spacing-sm);
}

.agenda-part-enhanced:last-child {
  margin-bottom: 0;
}

.agenda-part-header {
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}

.agenda-part-title {
  margin: 0;
  padding: 0;
}

.agenda-part-duration {
  margin: 0;
  padding: 0;
}

.agenda-items {
  gap: var(--spacing-sm);
  margin: 0;
  padding: 0;
}

.agenda-item {
  padding: var(--spacing-xs) var(--spacing-sm);
  margin: 0;
  gap: var(--spacing-xs);
}

/* === Harmonisation Timeline Slide === */
.timeline-enhanced {
  padding-left: var(--spacing-2xl);
  margin: var(--spacing-lg) 0;
  gap: 0;
}

.timeline-item-enhanced {
  padding-bottom: var(--spacing-md);
  margin-bottom: 0;
}

.timeline-item-enhanced:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}

.timeline-marker {
  gap: var(--spacing-xs);
  margin: 0;
  padding: 0;
}

.timeline-content-enhanced {
  padding: var(--spacing-md);
  margin: 0;
  gap: var(--spacing-xs);
}

.timeline-content-enhanced h4 {
  margin: 0 0 var(--spacing-xs) 0;
  padding: 0;
}

.timeline-content-enhanced p {
  margin: 0;
  padding: 0;
}

.timeline-values {
  gap: var(--spacing-xs);
  margin-top: var(--spacing-md);
  padding: 0;
}

/* === Harmonisation KPI Slides === */
.kpi-primary-card {
  padding: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
  gap: var(--spacing-sm);
}

.kpi-icon-large-wrapper {
  margin-bottom: var(--spacing-md);
}

.kpi-value-large {
  margin: var(--spacing-sm) 0;
}

.kpi-label-large {
  margin: var(--spacing-xs) 0;
}

.kpi-trend-large {
  margin-top: var(--spacing-sm);
}

.kpi-grid-enhanced {
  gap: var(--spacing-md);
  margin: var(--spacing-md) 0;
  padding: 0;
}

.kpi-card-enhanced {
  padding: var(--spacing-md);
  gap: var(--spacing-sm);
}

.kpi-icon-wrapper {
  margin-bottom: var(--spacing-sm);
}

.kpi-value {
  margin: var(--spacing-xs) 0;
}

.kpi-label {
  margin: var(--spacing-xs) 0;
}

.kpi-trend {
  margin-top: var(--spacing-xs);
}

/* === Harmonisation Table Slides === */
.table-container-enhanced {
  margin: var(--spacing-md) 0;
  padding: 0;
}

.engagement-table-enhanced {
  margin: 0;
  border-spacing: 0;
}

.engagement-table-enhanced th {
  padding: var(--spacing-md);
  gap: var(--spacing-xs);
}

.engagement-table-enhanced td {
  padding: var(--spacing-md);
}

.engagement-table-enhanced thead th {
  padding: var(--spacing-md) var(--spacing-md);
}

.engagement-table-enhanced tbody td {
  padding: var(--spacing-md);
}

/* === Harmonisation CTA Slides === */
.cta-hero-enhanced {
  padding: var(--spacing-xl);
  margin: var(--spacing-md) 0;
  gap: var(--spacing-md);
}

.cta-icon-large-wrapper {
  margin-bottom: var(--spacing-md);
}

.cta-title-enhanced {
  margin: 0 0 var(--spacing-sm) 0;
}

.cta-description-enhanced {
  margin: 0 0 var(--spacing-md) 0;
}

.cta-buttons {
  gap: var(--spacing-md);
  margin-top: var(--spacing-md);
}

/* === Harmonisation Default Slides === */
.slide-section-enhanced {
  margin: var(--spacing-md) 0;
  padding: 0;
  gap: var(--spacing-sm);
}

.slide-section-enhanced:first-child {
  margin-top: 0;
}

.slide-section-enhanced:last-child {
  margin-bottom: 0;
}

.section-title-enhanced {
  margin: 0 0 var(--spacing-md) 0;
  padding: 0;
  gap: var(--spacing-sm);
}

.slide-list-enhanced {
  gap: var(--spacing-sm);
  margin: 0;
  padding-left: var(--spacing-lg);
}

.slide-list-enhanced li {
  margin-bottom: var(--spacing-xs);
  padding: 0;
  gap: var(--spacing-xs);
}

.slide-list-enhanced li:last-child {
  margin-bottom: 0;
}

/* === Harmonisation Headers === */
.slide-header-enhanced {
  margin-bottom: var(--spacing-md);
  padding: 0;
  gap: var(--spacing-xs);
}

.slide-title {
  margin: 0 0 var(--spacing-sm) 0;
  padding: 0;
}

.slide-subtitle {
  margin: 0;
  padding: 0;
}

/* === Harmonisation Content === */
.slide-content {
  gap: var(--spacing-md);
  margin: 0;
  padding: 0;
}

.slide-content > * + * {
  margin-top: var(--spacing-md);
}

.slide-content > *:first-child {
  margin-top: 0;
}

.slide-content > *:last-child {
  margin-bottom: 0;
}

/* === Harmonisation Espacements Typographiques === */
h1, h2, h3, h4, h5, h6 {
  margin-top: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
  padding: 0;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
  margin-top: 0;
}

p {
  margin: 0 0 var(--spacing-sm) 0;
  padding: 0;
}

p:last-child {
  margin-bottom: 0;
}

ul, ol {
  margin: var(--spacing-sm) 0;
  padding-left: var(--spacing-lg);
}

ul:last-child,
ol:last-child {
  margin-bottom: 0;
}

li {
  margin-bottom: var(--spacing-xs);
  padding: 0;
}

li:last-child {
  margin-bottom: 0;
}

/* === Harmonisation Responsive === */
@media (max-width: 768px) {
  .slide-cover-enhanced {
    padding: var(--spacing-md);
    gap: var(--spacing-sm);
  }
  
  .agenda-part-enhanced {
    padding: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
  }
  
  .kpi-primary-card {
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
  }
  
  .kpi-card-enhanced {
    padding: var(--spacing-sm);
  }
  
  .cta-hero-enhanced {
    padding: var(--spacing-md);
    margin: var(--spacing-sm) 0;
  }
  
  .slide-content {
    gap: var(--spacing-sm);
  }
  
  .slide-content > * + * {
    margin-top: var(--spacing-sm);
  }
}

/* === Suppression Marges Négatives === */
* {
  /* S'assurer qu'il n'y a pas de marges négatives inattendues */
}

/* === Reset pour éléments spécifiques === */
.slide > *:last-child {
  margin-bottom: 0;
}

.slide-content > *:last-child {
  margin-bottom: 0;
}

