
  /* WPZ – Rétroplanning global (scope .wpz-retro) */
  .wpz-retro{
    --gap:18px;
    --radius:16px;
    --soft:#f6f7f8;
    --line:#e5e7eb;
    --ink:#0f172a;
    --muted:#6b7280;
    --brand:#5CA174;
    --prune:#9C1657;
    --shadow:0 18px 40px rgba(15,23,42,.12);
    color:var(--ink);
    font-family:inherit;
    position:relative;
  }

  .wpz-retro__head{
    margin:10px 0 8px;
  }

  .wpz-retro__wedding-form{
    margin-top:8px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:flex-end;
    font-size:0.9rem;
  }
  .wpz-retro__wedding-form label{
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .wpz-retro__wedding-form input[type="date"]{
    border-radius:10px;
    border:1px solid var(--line);
    padding:6px 10px;
    font-size:0.9rem;
  }
  .wpz-retro__wedding-sub{
    margin-top:4px;
    font-size:0.9rem;
    color:var(--muted);
  }
  .wpz-rp-edit-date{
    margin-top:4px;
    padding:0;
    border:0;
    background:none;
    font-size:0.85rem;
    color:var(--brand);
    cursor:pointer;
    text-decoration:underline;
  }
  .wpz-rp-edit-date:hover{
    color:var(--prune);
  }

  .wpz-retro__wedding-form--inline{
    margin-top:6px;
  }

  .wpz-rp-mobilebar-task{
    font-size:0.84rem;
    color:var(--muted);
    margin-top:2px;
  }

  @media (max-width: 768px){
    .wpz-retro__wedding-form{
      flex-direction:column;
      align-items:flex-start;
    }
  }

  .wpz-retro__controls{
    display:flex;
    align-items:center;
    gap:10px;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .wpz-retro__subtitle{
    font-size:0.92rem;
    color:var(--muted);
  }
  .wpz-rp-saved{
    font-size:0.9rem;
    color:var(--muted);
  }

  .wpz-retro__body{
    margin-top:10px;
    padding-bottom:90px; /* place pour la bannière basse */
  }
  .wpz-retro__list{
    list-style:none;
    margin:0;
    padding:0;
  }

  /* Phase header */
  .wpz-retro__phase{
    margin:20px 0 8px;
  }
  .wpz-retro__phase-title{
    font-size:2rem;
    font-weight:700;
    color:var(--prune);
  }
  .wpz-retro__phase-sub{
    font-size:0.88rem;
    color:var(--muted);
    margin-top:2px;
  }

  /* Item = timeline */
  .wpz-retro__item{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    column-gap:14px;
    position:relative;
  }

  .wpz-retro__item.is-dragging{
    opacity:.6;
  }

/* Rétroplanning – remplacer le point par un trait horizontal */
.wpz-retro__rail{
  position: relative;
  padding-top: 0;
}

/* on supprime le petit cercle */
.wpz-retro__dot{
  display: none;
}

/* rail vertical (gris clair) */
.wpz-retro__rail::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 11px;
  width: 2px;
  background: var(--line);
}

/* trait horizontal partant de la bordure verticale */
.wpz-retro__rail::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 11px;
  width: 22px;       /* ajuste la longueur si besoin */
  height: 2px;
  background: var(--line);
  transform: translateY(-50%);
}

