.bkbg-sf-wrapper { box-sizing: border-box; width: 100%; } /* Grid */ .bkbg-sf-grid { display: grid; grid-template-columns: repeat(var(--bkbg-sf-cols, 3), 1fr); gap: var(--bkbg-sf-gap, 20px); } @media (max-width: 900px) { .bkbg-sf-grid { grid-template-columns: repeat(var(--bkbg-sf-cols-tablet, 2), 1fr); } } @media (max-width: 600px) { .bkbg-sf-grid { grid-template-columns: repeat(var(--bkbg-sf-cols-mobile, 1), 1fr); } } /* Card variants */ .bkbg-sf-card { box-sizing: border-box; padding: var(--bkbg-sf-card-pad, 20px); border-radius: var(--bkbg-sf-card-r, 16px); background: var(--bkbg-sf-card-bg, #fff); transition: transform 0.22s ease, box-shadow 0.22s ease; position: relative; overflow: hidden; } .bkbg-sf-card--card { box-shadow: 0 2px 8px rgba(0,0,0,0.08); border: 1px solid var(--bkbg-sf-card-border, #e5e7eb); } .bkbg-sf-card--bordered { border: 2px solid var(--bkbg-sf-card-border, #e5e7eb); } .bkbg-sf-card--flat { background: transparent; border-bottom: 1px solid var(--bkbg-sf-card-border, #e5e7eb); border-radius: 0; padding-left: 0; padding-right: 0; } /* Hover effects */ .bkbg-sf-card--hover-lift:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.12); } .bkbg-sf-card--hover-scale:hover { transform: scale(1.02); } .bkbg-sf-card--hover-glow:hover { box-shadow: 0 0 0 3px var(--bkbg-sf-accent, #6c3fb5) 33; } /* Card header */ .bkbg-sf-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; } .bkbg-sf-header-left { display: flex; align-items: center; gap: 10px; } /* Avatar */ .bkbg-sf-avatar { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: var(--bkbg-sf-accent, #6c3fb5); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; } .bkbg-sf-avatar img { width: 100%; height: 100%; object-fit: cover; } /* Username */ .bkbg-sf-username { font-family: var(--bksf-un-font-family, inherit); font-size: var(--bksf-un-font-size-d, var(--bkbg-sf-username-sz, 14px)); font-weight: var(--bksf-un-font-weight, 700); font-style: var(--bksf-un-font-style, normal); text-transform: var(--bksf-un-text-transform, none); text-decoration: var(--bksf-un-text-decoration, none); line-height: var(--bksf-un-line-height-d, 1.4); letter-spacing: var(--bksf-un-letter-spacing-d, normal); word-spacing: var(--bksf-un-word-spacing-d, normal); color: var(--bkbg-sf-username-color, #111827); margin: 0; } .bkbg-sf-time-ago { font-size: 12px; color: var(--bkbg-sf-metrics-color, #9ca3af); margin: 0; } /* Platform badge */ .bkbg-sf-platform-badge { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; } /* Post image */ .bkbg-sf-image-wrap { margin-bottom: 12px; overflow: hidden; border-radius: var(--bkbg-sf-image-r, 12px); } .bkbg-sf-image-ratio { position: relative; width: 100%; } .bkbg-sf-image-ratio img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } /* Post content */ .bkbg-sf-content { font-family: var(--bksf-ct-font-family, inherit); font-size: var(--bksf-ct-font-size-d, var(--bkbg-sf-content-sz, 14px)); font-weight: var(--bksf-ct-font-weight, 400); font-style: var(--bksf-ct-font-style, normal); text-transform: var(--bksf-ct-text-transform, none); text-decoration: var(--bksf-ct-text-decoration, none); line-height: var(--bksf-ct-line-height-d, 1.6); letter-spacing: var(--bksf-ct-letter-spacing-d, normal); word-spacing: var(--bksf-ct-word-spacing-d, normal); color: var(--bkbg-sf-text-color, #374151); margin: 0 0 12px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: var(--bkbg-sf-content-lines, 4); -webkit-box-orient: vertical; } /* Metrics */ .bkbg-sf-metrics { display: flex; gap: 14px; font-family: var(--bksf-mt-font-family, inherit); font-size: var(--bksf-mt-font-size-d, var(--bkbg-sf-metrics-sz, 13px)); font-weight: var(--bksf-mt-font-weight, 600); font-style: var(--bksf-mt-font-style, normal); text-transform: var(--bksf-mt-text-transform, none); text-decoration: var(--bksf-mt-text-decoration, none); line-height: var(--bksf-mt-line-height-d, 1.4); letter-spacing: var(--bksf-mt-letter-spacing-d, normal); word-spacing: var(--bksf-mt-word-spacing-d, normal); color: var(--bkbg-sf-metrics-color, #9ca3af); } @media (max-width: 1024px) { .bkbg-sf-username { font-size: var(--bksf-un-font-size-t, var(--bksf-un-font-size-d, var(--bkbg-sf-username-sz, 14px))); line-height: var(--bksf-un-line-height-t, var(--bksf-un-line-height-d, 1.4)); letter-spacing: var(--bksf-un-letter-spacing-t, var(--bksf-un-letter-spacing-d, normal)); word-spacing: var(--bksf-un-word-spacing-t, var(--bksf-un-word-spacing-d, normal)); } .bkbg-sf-content { font-size: var(--bksf-ct-font-size-t, var(--bksf-ct-font-size-d, var(--bkbg-sf-content-sz, 14px))); line-height: var(--bksf-ct-line-height-t, var(--bksf-ct-line-height-d, 1.6)); letter-spacing: var(--bksf-ct-letter-spacing-t, var(--bksf-ct-letter-spacing-d, normal)); word-spacing: var(--bksf-ct-word-spacing-t, var(--bksf-ct-word-spacing-d, normal)); } .bkbg-sf-metrics { font-size: var(--bksf-mt-font-size-t, var(--bksf-mt-font-size-d, var(--bkbg-sf-metrics-sz, 13px))); line-height: var(--bksf-mt-line-height-t, var(--bksf-mt-line-height-d, 1.4)); letter-spacing: var(--bksf-mt-letter-spacing-t, var(--bksf-mt-letter-spacing-d, normal)); word-spacing: var(--bksf-mt-word-spacing-t, var(--bksf-mt-word-spacing-d, normal)); } } @media (max-width: 767px) { .bkbg-sf-username { font-size: var(--bksf-un-font-size-m, var(--bksf-un-font-size-t, var(--bksf-un-font-size-d, var(--bkbg-sf-username-sz, 14px)))); line-height: var(--bksf-un-line-height-m, var(--bksf-un-line-height-t, var(--bksf-un-line-height-d, 1.4))); letter-spacing: var(--bksf-un-letter-spacing-m, var(--bksf-un-letter-spacing-t, var(--bksf-un-letter-spacing-d, normal))); word-spacing: var(--bksf-un-word-spacing-m, var(--bksf-un-word-spacing-t, var(--bksf-un-word-spacing-d, normal))); } .bkbg-sf-content { font-size: var(--bksf-ct-font-size-m, var(--bksf-ct-font-size-t, var(--bksf-ct-font-size-d, var(--bkbg-sf-content-sz, 14px)))); line-height: var(--bksf-ct-line-height-m, var(--bksf-ct-line-height-t, var(--bksf-ct-line-height-d, 1.6))); letter-spacing: var(--bksf-ct-letter-spacing-m, var(--bksf-ct-letter-spacing-t, var(--bksf-ct-letter-spacing-d, normal))); word-spacing: var(--bksf-ct-word-spacing-m, var(--bksf-ct-word-spacing-t, var(--bksf-ct-word-spacing-d, normal))); } .bkbg-sf-metrics { font-size: var(--bksf-mt-font-size-m, var(--bksf-mt-font-size-t, var(--bksf-mt-font-size-d, var(--bkbg-sf-metrics-sz, 13px)))); line-height: var(--bksf-mt-line-height-m, var(--bksf-mt-line-height-t, var(--bksf-mt-line-height-d, 1.4))); letter-spacing: var(--bksf-mt-letter-spacing-m, var(--bksf-mt-letter-spacing-t, var(--bksf-mt-letter-spacing-d, normal))); word-spacing: var(--bksf-mt-word-spacing-m, var(--bksf-mt-word-spacing-t, var(--bksf-mt-word-spacing-d, normal))); } }