.casa-finder{--casa-red:#A92539;--casa-ink:#241F20;--casa-cream:#FCF8F0;--casa-border:#E7DDD2;font-family:var(--casa-body-font,inherit);color:var(--casa-ink);line-height:1.5;width:100%;max-width:1050px;margin:0 auto;padding:clamp(18px,4vw,38px);background:var(--casa-bg,#fffdf9);border:1px solid var(--casa-border);border-radius:var(--casa-radius,14px);box-sizing:border-box}
.casa-finder *{box-sizing:border-box}
.casa-finder h2,.casa-finder h3,.casa-finder p{margin-top:0}
.casa-finder h2,.casa-finder h3,.casa-finder h4{font-family:var(--casa-heading-font,inherit)}
.casa-finder h2{font-size:clamp(1.7rem,4vw,2.45rem);margin-bottom:8px;line-height:1.18}
.casa-finder h3{font-size:1.14rem;line-height:1.3;margin-bottom:10px}
.casa-finder__eyebrow{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--casa-red);font-weight:700;margin-bottom:8px}
.casa-finder__intro p{font-size:1rem;max-width:660px;color:#605657}
.casa-finder__primary-selectors{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0 10px}
.casa-finder__choices{padding:0;margin:22px 0 18px;border:0;display:grid;gap:8px}
.casa-finder__choices legend,.casa-finder__field label{font-size:.95rem;font-weight:750;margin-bottom:9px}
.casa-finder__choices legend{margin-bottom:12px}
.casa-finder__choices label{display:flex;gap:11px;align-items:center;border:1px solid var(--casa-border);border-radius:var(--casa-radius,14px);padding:14px 15px;min-height:52px;cursor:pointer;background:white;font-size:1rem;font-weight:600}
.casa-finder__choices label:has(input:checked){border-color:var(--casa-red);background:var(--casa-cream)}
.casa-finder__choices input{accent-color:var(--casa-red);width:19px;height:19px;flex-shrink:0;margin:0}
.casa-finder__controls{border-top:1px solid var(--casa-border);padding-top:22px}
.casa-finder__field{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.casa-finder__field select{min-width:0;width:100%;min-height:48px;padding:10px 13px;background:#fff;border:1px solid #c8beb4;border-radius:var(--casa-radius,14px);font:inherit;color:var(--casa-ink)}
.casa-finder select:focus-visible,.casa-finder a:focus-visible,.casa-finder button:focus-visible,.casa-finder input:focus-visible{outline:3px solid #177cad;outline-offset:3px}
.casa-finder__resulthead{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:25px 0 12px}
.casa-finder__resulthead h3{margin:0}
.casa-finder__reset{border:0;text-decoration:underline;cursor:pointer;background:transparent;color:var(--casa-red);font-size:.93rem;padding:10px}
.casa-finder__status{color:#685f5c;font-size:.92rem;margin:10px 0}
.casa-finder__group{border:1px solid var(--casa-border);background:white;border-radius:var(--casa-radius,14px);overflow:hidden;margin:0 0 16px}
.casa-finder__group-top{padding:17px 17px 12px;background:var(--casa-cream)}
.casa-finder__group-top h4{font-size:1.14rem;line-height:1.35;margin:0}
.casa-finder__group-top details{margin-top:6px;font-size:.92rem;color:#554a47}
.casa-finder__group-top summary{cursor:pointer;color:var(--casa-red);font-weight:600;min-height:32px;padding-top:6px}
.casa-finder__group-top details p{margin:8px 0 0}
.casa-finder__schedule{display:flex;flex-direction:column;gap:12px;padding:16px 17px;border-top:1px solid var(--casa-border)}
.casa-finder__schedule-main{display:grid;gap:5px}
.casa-finder__schedule-main strong{font-weight:750}
.casa-finder__badges{display:flex;gap:7px;flex-wrap:wrap}
.casa-finder__pill--session{background:var(--casa-cream)!important;color:var(--casa-ink)!important;border:1px solid var(--casa-border)}
.casa-finder__pill{width:max-content;border-radius:99px;padding:4px 9px;font-size:.76rem;font-weight:700;background:#eff0eb;color:#485146}
.casa-finder__schedule-meta{font-size:.93rem;color:#514b46}
.casa-finder__right{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.casa-finder__price{font-size:1.14rem;font-weight:800}
.casa-finder__button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:46px;padding:10px 16px;background:white;border:1.5px solid var(--casa-red);border-radius:var(--casa-radius,14px);color:var(--casa-red)!important;font-size:.95rem;font-weight:800;text-decoration:none!important;line-height:1.25;transition:background .15s}
.casa-finder__button--primary{background:var(--casa-red);color:#fff!important}
.casa-finder__button--primary:hover{background:var(--casa-red);filter:brightness(.87);color:#fff!important}
.casa-finder__full{font-weight:750;color:#8b3e39;font-size:.88rem}
.casa-finder__placement{padding:19px;border-radius:var(--casa-radius,14px);background:var(--casa-cream)}
.casa-finder__placement .casa-finder__button{width:100%;max-width:340px}
.casa-finder__empty{padding:22px;background:var(--casa-cream);border-radius:12px}
.casa-finder__empty p{margin-bottom:10px}
.casa-finder__help{font-size:.94rem;margin-top:20px;color:#514a43}
.casa-finder__help a{color:var(--casa-red);font-weight:700}
.casa-finder [hidden]{display:none!important}
@media (min-width:700px){.casa-finder__primary-selectors{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0 10px}
.casa-finder__choices{grid-template-columns:repeat(3,minmax(0,1fr))}.casa-finder__choices legend{grid-column:1/-1}.casa-finder__controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:14px}.casa-finder__level-field{grid-column:1/-1}.casa-finder__resulthead,.casa-finder__status,.casa-finder__results,.casa-finder__help{grid-column:1/-1}.casa-finder__schedule{flex-direction:row;align-items:center;justify-content:space-between}.casa-finder__right{align-items:flex-end;min-width:160px}.casa-finder__button{min-width:160px}}
@media (prefers-reduced-motion:reduce){.casa-finder__button{transition:none}}

@media (min-width:700px){.casa-finder__primary-selectors{grid-template-columns:repeat(2,minmax(0,1fr))}}

.casa-finder__program-note{margin:8px 0 16px;padding:12px 14px;border-left:3px solid var(--casa-red);background:var(--casa-cream);font-size:.93rem}

/* v1.4: accessible weekday multi-select chips. Multiple days mean OR, none means any. */
.casa-finder__days{min-width:0;border:0;padding:0;margin:0 0 16px;grid-column:1 / -1}
.casa-finder__days legend{font-size:.95rem;font-weight:750;margin:0 0 4px;padding:0;color:var(--casa-ink)}
.casa-finder__day-hint{font-size:.86rem;color:#605657;margin:0 0 11px}
.casa-finder__day-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.casa-finder__day-options label{display:flex;align-items:center;gap:9px;min-width:0;min-height:48px;padding:10px 12px;background:white;border:1px solid var(--casa-border);border-radius:var(--casa-radius,14px);font-size:.94rem;font-weight:600;cursor:pointer}
.casa-finder__day-options input{margin:0;width:20px;height:20px;flex-shrink:0;accent-color:var(--casa-red)}
.casa-finder__day-options label:has(input:checked){background:var(--casa-cream);border-color:var(--casa-red)}
@media(min-width:540px){.casa-finder__day-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:920px){.casa-finder__day-options{grid-template-columns:repeat(5,minmax(0,1fr))}}
