Compare commits

...

2 Commits

Author SHA1 Message Date
85ee79cf3d Add Playlists 2026-05-02 21:43:58 +07:00
9b13ac93de Add Playlists page with Spotify and YouTube Music links for BSKZ
New page at /playlists listing 40 curated playlists (5 Spotify + 5 YouTube Music
per dance style) for Bachata, Salsa, Kizomba and Zouk. Each card shows mood tags
and links directly to the playlist or search. Navigation updated across all pages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 15:07:28 +07:00
10 changed files with 646 additions and 12 deletions

BIN
assets/spotify.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
assets/youtubemusic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@@ -13,7 +13,7 @@
<link <link
href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap"
rel="stylesheet"> rel="stylesheet">
<link rel="stylesheet" href="../css/style.css?v=d31dc0aa"> <link rel="stylesheet" href="../css/style.css?v=6aeda9d1">
</head> </head>
<body> <body>
@@ -44,6 +44,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes" class="active">Classes</a> <a href="/classes" class="active">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<header class="sfB-topbar"> <header class="sfB-topbar">
@@ -58,6 +59,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes" class="active">Classes</a> <a href="/classes" class="active">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="topbar-right"> <div class="topbar-right">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig"> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig">
@@ -369,13 +371,14 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="foot-social"> <div class="foot-social">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a>
</div> </div>
</footer> </footer>
<script src="../js/main.js?v=d31dc0aa"></script> <script src="../js/main.js?v=6aeda9d1"></script>
</body> </body>
</html> </html>

View File

@@ -13,7 +13,7 @@
<link <link
href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap"
rel="stylesheet"> rel="stylesheet">
<link rel="stylesheet" href="../css/style.css?v=d31dc0aa"> <link rel="stylesheet" href="../css/style.css?v=6aeda9d1">
</head> </head>
<body> <body>
@@ -44,6 +44,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<header class="sfB-topbar"> <header class="sfB-topbar">
@@ -58,6 +59,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="topbar-right"> <div class="topbar-right">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig"> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig">
@@ -187,13 +189,14 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="foot-social"> <div class="foot-social">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a>
</div> </div>
</footer> </footer>
<script src="../js/main.js?v=d31dc0aa"></script> <script src="../js/main.js?v=6aeda9d1"></script>
</body> </body>
</html> </html>

View File

