/* ==================================================
   Prix de Flore Timeline — Alignement sommets (align-self:start)
   Version 1.1.6 — 06/10/2025
   ================================================== */

:root{
  --pf-navy:#003366;
  --pf-gold:#D4AF37;
  --pf-ivory:#FAFAF6;
  --pf-ink:#1f2937;
  --pf-muted:#6b7280;
  --pf-card-radius:12px;
  --pf-cover-h:200px;
  --pf-shadow:0 4px 20px rgba(0,0,0,.08);
}

.pf-tl{position:relative;max-width:1200px;margin:60px auto;padding:0 20px;font-family:'Playfair Display',serif}
.pf-tl__axis{
  position:absolute;left:50%;transform:translateX(-50%);
  top:0;bottom:0;width:2px;background:linear-gradient(to bottom, transparent 0%, var(--pf-gold) 4%, var(--pf-gold) 96%, transparent 100%);
  z-index:1;
}

/* ————————————————— BLOCS ANNUELS EN GRID ————————————————— */
.pf-tl__year-block{
  position:relative;margin-bottom:100px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-areas:
    ". year ."
    "left-cover year right-cover"
    "left-card year right-card";
  gap:40px;
  align-items:start;
}

/* Année centrée + masque de l'axe derrière */
.pf-tl__year-label{
  grid-area:year;position:relative;width:140px;height:200px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 15%, rgba(255,255,255,.95) 35%, #fff 50%, rgba(255,255,255,.95) 65%, rgba(255,255,255,.3) 85%, rgba(255,255,255,0) 100%);
  color:var(--pf-gold);font-size:2.5rem;font-weight:300;text-shadow:0 2px 4px rgba(0,0,0,.08);
  white-space:nowrap;z-index:10;
  margin-left:auto;margin-right:auto; /* Centrage parfait sur l'axe */
}

/* Décorations latérales simples de la date (anciennes) */
.pf-tl__year-label::before,
.pf-tl__year-label::after{
  content:'';
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:60px;
  height:1px;
  background:var(--pf-gold);
  opacity:.6;
}
.pf-tl__year-label::before{left:-80px;}
.pf-tl__year-label::after{right:-80px;}

/* ————————————————— ORNEMENTS SUR L'AXE (TEMPORAIREMENT MASQUÉS) ————————————————— */
.pf-tl__axis-ornaments{display:none !important; /* MASQUÉ - En attente nouvelles décorations */}
.pf-orn{filter:drop-shadow(0 2px 6px rgba(0,0,0,.08))}
.pf-orn--cap{position:absolute;left:50%;transform:translateX(-50%)}
.pf-orn--top{top:-10px}
.pf-orn--bottom{bottom:-10px;position:absolute}
.pf-orn--swirl{position:absolute;left:50%;transform:translate(-50%,-50%);top:40px}

/* Variation de placement de la volute selon l'alternance visuelle pour "respirer" */
.pf-tl__year-block:nth-child(odd) .pf-orn--swirl{top:60px}
.pf-tl__year-block:nth-child(even) .pf-orn--swirl{top:40px}

/* ————————————————— COUVERTURE (côté opposé) ————————————————— */
.pf-tl__cover-zone{z-index:5;display:flex;flex-direction:column;align-items:center;align-self:start}
.pf-tl__year-block:nth-child(odd) .pf-tl__cover-zone{grid-area:left-cover;justify-self:end;align-items:center}
.pf-tl__year-block:nth-child(even) .pf-tl__cover-zone{grid-area:right-cover;justify-self:start;align-items:center}

/* Cadre de couverture - toujours visible, hauteur fixe */
.pf-tl__cover-frame{
  height:270px;
  width:auto;
  min-width:180px;
  max-width:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid var(--pf-gold);
  border-radius:6px;
  box-shadow:var(--pf-shadow);
  background:var(--pf-ivory);
  position:relative;
  overflow:hidden;
}

