/**
 * France Travail Design System - Main CSS Bundle
 * ===============================================
 * Ce fichier importe tous les modules CSS du design system.
 * Utilisez ce fichier unique pour inclure l'ensemble du design system.
 *
 * Basé sur le Design System officiel de France Travail
 * https://designsystem.francetravail.io/
 * Version: 1.8.0
 *
 * Usage:
 * <link rel="stylesheet" href="css/france-travail.css">
 *
 * Ou importez les modules individuellement selon vos besoins.
 */

/* Variables CSS (tokens de design) */
@import url('./variables.css');

/* Base (reset, typographie de base) */
@import url('./base.css');

/* Layout (grille, conteneurs, flexbox) */
@import url('./layout.css');

/* Utilitaires (espacements, couleurs de fond, bordures) */
@import url('./utilities.css');

/* Composants (boutons, formulaires, alertes, etc.) */
@import url('./components.css');

/* Header et Footer */
@import url('./header-footer.css');

/* Modals, toasts, dropdowns */
@import url('./modal.css');

/* Icônes */
@import url('../icons/icons.css');

/* ========================================
   STYLES SUPPLÉMENTAIRES GLOBAUX
   ======================================== */

/* Assure que le body prend toute la hauteur */
html {
  height: 100%;
}

body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

/* Le contenu principal pousse le footer en bas */
main,
.main-content {
  flex: 1;
}

/* Print styles */
@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  /* Masquer les éléments non imprimables */
  .ft-header,
  .ft-footer,
  .btn,
  .modal,
  .toast-container {
    display: none !important;
  }

  /* Styles d'impression */
  body {
    font-size: 12pt;
    line-height: 1.5;
  }

  a {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }
}

/* Reduced motion */
@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;
  }
}

/* High contrast mode */
@media (prefers-contrast: high) {
  :root {
    --ft-color-primary: #000080;
    --ft-border-color: #000;
    --ft-text-color: #000;
  }

  .btn {
    border-width: 2px;
  }

  .form-control {
    border-width: 2px;
  }
}

/* Dark mode (optionnel - peut être activé avec une classe sur body) */
body.dark-mode {
  --ft-bg-default: #1a1a2e;
  --ft-bg-neutral-weakest: #252542;
  --ft-bg-neutral-weak: #363659;
  --ft-text-color: #e5e5e9;
  --ft-text-color-light: #9e9ea1;
  --ft-border-color: #363659;
  --ft-border-color-light: #252542;
}
