/* ══ CHL:BP_IDENTITY_BRIDGE v1 (Batch 5) ═══════════════════════════════════
   A restrained business-continuity strip for public DETAIL journeys reached
   from a Business Page. It is deliberately NOT the Business Page header: a
   transactional page must not inherit the editable BP renderer, and payment,
   stock, validation and security states must keep CHL application semantics.

   TOKEN LAYER: BP_IDENTITY_BRIDGE only — identity, return path, context
   border. It sets no colour on any button, price, warning or form control,
   so it cannot recolour a transaction state (§4). */
.bpib {
    background: #fff;
    border-bottom: 1px solid rgba(32, 26, 20, .10);
}
.bpib__in {
    max-width: 1260px; margin-inline: auto;
    padding: 10px clamp(14px, 4vw, 32px);
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    flex-wrap: wrap;
}
.bpib__id { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.bpib__logo {
    flex: none; width: 40px; height: 40px; border-radius: 10px;
    object-fit: cover; background: rgba(32, 26, 20, .06);
}
.bpib__logo--mono {
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 17px; color: #4b4038;
}
.bpib__txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.bpib__lbl {
    font-size: 11px; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: #7b7169;
}
/* the business name may be long — it truncates, it never wraps the strip */
.bpib__name {
    font-size: 15px; font-weight: 800; color: #201a14;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 46vw;
}
.bpib__back {
    flex: none; display: inline-flex; align-items: center; gap: 8px;
    min-height: 44px; padding: 0 16px; border-radius: 999px;
    border: 1px solid rgba(32, 26, 20, .18);
    font-size: 14px; font-weight: 700; color: #201a14; text-decoration: none;
    max-width: 100%;
}
.bpib__back:hover { background: rgba(32, 26, 20, .05); color: #201a14; text-decoration: none; }
.bpib__back:focus-visible { outline: 2px solid #201a14; outline-offset: 2px; }
.bpib__back span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 640px) {
    .bpib__in { padding: 9px 14px; gap: 10px; }
    .bpib__name { max-width: 58vw; }
    .bpib__back { width: 100%; justify-content: center; }
}
