/* Propertydome Listing Cards.
   Uses the Propertydome theme's colours when present (including dark mode);
   falls back to a neutral light look in any other theme. */

.pd-lc, .pd-lc-row {
	--lc-bg: var(--pd-card, #FFFFFF);
	--lc-line: var(--pd-line, #E6E1D6);
	--lc-line-2: var(--pd-line-2, #D6D0C2);
	--lc-text: var(--pd-text, #16150F);
	--lc-muted: var(--pd-muted, #5C5A52);
	--lc-accent: var(--pd-accent-text, #8A6420);
	--lc-gold: var(--pd-gold, #D4A84B);
	--lc-tone: var(--pd-tone-0, #E4DFD3);
	font-family: var(--pd-sans, inherit);
}

.pd-lc {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: 2em 0;
	background: var(--lc-bg);
	border: 1px solid var(--lc-line);
	border-radius: 18px;
	overflow: hidden;
	color: var(--lc-text);
	line-height: 1.45;
	text-align: left;
}
.pd-lc a { text-decoration: none; }

.pd-lc__media { position: relative; background: var(--lc-tone); aspect-ratio: 4 / 3; min-width: 0; }
.pd-lc__media .pd-lc__img, .pd-lc img.pd-lc__img {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; margin: 0; max-width: none;
}
.pd-lc__ph {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center;
	font-family: var(--pd-serif, Georgia, serif); font-size: 26px; color: var(--lc-muted);
}
.pd-lc__status, .pd-lc__sponsored {
	position: absolute; top: 12px; padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .04em;
}
.pd-lc__status { left: 12px; background: #16150F; color: #FFFFFF; }
.pd-lc__sponsored { right: 12px; background: #FFFFFF; color: #16150F; border: 1px solid #D6D0C2; }

.pd-lc__body { display: flex; flex-direction: column; gap: 6px; padding: 20px; min-width: 0; }
.pd-lc__place { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--lc-accent); }
.pd-lc__title { font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--lc-text); }
.pd-lc__price { display: block; margin-top: 2px; }
.pd-lc__price .pd-price { font-size: 24px; font-weight: 800; color: var(--lc-text); }
.pd-lc__note, .pd-lc__facts { font-size: 14px; color: var(--lc-muted); }
.pd-lc__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pd-lc .pd-lc__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 999px;
	border: 1.5px solid var(--lc-line-2); color: var(--lc-text); font-size: 14px; font-weight: 700; background: transparent;
	transition: transform .2s ease;
}
.pd-lc .pd-lc__btn:hover { transform: translateY(-2px); color: var(--lc-text); }
.pd-lc .pd-lc__btn--main { background: var(--lc-gold); border-color: var(--lc-gold); color: #16150F; }
.pd-lc .pd-lc__btn--main:hover { color: #16150F; }
.pd-lc__source { font-size: 13px; color: var(--lc-muted); margin-top: 6px; }
.pd-lc-disclaimer { font-size: 12.5px; line-height: 1.5; color: var(--lc-muted); margin: 4px 0 0 !important; }

/* Featured: photo beside the details on wider screens. */
@media (min-width: 640px) {
	.pd-lc--featured { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
	.pd-lc--featured .pd-lc__media { aspect-ratio: auto; min-height: 320px; }
	.pd-lc--featured .pd-lc__body { padding: 28px; justify-content: center; }
	.pd-lc--featured .pd-lc__title { font-size: 21px; }
}

/* Inline: small, sits between paragraphs. */
.pd-lc--inline { grid-template-columns: 132px minmax(0, 1fr); }
.pd-lc--inline .pd-lc__media { aspect-ratio: auto; min-height: 100%; }
.pd-lc--inline .pd-lc__ph { font-size: 16px; }
.pd-lc--inline .pd-lc__body { padding: 14px 16px; gap: 4px; }
.pd-lc--inline .pd-lc__title { font-size: 16px; }
.pd-lc--inline .pd-lc__price .pd-price { font-size: 18px; }
.pd-lc--inline .pd-lc__actions { margin-top: 6px; }
.pd-lc--inline .pd-lc__btn { min-height: 40px; padding: 0 14px; font-size: 13px; }
.pd-lc--inline .pd-lc__status, .pd-lc--inline .pd-lc__sponsored { top: 8px; font-size: 11px; padding: 4px 9px; }
.pd-lc--inline .pd-lc__status { left: 8px; }
.pd-lc--inline .pd-lc__sponsored { right: auto; left: 8px; top: auto; bottom: 8px; }
@media (max-width: 460px) {
	.pd-lc--inline { grid-template-columns: 96px minmax(0, 1fr); }
}

/* Compact: used in rows and grids. */
.pd-lc--compact { margin: 0; height: 100%; grid-template-rows: auto 1fr; }
.pd-lc--compact .pd-lc__body { padding: 16px; }
.pd-lc--compact .pd-lc__title { font-size: 16px; }
.pd-lc--compact .pd-lc__price .pd-price { font-size: 20px; }
.pd-lc--compact .pd-lc__actions { margin-top: auto; padding-top: 10px; }

/* Sold, let or gone: kept in old stories, but clearly finished. */
.pd-lc--sold .pd-lc__img, .pd-lc--unavailable .pd-lc__img { filter: grayscale(1); opacity: .6; }
.pd-lc--sold .pd-price, .pd-lc--unavailable .pd-price { text-decoration: line-through; color: var(--lc-muted); }

/* Rows: "Homes in this story". */
.pd-lc-row { margin: 2.5em 0; }
.pd-lc-row__title { margin: 0 0 14px !important; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--lc-accent); }
.pd-lc-row__grid { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); }
.pd-lc-row--grid { margin: 0; }
.pd-lc-row--grid .pd-lc-row__grid { gap: 24px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.pd-lc-row .pd-lc-disclaimer { margin-top: 12px !important; }

.pd-lc-note { padding: 16px; border: 1px dashed #C9C2B2; border-radius: 12px; color: #5C5A52; font-size: 14px; }

@media (prefers-reduced-motion: reduce) {
	.pd-lc .pd-lc__btn, .pd-lc .pd-lc__btn:hover { transition: none; transform: none; }
}
