/*!
 * Baly Site System — /download (passenger) + /driver-app (driver).
 *
 * Both download pages share most of the structure: a blue-gradient hero
 * with a phone mockup on one side and copy + QR + store badges on the
 * other; a few content cards underneath; a final brand-blue CTA band.
 *
 * Shared classes live here without a page-specific scope. Where the two
 * pages diverge (mostly the hero color stops, the earnings highlight,
 * and the WhatsApp card) we nest under `.bsy-page--download-passenger`
 * or `.bsy-page--download-driver`.
 *
 * Depends on bsy-chrome.css.
 */

/* ============================================================
   Hero — shared base for both passenger + driver.
   ============================================================ */
.bsy-dlp-hero,
.bsy-dld-hero {
	position: relative; overflow: hidden;
	border-radius: var(--bsy-radius-3xl);
	color: #fff; direction: rtl;
	padding: 40px 44px;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 32px; align-items: stretch;
	min-height: 560px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 28px 60px -24px rgba(0,30,80,.45);
}
.bsy-dlp-hero { background: linear-gradient(160deg, var(--bsy-brand) 0%, #1B4CFF 55%, #355FFF 100%); }
.bsy-dld-hero { background: linear-gradient(160deg, #001E8C 0%, var(--bsy-brand) 55%, #2052FF 100%); min-height: 620px; }

.bsy-dlp-hero__bg, .bsy-dld-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.bsy-dlp-hero__bg .bsy-mapbg,
.bsy-dld-hero__bg .bsy-mapbg { position: absolute; inset: 0; width: 100%; height: 100%; }

.bsy-dlp-hero__glow,
.bsy-dld-hero__glow {
	position: absolute; inset-block-end: -160px; inset-inline-end: -120px;
	width: 460px; height: 460px; border-radius: 999px;
	background: radial-gradient(circle, rgba(255,225,94,.22), transparent 65%);
	filter: blur(28px); pointer-events: none;
}
.bsy-dld-hero__glow { background: radial-gradient(circle, rgba(255,225,94,.28), transparent 65%); }

.bsy-dlp-hero__copy,
.bsy-dld-hero__copy {
	position: relative; z-index: 2; direction: rtl;
	display: flex; flex-direction: column; justify-content: space-between;
	gap: 18px;
}

.bsy-dlp-hero__title,
.bsy-dld-hero__title {
	margin: 18px 0 14px;
	font-family: var(--bsy-font); font-weight: 950;
 line-height: 0.98; color: #fff;
}
.bsy-dlp-hero__title { font-size: clamp(28px, 4.4vw, 54px); }
.bsy-dld-hero__title { font-size: clamp(26px, 4vw, 50px); }
.bsy-dlp-hero__accent,
.bsy-dld-hero__accent { color: var(--bsy-accent-gold); }

.bsy-dlp-hero__lede,
.bsy-dld-hero__lede {
	margin: 0; max-width: 520px;
	font-size: clamp(13px, 1.4vw, 16px); line-height: 1.65;
	font-weight: var(--bsy-fw-medium); color: rgba(255,255,255,.88);
}

.bsy-dlp-hero__device,
.bsy-dld-hero__device {
	position: relative; z-index: 2;
	display: grid; place-items: center;
}

/* ── QR + store badges card (shared by both hero variants) ──── */
.bsy-dlp-hero__qrcard {
	margin-top: 8px;
	background: #fff; border-radius: var(--bsy-radius-xl); padding: 16px;
	box-shadow: 0 22px 44px -16px rgba(0,30,80,.45), 0 1px 0 rgba(0,0,0,.04);
	display: grid; grid-template-columns: auto 1fr;
	gap: 18px; align-items: center; direction: rtl;
}
.bsy-dlp-hero__qr {
	padding: 8px; background: #fff;
	border: 1px solid var(--bsy-grey-200); border-radius: 14px;
	display: flex; flex-direction: column; align-items: center; gap: 6px;
	flex: none;
}
.bsy-dlp-hero__qr-img { width: 104px; height: 104px; display: block; }
.bsy-dlp-hero__qr-caption {
	font-size: 10px; font-weight: 800; color: var(--bsy-grey-700);
	letter-spacing: 0.04em; text-transform: uppercase;
}
.bsy-dlp-hero__qrcard-side {
	display: flex; flex-direction: column; gap: 8px; min-width: 0;
}
.bsy-dlp-hero__qrcard-l {
	font-size: 12px; font-weight: 800; color: var(--bsy-black);
	margin-bottom: 2px; direction: rtl;
}
.bsy-dlp-hero__qrcard-side .bsy-badges { direction: ltr; }
.bsy-dlp-hero__qrcard-trust {
	display: flex; align-items: center; gap: 10px;
	margin-top: 4px; padding-top: 8px;
	border-top: 1px solid var(--bsy-grey-100);
	direction: rtl;
}
.bsy-dlp-hero__qrcard-trust-txt {
	font-size: 11.5px; font-weight: 600; color: var(--bsy-grey-700); line-height: 1.4;
}
.bsy-dlp-hero__qrcard-trust-n {
	color: var(--bsy-black); font-weight: 900; font-size: 12px;
}

/* mobile-only fallback badges + trust strip (hidden on desktop) */
.bsy-dlp-hero__mbadges,
.bsy-dlp-hero__mtrust,
.bsy-dld-hero__mtrust { display: none; }

.bsy-dlp-hero__mtrust {
	align-items: center; gap: 10px;
	padding: 8px 10px; border-radius: 12px;
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.16);
	direction: rtl;
}
.bsy-dlp-hero__mtrust-txt {
	font-size: 11px; font-weight: 600; color: rgba(255,255,255,.92); line-height: 1.4;
}
.bsy-dlp-hero__mtrust-n { color: var(--bsy-accent-gold); font-weight: 900; }

/* ── Driver hero: earnings highlight ────────────────────────── */
.bsy-dld-hero__earn {
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.18);
	backdrop-filter: blur(6px);
	border-radius: 18px; padding: 14px 18px;
	display: grid; grid-template-columns: auto 1fr;
	gap: 16px; align-items: center; direction: rtl;
}
.bsy-dld-hero__earn-ic {
	width: 56px; height: 56px; border-radius: 14px;
	background: rgba(255,225,94,.18); color: var(--bsy-accent-gold);
	display: grid; place-items: center; flex: none;
	border: 1px solid rgba(255,225,94,.30);
}
.bsy-dld-hero__earn-eye {
	font-size: 11px; font-weight: 700; color: rgba(255,255,255,.80);
	letter-spacing: 0.02em;
}
.bsy-dld-hero__earn-v { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; }
.bsy-dld-hero__earn-n {
	font-family: var(--bsy-font); font-weight: 950;
	font-size: 30px; line-height: 1; color: #fff;
}
.bsy-dld-hero__earn-u { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.85); }

.bsy-dld-hero__qrcard-trust {
	font-size: 11.5px; font-weight: 600; color: var(--bsy-grey-700);
}
.bsy-dld-hero__qrcard-check {
	width: 16px; height: 16px; border-radius: 999px;
	background: var(--bsy-success-light); color: var(--bsy-success);
	display: inline-grid; place-items: center; flex: none;
	margin-inline-end: 4px;
}
.bsy-dld-hero__qrcard-check--gold {
	background: rgba(255,225,94,.20); color: var(--bsy-accent-gold);
}

/* ============================================================
   Hero responsive — fold the JSX desktop / mobile variants here.
   ============================================================ */
@media (max-width: 960px) {
	.bsy-dlp-hero,
	.bsy-dld-hero {
		padding: 18px 18px;
		grid-template-columns: 1fr;
		gap: 14px;
		min-height: 0;
		border-radius: var(--bsy-radius-xl);
	}
	.bsy-dlp-hero__title { font-size: 30px; }
	.bsy-dld-hero__title { font-size: 28px; }

	/* swap the desktop QR card for the mobile badges + trust strip */
	.bsy-dlp-hero__qrcard { display: none; }
	.bsy-dlp-hero__mbadges,
	.bsy-dlp-hero__mtrust { display: flex; gap: 8px; }
	.bsy-page--download-driver .bsy-dld-hero__mtrust {
		display: inline-flex; align-items: center; gap: 8px;
		font-size: 11px; font-weight: 600; color: rgba(255,255,255,.92);
		direction: rtl;
	}

	.bsy-dld-hero__earn { padding: 10px 12px; border-radius: 12px; }
	.bsy-dld-hero__earn-ic { width: 36px; height: 36px; border-radius: 9px; }
	.bsy-dld-hero__earn-n { font-size: 18px; }
	.bsy-dld-hero__earn-u { font-size: 11px; }

	/* phone mock centered, shrunk via transform */
	.bsy-phone { transform: scale(0.78); transform-origin: top center; margin-block-end: -132px; }
}

/* ============================================================
   Phone mockup — shared by passenger + captain
   ============================================================ */
.bsy-phone {
	position: relative;
	width: 300px; height: 600px;
	border-radius: 44px; background: #0A0A0A;
	padding: 10px;
	box-shadow: 0 32px 60px -22px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06) inset;
	direction: rtl; flex: none;
}
/* Centered absolutely under the phone's top edge. Using physical
 * `left: 50%` rather than `inset-inline-start: 50%` because
 * `transform: translateX(-50%)` is direction-agnostic (translateX
 * always shifts physically left), so in RTL the logical-property
 * combo ends up off-center. */
