import { StyleSheet, Platform } from 'react-native'; import { typography } from '@theme'; export const getStyles = (colors: any) => StyleSheet.create({ container: { backgroundColor: colors.cardBg, borderRadius: 18, marginHorizontal: 16, marginVertical: 8, overflow: 'hidden', ...Platform.select({ ios: { shadowColor: '#000', shadowOffset: { width: 0, height: 3 }, shadowOpacity: 0.06, shadowRadius: 10, }, android: { elevation: 2 }, }), }, // ---------- Image ---------- imageWrap: { width: '100%', height: 150, position: 'relative', backgroundColor: colors.border, }, image: { width: '100%', height: '100%', }, imagePlaceholder: { width: '100%', height: '100%', alignItems: 'center', justifyContent: 'center', backgroundColor: colors.border, }, imagePlaceholderEmoji: { fontSize: 34, }, discountRibbon: { position: 'absolute', top: 12, left: 0, backgroundColor: colors.primary, paddingVertical: 4, paddingHorizontal: 10, borderTopRightRadius: 8, borderBottomRightRadius: 8, }, discountRibbonText: { color: '#FFFFFF', fontSize: typography.fontSize.xs, fontWeight: typography.fontWeight.bold, }, favoriteButton: { position: 'absolute', top: 10, right: 10, width: 32, height: 32, borderRadius: 16, backgroundColor: 'rgba(255,255,255,0.92)', alignItems: 'center', justifyContent: 'center', }, favoriteIcon: { fontSize: 15, }, // ---------- Body ---------- body: { padding: 14, }, topRow: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'flex-start', }, name: { fontSize: typography.fontSize.md, fontWeight: typography.fontWeight.bold, color: colors.text, flex: 1, marginRight: 8, }, ratingPill: { flexDirection: 'row', alignItems: 'center', backgroundColor: colors.primaryMuted ?? '#E9F7EF', borderRadius: 8, paddingHorizontal: 6, paddingVertical: 3, }, ratingStar: { fontSize: 11, marginRight: 3, }, ratingText: { fontSize: typography.fontSize.xs, fontWeight: typography.fontWeight.bold, color: colors.primary, }, metaRow: { flexDirection: 'row', alignItems: 'center', marginTop: 8, }, metaText: { fontSize: typography.fontSize.sm, color: colors.textSecondary, }, metaDivider: { width: 3, height: 3, borderRadius: 1.5, backgroundColor: colors.textSecondary, marginHorizontal: 8, opacity: 0.5, }, tagPill: { alignSelf: 'flex-start', backgroundColor: colors.background, borderRadius: 6, paddingHorizontal: 8, paddingVertical: 3, marginTop: 10, borderWidth: 1, borderColor: colors.border, }, tagPillText: { fontSize: typography.fontSize.xs, color: colors.textSecondary, fontWeight: typography.fontWeight.medium, }, });