@@ -1503,3 +1503,110 @@ body > *:not(.sfB-bg) { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.sfB-palm { animation: none !important; } .sfB-palm { animation: none !important; }
} }
/* ── Playlists page ── */
.sfB-pl-section {
margin-top: 40px;
}
.sfB-pl-section + .sfB-pl-section {
padding-top: 32px;
border-top: 1px solid rgba(255,246,232,0.06);
}
.sfB-pl-section-head {
display: flex;
align-items: center;
gap: 14px;
margin-bottom: 20px;
}
.sfB-pl-title {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: 48px;
letter-spacing: -1.5px;
line-height: 1;
}
.sfB-pl-platform-group {
margin-bottom: 14px;
}
.sfB-pl-grid5 {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 10px;
margin-bottom: 16px;
}
.sfB-pl-card {
padding: 16px;
border-radius: 16px;
background: rgba(255,246,232,0.04);
border: 1px solid rgba(255,246,232,0.08);
display: flex;
flex-direction: column;
gap: 0;
transition: all .2s;
text-decoration: none;
min-height: 140px;
}
.sfB-pl-card:hover { background: rgba(255,246,232,0.07); transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.sfB-pl-card.spotify:hover { border-color: rgba(29,185,84,0.5); }
.sfB-pl-card.ytmusic:hover { border-color: rgba(255,68,68,0.45); }
.sfB-pl-header {
display: flex;
align-items: center;
gap: 10px;
}
.sfB-pl-logo {
width: 34px;
height: 34px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
border: 1px solid rgba(255,255,255,0.1);
}
.sfB-pl-logo img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.sfB-pl-name {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 700;
font-size: 13px;
letter-spacing: -0.2px;
line-height: 1.2;
color: var(--sf-paper);
}
.sfB-pl-spacer { flex: 1; }
.sfB-pl-tags {
display: flex;
flex-wrap: wrap;
gap: 5px;
margin-top: 14px;
padding-top: 12px;
border-top: 1px solid rgba(255,246,232,0.07);
}
.sfB-pl-tag {
font-family: 'JetBrains Mono', monospace;
font-size: 8px;
font-weight: 500;
letter-spacing: 0.8px;
text-transform: uppercase;
padding: 4px 8px;
border-radius: 999px;
background: rgba(255,246,232,0.07);
color: rgba(255,246,232,0.55);
}
.sfB-pl-card.spotify .sfB-pl-tag { background: rgba(29,185,84,0.1); color: rgba(29,185,84,0.8); }
.sfB-pl-card.ytmusic .sfB-pl-tag { background: rgba(255,68,68,0.1); color: rgba(255,110,110,0.85); }
@media (max-width: 960px) {
.sfB-pl-grid5 { grid-template-columns: repeat(3, 1fr); }
.sfB-pl-title { font-size: 36px; }
}
@media (max-width: 600px) {
.sfB-pl-grid5 { grid-template-columns: repeat(2, 1fr); }
.sfB-pl-title { font-size: 28px; }
}

View File

@@ -13,7 +13,7 @@
<link <link
href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap"
rel="stylesheet"> rel="stylesheet">
<link rel="stylesheet" href="../css/style.css?v=d31dc0aa"> <link rel="stylesheet" href="../css/style.css?v=b859151d">
</head> </head>
<body> <body>
@@ -44,6 +44,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals" class="active">Festivals</a> <a href="/festivals" class="active">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<header class="sfB-topbar"> <header class="sfB-topbar">
@@ -58,6 +59,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals" class="active">Festivals</a> <a href="/festivals" class="active">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="topbar-right"> <div class="topbar-right">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig"> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig">
@@ -238,13 +240,14 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="foot-social"> <div class="foot-social">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a>
</div> </div>
</footer> </footer>
<script src="../js/main.js?v=d31dc0aa"></script> <script src="../js/main.js?v=6aeda9d1"></script>
</body> </body>
</html> </html>

View File

@@ -13,7 +13,7 @@
<link <link
href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap"
rel="stylesheet"> rel="stylesheet">
<link rel="stylesheet" href="css/style.css?v=d31dc0aa"> <link rel="stylesheet" href="css/style.css?v=6aeda9d1">
</head> </head>
<body> <body>
@@ -46,6 +46,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<!-- Topbar --> <!-- Topbar -->
@@ -65,6 +66,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="topbar-right"> <div class="topbar-right">
@@ -267,13 +269,14 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="foot-social"> <div class="foot-social">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a>
</div> </div>
</footer> </footer>
<script src="js/main.js?v=d31dc0aa"></script> <script src="js/main.js?v=6aeda9d1"></script>
</body> </body>
</html> </html>

509
playlists/index.html Normal file
View File

@@ -0,0 +1,509 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Playlists — Sabor Flow Da Nang</title>
<meta name="description"
content="Curated Spotify and YouTube Music playlists for Bachata, Salsa, Kizomba and Zouk. Practice, social dance, or just enjoy.">
<link rel="icon" type="image/jpeg" href="../assets/logo.jpg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link
href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="../css/style.css?v=b859151d">
</head>
<body>
<div class="sfB-bg" aria-hidden="true">
<span></span><span></span><span></span><span></span><span></span>
<div class="sfB-palms">
<img class="sfB-palm corner-tl" src="../assets/palm-fronds-left.png" alt=""
style="--sway:10deg;animation-duration:8s;animation-delay:0s">
<img class="sfB-palm corner-tr" src="../assets/palm-fronds-right.png" alt=""
style="--sway:12deg;animation-duration:9s;animation-delay:-2s">
<img class="sfB-palm corner-bl" src="../assets/palm-fronds-left.png" alt=""
style="--sway:11deg;animation-duration:10s;animation-delay:-4s;--flip:scaleY(-1)">
<img class="sfB-palm corner-br" src="../assets/palm-fronds-right.png" alt=""
style="--sway:9deg;animation-duration:11s;animation-delay:-1.5s;--flip:scaleY(-1)">
<img class="sfB-palm corner-ml" src="../assets/palm-fronds-left.png" alt=""
style="--sway:13deg;animation-duration:9.5s;animation-delay:-3s">
<img class="sfB-palm corner-mr" src="../assets/palm-fronds-right.png" alt=""
style="--sway:10deg;animation-duration:11.5s;animation-delay:-1s">
</div>
</div>
<nav class="sfB-mobile-nav" id="sfB-mobile-nav">
<button class="mnav-close" id="sfB-mobile-nav-close"></button>
<a href="/">Home</a>
<a href="/schedule">Schedule</a>
<a href="/connect">Connect</a>
<a href="/studios">Studios</a>
<a href="/classes">Classes</a>
<a href="/festivals">Festivals</a>
<a href="/playlists" class="active">Playlists</a>
</nav>
<header class="sfB-topbar">
<a href="/" class="logo">
<div class="mark"><img src="../assets/logo.jpg" alt="Sabor Flow Da Nang"></div>
<div class="name">Sabor Flow<span class="city">Da Nang</span></div>
</a>
<nav class="sfB-nav">
<a href="/">Home</a>
<a href="/schedule">Schedule</a>
<a href="/connect">Connect</a>
<a href="/studios">Studios</a>
<a href="/classes">Classes</a>
<a href="/festivals">Festivals</a>
<a href="/playlists" class="active">Playlists</a>
</nav>
<div class="topbar-right">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig">
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"
stroke-linecap="round" stroke-linejoin="round">
<rect x="2" y="2" width="20" height="20" rx="5" ry="5" />
<path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" />
<line x1="17.5" y1="6.5" x2="17.51" y2="6.5" />
</svg>
@saborflowdanang
</a>
<button class="sfB-hamburger" id="sfB-hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</header>
<main class="sfB-page">
<div class="sfB-page-head">
<h1>Dance <em>Playlists</em></h1>
<div class="info">
Curated playlists for every mood and level — practice at home, warm up before a social, or just enjoy the music.
Available on <b>Spotify</b> and <b>YouTube Music</b>.
</div>
</div>
<!-- BACHATA -->
<section class="sfB-pl-section">
<div class="sfB-pl-section-head">
<h2 class="sfB-pl-title">Bachata</h2>
</div>
<div class="sfB-pl-platform-group">
<div class="sfB-pl-grid5">
<a href="https://open.spotify.com/playlist/37i9dQZF1DX7MTlMMRl0MD" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Bachata Lovers</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Romantic</span>
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Modern</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/37i9dQZF1DX65py6HnnlE1" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Bachata Classics</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Classics</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Most Popular</span>
<span class="sfB-pl-tag">Intermediate</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/37i9dQZF1EIcxvNLzr8YIy" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Bachata Mix</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Varied</span>
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Party</span>
<span class="sfB-pl-tag">Social</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/6ZOErPbFr6wWQ687g0TQGB" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">The Sound of Bachata Dominicana</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Dominican</span>
<span class="sfB-pl-tag">Traditional</span>
<span class="sfB-pl-tag">Intermediate</span>
<span class="sfB-pl-tag">Authentic</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/3LlsDvsZrhFoFjCED6YHqJ" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Top Hits Bachata 2026</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Modern</span>
<span class="sfB-pl-tag">Party</span>
<span class="sfB-pl-tag">Fast</span>
<span class="sfB-pl-tag">New Releases</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=RDCLAK5uy_kLYyE7wnPy-CdtP7hzzpru0iPr-eY2ea4" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">Bachata Mix</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Varied</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Party</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=RDCLAK5uy_kzvzuznRCzSSlQaTVubrk7RkOcHuNGkn0" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">Bachata Romántica</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Romantic</span>
<span class="sfB-pl-tag">Smooth</span>
<span class="sfB-pl-tag">Couples</span>
<span class="sfB-pl-tag">Date Night</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=PL1pEq9XJAIquSaz-Y_Vky-BsQIWRmHEqQ" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">Mix bachata Romeo Santos, Aventura, Prince Royce</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Most Popular</span>
<span class="sfB-pl-tag">Singalong</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Mainstream</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=PLSmJ3-FUDAdYcdd1dWck9OYltTx5IqEJg" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">BACHATA 2025 · 2026 🌍</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Modern</span>
<span class="sfB-pl-tag">New Releases</span>
<span class="sfB-pl-tag">Party</span>
<span class="sfB-pl-tag">Popular</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=PLPb4IcL2X0GlbYGmoAM0K-Gn3qj577fk8" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">bachata dominicana</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Dominican</span>
<span class="sfB-pl-tag">Authentic</span>
<span class="sfB-pl-tag">Traditional</span>
<span class="sfB-pl-tag">Danceable</span>
</div>
</a>
</div>
</div>
</section>
<!-- SALSA -->
<section class="sfB-pl-section">
<div class="sfB-pl-section-head">
<h2 class="sfB-pl-title">Salsa</h2>
</div>
<div class="sfB-pl-platform-group">
<div class="sfB-pl-grid5">
<a href="https://open.spotify.com/playlist/37i9dQZF1EQlZ5S0kXf8kf" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Salsa Mix</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Varied</span>
<span class="sfB-pl-tag">Party</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/3UfntaJRD0JsFgZKK1lpzG" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Salsa Top 50</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Most Popular</span>
<span class="sfB-pl-tag">Modern</span>
<span class="sfB-pl-tag">Party</span>
<span class="sfB-pl-tag">Current</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/04Yx3q5s7MLF2yXKDulyVS" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Salsa Top 100</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Essentials</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Classics</span>
<span class="sfB-pl-tag">Reference</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/4P81PgkKWOIKsSBL358koq" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Puerto Rican Salsa Top 100</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Puerto Rican</span>
<span class="sfB-pl-tag">Classics</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Collector's</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=RDCLAK5uy_lc4yBYpywmmgjplkuzYxzUgLJ8UvDKUUk" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">Salsa Mix</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Varied</span>
<span class="sfB-pl-tag">Party</span>
<span class="sfB-pl-tag">Social</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=PLgO3YxRWGM_oMz-QRaXJrJxaHa1bAgPbo" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">Salsa Cubana Para Bailar</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Cuban</span>
<span class="sfB-pl-tag">Danceable</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Intermediate</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=PLBnkKhSWQL-ezbIu-tqib-i4WzLFumapu" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">Salsa On2 Social Dancing</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">On2</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Intermediate</span>
<span class="sfB-pl-tag">Dancers</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=PL4-E0r_Z8JUvu786sHBIrxgCsEhxQJS6J" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">Salsa Music Miami Beach</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Party</span>
<span class="sfB-pl-tag">Tropical</span>
<span class="sfB-pl-tag">Varied</span>
<span class="sfB-pl-tag">Atmosphere</span>
</div>
</a>
<a href="https://music.youtube.com/playlist?list=RDATfdc2Fsc2Ez" target="_blank" rel="noopener" class="sfB-pl-card ytmusic">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/youtubemusic.png" alt="YouTube Music"></div>
<span class="sfB-pl-name">Radio - Salsa</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Discovery</span>
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Endless</span>
</div>
</a>
</div>
</div>
</section>
<!-- KIZOMBA -->
<section class="sfB-pl-section">
<div class="sfB-pl-section-head">
<h2 class="sfB-pl-title">Kizomba</h2>
</div>
<div class="sfB-pl-platform-group">
<div class="sfB-pl-grid5">
<a href="https://open.spotify.com/playlist/0Pk8kSKJ5vO5yIA36kzGMu" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Kizomba Top Hits</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Romantic</span>
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Smooth</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/2OGQUlFwbnC3AsEEWjMNN1" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">New Kizomba 2024</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Modern</span>
<span class="sfB-pl-tag">New Releases</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Party</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/4ggFP6oGoumfOobdzvvY2V" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Kizomba</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Clear Tempo</span>
<span class="sfB-pl-tag">Classes</span>
<span class="sfB-pl-tag">Beginner</span>
<span class="sfB-pl-tag">Practice</span>
</div>
</a>
</div>
</div>
</section>
<!-- ZOUK -->
<section class="sfB-pl-section">
<div class="sfB-pl-section-head">
<h2 class="sfB-pl-title">Zouk</h2>
</div>
<div class="sfB-pl-platform-group">
<div class="sfB-pl-grid5">
<a href="https://open.spotify.com/playlist/37i9dQZF1DWZjVBCh3y4ph" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Zouk Station</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Party</span>
<span class="sfB-pl-tag">Kompa-Zouk</span>
<span class="sfB-pl-tag">Modern</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/7mNGeqFpLOFebS0QrGXU2N" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">The Sound of Zouk</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Essentials</span>
<span class="sfB-pl-tag">Discovery</span>
<span class="sfB-pl-tag">Varied</span>
<span class="sfB-pl-tag">Reference</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/7M7sDdZMHhpN0huB5moMjY" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">Zouk</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Classes</span>
<span class="sfB-pl-tag">Clear Tempo</span>
<span class="sfB-pl-tag">Beginner</span>
<span class="sfB-pl-tag">Practice</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/2V5jTlSJxy8pISP8b4k3L8" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">ZOUK BRAZIL 2026</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Brazilian Zouk</span>
<span class="sfB-pl-tag">Social</span>
<span class="sfB-pl-tag">Modern</span>
<span class="sfB-pl-tag">Dancers</span>
</div>
</a>
<a href="https://open.spotify.com/playlist/6bPKhzRuXrc4yePSBCcals" target="_blank" rel="noopener" class="sfB-pl-card spotify">
<div class="sfB-pl-header">
<div class="sfB-pl-logo"><img src="../assets/spotify.png" alt="Spotify"></div>
<span class="sfB-pl-name">The Best of Kompa Zouk 2025 BY OSOCITY</span>
</div>
<div class="sfB-pl-spacer"></div>
<div class="sfB-pl-tags">
<span class="sfB-pl-tag">Kompa-Zouk</span>
<span class="sfB-pl-tag">Party</span>
<span class="sfB-pl-tag">Popular</span>
<span class="sfB-pl-tag">Atmosphere</span>
</div>
</a>
</div>
</div>
</section>
<div class="sfB-suggest">
<p>Got a playlist we should add? Share it with us!</p>
<a href="/connect" class="sfB-btn ghost">Contact Us</a>
</div>
</main>
<footer class="sfB-foot">
<div><strong>Sabor Flow</strong> Da Nang &mdash; Latin dance community &copy; <span id="footer-year">2025</span></div>
<nav class="foot-links">
<a href="/">Home</a>
<a href="/schedule">Schedule</a>
<a href="/connect">Connect</a>
<a href="/studios">Studios</a>
<a href="/classes">Classes</a>
<a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav>
<div class="foot-social">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a>
</div>
</footer>
<script src="../js/main.js?v=6aeda9d1"></script>
</body>
</html>

View File

@@ -13,7 +13,7 @@
<link <link
href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap"
rel="stylesheet"> rel="stylesheet">
<link rel="stylesheet" href="../css/style.css?v=d31dc0aa"> <link rel="stylesheet" href="../css/style.css?v=6aeda9d1">
</head> </head>
<body> <body>
@@ -44,6 +44,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<header class="sfB-topbar"> <header class="sfB-topbar">
@@ -58,6 +59,7 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="topbar-right"> <div class="topbar-right">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig"> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig">
@@ -113,13 +115,14 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="foot-social"> <div class="foot-social">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a>
</div> </div>
</footer> </footer>
<script src="../js/main.js?v=d31dc0aa"></script> <script src="../js/main.js?v=6aeda9d1"></script>
<script> <script>
// Dynamic last-update label // Dynamic last-update label
(function () { (function () {

View File

@@ -13,7 +13,7 @@
<link <link
href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..60,700;12..60,800&family=Caveat+Brush&family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap"
rel="stylesheet"> rel="stylesheet">
<link rel="stylesheet" href="../css/style.css?v=d31dc0aa"> <link rel="stylesheet" href="../css/style.css?v=6aeda9d1">
</head> </head>
<body> <body>
@@ -44,6 +44,7 @@
<a href="/studios" class="active">Studios</a> <a href="/studios" class="active">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<header class="sfB-topbar"> <header class="sfB-topbar">
@@ -58,6 +59,7 @@
<a href="/studios" class="active">Studios</a> <a href="/studios" class="active">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="topbar-right"> <div class="topbar-right">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig"> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener" class="sfB-ig">
@@ -231,13 +233,14 @@
<a href="/studios">Studios</a> <a href="/studios">Studios</a>
<a href="/classes">Classes</a> <a href="/classes">Classes</a>
<a href="/festivals">Festivals</a> <a href="/festivals">Festivals</a>
<a href="/playlists">Playlists</a>
</nav> </nav>
<div class="foot-social"> <div class="foot-social">
<a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a> <a href="https://www.instagram.com/saborflowdanang/" target="_blank" rel="noopener">Instagram</a>
</div> </div>
</footer> </footer>
<script src="../js/main.js?v=d31dc0aa"></script> <script src="../js/main.js?v=6aeda9d1"></script>
</body> </body>
</html> </html>