/* Let the photographs lead; supporting text and photo controls stay quiet. */
body :where(.content-grid:not(.map-open):not(.map-expanded)) #results .estate-card .listing-body {
  gap:5px;
  padding-top:10px;
}
body :where(.content-grid:not(.map-open):not(.map-expanded)) #results .estate-card .card-price {
  min-height:43px;
  gap:2px;
  font-size:18px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.35px;
}
body #results .estate-card .price-period,
body #results .estate-card .price-per-sqm {
  font-size:12px;
  font-weight:400;
  line-height:1.45;
}
body :where(.content-grid:not(.map-open):not(.map-expanded)) #results .estate-card h2 {
  min-height:0;
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0;
}
body :where(.content-grid:not(.map-open):not(.map-expanded)) #results .estate-card .card-location {
  min-height:0;
  font-size:13px;
  font-weight:400;
  line-height:1.45;
}
body :where(.content-grid:not(.map-open):not(.map-expanded)) #results .estate-card .card-tags {
  min-height:22px;
  padding-top:3px;
}
body #results .estate-card .card-badge {
  min-height:22px;
  padding:3px 7px;
  font-size:10px;
  font-weight:400;
}

/* Opacity belongs to individual controls, never to the tools container or menu.
   Touch areas and gallery gestures keep their existing dimensions. */
body #results .estate-card .card-tools .icon-action {
  color:var(--ink);
  background:rgb(255 255 255 / 52%);
  opacity:.62;
  box-shadow:none;
  transform:none;
  transition:opacity 180ms ease,background-color 180ms ease,color 180ms ease;
}
body #results .estate-card .card-tools .icon-action.is-favorite {
  color:var(--accent);
  opacity:.82;
  background:rgb(255 255 255 / 64%);
}
body #results .estate-card .card-tools .icon-action:focus-visible,
body #results .estate-card .card-more[open] > .icon-action {
  opacity:1;
  background:#fff;
  outline-color:var(--accent);
  transform:none;
}
body #results .estate-card .card-more-menu {
  opacity:1;
  background:#fff;
}
body #results .estate-card .card-photo-count {
  background:rgb(24 38 56 / 42%);
  color:#fff;
  opacity:.78;
  font-weight:400;
  text-shadow:0 1px 2px #18263838;
}
body #results .estate-card .card-viewed-label {
  background:rgb(255 255 255 / 60%);
  color:var(--ink);
  opacity:.7;
  font-weight:400;
}
@media (hover:hover) {
  body #results .estate-card .card-tools .icon-action:hover {
    opacity:1;
    background:rgb(255 255 255 / 94%);
    transform:none;
  }
}
@media (min-width:761px) {
  body .content-grid.map-open #results .estate-card .card-price {
    font-size:18px;
    font-weight:600;
    letter-spacing:-.35px;
  }
  body .content-grid.map-open #results .estate-card .price-per-sqm {
    font-size:11px;
  }
}
@media (max-width:760px) {
  body :where(.content-grid:not(.map-open):not(.map-expanded)) #results .estate-card .card-price {
    min-height:0;
    font-size:20px;
  }
  body :where(.content-grid:not(.map-open):not(.map-expanded)) #results .estate-card h2 {
    font-size:15px;
    font-weight:500;
  }
}
@media (prefers-reduced-motion:reduce) {
  body #results .estate-card .card-tools .icon-action { transition:none; }
}