/* Variante impression */
@media print {
  .wpz-retro__dot{
    display: none !important;
  }
  .wpz-retro__rail::before{
    left: 8px;
    width: 1.8px;
    background: #cbd5e1;
  }
  .wpz-retro__rail::after{
    width: 20px;
    height: 1.8px;
    background: #cbd5e1;
  }
}

  .wpz-retro__card{
    margin:8px 0 12px;
    background:#fff;
    border-radius:var(--radius);
    border:1px solid var(--line);
    box-shadow:0 10px 30px rgba(15,23,42,.06);
    padding:12px 14px 12px;
  }

  .wpz-retro__time-line{
    display:flex;
    align-items:left;
    justify-content:space-between;
    gap:8px;
    margin-bottom:6px;
  }
  .wpz-retro__pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:3px 10px;
    border-radius:999px;
    background:var(--soft);
    color:var(--muted);
    font-weight:500;
    font-size:0.8rem;
    letter-spacing:0.02em;
    text-transform:uppercase;
    flex:0 0 auto;
  }

  .wpz-rp-drag{
    border:0;
    background:transparent;
    cursor:grab;
    font-size:1.1rem;
    line-height:1;
    padding:0 4px 0 0;
    color:var(--muted);
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
  }
  .wpz-rp-drag:active{
    cursor:grabbing;
  }

  .wpz-rp-iconbtn{
    border:0;
    background:transparent;
    cursor:pointer;
    font-size:0.95rem;
    line-height:1;
    padding:4px 8px;
    border-radius:999px;
    color:var(--muted);
    opacity:0;
    transition:opacity .2s ease, background-color .2s ease, color .2s ease;
    flex:0 0 auto;
  }
  .wpz-retro__card:hover .wpz-rp-iconbtn,
  .wpz-retro__card:focus-within .wpz-rp-iconbtn{
    opacity:1;
  }
  .wpz-rp-iconbtn:hover{
    background:rgba(92,161,116,.08);
    color:var(--brand);
  }

  .wpz-retro__card-body{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .wpz-retro__title{
    font-size:0.9rem;
    margin:0 0 2px;
  }
  .wpz-retro__date{
    font-size:0.85rem;
    color:var(--muted);
  }
  .wpz-retro__note{
    margin:2px 0 0;
    font-size:0.9rem;
  }

  /* Bannière fixe bas */
  .wpz-retro__mobilebar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom, 0));
    background:#ffffff;
    border-top:1px solid rgba(15,23,42,.08);
    box-shadow:0 -10px 30px rgba(15,23,42,.18);
  }
  .wpz-retro__mobilebar-inner{
    max-width:min(1100px, 100% - 14px);
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .wpz-rp-mobilebar-main{
    flex:1;
    min-width:0;
  }
  .wpz-rp-mobilebar-title{
    font-size:0.9rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--prune);
  }
  .wpz-rp-mobilebar-next{
    font-size:0.86rem;
    color:var(--muted);
    margin-top:2px;
  }
  .wpz-rp-btm-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    align-items:center;
  }

  .wpz-rp-btn{
    border-radius:999px;
    border:1px solid var(--line);
    padding:7px 14px;
    background:#fff;
    cursor:pointer;
    font-size:0.9rem;
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-weight:600;
  }
  .wpz-rp-btn--primary{
    background:var(--brand);
    color:#fff;
    border-color:var(--brand);
  }
  .wpz-rp-btn--ghost{
    background:#f9fafb;
  }
  .wpz-rp-btn--danger{
    border-color:#f97373;
    color:#b91c1c;
    background:#fef2f2;
  }

  .wpz-rp-fab{
    position:fixed;
    right:16px;
    bottom:calc(100px + env(safe-area-inset-bottom, 0));
    width:52px;
    height:52px;
    border-radius:999px;
    border:none;
    background:var(--brand);
    color:#fff;
    font-size:28px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 14px 36px rgba(92,161,116,.45);
    cursor:pointer;
    transition:transform .12s ease, box-shadow .12s ease, filter .18s ease;
	z-index:9999;
  }
  .wpz-rp-fab:hover{
    filter:brightness(1.04);
    transform:translateY(-1px);
  }
  .wpz-rp-fab:active{
    transform:translateY(1px) scale(.98);
    box-shadow:0 6px 18px rgba(92,161,116,.5);
  }

  /* Modale */
  .wpz-retro-modal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:none;
  }
  .wpz-retro-modal.is-open{
    display:block;
  }
  .wpz-retro-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.55);
  }
  .wpz-retro-modal__dialog{
    position:absolute;
    inset:0;
    margin:0;
    max-width:none;
    width:100%;
    height:100%;
    background:#fff;
    border-radius:0;
    box-shadow:0 24px 60px rgba(15,23,42,.25);
    display:flex;
    flex-direction:column;
  }
  .wpz-retro-modal__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 18px;
    border-bottom:1px solid var(--line);
  }
  .wpz-retro-modal__title{
    margin:0;
    font-size:1.05rem;
    font-weight:600;
  }
  .wpz-retro-modal__close{
    border:0;
    background:transparent;
    font-size:1.4rem;
    cursor:pointer;
    color:var(--muted);
  }
  .wpz-retro-modal__content{
    padding:14px 18px 18px;
    overflow-y:auto;
    flex:1;
  }
  .wpz-retro-modal__form{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .wpz-retro-modal label{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:0.9rem;
  }
  .wpz-retro-modal input,
  .wpz-retro-modal textarea{
    border-radius:10px;
    border:1px solid var(--line);
    padding:8px 10px;
    font-size:0.9rem;
    font-family:inherit;
  }
  .wpz-retro-modal textarea{ resize:vertical; }
  .wpz-rp-modal-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:4px;
  }

  /* Loading overlay */
  .wpz-retro.is-loading::before,
  .wpz-retro.is-loading::after{
    content:"";
    position:absolute;
    z-index:60;
  }
  .wpz-retro.is-loading::before{
    inset:0;
    background:rgba(255,255,255,.7);
  }
  .wpz-retro.is-loading::after{
    top:50%;
    left:50%;
    width:34px;
    height:34px;
    margin:-17px 0 0 -17px;
    border-radius:999px;
    border:3px solid rgba(92,161,116,.25);
    border-top-color:var(--brand);
    animation:wpz-rp-spin .7s linear infinite;
  }
  @keyframes wpz-rp-spin{
    to{ transform:rotate(360deg); }
  }
  .wpz-retro-modal__dialog.is-loading{
    opacity:.7;
    pointer-events:none;
  }

  /* Responsive */
  @media (max-width: 768px){
    .wpz-retro__mobilebar-inner{
      flex-direction:column;
      align-items:flex-start;
    }
    .wpz-rp-mobilebar-main{
      width:100%;
    }
    .wpz-rp-btm-actions{
      width:100%;
      justify-content:flex-start;
      margin-top:6px;
    }
  }

  /* Impression */
  @media print{
    .wpz-retro__mobilebar,
    .wpz-tools-bottom-bar,
    .wpz-retro-modal,
    .wpz-rp-fab{
      display:none !important;
    }

    .wpz-retro__body{
      padding-bottom:0;
    }
    .wpz-retro__card{
      box-shadow:none;
      border-color:#d1d5db;
    }
    .wpz-rp-iconbtn,
    .wpz-rp-drag{
      display:none !important;
    }
  }

  .wpz-retro__head{
    margin:10px 0 12px;
  }
  .wpz-retro__topline{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }
  .wpz-retro__title{
    margin:0;
    font-size:0.9rem;
    font-weight:700;
    color:var(--ink);
  }
  .wpz-rp-saved{
    font-size:0.9rem;
    color:var(--muted);
  }

  /* Tâche cochée */
  .wpz-retro__card--done{
    background:rgba(92,161,116,.06);
    border-color:var(--brand);
  }
  .wpz-retro__card--done .wpz-retro__title{
    color:var(--brand);
    text-decoration:line-through;
  }

  .wpz-retro__check{
    display:flex;
    align-items:center;
    gap:8px;
  }

  .wpz-retro__check input[type="checkbox"]{
    width:16px;
    height:16px;
    cursor:pointer;
    accent-color:var(--brand);
  }

  /* Impression (bis) */
  @media print{

    :root, body{
      background:#ffffff !important;
      color:#0f172a !important;
    }

    .wpz-retro__mobilebar,
    .wpz-retro-modal,
    .wpz-rp-fab,
    .wpz-rp-btm-actions,
    #wpz-rp-print,
    #wpz-rp-reset{
      display:none !important;
    }

    .wpz-retro{
      box-shadow:none !important;
    }

    .wpz-retro__body{
      padding-bottom:0;
    }

    .wpz-retro__card{
      box-shadow:none !important;
      border:none !important;
      background:transparent !important;
      border-radius:0;
      padding:4px 0 6px;
    }

    .wpz-retro__item{
      grid-template-columns:18px minmax(0,1fr);
      column-gap:10px;
    }

    .wpz-retro__rail::before{
      left:8px;
      width:1.8px;
      background:#cbd5e1;
    }

    .wpz-retro__dot{
      width:10px;
      height:10px;
      border-width:2px;
      box-shadow:none;
    }

    .wpz-retro__phase{
      margin-top:12px;
    }
    .wpz-retro__phase-title{
      font-size:1rem;
    }

    .wpz-rp-iconbtn,
    .wpz-rp-drag{
      display:none !important;
    }

    .wpz-retro a[href]:after{
      content:"" !important;
    }
  }

  #wpz-rp-f-phase::placeholder {
    color: var(--muted);
    opacity: .8;
  }


