/* Scoped public property layouts. */
.itup-properties {
	box-sizing:border-box}
.itup-main {
	max-width:1200px;
	margin:2rem auto;
	padding:0 1rem}
.itup-search {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	align-items:end;
	margin:1.5rem 0}
.itup-search label {
	display:flex;
	flex-direction:column;
	gap:.35rem;
	flex:1 1 150px}
.itup-search input,.itup-search select,.itup-search button {
	font:inherit;
	padding:.65rem;
	max-width:100%;
	box-sizing:border-box}
.itup-grid {
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
	gap:1.5rem}
.itup-card {
	border:1px solid #ddd;
	border-radius:.5rem;
	overflow:hidden;
	padding:1rem}
.itup-card img {
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover}
.itup-card h2 {
	font-size:1.3rem}
.itup-gallery {
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
	gap:1rem}
.itup-gallery img {
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover}
.itup-details dl {
	display:grid;
	grid-template-columns:minmax(120px,1fr) 2fr;
	gap:.75rem 1rem}
.itup-details dt {
	font-weight:600}
.itup-details dd {
	margin:0;
	white-space:normal;
	overflow-wrap:anywhere}
.itup-properties .page-numbers {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	list-style:none;
	padding:0}
.itup-properties a:focus-visible,.itup-properties button:focus-visible {
	outline:2px solid currentColor;
	outline-offset:3px}
@media(max-width:480px) {
	.itup-details dl {
	display:block}
.itup-details dd {
	margin-bottom:1rem}
}
