@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;500;700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

@font-face {
  font-family: 'Marianne';
  src: url('https://cdn.jsdelivr.net/npm/@gouvfr/dsfr@1.12.1/dist/fonts/Marianne-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Marianne';
  src: url('https://cdn.jsdelivr.net/npm/@gouvfr/dsfr@1.12.1/dist/fonts/Marianne-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
}

@page {
  size: A4;
  margin: 10mm 15mm;
}



:root {
  --x: 6mm; /* Hauteur du bloc "Marianne" */
  /* Échelle typographique proportionnelle */
  --font-size-xs: calc(var(--x) * 0.5);  /* 2.5mm */
  --font-size-sm: calc(var(--x) * 0.7);  /* 3.5mm */
  --font-size-base: calc(var(--x) * 0.9);/* 4.5mm (Taille corps de texte) */
  --font-size-lg: calc(var(--x) * 1.2);  /* 6mm */
  --font-size-xl: calc(var(--x) * 1.6);  /* 8mm */
}

body {
  line-height: 1.5;
  color: #000000;  
  padding: 0;
  font-size: var(--font-size-xs);
  margin: 0;
  padding: 0;
}

.centrage {
  display: flex;
  justify-content: center;
  width: 100%;             /* Occupe toute la largeur de l'état */
  box-sizing: border-box;
}

/* Forcer le tableau à s'étaler sur 100% du conteneur */
table.agent-om {
    width: 80%;              /* Ajuste le % (ex: 85% ou 90%) pour donner de l'air sur les côtés */
    margin: 0 auto;          /* Assure le centrage horizontal classique */
    table-layout: fixed;     /* Évite que les colonnes ne sautent selon le texte */}

.nc {
  font-family: "Times New Roman", Times, serif;
  font-size: 10pt;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  
}
.etat {
  font-family: 'Marianne', Arial, sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}



h2 {
  display: block;
  font-weight: 700;
  margin: 0;
  padding: var(--font-size-base);
  text-align: center;
}

.badge-num {
  /* Crée l'encadrement */
  border: 1px solid #333;       /* Couleur et épaisseur de la bordure */
  border-radius: 4px;           /* (Optionnel) Arrondit légèrement les coins */

  /* Décale l'élément sur la droite */
  margin-left: 10px;            /* Espace externe vers la gauche (décolle de "n°") */

  /* Crée un espace d'aération à l'intérieur du cadre */
  padding: 3px 9px;             /* 2px en haut/bas, 8px à gauche/droite */

  /* Assure un bon alignement propre du bloc encadré */
  display: inline-block;
}


.header-a4 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

/* 1. CONTENEUR PRINCIPAL */
.bloc-gauche {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: max-content;
}

svg.bloc-marianne {
  height: var(--x);        /* Hauteur fixe souhaitée */
  width: auto;         /* Conserve le ratio 16/44 */
  max-width: 100%;     /* Empêche tout débordement */
  display: block;      /* Enlève l'espace sous l'image */
  flex-shrink: 0;      /* Indispensable si le bloc parent est en flexbox */
}

.ministere {
  /* 1. HAUTEUR STRICTE DU BLOC (11/6 * X) */

  gap: calc(var(--x) / 4); /* Force l'interligne strict de X/3 */
  
  /* 2. FLEXBOX VERTICAL : Calutule l'écartement automatiquement */
  display: flex;
  flex-direction: column;
  justify-content: space-between; 

  /* 3. MARGES HAUT ET BAS (X / 2) */
  margin-top: calc(var(--x) / 2);
  margin-bottom: calc(var(--x) / 2);

  /* 4. TYPOGRAPHIE (Chaque capitale fait 3/4 * X) */
  font-family: 'Marianne', Bold, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  color: #000000;
  font-size: calc(var(--x) * 3 / 4);
  line-height: 1;
  letter-spacing: -0.01em;
  
  width: max-content;
}

.ministere span {
  display: block;
  white-space: nowrap;
}


svg.devise {
  height: calc(var(--x) * 11 / 6);
  display: block;
}



.bloc-droit {
  display: flex;
  height: calc(var(--x)*11/6);
  align-items: center;

}

.dgac-logo {
  display: block;
  height: 100%;         /* Conserve le ratio 16/44 */
}

.dgac-text {
  padding-left: calc(var(--x) / 3); 
  font-family: 'Ubuntu', sans-serif;
  font-weight: 600;
  font-size: calc(var(--x)/3); /* Ajuste la taille du texte selon la hauteur du logo */

  color: #00338d;      /* Bleu officiel DGAC */
  line-height: 1.2;   /* Interligne serré identique au modèle */
  text-align: left;

}

.dgac-text span {
  display: block;      /* Force le retour à la ligne pour chaque mot */
}

.bloc-date {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 30px;
  font-family: 'Marianne', Bold, sans-serif;
}

.corps-req {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 10px;
  padding-left: 20px;
}

.aller-retour td {
  padding: 5px 10px;
}

.passagers {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 10px;
}
.passagers td {
/* Espace interne : haut/bas (8px) et gauche/droite (12px) */
  padding: 7px 10px;
}



.et-gauche {
  display: flex;
}
.bloc-en-tete-nc {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.4;
}

.date-nc {
  margin-top: 0;
  margin-left: auto;
  margin-right: 130px;
}
.date-nc p {
  margin-top: 0;
}

.souligne {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.refs {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
}

.modal {
  display: flex;
  flex-direction: column;
  margin-top: 20px;

}


.entete-gouv {
  margin-top: auto;
  width: 100%;
  height: calc(var(--x) * 17 / 6);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.entete-gouv svg {
  width: auto;
  height: auto;
  margin-left: auto;
}

.texte-gouv {
  font-family: Times New Roman, Times, serif;
  font-weight: 500;
  text-align: left;
  color: #7D7D7D;
  margin-bottom: 4px; /* Ajuste l'espacement entre le texte et les lignes */
}

.double-ligne {
  width: 100%;
  height: 2px; /* Hauteur de la ligne */
  border-top: 2px solid #F0A100;    /* Première ligne */
  border-bottom: 2px solid #F0A100; /* Deuxième ligne */
}
.mono-ligne {
  margin-top: auto;
  width: 100%;
  height: 2px; /* Hauteur de la ligne */
  border-top: 2px solid #F0A100;    /* Première ligne */
}

.modalite {
  width: 80%;
  text-align: justify;
  font-size: 0.9em;
  font-style: italic;
}

.signature {
  position: fixed;
  bottom: 8mm; /* La hauteur voulue par rapport au bas */
  width: 100%;
} 



.mentions {
  display: flex;
  flex-direction: column;
  font-family: 'Marianne', Bold, sans-serif;
  font-weight: 200;
  font-size: 7pt;
}

.last-text-nc {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.imputation {
  line-height: 2;
  margin-top: 20px;
}

.fin {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.date-om {
  margin-top: 20px;
}

.agent-om td {
  padding-right: 20px;
}

.saut-rev {
  margin-top: 20px;
}

.saut td {
    padding-top: 30px;    /* ← les deux cellules prennent 30px en haut */
}
