.sm-events{--sm-green:#234b38;box-sizing:border-box;color:#24372d;background:#f6f5ef;padding:clamp(20px,4vw,56px);border-radius:16px;font-family:Arial, Helvetica, sans-serif;text-align:left}.sm-events *{box-sizing:border-box}.sm-events-heading{max-width:720px;margin-bottom:28px}.sm-events-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:#566b50}.sm-events h2{font:inherit;font-size:clamp(25px,3vw,38px);line-height:1.15;font-weight:700;color:var(--sm-green);margin:12px 0}.sm-events p{margin:0 0 10px;line-height:1.6}.sm-events-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.sm-event{display:flex;align-items:flex-start;gap:22px;background:#fff;border:1px solid #dde3da;border-radius:12px;padding:26px;min-width:0}.sm-event-date{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:70px;padding:10px 0;border-top:3px solid #ac8a42;background:#f1f3ed;border-radius:4px;color:var(--sm-green)}.sm-event-date strong{font-size:32px;line-height:1.2}.sm-event-date span{font-size:12px;margin-top:4px}.sm-event-content{min-width:0;overflow-wrap:anywhere}.sm-events h3{font:inherit;font-size:21px;font-weight:700;line-height:1.3;margin:0 0 14px;color:var(--sm-green)}.sm-event-time{font-size:16px;font-weight:600;color:#61715e}.sm-event-location{font-size:calc(1em + 3px);font-weight:700}.sm-event-address{font-size:14px;color:#657166}.sm-event-info{font-size:18px;white-space:normal}.sm-event-link{display:inline-block;margin-top:8px;padding:10px 0;color:var(--sm-green);font-weight:700;text-decoration:underline;text-underline-offset:4px}.sm-event-link:focus-visible{outline:3px solid #ac8a42;outline-offset:4px}.sm-events-empty{grid-column:1/-1}@media(max-width:500px){.sm-event{padding:18px;gap:14px}.sm-event-date{width:58px}.sm-events{padding:20px}}
.sm-event-range{font-size:14px;font-weight:600;color:#536750}.sm-events .sm-event-time{margin-top:8px}.sm-event-content{flex:1}.sm-event-date{position:relative}.sm-event-date:before,.sm-event-date:after{content:"";position:absolute;top:-8px;width:5px;height:11px;border-radius:3px;background:#234b38}.sm-event-date:before{left:14px}.sm-event-date:after{right:14px}

/* Keep calendar and text in explicit columns, including narrow screens. */
.sm-events .sm-events-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.sm-events .sm-events-grid > .sm-event{display:grid!important;grid-template-columns:70px minmax(0,1fr)!important;align-items:start;column-gap:22px;direction:ltr}
.sm-events .sm-event > .sm-event-date{grid-column:1!important;grid-row:1!important;align-self:start;width:70px;margin:0;float:none}
.sm-events .sm-event > .sm-event-content{display:block!important;grid-column:2!important;grid-row:1!important;min-width:0;width:auto;max-width:100%;margin:0;float:none;clear:none;text-align:left;overflow-wrap:anywhere}
.sm-events .sm-event-content > h3,.sm-events .sm-event-content > p{float:none;clear:none;max-width:100%;overflow-wrap:anywhere}
@media(max-width:500px){.sm-events .sm-events-grid > .sm-event{grid-template-columns:58px minmax(0,1fr)!important;column-gap:14px}.sm-events .sm-event > .sm-event-date{width:58px}}

/* Einheitliche Schrift auch bei abweichenden Template-Regeln. */
.sm-events, .sm-events *{font-family:Arial, Helvetica, sans-serif;}

.sm-events{--sm-calendar-width:70px;--sm-event-gap:22px}.sm-events .sm-event-content{align-self:start!important}.sm-events .sm-event-content>h3{margin-top:0!important}@media(max-width:500px){.sm-events{--sm-calendar-width:58px;--sm-event-gap:14px}}
