/*!
 * Baly Site System — /pro page (BalyPro subscription marketing).
 * Depends on bsy-chrome.css.
 *
 * The page overrides the global brand-blue palette with Rose 600 (#E11D48)
 * by re-binding the --bsy-brand* tokens on .bsy-page--food-pro. Every nested
 * primitive (FAQ, DownloadBand, pill, section_head) that reads var(--bsy-brand)
 * adopts the rose tone for free without per-element overrides.
 */

/* ── Rose palette override (scoped to /pro only) ────────────── */
.bsy-page--food-pro {
	--bsy-brand:           #E11D48;
	--bsy-brand-hover:     #BE123C;
	--bsy-brand-active:    #9F1239;
	--bsy-brand-light:     #FDA4AF;
	--bsy-brand-lighter:   #FFE4E6;
	--bsy-brand-10:        rgba(225, 29, 72, 0.10);
	--bsy-brand-20:        rgba(225, 29, 72, 0.20);
	--bsy-shadow-brand:    0 4px 20px rgba(225, 29, 72, 0.25);
	--bsy-shadow-brand-lg: 0 8px 24px rgba(225, 29, 72, 0.28);
	/* Soft rose shadow used by every floating card on this page. */
	--bsy-fp-rose-shadow:  0 1px 0 rgba(0,0,0,.04), 0 8px 24px -12px rgba(80,10,30,.18), 0 32px 60px -24px rgba(80,10,30,.18);
	/* Local accent — the buttery yellow used for highlights on dark bands. */
	--bsy-fp-gold:         #FFE15E;
}

/* Unify the download band colors on the food-pro page — the chrome.css
 * default puts the store-badges cluster on a black surface for contrast
 * against the brand-blue band, but on the rose food-pro band a black
 * sub-box reads as a second accent color. Make the cluster transparent
 * so the whole band is one continuous rose surface. */
.bsy-page--food-pro .bsy-dl__badges {
	background: transparent;
	padding: 0;
}
.bsy-page--food-pro .bsy-dl__cta .bsy-badge img {
	filter: drop-shadow(0 4px 12px rgba(0,0,0,.32));
}

/* ── HERO ───────────────────────────────────────────────────── */
.bsy-fp-hero {
	position: relative; overflow: hidden;
	border-radius: var(--bsy-radius-3xl);
	background: linear-gradient(160deg, #E11D48 0%, #BE123C 55%, #9F1239 100%);
	color: #fff; direction: rtl;
	padding: 40px 44px;
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 32px; align-items: center;
	min-height: 380px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 28px 60px -24px rgba(80,10,30,.45);
}
.bsy-fp-hero__bg {
	position: absolute; inset: 0; pointer-events: none; z-index: 0;
}
.bsy-fp-hero__mapsvg {
	position: absolute; inset: 0; width: 100%; height: 100%;
	opacity: 0.85; pointer-events: none;
}
.bsy-fp-hero__chips {
	position: absolute; inset: 0; pointer-events: none; z-index: 1;
}
.bsy-fp-hero__chip {
	position: absolute; border-radius: 999px; overflow: hidden;
	background: #fff;
	box-shadow: 0 18px 32px -10px rgba(80,10,30,.45), 0 0 0 4px rgba(255,255,255,.22);
}
.bsy-fp-hero__chip img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.bsy-fp-hero__chip--a { top: 24px;  inset-inline-end: 38px;  width: 88px; height: 88px; transform: rotate(-8deg); }
.bsy-fp-hero__chip--b { top: 116px; inset-inline-end: 158px; width: 76px; height: 76px; transform: rotate(10deg); }
.bsy-fp-hero__chip--c { top: 198px; inset-inline-end: 28px;  width: 92px; height: 92px; transform: rotate(-5deg); }

.bsy-fp-hero__copy { position: relative; z-index: 2; }
.bsy-fp-hero__lockup {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 14px 6px 12px; border-radius: 999px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.22);
}
.bsy-fp-hero__lockup-logo { height: 16px; width: auto; display: block; }
.bsy-fp-hero__lockup-t {
	font-size: 11px; font-weight: 800; color: #fff; letter-spacing: 0.04em;
}
.bsy-fp-hero__title {
	margin: 18px 0 14px;
	font-family: var(--bsy-font); font-weight: 950;
	font-size: clamp(34px, 4.6vw, 58px); line-height: 0.95;
	color: #fff;
}
.bsy-fp-hero__accent { color: var(--bsy-fp-gold); }
.bsy-fp-hero__lede {
	margin: 0; max-width: 540px;
	font-size: clamp(13px, 1.4vw, 16px); line-height: 1.65;
	font-weight: var(--bsy-fw-medium);
	color: rgba(255,255,255,.88);
}
.bsy-fp-hero__cta {
	margin-top: 22px;
	display: flex; gap: 10px; flex-wrap: wrap;
}
.bsy-fp-hero__btn {
	display: inline-flex; align-items: center; gap: 8px;
	height: 50px; padding-inline: 22px;
	border-radius: 999px; text-decoration: none;
	font-family: var(--bsy-font); font-weight: 900;
	cursor: pointer;
	transition: transform var(--bsy-duration-fast) var(--bsy-ease-out), background-color var(--bsy-duration-fast) var(--bsy-ease-out);
}
.bsy-fp-hero__btn:hover { transform: translateY(-1px); }
/* Theme injects link color: white on anchors — beats class-level rules
 * unless we !important. Without this, the rose-on-white primary CTA
 * showed up as white-on-white = invisible text. */
