/* Featured Product Section Styles */
.fd-featured-product-section {
	width: 100%;
	max-width: 100vw;
	overflow-x: auto;
	margin: 0 0 18px 0;
}
.fd-featured-product-title {
	font-weight: 700;
	font-size: 16px;
	color: #d35400;
	margin: 0 0 8px 18px;
}
.fd-featured-product-container {
	display: flex;
	gap: 12px;
	padding: 0 0 8px 0;
	scroll-snap-type: x mandatory;
	overflow-x: auto;
}
.fd-featured-product-card {
	min-width: 120px;
	max-width: 38vw;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 1px 6px rgba(0,0,0,0.08);
	overflow: hidden;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.fd-featured-product-card img {
	width: 100%;
	height: 60px;
	object-fit: cover;
}
.fd-featured-product-info {
	padding: 7px 8px 6px 8px;
	text-align: center;
}
.fd-featured-product-name {
	font-weight: 600;
	font-size: 13px;
	color: #d35400;
	margin-bottom: 2px;
}
.fd-featured-product-desc {
	font-size: 11px;
	color: #444;
	margin-bottom: 2px;
	min-height: 24px;
}
.fd-featured-product-price {
	font-size: 12px;
	color: #05ebb1;
	font-weight: 700;
}
@media (max-width: 600px) {
	.fd-featured-product-card {
		min-width: 90px;
		max-width: 60vw;
	}
	.fd-featured-product-card img {
		height: 40px;
	}
	.fd-featured-product-name {
		font-size: 11px;
	}
	.fd-featured-product-desc {
		font-size: 9px;
	}
	.fd-featured-product-price {
		font-size: 10px;
	}
}
@media (max-width: 600px) {
	.fd-banner-card {
		min-width: 170px;
		max-width: 80vw;
	}
	.fd-banner-card img {
		height: 90px;
	}
	.fd-banner-card .fd-banner-title {
		font-size: 15px;
	}
	.fd-banner-card .fd-banner-desc {
		font-size: 12px;
	}
}
/* Banner Section Styles */
.fd-banner-section {
	width: 100%;
	max-width: 100vw;
	overflow-x: auto;
	padding: 0;
	margin: 0 0 18px 0;
}
.fd-banner-container {
	display: flex;
	gap: 18px;
	padding: 12px 0 0 0;
	scroll-snap-type: x mandatory;
	overflow-x: auto;
}
.fd-banner-card {
	min-width: 270px;
	max-width: 90vw;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.07);
	overflow: hidden;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
}
.fd-banner-card img {
	width: 100%;
	height: 140px;
	object-fit: cover;
}
.fd-banner-card .fd-banner-info {
	padding: 12px 14px 10px 14px;
}
.fd-banner-card .fd-banner-title {
	font-weight: 700;
	font-size: 17px;
	color: #d35400;
}
.fd-banner-card .fd-banner-desc {
	font-size: 14px;
	color: #444;
	margin-top: 4px;
}
/* DOPE Food Page Styles - Prefixed to avoid conflicts */
body.dope-food-page { padding-bottom: 80px; background-color: #f8f9fa; }
.dope-food-header { position: sticky; top: 0; z-index: 100; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.05); padding: 10px 0; }
.dope-location-bar { background: #260f22; color: #fff; padding: 8px 16px; display: flex; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 500; }
.dope-location-info { display: flex; align-items: center; gap: 8px; flex: 1; overflow: hidden; color: #fff; }
.dope-location-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #fff; }
.dope-change-btn { background: rgba(255,255,255,0.2); border: none; padding: 4px 8px; border-radius: 4px; color: #fff; font-size: 12px; cursor: pointer; margin-left: 8px; }
.dope-categories-scroll { display: flex; overflow-x: auto; gap: 15px; padding: 10px 20px; scrollbar-width: none; }
.dope-categories-scroll::-webkit-scrollbar { display: none; }
.dope-category-pill { background: #fff; padding: 8px 16px; border-radius: 20px; white-space: nowrap; border: 1px solid #eee; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: all 0.3s ease; }
.dope-category-pill.active { background: #05ebb1; color: #000; border-color: #05ebb1; font-weight: 600; }
.dope-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
	padding: 20px;
}
@media (max-width: 1200px) {
	.dope-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
@media (max-width: 900px) {
	.dope-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.dope-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
.dope-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.05); transition: transform 0.2s; cursor: pointer; }
.dope-card:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.dope-img-container { position: relative; height: 180px; background: #eee; }
.dope-img { width: 100%; height: 100%; object-fit: cover; }
.dope-badge { position: absolute; bottom: 10px; left: 10px; background: rgba(0,0,0,0.7); color: #fff; padding: 4px 8px; border-radius: 4px; font-size: 12px; }
.dope-info { padding: 15px; }
.dope-header-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 5px; }
.dope-title { font-size: 16px; font-weight: 600; margin: 0; color: #333; }
.dope-price { font-weight: 700; color: #f59207; }
.dope-desc { font-size: 13px; color: #666; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dope-meta { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #888; margin-top: 10px; padding-top: 10px; border-top: 1px solid #eee; }
.dope-add-btn { background: #f5f5f5; color: #333; border: none; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s; }
.dope-add-btn:hover { background: #05ebb1; }
.dope-section-title { padding: 20px 20px 0; font-weight: 700; font-size: 18px; }
.dope-cart-link { position: relative; color: #333; text-decoration: none; }
.dope-cart-icon { background: #f5f5f5; padding: 8px; border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
.dope-cart-count { position: absolute; top: -5px; right: -5px; background: #05ebb1; color: #000; font-size: 11px; padding: 2px 6px; border-radius: 50%; font-weight: 700; border: 2px solid #fff; }
.dope-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); display: none; justify-content: center; align-items: center; z-index: 2000; }
.dope-modal { background: #fff; padding: 20px; border-radius: 12px; width: 90%; max-width: 400px; }
.dope-modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.dope-form-group { margin-bottom: 15px; }
.dope-form-group label { display: block; margin-bottom: 5px; font-weight: 500; }
.dope-form-input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; }
.dope-btn { background: #05ebb1; color: #000; border: none; padding: 12px; width: 100%; border-radius: 6px; font-weight: 600; cursor: pointer; }
.dope-loading, .dope-error, .dope-empty { text-align: center; padding: 40px; color: #666; }
.dope-bottom-nav { position: fixed; bottom: 0; left: 0; width: 100%; background: #ffffff; display: flex; justify-content: space-around; padding: 12px 0; border-top: 1px solid #eee; z-index: 1000; box-shadow: 0 -2px 10px rgba(0,0,0,0.05); }
.dope-nav-item { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: #666; font-size: 11px; gap: 4px; }
.dope-nav-item.active { color: #05ebb1; }
.dope-nav-item i { font-size: 20px; }
.dope-nav-item.dopgo { margin-top: -30px; }
.dope-nav-item.dopgo .dope-icons { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; padding: 8px; border-radius: 50%; width: 48px; height: 48px; align-items: center; justify-items: center; margin-bottom: 4px; }
.dope-nav-item.dopgo .dope-icons i { font-size: 14px; color: #666; }
.dope-nav-item.dopgo.active .dope-icons i { color: #05ebb1; }
