/* BQ Profiles v2.2.0 — scoped product-card presentation only. */
.bq-profile-loop-card .woocommerce-loop-product__title,
.bq-profile-loop-card .product-title,
.bq-profile-loop-card .wd-entities-title,
.bq-profile-loop-card .woocommerce-loop-product__title a,
.bq-profile-loop-card .product-title a,
.bq-profile-loop-card .wd-entities-title a {
    font-family: var(--bqp-card-font, inherit) !important;
    color: #202020;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.25px;
}

.bq-profile-loop-card .bq-profile-rating {
    display: flex;
    align-items: center;
    width: fit-content;
    gap: 6px;
    margin-top: 9px;
    color: #202020;
    line-height: 1;
    font-family: var(--bqp-card-font, inherit) !important;
}

.bq-profile-loop-card .bq-rating-star {
    display: inline-block;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    background: #f5b800;
    clip-path: polygon(50% 0%,61% 34%,98% 35%,68% 57%,79% 92%,50% 71%,21% 92%,32% 57%,2% 35%,39% 34%);
}

.bq-profile-loop-card .bq-rating-value {
    font-family: var(--bqp-card-font, inherit) !important;
    font-size: 14px;
    font-weight: 700;
    color: #222;
}

.bq-profile-loop-card .bq-review-count {
    font-family: var(--bqp-card-font, inherit) !important;
    font-size: 13px;
    font-weight: 400;
    color: #8b8b8b;
}

.bq-profile-loop-card .star-rating:has(+ .bq-profile-rating),
.bq-profile-loop-card .star-rating:has(.bq-profile-rating) { display:none !important; }

.bq-profile-loop-card .price,
.bq-profile-loop-card .price .woocommerce-Price-amount,
.bq-profile-loop-card .price .bqp-card-price-period {
    font-family: var(--bqp-card-font, inherit) !important;
}

.bq-profile-loop-card .price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 13px;
    color: #315efb !important;
}

.bq-profile-loop-card .price .woocommerce-Price-amount {
    color: #315efb !important;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.3px;
}

.bq-profile-loop-card .price .bqp-card-price-period {
    color: #315efb !important;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 600;
}

/* Lightweight preloader: no icon font, no SVG, no layout dependency. */
.bqp-page-preloader {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: none;
    align-items: center;
    justify-content: center;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .16s ease, visibility .16s ease;
}
.bqp-page-preloader.is-initially-visible,
.bqp-page-preloader.is-visible {
    display: flex;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.bqp-page-preloader.is-leaving { opacity: 0; visibility: hidden; }
.bqp-preloader-spinner {
    width: 22px;
    height: 22px;
    border: 2px solid #e9e9e9;
    border-top-color: #315efb;
    border-radius: 50%;
    animation: bqp-spin .62s linear infinite;
}
@keyframes bqp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .bqp-page-preloader { transition: none; }
    .bqp-preloader-spinner { animation-duration: 1.2s; }
}

@media (max-width:480px) {
    .bq-profile-loop-card .woocommerce-loop-product__title,
    .bq-profile-loop-card .product-title,
    .bq-profile-loop-card .wd-entities-title,
    .bq-profile-loop-card .woocommerce-loop-product__title a,
    .bq-profile-loop-card .product-title a,
    .bq-profile-loop-card .wd-entities-title a { font-size:17px; }
    .bq-profile-loop-card .bq-profile-rating { margin-top:8px; }
    .bq-profile-loop-card .price { margin-top:12px; }
    .bq-profile-loop-card .price .woocommerce-Price-amount { font-size:17px; }
    .bq-profile-loop-card .price .bqp-card-price-period { font-size:14px; }
}

/* v2.3.1 — alignment-only correction for profile loop cards.
   Keeps theme card/image/layout untouched; only title, rating and price align left. */
.bq-profile-loop-card .woocommerce-loop-product__title,
.bq-profile-loop-card .product-title,
.bq-profile-loop-card .wd-entities-title,
.bq-profile-loop-card .woocommerce-loop-product__title a,
.bq-profile-loop-card .product-title a,
.bq-profile-loop-card .wd-entities-title a {
    width: 100%;
    text-align: left !important;
    align-self: stretch;
}

