/* sessions.html — page styles (depends on site.css) */
body{ padding-bottom:0; }
@media (max-width:899px){ body{ padding-bottom:80px; } }
.btn-orange{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:14px 24px; background:var(--accent); color:#fff; text-decoration:none; font-weight:700; font-size:16px; letter-spacing:-0.01em; transition:background 120ms ease; }
.btn-orange:hover{ background:var(--accent-deep); color:#fff; }
.txt-link{ font-weight:600; font-size:15px; color:var(--accent); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1.5px; }
.txt-link:hover{ color:var(--fg); }

/* nav: mobile menu */
.menu-btn{ display:inline-flex; align-items:center; gap:8px; min-width:44px; min-height:44px; padding:0 4px; background:transparent; border:0; color:var(--fg); cursor:pointer; font-family:var(--mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; }
.menu-btn .bars{ display:flex; flex-direction:column; gap:4px; width:20px; }
.menu-btn .bars i{ display:block; height:2px; background:currentColor; }
.mnav{ position:fixed; inset:0; z-index:90; background:var(--bg); display:none; flex-direction:column; padding:0 var(--pad) 28px; }
.mnav.open{ display:flex; }
.mnav-top{ height:60px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.mnav-close{ min-width:44px; min-height:44px; background:transparent; border:0; color:var(--fg); font-family:var(--mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; cursor:pointer; }
.mnav-links{ display:flex; flex-direction:column; margin:8px 0 auto; }
.mnav-links a{ display:flex; align-items:center; min-height:56px; border-bottom:1px solid var(--line); color:var(--fg); text-decoration:none; font-family:var(--display); font-weight:800; font-size:28px; text-transform:uppercase; letter-spacing:-0.02em; }
.mnav-links a.en{ color:var(--accent); font-family:var(--mono); font-weight:400; font-size:12px; letter-spacing:0.14em; }
.mnav .btn-orange{ width:100%; }
@media (min-width:1024px){ .menu-btn,.mnav{ display:none !important; } }

/* hero */
.sessions-hero{ min-height:72vh; }
.sessions-hero h1{ font-size:clamp(48px,12.5vw,128px); }
.hero-proof{ margin:22px 0 0; font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--fg); }
@media (min-width:1024px){ .sessions-hero{ min-height:78vh; } }

/* planning */
.plan{ border:1px solid var(--line-strong); background:var(--bg); }
.day-tabs{ display:grid; grid-template-columns:repeat(7,1fr); height:44px; border-bottom:1px solid var(--line-strong); }
.day-tabs button{ background:transparent; border:0; border-right:1px solid var(--line); color:var(--muted); font-family:var(--mono); font-size:12px; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; padding:0; }
.day-tabs button:last-child{ border-right:0; }
.day-tabs button[aria-selected="true"]{ background:var(--accent); color:var(--bg); font-weight:700; }
.day-head{ margin:0; padding:12px 16px; background:var(--surface); font-family:var(--mono); font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent); font-weight:400; border-bottom:1px solid var(--line); }
.sess{ display:grid; grid-template-columns:auto 1fr; grid-template-areas:"time theme" "time by" "book book"; gap:4px 16px; padding:18px 16px; border-bottom:1px solid var(--line); align-items:start; }
.day-group:last-of-type .sess:last-child{ border-bottom:0; }
.s-time{ grid-area:time; font-family:var(--display); font-weight:800; font-size:22px; letter-spacing:-0.02em; line-height:1; display:flex; flex-direction:column; gap:3px; }
.s-time .t2{ font-family:var(--mono); font-size:12px; font-weight:400; color:var(--muted); letter-spacing:0.04em; }
.s-theme{ grid-area:theme; font-size:17px; font-weight:600; line-height:1.3; display:flex; align-items:center; gap:10px; }
.s-by{ grid-area:by; font-size:14px; color:var(--muted); margin-top:3px; }
.s-book{ grid-area:book; font-size:14px; font-weight:600; color:var(--accent); text-decoration:none; margin-top:6px; }
.s-book:hover{ color:var(--fg); }
.pill{ flex:0 0 10px; width:10px; height:10px; border-radius:50%; display:inline-block; }
.p-lutte{ background:#EB5C1B; } .p-leg{ background:#F2A88C; } .p-fond{ background:#F5F2EC; } .p-gi{ background:#BDBDB8; } .p-deb{ background:transparent; box-shadow:inset 0 0 0 1.5px #F5F2EC; } .p-semi{ background:#8B8B87; }
.legend{ display:flex; flex-wrap:wrap; gap:10px 20px; padding:14px 16px; border-top:1px solid var(--line-strong); background:var(--surface); }
.legend span{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
@media (max-width:899px){
  html.js .day-group{ display:none; }
  html.js .day-group.active{ display:block; }
  html.js .day-head{ display:none; }
}
@media (min-width:900px){
  .day-tabs{ display:none; }
  .sess{ grid-template-columns:150px 1fr 160px auto; grid-template-areas:"time theme by book"; gap:0 24px; align-items:center; padding:14px 20px; }
  .s-time{ flex-direction:row; align-items:baseline; gap:0; font-size:17px; font-family:var(--mono); font-weight:400; color:var(--muted); letter-spacing:0; }
  .s-time .t2{ font-size:17px; }
  .s-theme{ font-size:16px; }
  .s-by{ margin:0; font-size:15px; color:var(--fg); font-weight:600; }
  .s-book{ margin:0; border:1.5px solid var(--line-strong); color:var(--fg); padding:9px 14px; white-space:nowrap; font-size:13px; transition:background 120ms ease,color 120ms ease,border-color 120ms ease; }
  .s-book:hover{ background:var(--accent); border-color:var(--accent); color:#fff; }
  .day-head{ padding:10px 20px; }
}

/* capitaines */
.coach-roster{ grid-auto-columns:82%; scroll-padding-left:var(--pad); margin-bottom:12px; max-width:100%; min-width:0; }
.coach-card{ border-color:var(--line-strong); }
.coach-photo img{ width:100%; height:100%; object-fit:cover; }
.coach-info{ padding:18px 18px 12px; gap:10px; }
.coach-spec{ font-size:15px; }
.coach-bio{ font-size:14px; line-height:1.5; color:var(--muted); margin:0; }
.palm{ margin:0; }
.palm summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center; min-height:44px; font-family:var(--mono); font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent); }
.palm summary::-webkit-details-marker{ display:none; }
.palm summary:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.palm[open] summary .pl{ display:none; } .palm summary .mn{ display:none; } .palm[open] summary .mn{ display:inline; }
.palm p{ margin:0 0 8px; font-size:14px; line-height:1.5; color:var(--fg); }
.rail-ind{ font-family:var(--mono); font-size:12px; letter-spacing:0.12em; color:var(--muted); margin:0 0 8px; }
@media (min-width:768px){
  .coach-roster{ grid-template-columns:repeat(6,1fr); }
  .coach-card{ grid-column:span 2; }
  .coach-card:nth-child(4){ grid-column:2/4; } .coach-card:nth-child(5){ grid-column:4/6; }
  .rail-ind{ display:none; }
}
@media (min-width:1100px){
  .coach-roster{ grid-template-columns:repeat(5,1fr); gap:14px; }
  .coach-card,.coach-card:nth-child(4),.coach-card:nth-child(5){ grid-column:auto; }
}

/* bottom */
.steps2{ margin-top:48px; }
.final-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; margin-top:40px; }
.section-head-row .lead{ font-size:16px; line-height:1.5; color:var(--muted); margin:0; max-width:56ch; }
