.ppn-filters{--ppn-ink:#211547;--ppn-line:#ded9ec;--ppn-accent:#ff3382;color:var(--ppn-ink);margin-bottom:24px}.ppn-filters [hidden],.ppn-filter-more[hidden]{display:none!important}.ppn-filter-days{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid var(--ppn-line);margin-bottom:14px}.ppn-filter-day{display:flex;align-items:baseline;gap:6px;white-space:nowrap;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 0;color:inherit;cursor:pointer}.ppn-filter-day[aria-pressed=true]{border-bottom-color:var(--ppn-accent)}.ppn-filter-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.ppn-filter-type{background:white;border:1px solid var(--ppn-line);border-radius:24px;padding:6px 13px;color:inherit;cursor:pointer}.ppn-filter-type[aria-pressed=true]{background:var(--ppn-ink);border-color:var(--ppn-ink);color:white}.ppn-filter-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ppn-filter-sector,.ppn-filter-search{min-height:40px;border:1px solid var(--ppn-line);border-radius:8px;background:white;color:inherit;padding:8px 12px;max-width:100%}.ppn-family{display:flex;align-items:center;gap:8px;cursor:pointer}.ppn-filter-family{appearance:none;flex-shrink:0;width:30px;height:18px;border:0;border-radius:20px;background:#b7b0c6;position:relative;cursor:pointer;margin:0}.ppn-filter-family:checked{background:#ffc43b}.ppn-filter-family:after{content:'';display:block;position:absolute;width:14px;height:14px;left:2px;top:2px;background:white;border-radius:50%;transition:transform .15s}.ppn-filter-family:checked:after{transform:translateX(12px)}.ppn-search{flex:1;min-width:220px}.ppn-filter-search{width:100%}.ppn-filters button:focus-visible,.ppn-filters input:focus-visible,.ppn-filters select:focus-visible,.ppn-filter-more:focus-visible{outline:2px solid var(--ppn-accent);outline-offset:3px}.ppn-filter-status{margin:10px 0 0}.ppn-filter-more{display:block;margin:24px auto;background:transparent;border:1px solid currentColor;border-radius:8px;padding:10px 18px;cursor:pointer}.ppn-managed-grid[aria-busy=true]{opacity:.55}@media(max-width:600px){.ppn-filter-days{gap:18px}.ppn-search{flex-basis:100%}.ppn-filter-bottom{gap:12px}}
/* Keep theme-wide Elementor button colors from replacing the filter design. */
body .ppn-filters button.ppn-filter-day{display:inline-flex;align-items:baseline;gap:6px;background:transparent;color:var(--ppn-ink);border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 0;box-shadow:none}
body .ppn-filters button.ppn-filter-day[aria-pressed=true]{border-bottom-color:var(--ppn-accent)}
body .ppn-filters button.ppn-filter-type{background:#fff;color:var(--ppn-ink);border:1px solid var(--ppn-line);border-radius:24px;box-shadow:none}
body .ppn-filters button.ppn-filter-type[aria-pressed=true]{background:var(--ppn-ink);border-color:var(--ppn-ink);color:#fff}
body .ppn-filters button.ppn-filter-type:hover{background:var(--ppn-line);color:var(--ppn-ink)}
body .ppn-filters button.ppn-filter-type[aria-pressed=true]:hover{background:var(--ppn-ink);color:#fff}
body .ppn-filters .ppn-filter-sector{width:auto;min-width:145px}
/* Agenda theme colors, scoped to each program's filter container. */
body .ppn-filters .ppn-filter-days{padding-bottom:8px}
body .ppn-filters button.ppn-filter-day{position:relative;border-bottom:0;color:var(--day_color,var(--ppn-ink))!important;transition:color .5s ease-in-out}
body .ppn-filters button.ppn-filter-day::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:3px;background-color:var(--day_point_cor,var(--ppn-accent));transition:width .5s ease-in-out,background-color .5s ease-in-out;pointer-events:none}
body .ppn-filters button.ppn-filter-day:hover,body .ppn-filters button.ppn-filter-day:focus-visible,body .ppn-filters button.ppn-filter-day[aria-pressed=true]{border-bottom:0;color:var(--day_color_hover,var(--day_color,var(--ppn-ink)))!important}
body .ppn-filters button.ppn-filter-day:hover::after,body .ppn-filters button.ppn-filter-day:focus-visible::after,body .ppn-filters button.ppn-filter-day[aria-pressed=true]::after{width:100%;background-color:var(--day_point_cor_hover,var(--day_point_cor,var(--ppn-accent)))}
body .ppn-filters button.ppn-filter-day>span{color:inherit!important}
body .ppn-filters button.ppn-filter-type{color:var(--action_text_cor,var(--ppn-ink))!important;border-color:var(--action_border_cor,var(--ppn-line))!important;background-color:var(--action_bg_cor,#fff)!important;transition:color .25s ease,border-color .25s ease,background-color .25s ease}
body .ppn-filters button.ppn-filter-type:hover,body .ppn-filters button.ppn-filter-type:focus-visible,body .ppn-filters button.ppn-filter-type[aria-pressed=true],body .ppn-filters button.ppn-filter-type[aria-pressed=true]:hover{color:var(--action_text_cor_hover,#fff)!important;border-color:var(--action_border_cor_hover,var(--ppn-ink))!important;background-color:var(--action_bg_cor_hover,var(--ppn-ink))!important}
@media(prefers-reduced-motion:reduce){body .ppn-filters button.ppn-filter-day,body .ppn-filters button.ppn-filter-day::after,body .ppn-filters button.ppn-filter-type{transition:none}}
body button.ppn-filter-more{color:var(--action_text_cor,#211547)!important;background:var(--action_bg_cor,#fff)!important;border:1px solid var(--action_border_cor,#ded9ec)!important;transition:color .25s ease,background-color .25s ease,border-color .25s ease}
body button.ppn-filter-more:hover,body button.ppn-filter-more:focus-visible{color:var(--action_text_cor_hover,#fff)!important;background:var(--action_bg_cor_hover,#211547)!important;border-color:var(--action_border_cor_hover,#211547)!important}
.ppn-filter-status:empty{display:none}
.ppn-sector-family-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ppn-mobile-controls{display:none}
.ppn-more-wrap{display:flex!important;justify-content:center!important;width:100%;margin:24px 0}
body .ppn-more-wrap button.ppn-filter-more,body .elementor .ppn-more-wrap button.ppn-filter-more.ppn-filter-more{display:block!important;flex:0 1 auto;width:fit-content;max-width:100%;margin:0 auto!important;border-radius:100px!important;padding:10px 20px;color:var(--action_text_cor,#211547)!important;background:var(--action_bg_cor,#fff)!important;border:1px solid var(--action_border_cor,#ded9ec)!important;box-shadow:none!important}
body .ppn-more-wrap button.ppn-filter-more:hover,body .ppn-more-wrap button.ppn-filter-more:focus-visible,body .elementor .ppn-more-wrap button.ppn-filter-more.ppn-filter-more:hover,body .elementor .ppn-more-wrap button.ppn-filter-more.ppn-filter-more:focus-visible{color:var(--action_text_cor_hover,#fff)!important;background:var(--action_bg_cor_hover,#211547)!important;border-color:var(--action_border_cor_hover,#211547)!important}
body .ppn-more-wrap button.ppn-filter-more[hidden]{display:none!important}
@media(max-width:767px){
 .ppn-filters{min-width:0;max-width:100%}
 .ppn-filters .ppn-filter-types{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 0 8px;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 body .ppn-filters button.ppn-filter-type{flex:0 0 auto;white-space:nowrap}
 .ppn-filters .ppn-mobile-controls{display:flex;align-items:stretch;gap:8px;margin:4px 0 10px}
 body .ppn-filters .ppn-mobile-controls button{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--action_border_cor,var(--ppn-line));border-radius:10px;background:var(--action_bg_cor,#fff);color:var(--action_text_cor,var(--ppn-ink));padding:8px 12px;cursor:pointer;box-shadow:none}
 .ppn-toggle-filters{flex:1;justify-content:flex-start!important}.ppn-toggle-search{flex:0 0 42px}
 .ppn-filter-bottom{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 .ppn-sector-family-panel{flex-direction:column;align-items:stretch;gap:12px;padding:12px;border:1px solid var(--ppn-line);border-radius:10px}
 .ppn-filters .ppn-sector-family-panel:not(.ppn-panel-open),.ppn-filters .ppn-search:not(.ppn-panel-open){display:none}
 .ppn-search{flex:auto;min-width:0;width:100%}
 body .ppn-filters .ppn-filter-sector{width:100%}
 .ppn-more-wrap{margin:20px 0}
}
/* Match the specificity of the visible button rule when honoring hidden. */
body .elementor .ppn-more-wrap button.ppn-filter-more.ppn-filter-more[hidden],body .ppn-more-wrap[hidden],body .elementor .ppn-more-wrap[hidden]{display:none!important}
