/*
|--------------------------------------------------------------------------
| BPP DESKTOP FLOATING CONTACT BAR V1
|--------------------------------------------------------------------------
| Property + Development detail pages
| Desktop only: >= 1024px
| Mobile/tablet intentionally untouched
|--------------------------------------------------------------------------
*/

.bpp-dfc {
    display: none;
}

/* ==========================================================
   DESKTOP
   ========================================================== */

@media (min-width: 1024px) {

    .bpp-dfc {
        --bpp-dfc-bottom: 24px;

        position: fixed;
        z-index: 1190;

        left: 50%;
        bottom: var(--bpp-dfc-bottom);

        width: min(1240px, calc(100vw - 64px));
        min-height: 92px;

        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            auto
            auto;

        align-items: center;
        gap: 22px;

        padding: 12px 14px;

        border: 1px solid #e1e6e4;
        border-radius: 18px;

        background: rgba(255,255,255,.98);

        box-shadow:
            0 22px 55px rgba(20,38,31,.17),
            0 3px 12px rgba(20,38,31,.07);

        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform:
            translate(-50%, 22px)
            scale(.985);

        transition:
            opacity .22s ease,
            visibility .22s ease,
            transform .22s ease,
            bottom .18s ease;
    }

    .bpp-dfc.is-visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        transform:
            translate(-50%, 0)
            scale(1);
    }

    /* ======================================================
       PROPERTY / PROJECT IDENTITY
       ====================================================== */

    .bpp-dfc__identity {
        min-width: 0;

        display: flex;
        align-items: center;
        gap: 14px;
    }

    .bpp-dfc__thumb {
        width: 82px;
        min-width: 82px;
        height: 66px;

        overflow: hidden;

        border: 1px solid #e4e9e7;
        border-radius: 12px;

        background: #eef2f0;
    }

    .bpp-dfc__thumb img {
        width: 100%;
        height: 100%;

        display: block;

        object-fit: cover;
    }

    .bpp-dfc__copy {
        min-width: 0;
        flex: 1;
    }

    .bpp-dfc__title {
        display: block;

        max-width: 100%;

        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;

        color: #17231f;

        font-family: inherit;
        font-size: 16px;
        line-height: 22px;
        font-weight: 800;
    }

    .bpp-dfc__meta {
        min-width: 0;

        display: flex;
        align-items: center;
        gap: 8px;

        margin-top: 6px;

        overflow: hidden;

        color: #68766f;

        font-family: inherit;
        font-size: 12px;
        line-height: 18px;
        font-weight: 600;
    }

    /* ======================================================
       VERIFIED BADGE
       ====================================================== */

    .bpp-dfc__verified {
        flex: 0 0 auto;

        display: inline-flex;
        align-items: center;
        gap: 4px;

        padding: 3px 7px;

        border-radius: 999px;

        background: #eaf7ef;
        color: #14784d;

        font-size: 11px;
        line-height: 16px;
        font-weight: 800;
    }

    .bpp-dfc__verified svg {
        width: 14px;
        height: 14px;
    }

    .bpp-dfc__meta-label {
        flex: 0 0 auto;

        max-width: 160px;

        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .bpp-dfc__location {
        min-width: 0;

        display: inline-flex;
        align-items: center;
        gap: 4px;

        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .bpp-dfc__location svg {
        width: 14px;
        min-width: 14px;
        height: 14px;
    }

    /* ======================================================
       PRICE
       ====================================================== */

    .bpp-dfc__price {
        min-width: 160px;

        display: flex;
        flex-direction: column;
        justify-content: center;

        padding: 4px 22px;

        border-left: 1px solid #e6ebe8;
        border-right: 1px solid #e6ebe8;
    }

    .bpp-dfc__price span {
        color: #7b8882;

        font-size: 10px;
        line-height: 14px;
        font-weight: 700;

        text-transform: uppercase;
        letter-spacing: .05em;
    }

    .bpp-dfc__price strong {
        margin-top: 3px;

        color: #0f8a58;

        font-size: 16px;
        line-height: 22px;
        font-weight: 850;

        white-space: nowrap;
    }

    /* ======================================================
       ACTIONS
       ====================================================== */

    .bpp-dfc__actions {
        display: grid;

        grid-auto-flow: column;
        grid-auto-columns: minmax(112px, 1fr);

        align-items: center;

        gap: 8px;
    }

    .bpp-dfc__chat-form {
        display: block !important;

        width: 100%;

        margin: 0 !important;
        padding: 0 !important;
    }

    .bpp-dfc__action {
        width: 100%;
        min-width: 112px;
        min-height: 48px;

        display: inline-flex !important;

        align-items: center;
        justify-content: center;

        gap: 7px;

        margin: 0 !important;

        padding:
            10px 15px !important;

        border:
            1px solid transparent !important;

        border-radius:
            10px !important;

        box-shadow:
            none !important;

        font-family:
            inherit !important;

        font-size:
            13px !important;

        line-height:
            18px !important;

        font-weight:
            800 !important;

        text-decoration:
            none !important;

        white-space:
            nowrap;

        cursor:
            pointer;

        transition:
            transform .18s ease,
            box-shadow .18s ease,
            filter .18s ease,
            border-color .18s ease,
            background-color .18s ease;
    }

    .bpp-dfc__action svg {
        width: 18px !important;
        min-width: 18px !important;
        height: 18px !important;
    }

    .bpp-dfc__action:hover {
        transform: translateY(-1px);

        box-shadow:
            0 7px 18px
            rgba(20,38,31,.13) !important;
    }

    /* CALL */

    .bpp-dfc__action--call {
        color: #fff !important;

        border-color:
            #173f34 !important;

        background:
            #173f34 !important;
    }

    .bpp-dfc__action--call:hover {
        color: #fff !important;

        filter:
            brightness(.95);
    }

    /* WHATSAPP */

    .bpp-dfc__action--whatsapp {
        color: #fff !important;

        border-color:
            #25b866 !important;

        background:
            #25b866 !important;
    }

    .bpp-dfc__action--whatsapp:hover {
        color: #fff !important;

        filter:
            brightness(.96);
    }

    /* CHAT */

    .bpp-dfc__action--chat {
        color: #17231f !important;

        border-color:
            #d7dfdb !important;

        background:
            #ffffff !important;
    }

    .bpp-dfc__action--chat:hover {
        color: #173f34 !important;

        border-color:
            #a8c4b8 !important;

        background:
            #f7faf8 !important;
    }
}

/* ==========================================================
   SMALL DESKTOP / LAPTOP
   ========================================================== */

@media
(min-width: 1024px)
and
(max-width: 1199px) {

    .bpp-dfc {
        width: calc(100vw - 40px);

        gap: 14px;

        padding:
            11px 12px;
    }

    .bpp-dfc__thumb {
        width: 68px;
        min-width: 68px;
        height: 58px;
    }

    .bpp-dfc__title {
        font-size: 14px;
        line-height: 20px;
    }

    .bpp-dfc__meta-label {
        display: none;
    }

    .bpp-dfc__price {
        min-width: 130px;

        padding-inline:
            14px;
    }

    .bpp-dfc__price strong {
        font-size: 14px;
    }

    .bpp-dfc__actions {
        grid-auto-columns:
            minmax(94px,1fr);

        gap: 6px;
    }

    .bpp-dfc__action {
        min-width: 94px;

        padding-inline:
            10px !important;

        font-size:
            12px !important;
    }
}

/* ==========================================================
   TABLET + MOBILE PROTECTION
   ========================================================== */

@media (max-width: 1023px) {

    .bpp-dfc {
        display: none !important;
    }
}


/* ==========================================================
   BPP_DESKTOP_FLOATING_CONTACT_BAR_V1_1_POLISH
   Screenshot-reference premium desktop refinement
   ========================================================== */

@media (min-width: 1024px) {

    .bpp-dfc {
        min-height: 98px;

        gap: 24px;

        padding:
            13px 15px;

        border-color:
            #dde5e1;

        border-radius:
            19px;

        box-shadow:
            0 22px 56px rgba(20,38,31,.16),
            0 4px 15px rgba(20,38,31,.06);
    }

    /* Slightly stronger listing identity */
    .bpp-dfc__identity {
        gap: 15px;
    }

    .bpp-dfc__thumb {
        width: 90px;
        min-width: 90px;
        height: 72px;

        border-radius: 12px;
    }

    .bpp-dfc__title {
        font-size: 17px;
        line-height: 23px;
        font-weight: 800;
    }

    .bpp-dfc__meta {
        gap: 9px;

        margin-top: 7px;

        font-size: 12px;
    }

    .bpp-dfc__verified {
        padding:
            3px 7px;

        border:
            1px solid #cfeadb;

        background:
            #edf9f2;

        color:
            #118253;
    }

    .bpp-dfc__location {
        color:
            #69766f;
    }

    /* Price becomes the focal point, without the tiny PRICE label */
    .bpp-dfc__price {
        min-width: 185px;

        padding:
            5px 24px;

        border-left-color:
            #edf1ef;

        border-right-color:
            #edf1ef;
    }

    .bpp-dfc__price > span {
        display: none;
    }

    .bpp-dfc__price strong {
        margin-top: 0;

        color:
            #0b9158;

        font-size: 18px;
        line-height: 24px;
        font-weight: 850;
    }

    /* Larger, more balanced desktop actions */
    .bpp-dfc__actions {
        grid-auto-columns:
            minmax(118px, 1fr);

        gap: 10px;
    }

    .bpp-dfc__action {
        min-width: 118px;
        min-height: 52px;

        padding:
            11px 17px !important;

        border-radius:
            10px !important;

        font-size:
            14px !important;

        font-weight:
            800 !important;
    }

    .bpp-dfc__action svg {
        width: 19px !important;
        min-width: 19px !important;
        height: 19px !important;
    }

    /*
     * CALL
     * Reference screenshot:
     * white button + green outline
     */
    .bpp-dfc__action--call {
        color:
            #174b3c !important;

        border-color:
            #17935f !important;

        background:
            #ffffff !important;
    }

    .bpp-dfc__action--call:hover {
        color:
            #0c754a !important;

        border-color:
            #0f8554 !important;

        background:
            #f4fbf7 !important;

        filter: none;
    }

    /*
     * WHATSAPP
     * Keep the primary solid action
     */
    .bpp-dfc__action--whatsapp {
        color:
            #ffffff !important;

        border-color:
            #13a85b !important;

        background:
            #12b760 !important;

        box-shadow:
            0 5px 14px
            rgba(18,183,96,.16) !important;
    }

    /*
     * CHAT
     * Premium outlined secondary action
     */
    .bpp-dfc__action--chat {
        color:
            #173f34 !important;

        border-color:
            #b8cec4 !important;

        background:
            #ffffff !important;
    }

    .bpp-dfc__action--chat:hover {
        color:
            #0f724a !important;

        border-color:
            #188b5b !important;

        background:
            #f5faf7 !important;
    }
}

/* Preserve balanced proportions on 1024–1199px laptops */
@media
(min-width: 1024px)
and
(max-width: 1199px) {

    .bpp-dfc {
        min-height: 92px;

        gap: 13px;
    }

    .bpp-dfc__thumb {
        width: 72px;
        min-width: 72px;
        height: 62px;
    }

    .bpp-dfc__title {
        font-size: 15px;
        line-height: 21px;
    }

    .bpp-dfc__price {
        min-width: 145px;

        padding-inline:
            14px;
    }

    .bpp-dfc__price strong {
        font-size: 15px;
        line-height: 21px;
    }

    .bpp-dfc__actions {
        grid-auto-columns:
            minmax(100px,1fr);

        gap: 7px;
    }

    .bpp-dfc__action {
        min-width: 100px;
        min-height: 48px;

        padding-inline:
            11px !important;

        font-size:
            12px !important;
    }
}

/* /BPP_DESKTOP_FLOATING_CONTACT_BAR_V1_1_POLISH */