.bsy-phone__notch {
	position: absolute; top: 16px; left: 50%;
	transform: translateX(-50%);
	width: 82px; height: 18px; border-radius: 999px; background: #0A0A0A;
	z-index: 4;
}
.bsy-phone__notch--wide { width: 108px; height: 24px; top: 18px; }
.bsy-phone__screen {
	width: 100%; height: 100%;
	border-radius: 36px; overflow: hidden;
	background: #F5F5F7; position: relative;
}
.bsy-phone__status {
	position: absolute; inset-block-start: 0; inset-inline: 0; height: 40px;
	padding: 14px 22px 0;
	display: flex; align-items: center; justify-content: space-between;
	font-size: 11px; font-weight: 700; color: var(--bsy-black);
	font-variant-numeric: tabular-nums; direction: ltr;
}
.bsy-phone__status-r { display: inline-flex; gap: 4px; }

.bsy-phone__greet {
	margin-block-start: 34px;
	padding: 12px 18px 8px;
	display: flex; align-items: center; justify-content: space-between;
}
.bsy-phone--captain .bsy-phone__greet { margin-block-start: 38px; padding: 14px 18px 8px; }
.bsy-phone__greet-eye { font-size: 11px; font-weight: 600; color: var(--bsy-grey-600); }
.bsy-phone__greet-n { font-size: 15px; font-weight: 900; color: var(--bsy-black); }
.bsy-phone--captain .bsy-phone__greet-n { font-size: 17px; }
.bsy-phone__avatar {
	width: 38px; height: 38px; border-radius: 999px;
	background: linear-gradient(135deg, #B8D6FF, #6FA9FF);
	display: grid; place-items: center;
}
.bsy-phone__pill-on {
	display: inline-flex; align-items: center; gap: 4px;
	padding: 4px 10px; border-radius: 999px;
	background: var(--bsy-success-light); color: var(--bsy-success);
	font-size: 11px; font-weight: 800;
}
.bsy-phone__pill-dot {
	width: 6px; height: 6px; border-radius: 999px; background: var(--bsy-success);
}

/* ── Passenger phone — promo / services / trip / tabs ──────── */
.bsy-phone__promo {
	margin: 0 14px;
	padding: 14px 16px;
	border-radius: 18px;
	background: linear-gradient(160deg, var(--bsy-brand) 0%, #2052FF 100%);
	color: #fff;
	box-shadow: 0 12px 28px -10px rgba(0,67,255,.55);
	position: relative; overflow: hidden;
}
.bsy-phone__promo-bg { position: absolute; inset: 0; pointer-events: none; }
.bsy-phone__promo-bg .bsy-mapbg { position: absolute; inset: 0; width: 100%; height: 100%; }
.bsy-phone__promo-eye {
	position: relative;
	font-size: 10px; font-weight: 800; color: var(--bsy-accent-gold);
	letter-spacing: 0.04em; text-transform: uppercase;
}
.bsy-phone__promo-t {
	position: relative;
	font-size: 17px; font-weight: 900;
	margin-top: 4px; line-height: 1.15;
}
.bsy-phone__promo-cta {
	position: relative;
	margin-top: 10px;
	display: inline-flex; align-items: center; gap: 5px;
	padding: 4px 10px; border-radius: 999px;
	background: rgba(255,255,255,.18); color: #fff;
	font-size: 11px; font-weight: 800;
}
.bsy-phone__promo-arrow { font-size: 10px; }

.bsy-phone__svcs {
	margin: 12px 14px 0;
	display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px;
}
.bsy-phone__svc {
	background: #fff;
	border: 1px solid var(--bsy-grey-200);
	border-radius: 14px; padding: 10px 6px 8px;
	display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.bsy-phone__svc.is-accent {
	background: var(--bsy-brand-lighter);
	border-color: rgba(0,67,255,.18);
}
.bsy-phone__svc-ic { width: 40px; height: 40px; }
.bsy-phone__svc-ic img { width: 100%; height: 100%; object-fit: contain; }
.bsy-phone__svc-t { font-size: 11px; font-weight: 800; color: var(--bsy-black); }

.bsy-phone__trip {
	position: absolute; inset-inline: 14px; inset-block-end: 64px;
	background: #fff; border-radius: 16px; padding: 12px;
	box-shadow: 0 14px 28px -12px rgba(0,0,0,.16);
	border: 1px solid var(--bsy-grey-200);
}
.bsy-phone__trip-badge {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 3px 8px; border-radius: 999px;
	background: var(--bsy-success-light); color: var(--bsy-success);
	font-size: 10px; font-weight: 800; margin-bottom: 8px;
}
.bsy-phone__trip-dot { width: 5px; height: 5px; border-radius: 999px; background: var(--bsy-success); }
.bsy-phone__trip-row { display: flex; align-items: center; gap: 10px; }
.bsy-phone__trip-av {
	width: 36px; height: 36px; border-radius: 999px;
	background: linear-gradient(135deg, #FFB37A, #FF7E5C);
	display: grid; place-items: center; color: #fff;
	font-weight: 900; font-size: 13px; flex: none;
}
.bsy-phone__trip-info { flex: 1; min-width: 0; }
.bsy-phone__trip-n { font-size: 12.5px; font-weight: 900; color: var(--bsy-black); }
.bsy-phone__trip-s { font-size: 10.5px; font-weight: 600; color: var(--bsy-grey-700); margin-top: 2px; }
.bsy-phone__trip-call {
	width: 32px; height: 32px; border-radius: 999px;
	background: var(--bsy-brand); color: #fff;
	display: grid; place-items: center; flex: none;
}

.bsy-phone__tabs {
	position: absolute; inset-inline: 0; inset-block-end: 0;
	height: 52px; background: #fff;
	border-top: 1px solid var(--bsy-grey-200);
	display: flex; align-items: flex-end; justify-content: space-around;
	padding-block-end: 6px;
}
.bsy-phone__tabs--tall { height: 68px; align-items: center; padding-block-end: 12px; }
.bsy-phone__tab {
	display: flex; flex-direction: column; align-items: center; gap: 3px;
	color: var(--bsy-grey-600);
}
.bsy-phone__tab.is-active { color: var(--bsy-brand); }
.bsy-phone__tab-dot {
	width: 4px; height: 4px; border-radius: 999px; background: transparent;
}
.bsy-phone__tab.is-active .bsy-phone__tab-dot { background: var(--bsy-brand); }

/* ── Captain phone — earnings / stats / ride / cta ─────────── */
.bsy-phone__earn {
	margin: 0 14px;
	padding: 14px 16px;
	border-radius: 18px;
	background: linear-gradient(160deg, var(--bsy-brand) 0%, #2052FF 100%);
	color: #fff;
	box-shadow: 0 12px 28px -10px rgba(0,67,255,.55);
}
.bsy-phone__earn-eye { font-size: 11px; font-weight: 600; color: rgba(255,255,255,.78); }
.bsy-phone__earn-row { display: flex; align-items: baseline; gap: 6px; margin-top: 6px; }
.bsy-phone__earn-n { font-size: 28px; font-weight: 950; line-height: 1; }
.bsy-phone__earn-u { font-size: 12px; font-weight: 600; color: rgba(255,255,255,.78); }
.bsy-phone__earn-track {
	margin-top: 10px; height: 4px; border-radius: 999px;
	background: rgba(255,255,255,.22); position: relative;
}
.bsy-phone__earn-fill {
	position: absolute; inset-inline-start: 0;
	inset-block: 0; width: 84%;
	background: var(--bsy-accent-gold); border-radius: 999px;
}
.bsy-phone__earn-meta {
	display: flex; justify-content: space-between; margin-top: 7px;
	font-size: 10px; font-weight: 600; color: rgba(255,255,255,.85);
}

.bsy-phone__stats {
	margin: 10px 14px 0;
	display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
.bsy-phone__stat {
	background: #fff; border-radius: 12px; padding: 10px 12px;
	border: 1px solid var(--bsy-grey-200);
	display: flex; flex-direction: column; gap: 2px;
}
.bsy-phone__stat-v { font-size: 16px; font-weight: 900; color: var(--bsy-black); }
.bsy-phone__stat-l { font-size: 10.5px; font-weight: 600; color: var(--bsy-grey-600); }

.bsy-phone__ride {
	position: absolute; inset-inline: 14px; inset-block-end: 86px;
	background: #fff; border-radius: 16px; padding: 12px;
	box-shadow: 0 14px 28px -12px rgba(0,0,0,.16);
	border: 1px solid var(--bsy-grey-200);
}
.bsy-phone__ride-badge {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 3px 8px; border-radius: 999px;
	background: var(--bsy-brand-10); color: var(--bsy-brand);
	font-size: 10px; font-weight: 800; margin-bottom: 8px;
}
.bsy-phone__ride-dot {
	width: 5px; height: 5px; border-radius: 999px; background: var(--bsy-brand);
}
.bsy-phone__ride-row { display: flex; align-items: center; gap: 8px; margin-top: 5px; }
.bsy-phone__ride-row:first-of-type { margin-top: 0; }
.bsy-phone__ride-pin {
	width: 8px; height: 8px; border-radius: 999px; flex: none;
}
.bsy-phone__ride-pin--orange { background: #FF6A3D; }
.bsy-phone__ride-pin--brand  { background: var(--bsy-brand); border-radius: 2px; }
.bsy-phone__ride-loc {
	font-size: 11.5px; font-weight: 700; color: var(--bsy-grey-800);
}
.bsy-phone__ride-cta {
	margin-top: 10px; width: 100%; height: 34px;
	border-radius: 10px;
	background: var(--bsy-brand); color: #fff;
	font-family: var(--bsy-font); font-size: 12px; font-weight: 900;
	box-shadow: 0 6px 18px -4px rgba(0,67,255,.45);
	display: grid; place-items: center;
}

/* ============================================================
   "What's inside" — passenger only — 3 service cards
   ============================================================ */
.bsy-dl-whats__grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
}
.bsy-dl-whats__c {
	position: relative; overflow: hidden; text-decoration: none;
	background: var(--bsy-grey-100);
	border: 1px solid transparent;
	border-radius: 18px; padding: 18px;
	display: flex; flex-direction: column; gap: 10px;
	min-height: 196px; color: inherit;
	transition: transform .15s var(--bsy-ease-out), box-shadow .15s var(--bsy-ease-out);
}
.bsy-dl-whats__c:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px -16px rgba(0,30,80,.20);
}
.bsy-dl-whats__c.is-accent {
	background: var(--bsy-brand-lighter);
	border-color: rgba(0,67,255,.18);
}
.bsy-dl-whats__ic {
	width: 54px; height: 54px; border-radius: 14px;
	background: #fff;
	display: grid; place-items: center;
	border: 1px solid var(--bsy-grey-200);
	padding: 6px;
}
.bsy-dl-whats__ic img { width: 100%; height: 100%; object-fit: contain; }
.bsy-dl-whats__t {
	font-size: 17px; font-weight: 900;
	color: var(--bsy-black); margin-top: 4px;
}
.bsy-dl-whats__s {
	font-size: 12.5px; font-weight: var(--bsy-fw-medium);
	color: var(--bsy-grey-700); line-height: 1.6; flex: 1;
}
.bsy-dl-whats__cta {
	margin-top: auto;
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 12.5px; font-weight: 800;
	color: var(--bsy-black);
}
.bsy-dl-whats__c.is-accent .bsy-dl-whats__cta { color: var(--bsy-brand); }
.bsy-dl-whats__arrow {
	width: 22px; height: 22px; border-radius: 999px;
	background: #fff; color: var(--bsy-black);
	border: 1px solid var(--bsy-grey-200);
	display: inline-grid; place-items: center;
}
.bsy-dl-whats__c.is-accent .bsy-dl-whats__arrow {
	background: var(--bsy-brand); color: #fff; border-color: transparent;
}

@media (max-width: 960px) {
	.bsy-dl-whats__grid { grid-template-columns: 1fr; gap: 10px; }
	.bsy-dl-whats__c { min-height: 0; padding: 14px; }
}

/* ============================================================
   Value props / benefits — shared between passenger + driver
   ============================================================ */
.bsy-dl-values__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
}
.bsy-dl-values__c {
	background: var(--bsy-grey-100);
	border: 1px solid transparent;
	border-radius: 16px; padding: 16px;
	display: flex; flex-direction: column; gap: 8px;
}
.bsy-dl-values__c.is-accent {
	background: var(--bsy-brand-lighter);
	border-color: rgba(0,67,255,.18);
}
.bsy-dl-values__ic {
	width: 40px; height: 40px; border-radius: 11px;
	background: #fff; color: var(--bsy-brand);
	display: grid; place-items: center;
	border: 1px solid var(--bsy-grey-200);
}
.bsy-dl-values__c.is-accent .bsy-dl-values__ic {
	background: var(--bsy-brand); color: #fff; border-color: transparent;
}
.bsy-dl-values__t {
	font-size: 15px; font-weight: 900;
	color: var(--bsy-black); margin-top: 4px;
}
.bsy-dl-values__s {
	font-size: 12.5px; font-weight: var(--bsy-fw-medium);
	color: var(--bsy-grey-700); line-height: 1.55;
}

@media (max-width: 960px) {
	.bsy-dl-values__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}
@media (max-width: 480px) {
	.bsy-dl-values__t { font-size: 14px; }
	.bsy-dl-values__s { font-size: 11.5px; }
	.bsy-dl-values__c { padding: 14px; }
}

/* ============================================================
   Earnings band — driver only
   ============================================================ */
.bsy-dld-earn {
	position: relative; overflow: hidden;
	border-radius: var(--bsy-radius-2xl);
	background: var(--bsy-brand-lighter);
	color: var(--bsy-black);
	border: 1px solid rgba(0,67,255,.18);
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 8px 24px -12px rgba(0,30,80,.10), 0 32px 60px -24px rgba(0,30,80,.18);
	direction: rtl;
	padding: 28px 32px;
	display: grid; grid-template-columns: 1.2fr 1fr;
	gap: 28px; align-items: center;
}
.bsy-dld-earn__glow {
	position: absolute;
	inset-block-end: -120px; inset-inline-end: -80px;
	width: 340px; height: 340px; border-radius: 999px;
	background: radial-gradient(circle, rgba(0,67,255,.22), transparent 65%);
	filter: blur(32px); pointer-events: none;
}
.bsy-dld-earn__copy { position: relative; z-index: 1; }
.bsy-dld-earn__title {
	margin: 12px 0 10px;
	font-family: var(--bsy-font); font-weight: 900;
	font-size: clamp(24px, 3.2vw, 34px);
	line-height: 1.15;
	color: var(--bsy-black);
}
.bsy-dld-earn__body {
	margin: 0; font-size: clamp(12.5px, 1.3vw, 14px);
	font-weight: var(--bsy-fw-medium);
	color: var(--bsy-grey-700); line-height: 1.7; max-width: 480px;
}
.bsy-dld-earn__stats {
	position: relative; z-index: 1;
	display: grid; grid-template-columns: 1fr 1fr 1fr;
	gap: 8px;
}
.bsy-dld-earn__stat {
	background: #fff; border-radius: 14px;
	padding: 12px; direction: rtl;
	border: 1px solid var(--bsy-grey-100);
	display: flex; flex-direction: column; gap: 6px;
	box-shadow: 0 1px 0 rgba(0,40,120,.03);
}
.bsy-dld-earn__stat-ic {
	width: 32px; height: 32px; border-radius: 9px;
	background: var(--bsy-brand-lighter); color: var(--bsy-brand);
	display: grid; place-items: center;
	border: 1px solid rgba(0,67,255,.18);
}
.bsy-dld-earn__stat-n {
	font-size: 13px; font-weight: 900; color: var(--bsy-black);
	margin-top: 4px;
}
.bsy-dld-earn__stat-l {
	font-size: 11px; color: var(--bsy-grey-700);
	font-weight: var(--bsy-fw-medium); line-height: 1.4;
}

@media (max-width: 960px) {
	.bsy-dld-earn { padding: 20px 18px; grid-template-columns: 1fr; gap: 16px; }
}

/* ============================================================
   WhatsApp signup card — driver only
   ============================================================ */
.bsy-dld-wa {
	display: grid; grid-template-columns: 1fr 1fr;
	gap: 24px; align-items: center;
}
.bsy-dld-wa__copy { min-width: 0; }
.bsy-dld-wa__title {
	margin: 12px 0 8px;
	font-family: var(--bsy-font); font-weight: 900;
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.15;
	color: var(--bsy-black);
}
.bsy-dld-wa__body {
	margin: 0 0 14px; font-size: clamp(12.5px, 1.3vw, 14px);
	font-weight: var(--bsy-fw-medium);
	color: var(--bsy-grey-700); line-height: 1.7; max-width: 460px;
}
.bsy-dld-wa__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.bsy-dld-wa__btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 11px 18px; border-radius: 999px;
	font-family: var(--bsy-font); font-size: 14px; font-weight: 800;
	text-decoration: none;
	transition: filter var(--bsy-duration-fast) var(--bsy-ease-out);
}
.bsy-dld-wa__btn--wa {
	background: #25D366; color: #fff;
	box-shadow: 0 8px 22px -6px rgba(37,211,102,.55);
}
.bsy-dld-wa__btn--wa:hover { filter: brightness(0.95); }
.bsy-dld-wa__btn--alt {
	background: var(--bsy-grey-100); color: var(--bsy-black);
	border: 1px solid var(--bsy-grey-200);
}
.bsy-dld-wa__btn--alt:hover { background: var(--bsy-grey-200); }

.bsy-dld-wa__chat {
	background: #E5DDD3; border-radius: 18px; padding: 14px;
	position: relative; overflow: hidden; min-height: 220px;
	background-image:
		radial-gradient(rgba(0,0,0,.025) 1px, transparent 1px),
		radial-gradient(rgba(0,0,0,.025) 1px, transparent 1px);
	background-size: 14px 14px, 28px 28px;
	background-position: 0 0, 7px 7px;
}
.bsy-dld-wa__chat-head {
	display: flex; align-items: center; gap: 10px;
	padding: 8px 12px; background: #075E54; color: #fff;
	border-radius: 12px; margin-bottom: 12px;
}
.bsy-dld-wa__chat-avatar {
	width: 32px; height: 32px; border-radius: 999px;
	background: var(--bsy-brand);
	display: grid; place-items: center;
	color: #fff; font-weight: 950; font-size: 13px;
	font-family: var(--bsy-font); flex: none;
}
.bsy-dld-wa__chat-h { flex: 1; min-width: 0; }
.bsy-dld-wa__chat-h-t { font-size: 12.5px; font-weight: 800; line-height: 1; }
.bsy-dld-wa__chat-h-s {
	font-size: 10px; font-weight: var(--bsy-fw-medium);
	color: rgba(255,255,255,.75); margin-top: 3px;
}
.bsy-dld-wa__chat-list { display: flex; flex-direction: column; gap: 8px; }
.bsy-dld-wa__bubble {
	max-width: 82%;
	border-radius: 12px;
	padding: 7px 10px 8px;
	font-size: 12px; font-weight: var(--bsy-fw-medium);
	line-height: 1.45; color: var(--bsy-black);
	box-shadow: 0 1px 1px rgba(0,0,0,.10);
	direction: rtl;
}
.bsy-dld-wa__bubble--left {
	align-self: flex-start;
	background: #fff;
	border-top-left-radius: 4px;
	border-top-right-radius: 12px;
}
.bsy-dld-wa__bubble--right {
	align-self: flex-end;
	background: #DCF8C6;
	border-top-right-radius: 4px;
	border-top-left-radius: 12px;
}
.bsy-dld-wa__bubble-tick {
	display: inline-block; margin-inline-start: 6px;
	color: #34B7F1; font-size: 11px; font-weight: 700;
}

@media (max-width: 960px) {
	.bsy-dld-wa { grid-template-columns: 1fr; gap: 16px; padding: 20px 18px; }
	.bsy-dld-wa__chat { min-height: 0; }
}

/* ============================================================
   Final download CTA — driver only
   ============================================================ */
.bsy-dld-cta {
	position: relative; overflow: hidden;
	background: var(--bsy-brand); color: #fff;
	border-radius: var(--bsy-radius-2xl); direction: rtl;
	padding: 32px 44px;
	display: grid; grid-template-columns: 1.4fr 1fr;
	gap: 28px; align-items: center;
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 32px 60px -28px rgba(0,30,80,.40);
}
.bsy-dld-cta__bg { position: absolute; inset: 0; pointer-events: none; }
.bsy-dld-cta__bg .bsy-mapbg { position: absolute; inset: 0; width: 100%; height: 100%; }
.bsy-dld-cta__copy { position: relative; z-index: 1; }
.bsy-dld-cta__title {
	margin: 12px 0 10px;
	font-family: var(--bsy-font); font-weight: 900;
	font-size: clamp(20px, 2.6vw, 30px);
 line-height: 1.1; color: #fff;
}
.bsy-dld-cta__body {
	margin: 0; font-size: clamp(12.5px, 1.3vw, 14px);
	color: rgba(255,255,255,.85);
	font-weight: var(--bsy-fw-medium); line-height: 1.6; max-width: 460px;
}
.bsy-dld-cta__sub--mobile {
	display: none;
	margin: 8px 0 0; font-size: 12.5px;
	color: rgba(255,255,255,.85); font-weight: var(--bsy-fw-medium);
}
.bsy-dld-cta__badges {
	position: relative; z-index: 1;
	display: flex; flex-direction: column; gap: 10px;
}

@media (max-width: 960px) {
	.bsy-dld-cta {
		padding: 20px 18px; grid-template-columns: 1fr; gap: 14px;
		border-radius: var(--bsy-radius-xl);
	}
	.bsy-dld-cta__title { font-size: 22px; }
	.bsy-dld-cta__body { display: none; }
	.bsy-dld-cta__sub--mobile { display: block; }
	.bsy-dld-cta__badges .bsy-badges,
	.bsy-dld-cta__badges .bsy-badges--stack { flex-direction: row; align-items: stretch; }
}
