/* Session dates share the pink area identity; controls stay usable on small screens. */
.session-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:40px;align-items:start}
.session-calendar{border:1px solid var(--line);padding:28px;background:#191919;min-width:0}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}
.calendar-toolbar h3{font-size:24px;font-weight:500;margin:0;line-height:1.2}
.calendar-toolbar>div{display:flex;gap:6px;flex-shrink:0}
.calendar-toolbar button{width:42px;height:42px;border:1px solid #ffffff35;background:transparent;color:var(--paper);font:inherit;font-size:24px;cursor:pointer}
.calendar-toolbar button:hover{border-color:var(--accent);color:var(--accent)}
.session-month{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:4px}
.session-month th{font-size:11px;font-weight:400;color:var(--muted);height:32px;text-align:center}
.session-month abbr{text-decoration:none}
.session-month td{padding:0;text-align:center;height:53px}
.calendar-day{width:100%;min-height:49px;display:flex;align-items:center;justify-content:center;position:relative;font:15px 'DM Sans',sans-serif;color:var(--paper);border:1px solid transparent;background:transparent}
.calendar-day.is-past{color:#777}
.calendar-day[aria-current=date]{border-color:#ffffff65}
.calendar-day.has-event{border-color:#f65ca44d;background:#f65ca411;cursor:pointer}
.calendar-day.has-event:hover{border-color:var(--accent)}
.calendar-day.has-event i{position:absolute;bottom:6px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--accent)}
.calendar-day.is-selected{background:var(--accent);color:#151515;border-color:var(--accent);font-weight:700}
.calendar-day.is-selected i{background:#151515}
.calendar-day:focus-visible,.calendar-toolbar button:focus-visible,.calendar-legend button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.calendar-legend{border-top:1px solid var(--line);margin-top:22px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px;color:var(--muted)}
.calendar-legend>span{display:flex;align-items:center;gap:8px}
.calendar-legend i{width:5px;height:5px;background:var(--accent);border-radius:50%}
.calendar-legend button{font:inherit;color:var(--paper);border:0;background:none;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.session-date-card{border-top:2px solid var(--accent);padding:26px 0 0;min-width:0}
.session-date-card .kicker{color:var(--accent)}
.session-date-card h3{font:500 clamp(34px,3.6vw,54px)/1.08 'Barlow Condensed',sans-serif;margin:16px 0}
.session-date-card p{font-size:14px;color:var(--muted);line-height:1.65}
.session-date-card .session-event-title{font-size:18px;color:var(--paper);margin-top:0}
.session-facts{display:flex;gap:38px;margin:24px 0}
.session-facts>span{display:flex;flex-direction:column;color:var(--muted);font-size:12px;gap:4px}
.session-facts b{color:var(--paper);font-size:25px;font-weight:500}
.session-date-card .session-place{color:var(--paper)}
.session-date-card .button-row{margin-top:24px;gap:10px}
.session-date-card .button{font-size:12px;padding:14px 17px}
.session-date-card .form-note{font-size:11px;max-width:480px;margin-top:17px}
.session-calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:25px 0 0}
.session-calendar-footer p{max-width:650px;color:var(--muted);font-size:11px;line-height:1.7;margin:0}
.session-calendar-footer .button{flex-shrink:0}
.session-date-list{border-top:1px solid var(--line);margin-top:30px}
.session-date-list>summary{padding:20px 0;font-size:14px;cursor:pointer}
.session-date-list .event time span{display:block}
.session-date-list .event p{font-size:12px}
.session-date-list .event .day{line-height:1.1}
.section .session-intro{font-size:clamp(24px,2.3vw,34px);line-height:1.4;color:var(--paper);margin-top:0}
.session-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.session-resources article{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column}
.session-resources h3{font-size:24px;line-height:1.2;font-weight:500}
.session-resources p{color:var(--muted);font-size:14px;line-height:1.65;flex:1;margin-bottom:25px}
.session-resources a,.session-social a,.session-contact-link{color:var(--accent);font-size:13px;text-underline-offset:5px}
.session-social{margin-top:35px;color:var(--muted);font-size:13px}
#mitmachen .session-interest{margin-top:45px}
#termin .session-date-card{max-width:750px}
#termin .back-link{display:inline-block;margin-top:30px}
@media(max-width:1000px){.session-calendar-layout{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.session-calendar{padding:18px}.calendar-toolbar h3{font-size:21px}.session-resources{gap:20px}.session-calendar-footer{align-items:flex-start}}
@media(max-width:760px){.session-calendar-layout{grid-template-columns:1fr;gap:30px}.session-calendar{padding:18px 12px}.session-month{border-spacing:3px}.session-month td{height:48px}.calendar-day{min-height:46px}.calendar-toolbar{padding:0 5px}.calendar-toolbar h3{font-size:22px}.session-date-card h3{font-size:40px}.session-calendar-footer{display:block}.session-calendar-footer .button{margin-top:18px}.session-resources{grid-template-columns:1fr;gap:18px}.session-resources h3{margin:7px 0}.session-resources p{margin-bottom:15px}.session-facts{gap:35px}.session-date-card .button-row{flex-wrap:wrap}.session-calendar-footer p{font-size:12px}.session-date-card .form-note{font-size:12px}}
