/*
 * Les Évadé·e·s — Charte graphique 2026
 * Blanc dominant · Bleu nuit en touches
 * Ce fichier surcharge styles.css (Bootstrap + thème de base)
 */

/* -----------------------------------------------
   Variables
----------------------------------------------- */
:root {
  --bleu-nuit: #3a559c;
  --bleu-nuit-sombre: #2e4480;
  --texte-principal: #212529;
  --texte-secondaire: #495057;
  --fond-clair: #f8f9fa;
  --font-titres: 'Barlow Condensed', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-corps: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* -----------------------------------------------
   TYPOGRAPHIE
----------------------------------------------- */

/* Corps de texte — Inter */
body {
  font-family: var(--font-corps);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--texte-principal);
}

/* Titres — Barlow Condensed (équivalent Roc Grotesk Compressed) */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--font-titres);
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.15;
}

h2, .h2 {
  color: var(--bleu-nuit);
  font-weight: 600;
}

h3, .h3 {
  font-weight: 500;
}

/* Navbar brand — Barlow Condensed ExtraLight, très aéré */
.navbar-brand {
  font-family: var(--font-titres) !important;
  font-size: 1.3rem !important;
  font-weight: 200 !important;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

/* Liens de navigation — Jost, majuscules discrètes */
#mainNav .navbar-nav .nav-item .nav-link {
  font-family: var(--font-corps) !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* Boutons */
.btn {
  font-family: var(--font-corps);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* -----------------------------------------------
   NAVBAR — toujours blanche, jamais transparente
----------------------------------------------- */
#mainNav {
  background-color: #fff !important;
  box-shadow: 0 1px 0 rgba(58, 85, 156, 0.12) !important;
  transition: box-shadow 0.2s ease;
}

#mainNav .navbar-brand {
  color: var(--bleu-nuit) !important;
  font-weight: 700;
}
#mainNav .navbar-brand:hover {
  color: var(--bleu-nuit-sombre) !important;
}

#mainNav .navbar-nav .nav-item .nav-link {
  color: var(--texte-principal) !important;
  letter-spacing: 0.02em;
}
#mainNav .navbar-nav .nav-item .nav-link:hover,
#mainNav .navbar-nav .nav-item .nav-link:active,
#mainNav .navbar-nav .nav-item .nav-link.active {
  color: var(--bleu-nuit) !important;
}

/* Annule la transparence desktop du thème de base */
@media (min-width: 992px) {
  #mainNav {
    background-color: #fff !important;
  }
  #mainNav .navbar-brand {
    color: var(--bleu-nuit) !important;
  }
  #mainNav .navbar-nav .nav-item .nav-link {
    color: var(--texte-principal) !important;
  }
  #mainNav .navbar-nav .nav-item .nav-link:hover {
    color: var(--bleu-nuit) !important;
  }
  #mainNav.navbar-shrink {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08) !important;
  }
  #mainNav.navbar-shrink .navbar-brand {
    color: var(--bleu-nuit) !important;
  }
  #mainNav.navbar-shrink .navbar-nav .nav-item .nav-link {
    color: var(--texte-principal) !important;
  }
  #mainNav.navbar-shrink .navbar-nav .nav-item .nav-link:hover {
    color: var(--bleu-nuit) !important;
  }
}

/* -----------------------------------------------
   SÉPARATEUR
----------------------------------------------- */
hr.divider {
  background-color: var(--bleu-nuit);
}
hr.divider-light {
  background-color: var(--bleu-nuit);
}

/* -----------------------------------------------
   SECTIONS SOMBRES → BLANC
   Les sections bg-dark (avc, teaser, note, a-venir)
   passent en fond blanc avec texte sombre
----------------------------------------------- */
.page-section.bg-dark {
  background-color: #fff !important;
  color: var(--texte-principal) !important;
}

/* Titres en bleu nuit */
.page-section.bg-dark h2,
.page-section.bg-dark .h2,
.page-section.bg-dark h3,
.page-section.bg-dark .h3,
.page-section.bg-dark .h4 {
  color: var(--bleu-nuit) !important;
}

