.program-filter-block {margin:2em 0;}
.program-filter-block__intro {margin-bottom:1.5em;}

.program-filter-block__filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25em;align-items:stretch;margin:0 0 2em;padding:1.25em;background:color-mix(in srgb, var(--accent1-color) 15%, white);;border-radius:1.25em;}


.program-filter-item {position:relative;display:flex !important;align-items:center;gap:.85em;min-height:4.75em;padding:0;background:#fff;border:1px solid rgba(17,40,56,.15);border-radius:.9em;box-shadow:0 .35em 1em rgba(17,40,56,.08);cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;overflow:hidden;}
.program-filter-item__icon {position:relative;z-index:3;margin-left:.75em;flex:0 0 auto;font-size:2em;color:#2bb3aa;font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 40;pointer-events:none;}
.program-filter-control {position:absolute;inset:0;z-index:2;width:100%;height:100%;min-height:4.75em;padding:0 3em 0 4.25em;background:transparent;border:0;border-radius:0;color:var(--primary-color);font-size:1.05em;font-weight:700;line-height:1.25;appearance:none;cursor:pointer;}
.program-filter-control:focus {outline:0;}
.program-filter-item::after {content:'expand_more';position:absolute;z-index:3;right:1em;top:50%;transform:translateY(-50%);font-family:'Material Symbols Outlined';font-size:1.6em;line-height:1;color:var(--primary-color);font-variation-settings:'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 24;pointer-events:none;}

.program-filter-reset {display:flex;align-items:center;justify-content:center;gap:.65em;min-height:4.75em;width:100%;padding:1em 1.25em;background:var(--primary-color);color:#fff;border:1px solid rgba(17,40,56,.15);border-radius:.9em;box-shadow:0 .35em 1em rgba(17,40,56,.18);font-size:1em;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;}
.program-filter-reset .material-symbols-outlined {font-size:2em;font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 40;}
.program-filter-reset:hover {background-color:#fff !important;color:var(--primary-color) !important;box-shadow:0 .45em 1.15em rgba(17,40,56,.22);transform:translateY(-1px);}
.program-filter-reset:focus-visible {outline:3px solid rgba(218,88,54,.35);outline-offset:3px;}

.program-filter-key__title {font-weight:700;margin-bottom:.5em;}
.program-filter-value-wrap {grid-column:1 / 2;grid-row:2;}
.program-filter-key {grid-column:2 / 3;grid-row:1 / 3;margin:0;align-self:stretch;padding:1em;background:#f4fbfd;border-left:.35em solid #82d3dc;font-size:.95em;}
.program-filter-value-wrap,.program-filter-key {opacity:0;transform:translateY(.35em);transition:opacity .25s ease,transform .25s ease;}
.program-filter-value-wrap.is-visible,.program-filter-key.is-visible {opacity:1;transform:translateY(0);}
.program-filter-key p {margin:0 0 .35em;}
.program-filter-key p:last-child {margin-bottom:0;}

.program-filter-block__results {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25em;transition:opacity .2s ease,transform .2s ease;}
.program-filter-block__results.is-filtering {opacity:.35;transform:translateY(.25em);}

.program-filter-block__results {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25em;transition:opacity .2s ease,transform .2s ease;}
.program-filter-block__results.is-filtering {opacity:.35;transform:translateY(.25em);}

a.program-card {font-weight:500 !important;}


.program-card {
border: 2px solid var(--body-text-color);
	border-radius: 1.25em;
	padding: 1.25em 1.5em;
	background: #fff;
	box-shadow: 0 .2em .45em rgba(0, 0, 0, .16);
	display: block;
	color: inherit;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}

.program-card:hover,
.program-card:focus {
	color: inherit;
	text-decoration: none;
	transform: translateY(-.15em);
	box-shadow: 0 .35em .75em rgba(0, 0, 0, .18);
		background:color-mix(in srgb, var(--accent1-color) 5%, white);

}

.program-card[hidden] {
	display: none;
}

.program-card__header {
	text-align: center;
	padding-bottom: .25em;
	margin-bottom: 1em;
	border-bottom: 1px solid var(--primary-color);
}

.program-card h2 {
	margin: 0 0 .35em;font-size: 1.35em;
	line-height: 1.15;
	text-align: center;
}

.program-card__meta span {display:inline;}
.program-card__meta span:not(:last-child):after {content:" • ";}

.program-card__body {
	display: grid;
	grid-template-columns: 8em 1fr;
	gap: 1.25em;
	align-items: center;
}

.program-card__age-box {
	background:color-mix(in srgb, var(--accent3-color) 30%, white);
	border: 2px solid var(--accent3-color);
	border-radius: .8em;
	padding: .75em;
	text-align: center;
	line-height: 1.15;
}

.program-card__age-box span {
	display: block;
}



.program-card__features {
	list-style: none;
	margin: 0;
	padding: 0;
}

.program-card__feature {
	position: relative;
	margin-bottom: .35em;
	padding-left: 1.5em;
}


.program-card__feature:before {
position: absolute;left: 0;top: 0;font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:1.35em;line-height:1;display:inline-block;text-transform:none;letter-spacing:normal;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga";margin-right:.35em;vertical-align:-.15em;}

.program-card__feature--money:before {content:"money_range";color:var(--accent1-color);}
.program-card__feature--care:before {content:"heart_smile";color:var(--secondary-color);}
.program-card__feature--time:before {content:"schedule";color:var(--accent3-color);}
.program-card__feature--calendar:before {content:"date_range";color:var(--accent2-color);}

.program-filter-block__empty {
	grid-column: 1 / -1;
	font-weight: 700;
}

@media (max-width:1280px) {
	.program-filter-block__filters {grid-template-columns:repeat(2,minmax(0,1fr));}
	.program-filter-block__results {grid-template-columns: repeat(2, minmax(0, 1fr));}
}


@media (max-width: 1200px) {
.program-card__body {    grid-template-columns: 1fr;}
.program-card__age-box span {display:inline}
.program-card__age-box span:not(:last-child):after {content:" • ";}
.program-card__meta span {display:block;}
.program-card__meta span:not(:last-child):after {content:"";}
}



@media (max-width:768px) {
	.program-filter-block__filters {grid-template-columns:1fr;padding:1em;gap:.85em;border-radius:1em;}
	.program-filter-item,.program-filter-control,.program-filter-reset {min-height:4.25em;}
}


@media (max-width: 600px) {
.program-filter-block__results {grid-template-columns:1fr;}
.program-card__features {list-style:none;margin:0 auto;padding:0;width:max-content;max-width:100%;}
.program-card__feature {display:flex;align-items:center;text-align:left;}
.program-card__feature:not(:last-child) {margin-bottom:.45em;}
}

