.dp-smartfilter{--ds-accent:#2563eb;font:inherit}.dp-smartfilter *{box-sizing:border-box}.ds-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.ds-toolbar input,.ds-toolbar select,.ds-toolbar button{font:inherit;border:1px solid #d5d9e0;border-radius:10px;padding:10px 13px;background:#fff;color:#202632}.ds-search{flex:2 1 220px;min-width:0}.ds-calendar,.ds-sort{flex:1 1 155px;min-width:0}.ds-switch{display:flex;gap:4px}.ds-toolbar button{cursor:pointer}.ds-switch button[aria-pressed=true]{background:var(--ds-accent);color:white;border-color:var(--ds-accent)}.ds-count{font-size:.9rem;color:#687180;margin-bottom:14px}.ds-cards{display:grid;grid-template-columns:repeat(var(--ds-columns),minmax(0,1fr));gap:20px}.ds-card{min-width:0;overflow:hidden;background:var(--ds-surface,#fff);border:1px solid #e5e7eb;border-radius:var(--ds-radius);box-shadow:0 10px 30px rgba(16,24,40,.08);transition:transform .2s,box-shadow .2s}.ds-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(16,24,40,.14)}.ds-image{display:block;aspect-ratio:16/10;overflow:hidden}.ds-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.ds-card:hover .ds-image img{transform:scale(1.04)}.ds-body{padding:18px}.ds-meta{display:flex;flex-wrap:wrap;gap:7px 12px;color:#667085;font-size:.83rem}.ds-body h3{font-size:1.15rem;line-height:1.35;margin:12px 0}.ds-body h3 a{text-decoration:none;color:inherit}.ds-body p{color:#566071;line-height:1.55}.ds-more{display:inline-block;margin-top:8px;color:var(--ds-accent);font-weight:600;text-decoration:none}.ds-cards.ds-list{display:flex;flex-direction:column}.ds-list .ds-card{display:flex}.ds-list .ds-image{flex:0 0 240px;aspect-ratio:auto}.ds-list .ds-body{flex:1}@media(max-width:1000px){.ds-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ds-cards{grid-template-columns:1fr}.ds-list .ds-card{display:block}.ds-list .ds-image{aspect-ratio:16/10}.ds-toolbar{gap:8px}}

.dp-smartfilter .ds-card[hidden]{display:none!important}.ds-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:12px;scrollbar-width:thin}.ds-slider .ds-card{flex:0 0 calc((100% - (var(--ds-columns) - 1)*16px)/var(--ds-columns));scroll-snap-align:start}.ds-slider-controls{display:flex;justify-content:flex-end;gap:8px;margin:10px 0}.ds-slider-controls[hidden],.ds-load-wrap[hidden]{display:none}.ds-slider-controls button,.ds-load{border:1px solid #d5d9e0;border-radius:9px;background:#fff;padding:7px 15px;cursor:pointer}.ds-load-wrap{text-align:center;margin:20px 0}.ds-load{background:var(--ds-accent);color:#fff;border-color:var(--ds-accent)}.ds-slider.ds-list{display:flex;flex-direction:row}.ds-slider.ds-list .ds-card{display:block}.ds-slider.ds-list .ds-image{aspect-ratio:16/10}@media(max-width:1000px){.ds-slider .ds-card{flex-basis:calc((100% - 16px)/2)}}@media(max-width:600px){.ds-slider .ds-card{flex-basis:85%}}

/* 0.1.2: date controls, keyboard focus, small screens */
.dp-smartfilter .ds-date-label{display:inline-flex;align-items:center;gap:7px;font-size:.9rem;color:#566071}.dp-smartfilter .ds-date-label input{width:145px;min-width:0}.dp-smartfilter button:focus-visible,.dp-smartfilter a:focus-visible,.dp-smartfilter input:focus-visible,.dp-smartfilter select:focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px}.dp-smartfilter .ds-slider{overscroll-behavior-x:contain}.dp-smartfilter .ds-card{height:auto}.dp-smartfilter .ds-body{overflow-wrap:anywhere}@media(max-width:600px){.dp-smartfilter .ds-date-label{flex:1 1 145px}.dp-smartfilter .ds-date-label input{width:100%}}@media(prefers-reduced-motion:reduce){.dp-smartfilter .ds-card,.dp-smartfilter .ds-image img{transition:none}}

/* 0.1.3 event detail modal */
.dp-smartfilter .ds-event-dialog{position:fixed;inset:0;width:min(1100px,94vw);height:min(850px,90dvh);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:12px;background:#fff;color:#202632;box-shadow:0 22px 70px #0005;overflow:hidden}.dp-smartfilter .ds-event-dialog::backdrop{background:rgba(0,0,0,.65)}.dp-smartfilter .ds-event-dialog[open]{display:flex;flex-direction:column}.dp-smartfilter .ds-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid #e5e7eb}.dp-smartfilter .ds-dialog-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-smartfilter .ds-dialog-close{font:inherit;font-size:1.7rem;line-height:1;cursor:pointer;border:0;background:transparent;color:inherit;padding:4px 10px}.dp-smartfilter .ds-dialog-frame{flex:1;min-height:0;width:100%;border:0;background:white}@media(max-width:600px){.dp-smartfilter .ds-event-dialog{width:98vw;height:94dvh}}

/* 0.1.4: compact modal for component-only event pages */
.dp-smartfilter .ds-event-dialog{width:min(960px,96vw);height:min(780px,92dvh)}
.dp-smartfilter .ds-dialog-header{background:#fff;position:relative;z-index:1}
@media(max-width:600px){.dp-smartfilter .ds-event-dialog{width:100vw;height:100dvh;border-radius:0}}

/* 0.1.5 configurable modal dimensions and loading indicator */
.dp-smartfilter .ds-event-dialog{width:min(var(--ds-modal-width,960px),96vw);height:min(var(--ds-modal-height,780px),92dvh)}
.dp-smartfilter .ds-dialog-loading{flex:1;display:grid;place-items:center;padding:24px;color:#566071}
.dp-smartfilter .ds-dialog-loading[hidden],.dp-smartfilter .ds-dialog-frame[hidden]{display:none!important}
@media(max-width:600px){.dp-smartfilter .ds-event-dialog{width:100vw;height:100dvh}}

/* 0.1.7: AJAX event details instead of iframe */
.dp-smartfilter .ds-dialog-content{flex:1;min-height:0;overflow:auto;padding:18px 22px;overscroll-behavior:contain;line-height:1.55;background:#fff}
.dp-smartfilter .ds-dialog-content[hidden]{display:none!important}
.dp-smartfilter .ds-dialog-content img{max-width:100%;height:auto}
.dp-smartfilter .ds-dialog-content table{max-width:100%;display:block;overflow-x:auto}
.dp-smartfilter .ds-dialog-footer{border-top:1px solid #e5e7eb;padding:10px 18px;text-align:right;background:#fff}
.dp-smartfilter .ds-dialog-full-link{color:var(--ds-accent);text-decoration:underline}


/* 0.1.8: DPCalendar export links in AJAX-loaded event detail */
.dp-smartfilter .ds-dialog-content .ds-calendar-export-group{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 16px;width:100%;height:auto;min-height:0;clear:both}
.dp-smartfilter .ds-dialog-content a.ds-calendar-export{display:inline-flex!important;position:static!important;float:none!important;vertical-align:middle;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:auto!important;max-width:100%;height:auto!important;min-height:34px;padding:6px 11px;margin:0!important;border:1px solid #d5d9e0;border-radius:5px;background:#fff;color:#202632;font:inherit;font-size:.875rem;line-height:1.35;text-decoration:none;box-shadow:none;transform:none}
.dp-smartfilter .ds-dialog-content a.ds-calendar-export:hover{background:#f3f4f6;text-decoration:none}
.dp-smartfilter .ds-dialog-content a.ds-calendar-export svg,.dp-smartfilter .ds-dialog-content a.ds-calendar-export img{display:inline-block!important;position:static!important;float:none!important;width:16px!important;height:16px!important;max-width:16px;max-height:16px;object-fit:contain;vertical-align:middle;margin:0!important}
.dp-smartfilter .ds-dialog-content a.ds-calendar-export i{display:inline-block;position:static!important;font-size:14px;line-height:1;width:auto;height:auto;margin:0!important}
.dp-smartfilter .ds-dialog-content .ds-calendar-export-group:empty{display:none!important}

/* 0.1.9: Self-contained DPCalendar calendar-export links */
.dp-smartfilter .ds-dialog-content .com-dpcalendar-event__actions{display:block!important;position:static!important;float:none!important;width:auto!important;height:auto!important;margin:12px 0 18px!important;padding:0!important;border:0!important;background:transparent!important}
.dp-smartfilter .ds-dialog-content .com-dpcalendar-event__actions .ds-calendar-export-group{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.dp-smartfilter .ds-dialog-content .com-dpcalendar-event__actions a.ds-calendar-export{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box!important;width:auto!important;height:auto!important;min-height:34px!important;padding:6px 12px!important;border:1px solid #d5d9e0!important;border-radius:5px!important;background:#fff!important;color:#202632!important;font-size:14px!important;line-height:1.4!important;text-decoration:none!important;box-shadow:none!important}
.dp-smartfilter .ds-dialog-content .com-dpcalendar-event__actions a.ds-calendar-export:hover,.dp-smartfilter .ds-dialog-content .com-dpcalendar-event__actions a.ds-calendar-export:focus-visible{background:#f1f5f9!important;border-color:#94a3b8!important}

/* Shared compact footer: load more left, slider navigation right. */
.dp-smartfilter .ds-bottom-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px;min-height:36px}
.dp-smartfilter .ds-bottom-controls .ds-load-wrap{margin:0;text-align:left}
.dp-smartfilter .ds-bottom-controls .ds-slider-controls{margin:0 0 0 auto}
.dp-smartfilter .ds-bottom-controls .ds-load-wrap[hidden],.dp-smartfilter .ds-bottom-controls .ds-slider-controls[hidden]{display:none}
