/* HEADER GLOBAL */
.reservation-header {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #eaeaea;
}

/* BANDE 1 */
/* TOP BAR */
.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
    padding: 0 0 0 32px;
}

/* LEFT SIDE */
.top-bar .left {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: black;
    gap: 24px;
}
.top-bar.texteLogo {
    font-size: 1rem;
    font-weight: 600;
}
.logo img {
    height: 40px;
}
.top-bar .right {
    padding: 15px;
    border-left: 1px solid #e5e5e5;
}
/* CLOSE BUTTON */
.close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    text-decoration: none;
    font-size: 22px;
    color: #333;
    transition: all 0.2s ease;
}

.close-btn:hover {
    background: #f2f2f2;
}
/* BANDE 2 */
.progress-bar{
   width: 100%;
  overflow: hidden;
  height:80px;
  display:flex;
  align-items:center;
  padding:0 32px;
  border-top:1px solid #f0f0f0;
  background:#fff;

  --bubble-size:24px;
  --line-thickness:1px;
  --bubble-top:16px;
  --halo:4px;
}

.progress-steps{
  list-style:none;
  margin:0;
  padding:0;

  width:100%;
  height:80px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;

  position:relative;
}

/* ✅ Une seule ligne grise, centrée sur les bulles */
.progress-steps::before{
  content:"";
  position:absolute;
  left:calc(var(--bubble-size)/2);
  right:calc(var(--bubble-size)/2);

  top:calc(var(--bubble-top) + (var(--bubble-size)/2) - (var(--line-thickness)/2));
  height:var(--line-thickness);
  background:#e5e5e5;
  z-index:0;
}

.step{
  flex:1;
  display:flex;
  justify-content:center;
}

.step-link{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:var(--bubble-top);
  gap:8px;
  text-decoration:none;
  color:inherit;
  border-radius:10px;
}

/* Bulle (base = future) */
.bubble{
  width:var(--bubble-size);
  height:var(--bubble-size);
  border-radius:999px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:12px;
  font-weight:600;

  background:#fff;
  border:1px solid #cfcfcf;
  color:#8a8a8a;

  position:relative;
  z-index:1;

  /* ✅ halo blanc pour “couper” la ligne autour de la bulle */
  box-shadow:0 0 0 var(--halo) #fff;

    transition: 
        border-color 0.3s ease,
        background-color 0.3s ease,
        color 0.3s ease;
}

.label{
  font-size:0.88rem;
  color:var(--texte-color);
  white-space:nowrap;
   transition: 
        color 0.3s ease;
}

/* ✅ Actif = bord noir, fond blanc */
.step.is-active .bubble{
  border-color:var(--vert-color);
  background:var(--vert-color);
  color:white;
}
.step.is-active .label{
  color:var(--vert-color);
  font-weight:600;
}

/* ✅ Done = fond noir, chiffre blanc */
.step.is-done .bubble{

  border-color:var(--vert-color);
  color:#fff;
     font-size: 0;              /* masque le chiffre */
    position: relative;
}
.step.is-done .bubble::after {
    content: "✓";
    font-size: 14px;           /* taille du check */
    line-height: 1;
    font-weight: 700;
     background-color:white;
  border-color:var(--vert-color);
  color:var(--vert-color);
}
.step.is-done .label{
  color:var(--vert-color);
}

/* Hover léger */
.step-link:hover .bubble{ border-color:var(--vert-color); }
.step-link:hover .label{ color:var(--vert-color); }
/* ✅ Mobile : compact + scroll si nécessaire */
@media (max-width: 640px){

  .progress-bar{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding:0 5px;
  }

  .progress-steps{
    justify-content: flex-start;
    padding: 0 12px;
    gap: 12px;
    min-width: max-content;
  }

  /* scoped uniquement à la progress bar */
  .progress-bar .label{
    display:none;
  }

  .progress-bar .step.is-active .label{
    display:inline;
    font-size:13px;
  }

  .progress-bar .bubble{
    width: 28px;
    height: 28px;
    font-size: 13px;
  }

}