{"title":"Tonträger","description":null,"products":[{"product_id":"cd-e-gmuetlichi-rundi","title":"CD «E gmüetlichi Rundi»","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cem\u003eÄchti, handgmachti Ländlermusig:\u003cspan\u003e \u003c\/span\u003e\u003c\/em\u003e\u003cspan\u003eDie vier befreundeten Jungformationen \u003c\/span\u003e\u003cstrong\u003eEcho vom Tüetlisberg\u003c\/strong\u003e\u003cspan\u003e, das \u003c\/span\u003e\u003cstrong\u003eLändlertrio Bruno, Patrick und Marlen\u003c\/strong\u003e\u003cspan\u003e, das \u003c\/span\u003e\u003cstrong\u003eLändlerquartett Bertschinger-Zemp\u003c\/strong\u003e\u003cspan\u003e sowie das Handorgelduo \u003c\/span\u003e\u003cstrong\u003eÄcht Heimelig\u003c\/strong\u003e\u003cspan\u003e lieben die alte Musik von früher. Genau dieser bodenständige Stil haben sie nun gemeinsam auf einem Tonträger verewigt. Das Besondere: Die Aufnahmen sind authentisch und unverfälscht – beim Hören hat man das Gefühl, selbst ein Teil der gemütlichen Runde zu sein! Initiant ist Patrick Bertschinger, eine aufsteigende Kapazität der traditionellen Schweizer Volksmusikszene, welcher in allen vier Formationen mitwirkt. Viel Spass mit dieser wunderbaren CD!\u003c\/span\u003e\u003c\/p\u003e","brand":"LAEMU","offers":[{"title":"Default Title","offer_id":54991641739601,"sku":null,"price":27.5,"currency_code":"CHF","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/E-gmuetlichi-Rundi_Cover_Web-1200x1200px.jpg?v=1790328777"},{"product_id":"ab-is-wuchenand","title":"CD «Ab is Wuchenänd!»","description":"\u003cp\u003eLiidäschaftlich, ächt, mitriissend – so kommt die brandneue, zweite CD vom Ländlertrio Augenschmaus mit dem Titel «Ab is Wuchenänd» daher. Der Tonträger ist prall gefüllt mit rassiger Handorgel- und Schwyzerörgelimusik sowie mit schmissigen Liedern. Die bekannte und sympathische Formation setzt sich zusammen aus Thomas Hegner (Gommiswald SG), Marco Fischli (Näfels GL) und Martin Fischli (Näfels GL).\n\u003c\/p\u003e\n\u003cbr\u003e\n\n\u003cdiv id=\"cd-player\"\u003e\n  \u003cbutton class=\"cd-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"cd-content\"\u003e\n    \u003cspan class=\"cd-heading\"\u003e\n      \u003cspan class=\"cd-title\"\u003e🎵 Hörproben\u003c\/span\u003e\n      \u003cspan class=\"cd-description\"\u003e\n        Höre in die Titel der CD hinein.\n      \u003c\/span\u003e\n    \u003c\/span\u003e\n\n    \u003csvg class=\"cd-chevron\" viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n      \u003cpath d=\"m6 9 6 6 6-6\"\u003e\u003c\/path\u003e\n    \u003c\/svg\u003e\n  \u003c\/button\u003e\n\n  \u003cdiv id=\"cd-content\" class=\"cd-content\" hidden\u003e\n    \u003cdiv class=\"cd-tracks\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n\/* Äussere Box – neutrales Hellgrau *\/\n#cd-player {\n  font-family: inherit;\n  display: block !important;\n  height: auto !important;\n  min-height: 0 !important;\n  max-height: none !important;\n  margin: 8px 0 !important;\n  padding: 10px 12px !important;\n  background: #F7F7F7;\n  border: 1px solid #E5E5E5;\n  border-radius: 12px;\n  color: #292929;\n}\n\n#cd-player * {\n  box-sizing: border-box;\n}\n\n\/* Aufklappbarer Titel *\/\n#cd-player .cd-toggle {\n  appearance: none;\n  -webkit-appearance: none;\n  display: flex !important;\n  flex-direction: row !important;\n  align-items: center !important;\n  justify-content: space-between !important;\n  gap: 10px !important;\n  width: 100% !important;\n  height: auto !important;\n  min-height: 0 !important;\n  max-height: none !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  border: 0 !important;\n  border-radius: 0 !important;\n  background: transparent !important;\n  box-shadow: none !important;\n  color: inherit !important;\n  text-align: left !important;\n  cursor: pointer;\n  text-transform: none !important;\n  letter-spacing: normal !important;\n  line-height: normal !important;\n}\n\n\/* Titel und Beschreibung *\/\n#cd-player .cd-heading {\n  display: flex !important;\n  flex-direction: column !important;\n  align-items: flex-start !important;\n  justify-content: center !important;\n  gap: 2px !important;\n  width: auto !important;\n  min-width: 0;\n  height: auto !important;\n  min-height: 0 !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n\/* Titel fett *\/\n#cd-player .cd-title {\n  display: block !important;\n  font-size: 16px !important;\n  font-weight: 700 !important;\n  line-height: 1.2 !important;\n  letter-spacing: 0 !important;\n  text-transform: none !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n#cd-player .cd-description {\n  display: block !important;\n  font-size: 12px !important;\n  font-weight: 400 !important;\n  line-height: 1.3 !important;\n  color: #777777 !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n\/* Aufklapp-Pfeil *\/\n#cd-player .cd-chevron {\n  display: block !important;\n  flex: 0 0 16px !important;\n  width: 16px !important;\n  height: 16px !important;\n  min-width: 16px !important;\n  min-height: 16px !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  transition: transform 0.25s ease;\n}\n\n#cd-player .cd-toggle[aria-expanded=\"true\"]\n.cd-chevron {\n  transform: rotate(180deg);\n}\n\n\/* Aufgeklappter Inhalt *\/\n#cd-player .cd-content {\n  padding-top: 12px;\n}\n\n#cd-player .cd-content[hidden] {\n  display: none !important;\n}\n\n\/* Einzelne Hörproben *\/\n#cd-player .track {\n  background: #FFFFFF;\n  border: 1px solid #EAEAEA;\n  border-radius: 9px;\n  padding: 10px 12px;\n  margin-bottom: 7px;\n}\n\n#cd-player .track:last-child {\n  margin-bottom: 0;\n}\n\n#cd-player .track-title {\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.35;\n  margin-bottom: 7px;\n}\n\n\/* Audio-Player – neutrales Grau *\/\n#cd-player .player-bar {\n  display: flex !important;\n  flex-direction: row !important;\n  align-items: center !important;\n  gap: 11px;\n  height: 36px;\n  min-height: 36px;\n  padding: 0 12px;\n  background: #F0F0F0;\n  border-radius: 999px;\n}\n\n\/* Play-Button *\/\n#cd-player .play {\n  appearance: none;\n  -webkit-appearance: none;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  position: static !important;\n  transform: none !important;\n  flex: 0 0 20px;\n  width: 20px;\n  height: 20px;\n  min-width: 20px;\n  min-height: 20px;\n  margin: 0 !important;\n  padding: 0 !important;\n  border: none !important;\n  border-radius: 0 !important;\n  background: transparent !important;\n  box-shadow: none !important;\n  line-height: 1 !important;\n  color: #292929;\n  cursor: pointer;\n}\n\n#cd-player .play:hover {\n  opacity: 0.6;\n}\n\n\/* Play- und Pause-Icons *\/\n#cd-player .play svg {\n  display: block !important;\n  position: static !important;\n  width: 16px;\n  height: 16px;\n  min-width: 16px;\n  min-height: 16px;\n  margin: 0 !important;\n  padding: 0 !important;\n  transform: none !important;\n  fill: currentColor;\n}\n\n\/* Zeitanzeige *\/\n#cd-player .time {\n  font-size: 11px;\n  font-weight: 400;\n  color: #444444;\n  white-space: nowrap;\n  font-variant-numeric: tabular-nums;\n  flex-shrink: 0;\n}\n\n#cd-player .separator {\n  color: #AAAAAA;\n  margin: 0 3px;\n}\n\n\/* Fortschrittsbalken *\/\n#cd-player .progress {\n  -webkit-appearance: none;\n  appearance: none;\n  flex: 1;\n  width: 100%;\n  min-width: 0;\n  height: 3px;\n  margin: 0;\n  padding: 0;\n  border: none;\n  border-radius: 10px;\n  outline: none;\n  cursor: pointer;\n  background: linear-gradient(\n    to right,\n    #292929 0%,\n    #292929 var(--progress, 0%),\n    #C9C9C9 var(--progress, 0%),\n    #C9C9C9 100%\n  );\n}\n\n#cd-player .progress::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  appearance: none;\n  width: 9px;\n  height: 9px;\n  border-radius: 50%;\n  background: #292929;\n  opacity: 0;\n}\n\n#cd-player .progress:hover::-webkit-slider-thumb,\n#cd-player .progress:focus-visible::-webkit-slider-thumb {\n  opacity: 1;\n}\n\n#cd-player .progress::-moz-range-thumb {\n  width: 9px;\n  height: 9px;\n  border: none;\n  border-radius: 50%;\n  background: #292929;\n}\n\n#cd-player audio {\n  display: none !important;\n}\n\n\/* Tastaturbedienung *\/\n#cd-player .play:focus-visible,\n#cd-player .progress:focus-visible,\n#cd-player .cd-toggle:focus-visible {\n  outline: 2px solid #777777;\n  outline-offset: 3px;\n}\n\n\/* Mobile *\/\n@media (max-width: 600px) {\n  #cd-player {\n    padding: 9px 11px !important;\n    border-radius: 11px;\n  }\n\n  #cd-player .cd-title {\n    font-size: 15px !important;\n    font-weight: 700 !important;\n  }\n\n  #cd-player .cd-description {\n    font-size: 11px !important;\n  }\n\n  #cd-player .cd-content {\n    padding-top: 11px;\n  }\n\n  #cd-player .track {\n    padding: 9px 10px;\n    margin-bottom: 6px;\n  }\n\n  #cd-player .track-title {\n    font-size: 12px;\n    margin-bottom: 6px;\n  }\n\n  #cd-player .player-bar {\n    height: 34px;\n    min-height: 34px;\n    padding: 0 11px;\n    gap: 9px;\n  }\n\n  #cd-player .play svg {\n    width: 15px;\n    height: 15px;\n    min-width: 15px;\n    min-height: 15px;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  var root = document.getElementById('cd-player');\n\n  if (!root || root.dataset.ready) return;\n  root.dataset.ready = '1';\n\n  var toggle = root.querySelector('.cd-toggle');\n  var content = root.querySelector('.cd-content');\n  var container = root.querySelector('.cd-tracks');\n  var previewLimit = 30;\n\n  \/* Alle 21 Hörproben *\/\n  var songs = [\n    [\"Jetz gaht s los\", \"01_-_Jetz_gaht_s_los.mp3\", \"1791797924\"],\n    [\"Wuchenändi\", \"02_-_Wuchenaendi.mp3\", \"1791797924\"],\n    [\"A dr Pia z lieb\", \"03_-_A_dr_Pia_z_lieb.mp3\", \"1791797924\"],\n    [\"Augenschmaus im Schuss\", \"04_-_Augenschmaus_im_Schuss.mp3\", \"1791797924\"],\n    [\"Voller Gedanke\", \"05_-_Voller_Gedanke.mp3\", \"1791797924\"],\n    [\"Nueuebädler\", \"06_-_Nueuebaedler.mp3\", \"1791797924\"],\n    [\"Dr Bärgfrisch\", \"07_-_Dr_Baergfrisch.mp3\", \"1791797924\"],\n    [\"Dr Irisch\", \"08_-_Dr_Irisch.mp3\", \"1791797924\"],\n    [\"Tutti-Potpurri\", \"09_-_Tutti-Potpurri.mp3\", \"1791797923\"],\n    [\"Nass gschwitzt\", \"10_-_Nass_gschwitzt.mp3\", \"1791797923\"],\n    [\"Laengfluh-Marsch\", \"11_-_Laengfluh-Marsch.mp3\", \"1791797924\"],\n    [\"Meine Freud\", \"12_-_Meine_Freud.mp3\", \"1791797924\"],\n    [\"Bonanza\", \"13_-_Bonanza.mp3\", \"1791797924\"],\n    [\"Andrin tanzt\", \"14_-_Andrin_tanzt.mp3\", \"1791797924\"],\n    [\"Glarner Säntäpuur\", \"15_-_Glarner_Saentaepuur.mp3\", \"1791797923\"],\n    [\"Für mini WG-Fründe\", \"16_-_Fuer_mini_WG-Fruende.mp3\", \"1791797924\"],\n    [\"Ufem Hochsigsbänkli\", \"17_-_Ufem_Hochsigsbaenkli.mp3\", \"1791797923\"],\n    [\"Läbensmuet\", \"18_-_Laebensmuet.mp3\", \"1791797924\"],\n    [\"Team Toggi\", \"19_-_Team_Toggi.mp3\", \"1791797924\"],\n    [\"Stuempäli\", \"20_-_Stuempaeli.mp3\", \"1791797924\"],\n    [\"Obersee-Medley\", \"21_-_Obersee-Medley.mp3\", \"1791797924\"]\n  ];\n\n  var baseUrl =\n    \"https:\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/\";\n\n  var playIcon =\n    '\u003csvg viewBox=\"0 0 24 24\" aria-hidden=\"true\"\u003e' +\n    '\u003cpath d=\"M8 5.5a1 1 0 0 1 1.5-.86l10 6.5' +\n    'a1 1 0 0 1 0 1.72l-10 6.5' +\n    'A1 1 0 0 1 8 18.5z\"\/\u003e\u003c\/svg\u003e';\n\n  var pauseIcon =\n    '\u003csvg viewBox=\"0 0 24 24\" aria-hidden=\"true\"\u003e' +\n    '\u003crect x=\"6\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"\/\u003e' +\n    '\u003crect x=\"14\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"\/\u003e' +\n    '\u003c\/svg\u003e';\n\n  \/* Hörproben erstellen *\/\n  songs.forEach(function (song, index) {\n    var track = document.createElement('div');\n    track.className = 'track';\n\n    var number = String(index + 1).padStart(2, '0');\n\n    var title = document.createElement('div');\n    title.className = 'track-title';\n    title.textContent = number + ' · ' + song[0];\n\n    var player = document.createElement('div');\n    player.className = 'player-bar';\n\n    var button = document.createElement('button');\n    button.type = 'button';\n    button.className = 'play';\n    button.innerHTML = playIcon;\n    button.setAttribute(\n      'aria-label', song[0] + ' abspielen'\n    );\n\n    var time = document.createElement('span');\n    time.className = 'time';\n    time.innerHTML =\n      '\u003cspan class=\"current\"\u003e0:00\u003c\/span\u003e' +\n      '\u003cspan class=\"separator\"\u003e \/ \u003c\/span\u003e' +\n      '\u003cspan class=\"duration\"\u003e0:30\u003c\/span\u003e';\n\n    var bar = document.createElement('input');\n    bar.type = 'range';\n    bar.className = 'progress';\n    bar.min = 0;\n    bar.max = 100;\n    bar.value = 0;\n    bar.step = 0.1;\n    bar.setAttribute(\n      'aria-label', 'Fortschritt ' + song[0]\n    );\n\n    var audio = document.createElement('audio');\n    audio.preload = 'metadata';\n    audio.src =\n      baseUrl + song[1] + '?v=' + song[2];\n\n    player.appendChild(button);\n    player.appendChild(time);\n    player.appendChild(bar);\n\n    track.appendChild(title);\n    track.appendChild(player);\n    track.appendChild(audio);\n    container.appendChild(track);\n  });\n\n  var tracks = Array.from(\n    root.querySelectorAll('.track')\n  );\n\n  function formatTime(value) {\n    if (!Number.isFinite(value)) return '0:00';\n\n    var seconds = Math.floor(value);\n\n    return Math.floor(seconds \/ 60) + ':' +\n      String(seconds % 60).padStart(2, '0');\n  }\n\n  \/* Box öffnen und schliessen *\/\n  toggle.addEventListener('click', function () {\n    var isOpen =\n      toggle.getAttribute('aria-expanded') === 'true';\n\n    toggle.setAttribute(\n      'aria-expanded', String(!isOpen)\n    );\n\n    content.hidden = isOpen;\n\n    if (isOpen) {\n      tracks.forEach(function (track) {\n        track.querySelector('audio').pause();\n      });\n    }\n  });\n\n  \/* Audio-Player *\/\n  tracks.forEach(function (track) {\n    var audio = track.querySelector('audio');\n    var button = track.querySelector('.play');\n    var bar = track.querySelector('.progress');\n    var current = track.querySelector('.current');\n    var duration = track.querySelector('.duration');\n\n    var maxDuration = previewLimit;\n\n    function updateProgress() {\n      var position = Math.min(\n        audio.currentTime, maxDuration\n      );\n\n      var percent = maxDuration \u003e 0\n        ? position \/ maxDuration * 100\n        : 0;\n\n      bar.value = percent;\n      bar.style.setProperty(\n        '--progress', percent + '%'\n      );\n\n      current.textContent = formatTime(position);\n    }\n\n    function updateDuration() {\n      maxDuration =\n        Number.isFinite(audio.duration) \u0026\u0026\n        audio.duration \u003e 0\n          ? Math.min(audio.duration, previewLimit)\n          : previewLimit;\n\n      duration.textContent = formatTime(maxDuration);\n      updateProgress();\n    }\n\n    button.addEventListener('click', function () {\n      if (audio.paused) {\n        tracks.forEach(function (other) {\n          if (other !== track) {\n            other.querySelector('audio').pause();\n          }\n        });\n\n        if (audio.currentTime \u003e= maxDuration) {\n          audio.currentTime = 0;\n        }\n\n        var result = audio.play();\n\n        if (result \u0026\u0026\n            typeof result.catch === 'function') {\n          result.catch(function () {\n            button.innerHTML = playIcon;\n          });\n        }\n      } else {\n        audio.pause();\n      }\n    });\n\n    audio.addEventListener('play', function () {\n      tracks.forEach(function (other) {\n        if (other !== track) {\n          other.querySelector('audio').pause();\n        }\n      });\n\n      button.innerHTML = pauseIcon;\n      button.setAttribute(\n        'aria-label', 'Pausieren'\n      );\n    });\n\n    audio.addEventListener('pause', function () {\n      button.innerHTML = playIcon;\n      button.setAttribute(\n        'aria-label', 'Abspielen'\n      );\n    });\n\n    audio.addEventListener(\n      'loadedmetadata', updateDuration\n    );\n\n    audio.addEventListener(\n      'durationchange', updateDuration\n    );\n\n    audio.addEventListener('timeupdate', function () {\n      if (audio.currentTime \u003e= maxDuration) {\n        audio.pause();\n        audio.currentTime = maxDuration;\n      }\n\n      updateProgress();\n    });\n\n    audio.addEventListener('ended', function () {\n      audio.currentTime = 0;\n      updateProgress();\n    });\n\n    bar.addEventListener('input', function () {\n      if (maxDuration \u003e 0) {\n        audio.currentTime = Math.min(\n          Number(bar.value) \/ 100 * maxDuration,\n          maxDuration\n        );\n\n        updateProgress();\n      }\n    });\n\n    updateProgress();\n  });\n})();\n\u003c\/script\u003e\n","brand":"LAEMU","offers":[{"title":"Default Title","offer_id":55074133836113,"sku":null,"price":27.5,"currency_code":"CHF","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/Ab-is-Wuchenaend-Cover.jpg?v=1790315504"},{"product_id":"beny-gasser-co","title":"CD «Beny Gasser \u0026 Co.»","description":"\u003cp\u003eBeny Gasser und seine Musikkollegen vom \u003cem\u003eLändlertrio Gasser-Hess\u003c\/em\u003e, \u003cem\u003eEcho vom Fuchsloch\u003c\/em\u003e und den \u003cem\u003eGnepfstäi-Orgeler\u003c\/em\u003e haben 24 bodenständige Eigenkompositionen des jungen, leidenschaftlichen Obwaldners auf der neuen CD \"Mit Liib und Seel\" verewigt.\u003c\/p\u003e\n\u003cp\u003eMit Schwyzerörgeli, Handorgel, Bass, \u003cem\u003eJuizen\u003c\/em\u003e und weiteren heimatlichen Alpklängen kommt man in den Genuss eines urchigen Hörerlebnis der Extraklasse. Ein einzigartiger Tonträger voller Herzblut – und 200% Schmiss!\u003c\/p\u003e\n\n\u003cdiv id=\"cd-player\"\u003e\n  \u003cbutton class=\"cd-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"cd-content\"\u003e\n    \u003cspan class=\"cd-heading\"\u003e\n      \u003cspan class=\"cd-title\"\u003e🎵 Hörproben\u003c\/span\u003e\n      \u003cspan class=\"cd-description\"\u003e\n        Höre in die Titel der CD hinein.\n      \u003c\/span\u003e\n    \u003c\/span\u003e\n\n    \u003csvg class=\"cd-chevron\" viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n      \u003cpath d=\"m6 9 6 6 6-6\"\u003e\u003c\/path\u003e\n    \u003c\/svg\u003e\n  \u003c\/button\u003e\n\n  \u003cdiv id=\"cd-content\" class=\"cd-content\" hidden\u003e\n    \u003cdiv class=\"cd-tracks\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n\/* Äussere Box – neutrales Hellgrau *\/\n#cd-player {\n  font-family: inherit;\n  display: block !important;\n  height: auto !important;\n  min-height: 0 !important;\n  max-height: none !important;\n  margin: 8px 0 !important;\n  padding: 10px 12px !important;\n  background: #F7F7F7;\n  border: 1px solid #E5E5E5;\n  border-radius: 12px;\n  color: #292929;\n}\n\n#cd-player * {\n  box-sizing: border-box;\n}\n\n\/* Aufklappbarer Titel *\/\n#cd-player .cd-toggle {\n  appearance: none;\n  -webkit-appearance: none;\n  display: flex !important;\n  flex-direction: row !important;\n  align-items: center !important;\n  justify-content: space-between !important;\n  gap: 10px !important;\n  width: 100% !important;\n  height: auto !important;\n  min-height: 0 !important;\n  max-height: none !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  border: 0 !important;\n  border-radius: 0 !important;\n  background: transparent !important;\n  box-shadow: none !important;\n  color: inherit !important;\n  text-align: left !important;\n  cursor: pointer;\n  text-transform: none !important;\n  letter-spacing: normal !important;\n  line-height: normal !important;\n}\n\n\/* Titel und Beschreibung *\/\n#cd-player .cd-heading {\n  display: flex !important;\n  flex-direction: column !important;\n  align-items: flex-start !important;\n  justify-content: center !important;\n  gap: 2px !important;\n  width: auto !important;\n  min-width: 0;\n  height: auto !important;\n  min-height: 0 !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n\/* Titel fett *\/\n#cd-player .cd-title {\n  display: block !important;\n  font-size: 16px !important;\n  font-weight: 700 !important;\n  line-height: 1.2 !important;\n  letter-spacing: 0 !important;\n  text-transform: none !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n#cd-player .cd-description {\n  display: block !important;\n  font-size: 12px !important;\n  font-weight: 400 !important;\n  line-height: 1.3 !important;\n  color: #777777 !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n\/* Aufklapp-Pfeil *\/\n#cd-player .cd-chevron {\n  display: block !important;\n  flex: 0 0 16px !important;\n  width: 16px !important;\n  height: 16px !important;\n  min-width: 16px !important;\n  min-height: 16px !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  transition: transform 0.25s ease;\n}\n\n#cd-player .cd-toggle[aria-expanded=\"true\"] .cd-chevron {\n  transform: rotate(180deg);\n}\n\n\/* Aufgeklappter Inhalt *\/\n#cd-player .cd-content {\n  padding-top: 12px;\n}\n\n#cd-player .cd-content[hidden] {\n  display: none !important;\n}\n\n\/* Einzelne Hörproben *\/\n#cd-player .track {\n  background: #FFFFFF;\n  border: 1px solid #EAEAEA;\n  border-radius: 9px;\n  padding: 10px 12px;\n  margin-bottom: 7px;\n}\n\n#cd-player .track:last-child {\n  margin-bottom: 0;\n}\n\n#cd-player .track-title {\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.35;\n  margin-bottom: 7px;\n}\n\n\/* Audio-Player – neutrales Grau *\/\n#cd-player .player-bar {\n  display: flex !important;\n  flex-direction: row !important;\n  align-items: center !important;\n  gap: 11px;\n  height: 36px;\n  min-height: 36px;\n  padding: 0 12px;\n  background: #F0F0F0;\n  border-radius: 999px;\n}\n\n\/* Play-Button *\/\n#cd-player .play {\n  appearance: none;\n  -webkit-appearance: none;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  position: static !important;\n  transform: none !important;\n  flex: 0 0 20px;\n  width: 20px;\n  height: 20px;\n  min-width: 20px;\n  min-height: 20px;\n  margin: 0 !important;\n  padding: 0 !important;\n  border: none !important;\n  border-radius: 0 !important;\n  background: transparent !important;\n  box-shadow: none !important;\n  line-height: 1 !important;\n  color: #292929;\n  cursor: pointer;\n}\n\n#cd-player .play:hover {\n  opacity: 0.6;\n}\n\n\/* Play- und Pause-Icons *\/\n#cd-player .play svg {\n  display: block !important;\n  position: static !important;\n  width: 16px;\n  height: 16px;\n  min-width: 16px;\n  min-height: 16px;\n  margin: 0 !important;\n  padding: 0 !important;\n  transform: none !important;\n  fill: currentColor;\n}\n\n\/* Zeitanzeige *\/\n#cd-player .time {\n  font-size: 11px;\n  font-weight: 400;\n  color: #444444;\n  white-space: nowrap;\n  font-variant-numeric: tabular-nums;\n  flex-shrink: 0;\n}\n\n#cd-player .separator {\n  color: #AAAAAA;\n  margin: 0 3px;\n}\n\n\/* Fortschrittsbalken *\/\n#cd-player .progress {\n  -webkit-appearance: none;\n  appearance: none;\n  flex: 1;\n  width: 100%;\n  min-width: 0;\n  height: 3px;\n  margin: 0;\n  padding: 0;\n  border: none;\n  border-radius: 10px;\n  outline: none;\n  cursor: pointer;\n  background: linear-gradient(\n    to right,\n    #292929 0%,\n    #292929 var(--progress, 0%),\n    #C9C9C9 var(--progress, 0%),\n    #C9C9C9 100%\n  );\n}\n\n#cd-player .progress::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  appearance: none;\n  width: 9px;\n  height: 9px;\n  border-radius: 50%;\n  background: #292929;\n  opacity: 0;\n}\n\n#cd-player .progress:hover::-webkit-slider-thumb,\n#cd-player .progress:focus-visible::-webkit-slider-thumb {\n  opacity: 1;\n}\n\n#cd-player .progress::-moz-range-thumb {\n  width: 9px;\n  height: 9px;\n  border: none;\n  border-radius: 50%;\n  background: #292929;\n}\n\n#cd-player audio {\n  display: none !important;\n}\n\n\/* Tastaturbedienung *\/\n#cd-player .play:focus-visible,\n#cd-player .progress:focus-visible,\n#cd-player .cd-toggle:focus-visible {\n  outline: 2px solid #777777;\n  outline-offset: 3px;\n}\n\n\/* Mobile *\/\n@media (max-width: 600px) {\n  #cd-player {\n    padding: 9px 11px !important;\n    border-radius: 11px;\n  }\n\n  #cd-player .cd-title {\n    font-size: 15px !important;\n    font-weight: 700 !important;\n  }\n\n  #cd-player .cd-description {\n    font-size: 11px !important;\n  }\n\n  #cd-player .cd-content {\n    padding-top: 11px;\n  }\n\n  #cd-player .track {\n    padding: 9px 10px;\n    margin-bottom: 6px;\n  }\n\n  #cd-player .track-title {\n    font-size: 12px;\n    margin-bottom: 6px;\n  }\n\n  #cd-player .player-bar {\n    height: 34px;\n    min-height: 34px;\n    padding: 0 11px;\n    gap: 9px;\n  }\n\n  #cd-player .play svg {\n    width: 15px;\n    height: 15px;\n    min-width: 15px;\n    min-height: 15px;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  var root = document.getElementById('cd-player');\n\n  if (!root || root.dataset.ready) return;\n  root.dataset.ready = '1';\n\n  var toggle = root.querySelector('.cd-toggle');\n  var content = root.querySelector('.cd-content');\n  var container = root.querySelector('.cd-tracks');\n  var previewLimit = 30;\n\n  \/* Alle 24 Hörproben in der richtigen Reihenfolge *\/\n  var songs = [\n    [\n      'A dr Melchtaler Älplerchilbi',\n      '01_-_A_dr_Melchtaler_Aelplerchilbi.mp3',\n      '1791809473'\n    ],\n    [\n      'Wiä s Läbä so spielt',\n      '02_-_Wiae_s_Laebae_so_spielt.mp3',\n      '1791809474'\n    ],\n    [\n      'Dr Stürmisch',\n      '03_-_Dr_Stuermisch.mp3',\n      '1791809474'\n    ],\n    [\n      'Halbwiener-Marsch',\n      '04_-_Halbwiener-Marsch.mp3',\n      '1791809473'\n    ],\n    [\n      'Ä Handgschmiedetä',\n      '05_-_Ae_Handgschmiedetae.mp3',\n      '1791809471'\n    ],\n    [\n      'Mit Thomas und Pauli im Schindelbärg',\n      '06_-_Mit_Thomas_und_Pauli_im_Schindelbaerg.mp3',\n      '1791809474'\n    ],\n    [\n      'Die verspielten Sieben',\n      '07_-_Die_verspielten_Sieben.mp3',\n      '1791809473'\n    ],\n    [\n      'Fir s Steuris',\n      '08_-_Fir_s_Steuris.mp3',\n      '1791809473'\n    ],\n    [\n      'Thadey wackelt',\n      '09_-_Thadey_wackelt.mp3',\n      '1791809474'\n    ],\n    [\n      'S heds putzt',\n      '10_-_S_heds_putzt.mp3',\n      '1791809472'\n    ],\n    [\n      'Thomy s Freud',\n      '11_-_Thomy_s_Freud.mp3',\n      '1791809473'\n    ],\n    [\n      'Dräcknass',\n      '12_-_Draecknass.mp3',\n      '1791809474'\n    ],\n    [\n      'Ob Näbel',\n      '13_-_Ob_Naebel.mp3',\n      '1791809474'\n    ],\n    [\n      'Dr Nidwaldner Haarschnaegg',\n      '14_-_Dr_Nidwaldner_Haarschnaegg.mp3',\n      '1791809474'\n    ],\n    [\n      'Frisch rasiert',\n      '15_-_Frisch_rasiert.mp3',\n      '1791809472'\n    ],\n    [\n      'Am Sassi Holzbui-Team',\n      '16_-_Am_Sassi_Holzbui-Team.mp3',\n      '1791809474'\n    ],\n    [\n      'Heiwaerts',\n      '17_-_Heiwaerts.mp3',\n      '1791809474'\n    ],\n    [\n      'Stimmig im Potzmusig-Chalet',\n      '18_-_Stimmig_im_Potzmusig-Chalet.mp3',\n      '1791809474'\n    ],\n    [\n      'Fir mini Muisigkameradä',\n      '19_-_Fir_mini_Muisigkameradae.mp3',\n      '1791809474'\n    ],\n    [\n      'Äs Heiräled',\n      '20_-_Aes_Heiraeled.mp3',\n      '1791809474'\n    ],\n    [\n      'Gedankäspiel',\n      '21_-_Gedankaespiel.mp3',\n      '1791809474'\n    ],\n    [\n      'Heimat in Sicht',\n      '22_-_Heimat_in_Sicht.mp3',\n      '1791809474'\n    ],\n    [\n      'Rössli fertig',\n      '23_-_Roessli_fertig.mp3',\n      '1791809471'\n    ],\n    [\n      'Mit Liib und Seel',\n      '24_-_Mit_Liib_und_Seel.mp3',\n      '1791809474'\n    ]\n  ];\n\n  var baseUrl =\n    'https:\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/';\n\n  var playIcon =\n    '\u003csvg viewBox=\"0 0 24 24\" aria-hidden=\"true\"\u003e' +\n    '\u003cpath d=\"M8 5.5a1 1 0 0 1 1.5-.86l10 6.5' +\n    'a1 1 0 0 1 0 1.72l-10 6.5' +\n    'A1 1 0 0 1 8 18.5z\"\/\u003e' +\n    '\u003c\/svg\u003e';\n\n  var pauseIcon =\n    '\u003csvg viewBox=\"0 0 24 24\" aria-hidden=\"true\"\u003e' +\n    '\u003crect x=\"6\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"\/\u003e' +\n    '\u003crect x=\"14\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"\/\u003e' +\n    '\u003c\/svg\u003e';\n\n  \/* Alle Hörproben automatisch erstellen *\/\n  songs.forEach(function (song, index) {\n    var track = document.createElement('div');\n    track.className = 'track';\n\n    var number = String(index + 1).padStart(2, '0');\n\n    var title = document.createElement('div');\n    title.className = 'track-title';\n    title.textContent = number + ' · ' + song[0];\n\n    var player = document.createElement('div');\n    player.className = 'player-bar';\n\n    var button = document.createElement('button');\n    button.type = 'button';\n    button.className = 'play';\n    button.innerHTML = playIcon;\n    button.setAttribute(\n      'aria-label',\n      song[0] + ' abspielen'\n    );\n\n    var time = document.createElement('span');\n    time.className = 'time';\n\n    var current = document.createElement('span');\n    current.className = 'current';\n    current.textContent = '0:00';\n\n    var separator = document.createElement('span');\n    separator.className = 'separator';\n    separator.textContent = '\/';\n\n    var duration = document.createElement('span');\n    duration.className = 'duration';\n    duration.textContent = '0:30';\n\n    time.appendChild(current);\n    time.appendChild(separator);\n    time.appendChild(duration);\n\n    var bar = document.createElement('input');\n    bar.type = 'range';\n    bar.className = 'progress';\n    bar.min = '0';\n    bar.max = '100';\n    bar.value = '0';\n    bar.step = '0.1';\n    bar.setAttribute(\n      'aria-label',\n      'Fortschritt: ' + song[0]\n    );\n\n    var audio = document.createElement('audio');\n    audio.preload = 'metadata';\n    audio.src = baseUrl + song[1] + '?v=' + song[2];\n\n    player.appendChild(button);\n    player.appendChild(time);\n    player.appendChild(bar);\n\n    track.appendChild(title);\n    track.appendChild(player);\n    track.appendChild(audio);\n\n    container.appendChild(track);\n  });\n\n  var tracks = Array.from(\n    root.querySelectorAll('.track')\n  );\n\n  function formatTime(value) {\n    if (!Number.isFinite(value)) return '0:00';\n\n    var seconds = Math.floor(value);\n\n    return Math.floor(seconds \/ 60) + ':' +\n      String(seconds % 60).padStart(2, '0');\n  }\n\n  \/* Box öffnen und schliessen *\/\n  toggle.addEventListener('click', function () {\n    var isOpen =\n      toggle.getAttribute('aria-expanded') === 'true';\n\n    toggle.setAttribute(\n      'aria-expanded',\n      String(!isOpen)\n    );\n\n    content.hidden = isOpen;\n\n    if (isOpen) {\n      tracks.forEach(function (track) {\n        track.querySelector('audio').pause();\n      });\n    }\n  });\n\n  \/* Audio-Player steuern *\/\n  tracks.forEach(function (track) {\n    var audio = track.querySelector('audio');\n    var button = track.querySelector('.play');\n    var bar = track.querySelector('.progress');\n    var current = track.querySelector('.current');\n    var duration = track.querySelector('.duration');\n    var titleText =\n      track.querySelector('.track-title').textContent.trim();\n\n    var maxDuration = previewLimit;\n\n    function updateProgress() {\n      var position = Math.min(\n        audio.currentTime || 0,\n        maxDuration\n      );\n\n      var percent = maxDuration \u003e 0\n        ? position \/ maxDuration * 100\n        : 0;\n\n      bar.value = percent;\n      bar.style.setProperty(\n        '--progress',\n        percent + '%'\n      );\n\n      current.textContent = formatTime(position);\n    }\n\n    function updateDuration() {\n      maxDuration =\n        Number.isFinite(audio.duration) \u0026\u0026\n        audio.duration \u003e 0\n          ? Math.min(audio.duration, previewLimit)\n          : previewLimit;\n\n      duration.textContent = formatTime(maxDuration);\n      updateProgress();\n    }\n\n    button.addEventListener('click', function () {\n      if (audio.paused) {\n        tracks.forEach(function (other) {\n          if (other !== track) {\n            other.querySelector('audio').pause();\n          }\n        });\n\n        if (audio.currentTime \u003e= maxDuration) {\n          audio.currentTime = 0;\n        }\n\n        var result = audio.play();\n\n        if (result \u0026\u0026 typeof result.catch === 'function') {\n          result.catch(function () {\n            button.innerHTML = playIcon;\n            button.setAttribute(\n              'aria-label',\n              titleText + ' abspielen'\n            );\n          });\n        }\n      } else {\n        audio.pause();\n      }\n    });\n\n    audio.addEventListener('play', function () {\n      tracks.forEach(function (other) {\n        if (other !== track) {\n          other.querySelector('audio').pause();\n        }\n      });\n\n      button.innerHTML = pauseIcon;\n      button.setAttribute(\n        'aria-label',\n        titleText + ' pausieren'\n      );\n    });\n\n    audio.addEventListener('pause', function () {\n      button.innerHTML = playIcon;\n      button.setAttribute(\n        'aria-label',\n        titleText + ' abspielen'\n      );\n    });\n\n    audio.addEventListener(\n      'loadedmetadata',\n      updateDuration\n    );\n\n    audio.addEventListener(\n      'durationchange',\n      updateDuration\n    );\n\n    audio.addEventListener('timeupdate', function () {\n      if (audio.currentTime \u003e= maxDuration) {\n        audio.pause();\n        audio.currentTime = maxDuration;\n      }\n\n      updateProgress();\n    });\n\n    audio.addEventListener('ended', function () {\n      audio.currentTime = 0;\n      updateProgress();\n    });\n\n    bar.addEventListener('input', function () {\n      if (maxDuration \u003e 0) {\n        audio.currentTime = Math.min(\n          Number(bar.value) \/ 100 * maxDuration,\n          maxDuration\n        );\n\n        updateProgress();\n      }\n    });\n\n    updateProgress();\n  });\n})();\n\u003c\/script\u003e","brand":"LAEMU","offers":[{"title":"Default Title","offer_id":55074243871057,"sku":null,"price":27.5,"currency_code":"CHF","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/CD-Beny-Gasser-Cover.jpg?v=1790320913"},{"product_id":"tschaggerlibuebe","title":"CD «us Fröid»","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eMit Freude präsentieren die \u003c\/span\u003e\u003cem\u003eTschäggerlibuebe \u003c\/em\u003e\u003cspan\u003eaus dem Entlebuch ihren ersten Tonträger. Ein musikalischer Blumenstrauss aus urchigen Melodien, rassigen Eigenkompositionen sowie stimmungsvollen Liedern zum Mitsingen – ausgeschmückt mit \u003c\/span\u003e\u003cem\u003eBödele\u003c\/em\u003e\u003cspan\u003e, \u003c\/span\u003e\u003cem\u003eChlefele \u003c\/em\u003e\u003cspan\u003eund allem, was zu einer schmissigen Ländlerproduktion dazugehört. Remo Renggli, Lukas Koch, Thomas Renggli und Robin Müller wünschen euch viel Spass mit ihrem gelungenen Debütalbum!\u003c\/span\u003e\u003c\/p\u003e","brand":"LAEMU","offers":[{"title":"Default Title","offer_id":55074279326033,"sku":null,"price":27.5,"currency_code":"CHF","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/Tschaeggerlibuebe-Cover.jpg?v=1790321630"},{"product_id":"waltlandler","title":"CD «Wältländler»","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eEine geballte Ladung schmissiger Handorgel-Sound vom Feinsten: Inspiriert durch eine prägende Auszeit am anderen Ende der Welt vereint Niklaus Hess in diesem Album\u003c\/span\u003e\u003cstrong\u003e neue Einflüsse mit seinem urchigen Fundament\u003c\/strong\u003e\u003cspan\u003e. \u003c\/span\u003e\u003cspan\u003eAusgeschmückt werden die Tänze mit dem kraftvollen \u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eJodelgesang\u003c\/strong\u003e\u003c\/span\u003e\u003cspan\u003e von Moritz Schaller und Mäsi Portmann (3fach Hirsche), welcher diesem Tonträger noch das Krönchen aufsetzt.\u003c\/span\u003e\u003c\/p\u003e","brand":"LAEMU","offers":[{"title":"Default Title","offer_id":55074310455633,"sku":null,"price":27.5,"currency_code":"CHF","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/01_CD_Waeltlaendler_Cover-Large.jpg?v=1790321805"},{"product_id":"us-gluschtets","title":"CD «Üs gluschtets…»","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eUrchig, schmissig, (g)luschtig – so kommt die erste CD des Ländlertrio Augenschmaus mit dem Titel „Üs gluschtes“ daher. Der Tonträger ist prall gefüllt mit rassiger Handorgel- und Schwyzerörgelimusik sowie mit schmissigen Liedern. Die sympathische Formation setzt sich zusammen aus Thomas Hegner (Gommiswald SG), Marco Fischli (Näfels GL) und Martin Fischli (Näfels GL).\u003c\/span\u003e\u003c\/p\u003e","brand":"LAEMU","offers":[{"title":"Default Title","offer_id":55074368618833,"sku":null,"price":27.5,"currency_code":"CHF","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/Augenschmaus_Cover.jpg?v=1790322207"},{"product_id":"landlerliebi","title":"CD «Ländlerliebi»","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eDer dritte und neuste Tonträger von Niklaus Hess, erschienen 2021, präsentiert \u003c\/span\u003e18 lüpfige Tänze aus eigener Feder. Mit viel Herzblut und musikalischer Spielfreude laden die 18 Eigenkompositionen zum Zuhören, Mitschunkeln und Tanzen ein.\u003c\/p\u003e\n\n\u003cdiv id=\"cd-player\"\u003e\n  \u003cbutton class=\"cd-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"cd-content\"\u003e\n    \u003cspan class=\"cd-heading\"\u003e\n      \u003cspan class=\"cd-title\"\u003e🎵 Hörproben\u003c\/span\u003e\n      \u003cspan class=\"cd-description\"\u003e\n        Höre in die Titel der CD hinein.\n      \u003c\/span\u003e\n    \u003c\/span\u003e\n\n    \u003csvg class=\"cd-chevron\" viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n      \u003cpath d=\"m6 9 6 6 6-6\"\u003e\u003c\/path\u003e\n    \u003c\/svg\u003e\n  \u003c\/button\u003e\n\n  \u003cdiv id=\"cd-content\" class=\"cd-content\" hidden\u003e\n    \u003cdiv class=\"cd-tracks\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n\/* Äussere Box – neutrales Hellgrau *\/\n#cd-player {\n  font-family: inherit;\n  display: block !important;\n  height: auto !important;\n  min-height: 0 !important;\n  max-height: none !important;\n  margin: 8px 0 !important;\n  padding: 10px 12px !important;\n  background: #F7F7F7;\n  border: 1px solid #E5E5E5;\n  border-radius: 12px;\n  color: #292929;\n}\n\n#cd-player * {\n  box-sizing: border-box;\n}\n\n\/* Aufklappbarer Titel *\/\n#cd-player .cd-toggle {\n  appearance: none;\n  -webkit-appearance: none;\n  display: flex !important;\n  flex-direction: row !important;\n  align-items: center !important;\n  justify-content: space-between !important;\n  gap: 10px !important;\n  width: 100% !important;\n  height: auto !important;\n  min-height: 0 !important;\n  max-height: none !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  border: 0 !important;\n  border-radius: 0 !important;\n  background: transparent !important;\n  box-shadow: none !important;\n  color: inherit !important;\n  text-align: left !important;\n  cursor: pointer;\n  text-transform: none !important;\n  letter-spacing: normal !important;\n  line-height: normal !important;\n}\n\n\/* Titel und Beschreibung *\/\n#cd-player .cd-heading {\n  display: flex !important;\n  flex-direction: column !important;\n  align-items: flex-start !important;\n  justify-content: center !important;\n  gap: 2px !important;\n  width: auto !important;\n  min-width: 0;\n  height: auto !important;\n  min-height: 0 !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n\/* Titel fett *\/\n#cd-player .cd-title {\n  display: block !important;\n  font-size: 16px !important;\n  font-weight: 700 !important;\n  line-height: 1.2 !important;\n  letter-spacing: 0 !important;\n  text-transform: none !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n#cd-player .cd-description {\n  display: block !important;\n  font-size: 12px !important;\n  font-weight: 400 !important;\n  line-height: 1.3 !important;\n  color: #777777 !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n\/* Aufklapp-Pfeil *\/\n#cd-player .cd-chevron {\n  display: block !important;\n  flex: 0 0 16px !important;\n  width: 16px !important;\n  height: 16px !important;\n  min-width: 16px !important;\n  min-height: 16px !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  transition: transform 0.25s ease;\n}\n\n#cd-player .cd-toggle[aria-expanded=\"true\"] .cd-chevron {\n  transform: rotate(180deg);\n}\n\n\/* Aufgeklappter Inhalt *\/\n#cd-player .cd-content {\n  padding-top: 12px;\n}\n\n#cd-player .cd-content[hidden] {\n  display: none !important;\n}\n\n\/* Einzelne Hörproben *\/\n#cd-player .track {\n  background: #FFFFFF;\n  border: 1px solid #EAEAEA;\n  border-radius: 9px;\n  padding: 10px 12px;\n  margin-bottom: 7px;\n}\n\n#cd-player .track:last-child {\n  margin-bottom: 0;\n}\n\n#cd-player .track-title {\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.35;\n  margin-bottom: 7px;\n}\n\n\/* Audio-Player – neutrales Grau *\/\n#cd-player .player-bar {\n  display: flex !important;\n  flex-direction: row !important;\n  align-items: center !important;\n  gap: 11px;\n  height: 36px;\n  min-height: 36px;\n  padding: 0 12px;\n  background: #F0F0F0;\n  border-radius: 999px;\n}\n\n\/* Play-Button *\/\n#cd-player .play {\n  appearance: none;\n  -webkit-appearance: none;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  position: static !important;\n  transform: none !important;\n  flex: 0 0 20px;\n  width: 20px;\n  height: 20px;\n  min-width: 20px;\n  min-height: 20px;\n  margin: 0 !important;\n  padding: 0 !important;\n  border: none !important;\n  border-radius: 0 !important;\n  background: transparent !important;\n  box-shadow: none !important;\n  line-height: 1 !important;\n  color: #292929;\n  cursor: pointer;\n}\n\n#cd-player .play:hover {\n  opacity: 0.6;\n}\n\n\/* Play- und Pause-Icons *\/\n#cd-player .play svg {\n  display: block !important;\n  position: static !important;\n  width: 16px;\n  height: 16px;\n  min-width: 16px;\n  min-height: 16px;\n  margin: 0 !important;\n  padding: 0 !important;\n  transform: none !important;\n  fill: currentColor;\n}\n\n\/* Zeitanzeige *\/\n#cd-player .time {\n  font-size: 11px;\n  font-weight: 400;\n  color: #444444;\n  white-space: nowrap;\n  font-variant-numeric: tabular-nums;\n  flex-shrink: 0;\n}\n\n#cd-player .separator {\n  color: #AAAAAA;\n  margin: 0 3px;\n}\n\n\/* Fortschrittsbalken *\/\n#cd-player .progress {\n  -webkit-appearance: none;\n  appearance: none;\n  flex: 1;\n  width: 100%;\n  min-width: 0;\n  height: 3px;\n  margin: 0;\n  padding: 0;\n  border: none;\n  border-radius: 10px;\n  outline: none;\n  cursor: pointer;\n  background: linear-gradient(\n    to right,\n    #292929 0%,\n    #292929 var(--progress, 0%),\n    #C9C9C9 var(--progress, 0%),\n    #C9C9C9 100%\n  );\n}\n\n#cd-player .progress::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  appearance: none;\n  width: 9px;\n  height: 9px;\n  border-radius: 50%;\n  background: #292929;\n  opacity: 0;\n}\n\n#cd-player .progress:hover::-webkit-slider-thumb,\n#cd-player .progress:focus-visible::-webkit-slider-thumb {\n  opacity: 1;\n}\n\n#cd-player .progress::-moz-range-thumb {\n  width: 9px;\n  height: 9px;\n  border: none;\n  border-radius: 50%;\n  background: #292929;\n}\n\n#cd-player audio {\n  display: none !important;\n}\n\n\/* Tastaturbedienung *\/\n#cd-player .play:focus-visible,\n#cd-player .progress:focus-visible,\n#cd-player .cd-toggle:focus-visible {\n  outline: 2px solid #777777;\n  outline-offset: 3px;\n}\n\n\/* Mobile *\/\n@media (max-width: 600px) {\n  #cd-player {\n    padding: 9px 11px !important;\n    border-radius: 11px;\n  }\n\n  #cd-player .cd-title {\n    font-size: 15px !important;\n    font-weight: 700 !important;\n  }\n\n  #cd-player .cd-description {\n    font-size: 11px !important;\n  }\n\n  #cd-player .cd-content {\n    padding-top: 11px;\n  }\n\n  #cd-player .track {\n    padding: 9px 10px;\n    margin-bottom: 6px;\n  }\n\n  #cd-player .track-title {\n    font-size: 12px;\n    margin-bottom: 6px;\n  }\n\n  #cd-player .player-bar {\n    height: 34px;\n    min-height: 34px;\n    padding: 0 11px;\n    gap: 9px;\n  }\n\n  #cd-player .play svg {\n    width: 15px;\n    height: 15px;\n    min-width: 15px;\n    min-height: 15px;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  var root = document.getElementById('cd-player');\n\n  if (!root || root.dataset.ready) return;\n  root.dataset.ready = '1';\n\n  var toggle = root.querySelector('.cd-toggle');\n  var content = root.querySelector('.cd-content');\n  var container = root.querySelector('.cd-tracks');\n  var previewLimit = 30;\n\n  \/* Alle 18 Hörproben in der richtigen Reihenfolge *\/\n  var songs = [\n    [\n      'Ländlerliebi',\n      '01-Niklaus-Hess-Laendlerliebi-1.mp3',\n      '1791811567'\n    ],\n    [\n      'Schwyzerglück',\n      '02-Niklaus-Hess-Schwyzerglueck-1.mp3',\n      '1791811567'\n    ],\n    [\n      'Äntlibuecher Fletzete',\n      '03-Niklaus-Hess-Aentlibuecher-Fletzete.mp3',\n      '1791811566'\n    ],\n    [\n      'Wunderprächtig',\n      '04-Niklaus-Hess-Wunderpraechtig.mp3',\n      '1791811567'\n    ],\n    [\n      'Franz im Eurofieber',\n      '05-Niklaus-Hess-Franz-im-Eurofieber.mp3',\n      '1791811566'\n    ],\n    [\n      'Jugendtraum',\n      '06-Niklaus-Hess-Jugendtraum.mp3',\n      '1791811566'\n    ],\n    [\n      'Toggenburg retour',\n      '07-Niklaus-Hess-Toggenburg-retour.mp3',\n      '1791811567'\n    ],\n    [\n      'Chilbiländler',\n      '08-Niklaus-Hess-Chilbilaendler.mp3',\n      '1791811567'\n    ],\n    [\n      'I guete Händ',\n      '09-Niklaus-Hess-I-guete-Haend.mp3',\n      '1791811566'\n    ],\n    [\n      'Am Badwannaeraennae',\n      '10-Niklaus-Hess-Am-Badwannaeraennae.mp3',\n      '1791811566'\n    ],\n    [\n      'Halbsoschlimm',\n      '11-Niklaus-Hess-Halbsoschlimm.mp3',\n      '1791811567'\n    ],\n    [\n      'The Rusch Brothers',\n      '12-Niklaus-Hess-The-Rusch-Brothers.mp3',\n      '1791811567'\n    ],\n    [\n      's Friedensliecht',\n      '13-Niklaus-Hess-S-Friedensliecht.mp3',\n      '1791811567'\n    ],\n    [\n      'Heiweh-Stümpäli',\n      '14-Niklaus-Hess-Heiweh-Stuempaeli.mp3',\n      '1791811567'\n    ],\n    [\n      'Zum Müttertag',\n      '15-Niklaus-Hess-Zum-Muettertag.mp3',\n      '1791811567'\n    ],\n    [\n      'De Rigibähndler',\n      '16-Niklaus-Hess-De-Rigibaehndler.mp3',\n      '1791811567'\n    ],\n    [\n      'Gladae',\n      '17-Niklaus-Hess-Gladae.mp3',\n      '1791811567'\n    ],\n    [\n      'Umbruch',\n      '18-Niklaus-Hess-Umbruch.mp3',\n      '1791811567'\n    ]\n  ];\n\n  var baseUrl =\n    'https:\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/';\n\n  var playIcon =\n    '\u003csvg viewBox=\"0 0 24 24\" aria-hidden=\"true\"\u003e' +\n    '\u003cpath d=\"M8 5.5a1 1 0 0 1 1.5-.86l10 6.5' +\n    'a1 1 0 0 1 0 1.72l-10 6.5' +\n    'A1 1 0 0 1 8 18.5z\"\/\u003e' +\n    '\u003c\/svg\u003e';\n\n  var pauseIcon =\n    '\u003csvg viewBox=\"0 0 24 24\" aria-hidden=\"true\"\u003e' +\n    '\u003crect x=\"6\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"\/\u003e' +\n    '\u003crect x=\"14\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\"\/\u003e' +\n    '\u003c\/svg\u003e';\n\n  \/* Player für jeden Titel erstellen *\/\n  songs.forEach(function (song, index) {\n    var track = document.createElement('div');\n    track.className = 'track';\n\n    var number = String(index + 1).padStart(2, '0');\n\n    var title = document.createElement('div');\n    title.className = 'track-title';\n    title.textContent = number + ' · ' + song[0];\n\n    var player = document.createElement('div');\n    player.className = 'player-bar';\n\n    var button = document.createElement('button');\n    button.type = 'button';\n    button.className = 'play';\n    button.innerHTML = playIcon;\n    button.setAttribute(\n      'aria-label',\n      song[0] + ' abspielen'\n    );\n\n    var time = document.createElement('span');\n    time.className = 'time';\n\n    var current = document.createElement('span');\n    current.className = 'current';\n    current.textContent = '0:00';\n\n    var separator = document.createElement('span');\n    separator.className = 'separator';\n    separator.textContent = '\/';\n\n    var duration = document.createElement('span');\n    duration.className = 'duration';\n    duration.textContent = '0:30';\n\n    time.appendChild(current);\n    time.appendChild(separator);\n    time.appendChild(duration);\n\n    var bar = document.createElement('input');\n    bar.type = 'range';\n    bar.className = 'progress';\n    bar.min = '0';\n    bar.max = '100';\n    bar.value = '0';\n    bar.step = '0.1';\n    bar.setAttribute(\n      'aria-label',\n      'Fortschritt: ' + song[0]\n    );\n\n    var audio = document.createElement('audio');\n    audio.preload = 'metadata';\n    audio.src = baseUrl + song[1] + '?v=' + song[2];\n\n    player.appendChild(button);\n    player.appendChild(time);\n    player.appendChild(bar);\n\n    track.appendChild(title);\n    track.appendChild(player);\n    track.appendChild(audio);\n\n    container.appendChild(track);\n  });\n\n  var tracks = Array.from(\n    root.querySelectorAll('.track')\n  );\n\n  function formatTime(value) {\n    if (!Number.isFinite(value)) return '0:00';\n\n    var seconds = Math.floor(value);\n\n    return Math.floor(seconds \/ 60) + ':' +\n      String(seconds % 60).padStart(2, '0');\n  }\n\n  \/* Box öffnen und schliessen *\/\n  toggle.addEventListener('click', function () {\n    var isOpen =\n      toggle.getAttribute('aria-expanded') === 'true';\n\n    toggle.setAttribute(\n      'aria-expanded',\n      String(!isOpen)\n    );\n\n    content.hidden = isOpen;\n\n    if (isOpen) {\n      tracks.forEach(function (track) {\n        track.querySelector('audio').pause();\n      });\n    }\n  });\n\n  \/* Audio-Player steuern *\/\n  tracks.forEach(function (track) {\n    var audio = track.querySelector('audio');\n    var button = track.querySelector('.play');\n    var bar = track.querySelector('.progress');\n    var current = track.querySelector('.current');\n    var duration = track.querySelector('.duration');\n    var titleText =\n      track.querySelector('.track-title').textContent.trim();\n\n    var maxDuration = previewLimit;\n\n    function updateProgress() {\n      var position = Math.min(\n        audio.currentTime || 0,\n        maxDuration\n      );\n\n      var percent = maxDuration \u003e 0\n        ? position \/ maxDuration * 100\n        : 0;\n\n      bar.value = percent;\n      bar.style.setProperty(\n        '--progress',\n        percent + '%'\n      );\n\n      current.textContent = formatTime(position);\n    }\n\n    function updateDuration() {\n      maxDuration =\n        Number.isFinite(audio.duration) \u0026\u0026\n        audio.duration \u003e 0\n          ? Math.min(audio.duration, previewLimit)\n          : previewLimit;\n\n      duration.textContent = formatTime(maxDuration);\n      updateProgress();\n    }\n\n    button.addEventListener('click', function () {\n      if (audio.paused) {\n        tracks.forEach(function (other) {\n          if (other !== track) {\n            other.querySelector('audio').pause();\n          }\n        });\n\n        if (audio.currentTime \u003e= maxDuration) {\n          audio.currentTime = 0;\n        }\n\n        var result = audio.play();\n\n        if (result \u0026\u0026\n            typeof result.catch === 'function') {\n          result.catch(function () {\n            button.innerHTML = playIcon;\n            button.setAttribute(\n              'aria-label',\n              titleText + ' abspielen'\n            );\n          });\n        }\n      } else {\n        audio.pause();\n      }\n    });\n\n    audio.addEventListener('play', function () {\n      tracks.forEach(function (other) {\n        if (other !== track) {\n          other.querySelector('audio').pause();\n        }\n      });\n\n      button.innerHTML = pauseIcon;\n      button.setAttribute(\n        'aria-label',\n        titleText + ' pausieren'\n      );\n    });\n\n    audio.addEventListener('pause', function () {\n      button.innerHTML = playIcon;\n      button.setAttribute(\n        'aria-label',\n        titleText + ' abspielen'\n      );\n    });\n\n    audio.addEventListener(\n      'loadedmetadata',\n      updateDuration\n    );\n\n    audio.addEventListener(\n      'durationchange',\n      updateDuration\n    );\n\n    audio.addEventListener('timeupdate', function () {\n      if (audio.currentTime \u003e= maxDuration) {\n        audio.pause();\n        audio.currentTime = maxDuration;\n      }\n\n      updateProgress();\n    });\n\n    audio.addEventListener('ended', function () {\n      audio.currentTime = 0;\n      updateProgress();\n    });\n\n    bar.addEventListener('input', function () {\n      if (maxDuration \u003e 0) {\n        audio.currentTime = Math.min(\n          Number(bar.value) \/ 100 * maxDuration,\n          maxDuration\n        );\n\n        updateProgress();\n      }\n    });\n\n    updateProgress();\n  });\n})();\n\u003c\/script\u003e","brand":"LAEMU","offers":[{"title":"Default Title","offer_id":55074382676305,"sku":null,"price":27.5,"currency_code":"CHF","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/Landlerliebi_Cover.jpg?v=1790322367"},{"product_id":"s-chunnd-rund","title":"CD «S’chunnd Rund»","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003eMit seinem ersten Tonträger legte Niklaus Hess 2017 den Grundstein für seine musikalische Tonträger-Reihe. 18 abwechslungsreiche Titel, darunter neun Eigenkompositionen\u003cspan\u003e, sorgen für lüpfige und stimmungsvolle Unterhaltung. Mit viel Herzblut, Spielfreude und einer ganz persönlichen musikalischen Handschrift präsentiert Niklaus Hess eine Auswahl, die zum Zuhören, Mitschunkeln und Tanzen einlädt. Ein gelungener Auftakt, der seine Freude an der Musik und am Komponieren hörbar macht.\u003c\/span\u003e\u003c\/p\u003e","brand":"LAEMU","offers":[{"title":"Default Title","offer_id":55074438250833,"sku":null,"price":27.5,"currency_code":"CHF","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1069\/6628\/6673\/files\/S-chunnd-rund_Cover.jpg?v=1790323237"}],"url":"https:\/\/shop.laemu.ch\/collections\/tontrager.oembed","provider":"LAEMU","version":"1.0","type":"link"}