.wwsr-housing-widget {
    margin-block: 1rem 2rem;
    padding: clamp(0.85rem, 3vw, 1.7rem);
    border: 1px solid #ccd9d7;
    border-block-start: 4px solid #176b63;
    border-radius: .85rem;
    background: #f3f8f6;
    color: #19302c;
    font-size: 1rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.wwsr-housing-widget [hidden] { display: none; }
.wwsr-housing-widget p:first-child { margin-block-start: 0; }
.wwsr-housing-widget .wwsr-housing-note { font-size: .9rem; margin-block-end: 0; }
.wwsr-housing-fields,
.wwsr-housing-results {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
    gap: .75rem;
    margin-block: .95rem;
}
.wwsr-housing-widget label { min-width: 0; font-weight: 650; }
.wwsr-housing-widget label output { display: block; color: #185b54; font-variant-numeric: tabular-nums; }
.wwsr-housing-widget input,
.wwsr-housing-widget select {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin-top: .25rem;
    accent-color: #176b63;
}
.wwsr-housing-widget select,
.wwsr-housing-widget button {
    padding: .45rem .7rem;
    border: 1px solid #568780;
    border-radius: .4rem;
    background: #fff;
    color: #19302c;
    font: inherit;
    min-height: 44px;
}
.wwsr-housing-widget button { cursor: pointer; }
.wwsr-housing-widget button:hover { background: #dcece7; }
.wwsr-housing-widget :is(button, select, input):focus-visible {
    outline: 3px solid #176b63;
    outline-offset: 3px;
}
.wwsr-housing-buttons { display: flex; flex-wrap: wrap; gap: .55rem; }
.wwsr-housing-results > div { background: #fff; border: 1px solid #ccd9d7; border-radius: .5rem; padding: .8rem; }
.wwsr-housing-widget dl { margin-block: 0; }
.wwsr-housing-widget dt { font-size: .91rem; }
.wwsr-housing-widget dd { margin: 0 0 .55rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.wwsr-housing-widget dd:last-child { margin-block-end: 0; }
.wwsr-housing-place { font-weight: 750; margin-block-end: .45rem; }
