/**
 * SOMEF Maroc - Styles de Présentation Améliorés
 * Designs élégants avec animations et meilleure hiérarchie visuelle
 * Intégré avec le système HTML-MAKER
 */

/* === Import des styles de base === */
@import url('presentation.css');

/* === Variables supplémentaires === */
:root {
  --animation-duration: 0.3s;
  --animation-easing: cubic-bezier(0.4, 0, 0.2, 1);
  --shadow-elevated: 0 4px 16px rgba(0, 0, 0, 0.08);
  --shadow-hover: 0 6px 24px rgba(0, 0, 0, 0.12);
  
  /* Couleurs SOMEF officielles */
  --somef-primary: #d22741;
  --somef-secondary: #2b3c45;
  --somef-primary-dark: #b01e35;
  --somef-primary-light: #e63957;
  --somef-secondary-light: #3d5561;
  
  --gradient-primary: linear-gradient(135deg, #d22741 0%, #b01e35 100%);
  --gradient-secondary: linear-gradient(135deg, #2b3c45 0%, #1e2a30 100%);
  --gradient-accent: linear-gradient(135deg, #d22741 0%, #e63957 100%);
}

/* === Fullscreen Mode Enhanced === */
body.fullscreen,
:fullscreen {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}

body.fullscreen .slides-container,
:fullscreen .slides-container {
  width: 100vw;
  height: 100vh;
  max-width: 100vw;
  max-height: 100vh;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  gap: 0;
}

body.fullscreen .slide.active,
:fullscreen .slide.active {
  width: 100vw;
  height: 100vh;
  max-width: 100vw;
  max-height: 100vh;
  min-height: 100vh;
  margin: 0;
  padding: var(--spacing-xl);
  border-radius: 0;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  overflow-x: hidden;
}

body.fullscreen .fullscreen-btn,
body.fullscreen .slide-navigation,
:fullscreen .fullscreen-btn,
:fullscreen .slide-navigation {
  display: none !important;
  visibility: hidden;
  opacity: 0;
}

/* === Animations === */
@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

@keyframes glow {
  0%, 100% { box-shadow: 0 0 20px rgba(210, 39, 65, 0.3); }
  50% { box-shadow: 0 0 40px rgba(210, 39, 65, 0.6); }
}

/* === Cover Slide Enhanced === */
.slide-cover-enhanced {
  position: relative;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.cover-background-animated {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(-45deg, #d22741, #b01e35, #e63957, #d22741);
  background-size: 400% 400%;
  animation: gradientShift 15s ease infinite;
  opacity: 0.95;
  z-index: 0;
}

.cover-content {
  position: relative;
  z-index: 1;
  animation: fadeInUp 0.8s var(--animation-easing);
}

.logo-container-enhanced {
  position: relative;
  margin-bottom: var(--spacing-xl);
  animation: fadeInUp 0.8s var(--animation-easing) 0.2s both;
}

.logo-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: pulse 3s ease-in-out infinite;
  pointer-events: none;
}

.slide-title-enhanced {
  font-size: var(--font-size-5xl, 3rem);
  font-weight: var(--font-weight-extrabold, 800);
  color: white;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  margin-bottom: var(--spacing-md);
  animation: fadeInUp 0.8s var(--animation-easing) 0.4s both;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.slide-subtitle-enhanced {
  font-size: var(--font-size-xl, 1.25rem);
  color: rgba(255, 255, 255, 0.95);
  font-weight: var(--font-weight-medium, 500);
  animation: fadeInUp 0.8s var(--animation-easing) 0.6s both;
  margin-bottom: var(--spacing-md);
}

.cover-date {
  margin-top: var(--spacing-lg);
  font-size: var(--font-size-lg, 1.125rem);
  color: rgba(255, 255, 255, 0.9);
  font-weight: var(--font-weight-medium, 500);
  animation: fadeInUp 0.8s var(--animation-easing) 0.8s both;
}

.cover-tagline {
  margin-top: var(--spacing-md);
  font-size: var(--font-size-xl, 1.25rem);
  color: rgba(255, 255, 255, 0.95);
  font-weight: var(--font-weight-semibold, 600);
  animation: fadeInUp 0.8s var(--animation-easing) 1s both;
}

.cover-values {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  justify-content: center;
  margin-top: var(--spacing-lg);
  animation: fadeInUp 0.8s var(--animation-easing) 1.2s both;
}

.value-badge {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: var(--spacing-xs) var(--spacing-md);
  border-radius: 50px;
  font-size: var(--font-size-sm, 0.875rem);
  font-weight: var(--font-weight-semibold, 600);
  color: white;
  transition: all var(--animation-duration) var(--animation-easing);
}

.value-badge:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}

.value-badge-small {
  background: var(--color-surface-elevated, #f8fafc);
  border: 1px solid var(--color-border, #e2e8f0);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: 20px;
  font-size: var(--font-size-xs, 0.75rem);
  font-weight: var(--font-weight-medium, 500);
  color: var(--somef-primary, #d22741);
  margin: 0 var(--spacing-xs);
}

/* === Agenda Enhanced === */
.agenda-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
  margin-top: var(--spacing-md);
}

.agenda-part-enhanced {
  background: var(--color-surface, #ffffff);
  border-radius: 8px;
  padding: var(--spacing-lg);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border-left: 3px solid;
  transition: all var(--animation-duration) var(--animation-easing);
  animation: fadeInUp 0.6s var(--animation-easing);
  border: 1px solid var(--color-border, #e2e8f0);
}

.agenda-part-enhanced:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.agenda-part-enhanced[data-color="primary"] {
  border-left-color: var(--somef-primary, #d22741);
}

.agenda-part-enhanced[data-color="secondary"] {
  border-left-color: var(--somef-secondary, #2b3c45);
}

.agenda-part-enhanced[data-color="accent"] {
  border-left-color: var(--color-accent, #ff6b6b);
}

.agenda-part-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}

.agenda-icon-wrapper {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface-elevated, #f8fafc);
  border-radius: 8px;
  flex-shrink: 0;
  border: 1px solid var(--color-border, #e2e8f0);
}

.agenda-icon {
  width: 28px;
  height: 28px;
  color: var(--somef-primary, #d22741);
  stroke-width: 1.5;
}

.agenda-part-info {
  flex: 1;
}

.agenda-part-title {
  font-family: 'Montserrat', var(--font-family-base);
  font-size: var(--font-size-xl, 1.25rem);
  font-weight: var(--font-weight-bold, 700);
  color: var(--somef-primary, #d22741);
  margin: 0 0 var(--spacing-xs) 0;
}

.agenda-part-duration-badge {
  display: inline-block;
  background: var(--color-surface-elevated, #f8fafc);
  color: var(--color-text-secondary, #64748b);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: 20px;
  font-size: var(--font-size-sm, 0.875rem);
  font-weight: var(--font-weight-medium, 500);
}

.agenda-items-enhanced {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.agenda-items-enhanced li {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-xs) 0;
  color: var(--color-text, #1a1a1a);
  font-size: var(--font-size-base, 1rem);
  line-height: 1.5;
}

.agenda-arrow {
  width: 20px;
  height: 20px;
  color: var(--somef-primary, #d22741);
  flex-shrink: 0;
}

/* === Timeline Enhanced === */
.timeline-enhanced {
  position: relative;
  padding-left: var(--spacing-2xl);
  margin: var(--spacing-lg) 0;
}

.timeline-enhanced::before {
  content: '';
  position: absolute;
  left: 24px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--somef-primary, #d22741), var(--somef-secondary, #2b3c45));
  border-radius: 1px;
}

.timeline-item-enhanced {
  position: relative;
  padding-bottom: var(--spacing-lg);
  animation: fadeInUp 0.6s var(--animation-easing);
}

.timeline-item-enhanced.milestone {
  padding-bottom: var(--spacing-xl);
}

.timeline-marker {
  position: absolute;
  left: calc(-1 * var(--spacing-2xl));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-xs);
}

.timeline-icon-wrapper {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface, #ffffff);
  border: 2px solid var(--somef-primary, #d22741);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(210, 39, 65, 0.15);
  z-index: 1;
}

.timeline-icon {
  width: 24px;
  height: 24px;
  color: var(--somef-primary, #d22741);
  stroke-width: 1.5;
}

.timeline-year {
  font-size: var(--font-size-sm, 0.875rem);
  font-weight: var(--font-weight-bold, 700);
  color: var(--somef-primary, #d22741);
  background: var(--color-surface, #ffffff);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: 4px;
  border: 1px solid var(--somef-primary, #d22741);
  white-space: nowrap;
}

.timeline-content-enhanced {
  padding-left: var(--spacing-md);
  background: var(--color-surface-elevated, #f8fafc);
  padding: var(--spacing-md);
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  transition: all var(--animation-duration) var(--animation-easing);
  border: 1px solid var(--color-border, #e2e8f0);
}

.timeline-content-enhanced:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: translateX(2px);
}

.timeline-content-enhanced h4 {
  font-family: 'Montserrat', var(--font-family-base);
  font-size: var(--font-size-lg, 1.125rem);
  font-weight: var(--font-weight-bold, 700);
  color: var(--somef-primary, #d22741);
  margin: 0 0 var(--spacing-xs) 0;
}

.timeline-values {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xs);
  margin-top: var(--spacing-md);
  justify-content: center;
}

/* === KPI Enhanced === */
.kpi-primary-card {
  background: var(--gradient-primary);
  color: white;
  padding: var(--spacing-xl);
  border-radius: 12px;
  text-align: center;
  margin-bottom: var(--spacing-lg);
  box-shadow: 0 4px 16px rgba(210, 39, 65, 0.2);
  animation: fadeInUp 0.6s var(--animation-easing);
  position: relative;
  overflow: hidden;
}

.kpi-primary-card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
  animation: pulse 4s ease-in-out infinite;
}

.kpi-icon-large-wrapper {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  margin: 0 auto var(--spacing-md);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.kpi-icon-large {
  width: 40px;
  height: 40px;
  color: white;
  stroke-width: 1.5;
}

.kpi-value-large {
  font-size: var(--font-size-5xl, 3rem);
  font-weight: var(--font-weight-extrabold, 800);
  margin: var(--spacing-md) 0;
  line-height: 1.2;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.kpi-label-large {
  font-size: var(--font-size-xl, 1.25rem);
  font-weight: var(--font-weight-semibold, 600);
  opacity: 0.95;
  margin-top: var(--spacing-sm);
}

.kpi-trend-large {
  font-size: var(--font-size-lg, 1.125rem);
  margin-top: var(--spacing-md);
  opacity: 0.9;
  font-weight: var(--font-weight-medium, 500);
}

.kpi-grid-enhanced {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--spacing-md);
  margin: var(--spacing-lg) 0;
}

.kpi-card-enhanced {
  background: var(--color-surface, #ffffff);
  padding: var(--spacing-lg);
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid var(--color-border, #e2e8f0);
  transition: all var(--animation-duration) var(--animation-easing);
  animation: fadeInUp 0.6s var(--animation-easing);
  position: relative;
}

.kpi-card-enhanced::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gradient-primary);
  transform: scaleX(0);
  transition: transform var(--animation-duration) var(--animation-easing);
}

.kpi-card-enhanced:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-hover);
}

.kpi-card-enhanced:hover::before {
  transform: scaleX(1);
}

.kpi-icon-wrapper {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface-elevated, #f8fafc);
  border-radius: 8px;
  margin: 0 auto var(--spacing-md);
  border: 1px solid var(--color-border, #e2e8f0);
}

.kpi-icon {
  width: 24px;
  height: 24px;
  color: var(--somef-primary, #d22741);
  stroke-width: 1.5;
}

.kpi-value {
  font-size: var(--font-size-3xl, 1.875rem);
  font-weight: var(--font-weight-bold, 700);
  color: var(--somef-primary, #d22741);
  margin: var(--spacing-sm) 0;
  line-height: 1.2;
}

.kpi-label {
  font-size: var(--font-size-base, 1rem);
  color: var(--color-text-secondary, #64748b);
  font-weight: var(--font-weight-medium, 500);
  margin-top: var(--spacing-xs);
}

.kpi-trend {
  font-size: var(--font-size-sm, 0.875rem);
  color: var(--color-accent, #ff6b6b);
  margin-top: var(--spacing-xs);
  font-weight: var(--font-weight-semibold, 600);
}

/* === Table Enhanced === */
.table-container-enhanced {
  overflow-x: auto;
  margin: var(--spacing-xl) 0;
  border-radius: 12px;
  box-shadow: var(--shadow-elevated);
}

.engagement-table-enhanced {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-base, 1rem);
  background: var(--color-surface, #ffffff);
  border-radius: 12px;
  overflow: hidden;
}

.engagement-table-enhanced th {
  background: var(--gradient-primary);
  color: white;
  padding: var(--spacing-md) var(--spacing-lg);
  text-align: left;
  font-weight: var(--font-weight-semibold, 600);
  font-size: var(--font-size-sm, 0.875rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  position: relative;
}

.engagement-table-enhanced th i {
  display: inline-block;
  vertical-align: middle;
  margin-left: var(--spacing-xs);
}

.engagement-table-enhanced th {
  display: table-cell;
}

.table-sort-icon {
  width: 16px;
  height: 16px;
  opacity: 0.7;
}

.engagement-table-enhanced td {
  padding: var(--spacing-md) var(--spacing-lg);
  border-bottom: 1px solid var(--color-border, #e2e8f0);
  color: var(--color-text, #1a1a1a);
  transition: background var(--animation-duration) var(--animation-easing);
}

.engagement-table-enhanced tr:hover {
  background: var(--color-surface-elevated, #f8fafc);
}

.engagement-table-enhanced tr.highlight-row {
  background: rgba(210, 39, 65, 0.05);
  font-weight: var(--font-weight-semibold, 600);
}

.engagement-table-enhanced tr.highlight-row:hover {
  background: rgba(210, 39, 65, 0.1);
}

.engagement-table-enhanced td.value-cell {
  color: var(--somef-primary, #d22741);
  font-weight: var(--font-weight-semibold, 600);
}

.engagement-table-enhanced tr:last-child td {
  border-bottom: none;
}

/* === CTA Enhanced === */
.cta-background-animated {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(-45deg, #d22741, #b01e35, #e63957, #d22741);
  background-size: 400% 400%;
  animation: gradientShift 15s ease infinite;
  opacity: 0.95;
  z-index: 0;
}

.cta-content-enhanced {
  position: relative;
  z-index: 1;
  text-align: center;
  animation: fadeInUp 0.8s var(--animation-easing);
}

.cta-icon-large-wrapper {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  margin: 0 auto var(--spacing-lg);
  border: 2px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
}

.cta-icon-large {
  width: 48px;
  height: 48px;
  color: white;
  stroke-width: 1.5;
}

.cta-title {
  color: white;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  margin-bottom: var(--spacing-lg);
}

.cta-subtitle {
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: var(--spacing-xl);
}

.cta-box-enhanced {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(20px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  padding: var(--spacing-2xl) var(--spacing-xl);
  border-radius: 20px;
  margin: var(--spacing-xl) 0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  transition: all var(--animation-duration) var(--animation-easing);
}

.cta-box-enhanced:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.02);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.3);
}

.cta-text-enhanced {
  margin: 0;
  color: white;
  font-size: var(--font-size-2xl, 1.5rem);
  font-weight: var(--font-weight-bold, 700);
  letter-spacing: 0.02em;
}

.partner-message-enhanced {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: var(--font-size-lg, 1.125rem);
  border-radius: 12px;
  padding: var(--spacing-lg) var(--spacing-xl);
  margin-top: var(--spacing-lg);
  text-align: center;
  font-weight: var(--font-weight-semibold, 600);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-md);
}

.message-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

/* === Default Slides Enhanced === */
.slide-header-enhanced {
  margin-bottom: var(--spacing-2xl);
  padding-bottom: var(--spacing-lg);
  border-bottom: 2px solid var(--color-border, #e2e8f0);
}

.feature-card-enhanced {
  background: var(--color-surface, #ffffff);
  border-radius: 8px;
  padding: var(--spacing-lg);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: var(--spacing-md);
  transition: all var(--animation-duration) var(--animation-easing);
  animation: fadeInUp 0.6s var(--animation-easing);
  border: 1px solid var(--color-border, #e2e8f0);
}

.feature-card-enhanced:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.feature-card-header {
  display: flex;
  align-items: center;
  margin-bottom: var(--spacing-md);
}

.feature-card-title {
  font-family: 'Montserrat', var(--font-family-base);
  font-size: var(--font-size-2xl, 1.5rem);
  font-weight: var(--font-weight-bold, 700);
  color: var(--somef-primary, #d22741);
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  margin: 0;
}

.feature-icon {
  width: 28px;
  height: 28px;
  color: var(--somef-primary, #d22741);
}

.feature-card-text {
  color: var(--color-text, #1a1a1a);
  line-height: var(--line-height-relaxed, 1.75);
  margin: var(--spacing-md) 0;
}

.feature-card-list {
  list-style: none;
  padding: 0;
  margin: var(--spacing-md) 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.feature-card-list li {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  padding: var(--spacing-sm) 0;
  color: var(--color-text, #1a1a1a);
}

.feature-check {
  width: 20px;
  height: 20px;
  color: var(--color-success, #2ecc71);
  flex-shrink: 0;
}

.slide-row-enhanced {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--spacing-xl);
  margin: var(--spacing-xl) 0;
}

.slide-col-enhanced {
  display: flex;
  flex-direction: column;
}

.col-card {
  background: var(--color-surface, #ffffff);
  border-radius: 8px;
  padding: var(--spacing-lg);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid var(--color-border, #e2e8f0);
  transition: all var(--animation-duration) var(--animation-easing);
  animation: fadeInUp 0.6s var(--animation-easing);
  height: 100%;
}

.col-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.col-icon-wrapper {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface-elevated, #f8fafc);
  border-radius: 12px;
  margin: 0 auto var(--spacing-md);
  border: 1px solid var(--color-border, #e2e8f0);
}

.col-icon {
  width: 32px;
  height: 32px;
  color: var(--somef-primary, #d22741);
  stroke-width: 1.5;
}

.col-title {
  font-family: 'Montserrat', var(--font-family-base);
  font-size: var(--font-size-2xl, 1.5rem);
  font-weight: var(--font-weight-bold, 700);
  color: var(--somef-primary, #d22741);
  margin-bottom: var(--spacing-md);
  text-align: center;
}

.slide-list-enhanced {
  list-style: none;
  padding: 0;
  margin: var(--spacing-lg) 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.slide-list-enhanced li {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  padding: var(--spacing-sm) 0;
  color: var(--color-text, #1a1a1a);
  font-size: var(--font-size-base, 1rem);
}

.list-arrow,
.list-check {
  width: 20px;
  height: 20px;
  color: var(--somef-primary, #d22741);
  flex-shrink: 0;
}

.slide-section-enhanced {
  margin-top: var(--spacing-lg);
  animation: fadeInUp 0.6s var(--animation-easing);
}

.section-title-enhanced {
  font-family: 'Montserrat', var(--font-family-base);
  font-size: var(--font-size-2xl, 1.5rem);
  font-weight: var(--font-weight-bold, 700);
  color: var(--somef-primary, #d22741);
  margin-bottom: var(--spacing-lg);
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}

.section-icon {
  width: 24px;
  height: 24px;
  color: var(--somef-primary, #d22741);
}

.callout-enhanced {
  background: var(--color-surface-elevated, #f8fafc);
  border-left: 4px solid var(--somef-primary, #d22741);
  border-radius: 8px;
  padding: var(--spacing-lg);
  margin-top: var(--spacing-lg);
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-md);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.callout-icon {
  width: 24px;
  height: 24px;
  color: var(--somef-primary, #d22741);
  flex-shrink: 0;
  margin-top: 2px;
}

.callout-enhanced p {
  margin: 0;
  font-style: italic;
  color: var(--color-text, #1a1a1a);
  line-height: var(--line-height-relaxed, 1.75);
}

/* === Responsive === */
@media (max-width: 1400px) {
  :root {
    --slide-width: 95vw;
    --slide-padding: 2.5rem;
  }
}

@media (max-width: 1024px) {
  :root {
    --slide-width: 98vw;
    --slide-padding: 2rem;
    --spacing-xl: 2rem;
    --spacing-lg: 1.5rem;
  }
  
  .slide-title-enhanced {
    font-size: var(--font-size-4xl, 2.25rem);
  }
  
  .kpi-primary-card {
    padding: var(--spacing-lg);
  }
  
  .kpi-value-large {
    font-size: var(--font-size-4xl, 2.25rem);
  }
  
  .kpi-grid-enhanced {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md);
  }
  
  .slide-row-enhanced {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
}

@media (max-width: 768px) {
  :root {
    --slide-padding: 1.5rem;
    --spacing-xl: 1.5rem;
    --spacing-lg: 1.25rem;
    --spacing-md: 1rem;
  }
  
  .slide-title-enhanced {
    font-size: var(--font-size-3xl, 1.875rem);
  }
  
  .kpi-primary-card {
    padding: var(--spacing-md);
  }
  
  .kpi-value-large {
    font-size: var(--font-size-3xl, 1.875rem);
  }
  
  .kpi-grid-enhanced {
    grid-template-columns: 1fr;
  }
  
  .timeline-enhanced {
    padding-left: var(--spacing-xl);
  }
  
  .timeline-enhanced::before {
    left: 24px;
  }
  
  .timeline-marker {
    left: calc(-1 * var(--spacing-xl));
  }
  
  .timeline-icon-wrapper {
    width: 40px;
    height: 40px;
  }
  
  .timeline-icon {
    width: 20px;
    height: 20px;
  }
  
  .agenda-part-enhanced {
    padding: var(--spacing-md);
  }
  
  .agenda-icon-wrapper {
    width: 48px;
    height: 48px;
  }
  
  .agenda-icon {
    width: 24px;
    height: 24px;
  }
}

