:root {
    --balocco-radius-card: 20px;
    --balocco-radius-control: 12px;
}

/* Soften content blocks while keeping full-width section backgrounds intact. */
.elementor:is([data-elementor-type="wp-post"], [data-elementor-type="wp-page"]) .e-con.e-child,
.elementor:is([data-elementor-type="wp-post"], [data-elementor-type="wp-page"]) .elementor-widget-image img {
    border-radius: var(--balocco-radius-card) !important;
}

/* Clip the card photos and hover galleries to the same outer contour. */
.listing-view .item-wrap {
    border-radius: var(--balocco-radius-card) !important;
    overflow: hidden;
}

/* Override Elementor's per-widget radii consistently across public pages. */
.elementor .elementor-button,
main .btn:not(.btn-square),
#sb_instagram .sbi_load_btn,
#sb_instagram .sbi_follow_btn a {
    border-radius: var(--balocco-radius-control) !important;
}
.elementor .elementor-field-textual {
    border-radius: var(--balocco-radius-control) !important;
}

/* Keep the header's icon hit areas and spacing consistent. */
.header-social-icons ul.list-inline {
    display: flex;
    align-items: center;
    gap: 8px;
}
.header-social-icons ul.list-inline > li.list-inline-item {
    margin: 0 !important;
    flex: 0 0 auto;
}
.top-bar-wrap .header-social-icons .btn-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    line-height: 1;
    padding: 0;
}

/* This label is an editorial selection flag, never a public property badge. */
.label-color-105 { display: none !important; }

#biens-vendus, #biens-a-vendre, #promoteur { scroll-margin-top: 100px; }
#biens-vendus .listing-view.balocco-sold-grid,
#biens-vendus-accueil .listing-view {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    margin: 0;
}
#biens-vendus .balocco-sold-grid > .item-listing-wrap,
#biens-vendus-accueil .listing-view > .item-listing-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0;
    min-width: 0;
}
@media (max-width: 1399px) {
    #biens-vendus .listing-view.balocco-sold-grid,
    #biens-vendus-accueil .listing-view { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    #biens-vendus .listing-view.balocco-sold-grid,
    #biens-vendus-accueil .listing-view { grid-template-columns: minmax(0, 1fr); }
}

/* Houzez gives content columns a 70% basis even without a sidebar. */
#biens-vendus .bt-content-wrap {
    flex: 0 0 100%;
    max-width: 100%;
}
#biens-vendus-accueil .section-title-module { margin-bottom: 24px; }

/* Match the wider Immomig sections on large screens. */
#biens-vendus > .container { max-width: 1600px; }

/* Align sold cards with Immomig's inner content, not its outer iframe. */
#biens-vendus > .container {
    width: calc(100% - 24px);
    padding-inline: 0;
    container: balocco-sold / inline-size;
}
#biens-vendus > .container > .page-title-wrap,
#biens-vendus > .container > .row {
    width: 80%;
    margin-inline: auto;
}
#biens-vendus .bt-content-wrap { padding-inline: 0; }
#biens-vendus-accueil { padding-inline: 12px; }
#biens-vendus-accueil > .e-con-inner {
    padding-inline: 12px;
    container: balocco-sold / inline-size;
}
#biens-vendus-accueil .elementor-widget-shortcode {
    width: 80%;
    align-self: center;
}
#biens-vendus .balocco-sold-grid > .item-listing-wrap,
#biens-vendus-accueil .listing-view > .item-listing-wrap {
    padding-inline: 0;
}
@container balocco-sold (max-width: 1500px) {
    #biens-vendus > .container > .page-title-wrap,
    #biens-vendus > .container > .row,
    #biens-vendus-accueil .elementor-widget-shortcode { width: 85%; }
}
@container balocco-sold (max-width: 1350px) {
    #biens-vendus > .container > .page-title-wrap,
    #biens-vendus > .container > .row,
    #biens-vendus-accueil .elementor-widget-shortcode { width: 90%; }
}
/* Immomig adds a second 90% wrapper below 900px (90% × 90%). */
@container balocco-sold (max-width: 900px) {
    #biens-vendus > .container > .page-title-wrap,
    #biens-vendus > .container > .row,
    #biens-vendus-accueil .elementor-widget-shortcode { width: 81%; }
}