/* Header compact */
.wpz-retro__time-line{
  display:flex;
  align-items:center;      /* ← au lieu de left */
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}

/* Bouton drag */
.wpz-rp-drag{
  border:0;
  background:transparent;
  cursor:grab;
  font-size:1.1rem;
  line-height:1;
  padding:0 2px 0 0;
  color:#94a3b8;            /* gris doux */
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}

.wpz-rp-drag:hover{
  background:transparent !important; 
  color:#64748b !important; /* gris un peu plus sombre */
}

.wpz-rp-drag:active{
  cursor:grabbing;
}

/* Date pill ajustée */
.wpz-retro__pill{
  margin-left:2px;          /* rapproche drag + date */
}

/* Icône edit → plus discret */
.wpz-rp-iconbtn{
  opacity:.35;
}
.wpz-retro__card:hover .wpz-rp-iconbtn{
  opacity:.9;
}



/* Tête de l'accordéon (titre + chevron) */
.wpz-rp-mobilebar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

/* Bouton chevron */
.wpz-rp-mobilebar-toggle{
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:0.9rem;
  line-height:1;
  padding:4px;
  border-radius:999px;
  color:var(--muted);
}

.wpz-rp-mobilebar-toggle:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}

/* Contenu repliable (texte “Prochaine étape / Tâche”) */
.wpz-rp-mobilebar-panel{
  margin-top:4px;
  display:block;
}