/* Textes blancs → couleur normale */
.page-section.bg-dark .text-white,
.page-section.bg-dark .text-white-75 {
  color: var(--texte-principal) !important;
}

.page-section.bg-dark .text-muted {
  color: var(--texte-secondaire) !important;
}

/* Séparateur dans les sections sombres devenues blanches */
.page-section.bg-dark hr.divider,
.page-section.bg-dark hr.divider-light {
  background-color: var(--bleu-nuit);
}

/* Séparateur horizontal interne (ex : note.htm) */
.page-section.bg-dark hr.my-5 {
  border-color: #dee2e6;
}

/* -----------------------------------------------
   SECTIONS CLAIRES
----------------------------------------------- */
.page-section.bg-light {
  background-color: var(--fond-clair) !important;
}

/* -----------------------------------------------
   HERO — page accueil
   Fond bleu nuit, illustration centrée
----------------------------------------------- */
.hero-home {
  min-height: 100vh;
  background-color: #05092C;
  padding-top: 4.5rem; /* compense la navbar fixe */
  overflow: hidden;
}

.hero-home-img {
  max-height: calc(100vh - 4.5rem);
  max-width: 100%;
  width: auto;
  object-fit: contain;
  padding: 3rem 0;
}

/* -----------------------------------------------
   MASTHEAD COURT — pages secondaires
----------------------------------------------- */
header.masthead.masthead-short {
  height: auto;
  min-height: 250px;
  padding-top: 5rem;
  padding-bottom: 2.5rem;
  display: flex;
  align-items: center;
}

@media (min-width: 992px) {
  header.masthead.masthead-short {
    padding-top: 8rem;
    padding-bottom: 3.5rem;
  }
}

/* -----------------------------------------------
   IMAGES MÉDIAS — tailles cohérentes et responsives
----------------------------------------------- */
/* Images médias — taille uniforme */
.img-media,
.img-media-sm {
  max-width: 70%;
  height: auto;
}

/* -----------------------------------------------
   GRILLE MÉDIAS — alignement titre + visuel
----------------------------------------------- */

/* Colonnes en flex pour égaliser les hauteurs */
#medias .row > [class*="col-"] {
  display: flex;
}

/* Carte intérieure : titre en haut, image centrée */
#medias .row > [class*="col-"] > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

/* Zone image à hauteur fixe pour aligner les visuels */
#medias .row > [class*="col-"] > div p {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}

/* Images contraintes à une hauteur max uniforme */
#medias .row > [class*="col-"] > div p img {
  max-height: 130px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

@media (max-width: 767px) {
  /* Espacement sections réduit */
  .page-section {
    padding: 3.5rem 0;
  }

  /* Masthead court — fond non étiré sur mobile */
  header.masthead.masthead-short {
    background-size: auto;
  }

  /* Images médias plus grandes sur mobile */
  .img-media,
  .img-media-sm {
    max-width: 72%;
  }

  /* Boutons pleine largeur */
  .btn-xl {
    display: block;
    width: 100%;
    margin-bottom: 0.75rem;
    margin-right: 0 !important;
  }

  hr.divider {
    display: none;
  }
}

/* -----------------------------------------------
   BOUTONS
----------------------------------------------- */
.btn-primary {
  background-color: var(--bleu-nuit);
  border-color: var(--bleu-nuit);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--bleu-nuit-sombre) !important;
  border-color: var(--bleu-nuit-sombre) !important;
}

.btn-outline-primary {
  color: var(--bleu-nuit);
  border-color: var(--bleu-nuit);
}
.btn-outline-primary:hover {
  background-color: var(--bleu-nuit);
  border-color: var(--bleu-nuit);
}

/* -----------------------------------------------
   LIENS
----------------------------------------------- */
a {
  color: var(--bleu-nuit);
}
a:hover {
  color: var(--bleu-nuit-sombre);
}

/* -----------------------------------------------
   PORTFOLIO — hover overlay
----------------------------------------------- */
#portfolio .portfolio-box-caption {
  background: rgba(58, 85, 156, 0.88);
}

/* -----------------------------------------------
   FOOTER
----------------------------------------------- */
footer.bg-light {
  background-color: var(--fond-clair) !important;
  border-top: 1px solid #dee2e6;
}
