.spi-events { --event-accent:var(--luperiq-primary,#087b83); --event-paper:var(--luperiq-surface,#fff); --event-line:color-mix(in srgb,var(--luperiq-text,#163d46) 20%,transparent); }
.spi-events * { box-sizing:border-box; }
.spi-events a,.spi-events a:visited { color:var(--event-accent); text-underline-offset:.2em; }
.spi-events :is(h1,h2,p,dd,a) { overflow-wrap:anywhere; }
.spi-event-tabs,.spi-events .spi-business-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin:1.5rem 0; }
.spi-event-tabs a { padding:.75rem 1.1rem; min-height:46px; border:1px solid var(--event-line); border-radius:99px; text-decoration:none; font-weight:750; }
.spi-event-tabs a[aria-current] { background:var(--event-accent); color:#fff; }
.spi-event-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:1.3rem; }
.spi-event-card { display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; padding:1.5rem; border:1px solid var(--event-line); border-radius:1.2rem; background:var(--event-paper); box-shadow:var(--spi-shadow); text-decoration:none; transition:transform .15s ease; }
.spi-event-card:hover { transform:translateY(-3px); }
.spi-event-card h2 { color:var(--luperiq-text); margin:0; font-size:1.6rem; }
.spi-event-card p { color:var(--luperiq-text); margin:0; }
.spi-event-card__date { font-size:.9rem; font-weight:750; }
.spi-event-card__go { font-weight:800; margin-top:auto; padding-top:1rem; }
.spi-event-status { display:inline-block; border:1px solid var(--event-line); border-radius:99px; padding:.3rem .8rem; font-weight:750; font-size:.95rem; }
.spi-event-detail { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:2rem; margin:2rem 0; }
.spi-event-detail > :is(article,aside),.spi-event-invite,.spi-event-empty { background:var(--event-paper); padding:clamp(1rem,3vw,2rem); border:1px solid var(--event-line); border-radius:1.2rem; }
.spi-event-detail dt { font-weight:800; margin-top:1rem; }
.spi-event-detail dd { margin:.5rem 0 1.5rem; }
.spi-event-description { white-space:pre-wrap; line-height:1.8; }
.spi-event-notice { border-left:3px solid var(--event-accent); padding:1rem; background:var(--spi-muted); line-height:1.6; }
.spi-event-invite { margin-top:2rem; }
.spi-events a:focus-visible { outline:3px solid #c77c15; outline-offset:4px; }
@media(max-width:700px) { .spi-event-detail { grid-template-columns:1fr; gap:1rem; } }
@media(prefers-reduced-motion:reduce) { .spi-event-card { transition:none; } .spi-event-card:hover { transform:none; } }
