/* Public site polish, 2026-10-04 (new file, loaded last): (1) business profile sidebar layout, (2) advanced search suggestions, (3) compact cards, (4) static pages + contact (bzp-*).
   Everything here is scoped under body.bz-site so it never touches the seller / admin panels. */

/* ------------------------------------------------------------------ 1. business profile: "Explore this profile" sidebar + content
   bitzo-market.css turns every .bd-body into a flex row (right for the Bootstrap .row detail pages) - that squeezed the hub's 288px sidebar to ~130px and the counts overlapped the labels. */
body.bz-site .bd-body.bd-hub-body { display: grid; grid-template-columns: 288px minmax(0, 1fr); gap: 28px; align-items: start; padding-top: 22px; }
body.bz-site .bd-hub-body > .bd-menu-col, body.bz-site .bd-hub-body > .bd-main { min-width: 0; width: auto; max-width: none; flex: none; }
body.bz-site .bd-hub-body .bd-menu a { min-width: 0; }
body.bz-site .bd-hub-body .bd-menu a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1199.98px) { body.bz-site .bd-body.bd-hub-body { grid-template-columns: 250px minmax(0, 1fr); gap: 22px; } }
@media (max-width: 991.98px) { body.bz-site .bd-body.bd-hub-body { grid-template-columns: minmax(0, 1fr); gap: 16px; } body.bz-site .bd-hub-body .bd-menu a span { overflow: visible; } }

/* ------------------------------------------------------------------ 2. advanced search suggestions */
body.bz-site .bitzo-search-suggest { max-height: min(72vh, 540px); padding: 8px; border-radius: 18px; box-shadow: 0 18px 50px rgba(20, 17, 27, .18); }
body.bz-site .bitzo-search-suggest .bz-sg-item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; justify-content: stretch; gap: 12px; padding: 9px 10px; border-radius: 13px; color: var(--bz-ink); }
body.bz-site .bitzo-search-suggest .bz-sg-item:hover, body.bz-site .bitzo-search-suggest .bz-sg-item.on, body.bz-site .bitzo-search-suggest .bz-sg-all.on { background: var(--bz-primary-50); color: var(--bz-ink); }
.bz-sg-th { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 13px; overflow: hidden; background: var(--bz-primary-50); color: var(--bz-primary-700, #7a5a00); font-size: 17px; font-weight: 800; flex: none; }
.bz-sg-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bz-sg-th.t-business { background: #fff; border: 1px solid var(--bz-line); color: var(--bz-ink); }
.bz-sg-th.t-category { background: #E8F0FF; color: #1F5FD6; } .bz-sg-th.t-city { background: #E5F6F1; color: #0E8A6C; } .bz-sg-th.t-offer { background: #FDEBEE; color: #C8324E; } .bz-sg-th.t-reward { background: #F1EAFF; color: #7241D6; }
.bz-sg-th.t-product, .bz-sg-th.t-service { background: #F2F3F7; color: #596075; }
.bz-sg-main { display: block; min-width: 0; }
.bz-sg-name { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-sg-name mark { padding: 0 1px; border-radius: 3px; background: rgba(255, 196, 0, .38); color: inherit; }
.bz-sg-vt { margin-left: 6px; font-size: 12px; color: var(--bz-ok, #1BA55A); }
.bz-sg-sub { display: block; margin-top: 1px; font-size: 12px; line-height: 1.35; color: var(--bz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-sg-side { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }
.bz-sg-mood { display: inline-flex; gap: 8px; font-size: 12px; white-space: nowrap; } .bz-sg-mood .h b { color: #157347; } .bz-sg-mood .u b { color: #B42334; }
.bz-sg-meta { font-size: 12.5px; font-weight: 700; color: var(--bz-ink); white-space: nowrap; }
.bz-sg-tag { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8F889B; }
body.bz-site .bitzo-search-suggest .bz-sg-all { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 6px 2px 0; padding: 12px; border-radius: 13px; background: #F6F7FA; font-size: 13.5px; font-weight: 700; color: var(--bz-ink); }
body.bz-site .bitzo-search-suggest .bz-sg-all:hover { background: var(--bz-primary-50); }
@media (max-width: 575px) { body.bz-site .bitzo-search-suggest .bz-sg-item { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; } .bz-sg-th { width: 40px; height: 40px; } .bz-sg-tag { display: none; } }

/* ------------------------------------------------------------------ 3. cards: tighter, and the supplied 3D illustrations instead of grey icon boxes / giant initials */
body.bz-site .ph-ill { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: radial-gradient(circle at 50% 38%, #fff 0, var(--bz-primary-50) 72%); }
body.bz-site .ph-ill img { width: 54%; max-width: 150px; max-height: 76%; height: auto; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(27, 23, 33, .14)); transition: transform .3s ease; }
body.bz-site .bz-mcard:hover .ph-ill img, body.bz-site .bz-bcard:hover .ph-ill img { transform: scale(1.06) rotate(-2deg); }
body.bz-site .bz-mcard .cover { aspect-ratio: 4 / 3; }
body.bz-site .bz-mcard h3 { min-height: 0; }
body.bz-site .bz-mcard .body { gap: 5px; padding: 10px 12px 12px; }
body.bz-site .bz-mcard .foot { padding-top: 8px; }
body.bz-site .bz-bcard .cover { aspect-ratio: 4 / 3; }
body.bz-site .bz-bcard .body { gap: 4px; padding: 10px 12px 12px; }
/* business card used in lists */
body.bz-site .bz-biz3 .cv { height: 92px; }
body.bz-site .bz-biz3 .cv:has(.cv-ph) { height: 72px; background: linear-gradient(120deg, #FFF1BE 0%, #FFF8DD 55%, #fff 100%); }
body.bz-site .bz-biz3 .cv-ph { inset: 0; justify-content: center; opacity: 1; }
body.bz-site .bz-biz3 .cv-ph img { height: 64px; width: auto; transform: translateY(8px); filter: drop-shadow(0 8px 10px rgba(27, 23, 33, .16)); }
body.bz-site .bz-biz3 .bd { gap: 8px; padding: 0 16px 14px; }
body.bz-site .bz-biz3 .top { margin-top: -26px; gap: 12px; }
body.bz-site .bz-biz3 .thumb { width: 60px; height: 60px; border-radius: 16px; font-size: 22px; }
body.bz-site .bz-biz3 .info { padding-top: 30px; }
body.bz-site .bz-biz3 .desc { line-height: 1.55; }
@media (max-width: 575px) { body.bz-site .bz-biz3 .cv { height: 80px; } body.bz-site .bz-biz3 .bd { padding: 0 14px 12px; } }
