.room-search-form { display: grid; gap: 1.25rem; }
.room-search-form fieldset { min-width: 0; padding: 1rem; border: 1px solid var(--rule); border-radius: .5rem; }
.room-search-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.room-search-fields label { display: grid; gap: .35rem; }
.room-search-fields input, .room-search-fields select { width: 100%; min-width: 0; box-sizing: border-box; }
.room-search-regions { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .75rem; }
.room-search-regions summary { cursor: pointer; font-weight: 600; padding-block: .5rem; }
.room-search-regions label { display: flex; align-items: center; gap: .5rem; padding: .3rem; }
.room-search-regions input { flex: none; width: 1.1rem; min-height: 1.1rem; height: 1.1rem; }
.room-search-errors { padding: 1rem; border: 2px solid currentColor; }
.room-search-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; margin-block: 1.5rem; }
@media (max-width: 480px) { .room-search-fields { grid-template-columns: 1fr; } }
