/* Scoped size presets. Theme heading typography remains independent. */
.eventslate {
 --es-accent:#b42535;
 --es-pad:6px; --es-gap:8px; --es-list-gap:6px; --es-margin:0;
 --es-date-width:46px; --es-date-height:60px; --es-date-pad:4px 2px;
 --es-day:23px; --es-month:10px; --es-year:9px; --es-meta:12px;
 --es-radius:7px; --es-desc:13px; --es-desc-gap:4px;
 display:grid; gap:var(--es-list-gap); margin:var(--es-margin)!important;
 padding:0!important; font-size:15px; line-height:1.5; color:inherit;
}
.eventslate--large {
 --es-pad:20px; --es-gap:18px; --es-list-gap:14px; --es-margin:12px 0 20px;
 --es-date-width:70px; --es-date-height:92px; --es-date-pad:8px 6px;
 --es-day:32px; --es-month:12px; --es-year:11px; --es-meta:14px;
 --es-radius:12px; --es-desc:15px; --es-desc-gap:10px;
}
.eventslate--normal {
 --es-pad:12px; --es-gap:12px; --es-list-gap:10px; --es-margin:8px 0 12px;
 --es-date-width:58px; --es-date-height:76px; --es-date-pad:6px 4px;
 --es-day:27px; --es-month:11px; --es-year:10px; --es-meta:13px;
 --es-radius:9px; --es-desc:14px; --es-desc-gap:6px;
}
.eventslate--verycompact {
 --es-pad:3px; --es-gap:6px; --es-list-gap:3px; --es-date-width:36px;
 --es-date-height:48px; --es-date-pad:2px 1px; --es-day:19px;
 --es-month:9px; --es-year:9px; --es-meta:11px; --es-radius:5px;
 --es-desc:12px; --es-desc-gap:2px;
}
.eventslate * {box-sizing:border-box}
.eventslate .eventslate-card {
 display:flex; align-items:flex-start; gap:var(--es-gap)!important;
 padding:var(--es-pad)!important; margin:0!important; background:#fff; color:#25303c;
 border:1px solid #e3e7eb; border-radius:var(--es-radius); min-width:0;
 box-shadow:0 2px 8px #20304406; transition:border-color .18s,box-shadow .18s;
}
.eventslate .eventslate-card:hover {border-color:#cbd2d9;box-shadow:0 3px 12px #2030440a}
.eventslate .eventslate-date {
 display:flex; flex-direction:column; align-items:center; justify-content:center;
 flex:0 0 var(--es-date-width)!important; width:var(--es-date-width)!important;
 min-height:var(--es-date-height)!important; margin:0!important;
 background:#f5f6f8; border-top:2px solid var(--es-accent); border-radius:5px;
 padding:var(--es-date-pad)!important; line-height:1.1; color:#263442;
}
.eventslate .eventslate-month {text-transform:uppercase;font-size:var(--es-month)!important;letter-spacing:.04em;font-weight:700;color:var(--es-accent)}
.eventslate .eventslate-date strong {font-size:var(--es-title-font-size,var(--es-day))!important;font-weight:700;margin:3px 0!important;line-height:1.1}
.eventslate .eventslate-year {font-size:var(--es-year)!important;color:#667380}
.eventslate .eventslate-body {min-width:0;flex:1;padding:0!important;margin:0!important}
.eventslate .eventslate-title {line-height:1.25;margin:0 0 3px!important;padding:0!important;overflow-wrap:anywhere}
.eventslate .eventslate-title a {color:#25303c!important;text-decoration:none}
.eventslate .eventslate-title a:hover {color:var(--es-accent)!important}
.eventslate a:focus-visible {outline:2px solid var(--es-accent);outline-offset:3px}
.eventslate .eventslate-categories {display:flex;flex-wrap:wrap;gap:4px;margin:0 0 4px}
.eventslate .eventslate-categories span {background:#f1f3f5;color:#52606b;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.6}
.eventslate .eventslate-meta {display:flex;flex-wrap:wrap;gap:2px 10px;color:#55616e;font-size:var(--es-meta);line-height:1.4;padding:0;margin:0}
.eventslate .eventslate-place {font-weight:600}
.eventslate .eventslate-address {font-size:var(--es-meta);color:#667380;margin-top:2px;white-space:pre-line;overflow-wrap:anywhere}
.eventslate .eventslate-description {font-size:var(--es-desc);line-height:1.5;margin:var(--es-desc-gap) 0 0!important;padding:0!important;color:#55616e;overflow-wrap:anywhere}
.eventslate .eventslate-description p {padding:0;margin:0 0 4px}
.eventslate .eventslate-description img {max-width:100%;height:auto}
.eventslate .eventslate-date-end {display:block;margin-top:3px;padding-top:3px;border-top:1px solid #dce1e6;font-size:9px;line-height:1.3;text-align:center;overflow-wrap:normal}
.eventslate--cards {grid-template-columns:repeat(2,minmax(0,1fr))}
.eventslate-empty {padding:10px 12px;background:#f6f7f8;border:1px solid #e3e7eb;border-radius:6px;color:#667380}
@media(max-width:680px) {.eventslate--cards {grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce) {.eventslate .eventslate-card {transition:none}}
