.comparison-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px; margin: 16px auto; max-width: 1220px; background: #eef6f1; border: 1px solid #c9ded0; border-radius: 12px; }
.comparison-bar[hidden] { display: none; }
.comparison-dialog { width: min(1100px, 94vw); max-height: 90vh; border: 1px solid #c9ded0; border-radius: 16px; padding: 20px; color: #173c29; }
.comparison-dialog::backdrop { background: #10281cb3; }
.comparison-dialog form { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.comparison-scroll { overflow-x: auto; }
.comparison-scroll table { border-collapse: collapse; width: 100%; min-width: 640px; }
.comparison-scroll th, .comparison-scroll td { min-width: 160px; padding: 14px; border-bottom: 1px solid #d9e6dd; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.comparison-scroll thead th { background: #eef6f1; }
.comparison-scroll button { display: block; margin-top: 12px; }
.compare-toggle { font-size: 14px; }
.lot-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lot-card .lot-body { display: flex; flex-direction: column; gap: 10px; }
.lot-card h3, .real-estate-card h3 { display: block; min-height: 0; overflow: visible; -webkit-line-clamp: unset; overflow-wrap: anywhere; margin: 4px 0; }
.lot-card .catalog-lot-signals { min-height: 0; }
.lot-card .catalog-lot-signals strong { display: block; overflow: visible; overflow-wrap: anywhere; -webkit-line-clamp: unset; }
.lot-card .lot-actions { margin-top: auto; width: 100%; align-self: stretch; }
/* Share content tracks within each catalogue row, including unabridged addresses. */
@supports (grid-template-rows: subgrid) {
  #lotGrid > .lot-card {
    grid-row: span 10;
    grid-template-rows: subgrid;
    row-gap: 0;
    min-height: 0;
  }
  #lotGrid > .lot-card > .lot-cover { grid-row: 1; height: 190px; }
  #lotGrid > .lot-card > .lot-body {
    display: grid;
    grid-row: 2 / span 9;
    grid-template-rows: subgrid;
    row-gap: 10px;
    min-width: 0;
  }
  #lotGrid .lot-body > .lot-topline { grid-row: 1; }
  #lotGrid .lot-body > .trade-kind { grid-row: 2; justify-self: start; align-self: start; }
  #lotGrid .lot-body > .lot-object-line { grid-row: 3; }
  #lotGrid .lot-body > h3 { grid-row: 4; align-self: start; }
  #lotGrid .lot-body > .catalog-lot-signals { grid-row: 5; align-self: start; margin: 0; }
  #lotGrid .lot-body > .lot-meta { grid-row: 6; align-self: start; margin: 0; }
  #lotGrid .lot-body > .lot-service-actions { grid-row: 7; align-self: start; }
  #lotGrid .lot-body > .lot-conversion-actions { grid-row: 8; align-self: start; margin: 0; }
  #lotGrid .lot-body > .lot-actions { grid-row: 9; align-self: start; margin: 0; }
}
.compare-toggle[aria-pressed="true"] { box-shadow: inset 0 0 0 2px #18854b; }
.lot-editor-dialog { width:min(720px,calc(100vw - 32px)); max-height:85dvh; overflow:auto; border:1px solid #d9e6dd; border-radius:16px; padding:24px; color:#10241a; }
.lot-editor-dialog::backdrop { background:rgb(0 0 0 / 45%); }
.lot-editor-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.lot-editor-fields label { display:grid; gap:6px; min-width:0; }
.lot-editor-fields textarea { width:100%; min-width:0; resize:vertical; }
.lot-editor-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:16px; }
.lot-edit-button { margin:8px 0; }
@media(max-width:640px) { .lot-editor-fields { grid-template-columns:1fr; } .lot-editor-dialog { padding:16px; } }
.favorite-group { margin: 24px 0; }
.favorite-group-card { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 16px; margin: 10px 0; border: 1px solid #d9e6dd; border-radius: 12px; }
.favorite-group-card > div { flex: 1 1 260px; }
.favorite-group-card label { display: grid; gap: 6px; }
.action-center-item:first-child { border-left: 4px solid #18854b; }
#lotGrid[aria-busy="true"] { opacity: .65; }
.mobile-nav-toggle, .mobile-filter-toggle { display:none; }
input[readonly] { background:#f3f6f4; cursor:default; }
@media (max-width:640px) {
  .mobile-nav-toggle, .mobile-filter-toggle { display:block; }
  .topbar { display:flex !important; flex-wrap:wrap; gap:10px !important; padding:10px 16px !important; }
  .topbar .brand { margin-right:auto; }
  .topbar nav, .topbar .social-links { display:none !important; }
  .topbar.navigation-expanded nav, .topbar.navigation-expanded .social-links { display:flex !important; flex-wrap:wrap; width:100%; }
  .catalog-section h1 { font-size:28px !important; line-height:1.15; margin:12px 0; }
  #filters:not(.filters-expanded) > :not(.search-field) { display:none; }
  #filters { padding:12px; margin-bottom:8px; }
  .mobile-filter-toggle { margin:0 0 12px; width:100%; }
  .ticker-strip { display:none; }
  .mobile-cta-bar { gap:4px !important; padding:6px !important; }
  .mobile-cta-bar a, .mobile-cta-bar button { padding:8px 4px !important; font-size:12px !important; min-width:0; }
  .mobile-cta-bar span { text-overflow:clip !important; white-space:normal !important; overflow:visible !important; }
  body:has(.service-request-overlay) .mobile-cta-bar { display:none; }
}
@media (max-width: 640px) { .comparison-dialog { padding: 12px; } .favorite-group-card > div { flex-basis: 100%; } }
.catalog-address-missing {
  display: block;
  margin-top: 10px;
  color: #60756a;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
}
