/* ===================================
   Police Epilogue
=================================== */
@font-face {
  font-family: 'Epilogue';
  src: url('../Ressources/Font/Epilogue-VariableFont_wght.ttf') format('truetype');
  font-weight: 200 900;
  font-display: swap;
}

/* ===============================
   Variables + Reset
=============================== */
:root{
  --bg-dark: #000;
  --text-light: #fff;

  --gradient-start: #4648FF;
  --gradient-mid: #FF7262;
  --gradient-end: #FFAEA5;

  --hero-h: 85vh;
  --gap: 120px;

  /* mêmes espacements que tes autres pages */
  --page-x: clamp(16px, 3vw, 56px);
  --max-width: 1200px;

  /* Glass */
  --glass-bg: rgba(0,0,0,0.18);
  --glass-bg-strong: rgba(0,0,0,0.28);
  --glass-shadow: 0 12px 30px rgba(0,0,0,0.35);
  --glass-blur: 10px;

  /* Timeline */
  --timeline-card-bg: var(--glass-bg-strong);
  --timeline-card-border: rgba(255,255,255,0.14);
}

*{ margin:0; padding:0; box-sizing:border-box; }

html, body{ min-height: 100%; }

body{
  background: var(--bg-dark);
  color: var(--text-light);
  line-height: 1.6;
  font-family: 'Epilogue', sans-serif;
}

/* ===============================
   Fond page
=============================== */
.page-bg{
  min-height: 100vh;
  position: relative;

  background-image: url('../Ressources/img/a-propos-bg-1.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  background-color: #000;
}

/* Overlay global */
.page-bg::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.05) 0%,
    rgba(0,0,0,0.55) 55%,
    rgba(0,0,0,1) 100%
  );
}

/* tout au-dessus */
.page-bg > *{
  position: relative;
  z-index: 1;
}

/* =========================================================
   ✅ ALIGNEMENT IDENTIQUE aux autres pages
   - 1 seul padding horizontal sur MAIN
   - containers dans MAIN sans padding (même si CSS global)
========================================================= */
.page-bg main{
  padding-inline: var(--page-x) !important;
}

.page-bg main .container{
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 !important;           /* écrase header-footer.css */
  text-align: left;                /* évite centrage global */
}

/* ===============================
   Glass card
=============================== */
.glass-card{
  background: var(--glass-bg);
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(10px);
}

/* ===============================
   HERO
=============================== */
.page-bg main .hero{
  height: var(--hero-h);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

/* container du hero : surtout pas centré par un text-align global */
.page-bg main .hero .container{
  text-align: left !important;
}

/* hero-content : on neutralise tout centrage/flex centré global */
.page-bg main .hero .hero-content{
  width: 100%;
  display: block !important;        /* au cas où un CSS global met display:flex */
  text-align: left !important;
  margin: 0 !important;
}

/* ✅ FORÇAGE ABSOLU du titre à gauche */
.page-bg main .hero .hero-content h1{
  width: 100% !important;
  display: block !important;

  /* annule les centres classiques (margin auto / text-align center) */
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-top: 40px !important;
  margin-bottom: 0.5rem !important;
}

/* ===============================
   ABOUT INFO (superposition)
=============================== */
.about-info{
  padding: 1rem 0;
  background: transparent;
  margin-top: calc(-1 * (var(--hero-h) - var(--gap)));
}

.about-info .container{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
}

.bio{ flex: 2 1 500px; }

.bio p{
  margin-bottom: 1rem;
  text-align: justify;
}

/* ===============================
   Sections glass
=============================== */
.glass-section{
  padding: 2rem 0;
  margin: 0;
}

.glass-section .glass-card p{
  font-size: 1rem;
  text-align: justify;
}

.projets-experiences p + p{
  margin-top: 1rem;
}

/* ===============================
   Timeline
=============================== */
.timeline{
  position: relative;
  padding: 4rem 0;
}

.timeline .container{ position: relative; }

.timeline h2{ margin-bottom: 2rem; }

.timeline::before{
  content:"";
  position: absolute;
  left: 50%;
  top: 5rem;
  transform: translateX(-50%);
  width: 4px;
  height: calc(100% - 12rem);
  background: linear-gradient(180deg, var(--gradient-start), var(--gradient-mid), var(--gradient-end));
  z-index: 1;
  margin-top: 30px;
}

.timeline ul{
  list-style: none;
  padding: 0;
  position: relative;
  z-index: 2;
}

.timeline li{
  position: relative;
  width: 50%;
  padding: 1rem 2rem;
}

.timeline li:nth-child(odd){
  left: 0;
  text-align: right;
}
.timeline li:nth-child(even){
  left: 50%;
  text-align: left;
}

.time-marker{
  position: absolute;
  top: 4rem;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--gradient-mid);
  border: 3px solid rgba(255,255,255,0.55);
  z-index: 3;
  box-shadow: #000 0 1px 5px;
}

.timeline li:nth-child(odd) .time-marker{ right: -7px; }
.timeline li:nth-child(even) .time-marker{ left: -7px; }

.timeline-content{
  display: inline-block;
  background: var(--timeline-card-bg);
  color: var(--text-light);
  padding: 1rem;
  border-radius: 0.9rem;
  border: 1px solid var(--timeline-card-border);
  box-shadow: 0 10px 26px rgba(0,0,0,0.35);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  max-width: 350px;
}

.timeline-content:hover{
  transform: translateY(-5px);
  box-shadow: 0 16px 34px rgba(0,0,0,0.45);
}

.timeline-content .date{
  display: block;
  font-weight: 700;
  color: var(--gradient-mid);
  margin-bottom: 0.5rem;
}

/* Tags */
.tag{
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.4rem 0 0.7rem 0;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.9);
}
.tag--asso::before{ content: "🤝"; }
.tag--work::before{ content: "🎬"; }

/* Exp pro */
.timeline-content--experience{
  max-width: 420px;
  text-align: left;
}

.exp-header{
  display: flex;
  align-items: center;
  gap: 1rem;
}

.timeline-experience .exp-header img{
  width: 54px;
  height: 54px;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
}

.exp-text h3{
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}

.exp-company{
  margin: 0.25rem 0 0.15rem 0;
  font-weight: 700;
}

.exp-dates{
  font-size: 0.9rem;
  color: rgba(255,255,255,0.75);
}

/* Animation images (si tu veux la garder) */
@keyframes pulsate {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}
img{
  animation: pulsate 2.5s ease-in-out infinite;
}

/* ===============================
   Responsive (SANS recentrer le titre)
=============================== */
@media (max-width: 1024px){
  .page-bg main .hero{
    height: 70vh;
    justify-content: flex-start !important;
  }

  /* on garde à gauche */
  .page-bg main .hero .hero-content,
  .page-bg main .hero .hero-content h1{
    text-align: left !important;
  }

  .about-info{
    margin-top: -18vh;
  }

  .about-info .container{
    flex-direction: column;
    text-align: left;
  }

  .glass-card{
    padding: 1.5rem;
  }

  .timeline li{
    width: 100%;
    left: 0 !important;
    padding-left: 2rem;
    text-align: left !important;
  }

  .timeline::before{
    left: 8px;
    transform: none;
    width: 2px;
  }

  .timeline li .time-marker{
    left: 1px !important;
    right: auto !important;
  }

  img{ animation-duration: 3s; }
}

@media (max-width: 768px){
  .page-bg main .hero{
    height: 60vh;
  }
}

@media (max-width: 480px){
  .page-bg main .hero{
    height: 55vh;
  }

  .glass-card{
    padding: 1.2rem;
    border-radius: 0.9rem;
  }
}
