/* User-selected card style: black, white and gold. Detail pages keep brochure colours. */
.property-card,.hot-property-card {
  --card-gold:#edca5b; --cta-bg:#edca5b; --cta-fg:#080808; --cta-hover:#ffdf79;
  border:0; border-radius:0; background:#030303; color:#fff;
  box-shadow:0 6px 18px #00000024; overflow:hidden;
}
.property-card-image .property-media,.hot-property-photo { aspect-ratio:1.44; background:#161616; }
.property-card-image img,.hot-property-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.property-card-body,.hot-property-body { padding:20px 16px 17px; border-top:3px solid #fff; background:#030303; color:#fff; }
.property-page main .property-card h2,#property-detail .property-card h2,.hot-property-name {
  color:#fff; font-family:Georgia,'Times New Roman',serif; font-weight:700;
  font-size:22px; letter-spacing:-.035em; line-height:1.2; margin:0 0 7px; text-wrap:initial;
}
.property-card h2 a,.hot-property-name a { color:inherit; }
.property-card .property-location,.hot-property-location {
  color:var(--card-gold); font:700 15px/1.35 var(--sans); letter-spacing:0;
  text-transform:none; margin:0 0 12px;
}
.property-card-meta,.property-card .property-category,.hot-property-kind { color:#fff; font:400 14px/1.5 var(--sans); }
.property-card .property-category { display:flex; align-items:center; gap:10px; }
.property-category::before,.hot-property-kind::before {
  content:''; display:inline-block; width:15px; height:17px; flex:none; margin:0; background:var(--card-gold);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 12h3v10h6v-7h4v7h6V12h3Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 12h3v10h6v-7h4v7h6V12h3Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.property-card-address,.hot-property-address { display:flex; align-items:center; gap:10px; margin:5px 0 7px; color:#fff; font:400 13px/1.5 var(--sans); }
.property-card-address > span:first-child,.hot-property-address::before {
  content:''; display:block; width:15px; height:18px; flex:none; font-size:0; background:var(--card-gold);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a8 8 0 0 0-8 8c0 6 8 14 8 14s8-8 8-14a8 8 0 0 0-8-8Zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a8 8 0 0 0-8 8c0 6 8 14 8 14s8-8 8-14a8 8 0 0 0-8-8Zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.hot-property-kind { display:flex; align-items:center; gap:10px; margin:0; }
.hot-property-address > span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.property-card-bottom,.hot-property-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; border-top:1px solid #b9b9b9; padding-top:10px; margin-top:auto; }
.property-card-price > span,.hot-property-price > span { display:none; }
.property-card-price strong,.hot-property-price strong { color:var(--card-gold); font:700 14px/1.4 var(--sans); }
.property-card .property-button,.hot-property-cta {
  display:inline-flex; align-items:center; justify-content:center; width:auto; min-height:36px;
  border:0; border-radius:999px; padding:7px 12px; gap:7px;
  background:linear-gradient(100deg,#c99316,#f3d96e); color:#050505;
  font:700 12px/1.25 var(--sans); white-space:nowrap;
}
.property-card .property-button:is(:hover,:focus-visible),.hot-property-cta:is(:hover,:focus-visible) { background:#ffe489; color:#000; }
.property-card .property-button .button-arrow,.hot-property-cta > span { font-size:17px; }
.property-card :focus-visible,.hot-property-card :focus-visible { outline:2px solid #ffe489; outline-offset:3px; }
.hot-property-type { display:none; }
.hot-property-card:hover { border-color:transparent; box-shadow:0 12px 25px #0003; }
/* Medium cards: four equal slots on desktop, with a bounded row width. */
.property-grid,.hot-properties-grid { width:100%; max-width:1200px; margin-inline:auto; gap:24px; }
@media(min-width:1100px) {
 .property-grid,.hot-properties-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(min-width:541px) and (max-width:1099px) {
 .property-grid,.hot-properties-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:760px; gap:20px; }
}
@media(max-width:540px) {
 .property-grid,.hot-properties-grid { grid-template-columns:1fr; max-width:380px; gap:22px; }
}
@media(max-width:540px) {
 .property-page main .property-card h2,#property-detail .property-card h2,.hot-property-name { font-size:24px; }
 .property-card-body,.hot-property-body { padding:20px 18px 18px; }
}

/* Seamless right-to-left motion, scoped to homepage Hot Properties. */
.hot-properties-grid.hot-properties-animated { display:block; }
.hot-properties-marquee { overflow:hidden; padding-block:8px 20px; }
.hot-properties-track { display:flex; width:max-content; animation:hot-properties-left var(--hot-duration,25s) linear infinite; }
.hot-properties-group { display:flex; gap:var(--hot-gap,24px); padding-right:var(--hot-gap,24px); flex:none; }
.hot-properties-group .hot-property-card { flex:0 0 var(--hot-card-width,302px); width:var(--hot-card-width,302px); }
@keyframes hot-properties-left { to { transform:translateX(-50%); } }
.hot-properties-animated[data-paused="true"] .hot-properties-track,
.hot-properties-animated[data-hidden="true"] .hot-properties-track,
.hot-properties-animated[data-offscreen="true"] .hot-properties-track { animation-play-state:paused; }
@media(hover:hover) { .hot-properties-marquee:hover .hot-properties-track { animation-play-state:paused; } }
.hot-properties-marquee:focus-within { overflow-x:auto; }
.hot-properties-marquee:focus-within .hot-properties-track { animation:none; transform:none; }
.hot-properties-pause { display:block; margin:0 0 0 auto; padding:10px 16px; min-height:44px; border:1px solid #bbb; border-radius:999px; background:transparent; color:#292929; font:500 12px var(--sans); cursor:pointer; }
.hot-properties-pause:focus-visible { outline:2px solid #94611b; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) {
 .hot-properties-track { animation:none; transform:none; width:auto; }
 .hot-properties-group { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:0; width:100%; }
 .hot-properties-group .hot-property-card { width:auto; }
 .hot-properties-group-repeat,.hot-property-repeat,.hot-properties-pause { display:none; }
}
@media(prefers-reduced-motion:reduce) and (max-width:1099px) { .hot-properties-group { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } }
@media(prefers-reduced-motion:reduce) and (max-width:540px) { .hot-properties-group { grid-template-columns:1fr; } }

/* Brochure-led cards: consistent rhythm, clear configurations and touch targets. */
.property-card,.hot-property-card { display:flex; flex-direction:column; height:100%; }
.property-card-body,.hot-property-body { gap:0; padding:22px 18px 20px; }
.property-page main .property-card h2,#property-detail .property-card h2,.hot-property-name { min-height:2.4em; line-height:1.2; letter-spacing:-.025em; }
.property-card .property-location,.hot-property-location { min-height:2.7em; }
.property-card-config { color:#e7e3da; font:500 13px/1.6 var(--sans); margin:8px 0 20px; }
.property-card-bottom,.hot-property-footer { flex-wrap:wrap; gap:12px; padding-top:16px; }
.property-card .property-button,.hot-property-cta { min-height:44px; }
.property-card-image,.hot-property-photo { overflow:hidden; flex-shrink:0; }
.property-card-image img,.hot-property-photo img { transition:transform .45s ease; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .property-card:hover .property-card-image img,.hot-property-card:hover .hot-property-photo img { transform:scale(1.035); }
}
@media(prefers-reduced-motion:reduce) { .property-card-image img,.hot-property-photo img { transition:none; } }
