/* Existing university catalogue identity; rows open into a compact programme. */
.events-card { max-width:1140px; }
.events-column { max-width:none; }
.events-heading { margin-bottom:2rem; }
.events-heading h1 { font-size:clamp(2rem,4vw,3rem); }
.events-section { margin-bottom:2.5rem; }
.events-section h2 { font-size:1.4rem; margin-bottom:.8rem; }
.event-row { border-bottom:1px solid var(--frame); scroll-margin-top:180px; }
.event-row:first-child { border-top:1px solid var(--frame); }
.event-row>summary { display:grid; grid-template-columns:104px minmax(0,1fr) minmax(110px,22%) 20px; align-items:center; gap:1.15rem; list-style:none; cursor:pointer; padding:1rem 0; }
.event-row>summary::-webkit-details-marker { display:none; }
.event-row>summary:hover .event-title { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.event-date { font:500 .8rem/1.5 var(--font-sans); font-variant-numeric:tabular-nums; }
.event-date span { display:block; color:var(--muted); }
.event-title { font-size:1.05rem; line-height:1.35; font-weight:600; }
.event-place { font:500 .75rem/1.45 var(--font-sans); color:var(--muted); }
.event-chevron { font:500 1.5rem/1 var(--font-sans); color:var(--accent); }
.event-row[open]>.event-chevron,.event-row[open]>summary .event-chevron { transform:rotate(180deg); }
.event-body { display:flex; align-items:flex-start; gap:1.5rem; padding:.4rem 0 1.6rem; }
.event-image { flex:0 0 24%; }
.event-image img { width:100%; height:auto; max-height:280px; object-fit:contain; object-position:top left; display:block; }
.event-copy { flex:1; min-width:0; font-size:.95rem; line-height:1.55; }
.event-copy p { margin-bottom:.8rem; }
.event-copy ul,.event-copy ol { padding-left:1.25rem; }
.event-copy h3 { margin-top:1rem; }
.event-plain { white-space:pre-wrap; overflow-wrap:anywhere; }
.event-excerpt { display:none; border:0; background:transparent; color:var(--ink); padding:0; font:inherit; text-align:left; width:100%; cursor:pointer; }
.events-js .event-excerpt { display:block; }
.events-js .event-full { display:none; }
.events-js .event-copy.is-expanded .event-excerpt { display:none; }
.events-js .event-copy.is-expanded .event-full { display:block; }
.event-excerpt-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; white-space:pre-line; }
.event-more { display:inline-block; margin-top:.7rem; color:var(--accent); font:500 .8rem/1.4 var(--font-sans); text-decoration:underline; text-underline-offset:3px; }
.event-less { display:none; }
.events-js .event-less { display:inline-block; border:0; background:transparent; color:var(--accent); font:500 .8rem/1.4 var(--font-sans); cursor:pointer; padding:.5rem 0; text-decoration:underline; }
.event-links { display:flex; flex-direction:column; gap:.6rem; flex:0 0 86px; font:500 .8rem/1.4 var(--font-sans); }
.event-links a { padding:.4rem 0; }
.event-cancelled { color:var(--muted); font-weight:400; }
.events-source-note { font:500 .75rem/1.6 var(--font-sans); color:var(--muted); }
.events-empty { color:var(--muted); }
@media(max-width:700px){
 .event-row>summary { grid-template-columns:85px minmax(0,1fr) 16px; gap:.75rem; padding:.9rem 0; }
 .event-place { grid-column:2; grid-row:2; margin-top:-.4rem; }
 .event-chevron { grid-column:3; grid-row:1 / 3; }
 .event-body { flex-wrap:wrap; gap:1rem; }
 .event-image { flex:0 0 28%; }
 .event-links { flex:1 1 100%; flex-direction:row; gap:1.5rem; }
 .event-title { font-size:1rem; }
}
@media(max-width:420px){
 .events-column { padding-inline:1rem; }
 .event-image { flex-basis:100%; }
 .event-image img { width:auto; max-width:100%; max-height:230px; }
 .event-copy { flex-basis:100%; }
}
@media print{.event-excerpt,.event-less{display:none!important}.event-full{display:block!important}.event-body{display:flex!important}.event-row{break-inside:avoid}}
