/* Scoped size presets. Theme heading typography remains independent. */
:where(.eventslate--divi) {
 --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);
 padding:0; font-size:15px; line-height:1.5; color:inherit;
}
:where(.eventslate--divi.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;
}
:where(.eventslate--divi.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;
}
:where(.eventslate--divi.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;
}
:where(.eventslate--divi *) {box-sizing:border-box}
:where(.eventslate--divi .eventslate-card) {
 display:flex; align-items:flex-start; gap:var(--es-gap);
 padding:var(--es-pad); margin:0; 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;
}
:where(.eventslate--divi .eventslate-card:hover) {border-color:#cbd2d9;box-shadow:0 3px 12px #2030440a}
:where(.eventslate--divi .eventslate-date) {
 display:flex; flex-direction:column; align-items:center; justify-content:center;
 flex:0 0 auto; width:var(--es-date-width);
 min-height:var(--es-date-height); margin:0;
 background:#f5f6f8; border-top:2px solid var(--es-accent); border-radius:5px;
 padding:var(--es-date-pad); line-height:1.1; color:#263442;
}
:where(.eventslate--divi .eventslate-month) {text-transform:uppercase;font-size:var(--es-month);letter-spacing:.04em;font-weight:700;color:var(--es-accent)}
:where(.eventslate--divi .eventslate-date strong) {font-size:var(--es-day);font-weight:700;margin:3px 0;line-height:1.1}
:where(.eventslate--divi .eventslate-year) {font-size:var(--es-year);color:#667380}
:where(.eventslate--divi .eventslate-body) {min-width:0;flex:1;padding:0;margin:0}
:where(.eventslate--divi .eventslate-title) {line-height:1.25;margin:0 0 3px;padding:0;overflow-wrap:anywhere}
:where(.eventslate--divi .eventslate-title a) {color:#25303c;text-decoration:none}
:where(.eventslate--divi .eventslate-title a:hover) {color:var(--es-accent)}
:where(.eventslate--divi a:focus-visible) {outline:2px solid var(--es-accent);outline-offset:3px}
:where(.eventslate--divi .eventslate-categories) {display:flex;flex-wrap:wrap;gap:4px;margin:0 0 4px}
:where(.eventslate--divi .eventslate-categories span) {background:#f1f3f5;color:#52606b;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.6}
:where(.eventslate--divi .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}
:where(.eventslate--divi .eventslate-place) {font-weight:600}
:where(.eventslate--divi .eventslate-address) {font-size:var(--es-meta);color:#667380;margin-top:2px;white-space:pre-line;overflow-wrap:anywhere}
:where(.eventslate--divi .eventslate-description) {font-size:var(--es-desc);line-height:1.5;margin:var(--es-desc-gap) 0 0;padding:0;color:#55616e;overflow-wrap:anywhere}
:where(.eventslate--divi .eventslate-description p) {padding:0;margin:0 0 4px}
:where(.eventslate--divi .eventslate-description img) {max-width:100%;height:auto}
:where(.eventslate--divi .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}
:where(.eventslate--divi.eventslate--cards) {grid-template-columns:repeat(var(--es-cols-desktop,2),minmax(0,1fr))}
:where(.eventslate-empty) {padding:10px 12px;background:#f6f7f8;border:1px solid #e3e7eb;border-radius:6px;color:#667380}

@media(prefers-reduced-motion:reduce) {
:where(.eventslate--divi .eventslate-card) {transition:none}}

/* Per-module column counts. Native Divi layout settings may override these defaults. */
@media(max-width:980px) {:where(.eventslate--divi.eventslate--cards){grid-template-columns:repeat(var(--es-cols-tablet,2),minmax(0,1fr))}}
@media(max-width:767px) {:where(.eventslate--divi.eventslate--cards){grid-template-columns:repeat(var(--es-cols-phone,1),minmax(0,1fr))}}
:where(.eventslate--divi) .eventslate-title a {font:inherit;color:inherit;text-decoration:inherit}
:where(.eventslate--divi[data-es-sync-day="on"]) .eventslate-day {font-size:var(--es-title-font-size,var(--es-day))!important}
:where(.eventslate--divi) .eventslate-meta:empty {display:none}
.eventslate-builder-status {padding:8px;font:13px/1.4 sans-serif;color:#555}
