.bb-section { padding: 56px 0; }
.bb-section h2 { font-size: 28px; margin-bottom: 24px; }
.bb-section-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 20px; }
.bb-see-all { color: #D9622B; font-weight: 700; text-decoration: none; font-size: 14px; }
.bb-empty-note, .bb-hint-note { color: #8A8F98; font-size: 14px; }

/* ---- Hero ---- */
.bb-hero { background: linear-gradient(180deg, #FCE8DA 0%, #FDFBF9 100%); padding: 70px 0 40px; overflow: hidden; }
.bb-hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.bb-hero-copy h1 { font-size: 46px; font-weight: 800; letter-spacing: -1px; max-width: 560px; }
.bb-hero-sub { font-size: 17px; color: #5B6470; max-width: 480px; margin-bottom: 28px; }
.bb-hero-search { background: #fff; border-radius: 20px; padding: 16px; box-shadow: 0 10px 30px rgba(31,35,40,0.1); max-width: 480px; }
.bb-search-row { margin-bottom: 10px; }
.bb-search-input { width: 100%; padding: 13px 16px; border-radius: 12px; border: 1.5px solid #EDE7E1; font-family: inherit; font-size: 15px; box-sizing: border-box; }
.bb-search-input:focus { outline: none; border-color: #D9622B; }
.bb-btn-large { padding: 14px 28px; font-size: 16px; width: 100%; }
.bb-hero-secondary { display: inline-block; margin-top: 18px; font-weight: 700; color: #1F2328; text-decoration: none; }
.bb-hero-secondary:hover { color: #D9622B; }

.bb-hero-art { position: relative; height: 340px; }
.bb-hero-blob { position: absolute; inset: 0; background: #D9622B; opacity: 0.12; border-radius: 45% 55% 60% 40% / 50% 45% 55% 50%; }
.bb-hero-emoji { position: absolute; font-size: 90px; top: 40%; left: 30%; transform: translate(-50%,-50%); filter: drop-shadow(0 10px 16px rgba(0,0,0,0.15)); }
.bb-hero-emoji-2 { font-size: 70px; top: 20%; left: 65%; }
.bb-hero-emoji-3 { font-size: 60px; top: 70%; left: 60%; }

@media (max-width: 900px) {
	.bb-hero-inner { grid-template-columns: 1fr; }
	.bb-hero-copy h1 { font-size: 32px; }
	.bb-hero-art { display: none; }
}

/* ---- Cuisine grid ---- */
.bb-cuisine-grid { display: grid; grid-template-columns: repeat(9, 1fr); gap: 14px; }
.bb-cuisine-card { background: #fff; border-radius: 16px; box-shadow: 0 4px 16px rgba(31,35,40,0.05); padding: 20px 10px; text-align: center; text-decoration: none; color: #1F2328; font-weight: 600; font-size: 13px; transition: transform .15s ease; }
.bb-cuisine-card:hover { transform: translateY(-3px); color: #D9622B; }
.bb-cuisine-emoji { display: block; font-size: 32px; margin-bottom: 8px; }
@media (max-width: 900px) { .bb-cuisine-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 500px) { .bb-cuisine-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---- Restaurant rows (featured / nearby) ---- */
.bb-restaurant-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.bb-restaurant-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 16px rgba(31,35,40,0.05); text-decoration: none; color: #1F2328; transition: transform .2s ease; display: block; }
.bb-restaurant-card:hover { transform: translateY(-4px); }
.bb-restaurant-card-cover { height: 120px; background-size: cover; background-position: center; position: relative; background-color: #EDE7E1; }
.bb-restaurant-card-body { padding: 14px; }
.bb-restaurant-card-logo { width: 36px; height: 36px; border-radius: 50%; border: 2px solid #fff; margin-top: -30px; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.bb-restaurant-card-meta { font-size: 12px; color: #5B6470; margin: 2px 0; }
.bb-badge { position: absolute; top: 8px; padding: 3px 9px; border-radius: 999px; font-size: 10px; font-weight: 700; }
.bb-badge-trusted { left: 8px; background: #FFF3E0; color: #B84D1E; }
.bb-badge-open { right: 8px; background: #E4F6EC; color: #1E8E5A; }
.bb-badge-closed { right: 8px; background: #FBEAEA; color: #D64545; }
@media (max-width: 900px) { .bb-restaurant-row { grid-template-columns: repeat(2, 1fr); } }

/* ---- Dishes ---- */
.bb-dish-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.bb-dish-card { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 16px rgba(31,35,40,0.05); text-decoration: none; color: #1F2328; }
.bb-dish-card img { height: 110px; object-fit: cover; width: 100%; }
.bb-dish-card-body { padding: 12px; display: flex; flex-direction: column; gap: 2px; }
.bb-dish-restaurant { font-size: 11px; color: #8A8F98; }
.bb-dish-price { font-weight: 700; color: #D9622B; font-size: 13px; margin-top: 4px; }
@media (max-width: 900px) { .bb-dish-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---- Offers ---- */
.bb-offer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bb-offer-card { background: #1F2328; color: #fff; border-radius: 14px; padding: 20px; }
.bb-offer-code { display: inline-block; background: #D9622B; padding: 4px 12px; border-radius: 8px; font-weight: 800; letter-spacing: 1px; margin-bottom: 10px; font-size: 13px; }
.bb-offer-card p { font-size: 13px; color: #C7CBD1; margin: 0; }

/* ---- How it works ---- */
.bb-how-it-works-section { background: #FFF6EF; }
.bb-steps-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.bb-step-card { background: #fff; border-radius: 16px; padding: 24px 16px; text-align: center; box-shadow: 0 4px 16px rgba(31,35,40,0.05); position: relative; }
.bb-step-number { position: absolute; top: 12px; left: 14px; font-weight: 800; color: #EDE7E1; font-size: 20px; }
.bb-step-emoji { display: block; font-size: 34px; margin-bottom: 12px; }
.bb-step-card h3 { font-size: 15px; }
.bb-step-card p { font-size: 12px; color: #5B6470; }
@media (max-width: 900px) { .bb-steps-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---- Why choose us ---- */
.bb-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bb-why-card { background: #fff; border-radius: 16px; padding: 26px; box-shadow: 0 4px 16px rgba(31,35,40,0.05); }
.bb-why-emoji { font-size: 30px; display: block; margin-bottom: 10px; }
.bb-why-card h3 { font-size: 16px; }
.bb-why-card p { font-size: 13px; color: #5B6470; }
@media (max-width: 900px) { .bb-why-grid { grid-template-columns: 1fr 1fr; } }

/* ---- Partner / rider sections ---- */
.bb-partner-section { background: #D9622B; color: #fff; }
.bb-rider-section { background: #1F2328; color: #fff; }
.bb-partner-inner { text-align: center; max-width: 640px; margin: 0 auto; }
.bb-partner-inner h2 { font-size: 30px; }
.bb-partner-inner p { opacity: 0.9; margin-bottom: 24px; font-size: 15px; }
.bb-partner-section .bb-btn-primary { background: #1F2328; }
.bb-partner-section .bb-btn-primary:hover { background: #000; }
.bb-rider-section .bb-btn-primary { background: #D9622B; }

.bb-search-context { color: #5B6470; margin-bottom: 6px; font-size: 14px; }
