{"id":680,"date":"2026-01-30T23:22:34","date_gmt":"2026-01-30T23:22:34","guid":{"rendered":"https:\/\/thevioletfrequency.com\/?page_id=680"},"modified":"2026-01-31T23:37:02","modified_gmt":"2026-01-31T23:37:02","slug":"attica","status":"publish","type":"page","link":"https:\/\/thevioletfrequency.com\/en\/attica\/","title":{"rendered":"Attica"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section\"><span class=\"et_pb_background_pattern\"><\/span>\n<div class=\"et_pb_row_0 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_0 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"vf-player vf-mix2\">\n  <!-- HEADER -->\n  <div class=\"vf-header\">\n    <img data-opt-id=1603250119  fetchpriority=\"high\" decoding=\"async\" class=\"vf-cover\" src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/The-Violet-Frequency-Attica.png\" alt=\"Cover\">\n\n    <div class=\"vf-right\">\n      <div class=\"vf-meta\">\n        <div class=\"vf-album\">Attica<\/div>\n        <div class=\"vf-band\">by The Violet Frequency<\/div>\n        <div class=\"vf-track-title\">Select Song<\/div>\n      <\/div>\n      <canvas class=\"vf-wave\"><\/canvas>\n    <\/div>\n  <\/div>\n\n  <!-- CONTROLS -->\n  <div class=\"vf-controls\">\n    <button class=\"vf-btn vf-prev\" type=\"button\">\u23ee<\/button>\n\n    <!-- PLAY WRAP + OVERLAY WAVES (sin stop) -->\n    <div class=\"vf-playwrap\">\n      <button class=\"vf-btn vf-play\" type=\"button\" aria-label=\"Play \/ Pause\">\u25b6<\/button>\n      <div class=\"vf-waves\" aria-hidden=\"true\">\n        <i><\/i><i><\/i><i><\/i><i><\/i><i><\/i>\n      <\/div>\n    <\/div>\n\n    <button class=\"vf-btn vf-next\" type=\"button\">\u23ed<\/button>\n\n    <div class=\"vf-progress-wrap\">\n      <span class=\"vf-time vf-current\">0:00<\/span>\n      <div class=\"vf-progress\">\n        <div class=\"vf-bar\"><\/div>\n      <\/div>\n      <span class=\"vf-time vf-duration\">0:00<\/span>\n    <\/div>\n\n    <div class=\"vf-volume-wrap\">\n      \ud83d\udd0a\n      <input type=\"range\" class=\"vf-volume\" min=\"0\" max=\"1\" step=\"0.01\" value=\"0.8\">\n    <\/div>\n  <\/div>\n\n  <!-- PLAYLIST + LYRICS -->\n  <div class=\"vf-playlist vf-lyricslist\">\n    <!-- TRACK 1 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/Mastering-Attica-01.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">01. Attica<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Attica-<\/div>\n        <div class=\"vf-lytext\">\nAttica..\n\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <audio class=\"vf-audio\" crossorigin=\"anonymous\"><\/audio>\n<\/div>\n\n<style>\n\/* ===== WHITE EDITION ===== *\/\n.vf-player{\n  --bg:#0b0b0e;\n  --text:#ffffff;\n  --accent:#ffffff;\n  --accent2:#e5e5e5;\n\n  background:\n    radial-gradient(circle at top, rgba(255,255,255,.08), transparent 40%),\n    linear-gradient(180deg, #0c0c10, var(--bg));\n  color:var(--text);\n  padding:22px;\n  border-radius:22px;\n  max-width:680px;\n  font-family:Inter,system-ui,sans-serif;\n  border:1px solid rgba(255,255,255,.12);\n  box-shadow:0 30px 80px rgba(255,255,255,.12);\n  position:relative;\n  overflow:hidden;\n}\n\n\/* glow suave blanco *\/\n.vf-player::before{\n  content:\"\";\n  position:absolute;\n  inset:-40%;\n  background:radial-gradient(circle, rgba(255,255,255,.08), transparent 60%);\n  animation:vfGlow 10s linear infinite;\n}\n@keyframes vfGlow{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}\n\n\/* HEADER *\/\n.vf-header{\n  display:grid;\n  grid-template-columns:210px 1fr;\n  gap:20px;\n  align-items:end;\n  position:relative;\n  z-index:1;\n}\n.vf-cover{\n  width:210px;height:210px;\n  border-radius:16px;\n  object-fit:cover;\n  box-shadow:0 18px 45px rgba(255,255,255,.25);\n}\n.vf-right{display:flex;flex-direction:column;gap:8px}\n.vf-album{font-size:.95rem;font-weight:700}\n.vf-band{opacity:.65;font-size:.7rem}\n.vf-track-title{font-size:.75rem;color:#ddd}\n\n\/* canvas *\/\n.vf-wave{\n  width:100%;\n  height:55px;\n  border-radius:12px;\n  background:linear-gradient(180deg, rgba(255,255,255,.06), transparent);\n}\n\n\/* CONTROLES *\/\n.vf-controls{\n  margin-top:14px;\n  display:grid;\n  grid-template-columns:auto auto auto 1fr auto;\n  gap:12px;\n  align-items:center;\n  position:relative;\n  z-index:1;\n}\n.vf-btn{\n  background:rgba(255,255,255,.08);\n  border:1px solid rgba(255,255,255,.22);\n  color:#fff;\n  border-radius:10px;\n  padding:5px 10px;\n  cursor:pointer;\n  font-size:.75rem;\n  transition:.2s;\n  -webkit-tap-highlight-color:transparent;\n  outline:none;\n}\n.vf-btn:hover{background:rgba(255,255,255,.18)}\n.vf-btn:focus,.vf-btn:active,.vf-btn:focus-visible{outline:none;box-shadow:none}\n\n.vf-progress-wrap{display:flex;align-items:center;gap:8px;}\n.vf-progress{\n  flex:1;\n  height:5px;\n  background:rgba(255,255,255,.18);\n  border-radius:999px;\n  overflow:hidden;\n  cursor:pointer;\n}\n.vf-bar{\n  height:100%;\n  width:0%;\n  background:linear-gradient(90deg,#fff,#ccc);\n}\n.vf-time{font-size:.65rem;opacity:.75}\n\n\/* volumen *\/\n.vf-volume-wrap{display:flex;align-items:center;gap:6px;font-size:.7rem;}\n.vf-volume{width:60px;height:2px;accent-color:#fff}\n\n\/* ===== PLAY OVERLAY WAVES (WHITE) ===== *\/\n.vf-playwrap{\n  position:relative;\n  width:44px;\n  height:32px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n.vf-waves{\n  position:absolute;\n  inset:-6px;\n  border-radius:999px;\n  opacity:0;\n  pointer-events:none;\n  transform:scale(.85);\n  transition:.25s ease;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:4px;\n  background:radial-gradient(circle, rgba(255,255,255,.25), rgba(255,255,255,.10) 50%, transparent 75%);\n}\n.vf-player.is-playing .vf-waves{\n  opacity:1;\n  transform:scale(1);\n  animation:vfPulse 2s ease-in-out infinite;\n}\n@keyframes vfPulse{\n  0%{box-shadow:0 0 0 0 rgba(255,255,255,.35)}\n  70%{box-shadow:0 0 0 18px rgba(255,255,255,0)}\n  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}\n}\n.vf-waves i{\n  display:block;\n  width:3px;\n  height:6px;\n  border-radius:999px;\n  background:#fff;\n  animation:vfBeat 1.1s infinite ease-in-out;\n}\n.vf-waves i:nth-child(2){animation-delay:.1s}\n.vf-waves i:nth-child(3){animation-delay:.2s}\n.vf-waves i:nth-child(4){animation-delay:.3s}\n.vf-waves i:nth-child(5){animation-delay:.4s}\n@keyframes vfBeat{\n  0%,100%{height:5px;opacity:.6}\n  50%{height:13px;opacity:1}\n}\n\n\/* PLAYLIST *\/\n.vf-playlist{\n  margin-top:16px;\n  border-top:1px solid rgba(255,255,255,.12);\n  position:relative;\n  z-index:1;\n  padding-top:10px;\n}\n.vf-item{\n  border:1px solid rgba(255,255,255,.08);\n  border-radius:12px;\n  background:rgba(255,255,255,.03);\n  overflow:hidden;\n  margin-bottom:8px;\n}\n.vf-trackrow{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:10px;\n  padding:8px 10px;\n}\n.vf-trackbtn{\n  flex:1;\n  text-align:left;\n  background:transparent;\n  border:none;\n  color:#fff;\n  font-size:.8rem;\n  cursor:pointer;\n  padding:6px 6px;\n  border-radius:10px;\n  transition:.15s;\n  -webkit-tap-highlight-color:transparent;\n  outline:none;\n}\n.vf-trackbtn:hover{background:rgba(255,255,255,.10)}\n.vf-item.active .vf-trackbtn{\n  background:rgba(255,255,255,.15);\n  color:#fff;\n  font-weight:600;\n}\n\n.vf-lyricsbtn{\n  display:inline-flex;\n  align-items:center;\n  gap:7px;\n  font-size:.58rem;\n  padding:6px 10px;\n  border-radius:999px;\n  border:1px solid rgba(255,255,255,.30);\n  background:rgba(255,255,255,.12);\n  color:#fff;\n  letter-spacing:.08em;\n  cursor:pointer;\n  -webkit-tap-highlight-color:transparent;\n  outline:none;\n}\n.vf-lyricsbtn:focus,.vf-lyricsbtn:active,.vf-lyricsbtn:focus-visible{outline:none;box-shadow:none}\n.vf-lyico{font-size:.7rem;opacity:.9;transform:translateY(-.5px)}\n\n.vf-lypanel{\n  display:none;\n  padding:12px 12px 14px;\n  border-top:1px solid rgba(255,255,255,.10);\n  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent);\n}\n.vf-item.open .vf-lypanel{display:block}\n.vf-item.open .vf-lyricsbtn{\n  background:rgba(255,255,255,.18);\n  border-color:rgba(255,255,255,.40);\n}\n\n.vf-lytitle{font-weight:850;font-size:.82rem;color:#fff;margin-bottom:8px}\n.vf-lytext{\n  white-space:pre-line;\n  font-size:.78rem;\n  line-height:1.65;\n  color:#eee;\n  max-height:40vh;\n  overflow:auto;\n  padding-right:4px;\n}\n\n\/* responsive *\/\n@media(max-width:600px){\n  .vf-player{padding:16px}\n  .vf-header{grid-template-columns:1fr;}\n  .vf-cover{width:160px;height:160px;margin:0 auto;}\n  .vf-controls{grid-template-columns:auto auto auto 1fr;}\n  .vf-volume-wrap{display:none}\n}\n<\/style>\n\n<script>\n(function(){\n  var players = document.querySelectorAll(\".vf-player.vf-mix2\");\n  if(!players.length) return;\n\n  function setLyricsBtnState(item, isOpen){\n    var btn = item.querySelector(\".vf-lyricsbtn\");\n    if(!btn) return;\n    var lbl = btn.querySelector(\".vf-lylbl\");\n    var ico = btn.querySelector(\".vf-lyico\");\n    btn.setAttribute(\"aria-expanded\", isOpen ? \"true\" : \"false\");\n    if(lbl) lbl.textContent = isOpen ? \"Close\" : \"Lyrics\";\n    if(ico) ico.textContent = isOpen ? \"\u2715\" : \"\u2726\";\n  }\n\n  function isMobile(){\n    try{\n      return window.matchMedia && window.matchMedia(\"(max-width: 768px)\").matches;\n    }catch(e){\n      return (window.innerWidth || 9999) <= 768;\n    }\n  }\n  function smoothScrollTo(el, offset){\n    if(!el) return;\n    offset = offset || 95;\n    var top = el.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop) - offset;\n    try{ window.scrollTo({ top: top, behavior: \"smooth\" }); }\n    catch(e){ window.scrollTo(0, top); }\n  }\n\n  for (var p=0; p<players.length; p++){\n    (function(player){\n      var audio = player.querySelector(\".vf-audio\");\n      var items = Array.prototype.slice.call(player.querySelectorAll(\".vf-item\"));\n\n      var btnPlay = player.querySelector(\".vf-play\");\n      var btnPrev = player.querySelector(\".vf-prev\");\n      var btnNext = player.querySelector(\".vf-next\");\n\n      var bar = player.querySelector(\".vf-bar\");\n      var progress = player.querySelector(\".vf-progress\");\n      var currentEl = player.querySelector(\".vf-current\");\n      var durationEl = player.querySelector(\".vf-duration\");\n      var titleEl = player.querySelector(\".vf-track-title\");\n      var volumeEl = player.querySelector(\".vf-volume\");\n\n      var canvas = player.querySelector(\".vf-wave\");\n      var ctx = canvas.getContext(\"2d\");\n\n      var index = 0, audioCtx, analyser, dataArray, rafOn = false;\n\n      function resize(){\n        canvas.width = canvas.offsetWidth;\n        canvas.height = canvas.offsetHeight;\n      }\n      resize();\n      window.addEventListener(\"resize\", resize);\n\n      function initAudio(){\n        if(audioCtx) return;\n        audioCtx = new (window.AudioContext || window.webkitAudioContext)();\n        analyser = audioCtx.createAnalyser();\n\n        \/\/ \u2705 CAMBIO: wave por tiempo (no frecuencias)\n        analyser.fftSize = 1024;\n        dataArray = new Uint8Array(analyser.fftSize);\n\n        var src = audioCtx.createMediaElementSource(audio);\n        src.connect(analyser);\n        analyser.connect(audioCtx.destination);\n      }\n\n      \/\/ \u2705 CAMBIO: dibuja waveform (time domain) + suavizado + minAmp\n      function draw(){\n        if(!analyser) return;\n        rafOn = true;\n\n        var minAmp = 0.06; \/\/ sube a 0.10 si quieres m\u00e1s movimiento\n        var smooth = 0.85;\n\n        var smoothed = new Float32Array(dataArray.length);\n\n        (function loop(){\n          if(!rafOn) return;\n          requestAnimationFrame(loop);\n\n          analyser.getByteTimeDomainData(dataArray);\n          ctx.clearRect(0,0,canvas.width,canvas.height);\n\n          var mid = canvas.height \/ 2;\n          var step = canvas.width \/ (dataArray.length - 1);\n\n          ctx.beginPath();\n\n          for(var i=0;i<dataArray.length;i++){\n            var v = (dataArray[i] - 128) \/ 128; \/\/ -1..1\n\n            if(Math.abs(v) < minAmp){\n              v = (v < 0 ? -minAmp : minAmp);\n            }\n\n            smoothed[i] = smooth * smoothed[i] + (1 - smooth) * v;\n\n            var x = i * step;\n            var y = mid + smoothed[i] * mid * 0.95;\n\n            if(i === 0) ctx.moveTo(x, y);\n            else ctx.lineTo(x, y);\n          }\n\n          ctx.strokeStyle = \"rgba(255,255,255,0.85)\";\n          ctx.lineWidth = 2;\n          ctx.stroke();\n        })();\n      }\n\n      function format(t){\n        if(isNaN(t)) return \"0:00\";\n        var m = Math.floor(t\/60);\n        var s = Math.floor(t%60);\n        return m + \":\" + (s<10 ? \"0\"+s : s);\n      }\n\n      function setActive(i){\n        index = i;\n        for(var k=0;k<items.length;k++){\n          items[k].classList.toggle(\"active\", k===index);\n        }\n        var labelBtn = items[index].querySelector(\".vf-trackbtn\");\n        titleEl.textContent = labelBtn ? labelBtn.textContent.trim() : \"Selected\";\n        audio.src = items[index].getAttribute(\"data-src\") || \"\";\n      }\n\n      function setPlayingUI(isPlaying){\n        player.classList.toggle(\"is-playing\", !!isPlaying);\n      }\n\n      function playCurrent(){\n        if(!audio.src) setActive(0);\n        initAudio();\n        if(audioCtx && audioCtx.state === \"suspended\") audioCtx.resume();\n        audio.play();\n        setPlayingUI(true);\n        if(!rafOn) draw();\n      }\n\n      function pauseCurrent(){\n        audio.pause();\n        setPlayingUI(false);\n      }\n\n      function closeAllLyrics(exceptItem){\n        for(var k=0;k<items.length;k++){\n          if(items[k] !== exceptItem){\n            items[k].classList.remove(\"open\");\n            setLyricsBtnState(items[k], false);\n          }\n        }\n      }\n\n      function toggleLyrics(item){\n        var willOpen = !item.classList.contains(\"open\");\n        closeAllLyrics(item);\n        item.classList.toggle(\"open\", willOpen);\n        setLyricsBtnState(item, willOpen);\n\n        if(willOpen && isMobile()){\n          setTimeout(function(){\n            var panel = item.querySelector(\".vf-lypanel\");\n            smoothScrollTo(panel || item, 95);\n          }, 60);\n        }\n      }\n\n      items.forEach(function(item, i){\n        var trackBtn = item.querySelector(\".vf-trackbtn\");\n        var lyricsBtn = item.querySelector(\".vf-lyricsbtn\");\n\n        setLyricsBtnState(item, false);\n\n        if(trackBtn){\n          trackBtn.addEventListener(\"click\", function(e){\n            e.preventDefault();\n            setActive(i);\n            playCurrent();\n          });\n        }\n\n        if(lyricsBtn){\n          lyricsBtn.addEventListener(\"click\", function(e){\n            e.preventDefault();\n            e.stopPropagation();\n            toggleLyrics(item);\n          });\n        }\n      });\n\n      \/\/ toggle play\/pause sin cambiar icono\n      btnPlay.addEventListener(\"click\", function(){\n        if(audio.paused) playCurrent();\n        else pauseCurrent();\n      });\n\n      btnPrev.addEventListener(\"click\", function(){\n        setActive((index - 1 + items.length) % items.length);\n        playCurrent();\n      });\n\n      btnNext.addEventListener(\"click\", function(){\n        setActive((index + 1) % items.length);\n        playCurrent();\n      });\n\n      audio.addEventListener(\"timeupdate\", function(){\n        if(audio.duration){\n          bar.style.width = (audio.currentTime\/audio.duration)*100 + \"%\";\n          currentEl.textContent = format(audio.currentTime);\n          durationEl.textContent = format(audio.duration);\n        }\n      });\n\n      progress.addEventListener(\"click\", function(e){\n        if(!audio.duration) return;\n        var r = progress.getBoundingClientRect();\n        audio.currentTime = ((e.clientX - r.left)\/r.width) * audio.duration;\n      });\n\n      audio.addEventListener(\"ended\", function(){\n        setPlayingUI(false);\n        btnNext.click();\n      });\n\n      audio.addEventListener(\"pause\", function(){ setPlayingUI(false); });\n      audio.addEventListener(\"play\", function(){ setPlayingUI(true); });\n\n      if(volumeEl){\n        volumeEl.addEventListener(\"input\", function(){\n          audio.volume = volumeEl.value;\n        });\n      }\n\n      if(items.length) setActive(0);\n\n    })(players[p]);\n  }\n})();\n<\/script>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n\n\n\n\n<div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"vf-links\">\n  <div class=\"vf-links-title\">Listen on<\/div>\n\n  <div class=\"vf-links-grid\">\n    <a class=\"vf-link\" href=\"AQUI_SPOTIFY\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=1419679185  fetchpriority=\"high\" decoding=\"async\" class=\"vf-link-ico\" src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/spotify2.png\" alt=\"Spotify\">\n      <span class=\"vf-link-label\">Spotify<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_APPLE\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=1187795229  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/applemusic4.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\">\n      <span class=\"vf-link-label\">Apple Music<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_AMAZON\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=193212672  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/amazonmusic2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Amazon Music\">\n      <span class=\"vf-link-label\">Amazon Music<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_YTMUSIC\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=981038699  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/youtubemusic2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"YouTube Music\">\n      <span class=\"vf-link-label\">YouTube Music<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_DEEZER\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=1263912089  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/Deezer2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Deezer\">\n      <span class=\"vf-link-label\">Deezer<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_TIDAL\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=1841661626  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/tidal2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Tidal\">\n      <span class=\"vf-link-label\">Tidal<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_soundcloud\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=693461702  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/soundcloud2.png\"  decoding=\"async\" class=\"vf-link-ico vf-qobuz\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Qobuz\">\n      <span class=\"vf-link-label\">Soundcloud<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_BANDCAMP\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=188860036  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/bandcamp2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Bandcamp\">\n      <span class=\"vf-link-label\">Bandcamp<\/span>\n    <\/a>\n  <\/div>\n<\/div>\n\n<style>\n\/* ===== CONTENEDOR (mismo ancho del player) ===== *\/\n.vf-links{\n  max-width:680px;\n  margin:0 auto;\n  padding:14px 0;\n  font-family:Inter,system-ui,sans-serif;\n  color:#FBF8F8;\n}\n\n\/* t\u00edtulo *\/\n.vf-links-title{\n  font-size:.65rem;\n  letter-spacing:.18em;\n  text-transform:uppercase;\n  opacity:.75;\n  margin:0 0 12px;\n  color:#F7F3F3;\n}\n\n\/* grid 4x2 (2x4 m\u00f3vil) *\/\n.vf-links-grid{\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:10px;\n}\n\n\/* tarjeta compacta *\/\n.vf-link{\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  gap:6px;\n  padding:10px 8px;\n  border-radius:14px;\n  text-decoration:none;\n  color:#F4E9E9;\n\n  \/* fondo oscuro muy suave (NO blanco) *\/\n  background:rgba(255,255,255,.06);\n  border:1px solid rgba(255,255,255,.16);\n  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;\n\n  \/* anti estilos raros del tema *\/\n  -webkit-tap-highlight-color:transparent;\n}\n.vf-link:hover{\n  transform:translateY(-1px);\n  background:rgba(255,255,255,.12);\n  box-shadow:0 10px 22px rgba(0,0,0,.25);\n}\n\n\/* ===== ICONOS: TRANSPARENCIA BLINDADA ===== *\/\n.vf-link-ico{\n  width:28px;\n  height:28px;\n  object-fit:contain;\n  display:block;\n\n  \/* Lo importante: sin fondo NI padding NI bordes aunque Divi lo meta *\/\n  background:transparent !important;\n  background-color:transparent !important;\n  box-shadow:none !important;\n  border:0 !important;\n  outline:0 !important;\n  padding:0 !important;\n  border-radius:0 !important;\n\n  \/* por si alg\u00fan CSS global aplica filtros *\/\n  filter:none !important;\n}\n\n\/* Qobuz suele ser m\u00e1s \u201cancho\u201d, lo ajustamos *\/\n.vf-qobuz{\n  width:42px;\n  height:auto;\n}\n\n\/* texto centrado *\/\n.vf-link-label{\n  width:100%;\n  text-align:center;\n  font-size:.66rem;\n  line-height:1.1;\n  font-weight:500;\n  color:#F2F2F2;\n  opacity:.9;\n  margin:0;\n}\n\n\/* ===== ULTRA FIX: Divi a veces pone fondo en im\u00e1genes dentro de links ===== *\/\n.vf-links a img,\n.vf-links .vf-link img{\n  background:transparent !important;\n  background-color:transparent !important;\n}\n\n\/* m\u00f3vil *\/\n@media(max-width:600px){\n  .vf-links-grid{ grid-template-columns:repeat(2,1fr); }\n}\n<\/style>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-680","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/pages\/680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/comments?post=680"}],"version-history":[{"count":15,"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/pages\/680\/revisions"}],"predecessor-version":[{"id":802,"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/pages\/680\/revisions\/802"}],"wp:attachment":[{"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/media?parent=680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}