/* =========================================================
   NIBI — patchnotes.css
   Styles additionnels pour la page "Journal des mises à jour"
   S'appuie sur les variables et classes définies dans home.css
   (charger home.css AVANT patchnotes.css)
   ========================================================= */

/* ---------- header ---------- */
.patch-header{
  padding:60px 32px 40px;
  text-align:center;
}
.patch-header .section-head{ margin-bottom:0; }

/* ---------- filtres par type ---------- */
.patch-toolbar{
  display:flex; gap:10px; flex-wrap:wrap; justify-content:center;
  max-width:1180px; margin:0 auto 56px; padding:0 32px;
}
.patch-toolbar button{
  font-family:var(--mono); font-size:12px; letter-spacing:.03em;
  padding:8px 16px; border-radius:999px;
  border:1px solid var(--line); background:transparent; color:var(--text-muted);
  cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  transition: border-color .2s ease, color .2s ease;
}
.patch-toolbar button:hover{ color:var(--text); }
.patch-toolbar button.active{ border-color:var(--brass); color:var(--brass); }
.patch-toolbar button .dot{
  width:6px; height:6px; border-radius:50%; flex-shrink:0;
  background: currentColor;
}

/* ---------- timeline ---------- */
.patch-timeline{
  max-width:820px;
  margin:0 auto;
  padding:0 32px 120px;
  position:relative;
}
.patch-timeline::before{
  content:"";
  position:absolute;
  top:6px; bottom:6px; left:32px;
  width:1px;
  background: var(--line);
}
@media (max-width:640px){
  .patch-timeline::before{ left:14px; }
}

.patch-entry{
  position:relative;
  padding-left:76px;
  margin-bottom:56px;
}
.patch-entry:last-child{ margin-bottom:0; }

.patch-entry::before{
  content:"";
  position:absolute;
  left:26px; top:6px;
  width:13px; height:13px;
  border-radius:50%;
  background: var(--abyss);
  border:2px solid var(--brass-dim);
  transition: border-color .2s ease;
}
.patch-entry.latest::before{
  border-color: var(--brass);
  box-shadow: 0 0 0 4px rgba(217,165,92,.15);
}
@media (max-width:640px){
  .patch-entry{ padding-left:40px; }
  .patch-entry::before{ left:8px; }
}

.patch-meta{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  margin-bottom:10px;
}
.patch-version{
  font-family:var(--display);
  font-weight:800;
  font-size:26px;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:var(--text);
}
.patch-entry.latest .patch-version{ color:var(--brass); }
.patch-date{
  font-family:var(--mono);
  font-size:12.5px;
  color:var(--text-faint);
  letter-spacing:.03em;
}
.patch-badge-latest{
  font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:#191207; background:var(--brass);
  padding:3px 9px; border-radius:4px;
  font-weight:700;
}

.patch-title{
  font-family:var(--display);
  font-weight:700;
  font-size:19px;
  text-transform:uppercase;
  letter-spacing:.01em;
  margin-bottom:16px;
  color:var(--text);
}

.patch-changes{ display:flex; flex-direction:column; gap:10px; }
.patch-change{
  display:flex; gap:12px; align-items:flex-start;
  font-size:14.5px;
  color:var(--text-muted);
}
.patch-change-type{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  padding:3px 8px;
  border-radius:4px;
  border:1px solid var(--line);
  flex-shrink:0;
  margin-top:1px;
  white-space:nowrap;
}
/* types de changement */
.patch-change-type.new{ color:var(--brass); border-color:var(--brass-dim); }
.patch-change-type.improve{ color:var(--teal); border-color:rgba(47,168,160,.4); }
.patch-change-type.fix{ color:var(--live); border-color:rgba(232,96,76,.4); }

.patch-empty{
  text-align:center;
  color:var(--text-faint);
  padding:60px 0;
  font-family:var(--mono);
  font-size:13.5px;
}

/* ---------- contrôles staff ---------- */
.patch-admin-bar{
  max-width:820px;
  margin:0 auto 24px;
  padding:0 32px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.patch-admin-bar .form-flash{
  flex-grow:1;
  margin-bottom:0;
}

.inline-patch-form{
  max-width:820px;
  margin:0 auto 40px;
  padding:0 32px;
  display:none;
}
.inline-patch-form.open{ display:block; }

.patch-admin-actions{
  margin-left:auto;
  display:flex;
  gap:8px;
}
.patch-admin-actions form{ display:contents; }
.btn-danger:hover{
  border-color: rgba(232,96,76,.5) !important;
  color: var(--live) !important;
  background: transparent !important;
}

@media (max-width:640px){
  .patch-admin-bar{ justify-content:stretch; }
  .patch-admin-bar .btn{ width:100%; }
  .patch-meta{ position:relative; }
  .patch-admin-actions{ margin-left:0; width:100%; margin-top:8px; }
}
