.clpc-card {
  border: 1px solid #d4dde5;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.clpc-card.is-clickable {
  cursor: pointer;
}

.clpc-card-link {
  display: block;
  width: 100%;
  aspect-ratio: var(--clpc-image-ratio, var(--cllc-image-ratio, 4 / 3));
}

.clpc-card-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #e8edf2;
  display: block;
}

.clpc-card-photo--placeholder {
  display: block;
}

.clpc-card-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
}

.clpc-card-price {
  font-size: 1.2rem;
  font-weight: 700;
  color: #133b56;
}

.clpc-card-price,
.clpc-card-address {
  margin: 0;
}

.clpc-card-meta {
  font-size: 0.9rem;
  color: #555;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}

.clpc-card-address {
  font-size: 0.95rem;
  color: #0f2433;
}

.clpc-card-status {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #0f5b89;
}

.clpc-card-compliance {
  display: grid;
  gap: 0.2rem;
  margin-top: 0.35rem;
}

.clpc-card-compliance--compact {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.clpc-card-compliance-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.clpc-card-compliance-text {
  font-size: 0.72rem;
  line-height: 1.3;
  color: #4b5f6f;
  display: inline-flex;
}

.clpc-card-compliance--compact .clpc-card-compliance-text {
  font-size: 0.7rem;
  line-height: 1.25;
  display: block;
}

.clpc-card-idx-icon {
  max-width: 72px;
  height: auto;
}

.clpc-card-compliance--compact .clpc-card-idx-icon {
  max-width: 35px;
  max-height: 35px;
  flex-shrink: 0;
}

.clpc-saved-row {
  border: 1px solid #d4dde5;
  border-radius: 8px;
  background: #fff;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
}

.clpc-saved-row__main {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 4px;
}

.clpc-saved-row__address {
  margin: 0;
  color: #0f2433;
  font-size: 0.95rem;
  line-height: 1.4;
  text-decoration: none;
}

a.clpc-saved-row__address:hover,
a.clpc-saved-row__address:focus {
  text-decoration: underline;
}

.clpc-saved-row__meta {
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #566b7c;
  font-size: 0.78rem;
  line-height: 1.3;
}

.clpc-saved-row__price {
  margin: 0;
  color: #133b56;
  font-size: 0.95rem;
  font-weight: 700;
  white-space: nowrap;
}

.clpc-saved-row__status {
  color: #0f5b89;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.clpc-saved-row__actions {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .clpc-saved-row {
    flex-wrap: wrap;
  }

  .clpc-saved-row__price {
    order: 3;
  }

  .clpc-saved-row__actions {
    margin-left: auto;
  }
}
