/* =========================================================
   Page Plan du site — plan.css
   Scoped sur .page-plan
   ========================================================= */

.page-plan .plan-glass{ padding:26px; }

/* Intro H2 */
.page-plan .plan-intro-title{ margin:22px 0 10px; }

/* Box sitemap */
.page-plan .plan-sitemap-box{ margin-top:18px; }
.page-plan .plan-sitemap-title{ margin:0 0 8px; }

/* =========================
   Arborescence
   ========================= */
.page-plan .smap{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:14px;
}
.page-plan .smap > li{ margin:0; }

.page-plan .sitem{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius: var(--radius2);
  border: 1px solid rgba(16,24,40,.10);
  background: rgba(255,255,255,.78);
  box-shadow: 0 14px 34px rgba(16,24,40,.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.page-plan .sleft{ min-width:0; }

.page-plan .stitle{
  margin:0;
  font-family: var(--font-title);
  font-weight:500;
  letter-spacing:-.01em;
}
.page-plan .stitle a{ text-decoration:none; }
.page-plan .stitle a:hover{ text-decoration:underline; }

.page-plan .stitle-no-link{
  margin:0;
  font-size:1.05rem;
}

.page-plan .sdesc{
  margin:6px 0 0;
  color: var(--muted);
  line-height:1.7;
  max-width:92ch;
}

.page-plan .sright{
  flex:0 0 auto;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.page-plan .sbtn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border: 1px solid rgba(16,24,40,.10);
  background: rgba(16,24,40,.02);
  text-decoration:none;
  font-weight:900;
  font-size:.92rem;
  color: rgba(11,18,32,.92);
}
.page-plan .sbtn:hover{
  background: rgba(255,210,11,.11);
  border-color: rgba(255,198,11,.219);
}
.page-plan .sbtn small{ font-weight:900; opacity:.8; }

.page-plan .schildren{
  list-style:none;
  padding:10px 0 0 22px;
  margin:0;
  display:grid;
  gap:10px;
}

.page-plan .schild{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border-radius:18px;
  border: 1px solid rgba(16,24,40,.10);
  background: rgba(16,24,40,.02);
}

.page-plan .schild .sdesc{ margin-top:4px; }
.page-plan .schild .stitle{ font-size:1.05rem; }

@media (max-width:560px){
  .page-plan .sitem,
  .page-plan .schild{ flex-direction:column; }
  .page-plan .sright{ justify-content:flex-start; }
}