@font-face { font-family: Poppins; src: url('../fonts/poppins/poppins-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Poppins; src: url('../fonts/poppins/poppins-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
.trending-section { margin-bottom: 36px; }
.trending-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: start; gap: 16px; font-family: Poppins, Arial, sans-serif; }
.trending-card { min-width: 0; }
.trending-visual { position: relative; }
.trending-art { display: block; position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 6px; background: var(--surface); }
.trending-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.trending-badge { position: absolute; top: 6px; right: 6px; padding: 4px 6px; border-radius: 4px; background: var(--trending-badge-bg); color: var(--badge-text); font-size: 11px; line-height: 1.3; }
.trending-rank { position: absolute; bottom: -14px; left: 6px; font: 500 48px/1 Poppins, Arial, sans-serif; color: var(--text); text-shadow: 0 2px 4px var(--page); -webkit-text-stroke: 3px var(--page); paint-order: stroke fill; pointer-events: none; }
.trending-info { padding-top: 20px; }
.trending-info :is(h2, h3, h4, h5, h6) { min-height: 2.9em; margin: 0; font-size: 13px; line-height: 1.45; font-weight: 500; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.trending-genres { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.trending-grid:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
@media (max-width: 900px) { .trending-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--muted) transparent; padding-bottom: 10px; } .trending-card { scroll-snap-align: start; } }
@media (max-width: 640px) { .trending-grid { gap: 9px; grid-auto-columns: calc((100% - 18px) / 3); } .trending-info :is(h2, h3, h4, h5, h6) { font-size: 12px; } .trending-badge { padding: 3px 5px; } .trending-rank { font-size: 40px; bottom: -12px; } .trending-info { padding-top: 18px; } }
