/* ─── RECENTLY VIEWED ─────────────────────────────── */
/* Horizontal scrollable row of the visitor's last-viewed products, injected
   by /public/recently-viewed.js into the empty #recentlyViewedSection at the
   end of product detail pages. Section stays hidden when the visitor has no
   other history yet. */
.rv-section {
    border-top: 1px solid var(--cream-dark);
    padding-top: 60px;
    margin-top: 60px;
}
.rv-header { margin-bottom: 28px; }
.rv-header .section-tag { color: var(--coral); }
.rv-title { font-family: 'Instrument Serif', serif; font-size: 28px; font-weight: 400; color: var(--dark); margin: 0; }
.rv-row {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}
.rv-row::-webkit-scrollbar { height: 6px; }
.rv-row::-webkit-scrollbar-track { background: var(--cream); border-radius: 4px; }
.rv-row::-webkit-scrollbar-thumb { background: var(--cream-dark); border-radius: 4px; }
.rv-card {
    flex: 0 0 220px;
    scroll-snap-align: start;
    background: white;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(44, 32, 24, 0.07);
    transition: all 0.25s;
    text-decoration: none;
    display: flex;
    flex-direction: column;
}
.rv-card:hover { transform: translateY(-4px); box-shadow: 0 10px 32px rgba(44, 32, 24, 0.12); }
.rv-img {
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cream);
}
.rv-img img { width: 100%; height: 100%; object-fit: cover; }
.rv-placeholder-icon { font-size: 36px; color: var(--cream-dark); }
.rv-body { padding: 16px; }
.rv-name { font-family: 'Instrument Serif', serif; font-size: 16px; color: var(--dark); margin-bottom: 6px; line-height: 1.2; }
.rv-price { font-family: 'Syne', sans-serif; font-size: 16px; font-weight: 700; color: var(--text-muted); }
@media (max-width: 768px) {
    .rv-section { margin-top: 40px; padding-top: 40px; }
    .rv-title { font-size: 24px; }
    .rv-card { flex-basis: 180px; }
}
