/* Brand CRE Listings – front end. Uses Kadence palette variables when present. */
:root {
	--bcre-accent: var(--global-palette1, #7F0323);
	--bcre-accent-dark: var(--global-palette2, #5E0219);
	--bcre-ink: var(--global-palette3, #1A1A1A);
	--bcre-text: var(--global-palette4, #2B2B2B);
	--bcre-muted: var(--global-palette5, #555555);
	--bcre-line: var(--global-palette7, #E6E6E6);
	--bcre-soft: var(--global-palette8, #F4F4F4);
	--bcre-white: var(--global-palette9, #FFFFFF);
	--bcre-radius: 4px;
}

.bcre-listings, .bcre-single, .bcre-hero, .bcre-qs, .bcre-grid-cards, .bcre-broker, .bcre-form-wrap { box-sizing: border-box; }
.bcre-listings *, .bcre-single *, .bcre-hero *, .bcre-qs *, .bcre-grid-cards *, .bcre-form-wrap * { box-sizing: border-box; }

/* Neutralise theme content margins (Kadence .single-content) inside plugin components */
.single-content .bcre-card :is(h2, h3, p), .bcre-card :is(h2, h3, p),
.single-content .bcre-broker :is(h2, h3, p, ul), .single-content .bcre-qs :is(fieldset, form, p),
.single-content .bcre-filters, .single-content .bcre-form, .single-content .bcre-form p { margin-top: 0; margin-bottom: 0; }
.single-content .bcre-card__price, .bcre-card__price { margin-top: auto; }
.single-content .bcre-grid-cards, .single-content .bcre-listings { margin-bottom: 0; }
.single-content .bcre-filters { margin-bottom: 1rem; }
.single-content .bcre-broker__contact { padding-left: 0; }

/* Buttons */
.bcre-btn, a.bcre-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	min-height: 44px; padding: .65em 1.25em; border: 2px solid var(--bcre-accent); border-radius: var(--bcre-radius);
	background: var(--bcre-accent); color: #fff; font-weight: 600; font-size: 1rem; line-height: 1.2; text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}
.bcre-btn:hover, .bcre-btn:focus-visible { background: var(--bcre-accent-dark); border-color: var(--bcre-accent-dark); color: #fff; }
.bcre-btn--ghost, a.bcre-btn--ghost { background: transparent; color: var(--bcre-accent); }
.bcre-btn--ghost:hover { color: #fff; }
.bcre-btn--block { width: 100%; }
.bcre-listings :focus-visible, .bcre-single :focus-visible, .bcre-hero :focus-visible { outline: 3px solid var(--bcre-accent); outline-offset: 2px; }

/* Pills and badges */
.bcre-pill { display: inline-block; padding: .25em .6em; border-radius: 2px; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.3; }
.bcre-pill--sale { background: var(--bcre-accent); color: #fff; }
.bcre-pill--lease { background: var(--bcre-ink); color: #fff; }
.bcre-pill--type { background: var(--bcre-soft); color: var(--bcre-text); border: 1px solid var(--bcre-line); }
.bcre-pill--status { background: #fff; color: var(--bcre-ink); border: 1px solid var(--bcre-ink); }
.bcre-badge--sample { display: inline-block; margin: 0 0 .5em; padding: .2em .55em; background: #FFF4CC; color: #5A4500; border: 1px solid #E8D27A; border-radius: 2px; font-size: .75rem; font-weight: 600; line-height: 1.35; }

/* Form fields */
.bcre-f { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.bcre-f label, .bcre-form__row label { font-size: .8rem; font-weight: 600; color: var(--bcre-text); }
.bcre-f select, .bcre-f input, .bcre-form input, .bcre-form textarea {
	width: 100%; min-height: 44px; padding: .55em .7em; border: 1px solid #949494; border-radius: var(--bcre-radius);
	background: #fff; color: var(--bcre-ink); font: inherit; font-size: 1rem;
}
.bcre-f select:focus, .bcre-f input:focus, .bcre-form input:focus, .bcre-form textarea:focus { border-color: var(--bcre-accent); outline: 2px solid var(--bcre-accent); outline-offset: 0; }

/* Hero */
.bcre-hero {
	position: relative; display: flex; align-items: center; min-height: min(78vh, 640px); padding: 4rem 1.25rem;
	background: #2B2B2B var(--bcre-hero-img, none) center / cover no-repeat; color: #fff;
}
.bcre-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,20,20,.86) 0%, rgba(20,20,20,.68) 55%, rgba(20,20,20,.45) 100%); }
.bcre-hero__inner { position: relative; width: 100%; max-width: 1200px; margin: 0 auto; }
.bcre-hero__title { max-width: 21ch; margin: 0 0 .6rem; color: #fff; font-size: clamp(1.9rem, 4.2vw, 3.1rem); line-height: 1.12; font-weight: 700; letter-spacing: -.01em; }
.bcre-hero__sub { max-width: 60ch; margin: 0 0 1.75rem; color: #EDEDED; font-size: clamp(1rem, 1.6vw, 1.2rem); }

/* Quick search */
.bcre-qs { max-width: 920px; padding: 1rem; background: #fff; border-radius: var(--bcre-radius); color: var(--bcre-ink); box-shadow: 0 6px 24px rgba(0,0,0,.18); }
.bcre-qs__deal { display: flex; gap: .25rem; margin: 0 0 .85rem; padding: 0; border: 0; }
.bcre-qs__deal label { position: relative; cursor: pointer; }
.bcre-qs__deal input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bcre-qs__deal span { display: inline-block; padding: .5em 1.1em; border-bottom: 3px solid transparent; font-weight: 600; color: var(--bcre-muted); }
.bcre-qs__deal input:checked + span { color: var(--bcre-accent); border-bottom-color: var(--bcre-accent); }
.bcre-qs__deal input:focus-visible + span { outline: 3px solid var(--bcre-accent); outline-offset: 2px; }
.bcre-qs__fields { display: grid; grid-template-columns: 1fr 1fr auto; gap: .75rem; align-items: end; }
@media (max-width: 700px) { .bcre-qs__fields { grid-template-columns: 1fr; } .bcre-qs .bcre-btn { width: 100%; } }

/* Listing filters */
.bcre-filters { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem 1rem; align-items: end; margin: 0 0 1rem; padding: 1rem; background: var(--bcre-soft); border: 1px solid var(--bcre-line); border-radius: var(--bcre-radius); }
.bcre-f--actions { flex-direction: row; align-items: center; gap: .75rem; }
.bcre-reset { font-size: .9rem; color: var(--bcre-accent); }
.bcre-count { margin: 0 0 .75rem; color: var(--bcre-muted); font-weight: 600; }

/* Results layout */
.bcre-results { display: block; }
.bcre-results--map { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.bcre-results__map { position: sticky; top: 1rem; }
.bcre-results--map .bcre-grid-cards { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
@media (max-width: 960px) {
	.bcre-results--map { grid-template-columns: 1fr; }
	.bcre-results__map { position: static; order: -1; }
}

/* Cards */
.bcre-grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; margin: 0; }
.bcre-grid-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { .bcre-grid-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .bcre-grid-cards--3 { grid-template-columns: 1fr; } }
.bcre-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bcre-line); border-radius: var(--bcre-radius); overflow: hidden; transition: box-shadow .15s ease; }
.bcre-card:hover, .bcre-card.is-hover { box-shadow: 0 4px 18px rgba(0,0,0,.10); }
.bcre-card__media { position: relative; display: block; aspect-ratio: 3 / 2; background: var(--bcre-soft); overflow: hidden; }
.bcre-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bcre-card__noimg { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--bcre-muted); }
.bcre-card__deals { position: absolute; left: .6rem; top: .6rem; display: flex; gap: .3rem; flex-wrap: wrap; }
.bcre-card__body { padding: .9rem 1rem 1.1rem; display: flex; flex-direction: column; gap: .25rem; flex: 1; }
.bcre-card__body .bcre-badge--sample { align-self: flex-start; }
.bcre-card__title { margin: 0; font-size: 1.08rem; line-height: 1.3; font-weight: 700; }
.bcre-card__title a { color: var(--bcre-ink); text-decoration: none; }
.bcre-card__title a:hover { color: var(--bcre-accent); text-decoration: underline; }
.bcre-card__title a::after { content: ""; } /* keep link target simple for a11y */
.bcre-card__addr { margin: 0; color: var(--bcre-muted); font-size: .9rem; }
.bcre-card__facts { margin: .15rem 0 0; color: var(--bcre-text); font-size: .9rem; }
.bcre-card__price { margin: auto 0 0; padding-top: .5rem; display: flex; flex-direction: column; font-weight: 700; color: var(--bcre-accent); }
.bcre-empty { padding: 2rem; background: var(--bcre-soft); border-radius: var(--bcre-radius); }
.bcre-pager { display: flex; gap: .4rem; margin: 1.5rem 0; }
.bcre-pager a, .bcre-pager span { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border: 1px solid var(--bcre-line); border-radius: var(--bcre-radius); text-decoration: none; }
.bcre-pager span[aria-current] { background: var(--bcre-accent); color: #fff; border-color: var(--bcre-accent); }

/* Map */
.bcre-map { position: relative; width: 100%; height: 420px; background: #E9E6DF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20h40M20 0v40' stroke='%23d6d1c4' stroke-width='1'/%3E%3C/svg%3E"); border: 1px solid var(--bcre-line); border-radius: var(--bcre-radius); overflow: hidden; z-index: 0; }
.bcre-map--list { height: min(70vh, 620px); }
.bcre-map--single { height: 340px; }
@media (max-width: 960px) { .bcre-map--list { height: 300px; } }
.bcre-map__load { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); min-height: 44px; padding: .6em 1.2em; border: 1px solid var(--bcre-ink); border-radius: var(--bcre-radius); background: #fff; color: var(--bcre-ink); font-weight: 600; cursor: pointer; }
.bcre-map.is-loaded .bcre-map__load { display: none; }
.bcre-map__links { margin: .5rem 0 0; font-size: .9rem; }
.bcre-pin { background: var(--bcre-accent); color: #fff; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.bcre-pin.is-hover { background: var(--bcre-ink); }
.leaflet-popup-content a { color: var(--bcre-accent); font-weight: 700; }

/* Single property */
.bcre-single { padding: 1.5rem 0 3rem; }
.bcre-crumbs { margin: 0 0 1rem; font-size: .88rem; color: var(--bcre-muted); }
.bcre-crumbs a { color: var(--bcre-muted); }
.bcre-crumbs span { margin: 0 .35rem; }
.bcre-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; margin: 0 0 1.25rem; }
.bcre-head__badges { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin: 0 0 .6rem; }
.bcre-head__badges .bcre-badge--sample { margin: 0; }
.bcre-head__title { margin: 0; font-size: clamp(1.6rem, 3.2vw, 2.4rem); line-height: 1.15; color: var(--bcre-ink); }
.bcre-head__addr { margin: .35rem 0 0; color: var(--bcre-muted); font-size: 1.05rem; }
.bcre-head__price { text-align: right; }
.bcre-head__price p { margin: 0 0 .25rem; font-size: 1.3rem; color: var(--bcre-ink); }
.bcre-head__plabel { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--bcre-muted); }
.bcre-head__ctas { display: flex; gap: .5rem; justify-content: flex-end; margin-top: .75rem !important; }
@media (max-width: 700px) { .bcre-head__price { text-align: left; } .bcre-head__ctas { justify-content: flex-start; } }

.bcre-gallery { margin: 0 0 2rem; }
.bcre-gallery__main { margin: 0; position: relative; background: var(--bcre-soft); }
.bcre-gallery__img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; aspect-ratio: 16 / 9; border-radius: var(--bcre-radius); }
.bcre-gallery__cap { margin: .35rem 0 0; font-size: .75rem; color: var(--bcre-muted); }
.bcre-gallery__cap:empty { display: none; }
.bcre-gallery__thumbs { display: flex; gap: .5rem; margin: .6rem 0 0; padding: 0; list-style: none; overflow-x: auto; }
.bcre-thumb { padding: 0; border: 2px solid transparent; border-radius: var(--bcre-radius); background: none; cursor: pointer; line-height: 0; }
.bcre-thumb img { width: 96px; height: 64px; object-fit: cover; border-radius: 2px; }
.bcre-thumb.is-active { border-color: var(--bcre-accent); }

.bcre-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 2.5rem; align-items: start; }
@media (max-width: 960px) { .bcre-layout { grid-template-columns: 1fr; } }
.bcre-layout__side { position: sticky; top: 1rem; }
@media (max-width: 960px) { .bcre-layout__side { position: static; } }
.bcre-section { margin: 0 0 2.25rem; }
.bcre-section > h2 { margin: 0 0 .9rem; padding-bottom: .4rem; border-bottom: 2px solid var(--bcre-line); font-size: 1.3rem; color: var(--bcre-ink); }
.bcre-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; margin: 0; }
@media (max-width: 560px) { .bcre-facts { grid-template-columns: 1fr; } }
.bcre-facts > div { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid var(--bcre-line); }
.bcre-facts dt { color: var(--bcre-muted); font-weight: 500; }
.bcre-facts dd { margin: 0; color: var(--bcre-ink); font-weight: 600; text-align: right; }
.bcre-highlights { margin: 0; padding-left: 1.2rem; }
.bcre-highlights li { margin: 0 0 .35rem; }
.bcre-highlights li::marker { color: var(--bcre-accent); }

.bcre-table-wrap { overflow-x: auto; }
.bcre-suites { width: 100%; border-collapse: collapse; font-size: .95rem; }
.bcre-suites th, .bcre-suites td { padding: .65rem .75rem; border-bottom: 1px solid var(--bcre-line); text-align: left; vertical-align: top; }
.bcre-suites td:nth-child(2), .bcre-suites td:nth-child(3), .bcre-suites thead th { white-space: nowrap; }
.bcre-suites thead th { background: var(--bcre-ink); color: #fff; font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.bcre-suites tbody tr:nth-child(even) { background: var(--bcre-soft); }
@media (max-width: 620px) {
	.bcre-suites thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.bcre-suites tr { display: block; padding: .5rem 0; border-bottom: 2px solid var(--bcre-line); }
	.bcre-suites th, .bcre-suites td { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem .25rem; border: 0; }
	.bcre-suites th::before, .bcre-suites td::before { content: attr(data-label); font-weight: 600; color: var(--bcre-muted); }
	.bcre-suites tbody tr:nth-child(even) { background: none; }
}

.bcre-side-card { padding: 1.25rem; background: #fff; border: 1px solid var(--bcre-line); border-top: 4px solid var(--bcre-accent); border-radius: var(--bcre-radius); }
.bcre-side-card__eyebrow { margin: 0 0 .75rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--bcre-muted); }
.bcre-side-card .bcre-broker { margin-bottom: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--bcre-line); }

/* Broker card */
.bcre-broker { display: flex; gap: 1rem; align-items: flex-start; }
.bcre-broker__photo { flex: 0 0 auto; width: 84px; height: 84px; border-radius: 50%; object-fit: cover; background: var(--bcre-soft); }
.bcre-broker__photo--ph { display: inline-flex; align-items: center; justify-content: center; background: var(--bcre-accent); color: #fff; font-weight: 700; font-size: 1.6rem; }
.bcre-broker__name { margin: 0; font-size: 1.1rem; line-height: 1.25; color: var(--bcre-ink); }
.bcre-broker__title { margin: .1rem 0 .4rem; color: var(--bcre-muted); font-size: .9rem; }
.bcre-broker__contact { margin: 0; padding: 0; list-style: none; font-size: .95rem; }
.bcre-broker__contact li { margin: 0 0 .15rem; }
.bcre-broker__contact a { color: var(--bcre-accent); font-weight: 600; text-decoration: none; }
.bcre-broker__contact a:hover { text-decoration: underline; }
.bcre-broker__lic { color: var(--bcre-muted); font-size: .85rem; }
.bcre-broker__bio { margin: .6rem 0 0; font-size: .95rem; }

/* Forms */
.bcre-form { display: grid; gap: .7rem; }
.bcre-form__title { margin: 0; font-size: 1.1rem; color: var(--bcre-ink); }
.bcre-form__row { display: flex; flex-direction: column; gap: .25rem; }
.bcre-form__fine { margin: 0; font-size: .78rem; color: var(--bcre-muted); }
.bcre-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bcre-alert { padding: .9rem 1rem; border-radius: var(--bcre-radius); margin: 0 0 1rem; }
.bcre-alert p { margin: 0 0 .4rem; } .bcre-alert p:last-child { margin: 0; }
.bcre-alert--ok { background: #EAF5EC; border: 1px solid #9CCBA5; color: #1E4D27; }
.bcre-alert--err { background: #FBECEC; border: 1px solid #E2A3A3; color: #6B1414; }
.bcre-brochure .bcre-form-wrap { max-width: 520px; }

.bcre-backlink { margin: 1rem 0 .5rem; }
.bcre-backlink a { color: var(--bcre-accent); font-weight: 600; }
.bcre-disclaimer { font-size: .8rem; color: var(--bcre-muted); max-width: 80ch; }

/* Archive */
.content-area.bcre-archive, .content-area.bcre-single { margin-top: 0; margin-bottom: 0; }
.bcre-archive { padding: 2.25rem 0 3rem; }
.bcre-archive__head h1 { margin: 0 0 .4rem; font-size: clamp(1.6rem, 3vw, 2.3rem); color: var(--bcre-ink); }
.bcre-archive__head p { margin: 0 0 1.25rem; color: var(--bcre-muted); max-width: 70ch; }
.bcre-idx { margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--bcre-line); }

.screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) { .bcre-card, .bcre-btn { transition: none; } }
@media print { .bcre-layout__side form, .bcre-map, .bcre-filters { display: none !important; } }

/* ---------- GIS layers ([bcre_gis] + property maps) ---------- */
.bcre-map--gis { height: calc(100vh - 160px); min-height: 480px; }
.bcre-gis__note { margin: .5rem 0 0; font-size: .85rem; color: #555; }
.bcre-map.is-fs { position: fixed !important; inset: 0; width: 100vw; height: 100vh !important; z-index: 100000; border-radius: 0; border: 0; }
html.bcre-fs-open, html.bcre-fs-open body { overflow: hidden; }
.bcre-map--identify .leaflet-container, .bcre-map--identify.leaflet-container { cursor: crosshair; }
.bcre-fs { display: block; width: 30px; height: 30px; line-height: 30px; text-align: center; background: #fff; color: #222 !important; font-size: 18px; text-decoration: none; }
.bcre-gis-disc { max-width: 340px; padding: 3px 7px; background: rgba(255,255,255,.85); border-radius: 3px; font-size: 11px; line-height: 1.3; color: #333; }
.bcre-lc-z { color: #777; font-size: 10px; }
.leaflet-control-layers-expanded { max-height: 60vh; overflow: auto; font-size: 12.5px; }
.bcre-legend { background: #fff; padding: 0; max-width: 270px; font-size: 12px; line-height: 1.35; }
.bcre-legend__toggle, .bcre-legend__toggle:hover, .bcre-legend__toggle:focus { display: block; width: 100%; padding: 5px 8px; border: 0; border-radius: 0; background: #f4f2ed; color: #222; font-weight: 600; text-align: left; cursor: pointer; font-size: 12px; }
.bcre-legend__body { max-height: 42vh; overflow: auto; padding: 4px 8px 6px; }
.bcre-legend.is-collapsed .bcre-legend__body { display: none; }
.bcre-legend__item { margin: 4px 0 6px; }
.bcre-legend__item ul { list-style: none; margin: 2px 0 0; padding: 0; }
.bcre-legend__item li { display: flex; align-items: center; gap: 6px; margin: 1px 0; }
.bcre-legend__item img { flex: none; }
.bcre-legend__hint { color: #8a5a00; font-size: 11px; }
.bcre-sw { flex: none; display: inline-block; width: 16px; height: 12px; background: var(--c); opacity: .75; border: 1px solid rgba(0,0,0,.25); }
.bcre-sw--line { height: 0; border: 0; border-top: 2px solid var(--c); background: none; opacity: 1; }
.bcre-sw--dash { height: 0; border: 0; border-top: 2px dashed var(--c); background: none; opacity: 1; }
.bcre-sw--circle { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.3); opacity: 1; }
.bcre-aadt-lbl { padding: 1px 4px; font-size: 11px; font-weight: 700; background: rgba(255,255,255,.9); border: 1px solid #999; box-shadow: none; }
.bcre-id { font-size: 12.5px; line-height: 1.4; }
.bcre-id__ll { color: #777; font-size: 11px; margin-bottom: 4px; }
.bcre-id dl { margin: 0; }
.bcre-id dt { margin-top: 5px; font-weight: 700; color: #333; font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.bcre-id dd { margin: 0; }
.bcre-id__na { color: #a33; }
.bcre-id__disc { margin: 8px 0 0; color: #777; font-size: 10.5px; }
@media (max-width: 600px) { .bcre-gis-disc { max-width: 180px; font-size: 10px; } .bcre-legend { max-width: 200px; } }
.bcre-brand span { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--c); color: #fff; font: 700 11px/1 system-ui, sans-serif; border: 2px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.45); box-sizing: border-box; }
.bcre-brand-lbl { padding: 1px 4px; font-size: 11px; font-weight: 600; }
.bcre-bdot { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-right: 5px; border-radius: 50%; background: var(--c); color: #fff; font: 700 9px/1 system-ui, sans-serif; vertical-align: -3px; }
.bcre-bcat { display: flex; align-items: center; gap: 4px; cursor: pointer; }
.bcre-bcat input { margin: 0; }
.bcre-id__demo { border-collapse: collapse; margin: 2px 0; font-size: 11.5px; }
.bcre-id__demo th, .bcre-id__demo td { padding: 1px 6px 1px 0; text-align: right; font-weight: 400; }
.bcre-id__demo th:first-child { text-align: left; }
.bcre-id__demo tr:first-child th { font-weight: 700; }
.bcre-demo__src { font-size: .85rem; color: #666; margin-top: .4rem; }
.bcre-brands__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.bcre-brands__cols h3 { font-size: 1rem; margin: 0 0 .4rem; }
.bcre-brands__cols h3 span { color: #777; font-weight: 400; }
.bcre-brands__cols ul { list-style: none; margin: 0; padding: 0; font-size: .92rem; }
.bcre-brands__cols li { margin: .15rem 0; }
.bcre-brands__cols small { color: #777; }
@media (max-width: 700px) { .bcre-brands__cols { grid-template-columns: 1fr; } }

.bcre-demo .bcre-table th[scope="row"] { text-align: left; }
.bcre-demo .bcre-table td, .bcre-demo .bcre-table thead th { text-align: right; }

/* Brand logos */
.bcre-brand--logo span { width: 46px; height: 26px; border-radius: 6px; background: #fff; border: 2px solid var(--c); padding: 2px 3px; overflow: hidden; }
.leaflet-container .leaflet-marker-pane .bcre-brand--logo img { width: 100% !important; height: 100% !important; min-width: 0; object-fit: contain; display: block; }
.bcre-brand--logo:hover { z-index: 10000 !important; }
.bcre-blogo { height: 26px; width: auto; max-width: 92px; object-fit: contain; vertical-align: middle; }
.bcre-blogo--pop { height: 34px; max-width: 120px; margin-bottom: 2px; }
.bcre-bname { font-weight: 600; }
.bcre-brands__cols ul { display: flex; flex-wrap: wrap; gap: .5rem .9rem; align-items: center; }
.bcre-brands__cols li { display: inline-flex; align-items: center; gap: .3rem; margin: 0; }
.bcre-id__logos { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.bcre-id__logos .bcre-blogo { height: 20px; max-width: 64px; }

/* Brand tiles (co-tenancy map) */
.bcre-tiles-light { filter: grayscale(1) brightness(1.06) contrast(.88); }
.bcre-bt { display: flex; flex-direction: column; align-items: center; }
.bcre-bt__tile { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; box-sizing: border-box; padding: 5px; background: #fff; border-radius: 9px; box-shadow: 0 1px 4px rgba(0,0,0,.35), 0 0 0 1px rgba(0,0,0,.08); }
.leaflet-container .leaflet-marker-pane .bcre-bt__tile img { width: 100% !important; height: 100% !important; object-fit: contain; display: block; }
.bcre-bt__tile b { font: 800 18px/1 system-ui, sans-serif; }
.bcre-bt__name { margin-top: 2px; max-width: 76px; padding: 0 3px; font: 600 10px/1.2 system-ui, sans-serif; color: #222; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 3px #fff; }
.bcre-bt:hover .bcre-bt__tile { box-shadow: 0 2px 8px rgba(0,0,0,.5), 0 0 0 2px var(--c); }
/* Property-page brand list as tiles */
.bcre-brands__cols ul { gap: .6rem; }
.bcre-brands__cols li { flex-direction: column; width: 64px; gap: 2px; text-align: center; font-size: .7rem; line-height: 1.15; }
.bcre-brands__cols li .bcre-blogo { width: 46px; height: 46px; max-width: none; padding: 5px; box-sizing: border-box; background: #fff; border-radius: 9px; box-shadow: 0 1px 4px rgba(0,0,0,.25); }
.bcre-brands__cols li .bcre-bname { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 9px; background: #f2f0eb; font-size: .6rem; overflow: hidden; }

/* ================= UI pass: map chrome ================= */
.bcre-map { --bcre-ui: #0b3d5c; font-family: inherit; }
.bcre-map .leaflet-control-zoom { border: 0; box-shadow: 0 1px 4px rgba(0,0,0,.25); border-radius: 10px; overflow: hidden; }
.bcre-map .leaflet-control-zoom a { width: 36px; height: 36px; line-height: 36px; color: #222; }
.bcre-ui { position: absolute; z-index: 1000; display: flex; gap: 8px; }
.bcre-ui--tl { top: 12px; left: 12px; flex-direction: column; align-items: flex-start; width: min(340px, calc(100% - 76px)); }
.bcre-ui--tr { top: 12px; right: 12px; flex-direction: column; }
.bcre-ui > button svg, .bcre-ui .bcre-tool svg, .bcre-search svg, .bcre-pill svg, .bcre-x svg { width: 20px; height: 20px; fill: currentColor; flex: none; }
.bcre-search { display: flex; width: 100%; background: #fff; border-radius: 10px; box-shadow: 0 1px 4px rgba(0,0,0,.25); overflow: hidden; }
.bcre-search input { flex: 1; min-width: 0; border: 0 !important; padding: 10px 12px !important; font-size: 15px; background: transparent; box-shadow: none !important; outline: none; }
.bcre-search button { border: 0; background: transparent; color: #444; padding: 0 12px; cursor: pointer; }
.bcre-search.is-busy { opacity: .6; }
.bcre-search.is-miss { box-shadow: 0 0 0 2px #d92d20; }
.bcre-pill, .bcre-pill:hover, .bcre-pill:focus { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 0; border-radius: 999px; background: #fff; color: #1d2939; font: 600 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; box-shadow: 0 1px 4px rgba(0,0,0,.25); cursor: pointer; }
.bcre-pill[aria-expanded="true"] { background: var(--bcre-ui); color: #fff; }
.bcre-pill__n { font-style: normal; min-width: 18px; padding: 0 5px; border-radius: 9px; background: #e8eef3; color: var(--bcre-ui); font-size: 12px; text-align: center; }
.bcre-pill__n:empty { display: none; }
.bcre-panel { width: 100%; max-height: calc(100% - 20px); background: #fff; border-radius: 12px; box-shadow: 0 6px 24px rgba(0,0,0,.22); overflow: hidden; display: flex; flex-direction: column; }
.bcre-map--gis .bcre-panel { max-height: calc(100vh - 300px); }
.bcre-panel__head, .bcre-rep__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding: 12px 14px; border-bottom: 1px solid #eaecf0; }
.bcre-panel__body { overflow: auto; padding: 4px 14px 12px; }
.bcre-x, .bcre-x:hover, .bcre-x:focus { border: 0; background: transparent; color: #667085; padding: 2px; cursor: pointer; line-height: 0; }
.bcre-grp { padding: 10px 0 4px; border-bottom: 1px solid #f2f4f7; }
.bcre-grp:last-of-type { border-bottom: 0; }
.bcre-grp__t { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #98a2b3; margin-bottom: 4px; }
.bcre-lyr__row { display: flex; align-items: center; gap: 10px; padding: 6px 0; cursor: pointer; font-size: 14px; color: #1d2939; }
.bcre-lyr__name { flex: 1; }
.bcre-lyr__z { font-size: 11px; font-weight: 600; color: #b54708; background: #fffaeb; border: 1px solid #fedf89; border-radius: 999px; padding: 1px 8px; }
.bcre-sw-tog { position: relative; flex: none; width: 34px; height: 20px; }
.bcre-sw-tog input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.bcre-sw-tog i { position: absolute; inset: 0; border-radius: 999px; background: #d0d5dd; transition: background .15s; }
.bcre-sw-tog i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: transform .15s; }
.bcre-sw-tog input:checked + i { background: var(--bcre-ui); }
.bcre-sw-tog input:checked + i::after { transform: translateX(14px); }
.bcre-sw-tog input:focus-visible + i { outline: 2px solid var(--bcre-ui); outline-offset: 2px; }
.bcre-lyr__more { margin: 0 0 8px 44px; font-size: 12px; color: #475467; }
.bcre-lyr__note { margin: 0 0 4px; color: #667085; }
.bcre-lyr__leg { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 3px 10px; }
.bcre-lyr__leg li { display: flex; align-items: center; gap: 5px; }
.bcre-cat, .bcre-cat:hover, .bcre-cat:focus { border: 1px solid #d0d5dd; background: #fff; color: #667085; border-radius: 999px; padding: 2px 9px 2px 6px; font: 500 12px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.bcre-cat::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #d0d5dd; }
.bcre-cat.is-on { border-color: var(--c); color: #1d2939; }
.bcre-cat.is-on::before { background: var(--c); }
.bcre-op { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.bcre-op input { flex: 1; accent-color: var(--bcre-ui); }
.bcre-bases { display: grid; grid-template-columns: repeat(auto-fill, minmax(68px, 1fr)); gap: 8px; padding: 2px 0 6px; }
.bcre-base, .bcre-base:hover, .bcre-base:focus { padding: 0; border: 2px solid transparent; border-radius: 10px; background: none; cursor: pointer; text-align: center; font: 500 11px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #475467; }
.bcre-base img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.bcre-base span { display: block; padding: 3px 0 1px; }
.bcre-base.is-on { border-color: var(--bcre-ui); color: var(--bcre-ui); font-weight: 700; }
.bcre-panel__disc { margin: 6px 0 0; font-size: 11px; color: #98a2b3; }
.bcre-tool, .bcre-tool:hover, .bcre-tool:focus { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 10px; background: #fff; color: #344054; box-shadow: 0 1px 4px rgba(0,0,0,.25); cursor: pointer; padding: 0; }
.bcre-tool.is-on { background: var(--bcre-ui); color: #fff; }
.bcre-map.is-measuring, .bcre-map.is-measuring .leaflet-interactive { cursor: crosshair !important; }
.bcre-mtip { background: #fff; padding: 4px 8px; border-radius: 6px; font: 700 13px/1.3 system-ui, sans-serif; color: #d92d20; box-shadow: 0 1px 4px rgba(0,0,0,.3); white-space: nowrap; transform: translate(10px, -30px); }
.bcre-mtip small { display: block; font-weight: 400; color: #667085; font-size: 10px; }
/* Site report */
.bcre-rep { position: absolute; z-index: 1001; top: 12px; right: 64px; bottom: 12px; width: 360px; max-width: calc(100% - 140px); background: #fff; border-radius: 12px; box-shadow: 0 6px 24px rgba(0,0,0,.22); display: flex; flex-direction: column; overflow: hidden; }
.bcre-rep[hidden] { display: none; }
.bcre-rep__kicker { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--bcre-ui); }
.bcre-rep__head h3 { margin: 2px 0 0; font-size: 16px; line-height: 1.25; }
.bcre-rep__head small { color: #98a2b3; font-size: 11px; }
.bcre-rep__body { overflow: auto; padding: 0 14px 12px; font-size: 13px; line-height: 1.45; color: #344054; }
.bcre-rep__sec { padding: 10px 0; border-bottom: 1px solid #f2f4f7; }
.bcre-rep__sec h4 { margin: 0 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #667085; }
.bcre-rep__sec h4 small { text-transform: none; letter-spacing: 0; font-weight: 500; color: #98a2b3; }
.bcre-rep__owner { font-weight: 700; font-size: 14px; color: #101828; }
.bcre-kv { display: grid; grid-template-columns: auto 1fr; gap: 1px 12px; margin: 4px 0; }
.bcre-kv dt { color: #667085; } .bcre-kv dd { margin: 0; text-align: right; font-weight: 600; color: #1d2939; }
.bcre-rep__legal { display: block; color: #98a2b3; margin: 2px 0 6px; }
.bcre-rep__btn { display: inline-block; margin-top: 4px; padding: 5px 10px; border: 1px solid #d0d5dd; border-radius: 8px; font-weight: 600; font-size: 12px; text-decoration: none; }
.bcre-chip { display: inline-block; padding: 1px 8px; border-radius: 999px; background: #f2f4f7; color: #344054; font-weight: 700; font-size: 12px; }
.bcre-chip--ok { background: #ecfdf3; color: #067647; } .bcre-chip--warn { background: #fef3f2; color: #b42318; } .bcre-chip--zone { background: #eef4ff; color: #3538cd; }
.bcre-rep__demo { width: 100%; border-collapse: collapse; margin: 2px 0 4px; font-size: 12.5px; }
.bcre-rep__demo th, .bcre-rep__demo td { padding: 3px 0; text-align: right; font-weight: 600; border-bottom: 1px solid #f2f4f7; }
.bcre-rep__demo th:first-child { text-align: left; font-weight: 400; color: #667085; }
.bcre-rep__demo tr:first-child th { color: #98a2b3; font-weight: 600; font-size: 11px; }
.bcre-rep__brands { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 4px; }
.bcre-rep__b { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 10px; color: #667085; }
.bcre-rep__b img, .bcre-rep__b b { width: 48px; height: 48px; box-sizing: border-box; padding: 6px; border-radius: 10px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); object-fit: contain; }
.bcre-rep__b b { display: flex; align-items: center; justify-content: center; font-size: 8.5px; line-height: 1.1; text-align: center; overflow: hidden; color: #344054; }
.bcre-rep__disc { margin: 10px 0 0; font-size: 11px; color: #98a2b3; }
.bcre-skel { display: block; height: 12px; width: 70%; border-radius: 6px; background: linear-gradient(90deg, #f2f4f7 25%, #e4e7ec 50%, #f2f4f7 75%); background-size: 200% 100%; animation: bcre-sk 1.1s infinite linear; }
@keyframes bcre-sk { to { background-position: -200% 0; } }
.bcre-drop span { display: block; width: 26px; height: 26px; border-radius: 50% 50% 50% 0; background: #d92d20; transform: rotate(-45deg); box-shadow: 0 2px 4px rgba(0,0,0,.35); position: relative; }
.bcre-drop span::after { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: #fff; }
.bcre-ringlbl { font: 700 11px/16px system-ui, sans-serif; color: #0b3d5c; text-align: center; background: rgba(255,255,255,.85); border-radius: 8px; }
/* Listing price pins (Crexi/LoopNet style) */
.bcre-ppin { width: auto !important; height: auto !important; }
.bcre-ppin span { position: absolute; left: 0; bottom: 8px; transform: translateX(-50%); white-space: nowrap; padding: 4px 9px; border-radius: 8px; background: #0b3d5c; color: #fff; font: 700 12px/1.2 system-ui, sans-serif; box-shadow: 0 1px 4px rgba(0,0,0,.35); }
.bcre-ppin span::after { content: ""; position: absolute; left: 50%; bottom: -6px; margin-left: -6px; border: 6px solid transparent; border-bottom: 0; border-top-color: #0b3d5c; }
.bcre-ppin.is-hover span, .bcre-ppin:hover span { background: #d92d20; z-index: 2; }
.bcre-ppin.is-hover span::after, .bcre-ppin:hover span::after { border-top-color: #d92d20; }
/* hide old chrome */
.bcre-legend, .bcre-gis-disc, .bcre-fs { display: none !important; }
@media (max-width: 700px) {
  .bcre-ui--tl { width: calc(100% - 72px); }
  .bcre-panel { max-height: 55vh; }
  .bcre-rep { top: auto; left: 0; right: 0; bottom: 0; width: auto; max-width: none; max-height: 58%; border-radius: 14px 14px 0 0; }
  .bcre-rep__brands { grid-template-columns: repeat(5, 1fr); }
}

.bcre-panel { max-height: min(70vh, 560px); }
.bcre-map--single .bcre-panel { max-height: 270px; }
.bcre-map--list .bcre-panel { max-height: calc(min(70vh, 620px) - 80px); }
.bcre-map--single .bcre-rep, .bcre-map--sc .bcre-rep { right: 60px; width: 320px; }

/* Reset theme button/input styling inside the map UI */
.bcre-map .bcre-ui button, .bcre-map .bcre-rep button, .bcre-map .bcre-panel button { text-transform: none; letter-spacing: normal; min-height: 0; font-family: inherit; }
.bcre-pill span { text-transform: none; letter-spacing: normal; }
.bcre-op input[type=range] { -webkit-appearance: auto; appearance: auto; border: 0 !important; padding: 0 !important; height: 18px; min-height: 0; background: none !important; box-shadow: none !important; }
.bcre-sw-tog input[type=checkbox] { width: 100%; height: 100%; }

.bcre-panel ul, .bcre-rep ul { margin: 0 !important; padding: 0 !important; }
.bcre-panel li, .bcre-rep li { margin: 0 !important; }
.bcre-panel, .bcre-rep, .bcre-ui { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.bcre-panel__head strong { font-size: 15px; }
.bcre-rep__warn { margin: 0 0 4px; padding: 4px 8px; border-radius: 6px; background: #fffaeb; color: #b54708; font-size: 12px; }

/* ================= Phone full-screen + installed app ================= */
.bcre-tool--home { padding: 0 !important; overflow: hidden; }
.bcre-tool--home img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bcre-tool--install { display: none !important; }
.bcre-can-install .bcre-tool--install { display: flex !important; }
.bcre-steps { margin: 6px 0 8px 18px !important; padding: 0 !important; } .bcre-steps li { margin: 4px 0 !important; }
body.bcre-app { margin: 0; padding: 0; overflow: hidden; background: #fff; }
body.bcre-app .bcre-gis { margin: 0; }
body.bcre-app .bcre-gis__note { display: none; }
body.bcre-app .bcre-map--gis, .bcre-map--gis.is-fs { position: fixed !important; inset: 0; width: 100vw; height: 100vh !important; height: 100dvh !important; min-height: 0; margin: 0; border: 0; border-radius: 0; z-index: 100000; }
body.bcre-app .bcre-tool--fs { display: none !important; }
@media (max-width: 900px) {
  body.bcre-mappage { overflow: hidden; }
  body.bcre-mappage .bcre-gis__note { display: none; }
  body.bcre-mappage .bcre-map--gis { position: fixed !important; inset: 0; width: 100vw; height: 100vh !important; height: 100dvh !important; min-height: 0; margin: 0; border: 0; border-radius: 0; z-index: 100000; }
  body.bcre-mappage .bcre-tool--fs { display: none !important; }
  /* ios Safari add-to-home: offer the button even without beforeinstallprompt */
  body.bcre-mappage .bcre-tool--install { display: flex !important; }
}
/* Safe areas (notch, home indicator) */
.bcre-ui--tl { top: calc(12px + env(safe-area-inset-top, 0px)); left: calc(12px + env(safe-area-inset-left, 0px)); }
.bcre-ui--tr { top: calc(12px + env(safe-area-inset-top, 0px)); right: calc(12px + env(safe-area-inset-right, 0px)); }
.bcre-map .leaflet-bottom { bottom: env(safe-area-inset-bottom, 0px); }
@media (max-width: 700px) {
  .bcre-ui--tl { left: 8px; top: calc(8px + env(safe-area-inset-top, 0px)); width: calc(100% - 66px); gap: 6px; }
  .bcre-ui--tr { right: 8px; top: calc(8px + env(safe-area-inset-top, 0px)); gap: 6px; }
  .bcre-search input { padding: 9px 10px !important; font-size: 16px; }
  .bcre-pill { padding: 7px 12px; font-size: 13px; }
  .bcre-tool { width: 42px; height: 42px; }
  .bcre-panel { position: fixed; left: 0; right: 0; bottom: 0; width: auto; max-height: 70vh !important; max-height: 70dvh !important; border-radius: 16px 16px 0 0; z-index: 1002; padding-bottom: env(safe-area-inset-bottom, 0px); }
  .bcre-rep { max-height: 62% !important; padding-bottom: env(safe-area-inset-bottom, 0px); }
  .bcre-map .leaflet-control-zoom { display: none; }
  .bcre-map .leaflet-control-attribution { font-size: 9px; max-width: 70vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .bcre-panel__head { position: relative; padding-top: 18px; }
  .bcre-panel__head::before, .bcre-rep__head::before { content: ""; position: absolute; top: 6px; left: 50%; width: 36px; height: 4px; margin-left: -18px; border-radius: 2px; background: #d0d5dd; }
  .bcre-rep__head { position: relative; padding-top: 18px; }
}

/* ================= v3 map chrome (top bar, right rail, sheets, legend card) ================= */
.bcre-gisui .bcre-ui, .bcre-gisui .bcre-panel, .bcre-gisui > .bcre-rep { display: none !important; }
.bcre-gisui { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.bcre-gisui button { text-transform: none; letter-spacing: normal; min-height: 0; font-family: inherit; }
.bcre-top { position: absolute; z-index: 1001; top: calc(10px + env(safe-area-inset-top, 0px)); left: calc(10px + env(safe-area-inset-left, 0px)); right: calc(66px + env(safe-area-inset-right, 0px)); max-width: 520px; display: flex; align-items: center; gap: 6px; height: 48px; padding: 0 6px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.bcre-top__home { flex: none; width: 34px; height: 34px; border-radius: 8px; overflow: hidden; }
.bcre-top__home img { width: 100%; height: 100%; display: block; object-fit: cover; }
.bcre-top__title { flex: 1; font-weight: 600; padding-left: 6px; }
.bcre-top .bcre-search { flex: 1; min-width: 0; box-shadow: none; background: transparent; border-radius: 0; }
.bcre-top .bcre-search input { font-size: 16px; padding: 8px 6px !important; }
.bcre-top__btn, .bcre-top__btn:hover, .bcre-top__btn:focus { flex: none; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: transparent; color: #1d2939; padding: 0; cursor: pointer; }
.bcre-top__btn.is-on { background: #eef4ff; color: #0b3d5c; }
.bcre-rail svg, .bcre-top svg, .bcre-sheet .bcre-x svg { width: 22px; height: 22px; fill: currentColor; flex: none; }
.bcre-pop { position: absolute; z-index: 1003; background: #fff; border-radius: 12px; box-shadow: 0 8px 28px rgba(0,0,0,.22); padding: 10px 12px 12px; }
.bcre-pop[hidden] { display: none; }
.bcre-pop__t { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #98a2b3; margin-bottom: 8px; }
.bcre-pop--filter { top: 54px; right: 0; width: 260px; }
.bcre-seg { display: flex; background: #f2f4f7; border-radius: 10px; padding: 3px; }
.bcre-seg button, .bcre-seg button:hover, .bcre-seg button:focus { flex: 1; border: 0; background: transparent; color: #475467; padding: 7px 4px; border-radius: 8px; font: 600 13px/1.2 system-ui, sans-serif; cursor: pointer; }
.bcre-seg button.is-on { background: #fff; color: #0b3d5c; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
.bcre-rail { position: absolute; z-index: 1001; top: calc(10px + env(safe-area-inset-top, 0px)); right: calc(10px + env(safe-area-inset-right, 0px)); display: flex; flex-direction: column; gap: 10px; }
.bcre-rail__grp { display: flex; flex-direction: column; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.18); overflow: hidden; }
.bcre-rail .bcre-tool, .bcre-rail .bcre-tool:hover, .bcre-rail .bcre-tool:focus { width: 48px; height: 48px; border-radius: 0; box-shadow: none; background: #fff; color: #475467; border: 0; border-bottom: 1px solid #f2f4f7; display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
.bcre-rail .bcre-tool:last-child { border-bottom: 0; }
.bcre-rail .bcre-tool.is-on { color: #fff; background: #0b3d5c; }
.bcre-rail .bcre-tool[data-tool="layers"] { color: #1570ef; }
.bcre-rail .bcre-tool[data-tool="layers"].is-on { color: #fff; }
.bcre-pop--base { top: 0; right: 58px; width: 250px; }
.bcre-pop--base .bcre-bases { grid-template-columns: repeat(3, 1fr); }
/* toast while drawing */
.bcre-toast { position: absolute; z-index: 1004; left: 50%; transform: translateX(-50%); top: calc(68px + env(safe-area-inset-top, 0px)); display: flex; align-items: center; gap: 8px; padding: 8px 8px 8px 14px; background: #0b3d5c; color: #fff; border-radius: 999px; box-shadow: 0 4px 14px rgba(0,0,0,.3); font-size: 13px; white-space: nowrap; }
.bcre-toast[hidden] { display: none; }
.bcre-toast button, .bcre-toast button:hover, .bcre-toast button:focus { border: 0; border-radius: 999px; padding: 6px 12px; background: #fff; color: #0b3d5c; font: 700 13px/1 system-ui, sans-serif; cursor: pointer; }
.bcre-toast button[data-d="cancel"] { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); }
.bcre-toast button:disabled { opacity: .45; }
.bcre-gisui.is-drawing, .bcre-gisui.is-drawing .leaflet-interactive { cursor: crosshair !important; }
/* sheets */
.bcre-sheet { position: absolute; z-index: 1002; background: #fff; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 -4px 24px rgba(0,0,0,.18); }
.bcre-sheet[hidden] { display: none; }
.bcre-sheet:not(.is-drag) { transition: height .22s ease; }
.bcre-sheet__grab { flex: none; height: 22px; display: flex; align-items: center; justify-content: center; cursor: grab; touch-action: none; }
.bcre-sheet__grab span { width: 40px; height: 5px; border-radius: 3px; background: #d0d5dd; }
.bcre-sheet__head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 14px 10px; touch-action: none; border-bottom: 1px solid #eaecf0; min-height: 34px; }
.bcre-sheet__head strong { font-size: 16px; color: #101828; }
.bcre-sheet__head h3 { margin: 2px 0 0; font-size: 16px; line-height: 1.25; }
.bcre-sheet__head small { color: #98a2b3; font-size: 11px; }
.bcre-sheet__body { flex: 1; overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 0 14px calc(12px + env(safe-area-inset-bottom, 0px)); }
.bcre-sheet--rep .bcre-rep__body { padding: 0; }
.bcre-sheet--layers .bcre-sheet__body { padding-top: 2px; }
.bcre-sheet--list { z-index: 1000; }
.bcre-sheet--list .bcre-sheet__head { border-bottom: 0; justify-content: center; flex-wrap: wrap; }
.bcre-sheet--list[data-state="peek"] .bcre-sheet__body { visibility: hidden; }
.bcre-list__count { font-size: 15px; color: #344054; text-align: center; }
.bcre-list__count strong { font-size: 16px; color: #101828; }
.bcre-list__count small { color: #98a2b3; }
.bcre-list__empty { color: #667085; text-align: center; padding: 16px 0; }
.bcre-chipbtn, .bcre-chipbtn:hover, .bcre-chipbtn:focus { border: 1px solid #d0d5dd; background: #fff; color: #b42318; border-radius: 999px; padding: 4px 12px; font: 600 12px/1.3 system-ui, sans-serif; cursor: pointer; }
.bcre-lcard2 { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #f2f4f7; text-decoration: none; color: inherit; }
.bcre-lcard2 img, .bcre-lcard2__ph { flex: none; width: 84px; height: 64px; border-radius: 8px; object-fit: cover; background: #f2f4f7; }
.bcre-lcard2__t { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.bcre-lcard2__t strong { font-size: 14px; color: #101828; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bcre-lcard2__t small { color: #667085; font-size: 12px; }
.bcre-lcard2__t b { color: #0b3d5c; font-size: 13px; }
/* legend card */
.bcre-lcard { position: absolute; z-index: 999; left: calc(10px + env(safe-area-inset-left, 0px)); bottom: 84px; width: min(340px, calc(100% - 20px)); background: rgba(255,255,255,.96); border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,.16); font-size: 12px; color: #344054; overflow: hidden; }
.bcre-lcard[hidden] { display: none; }
.bcre-lcard__toggle, .bcre-lcard__toggle:hover, .bcre-lcard__toggle:focus { display: flex; justify-content: space-between; width: 100%; border: 0; background: transparent; padding: 8px 12px; font: 700 13px/1.2 system-ui, sans-serif; color: #101828; cursor: pointer; text-align: left; }
.bcre-lcard__body { max-height: 30vh; overflow: auto; padding: 0 12px 10px; }
.bcre-lcard__item { padding: 4px 0 6px; }
.bcre-lcard__item + .bcre-lcard__item { border-top: 1px solid #f2f4f7; }
.bcre-lcard__name { font-weight: 700; color: #101828; margin-bottom: 4px; }
.bcre-lcard__name em { font-style: normal; font-size: 10px; color: #b54708; background: #fffaeb; border-radius: 6px; padding: 0 5px; }
.bcre-lcard__sub { font-weight: 600; margin: 4px 0 2px; color: #475467; }
.bcre-lcard__tip { color: #667085; margin-top: 4px; }
.bcre-grad { display: flex; align-items: center; gap: 10px; }
.bcre-grad i { flex: 1; height: 8px; border-radius: 4px; }
.bcre-glow { filter: blur(3px); }
/* desktop: sheets become side panels */
@media (min-width: 701px) {
  .bcre-sheet--layers, .bcre-sheet--rep { top: 10px; right: 68px; bottom: 10px; width: 360px; max-width: calc(100% - 140px); height: auto !important; border-radius: 12px; box-shadow: 0 6px 24px rgba(0,0,0,.22); }
  .bcre-sheet--layers .bcre-sheet__grab, .bcre-sheet--rep .bcre-sheet__grab { display: none; }
  .bcre-sheet--layers .bcre-sheet__head, .bcre-sheet--rep .bcre-sheet__head { padding-top: 12px; }
  .bcre-sheet--list { left: 10px; bottom: 10px; width: 360px; border-radius: 12px; box-shadow: 0 4px 18px rgba(0,0,0,.2); max-height: calc(100% - 80px); }
  .bcre-lcard { left: 380px; bottom: 10px; width: 300px; }
  .bcre-map--single .bcre-sheet--list, .bcre-map--single .bcre-top { display: none; }
}
@media (max-width: 700px) {
  .bcre-sheet { left: 0; right: 0; bottom: 0; border-radius: 16px 16px 0 0; }
  .bcre-sheet--layers, .bcre-sheet--rep { z-index: 1005; }
  .bcre-lcard { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); width: calc(100% - 78px); }
  .bcre-gisui[data-list="half"] .bcre-lcard, .bcre-gisui[data-list="full"] .bcre-lcard { display: none; }
  .bcre-gisui .leaflet-control-zoom { display: none; }
  .bcre-gisui .leaflet-bottom.leaflet-right { bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .bcre-rail .bcre-tool, .bcre-rail .bcre-tool:hover, .bcre-rail .bcre-tool:focus { width: 46px; height: 46px; }
  .bcre-pop--base { right: 54px; }
  .bcre-top { right: calc(64px + env(safe-area-inset-right, 0px)); }
  .bcre-map--single .bcre-top, .bcre-map--single .bcre-sheet--list { display: none; }
}
.bcre-map--list .bcre-sheet--list, .bcre-map--sc .bcre-sheet--list { display: none !important; }
.bcre-map--list .bcre-lcard, .bcre-map--sc .bcre-lcard { bottom: 10px; left: 10px; }
.bcre-top .bcre-search { display: flex; align-items: center; height: 40px; }
.bcre-top .bcre-search input { height: 40px !important; margin: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; line-height: 40px; -webkit-appearance: none; appearance: none; }
.bcre-top .bcre-search button, .bcre-top .bcre-search button:hover, .bcre-top .bcre-search button:focus { height: 40px; padding: 0 8px; background: transparent; border: 0; color: #475467; }
.bcre-top .bcre-search { margin: 0 !important; padding: 0 !important; position: static !important; transform: none !important; top: auto !important; }
.bcre-top .bcre-search input { padding: 0 6px !important; line-height: normal !important; min-height: 0 !important; }
.bcre-sheet--layers .bcre-lyr__more { margin-left: 44px; }
.bcre-gisui.has-layers .bcre-lcard { display: none; }
@media (min-width: 701px) { .bcre-sheet--list { height: 64px; } .bcre-sheet--list[data-state="peek"] .bcre-sheet__body { display: none; } }
.bcre-sheet--list .bcre-sheet__head { cursor: pointer; }

/* DoorProfit crime heat-map overlay */
.bcre-dpmodal { position: absolute; inset: 0; z-index: 1010; background: rgba(16,24,40,.45); display: flex; align-items: center; justify-content: center; padding: 16px; }
.bcre-dpmodal[hidden] { display: none; }
.bcre-dpmodal__card { background: #fff; border-radius: 14px; width: min(920px, 100%); height: min(640px, 100%); display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.35); }
.bcre-dpmodal__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #eaecf0; }
.bcre-dpmodal__head strong { display: block; font-size: 16px; color: #101828; }
.bcre-dpmodal__head small { color: #667085; font-size: 12px; }
.bcre-dpmodal__map { flex: 1; min-height: 0; }
.bcre-dpmodal__map > div { height: 100% !important; }
.bcre-dpmodal .bcre-x, .bcre-dpmodal .bcre-x:hover { border: 0; background: #f2f4f7; border-radius: 8px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; color: #344054; }
.bcre-dpmodal .bcre-x svg { width: 20px; height: 20px; fill: currentColor; }
@media (max-width: 700px) { .bcre-dpmodal { padding: 0; } .bcre-dpmodal__card { border-radius: 0; width: 100%; height: 100%; } }
.bcre-crimemap .bcre-crimemap__box { height: 420px; border-radius: 12px; overflow: hidden; border: 1px solid #eaecf0; }

/* ===== Split list + map (LoopNet-style) – properties archive ===== */
.bcre-archive--split { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.bcre-archive--split #main { padding: 0; margin: 0; }
.bcre-split { --bcre-split-top: 150px; background: #fff; }
.bcre-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .7rem 1rem; border-bottom: 1px solid var(--bcre-line); background: #fff; position: relative; z-index: 1001; }
.bcre-bar__search { position: relative; flex: 1 1 320px; max-width: 560px; }
.bcre-bar__search input { width: 100%; height: 40px; padding: 0 2.6rem 0 1rem; border: 1px solid #c8c8c8; border-radius: 999px; font: inherit; font-size: .95rem; background: #fff; color: var(--bcre-ink); }
.bcre-bar__search input:focus { border-color: var(--bcre-accent); outline: 2px solid var(--bcre-accent); outline-offset: 0; }
.bcre-bar__search button { position: absolute; right: 4px; top: 4px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: var(--bcre-accent); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.bcre-chip, select.bcre-chip { height: 40px; padding: 0 2rem 0 1rem; border: 1px solid #c8c8c8; border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A1A' stroke-width='1.8' fill='none'/%3E%3C/svg%3E") no-repeat right .8rem center; font: inherit; font-size: .92rem; font-weight: 600; color: var(--bcre-ink); cursor: pointer; -webkit-appearance: none; appearance: none; width: auto; min-height: 0; display: inline-flex; align-items: center; list-style: none; white-space: nowrap; }
.bcre-chip::-webkit-details-marker { display: none; }
.bcre-chip:hover { border-color: var(--bcre-ink); }
.bcre-chip.is-on { border-color: var(--bcre-accent); color: var(--bcre-accent); background-color: #fbf2f4; }
.bcre-drop { position: relative; }
.bcre-drop__panel { position: absolute; top: calc(100% + 6px); left: 0; z-index: 1002; width: 240px; padding: .9rem; background: #fff; border: 1px solid var(--bcre-line); border-radius: 10px; box-shadow: 0 8px 28px rgba(0,0,0,.16); display: flex; flex-direction: column; gap: .35rem; }
.bcre-drop__panel label { font-size: .8rem; font-weight: 600; color: var(--bcre-text); }
.bcre-drop__panel input { height: 40px; padding: 0 .7rem; border: 1px solid #949494; border-radius: 6px; font: inherit; }
.bcre-drop__panel .bcre-btn { margin-top: .4rem; min-height: 38px; }
.bcre-bar__clear { font-size: .9rem; font-weight: 600; color: var(--bcre-accent); margin-left: .25rem; }
.bcre-split__body { display: grid; grid-template-columns: minmax(420px, 43%) 1fr; height: calc(100vh - var(--bcre-split-top)); min-height: 520px; }
.bcre-split__list { overflow-y: auto; border-right: 1px solid var(--bcre-line); background: var(--bcre-soft); overscroll-behavior: contain; }
.bcre-split__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; background: #f0f0f0; border-bottom: 1px solid var(--bcre-line); position: sticky; top: 0; z-index: 3; }
.bcre-split__title { margin: 0 !important; font-size: 1rem !important; line-height: 1.3; font-weight: 600; color: var(--bcre-ink); }
.bcre-split__sort { display: flex; align-items: center; gap: .3rem; font-size: .9rem; font-weight: 600; color: var(--bcre-accent); }
.bcre-split__sort select { border: 0; background: transparent; color: var(--bcre-accent); font: inherit; font-weight: 600; cursor: pointer; padding: .2rem; min-height: 0; width: auto; }
.bcre-split__area { margin: 0 !important; padding: .5rem 1rem; font-size: .88rem; color: var(--bcre-muted); background: #fff; border-bottom: 1px solid var(--bcre-line); }
.bcre-split__all { border: 0; background: none; color: var(--bcre-accent); font: inherit; font-weight: 600; cursor: pointer; padding: 0; margin-left: .3rem; text-decoration: underline; }
.bcre-rows { display: flex; flex-direction: column; gap: 8px; padding: 8px 0; }
.bcre-row { display: grid; grid-template-columns: 40% 1fr; min-height: 172px; background: #fff; border-top: 1px solid var(--bcre-line); border-bottom: 1px solid var(--bcre-line); transition: box-shadow .15s ease, background .15s ease; }
.bcre-row[hidden] { display: none; }
.bcre-row:hover, .bcre-row.is-hover { box-shadow: inset 4px 0 0 var(--bcre-accent); background: #fffdfd; }
.bcre-row.is-flash { animation: bcreFlash 1.4s ease; }
@keyframes bcreFlash { 0%, 40% { background: #fbeaee; } 100% { background: #fff; } }
.bcre-row__media { position: relative; display: block; background: var(--bcre-soft); overflow: hidden; }
.bcre-row__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bcre-row__body { padding: .8rem 1rem .7rem; display: flex; flex-direction: column; gap: .12rem; min-width: 0; }
.bcre-row__title { margin: 0 !important; font-size: 1rem !important; line-height: 1.3; font-weight: 700; }
.bcre-row__title a { color: var(--bcre-ink); text-decoration: none; }
.bcre-row__title a:hover { color: var(--bcre-accent); text-decoration: underline; }
.bcre-row__addr, .bcre-row__line { margin: 0 !important; font-size: .9rem; line-height: 1.45; color: var(--bcre-text); }
.bcre-row__addr { color: var(--bcre-muted); }
.bcre-row__body .bcre-badge--sample { align-self: flex-start; margin-top: .25rem; font-size: .7rem; }
.bcre-row__foot { margin-top: auto; padding-top: .55rem; border-top: 1px solid var(--bcre-line); display: flex; align-items: center; gap: .55rem; }
.bcre-row__agent { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: none; }
.bcre-row__who { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.bcre-row__who strong { font-size: .9rem; color: var(--bcre-ink); }
.bcre-row__who span { font-size: .78rem; color: var(--bcre-muted); }
.bcre-row__logo { margin-left: auto; width: 92px; height: auto; flex: none; }
.bcre-split__list .bcre-empty { margin: 1rem; padding: 1rem; background: #fff; border: 1px solid var(--bcre-line); }
.bcre-split__list .bcre-idx { margin: 1rem; }
.bcre-split__map { position: relative; min-width: 0; }
.bcre-split__map .bcre-map { position: absolute; inset: 0; height: 100% !important; aspect-ratio: auto !important; border: 0; border-radius: 0; margin: 0; }
.bcre-split__toggle { display: none; }
.bcre-split .leaflet-popup-content { margin: 10px 12px; }
.bcre-mpop { display: flex; gap: .6rem; width: 250px; text-decoration: none; color: var(--bcre-ink); }
.bcre-mpop img { width: 84px; height: 64px; object-fit: cover; border-radius: 4px; flex: none; }
.bcre-mpop strong { display: block; font-size: .9rem; line-height: 1.25; color: var(--bcre-ink); }
.bcre-mpop small { display: block; color: var(--bcre-muted); font-size: .8rem; margin-top: 2px; }
@media (max-width: 900px) {
  .bcre-bar { gap: .4rem; padding: .55rem .6rem; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .bcre-bar::-webkit-scrollbar { display: none; }
  .bcre-bar__search { flex: 0 0 200px; }
  .bcre-drop__panel { position: fixed; top: auto; left: 8px; right: 8px; width: auto; }
  .bcre-split__body { display: block; height: auto; min-height: 0; }
  .bcre-split__list { overflow: visible; border-right: 0; }
  .bcre-split__head { position: static; }
  .bcre-split__map { display: none; }
  .bcre-split.is-map .bcre-split__list { display: none; }
  .bcre-split.is-map .bcre-split__map { display: block; height: calc(100vh - var(--bcre-split-top)); min-height: 420px; }
  .bcre-row { grid-template-columns: 38% 1fr; min-height: 150px; }
  .bcre-row__logo { display: none; }
  .bcre-split__toggle { display: inline-flex; position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 1005; align-items: center; gap: .4rem; padding: .7rem 1.4rem; border: 0; border-radius: 999px; background: var(--bcre-ink); color: #fff; font: inherit; font-weight: 700; box-shadow: 0 4px 16px rgba(0,0,0,.3); cursor: pointer; }
  .bcre-split__toggle-list, .bcre-split.is-map .bcre-split__toggle-map { display: none; }
  .bcre-split.is-map .bcre-split__toggle-list { display: inline; }
}

/* The split page has its own list, so hide the map's built-in listings sheet. */
.bcre-split .bcre-sheet--list { display: none !important; }
.bcre-split .bcre-ppin span { background: var(--bcre-accent); }
.bcre-split .bcre-ppin span::after { border-top-color: var(--bcre-accent); }
.bcre-split .bcre-ppin.is-hover span, .bcre-split .bcre-ppin:hover span { background: var(--bcre-ink); }
.bcre-split .bcre-ppin.is-hover span::after, .bcre-split .bcre-ppin:hover span::after { border-top-color: var(--bcre-ink); }

@media (max-width: 600px) {
  .bcre-row__title { font-size: .95rem !important; }
  .bcre-row__addr, .bcre-row__line { font-size: .82rem; }
  .bcre-row__body { padding: .6rem .7rem; }
  .bcre-split__title { font-size: .92rem !important; }
  .bcre-split.is-map .bcre-split__head { display: none; }
}

/* Split: resizable list column + list/grid view */
.bcre-split__body { grid-template-columns: var(--bcre-list-w, minmax(420px, 43%)) 8px 1fr; }
.bcre-split__drag { position: relative; cursor: col-resize; background: var(--bcre-line); touch-action: none; z-index: 4; }
.bcre-split__drag span { position: absolute; top: 50%; left: 50%; width: 4px; height: 44px; margin: -22px 0 0 -2px; border-radius: 2px; background: #9a9a9a; }
.bcre-split__drag:hover, .bcre-split__drag:focus-visible, .bcre-split.is-dragging .bcre-split__drag { background: var(--bcre-accent); outline: none; }
.bcre-split__drag:hover span, .bcre-split.is-dragging .bcre-split__drag span { background: #fff; }
.bcre-split.is-dragging { user-select: none; cursor: col-resize; }
.bcre-split.is-dragging .bcre-split__map { pointer-events: none; }
.bcre-split__list { border-right: 0; }
.bcre-split__tools { display: flex; align-items: center; gap: .9rem; }
.bcre-view { display: inline-flex; border: 1px solid #c8c8c8; border-radius: 6px; overflow: hidden; background: #fff; }
.bcre-view__btn { display: flex; align-items: center; justify-content: center; width: 34px; height: 30px; border: 0; background: #fff; color: var(--bcre-muted); cursor: pointer; padding: 0; }
.bcre-view__btn + .bcre-view__btn { border-left: 1px solid #c8c8c8; }
.bcre-view__btn.is-on { background: var(--bcre-accent); color: #fff; }
.bcre-rows.is-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; padding: 12px; }
.bcre-rows.is-grid .bcre-row { grid-template-columns: 1fr; grid-template-rows: auto 1fr; border: 1px solid var(--bcre-line); border-radius: 6px; overflow: hidden; min-height: 0; }
.bcre-rows.is-grid .bcre-row__media { aspect-ratio: 3 / 2; }
.bcre-rows.is-grid .bcre-row:hover, .bcre-rows.is-grid .bcre-row.is-hover { box-shadow: 0 0 0 2px var(--bcre-accent); }
.bcre-rows.is-grid .bcre-row__logo { display: none; }
@media (max-width: 900px) {
  .bcre-split__drag { display: none; }
  .bcre-rows.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 8px; }
  .bcre-rows.is-grid .bcre-row__foot { display: none; }
}
@media (max-width: 420px) { .bcre-rows.is-grid { grid-template-columns: 1fr; } }

/* ===== Lease/sale + type chooser (LoopNet/Crexi style) ===== */
.bcre-ch { max-width: 920px; color: var(--bcre-ink); box-sizing: border-box; }
.bcre-ch * { box-sizing: border-box; }
.bcre-ch__deal { display: inline-flex; gap: 0; margin: 0 0 .75rem; padding: 4px; border: 0; background: rgba(255,255,255,.16); border-radius: 999px; backdrop-filter: blur(4px); }
.bcre-ch__deal label { position: relative; cursor: pointer; margin: 0; }
.bcre-ch__deal input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bcre-ch__deal span { display: inline-block; padding: .55em 1.35em; border-radius: 999px; font-weight: 700; font-size: .95rem; color: #fff; transition: background .15s ease, color .15s ease; }
.bcre-ch__deal input:checked + span { background: #fff; color: var(--bcre-accent); box-shadow: 0 1px 4px rgba(0,0,0,.2); }
.bcre-ch__deal input:focus-visible + span { outline: 3px solid #fff; outline-offset: 2px; }
.bcre-ch__bar { display: flex; align-items: stretch; background: #fff; border-radius: 10px; box-shadow: 0 8px 28px rgba(0,0,0,.25); overflow: hidden; }
.bcre-ch__type { flex: 0 0 230px; height: 58px; border: 0; border-right: 1px solid var(--bcre-line); padding: 0 2.2rem 0 1.1rem; font: inherit; font-weight: 600; color: var(--bcre-ink); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A1A' stroke-width='1.8' fill='none'/%3E%3C/svg%3E") no-repeat right 1rem center; -webkit-appearance: none; appearance: none; cursor: pointer; border-radius: 0; min-height: 0; }
.bcre-ch__where { flex: 1; min-width: 0; height: 58px; border: 0; padding: 0 1.1rem; font: inherit; font-size: 1.02rem; color: var(--bcre-ink); background: #fff; border-radius: 0; min-height: 0; }
.bcre-ch__type:focus, .bcre-ch__where:focus { outline: 2px solid var(--bcre-accent); outline-offset: -2px; }
.bcre-ch__go { flex: none; display: inline-flex; align-items: center; gap: .45rem; padding: 0 1.6rem; border: 0; background: var(--bcre-accent); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.bcre-ch__go:hover, .bcre-ch__go:focus-visible { background: var(--bcre-accent-dark); }
.bcre-ch__tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .6rem; margin-top: .9rem; }
.bcre-ch__tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; padding: .85rem .4rem .7rem; border: 1px solid rgba(255,255,255,.35); border-radius: 10px; background: rgba(255,255,255,.12); color: #fff; font: inherit; cursor: pointer; text-align: center; transition: background .15s ease, border-color .15s ease, transform .15s ease; backdrop-filter: blur(4px); }
.bcre-ch__tile:hover, .bcre-ch__tile:focus-visible { background: rgba(255,255,255,.24); border-color: #fff; transform: translateY(-1px); outline: none; }
.bcre-ch__tile.is-on { background: #fff; color: var(--bcre-accent); border-color: #fff; }
.bcre-ch__tile.is-empty { opacity: .55; }
.bcre-ch__tname { font-weight: 700; font-size: .9rem; line-height: 1.2; }
.bcre-ch__tcount { font-size: .75rem; opacity: .85; }
/* Page mode (Properties step 1): light background */
.bcre-ch-page { min-height: calc(100vh - 220px); display: flex; align-items: flex-start; justify-content: center; padding: clamp(2rem, 6vw, 4.5rem) 1rem 4rem; background: linear-gradient(180deg, #f6f1f2 0%, #fff 70%); }
.bcre-ch--page { width: 100%; max-width: 980px; text-align: center; }
.bcre-ch__title { margin: 0 0 1.4rem !important; font-size: clamp(1.6rem, 3.4vw, 2.4rem) !important; line-height: 1.15; color: var(--bcre-ink); }
.bcre-ch--page .bcre-ch__deal { background: #ece6e7; }
.bcre-ch--page .bcre-ch__deal span { color: var(--bcre-ink); }
.bcre-ch--page .bcre-ch__deal input:checked + span { background: var(--bcre-accent); color: #fff; }
.bcre-ch--page .bcre-ch__bar { box-shadow: 0 4px 18px rgba(0,0,0,.10); border: 1px solid var(--bcre-line); text-align: left; }
.bcre-ch--page .bcre-ch__tiles { margin-top: 1.4rem; gap: .9rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bcre-ch--page .bcre-ch__tile { background: #fff; color: var(--bcre-ink); border: 1px solid var(--bcre-line); padding: 1.3rem .6rem 1.1rem; backdrop-filter: none; }
.bcre-ch--page .bcre-ch__tile svg { color: var(--bcre-accent); width: 38px; height: 38px; }
.bcre-ch--page .bcre-ch__tile:hover, .bcre-ch--page .bcre-ch__tile:focus-visible { border-color: var(--bcre-accent); box-shadow: 0 6px 20px rgba(0,0,0,.08); background: #fff; }
.bcre-ch--page .bcre-ch__tile.is-on { border: 2px solid var(--bcre-accent); background: #fbf2f4; color: var(--bcre-accent); }
.bcre-ch--page .bcre-ch__tname { font-size: 1rem; }
.bcre-ch--page .bcre-ch__tcount { color: var(--bcre-muted); opacity: 1; }
.bcre-ch__foot { margin: 1.6rem 0 0 !important; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.2rem; }
.bcre-ch__show { min-height: 50px; padding: .7em 1.8em; font-size: 1.05rem; border-radius: 8px; }
.bcre-ch__all { color: var(--bcre-accent); font-weight: 600; }
@media (max-width: 760px) {
  .bcre-ch__bar { flex-wrap: wrap; }
  .bcre-ch__type { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid var(--bcre-line); height: 52px; }
  .bcre-ch__where { height: 52px; }
  .bcre-ch__go { padding: 0 1.1rem; }
  .bcre-ch__go-txt { display: none; }
  .bcre-ch__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bcre-ch--page .bcre-ch__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcre-ch__deal span { padding: .5em 1em; font-size: .9rem; }
}

/* Chooser v2: small tiles, one row (scrolls sideways on phones) */
.bcre-ch__tiles, .bcre-ch--page .bcre-ch__tiles { display: flex; flex-wrap: nowrap; gap: .5rem; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.bcre-ch__tiles::-webkit-scrollbar { display: none; }
.bcre-ch__tile, .bcre-ch--page .bcre-ch__tile { flex: 1 0 auto; min-width: 104px; flex-direction: row; gap: .45rem; padding: .5rem .75rem; border-radius: 999px; justify-content: center; }
.bcre-ch__tile svg, .bcre-ch--page .bcre-ch__tile svg { width: 20px; height: 20px; flex: none; }
.bcre-ch__tname, .bcre-ch--page .bcre-ch__tname { font-size: .85rem; white-space: nowrap; }
.bcre-ch__tcount, .bcre-ch--page .bcre-ch__tcount { display: none; }
.bcre-ch--page .bcre-ch__tiles { margin-top: 1rem; }
@media (max-width: 760px) { .bcre-ch__tiles, .bcre-ch--page .bcre-ch__tiles { grid-template-columns: none; } .bcre-ch__tile { min-width: 0; flex: 0 0 auto; } }

/* Parcel card (small popup) */
.bcre-minipop .leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 6px 24px rgba(16,24,40,.22); }
.bcre-minipop .leaflet-popup-content { margin: 12px 14px 12px; font-size: 13px; line-height: 1.4; color: #344054; }
.bcre-mini__t { font-weight: 700; font-size: 14px; color: #101828; padding-right: 14px; }
.bcre-mini__own { margin-top: 2px; color: #475467; font-size: 12.5px; }
.bcre-mini__kv { display: flex; gap: 10px; margin-top: 4px; font-weight: 600; color: #101828; }
.bcre-mini__kv span + span::before { content: '·'; margin-right: 10px; color: #98a2b3; }
.bcre-mini__chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.bcre-mini__chips .bcre-chip { font-size: 11px; }
.bcre-mini .bcre-skel { display: block; margin-top: 6px; }
.bcre-mini__go { display: block; width: 100%; margin-top: 10px; padding: 7px 10px; border: 0; border-radius: 8px; background: var(--bcre-ui, #0b3d5c); color: #fff; font-weight: 600; font-size: 12.5px; cursor: pointer; }
.bcre-mini__go:hover { filter: brightness(1.1); }
/* Full-page property report */
.bcre-full { position: fixed; inset: 0; z-index: 100000; background: rgba(16,24,40,.5); display: flex; align-items: center; justify-content: center; padding: 24px; }
.bcre-full[hidden] { display: none; }
html.bcre-noscroll, html.bcre-noscroll body { overflow: hidden; }
.bcre-full__card { background: #fff; border-radius: 14px; width: min(1100px, 100%); height: min(92vh, 100%); display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 16px 48px rgba(0,0,0,.35); }
.bcre-full__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #eaecf0; }
.bcre-full__head h2 { margin: 2px 0 0; font-size: 20px; line-height: 1.25; color: #101828; }
.bcre-full__head small { color: #98a2b3; font-size: 12px; }
.bcre-full__acts { display: flex; gap: 8px; align-items: center; }
.bcre-full__print { border: 1px solid #d0d5dd; background: #fff; border-radius: 8px; padding: 6px 12px; font-weight: 600; font-size: 13px; cursor: pointer; color: #344054; }
.bcre-full .bcre-x { border: 0; background: #f2f4f7; border-radius: 8px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; color: #344054; }
.bcre-full .bcre-x svg { width: 20px; height: 20px; fill: currentColor; }
.bcre-full__body { flex: 1; min-height: 0; overflow: auto; padding: 8px 20px 20px; font-size: 14px; line-height: 1.5; color: #344054; }
.bcre-full__grid { column-count: 2; column-gap: 32px; }
.bcre-full__grid .bcre-rep__sec { break-inside: avoid; padding: 12px 0; }
.bcre-full__grid .bcre-rep__disc { column-span: all; }
.bcre-full__grid .bcre-rep__sec--demo, .bcre-full__grid .bcre-rep__sec--brands { column-span: all; }
.bcre-full__grid .bcre-rep__brands { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); }
@media (max-width: 760px) {
	.bcre-full { padding: 0; }
	.bcre-full__card { border-radius: 0; height: 100%; width: 100%; }
	.bcre-full__grid { column-count: 1; }
	.bcre-full__head h2 { font-size: 17px; }
}
@media print {
	html.bcre-noscroll body > *:not(.bcre-full) { display: none !important; }
	.bcre-full { position: static; background: none; padding: 0; display: block; }
	.bcre-full__card { box-shadow: none; height: auto; width: 100%; }
	.bcre-full__body { overflow: visible; }
	.bcre-full__acts { display: none; }
}

/* Report chips: undo the filter-bar .bcre-chip button styling */
.bcre-rep__body .bcre-chip, .bcre-full .bcre-chip, .bcre-mini .bcre-chip { height: auto; min-height: 0; padding: 2px 9px; border: 0; background-image: none; background-color: #f2f4f7; color: #344054; font-size: 12px; font-weight: 700; cursor: default; display: inline-block; white-space: normal; line-height: 1.4; }
.bcre-rep__body .bcre-chip--ok, .bcre-full .bcre-chip--ok, .bcre-mini .bcre-chip--ok { background-color: #ecfdf3; color: #067647; }
.bcre-rep__body .bcre-chip--warn, .bcre-full .bcre-chip--warn, .bcre-mini .bcre-chip--warn { background-color: #fef3f2; color: #b42318; }
.bcre-full .bcre-chip--zone, .bcre-mini .bcre-chip--zone, .bcre-rep__body .bcre-chip--zone { color: #fff; text-shadow: 0 1px 1px rgba(0,0,0,.25); }
.bcre-full .bcre-chip:hover, .bcre-mini .bcre-chip:hover { border: 0; }
.bcre-mini__chips .bcre-chip { font-size: 11px; }

/* Docked parcel card (Land id / Regrid style) */
.bcre-pcard { position: absolute; z-index: 1001; left: 12px; top: 72px; width: 300px; max-width: calc(100% - 24px); background: #fff; border-radius: 12px; box-shadow: 0 6px 24px rgba(16,24,40,.22); padding: 12px 14px 12px; font-size: 13px; line-height: 1.4; color: #344054; }
.bcre-pcard[hidden] { display: none; }
.bcre-pcard__x { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; border: 0; border-radius: 8px; background: #f2f4f7; display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; color: #344054; }
.bcre-pcard__x svg { width: 16px; height: 16px; fill: currentColor; }
.bcre-pcard__k { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--bcre-ui, #0b3d5c); }
.bcre-pcard__t { font-weight: 700; font-size: 15px; line-height: 1.25; color: #101828; padding-right: 30px; margin-top: 1px; }
.bcre-pcard__b { min-height: 58px; }
.bcre-pcard__acts { display: flex; gap: 6px; margin-top: 10px; }
.bcre-pcard__acts .bcre-mini__go { margin: 0; flex: 1; }
.bcre-pcard__cad { flex: none; padding: 7px 10px; border: 1px solid #d0d5dd; border-radius: 8px; font-weight: 600; font-size: 12.5px; color: #344054; text-decoration: none; white-space: nowrap; }
.bcre-pcard__cad[hidden] { display: none; }
@media (max-width: 700px) {
	.bcre-pcard { left: 8px; right: 8px; width: auto; top: auto; bottom: 76px; }
	.has-pcard .bcre-sheet--list { visibility: hidden; }
}
/* Full report: Land id-style left rail */
.bcre-full__card { flex-direction: row; }
.bcre-full__rail { flex: none; width: 92px; background: #f2f4f7; display: flex; flex-direction: column; gap: 4px; padding: 14px 6px; }
.bcre-full__rail button { border: 0; background: none; border-radius: 10px; padding: 8px 4px; display: flex; flex-direction: column; align-items: center; gap: 4px; cursor: pointer; color: #475467; font: 600 11px/1.2 system-ui, sans-serif; }
.bcre-full__rail button svg { width: 22px; height: 22px; fill: currentColor; }
.bcre-full__rail button.is-on { color: #fff; background: var(--bcre-ui, #0b3d5c); }
.bcre-full__rail button:hover:not(.is-on) { background: #e4e7ec; }
.bcre-full__main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.bcre-full__acts a.bcre-full__print { text-decoration: none; display: inline-block; }
.bcre-full__grid[data-ftab="site"] .bcre-rep__sec:not(.bcre-rep__sec--parcel):not(.bcre-rep__sec--zoning):not(.bcre-rep__sec--city):not(.bcre-rep__sec--oz),
.bcre-full__grid[data-ftab="water"] .bcre-rep__sec:not(.bcre-rep__sec--flood):not(.bcre-rep__sec--elev):not(.bcre-rep__sec--wetland):not(.bcre-rep__sec--soil),
.bcre-full__grid[data-ftab="infra"] .bcre-rep__sec:not(.bcre-rep__sec--power),
.bcre-full__grid[data-ftab="area"] .bcre-rep__sec:not(.bcre-rep__sec--demo):not(.bcre-rep__sec--brands):not(.bcre-rep__sec--crime) { display: none; }
.bcre-full__grid:not([data-ftab="all"]) { column-count: 1; max-width: 720px; }
@media (max-width: 760px) {
	.bcre-full__card { flex-direction: column-reverse; }
	.bcre-full__rail { width: auto; flex-direction: row; justify-content: space-around; padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); border-top: 1px solid #eaecf0; }
	.bcre-full__rail button { flex: 1; padding: 6px 2px; font-size: 10px; }
}
@media print { .bcre-full__rail { display: none; } .bcre-full__grid .bcre-rep__sec { display: block !important; } }

.bcre-full .bcre-kv, .bcre-rep__body .bcre-kv { font-size: 13px; }
.bcre-full .bcre-kv dt, .bcre-rep__body .bcre-kv dt { font-size: 13px; font-weight: 400; color: #667085; margin: 0; }
.bcre-full .bcre-kv dd { font-size: 13px; }

.bcre-pcard .bcre-chip { height: auto; min-height: 0; padding: 2px 9px; border: 0; background-image: none; background-color: #f2f4f7; color: #344054; font-size: 11px; font-weight: 700; cursor: default; display: inline-block; white-space: normal; line-height: 1.4; }
.bcre-pcard .bcre-chip--ok { background-color: #ecfdf3; color: #067647; }
.bcre-pcard .bcre-chip--warn { background-color: #fef3f2; color: #b42318; }
.bcre-pcard .bcre-chip--zone { color: #fff; text-shadow: 0 1px 1px rgba(0,0,0,.25); }
.bcre-pcard .bcre-chip:hover { border: 0; }

/* "All" pill leads the type row */
.bcre-ch__tile--all { min-width: 0; }
.bcre-ch__tile:hover, .bcre-ch__tile:focus-visible, .bcre-ch--page .bcre-ch__tile:hover, .bcre-ch--page .bcre-ch__tile:focus-visible { transform: none; box-shadow: none; }

/* soil map-unit symbols */
.bcre-soil-lbl { background: none; border: 0; font: 600 11px/1 system-ui, sans-serif; color: #4a2c12; text-shadow: 0 0 3px #fff, 0 0 3px #fff; white-space: nowrap; transform: translate(-50%, -50%); }

/* Map / Satellite quick switch */
.bcre-satq { position: absolute; z-index: 1000; right: 10px; bottom: 26px; width: 72px; height: 72px; padding: 0; border: 2px solid #fff; border-radius: 10px; overflow: hidden; background: #ddd; box-shadow: 0 2px 8px rgba(0,0,0,.25); cursor: pointer; }
.bcre-satq img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bcre-satq span { position: absolute; left: 0; right: 0; bottom: 0; padding: 3px 0 4px; font: 600 11px/1.1 inherit; color: #fff; text-align: center; background: linear-gradient(transparent, rgba(0,0,0,.65)); }
.bcre-satq:hover, .bcre-satq:focus-visible { border-color: #7a0019; outline: none; }
@media (max-width: 760px) { .bcre-satq { width: 58px; height: 58px; bottom: calc(80px + env(safe-area-inset-bottom, 0px)); } }
.bcre-pcard__tip { margin-top: 6px; font-size: 11px; color: #667085; }

/* Owner names on parcels + generic layer labels */
.bcre-plbl, .bcre-glbl { background: none; border: 0; pointer-events: none; }
.bcre-plbl span { display: block; transform: translate(-50%, -50%); text-align: center; color: #fff; font-weight: 700; line-height: 1.15; text-transform: uppercase; letter-spacing: .02em; text-shadow: 0 0 2px #000, 0 0 3px #000, 0 1px 3px rgba(0,0,0,.9); white-space: normal; overflow-wrap: break-word; word-break: normal; hyphens: none; width: max-content; }
.bcre-plbl small { display: block; font-size: .82em; font-weight: 600; opacity: .9; text-transform: none; }
.bcre-glbl span { display: block; transform: translate(-50%, -50%); white-space: nowrap; font: 700 11px/1.1 system-ui, sans-serif; color: var(--c, #333); text-shadow: 0 0 2px #fff, 0 0 3px #fff, 0 0 4px #fff; }

/* GPS location */
.bcre-gpsdot { background: none; border: 0; }
.bcre-gpsdot b { position: absolute; inset: 3px; border-radius: 50%; background: #1570ef; border: 3px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.15), 0 1px 4px rgba(0,0,0,.35); animation: bcre-gps 2s ease-out infinite; }
.bcre-gpsdot i { position: absolute; left: 50%; top: -9px; width: 0; height: 0; margin-left: -6px; border: 6px solid transparent; border-bottom: 10px solid #1570ef; transform-origin: 6px 20px; }
@keyframes bcre-gps { 0% { box-shadow: 0 0 0 0 rgba(21,112,239,.45), 0 1px 4px rgba(0,0,0,.35); } 100% { box-shadow: 0 0 0 14px rgba(21,112,239,0), 0 1px 4px rgba(0,0,0,.35); } }
.bcre-tool[data-tool="locate"].is-on svg { color: #1570ef; fill: #1570ef; }
.bcre-tool[data-tool="locate"].is-follow { background: #1570ef; }
.bcre-tool[data-tool="locate"].is-follow svg { color: #fff; fill: #fff; }
.bcre-gpsmsg { position: absolute; z-index: 1002; left: 50%; bottom: 24px; transform: translateX(-50%); max-width: min(420px, calc(100% - 40px)); padding: 10px 14px; border-radius: 10px; background: rgba(16,24,40,.92); color: #fff; font-size: 13px; line-height: 1.35; box-shadow: 0 4px 14px rgba(0,0,0,.25); }

/* Folded layer section (Utilities): one master switch, smaller switches for each layer once it's on */
.bcre-lyr__cnt { margin-left: auto; font-size: 11px; color: #667085; white-space: nowrap; }
.bcre-fold { margin: 2px 0 6px 18px; padding-left: 10px; border-left: 2px solid #eaecf0; }
.bcre-lyr--sub .bcre-lyr__row { padding-top: 5px; padding-bottom: 5px; }
.bcre-lyr--sub .bcre-lyr__name { font-size: 12.5px; }
.bcre-lyr--sub .bcre-sw-tog { width: 26px; height: 15px; }
.bcre-lyr--sub .bcre-sw-tog i::after { top: 2px; left: 2px; width: 11px; height: 11px; }
.bcre-lyr--sub .bcre-sw-tog input:checked + i::after { transform: translateX(11px); }
.bcre-lyr--sub .bcre-lyr__note { display: none; } /* keep the sub-list short: legend + opacity only */
.bcre-lyr--sub .bcre-lyr__more { padding-top: 0; margin-top: -2px; }
.bcre-lyr--sub .bcre-lyr__more { font-size: 12px; }

/* Layer cards (Land id style): rounded thumbnail, name + one-line description, switch on the right */
.bcre-lyr--card { border: 1px solid #eaecf0; border-radius: 12px; margin: 0 0 8px; background: #fff; transition: border-color .15s, background .15s; }
.bcre-lyr--card.is-on { border-color: var(--bcre-ui); background: #f5f8ff; }
.bcre-lyr--card > .bcre-lyr__row { display: flex; align-items: center; gap: 12px; padding: 8px 10px; cursor: pointer; }
.bcre-lyr__img { flex: none; width: 64px; height: 48px; border-radius: 8px; object-fit: cover; background: #e4e7ec; }
.bcre-lyr__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.bcre-lyr--card .bcre-lyr__name { font-weight: 600; font-size: 13.5px; line-height: 1.25; color: #101828; }
.bcre-lyr__desc { font-size: 11.5px; line-height: 1.3; color: #667085; }
.bcre-lyr--card .bcre-sw-tog { margin-left: auto; }
.bcre-lyr--card .bcre-lyr__more { padding: 0 12px 10px 86px; }
.bcre-lyr--card .bcre-lyr__z { position: static; margin-left: 4px; }
/* Sub-layers inside a folded section: smaller cards */
.bcre-fold { margin: -2px 0 10px 14px; padding-left: 10px; border-left: 2px solid #eaecf0; }
.bcre-lyr--card.bcre-lyr--sub { border-radius: 10px; margin-bottom: 6px; }
.bcre-lyr--sub > .bcre-lyr__row { gap: 10px; padding: 6px 8px; }
.bcre-lyr--sub .bcre-lyr__img { width: 44px; height: 33px; border-radius: 6px; }
.bcre-lyr--sub .bcre-lyr__name { font-size: 12.5px; font-weight: 600; }
.bcre-lyr--card.bcre-lyr--sub .bcre-lyr__more { padding: 0 10px 8px 62px; }

.bcre-lyr--card .bcre-lyr__more, .bcre-lyr--card.bcre-lyr--sub .bcre-lyr__more { padding: 0 12px 10px 12px; }
.bcre-lyr--card .bcre-op { display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 11.5px; color: #667085; }
.bcre-lyr--card .bcre-op input { flex: 1; min-width: 0; }
.bcre-lyr--card .bcre-lyr__leg { margin: 0 0 6px; }

/* ===== Property page v2 (Crexi / LoopNet style) ===== */
.bcre-pp { padding-bottom: 4.5rem; }
.bcre-pp__top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1rem 0 .5rem; }
.bcre-pp__top .bcre-crumbs { margin: 0; }
.bcre-pp__tools { display: flex; gap: .4rem; }
.bcre-pp__tool { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .75rem; border: 1px solid var(--bcre-line); border-radius: 999px; background: #fff; color: var(--bcre-ink); font: 600 .82rem/1 inherit; cursor: pointer; }
.bcre-pp__tool:hover { border-color: var(--bcre-ink); }
.bcre-pp__tool svg { width: 15px; height: 15px; fill: currentColor; }
.bcre-pp__head { margin: 0 0 1rem; }
.bcre-pp__title { margin: .35rem 0 .3rem; font-size: clamp(1.5rem, 2.6vw, 2.15rem); line-height: 1.15; color: var(--bcre-ink); }
.bcre-pp__addr { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .6rem; margin: 0; color: var(--bcre-muted); font-size: 1rem; }
.bcre-pp__addr svg { width: 16px; height: 16px; fill: var(--bcre-accent); flex: none; }
.bcre-pp__addr a { font-size: .9rem; font-weight: 600; color: var(--bcre-accent); }
/* photo mosaic */
.bcre-mosaic { position: relative; display: grid; gap: 6px; height: clamp(300px, 42vw, 520px); margin: 0 0 1.25rem; border-radius: 12px; overflow: hidden; background: var(--bcre-soft); }
.bcre-mosaic--1 { grid-template-columns: 1fr; }
.bcre-mosaic--2 { grid-template-columns: 2fr 1fr; }
.bcre-mosaic--3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.bcre-mosaic--4 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.bcre-mosaic--4 .bcre-mosaic__cell:nth-child(4) { grid-column: 2 / 4; }
.bcre-mosaic--5 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.bcre-mosaic__cell { position: relative; padding: 0; border: 0; background: #ddd; cursor: zoom-in; overflow: hidden; min-height: 0; }
.bcre-mosaic__cell--main { grid-row: 1 / -1; }
.bcre-mosaic__cell img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, filter .2s; }
.bcre-mosaic__cell:hover img { transform: scale(1.03); filter: brightness(.94); }
.bcre-mosaic__all { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .9rem; border: 0; border-radius: 8px; background: #fff; color: var(--bcre-ink); font: 600 .85rem/1 inherit; box-shadow: 0 2px 10px rgba(0,0,0,.18); cursor: pointer; }
.bcre-mosaic__all svg { width: 15px; height: 15px; fill: currentColor; }
@media (max-width: 760px) {
	.bcre-mosaic { display: flex; height: 62vw; min-height: 240px; gap: 0; border-radius: 10px; overflow-x: auto; scroll-snap-type: x mandatory; }
	.bcre-mosaic__cell { flex: 0 0 100%; scroll-snap-align: start; }
	.bcre-mosaic__cell img:hover, .bcre-mosaic__cell:hover img { transform: none; }
}
/* stat strip */
.bcre-pp__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); margin: 0 0 1rem; border: 1px solid var(--bcre-line); border-radius: 12px; background: #fff; overflow: hidden; }
.bcre-pp__stats > div { padding: .9rem 1.1rem; border-right: 1px solid var(--bcre-line); }
.bcre-pp__stats > div:last-child { border-right: 0; }
.bcre-pp__stats dt { margin: 0 0 .2rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--bcre-muted); }
.bcre-pp__stats dd { margin: 0; font-size: 1.12rem; font-weight: 700; color: var(--bcre-ink); line-height: 1.25; }
@media (max-width: 560px) { .bcre-pp__stats { grid-template-columns: 1fr 1fr; } .bcre-pp__stats > div { border-bottom: 1px solid var(--bcre-line); } }
/* sticky tabs */
.bcre-pp__tabs { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: .25rem; margin: 0 0 1.5rem; padding: .25rem 0; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--bcre-line); overflow-x: auto; scrollbar-width: none; }
.bcre-pp__tabs::-webkit-scrollbar { display: none; }
.bcre-pp__tabs a { flex: none; padding: .75rem .9rem; color: var(--bcre-muted); font-weight: 600; font-size: .92rem; text-decoration: none; border-bottom: 3px solid transparent; }
.bcre-pp__tabs a.is-on { color: var(--bcre-ink); border-bottom-color: var(--bcre-accent); }
.bcre-pp__tabs a.bcre-pp__tabs-cta { margin-left: auto; color: var(--bcre-accent); }
.admin-bar .bcre-pp__tabs { top: 32px; }
.bcre-pp [id] { scroll-margin-top: 70px; }
/* body cards */
.bcre-pp__layout { gap: 2rem; }
.bcre-pp__card { padding: 1.4rem 1.5rem; margin: 0 0 1.25rem; background: #fff; border: 1px solid var(--bcre-line); border-radius: 12px; }
.bcre-pp__card > h2 { border-bottom: 0; padding-bottom: 0; margin-bottom: .8rem; font-size: 1.25rem; }
.bcre-pp__desc { font-size: 1rem; line-height: 1.7; color: var(--bcre-text); }
.bcre-pp__desc p:last-child { margin-bottom: 0; }
.bcre-pp__h3 { margin: 1.25rem 0 .6rem; font-size: 1rem; color: var(--bcre-ink); }
.bcre-pp__hl { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .45rem 1.25rem; margin: 0; padding: 0; list-style: none; }
.bcre-pp__hl li { position: relative; padding-left: 1.5rem; }
.bcre-pp__hl li::before { content: ""; position: absolute; left: 0; top: .45em; width: .8rem; height: .45rem; border-left: 2px solid var(--bcre-accent); border-bottom: 2px solid var(--bcre-accent); transform: rotate(-45deg); }
.bcre-pp__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; margin: 0; }
.bcre-pp__facts > div { display: grid; grid-template-columns: minmax(110px, 40%) 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--bcre-line); }
.bcre-pp__facts dt { color: var(--bcre-muted); font-size: .9rem; }
.bcre-pp__facts dd { margin: 0; color: var(--bcre-ink); font-weight: 600; font-size: .93rem; }
@media (max-width: 640px) { .bcre-pp__facts { grid-template-columns: 1fr; } }
.bcre-pp__locaddr { margin: -.3rem 0 .8rem; color: var(--bcre-muted); }
.bcre-pp .bcre-map--single { border-radius: 10px; overflow: hidden; }
.bcre-pp__maplinks { display: flex; flex-wrap: wrap; gap: .5rem; margin: .9rem 0 0; }
.bcre-pp__area > .bcre-section { padding: 1.4rem 1.5rem; margin: 0 0 1.25rem; background: #fff; border: 1px solid var(--bcre-line); border-radius: 12px; }
.bcre-pp__area > .bcre-section > h2 { border-bottom: 0; padding-bottom: 0; font-size: 1.25rem; }
/* sidebar */
.bcre-pp__side { border-radius: 12px; border-top-width: 1px; box-shadow: 0 6px 24px rgba(16,24,40,.08); }
.bcre-pp .bcre-layout__side { top: 70px; }
.bcre-pp__sideprice { margin: 0 0 1rem; padding: 0 0 1rem; border-bottom: 1px solid var(--bcre-line); }
.bcre-pp__sideprice p { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; margin: 0 0 .25rem; }
.bcre-pp__sideprice span { font-size: .8rem; color: var(--bcre-muted); text-transform: uppercase; letter-spacing: .05em; font-weight: 700; }
.bcre-pp__sideprice strong { font-size: 1.35rem; color: var(--bcre-ink); }
.bcre-pp__side .bcre-broker { margin-bottom: 1rem; padding-bottom: 0; border-bottom: 0; }
.bcre-pp__quick { display: grid; grid-template-columns: 1fr auto; gap: .5rem; margin: 0 0 1.25rem; }
.bcre-pp__quick .bcre-btn { justify-content: center; text-align: center; }
.bcre-pp__formh { margin: 0 0 .6rem; padding-top: 1rem; border-top: 1px solid var(--bcre-line); font-size: 1rem; }
/* more listings */
.bcre-pp__similar { margin: 2.5rem 0 1.5rem; }
.bcre-pp__simhead { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin: 0 0 1rem; }
.bcre-pp__simhead h2 { margin: 0; font-size: 1.35rem; }
.bcre-pp__simhead a { font-weight: 600; color: var(--bcre-accent); }
/* mobile action bar */
.bcre-pp__bar { display: none; }
@media (max-width: 960px) {
	.bcre-pp__bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: .5rem; padding: .6rem .8rem calc(.6rem + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--bcre-line); box-shadow: 0 -4px 16px rgba(0,0,0,.08); }
	.bcre-pp__bar .bcre-btn { justify-content: center; text-align: center; }
	.bcre-pp .bcre-layout__side { top: auto; }
	.bcre-pp__tools span { display: none; }
	.bcre-pp__tabs a.bcre-pp__tabs-cta { display: none; }
}
/* full-screen photo viewer */
.bcre-lb { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: rgba(10,12,16,.96); color: #fff; }
.bcre-lb[hidden] { display: none; }
.bcre-lb__bar { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; font-size: .9rem; }
.bcre-lb__x, .bcre-lb__nav { border: 0; background: rgba(255,255,255,.12); color: #fff; border-radius: 999px; cursor: pointer; font-size: 1.4rem; line-height: 1; width: 44px; height: 44px; }
.bcre-lb__x:hover, .bcre-lb__nav:hover { background: rgba(255,255,255,.25); }
.bcre-lb__stage { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; padding: 0 4rem; }
.bcre-lb__stage img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 4px; }
.bcre-lb__nav { position: absolute; top: 50%; transform: translateY(-50%); }
.bcre-lb__nav--p { left: 1rem; } .bcre-lb__nav--n { right: 1rem; }
.bcre-lb__strip { display: flex; gap: 6px; padding: .75rem 1rem 1rem; overflow-x: auto; justify-content: safe center; }
.bcre-lb__strip button { flex: none; width: 84px; height: 58px; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; background: #222; cursor: pointer; opacity: .6; }
.bcre-lb__strip button.is-on { border-color: #fff; opacity: 1; }
.bcre-lb__strip img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 640px) { .bcre-lb__stage { padding: 0; } .bcre-lb__nav { width: 38px; height: 38px; } }
@media print { .bcre-pp__tabs, .bcre-pp__bar, .bcre-pp__tools, .bcre-mosaic__all, .bcre-pp__similar, .bcre-pp__quick { display: none !important; } .bcre-mosaic { height: 320px; } }

/* Map app: site menu button + drawer */
.bcre-top__menu { position: relative; padding: 0; border: 0; background: none; cursor: pointer; overflow: visible; }
.bcre-top__menu img { border-radius: 8px; }
.bcre-top__burger { position: absolute; right: -5px; bottom: -4px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.35); }
.bcre-top__burger::before { content: ""; position: absolute; left: 4px; right: 4px; top: 5px; height: 6px; border-top: 1.5px solid #333; border-bottom: 1.5px solid #333; }
.bcre-top__burger::after { content: ""; position: absolute; left: 4px; right: 4px; top: 7.5px; border-top: 1.5px solid #333; }
.bcre-drawer { position: absolute; inset: 0; z-index: 3000; }
.bcre-drawer[hidden] { display: none; }
.bcre-drawer__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.35); opacity: 0; transition: opacity .2s; }
.bcre-drawer__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(310px, 84vw); display: flex; flex-direction: column; background: #fff; box-shadow: 4px 0 24px rgba(0,0,0,.25); transform: translateX(-102%); transition: transform .2s ease; padding: env(safe-area-inset-top, 0) 0 env(safe-area-inset-bottom, 0) env(safe-area-inset-left, 0); }
.bcre-drawer.is-open .bcre-drawer__scrim { opacity: 1; }
.bcre-drawer.is-open .bcre-drawer__panel { transform: none; }
.bcre-drawer__head { display: flex; align-items: center; gap: .6rem; padding: 1rem; border-bottom: 1px solid #eee; }
.bcre-drawer__head img { width: 36px; height: 36px; border-radius: 8px; }
.bcre-drawer__head strong { flex: 1; font-size: 1rem; color: #1a1a1a; }
.bcre-drawer__x { width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f2f2f2; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.bcre-drawer__list { flex: 1; margin: 0; padding: .4rem 0; list-style: none; overflow-y: auto; }
.bcre-drawer__list a { display: block; padding: .85rem 1.2rem; color: #1a1a1a; font-weight: 600; font-size: 1rem; text-decoration: none; }
.bcre-drawer__list a:hover, .bcre-drawer__list a:focus { background: #f6f6f6; }
.bcre-drawer__list a[aria-current] { color: var(--bcre-accent, #7F0323); box-shadow: inset 3px 0 0 var(--bcre-accent, #7F0323); }
.bcre-drawer__list li.is-sub a { padding-left: 2.2rem; font-weight: 500; font-size: .95rem; color: #444; }
.bcre-drawer__foot { display: grid; gap: .5rem; padding: 1rem; border-top: 1px solid #eee; }
.bcre-drawer__call, .bcre-drawer__login { display: block; padding: .8rem; border-radius: 8px; text-align: center; font-weight: 700; text-decoration: none; }
.bcre-drawer__call { background: var(--bcre-accent, #7F0323); color: #fff; }
.bcre-drawer__login { border: 1px solid #ddd; color: #1a1a1a; }

.bcre-drawer .bcre-drawer__list a { color: #1a1a1a !important; }
.bcre-drawer .bcre-drawer__list li.is-sub a { color: #555 !important; }
.bcre-drawer .bcre-drawer__list a[aria-current] { color: var(--bcre-accent, #7F0323) !important; }
.bcre-drawer .bcre-drawer__call { color: #fff !important; }
.bcre-drawer .bcre-drawer__login { color: #1a1a1a !important; }
.bcre-drawer .bcre-drawer__x { color: #333; background: #ececec; }

.bcre-pp__tabs { background: #fff; box-shadow: 0 1px 0 var(--bcre-line); }
.bcre-pp__formh { margin: 0; padding: 0; border-top: 1px solid var(--bcre-line); padding-top: .25rem; }
.bcre-pp .bcre-pill--sale { background: var(--bcre-accent); border-color: var(--bcre-accent); color: #fff; }
.bcre-pp .bcre-pill--lease { background: #1f3b57; border-color: #1f3b57; color: #fff; }

.bcre-lb { background: #0b0d11 !important; }
.bcre-lb .bcre-lb__x, .bcre-lb .bcre-lb__nav { background: rgba(255,255,255,.14) !important; color: #fff !important; padding: 0; }

.bcre-pp__addr { flex-wrap: nowrap; align-items: flex-start; }
.bcre-pp__addr svg { margin-top: .2em; }
.bcre-pp__addr span { min-width: 0; }
.bcre-pp__addr a { flex: none; white-space: nowrap; }
@media (max-width: 560px) { .bcre-pp__addr { flex-wrap: wrap; } .bcre-pp__addr span { flex: 1 1 80%; } }

/* Phone fixes (11/02): the grid column grew past the screen (1fr = min-content); tab hover stuck on touch */
.bcre-layout > * { min-width: 0; }
@media (hover: hover) { .bcre-pp__tabs a:hover { color: var(--bcre-ink); border-bottom-color: var(--bcre-line); } }
@media (max-width: 960px) {
	.bcre-pp__layout, .bcre-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.bcre-single #main { padding-left: 16px; padding-right: 16px; }
	.bcre-pp__card, .bcre-pp__area > .bcre-section { padding: 1.1rem 1rem; border-radius: 10px; }
	.bcre-pp__desc { font-size: .97rem; line-height: 1.6; }
	.bcre-pp__tabs { margin-left: -16px; margin-right: -16px; padding: 0 8px; }
	.bcre-pp__tabs a { padding: .7rem .65rem; font-size: .9rem; }
	.bcre-pp__hl { grid-template-columns: 1fr; }
	.bcre-pp__facts > div { grid-template-columns: minmax(100px, 42%) 1fr; }
	.bcre-pp__side { padding: 1.1rem 1rem; }
}
