/* Scoped overrides also cover the legacy database custom CSS. */
.aset-price-label { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.aset-price-label > label { margin:0; }
.aset-discount-toggle { display:inline-flex; align-items:center; gap:6px; font-size:12px; cursor:pointer; white-space:nowrap; }
.aset-discount-toggle input { position:static; margin:0; width:16px; height:16px; }
#aset-discount-fields { margin-top:14px; }
[hidden], #aset-discount-fields[hidden], .aset-field-error[hidden], .aset-favorite-message[hidden] { display:none !important; }
.aset-field-error, .aset-favorite-error { color:#b31c23; font-size:12px; line-height:1.5; margin:7px 0 0; overflow-wrap:break-word; }
.aset-commission-fields { background:#effcff; }
.aset-commission-heading { text-align:center; margin:0 0 20px; font-size:16px; }
.komisi.aset-commission-fields .form-group { width:100%; max-width:none; text-align:left; }
.aset-commission-mode { margin-bottom:8px; padding-right:28px; }
.aset-price-fields .form-control, .aset-commission-fields .form-control { min-width:0; width:100%; font-size:14px; }
.aset-hot-deal { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:2px 6px; min-width:0; max-width:100%; box-sizing:border-box; vertical-align:baseline; font-size:14px; line-height:20px; white-space:normal; text-align:left; }
.aset-hot-deal .aset-original-price { display:inline; float:none; margin:0; color:#969ca8 !important; font-size:12px; font-weight:400; line-height:16px; overflow-wrap:anywhere; text-decoration:line-through; }
.aset-hot-deal .aset-price-prefix { float:none; margin:0; font-size:12px; line-height:16px; color:#737b88; }
.aset-hot-deal .aset-deal-meta { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:2px 6px; min-width:0; max-width:100%; float:none; margin:0; }
.aset-hot-deal .aset-deal-offer { display:inline-flex; flex-wrap:wrap; align-items:center; gap:2px 5px; min-width:0; max-width:100%; width:auto; float:none; position:static; margin:0; padding:0; border-radius:4px; background:transparent; box-sizing:border-box; }
.aset-hot-deal .aset-deal-badge { display:inline-flex; flex:0 0 auto; align-items:center; gap:4px; position:static; transform:none; margin:0; padding:1px 5px; border-radius:10px; background:#f20e16; color:#fff !important; font-size:12px; font-weight:600; line-height:16px; white-space:nowrap; }
.aset-hot-deal .aset-deal-badge i { margin:0; font-size:inherit; line-height:1; }
.aset-hot-deal .aset-discount-price { display:inline; float:none; min-width:0; max-width:100%; margin:0; color:#e61924 !important; font-size:14px; font-weight:600; line-height:20px; overflow-wrap:anywhere; }
.aset-hot-deal.aset-hot-deal--card, .aset-hot-deal.aset-hot-deal--header { display:inline-flex; flex-direction:column; align-items:flex-start; gap:2px; }
.aset-hot-deal--card .aset-deal-offer { padding:2px 6px; background:#fff0f2; }
.aset-hot-deal--card .aset-discount-price { font-size:16px; line-height:20px; }
.aset-hot-deal--header { gap:4px; }
.aset-hot-deal--header .aset-deal-offer { padding:4px 8px; background:#fff0f2; }
.aset-hot-deal--header .aset-discount-price { font-size:20px; line-height:26px; }
/* The theme spaces every nested status span. Keep spacing owned by the price component. */
.my-property .status .aset-hot-deal, .my-property .status .aset-hot-deal span { margin:0; }
.my-property .status.aset-status-with-deal > p { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; }
.my-property .status.aset-status-with-deal > p > span { min-width:0; max-width:100%; margin:0; }
.my-property .status.aset-status-with-deal .aset-price-fact { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:2px 6px; }
.my-property .status.aset-status-with-deal .aset-price-fact > strong { flex:0 0 auto; }
.my-property .status.aset-status-with-deal .aset-price-fact > .aset-hot-deal { flex:1 1 180px; }
/* Reserve a separate column for contact buttons only in the footer that contains a deal. */
.item-foot.aset-card-footer-deal { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:8px; height:auto; min-height:62px; }
.item-foot.aset-card-footer-deal:before, .item-foot.aset-card-footer-deal:after { display:none; }
.aset-card-footer-deal .item-foot-left, .aset-card-footer-deal .item-foot-right { float:none; min-width:0; max-width:100%; margin:0; }
.aset-card-footer-deal .item-foot-right { justify-self:end; }
.aset-card-footer-deal .price { text-align:left; }
.aset-card-footer-deal .prop-datex { margin-top:0; white-space:nowrap; }
.aset-card-footer-deal .aset-hot-deal { vertical-align:top; }
.price.aset-card-price-deal, .item-price-block.aset-card-price-deal { min-width:0; max-width:100%; }
figure .price.aset-card-price-deal, figure .item-price-block.aset-card-price-deal { max-width:calc(100% - 24px); }
figure.aset-thumb-deal-actions .price.aset-card-price-deal, .property-item-v2 figure.aset-thumb-deal-actions .item-price-block.aset-card-price-deal { bottom:56px; }
/* In v2 list cards, normal document flow keeps tall titles and prices apart. */
.property-item-v2.aset-v2-with-deal .item-body-top, .property-item-v2.aset-v2-with-deal .item-body-bottom { position:relative; }
.property-item-v2.aset-v2-with-deal .item-body-top { display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px 12px; }
.property-item-v2.aset-v2-with-deal .item-body-top:before, .property-item-v2.aset-v2-with-deal .item-body-top:after { display:none; }
.property-item-v2.aset-v2-with-deal .item-title { float:none; flex:1 1 180px; min-width:0; max-width:100%; }
.property-item-v2.aset-v2-with-deal .item-body-top > .aset-card-price-deal { float:none; position:static; flex:0 1 auto; min-width:0; max-width:100%; }
/* A price row can wrap without pushing the neighboring floating detail cells. */
.kotakdetil.aset-detail-with-deal { display:flex; flex-wrap:wrap; }
.aset-detail-with-deal > .kotakdetilitem { float:none; min-width:0; }
.kotakdetilitem.aset-detail-price-row { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 6px; }
.aset-detail-price-row > svg { flex:0 0 auto; align-self:flex-start; margin-top:2px; }
.aset-detail-price-row > .detjudul { flex:0 0 auto; }
.aset-detail-price-row > .detisi { flex:1 1 140px; min-width:0; max-width:100%; }
.kotakdetilitem.aset-detail-price-row:after { flex:0 0 90%; }
.detilprimer .kolomharga.aset-has-deal { box-sizing:border-box; width:auto; max-width:100%; margin-right:0; padding:9px 12px; border-radius:12px; white-space:normal; overflow:visible; }
.detilprimer .kolomharga.aset-has-deal .review-score { display:none; }
.aset-detail-favorite { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; max-width:100%; margin:0 0 0 8px; vertical-align:middle; }
.aset-favorite-button { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:36px; padding:7px; border:1px solid #e2e5eb; border-radius:7px; background:#fff; color:#878c9f; font-size:18px; line-height:1; cursor:pointer; }
.aset-favorite-button.is-liked { color:#ed1727; border-color:#f4c5cb; background:#fff3f4; }
.aset-favorite-button:focus { outline:2px solid #355d90; outline-offset:3px; }
.aset-favorite-button:disabled { opacity:.6; cursor:wait; }
.aset-favorite-message { color:#d6192b; font-size:12px; line-height:1.4; }
.aset-favorite-error { flex-basis:100%; }
.actions li > .aset-favorite-button { width:32px; height:32px; min-width:32px; min-height:32px; padding:4px; }
.aset-like-count { display:block; margin-top:7px; color:#72798a; font-size:12px; line-height:1.5; }
.aset-like-count i { color:#e72032; margin-right:5px; }
.detilprimer .label-wrap { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.detilprimer .label-wrap .actions { margin:0; float:none; }
.detilkomisi { width:100%; max-width:none !important; overflow-wrap:anywhere; }
@media (max-width:767px) {
    .aset-detail-favorite { margin-left:0; }
    .aset-detail-favorite .aset-favorite-message { max-width:calc(100% - 44px); }
    .detilprimer .kolomharga.aset-has-deal { float:none; margin:16px 0 0; }
    .aset-hot-deal--header .aset-discount-price { font-size:18px; line-height:24px; }
    .aset-commission-fields .col-sm-4 { margin-bottom:10px; }
}
@media (max-width:375px) {
    .aset-hot-deal--card .aset-discount-price { font-size:14px; }
    .aset-price-label { align-items:flex-start; }
}
