@@ -243,16 +243,25 @@ export default function EventDetail({
243243
244244 { /* Agenda Section */ }
245245 { agendaCategories . length > 0 && (
246- < section className = "relative z-10 mx-auto mb-12 max-w-[1408px] md:px-6" >
246+ /* The top margin collapses with the map section's mb-12, so the 140px
247+ wins rather than stacking on top of it. */
248+ < section className = "relative z-10 mx-auto mb-12 mt-20 max-w-[1408px] md:mt-[140px] md:px-6" >
247249 { /* Headings and the date picker keep the 80px side inset (md:px-20);
248250 the session cards below fill the full column width (no inset). */ }
249- < h2 className = "m-0 mb-10 px-6 font-onest text-[40px] font-bold leading-[110%] tracking-oai text-[color:var(--ifm-font-color-base)] md:px-20 md:text-[80px] md:leading-[96px]" >
251+ { /* 80px below this heading, so the track heading that follows gets its
252+ 80px of air — unless the date picker sits between the two, in which
253+ case the picker carries that gap instead. */ }
254+ < h2
255+ className = { `m-0 px-6 font-onest text-[40px] font-bold leading-[110%] tracking-oai text-[color:var(--ifm-font-color-base)] md:px-20 md:text-[80px] md:leading-[96px] ${
256+ agendaDates . length > 1 ? 'mb-10' : 'mb-10 md:mb-20'
257+ } `}
258+ >
250259 Agenda
251260 </ h2 >
252261
253262 { /* Date Filter Buttons */ }
254263 { agendaDates . length > 1 && (
255- < div className = "mb-10 ml-6 inline-flex items-center rounded-[20px] bg-[rgba(21,25,28,0.08)] p-0 [[data-theme=dark]_&]:bg-[#1f2326] md:ml-20" >
264+ < div className = "mb-10 ml-6 inline-flex items-center rounded-[20px] bg-[rgba(21,25,28,0.08)] p-0 [[data-theme=dark]_&]:bg-[#1f2326] md:mb-20 md: ml-20" >
256265 { agendaDates . map ( ( agendaDate ) => {
257266 const isActive = selectedDate === agendaDate ;
258267 return (
@@ -275,7 +284,7 @@ export default function EventDetail({
275284 < div className = "space-y-12 md:space-y-20" >
276285 { agendaCategories . map ( ( category ) => (
277286 < div key = { category } >
278- < h3 className = "m-0 mb-6 px-6 font-onest text-[32px] font-bold leading-[110%] tracking-oai text-[color:var(--ifm-font-color-base)] md:px-20 md:text-[48px]" >
287+ < h3 className = "m-0 mb-6 px-6 font-onest text-[32px] font-bold leading-[110%] tracking-oai text-[color:var(--ifm-font-color-base)] md:mb-10 md: px-20 md:text-[48px]" >
279288 { category }
280289 </ h3 >
281290 < div className = "space-y-2" >
@@ -293,7 +302,9 @@ export default function EventDetail({
293302 { /* Title on the left, time on the right — same line,
294303 vertically centred on desktop; stacked on mobile. */ }
295304 < div className = "flex flex-col gap-3 md:flex-row md:items-center md:justify-between md:gap-8" >
296- < h4 className = "m-0 font-onest text-[24px] font-bold leading-[1.2] tracking-oai text-[#15191c] [[data-theme=dark]_&]:text-white md:text-[32px]" >
305+ { /* Capped at 800px so long titles wrap instead of
306+ running the full width of the card. */ }
307+ < h4 className = "m-0 font-onest text-[24px] font-bold leading-[1.2] tracking-oai text-[#15191c] [[data-theme=dark]_&]:text-white md:max-w-[800px] md:text-[32px]" >
297308 { session . title }
298309 </ h4 >
299310 { session . time && (
@@ -360,7 +371,7 @@ export default function EventDetail({
360371 const wrapperProps = {
361372 onClick : ( ) => openSession ( session ) ,
362373 className :
363- 'tile-press block w-full text-left p-6 md:p-8 rounded-[40px] bg-white hover:bg-white/90 [[data-theme=dark]_&]:bg-[#1e2225] [[data-theme=dark]_&]:hover:bg-[#1e2225]/90 transition-colors cursor-pointer relative border-none' ,
374+ 'tile-press block w-full text-left p-6 md:p-10 rounded-[40px] bg-white hover:bg-white/90 [[data-theme=dark]_&]:bg-[#1e2225] [[data-theme=dark]_&]:hover:bg-[#1e2225]/90 transition-colors cursor-pointer relative border-none' ,
364375 } ;
365376
366377 return (
0 commit comments