.pf-tl__cover-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Placeholder quand pas d'image */
.pf-tl__cover-frame--empty{
  background:linear-gradient(135deg, rgba(212,175,55,0.05) 0%, rgba(212,175,55,0.1) 100%);
}
.pf-tl__cover-frame--empty::before{
  content:'Couverture\Aà venir';
  white-space:pre;
  text-align:center;
  font-size:0.85rem;
  color:var(--pf-gold);
  opacity:0.5;
  font-style:italic;
}
.pf-tl__cover-title{
  margin-top:16px;
  font-size:1.1rem;
  font-weight:700;
  color:var(--pf-navy);
  text-align:center;
  line-height:1.4;
  font-variant-caps:small-caps;
  letter-spacing:.5px;
  text-transform:lowercase;
  max-width:220px;
}

/* ————————————————— CARTE + PHOTO (chevauchement) ————————————————— */
.pf-tl__card-container{align-self:start}
.pf-tl__year-block:nth-child(odd) .pf-tl__card-container{grid-area:right-card;justify-self:start}
.pf-tl__year-block:nth-child(even) .pf-tl__card-container{grid-area:left-card;justify-self:end}
.pf-tl__card{background:#fff;border-radius:var(--pf-card-radius);box-shadow:var(--pf-shadow);overflow:visible;width:500px;max-width:500px;position:relative;transition:transform .3s ease, box-shadow .3s ease}
.pf-tl__card:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.12)}

.pf-orn--corner{position:absolute;right:10px;top:10px;width:24px;height:24px;opacity:.55}

.pf-banner-author{background:var(--pf-navy);color:var(--pf-gold);padding:20px 30px;font-size:1.4rem;font-weight:700;text-align:center;border-radius:var(--pf-card-radius) var(--pf-card-radius) 0 0}
.pf-tl[data-smcaps="1"] .pf-banner-author{font-variant-caps:small-caps;letter-spacing:.5px}

.pf-tl__author-photo-zone{width:100px;height:100px;background:#fff;border-radius:50%;border:3px solid var(--pf-gold);box-shadow:var(--pf-shadow);overflow:hidden;position:absolute;top:-30px;z-index:50}
.pf-tl__year-block:nth-child(odd) .pf-tl__author-photo-zone{right:30px}
.pf-tl__year-block:nth-child(even) .pf-tl__author-photo-zone{left:30px}
.pf-tl__author-photo-zone img{width:100%;height:100%;object-fit:cover}

.pf-tl__content-ordered{padding:30px}
.pf-tl__author-bio{margin-bottom:25px;color:var(--pf-ink);font-size:.95rem;line-height:1.7}
.pf-banner-work{background:transparent;color:var(--pf-muted);border:none;padding:15px 0;font-size:1.2rem;font-weight:600;font-style:italic;text-align:left;margin:20px 0}
.pf-banner-work .pf-tag__publisher{font-weight:400;opacity:.8}
.pf-tl__work-intro{color:var(--pf-muted);font-size:.9rem;font-style:italic;border-left:3px solid var(--pf-gold);padding-left:15px;line-height:1.7;margin-top:15px}

.pf-tl__foot{padding:20px 30px;background:var(--pf-ivory);border-top:1px solid #eee}
.pf-tl__more{color:var(--pf-gold);text-decoration:none;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}
.pf-tl__more:hover{color:var(--pf-navy);text-decoration:underline}

/* ————————————————— Responsive ————————————————— */
@media (max-width:1200px){
  .pf-tl__card{width:420px;max-width:420px}
}
@media (max-width:968px){
  .pf-tl__year-block{grid-template-columns:1fr;grid-template-areas:"year" "card";justify-items:center;gap:20px}
  .pf-tl__year-block:nth-child(odd) .pf-tl__card-container,
  .pf-tl__year-block:nth-child(even) .pf-tl__card-container{grid-area:card;justify-self:center}
  .pf-tl__author-photo-zone,.pf-tl__cover-zone,.pf-tl__axis-ornaments{display:none}
  .pf-tl__card{width:100%;max-width:600px}
}
@media (max-width:600px){
  .pf-tl__year-label{font-size:1.8rem;width:110px;height:150px}
  .pf-banner-author{font-size:1.2rem;padding:16px 20px}
  .pf-tl__card{width:100%}
}
/* ————————————————— État vide ————————————————— */
.pf-tl--empty{text-align:center;padding:60px;color:var(--pf-muted);font-style:italic}