.bq-profile-loop-card .bq-profile-rating {
    width: 100%;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.bq-profile-loop-card .price {
    width: 100%;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* v2.4.6 — compact reference-style title/review row.
   Scoped to BQ profile product cards; image, price, buttons and theme card shell stay unchanged. */
.bq-profile-loop-card .bqp-card-title-rating-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-width: 0;
    margin-top: 0;
}

.bq-profile-loop-card .bqp-card-title-rating-row > .woocommerce-loop-product__title,
.bq-profile-loop-card .bqp-card-title-rating-row > .product-title,
.bq-profile-loop-card .bqp-card-title-rating-row > .wd-entities-title {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.bq-profile-loop-card .bqp-card-title-rating-row .bq-profile-rating {
    flex: 0 0 auto;
    width: auto !important;
    max-width: 48%;
    margin: 0 0 0 auto !important;
    justify-content: flex-end !important;
    white-space: nowrap;
}

.bq-profile-loop-card .bqp-card-title-rating-row .bq-rating-star {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.bq-profile-loop-card .bqp-card-title-rating-row .bq-rating-value {
    font-size: 13px;
}

.bq-profile-loop-card .bqp-card-title-rating-row .bq-review-count {
    font-size: 12px;
}

.bq-profile-loop-card .bqp-card-title-rating-row + .price,
.bq-profile-loop-card .bqp-card-title-rating-row ~ .price {
    margin-top: 10px;
}

@media (max-width: 480px) {
    .bq-profile-loop-card .bqp-card-title-rating-row {
        gap: 6px;
    }

    .bq-profile-loop-card .bqp-card-title-rating-row .woocommerce-loop-product__title,
    .bq-profile-loop-card .bqp-card-title-rating-row .product-title,
    .bq-profile-loop-card .bqp-card-title-rating-row .wd-entities-title,
    .bq-profile-loop-card .bqp-card-title-rating-row .woocommerce-loop-product__title a,
    .bq-profile-loop-card .bqp-card-title-rating-row .product-title a,
    .bq-profile-loop-card .bqp-card-title-rating-row .wd-entities-title a {
        font-size: 14px !important;
        line-height: 1.25;
    }

    .bq-profile-loop-card .bqp-card-title-rating-row .bq-profile-rating {
        gap: 4px;
        max-width: 56%;
    }

    .bq-profile-loop-card .bqp-card-title-rating-row .bq-rating-star {
        width: 12px;
        height: 12px;
        flex-basis: 12px;
    }

    .bq-profile-loop-card .bqp-card-title-rating-row .bq-rating-value {
        font-size: 11px;
    }

    .bq-profile-loop-card .bqp-card-title-rating-row .bq-review-count {
        font-size: 10px;
    }

    .bq-profile-loop-card .bqp-card-title-rating-row ~ .price {
        margin-top: 8px;
    }
}

/* v2.4.7 — experience + short address under pricing. */
.bq-profile-loop-card .bqp-card-extra-meta{
    width:100%;
    margin-top:6px;
    font-family:var(--bqp-card-font,inherit)!important;
    text-align:left;
    min-width:0;
}
.bq-profile-loop-card .bqp-card-experience{
    font-size:13px;
    line-height:1.35;
    font-weight:500;
    color:#315efb;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.bq-profile-loop-card .bqp-card-location{
    margin-top:3px;
    font-size:12px;
    line-height:1.35;
    font-weight:400;
    color:#6f7782;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media(max-width:480px){
    .bq-profile-loop-card .bqp-card-extra-meta{margin-top:5px}
    .bq-profile-loop-card .bqp-card-experience{font-size:11.5px}
    .bq-profile-loop-card .bqp-card-location{font-size:10.5px}
}

/* v2.5.3 — mobile-only title/review stacking. Desktop title + review row remains unchanged. */
@media (max-width: 767px) {
  .bq-profile-loop-card .bqp-card-title-rating-row {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:4px!important;
  }
  .bq-profile-loop-card .bqp-card-title-rating-row > .woocommerce-loop-product__title,
  .bq-profile-loop-card .bqp-card-title-rating-row > .product-title,
  .bq-profile-loop-card .bqp-card-title-rating-row > .wd-entities-title {
    width:100%!important;
    max-width:100%!important;
  }
  .bq-profile-loop-card .bqp-card-title-rating-row .bq-profile-rating {
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    justify-content:flex-start!important;
    white-space:normal!important;
  }
}


/* v2.6.0 — Property cards/profile. Strictly scoped; service profile styles stay unchanged. */
.bq-property-loop-card .star-rating,.bq-property-loop-card .bq-profile-rating{display:none!important}
.bq-property-loop-card .bqp-property-card-meta{width:100%;margin-top:7px;font-family:var(--bqp-card-font,inherit);text-align:left}
.bq-property-loop-card .bqp-property-bhk-floor{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;line-height:1.35;color:#242424}
.bq-property-loop-card .bqp-property-dot{opacity:.45}
.bq-property-loop-card .bqp-property-area{margin-top:4px;font-size:12px;line-height:1.4;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bqp-property-profile{font-family:var(--bqp-card-font,inherit);width:100%;max-width:920px;margin:0 auto}
.bqp-property-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:18px}
.bqp-property-gallery-item{overflow:hidden;border-radius:12px;background:#f5f5f5;aspect-ratio:4/3}
.bqp-property-gallery-item.is-main{grid-row:span 2;aspect-ratio:auto;min-height:330px}
.bqp-property-gallery-item img{width:100%;height:100%;display:block;object-fit:cover}
.bqp-property-panel{border:1px solid #ececec;border-radius:14px;padding:20px;background:#fff}
.bqp-property-title{margin:0 0 8px;font-size:24px;line-height:1.25;color:#202020}
.bqp-property-rent{font-size:24px;font-weight:700;line-height:1.2;color:#315efb;margin-bottom:18px}
.bqp-property-rent span{font-size:14px;font-weight:500}
.bqp-property-details{border-top:1px solid #eee}
.bqp-property-row{display:grid;grid-template-columns:minmax(120px,1fr) 1.4fr;gap:18px;padding:13px 0;border-bottom:1px solid #eee;font-size:14px}
.bqp-property-row span{color:#777}.bqp-property-row strong{color:#222;font-weight:600}
.bqp-owner-card{margin-top:18px;padding:16px;border-radius:12px;background:#f7f8fa}
.bqp-owner-heading{font-size:12px;font-weight:600;color:#777;margin-bottom:7px}.bqp-owner-name{font-size:15px;font-weight:600;color:#222}.bqp-owner-phone{display:inline-block;margin-top:4px;font-size:14px;font-weight:600;text-decoration:none}
@media(max-width:640px){.bqp-property-gallery{grid-template-columns:1fr 1fr}.bqp-property-gallery-item.is-main{grid-column:1/-1;grid-row:auto;min-height:240px}.bqp-property-panel{padding:16px}.bqp-property-title,.bqp-property-rent{font-size:20px}.bqp-property-row{grid-template-columns:1fr 1.25fr;gap:12px}}

.bq-property-loop-card .woocommerce-loop-product__title,.bq-property-loop-card .product-title,.bq-property-loop-card .wd-entities-title{display:none!important}
/* v2.7.0 — rental property details only. The theme remains responsible for the left product image/gallery. */
.bqp-property-profile--details-only{max-width:100%;margin:0}
.bqp-property-profile--details-only .bqp-property-panel{padding:22px;border-radius:14px}
.bqp-property-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;padding:7px 10px;border-radius:8px;background:#f3f6ff;color:#315efb;font-size:12px;font-weight:700}
.bqp-property-kicker svg{width:17px;height:17px;display:block}
.bqp-property-profile--details-only .bqp-owner-card{padding:14px 16px}
.bqp-property-profile--details-only .bqp-owner-name{font-size:16px}

.bqp-property-rent{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap}.bqp-rent-negotiable{display:inline-flex!important;align-items:center!important;padding:5px 9px!important;border-radius:999px!important;background:#eef4ff!important;color:#285cf4!important;border:1px solid #d6e2ff!important;font-size:11px!important;font-weight:700!important;line-height:1!important}

/* v2.9.0 property freshness + green negotiable badge */
.bq-property-loop-card .bqp-card-negotiable,.bqp-property-profile .bqp-rent-negotiable{display:inline-flex!important;align-items:center!important;padding:5px 9px!important;border-radius:999px!important;background:#eaf8ee!important;color:#15803d!important;border:1px solid #bbebc8!important;font-size:11px!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important}
.bq-property-loop-card .bqp-property-listed{margin-top:5px;font-size:10.5px;line-height:1.35;color:#8a94a6}
.bqp-property-profile .bqp-owner-listed{margin-top:4px;font-size:11px;line-height:1.4;color:#7b8495}


/* v2.9.4 — lightweight single-profile share action */
.bqp-profile-share{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;min-height:42px;padding:9px 14px;border:1px solid #d8e2ff;border-radius:10px;background:#fff;color:#285cf4;font:600 13px/1 var(--bqp-card-font,inherit);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.bqp-profile-share:hover{background:#f6f8ff;border-color:#adc1ff}
.bqp-profile-share svg{width:18px;height:18px;display:block;flex:0 0 18px}
.bq-service-profile .bqp-profile-share{margin-top:16px}
@media(max-width:640px){.bqp-profile-share{width:100%}}
