/* One contact row and a separate clickable number beside the property name. */
.card .card-price-contact{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}
.card .card-price-contact>.price{width:100%;min-width:0;line-height:1.4;white-space:normal}
.card .card-price-contact>.quick-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.65fr);align-items:stretch;width:100%;min-width:0;max-width:none;gap:8px;margin:0}
.card .card-price-contact>.quick-contact>a,
.card .card-price-contact>.quick-contact>button{display:flex;align-items:center;justify-content:center;align-self:stretch;justify-self:stretch;grid-column:auto;grid-row:auto;order:0;min-height:44px;min-width:0;width:100%;margin:0;padding:9px 7px;border:1px solid #d7e0e8;border-radius:8px;font:700 15px/1.3 'DM Sans',Arial,sans-serif;text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere;background:#ffdb77;border-color:#ffdb77;color:#103a5c}
.card .card-price-contact>.quick-contact>button{background:#ffdb77;border-color:#ffdb77}
.card .card-price-contact>.quick-contact:not(:has(a))>button{grid-column:1/-1}
.property-title-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;min-width:0;margin:10px 0 5px}
.card .property-title-row h2.property-name{flex:1 1 130px;min-width:0;margin:0;font-size:15px;line-height:1.4}
.property-title-row .property-title-phone{display:inline-block;flex:0 0 auto;font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap;text-decoration:none;color:#103a5c;padding:5px 0}
.property-title-row .property-title-phone:hover{text-decoration:underline}
.card .property-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.dialog-body .detail-contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.card .property-actions>*,.dialog-body .detail-contact-actions>*{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;margin:0;padding:10px 8px;border:1px solid #d7e0e8;border-radius:8px;font-size:14px;line-height:1.35;text-align:center;text-decoration:none;overflow-wrap:break-word;background:#103a5c;color:white}
.dialog-body .detail-contact-actions>.property-website{grid-column:1/-1}
.dialog-body .property-title-row .property-title-phone{font-size:17px}
@container(max-width:265px){.card .card-price-contact>.quick-contact{gap:5px}.card .card-price-contact>.quick-contact>a,.card .card-price-contact>.quick-contact>button{font-size:13px;padding:9px 4px}}
@media(max-width:380px){.dialog-body .detail-contact-actions{gap:5px}.dialog-body .detail-contact-actions>*{font-size:13px;padding:10px 4px}}

.property-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px 12px;flex-wrap:wrap;min-width:0}.card .card-price-contact>.property-price-row>.price{flex:1 1 140px;min-width:0;line-height:1.4}.property-price-row .property-title-phone{display:inline-block;flex:0 0 auto;font-size:15px;font-weight:700;line-height:1.4;white-space:nowrap;text-decoration:none;color:#103a5c;padding:5px 0}.property-price-row .property-title-phone:hover{text-decoration:underline}

.dialog-body .detail-contact-actions>a[href^="tel:"],.dialog-body .detail-contact-actions>a[href^="sms:"],.dialog-body .detail-contact-actions>button{background:#ffdb77;border-color:#ffdb77;color:#103a5c}.card .card-price-contact>.quick-contact>a:hover,.card .card-price-contact>.quick-contact>button:hover,.dialog-body .detail-contact-actions>a[href^="tel:"]:hover,.dialog-body .detail-contact-actions>a[href^="sms:"]:hover,.dialog-body .detail-contact-actions>button:hover{background:#ffe077;border-color:#ffe077}

/* Size the rent and contact rows to their content, independent of older flex rules. */
.card .card-price-contact{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;justify-content:normal;gap:10px;flex-wrap:nowrap}
.card .card-price-contact>.property-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 12px;min-height:0;height:auto;margin:0;padding:0;flex:none}
.card .card-price-contact>.property-price-row>.price{flex:none;min-height:0;height:auto;margin:0;line-height:1.4;white-space:normal}
.card .property-price-row .property-title-phone{padding:0;line-height:1.4}
.card .card-price-contact>.quick-contact{align-content:start;justify-content:normal;height:auto;min-height:0;flex:none}
@container(max-width:340px){.card .card-price-contact>.property-price-row{grid-template-columns:minmax(0,1fr);gap:4px}}

/* Let contact labels wrap inside their own button at narrow card widths. */
.card .card-price-contact>.quick-contact>*,.dialog-body .detail-contact-actions>*{box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;height:auto}
.dialog-body .detail-contact-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.65fr)}
