
/*
 * BestPropertyPlug — Project Search Font Scale V3.8.8
 *
 * Focus:
 * - Increase mobile/tablet typography without breaking the 2-column layout.
 * - Keep V3.8.7 vertical metric DOM normalization.
 * - Preserve desktop >=1200px.
 */

/* =========================================================
   MOBILE <= 767px
   ========================================================= */
@media (max-width: 767px) {

    /* Project titles */
    html body .bppp2-card h3,
    html body .bppp2-card h4,
    html body .bppp2-card .bppp2-title {
        min-height: 31px !important;
        max-height: 34px !important;
        margin: 8px 9px 4px !important;
        font-size: 11.4px !important;
        line-height: 1.32 !important;
        font-weight: 800 !important;
        letter-spacing: -.01em !important;
    }

    /* Location */
    html body .bppp2-card .bppp2-location,
    html body .bppp2-card [class*="location"] {
        margin: 0 9px 7px !important;
        font-size: 9.8px !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
    }

    /* Metric panel */
    html body .bppp2-card .bpp-v387-metrics-row {
        margin: 0 9px 8px !important;
        padding: 8px 3px !important;
        border-radius: 10px !important;
    }

    html body .bppp2-card .bpp-v387-metric-item {
        gap: 2px !important;
        padding: 0 3px !important;
    }

    /* Metric icon */
    html body .bppp2-card .bpp-v387-metric-icon,
    html body .bppp2-card .bpp-v387-metric-icon svg,
    html body .bppp2-card .bpp-v387-metric-icon i,
    html body .bppp2-card .bpp-v387-metric-icon img {
        width: 14px !important;
        height: 14px !important;
        min-width: 14px !important;
        min-height: 14px !important;
        max-width: 14px !important;
        max-height: 14px !important;
        font-size: 14px !important;
        line-height: 14px !important;
        flex-basis: 14px !important;
    }

    /* Metric value */
    html body .bppp2-card .bpp-v387-metric-value {
        font-size: 11.2px !important;
        line-height: 1.05 !important;
        font-weight: 800 !important;
    }

    /* Metric label */
    html body .bppp2-card .bpp-v387-metric-label {
        margin-top: 1px !important;
        font-size: 7.8px !important;
        line-height: 1.05 !important;
        font-weight: 600 !important;
    }

    /* Price footer */
    html body .bppp2-card .bppp2-price {
        margin: auto 9px 9px !important;
        padding-top: 6px !important;
    }

    html body .bppp2-card .bppp2-price small {
        margin-bottom: 3px !important;
        font-size: 8.4px !important;
        line-height: 1.1 !important;
        font-weight: 600 !important;
    }

    html body .bppp2-card .bppp2-price strong {
        font-size: 9.5px !important;
        line-height: 1.28 !important;
        font-weight: 800 !important;
    }

    /* View Details pill */
    html body .bppp2-card .bpp-v383-view-details {
        min-height: 24px !important;
        padding: 5px 8px !important;
        gap: 4px !important;
        font-size: 8.2px !important;
        line-height: 1 !important;
        font-weight: 800 !important;
    }

    html body .bppp2-card .bpp-v383-view-details::after {
        font-size: 8.8px !important;
    }

    /* Results toolbar */
    html body .bppp2-toolbar,
    html body .bppp2-toolbar * {
        font-size: 10px !important;
    }

    html body .bppp2-toolbar strong {
        font-size: 11.5px !important;
        font-weight: 800 !important;
    }

    html body .bppp2-toolbar button,
    html body .bppp2-toolbar .btn,
    html body .bppp2-toolbar [class*="filter"] {
        font-size: 11px !important;
        font-weight: 700 !important;
    }
}

/* =========================================================
   NARROW PHONES <= 390px
   Keep readable while preserving two cards per row.
   ========================================================= */
@media (max-width: 390px) {

    html body .bppp2-card h3,
    html body .bppp2-card h4,
    html body .bppp2-card .bppp2-title {
        min-height: 29px !important;
        max-height: 31px !important;
        font-size: 10.6px !important;
    }

    html body .bppp2-card .bppp2-location,
    html body .bppp2-card [class*="location"] {
        font-size: 9.2px !important;
    }

    html body .bppp2-card .bpp-v387-metric-icon,
    html body .bppp2-card .bpp-v387-metric-icon svg,
    html body .bppp2-card .bpp-v387-metric-icon i,
    html body .bppp2-card .bpp-v387-metric-icon img {
        width: 13px !important;
        height: 13px !important;
        min-width: 13px !important;
        min-height: 13px !important;
        max-width: 13px !important;
        max-height: 13px !important;
        font-size: 13px !important;
        line-height: 13px !important;
        flex-basis: 13px !important;
    }

    html body .bppp2-card .bpp-v387-metric-value {
        font-size: 10.4px !important;
    }

    html body .bppp2-card .bpp-v387-metric-label {
        font-size: 7.2px !important;
    }

    html body .bppp2-card .bppp2-price small {
        font-size: 8px !important;
    }

    html body .bppp2-card .bppp2-price strong {
        font-size: 9px !important;
    }

    html body .bppp2-card .bpp-v383-view-details {
        font-size: 7.7px !important;
    }
}

/* =========================================================
   TABLET PORTRAIT 768–1023px
   ========================================================= */
@media (min-width: 768px) and (max-width: 1023px) {

    html body .bppp2-card h3,
    html body .bppp2-card h4,
    html body .bppp2-card .bppp2-title {
        font-size: 15.5px !important;
        line-height: 1.3 !important;
        min-height: 40px !important;
    }

    html body .bppp2-card .bppp2-location,
    html body .bppp2-card [class*="location"] {
        font-size: 12px !important;
    }

    html body .bppp2-card .bpp-v387-metric-icon,
    html body .bppp2-card .bpp-v387-metric-icon svg,
    html body .bppp2-card .bpp-v387-metric-icon i,
    html body .bppp2-card .bpp-v387-metric-icon img {
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
        min-height: 16px !important;
        max-width: 16px !important;
        max-height: 16px !important;
        font-size: 16px !important;
        line-height: 16px !important;
        flex-basis: 16px !important;
    }

    html body .bppp2-card .bpp-v387-metric-value {
        font-size: 12px !important;
    }

    html body .bppp2-card .bpp-v387-metric-label {
        font-size: 8.5px !important;
    }

    html body .bppp2-card .bppp2-price small {
        font-size: 9px !important;
    }

    html body .bppp2-card .bppp2-price strong {
        font-size: 11.5px !important;
    }

    html body .bppp2-card .bpp-v383-view-details {
        font-size: 9.5px !important;
        min-height: 29px !important;
        padding: 6px 10px !important;
    }
}

/* =========================================================
   TABLET LANDSCAPE 1024–1199px
   ========================================================= */
@media (min-width: 1024px) and (max-width: 1199px) {

    html body .bppp2-card h3,
    html body .bppp2-card h4,
    html body .bppp2-card .bppp2-title {
        font-size: 13.5px !important;
        line-height: 1.3 !important;
    }

    html body .bppp2-card .bppp2-location,
    html body .bppp2-card [class*="location"] {
        font-size: 10.8px !important;
    }

    html body .bppp2-card .bpp-v387-metric-value {
        font-size: 11px !important;
    }

    html body .bppp2-card .bpp-v387-metric-label {
        font-size: 8px !important;
    }

    html body .bppp2-card .bppp2-price strong {
        font-size: 10.5px !important;
    }

    html body .bppp2-card .bpp-v383-view-details {
        font-size: 8.8px !important;
    }
}

/* Desktop >= 1200px intentionally untouched. */