.bsy-fp-hero__btn--primary {
	background: #fff !important; color: var(--bsy-brand) !important;
	font-size: 14px;
	box-shadow: 0 10px 24px -8px rgba(0,0,0,.30);
}
.bsy-fp-hero__btn--primary span { color: var(--bsy-brand) !important; }
.bsy-fp-hero__btn--primary:hover { background: #fff !important; color: var(--bsy-brand-hover) !important; }
.bsy-fp-hero__btn--ghost {
	background: rgba(255,255,255,.10) !important; color: #fff !important;
	border: 1px solid rgba(255,255,255,.30);
	font-size: 13px; font-weight: 700;
	padding-inline: 18px;
}
.bsy-fp-hero__btn--ghost:hover { color: #fff !important; }
.bsy-fp-hero__trust {
	margin-top: 22px; padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,.18);
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.bsy-fp-hero__trust-t {
	font-size: 12.5px; font-weight: 600;
	color: rgba(255,255,255,.85); line-height: 1.4;
}
.bsy-fp-hero__trust-n { color: #fff; font-weight: 900; font-size: 14px; }

/* Pricing card (right column of hero) — glassy treatment matching
 * the .bsy-fp-savings__panel style (semi-transparent white + blur). */
.bsy-fp-price {
	position: relative; z-index: 2;
	background: rgba(255,255,255,.10);
	color: #fff;
	border-radius: 22px;
	padding: 22px; direction: rtl;
	border: 1px solid rgba(255,255,255,.20);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 30px 60px -20px rgba(80,5,30,.45);
}
.bsy-fp-price__trial {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 11px; border-radius: 999px;
	background: var(--bsy-success-light); color: var(--bsy-success);
	font-size: 11.5px; font-weight: 900; letter-spacing: 0.01em;
}
.bsy-fp-price__trial-dot {
	width: 6px; height: 6px; border-radius: 999px;
	background: var(--bsy-success);
}
.bsy-fp-price__amt {
	margin-top: 14px;
	display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
}
/* On the glassy card the price text is white. */
.bsy-fp-price__amt-n {
	font-family: var(--bsy-font); font-weight: 950;
	font-size: clamp(38px, 4vw, 52px);
 line-height: 1;
	color: #fff;
}
.bsy-fp-price__amt-u { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.75); }
.bsy-fp-price__sub {
	margin: 6px 0 0;
	font-size: 12.5px; font-weight: var(--bsy-fw-medium);
	color: rgba(255,255,255,.78); line-height: 1.55;
}
.bsy-fp-price__list {
	margin-top: 14px; padding: 14px;
	border-radius: 14px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.16);
	display: flex; flex-direction: column; gap: 9px;
}
.bsy-fp-price__row {
	display: flex; align-items: flex-start; gap: 10px;
}
.bsy-fp-price__check {
	width: 20px; height: 20px; border-radius: 999px;
	background: var(--bsy-fp-gold); color: var(--bsy-brand-active);
	display: grid; place-items: center; flex: none; margin-top: 1px;
}
.bsy-fp-price__row-t {
	font-size: 13px; font-weight: 900;
	color: #fff;
}
.bsy-fp-price__row-s {
	font-size: 11.5px; font-weight: var(--bsy-fw-medium);
	color: rgba(255,255,255,.72); margin-top: 2px;
}

@media (max-width: 960px) {
	.bsy-fp-hero {
		grid-template-columns: 1fr; gap: 16px;
		padding: 22px 18px 20px;
		border-radius: var(--bsy-radius-xl);
		min-height: 0;
	}
	.bsy-fp-hero__chips { display: none; }
	.bsy-fp-hero__title { font-size: 36px; }
	.bsy-fp-hero__cta { margin-top: 16px; }
	.bsy-fp-hero__trust { margin-top: 16px; padding-top: 14px; }
	.bsy-fp-price { padding: 18px; border-radius: 18px; }
}

/* ── BROWSE STRIP ───────────────────────────────────────────── */
.bsy-fp-browse {
	position: relative; overflow: hidden;
	background: #fff; border-radius: var(--bsy-radius-2xl);
	padding: 28px; direction: rtl;
	border: 1px solid var(--bsy-grey-100);
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 8px 24px -12px rgba(0,0,0,.10), 0 32px 60px -24px rgba(80,10,30,.12);
}
.bsy-fp-browse__bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.bsy-fp-browse__motif {
	position: absolute; inset: 0; width: 100%; height: 100%;
	opacity: 0.05; pointer-events: none;
}
.bsy-fp-browse > *:not(.bsy-fp-browse__bg) { position: relative; z-index: 2; }

.bsy-fp-browse__head {
	display: flex; align-items: flex-end; justify-content: space-between;
	gap: 14px; flex-wrap: wrap;
	margin-bottom: 18px;
}
.bsy-fp-browse__head-copy { display: flex; flex-direction: column; gap: 4px; }
.bsy-fp-browse__eye {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 10px; border-radius: 999px;
	background: var(--bsy-brand-lighter); color: var(--bsy-brand);
	font-size: 10.5px; font-weight: 900; letter-spacing: 0.04em;
	width: fit-content;
	border: 1px solid var(--bsy-brand-20);
}
.bsy-fp-browse__eye-dot {
	width: 5px; height: 5px; border-radius: 999px;
	background: var(--bsy-brand);
}
.bsy-fp-browse__title {
	margin: 0;
	font-family: var(--bsy-font); font-weight: 950;
	font-size: clamp(22px, 2.4vw, 30px);
 line-height: 1.1;
	color: var(--bsy-fg-primary);
}
.bsy-fp-browse__title-accent { color: var(--bsy-brand); }
.bsy-fp-browse__lede {
	margin: 0; max-width: 360px;
	font-size: 13px; font-weight: var(--bsy-fw-medium);
	color: var(--bsy-grey-700); line-height: 1.6;
}

/* Search */
.bsy-fp-search {
	display: flex; align-items: center; gap: 10px; direction: rtl;
}
.bsy-fp-search__field {
	flex: 1; position: relative;
	display: flex; align-items: center;
	height: 64px;
	background: #fff; border-radius: 999px;
	/* Design has no visible border on the search field wrapper — just the
	 * shadow. The 1.5px grey ring was reading as a "line" around the input. */
	border: 1px solid var(--bsy-grey-100);
	box-shadow: 0 1px 0 rgba(0,0,0,.02), 0 12px 28px -16px rgba(80,10,30,.18);
	padding-inline-start: 22px; padding-inline-end: 8px;
	cursor: text;
}
.bsy-fp-search__ic {
	width: 32px; height: 32px; border-radius: 999px;
	background: var(--bsy-brand-lighter); color: var(--bsy-brand);
	display: grid; place-items: center; flex: none;
}
.bsy-fp-search__input {
	flex: 1; min-width: 0;
	margin-inline-start: 12px; margin-inline-end: 8px;
	/* Themes commonly inject a system font-family on <input> via
	 * `input { font-family: inherit; }` paired with a body override.
	 * Pin GraphikArabic with !important. */
	font-family: var(--bsy-font) !important;
	font-size: 15.5px; font-weight: 600;
	color: var(--bsy-fg-primary);
	background: transparent !important;
	border: none !important; outline: none !important;
	box-shadow: none !important;
	direction: rtl; text-align: right;
}
.bsy-fp-search__input::placeholder { color: var(--bsy-grey-500); font-weight: var(--bsy-fw-medium); }
.bsy-fp-search__chip {
	display: inline-flex; align-items: center; gap: 6px;
	height: 44px; padding-inline: 14px;
	border-radius: 999px;
	background: var(--bsy-brand); color: #fff;
	font-size: 12.5px; font-weight: 900; letter-spacing: 0.02em;
	flex: none;
	box-shadow: 0 8px 18px -8px rgba(225,29,72,.55);
}
.bsy-fp-search__chip-logo { height: 10px; width: auto; display: block; }
.bsy-fp-search__btn {
	display: inline-flex; align-items: center; gap: 8px;
	height: 64px; padding-inline: 22px;
	border-radius: 999px; border: none;
	background: var(--bsy-black); color: #fff;
	font-family: var(--bsy-font); font-size: 14px; font-weight: 900;
	cursor: pointer;
	box-shadow: 0 12px 28px -12px rgba(0,0,0,.45);
	transition: transform var(--bsy-duration-fast) var(--bsy-ease-out);
}
.bsy-fp-search__btn:hover { transform: translateY(-1px); }

/* Filters */
.bsy-fp-filters {
	margin-top: 18px;
	display: flex; gap: 8px; flex-wrap: wrap;
}
.bsy-fp-filters__c {
	flex: none; cursor: pointer;
	padding: 7px 14px; border-radius: 999px;
	font-family: var(--bsy-font); font-size: 12.5px; font-weight: 800;
	background: #fff; color: var(--bsy-grey-800);
	border: 1px solid var(--bsy-grey-200);
	box-shadow: 0 1px 0 rgba(0,0,0,.02);
	transition: all var(--bsy-duration-fast) var(--bsy-ease-out);
}
.bsy-fp-filters__c:hover { border-color: var(--bsy-brand-light); color: var(--bsy-brand); }
.bsy-fp-filters__c.is-active {
	background: var(--bsy-brand); color: #fff;
	border-color: var(--bsy-brand);
	box-shadow: 0 8px 18px -8px rgba(225,29,72,.45);
}

/* Vendor grid */
.bsy-fp-vendors {
	margin-top: 18px;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
}
.bsy-fp-vendor {
	background: #fff; border-radius: 18px;
	border: 1px solid var(--bsy-grey-100);
	overflow: hidden; direction: rtl;
	box-shadow: 0 1px 0 rgba(0,30,80,.03), 0 10px 22px -14px rgba(80,10,30,.18);
	text-decoration: none; color: inherit;
	display: block;
	transition: transform var(--bsy-duration-base) var(--bsy-ease-out), box-shadow var(--bsy-duration-base) var(--bsy-ease-out);
}
.bsy-fp-vendor:hover {
	transform: translateY(-2px);
	box-shadow: 0 1px 0 rgba(0,30,80,.03), 0 18px 32px -14px rgba(80,10,30,.28);
}
.bsy-fp-vendor__media {
	position: relative; width: 100%; height: 144px; overflow: hidden;
}
.bsy-fp-vendor__media img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.bsy-fp-vendor__badge {
	position: absolute; top: 10px; inset-inline-start: 10px;
	display: inline-flex; align-items: center; gap: 5px;
	padding: 4px 9px; border-radius: 999px;
	background: var(--bsy-brand); color: #fff;
	font-size: 10.5px; font-weight: 900; letter-spacing: 0.04em;
	box-shadow: 0 8px 18px -8px rgba(225,29,72,.55);
}
.bsy-fp-vendor__badge-logo { height: 8px; width: auto; display: block; }
.bsy-fp-vendor__off {
	position: absolute; top: 10px; inset-inline-end: 10px;
	padding: 4px 9px; border-radius: 999px;
	background: var(--bsy-fp-gold); color: var(--bsy-black);
	font-size: 11px; font-weight: 900; letter-spacing: 0.01em;
	box-shadow: 0 6px 14px -6px rgba(0,0,0,.20);
}
.bsy-fp-vendor__eta {
	position: absolute; bottom: 10px; inset-inline-end: 10px;
	display: inline-flex; align-items: center; gap: 4px;
	padding: 4px 9px; border-radius: 999px;
	background: rgba(255,255,255,.95);
	font-size: 11px; font-weight: 800; color: var(--bsy-black);
	box-shadow: 0 4px 12px -4px rgba(0,0,0,.20);
}
.bsy-fp-vendor__body { padding: 12px 14px 14px; }
.bsy-fp-vendor__row {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.bsy-fp-vendor__name {
	font-size: 15px; font-weight: 900;
	color: var(--bsy-fg-primary);
}
.bsy-fp-vendor__rating {
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 12px; font-weight: 800; color: var(--bsy-fg-primary);
}
.bsy-fp-vendor__sub {
	font-size: 12px; font-weight: var(--bsy-fw-medium);
	color: var(--bsy-grey-600); margin-top: 3px;
}
.bsy-fp-vendor__perk {
	margin-top: 10px; padding-top: 10px;
	border-top: 1px dashed var(--bsy-grey-200);
	display: flex; align-items: center; justify-content: space-between;
	font-size: 11.5px; font-weight: 800;
}
.bsy-fp-vendor__perk-l {
	display: inline-flex; align-items: center; gap: 5px;
	color: var(--bsy-brand);
}
.bsy-fp-vendor__perk-ic {
	width: 16px; height: 16px; border-radius: 999px;
	background: var(--bsy-brand); color: #fff;
	display: grid; place-items: center; flex: none;
}
.bsy-fp-vendor__perk-r { color: var(--bsy-grey-700); }
.bsy-fp-vendor__perk-r strong { color: var(--bsy-fg-primary); font-weight: 900; }
.bsy-fp-vendor__perk-u {
	font-weight: var(--bsy-fw-semibold); color: var(--bsy-grey-600);
	margin-inline-start: 3px;
}

/* Browse foot */
.bsy-fp-browse__foot {
	margin-top: 18px; padding-top: 14px;
	border-top: 1px dashed var(--bsy-grey-200);
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; flex-wrap: wrap;
}
.bsy-fp-browse__foot-l {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 12.5px; font-weight: 700; color: var(--bsy-grey-700);
}
.bsy-fp-browse__foot-ic {
	display: inline-grid; place-items: center;
	width: 22px; height: 22px; border-radius: 999px;
	background: var(--bsy-brand); color: #fff;
}
.bsy-fp-browse__foot-cta {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 14px; border-radius: 999px;
	background: var(--bsy-brand); color: #fff;
	font-size: 12.5px; font-weight: 900; text-decoration: none;
	box-shadow: 0 8px 18px -8px rgba(225,29,72,.55);
	transition: background-color var(--bsy-duration-fast) var(--bsy-ease-out);
}
.bsy-fp-browse__foot-cta:hover { background: var(--bsy-brand-hover); color: #fff !important; }
.bsy-fp-browse__foot-cta:hover span { color: #fff !important; }

@media (max-width: 960px) {
	.bsy-fp-browse { padding: 18px 16px 16px; }
	.bsy-fp-search__btn { display: none; }
	.bsy-fp-search__field { height: 56px; }
	.bsy-fp-search__chip { height: 38px; padding-inline: 12px; font-size: 11.5px; }
	.bsy-fp-search__chip-logo { height: 9px; }
	.bsy-fp-vendors { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	.bsy-fp-browse__lede { display: none; }
	.bsy-fp-vendors { grid-template-columns: 1fr; }
	.bsy-fp-vendor__media { height: 150px; }
}

/* ── VALUE PROPS ────────────────────────────────────────────── */
.bsy-fp-values {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
}
.bsy-fp-value {
	background: #fff; border-radius: 20px;
	padding: 20px; direction: rtl;
	border: 1px solid var(--bsy-grey-100);
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 8px 24px -12px rgba(0,0,0,.10), 0 32px 60px -24px rgba(80,10,30,.12);
	display: flex; flex-direction: column; gap: 10px;
}
.bsy-fp-value__ic {
	width: 44px; height: 44px; border-radius: 12px;
	background: var(--bsy-brand-lighter); color: var(--bsy-brand);
	display: grid; place-items: center;
	border: 1px solid var(--bsy-brand-20);
}
.bsy-fp-value__ic--accent {
	background: var(--bsy-brand); color: #fff;
	border: none;
}
.bsy-fp-value__t {
	font-size: 17px; font-weight: 900;
	color: var(--bsy-fg-primary);
	margin-top: 4px;
}
.bsy-fp-value__s {
	font-size: 13px; color: var(--bsy-grey-700);
	line-height: 1.6; font-weight: var(--bsy-fw-medium);
}
@media (max-width: 768px) {
	.bsy-fp-values { grid-template-columns: 1fr; gap: 10px; }
	.bsy-fp-value { padding: 16px; }
}

/* ── SAVINGS BAND ───────────────────────────────────────────── */
.bsy-fp-savings {
	position: relative; overflow: hidden;
	border-radius: var(--bsy-radius-2xl);
	background: linear-gradient(160deg, #3F0A1A 0%, #5B0F2A 55%, #7A1535 100%);
	color: #fff; direction: rtl;
	padding: 32px 36px;
	display: grid; grid-template-columns: 1fr 1.1fr;
	gap: 28px; align-items: center;
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 28px 60px -24px rgba(60,5,20,.55);
}
.bsy-fp-savings__grid {
	position: absolute; inset: 0; opacity: 0.18; pointer-events: none;
	background-image:
		repeating-linear-gradient(90deg, rgba(255,255,255,.5) 0 1px, transparent 1px 30px),
		repeating-linear-gradient(0deg,  rgba(255,255,255,.5) 0 1px, transparent 1px 30px);
}
.bsy-fp-savings__glow {
	position: absolute; inset: auto -120px auto auto; top: -100px;
	width: 380px; height: 380px; border-radius: 999px;
	background: radial-gradient(circle, rgba(255,225,94,.22), transparent 65%);
	filter: blur(40px); pointer-events: none;
}
.bsy-fp-savings__copy { position: relative; z-index: 2; }
.bsy-fp-savings__eye {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 12px; border-radius: 999px;
	background: rgba(255,225,94,.18); color: var(--bsy-fp-gold);
	font-size: 11.5px; font-weight: 900; letter-spacing: 0.02em;
	border: 1px solid rgba(255,225,94,.35);
}
.bsy-fp-savings__eye-dot {
	width: 6px; height: 6px; border-radius: 999px; background: var(--bsy-fp-gold);
}
.bsy-fp-savings__title {
	margin: 12px 0 10px;
	font-family: var(--bsy-font); font-weight: 950;
	font-size: clamp(24px, 3vw, 38px); line-height: 1.05;
	color: #fff;
}
.bsy-fp-savings__title-accent { color: var(--bsy-fp-gold); }
.bsy-fp-savings__lede {
	margin: 0; max-width: 420px;
	font-size: 14px; font-weight: var(--bsy-fw-medium);
	color: rgba(255,255,255,.78); line-height: 1.7;
}
.bsy-fp-savings__panel {
	position: relative; z-index: 2;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 18px; overflow: hidden;
	backdrop-filter: blur(6px);
}
.bsy-fp-savings__row {
	padding: 14px 18px;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	border-bottom: 1px solid rgba(255,255,255,.10);
	direction: rtl;
}
.bsy-fp-savings__row:last-of-type { border-bottom: none; }
.bsy-fp-savings__row-l {
	font-size: 12px; font-weight: var(--bsy-fw-semibold);
	color: rgba(255,255,255,.70);
}
.bsy-fp-savings__row-s {
	font-size: 10.5px; font-weight: var(--bsy-fw-medium);
	color: rgba(255,255,255,.50); margin-top: 2px;
}
.bsy-fp-savings__row-v {
	font-family: var(--bsy-font); font-weight: 900;
	font-size: 18px; color: #fff;
}
.bsy-fp-savings__total {
	padding: 16px 18px;
	background: rgba(255,225,94,.10);
	border-top: 1px solid rgba(255,225,94,.20);
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	direction: rtl;
}
.bsy-fp-savings__total-l { font-size: 13px; font-weight: 900; color: #fff; }
.bsy-fp-savings__total-v {
	font-family: var(--bsy-font); font-weight: 950;
	font-size: 26px; color: var(--bsy-fp-gold);
 line-height: 1;
}
.bsy-fp-savings__total-u {
	font-size: 11px; color: rgba(255,225,94,.7); font-weight: 700;
}
@media (max-width: 960px) {
	.bsy-fp-savings { grid-template-columns: 1fr; gap: 18px; padding: 20px 18px; }
	.bsy-fp-savings__title { font-size: 26px; }
	.bsy-fp-savings__lede { font-size: 13px; }
	.bsy-fp-savings__row { padding: 12px 14px; }
	.bsy-fp-savings__row-v { font-size: 16px; }
	.bsy-fp-savings__total { padding: 14px; }
	.bsy-fp-savings__total-v { font-size: 22px; }
}

/* ── HOW IT WORKS ───────────────────────────────────────────── */
.bsy-fp-how__grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
	margin-top: 6px;
}
.bsy-fp-how__step {
	position: relative; overflow: hidden;
	background: var(--bsy-grey-100);
	border: 1px solid transparent;
	border-radius: 18px; padding: 18px; direction: rtl;
	display: flex; flex-direction: column; gap: 10px;
	min-height: 200px;
}
.bsy-fp-how__step--accent {
	background: var(--bsy-brand-lighter);
	border-color: var(--bsy-brand-20);
}
.bsy-fp-how__n {
	font-family: var(--bsy-font); font-weight: 950;
	font-size: 52px; line-height: 0.9;
	color: var(--bsy-grey-300);
}
.bsy-fp-how__step--accent .bsy-fp-how__n { color: var(--bsy-brand); }
.bsy-fp-how__t {
	font-size: 17px; font-weight: 900;
	color: var(--bsy-fg-primary);
	margin-top: 4px;
}
.bsy-fp-how__s {
	font-size: 13px; font-weight: var(--bsy-fw-medium);
	color: var(--bsy-grey-700); line-height: 1.6;
}
.bsy-fp-how__chip {
	position: absolute; inset-inline-start: -22px; bottom: -22px;
	width: 96px; height: 96px; border-radius: 999px;
	overflow: hidden; background: #fff;
	box-shadow: 0 12px 24px -10px rgba(80,10,30,.25);
	border: 4px solid #fff;
	opacity: 0.95;
}
.bsy-fp-how__chip img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
@media (max-width: 768px) {
	.bsy-fp-how__grid { grid-template-columns: 1fr; gap: 10px; }
	.bsy-fp-how__step { min-height: 0; padding: 14px; }
	.bsy-fp-how__n { font-size: 40px; }
	.bsy-fp-how__t { font-size: 16px; }
}

/* ── FEATURED RESTAURANTS ───────────────────────────────────── */
.bsy-fp-feat__head {
	display: flex; align-items: flex-end; justify-content: space-between;
	gap: 12px; flex-wrap: wrap; margin-bottom: 16px;
}
.bsy-fp-feat__all {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 14px; border-radius: 999px;
	background: var(--bsy-grey-100); color: var(--bsy-grey-800);
	font-size: 12.5px; font-weight: 800; text-decoration: none;
	margin-bottom: 18px;
	transition: background-color var(--bsy-duration-fast) var(--bsy-ease-out);
}
.bsy-fp-feat__all:hover { background: var(--bsy-grey-200); }
.bsy-fp-feat__grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
}
.bsy-fp-feat__c {
	background: #fff; border-radius: 18px;
	border: 1px solid var(--bsy-grey-100);
	overflow: hidden; direction: rtl;
	box-shadow: 0 1px 0 rgba(0,30,80,.03);
	cursor: pointer;
	transition: transform var(--bsy-duration-base) var(--bsy-ease-out), box-shadow var(--bsy-duration-base) var(--bsy-ease-out);
}
.bsy-fp-feat__c:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 32px -16px rgba(80,10,30,.25);
}
.bsy-fp-feat__media {
	position: relative; width: 100%; height: 140px; overflow: hidden;
}
.bsy-fp-feat__media img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.bsy-fp-feat__badge {
	position: absolute; top: 10px; inset-inline-start: 10px;
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 10px 4px 9px; border-radius: 999px;
	background: var(--bsy-brand); color: #fff;
	font-size: 10.5px; font-weight: 900; letter-spacing: 0.02em;
	box-shadow: 0 6px 14px -6px rgba(225,29,72,.55);
}
.bsy-fp-feat__badge-logo { height: 9px; width: auto; display: block; }
.bsy-fp-feat__off {
	position: absolute; bottom: 10px; inset-inline-end: 10px;
	padding: 4px 10px; border-radius: 999px;
	background: rgba(255,255,255,.95); color: var(--bsy-brand);
	font-size: 10.5px; font-weight: 900;
	box-shadow: 0 4px 12px -4px rgba(0,0,0,.20);
}
.bsy-fp-feat__body { padding: 12px 14px 14px; }
.bsy-fp-feat__row {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.bsy-fp-feat__name {
	font-size: 15px; font-weight: 900;
	color: var(--bsy-fg-primary);
}
.bsy-fp-feat__rating {
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 12px; font-weight: 800; color: var(--bsy-fg-primary);
}
.bsy-fp-feat__cat {
	font-size: 12px; font-weight: var(--bsy-fw-medium);
	color: var(--bsy-grey-600); margin-top: 3px;
}
.bsy-fp-feat__meta {
	margin-top: 10px; padding-top: 10px;
	border-top: 1px dashed var(--bsy-grey-200);
	display: flex; align-items: center; gap: 10px;
	font-size: 11.5px; font-weight: 700; color: var(--bsy-grey-700);
}
.bsy-fp-feat__meta-eta {
	display: inline-flex; align-items: center; gap: 4px;
}
.bsy-fp-feat__meta-sep {
	width: 3px; height: 3px; border-radius: 999px; background: var(--bsy-grey-300);
}
.bsy-fp-feat__meta-free { color: var(--bsy-brand); font-weight: 900; }
@media (max-width: 960px) {
	.bsy-fp-feat__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 768px) {
	.bsy-fp-feat__grid { grid-template-columns: 1fr; }
	.bsy-fp-feat__media { height: 150px; }
}
