/* Shared post-card styles — used by /store's social feed and the store
   page's Feed-mode toggle. See postcard.js for the matching HTML/JS. */

.post-card { background: #FFFFFF; margin-bottom: 6px; }

.pc-header { display: flex; align-items: center; gap: 10px; padding: 12px 12px 6px 12px; }
.pc-avatar { display: block; width: 34px; height: 34px; flex-shrink: 0; }
.pc-avatar-ring { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; padding: 2px; background: linear-gradient(135deg, #FF9800, #FF5722, #D81B60); }
.pc-avatar-inner { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; background: #FFFFFF; overflow: hidden; font-size: 13px; font-weight: 800; color: #FF5722; }
.pc-avatar-inner img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.pc-header-text { flex: 1; min-width: 0; }
.pc-seller-name { font-size: 13.5px; font-weight: 600; color: #18181B; display: inline-flex; align-items: center; gap: 3px; }
.pc-verified { color: #1D9BF0; font-size: 12px; }
.pc-meta { font-size: 11px; color: #9CA3AF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-more { background: none; border: none; font-size: 18px; color: #52525B; cursor: pointer; padding: 4px 8px; }

.pc-media { position: relative; width: 100%; aspect-ratio: 1; background: #F5F5F7; overflow: hidden; cursor: pointer; }
.pc-slides { position: relative; width: 100%; height: 100%; }
.pc-slide { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; }
.pc-slide.active { display: flex; }
.pc-slide img, .pc-slide video { width: 100%; height: 100%; object-fit: cover; }
.pc-slide.pc-no-img { font-size: 60px; opacity: 0.25; }
.pc-dots { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; justify-content: center; gap: 4px; }
.pc-dot { width: 6px; height: 6px; border-radius: 3px; background: rgba(255,255,255,0.6); }
.pc-dot.active { width: 18px; background: #FFFFFF; }
.pc-counter { position: absolute; top: 10px; right: 10px; background: rgba(0,0,0,0.6); color: white; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 20px; }
.pc-soldout { position: absolute; top: 10px; left: 10px; background: rgba(0,0,0,0.62); color: white; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.3px; }

.pc-like-burst { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #FFFFFF; font-size: 96px; opacity: 0; transform: scale(0); pointer-events: none; text-shadow: 0 4px 18px rgba(0,0,0,0.35); }
.pc-like-burst.show { animation: pcLikeBurst 700ms ease-out; }
@keyframes pcLikeBurst {
  0%   { opacity: 0;   transform: scale(0); }
  35%  { opacity: 1;   transform: scale(1.25); }
  50%  { opacity: 1;   transform: scale(1); }
  100% { opacity: 0;   transform: scale(1); }
}

.pc-actions { display: flex; align-items: center; gap: 4px; padding: 6px 6px 0 10px; }
.pc-like-btn, .pc-comment-btn { background: none; border: none; padding: 6px; cursor: pointer; color: #18181B; display: flex; align-items: center; }
.pc-like-btn.liked { color: #FF5722; }
.pc-spacer { flex: 1; }
.pc-buy-btn { display: flex; align-items: center; gap: 6px; background: none; border: none; color: #FF5722; font-size: 13px; font-weight: 700; cursor: pointer; padding: 6px 4px; }
.pc-buy-btn:disabled { color: #9CA3AF; cursor: not-allowed; }

.pc-caption { padding: 6px 12px 14px; }
.pc-likes-count { font-size: 13px; font-weight: 700; color: #18181B; margin-bottom: 4px; }
.pc-caption-line { font-size: 13.5px; line-height: 1.35; color: #18181B; margin-bottom: 6px; }
.pc-handle { font-weight: 600; color: #18181B; margin-right: 4px; }
.pc-product-name { color: #18181B; }
.pc-price-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.pc-price { font-size: 16px; font-weight: 800; color: #FF5722; }
.pc-low-stock { font-size: 11.5px; font-weight: 600; color: #D32F2F; }
.pc-comments-link { font-size: 12.5px; color: #9CA3AF; }

/* Stories rail (shared shape between /store's feed and any other page that
   wants the same "Shops" rail). */
.pc-stories-rail { display: flex; gap: 14px; overflow-x: auto; padding: 10px 12px 8px; }
.pc-story-item { display: flex; flex-direction: column; align-items: center; width: 68px; flex-shrink: 0; text-decoration: none; }
.pc-story-avatar { width: 62px; height: 62px; border-radius: 50%; padding: 2px; background: linear-gradient(135deg, #FF9800, #FF5722, #D81B60); margin-bottom: 6px; }
.pc-story-avatar-inner { width: 100%; height: 100%; border-radius: 50%; background: #FFFFFF; display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 20px; font-weight: 800; color: #FF5722; }
.pc-story-avatar-inner img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.pc-story-name { font-size: 11px; color: #18181B; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
