/* Compact specialist cards. Scoped to the public directory only. */
.agent-directory-page { background: #f6f4f3; }
.agent-directory-page .agent-directory-main { max-width: 1440px; }
.agent-directory-page .agent-directory-heading { margin-bottom: 28px; }
.agent-directory-page .crm-eyebrow { color: #800020; }
.agent-directory-page .agent-directory-filters {
  max-width: 800px;
  padding: 0;
  border: 0;
  background: transparent;
}
.agent-directory-page .agent-directory-summary { margin: 24px 0; font-weight: 500; }
.agent-directory-page .agent-directory-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.agent-directory-page .agent-directory-card {
  min-width: 0;
  padding: 24px;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  border: 1px solid transparent;
  border-radius: 26px;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.agent-directory-page .agent-directory-card:hover,
.agent-directory-page .agent-directory-card:focus-within {
  border-color: #d9b8c1;
  box-shadow: 0 6px 24px rgba(80, 25, 40, .06);
}
.agent-directory-page .agent-directory-profile-link {
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 18px;
}
.agent-directory-page .agent-directory-avatar {
  width: 76px;
  height: 76px;
  background: #f3e8ec;
  color: #800020;
}
.agent-directory-page .agent-directory-copy { gap: 9px; }
.agent-directory-page .agent-directory-name-row { align-items: flex-start; gap: 7px; }
.agent-directory-page .agent-directory-name-row strong {
  width: 100%;
  font-size: 20px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.agent-directory-page .agent-directory-badge {
  padding: 0;
  border: 0;
  color: #80515e;
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
}
.agent-directory-page .agent-directory-meta { font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.agent-directory-page .agent-directory-count {
  justify-self: start;
  border-radius: 999px;
  padding: 5px 12px;
  background: #f1efef;
  color: #575057;
  font-size: 14px;
  font-weight: 500;
}
.agent-directory-page .agent-directory-arrow { display: none; }
.agent-directory-page .agent-directory-contact {
  margin-top: auto;
  background: #fbf3f5;
  color: #800020;
  font-size: 13px;
  font-weight: 600;
}
.agent-directory-page a:focus-visible,
.agent-directory-page input:focus-visible,
.agent-directory-page select:focus-visible {
  outline: 3px solid #a4556b;
  outline-offset: 4px;
}
.agent-directory-page .agent-directory-list > .crm-empty { grid-column: 1 / -1; }
@media (max-width: 1100px) {
  .agent-directory-page .agent-directory-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .agent-directory-page .agent-directory-list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .agent-directory-page .agent-directory-card { padding: 20px; border-radius: 22px; }
  .agent-directory-page .agent-directory-profile-link { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; }
  .agent-directory-page .agent-directory-avatar { width: 64px; height: 64px; }
  .agent-directory-page .agent-directory-name-row strong { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .agent-directory-page .agent-directory-card { transition: none; }
}

/* Bring visible legacy accents into the current Liberterra palette. */
body.public-v20 {
  --lt-brand-blue: #1466ff;
  --lt-brand-blue-dark: #0952cf;
  --lt-brand-blue-soft: #eef5ff;
  --lt-brand-blue-line: #dbe7f5;
  --lt-brand-ink: #0b2d5c;
  --lt-brand-muted: #526985;
}

body.agent-directory-page .agent-directory-avatar {
  background: var(--lt-brand-blue-soft);
  color: var(--lt-brand-ink);
}
body.agent-directory-page .agent-directory-badge {
  color: var(--lt-brand-muted);
}
body.agent-directory-page .agent-directory-card:hover,
body.agent-directory-page .agent-directory-card:focus-within {
  border-color: var(--lt-brand-blue-line);
  box-shadow: 0 6px 24px rgba(11, 45, 92, .08);
}
body.agent-directory-page .agent-directory-contact {
  background: #dff3fc;
  color: #065c83;
}
body.agent-directory-page :is(a, button, input, select):focus-visible {
  outline: 3px solid var(--lt-brand-blue);
  outline-offset: 3px;
}

body.object-map-page .object-map-title span,
body.object-map-page .object-map-card strong,
body.object-map-page .object-map-empty a,
body.object-map-page .object-map-popup .leaflet-popup-content a {
  color: var(--lt-brand-blue);
}
body.object-map-page .object-price-marker span {
  background: var(--lt-brand-blue);
  box-shadow: 0 6px 16px rgba(11, 45, 92, .24);
}

body.submission-page .submission-eyebrow {
  background: var(--lt-brand-blue-soft);
  color: var(--lt-brand-ink);
}
