/* LF Map: world map inside Trending Now (home page). */
.lf-tn-body{max-width:1200px;margin:0 auto}
.lf-tn-body.has-map{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1.25rem;align-items:start}
.lf-tn-body.has-map .lf-trending-rows{margin:0;width:100%}
.lf-tn-side{display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.lf-map-ad{min-height:250px;margin:0;border-radius:16px;overflow:hidden}
.lf-tn-body:not(.has-map) .lf-tn-side{margin-bottom:1.25rem}
.lf-map{background:#fff;border:1px solid rgba(2,6,23,.08);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.8rem;min-width:0}
.lf-map[hidden]{display:none}
.lf-map-regions{display:flex;gap:.4rem;flex-wrap:wrap}
.lf-map-regions button{min-height:36px;padding:0 .85rem;border-radius:999px;border:1px solid rgba(2,6,23,.14);background:#fff;color:#3b4458;font:600 .82rem var(--font-primary);cursor:pointer}
.lf-map-regions button.is-active{background:#0b1220;border-color:#0b1220;color:#fff}
.lf-map-stage{position:relative}
.lf-map-svg{aspect-ratio:996/436;width:100%}
.lf-map-svg svg{display:block;width:100%;height:100%;overflow:hidden}
.lf-map-other path{fill:#e9ebf2;stroke:#fff;stroke-width:.5}
.lf-map-shapes path{fill:#e3e6f0;stroke:#fff;stroke-width:.5;vector-effect:non-scaling-stroke}
.lf-map-dots circle{fill:none;stroke:none;pointer-events:none}
.lf-map-svg .is-on{fill:#b9b1fb;cursor:pointer;pointer-events:auto;transition:fill .15s ease}
.lf-map-dots .is-on{stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke}
.lf-map-svg .is-current{fill:#ff4d8d}
.lf-map-tip{position:absolute;transform:translate(-50%,calc(-100% - 12px));background:#0b1220;color:#fff;font:600 .78rem var(--font-primary);padding:.3rem .6rem;border-radius:8px;white-space:nowrap;pointer-events:none;z-index:3}
.lf-map-tip[hidden]{display:none}
.lf-map-card{position:absolute;left:var(--lf-x,50%);top:var(--lf-y,50%);transform:translate(-50%,calc(-100% - 14px));z-index:2;display:flex;align-items:center;gap:.8rem;max-width:min(300px,78%);background:#0b1220;color:#fff;border-radius:14px;padding:.7rem .7rem .7rem .9rem;box-shadow:0 14px 34px rgba(11,18,32,.28)}
.lf-map-card.is-below{transform:translate(-50%,14px)}
.lf-map-card.is-off{left:50%;top:auto;bottom:.5rem;transform:translateX(-50%)}
.lf-map-card[hidden]{display:none}
.lf-map-card-text{min-width:0;display:flex;flex-direction:column;gap:1px}
.lf-map-card-label{font:700 .68rem var(--font-primary);letter-spacing:.07em;text-transform:uppercase;color:#ffb3cd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-map-card-title{font:700 1rem var(--font-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-map-card-artist{font:400 .8rem var(--font-primary);color:#c9cfdd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-map-card-play{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;background:#ff4d8d;color:#0b1220;display:grid;place-items:center;cursor:pointer}
.lf-map-card-play[hidden]{display:none}
.lf-map-card-play .lf-ic-pause,.lf-map-card-play.is-playing .lf-ic-play{display:none}
.lf-map-card-play.is-playing .lf-ic-pause{display:block}
.lf-map-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.lf-map-legend{display:flex;gap:.9rem;flex-wrap:wrap;font:400 .78rem var(--font-primary);color:#3b4458}
.lf-map-legend span{display:inline-flex;align-items:center;gap:.4rem}
.lf-map-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.lf-map-legend .k-cur{background:#ff4d8d}
.lf-map-legend .k-on{background:#b9b1fb}
.lf-map-legend .k-off{background:#e3e6f0;border:1px solid #c7ccdb}
.lf-map-surprise{min-height:44px;padding:0 1.1rem;border-radius:999px;border:0;background:#6a5af9;color:#fff;font:600 .88rem var(--font-primary);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}
.lf-map-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.lf-map-copy{min-height:44px;padding:0 1rem;border-radius:999px;border:1px solid rgba(2,6,23,.16);background:#fff;color:#0b1220;font:600 .88rem var(--font-primary);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}
.lf-map-copy[hidden]{display:none}
html.lf-dark .lf-map-copy{background:#1d2540;border-color:rgba(255,255,255,.16);color:#e8ebf5}
.lf-map-regions button:focus-visible,.lf-map-surprise:focus-visible,.lf-map-copy:focus-visible,.lf-map-card-play:focus-visible{outline:3px solid #22d3ee;outline-offset:2px}
@media (hover:hover){.lf-map-svg .is-on:hover{fill:#8f84f5}.lf-map-svg .is-current:hover{fill:#ff4d8d}}
/* One column: the map sits above the list, the card under the map. */
@media (max-width:900px){
.lf-tn-body.has-map{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
.lf-map{padding:.7rem}
.lf-map-regions{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.lf-map-regions button{flex:0 0 auto;min-height:44px}
.lf-map-card,.lf-map-card.is-below,.lf-map-card.is-off{position:static;transform:none;max-width:none;margin-top:.6rem;box-shadow:none}
.lf-map-card-text{flex:1}
}
@media (max-width:600px){
.lf-trending-listview .lf-tn-body{order:3;width:100%;min-width:0}
.lf-trending-listview.lf-home-trending .lf-tn-head{margin-bottom:.6rem}
.lf-tn-body.has-map,.lf-tn-side{gap:.8rem}
}
/* The empty favorites row kept its margin while hidden and pushed the map down. */
.lf-fav-chips[hidden]{display:none}
html.lf-dark .lf-map{background:#161d31;border-color:rgba(255,255,255,.1)}
html.lf-dark .lf-map-other path{fill:#232b42;stroke:#161d31}
html.lf-dark .lf-map-shapes path{fill:#2a3350;stroke:#161d31}
html.lf-dark .lf-map-svg .is-on{fill:#7468e8}
html.lf-dark .lf-map-svg .is-current{fill:#ff4d8d}
html.lf-dark .lf-map-regions button{background:#1d2540;border-color:rgba(255,255,255,.14);color:#c9cfdd}
html.lf-dark .lf-map-regions button.is-active{background:#fff;border-color:#fff;color:#0b1220}
html.lf-dark .lf-map-legend{color:#aab4cd}
html.lf-dark .lf-map-legend .k-off{background:#2a3350;border-color:#3a4566}
html.lf-dark .lf-map-card{background:#fff;color:#0b1220}
html.lf-dark .lf-map-card-label{color:#c2185b}
html.lf-dark .lf-map-card-artist{color:#4b5468}
