/* Agenda personnel : date forte et historique en lignes. */
.ppf-sessions__heading { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:32px; padding:44px 0; }
.ppf-sessions__heading h1 { margin:16px 0 0; font-size:clamp(38px,4.5vw,64px); }
.ppf-sessions__heading > p { max-width:32ch; color:#b6bfb5; line-height:1.7; }
.ppf-sessions__next { display:grid; grid-template-columns:220px minmax(0,1fr); border-block:1px solid #52683b; background:transparent; }
.ppf-sessions__date { padding:36px; display:flex; flex-direction:column; justify-content:center; border-right:1px dashed #52683b; text-transform:uppercase; background:#c7ff48; color:#06110d; }
.ppf-sessions__date > span:first-child { font-size:11px; letter-spacing:.12em; }
.ppf-sessions__date strong { color:#06110d; font-size:112px; font-style:italic; line-height:1.1; letter-spacing:-.08em; margin:12px 0; }
.ppf-sessions__date > span:last-child { font-size:16px; }
.ppf-sessions__next-body { padding:36px; min-width:0; }
.ppf-sessions__next h2 { font-size:clamp(28px,3vw,42px); margin:20px 0 12px; }
.ppf-sessions__status { display:inline-block; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#c7ff48; }
.ppf-sessions__status--pending { color:#e6cd8a; }
.ppf-sessions__status--cancelled { color:#d5b5ac; }
.ppf-sessions__status--completed { color:#b6bfb5; }
.ppf-sessions__detail { margin-top:20px; border-top:1px solid #344536; }
.ppf-sessions__detail summary { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:48px; cursor:pointer; font-size:14px; list-style:none; }
.ppf-sessions__detail summary::-webkit-details-marker { display:none; }
.ppf-sessions__detail summary span { color:#c7ff48; }
.ppf-sessions__detail[open] summary span { transform:rotate(45deg); }
.ppf-sessions__detail dl { margin:8px 0 0; }
.ppf-sessions__detail dl > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; padding:10px 0; border-bottom:1px solid #263b2e; font-size:14px; }
.ppf-sessions__detail dt { color:#b6bfb5; }
.ppf-sessions__detail dd { margin:0; overflow-wrap:anywhere; }
.ppf-sessions__list { margin-top:48px; }
.ppf-sessions__list h2 { font-size:26px; }
.ppf-sessions__list-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.ppf-sessions__list-heading > span { font-size:12px; color:#b6bfb5; }
.ppf-sessions__row { display:grid; grid-template-columns:150px minmax(0,1fr) 120px; align-items:start; gap:24px; border-top:1px solid #344536; padding:24px 0; }
.ppf-sessions__row time { font-size:14px; padding-top:4px; }
.ppf-sessions__row h3 { font-size:20px; margin:0; }
.ppf-sessions__row p { color:#b6bfb5; font-size:14px; margin:10px 0; }
.ppf-sessions__row > .ppf-sessions__status { text-align:right; padding-top:4px; }
.ppf-sessions__empty { display:flex; align-items:center; gap:40px; padding:40px 0; border-block:1px solid #52683b; }
.ppf-sessions__empty-mark { font-size:110px; color:#c7ff48; font-weight:bold; }
.ppf-sessions__empty h2 { font-size:clamp(26px,3vw,40px); }
.ppf-sessions__empty p,.ppf-sessions__list > p { color:#b6bfb5; line-height:1.7; }
.ppf-sessions__help { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:40px; padding-top:16px; border-top:1px solid #344536; }
.ppf-sessions__help h2 { font-size:22px; }
.ppf-sessions__help p { color:#b6bfb5; line-height:1.7; font-size:14px; }
.ppf-sessions__help a { display:inline-flex; align-items:center; min-height:44px; color:#c7ff48; }
.ppf-sessions summary:focus-visible { outline:2px solid #c7ff48; outline-offset:4px; }
@media(max-width:760px) {
  .ppf-sessions__heading,.ppf-sessions__help { grid-template-columns:minmax(0,1fr); gap:20px; }
  .ppf-sessions__heading { padding:28px 0; }
  .ppf-sessions__next { grid-template-columns:minmax(0,1fr); }
  .ppf-sessions__date { flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:20px; border-right:0; border-bottom:1px dashed #52683b; }
  .ppf-sessions__date strong { font-size:72px; margin:0; }
  .ppf-sessions__date > span:first-child { flex-basis:100%; }
  .ppf-sessions__next-body { padding:24px 20px; }
  .ppf-sessions__row { grid-template-columns:minmax(0,1fr) auto; gap:14px; }
  .ppf-sessions__row > div { grid-column:1/-1; grid-row:2; }
  .ppf-sessions__row > .ppf-sessions__status { grid-column:2; grid-row:1; }
  .ppf-sessions__empty { gap:20px; align-items:start; }
  .ppf-sessions__empty-mark { font-size:42px; }
}

.ppf-sessions__boarding { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:20px; margin:28px 0 0; }
.ppf-sessions__boarding > div { min-width:0; }
.ppf-sessions__boarding span { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#b6bfb5; margin-bottom:8px; }
.ppf-sessions__boarding strong { font-size:36px; font-style:italic; font-variant-numeric:tabular-nums; }
.ppf-sessions__boarding small { font-size:22px; font-weight:normal; color:#b6bfb5; }
.ppf-sessions__boarding b { font-size:13px; font-weight:normal; overflow-wrap:anywhere; }
.ppf-sessions__help > p { margin:0; }
.ppf-sessions__help summary { min-height:44px; cursor:pointer; font-size:13px; color:#b6bfb5; padding:12px 0; }
.ppf-sessions__help details p { max-width:52ch; }
@media(max-width:760px) {
  .ppf-sessions__date { border-bottom:0; }
  .ppf-sessions__next-body { padding-inline:0; }
  .ppf-sessions__help { gap:4px; }
}
