/* Auto-generated by theme-maker — do not edit */

.property-list-section {
  padding: var(--spacing-4xl) var(--spacing-2xl);
}

.property-list-container {
  width: 100%;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--spacing-2xl);
  align-items: start;
}

.property-list-resultsHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-lg);
  gap: var(--spacing-md);
  flex-wrap: wrap;
}

.property-list-resultsHeaderLeft {
  display: flex;
  align-items: baseline;
  gap: var(--spacing-sm);
}

.property-list-resultsTitle {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-4xl);
  font-weight: var(--fontWeight-bold);
  color: var(--color-stone-900);
  margin: 0;
}

.property-list-count {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  color: var(--color-stone-500);
}

.property-list-viewMapBtn {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: var(--radius-md);
  background-color: var(--brand-DEFAULT);
  color: var(--color-white);
  font-family: var(--fontFamily-sans);
  font-weight: var(--fontWeight-semibold);
  font-size: var(--fontSize-sm);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.property-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--spacing-xl);
}

.property-list-empty {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-md);
  color: var(--color-stone-500);
  padding: var(--spacing-2xl) 0;
}

.property-list-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--color-white);
  box-shadow: var(--shadow-md);
}

.property-list-image {
  height: 200px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.property-list-tag {
  position: absolute;
  top: var(--spacing-sm);
  left: var(--spacing-sm);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-sm);
  background-color: var(--color-white);
  color: var(--color-stone-900);
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-xs);
  font-weight: var(--fontWeight-semibold);
}

.property-list-body {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.property-list-price {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-xl);
  font-weight: var(--fontWeight-bold);
  color: var(--brand-DEFAULT);
}

.property-list-cardTitle {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-md);
  font-weight: var(--fontWeight-semibold);
  color: var(--color-stone-900);
}

.property-list-location {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  color: var(--color-stone-500);
}

.property-list-meta {
  display: flex;
  gap: var(--spacing-md);
  margin-top: var(--spacing-sm);
  padding-top: var(--spacing-sm);
  border-top: 1px solid var(--color-stone-200);
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  color: var(--color-stone-600);
}

.property-list-filters {
  position: sticky;
  top: calc(65px + 0.5rem);
  background-color: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--spacing-xl);
}

.property-list-filtersBody {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: var(--spacing-md);
  row-gap: var(--spacing-lg);
}

.property-list-filtersFooter {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-lg);
}

.property-list-filtersTitle {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-lg);
  font-weight: var(--fontWeight-bold);
  color: var(--color-stone-900);
  margin: 0;
  grid-column: 1 / -1;
}

.property-list-filtersHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-lg);
}

.property-list-filtersClose {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background-color: transparent;
  color: var(--color-stone-900);
  font-size: var(--fontSize-3xl);
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.property-list-filtersApply {
  display: none;
  align-items: center;
  justify-content: center;
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-md);
  font-weight: var(--fontWeight-semibold);
  color: var(--color-white);
  background-color: var(--brand-DEFAULT);
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  padding: var(--spacing-md) var(--spacing-lg);
}

.property-list-filterFab {
  display: none;
  position: fixed;
  right: var(--spacing-lg);
  bottom: calc(var(--spacing-lg) + env(safe-area-inset-bottom, 0px));
  z-index: var(--zIndex-dropdown);
  align-items: center;
  gap: var(--spacing-sm);
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  font-weight: var(--fontWeight-semibold);
  color: var(--color-white);
  background-color: var(--brand-DEFAULT);
  border: none;
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-xl);
  cursor: pointer;
  padding: var(--spacing-md) var(--spacing-lg);
}

.property-list-filterGroup {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  min-width: 0;
}

.property-list-filterGroupFull {
  grid-column: 1 / -1;
}

.property-list-filterLabel {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  font-weight: var(--fontWeight-semibold);
  color: var(--color-stone-900);
}

.property-list-select {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  color: var(--color-stone-900);
  padding: var(--spacing-sm);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-stone-200);
  background-color: var(--color-white);
}

.property-list-priceRow {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.property-list-input {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  color: var(--color-stone-900);
  padding: var(--spacing-sm);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-stone-200);
  width: 100%;
}

.property-list-priceSep {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  color: var(--color-stone-400);
}

.property-list-advancedBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  font-weight: var(--fontWeight-semibold);
  color: var(--brand-DEFAULT);
  background-color: transparent;
  border: 1px solid var(--brand-DEFAULT);
  border-radius: var(--radius-md);
  cursor: pointer;
  padding: var(--spacing-sm) var(--spacing-lg);
  width: 100%;
}

.property-list-resetBtn {
  font-family: var(--fontFamily-sans);
  font-size: var(--fontSize-sm);
  font-weight: var(--fontWeight-semibold);
  color: var(--color-white);
  background-color: var(--brand-DEFAULT);
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  padding: var(--spacing-sm) var(--spacing-lg);
  text-align: center;
  width: 100%;
  grid-column: 1 / -1;
}

.property-list-skeletonImage {
  height: 200px;
  background-color: var(--brand-light);
  animation: testimonials-pulse 1.2s ease-in-out infinite;
}

.property-list-skeletonPriceLine {
  display: block;
  width: 40%;
  height: 1.2em;
  margin-bottom: var(--spacing-xs);
  background-color: var(--brand-light);
  border-radius: var(--radius-sm);
  animation: testimonials-pulse 1.2s ease-in-out infinite;
}

.property-list-skeletonTitleLine {
  display: block;
  width: 80%;
  height: 1em;
  margin-bottom: var(--spacing-xs);
  background-color: var(--brand-light);
  border-radius: var(--radius-sm);
  animation: testimonials-pulse 1.2s ease-in-out infinite;
}

.property-list-skeletonLocationLine {
  display: block;
  width: 60%;
  height: 0.85em;
  background-color: var(--brand-muted);
  border-radius: var(--radius-sm);
  animation: testimonials-pulse 1.2s ease-in-out infinite;
}
