/* ==========================================================================
   BITZO — Public site design system (loaded after style.css, public pages only)
   One container, one type scale, one card, one set of buttons. Poppins only. Solid colours, thin borders, very light shadows.
   Prefix bz-  = new components.  Old .bitzo-* classes that pages still use are re-styled at the end so nothing looks like a separate template.
   ========================================================================== */

:root {
	/* palette — brand purple stays, the canvas is a clean neutral (no lavender wash, no gradients) */
	--bitzo-primary: #5B0C9A;
	--bitzo-dark: #3D0A6B;
	--bitzo-bright: #7A2BC4;
	--bitzo-bg: #F6F5F9;
	--bitzo-hero-bg: #F6F5F9;
	--bitzo-surface: #FFFFFF;
	--bitzo-paper: #EFEDF4;
	--bitzo-text: #1B1721;
	--bitzo-text-muted: #6B6675;
	--bitzo-border: #E5E2EB;
	--bitzo-gradient: #5B0C9A;
	--bitzo-gradient-soft: #F4EEFB;
	--bitzo-radius: 14px;
	--bitzo-radius-sm: 10px;
	--bitzo-shadow: 0 1px 2px rgba(27, 23, 33, .04), 0 4px 14px rgba(27, 23, 33, .05);
	--bitzo-shadow-hover: 0 10px 28px rgba(27, 23, 33, .10);

	--bz-primary: #5B0C9A;
	--bz-primary-700: #4A0A80;
	--bz-primary-50: #F4EEFB;
	--bz-primary-100: #E9DDF6;
	--bz-ink: #1B1721;
	--bz-muted: #6B6675;
	--bz-line: #E5E2EB;
	--bz-ok: #16803C;
	--bz-ok-50: #E7F4EC;
	--bz-warn: #B45309;
	--bz-warn-50: #FDF0E3;
	--bz-danger: #C0362C;
	--bz-star: #E8A317;
	--bz-gold: #B9852A;
	--bz-gold-50: #FBF3E1;
	--bz-sage: #3F6D50;
	--bz-sage-50: #E7F1EA;
	--bz-coral: #C2452A;
	--bz-coral-50: #FBE9E2;
	--bz-container: 1240px;
	--bz-gutter: 20px;
	--bz-r: 14px;
	--bz-r-sm: 10px;
	--bz-shadow: 0 1px 2px rgba(27, 23, 33, .04), 0 4px 14px rgba(27, 23, 33, .05);
	--bz-shadow-hover: 0 10px 28px rgba(27, 23, 33, .10);
	--bz-sticky: 108px;
}