.wpz-rp-mobilebar-panel.is-collapsed{
  display:none;
}
/* Bouton flèche neutre, sans hover */
.wpz-rp-mobilebar-toggle{
  border:0;
  background:transparent !important;
  cursor:pointer;
  font-size:1rem;
  line-height:1;
  padding:4px;
  border-radius:0;
  color:var(--ink); /* couleur neutre */
}

/* Supprimer tout effet au hover */
.wpz-rp-mobilebar-toggle:hover,
.wpz-rp-mobilebar-toggle:active,
.wpz-rp-mobilebar-toggle:focus {
  background:transparent !important;
  color:var(--ink) !important;
  box-shadow:none !important;
}


  /* BANNIÈRE BASSE – composant WPZ générique */
  .wpz-tools-bottom-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0));
    background:#FAFEFC;
    border-top:1px solid rgba(92,161,116,0.12);
    box-shadow:0 -6px 18px rgba(92,161,116,0.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    font-family:inherit;
  }

  .wpz-tools-bottom-icons{
    display:flex;
    align-items:center;
    gap:10px;
  }

  .wpz-tools-bottom-center{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:0;
  }

  .wpz-tools-bottom-text{
    font-size:0.86rem;
    font-weight:700;
    color:#1B4332;
    text-align:center;
  }

  .wpz-tools-bottom-sub{
    margin-top:3px;
    font-size:0.8rem;
    color:#6B7280;
    text-align:center;
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    justify-content:center;
  }

  .wpz-tools-bottom-status{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
  }

  .wpz-tools-bottom-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:8px 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(92,161,116,0.25);
    cursor:pointer;
    font-size:0.84rem;
    font-weight:600;
    color:#1B4332;
    transition:background .15s ease, transform .15s ease;
  }

  .wpz-tools-bottom-btn .dashicons{
    width:20px;
    height:20px;
    font-size:18px;
    line-height:20px;
    color:var(--brand);
  }

  .wpz-tools-bottom-label{
    white-space:nowrap;
  }

  .wpz-tools-bottom-btn:hover{
    background:rgba(92,161,116,0.22);
    transform:translateY(-1px);
  }

  .wpz-tools-bottom-btn:active{
    transform:translateY(0) scale(.97);
  }

  .wpz-tools-bottom-reset{
    border:0;
    background:none;
    padding:0;
    font-size:0.78rem;
    color:#b91c1c;
    cursor:pointer;
    text-decoration:underline;
  }

  @media (max-width: 768px){
    .wpz-tools-bottom-bar{
      flex-direction:column;
      align-items:flex-start;
      gap:10px;
    }
    .wpz-tools-bottom-center,
    .wpz-tools-bottom-status{
      align-items:flex-start;
    }
  }

  @media (max-width: 480px){
    .wpz-tools-bottom-label{
      display:none;
    }
  }

#wpz-rp-bottom-main,
  #wpz-rp-bottom-next,
  #wpz-rp-bottom-task {
    text-align:left !important;
  }


/* Masquer l’infos de la bannière fixe sur mobile */
@media (max-width: 768px) {
  #wpz-rp-bottom-main,
  #wpz-rp-bottom-next,
  #wpz-rp-bottom-task {
    display: none !important;
  }
}


  