/* sommaire.css — Sommaire latéral + indicateurs de pages */

.sommaire{
  position:fixed;
  top:50%;
  right:18px;
  transform:translateY(-50%);
  z-index:2000;

  display:flex;
  flex-direction:column;
  gap:10px;

  font-family:"Big Caslon","Libre Caslon Text","Baskerville","Times New Roman",serif;
}

.sommaire-item{
  all:unset;
  box-sizing:border-box;

  display:block;
  align-self:flex-end;

  padding:10px 14px;
  border-radius:999px;
  border:1px solid #000;

  background:rgba(247,247,247,.95);
  color:#000;

  font-size:.9rem;
  line-height:1.1;
  cursor:pointer;
  user-select:none;

  transform:translateX(0);
  transition:
    transform .18s ease,
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease;
}

.sommaire-item:not(.is-active):hover{
  transform:translateX(-8px);
}

.sommaire-item.is-active{
  transform:translateX(-18px);
  background:#1f1f1f;
  border-color:#1f1f1f;
  color:#fff;
}

#export-pdf,
.sommaire-export{
  display:none !important;
}

/* ===== Sommaire : indicateur comme avant, inline à droite du texte ===== */
.sommaire a.sommaire-incomplete::after,
.sommaire button.sommaire-incomplete::after,
.sommaire-nav a.sommaire-incomplete::after,
.sommaire-nav button.sommaire-incomplete::after,
#sommaire a.sommaire-incomplete::after,
#sommaire button.sommaire-incomplete::after,
.sommaire .sommaire-item.sommaire-incomplete::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:999px;
  margin-left:8px;
  background:#b3b3b3;
  opacity:.9;
}

.sommaire a.sommaire-ok::after,
.sommaire button.sommaire-ok::after,
.sommaire-nav a.sommaire-ok::after,
.sommaire-nav button.sommaire-ok::after,
#sommaire a.sommaire-ok::after,
#sommaire button.sommaire-ok::after,
.sommaire .sommaire-item.sommaire-ok::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:999px;
  margin-left:8px;
  background:#2e7d32;
  opacity:.95;
}

.sommaire a.sommaire-error::after,
.sommaire button.sommaire-error::after,
.sommaire-nav a.sommaire-error::after,
.sommaire-nav button.sommaire-error::after,
#sommaire a.sommaire-error::after,
#sommaire button.sommaire-error::after,
.sommaire .sommaire-item.sommaire-error::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:999px;
  margin-left:8px;
  background:#c00000;
  opacity:.95;
}

/* ===== Indicateurs directement sur les pages quand le sommaire disparaît ===== */
.fiche-page.page-status-incomplete::before,
.fiche-page.page-status-incomplete::after,
.fiche-page.page-status-ok::before,
.fiche-page.page-status-ok::after,
.fiche-page.page-status-error::before,
.fiche-page.page-status-error::after{
  content:"";
  position:absolute;
  z-index:5;
  width:8px;
  height:8px;
  border-radius:999px;
  opacity:.95;
  pointer-events:none;
}

.fiche-page.page-status-incomplete::before,
.fiche-page.page-status-ok::before,
.fiche-page.page-status-error::before{
  top:7px;
  left:7px;
}

.fiche-page.page-status-incomplete::after,
.fiche-page.page-status-ok::after,
.fiche-page.page-status-error::after{
  right:7px;
  bottom:7px;
}

.fiche-page.page-status-incomplete::before,
.fiche-page.page-status-incomplete::after{ background:#b3b3b3; }

.fiche-page.page-status-ok::before,
.fiche-page.page-status-ok::after{ background:#2e7d32; }

.fiche-page.page-status-error::before,
.fiche-page.page-status-error::after{ background:#c00000; }



/* Les points sur les pages ne remplacent le sommaire qu'en dessous de 980px */
@media (min-width:981px){
  .fiche-page.page-status-incomplete::before,
  .fiche-page.page-status-incomplete::after,
  .fiche-page.page-status-ok::before,
  .fiche-page.page-status-ok::after,
  .fiche-page.page-status-error::before,
  .fiche-page.page-status-error::after{
    display:none !important;
  }
}

@media (max-width:980px){
  .sommaire{ display:none; }
}

@media print{
  .sommaire{ display:none !important; }

  .fiche-page.page-status-incomplete::before,
  .fiche-page.page-status-incomplete::after,
  .fiche-page.page-status-ok::before,
  .fiche-page.page-status-ok::after,
  .fiche-page.page-status-error::before,
  .fiche-page.page-status-error::after{
    display:none !important;
  }
}