body.bz-site {
	font-family: 'Poppins', sans-serif;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--bz-ink);
	background: var(--bitzo-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
body.bz-site button, body.bz-site input, body.bz-site select, body.bz-site textarea { font-family: inherit; }
body.bz-site a { color: inherit; text-decoration: none; }
body.bz-site img { max-width: 100%; }
body.bz-site :focus-visible { outline: 2px solid var(--bz-primary); outline-offset: 2px; }
body.bz-site ::selection { background: var(--bz-primary-100); }

/* ---------- Layout primitives ---------- */
.bz-container { width: 100%; max-width: var(--bz-container); margin: 0 auto; padding: 0 var(--bz-gutter); }
.bz-section { padding: 56px 0 0; }
.bz-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.bz-sec-head h2 { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }
.bz-sec-head p { margin: 4px 0 0; font-size: 14px; color: var(--bz-muted); }
.bz-sec-head .bz-more { flex: none; display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 500; color: var(--bz-primary); white-space: nowrap; padding: 6px 2px; }
.bz-sec-head .bz-more:hover { text-decoration: underline; }
.bz-sec-head .bz-more i { font-size: 11px; transition: transform .15s ease; }
.bz-sec-head .bz-more:hover i { transform: translateX(3px); }

/* ---------- Buttons: primary · secondary · outline · ghost · danger ---------- */
.bz-btn, body.bz-site .bitzo-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 20px;
	border: 1.5px solid transparent; border-radius: 10px; font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1; white-space: nowrap;
	cursor: pointer; text-decoration: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .1s ease;
}
.bz-btn:active, body.bz-site .bitzo-btn:active { transform: translateY(1px); }
.bz-btn-primary, body.bz-site .bitzo-btn-primary { background: var(--bz-primary); border-color: var(--bz-primary); color: #fff !important; box-shadow: none; }
.bz-btn-primary:hover, body.bz-site .bitzo-btn-primary:hover { background: var(--bz-primary-700); border-color: var(--bz-primary-700); }
.bz-btn-secondary { background: var(--bz-primary-50); border-color: var(--bz-primary-50); color: var(--bz-primary); }
.bz-btn-secondary:hover { background: var(--bz-primary-100); border-color: var(--bz-primary-100); }
.bz-btn-outline, body.bz-site .bitzo-btn-outline { background: #fff; border-color: var(--bz-line); color: var(--bz-ink); }
.bz-btn-outline:hover, body.bz-site .bitzo-btn-outline:hover { border-color: var(--bz-primary); color: var(--bz-primary); background: #fff; }
.bz-btn-ghost { background: transparent; border-color: transparent; color: var(--bz-ink); }
.bz-btn-ghost:hover { background: var(--bz-primary-50); color: var(--bz-primary); }
.bz-btn-danger { background: #fff; border-color: #F0C9C5; color: var(--bz-danger); }
.bz-btn-danger:hover { background: #FDEDEB; border-color: var(--bz-danger); }
body.bz-site .bitzo-btn-white { background: #fff; border-color: #fff; color: var(--bz-primary); }
body.bz-site .bitzo-btn-whatsapp { background: #fff; border-color: var(--bz-line); color: var(--bz-ink); }
body.bz-site .bitzo-btn-whatsapp i { color: #1FA855; }
.bz-btn-sm, body.bz-site .bitzo-btn-sm { min-height: 36px; padding: 0 14px; font-size: 13px; border-radius: 9px; }
.bz-btn-lg { min-height: 50px; padding: 0 28px; font-size: 15px; border-radius: 12px; }
.bz-btn-block { display: flex; width: 100%; }
.bz-btn[disabled], body.bz-site .bitzo-btn[disabled] { opacity: .55; cursor: not-allowed; }

.bz-icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--bz-ink); font-size: 18px; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.bz-icon-btn:hover { background: var(--bz-primary-50); color: var(--bz-primary); }

/* ---------- Chips + badges ---------- */
.bz-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 15px; border: 1px solid var(--bz-line); border-radius: 999px; background: #fff; color: var(--bz-ink); font-size: 13px; font-weight: 500; white-space: nowrap; transition: border-color .15s ease, color .15s ease, background-color .15s ease, transform .15s ease; }
.bz-chip i { font-size: 12px; color: var(--bz-primary); }
.bz-chip small { font-size: 11.5px; color: var(--bz-muted); font-weight: 400; }
.bz-chip:hover { border-color: var(--bz-primary); color: var(--bz-primary); background: var(--bz-primary-50); transform: translateY(-1px); }
.bz-chip.on { background: var(--bz-primary); border-color: var(--bz-primary); color: #fff; }
.bz-chip.on i, .bz-chip.on small { color: #fff; }
.bz-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 500; line-height: 1.5; background: var(--bz-primary-50); color: var(--bz-primary); }
.bz-badge.ok { background: var(--bz-ok-50); color: var(--bz-ok); }
.bz-badge.warn { background: var(--bz-warn-50); color: var(--bz-warn); }
.bz-badge.gold { background: var(--bz-gold-50); color: #7A5B1E; }
.bz-badge.off { background: #F1EEF4; color: #6B6675; }
.bz-badge.coral { background: var(--bz-coral-50); color: var(--bz-coral); }
.bz-stars { color: var(--bz-star); font-size: 12px; }

/* ==========================================================================
   HEADER  (two levels, compact, sticky)
   ========================================================================== */
.bz-header { position: sticky; top: 0; z-index: 1030; background: #fff; border-bottom: 1px solid var(--bz-line); transition: box-shadow .2s ease; }
.bz-header.is-scrolled { box-shadow: 0 4px 18px rgba(27, 23, 33, .07); }
.bz-top { display: flex; align-items: center; gap: 18px; min-height: 66px; }
.bz-logo { flex: none; display: inline-flex; align-items: center; }
.bz-logo img { height: 30px; width: auto; display: block; }
.bz-burger { display: none; margin-left: -8px; }

.bz-searchbar { position: relative; flex: 1 1 auto; max-width: 720px; display: flex; align-items: stretch; height: 46px; border: 1.5px solid var(--bz-line); border-radius: 12px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.bz-searchbar:focus-within { border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
.bz-loc { flex: none; display: inline-flex; align-items: center; gap: 8px; max-width: 190px; padding: 0 14px; border: 0; border-right: 1px solid var(--bz-line); border-radius: 11px 0 0 11px; background: #FAF9FC; color: var(--bz-ink); font-size: 13.5px; font-weight: 500; cursor: pointer; transition: background-color .15s ease; }
.bz-loc:hover { background: var(--bz-primary-50); }
.bz-loc > i:first-child { color: var(--bz-primary); font-size: 14px; }
.bz-loc span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-loc .caret { font-size: 9px; color: var(--bz-muted); }
.bz-search { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; margin: 0; }
.bz-search .lens { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #9A93A5; font-size: 14px; pointer-events: none; }
.bz-search input { flex: 1; min-width: 0; height: 100%; padding: 0 12px 0 42px; border: 0; outline: 0; background: transparent; font-size: 14px; color: var(--bz-ink); }
.bz-search input::placeholder { color: #8F889B; }
.bz-search-btn { flex: none; height: calc(100% - 8px); margin: 4px; padding: 0 20px; border: 0; border-radius: 9px; background: var(--bz-primary); color: #fff; font-size: 13.5px; font-weight: 500; cursor: pointer; transition: background-color .15s ease; }
.bz-search-btn:hover { background: var(--bz-primary-700); }

.bz-actions { flex: none; margin-left: auto; display: flex; align-items: center; gap: 8px; }
.bz-bell .dot { position: absolute; top: 5px; right: 4px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px; background: var(--bz-danger); color: #fff; font-size: 10px; font-weight: 600; line-height: 17px; text-align: center; border: 2px solid #fff; box-sizing: content-box; }
.bz-profile { display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 14px 0 6px; border: 1px solid var(--bz-line); border-radius: 999px; font-size: 13.5px; font-weight: 500; transition: border-color .15s ease, background-color .15s ease; }
.bz-profile:hover { border-color: var(--bz-primary); background: var(--bz-primary-50); }
.bz-profile .bitzo-avatar-initial { width: 30px; height: 30px; font-size: 12px; }
.bz-login { min-height: 42px; }

.bz-mobile-search { display: none; padding-bottom: 12px; }
.bz-mobile-search .bz-search { height: 46px; border: 1.5px solid var(--bz-line); border-radius: 12px; background: #fff; }
.bz-mobile-search .bz-search:focus-within { border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
.bz-loc-chip { flex: none; display: inline-flex; align-items: center; gap: 6px; max-width: 120px; height: 32px; margin-right: 7px; padding: 0 11px; border: 0; border-radius: 999px; background: var(--bz-primary-50); color: var(--bz-primary); font-size: 12px; font-weight: 500; cursor: pointer; }
.bz-loc-chip i { font-size: 11px; }
.bz-loc-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.bz-nav { border-top: 1px solid #EFECF3; background: #fff; }
.bz-nav-inner { display: flex; align-items: center; gap: 2px; height: 46px; overflow-x: auto; scrollbar-width: none; }
.bz-nav-inner::-webkit-scrollbar { display: none; }
.bz-nav a, .bz-nav-more > button { position: relative; flex: none; display: inline-flex; align-items: center; gap: 6px; height: 46px; padding: 0 14px; border: 0; background: transparent; font-size: 13.5px; font-weight: 500; color: #3B3644; cursor: pointer; transition: color .15s ease; }
.bz-nav a::after, .bz-nav-more > button::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 0; height: 2.5px; border-radius: 3px 3px 0 0; background: var(--bz-primary); transform: scaleX(0); transform-origin: center; transition: transform .18s ease; }
.bz-nav a:hover, .bz-nav-more > button:hover { color: var(--bz-primary); }
.bz-nav a:hover::after, .bz-nav-more > button:hover::after { transform: scaleX(.5); }
.bz-nav a.active, .bz-nav-more > button.active { color: var(--bz-primary); font-weight: 600; }
.bz-nav a.active::after, .bz-nav-more > button.active::after { transform: scaleX(1); }
.bz-nav-more { position: relative; flex: none; }
.bz-nav-more > button i { font-size: 9px; }
.bz-nav-more .dropdown-menu { margin-top: 0; min-width: 220px; padding: 8px; border: 1px solid var(--bz-line); border-radius: 12px; box-shadow: 0 12px 30px rgba(27, 23, 33, .12); animation: bzPop .16s ease; }
.bz-nav-more .dropdown-item { padding: 9px 12px; border-radius: 8px; font-size: 13.5px; color: #3B3644; }
.bz-nav-more .dropdown-item:hover { background: var(--bz-primary-50); color: var(--bz-primary); }
@keyframes bzPop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* search suggestions (JS builds the rows; only the look changes) */
.bz-searchbar .bitzo-search-suggest, .bz-hero-search .bitzo-search-suggest { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; right: 0; max-height: 420px; overflow-y: auto; padding: 8px; background: #fff; border: 1px solid var(--bz-line); border-radius: 14px; box-shadow: 0 16px 40px rgba(27, 23, 33, .14); text-align: left; animation: bzPop .16s ease; }
.bitzo-search-suggest[hidden] { display: none; }
.bitzo-search-suggest-group + .bitzo-search-suggest-group { margin-top: 6px; padding-top: 6px; border-top: 1px solid #F0EDF4; }
.bitzo-search-suggest-group-label { padding: 6px 12px 4px; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: #8F889B; }
.bitzo-search-suggest-group a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 9px; font-size: 13.5px; color: var(--bz-ink); }
.bitzo-search-suggest-group a:hover { background: var(--bz-primary-50); color: var(--bz-primary); }
.bitzo-search-suggest-group a .type { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--bz-muted); }
.bitzo-search-suggest-group a .type-premium { padding: 1px 7px; border-radius: 99px; background: var(--bz-gold-50); color: #7A5B1E; font-size: 10px; font-weight: 600; }
.bitzo-search-suggest-empty { padding: 14px 12px; font-size: 13px; color: var(--bz-muted); }

/* mobile menu */
.bz-drawer.offcanvas { width: min(320px, 86vw); border: 0; border-radius: 0 18px 18px 0; font-family: 'Poppins', sans-serif; }
.bz-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 14px 20px; border-bottom: 1px solid var(--bz-line); }
.bz-drawer-head img { height: 28px; display: block; }
.bz-drawer-body { padding: 18px 16px 28px; overflow-y: auto; }
.bz-drawer-auth { display: grid; gap: 10px; margin-bottom: 18px; }
.bz-drawer-user { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--bz-line); border-radius: 12px; }
.bz-drawer-user small { display: block; font-size: 12px; color: var(--bz-muted); }
.bz-drawer-nav { display: flex; flex-direction: column; gap: 2px; }
.bz-drawer-nav a { display: flex; align-items: center; gap: 14px; padding: 12px 12px; border-radius: 10px; font-size: 14.5px; font-weight: 500; color: #3B3644; }
.bz-drawer-nav a i { width: 20px; text-align: center; color: #8F889B; }
.bz-drawer-nav a:hover, .bz-drawer-nav a.active { background: var(--bz-primary-50); color: var(--bz-primary); }
.bz-drawer-nav a.active i, .bz-drawer-nav a:hover i { color: var(--bz-primary); }
.bz-drawer-nav.small a { padding: 9px 12px; font-size: 13.5px; font-weight: 400; }
.bz-drawer-label { margin: 22px 12px 6px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8F889B; }

/* city modal (existing markup, cleaner look) */
.bitzo-city-modal-content { border: 0; border-radius: 18px; }
.bitzo-city-modal-title { font-size: 18px; font-weight: 600; }
.bitzo-city-modal-search { position: relative; margin: 14px 0 18px; }
.bitzo-city-modal-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #9A93A5; }
.bitzo-city-modal-search input { width: 100%; height: 46px; padding: 0 14px 0 40px; border: 1.5px solid var(--bz-line); border-radius: 12px; font-size: 14px; }
.bitzo-city-modal-search input:focus { outline: none; border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
.bitzo-city-modal-label { margin: 0 0 8px; font-size: 11.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: #8F889B; }
.bitzo-city-modal-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0; border-radius: 10px; background: transparent; font-size: 14px; font-weight: 500; text-align: left; cursor: pointer; transition: background-color .15s ease; }
.bitzo-city-modal-item i:first-child { color: var(--bz-primary); }
.bitzo-city-modal-item:hover, .bitzo-city-modal-item.active { background: var(--bz-primary-50); color: var(--bz-primary); }

/* ==========================================================================
   FOOTER + BOTTOM NAVIGATION
   ========================================================================== */
.bz-footer { margin-top: 72px; background: #1E1428; color: #C9C1D6; }
.bz-footer a { color: #C9C1D6; transition: color .15s ease; }
.bz-footer a:hover { color: #fff; }
.bz-foot-grid { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px; padding: 56px 0 44px; }
.bz-foot-brand img { height: 30px; margin-bottom: 16px; filter: brightness(0) invert(1); }
.bz-foot-brand p { margin: 0 0 20px; max-width: 300px; font-size: 13.5px; line-height: 1.75; }
.bz-foot-social { display: flex; gap: 8px; margin-bottom: 26px; }
.bz-foot-social a { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: rgba(255, 255, 255, .07); font-size: 15px; }
.bz-foot-social a:hover { background: var(--bz-primary); }
.bz-foot-col h5 { margin: 0 0 16px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: #fff; }
.bz-foot-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.bz-foot-col li a { font-size: 13.5px; }
.bz-foot-news h5 { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: #fff; }
.bz-foot-news p { margin: 0 0 12px; font-size: 12.5px; }
.bz-foot-news form { display: flex; gap: 6px; max-width: 320px; padding: 4px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; background: rgba(255, 255, 255, .05); }
.bz-foot-news input { flex: 1; min-width: 0; padding: 0 12px; border: 0; outline: 0; background: transparent; color: #fff; font-size: 13.5px; }
.bz-foot-news input::placeholder { color: #9C93AB; }
.bz-foot-news button { width: 40px; height: 40px; border: 0; border-radius: 9px; background: var(--bz-primary); color: #fff; cursor: pointer; }
.bz-foot-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 12.5px; }
.bz-foot-bottom nav { display: flex; gap: 20px; flex-wrap: wrap; }

body.bz-site { padding-bottom: 0; }
.bz-bnav { display: none; }
@media (max-width: 991px) {
	body.bz-site { padding-bottom: 72px; }
	.bz-bnav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1020; display: grid; grid-template-columns: repeat(5, 1fr); height: 64px; padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--bz-line); box-shadow: 0 -4px 20px rgba(27, 23, 33, .06); }
	.bz-bnav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-size: 10.5px; font-weight: 500; color: #7A7485; transition: color .15s ease; }
	.bz-bnav a i { font-size: 18px; }
	.bz-bnav a.active { color: var(--bz-primary); }
	.bz-bnav a.active i { transform: translateY(-1px); }
	.bz-foot-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding-top: 44px; }
	.bz-foot-brand, .bz-foot-news { grid-column: 1 / -1; }
	.bz-footer { margin-top: 56px; }
}

/* ---------- header / navigation responsive ---------- */
@media (max-width: 991px) {
	.bz-top { gap: 8px; min-height: 58px; }
	.bz-burger { display: inline-flex; }
	.bz-searchbar { display: none; }
	.bz-nav { display: none; }
	.bz-mobile-search { display: block; }
	.bz-join, .bz-login span, .bz-profile .nm { display: none; }
	.bz-login { width: 42px; padding: 0; }
	.bz-profile { padding: 0 6px; }
	.bz-logo img { height: 27px; }
	.bz-sec-head h2 { font-size: 19px; }
	.bz-section { padding-top: 40px; }
}
@media (max-width: 480px) {
	:root { --bz-gutter: 16px; }
	.bz-foot-grid { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .bz-btn, .bz-chip, .bz-nav a::after, .bitzo-search-suggest { transition: none; animation: none; } }

/* ==========================================================================
   HOME — hero, categories, trending, and the listing cards used everywhere
   ========================================================================== */
.bz-hero { position: relative; background: #fff; border-bottom: 1px solid var(--bz-line); overflow: hidden; }
.bz-hero::before, .bz-hero::after { content: ''; position: absolute; pointer-events: none; width: 340px; height: 340px; background-image: radial-gradient(circle, #DCCBEE 1.6px, transparent 1.7px); background-size: 22px 22px; opacity: .7; }
.bz-hero::before { left: -70px; top: -60px; }
.bz-hero::after { right: -70px; bottom: -70px; }
.bz-hero-inner { position: relative; z-index: 1; max-width: 880px; margin: 0 auto; padding: 60px 0 52px; text-align: center; }
.bz-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: var(--bz-primary-50); color: var(--bz-primary); font-size: 12.5px; font-weight: 500; }
.bz-hero h1 { margin: 18px 0 0; font-size: 40px; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.bz-hero h1 span { color: var(--bz-primary); }
.bz-hero .lead { margin: 14px auto 0; max-width: 620px; font-size: 16px; line-height: 1.7; color: var(--bz-muted); }
.bz-hero-search { position: relative; display: flex; align-items: stretch; height: 64px; margin: 30px auto 0; text-align: left; border: 1.5px solid var(--bz-line); border-radius: 16px; background: #fff; box-shadow: 0 10px 34px rgba(27, 23, 33, .08); transition: border-color .15s ease, box-shadow .15s ease; }
.bz-hero-search:focus-within { border-color: var(--bz-primary); box-shadow: 0 10px 34px rgba(91, 12, 154, .14); }
.bz-hero-search .bz-loc { max-width: 210px; padding: 0 20px; font-size: 14px; border-radius: 15px 0 0 15px; }
.bz-hero-search .bz-hero-form { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; margin: 0; }
.bz-hero-search .lens { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); color: #9A93A5; font-size: 16px; pointer-events: none; }
.bz-hero-search input { flex: 1; min-width: 0; height: 100%; padding: 0 12px 0 52px; border: 0; outline: 0; background: transparent; font-size: 16px; }
.bz-hero-search .bz-search-btn { height: calc(100% - 12px); margin: 6px; padding: 0 30px; border-radius: 11px; font-size: 15px; }
.bz-popular { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.bz-popular > span { font-size: 13px; font-weight: 500; color: var(--bz-muted); margin-right: 4px; }
.bz-popular a { padding: 6px 14px; border: 1px solid var(--bz-line); border-radius: 999px; background: #fff; font-size: 13px; color: #3B3644; transition: border-color .15s ease, color .15s ease, background-color .15s ease; }
.bz-popular a:hover { border-color: var(--bz-primary); color: var(--bz-primary); background: var(--bz-primary-50); }
.bz-facts { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 34px; margin-top: 30px; font-size: 13.5px; color: var(--bz-muted); }
.bz-facts b { color: var(--bz-ink); font-weight: 600; }
.bz-facts span { display: inline-flex; align-items: center; gap: 8px; }
.bz-facts i { color: var(--bz-primary); }

/* Featured slider (paid + admin slides) sits right under the hero */
.bz-featured { padding-top: 32px; }
.bitzo-home-slider { max-width: var(--bz-container); margin: 0 auto; padding: 0 var(--bz-gutter); }
.bitzo-slider, .bitzo-slider .carousel-inner { border-radius: 16px; box-shadow: none; }
.bitzo-slider { border: 1px solid var(--bz-line); }

/* Category cards */
.bz-cats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.bz-cat { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bz-cat .ic { flex: none; width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--bz-primary-50); color: var(--bz-primary); font-size: 19px; transition: background-color .18s ease, color .18s ease; }
.bz-cat .tx { min-width: 0; }
.bz-cat strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bz-cat small { display: block; margin-top: 1px; font-size: 12px; color: var(--bz-muted); }
.bz-cat:hover { transform: translateY(-2px); border-color: #D5C2EA; box-shadow: var(--bz-shadow-hover); }
.bz-cat:hover .ic { background: var(--bz-primary); color: #fff; }

/* Trending near you: compact discovery chips */
.bz-trend { padding: 24px 26px; border: 1px solid var(--bz-line); border-radius: 18px; background: #fff; }
.bz-trend-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.bz-trend-head h2 { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 600; }
.bz-trend-head h2 i { color: var(--bz-coral); }
.bz-trend-head p { margin: 4px 0 0; font-size: 13.5px; color: var(--bz-muted); }
.bz-trend-chips { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- Horizontal rows: 5 across on desktop, swipeable below ---------- */
.bz-row5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 991px) {
	.bz-row5 { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--bz-gutter) * -1); padding: 2px var(--bz-gutter) 10px; }
	.bz-row5::-webkit-scrollbar { display: none; }
	.bz-row5 > * { flex: 0 0 min(210px, 62vw); scroll-snap-align: start; }
	.bz-cats { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--bz-gutter) * -1); padding: 2px var(--bz-gutter) 10px; }
	.bz-cats::-webkit-scrollbar { display: none; }
	.bz-cats > * { flex: 0 0 min(230px, 66vw); scroll-snap-align: start; }
}

/* ---------- Offer card ---------- */
.bz-ocard { position: relative; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bz-ocard:hover { transform: translateY(-3px); box-shadow: var(--bz-shadow-hover); border-color: #D5C2EA; }
.bz-ocard .cover { position: relative; aspect-ratio: 16 / 10; background: #EFEDF4; overflow: hidden; }
.bz-ocard .cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.bz-ocard:hover .cover img { transform: scale(1.04); }
.bz-ocard .cover .ph { display: flex; align-items: center; justify-content: center; height: 100%; color: #C5BDD0; font-size: 34px; }
.bz-ocard .off { position: absolute; left: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 5px 11px; border-radius: 8px; background: var(--bz-coral); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-ocard .body { display: flex; flex-direction: column; gap: 5px; flex: 1; padding: 13px 14px 14px; }
.bz-ocard h3 { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; }
.bz-ocard .biz { display: flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 500; color: #4A4450; min-width: 0; }
.bz-ocard .biz span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-ocard .sub { font-size: 12px; color: var(--bz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-ocard .foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 9px; font-size: 12px; color: var(--bz-muted); }
.bz-cta { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--bz-primary); }
.bz-cta i { font-size: 10px; transition: transform .15s ease; }
a:hover > .bz-cta i, a:hover .bz-cta i { transform: translateX(3px); }
.bitzo-premium-badge { font-family: 'Poppins', sans-serif; }

/* ---------- Business directory card ---------- */
.bz-bizgrid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.bz-bizgrid > * { grid-column: span 2; }
.bz-bizgrid.n-1 > *, .bz-bizgrid.n-2 > *, .bz-bizgrid.n-4 > * { grid-column: span 3; }
.bz-bizgrid.n-5 > *:nth-child(n+4) { grid-column: span 3; }
/* Business tile ("Businesses near you" on the home page): same silhouette as .bz-pcard (square image, then text), sits in .bz-row5 = 5 across. */
.bz-bcard { position: relative; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bz-bcard:hover { transform: translateY(-3px); box-shadow: var(--bz-shadow-hover); border-color: #D5C2EA; }
.bz-bcard .cover { position: relative; aspect-ratio: 1 / 1; background: var(--bz-primary-50); overflow: hidden; }
.bz-bcard .cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.bz-bcard:hover .cover img { transform: scale(1.04); }
.bz-bcard .cover .ph { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--bz-primary); font-size: 44px; font-weight: 600; }
.bz-bcard .body { display: flex; flex-direction: column; gap: 4px; flex: 1; padding: 12px 13px 14px; }
.bz-bcard h3 { display: flex; align-items: center; gap: 5px; margin: 0; font-size: 14px; font-weight: 600; line-height: 1.4; }
.bz-bcard h3 .n { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-bcard .vt { flex: none; color: #1F7A45; font-size: 12.5px; }
.bz-bcard .biz { font-size: 12px; color: var(--bz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-bcard .meta { display: flex; align-items: center; flex-wrap: wrap; gap: 2px 12px; margin: 2px 0 4px; font-size: 12.5px; color: #4A4450; }
.bz-bcard .rate { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; }
.bz-bcard .rate i { color: var(--bz-star); font-size: 12px; }
.bz-bcard .rate small { font-weight: 400; color: var(--bz-muted); font-size: 12px; }
.bz-bcard .dist { display: inline-flex; align-items: center; gap: 5px; color: var(--bz-muted); font-size: 12px; }
.bz-bcard .foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 9px; font-size: 12px; }
.bz-biz { position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bz-biz:hover { transform: translateY(-2px); box-shadow: var(--bz-shadow-hover); border-color: #D5C2EA; }
.bz-biz .top { display: flex; gap: 14px; min-width: 0; }
.bz-biz .thumb { position: relative; flex: none; width: 84px; height: 84px; border-radius: 12px; overflow: hidden; background: var(--bz-primary-50); border: 1px solid #EFEAF5; display: flex; align-items: center; justify-content: center; color: var(--bz-primary); font-size: 28px; font-weight: 600; }
.bz-biz .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bz-biz .thumb .bitzo-premium-badge { top: 4px; left: 4px; padding: 1px 6px; font-size: 9px; }
.bz-biz .info { flex: 1; min-width: 0; }
.bz-biz h3 { display: flex; align-items: center; gap: 5px; margin: 0; font-size: 15.5px; font-weight: 600; line-height: 1.35; }
.bz-biz h3 span.n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-biz .vt { flex: none; color: #1F7A45; font-size: 13px; }
.bz-biz .cat { margin: 1px 0 0; font-size: 12.5px; color: var(--bz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-biz .meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; font-size: 12.5px; color: #4A4450; }
.bz-biz .rate { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; }
.bz-biz .rate i { color: var(--bz-star); font-size: 12px; }
.bz-biz .rate small { font-weight: 400; color: var(--bz-muted); font-size: 12px; }
.bz-biz .dist { display: inline-flex; align-items: center; gap: 5px; color: var(--bz-muted); }
.bz-biz .desc { margin: 0; font-size: 13px; line-height: 1.65; color: var(--bz-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bz-biz .foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; border-top: 1px solid #F0EDF4; }
.bz-biz .tags { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.bz-open { color: var(--bz-ok); font-weight: 500; display: inline-flex; align-items: center; gap: 5px; }
.bz-open::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.bz-open.closed { color: var(--bz-danger); }

/* ---------- Product + service cards (differently shaped on purpose) ---------- */
.bz-pcard, .bz-scard { position: relative; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bz-pcard:hover, .bz-scard:hover { transform: translateY(-3px); box-shadow: var(--bz-shadow-hover); border-color: #D5C2EA; }
.bz-pcard .cover { position: relative; aspect-ratio: 1 / 1; background: #EFEDF4; overflow: hidden; }
.bz-scard .cover { position: relative; aspect-ratio: 4 / 3; background: var(--bz-sage-50); overflow: hidden; }
.bz-pcard .cover img, .bz-scard .cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.bz-pcard:hover .cover img, .bz-scard:hover .cover img { transform: scale(1.04); }
.bz-pcard .cover .ph, .bz-scard .cover .ph { display: flex; align-items: center; justify-content: center; height: 100%; color: #C5BDD0; font-size: 32px; }
.bz-scard .cover .ph { color: #A9C4B3; }
.bz-scard .tag { position: absolute; left: 10px; top: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; background: #fff; color: var(--bz-sage); font-size: 11px; font-weight: 600; box-shadow: 0 1px 4px rgba(27, 23, 33, .12); }
.bz-pcard .body, .bz-scard .body { display: flex; flex-direction: column; gap: 4px; flex: 1; padding: 12px 13px 14px; }
.bz-pcard h3, .bz-scard h3 { margin: 0; font-size: 13.5px; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; }
.bz-pcard .biz, .bz-scard .biz { font-size: 12px; color: var(--bz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-price { display: flex; align-items: baseline; gap: 6px; margin-top: 4px; font-size: 16px; font-weight: 600; letter-spacing: -.01em; }
.bz-price small { font-size: 11.5px; font-weight: 400; color: var(--bz-muted); letter-spacing: 0; }
.bz-scard .bz-price { color: var(--bz-sage); }
.bz-pcard .foot, .bz-scard .foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 9px; font-size: 12px; color: var(--bz-muted); }
.bz-pcard .foot .loc, .bz-scard .foot .loc { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-pts { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 2px 9px; border-radius: 999px; background: var(--bz-gold-50); color: #7A5B1E; font-size: 11px; font-weight: 500; }
.bz-pts i { font-size: 10px; color: var(--bz-gold); }

/* ---------- Rewards band, steps, faq, trust ---------- */
.bz-rewards { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; padding: 40px 44px; border-radius: 22px; background: #2E0A4F; color: #fff; }
.bz-rewards h2 { margin: 0 0 12px; font-size: 28px; font-weight: 600; line-height: 1.25; letter-spacing: -.01em; }
.bz-rewards p { margin: 0 0 24px; max-width: 480px; font-size: 14.5px; line-height: 1.75; color: #DCCFEB; }
.bz-rewards .acts { display: flex; flex-wrap: wrap; gap: 10px; }
.bz-rewards .bz-btn-outline { background: transparent; border-color: rgba(255, 255, 255, .35); color: #fff; }
.bz-rewards .bz-btn-outline:hover { background: rgba(255, 255, 255, .1); border-color: #fff; color: #fff; }
.bz-rewards .bz-btn-primary { background: #fff; border-color: #fff; color: #2E0A4F !important; }
.bz-rewards .bz-btn-primary:hover { background: #F4EEFB; border-color: #F4EEFB; }
.bz-rw-steps { display: grid; gap: 12px; }
.bz-rw-step { display: flex; align-items: center; gap: 16px; padding: 14px 18px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; background: rgba(255, 255, 255, .06); }
.bz-rw-step .n { flex: none; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: #fff; color: #2E0A4F; font-weight: 600; }
.bz-rw-step b { display: block; font-size: 14px; font-weight: 600; }
.bz-rw-step span { font-size: 12.5px; color: #CFC0E2; }

.bz-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bz-step { padding: 22px 20px; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; }
.bz-step .ic { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--bz-primary-50); color: var(--bz-primary); font-size: 18px; margin-bottom: 14px; }
.bz-step h4 { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
.bz-step p { margin: 0; font-size: 13px; color: var(--bz-muted); }

.bz-faq { max-width: 820px; margin: 0 auto; display: grid; gap: 10px; }
.bz-faq .bitzo-faq-item { border: 1px solid var(--bz-line); border-radius: 12px; background: #fff; overflow: hidden; }
.bz-faq .bitzo-faq-q { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 16px 20px; border: 0; background: transparent; font-size: 14.5px; font-weight: 500; text-align: left; cursor: pointer; }
.bz-faq .bitzo-faq-q i { font-size: 12px; color: var(--bz-muted); transition: transform .18s ease; }
.bz-faq .bitzo-faq-q.open i, .bz-faq .bitzo-faq-q[aria-expanded="true"] i { transform: rotate(180deg); }
.bz-faq .bitzo-faq-a { padding: 0 20px 18px; font-size: 14px; line-height: 1.75; color: var(--bz-muted); }
.bz-faq .bitzo-faq-a[hidden] { display: none; }
.bz-faq .bitzo-faq-a p { margin: 0; }

.bz-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bz-trust > div { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px; border-radius: 12px; background: #fff; border: 1px solid var(--bz-line); font-size: 13.5px; font-weight: 500; }
.bz-trust i { color: var(--bz-primary); }

/* ---------- Home responsive ---------- */
@media (max-width: 991px) {
	.bz-hero-inner { padding: 40px 0 36px; }
	.bz-hero h1 { font-size: 30px; }
	.bz-hero .lead { font-size: 14.5px; }
	.bz-hero-search { flex-direction: column; height: auto; padding: 10px; gap: 10px; border-radius: 16px; }
	.bz-hero-search .bz-loc { max-width: none; width: 100%; height: 46px; border-right: 0; border: 1px solid var(--bz-line); border-radius: 10px; }
	.bz-hero-search .bz-hero-form { height: 50px; border: 1px solid var(--bz-line); border-radius: 10px; }
	.bz-hero-search input { font-size: 15px; padding-left: 44px; }
	.bz-hero-search .lens { left: 16px; }
	.bz-hero-search .bz-search-btn { height: 38px; margin: 6px; padding: 0 18px; border-radius: 8px; font-size: 14px; }
	.bz-bizgrid { grid-template-columns: minmax(0, 1fr); }
	.bz-bizgrid > *, .bz-bizgrid.n-5 > *:nth-child(n+4) { grid-column: auto !important; }
	.bz-rewards { grid-template-columns: minmax(0, 1fr); padding: 28px 22px; gap: 26px; }
	.bz-rewards h2 { font-size: 23px; }
	.bz-steps, .bz-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bz-trend { padding: 20px 18px; }
	.bz-facts { gap: 8px 20px; font-size: 12.5px; }
}
@media (max-width: 480px) {
	.bz-hero h1 { font-size: 26px; }
	.bz-trust > div { justify-content: flex-start; padding: 13px; font-size: 12.5px; }
}

/* ==========================================================================
   LISTING PAGES — search results, category, products, services, offers, categories, cities
   ========================================================================== */
body.bz-site .bitzo-breadcrumb { max-width: var(--bz-container); margin: 0 auto; padding: 18px var(--bz-gutter) 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 12.5px; color: var(--bz-muted); }
body.bz-site .bitzo-breadcrumb a { color: var(--bz-muted); }
body.bz-site .bitzo-breadcrumb a:hover { color: var(--bz-primary); }
body.bz-site .bitzo-breadcrumb .current { color: var(--bz-ink); font-weight: 500; }
body.bz-site .bitzo-breadcrumb i { font-size: 8px !important; color: #B5AEBF; }

.bz-page { max-width: var(--bz-container); margin: 0 auto; padding: 22px var(--bz-gutter) 0; }
.bz-pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 20px; }
.bz-pagehead h1 { margin: 0; font-size: 30px; font-weight: 600; letter-spacing: -.015em; line-height: 1.25; }
.bz-pagehead p { margin: 6px 0 0; font-size: 14px; color: var(--bz-muted); max-width: 720px; }
.bz-searchrow { display: flex; align-items: stretch; height: 52px; margin-bottom: 18px; border: 1.5px solid var(--bz-line); border-radius: 14px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.bz-searchrow:focus-within { border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
.bz-searchrow .bz-loc { border-radius: 13px 0 0 13px; }
.bz-searchrow form { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; margin: 0; }
.bz-searchrow .lens { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #9A93A5; pointer-events: none; }
.bz-searchrow input[type=text] { flex: 1; min-width: 0; height: 100%; padding: 0 12px 0 44px; border: 0; outline: 0; background: transparent; font-size: 14.5px; }
.bz-searchrow .bz-search-btn { height: calc(100% - 10px); margin: 5px; padding: 0 24px; }

.bz-tabs { display: flex; gap: 4px; margin-bottom: 24px; border-bottom: 1px solid var(--bz-line); overflow-x: auto; scrollbar-width: none; }
.bz-tabs::-webkit-scrollbar { display: none; }
.bz-tabs a { flex: none; position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; font-size: 14px; font-weight: 500; color: var(--bz-muted); transition: color .15s ease; }
.bz-tabs a::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 2.5px; border-radius: 3px 3px 0 0; background: var(--bz-primary); transform: scaleX(0); transition: transform .18s ease; }
.bz-tabs a:hover { color: var(--bz-primary); }
.bz-tabs a.on { color: var(--bz-primary); font-weight: 600; }
.bz-tabs a.on::after { transform: scaleX(1); }
.bz-tabs a i { font-size: 13px; }

/* two-column layout: filters + results (existing class names are kept: the filter forms are unchanged) */
body.bz-site .bitzo-category-layout { max-width: var(--bz-container); margin: 0 auto; padding: 0 var(--bz-gutter); display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 28px; align-items: start; }
body.bz-site .bitzo-sidebar { position: sticky; top: calc(var(--bz-sticky) + 14px); display: flex; flex-direction: column; gap: 14px; }
body.bz-site .bitzo-filter-card { padding: 20px; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; box-shadow: none; margin: 0; }
body.bz-site .bitzo-filter-card h5 { display: flex; align-items: center; justify-content: space-between; margin: 0 0 16px; font-size: 15px; font-weight: 600; }
body.bz-site .bitzo-filter-card h5 a { font-size: 12.5px; font-weight: 500; color: var(--bz-primary); }
body.bz-site .bitzo-filter-group { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid #F0EDF4; }
body.bz-site .bitzo-filter-group:last-of-type { border-bottom: 0; margin-bottom: 14px; padding-bottom: 0; }
body.bz-site .bitzo-filter-group .title { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #6B6675; }
body.bz-site .bitzo-filter-option { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; font-size: 13.5px; cursor: pointer; }
body.bz-site .bitzo-filter-option input { accent-color: var(--bz-primary); margin-right: 8px; }
body.bz-site .bitzo-filter-option .count { font-size: 12px; color: var(--bz-muted); }
body.bz-site .bitzo-location-card { display: flex; align-items: center; gap: 12px; }
body.bz-site .bitzo-location-card .icon { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--bz-primary-50); color: var(--bz-primary); }
body.bz-site .bitzo-location-card span { display: block; font-size: 12.5px; color: var(--bz-muted); }
body.bz-site .bitzo-select, body.bz-site .bitzo-input { width: 100%; height: 42px; padding: 0 12px; border: 1.5px solid var(--bz-line); border-radius: 10px; background: #fff; font-size: 13.5px; color: var(--bz-ink); transition: border-color .15s ease, box-shadow .15s ease; }
body.bz-site .bitzo-select:focus, body.bz-site .bitzo-input:focus { outline: none; border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }

body.bz-site .bitzo-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
body.bz-site .bitzo-toolbar h2 { margin: 0; font-size: 18px; font-weight: 600; }
body.bz-site .bitzo-toolbar .sub { display: block; margin-top: 2px; font-size: 13px; color: var(--bz-muted); }
body.bz-site .bitzo-toolbar-sort { display: flex; align-items: center; gap: 10px; }
body.bz-site .bitzo-toolbar-sort label { margin: 0; font-size: 13px; color: var(--bz-muted); white-space: nowrap; }
body.bz-site .bitzo-toolbar-sort .bitzo-select { width: auto; min-width: 170px; }
.bz-tool-right { display: flex; align-items: center; gap: 10px; }
.bz-filter-btn { display: none; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border: 1.5px solid var(--bz-line); border-radius: 10px; background: #fff; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.bz-filter-btn i { color: var(--bz-primary); }
.bz-filter-btn:hover { border-color: var(--bz-primary); }

/* result grids */
.bz-grid { display: grid; gap: 16px; }
.bz-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bz-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bz-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bz-grid.cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* pagination */
body.bz-site .bitzo-pagination { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; margin: 32px 0 8px; }
body.bz-site .bitzo-pagination a, body.bz-site .bitzo-pagination span { min-width: 40px; height: 40px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--bz-line); border-radius: 10px; background: #fff; font-size: 13.5px; font-weight: 500; transition: border-color .15s ease, color .15s ease; }
body.bz-site .bitzo-pagination a:hover { border-color: var(--bz-primary); color: var(--bz-primary); }
body.bz-site .bitzo-pagination .active { background: var(--bz-primary); border-color: var(--bz-primary); color: #fff; }
body.bz-site .bitzo-pagination .disabled { opacity: .45; pointer-events: none; }

/* empty + loading states */
.bz-empty, body.bz-site .bitzo-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 56px 24px; text-align: center; border: 1px dashed #D5CBE0; border-radius: 18px; background: #fff; }
.bz-empty > i, body.bz-site .bitzo-empty > i { width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 6px; border-radius: 50%; background: var(--bz-primary-50); color: var(--bz-primary); font-size: 24px; }
.bz-empty h3, .bz-empty h4, body.bz-site .bitzo-empty h4 { margin: 0; font-size: 18px; font-weight: 600; }
.bz-empty p, body.bz-site .bitzo-empty p { margin: 0 0 8px; max-width: 420px; font-size: 14px; line-height: 1.7; color: var(--bz-muted); }
.bz-empty .acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 4px; }

.bz-skel { display: block; border-radius: 10px; background: #ECE9F1; animation: bzPulse 1.2s ease-in-out infinite; }
@keyframes bzPulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
.bz-skel-grid { display: none; }
body.bz-loading .bz-results { display: none; }
body.bz-loading .bz-skel-grid { display: grid; }
.bz-skel-card { border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; padding: 14px; }
.bz-skel-card .img { aspect-ratio: 4 / 3; margin-bottom: 12px; }
.bz-skel-card .l1 { height: 14px; width: 82%; margin-bottom: 9px; }
.bz-skel-card .l2 { height: 12px; width: 55%; margin-bottom: 14px; }
.bz-skel-card .l3 { height: 14px; width: 38%; }
.bz-skel-biz { display: flex; gap: 14px; }
.bz-skel-biz .img { flex: none; width: 84px; height: 84px; }
.bz-skel-biz .col { flex: 1; }

/* categories + cities */
.bz-catgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bz-cat.tall { flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px; }
.bz-cityhead { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 34px 0 16px; }
.bz-cityhead h2 { margin: 0; font-size: 20px; font-weight: 600; }
.bz-cityhead small { font-size: 13px; color: var(--bz-muted); font-weight: 400; }
.bz-citygrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.bz-city { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bz-city .ic { flex: none; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--bz-primary-50); color: var(--bz-primary); }
.bz-city strong { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.bz-city small { display: block; margin-top: 1px; font-size: 12px; color: var(--bz-muted); }
.bz-city:hover { transform: translateY(-2px); border-color: #D5C2EA; box-shadow: var(--bz-shadow-hover); }
.bz-city.big { padding: 22px; }
.bz-city.big .ic { width: 50px; height: 50px; font-size: 20px; }
.bz-filter-input { position: relative; max-width: 420px; }
.bz-filter-input i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #9A93A5; }
.bz-filter-input input { width: 100%; height: 46px; padding: 0 14px 0 40px; border: 1.5px solid var(--bz-line); border-radius: 12px; background: #fff; font-size: 14px; }
.bz-filter-input input:focus { outline: none; border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }

/* ---------- Responsive: filters become a bottom sheet ---------- */
@media (max-width: 1100px) {
	.bz-grid.cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bz-grid.cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bz-catgrid, .bz-citygrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
	.bz-pagehead h1 { font-size: 24px; }
	.bz-searchrow { height: auto; flex-direction: column; padding: 8px; gap: 8px; border-radius: 14px; }
	.bz-searchrow .bz-loc { width: 100%; max-width: none; height: 44px; border: 1px solid var(--bz-line); border-radius: 10px; }
	.bz-searchrow form { height: 46px; border: 1px solid var(--bz-line); border-radius: 10px; }
	.bz-searchrow .bz-search-btn { height: 36px; margin: 5px; padding: 0 16px; }
	body.bz-site .bitzo-category-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.bz-filter-btn { display: inline-flex; }
	body.bz-site .bitzo-sidebar { position: fixed; z-index: 1060; left: 0; right: 0; bottom: 0; max-height: 86vh; overflow-y: auto; padding: 18px 16px 24px; border-radius: 20px 20px 0 0; background: var(--bitzo-bg); box-shadow: 0 -12px 40px rgba(27, 23, 33, .25); transform: translateY(105%); visibility: hidden; transition: transform .28s ease, visibility 0s linear .28s; }
	body.bz-filters-open .bitzo-sidebar { transform: none; visibility: visible; transition: transform .28s ease; }
	body.bz-filters-open::after { content: ''; position: fixed; inset: 0; z-index: 1055; background: rgba(27, 23, 33, .5); }
	body.bz-filters-open { overflow: hidden; }
	.bz-sheet-head { display: flex !important; }
	.bz-grid.cols-4, .bz-grid.cols-3, .bz-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.bz-grid.cols-2.biz { grid-template-columns: minmax(0, 1fr); }
	.bz-catgrid, .bz-citygrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
.bz-sheet-head { display: none; align-items: center; justify-content: space-between; margin-bottom: 4px; font-size: 16px; font-weight: 600; }
@media (max-width: 480px) {
	.bz-grid.cols-4, .bz-grid.cols-3, .bz-grid.cols-2:not(.biz) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bz-pagehead h1 { font-size: 22px; }
	.bz-catgrid, .bz-citygrid { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   Legacy alignment — old .bitzo-* classes that account / static / auth pages still use,
   re-skinned to the same card, spacing, colour and type rules (solid colours, thin borders).
   ========================================================================== */
body.bz-site .bitzo-section { padding: 40px 0 0; }
body.bz-site .bitzo-section-head { max-width: var(--bz-container); padding: 0 var(--bz-gutter); margin-bottom: 20px; }
body.bz-site .bitzo-section-head h2, body.bz-site .bitzo-section-head h1 { font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
body.bz-site .bitzo-section-head .sub { font-size: 14px; }
body.bz-site .bitzo-section-head a { font-size: 13.5px; font-weight: 500; }
body.bz-site .container-bitzo { max-width: var(--bz-container); padding: 0 var(--bz-gutter); }
body.bz-site .bitzo-breadcrumb { max-width: var(--bz-container); padding: 16px var(--bz-gutter) 0; font-size: 13px; }
body.bz-site .bitzo-display { font-family: 'Poppins', sans-serif; font-weight: 600; letter-spacing: -.015em; }
body.bz-site .bitzo-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .1em; color: var(--bz-primary); }
body.bz-site .bitzo-eyebrow::before { background: var(--bz-primary); }

/* cards */
body.bz-site .bitzo-biz-card { background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); padding: 20px; margin-bottom: 18px; box-shadow: none; }
body.bz-site .bitzo-biz-card-head { margin-bottom: 14px; gap: 12px; }
body.bz-site .bitzo-biz-card-head h2 { font-size: 16px; font-weight: 600; }
body.bz-site .bitzo-biz-card-head a { font-size: 13px; font-weight: 500; }
body.bz-site .bitzo-biz-card-head a:hover { text-decoration: underline; }
body.bz-site .bitzo-empty { padding: 44px 20px; }
body.bz-site .bitzo-empty i { width: 64px; height: 64px; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--bz-primary-50); color: var(--bz-primary); opacity: 1; font-size: 24px; }
body.bz-site .bitzo-empty h4 { font-size: 16px; font-weight: 600; margin-bottom: 6px; }
body.bz-site .bitzo-empty p { font-size: 13.5px; max-width: 360px; margin: 0 auto; }
body.bz-site .bitzo-biz-card .bitzo-empty { padding: 30px 10px; }

/* account area */
body.bz-site .bitzo-dash-wrapper { max-width: var(--bz-container); padding: 0 var(--bz-gutter) 10px; margin-top: 22px; gap: 24px; }
@media (min-width: 960px) { body.bz-site .bitzo-dash-wrapper { grid-template-columns: 250px minmax(0, 1fr); } }
body.bz-site .bitzo-dash-wrapper > main { min-width: 0; }
body.bz-site .bitzo-dash-sidebar { gap: 14px; }
@media (min-width: 960px) { body.bz-site .bitzo-dash-sidebar { position: sticky; top: calc(var(--bz-sticky) + 12px); } }
body.bz-site .bitzo-dash-profile-card { border-radius: var(--bz-r); padding: 18px; display: flex; flex-direction: column; align-items: center; }
body.bz-site .bitzo-dash-profile-card strong { font-size: 15px; font-weight: 600; }
body.bz-site .bitzo-dash-profile-card .mobile { font-size: 12.5px; }
body.bz-site .bitzo-dash-profile-card a.edit { font-size: 12.5px; font-weight: 500; }
body.bz-site .bitzo-dash-profile-card a.edit:hover { text-decoration: underline; }
body.bz-site .bitzo-avatar-initial { background: var(--bz-primary); color: #fff; }
body.bz-site .bitzo-dash-nav { border-radius: var(--bz-r); padding: 8px; }
body.bz-site .bitzo-dash-nav a { font-size: 13.5px; font-weight: 500; padding: 10px 12px; border-radius: 10px; transition: background-color .15s ease, color .15s ease; }
body.bz-site .bitzo-dash-nav a:hover { background: var(--bz-primary-50); color: var(--bz-primary); }
body.bz-site .bitzo-dash-nav a.active { background: var(--bz-primary-50); color: var(--bz-primary); font-weight: 600; }
body.bz-site .bitzo-dash-nav a .badge { background: var(--bz-danger); }
body.bz-site .bitzo-dash-refer-card { background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); }
body.bz-site .bitzo-dash-refer-card i { color: var(--bz-primary); }
body.bz-site .bitzo-dash-refer-card p { font-weight: 600; font-size: 13px; }
body.bz-site .bitzo-dash-banner { background: var(--bz-primary); border-radius: var(--bz-r); padding: 26px 26px; margin-bottom: 18px; }
body.bz-site .bitzo-dash-banner h1 { font-size: 22px; font-weight: 600; }
body.bz-site .bitzo-dash-banner p { font-size: 13.5px; }
body.bz-site .bitzo-dash-banner .deco { opacity: .18; }
body.bz-site .bitzo-dash-stats-row { gap: 14px; margin-bottom: 18px; }
body.bz-site .bitzo-dash-stat-card { border-radius: var(--bz-r); padding: 16px; }
body.bz-site .bitzo-dash-stat-card .icon { width: 42px; height: 42px; border-radius: 12px; }
body.bz-site .bitzo-dash-stat-card strong { font-size: 20px; font-weight: 600; line-height: 1.2; }
body.bz-site .bitzo-dash-stat-card span { font-size: 12px; }
body.bz-site .bitzo-dash-content-grid { gap: 20px; }
@media (min-width: 1100px) { body.bz-site .bitzo-dash-content-grid { grid-template-columns: minmax(0, 1fr) 320px; } }
body.bz-site .bitzo-dash-content-grid > * { min-width: 0; }
body.bz-site .bitzo-sidebar-promo { background: var(--bz-primary); border-radius: var(--bz-r); }
body.bz-site .bitzo-sidebar-promo a { color: var(--bz-primary); }
body.bz-site .bitzo-mini-biz-row { transition: background-color .15s ease; }
body.bz-site .bitzo-mini-biz-row .info strong { font-size: 13px; font-weight: 500; }
body.bz-site .bitzo-mini-biz-row .info span { font-size: 12px; }
body.bz-site .bitzo-mini-biz-row .fav { color: var(--bz-muted); }
body.bz-site .bitzo-badge-tile { background: var(--bz-primary-50); border-radius: 12px; }
body.bz-site .bitzo-badge-tile span { font-size: 11px; }
body.bz-site .bitzo-activity-item .info strong { font-size: 13.5px; font-weight: 500; }
body.bz-site .bitzo-activity-item .info span { font-size: 12px; }
body.bz-site .bitzo-activity-item .pts { font-weight: 600; font-size: 14px; }
body.bz-site .bitzo-activity-item.earn .icon { background: var(--bz-ok-50); color: var(--bz-ok); }
body.bz-site .bitzo-activity-item.earn .pts { color: var(--bz-ok); }
body.bz-site .bitzo-activity-item.redeem .icon { background: #FDEDEB; color: var(--bz-danger); }
body.bz-site .bitzo-activity-item.redeem .pts { color: var(--bz-danger); }
body.bz-site .bitzo-list-row { padding: 14px 0; }
body.bz-site .bitzo-list-row strong { font-size: 14px; font-weight: 500; }
body.bz-site .bitzo-list-row span.sub { font-size: 12px; }
body.bz-site .bitzo-status-pill { font-size: 11px; font-weight: 600; padding: 3px 10px; }
body.bz-site .bitzo-status-pill.used, body.bz-site .bitzo-status-pill.redeemed { background: var(--bz-ok-50); color: var(--bz-ok); }
body.bz-site .bitzo-status-pill.cancelled, body.bz-site .bitzo-status-pill.failed { background: #FDEDEB; color: var(--bz-danger); }
body.bz-site .bitzo-status-pill.pending, body.bz-site .bitzo-status-pill.scanned { background: var(--bz-warn-50); color: var(--bz-warn); }
body.bz-site .bitzo-icon-btn { transition: border-color .15s ease, color .15s ease, background-color .15s ease; }
body.bz-site .bitzo-icon-btn:hover { background: var(--bz-primary-50); }

/* old reward rows (dashboard "My Rewards" card) */
body.bz-site .bitzo-reward-progress-card { padding: 16px 0; gap: 16px; }
body.bz-site .bitzo-reward-progress-card .logo-box { width: 48px; height: 48px; border-radius: 12px; background: var(--bz-primary); font-weight: 600; }
body.bz-site .bitzo-reward-progress-card .info strong { font-size: 14px; font-weight: 600; }
body.bz-site .bitzo-reward-progress-card .info span.cat { font-size: 12px; }
body.bz-site .bitzo-reward-progress-card .points-col strong { font-size: 15px; font-weight: 600; }
body.bz-site .bitzo-reward-progress-card .points-col .track { background: var(--bz-primary-100); height: 6px; }
body.bz-site .bitzo-reward-progress-card .points-col .fill { background: var(--bz-primary); border-radius: 999px; }
body.bz-site .bitzo-reward-progress-card .points-col .progress-label { font-size: 11.5px; }
body.bz-site .bitzo-reward-progress-card .next-col { font-size: 12.5px; }

/* legacy small cards used inside account pages */
body.bz-site .bitzo-card-offer, body.bz-site .bitzo-card-biz, body.bz-site .bitzo-card-product { border-radius: var(--bz-r); border: 1px solid var(--bz-line); box-shadow: none; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
body.bz-site .bitzo-card-offer:hover, body.bz-site .bitzo-card-biz:hover, body.bz-site .bitzo-card-product:hover { box-shadow: var(--bz-shadow-hover); transform: translateY(-2px); border-color: var(--bz-primary-100); }
body.bz-site .bitzo-badge-discount { background: var(--bz-coral); color: #fff; }

/* ---------- Auth pages (login / verify) — minimal, one column ---------- */
body.bz-site .bitzo-auth-wrap { min-height: 0; padding: 40px var(--bz-gutter) 56px; align-items: flex-start; }
body.bz-site .bitzo-auth-card { max-width: 420px; padding: 32px 28px 26px; border-radius: 18px; border: 1px solid var(--bz-line); box-shadow: var(--bz-shadow); }
body.bz-site .bitzo-auth-card img.logo { height: 32px; width: auto; margin: 0 auto 20px; }
body.bz-site .bitzo-auth-card h1 { font-size: 22px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 6px; }
body.bz-site .bitzo-auth-card p.sub { font-size: 14px; margin-bottom: 22px; }
body.bz-site .bz-auth-step { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 4px 12px; border-radius: 999px; background: var(--bz-primary-50); color: var(--bz-primary); font-size: 12px; font-weight: 600; }
body.bz-site .bz-auth-step i { font-size: 11px; }
body.bz-site .bz-auth-dots { display: flex; justify-content: center; gap: 6px; margin: 0 0 18px; }
body.bz-site .bz-auth-dots span { width: 28px; height: 4px; border-radius: 4px; background: var(--bz-line); }
body.bz-site .bz-auth-dots span.on { background: var(--bz-primary); }
body.bz-site .bitzo-auth-field label { font-size: 12.5px; font-weight: 500; color: var(--bz-ink); margin-bottom: 6px; }
body.bz-site .bitzo-auth-field .input-row { border: 1px solid #D5D0DD; border-radius: 12px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
body.bz-site .bitzo-auth-field .input-row:focus-within { border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
body.bz-site .bitzo-auth-field .prefix { background: #F6F5F9; font-size: 14px; padding: 0 14px; display: flex; align-items: center; align-self: stretch; }
body.bz-site .bitzo-auth-field input { height: 48px; padding: 0 14px; font-size: 16px; letter-spacing: .5px; background: transparent; }
body.bz-site .bitzo-auth-field .hint { display: block; margin-top: 6px; font-size: 12px; color: var(--bz-muted); }
body.bz-site .bitzo-auth-error, body.bz-site .bitzo-modal-error { background: #FDEDEB; color: var(--bz-danger); border: 1px solid #F5CFCB; font-size: 13px; border-radius: 10px; }
body.bz-site .bitzo-auth-hint { background: var(--bz-primary-50); color: var(--bz-primary-700); border: 1px solid var(--bz-primary-100); font-size: 12.5px; border-radius: 10px; }
body.bz-site .bitzo-auth-card .bitzo-btn { min-height: 48px; font-size: 15px; border-radius: 12px; }
body.bz-site .bitzo-auth-back { font-size: 13px; margin-top: 18px; }
body.bz-site .bz-auth-foot { margin: 16px 0 0; padding-top: 16px; border-top: 1px solid var(--bz-line); font-size: 13px; color: var(--bz-muted); }
body.bz-site .bz-auth-foot a { color: var(--bz-primary); font-weight: 500; }

/* login / register modal */
body.bz-site .bitzo-auth-modal-content { border-radius: 18px; border: 1px solid var(--bz-line); padding: 6px; box-shadow: 0 24px 60px rgba(27, 23, 33, .22); }
body.bz-site .bitzo-auth-modal-content .modal-body { padding: 26px 24px 22px; }
body.bz-site .bitzo-auth-modal-content img.logo { height: 30px; width: auto; }
body.bz-site .bitzo-auth-tabs { gap: 0; border-bottom: 1px solid var(--bz-line); }
body.bz-site .bitzo-auth-tabs .nav-item { flex: 1; }
body.bz-site .bitzo-auth-tabs .nav-link { width: 100%; font-size: 14px; font-weight: 500; padding: 10px 12px; }
body.bz-site .bitzo-auth-tabs .nav-link.active { font-weight: 600; }
body.bz-site .bitzo-modal-sub { font-size: 13.5px; }
body.bz-site .bitzo-modal-seller-link { font-size: 13px; }
body.bz-site .bitzo-modal-cat-chip:has(input:checked) { background: var(--bz-primary-50); }
body.bz-site .bitzo-modal-close { top: 14px; right: 14px; }

/* ---------- Static / info pages ---------- */
body.bz-site .bitzo-info-hero { max-width: 760px; padding: 44px var(--bz-gutter) 12px; }
body.bz-site .bitzo-info-hero h1 { font-size: clamp(28px, 4.5vw, 40px); font-weight: 600; letter-spacing: -.02em; }
body.bz-site .bitzo-info-block { max-width: 1040px; padding-top: 44px; gap: 36px; }
body.bz-site .bitzo-info-col h3 { font-size: 20px; font-weight: 600; }
body.bz-site .bitzo-info-col p { font-size: 14.5px; }
body.bz-site .bitzo-check-list li { font-size: 14px; }
body.bz-site .bitzo-check-list li i { color: var(--bz-ok); }
body.bz-site .bitzo-journey-steps { max-width: 1040px; gap: 16px; }
body.bz-site .bitzo-journey-step { border-radius: var(--bz-r); background: #fff; padding: 22px 16px; transition: box-shadow .18s ease, transform .18s ease; }
body.bz-site .bitzo-journey-step:hover { box-shadow: var(--bz-shadow-hover); transform: translateY(-2px); }
body.bz-site .bitzo-journey-step .num { background: var(--bz-primary); font-weight: 600; }
body.bz-site .bitzo-journey-step h4 { font-size: 15px; font-weight: 600; }
body.bz-site .bitzo-journey-step p { font-size: 13px; }
body.bz-site .bitzo-ecosystem-flow span.highlight { background: var(--bz-primary); }
body.bz-site .bitzo-example-points { background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); }
body.bz-site .bitzo-seller-specific-block { max-width: 1040px; }
body.bz-site .bitzo-contact-option { background: #fff; border-radius: var(--bz-r); transition: box-shadow .18s ease, transform .18s ease; }
body.bz-site .bitzo-contact-option:hover { box-shadow: var(--bz-shadow-hover); transform: translateY(-2px); }
body.bz-site .bitzo-contact-option i { width: 44px; height: 44px; border-radius: 12px; background: var(--bz-primary-50); display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; font-size: 18px; }
body.bz-site .bitzo-contact-option strong { font-size: 14px; font-weight: 600; }
body.bz-site .bitzo-contact-option a { font-size: 13px; }
body.bz-site .bitzo-contact-form-wrap { border-radius: var(--bz-r); }
body.bz-site .bitzo-help-hero { padding: 44px var(--bz-gutter) 20px; max-width: 720px; }
body.bz-site .bitzo-help-hero h1 { font-weight: 600; letter-spacing: -.015em; }
body.bz-site .bitzo-help-search { border-radius: 14px; padding: 4px 16px; height: 52px; transition: border-color .15s ease, box-shadow .15s ease; }
body.bz-site .bitzo-help-search:focus-within { border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
body.bz-site .bitzo-help-search input { font-size: 15px; }
body.bz-site .bitzo-help-chips .chip { font-size: 13px; }
body.bz-site .bitzo-help-chips .chip.active { background: var(--bz-primary); border-color: var(--bz-primary); }
body.bz-site .bitzo-help-group h3 { font-weight: 600; letter-spacing: .06em; }
body.bz-site .bitzo-faq-q { font-size: 14.5px; }
body.bz-site .bitzo-faq-a p { font-size: 14px; }
body.bz-site .bitzo-help-cta { border-radius: var(--bz-r); background: #fff; }
body.bz-site .bitzo-content-block { font-size: 15px; }
body.bz-site .bitzo-content-block h1 { font-size: 28px; font-weight: 600; letter-spacing: -.015em; }

/* forms across public pages */
body.bz-site .form-control, body.bz-site .form-select, body.bz-site .bitzo-select { border-radius: 10px; border-color: #D5D0DD; font-size: 14px; }
body.bz-site .form-control:focus, body.bz-site .form-select:focus, body.bz-site .bitzo-select:focus { border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
body.bz-site .alert { border-radius: 12px; font-size: 13.5px; }

/* ---------- Rewards dashboard ---------- */
.bz-rw-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 14px; margin-bottom: 18px; }
.bz-rw-total { background: var(--bz-primary); color: #fff; border-radius: var(--bz-r); padding: 22px 24px; display: flex; flex-direction: column; justify-content: center; min-height: 128px; }
.bz-rw-total small { font-size: 12.5px; font-weight: 500; letter-spacing: .04em; opacity: .85; }
.bz-rw-total strong { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; font-size: 38px; font-weight: 600; line-height: 1.1; letter-spacing: -.02em; }
.bz-rw-total strong span { font-size: 15px; font-weight: 500; opacity: .85; letter-spacing: 0; }
.bz-rw-total p { margin: 8px 0 0; font-size: 13px; opacity: .85; }
.bz-rw-mini { display: grid; grid-template-rows: 1fr 1fr; gap: 14px; }
.bz-rw-stat { background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); padding: 14px 18px; display: flex; align-items: center; gap: 14px; }
.bz-rw-stat .ic { flex: none; width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--bz-primary-50); color: var(--bz-primary); font-size: 16px; }
.bz-rw-stat .ic.ok { background: var(--bz-ok-50); color: var(--bz-ok); }
.bz-rw-stat b { display: block; font-size: 20px; font-weight: 600; line-height: 1.2; }
.bz-rw-stat span { font-size: 12.5px; color: var(--bz-muted); }
.bz-rw-links { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.bz-rw-links a { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border: 1px solid var(--bz-line); border-radius: 999px; background: #fff; font-size: 13px; font-weight: 500; transition: border-color .15s ease, color .15s ease, background-color .15s ease; }
.bz-rw-links a:hover { border-color: var(--bz-primary); color: var(--bz-primary); background: var(--bz-primary-50); }
.bz-rw-links a i { color: var(--bz-primary); font-size: 12px; }
.bz-rw-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 14px; }
.bz-rw-head h2 { margin: 0; font-size: 18px; font-weight: 600; }
.bz-rw-head span { font-size: 13px; color: var(--bz-muted); }
.bz-rw-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bz-rw-card { display: flex; flex-direction: column; gap: 14px; background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); padding: 18px; transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease; }
.bz-rw-card:hover { box-shadow: var(--bz-shadow-hover); border-color: var(--bz-primary-100); transform: translateY(-2px); }
.bz-rw-top { display: flex; align-items: center; gap: 12px; min-width: 0; }
.bz-rw-logo { flex: none; width: 48px; height: 48px; border-radius: 12px; background: var(--bz-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 600; overflow: hidden; }
.bz-rw-logo img { width: 100%; height: 100%; object-fit: cover; }
.bz-rw-name { min-width: 0; flex: 1; }
.bz-rw-name strong { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-rw-name span { display: block; font-size: 12.5px; color: var(--bz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-rw-pts { flex: none; text-align: right; }
.bz-rw-pts b { display: block; font-size: 20px; font-weight: 600; line-height: 1.1; color: var(--bz-primary); }
.bz-rw-pts small { font-size: 11.5px; color: var(--bz-muted); }
.bz-rw-prog .bar { height: 8px; border-radius: 999px; background: var(--bz-primary-100); overflow: hidden; }
.bz-rw-prog .bar i { display: block; height: 100%; border-radius: 999px; background: var(--bz-primary); transition: width .6s ease; }
.bz-rw-prog .lab { display: flex; justify-content: space-between; gap: 10px; margin-top: 8px; font-size: 12.5px; color: var(--bz-muted); }
.bz-rw-prog .lab b { color: var(--bz-ink); font-weight: 500; }
.bz-rw-prog .done { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--bz-ok-50); color: var(--bz-ok); font-size: 13px; font-weight: 600; }
.bz-rw-card .bz-btn { margin-top: auto; }
.bz-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 48px 20px; background: #fff; border: 1px dashed #D5D0DD; border-radius: var(--bz-r); }
.bz-empty .ic { width: 68px; height: 68px; border-radius: 50%; background: var(--bz-primary-50); color: var(--bz-primary); display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 14px; }
.bz-empty h3 { margin: 0 0 6px; font-size: 17px; font-weight: 600; }
.bz-empty p { margin: 0 0 18px; max-width: 380px; font-size: 13.5px; color: var(--bz-muted); }

@media (max-width: 991px) {
	body.bz-site .bitzo-dash-wrapper { gap: 16px; margin-top: 14px; }
	body.bz-site .bitzo-dash-nav { border-radius: 12px; }
	.bz-rw-hero { grid-template-columns: minmax(0, 1fr); }
	.bz-rw-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
}
@media (max-width: 640px) {
	.bz-rw-grid { grid-template-columns: minmax(0, 1fr); }
	.bz-rw-total { padding: 18px 20px; }
	.bz-rw-total strong { font-size: 32px; }
	.bz-rw-mini { grid-template-columns: minmax(0, 1fr); }
	body.bz-site .bitzo-auth-wrap { padding: 20px var(--bz-gutter) 40px; }
	body.bz-site .bitzo-auth-card { padding: 26px 20px 22px; border-radius: 16px; }
	body.bz-site .bitzo-biz-card { padding: 16px; }
	body.bz-site .bitzo-reward-progress-card .next-col, body.bz-site .bitzo-reward-progress-card .points-col { min-width: 0; flex: 1 1 100%; }
	body.bz-site .bitzo-reward-progress-card .points-col .track { width: 100%; }
}
/* dashboard stat / badge icons: one accent instead of a rainbow (inline colours overridden) */
body.bz-site .bitzo-dash-stat-card .icon, body.bz-site .bitzo-badge-tile .icon { background: var(--bz-primary-50) !important; color: var(--bz-primary) !important; }

/* ==========================================================================
   Detail pages / business profile / feed — same radius, border and button rules as the rest of the site
   ========================================================================== */
body.bz-site .bd { --bd-r: 14px; --bd-primary-soft: var(--bz-primary-50); --bd-ink: var(--bz-ink); --bd-muted: var(--bz-muted); --bd-line: var(--bz-line); padding-bottom: 48px; }
body.bz-site .bd-wrap { max-width: var(--bz-container); padding-left: var(--bz-gutter); padding-right: var(--bz-gutter); }
body.bz-site .bd-stage, body.bz-site .bd-offer-visual { border-radius: var(--bz-r); box-shadow: none; }
body.bz-site .bd-panel, body.bz-site .bd-seller, body.bz-site .bd-mod, body.bz-site .bf-mod, body.bz-site .bf-card { border-radius: var(--bz-r); box-shadow: none; }
body.bz-site .bd-panel { padding: 24px; }
body.bz-site .bd-card, body.bz-site .bd-post-tile { border-radius: var(--bz-r); box-shadow: none; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
body.bz-site .bd-card:hover, body.bz-site .bd-post-tile:hover { box-shadow: var(--bz-shadow-hover); border-color: var(--bz-primary-100); transform: translateY(-2px); }
body.bz-site .bd-btn { border-radius: 10px; font-weight: 500; }
body.bz-site .bd-btn-primary { background: var(--bz-primary); border-color: var(--bz-primary); color: #fff; }
body.bz-site .bd-btn-primary:hover { background: var(--bz-primary-700); border-color: var(--bz-primary-700); color: #fff; }
body.bz-site .bd-btn-wa { border-radius: 10px; }
body.bz-site .bd-nav { border-radius: 12px; }
body.bz-site .bd-nav a { border-radius: 8px; }
body.bz-site .bd-title, body.bz-site .bd-hub-top h1 { letter-spacing: -.015em; }
body.bz-site .bd-sec-head h2, body.bz-site .bd-panel h2 { letter-spacing: -.01em; }

/* business profile: cover, identity card, action row, stats */
body.bz-site .bd-hub-gallery { padding-top: 10px; scroll-margin-top: calc(var(--bd-sticky, 116px) + 72px); }
body.bz-site .bd-hub-gallery .bd-stage.wide { border-radius: var(--bz-r); }
body.bz-site .bd-hub-top { margin-top: 14px; padding: 22px; gap: 20px; background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); align-items: center; }
body.bz-site .bd-hub-top .bd-logo { width: 92px; height: 92px; border-radius: 20px; font-size: 32px; box-shadow: none; }
body.bz-site .bd-hub-top h1 { font-size: 28px; }
body.bz-site .bd-verified { background: var(--bz-ok-50); color: var(--bz-ok); }
body.bz-site .bd-hub-actions { padding: 14px 0 2px; gap: 10px; }
body.bz-site .bd-hub-actions .bd-btn { min-height: 44px; border-radius: 10px; }
.bd-nav .bz-tab-info { display: none; }
@media (max-width: 900px) {
	.bd-nav .bz-tab-info { display: inline-flex; }
	body.bz-site .bd-hub-top { padding: 16px; gap: 14px; align-items: flex-start; }
	body.bz-site .bd-hub-top .bd-logo { width: 68px; height: 68px; border-radius: 16px; font-size: 24px; }
	body.bz-site .bd-hub-top h1 { font-size: 21px; }
	body.bz-site .bd-hub-actions { padding-top: 12px; }
	body.bz-site .bd-hub-actions > a.bd-btn-primary { flex: 1 1 100%; }
}
#info { scroll-margin-top: calc(var(--bd-sticky, 116px) + 72px); }

/* ---------- Trending page ---------- */
.bz-tsec { margin-top: 40px; }
.bz-tsec .bz-sec-head h2 i { color: var(--bz-primary); font-size: .85em; margin-right: 6px; }
.bz-seg { display: inline-flex; padding: 4px; gap: 2px; border: 1px solid var(--bz-line); border-radius: 12px; background: #fff; }
.bz-seg a { padding: 8px 16px; border-radius: 9px; font-size: 13.5px; font-weight: 500; color: var(--bz-muted); white-space: nowrap; transition: background-color .15s ease, color .15s ease; }
.bz-seg a:hover { color: var(--bz-primary); background: var(--bz-primary-50); }
.bz-seg a.on { background: var(--bz-primary); color: #fff; }
.bz-tpost, .bz-trw { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; min-width: 0; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bz-tpost:hover, .bz-trw:hover { transform: translateY(-2px); box-shadow: var(--bz-shadow-hover); border-color: var(--bz-primary-100); }
.bz-tpost .av { flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--bz-primary-50); color: var(--bz-primary); display: flex; align-items: center; justify-content: center; font-weight: 600; }
.bz-tpost .tx, .bz-trw .tx { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.bz-tpost .tx strong { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-tpost .tx small, .bz-trw .tx small { font-size: 12px; color: var(--bz-muted); }
.bz-tpost .st { flex: none; display: flex; gap: 12px; font-size: 13px; color: var(--bz-muted); }
.bz-tpost .st i { margin-right: 4px; color: var(--bz-primary); }
.bz-trw .ic { flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--bz-gold-50); color: var(--bz-gold); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.bz-trw .tx strong { font-size: 15px; font-weight: 600; }
.bz-trw .tx > span { font-size: 12.5px; color: var(--bz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-trw .go { flex: none; font-size: 11px; color: var(--bz-muted); transition: transform .15s ease; }
.bz-trw:hover .go { transform: translateX(3px); color: var(--bz-primary); }
@media (max-width: 991px) { .bz-tsec { margin-top: 30px; } }
@media (max-width: 640px) { .bz-seg { width: 100%; } .bz-seg a { flex: 1; text-align: center; padding: 8px 6px; } }

/* ---------- Single-message status pages (redeem QR, bill claim, unsubscribe) ---------- */
.bz-status { max-width: 500px; margin: 36px auto 0; padding: 0 var(--bz-gutter); }
.bz-status-card { background: #fff; border: 1px solid var(--bz-line); border-radius: 18px; padding: 34px 28px; text-align: center; box-shadow: var(--bz-shadow); }
.bz-status-card > i.fa-solid:first-child { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px !important; border-radius: 50%; font-size: 30px !important; background: var(--bz-primary-50); background: color-mix(in srgb, currentColor 12%, #fff); }
.bz-status-card h1 { font-size: 20px !important; font-weight: 600; letter-spacing: -.01em; }
.bz-status-card .bitzo-btn { min-height: 46px; }
@media (max-width: 480px) { .bz-status { margin-top: 20px; } .bz-status-card { padding: 28px 18px; } }
body.bz-site .bitzo-biz-card > form { max-width: 520px; }
body.bz-site .bitzo-biz-card > form .bitzo-btn { min-height: 46px; padding: 0 26px; }

/* ---- chat icon badge (header + drawer) ---- */
[data-chat-badge][hidden] { display: none !important; }
.bz-chat.on { background: var(--bz-primary-50); color: var(--bz-primary); }
.bz-chat-pill { margin-left: auto; min-width: 20px; padding: 1px 7px; border-radius: 999px; background: var(--bz-primary); color: #fff; font-size: 11px; font-weight: 600; text-align: center; }

/* customer profile photo inside the round avatar (header, menu, dashboard card) + unread pill on the "Messages" menu item */
.bitzo-avatar-initial { overflow: hidden; }
.bitzo-avatar-initial img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 50%; }
.bitzo-dash-profile-card .bitzo-avatar-initial { width: 72px; height: 72px; font-size: 24px; }

/* ---------- Reward card (public Rewards listing) ---------- */
.bz-rwcard { position: relative; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bz-rwcard:hover { transform: translateY(-3px); box-shadow: var(--bz-shadow-hover); border-color: #D5C2EA; }
.bz-rwcard .cover { position: relative; aspect-ratio: 4 / 3; background: #FBF0DC; overflow: hidden; }
.bz-rwcard .cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.bz-rwcard:hover .cover img { transform: scale(1.04); }
.bz-rwcard .cover .ph { display: flex; align-items: center; justify-content: center; height: 100%; color: #D9B466; font-size: 34px; }
.bz-rwcard .pts { position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .96); color: #7A5B1E; font-size: 12.5px; font-weight: 600; box-shadow: 0 2px 8px rgba(0, 0, 0, .16); }
.bz-rwcard .body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 13px 14px 14px; }
.bz-rwcard h3 { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; }
.bz-rwcard .biz { display: flex; align-items: center; gap: 7px; min-width: 0; font-size: 12.5px; font-weight: 500; color: #4A4450; }
.bz-rwcard .biz span:not(.bz-rwlogo) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-rwlogo { flex: none; width: 20px; height: 20px; border-radius: 50%; overflow: hidden; background: var(--bz-primary-50); color: var(--bz-primary); display: inline-flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; }
.bz-rwlogo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bz-rwcard .foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 9px; font-size: 12px; color: var(--bz-muted); }
.bz-rwcard .loc { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* one-time message after a redirect (e.g. chat/start refusing a blocked business) - shown once, above the header, dismissible */
.bz-flash { display: flex; align-items: flex-start; gap: 10px; max-width: 1180px; margin: 10px auto 0; padding: 12px 16px; border-radius: 12px; background: #FEF2F2; border: 1px solid #FECACA; color: #7f1d1d; font-size: 13.5px; line-height: 1.5; }
.bz-flash i:first-child { flex: none; margin-top: 1px; color: #DC2626; }
.bz-flash span { flex: 1; min-width: 0; }
.bz-flash .x { flex: none; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: transparent; color: #7f1d1d; font-size: 12px; cursor: pointer; opacity: .7; }
.bz-flash .x:hover { opacity: 1; background: rgba(220, 38, 38, .1); }
.bz-flash.ok { background: #ECFDF3; border-color: #BBF7D0; color: #14532d; }
.bz-flash.ok i:first-child { color: #16A34A; }
.bz-flash.ok .x { color: #14532d; }
.bz-flash.ok .x:hover { background: rgba(22, 163, 74, .12); }
@media (max-width: 640px) { .bz-flash { margin: 8px 12px 0; } }

/* Customer dashboard redesign (2026-09-22): reuses the My Rewards (bz-rw-*) components for full consistency, only two small additions */
.bz-hello { margin: 0 0 4px; font-size: 13px; font-weight: 500; color: var(--bz-primary); }
.bz-dash-mini { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bz-act-card { border: 1px solid var(--bz-line); border-radius: var(--bz-r); background: #fff; overflow: hidden; }
.bz-act-row { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-bottom: 1px solid var(--bz-line); }
.bz-act-row:last-child { border-bottom: 0; }
.bz-act-row .ic { flex: none; width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--bz-danger-50, #FDECEA); color: var(--bz-danger); font-size: 15px; }
.bz-act-row .ic.ok { background: var(--bz-ok-50); color: var(--bz-ok); }
.bz-act-row .tx { flex: 1; min-width: 0; }
.bz-act-row .tx strong { display: block; font-size: 13.5px; font-weight: 600; }
.bz-act-row .tx span { font-size: 12px; color: var(--bz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.bz-act-row .pts { flex: none; font-size: 15px; font-weight: 600; color: var(--bz-danger); }
.bz-act-row .pts.ok { color: var(--bz-ok); }
@media (max-width: 480px) { .bz-dash-mini { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Ad enquiry form (popup + page) ---------- */
html.bz-adm-lock { overflow: hidden; }
.bz-adm-ov { position: fixed; inset: 0; z-index: 2100; display: flex; align-items: flex-start; justify-content: center; padding: 5vh 14px 24px; background: rgba(27, 23, 33, .55); overflow-y: auto; }
.bz-adm { position: relative; width: 100%; max-width: 460px; margin: auto 0; background: #fff; border-radius: 18px; padding: 26px 24px 22px; box-shadow: 0 24px 60px rgba(27, 23, 33, .35); }
.bz-adm-x { position: absolute; top: 10px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #F3F0F7; color: #4A4450; font-size: 22px; line-height: 1; cursor: pointer; }
.bz-adm-x:hover { background: #E7E0EF; }
.bz-adm-load { padding: 40px 0; text-align: center; color: var(--bz-muted); }
.bz-lf-card { background: #fff; border: 1px solid var(--bz-line); border-radius: 18px; padding: 26px 24px 22px; box-shadow: var(--bz-shadow-hover, 0 8px 30px rgba(27,23,33,.08)); }
.bz-lf-head { display: flex; align-items: center; gap: 14px; margin: 0 34px 14px 0; }
.bz-lf-logo { flex: none; width: 46px; height: 46px; border-radius: 12px; overflow: hidden; background: var(--bz-primary-50); color: var(--bz-primary); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 18px; }
.bz-lf-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bz-lf-head h2 { margin: 0; font-size: 18px; font-weight: 600; line-height: 1.3; }
.bz-lf-head p { margin: 2px 0 0; font-size: 13px; color: var(--bz-muted); }
.bz-lf-ad { display: inline-block; padding: 0 7px; border-radius: 4px; background: #F1EDF7; color: #6B5B86; font-size: 10.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.bz-lf-intro { margin: 0 0 14px; font-size: 14px; line-height: 1.6; color: #4A4450; }
.bz-lf-form { display: grid; gap: 12px; }
.bz-lf-f { display: grid; gap: 5px; margin: 0; font-size: 13px; font-weight: 500; }
.bz-lf-f em { font-style: normal; font-weight: 400; color: var(--bz-muted); }
.bz-lf-f input { width: 100%; padding: 11px 13px; border: 1.5px solid var(--bz-line); border-radius: 10px; font: inherit; font-size: 15px; background: #fff; }
.bz-lf-f input:focus { outline: 0; border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
.bz-lf-consent { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 0; font-size: 12.5px; line-height: 1.5; color: #4A4450; font-weight: 400; cursor: pointer; }
.bz-lf-consent input { flex: none; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--bz-primary); }
.bz-lf-send { width: 100%; justify-content: center; padding: 12px 18px; font-size: 15px; }
.bz-lf-send.is-loading { opacity: .7; pointer-events: none; }
.bz-lf-note { margin: 0; font-size: 12px; color: var(--bz-muted); text-align: center; }
.bz-lf-err { padding: 10px 13px; border-radius: 10px; background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; font-size: 13.5px; }
.bz-lf-err[hidden] { display: none; }
.bz-lf-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.bz-lf-done, .bz-lf-closed { text-align: center; padding: 18px 4px 6px; }
.bz-lf-done > i { font-size: 44px; color: var(--bz-ok); }
.bz-lf-closed > i { font-size: 34px; color: var(--bz-muted); }
.bz-lf-done h3 { margin: 10px 0 6px; font-size: 20px; font-weight: 600; }
.bz-lf-done p, .bz-lf-closed p { margin: 0 0 16px; color: #4A4450; font-size: 14.5px; line-height: 1.6; }
.bz-lf-acts { display: flex; justify-content: center; gap: 10px; }

/* ---------- Advertise with Us (public campaign page) ---------- */
.bz-adv-soon { display: inline-block; max-width: 620px; margin: 16px auto 0; padding: 9px 14px; border-radius: 10px; background: var(--bz-warn-50); color: var(--bz-warn); font-size: 13.5px; }
.bz-adv-soon i { margin-right: 6px; }
.bz-adv-types { max-width: 1040px; margin: 16px auto 0; padding: 0 var(--bz-gutter); display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 760px) { .bz-adv-types { grid-template-columns: 1fr 1fr; } }
.bz-adv-type { background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); padding: 22px 20px; }
.bz-adv-type-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.bz-adv-type-head h3 { margin: 0; font-size: 20px; font-weight: 600; }
.bz-adv-ico { flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--bz-primary-50); color: var(--bz-primary); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.bz-adv-type .lead { margin: 0 0 6px; font-size: 14.5px; }
.bz-adv-type .hint { margin: 0 0 12px; font-size: 13px; color: var(--bz-muted); }
.bz-adv-places { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bz-line); }
.bz-adv-places li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--bz-line); font-size: 13.5px; }
.bz-adv-places li:last-child { border-bottom: 0; }
.bz-adv-places em { font-style: normal; font-weight: 600; color: var(--bz-primary); white-space: nowrap; }
.bz-adv-goals { max-width: 1040px; margin: 0 auto; padding: 0 var(--bz-gutter); display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
@media (min-width: 860px) { .bz-adv-goals { grid-template-columns: repeat(4, 1fr); } }
.bz-adv-goal { background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); padding: 18px 14px; text-align: center; }
.bz-adv-goal > i { font-size: 22px; color: var(--bz-primary); margin-bottom: 8px; }
.bz-adv-goal h4 { margin: 0 0 4px; font-size: 14.5px; font-weight: 600; }
.bz-adv-goal p { margin: 0; font-size: 12.5px; color: var(--bz-muted); }
body.bz-site .bz-adv-table { max-width: 1040px; margin: 0 auto; background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); overflow: hidden; }
.bz-adv-table th { white-space: nowrap; }
.bz-adv-table td { vertical-align: top; font-size: 13.5px; }
.bz-adv-est { max-width: 1040px; margin: 22px auto 0; background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r); padding: 20px; }
.bz-adv-est h3 { margin: 0 0 12px; font-size: 18px; font-weight: 600; }
.bz-adv-est-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 720px) { .bz-adv-est-grid { grid-template-columns: 2fr 1fr 1fr; } }
.bz-adv-est-grid label { display: grid; gap: 5px; font-size: 13px; font-weight: 500; }
.bz-adv-est-grid select, .bz-adv-est-grid input { width: 100%; padding: 10px 12px; border: 1.5px solid var(--bz-line); border-radius: 10px; font: inherit; font-size: 15px; background: #fff; }
.bz-adv-est-grid select:focus, .bz-adv-est-grid input:focus { outline: 0; border-color: var(--bz-primary); box-shadow: 0 0 0 3px var(--bz-primary-50); }
.bz-adv-est-out { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.bz-adv-est-out > div { flex: 1 1 130px; padding: 10px 12px; border-radius: 10px; background: var(--bitzo-bg); }
.bz-adv-est-out > div.tot { background: var(--bz-primary-50); }
.bz-adv-est-out strong { display: block; font-size: 18px; font-weight: 600; }
.bz-adv-est-out span { font-size: 12px; color: var(--bz-muted); }
.bz-adv-est-out .bad { color: var(--bz-danger); font-size: 13.5px; }
.bz-adv-faq { max-width: 760px; margin: 0 auto; padding: 0 var(--bz-gutter); display: grid; gap: 10px; }
.bz-adv-faq details { background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-r-sm); padding: 0 16px; }
.bz-adv-faq summary { cursor: pointer; padding: 13px 0; font-weight: 600; font-size: 14.5px; }
.bz-adv-faq details p { margin: 0 0 14px; font-size: 14px; color: #4A4450; line-height: 1.65; }
.bz-adv-scroll { overflow-x: auto; padding: 0 var(--bz-gutter); }
.bz-adv-scroll .bz-adv-table { min-width: 720px; }
body.bz-site .bz-adv-steps { grid-template-columns: repeat(2, 1fr); padding: 0 var(--bz-gutter); }
body.bz-site .bz-adv-steps .bitzo-journey-step:last-child { grid-column: 1 / -1; }
@media (min-width: 900px) { body.bz-site .bz-adv-steps { grid-template-columns: repeat(5, 1fr); max-width: 1120px; } body.bz-site .bz-adv-steps .bitzo-journey-step:last-child { grid-column: auto; } }
